#include "main.qh"
-#include "_all.qh"
#include "controlpoint.qh"
#include "damage.qh"
#include "laser.qh"
#include "mapvoting.qh"
#include "modeleffects.qh"
+#include "mutators/events.qh"
#include "particles.qh"
+#include "quickmenu.qh"
#include "scoreboard.qh"
#include "shownames.qh"
#include "tuba.qh"
#include "t_items.qh"
#include "wall.qh"
-
-#include "../common/vehicles/all.qh"
-
-#include "mutators/events.qh"
-
#include "weapons/projectile.qh"
-
-#include "../common/buffs/all.qh"
-#include "../common/deathtypes.qh"
-#include "../common/effects/effects.qh"
+#include "../common/deathtypes/all.qh"
+#include "../common/items/all.qh"
#include "../common/mapinfo.qh"
-#include "../common/monsters/all.qh"
-#include "../common/nades/all.qh"
+#include "../common/minigames/cl_minigames.qh"
+#include "../common/minigames/cl_minigames_hud.qh"
#include "../common/net_notice.qh"
-#include "../common/notifications.qh"
-#include "../common/stats.qh"
-#include "../common/teams.qh"
-
-#include "../common/items/all.qh"
-
-#include "../common/mutators/base.qh"
-
-#include "../common/weapons/all.qh"
-
-#include "../csqcmodellib/cl_model.qh"
-#include "../csqcmodellib/interpolate.qh"
-
#include "../common/triggers/include.qh"
-
#include "../common/turrets/cl_turrets.qh"
-
-#include "../warpzonelib/client.qh"
+#include "../common/vehicles/all.qh"
+#include "../lib/csqcmodel/cl_model.qh"
+#include "../lib/csqcmodel/interpolate.qh"
+#include "../lib/warpzone/client.qh"
// --------------------------------------------------------------------------
// BEGIN REQUIRED CSQC FUNCTIONS
{
}
+void draw_null(entity this) { }
+
string forcefog;
void ConsoleCommand_macro_init();
void CSQC_Init(void)
// needs to be done so early because of the constants they create
static_init();
- CALL_ACCUMULATED_FUNCTION(RegisterNotifications);
- CALL_ACCUMULATED_FUNCTION(RegisterDeathtypes);
- CALL_ACCUMULATED_FUNCTION(RegisterHUD_Panels);
+ static_init_late();
// precaches
void Ent_RemoveEntCS()
{SELFPARAM();
- entcs_receiver[self.sv_entnum] = world;
+ entcs_receiver[self.sv_entnum] = NULL;
}
void Ent_ReadEntCS()
{SELFPARAM();
- int sf;
InterpolateOrigin_Undo();
-
self.classname = "entcs_receiver";
- sf = ReadByte();
+ int sf = ReadByte();
- if(sf & 1)
+ if(sf & BIT(0))
self.sv_entnum = ReadByte();
- if(sf & 2)
+ if (sf & BIT(1))
{
self.origin_x = ReadShort();
self.origin_y = ReadShort();
self.origin_z = ReadShort();
setorigin(self, self.origin);
}
- if(sf & 4)
+ if (sf & BIT(2))
{
self.angles_y = ReadByte() * 360.0 / 256;
self.angles_x = self.angles_z = 0;
}
- if(sf & 8)
+ if (sf & BIT(3))
self.healthvalue = ReadByte() * 10;
- if(sf & 16)
+ if (sf & BIT(4))
self.armorvalue = ReadByte() * 10;
entcs_receiver[self.sv_entnum] = self;
}
}
-void Spawn_Draw(void)
-{SELFPARAM();
- pointparticles(self.cnt, self.origin + '0 0 28', '0 0 2', bound(0, frametime, 0.1));
+void Spawn_Draw(entity this)
+{
+ pointparticles(this.cnt, this.origin + '0 0 28', '0 0 2', bound(0, frametime, 0.1));
}
void Ent_ReadSpawnPoint(float is_new) // entity for spawnpoint
spn_origin.y = ReadShort();
spn_origin.z = ReadShort();
- if(is_new)
- {
+ //if(is_new)
+ //{
self.origin = spn_origin;
setsize(self, PL_MIN_CONST, PL_MAX_CONST);
- droptofloor();
+ //droptofloor();
/*if(autocvar_cl_spawn_point_model) // needs a model first
{
self.draw = Spawn_Draw;
}
- }
+ //}
//printf("Ent_ReadSpawnPoint(is_new = %d); origin = %s, team = %d, effect = %d\n", is_new, vtos(self.origin), teamnum, self.cnt);
}
case ENT_CLIENT_AUXILIARYXHAIR: Net_AuXair2(bIsNewEntity); break;
case ENT_CLIENT_TURRET: ent_turret(); break;
case ENT_CLIENT_GENERATOR: ent_generator(); break;
- case ENT_CLIENT_CONTROLPOINT_ICON: ent_cpicon(); break;
+ case ENT_CLIENT_CONTROLPOINT_ICON: ent_cpicon(this); break;
case ENT_CLIENT_MODEL: CSQCModel_Read(bIsNewEntity); break;
case ENT_CLIENT_ITEM: ItemRead(bIsNewEntity); break;
case ENT_CLIENT_BUMBLE_RAYGUN: bumble_raygun_read(bIsNewEntity); break;
self.enttype = 0;
self.classname = "";
- self.draw = menu_sub_null;
+ self.draw = draw_null;
self.entremove = menu_sub_null;
// TODO possibly set more stuff to defaults
}