#include <client/shownames.qh>
#include <client/view.qh>
#include <client/weapons/projectile.qh>
+#include <common/checkextension.qh>
#include <common/deathtypes/all.qh>
#include <common/effects/all.inc>
#include <common/effects/all.qh>
// CSQC_Init : Called every time the CSQC code is initialized (essentially at map load)
// Useful for precaching things
-void CSQC_Init()
+void CSQC_Init(float apilevel, string enginename, float engineversion)
{
prvm_language = strzone(cvar_string("prvm_language"));
LOG_TRACEF("^4CSQC Build information: ^1%s", WATERMARK);
#endif
+ CheckEngineExtensions();
+
{
int i = 0;
for ( ; i < 255; ++i)
localcmd("\n-button12\n");
+ strfree(gametype_custom_name);
+
deactivate_minigame();
HUD_MinigameMenu_Close(NULL, NULL, NULL);
{
this.origin = ReadVector();
+ int particlesAndOrSound = ReadByte();
+
if(is_new)
{
float teamnum = entcs_GetTeam(entnum - 1);
- if(autocvar_cl_spawn_event_particles)
+ if(autocvar_cl_spawn_event_particles && (particlesAndOrSound & BIT(0)))
{
switch(teamnum)
{
default: pointparticles(EFFECT_SPAWN_NEUTRAL, this.origin, '0 0 0', 1); break;
}
}
- if(autocvar_cl_spawn_event_sound)
+
+ if(autocvar_cl_spawn_event_sound && (particlesAndOrSound & BIT(1)))
{
sound(this, CH_TRIGGER, SND_SPAWN, VOL_BASE, ATTEN_NORM);
}
{
make_pure(this);
gametype = ReadRegistered(Gametypes);
+ strcpy(gametype_custom_name, ReadString());
teamplay = _MapInfo_GetTeamPlayBool(gametype);
HUD_ModIcons_SetFunc();
FOREACH(Scores, true, {
int n = tokenizebyseparator(s, " & ");
string wpn_list = "";
- for (int i = 0; i < n; i++)
+ for (int i = 0; i < n; ++i)
{
Weapon wep = Weapon_from_name(argv(i));
if (wep == WEP_Null)