home *** CD-ROM | disk | FTP | other *** search
- diff -ur -x qcc -x *.exe -x *.list -x *.pl -x *.h qc-ori/buttons.qc qc/buttons.qc
- --- qc-ori/buttons.qc Sat Aug 17 00:00:00 1996
- +++ qc/buttons.qc Fri Aug 30 19:59:04 1996
- @@ -55,6 +55,7 @@
- {
- if (other.classname != "player")
- return;
- + if (other.player_flag & PLAYER_IS_OBSERVER) return; //#jp#(Observer)
- self.enemy = other;
- button_fire ();
- };
- diff -ur -x qcc -x *.exe -x *.list -x *.pl -x *.h qc-ori/client.qc qc/client.qc
- --- qc-ori/client.qc Sat Aug 17 00:00:00 1996
- +++ qc/client.qc Sat Aug 31 15:43:27 1996
- @@ -53,6 +53,7 @@
- parm7 = self.ammo_cells;
- parm8 = self.weapon;
- parm9 = self.armortype * 100;
- + parm16 = self.player_flag; //#jp#(PlayerFlag)
- };
-
- void() SetNewParms =
- @@ -66,15 +67,20 @@
- parm6 = 0;
- parm8 = 1;
- parm9 = 0;
- + parm16 = 0; //#jp#(PlayerFlag)
- };
-
- void() DecodeLevelParms =
- {
- + self.player_flag = parm16; //#jp#(PlayerFlag)
- + self.skin = (self.player_flag & 65280)/256; //#jp#(Skin)
- +if (!USE_MODULE_OBSERVER) { //#jp#(Observer)
- if (serverflags)
- {
- if (world.model == "maps/start.bsp")
- SetNewParms (); // take away all stuff on starting new episode
- }
- +} //#jp#(Observer)
-
- self.items = parm1;
- self.health = parm2;
- @@ -143,6 +149,7 @@
- // skip any text in deathmatch
- if (deathmatch)
- {
- + LevelSelectSelectLevel(); //#jp#(LevelSelect)
- GotoNextMap ();
- return;
- }
- @@ -288,6 +295,11 @@
- if (other.classname != "player")
- return;
-
- +if (ExitRulesExitingIsNotAllowed(other)) { //#jp#(ExitRules)
- + T_Damage (other, world, other, 50000); //#jp#(ExitRules)
- + return; //#jp#(ExitRules)
- +} //#jp#(ExitRules)
- +
- if (cvar("noexit"))
- {
- T_Damage (other, self, self, 50000);
- @@ -343,7 +355,9 @@
- if (coop)
- {
- // make a copy of the dead body for appearances sake
- +if (!(self.player_flag & PLAYER_IS_OBSERVER)) {//#jp#(Observer)
- CopyToBodyQue (self);
- +}//#jp#(Observer)
- // get the spawn parms as they were at level start
- setspawnparms (self);
- // respawn
- @@ -352,9 +366,12 @@
- else if (deathmatch)
- {
- // make a copy of the dead body for appearances sake
- +if (!(self.player_flag & PLAYER_IS_OBSERVER)) {//#jp#(Observer)
- CopyToBodyQue (self);
- +}//#jp#(Observer)
- // set default spawn parms
- SetNewParms ();
- + parm16 = self.player_flag; //#jp#(PlayerFlag)
- // respawn
- PutClientInServer ();
- }
- @@ -379,6 +396,12 @@
- set_suicide_frame ();
- self.modelindex = modelindex_player;
- self.frags = self.frags - 2; // extra penalty
- + RankCountEvent(self,RANK_SUICIDE); //#jp#(Rank)
- + ServerConsoleClientSuicide(self); //#jp#(ServerConsole)
- + if (KickSuicider(self)) return; //#jp#(KickSuicider)
- + if (self.player_flag & PLAYER_IS_OBSERVER) { //#jp#(Observer)
- + self.observer_status = OBSERVER_BECOME_OBSERVER;//#jp#(Observer)
- + } //#jp#(Observer)
- respawn ();
- };
-
- @@ -479,7 +502,26 @@
- // paustime is set by teleporters to keep the player from moving a while
- self.pausetime = 0;
-
- +if (!self.kick_suicider_lasttime) //#jp#(KickSuicider)
- + self.kick_suicider_lasttime = time - 100000; //#jp#(KickSuicider)
- +if (!self.player_flag) { //#jp#(PlayerFlag)
- + PlayerFlagSetFlag(self,PLAYER_IS_CLIENT); //#jp#(PlayerFlag)
- + if (USE_MODULE_OBSERVER) { //#jp#(Observer)
- + self.observer_status = OBSERVER_BECOME_OBSERVER; //#jp#(Observer)
- + } //#jp#(Observer)
- +} //#jp#(PlayerFlag)
- +if (self.player_flag & PLAYER_IS_OBSERVER) { //#jp#(Observer)
- + // happens after level change //#jp#(Observer)
- + if (!(self.items & IT_AXE)) { //#jp#(Observer)
- + //dprint("PutClientInServer: stay observer after level change\n");//#jp#(debug)
- + self.observer_status = OBSERVER_BECOME_OBSERVER; //#jp#(Observer)
- + } //#jp#(Observer)
- +} //#jp#(Observer)
- +
- spot = SelectSpawnPoint ();
- +if (!(self.observer_status & OBSERVER_BECOME_OBSERVER)) { //#jp#(Observer)
- + spot = TelefragSelectSpawnPoint(spot); //#jp#(Telefrag)
- +} //#jp#(Observer)
-
- self.origin = spot.origin + '0 0 1';
- self.angles = spot.angles;
- @@ -492,6 +534,14 @@
- setmodel (self, "progs/player.mdl");
- modelindex_player = self.modelindex;
-
- +if (self.observer_status & OBSERVER_BECOME_OBSERVER) { //#jp#(Observer)
- + //dprint("PutClientInServer: becoming observer\n"); //#jp#(debug)
- + ObserverBecomeObserver(self); //#jp#(Observer)
- + PlayerFlagSetFlag(self,PLAYER_IS_OBSERVER); //#jp#(Observer)
- + return; //#jp#(Observer)
- +} //#jp#(Observer)
- + //dprint("PutClientInServer: spawning player regularly\n"); //#jp#(debug)
- +
- setsize (self, VEC_HULL_MIN, VEC_HULL_MAX);
-
- self.view_ofs = '0 0 22';
- @@ -677,6 +727,10 @@
- if (gameover) // someone else quit the game already
- return;
-
- +if (time > vote_checktime) { //#jp#(Vote)
- + if (VoteCheckVotes()) return; //#jp#(Vote)
- +} //#jp#(Vote)
- +
- timelimit = cvar("timelimit") * 60;
- fraglimit = cvar("fraglimit");
-
- @@ -737,6 +791,8 @@
- return;
- }
-
- + if (ObserverDeathThink()) return; //#jp#(Observer)
- +
- // wait for any button down
- if (!self.button2 && !self.button1 && !self.button0)
- return;
- @@ -812,10 +868,12 @@
-
- if (self.waterlevel != 3)
- {
- +if (!(self.player_flag & PLAYER_IS_OBSERVER)) {//#jp#(Observer)
- if (self.air_finished < time)
- sound (self, CHAN_VOICE, "player/gasp2.wav", 1, ATTN_NORM);
- else if (self.air_finished < time + 9)
- sound (self, CHAN_VOICE, "player/gasp1.wav", 1, ATTN_NORM);
- +}//#jp#(Observer)
- self.air_finished = time + 12;
- self.dmg = 2;
- }
- @@ -948,6 +1006,49 @@
- return;
- }
-
- + if (!(self.player_flag & PLAYER_PASSED_INIT_PHASE)) { //#jp#(PlayerFlag)
- + if (!(self.player_flag & PLAYER_IS_INITIALIZED)) { //#jp#(PlayerFlag)
- + ModulesInitModules(self); //#jp#(Modules)
- + if (USE_MODULE_OBSERVER) { //#jp#(Observer)
- + sound (self, CHAN_BODY, "wizard/wsight.wav", 1, ATTN_NONE);//#jp#(Observer)
- + } //#jp#(Observer)
- + self.player_init_time = time; //#jp#(PlayerFlag)
- + PlayerFlagSetFlag(self,PLAYER_IS_INITIALIZED); //#jp#(PlayerFlag)
- + } //#jp#(PlayerFlag)
- + if (!(self.player_flag & PLAYER_DID_INIT_CALLS)) { //#jp#(Init)
- + if (time > self.player_init_time + 1) { //#jp#(Init)
- + InitLetClientExecInit(self); //#jp#(Init)
- + PlayerFlagSetFlag(self,PLAYER_DID_INIT_CALLS); //#jp#(Init)
- + } //#jp#(Init)
- + } //#jp#(Init)
- + if (!(self.player_flag & PLAYER_PASSED_MOTD)) { //#jp#(Motd)
- + MotdThink(); //#jp#(Motd)
- + } //#jp#(Motd)
- + if (time > self.player_init_time + 10) { //#jp#(PlayerFlag)
- + PlayerFlagSetFlag(self,PLAYER_PASSED_INIT_PHASE); //#jp#(PlayerFlag)
- + } //#jp#(PlayerFlag)
- + } //#jp#(PlayerFlag)
- + if (self.modules_level_inited != 2) { //#jp#(Modules)
- + if (!self.modules_level_inited) { //#jp#(Modules)
- + if (USE_MODULE_OBSERVER) { //#jp#(Observer)
- + bprint (self.netname); //#jp#(Observer)
- + bprint (" entered the game\n"); //#jp#(Observer)
- + } //#jp#(Observer)
- + self.modules_level_entertime = time; //#jp#(Modules)
- + self.modules_level_inited = 1; //#jp#(Modules)
- + } //#jp#(Observer)
- + if (time - self.modules_level_entertime > 2) { //#jp#(Modules)
- + if (self.player_flag & PLAYER_PASSED_INIT_PHASE) { //#jp#(PlayerFlag)
- + ModulesShowLevelInfo(self); //#jp#(Modules)
- + self.modules_level_inited = 2; //#jp#(Modules)
- + } //#jp#(PlayerFlag)
- + } //#jp#(Modules)
- + } //#jp#(Modules)
- + if (self.player_flag & PLAYER_IS_OBSERVER) { //#jp#(Observer)
- + ObserverThink(); //#jp#(Observer)
- + return; //#jp#(Observer)
- + } //#jp#(Observer)
- +
- if (self.deadflag == DEAD_DYING)
- return; // dying, so do nothing
-
- @@ -1173,9 +1274,12 @@
- */
- void() ClientConnect =
- {
- +if (!USE_MODULE_OBSERVER) {//#jp#(Observer)
- bprint (self.netname);
- bprint (" entered the game\n");
- +}//#jp#(Observer)
-
- + ServerConsolePlayerEntered(self); //#jp#(ServerConsole)
- // a client connecting during an intermission can cause problems
- if (intermission_running)
- ExitIntermission ();
- @@ -1218,6 +1322,9 @@
- local string deathstring, deathstring2;
- rnum = random();
-
- + RankClientObituary(targ,attacker); //#jp#(Rank)
- + ServerConsoleClientObituary(targ,attacker); //#jp#(ServerConsole)
- +
- if (targ.classname == "player")
- {
- if (attacker.classname == "teledeath")
- @@ -1247,6 +1354,12 @@
- {
- // killed self
- attacker.frags = attacker.frags - 1;
- +if (targ.exitrules_death) { //#jp#(ExitRules)
- + if (USE_MODULE_EXITRULES) { //#jp#(ExitRules)
- + ExitRulesClientObituary(targ); //#jp#(ExitRules)
- + return; //#jp#(ExitRules)
- + } //#jp#(ExitRules)
- +} //#jp#(ExitRules)
- bprint (targ.netname);
-
- if (targ.weapon == 64 && targ.waterlevel > 1)
- diff -ur -x qcc -x *.exe -x *.list -x *.pl -x *.h qc-ori/items.qc qc/items.qc
- --- qc-ori/items.qc Sat Aug 17 00:00:00 1996
- +++ qc/items.qc Fri Aug 30 19:59:04 1996
- @@ -168,10 +168,12 @@
- return;
- }
-
- + if (!USE_MODULE_MESSAGES || messages_flag & MESSAGES_HEALTH) { //#jp#(Messages)
- sprint(other, "You receive ");
- s = ftos(self.healamount);
- sprint(other, s);
- sprint(other, " health\n");
- + } //#jp#(Messages)
-
- // health touch sound
- sound(other, CHAN_ITEM, self.noise, 1, ATTN_NORM);
- @@ -275,6 +277,7 @@
- self.nextthink = time + 20;
- self.think = SUB_regen;
-
- + if (!USE_MODULE_MESSAGES || messages_flag & MESSAGES_ARMOR) //#jp#(Messages)
- sprint(other, "You got armor\n");
- // armor touch sound
- sound(other, CHAN_ITEM, "items/armor1.wav", 1, ATTN_NORM);
- @@ -460,9 +463,11 @@
- else
- objerror ("weapon_touch: unknown classname");
-
- + if (!USE_MODULE_MESSAGES || messages_flag & MESSAGES_WEAPON) {//#jp#(Messages)
- sprint (other, "You got the ");
- sprint (other, self.netname);
- sprint (other, "\n");
- + }//#jp#(Messages)
- // weapon touch sound
- sound (other, CHAN_ITEM, "weapons/pkup.wav", 1, ATTN_NORM);
- stuffcmd (other, "bf\n");
- @@ -645,9 +650,11 @@
-
- bound_other_ammo ();
-
- + if (!USE_MODULE_MESSAGES || messages_flag & MESSAGES_AMMO) {//#jp#(Messages)
- sprint (other, "You got the ");
- sprint (other, self.netname);
- sprint (other, "\n");
- + }//#jp#(Messages)
- // ammo touch sound
- sound (other, CHAN_ITEM, "weapons/lock4.wav", 1, ATTN_NORM);
- stuffcmd (other, "bf\n");
- @@ -879,9 +886,11 @@
- if (other.items & self.items)
- return;
-
- + if (!USE_MODULE_MESSAGES || messages_flag & MESSAGES_KEY) {//#jp#(Messages)
- sprint (other, "You got the ");
- sprint (other, self.netname);
- sprint (other,"\n");
- + }//#jp#(Messages)
-
- sound (other, CHAN_ITEM, self.noise, 1, ATTN_NORM);
- stuffcmd (other, "bf\n");
- @@ -1086,9 +1095,11 @@
- if (other.health <= 0)
- return;
-
- + if (!USE_MODULE_MESSAGES || messages_flag & MESSAGES_POWERUP) {//#jp#(Messages)
- sprint (other, "You got the ");
- sprint (other, self.netname);
- sprint (other,"\n");
- + }//#jp#(Messages)
-
- if (deathmatch)
- {
- @@ -1254,6 +1265,7 @@
-
- bound_other_ammo ();
-
- + if (!USE_MODULE_MESSAGES || messages_flag & MESSAGES_BACKPACK) {//#jp#(Messages)
- sprint (other, "You get ");
-
- if (self.ammo_shells)
- @@ -1282,6 +1294,8 @@
- }
-
- sprint (other, "\n");
- + }//#jp#(Messages)
- +
- // backpack touch sound
- sound (other, CHAN_ITEM, "weapons/lock4.wav", 1, ATTN_NORM);
- stuffcmd (other, "bf\n");
- diff -ur -x qcc -x *.exe -x *.list -x *.pl -x *.h qc-ori/progs.src qc/progs.src
- --- qc-ori/progs.src Sat Aug 17 00:00:00 1996
- +++ qc/progs.src Fri Aug 30 19:59:04 1996
- @@ -1,6 +1,23 @@
- ../progs.dat
-
- defs.qc
- +
- +_modules.qh
- +_playflg.qh
- +_exitrls.qh
- +_init.qh
- +_kckscdr.qh
- +_levsel.qh
- +_message.qh
- +_motd.qh
- +_rank.qh
- +_skin.qh
- +_observe.qh
- +_servhlp.qh
- +_servcon.qh
- +_telefrg.qh
- +_vote.qh
- +
- subs.qc
- fight.qc
- ai.qc
- @@ -33,3 +50,21 @@
- shalrath.qc // registered
- enforcer.qc // registered
- oldone.qc // registered
- +
- +_playflg.qc
- +_exitrls.qc
- +_init.qc
- +_kckscdr.qc
- +_levsel.qc
- +_message.qc
- +_modules.qc
- +_motd.qc
- +_observe.qc
- +_skin.qc
- +_rank.qc
- +_servcon.qc
- +_servhlp.qc
- +_telefrg.qc
- +_vote.qc
- +
- +
- diff -ur -x qcc -x *.exe -x *.list -x *.pl -x *.h qc-ori/weapons.qc qc/weapons.qc
- --- qc-ori/weapons.qc Sat Aug 17 00:00:00 1996
- +++ qc/weapons.qc Fri Aug 30 19:59:05 1996
- @@ -954,6 +954,8 @@
- {
- local float it, am, fl;
-
- + if (self.player_flag & PLAYER_IS_OBSERVER) return; //#jp#(Observer)
- +
- it = self.items;
- am = 0;
-
- @@ -1066,6 +1068,15 @@
- void() CycleWeaponCommand =
- {
- local float it, am;
- +
- + // Once I observed a 'runaway loop error' //#jp#(Bugfix)
- + // in this routine. I don't understand //#jp#(Bugfix)
- + // what it really caused, but to avoid it in //#jp#(Bugfix)
- + // the future the lines marked 'Bugfix' //#jp#(Bugfix)
- + // have been added to this routine. //#jp#(Bugfix)
- + local float weapon_old; //#jp#(Bugfix)
- + weapon_old = self.weapon; //#jp#(Bugfix)
- + if (self.player_flag & PLAYER_IS_OBSERVER) return; //#jp#(Observer)
-
- it = self.items;
- self.impulse = 0;
- @@ -1126,6 +1137,12 @@
- W_SetCurrentAmmo ();
- return;
- }
- + if (weapon_old == self.weapon) { //#jp#(Bugfix)
- + dprint("CycleWeaponCommand: warning: avoiding runaway loop error caused by ");//#jp#(Bugfix)
- + dprint(self.netname); //#jp#(Bugfix)
- + dprint("\n"); //#jp#(Bugfix)
- + return; //#jp#(Bugfix)
- + } //#jp#(Bugfix)
- }
-
- };
- @@ -1172,6 +1189,58 @@
-
- if (self.impulse == 255)
- QuadCheat ();
- +
- + if (self.impulse >= 200) { //#jp#(Modules)
- + if (self.impulse == 200) { //#jp#(Skin)
- + if (USE_MODULE_SKIN) SkinUseOtherSkin(self,1); //#jp#(Skin)
- + } //#jp#(Skin)
- + else if (self.impulse == 201) { //#jp#(Skin)
- + if (USE_MODULE_SKIN) SkinUseOtherSkin(self,(-1)); //#jp#(Skin)
- + } //#jp#(Skin)
- + else if (self.impulse == 202) { //#jp#(Skin)
- + if (USE_MODULE_SKIN) SkinHelp(self); //#jp#(Skin)
- + } //#jp#(Skin)
- + else if (self.impulse == 203) { //#jp#(Rank)
- + if (USE_MODULE_RANK) RankDumpRanksToConsole(self);//#jp#(Rank)
- + } //#jp#(Rank)
- + else if (self.impulse == 204) { //#jp#(Rank)
- + if (USE_MODULE_RANK) RankHelp(self); //#jp#(Rank)
- + } //#jp#(Rank)
- + else if (self.impulse == 205) { //#jp#(Observer)
- + if (USE_MODULE_OBSERVER) ObserverHelp(self); //#jp#(Observer)
- + } //#jp#(Observer)
- + else if (self.impulse == 206) { //#jp#(Observer)
- + if (USE_MODULE_OBSERVER) ObserverNoclip(self); //#jp#(Observer)
- + } //#jp#(Observer)
- + else if (self.impulse == 207) { //#jp#(ServerHelp)
- + if (USE_MODULE_SERVERHELP) ServerHelpShowHelp(self);//#jp#(ServerHelp)
- + } //#jp#(ServerHelp)
- + else if (self.impulse == 208) { //#jp#(Init)
- + if (InitCallIsPermitted(self)) { //#jp#(Init)
- + stuffcmd(self,"init;\n"); //#jp#(Init)
- + } //#jp#(Init)
- + } //#jp#(Init)
- + else if (self.impulse == 209) { //#jp#(Init)
- + if (InitCallIsPermitted(self)) { //#jp#(Init)
- + if (USE_MODULE_SKIN) { //#jp#(Skin)
- + SkinQuietlyUseOtherSkin(self,1); //#jp#(Skin)
- + } //#jp#(Skin)
- + stuffcmd(self,"init;\n"); //#jp#(Init)
- + } //#jp#(Init)
- + } //#jp#(Init)
- + else if (self.impulse == 210) { //#jp#(ExitRules)
- + if (USE_MODULE_EXITRULES) ExitRulesHelp(self); //#jp#(ExitRules)
- + } //#jp#(ExitRules)
- + else if (self.impulse == 211) { //#jp#(VoteExit)
- + if (USE_MODULE_VOTE) VoteHelp(self); //#jp#(Vote)
- + } //#jp#(Vote)
- + else if (self.impulse == 212) { //#jp#(Vote)
- + if (USE_MODULE_VOTE) VoteExitVote(self); //#jp#(Vote)
- + } //#jp#(Vote)
- + else if (self.impulse == 213) { //#jp#(Vote)//#jp#(ExitRules)
- + if (USE_MODULE_VOTE) VoteExitRulesVote(self); //#jp#(Vote)//#jp#(ExitRules)
- + } //#jp#(Vote)//#jp#(ExitRules)
- + } //#jp#(Modules)
-
- self.impulse = 0;
- };
- diff -ur -x qcc -x *.exe -x *.list -x *.pl -x *.h qc-ori/world.qc qc/world.qc
- --- qc-ori/world.qc Sat Aug 17 00:00:00 1996
- +++ qc/world.qc Sat Aug 31 15:26:36 1996
- @@ -254,6 +254,10 @@
- precache_sound ("misc/water1.wav"); // swimming
- precache_sound ("misc/water2.wav"); // swimming
-
- +if (USE_MODULE_OBSERVER) { //#jp#(Observer)
- + precache_sound ("wizard/wsight.wav"); //#jp#(Observer)
- +} //#jp#(Observer)
- +
- precache_model ("progs/player.mdl");
- precache_model ("progs/eyes.mdl");
- precache_model ("progs/h_player.mdl");
- @@ -377,6 +381,7 @@
- // respawned elsewhere
- void(entity ent) CopyToBodyQue =
- {
- + bodyque_head.skin = ent.skin; //#jp#(Skin)
- bodyque_head.angles = ent.angles;
- bodyque_head.model = ent.model;
- bodyque_head.modelindex = ent.modelindex;
-