]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/t_items.qh
Update items instantly when they pass through warpzones
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / t_items.qh
index 8195d250d023b4e528cb40bfd67d272fde8392c0..1dc79f8cc24266cf9250bf46f9cf81a89d7cb4a0 100644 (file)
@@ -4,20 +4,20 @@
 const int AMMO_COUNT = 4; // amount of ammo types to show in the inventory panel
 
 // item networking
-const int ISF_LOCATION                         = 2;
-const int ISF_MODEL                            = 4;
-const int ISF_STATUS                   = 8;
-    const int ITS_STAYWEP              = 1;
-    const int ITS_ANIMATE1             = 2;
-    const int ITS_ANIMATE2             = 4;
-    const int ITS_AVAILABLE    = 8;
-    const int ITS_ALLOWFB              = 16;
-    const int ITS_ALLOWSI              = 32;
-    const int ITS_POWERUP              = 64;
-const int ISF_COLORMAP                         = 16;
-const int ISF_DROP                             = 32;
-const int ISF_ANGLES                   = 64;
-const int ISF_SIZE                             = 128;
+const int ISF_LOCATION                         = BIT(1);
+const int ISF_MODEL                            = BIT(2);
+const int ISF_STATUS                   = BIT(3);
+    const int ITS_STAYWEP                  = BIT(0);
+    const int ITS_ANIMATE1                 = BIT(1);
+    const int ITS_ANIMATE2                 = BIT(2);
+    const int ITS_AVAILABLE        = BIT(3);
+    const int ITS_ALLOWFB                  = BIT(4);
+    const int ITS_ALLOWSI                  = BIT(5);
+    const int ITS_POWERUP                  = BIT(6);
+const int ISF_COLORMAP                         = BIT(4);
+const int ISF_DROP                             = BIT(5);
+const int ISF_ANGLES                   = BIT(6);
+const int ISF_SIZE                             = BIT(7);
 
 .int ItemStatus;
 
@@ -25,7 +25,7 @@ const int ISF_SIZE                            = 128;
 .float fade_end;
 
 #ifdef SVQC
-void StartItemA (entity a);
+void StartItem(entity this, entity a);
 #endif
 
 #ifdef CSQC
@@ -45,8 +45,6 @@ string autocvar_cl_simpleitems_postfix = "_simple";
 void ItemDraw(entity this);
 void ItemDrawSimple(entity this);
 
-void ItemRead(float _IsNew);
-
 #endif
 #ifdef SVQC
 spawnfunc(item_strength);
@@ -60,7 +58,7 @@ float autocvar_sv_simple_items;
 bool ItemSend(entity this, entity to, int sf);
 
 
-float have_pickup_item(void);
+bool have_pickup_item(entity this);
 
 const float ITEM_RESPAWN_TICKS = 10;
 
@@ -74,9 +72,9 @@ const float ITEM_RESPAWN_TICKS = 10;
 
 void Item_Show (entity e, float mode);
 
-void Item_Respawn (void);
+void Item_Respawn ();
 
-void Item_RespawnCountdown (void);
+void Item_RespawnCountdown ();
 void Item_ScheduleRespawnIn(entity e, float t);
 
 void Item_ScheduleRespawn(entity e);
@@ -90,16 +88,18 @@ float Item_GiveAmmoTo(entity item, entity player, .float ammotype, float ammomax
 
 float Item_GiveTo(entity item, entity player);
 
-void Item_Touch (void);
+void Item_Touch();
 
-void Item_Reset();
+void Item_Reset(entity this);
 
 void Item_FindTeam();
 // Savage: used for item garbage-collection
 // TODO: perhaps nice special effect?
 
 bool ItemSend(entity this, entity to, int sf);
-void ItemUpdate(entity item);
+void ItemUpdate(entity this);
+
+void UpdateItemAfterTeleport(entity this);
 
 // pickup evaluation functions
 // these functions decide how desirable an item is to the bots
@@ -112,16 +112,10 @@ float commodity_pickupevalfunc(entity player, entity item);
 
 .float is_item;
 .entity itemdef;
-void StartItem (string itemmodel, string pickupsound, float defaultrespawntime, float defaultrespawntimejitter, string itemname, float itemid, float weaponid, float itemflags, float(entity player, entity item) pickupevalfunc, float pickupbasevalue);
-
+void _StartItem(entity this, entity def, float defaultrespawntime, float defaultrespawntimejitter);
 
-void target_items_use (void);
 
-const float OP_SET = 0;
-const float OP_MIN = 1;
-const float OP_MAX = 2;
-const float OP_PLUS = 3;
-const float OP_MINUS = 4;
+void target_items_use ();
 
 float GiveWeapon(entity e, float wpn, float op, float val);