From: Mario Date: Sun, 10 Jun 2018 09:41:06 +0000 (+1000) Subject: Add the item definition as a paremter to m_iteminit so the correct field can be acces... X-Git-Tag: xonotic-v0.8.5~2082 X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=commitdiff_plain;h=efff0ef68e316e2ca8b4e8a229ff97783f434ee6 Add the item definition as a paremter to m_iteminit so the correct field can be accessed later --- diff --git a/qcsrc/common/items/item/ammo.qh b/qcsrc/common/items/item/ammo.qh index 1d5bd87bac..7c5c12af72 100644 --- a/qcsrc/common/items/item/ammo.qh +++ b/qcsrc/common/items/item/ammo.qh @@ -38,7 +38,7 @@ MODEL(Bullets_ITEM, Item_Model("a_bullets.mdl")); #ifdef SVQC PROPERTY(int, g_pickup_nails); -void ammo_bullets_init(entity item) +void ammo_bullets_init(Pickup this, entity item) { if(!item.ammo_nails) item.ammo_nails = g_pickup_nails; @@ -72,7 +72,7 @@ MODEL(Cells_ITEM, Item_Model("a_cells.md3")); #ifdef SVQC PROPERTY(int, g_pickup_cells); -void ammo_cells_init(entity item) +void ammo_cells_init(Pickup this, entity item) { if(!item.ammo_cells) item.ammo_cells = g_pickup_cells; @@ -102,7 +102,7 @@ MODEL(Plasma_ITEM, Item_Model("a_cells.md3")); #ifdef SVQC PROPERTY(int, g_pickup_plasma); -void ammo_plasma_init(entity item) +void ammo_plasma_init(Pickup this, entity item) { if(!item.ammo_plasma) item.ammo_plasma = g_pickup_plasma; @@ -132,7 +132,7 @@ MODEL(Rockets_ITEM, Item_Model("a_rockets.md3")); #ifdef SVQC PROPERTY(int, g_pickup_rockets); -void ammo_rockets_init(entity item) +void ammo_rockets_init(Pickup this, entity item) { if(!item.ammo_rockets) item.ammo_rockets = g_pickup_rockets; @@ -162,7 +162,7 @@ MODEL(Shells_ITEM, Item_Model("a_shells.md3")); #ifdef SVQC PROPERTY(int, g_pickup_shells); -void ammo_shells_init(entity item) +void ammo_shells_init(Pickup this, entity item) { if(!item.ammo_shells) item.ammo_shells = g_pickup_shells; diff --git a/qcsrc/common/items/item/armor.qh b/qcsrc/common/items/item/armor.qh index b00ccc0f26..880a932d7c 100644 --- a/qcsrc/common/items/item/armor.qh +++ b/qcsrc/common/items/item/armor.qh @@ -22,7 +22,7 @@ SOUND(ArmorSmall, Item_Sound("armor1")); PROPERTY(float, g_pickup_armorsmall_anyway); PROPERTY(int, g_pickup_armorsmall); PROPERTY(int, g_pickup_armorsmall_max); -void item_armorsmall_init(entity item) +void item_armorsmall_init(Pickup this, entity item) { if(!item.max_armorvalue) item.max_armorvalue = g_pickup_armorsmall_max; @@ -60,7 +60,7 @@ SOUND(ArmorMedium, Item_Sound("armor10")); PROPERTY(float, g_pickup_armormedium_anyway); PROPERTY(int, g_pickup_armormedium); PROPERTY(int, g_pickup_armormedium_max); -void item_armormedium_init(entity item) +void item_armormedium_init(Pickup this, entity item) { if(!item.max_armorvalue) item.max_armorvalue = g_pickup_armormedium_max; @@ -98,7 +98,7 @@ SOUND(ArmorBig, Item_Sound("armor17_5")); PROPERTY(float, g_pickup_armorbig_anyway); PROPERTY(int, g_pickup_armorbig); PROPERTY(int, g_pickup_armorbig_max); -void item_armorbig_init(entity item) +void item_armorbig_init(Pickup this, entity item) { if(!item.max_armorvalue) item.max_armorvalue = g_pickup_armorbig_max; @@ -138,7 +138,7 @@ SOUND(ArmorMega, Item_Sound("armor25")); PROPERTY(float, g_pickup_armormega_anyway); PROPERTY(int, g_pickup_armormega); PROPERTY(int, g_pickup_armormega_max); -void item_armormega_init(entity item) +void item_armormega_init(Pickup this, entity item) { if(!item.max_armorvalue) item.max_armorvalue = g_pickup_armormega_max; diff --git a/qcsrc/common/items/item/health.qh b/qcsrc/common/items/item/health.qh index 879ee5101a..6a5ffc5ca4 100644 --- a/qcsrc/common/items/item/health.qh +++ b/qcsrc/common/items/item/health.qh @@ -22,7 +22,7 @@ SOUND(HealthSmall, Item_Sound("minihealth")); PROPERTY(float, g_pickup_healthsmall_anyway); PROPERTY(int, g_pickup_healthsmall); PROPERTY(int, g_pickup_healthsmall_max); -void item_healthsmall_init(entity item) +void item_healthsmall_init(Pickup this, entity item) { if(!item.max_health) item.max_health = g_pickup_healthsmall_max; @@ -60,7 +60,7 @@ SOUND(HealthMedium, Item_Sound("mediumhealth")); PROPERTY(float, g_pickup_healthmedium_anyway); PROPERTY(int, g_pickup_healthmedium); PROPERTY(int, g_pickup_healthmedium_max); -void item_healthmedium_init(entity item) +void item_healthmedium_init(Pickup this, entity item) { if(!item.max_health) item.max_health = g_pickup_healthmedium_max; @@ -98,7 +98,7 @@ SOUND(HealthBig, Item_Sound("mediumhealth")); PROPERTY(float, g_pickup_healthbig_anyway); PROPERTY(int, g_pickup_healthbig); PROPERTY(int, g_pickup_healthbig_max); -void item_healthbig_init(entity item) +void item_healthbig_init(Pickup this, entity item) { if(!item.max_health) item.max_health = g_pickup_healthbig_max; @@ -138,7 +138,7 @@ SOUND(HealthMega, Item_Sound("megahealth")); PROPERTY(float, g_pickup_healthmega_anyway); PROPERTY(int, g_pickup_healthmega); PROPERTY(int, g_pickup_healthmega_max); -void item_healthmega_init(entity item) +void item_healthmega_init(Pickup this, entity item) { if(!item.max_health) item.max_health = g_pickup_healthmega_max; diff --git a/qcsrc/common/items/item/jetpack.qh b/qcsrc/common/items/item/jetpack.qh index 284bf3d390..73f55e83f5 100644 --- a/qcsrc/common/items/item/jetpack.qh +++ b/qcsrc/common/items/item/jetpack.qh @@ -17,7 +17,7 @@ MODEL(Jetpack_ITEM, Item_Model("g_jetpack.md3")); #ifdef SVQC PROPERTY(int, g_pickup_fuel_jetpack); -void powerup_jetpack_init(entity item) +void powerup_jetpack_init(Pickup this, entity item) { if(!item.ammo_fuel) item.ammo_fuel = g_pickup_fuel_jetpack; @@ -55,7 +55,7 @@ MODEL(JetpackFuel_ITEM, Item_Model("g_fuel.md3")); #ifdef SVQC PROPERTY(int, g_pickup_fuel); -void ammo_fuel_init(entity item) +void ammo_fuel_init(Pickup this, entity item) { if(!item.ammo_fuel) item.ammo_fuel = g_pickup_fuel; diff --git a/qcsrc/common/items/item/pickup.qh b/qcsrc/common/items/item/pickup.qh index fb4bc28cd8..0f09901af2 100644 --- a/qcsrc/common/items/item/pickup.qh +++ b/qcsrc/common/items/item/pickup.qh @@ -42,7 +42,7 @@ CLASS(Pickup, GameItem) ATTRIB(Pickup, m_respawntime, float()); ATTRIB(Pickup, m_respawntimejitter, float()); ATTRIB(Pickup, m_pickupanyway, float()); - ATTRIB(Pickup, m_iteminit, void(entity item)); + ATTRIB(Pickup, m_iteminit, void(Pickup this, entity item)); float Item_GiveTo(entity item, entity player); METHOD(Pickup, giveTo, bool(Pickup this, entity item, entity player)); bool ITEM_HANDLE(Pickup, Pickup this, entity item, entity player); diff --git a/qcsrc/common/items/item/powerup.qh b/qcsrc/common/items/item/powerup.qh index fe47b63430..1c10afa488 100644 --- a/qcsrc/common/items/item/powerup.qh +++ b/qcsrc/common/items/item/powerup.qh @@ -24,7 +24,7 @@ SOUND(Strength, Item_Sound("powerup")); #ifdef SVQC float autocvar_g_balance_powerup_strength_time; -void powerup_strength_init(entity item) +void powerup_strength_init(Pickup this, entity item) { if(!item.strength_finished) item.strength_finished = autocvar_g_balance_powerup_strength_time; @@ -60,7 +60,7 @@ SOUND(Shield, Item_Sound("powerup_shield")); #ifdef SVQC float autocvar_g_balance_powerup_invincible_time; -void powerup_shield_init(entity item) +void powerup_shield_init(Pickup this, entity item) { if(!item.invincible_finished) item.invincible_finished = autocvar_g_balance_powerup_invincible_time; diff --git a/qcsrc/common/mutators/mutator/instagib/items.qh b/qcsrc/common/mutators/mutator/instagib/items.qh index ad7ba6ba40..95f4f3210c 100644 --- a/qcsrc/common/mutators/mutator/instagib/items.qh +++ b/qcsrc/common/mutators/mutator/instagib/items.qh @@ -16,7 +16,7 @@ SOUND(VaporizerCells, Item_Sound("itempickup")); #ifdef SVQC int autocvar_g_instagib_ammo_drop; -void ammo_vaporizercells_init(entity item) +void ammo_vaporizercells_init(Pickup this, entity item) { if(!item.ammo_cells) item.ammo_cells = autocvar_g_instagib_ammo_drop; @@ -75,7 +75,7 @@ SOUND(Invisibility, Item_Sound("powerup")); /// \brief Initializes the invisibility powerup. /// \param[in,out] item Item to initialize. /// \return No return. -void powerup_invisibility_init(entity item); +void powerup_invisibility_init(Pickup this, entity item); #endif REGISTER_ITEM(Invisibility, Powerup) { @@ -110,7 +110,7 @@ SOUND(Speed, Item_Sound("powerup_shield")); /// \brief Initializes the speed powerup. /// \param[in,out] item Item to initialize. /// \return No return. -void powerup_speed_init(entity item); +void powerup_speed_init(Pickup this, entity item); #endif REGISTER_ITEM(Speed, Powerup) { diff --git a/qcsrc/common/mutators/mutator/instagib/sv_items.qc b/qcsrc/common/mutators/mutator/instagib/sv_items.qc index 5c0d29dd32..c944f56c33 100644 --- a/qcsrc/common/mutators/mutator/instagib/sv_items.qc +++ b/qcsrc/common/mutators/mutator/instagib/sv_items.qc @@ -7,7 +7,7 @@ float autocvar_g_instagib_invisibility_time; /// \brief Time of speed powerup in seconds. float autocvar_g_instagib_speed_time; -void powerup_invisibility_init(entity item) +void powerup_invisibility_init(Pickup this, entity item) { if(!item.strength_finished) { @@ -16,7 +16,7 @@ void powerup_invisibility_init(entity item) } -void powerup_speed_init(entity item) +void powerup_speed_init(Pickup this, entity item) { if(!item.invincible_finished) { diff --git a/qcsrc/common/t_items.qc b/qcsrc/common/t_items.qc index 1426beb60a..f4ed4f1bf4 100644 --- a/qcsrc/common/t_items.qc +++ b/qcsrc/common/t_items.qc @@ -1178,7 +1178,7 @@ void _StartItem(entity this, entity def, float defaultrespawntime, float default this.item_pickupsound_ent = pickupsound; if(def.m_iteminit) - def.m_iteminit(this); + def.m_iteminit(def, this); if(!this.respawntime) // both need to be set {