]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/items/item.qh
items: only draw the removal effect when appropriate
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / items / item.qh
index 364baeebcac65f4d77c74bd768d225421a19fcf0..4beeda8498a52a4056f5ba101d8797b25c021acc 100644 (file)
@@ -38,7 +38,7 @@ const int IT_SPEED                                            = BIT(13);
 const int IT_PICKUPMASK                        = IT_UNLIMITED_AMMO | IT_UNLIMITED_SUPERWEAPONS | IT_JETPACK | IT_FUEL_REGEN; // strength and invincible are handled separately
 
 // item networking
-const int ISF_SIZE2             = BIT(0);
+const int ISF_REMOVEFX          = BIT(0); // technically unnecessary (after the kludge in Item_Think() is reverted), but cheaper and cleaner than using ITS_AVAILABLE
 const int ISF_LOCATION          = BIT(1);
 const int ISF_MODEL             = BIT(2);
 const int ISF_STATUS            = BIT(3);
@@ -58,14 +58,14 @@ const int ITS_AVAILABLE         = BIT(3);
 const int ITS_ALLOWFB           = BIT(4);
 const int ITS_ALLOWSI           = BIT(5);
 const int ITS_GLOW              = BIT(6);
+const int ITS_EXPIRING          = BIT(7);
 
-// item bboxes for sv_legacy_bbox_expand 0
-// Small, Default and Large (large maxs are used with default mins)
-const vector ITEM_S_MINS = '-16 -16 0'; // smaller items now get the same "unexpanded" bbox that normal items
-const vector ITEM_S_MAXS = '16 16 48';  // had during MoveOutOfSolid and DropToFloor (before expansion) in 0.8.5
-const vector ITEM_D_MINS = '-30 -30 0'; // 0.8.5 set '-16 -16 0' then DP subtracted '15 15 1' but NetRadiant used '-30 -30 0'
-const vector ITEM_D_MAXS = '30 30 48';  // 0.8.5 set '16 16 48' then DP added '15 15 1' but NetRadiant used '30 30 32'
-const vector ITEM_L_MAXS = '30 30 70';  // 0.8.5 set '16 16 80' for powerups, '16 16 70' for megas, '16 16 60' for buffs
+// enough to notice it's about to despawn and circle jump to grab it
+const float IT_DESPAWNFX_TIME = 1.5;
+
+// 2hz probably enough to correct a desync caused by serious lag
+// FIXME but updating faster applies the kludge in Item_Think() sooner so it's less noticeable
+const float IT_UPDATE_INTERVAL = 0.0625;
 
 .float fade_start;
 .float fade_end;