]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/weapons/w_arc.qc
Clean up some more macros (sort of :D)
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / weapons / w_arc.qc
index 8661c0e93e27635a0e7c448eb0363dbf3082b9cc..f7944ae0dc968a1fd12e76fc28f8a9cb2de8548f 100644 (file)
@@ -1,14 +1,14 @@
 #ifdef REGISTER_WEAPON
 REGISTER_WEAPON(
-/* WEP_##id  */ ARC,
-/* function  */ w_arc,
-/* ammotype  */ IT_CELLS,
-/* impulse   */ 5,
-/* flags     */ WEP_FLAG_NORMAL,
-/* rating    */ BOT_PICKUP_RATING_HIGH,
-/* model     */ "arc",
-/* shortname */ "arc",
-/* fullname  */ _("Arc")
+/* WEP_##id */ ARC,
+/* function */ w_arc,
+/* ammotype */ IT_CELLS,
+/* impulse  */ 5,
+/* flags    */ WEP_FLAG_NORMAL,
+/* rating   */ BOT_PICKUP_RATING_HIGH,
+/* model    */ "arc",
+/* netname  */ "arc",
+/* fullname */ _("Arc")
 );
 
 #define ARC_SETTINGS(weapon) \
@@ -39,6 +39,7 @@ void ArcInit();
 #endif
 #else
 #ifdef SVQC
+void spawnfunc_weapon_arc() { weapon_defaultspawnfunc(WEP_ARC); }
 
 float W_Arc_Beam_Send(entity to, float sf)
 {
@@ -235,7 +236,7 @@ float w_arc(float req)
                                
                        return TRUE;
                }
-               case WR_PRECACHE:
+               case WR_INIT:
                {
                        precache_model ("models/weapons/g_arc.md3");
                        precache_model ("models/weapons/v_arc.md3");
@@ -261,6 +262,11 @@ float w_arc(float req)
                {
                        return self.ammo_cells >= WEP_CVAR_SEC(arc, ammo);
                }
+               case WR_CONFIG:
+               {
+                       WEP_CONFIG_SETTINGS(ARC_SETTINGS(arc))
+                       return TRUE;
+               }
                case WR_KILLMESSAGE:
                {
                        if(w_deathtype & HITTYPE_SECONDARY)
@@ -286,23 +292,18 @@ float w_arc(float req)
 
 void ArcInit()
 {
-       weapon_action(WEP_ARC, WR_PRECACHE);
+       WEP_ACTION(WEP_ARC, WR_INIT);
        arc_shotorigin[0] = shotorg_adjust_values(CL_Weapon_GetShotOrg(WEP_ARC), FALSE, FALSE, 1);
        arc_shotorigin[1] = shotorg_adjust_values(CL_Weapon_GetShotOrg(WEP_ARC), FALSE, FALSE, 2);
        arc_shotorigin[2] = shotorg_adjust_values(CL_Weapon_GetShotOrg(WEP_ARC), FALSE, FALSE, 3);
        arc_shotorigin[3] = shotorg_adjust_values(CL_Weapon_GetShotOrg(WEP_ARC), FALSE, FALSE, 4);
 
        #define WEP_ADD_CVAR(weapon,mode,name) /*nothing*/
-       #define WEP_ADD_PROP(weapon,prop,name) get_weaponinfo(WEP_ARC).##prop = autocvar_g_balance_##weapon##_##name;
+       #define WEP_ADD_PROP(weapon,prop,name) WEP_SET_PROP(WEP_ARC,weapon,prop,name)
        ARC_SETTINGS(arc)
        #undef WEP_ADD_CVAR
        #undef WEP_ADD_PROP
 }
-
-void spawnfunc_weapon_arc (void) // should this really be here?
-{
-       weapon_defaultspawnfunc(WEP_ARC);
-}
 #endif
 #ifdef CSQC
 float w_arc(float req)
@@ -329,7 +330,7 @@ float w_arc(float req)
                        
                        return TRUE;
                }
-               case WR_PRECACHE:
+               case WR_INIT:
                {
                        precache_sound("weapons/arc_impact.wav");
                        precache_sound("weapons/arc_impact_combo.wav");