From 79566cf313850ca52592eb9adf39f645c9e3367c Mon Sep 17 00:00:00 2001 From: blub0 Date: Sat, 15 Mar 2008 17:54:46 +0000 Subject: [PATCH] my 'hello commit', i hope I didn't miss anything... some constants moved to common/ for later use in csqc, some builtins added, broadcasting gametype to players as gametype cvar, for later use in csqc, too git-svn-id: svn://svn.icculus.org/nexuiz/trunk@3506 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- data/qcsrc/client/csqc_builtins.qc | 16 ++- data/qcsrc/client/csqc_constants.qc | 2 +- data/qcsrc/common/constants.qh | 154 ++++++++++++++++++++++++++++ data/qcsrc/menu/msys.qh | 125 ---------------------- data/qcsrc/menu/progs.src | 1 + data/qcsrc/server/cl_client.qc | 2 + data/qcsrc/server/constants.qh | 1 + data/qcsrc/server/extensions.qh | 3 + data/qcsrc/server/progs.src | 1 + data/qcsrc/server/teamplay.qc | 17 ++- 10 files changed, 182 insertions(+), 140 deletions(-) create mode 100644 data/qcsrc/common/constants.qh diff --git a/data/qcsrc/client/csqc_builtins.qc b/data/qcsrc/client/csqc_builtins.qc index 453986d74..0fa283d70 100644 --- a/data/qcsrc/client/csqc_builtins.qc +++ b/data/qcsrc/client/csqc_builtins.qc @@ -125,8 +125,6 @@ vector () getmousepos = #344; string (string s) uncolorstring = #170; -float () playernum = #354; - void (vector org, vector forward, vector right, vector up) setlistener = #351; float (vector start, vector end, float ignore, float csqcents) selecttraceline = #355; @@ -135,7 +133,10 @@ float () isserver = #350; void (float f) setwantsmousemove = #343; string (float key) getkeybind = #342; +//string (float f) chr = #78; string (float f) chr = #78; +float(string str, float ofs) str2chr = #222; +string(float c, ...) chr2str = #223; vector (vector org) getlight = #92; @@ -246,4 +247,13 @@ string(string s) strtolower = #480; // returns the passed in string in pure lowe string(string s) strtoupper = #481; // returns the passed in string in pure uppercase form float(string s) strlennocol = #476; -void(vector origin, string sample, float volume, float attenuation) pointsound = #483; \ No newline at end of file +void(vector origin, string sample, float volume, float attenuation) pointsound = #483; + +// added by blub + +string(string key) serverkey = #354; +float(string s1, string s2) strcasecmp = #229; +float(string s1, string s2, float len) strncasecmp = #230; +float(string str, string sub, float startoffs) strstrofs = #221; +//float(string str, string sub) strstrofs = #221; +entity(float num) edict_num = #459; diff --git a/data/qcsrc/client/csqc_constants.qc b/data/qcsrc/client/csqc_constants.qc index 2adffc6e5..94d984cb1 100644 --- a/data/qcsrc/client/csqc_constants.qc +++ b/data/qcsrc/client/csqc_constants.qc @@ -158,4 +158,4 @@ const float BUTTON_12 = 16384; const float BUTTON_13 = 32768; const float BUTTON_14 = 65536; const float BUTTON_15 = 131072; -const float BUTTON_16 = 262; \ No newline at end of file +const float BUTTON_16 = 262; diff --git a/data/qcsrc/common/constants.qh b/data/qcsrc/common/constants.qh new file mode 100644 index 000000000..2ad644a07 --- /dev/null +++ b/data/qcsrc/common/constants.qh @@ -0,0 +1,154 @@ + +const float STAT_CTF_STATE = 32; + +const float CTF_STATE_ATTACK = 1; +const float CTF_STATE_DEFEND = 2; +const float CTF_STATE_COMMANDER = 3; + +// probably put these in common/ +// so server/ and client/ can be synced better +const float GAME_DEATHMATCH = 1; +const float GAME_TEAM_DEATHMATCH = 2; +const float GAME_DOMINATION = 3; +const float GAME_CTF = 4; +const float GAME_RUNEMATCH = 5; +const float GAME_LMS = 6; +const float GAME_ARENA = 7; +const float GAME_KEYHUNT = 8; +const float GAME_ASSAULT = 9; +const float GAME_ONSLAUGHT = 10; + +const float AS_STRING = 1; +const float AS_INT = 2; +const float AS_FLOAT_TRUNCATED = 2; +const float AS_FLOAT = 8; + +const float ENT_CLIENT = 0; +const float ENT_CLIENT_DEAD = 1; +const float ENT_CLIENT_GPS = 2; + +/////////////////////////// +// key constants + +// +// these are the key numbers that should be passed to Key_Event +// +const float K_TAB = 9; +const float K_ENTER = 13; +const float K_ESCAPE = 27; +const float K_SPACE = 32; + +// normal keys should be passed as lowercased ascii + +const float K_BACKSPACE = 127; +const float K_UPARROW = 128; +const float K_DOWNARROW = 129; +const float K_LEFTARROW = 130; +const float K_RIGHTARROW = 131; + +const float K_ALT = 132; +const float K_CTRL = 133; +const float K_SHIFT = 134; +const float K_F1 = 135; +const float K_F2 = 136; +const float K_F3 = 137; +const float K_F4 = 138; +const float K_F5 = 139; +const float K_F6 = 140; +const float K_F7 = 141; +const float K_F8 = 142; +const float K_F9 = 143; +const float K_F10 = 144; +const float K_F11 = 145; +const float K_F12 = 146; +const float K_INS = 147; +const float K_DEL = 148; +const float K_PGDN = 149; +const float K_PGUP = 150; +const float K_HOME = 151; +const float K_END = 152; + +const float K_KP_HOME = 160; +const float K_KP_UPARROW = 161; +const float K_KP_PGUP = 162; +const float K_KP_LEFTARROW = 163; +const float K_KP_5 = 164; +const float K_KP_RIGHTARROW = 165; +const float K_KP_END = 166; +const float K_KP_DOWNARROW = 167; +const float K_KP_PGDN = 168; +const float K_KP_ENTER = 169; +const float K_KP_INS = 170; +const float K_KP_DEL = 171; +const float K_KP_SLASH = 172; +const float K_KP_MINUS = 173; +const float K_KP_PLUS = 174; + +const float K_PAUSE = 255; + +// +// joystick buttons +// +const float K_JOY1 = 768; +const float K_JOY2 = 769; +const float K_JOY3 = 770; +const float K_JOY4 = 771; + +// +// aux keys are for multi-buttoned joysticks to generate so they can use +// the normal binding process +// +const float K_AUX1 = 772; +const float K_AUX2 = 773; +const float K_AUX3 = 774; +const float K_AUX4 = 775; +const float K_AUX5 = 776; +const float K_AUX6 = 777; +const float K_AUX7 = 778; +const float K_AUX8 = 779; +const float K_AUX9 = 780; +const float K_AUX10 = 781; +const float K_AUX11 = 782; +const float K_AUX12 = 783; +const float K_AUX13 = 784; +const float K_AUX14 = 785; +const float K_AUX15 = 786; +const float K_AUX16 = 787; +const float K_AUX17 = 788; +const float K_AUX18 = 789; +const float K_AUX19 = 790; +const float K_AUX20 = 791; +const float K_AUX21 = 792; +const float K_AUX22 = 793; +const float K_AUX23 = 794; +const float K_AUX24 = 795; +const float K_AUX25 = 796; +const float K_AUX26 = 797; +const float K_AUX27 = 798; +const float K_AUX28 = 799; +const float K_AUX29 = 800; +const float K_AUX30 = 801; +const float K_AUX31 = 802; +const float K_AUX32 = 803; + +// +// mouse buttons generate virtual keys +// +const float K_MOUSE1 = 512; +const float K_MOUSE2 = 513; +const float K_MOUSE3 = 514; +const float K_MWHEELUP = 515; +const float K_MWHEELDOWN = 516; +const float K_MOUSE4 = 517; +const float K_MOUSE5 = 518; +const float K_MOUSE6 = 519; +const float K_MOUSE7 = 520; +const float K_MOUSE8 = 521; +const float K_MOUSE9 = 522; +const float K_MOUSE10 = 523; +const float K_MOUSE11 = 524; +const float K_MOUSE12 = 525; +const float K_MOUSE13 = 526; +const float K_MOUSE14 = 527; +const float K_MOUSE15 = 528; +const float K_MOUSE16 = 529; diff --git a/data/qcsrc/menu/msys.qh b/data/qcsrc/menu/msys.qh index 8d00b62db..13d06b8ad 100644 --- a/data/qcsrc/menu/msys.qh +++ b/data/qcsrc/menu/msys.qh @@ -25,131 +25,6 @@ void() m_shutdown; ///////////////////////////////////////////////////////// // sys constants -/////////////////////////// -// key constants - -// -// these are the key numbers that should be passed to Key_Event -// -float K_TAB = 9; -float K_ENTER = 13; -float K_ESCAPE = 27; -float K_SPACE = 32; - -// normal keys should be passed as lowercased ascii - -float K_BACKSPACE = 127; -float K_UPARROW = 128; -float K_DOWNARROW = 129; -float K_LEFTARROW = 130; -float K_RIGHTARROW = 131; - -float K_ALT = 132; -float K_CTRL = 133; -float K_SHIFT = 134; -float K_F1 = 135; -float K_F2 = 136; -float K_F3 = 137; -float K_F4 = 138; -float K_F5 = 139; -float K_F6 = 140; -float K_F7 = 141; -float K_F8 = 142; -float K_F9 = 143; -float K_F10 = 144; -float K_F11 = 145; -float K_F12 = 146; -float K_INS = 147; -float K_DEL = 148; -float K_PGDN = 149; -float K_PGUP = 150; -float K_HOME = 151; -float K_END = 152; - -float K_KP_HOME = 160; -float K_KP_UPARROW = 161; -float K_KP_PGUP = 162; -float K_KP_LEFTARROW = 163; -float K_KP_5 = 164; -float K_KP_RIGHTARROW = 165; -float K_KP_END = 166; -float K_KP_DOWNARROW = 167; -float K_KP_PGDN = 168; -float K_KP_ENTER = 169; -float K_KP_INS = 170; -float K_KP_DEL = 171; -float K_KP_SLASH = 172; -float K_KP_MINUS = 173; -float K_KP_PLUS = 174; - -float K_PAUSE = 255; - -// -// joystick buttons -// -float K_JOY1 = 768; -float K_JOY2 = 769; -float K_JOY3 = 770; -float K_JOY4 = 771; - -// -// aux keys are for multi-buttoned joysticks to generate so they can use -// the normal binding process -// -float K_AUX1 = 772; -float K_AUX2 = 773; -float K_AUX3 = 774; -float K_AUX4 = 775; -float K_AUX5 = 776; -float K_AUX6 = 777; -float K_AUX7 = 778; -float K_AUX8 = 779; -float K_AUX9 = 780; -float K_AUX10 = 781; -float K_AUX11 = 782; -float K_AUX12 = 783; -float K_AUX13 = 784; -float K_AUX14 = 785; -float K_AUX15 = 786; -float K_AUX16 = 787; -float K_AUX17 = 788; -float K_AUX18 = 789; -float K_AUX19 = 790; -float K_AUX20 = 791; -float K_AUX21 = 792; -float K_AUX22 = 793; -float K_AUX23 = 794; -float K_AUX24 = 795; -float K_AUX25 = 796; -float K_AUX26 = 797; -float K_AUX27 = 798; -float K_AUX28 = 799; -float K_AUX29 = 800; -float K_AUX30 = 801; -float K_AUX31 = 802; -float K_AUX32 = 803; - -// -// mouse buttons generate virtual keys -// -float K_MOUSE1 = 512; -float K_MOUSE2 = 513; -float K_MOUSE3 = 514; -float K_MWHEELUP = 515; -float K_MWHEELDOWN = 516; -float K_MOUSE4 = 517; -float K_MOUSE5 = 518; -float K_MOUSE6 = 519; -float K_MOUSE7 = 520; -float K_MOUSE8 = 521; -float K_MOUSE9 = 522; -float K_MOUSE10 = 523; -float K_MOUSE11 = 524; -float K_MOUSE12 = 525; -float K_MOUSE13 = 526; -float K_MOUSE14 = 527; -float K_MOUSE15 = 528; -float K_MOUSE16 = 529; /////////////////////////// // key dest constants diff --git a/data/qcsrc/menu/progs.src b/data/qcsrc/menu/progs.src index dc656fd41..af2475c8e 100644 --- a/data/qcsrc/menu/progs.src +++ b/data/qcsrc/menu/progs.src @@ -6,6 +6,7 @@ mbuiltin.qh oo/base.h +../common/constants.qh ../common/util.qh ../common/mapinfo.qh ../common/campaign_common.qh diff --git a/data/qcsrc/server/cl_client.qc b/data/qcsrc/server/cl_client.qc index c89c06c63..a142a1fba 100644 --- a/data/qcsrc/server/cl_client.qc +++ b/data/qcsrc/server/cl_client.qc @@ -956,6 +956,8 @@ void ClientConnect (void) bot_relinkplayerlist(); + stuffcmd(self, strcat("\nset gametype ", ftos(game), ";")); + self.jointime = time; } diff --git a/data/qcsrc/server/constants.qh b/data/qcsrc/server/constants.qh index 720365c0b..8c40ad836 100644 --- a/data/qcsrc/server/constants.qh +++ b/data/qcsrc/server/constants.qh @@ -132,6 +132,7 @@ float MSG_BROADCAST = 0; float MSG_ONE = 1; float MSG_ALL = 2; float MSG_INIT = 3; +float MSG_ENTITY = 5; // Deathtypes (weapon deathtypes are the IT_* constants below) // NOTE: when adding death types, please add an explanation to Docs/spamlog.txt too. diff --git a/data/qcsrc/server/extensions.qh b/data/qcsrc/server/extensions.qh index 8c93fa670..7b19a3519 100644 --- a/data/qcsrc/server/extensions.qh +++ b/data/qcsrc/server/extensions.qh @@ -1683,3 +1683,6 @@ float(float caseinsensitive, string s, ...) crc16 = #494; //URI::Escape's functionality string(string in) uri_escape = #510; string(string in) uri_unescape = #511; + +void(float index, float type, ...) addstat = #232; +float(entity ent) num_for_edict = #512; diff --git a/data/qcsrc/server/progs.src b/data/qcsrc/server/progs.src index 0ba76e463..45b834db0 100644 --- a/data/qcsrc/server/progs.src +++ b/data/qcsrc/server/progs.src @@ -3,6 +3,7 @@ sys.qh builtins.qh constants.qh +../common/constants.qh defs.qh // Should rename this, it has fields and globals extensions.qh diff --git a/data/qcsrc/server/teamplay.qc b/data/qcsrc/server/teamplay.qc index da4f49b21..c65e7f38d 100644 --- a/data/qcsrc/server/teamplay.qc +++ b/data/qcsrc/server/teamplay.qc @@ -1,14 +1,3 @@ -float GAME_DEATHMATCH = 1; -float GAME_TEAM_DEATHMATCH = 2; -float GAME_DOMINATION = 3; -float GAME_CTF = 4; -float GAME_RUNEMATCH = 5; -float GAME_LMS = 6; -float GAME_ARENA = 7; -float GAME_KEYHUNT = 8; -float GAME_ASSAULT = 9; -float GAME_ONSLAUGHT = 10; - // client counts for each team float c1, c2, c3, c4; // # of bots on those teams @@ -122,6 +111,7 @@ void ActivateTeamplay() void InitGameplayMode() { float fraglimit_override, timelimit_override; + entity pl; VoteReset(); @@ -320,6 +310,11 @@ void InitGameplayMode() cvar_set("timelimit", ftos(timelimit_override)); } + FOR_EACH_REALCLIENT(pl) + { + stuffcmd(pl, strcat("\nset gametype ", ftos(game), ";")); + } + if (game == GAME_DOMINATION)//cvar("g_domination")) dom_init(); else if (game == GAME_CTF)//cvar("g_ctf")) -- 2.39.2