float __engine_check;
#endif
-void precache_playermodel(string m)
-{
- string f;
-
- if(substring(m, -9,5) == "_lod1")
- return;
- if(substring(m, -9,5) == "_lod2")
- return;
- precache_model(m);
- f = strcat(substring(m, 0, -5), "_lod1", substring(m, -4, -1));
- if(fexists(f))
- precache_model(f);
- f = strcat(substring(m, 0, -5), "_lod2", substring(m, -4, -1));
- if(fexists(f))
- precache_model(f);
-
- /*
- float globhandle, i, n;
- globhandle = search_begin(strcat(m, "_*.sounds"), TRUE, FALSE);
- if (globhandle < 0)
- return;
- n = search_getsize(globhandle);
- for (i = 0; i < n; ++i)
- {
- //print(search_getfilename(globhandle, i), "\n");
- f = search_getfilename(globhandle, i);
- PrecachePlayerSounds(f);
- }
- search_end(globhandle);
- */
-}
-void precache_all_playermodels(string pattern)
-{
- float globhandle, i, n;
- string f;
-
- globhandle = search_begin(pattern, TRUE, FALSE);
- if (globhandle < 0)
- return;
- n = search_getsize(globhandle);
- for (i = 0; i < n; ++i)
- {
- //print(search_getfilename(globhandle, i), "\n");
- f = search_getfilename(globhandle, i);
- precache_playermodel(f);
- }
- search_end(globhandle);
-}
-
string forcefog;
void WaypointSprite_Load();
void ConsoleCommand_macro_init();
//registercommand("hud_configure");
//registercommand("hud_save");
//registercommand("menu_action");
-
+
ConsoleCommand_macro_init();
registercvar("hud_usecsqc", "1");
precache_model("null");
precache_sound("misc/hit.wav");
precache_sound("misc/typehit.wav");
- if (autocvar_cl_precacheplayermodels)
- {
- precache_all_playermodels("models/player/*.zym");
- precache_all_playermodels("models/player/*.dpm");
- precache_all_playermodels("models/player/*.md3");
- precache_all_playermodels("models/player/*.psk");
- precache_all_playermodels("models/player/*.iqm");
- }
Projectile_Precache();
Hook_Precache();
turrets_precache();
Tuba_Precache();
CSQCPlayer_Precache();
-
+
if(autocvar_cl_reticle)
{
if(autocvar_cl_reticle_item_normal) { precache_pic("gfx/reticle_normal"); }
if(autocvar_cl_reticle_item_nex) { precache_pic("gfx/reticle_nex"); }
}
-
+
get_mi_min_max_texcoords(1); // try the CLEVER way first
minimapname = strcat("gfx/", mi_shortname, "_radar.tga");
shortmapname = mi_shortname;
#ifdef DP_CSQC_ENTITY_REMOVE_IS_B0RKED
if(!isNew && n != self.sv_entnum)
{
- //print(_("A CSQC entity changed its owner!\n"));
- print(sprintf(_("A CSQC entity changed its owner! (edict: %d, classname: %s)\n"), num_for_edict(self), self.classname));
+ //print("A CSQC entity changed its owner!\n");
+ print(sprintf("A CSQC entity changed its owner! (edict: %d, classname: %s)\n", num_for_edict(self), self.classname));
isNew = true;
Ent_Remove();
self.enttype = ENT_CLIENT_SCORES;
void Ent_ReadSpawnPoint(float is_new) // entity for spawnpoint
{
float teamnum = (ReadByte() - 1);
- self.origin_x = ReadShort();
- self.origin_y = ReadShort();
- self.origin_z = ReadShort();
-
+ vector spn_origin;
+ spn_origin_x = ReadShort();
+ spn_origin_y = ReadShort();
+ spn_origin_z = ReadShort();
+
if(is_new)
{
+ self.origin = spn_origin;
setsize(self, PL_MIN, PL_MAX);
droptofloor();
}*/
if(autocvar_cl_spawn_point_particles)
{
- switch(teamnum)
+ if((serverflags & SERVERFLAG_TEAMPLAY))
{
- case NUM_TEAM_1: self.cnt = particleeffectnum("spawn_point_red"); break;
- case NUM_TEAM_2: self.cnt = particleeffectnum("spawn_point_blue"); break;
- case NUM_TEAM_3: self.cnt = particleeffectnum("spawn_point_yellow"); break;
- case NUM_TEAM_4: self.cnt = particleeffectnum("spawn_point_pink"); break;
- default: self.cnt = particleeffectnum("spawn_point_neutral"); break;
+ switch(teamnum)
+ {
+ case NUM_TEAM_1: self.cnt = particleeffectnum("spawn_point_red"); break;
+ case NUM_TEAM_2: self.cnt = particleeffectnum("spawn_point_blue"); break;
+ case NUM_TEAM_3: self.cnt = particleeffectnum("spawn_point_yellow"); break;
+ case NUM_TEAM_4: self.cnt = particleeffectnum("spawn_point_pink"); break;
+ default: self.cnt = particleeffectnum("spawn_point_neutral"); break;
+ }
}
+ else { self.cnt = particleeffectnum("spawn_point_neutral"); }
+
self.draw = Spawn_Draw;
}
}
// this way the server can disable the sending of
// spawn origin or such to clients if wanted.
float entnum = ReadByte();
-
+
if(entnum)
{
self.origin_x = ReadShort();
}
if(autocvar_cl_spawn_event_sound)
{
- sound(self, CH_TRIGGER, "misc/spawn.wav", VOL_BASE, ATTN_NORM);
+ sound(self, CH_TRIGGER, "misc/spawn.wav", VOL_BASE, ATTEN_NORM);
}
}
}
-
+
// local spawn actions
if(is_new && (!entnum || (entnum == player_localentnum)))
{
button_zoom = FALSE;
}
}
-
+
//print(sprintf("Ent_ReadSpawnEvent(is_new = %d); origin = %s, entnum = %d, localentnum = %d\n", is_new, vtos(self.origin), entnum, player_localentnum));
}
{
if(t != self.enttype || bIsNewEntity)
{
- //print(_("A CSQC entity changed its type!\n"));
- print(sprintf(_("A CSQC entity changed its type! (edict: %d, server: %d, type: %d -> %d)\n"), num_for_edict(self), self.entnum, self.enttype, t));
+ //print("A CSQC entity changed its type!\n");
+ print(sprintf("A CSQC entity changed its type! (edict: %d, server: %d, type: %d -> %d)\n", num_for_edict(self), self.entnum, self.enttype, t));
Ent_Remove();
clearentity(self);
bIsNewEntity = 1;
{
if(!bIsNewEntity)
{
- print(sprintf(_("A CSQC entity appeared out of nowhere! (edict: %d, server: %d, type: %d)\n"), num_for_edict(self), self.entnum, t));
+ print(sprintf("A CSQC entity appeared out of nowhere! (edict: %d, server: %d, type: %d)\n", num_for_edict(self), self.entnum, t));
bIsNewEntity = 1;
}
}
case ENT_CLIENT_GAUNTLET: Ent_ReadHook(bIsNewEntity, ENT_CLIENT_GAUNTLET); break;
case ENT_CLIENT_ACCURACY: Ent_ReadAccuracy(); break;
case ENT_CLIENT_AUXILIARYXHAIR: Net_AuXair2(bIsNewEntity); break;
- case ENT_CLIENT_TURRET: ent_turret(); break;
+ case ENT_CLIENT_TURRET: ent_turret(); break;
case ENT_CLIENT_MODEL: CSQCModel_Read(bIsNewEntity); break;
- case ENT_CLIENT_ITEM: ItemRead(bIsNewEntity); break;
+ case ENT_CLIENT_ITEM: ItemRead(bIsNewEntity); break;
case ENT_CLIENT_BUMBLE_RAYGUN: bumble_raygun_read(bIsNewEntity); break;
case ENT_CLIENT_SPAWNPOINT: Ent_ReadSpawnPoint(bIsNewEntity); break;
case ENT_CLIENT_SPAWNEVENT: Ent_ReadSpawnEvent(bIsNewEntity); break;
armorblockpercent = ReadByte() / 255.0;
- g_weaponswitchdelay = ReadByte() / 255.0;
-
g_balance_grenadelauncher_bouncefactor = ReadCoord();
g_balance_grenadelauncher_bouncestop = ReadCoord();
g_balance_electro_secondary_bouncefactor = ReadCoord();