cg_rq3_autoaction support

This commit is contained in:
Scott Brooks 2002-05-18 21:58:53 +00:00
parent 4a896430c3
commit 1afec22049
3 changed files with 141 additions and 185 deletions

View file

@ -5,6 +5,9 @@
//-----------------------------------------------------------------------------
//
// $Log$
// Revision 1.76 2002/05/18 21:58:53 blaze
// cg_rq3_autoaction support
//
// Revision 1.75 2002/05/18 03:55:35 niceass
// many misc. changes
//
@ -1652,6 +1655,9 @@ extern vmCvar_t cg_obeliskRespawnDelay;
extern vmCvar_t cg_enableBreath;
// JBravo: ditto
extern vmCvar_t cg_enableDust;
//Blaze: to handle the auto actions
extern vmCvar_t cg_RQ3_autoAction;
//Blaze: Cheat cvars
extern cheat_cvar cheats[30];
// JBravo: Teamplay cvars synched from game

View file

@ -5,6 +5,9 @@
//-----------------------------------------------------------------------------
//
// $Log$
// Revision 1.37 2002/05/18 21:58:53 blaze
// cg_rq3_autoaction support
//
// Revision 1.36 2002/05/11 19:55:20 slicer
// Added sub and captain to the scoreboard parser
//
@ -96,7 +99,7 @@
//Blaze: holds the id to name mapping of the breakables
extern char rq3_breakables[RQ3_MAX_BREAKABLES][80];
extern int trap_RealTime(qtime_t *qtime);
typedef struct {
const char *order;
int taskNum;
@ -1188,6 +1191,28 @@ void CG_Radio(void) {
}
return;
}
/*
==============
RemoveColorEscapeSequences
==============
*/
void RemoveColorEscapeSequences( char *text ) {
int i, l;
l = 0;
for ( i = 0; text[i]; i++ ) {
if (Q_IsColorString(&text[i])) {
i++;
continue;
}
if (text[i] > 0x7E)
continue;
text[l++] = text[i];
}
text[l] = '\0';
}
/*
=================
CG_RQ3_Cmd by sLiCeR
@ -1195,8 +1220,12 @@ This function will parse and handle several cmds in one ( rq3_cmd)
=================
*/
void CG_RQ3_Cmd () {
int cmd;
cmd = atoi(CG_Argv(1));
int cmd, i;
char scrnshotName[MAX_QPATH], playerName[MAX_NAME_LENGTH];
qtime_t qtime;
cmd = atoi(CG_Argv(1));
switch(cmd) {
case LIGHTS:
@ -1243,9 +1272,74 @@ void CG_RQ3_Cmd () {
case ROUND:
trap_Cvar_Set("cg_RQ3_team_round_going", CG_Argv(1));
break;
case MAPSTART:
switch (cg_RQ3_autoAction.integer )
{
case 1:
case 3:
trap_RealTime(&qtime);
Com_sprintf(playerName,sizeof(playerName),"%s",cgs.clientinfo->name);
RemoveColorEscapeSequences(playerName);
Com_sprintf(scrnshotName, sizeof(scrnshotName), "record %s-%s-%d.%d.%d-%d.%d.%d\n", playerName, cgs.mapname, qtime.tm_year + 1900, qtime.tm_mon + 1, qtime.tm_mday, qtime.tm_hour, qtime.tm_min, qtime.tm_sec);
for (i=0;i<MAX_QPATH;i++)
{
switch (scrnshotName[i])
{
case '>':
case '<':
case '"':
case '?':
case '*':
case ':':
case '\\':
case '/':
case '|':
scrnshotName[i] = '_';
break;
}
}
trap_SendConsoleCommand ("g_synchronousClients 1\n");
trap_SendConsoleCommand (scrnshotName);
trap_SendConsoleCommand ("g_synchronousClients 0\n");
break;
}
break;
case MAPEND:
cg.showScores = qtrue;
cg.scoreTPMode = 0;
switch (cg_RQ3_autoAction.integer )
{
case 3:
trap_SendConsoleCommand ("stoprecord\n");
case 2:
trap_RealTime(&qtime);
Com_sprintf(playerName,sizeof(playerName),"%s",cgs.clientinfo->name);
RemoveColorEscapeSequences(playerName);
Com_sprintf(scrnshotName, sizeof(scrnshotName), "screenshotjpeg %s-%d.%d.%d-%d.%d.%d\n", playerName, qtime.tm_year + 1900, qtime.tm_mon + 1, qtime.tm_mday, qtime.tm_hour, qtime.tm_min, qtime.tm_sec);
for (i=0;i<MAX_QPATH;i++)
{
switch (scrnshotName[i])
{
case '>':
case '<':
case '"':
case '?':
case '*':
case ':':
case '\\':
case '/':
case '|':
scrnshotName[i] = '_';
break;
}
}
trap_SendConsoleCommand (scrnshotName);
break;
case 1:
trap_SendConsoleCommand ("stoprecord\n");
break;
}
break;
case SETWEAPON:
cg.weaponSelect = atoi(CG_Argv(1));

View file

@ -3,200 +3,56 @@
<pre>
<h1>Build Log</h1>
<h3>
--------------------Configuration: cgame - Win32 Release--------------------
--------------------Configuration: cgame - Win32 Debug--------------------
</h3>
<h3>Command Lines</h3>
<h3>Results</h3>
cgamex86.dll - 0 error(s), 0 warning(s)
<h3>
--------------------Configuration: game - Win32 Release--------------------
</h3>
<h3>Command Lines</h3>
Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP42E.tmp" with contents
Creating temporary file "C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSPFB.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\ai_chat.c"
"C:\Games\Quake3\rq3source\reaction\game\ai_cmd.c"
"C:\Games\Quake3\rq3source\reaction\game\ai_dmnet.c"
"C:\Games\Quake3\rq3source\reaction\game\ai_dmq3.c"
"C:\Games\Quake3\rq3source\reaction\game\ai_main.c"
"C:\Games\Quake3\rq3source\reaction\game\ai_team.c"
"C:\Games\Quake3\rq3source\reaction\game\ai_vcmd.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\game\g_active.c"
"C:\Games\Quake3\rq3source\reaction\game\g_arenas.c"
"C:\Games\Quake3\rq3source\reaction\game\g_bot.c"
"C:\Games\Quake3\rq3source\reaction\game\g_client.c"
"C:\Games\Quake3\rq3source\reaction\game\g_cmds.c"
"C:\Games\Quake3\rq3source\reaction\game\g_combat.c"
"C:\Games\Quake3\rq3source\reaction\game\g_fileio.c"
"C:\Games\Quake3\rq3source\reaction\game\g_items.c"
"C:\Games\Quake3\rq3source\reaction\game\g_main.c"
"C:\Games\Quake3\rq3source\reaction\game\g_matchmode.c"
"C:\Games\Quake3\rq3source\reaction\game\g_mem.c"
"C:\Games\Quake3\rq3source\reaction\game\g_misc.c"
"C:\Games\Quake3\rq3source\reaction\game\g_missile.c"
"C:\Games\Quake3\rq3source\reaction\game\g_mover.c"
"C:\Games\Quake3\rq3source\reaction\game\g_session.c"
"C:\Games\Quake3\rq3source\reaction\game\g_spawn.c"
"C:\Games\Quake3\rq3source\reaction\game\g_svcmds.c"
"C:\Games\Quake3\rq3source\reaction\game\g_syscalls.c"
"C:\Games\Quake3\rq3source\reaction\game\g_target.c"
"C:\Games\Quake3\rq3source\reaction\game\g_team.c"
"C:\Games\Quake3\rq3source\reaction\game\g_teamplay.c"
"C:\Games\Quake3\rq3source\reaction\game\g_trigger.c"
"C:\Games\Quake3\rq3source\reaction\game\g_utils.c"
"C:\Games\Quake3\rq3source\reaction\game\g_weapon.c"
"C:\Games\Quake3\rq3source\reaction\game\rxn_game.c"
"C:\Games\Quake3\rq3source\reaction\game\zcam.c"
"C:\Games\Quake3\rq3source\reaction\game\zcam_target.c"
/nologo /G5 /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FR"Debug/" /Fp"Debug/cgame.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /c
"C:\Development\reaction\cgame\cg_servercmds.c"
]
Creating command line "cl.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP42E.tmp"
Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP42F.tmp" with contents
Creating command line "cl.exe @C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSPFB.tmp"
Creating temporary file "C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSPFC.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
/nologo /base:"0x30000000" /subsystem:windows /dll /incremental:yes /pdb:"Debug/cgamex86.pdb" /map:"Debug/cgamex86.map" /debug /machine:I386 /def:".\cgame.def" /out:"../Debug/cgamex86.dll" /implib:"Debug/cgamex86.lib"
.\Debug\bg_misc.obj
.\Debug\bg_pmove.obj
.\Debug\bg_slidemove.obj
.\Debug\cg_consolecmds.obj
.\Debug\cg_draw.obj
.\Debug\cg_drawtools.obj
.\Debug\cg_effects.obj
.\Debug\cg_ents.obj
.\Debug\cg_event.obj
.\Debug\cg_info.obj
.\Debug\cg_localents.obj
.\Debug\cg_main.obj
.\Debug\cg_marks.obj
.\Debug\cg_players.obj
.\Debug\cg_playerstate.obj
.\Debug\cg_predict.obj
.\Debug\cg_scoreboard.obj
.\Debug\cg_servercmds.obj
.\Debug\cg_snapshot.obj
.\Debug\cg_syscalls.obj
.\Debug\cg_view.obj
.\Debug\cg_weapons.obj
.\Debug\q_math.obj
.\Debug\q_shared.obj
.\Debug\ui_shared.obj
]
Creating command line "link.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP42F.tmp"
Creating command line "link.exe @C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSPFC.tmp"
<h3>Output Window</h3>
Compiling...
ai_chat.c
ai_cmd.c
ai_dmnet.c
ai_dmq3.c
ai_main.c
ai_team.c
ai_vcmd.c
bg_misc.c
bg_pmove.c
bg_slidemove.c
g_active.c
g_arenas.c
g_bot.c
g_client.c
g_cmds.c
g_combat.c
g_fileio.c
g_items.c
g_main.c
g_matchmode.c
g_mem.c
g_misc.c
g_missile.c
g_mover.c
g_session.c
g_spawn.c
g_svcmds.c
g_syscalls.c
g_target.c
g_team.c
g_teamplay.c
g_trigger.c
g_utils.c
g_weapon.c
C:\Games\Quake3\rq3source\reaction\game\g_weapon.c(1702) : warning C4013: 'IsWodMat' undefined; assuming extern returning int
rxn_game.c
C:\Games\Quake3\rq3source\reaction\game\g_weapon.c(2669) : warning C4701: local variable 'tr' may be used without having been initialized
zcam.c
zcam_target.c
Linking...
Creating library c:\reactionoutput/qagamex86.lib and object c:\reactionoutput/qagamex86.exp
g_weapon.obj : error LNK2001: unresolved external symbol _IsWodMat
..\Release/qagamex86.dll : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
cg_servercmds.c
C:\Development\reaction\cgame\cg_servercmds.c(1224) : error C2115: '=' : incompatible types
C:\Development\reaction\cgame\cg_servercmds.c(1282) : error C2095: 'Com_sprintf' : actual parameter has type 'void' : parameter 4
Error executing cl.exe.
<h3>Results</h3>
qagamex86.dll - 2 error(s), 2 warning(s)
<h3>
--------------------Configuration: ui - Win32 Release TA--------------------
</h3>
<h3>Command Lines</h3>
Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP433.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\RSP433.tmp"
Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP434.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:"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\RSP434.tmp"
<h3>Output Window</h3>
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
<h3>Results</h3>
uix86.dll - 0 error(s), 0 warning(s)
cgamex86.dll - 2 error(s), 0 warning(s)
</pre>
</body>
</html>