]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/weapons/weapons.qh
Cleanup ammofield stuff some more, fix handling in mutator_nix
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / weapons / weapons.qh
index 007892e71d0c02fff182b63f09bcb8a62f554960..602f8f7330e3e8e27419b75201fd8ab2acc68492 100644 (file)
@@ -113,8 +113,6 @@ void W_RandomWeapons(entity e, float n);
 
 string W_Name(float weaponid);
 
-float W_AmmoItemCode(float wpn);
-
 
 // ammo types
 .float ammo_shells;
@@ -123,7 +121,6 @@ float W_AmmoItemCode(float wpn);
 .float ammo_cells;
 .float ammo_fuel;
 .float ammo_none;
-.float ammo_broken; // dummy
 
 // entity properties of weaponinfo:
 .float weapon; // WEP_...
@@ -132,6 +129,7 @@ float W_AmmoItemCode(float wpn);
 .string message; // human readable name
 .float items; // IT_...
 .float(float) weapon_func; // w_...
+.vector wpcolor; // waypointsprite color
 .string mdl; // modelname without g_, v_, w_
 .string model; // full name of g_ model
 .float spawnflags; // WEPSPAWNFLAG_... combined
@@ -142,7 +140,7 @@ float W_AmmoItemCode(float wpn);
 
 // other useful macros
 #define WEP_ACTION(wpn,wrequest) (get_weaponinfo(wpn)).weapon_func(wrequest)
-
+#define AMMO_VAL(wpn) ((get_weaponinfo(wpn)).current_ammo)
 
 // =====================
 //  Weapon Registration
@@ -175,11 +173,11 @@ float W_AmmoItemCode(float wpn);
 #define WEP_SET_PROP(wepid,wepname,type,prop,name) get_weaponinfo(WEP_##wepid).##prop = autocvar_g_balance_##wepname##_##name;
 
 float w_null(float dummy);
-void register_weapon(float id, WepSet bit, float(float) func, .float ammotype, float i, float weapontype, float pickupbasevalue, string modelname, string shortname, string wname);
+void register_weapon(float id, WepSet bit, float(float) func, .float ammotype, float i, float weapontype, float pickupbasevalue, vector clr, string modelname, string shortname, string wname);
 void register_weapons_done();
 
 // note: the fabs call is just there to hide "if result is constant" warning
-#define REGISTER_WEAPON_2(id,bit,func,ammotype,i,weapontype,pickupbasevalue,modelname,shortname,wname) \
+#define REGISTER_WEAPON_2(id,bit,func,ammotype,i,weapontype,pickupbasevalue,clr,modelname,shortname,wname) \
        float id; \
        WepSet bit; \
        float func(float); \
@@ -191,15 +189,15 @@ void register_weapons_done();
                if((weapontype) & WEP_FLAG_SUPERWEAPON) \
                        WEPSET_SUPERWEAPONS |= bit; \
                ++WEP_COUNT; \
-               register_weapon(id,bit,func,ammotype,i,weapontype,pickupbasevalue,modelname,shortname,wname); \
+               register_weapon(id,bit,func,ammotype,i,weapontype,pickupbasevalue,clr,modelname,shortname,wname); \
        } \
        ACCUMULATE_FUNCTION(RegisterWeapons, RegisterWeapons_##id)
 #ifdef MENUQC
-#define REGISTER_WEAPON(id,func,ammotype,i,weapontype,pickupbasevalue,modelname,shortname,wname) \
-       REGISTER_WEAPON_2(WEP_##id,WEPSET_##id,w_null,ammotype,i,weapontype,pickupbasevalue,modelname,shortname,wname)
+#define REGISTER_WEAPON(id,func,ammotype,i,weapontype,pickupbasevalue,clr,modelname,shortname,wname) \
+       REGISTER_WEAPON_2(WEP_##id,WEPSET_##id,w_null,ammotype,i,weapontype,pickupbasevalue,clr,modelname,shortname,wname)
 #else
-#define REGISTER_WEAPON(id,func,ammotype,i,weapontype,pickupbasevalue,modelname,shortname,wname) \
-       REGISTER_WEAPON_2(WEP_##id,WEPSET_##id,func,ammotype,i,weapontype,pickupbasevalue,modelname,shortname,wname)
+#define REGISTER_WEAPON(id,func,ammotype,i,weapontype,pickupbasevalue,clr,modelname,shortname,wname) \
+       REGISTER_WEAPON_2(WEP_##id,WEPSET_##id,func,ammotype,i,weapontype,pickupbasevalue,clr,modelname,shortname,wname)
 #endif
 
 #include "all.qh"