Sand surfaceparm

This commit is contained in:
Andrei Drexler 2002-05-11 19:18:20 +00:00
parent d3572b7d57
commit 846070951c
8 changed files with 112 additions and 54 deletions

View file

@ -5,6 +5,9 @@
//-----------------------------------------------------------------------------
//
// $Log$
// Revision 1.55 2002/05/11 19:13:42 makro
// Sand surfaceparm
//
// Revision 1.54 2002/05/09 20:58:30 jbravo
// New Obit system and a warning cleanup in zcam
//
@ -1659,6 +1662,13 @@ void CG_EntityEvent( centity_t *cent, vec3_t position ) {
cgs.media.footsteps[ FOOTSTEP_HARDSTEPS ][rand()&3] );
}
break;
case EV_FOOTSTEP_SAND:
DEBUGNAME("EV_FOOTSTEP_SAND");
if (cg_footsteps.integer) {
trap_S_StartSound (NULL, es->number, CHAN_BODY,
cgs.media.footsteps[ FOOTSTEP_SAND ][rand()&3] );
}
break;
// Makro - end new sounds
case EV_FOOTSTEP_METAL2:
DEBUGNAME("EV_FOOTSTEP_METAL2");

View file

@ -5,6 +5,9 @@
//-----------------------------------------------------------------------------
//
// $Log$
// Revision 1.72 2002/05/11 19:13:42 makro
// Sand surfaceparm
//
// Revision 1.71 2002/05/11 15:40:41 slicer
// Changed cg_RQ3_<team count> cvars to ui_RQ3_ and added a synch system for these
//
@ -243,6 +246,7 @@ typedef enum {
FOOTSTEP_MARBLE,
FOOTSTEP_SNOW2,
FOOTSTEP_HARDSTEPS,
FOOTSTEP_SAND,
FOOTSTEP_TOTAL

View file

@ -5,6 +5,9 @@
//-----------------------------------------------------------------------------
//
// $Log$
// Revision 1.62 2002/05/11 19:13:42 makro
// Sand surfaceparm
//
// Revision 1.61 2002/05/11 15:40:41 slicer
// Changed cg_RQ3_<team count> cvars to ui_RQ3_ and added a synch system for these
//
@ -1010,6 +1013,9 @@ static void CG_RegisterSounds( void ) {
Com_sprintf (name, sizeof(name), "sound/player/footsteps/hardstep%i.wav", i+1);
cgs.media.footsteps[FOOTSTEP_HARDSTEPS][i] = trap_S_RegisterSound (name, qfalse);
Com_sprintf (name, sizeof(name), "sound/player/footsteps/sand%i.wav", i+1);
cgs.media.footsteps[FOOTSTEP_SAND][i] = trap_S_RegisterSound (name, qfalse);
}
// only register the items that the server says we need

View file

@ -5,6 +5,9 @@
//-----------------------------------------------------------------------------
//
// $Log$
// Revision 1.33 2002/05/11 19:18:20 makro
// Sand surfaceparm
//
// Revision 1.32 2002/05/11 14:22:06 makro
// Func_statics now reset at the beginning of each round
//
@ -3237,7 +3240,7 @@ bot_moveresult_t BotAttackMove(bot_state_t *bs, int tfl) {
dist = VectorNormalize(forward);
//Makro - for long range attacks the bots should crouch more often
if (dist > 512) {
croucher = Com_Clamp(0, 1, croucher * 2.0f);
croucher = Com_Clamp(0.1f, 1, croucher * 2.0f);
jumper = Com_Clamp(0, 1, jumper / 2.0f);
}
VectorNegate(forward, backward);
@ -5820,6 +5823,7 @@ void BotCheckEvents(bot_state_t *bs, entityState_t *state) {
case EV_FOOTSTEP_MARBLE:
case EV_FOOTSTEP_SNOW2:
case EV_FOOTSTEP_HARDSTEPS:
case EV_FOOTSTEP_SAND:
case EV_FOOTSPLASH:
case EV_FOOTWADE:
case EV_SWIM:

View file

@ -5,6 +5,9 @@
//-----------------------------------------------------------------------------
//
// $Log$
// Revision 1.37 2002/05/11 19:18:20 makro
// Sand surfaceparm
//
// Revision 1.36 2002/05/11 14:22:06 makro
// Func_statics now reset at the beginning of each round
//
@ -1327,6 +1330,7 @@ char *eventnames[] = {
"EV_FOOTSTEP_MARBLE",
"EV_FOOTSTEP_SNOW2",
"EV_FOOTSTEP_HARDSTEPS",
"EV_FOOTSTEP_SAND",
"EV_FOOTSPLASH",
"EV_FOOTWADE",
@ -1769,3 +1773,63 @@ holdable_t CharToItem ( char *name, holdable_t defitem ) {
return defitem;
}
/*
=====================
Surfaceparm stuff
=====================
*/
int MatFlags[] =
{
SURF_METALSTEPS,
SURF_GRAVEL,
SURF_WOOD,
SURF_CARPET,
SURF_METAL2,
SURF_GLASS,
SURF_GRASS,
SURF_SNOW,
SURF_MUD,
SURF_WOOD2,
SURF_HARDMETAL
};
#define MatFlagCount 5
int GetMaterialFromFlag( int flag ) {
int Material = 0;
int i = 0;
for (i = 0; i < MatFlagCount; i++) {
if ( (flag & MatFlags[i]) ) {
Material += (1 << i);
}
}
return Material;
}
//metal
qboolean IsMetalMat( int Material ) {
if (Material == MAT_METALSTEPS || Material == MAT_METAL2 || Material == MAT_HARDMETAL) {
return qtrue;
}
return qfalse;
}
qboolean IsMetalFlag( int flag ) {
return IsMetalMat(GetMaterialFromFlag(flag));
}
//wood
qboolean IsWoodMat( int Material ) {
if (Material == MAT_WOOD || Material == MAT_WOOD2) {
return qtrue;
}
return qfalse;
}
qboolean IsWoodFlag( int flag ) {
return IsWoodMat(GetMaterialFromFlag(flag));
}

View file

@ -5,6 +5,9 @@
//-----------------------------------------------------------------------------
//
// $Log$
// Revision 1.73 2002/05/11 19:18:20 makro
// Sand surfaceparm
//
// Revision 1.72 2002/05/11 18:47:09 niceass
// last fire animation fixed
//
@ -1011,6 +1014,10 @@ static int PM_FootstepForSurface( void ) {
if ( Material == MAT_HARDSTEPS ) {
return EV_FOOTSTEP_HARDSTEPS;
}
if ( Material == MAT_SAND ) {
return EV_FOOTSTEP_SAND;
}
// Makro - end new sounds
return EV_FOOTSTEP;
@ -3200,50 +3207,4 @@ void Pmove (pmove_t *pmove) {
//PM_CheckStuck();
}
/*
=====================
SURFACEPARM STUFF
=====================
*/
int MatFlags[] =
{
SURF_METALSTEPS,
SURF_GRAVEL,
SURF_WOOD,
SURF_CARPET,
SURF_METAL2,
SURF_GLASS,
SURF_GRASS,
SURF_SNOW,
SURF_MUD,
SURF_WOOD2,
SURF_HARDMETAL
};
#define MatFlagCount 5
int GetMaterialFromFlag( int flag ) {
int Material = 0;
int i = 0;
for (i = 0; i < MatFlagCount; i++) {
if ( (flag & MatFlags[i]) ) {
Material += (1 << i);
}
}
return Material;
}
qboolean IsMetalMat( int Material ) {
if (Material == MAT_METALSTEPS || Material == MAT_METAL2 || Material == MAT_HARDMETAL) {
return qtrue;
}
return qfalse;
}
qboolean IsMetalFlag( int flag ) {
return IsMetalMat(GetMaterialFromFlag(flag));
}

View file

@ -5,6 +5,9 @@
//-----------------------------------------------------------------------------
//
// $Log$
// Revision 1.62 2002/05/11 19:18:20 makro
// Sand surfaceparm
//
// Revision 1.61 2002/05/06 21:41:01 slicer
// Added rq3_cmd
//
@ -918,6 +921,7 @@ typedef enum {
EV_FOOTSTEP_MARBLE,
EV_FOOTSTEP_SNOW2,
EV_FOOTSTEP_HARDSTEPS,
EV_FOOTSTEP_SAND,
EV_FOOTSPLASH,
EV_FOOTWADE,
EV_SWIM,
@ -1397,11 +1401,14 @@ qboolean BG_PlayerTouchesItem( playerState_t *ps, entityState_t *item, int atTim
#define MAT_MARBLE 14
#define MAT_SNOW2 15
#define MAT_HARDSTEPS 16
#define MAT_SAND 17
int GetMaterialFromFlag( int flag );
qboolean IsMetalMat( int Material );
qboolean IsMetalFlag( int flag );
qboolean IsWoodMat( int Material );
qboolean IsWoodFlag( int flag );
holdable_t CharToItem ( char *name, holdable_t defitem );
weapon_t CharToWeapon ( char *name, weapon_t defweapon );

View file

@ -6,13 +6,14 @@
--------------------Configuration: game - Win32 Release--------------------
</h3>
<h3>Command Lines</h3>
Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP29F.tmp" with contents
Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP2DD.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_dmnet.c"
"C:\Games\Quake3\rq3source\reaction\game\bg_misc.c"
"C:\Games\Quake3\rq3source\reaction\game\bg_pmove.c"
]
Creating command line "cl.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP29F.tmp"
Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP2A0.tmp" with contents
Creating command line "cl.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP2DD.tmp"
Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP2DE.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
@ -55,10 +56,11 @@ kernel32.lib user32.lib winmm.lib /nologo /base:"0x20000000" /subsystem:windows
\reactionoutput\zcam.obj
\reactionoutput\zcam_target.obj
]
Creating command line "link.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP2A0.tmp"
Creating command line "link.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP2DE.tmp"
<h3>Output Window</h3>
Compiling...
ai_dmnet.c
bg_misc.c
bg_pmove.c
Linking...
Creating library c:\reactionoutput/qagamex86.lib and object c:\reactionoutput/qagamex86.exp