diff --git a/reaction/game/bg_misc.c b/reaction/game/bg_misc.c index 98303933..39e8f070 100644 --- a/reaction/game/bg_misc.c +++ b/reaction/game/bg_misc.c @@ -5,6 +5,9 @@ //----------------------------------------------------------------------------- // // $Log$ +// Revision 1.39 2002/05/29 13:49:25 makro +// Elevators/doors +// // Revision 1.38 2002/05/12 22:14:13 makro // Impact sounds // @@ -1510,22 +1513,25 @@ void BG_TouchJumpPad( playerState_t *ps, entityState_t *jumppad ) { return; } - // if we didn't hit this same jumppad the previous frame - // then don't play the event sound again if we are in a fat trigger - if ( ps->jumppad_ent != jumppad->number ) { - - /* - vectoangles( jumppad->origin2, angles); - p = fabs( AngleNormalize180( angles[PITCH] ) ); - if( p < 45 ) { - effectNum = 0; - } else { - effectNum = 1; + //Makro - disable all this for bot only triggers + if (!jumppad->powerups) { + // if we didn't hit this same jumppad the previous frame + // then don't play the event sound again if we are in a fat trigger + if ( ps->jumppad_ent != jumppad->number ) { + + /* + vectoangles( jumppad->origin2, angles); + p = fabs( AngleNormalize180( angles[PITCH] ) ); + if( p < 45 ) { + effectNum = 0; + } else { + effectNum = 1; + } + */ + // NiceAss: For cutsom sounds... + effectNum = jumppad->generic1; + BG_AddPredictableEventToPlayerstate( EV_JUMP_PAD, effectNum, ps ); } - */ - // NiceAss: For cutsom sounds... - effectNum = jumppad->generic1; - BG_AddPredictableEventToPlayerstate( EV_JUMP_PAD, effectNum, ps ); } // remember hitting this jumppad this frame ps->jumppad_ent = jumppad->number; diff --git a/reaction/game/g_misc.c b/reaction/game/g_misc.c index b25a560e..63d5e724 100644 --- a/reaction/game/g_misc.c +++ b/reaction/game/g_misc.c @@ -5,6 +5,9 @@ //----------------------------------------------------------------------------- // // $Log$ +// Revision 1.49 2002/05/29 13:49:25 makro +// Elevators/doors +// // Revision 1.48 2002/05/27 06:51:20 niceass // pressure support for targets // @@ -884,6 +887,8 @@ void G_BreakGlass( gentity_t *ent, gentity_t *inflictor, gentity_t *attacker, ve void SP_func_pressure( gentity_t *ent ) { char *type; + char *s; + // Make it appear as the brush trap_SetBrushModel( ent, ent->model ); trap_LinkEntity (ent); @@ -906,6 +911,11 @@ void SP_func_pressure( gentity_t *ent ) { // ent->s.frame holds type // ent->s.powerups holds speed + + //Makro - added for elevators + if (G_SpawnString( "pathtarget","", &s)) { + Q_strncpyz(ent->pathtarget, s, sizeof(ent->pathtarget)); + } } void G_CreatePressure(vec3_t origin, vec3_t normal, gentity_t *ent) { diff --git a/reaction/game/g_mover.c b/reaction/game/g_mover.c index 26021ceb..6ef7d4e8 100644 --- a/reaction/game/g_mover.c +++ b/reaction/game/g_mover.c @@ -5,6 +5,9 @@ //----------------------------------------------------------------------------- // // $Log$ +// Revision 1.41 2002/05/29 13:49:25 makro +// Elevators/doors +// // Revision 1.40 2002/05/27 06:51:54 niceass // FIXED SPELLING MISTACK // @@ -1505,19 +1508,21 @@ void SP_func_door (gentity_t *ent) { if ( ! (ent->flags & FL_TEAMSLAVE ) ) { int health; + int makeTrigger = 1; G_SpawnInt( "health", "0", &health ); if ( health ) { ent->takedamage = qtrue; } -//Makro - spectators should be able to go through doors with health/targetname -//plus, MatchTeam is called in the end, anyway -// if ( ent->targetname || health ) { -// // non touch/shoot doors -// ent->think = Think_MatchTeam; -// } else { + if ( ent->targetname || health ) { + //Makro - some doors don't need spectator triggers + G_SpawnInt( "nospectators", "0", &makeTrigger ); + } + if (makeTrigger) { ent->think = Think_SpawnNewDoorTrigger; -// } + } else { + ent->think = Think_MatchTeam; + } } //Elder: open areaportals for start_open doors @@ -1653,19 +1658,21 @@ void SP_func_door_rotating ( gentity_t *ent ) { if ( ! (ent->flags & FL_TEAMSLAVE ) ) { int health; + int makeTrigger = 1; G_SpawnInt( "health", "0", &health ); if ( health ) { ent->takedamage = qtrue; } -//Makro - spectators should be able to go through doors with health/targetname -//plus, MatchTeam is called in the end, anyway -// if ( ent->targetname || health ) { -// // non touch/shoot doors -// ent->think = Think_MatchTeam; -// } else { + if ( ent->targetname || health ) { + //Makro - some doors don't need spectator triggers + G_SpawnInt( "nospectators", "0", &makeTrigger ); + } + if (makeTrigger) { ent->think = Think_SpawnNewDoorTrigger; -// } + } else { + ent->think = Think_MatchTeam; + } } } diff --git a/reaction/game/g_trigger.c b/reaction/game/g_trigger.c index 88a39b58..15946913 100644 --- a/reaction/game/g_trigger.c +++ b/reaction/game/g_trigger.c @@ -5,6 +5,9 @@ //----------------------------------------------------------------------------- // // $Log$ +// Revision 1.18 2002/05/29 13:49:26 makro +// Elevators/doors +// // Revision 1.17 2002/05/23 18:37:50 makro // Bots should crouch more often when they attack with a SSG // Made this depend on skill. Also, elevator stuff @@ -255,7 +258,11 @@ void SP_trigger_push( gentity_t *self ) { //Makro - for bot-only triggers if ( !(self->spawnflags & 1) ) { self->r.svFlags &= ~SVF_NOCLIENT; + self->s.powerups = 0; + } else { + self->s.powerups = 1; } + self->s.powerups = (self->spawnflags & 1); self->s.eType = ET_PUSH_TRIGGER; self->touch = trigger_push_touch; self->think = AimAtTarget; diff --git a/reaction/game/game.plg b/reaction/game/game.plg index ed09bb21..bf1a57d0 100644 --- a/reaction/game/game.plg +++ b/reaction/game/game.plg @@ -3,154 +3,69 @@
Build Log
---------------------Configuration: cgame - Win32 Release-------------------- -
-Command Lines
-Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP1A7.tmp" with contents -[ -/nologo /G6 /ML /W4 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /Fp"Release/cgame.pch" /YX /Fo"Release/" /Fd"Release/" /FD /c -"C:\Games\Quake3\rq3source\reaction\game\bg_misc.c" -"C:\Games\Quake3\rq3source\reaction\game\bg_pmove.c" -"C:\Games\Quake3\rq3source\reaction\game\bg_slidemove.c" -"C:\Games\Quake3\rq3source\reaction\cgame\cg_consolecmds.c" -"C:\Games\Quake3\rq3source\reaction\cgame\cg_draw.c" -"C:\Games\Quake3\rq3source\reaction\cgame\cg_drawtools.c" -"C:\Games\Quake3\rq3source\reaction\cgame\cg_effects.c" -"C:\Games\Quake3\rq3source\reaction\cgame\cg_ents.c" -"C:\Games\Quake3\rq3source\reaction\cgame\cg_event.c" -"C:\Games\Quake3\rq3source\reaction\cgame\cg_info.c" -"C:\Games\Quake3\rq3source\reaction\cgame\cg_localents.c" -"C:\Games\Quake3\rq3source\reaction\cgame\cg_main.c" -"C:\Games\Quake3\rq3source\reaction\cgame\cg_marks.c" -"C:\Games\Quake3\rq3source\reaction\cgame\cg_players.c" -"C:\Games\Quake3\rq3source\reaction\cgame\cg_playerstate.c" -"C:\Games\Quake3\rq3source\reaction\cgame\cg_predict.c" -"C:\Games\Quake3\rq3source\reaction\cgame\cg_scoreboard.c" -"C:\Games\Quake3\rq3source\reaction\cgame\cg_servercmds.c" -"C:\Games\Quake3\rq3source\reaction\cgame\cg_snapshot.c" -"C:\Games\Quake3\rq3source\reaction\cgame\cg_syscalls.c" -"C:\Games\Quake3\rq3source\reaction\cgame\cg_view.c" -"C:\Games\Quake3\rq3source\reaction\cgame\cg_weapons.c" -] -Creating command line "cl.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP1A7.tmp" -Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP1A8.tmp" with contents -[ -/nologo /base:"0x30000000" /subsystem:windows /dll /incremental:no /pdb:"Release/cgamex86.pdb" /map:"Release/cgamex86.map" /machine:I386 /def:".\cgame.def" /out:"../Release/cgamex86.dll" /implib:"Release/cgamex86.lib" -.\Release\bg_misc.obj -.\Release\bg_pmove.obj -.\Release\bg_slidemove.obj -.\Release\cg_consolecmds.obj -.\Release\cg_draw.obj -.\Release\cg_drawtools.obj -.\Release\cg_effects.obj -.\Release\cg_ents.obj -.\Release\cg_event.obj -.\Release\cg_info.obj -.\Release\cg_localents.obj -.\Release\cg_main.obj -.\Release\cg_marks.obj -.\Release\cg_players.obj -.\Release\cg_playerstate.obj -.\Release\cg_predict.obj -.\Release\cg_scoreboard.obj -.\Release\cg_servercmds.obj -.\Release\cg_snapshot.obj -.\Release\cg_syscalls.obj -.\Release\cg_view.obj -.\Release\cg_weapons.obj -.\Release\q_math.obj -.\Release\q_shared.obj -.\Release\ui_shared.obj -] -Creating command line "link.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP1A8.tmp" -Output Window
-Compiling... -bg_misc.c -bg_pmove.c -bg_slidemove.c -cg_consolecmds.c -cg_draw.c -cg_drawtools.c -cg_effects.c -cg_ents.c -cg_event.c -cg_info.c -cg_localents.c -cg_main.c -cg_marks.c -cg_players.c -cg_playerstate.c -cg_predict.c -cg_scoreboard.c -C:\Games\Quake3\rq3source\reaction\cgame\cg_scoreboard.c(220) : warning C4101: 'RedSubs' : unreferenced local variable -C:\Games\Quake3\rq3source\reaction\cgame\cg_scoreboard.c(217) : warning C4101: 'subs' : unreferenced local variable -C:\Games\Quake3\rq3source\reaction\cgame\cg_scoreboard.c(220) : warning C4101: 'BlueSubs' : unreferenced local variable -cg_servercmds.c -cg_snapshot.c -cg_syscalls.c -cg_view.c -cg_weapons.c -Linking... - Creating library Release/cgamex86.lib and object Release/cgamex86.exp - - - -Results
-cgamex86.dll - 0 error(s), 3 warning(s) ---------------------Configuration: game - Win32 Release--------------------
Command Lines
+Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP81.tmp" with contents +[ +/nologo /G6 /ML /W4 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FR"c:\reactionoutput/" /Fp"c:\reactionoutput/game.pch" /YX /Fo"c:\reactionoutput/" /Fd"c:\reactionoutput/" /FD /c +"C:\Games\Quake3\rq3source\reaction\game\g_misc.c" +] +Creating command line "cl.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP81.tmp" +Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP82.tmp" with contents +[ +kernel32.lib user32.lib winmm.lib /nologo /base:"0x20000000" /subsystem:windows /dll /incremental:no /pdb:"c:\reactionoutput/qagamex86.pdb" /map:"c:\reactionoutput/qagamex86.map" /machine:I386 /def:".\game.def" /out:"..\Release/qagamex86.dll" /implib:"c:\reactionoutput/qagamex86.lib" +\reactionoutput\ai_chat.obj +\reactionoutput\ai_cmd.obj +\reactionoutput\ai_dmnet.obj +\reactionoutput\ai_dmq3.obj +\reactionoutput\ai_main.obj +\reactionoutput\ai_team.obj +\reactionoutput\ai_vcmd.obj +\reactionoutput\bg_misc.obj +\reactionoutput\bg_pmove.obj +\reactionoutput\bg_slidemove.obj +\reactionoutput\g_active.obj +\reactionoutput\g_arenas.obj +\reactionoutput\g_bot.obj +\reactionoutput\g_client.obj +\reactionoutput\g_cmds.obj +\reactionoutput\g_combat.obj +\reactionoutput\g_fileio.obj +\reactionoutput\g_items.obj +\reactionoutput\g_main.obj +\reactionoutput\g_matchmode.obj +\reactionoutput\g_mem.obj +\reactionoutput\g_misc.obj +\reactionoutput\g_missile.obj +\reactionoutput\g_mover.obj +\reactionoutput\g_session.obj +\reactionoutput\g_spawn.obj +\reactionoutput\g_svcmds.obj +\reactionoutput\g_syscalls.obj +\reactionoutput\g_target.obj +\reactionoutput\g_team.obj +\reactionoutput\g_teamplay.obj +\reactionoutput\g_trigger.obj +\reactionoutput\g_utils.obj +\reactionoutput\g_weapon.obj +\reactionoutput\q_math.obj +\reactionoutput\q_shared.obj +\reactionoutput\rxn_game.obj +\reactionoutput\zcam.obj +\reactionoutput\zcam_target.obj +] +Creating command line "link.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP82.tmp" +Output Window
+Compiling... +g_misc.c +Linking... + Creating library c:\reactionoutput/qagamex86.lib and object c:\reactionoutput/qagamex86.expResults
qagamex86.dll - 0 error(s), 0 warning(s) ----------------------Configuration: ui - Win32 Release TA-------------------- -
-Command Lines
-Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP1AC.tmp" with contents -[ -/nologo /G6 /ML /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "UI_EXPORTS" /Fp"Release_TA/ta_ui.pch" /YX /Fo"Release_TA/" /Fd"Release_TA/" /FD /c -"C:\Games\Quake3\rq3source\reaction\game\bg_misc.c" -"C:\Games\Quake3\rq3source\reaction\ta_ui\ui_atoms.c" -"C:\Games\Quake3\rq3source\reaction\ta_ui\ui_gameinfo.c" -"C:\Games\Quake3\rq3source\reaction\ta_ui\ui_main.c" -"C:\Games\Quake3\rq3source\reaction\ta_ui\ui_players.c" -"C:\Games\Quake3\rq3source\reaction\ta_ui\ui_syscalls.c" -] -Creating command line "cl.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP1AC.tmp" -Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP1AD.tmp" with contents -[ -/nologo /base:"0x40000000" /dll /incremental:no /pdb:"Release_TA/uix86.pdb" /map:"Release_TA/uix86.map" /machine:I386 /def:".\ui.def" /out:"../Release/uix86.dll" /implib:"Release_TA/uix86.lib" -.\Release_TA\bg_misc.obj -.\Release_TA\q_math.obj -.\Release_TA\q_shared.obj -.\Release_TA\ui_atoms.obj -.\Release_TA\ui_gameinfo.obj -.\Release_TA\ui_main.obj -.\Release_TA\ui_players.obj -.\Release_TA\ui_shared.obj -.\Release_TA\ui_syscalls.obj -.\Release_TA\ui_util.obj -] -Creating command line "link.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP1AD.tmp" -Output Window
-Compiling... -bg_misc.c -ui_atoms.c -ui_gameinfo.c -ui_main.c -ui_players.c -ui_syscalls.c -Linking... - Creating library Release_TA/uix86.lib and object Release_TA/uix86.exp - - - -Results
-uix86.dll - 0 error(s), 0 warning(s)