mirror of
https://github.com/ReactionQuake3/reaction.git
synced 2025-01-18 23:52:05 +00:00
no message
This commit is contained in:
parent
2c009a994e
commit
8540d5b4e1
17 changed files with 433 additions and 107 deletions
|
@ -5,6 +5,9 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// $Log$
|
||||
// Revision 1.79 2006/04/14 18:16:31 makro
|
||||
// no message
|
||||
//
|
||||
// Revision 1.78 2005/02/15 16:33:38 makro
|
||||
// Tons of updates (entity tree attachment system, UI vectors)
|
||||
//
|
||||
|
@ -1980,6 +1983,9 @@ static void CG_DrawCrosshair(void)
|
|||
}
|
||||
|
||||
trap_R_SetColor(NULL);
|
||||
if (cgs.media.zoomMask)
|
||||
CG_DrawPic(0, 0, 640, 480, cgs.media.zoomMask);
|
||||
|
||||
drawSSG = 1;
|
||||
}
|
||||
}
|
||||
|
@ -2554,9 +2560,9 @@ static void CG_Draw2D(void)
|
|||
// don't draw any status if dead or the scoreboard is being explicitly shown
|
||||
// if ( !cg.showScores && cg.snap->ps.stats[STAT_HEALTH] > 0 ) {
|
||||
if (cg.snap->ps.stats[STAT_HEALTH] > 0) {
|
||||
CG_DrawCrosshair();
|
||||
CG_DrawStatusBar();
|
||||
CG_DrawAmmoWarning();
|
||||
CG_DrawCrosshair();
|
||||
CG_DrawCrosshairNames();
|
||||
CG_DrawWeaponSelect();
|
||||
CG_DrawHoldableItem();
|
||||
|
|
|
@ -5,6 +5,9 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// $Log$
|
||||
// Revision 1.162 2006/04/14 18:16:31 makro
|
||||
// no message
|
||||
//
|
||||
// Revision 1.161 2005/09/07 22:19:15 makro
|
||||
// Dead player view offset tweaks
|
||||
//
|
||||
|
@ -1420,6 +1423,8 @@ typedef struct {
|
|||
//qhandle_t medalAssist;
|
||||
//qhandle_t medalCapture;
|
||||
|
||||
qhandle_t zoomMask;
|
||||
|
||||
// sounds
|
||||
sfxHandle_t kickSound; //Elder: kick sound
|
||||
sfxHandle_t headshotSound; //Elder: splat
|
||||
|
|
|
@ -5,6 +5,9 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// $Log$
|
||||
// Revision 1.148 2006/04/14 18:16:31 makro
|
||||
// no message
|
||||
//
|
||||
// Revision 1.147 2005/09/07 20:29:05 makro
|
||||
// Stuff I can't remember
|
||||
//
|
||||
|
@ -2252,6 +2255,9 @@ static void CG_RegisterGraphics(void)
|
|||
cgs.media.ssgCrosshair[1] = trap_R_RegisterShaderNoMip(va("gfx/rq3_hud/ssg4x-%i", i));
|
||||
cgs.media.ssgCrosshair[2] = trap_R_RegisterShaderNoMip(va("gfx/rq3_hud/ssg6x-%i", i));
|
||||
|
||||
//Makro - zoom mask
|
||||
cgs.media.zoomMask = trap_R_RegisterShaderNoMip("gfx/2d/zoom_mask");
|
||||
|
||||
//Elder: other hud-related elements
|
||||
cgs.media.rq3_healthicon = trap_R_RegisterShaderNoMip("gfx/rq3_hud/hud_health");
|
||||
cgs.media.rq3_healthicon2 = trap_R_RegisterShaderNoMip("gfx/rq3_hud/hud_healthwarning");
|
||||
|
|
|
@ -5,6 +5,9 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// $Log$
|
||||
// Revision 1.21 2006/04/14 18:16:31 makro
|
||||
// no message
|
||||
//
|
||||
// Revision 1.20 2004/01/26 21:26:08 makro
|
||||
// no message
|
||||
//
|
||||
|
@ -2089,7 +2092,10 @@ void CG_ParticleSparks(vec3_t org, vec3_t vel, int duration, float x, float y, f
|
|||
cparticle_t *p;
|
||||
|
||||
if (!free_particles)
|
||||
{
|
||||
CG_Printf(S_COLOR_RED "No particles left for sparks!!!\n");
|
||||
return;
|
||||
}
|
||||
p = free_particles;
|
||||
free_particles = p->next;
|
||||
p->next = active_particles;
|
||||
|
@ -2139,7 +2145,6 @@ void CG_ParticleSparks(vec3_t org, vec3_t vel, int duration, float x, float y, f
|
|||
|
||||
p->accel[0] = crandom() * 4;
|
||||
p->accel[1] = crandom() * 4;
|
||||
|
||||
}
|
||||
|
||||
//Makro - snow
|
||||
|
@ -2148,7 +2153,10 @@ void CG_ParticleHitSnow(vec3_t org, vec3_t vel, int duration, float x, float y,
|
|||
cparticle_t *p;
|
||||
|
||||
if (!free_particles)
|
||||
{
|
||||
CG_Printf(S_COLOR_RED "No particles left for sparks!!!\n");
|
||||
return;
|
||||
}
|
||||
p = free_particles;
|
||||
free_particles = p->next;
|
||||
p->next = active_particles;
|
||||
|
@ -2188,7 +2196,6 @@ void CG_ParticleHitSnow(vec3_t org, vec3_t vel, int duration, float x, float y,
|
|||
p->vel[0] += (crandom() * 8);
|
||||
p->vel[1] += (crandom() * 8);
|
||||
//p->vel[2] += (20 + (crandom() * 10)) * speed;
|
||||
|
||||
}
|
||||
|
||||
//Makro - grass
|
||||
|
|
|
@ -5,6 +5,9 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// $Log$
|
||||
// Revision 1.8 2006/04/14 18:16:31 makro
|
||||
// no message
|
||||
//
|
||||
// Revision 1.7 2003/03/29 18:53:41 jbravo
|
||||
// Fixed ammo bug when dropping bandolier. Added color to more errormessages
|
||||
//
|
||||
|
@ -1745,6 +1748,7 @@ void CG_ParticleSparks(vec3_t org, vec3_t vel, int duration, float x, float y, f
|
|||
|
||||
if (!free_particles)
|
||||
return;
|
||||
|
||||
p = free_particles;
|
||||
free_particles = p->next;
|
||||
p->next = active_particles;
|
||||
|
@ -1784,7 +1788,6 @@ void CG_ParticleSparks(vec3_t org, vec3_t vel, int duration, float x, float y, f
|
|||
|
||||
p->accel[0] = crandom() * 4;
|
||||
p->accel[1] = crandom() * 4;
|
||||
|
||||
}
|
||||
|
||||
void CG_ParticleDust(centity_t * cent, vec3_t origin, vec3_t dir)
|
||||
|
|
|
@ -40,7 +40,7 @@ RSC=rc.exe
|
|||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "D:\Work\rq3source\reaction\Release"
|
||||
# PROP Output_Dir "D:\games\quake3\reaction"
|
||||
# PROP Intermediate_Dir "D:\Work\rq3source\reaction\Release"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
|
@ -67,7 +67,7 @@ LINK32=link.exe
|
|||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Output_Dir "D:\games\quake3\reaction"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
|
@ -82,7 +82,7 @@ BSC32=bscmake.exe
|
|||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 /nologo /base:"0x30000000" /subsystem:windows /dll /map /debug /machine:I386 /out:"D:\Work\rq3source\reaction\Release\cgamex86.dll"
|
||||
# ADD LINK32 /nologo /base:"0x30000000" /subsystem:windows /dll /map /debug /machine:I386 /out:"D:\Games\Quake3\Reaction\cgamex86.dll"
|
||||
# SUBTRACT LINK32 /profile /nodefaultlib
|
||||
|
||||
!ELSEIF "$(CFG)" == "cgame - Win32 Release TA"
|
||||
|
|
|
@ -3,56 +3,149 @@
|
|||
<pre>
|
||||
<h1>Build Log</h1>
|
||||
<h3>
|
||||
--------------------Configuration: cgame - Win32 Debug--------------------
|
||||
--------------------Configuration: cgame - Win32 Release--------------------
|
||||
</h3>
|
||||
<h3>Command Lines</h3>
|
||||
Creating temporary file "C:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP3C.tmp" with contents
|
||||
Creating temporary file "C:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP13C.tmp" with contents
|
||||
[
|
||||
/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
|
||||
/nologo /G6 /ML /W4 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FR"D:\Work\rq3source\reaction\Release/" /Fp"D:\Work\rq3source\reaction\Release/cgame.pch" /YX /Fo"D:\Work\rq3source\reaction\Release/" /Fd"D:\Work\rq3source\reaction\Release/" /FD /c
|
||||
"D:\Work\rq3source\reaction\game\bg_misc.c"
|
||||
"D:\Work\rq3source\reaction\game\bg_pmove.c"
|
||||
"D:\Work\rq3source\reaction\game\bg_slidemove.c"
|
||||
"D:\Work\rq3source\reaction\cgame\cg_atmospheric.c"
|
||||
"D:\Work\rq3source\reaction\cgame\cg_consolecmds.c"
|
||||
"D:\Work\rq3source\reaction\cgame\cg_draw.c"
|
||||
"D:\Work\rq3source\reaction\cgame\cg_drawtools.c"
|
||||
"D:\Work\rq3source\reaction\cgame\cg_effects.c"
|
||||
"D:\Work\rq3source\reaction\cgame\cg_ents.c"
|
||||
"D:\Work\rq3source\reaction\cgame\cg_event.c"
|
||||
"D:\Work\rq3source\reaction\cgame\cg_info.c"
|
||||
"D:\Work\rq3source\reaction\cgame\cg_localents.c"
|
||||
"D:\Work\rq3source\reaction\cgame\cg_main.c"
|
||||
"D:\Work\rq3source\reaction\cgame\cg_marks.c"
|
||||
"D:\Work\rq3source\reaction\cgame\cg_players.c"
|
||||
"D:\Work\rq3source\reaction\cgame\cg_playerstate.c"
|
||||
"D:\Work\rq3source\reaction\cgame\cg_predict.c"
|
||||
"D:\Work\rq3source\reaction\cgame\cg_scoreboard.c"
|
||||
"D:\Work\rq3source\reaction\cgame\cg_servercmds.c"
|
||||
"D:\Work\rq3source\reaction\cgame\cg_snapshot.c"
|
||||
"D:\Work\rq3source\reaction\cgame\cg_syscalls.c"
|
||||
"D:\Work\rq3source\reaction\cgame\cg_unlagged.c"
|
||||
"D:\Work\rq3source\reaction\cgame\cg_view.c"
|
||||
"D:\Work\rq3source\reaction\cgame\cg_weapons.c"
|
||||
"D:\Work\rq3source\reaction\game\q_math.c"
|
||||
"D:\Work\rq3source\reaction\game\q_shared.c"
|
||||
"D:\Work\rq3source\reaction\ui\ui_shared.c"
|
||||
]
|
||||
Creating command line "cl.exe @C:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP3C.tmp"
|
||||
Creating temporary file "C:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP3D.tmp" with contents
|
||||
Creating command line "cl.exe @C:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP13C.tmp"
|
||||
Creating temporary file "C:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP13D.tmp" with contents
|
||||
[
|
||||
/nologo /base:"0x30000000" /subsystem:windows /dll /incremental:yes /pdb:"Debug/cgamex86.pdb" /map:"Debug/cgamex86.map" /debug /machine:I386 /def:".\cgame.def" /out:"D:\Work\rq3source\reaction\Release\cgamex86.dll" /implib:"Debug/cgamex86.lib"
|
||||
.\Debug\bg_misc.obj
|
||||
.\Debug\bg_pmove.obj
|
||||
.\Debug\bg_slidemove.obj
|
||||
.\Debug\cg_atmospheric.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_unlagged.obj
|
||||
.\Debug\cg_view.obj
|
||||
.\Debug\cg_weapons.obj
|
||||
.\Debug\q_math.obj
|
||||
.\Debug\q_shared.obj
|
||||
.\Debug\ui_shared.obj
|
||||
/nologo /base:"0x30000000" /subsystem:windows /dll /incremental:no /pdb:"D:\Work\rq3source\reaction\Release/cgamex86.pdb" /map:"D:\Work\rq3source\reaction\Release/cgamex86.map" /machine:I386 /def:".\cgame.def" /out:"D:\Work\rq3source\reaction\Release\cgamex86.dll" /implib:"D:\Work\rq3source\reaction\Release/cgamex86.lib"
|
||||
\Work\rq3source\reaction\Release\bg_misc.obj
|
||||
\Work\rq3source\reaction\Release\bg_pmove.obj
|
||||
\Work\rq3source\reaction\Release\bg_slidemove.obj
|
||||
\Work\rq3source\reaction\Release\cg_atmospheric.obj
|
||||
\Work\rq3source\reaction\Release\cg_consolecmds.obj
|
||||
\Work\rq3source\reaction\Release\cg_draw.obj
|
||||
\Work\rq3source\reaction\Release\cg_drawtools.obj
|
||||
\Work\rq3source\reaction\Release\cg_effects.obj
|
||||
\Work\rq3source\reaction\Release\cg_ents.obj
|
||||
\Work\rq3source\reaction\Release\cg_event.obj
|
||||
\Work\rq3source\reaction\Release\cg_info.obj
|
||||
\Work\rq3source\reaction\Release\cg_localents.obj
|
||||
\Work\rq3source\reaction\Release\cg_main.obj
|
||||
\Work\rq3source\reaction\Release\cg_marks.obj
|
||||
\Work\rq3source\reaction\Release\cg_players.obj
|
||||
\Work\rq3source\reaction\Release\cg_playerstate.obj
|
||||
\Work\rq3source\reaction\Release\cg_predict.obj
|
||||
\Work\rq3source\reaction\Release\cg_scoreboard.obj
|
||||
\Work\rq3source\reaction\Release\cg_servercmds.obj
|
||||
\Work\rq3source\reaction\Release\cg_snapshot.obj
|
||||
\Work\rq3source\reaction\Release\cg_syscalls.obj
|
||||
\Work\rq3source\reaction\Release\cg_unlagged.obj
|
||||
\Work\rq3source\reaction\Release\cg_view.obj
|
||||
\Work\rq3source\reaction\Release\cg_weapons.obj
|
||||
\Work\rq3source\reaction\Release\q_math.obj
|
||||
\Work\rq3source\reaction\Release\q_shared.obj
|
||||
\Work\rq3source\reaction\Release\ui_shared.obj
|
||||
]
|
||||
Creating command line "link.exe @C:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP3D.tmp"
|
||||
Creating command line "link.exe @C:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP13D.tmp"
|
||||
<h3>Output Window</h3>
|
||||
Compiling...
|
||||
bg_misc.c
|
||||
bg_pmove.c
|
||||
bg_slidemove.c
|
||||
cg_atmospheric.c
|
||||
cg_consolecmds.c
|
||||
D:\Work\rq3source\reaction\cgame\cg_atmospheric.c(626) : warning C4706: assignment within conditional expression
|
||||
D:\Work\rq3source\reaction\cgame\cg_atmospheric.c(638) : warning C4706: assignment within conditional expression
|
||||
D:\Work\rq3source\reaction\cgame\cg_atmospheric.c(184) : warning C4701: local variable 'tr' may be used without having been initialized
|
||||
D:\Work\rq3source\reaction\cgame\cg_atmospheric.c(334) : warning C4701: local variable 'tr' may be used without having been initialized
|
||||
cg_draw.c
|
||||
cg_drawtools.c
|
||||
D:\Work\rq3source\reaction\cgame\cg_draw.c(1977) : warning C4706: assignment within conditional expression
|
||||
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
|
||||
D:\Work\rq3source\reaction\cgame\cg_predict.c(813) : warning C4701: local variable 'predictCmd' may be used without having been initialized
|
||||
D:\Work\rq3source\reaction\cgame\cg_predict.c(817) : warning C4701: local variable 'stateIndex' may be used without having been initialized
|
||||
cg_servercmds.c
|
||||
cg_snapshot.c
|
||||
cg_syscalls.c
|
||||
cg_unlagged.c
|
||||
cg_view.c
|
||||
cg_weapons.c
|
||||
q_math.c
|
||||
q_shared.c
|
||||
ui_shared.c
|
||||
Linking...
|
||||
Creating library D:\Work\rq3source\reaction\Release/cgamex86.lib and object D:\Work\rq3source\reaction\Release/cgamex86.exp
|
||||
Creating temporary file "C:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP141.tmp" with contents
|
||||
[
|
||||
/nologo /o"D:\Work\rq3source\reaction\Release/cgame.bsc"
|
||||
\Work\rq3source\reaction\Release\bg_misc.sbr
|
||||
\Work\rq3source\reaction\Release\bg_pmove.sbr
|
||||
\Work\rq3source\reaction\Release\bg_slidemove.sbr
|
||||
\Work\rq3source\reaction\Release\cg_atmospheric.sbr
|
||||
\Work\rq3source\reaction\Release\cg_consolecmds.sbr
|
||||
\Work\rq3source\reaction\Release\cg_draw.sbr
|
||||
\Work\rq3source\reaction\Release\cg_drawtools.sbr
|
||||
\Work\rq3source\reaction\Release\cg_effects.sbr
|
||||
\Work\rq3source\reaction\Release\cg_ents.sbr
|
||||
\Work\rq3source\reaction\Release\cg_event.sbr
|
||||
\Work\rq3source\reaction\Release\cg_info.sbr
|
||||
\Work\rq3source\reaction\Release\cg_localents.sbr
|
||||
\Work\rq3source\reaction\Release\cg_main.sbr
|
||||
\Work\rq3source\reaction\Release\cg_marks.sbr
|
||||
\Work\rq3source\reaction\Release\cg_players.sbr
|
||||
\Work\rq3source\reaction\Release\cg_playerstate.sbr
|
||||
\Work\rq3source\reaction\Release\cg_predict.sbr
|
||||
\Work\rq3source\reaction\Release\cg_scoreboard.sbr
|
||||
\Work\rq3source\reaction\Release\cg_servercmds.sbr
|
||||
\Work\rq3source\reaction\Release\cg_snapshot.sbr
|
||||
\Work\rq3source\reaction\Release\cg_syscalls.sbr
|
||||
\Work\rq3source\reaction\Release\cg_unlagged.sbr
|
||||
\Work\rq3source\reaction\Release\cg_view.sbr
|
||||
\Work\rq3source\reaction\Release\cg_weapons.sbr
|
||||
\Work\rq3source\reaction\Release\q_math.sbr
|
||||
\Work\rq3source\reaction\Release\q_shared.sbr
|
||||
\Work\rq3source\reaction\Release\ui_shared.sbr]
|
||||
Creating command line "bscmake.exe @C:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP141.tmp"
|
||||
Creating browse info file...
|
||||
<h3>Output Window</h3>
|
||||
|
||||
|
||||
|
||||
<h3>Results</h3>
|
||||
cgamex86.dll - 0 error(s), 0 warning(s)
|
||||
cgamex86.dll - 0 error(s), 7 warning(s)
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -5,6 +5,9 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// $Log$
|
||||
// Revision 1.58 2006/04/14 18:15:45 makro
|
||||
// no message
|
||||
//
|
||||
// Revision 1.57 2005/09/07 20:27:41 makro
|
||||
// Entity attachment trees
|
||||
//
|
||||
|
@ -1734,3 +1737,75 @@ int GetIntBytes(char *buf, char count)
|
|||
return rez;
|
||||
}
|
||||
|
||||
/*
|
||||
====================================================
|
||||
IdMatchesString
|
||||
|
||||
Returns 1 if any of the tokens in the first string
|
||||
matches any of the tokens in the second string
|
||||
|
||||
Added by Makro
|
||||
====================================================
|
||||
*/
|
||||
|
||||
#define IS_DELIM(x) ((x)==',' || (x)==' ' || (x)=='\t')
|
||||
#define SKIP_DELIM(s) while (IS_DELIM(*(s))) (s)++
|
||||
|
||||
qboolean IdMatchesString(const char *id, const char *match)
|
||||
{
|
||||
const char *tok1, *tok2;
|
||||
|
||||
// iterate through all the tokens in "id"
|
||||
while (id && *id)
|
||||
{
|
||||
int len1;
|
||||
const char *tomatch = match;
|
||||
|
||||
// find the end of the current token
|
||||
for (tok1=id, len1=0; *tok1 && !IS_DELIM(*tok1); tok1++, len1++) {}
|
||||
// skip all delimiters
|
||||
SKIP_DELIM(tok1);
|
||||
|
||||
// iterate through all the tokens in "match"
|
||||
while (match && *match)
|
||||
{
|
||||
int len2;
|
||||
char ok = 1;
|
||||
|
||||
// find the end of the current token
|
||||
for (tok2=match, len2=0; *tok2 && !IS_DELIM(*tok2); tok2++, len2++)
|
||||
{
|
||||
if (ok)
|
||||
if (len2 > len1 || toupper(*tok2) != toupper(id[len2]))
|
||||
ok = 0;
|
||||
}
|
||||
// skip all delimiters
|
||||
SKIP_DELIM(tok2);
|
||||
|
||||
if (len1 == len2 && ok)
|
||||
return qtrue;
|
||||
// fetch next token in "match"
|
||||
match = tok2;
|
||||
}
|
||||
// restore "match" string
|
||||
match = tomatch;
|
||||
|
||||
// fetch next token in "id"
|
||||
id = tok1;
|
||||
}
|
||||
return qfalse;
|
||||
}
|
||||
|
||||
|
||||
float SawTooth(int time, int period)
|
||||
{
|
||||
if (period <= 0)
|
||||
return 0;
|
||||
else
|
||||
{
|
||||
if ((time / period) & 1)
|
||||
return (time % period) / ((float)period);
|
||||
else
|
||||
return 1.0f - (time % period) / ((float)period);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,6 +5,9 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// $Log$
|
||||
// Revision 1.113 2006/04/14 18:15:45 makro
|
||||
// no message
|
||||
//
|
||||
// Revision 1.112 2005/09/13 03:11:08 jbravo
|
||||
// Dead players cant use unzoom or weapon commands
|
||||
//
|
||||
|
@ -1585,3 +1588,15 @@ char *Q_strins(char *dest, char *s, int size);
|
|||
void SetIntBytes(int i, char *buf, char count);
|
||||
int GetIntBytes(char *buf, char count);
|
||||
|
||||
//Makro - returns true if any of the tokens in the first string
|
||||
//matches any of the tokens in the second string
|
||||
qboolean IdMatchesString(const char *id, const char *match);
|
||||
|
||||
|
||||
float SawTooth(int time, int period);
|
||||
|
||||
#define PULSE_SAWTOOTH_PERIOD 500
|
||||
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof(arr[0]))
|
||||
|
||||
#define INFINITE_LOOP for (;;)
|
||||
|
||||
|
|
|
@ -5,6 +5,9 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// $Log$
|
||||
// Revision 1.153 2006/04/14 18:15:45 makro
|
||||
// no message
|
||||
//
|
||||
// Revision 1.152 2005/09/13 02:33:17 jbravo
|
||||
// Adding new callvote gametype:map
|
||||
//
|
||||
|
@ -440,6 +443,8 @@
|
|||
#include "zcam.h"
|
||||
#include "q_shared.h"
|
||||
|
||||
#include "g_scripts.h"
|
||||
|
||||
int trap_RealTime(qtime_t * qtime);
|
||||
gentity_t *getEntByName(char *name);
|
||||
void AddIP(char *str);
|
||||
|
@ -1490,6 +1495,8 @@ void G_InitGame(int levelTime, int randomSeed, int restart)
|
|||
//Makro - moveparents stuff
|
||||
G_InitMoveParents();
|
||||
G_SetMoveParentOrder();
|
||||
|
||||
G_ParseScript("main_test.ini");
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -18,7 +18,7 @@ char *Script_GetToken(char **str)
|
|||
if (!**str)
|
||||
return NULL;
|
||||
|
||||
if ( inQuotes = (**str == '\"'))
|
||||
if ( (inQuotes = (**str == '\"')) )
|
||||
(*str)++;
|
||||
ret = *str;
|
||||
|
||||
|
@ -86,7 +86,7 @@ TParseFunc Script_FindHandler(char *token, TParseState* state)
|
|||
|
||||
for (ptr = state->hashTable[index]; ptr; ptr = ptr->next)
|
||||
{
|
||||
if (stricmp(token, ptr->keyword) == 0)
|
||||
if (Q_stricmp(token, ptr->keyword) == 0)
|
||||
return ptr->handler;
|
||||
}
|
||||
return NULL;
|
||||
|
@ -99,6 +99,54 @@ ID_INLINE void Script_InitStateStack(TStateStack *stack)
|
|||
}
|
||||
|
||||
|
||||
int Script_PushState(TStateStack *stack, TParseState *state)
|
||||
{
|
||||
if (stack->top >= STATE_STACK_SIZE)
|
||||
{
|
||||
SCRIPT_INFO(SHOW_ERROR)
|
||||
G_Printf("* ERROR: Stack overflow before %s.\n", (state) ? state->name : "[UNKNOWN]");
|
||||
END_SCRIPT_INFO();
|
||||
return 0;
|
||||
}
|
||||
stack->states[stack->top++] = state;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int Script_GetTopState(const TStateStack *stack, TParseState **state)
|
||||
{
|
||||
if (!state)
|
||||
return 1;
|
||||
if (stack->top < 0 || stack->top >= STATE_STACK_SIZE)
|
||||
{
|
||||
*state = NULL;
|
||||
SCRIPT_INFO(SHOW_ERROR)
|
||||
G_Printf("* ERROR: Stack index out of bounds (%d).\n", stack->top);
|
||||
END_SCRIPT_INFO();
|
||||
return 0;
|
||||
}
|
||||
|
||||
*state = stack->states[stack->top-1];
|
||||
return 1;
|
||||
}
|
||||
|
||||
int Script_PopState(TStateStack *stack, TParseState **state)
|
||||
{
|
||||
stack->top--;
|
||||
if (stack->top < 0)
|
||||
{
|
||||
SCRIPT_INFO(SHOW_ERROR)
|
||||
G_Printf("* ERROR: Stack underflow before %s.\n", (stack->states[0]) ? ((TParseState*)stack->states[0])->name : "[UNKNOWN]");
|
||||
END_SCRIPT_INFO();
|
||||
if (state)
|
||||
*state = NULL;
|
||||
return 0;
|
||||
}
|
||||
if (state)
|
||||
*state = stack->states[stack->top];
|
||||
return 1;
|
||||
}
|
||||
|
||||
void Script_ParseString(char *str, TParseState *baseState)
|
||||
{
|
||||
char *token = NULL;
|
||||
|
@ -141,7 +189,7 @@ SCRIPT_FUNC(SFN_SkipComment)
|
|||
char *token;
|
||||
while ( (token = Script_GetToken(SCRIPT_INPUT)) != NULL)
|
||||
{
|
||||
if (stricmp(token, "*/") == 0)
|
||||
if (Q_stricmp(token, "*/") == 0)
|
||||
return 1;
|
||||
}
|
||||
SCRIPT_INFO(SHOW_ERROR)
|
||||
|
|
|
@ -25,13 +25,15 @@ typedef struct _TParseRule
|
|||
struct _TParseRule *next;
|
||||
} TParseRule;
|
||||
|
||||
#define MAX_RULES_IN_STATE 32
|
||||
|
||||
typedef struct
|
||||
{
|
||||
const char *name;
|
||||
void *data;
|
||||
int initialized;
|
||||
TParseRule *hashTable[SCRIPT_HASH_SIZE];
|
||||
TParseRule rules[];
|
||||
TParseRule rules[MAX_RULES_IN_STATE];
|
||||
} TParseState;
|
||||
|
||||
#define SCRIPT_STATE(name, data)\
|
||||
|
@ -99,54 +101,9 @@ extern int SCRIPT_SHOW_LEVEL;
|
|||
///////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
ID_INLINE int Script_PushState(TStateStack *stack, TParseState *state)
|
||||
{
|
||||
if (stack->top >= STATE_STACK_SIZE)
|
||||
{
|
||||
SCRIPT_INFO(SHOW_ERROR)
|
||||
G_Printf("* ERROR: Stack overflow before %s.\n", (state) ? state->name : "[UNKNOWN]");
|
||||
END_SCRIPT_INFO();
|
||||
return 0;
|
||||
}
|
||||
stack->states[stack->top++] = state;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
ID_INLINE int Script_GetTopState(const TStateStack *stack, TParseState **state)
|
||||
{
|
||||
if (!state)
|
||||
return 1;
|
||||
if (stack->top < 0 || stack->top >= STATE_STACK_SIZE)
|
||||
{
|
||||
*state = NULL;
|
||||
SCRIPT_INFO(SHOW_ERROR)
|
||||
G_Printf("* ERROR: Stack index out of bounds (%d).\n", stack->top);
|
||||
END_SCRIPT_INFO();
|
||||
return 0;
|
||||
}
|
||||
|
||||
*state = stack->states[stack->top-1];
|
||||
return 1;
|
||||
}
|
||||
|
||||
ID_INLINE int Script_PopState(TStateStack *stack, TParseState **state)
|
||||
{
|
||||
stack->top--;
|
||||
if (stack->top < 0)
|
||||
{
|
||||
SCRIPT_INFO(SHOW_ERROR)
|
||||
G_Printf("* ERROR: Stack underflow before %s.\n", (stack->states[0]) ? ((TParseState*)stack->states[0])->name : "[UNKNOWN]");
|
||||
END_SCRIPT_INFO();
|
||||
if (state)
|
||||
*state = NULL;
|
||||
return 0;
|
||||
}
|
||||
if (state)
|
||||
*state = stack->states[stack->top];
|
||||
return 1;
|
||||
}
|
||||
|
||||
int Script_PushState(TStateStack *stack, TParseState *state);
|
||||
int Script_GetTopState(const TStateStack *stack, TParseState **state);
|
||||
int Script_PopState(TStateStack *stack, TParseState **state);
|
||||
|
||||
char* Script_GetToken(char **str);
|
||||
TParseFunc Script_FindHandler(char *token, TParseState *state);
|
||||
|
@ -173,4 +130,4 @@ SCRIPT_FUNC_PROTO(SFN_PopState);
|
|||
|
||||
|
||||
///////////////////////////////////////////////////////////////
|
||||
#endif //_G_PARSER_H_
|
||||
#endif //_G_PARSER_H_
|
||||
|
|
|
@ -1,2 +1,3 @@
|
|||
|
||||
void G_ParseScript(const char *fname);
|
||||
void G_ParseScript(const char *fname);
|
||||
|
||||
|
|
|
@ -5,6 +5,9 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// $Log$
|
||||
// Revision 1.26 2006/04/14 18:15:45 makro
|
||||
// no message
|
||||
//
|
||||
// Revision 1.25 2005/02/15 16:33:39 makro
|
||||
// Tons of updates (entity tree attachment system, UI vectors)
|
||||
//
|
||||
|
@ -248,8 +251,16 @@ gentity_t *G_Find2(gentity_t * from, int fieldofs, const char *match, int fieldo
|
|||
return NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
====================================================
|
||||
MatchesId
|
||||
|
||||
Added by Makro
|
||||
====================================================
|
||||
*/
|
||||
qboolean MatchesId(gentity_t *ent, const char *ids)
|
||||
{
|
||||
#if 0
|
||||
char tmp_alias[128]={0}, tmp_ids[128]={0}, *pi;
|
||||
|
||||
if (!ent || !ids)
|
||||
|
@ -302,6 +313,14 @@ qboolean MatchesId(gentity_t *ent, const char *ids)
|
|||
*sep = ',';
|
||||
}
|
||||
return qfalse;
|
||||
#else
|
||||
if (!ent || !ids)
|
||||
return qfalse;
|
||||
return
|
||||
IdMatchesString(ent->targetname, ids) ||
|
||||
IdMatchesString(ent->activatename, ids) ||
|
||||
IdMatchesString(ent->alias, ids);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@ RSC=rc.exe
|
|||
# PROP BASE Target_Dir "."
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "D:\Work\rq3source\reaction\Release"
|
||||
# PROP Output_Dir "D:\games\quake3\reaction"
|
||||
# PROP Intermediate_Dir "D:\Work\rq3source\reaction\Release"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir "."
|
||||
|
@ -65,7 +65,7 @@ LINK32=link.exe
|
|||
# PROP BASE Target_Dir "."
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "d:\games\quake3\reaction"
|
||||
# PROP Output_Dir "D:\games\quake3\reaction"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir "."
|
||||
|
|
|
@ -6,16 +6,56 @@
|
|||
--------------------Configuration: game - Win32 Debug--------------------
|
||||
</h3>
|
||||
<h3>Command Lines</h3>
|
||||
Creating temporary file "C:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP451.tmp" with contents
|
||||
Creating temporary file "C:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP43B.tmp" with contents
|
||||
[
|
||||
/nologo /G5 /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "BUILDING_REF_GL" /D "DEBUG" /FR"Debug/" /Fp"Debug/game.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /c
|
||||
"D:\Work\rq3source\reaction\game\ai_chat.c"
|
||||
"D:\Work\rq3source\reaction\game\ai_cmd.c"
|
||||
"D:\Work\rq3source\reaction\game\ai_dmnet.c"
|
||||
"D:\Work\rq3source\reaction\game\ai_dmq3.c"
|
||||
"D:\Work\rq3source\reaction\game\ai_main.c"
|
||||
"D:\Work\rq3source\reaction\game\ai_team.c"
|
||||
"D:\Work\rq3source\reaction\game\ai_vcmd.c"
|
||||
"D:\Work\rq3source\reaction\game\bg_misc.c"
|
||||
"D:\Work\rq3source\reaction\game\bg_pmove.c"
|
||||
"D:\Work\rq3source\reaction\game\bg_slidemove.c"
|
||||
"D:\Work\rq3source\reaction\game\g_active.c"
|
||||
"D:\Work\rq3source\reaction\game\g_arenas.c"
|
||||
"D:\Work\rq3source\reaction\game\g_bot.c"
|
||||
"D:\Work\rq3source\reaction\game\g_client.c"
|
||||
"D:\Work\rq3source\reaction\game\g_cmds.c"
|
||||
"D:\Work\rq3source\reaction\game\g_combat.c"
|
||||
"D:\Work\rq3source\reaction\game\g_fileio.c"
|
||||
"D:\Work\rq3source\reaction\game\g_items.c"
|
||||
"D:\Work\rq3source\reaction\game\g_main.c"
|
||||
"D:\Work\rq3source\reaction\game\g_matchmode.c"
|
||||
"D:\Work\rq3source\reaction\game\g_mem.c"
|
||||
"D:\Work\rq3source\reaction\game\g_misc.c"
|
||||
"D:\Work\rq3source\reaction\game\g_missile.c"
|
||||
"D:\Work\rq3source\reaction\game\g_mover.c"
|
||||
"D:\Work\rq3source\reaction\game\g_parser.c"
|
||||
"D:\Work\rq3source\reaction\game\g_scripts.c"
|
||||
"D:\Work\rq3source\reaction\game\g_session.c"
|
||||
"D:\Work\rq3source\reaction\game\g_spawn.c"
|
||||
"D:\Work\rq3source\reaction\game\g_svcmds.c"
|
||||
"D:\Work\rq3source\reaction\game\g_syscalls.c"
|
||||
"D:\Work\rq3source\reaction\game\g_target.c"
|
||||
"D:\Work\rq3source\reaction\game\g_team.c"
|
||||
"D:\Work\rq3source\reaction\game\g_teamplay.c"
|
||||
"D:\Work\rq3source\reaction\game\g_trigger.c"
|
||||
"D:\Work\rq3source\reaction\game\g_unlagged.c"
|
||||
"D:\Work\rq3source\reaction\game\g_utils.c"
|
||||
"D:\Work\rq3source\reaction\game\g_weapon.c"
|
||||
"D:\Work\rq3source\reaction\game\q_math.c"
|
||||
"D:\Work\rq3source\reaction\game\q_shared.c"
|
||||
"D:\Work\rq3source\reaction\game\rxn_game.c"
|
||||
"D:\Work\rq3source\reaction\game\zcam.c"
|
||||
"D:\Work\rq3source\reaction\game\zcam_target.c"
|
||||
]
|
||||
Creating command line "cl.exe @C:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP451.tmp"
|
||||
Creating temporary file "C:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP452.tmp" with contents
|
||||
Creating command line "cl.exe @C:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP43B.tmp"
|
||||
Creating temporary file "C:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP43C.tmp" with contents
|
||||
[
|
||||
kernel32.lib user32.lib winmm.lib /nologo /base:"0x20000000" /subsystem:windows /dll /incremental:yes /pdb:"d:\games\quake3\reaction/qagamex86.pdb" /map:"Debug/qagamex86.map" /debug /machine:I386 /def:".\game.def" /out:"D:\Work\rq3source\reaction\Release\qagamex86.dll" /implib:"d:\games\quake3\reaction/qagamex86.lib"
|
||||
kernel32.lib user32.lib winmm.lib /nologo /base:"0x20000000" /subsystem:windows /dll /incremental:yes /pdb:"D:\games\quake3\reaction/qagamex86.pdb" /map:"Debug/qagamex86.map" /debug /machine:I386 /def:".\game.def" /out:"D:\Work\rq3source\reaction\Release\qagamex86.dll" /implib:"D:\games\quake3\reaction/qagamex86.lib"
|
||||
.\Debug\ai_chat.obj
|
||||
.\Debug\ai_cmd.obj
|
||||
.\Debug\ai_dmnet.obj
|
||||
|
@ -59,15 +99,57 @@ kernel32.lib user32.lib winmm.lib /nologo /base:"0x20000000" /subsystem:windows
|
|||
.\Debug\zcam.obj
|
||||
.\Debug\zcam_target.obj
|
||||
]
|
||||
Creating command line "link.exe @C:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP452.tmp"
|
||||
Creating command line "link.exe @C:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP43C.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
|
||||
D:\Work\rq3source\reaction\game\g_combat.c(2034) : warning C4700: local variable 'asave' used without having been initialized
|
||||
g_items.c
|
||||
g_main.c
|
||||
g_matchmode.c
|
||||
g_mem.c
|
||||
g_misc.c
|
||||
g_missile.c
|
||||
g_mover.c
|
||||
g_parser.c
|
||||
g_scripts.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_unlagged.c
|
||||
g_utils.c
|
||||
g_weapon.c
|
||||
q_math.c
|
||||
q_shared.c
|
||||
rxn_game.c
|
||||
zcam.c
|
||||
zcam_target.c
|
||||
Linking...
|
||||
Creating temporary file "C:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP453.tmp" with contents
|
||||
Creating library D:\games\quake3\reaction/qagamex86.lib and object D:\games\quake3\reaction/qagamex86.exp
|
||||
Creating temporary file "C:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP440.tmp" with contents
|
||||
[
|
||||
/nologo /o"d:\games\quake3\reaction/game.bsc"
|
||||
/nologo /o"D:\games\quake3\reaction/game.bsc"
|
||||
.\Debug\ai_chat.sbr
|
||||
.\Debug\ai_cmd.sbr
|
||||
.\Debug\ai_dmnet.sbr
|
||||
|
@ -110,14 +192,14 @@ Creating temporary file "C:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP453.tmp" with conte
|
|||
.\Debug\rxn_game.sbr
|
||||
.\Debug\zcam.sbr
|
||||
.\Debug\zcam_target.sbr]
|
||||
Creating command line "bscmake.exe @C:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP453.tmp"
|
||||
Creating command line "bscmake.exe @C:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP440.tmp"
|
||||
Creating browse info file...
|
||||
<h3>Output Window</h3>
|
||||
|
||||
|
||||
|
||||
<h3>Results</h3>
|
||||
qagamex86.dll - 0 error(s), 0 warning(s)
|
||||
qagamex86.dll - 0 error(s), 1 warning(s)
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -26,6 +26,8 @@ g_mem
|
|||
g_misc
|
||||
g_missile
|
||||
g_mover
|
||||
g_parser
|
||||
g_scripts
|
||||
g_session
|
||||
g_spawn
|
||||
g_svcmds
|
||||
|
|
Loading…
Reference in a new issue