]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Renumber item flags
authorTimePath <andrew.hardaker1995@gmail.com>
Thu, 10 Mar 2016 10:53:53 +0000 (21:53 +1100)
committerTimePath <andrew.hardaker1995@gmail.com>
Thu, 10 Mar 2016 10:53:53 +0000 (21:53 +1100)
qcsrc/common/items/item.qh
qcsrc/server/sys-post.qh
qcsrc/server/sys-pre.qh

index 0db0d0beafd8f54e2ff7a0e9fa00bbf097551fc9..ba21efd96610624235ab8fadaee2fb31994f2c45 100644 (file)
@@ -1,45 +1,42 @@
 #ifndef GAMEITEM_H
 #define GAMEITEM_H
 
-const int IT_UNLIMITED_WEAPON_AMMO             =       1; // when this bit is set, using a weapon does not reduce ammo. Checkpoints can give this powerup.
-const int IT_UNLIMITED_SUPERWEAPONS            =       2; // when this bit is set, superweapons don't expire. Checkpoints can give this powerup.
-const int IT_CTF_SHIELDED                      =       4; // set for the flag shield
-const int IT_USING_JETPACK                     =       8; // confirmation that button is pressed
-const int IT_JETPACK                           =      16; // actual item
-const int IT_FUEL_REGEN                        =      32; // fuel regeneration trigger
-// where is 64... ?
-const int IT_FUEL                                      =     128;
-// -Wdouble-declaration
-#define IT_SHELLS                                        256
-// -Wdouble-declaration
-#define IT_NAILS                                         512
-// -Wdouble-declaration
-#define IT_ROCKETS                                      1024
-// -Wdouble-declaration
-#define IT_CELLS                                        2048
-const int IT_SUPERWEAPON                               =    4096;
-const int IT_STRENGTH                                  =    8192;
-const int IT_INVINCIBLE                                =   16384;
-const int IT_HEALTH                                    =   32768;
-const int IT_PLASMA                                    =   65536;
-
-// shared value space (union):
-       // for items:
-       // -Wdouble-declaration
-       #define IT_KEY1                                                 131072
-       // -Wdouble-declaration
-       #define IT_KEY2                                                 262144
-// end
-
-const int IT_5HP                               =  524288;
-const int IT_25HP                              = 1048576;
-const int IT_ARMOR_SHARD                       = 2097152;
-const int IT_ARMOR                             = 4194304;
+const int IT_UNLIMITED_WEAPON_AMMO             =  BIT(0); // when this bit is set, using a weapon does not reduce ammo. Checkpoints can give this powerup.
+const int IT_UNLIMITED_SUPERWEAPONS            =  BIT(1); // when this bit is set, superweapons don't expire. Checkpoints can give this powerup.
+
+const int IT_JETPACK                           =  BIT(2); // actual item
+const int IT_USING_JETPACK                     =  BIT(3); // confirmation that button is pressed
+const int IT_FUEL_REGEN                        =  BIT(4); // fuel regeneration trigger
+
+const int IT_FUEL                                      =  BIT(5);
+const int IT_SHELLS                     =  BIT(6);
+const int IT_NAILS                      =  BIT(7);
+const int IT_ROCKETS                    =  BIT(8);
+const int IT_CELLS                      =  BIT(9);
+const int IT_PLASMA                                    = BIT(10);
+
+const int IT_5HP                               = BIT(11);
+const int IT_25HP                              = BIT(12);
+const int IT_HEALTH                                    = BIT(13);
+
+const int IT_ARMOR_SHARD                       = BIT(14);
+const int IT_ARMOR                             = BIT(15);
+
+const int IT_KEY1                                              = BIT(16);
+const int IT_KEY2                                              = BIT(17);
+
+const int IT_CTF_SHIELDED                      = BIT(18); // set for the flag shield
+
+// special colorblend meaning in engine
+const int IT_INVISIBILITY                              = BIT(19);
+const int IT_INVINCIBLE                                = BIT(20);
+const int IT_SUPERWEAPON                               = BIT(21); // suit
+const int IT_STRENGTH                                  = BIT(22);
 
 // item masks
-const int IT_AMMO                              =    3968; // IT_FUEL | IT_SHELLS | IT_NAILS | IT_ROCKETS | IT_CELLS | IT_PLASMA;
-const int IT_PICKUPMASK                        =      51; // IT_FUEL_REGEN | IT_JETPACK | IT_UNLIMITED_AMMO; // strength and invincible are handled separately
-const int IT_UNLIMITED_AMMO                    =       3; // IT_UNLIMITED_SUPERWEAPONS | IT_UNLIMITED_WEAPON_AMMO;
+const int IT_AMMO                              = IT_FUEL | IT_SHELLS | IT_NAILS | IT_ROCKETS | IT_CELLS | IT_PLASMA;
+const int IT_UNLIMITED_AMMO                    = IT_UNLIMITED_WEAPON_AMMO | IT_UNLIMITED_SUPERWEAPONS;
+const int IT_PICKUPMASK                        = IT_UNLIMITED_AMMO | IT_JETPACK | IT_FUEL_REGEN; // strength and invincible are handled separately
 
 #define ITEM_HANDLE(signal, ...) __Item_Send_##signal(__VA_ARGS__)
 /** If you register a new item, make sure to add it to all.inc */
index 5b8dfd4989b84076a3d0e37ebf5c2a12fada9b69..aca5969ba665ad426903000a8838e50b4367e206 100644 (file)
@@ -14,6 +14,30 @@ var string(string name) cvar_string;
 var void(string name, string value) cvar_set;
 var void remove(entity e);
 
+#undef IT_SHOTGUN
+#undef IT_SUPER_SHOTGUN
+#undef IT_NAILGUN
+#undef IT_SUPER_NAILGUN
+#undef IT_GRENADE_LAUNCHER
+#undef IT_ROCKET_LAUNCHER
+#undef IT_LIGHTNING
+#undef IT_EXTRA_WEAPON
+#undef IT_SHELLS
+#undef IT_NAILS
+#undef IT_ROCKETS
+#undef IT_CELLS
+#undef IT_AXE
+#undef IT_ARMOR1
+#undef IT_ARMOR2
+#undef IT_ARMOR3
+#undef IT_SUPERHEALTH
+#undef IT_KEY1
+#undef IT_KEY2
+#undef IT_INVISIBILITY
+#undef IT_INVULNERABILITY
+#undef IT_SUIT
+#undef IT_QUAD
+
 #pragma noref 0
 
 #endif
index 067e0140976fb18399e1f71ec32247933d6cbac5..be17b6923b3b2bbbd63dac0b760d8adc60ace165 100644 (file)
@@ -8,6 +8,31 @@
 #define cvar_string builtin_cvar_string
 #define cvar builtin_cvar
 
+#define IT_SHOTGUN          _IT_SHOTGUN /* BIT(0) */
+#define IT_SUPER_SHOTGUN    _IT_SUPER_SHOTGUN /* BIT(1) */
+#define IT_NAILGUN          _IT_NAILGUN /* BIT(2) */
+#define IT_SUPER_NAILGUN    _IT_SUPER_NAILGUN /* BIT(3) */
+#define IT_GRENADE_LAUNCHER _IT_GRENADE_LAUNCHER /* BIT(4) */
+#define IT_ROCKET_LAUNCHER  _IT_ROCKET_LAUNCHER /* BIT(5) */
+#define IT_LIGHTNING        _IT_LIGHTNING /* BIT(6) */
+#define IT_EXTRA_WEAPON     _IT_EXTRA_WEAPON /* BIT(7) */
+#define IT_SHELLS           _IT_SHELLS /* BIT(8) */
+#define IT_NAILS            _IT_NAILS /* BIT(9) */
+#define IT_ROCKETS          _IT_ROCKETS /* BIT(10) */
+#define IT_CELLS            _IT_CELLS /* BIT(11) */
+#define IT_AXE              _IT_AXE /* BIT(12) */
+#define IT_ARMOR1           _IT_ARMOR1 /* BIT(13) */
+#define IT_ARMOR2           _IT_ARMOR2 /* BIT(14) */
+#define IT_ARMOR3           _IT_ARMOR3 /* BIT(15) */
+#define IT_SUPERHEALTH      _IT_SUPERHEALTH /* BIT(16) */
+#define IT_KEY1             _IT_KEY1 /* BIT(17) */
+#define IT_KEY2             _IT_KEY2 /* BIT(18) */
+// FIXME: special meaning when used in client items stat
+#define IT_INVISIBILITY     _IT_INVISIBILITY /* BIT(19) */
+#define IT_INVULNERABILITY  _IT_INVULNERABILITY /* BIT(20) */
+#define IT_SUIT             _IT_SUIT /* BIT(21) */
+#define IT_QUAD             _IT_QUAD /* BIT(22) */
+
 #pragma noref 1
 
 #endif