Wood, brick & ceramic impact sounds

This commit is contained in:
Andrei Drexler 2002-05-12 14:40:28 +00:00
parent fae72c7a70
commit 121cdc11b8
7 changed files with 335 additions and 95 deletions

View file

@ -5,6 +5,9 @@
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// //
// $Log$ // $Log$
// Revision 1.74 2002/05/12 14:39:48 makro
// Wood, brick & ceramic impact sounds
//
// Revision 1.73 2002/05/11 19:55:20 slicer // Revision 1.73 2002/05/11 19:55:20 slicer
// Added sub and captain to the scoreboard parser // Added sub and captain to the scoreboard parser
// //
@ -260,7 +263,11 @@ typedef enum {
IMPACTSOUND_METAL, IMPACTSOUND_METAL,
IMPACTSOUND_FLESH, IMPACTSOUND_FLESH,
// rq3 onwards // rq3 onwards
IMPACTSOUND_GLASS IMPACTSOUND_GLASS,
//Makro - added
IMPACTSOUND_BRICK,
IMPACTSOUND_WOOD,
IMPACTSOUND_CERAMIC
} impactSound_t; } impactSound_t;
@ -1174,6 +1181,18 @@ typedef struct {
sfxHandle_t sfx_glassric1; sfxHandle_t sfx_glassric1;
sfxHandle_t sfx_glassric2; sfxHandle_t sfx_glassric2;
sfxHandle_t sfx_glassric3; sfxHandle_t sfx_glassric3;
// Makro: brick ricochet sounds
sfxHandle_t sfx_brickric1;
sfxHandle_t sfx_brickric2;
sfxHandle_t sfx_brickric3;
// Makro: wood ricochet sounds
sfxHandle_t sfx_woodric1;
sfxHandle_t sfx_woodric2;
sfxHandle_t sfx_woodric3;
// Makro: ceramic ricochet sounds
sfxHandle_t sfx_ceramicric1;
sfxHandle_t sfx_ceramicric2;
sfxHandle_t sfx_ceramicric3;
// Elder: Shell tumble sound // Elder: Shell tumble sound
sfxHandle_t sfx_shelltumble; sfxHandle_t sfx_shelltumble;

View file

@ -5,6 +5,9 @@
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// //
// $Log$ // $Log$
// Revision 1.63 2002/05/12 14:39:48 makro
// Wood, brick & ceramic impact sounds
//
// Revision 1.62 2002/05/11 19:13:42 makro // Revision 1.62 2002/05/11 19:13:42 makro
// Sand surfaceparm // Sand surfaceparm
// //
@ -1052,6 +1055,17 @@ static void CG_RegisterSounds( void ) {
cgs.media.sfx_glassric1 = trap_S_RegisterSound ("sound/world/impactglass01.wav", qfalse); cgs.media.sfx_glassric1 = trap_S_RegisterSound ("sound/world/impactglass01.wav", qfalse);
cgs.media.sfx_glassric2 = trap_S_RegisterSound ("sound/world/impactglass02.wav", qfalse); cgs.media.sfx_glassric2 = trap_S_RegisterSound ("sound/world/impactglass02.wav", qfalse);
cgs.media.sfx_glassric3 = trap_S_RegisterSound ("sound/world/impactglass03.wav", qfalse); cgs.media.sfx_glassric3 = trap_S_RegisterSound ("sound/world/impactglass03.wav", qfalse);
//Makro - added
cgs.media.sfx_brickric1 = trap_S_RegisterSound ("sound/world/impactbrick01.wav", qfalse);
cgs.media.sfx_brickric2 = trap_S_RegisterSound ("sound/world/impactbrick02.wav", qfalse);
cgs.media.sfx_brickric3 = trap_S_RegisterSound ("sound/world/impactbrick03.wav", qfalse);
cgs.media.sfx_woodric1 = trap_S_RegisterSound ("sound/world/impactwood01.wav", qfalse);
cgs.media.sfx_woodric2 = trap_S_RegisterSound ("sound/world/impactwood02.wav", qfalse);
cgs.media.sfx_woodric3 = trap_S_RegisterSound ("sound/world/impactwood03.wav", qfalse);
cgs.media.sfx_ceramicric1 = trap_S_RegisterSound ("sound/world/impactceramic01.wav", qfalse);
cgs.media.sfx_ceramicric2 = trap_S_RegisterSound ("sound/world/impactceramic02.wav", qfalse);
cgs.media.sfx_ceramicric3 = trap_S_RegisterSound ("sound/world/impactceramic03.wav", qfalse);
cgs.media.sfx_shelltumble = trap_S_RegisterSound ("sound/misc/shell.wav", qfalse); cgs.media.sfx_shelltumble = trap_S_RegisterSound ("sound/misc/shell.wav", qfalse);
cgs.media.sfx_railg = trap_S_RegisterSound ("sound/weapons/railgun/railgf1a.wav", qfalse); cgs.media.sfx_railg = trap_S_RegisterSound ("sound/weapons/railgun/railgf1a.wav", qfalse);

View file

@ -5,6 +5,9 @@
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// //
// $Log$ // $Log$
// Revision 1.71 2002/05/12 14:39:48 makro
// Wood, brick & ceramic impact sounds
//
// Revision 1.70 2002/05/09 06:40:37 niceass // Revision 1.70 2002/05/09 06:40:37 niceass
// New tracers // New tracers
// //
@ -2920,6 +2923,39 @@ void CG_MissileHitWall( int weapon, int clientNum, vec3_t origin,
else else
sfx = cgs.media.sfx_glassric3; sfx = cgs.media.sfx_glassric3;
} }
//Makro - added
else if (soundType == IMPACTSOUND_BRICK)
{
mark = cgs.media.bulletMarkShader;
if ( r < 2 )
sfx = cgs.media.sfx_brickric1;
else if ( r == 2 )
sfx = cgs.media.sfx_brickric2;
else
sfx = cgs.media.sfx_brickric3;
}
//Makro - added
else if (soundType == IMPACTSOUND_WOOD)
{
mark = cgs.media.bulletMarkShader;
if ( r < 2 )
sfx = cgs.media.sfx_woodric1;
else if ( r == 2 )
sfx = cgs.media.sfx_woodric2;
else
sfx = cgs.media.sfx_woodric3;
}
//Makro - added
else if (soundType == IMPACTSOUND_CERAMIC)
{
mark = cgs.media.bulletMarkShader;
if ( r < 2 )
sfx = cgs.media.sfx_ceramicric1;
else if ( r == 2 )
sfx = cgs.media.sfx_ceramicric2;
else
sfx = cgs.media.sfx_ceramicric3;
}
else else
{ {
mark = cgs.media.bulletMarkShader; mark = cgs.media.bulletMarkShader;
@ -3603,6 +3639,42 @@ static void CG_ShotgunPellet( vec3_t start, vec3_t end, int skipNum, int shellWe
CG_MissileHitWall( WP_HANDCANNON, 0, tr.endpos, tr.plane.normal, viewDir, IMPACTSOUND_GLASS, 0 ); CG_MissileHitWall( WP_HANDCANNON, 0, tr.endpos, tr.plane.normal, viewDir, IMPACTSOUND_GLASS, 0 );
} }
} }
//Makro - added
else if ( IsWoodMat(Material) )
{
//Blaze: Changed WP_SHOTGUN to WP_M3
if (shellWeapon == WP_M3)
CG_MissileHitWall( WP_M3, 0, tr.endpos, tr.plane.normal, viewDir, IMPACTSOUND_WOOD, 0 );
else if (shellWeapon == WP_HANDCANNON && crandom() > 0.5)
{
//Elder: show only approximately every other impact mark
CG_MissileHitWall( WP_HANDCANNON, 0, tr.endpos, tr.plane.normal, viewDir, IMPACTSOUND_WOOD, 0 );
}
}
//Makro - added
else if ( Material == MAT_BRICK )
{
//Blaze: Changed WP_SHOTGUN to WP_M3
if (shellWeapon == WP_M3)
CG_MissileHitWall( WP_M3, 0, tr.endpos, tr.plane.normal, viewDir, IMPACTSOUND_BRICK, 0 );
else if (shellWeapon == WP_HANDCANNON && crandom() > 0.5)
{
//Elder: show only approximately every other impact mark
CG_MissileHitWall( WP_HANDCANNON, 0, tr.endpos, tr.plane.normal, viewDir, IMPACTSOUND_BRICK, 0 );
}
}
//Makro - added
else if ( Material == MAT_CERAMIC )
{
//Blaze: Changed WP_SHOTGUN to WP_M3
if (shellWeapon == WP_M3)
CG_MissileHitWall( WP_M3, 0, tr.endpos, tr.plane.normal, viewDir, IMPACTSOUND_CERAMIC, 0 );
else if (shellWeapon == WP_HANDCANNON && crandom() > 0.5)
{
//Elder: show only approximately every other impact mark
CG_MissileHitWall( WP_HANDCANNON, 0, tr.endpos, tr.plane.normal, viewDir, IMPACTSOUND_CERAMIC, 0 );
}
}
else else
{ {
// Elder: By default, the M3 and HC will spark on all surfaces // Elder: By default, the M3 and HC will spark on all surfaces

View file

@ -6,100 +6,197 @@
--------------------Configuration: cgame - Win32 Release-------------------- --------------------Configuration: cgame - Win32 Release--------------------
</h3> </h3>
<h3>Command Lines</h3> <h3>Command Lines</h3>
Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP1EF2.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"
"C:\Games\Quake3\rq3source\reaction\game\q_math.c"
"C:\Games\Quake3\rq3source\reaction\game\q_shared.c"
"C:\Games\Quake3\rq3source\reaction\ui\ui_shared.c"
]
Creating command line "cl.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP1EF2.tmp"
Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP1EF3.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\RSP1EF3.tmp"
<h3>Output Window</h3>
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
cg_servercmds.c
cg_snapshot.c
cg_syscalls.c
cg_view.c
cg_weapons.c
q_math.c
q_shared.c
ui_shared.c
Linking...
Creating library Release/cgamex86.lib and object Release/cgamex86.exp
<h3>Results</h3> <h3>Results</h3>
cgamex86.dll - 0 error(s), 0 warning(s) 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
[
/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"
]
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
[
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\RSP42F.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.
<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)
</pre> </pre>
</body> </body>
</html> </html>

View file

@ -5,6 +5,9 @@
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// //
// $Log$ // $Log$
// Revision 1.63 2002/05/12 14:40:28 makro
// Wood, brick & ceramic impact sounds
//
// Revision 1.62 2002/05/11 19:18:20 makro // Revision 1.62 2002/05/11 19:18:20 makro
// Sand surfaceparm // Sand surfaceparm
// //
@ -995,6 +998,9 @@ typedef enum {
EV_BULLET_HIT_METAL, // Elder: sparks EV_BULLET_HIT_METAL, // Elder: sparks
EV_BULLET_HIT_KEVLAR, // Elder: sparks EV_BULLET_HIT_KEVLAR, // Elder: sparks
EV_BULLET_HIT_GLASS, // Elder: glass mark EV_BULLET_HIT_GLASS, // Elder: glass mark
EV_BULLET_HIT_WOOD, // Makro: new sound
EV_BULLET_HIT_BRICK, // Makro: new sound
EV_BULLET_HIT_CERAMIC, // Makro: new sound
EV_SSG3000_HIT_FLESH, EV_SSG3000_HIT_FLESH,
EV_JUMPKICK, // Elder: sound + jumpkick message EV_JUMPKICK, // Elder: sound + jumpkick message
EV_EJECTBLOOD, // Elder: when bleeding, every 2s release blood EV_EJECTBLOOD, // Elder: when bleeding, every 2s release blood
@ -1402,6 +1408,8 @@ qboolean BG_PlayerTouchesItem( playerState_t *ps, entityState_t *item, int atTim
#define MAT_SNOW2 15 #define MAT_SNOW2 15
#define MAT_HARDSTEPS 16 #define MAT_HARDSTEPS 16
#define MAT_SAND 17 #define MAT_SAND 17
#define MAT_BRICK 18
#define MAT_CERAMIC 19
int GetMaterialFromFlag( int flag ); int GetMaterialFromFlag( int flag );
qboolean IsMetalMat( int Material ); qboolean IsMetalMat( int Material );

View file

@ -5,6 +5,9 @@
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// //
// $Log$ // $Log$
// Revision 1.55 2002/05/12 14:40:28 makro
// Wood, brick & ceramic impact sounds
//
// Revision 1.54 2002/05/12 13:37:25 makro // Revision 1.54 2002/05/12 13:37:25 makro
// Bugs with entities // Bugs with entities
// //
@ -1698,6 +1701,15 @@ void Weapon_SSG3000_Fire (gentity_t *ent) {
tent[unlinked] = G_TempEntity( trace.endpos, EV_BULLET_HIT_METAL ); tent[unlinked] = G_TempEntity( trace.endpos, EV_BULLET_HIT_METAL );
else if (Material == MAT_GLASS) else if (Material == MAT_GLASS)
tent[unlinked] = G_TempEntity( trace.endpos, EV_BULLET_HIT_GLASS ); tent[unlinked] = G_TempEntity( trace.endpos, EV_BULLET_HIT_GLASS );
//Makro - added
else if (IsWoodMat(Material))
tent[unlinked] = G_TempEntity( trace.endpos, EV_BULLET_HIT_WOOD );
//Makro - added
else if (Material == MAT_BRICK)
tent[unlinked] = G_TempEntity( trace.endpos, EV_BULLET_HIT_BRICK );
//Makro - added
else if (Material == MAT_CERAMIC)
tent[unlinked] = G_TempEntity( trace.endpos, EV_BULLET_HIT_CERAMIC );
else else
tent[unlinked] = G_TempEntity( trace.endpos, EV_BULLET_HIT_WALL ); tent[unlinked] = G_TempEntity( trace.endpos, EV_BULLET_HIT_WALL );
@ -1757,6 +1769,15 @@ void Weapon_SSG3000_Fire (gentity_t *ent) {
tent[unlinked] = G_TempEntity( trace.endpos, EV_BULLET_HIT_METAL ); tent[unlinked] = G_TempEntity( trace.endpos, EV_BULLET_HIT_METAL );
else if (Material == MAT_GLASS) else if (Material == MAT_GLASS)
tent[unlinked] = G_TempEntity( trace.endpos, EV_BULLET_HIT_GLASS ); tent[unlinked] = G_TempEntity( trace.endpos, EV_BULLET_HIT_GLASS );
//Makro - added
else if (IsWoodMat(Material))
tent[unlinked] = G_TempEntity( trace.endpos, EV_BULLET_HIT_WOOD );
//Makro - added
else if (Material == MAT_BRICK)
tent[unlinked] = G_TempEntity( trace.endpos, EV_BULLET_HIT_BRICK );
//Makro - added
else if (Material == MAT_CERAMIC)
tent[unlinked] = G_TempEntity( trace.endpos, EV_BULLET_HIT_CERAMIC );
else else
tent[unlinked] = G_TempEntity( trace.endpos, EV_BULLET_HIT_WALL ); tent[unlinked] = G_TempEntity( trace.endpos, EV_BULLET_HIT_WALL );
@ -1828,6 +1849,15 @@ void Weapon_SSG3000_Fire (gentity_t *ent) {
tentWall = G_TempEntity( trace.endpos, EV_BULLET_HIT_METAL ); tentWall = G_TempEntity( trace.endpos, EV_BULLET_HIT_METAL );
else if (Material == MAT_GLASS) else if (Material == MAT_GLASS)
tentWall = G_TempEntity( trace.endpos, EV_BULLET_HIT_GLASS ); tentWall = G_TempEntity( trace.endpos, EV_BULLET_HIT_GLASS );
//Makro - added
else if (IsWoodMat(Material))
tentWall = G_TempEntity( trace.endpos, EV_BULLET_HIT_WOOD );
//Makro - added
else if (Material == MAT_BRICK)
tentWall = G_TempEntity( trace.endpos, EV_BULLET_HIT_BRICK );
//Makro - added
else if (Material == MAT_CERAMIC)
tentWall = G_TempEntity( trace.endpos, EV_BULLET_HIT_CERAMIC );
else else
tentWall = G_TempEntity( trace.endpos, EV_BULLET_HIT_WALL ); tentWall = G_TempEntity( trace.endpos, EV_BULLET_HIT_WALL );

View file

@ -6,13 +6,13 @@
--------------------Configuration: game - Win32 Release-------------------- --------------------Configuration: game - Win32 Release--------------------
</h3> </h3>
<h3>Command Lines</h3> <h3>Command Lines</h3>
Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP3F2.tmp" with contents Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP445.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 /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_weapon.c" "C:\Games\Quake3\rq3source\reaction\game\g_weapon.c"
] ]
Creating command line "cl.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP3F2.tmp" Creating command line "cl.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP445.tmp"
Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP3F3.tmp" with contents Creating temporary file "D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP446.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" 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_chat.obj
@ -55,11 +55,11 @@ kernel32.lib user32.lib winmm.lib /nologo /base:"0x20000000" /subsystem:windows
\reactionoutput\zcam.obj \reactionoutput\zcam.obj
\reactionoutput\zcam_target.obj \reactionoutput\zcam_target.obj
] ]
Creating command line "link.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP3F3.tmp" Creating command line "link.exe @D:\DOCUME~1\Andrei\LOCALS~1\Temp\RSP446.tmp"
<h3>Output Window</h3> <h3>Output Window</h3>
Compiling... Compiling...
g_weapon.c g_weapon.c
C:\Games\Quake3\rq3source\reaction\game\g_weapon.c(2639) : warning C4701: local variable 'tr' may be used without having been initialized C:\Games\Quake3\rq3source\reaction\game\g_weapon.c(2669) : warning C4701: local variable 'tr' may be used without having been initialized
Linking... Linking...
Creating library c:\reactionoutput/qagamex86.lib and object c:\reactionoutput/qagamex86.exp Creating library c:\reactionoutput/qagamex86.lib and object c:\reactionoutput/qagamex86.exp