]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/weapons/weapons.qc
More descriptive stuff, better naming
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / weapons / weapons.qc
index e70f199daa20d8c7d6df1a5a4573104ee878b7ad..c0033cb8254af026abb8013a854878636bb59fdd 100644 (file)
@@ -74,25 +74,39 @@ WepSet ReadWepSet()
 }
 #endif
 
-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_weapon(
+       float id,
+       WepSet bit,
+       float(float) func,
+       .float ammotype,
+       float i,
+       float weapontype,
+       float pickupbasevalue,
+       vector clr,
+       string modelname,
+       string crosshair,
+       string refname,
+       string wepname)
 {
        entity e;
        weapon_info[id - 1] = e = spawn();
        e.classname = "weapon_info";
        e.weapon = id;
        e.weapons = bit;
-       e.netname = shortname;
-       e.message = wname;
-       //e.items = ammotype;
        e.weapon_func = func;
+       e.ammo_field = ammotype;
+       e.impulse = i;
+       e.spawnflags = weapontype;
+       e.bot_pickupbasevalue = pickupbasevalue;
        e.wpcolor = clr;
        e.mdl = modelname;
        e.model = strzone(strcat("models/weapons/g_", modelname, ".md3"));
-       e.spawnflags = weapontype;
+       e.w_crosshair = strzone(car(crosshair));
+       string s = cdr(crosshair);
+       e.w_crosshair_size = ((s != "") ? stof(s) : 1); // so that we can scale the crosshair from code (for compat)
        e.model2 = strzone(strcat("wpn-", ftos(id)));
-       e.impulse = i;
-       e.bot_pickupbasevalue = pickupbasevalue;
-       e.ammo_field = ammotype;
+       e.netname = refname;
+       e.message = wepname;
 
        #ifndef MENUQC
        func(WR_INIT);
@@ -110,7 +124,6 @@ void register_weapons_done()
        dummy_weapon_info.weapons = '0 0 0';
        dummy_weapon_info.netname = "";
        dummy_weapon_info.message = "AOL CD Thrower";
-       //dummy_weapon_info.items = 0;
        dummy_weapon_info.weapon_func = w_null;
        dummy_weapon_info.mdl = "";
        dummy_weapon_info.model = "";
@@ -120,6 +133,9 @@ void register_weapons_done()
        dummy_weapon_info.bot_pickupbasevalue = 0;
        dummy_weapon_info.ammo_field = ammo_none;
 
+       dummy_weapon_info.w_crosshair = "gfx/crosshair1";
+       dummy_weapon_info.w_crosshair_size = 1;
+
        float i;
        weaponorder_byid = "";
        for(i = WEP_MAXCOUNT; i >= 1; --i)
@@ -240,11 +256,6 @@ void W_RandomWeapons(entity e, float n)
        e.weapons = result;
 }
 
-string W_Name(float weaponid) // WEAPONTODO: make into a macro
-{
-       return (get_weaponinfo(weaponid)).message;
-}
-
 #ifdef CSQC
 .float GetAmmoFieldFromNum(float i)
 {