// localcmd("alias order \"cmd order $*\""); enable if ctf-command thingy is used
//registercmd("ctf_menu");
registercmd("ons_map");
+ registercmd("hud_configure");
+ registercmd("hud_save");
//registercmd("menu_action");
registercmd("+button3");
local string strCmd;
strCmd = argv(0);
- if(strCmd == "+button4") { // zoom
+ if(strCmd == "hud_configure") { // config hud
+ cvar_set("_hud_configure", ftos(!cvar("_hud_configure")));
+ return true;
+ } else if(strCmd == "hud_save") { // save hud config
+ if(argv(1) == "" || argv(2)) {
+ print("Usage:\n");
+ print("hud_save configname (saves to hud_skinname_configname.cfg)\n");
+ }
+ else
+ HUD_Panel_ExportCfg(argv(1));
+ return true;
+ } else if(strCmd == "+button4") { // zoom
// return false, because the message shall be sent to the server anyway (for demos/speccing)
if(ignore_plus_zoom)
{
localcmd("sv_cmd debug_shotorg\n");
}
else if(cmd == "sendcvar") {
- s = cvar_string(argv(1));
- if(argv(1) == "cl_weaponpriority")
+ // W_FixWeaponOrder will trash argv, so save what we need.
+ string cvar;
+ cvar = strzone(argv(1));
+ s = cvar_string(cvar);
+ if(cvar == "cl_weaponpriority")
s = W_FixWeaponOrder(W_NumberWeaponOrder(s), 1);
- else if(substring(argv(1), 0, 17) == "cl_weaponpriority" && strlen(argv(1)) == 18)
+ else if(substring(cvar, 0, 17) == "cl_weaponpriority" && strlen(cvar) == 18)
s = W_FixWeaponOrder(W_NumberWeaponOrder(s), 0);
- localcmd("cmd sentcvar ", argv(1), " \"", s, "\"\n");
+ localcmd("cmd sentcvar ", cvar, " \"", s, "\"\n");
+ strunzone(cvar);
}
else if(cmd == "spawn") {
s = argv(1);
case ENT_CLIENT_TUBANOTE: Ent_TubaNote(bIsNewEntity); break;
case ENT_CLIENT_WARPZONE: WarpZone_Read(bIsNewEntity); break;
case ENT_CLIENT_WARPZONE_CAMERA: WarpZone_Camera_Read(bIsNewEntity); break;
+ case ENT_CLIENT_TRIGGER_MUSIC: Ent_ReadTriggerMusic(); break;
default:
error(strcat("unknown entity type in CSQC_Ent_Update: ", ftos(self.enttype), "\n"));
break;
g_weaponswitchdelay = ReadByte() / 255.0;
+ g_balance_grenadelauncher_secondary_bouncefactor = ReadCoord();
+ g_balance_grenadelauncher_secondary_bouncestop = ReadCoord();
+
if(!postinit)
PostInit();
}
// NOTE: Could just do return instead of break...
switch(nTEID)
{
+ case TE_CSQC_TARGET_MUSIC:
+ Net_TargetMusic();
+ bHandled = true;
+ break;
case TE_CSQC_PICTURE:
Net_MapVote_Picture();
bHandled = true;