From 949ab8c2b0329201f0c0103460fa281580849c89 Mon Sep 17 00:00:00 2001 From: Scott Brooks Date: Sat, 25 Aug 2001 00:05:20 +0000 Subject: [PATCH] ssg animations --- reaction/cgame/cg_weapons.c | 7 ++++++- reaction/game/bg_pmove.c | 24 ++++++++++++++++-------- reaction/game/g_cmds.c | 5 ++++- reaction/game/game.plg | 18 ++++++++++-------- 4 files changed, 36 insertions(+), 18 deletions(-) diff --git a/reaction/cgame/cg_weapons.c b/reaction/cgame/cg_weapons.c index 3871fd43..61675599 100644 --- a/reaction/cgame/cg_weapons.c +++ b/reaction/cgame/cg_weapons.c @@ -796,6 +796,10 @@ void CG_RegisterWeapon( int weaponNum ) { weaponInfo->flashSound[0] = trap_S_RegisterSound( "sound/weapons/ssg3000/ssgfire.wav", qfalse ); weaponInfo->ejectBrassFunc = CG_MachineGunEjectBrass; cgs.media.bulletExplosionShader = trap_R_RegisterShader( "bulletExplosion" ); + Com_sprintf( filename, sizeof(filename), "models/weapons2/ssg3000/animation.cfg" ); + if ( !CG_ParseWeaponAnimFile(filename, weaponInfo) ) { + Com_Printf("Failed to load weapon animation file %s\n", filename); + } break; case WP_MP5: @@ -1510,7 +1514,8 @@ void CG_AddViewWeapon( playerState_t *ps ) { if ( cg_gun_frame.integer || ps->weapon == WP_PISTOL || ps->weapon == WP_M3 || - ps->weapon == WP_HANDCANNON) { + ps->weapon == WP_HANDCANNON || + ps->weapon == WP_SSG3000) { // development tool hand.frame = hand.oldframe = cg_gun_frame.integer; hand.backlerp = 0; diff --git a/reaction/game/bg_pmove.c b/reaction/game/bg_pmove.c index c9f68c9e..8a7d9a5a 100644 --- a/reaction/game/bg_pmove.c +++ b/reaction/game/bg_pmove.c @@ -1830,7 +1830,8 @@ static void PM_BeginWeaponChange( int weapon ) { //Elder: temp hack if (pm->ps->weapon == WP_PISTOL || pm->ps->weapon == WP_M3 || - pm->ps->weapon == WP_HANDCANNON) + pm->ps->weapon == WP_HANDCANNON || + pm->ps->weapon == WP_SSG3000) PM_StartWeaponAnim(WP_ANIM_DISARM); } @@ -1838,7 +1839,8 @@ static void PM_BeginWeaponChange( int weapon ) { //Elder: temp hack if (pm->ps->weapon == WP_PISTOL || pm->ps->weapon == WP_M3 || - pm->ps->weapon == WP_HANDCANNON) + pm->ps->weapon == WP_HANDCANNON || + pm->ps->weapon == WP_SSG3000) PM_StartWeaponAnim(WP_ANIM_DISARM); PM_StartTorsoAnim( TORSO_DROP ); @@ -1912,7 +1914,8 @@ static void PM_FinishWeaponChange( void ) { //Elder: temp hack if (pm->ps->weapon == WP_PISTOL || pm->ps->weapon == WP_M3 || - pm->ps->weapon == WP_HANDCANNON) + pm->ps->weapon == WP_HANDCANNON || + pm->ps->weapon == WP_SSG3000) PM_StartWeaponAnim(WP_ANIM_ACTIVATE); PM_StartTorsoAnim( TORSO_RAISE ); @@ -1938,7 +1941,8 @@ static void PM_TorsoAnimation( void ) { //Elder: temp hack if (pm->ps->weapon == WP_PISTOL || pm->ps->weapon == WP_M3 || - pm->ps->weapon == WP_HANDCANNON) + pm->ps->weapon == WP_HANDCANNON || + pm->ps->weapon == WP_SSG3000) PM_ContinueWeaponAnim( WP_ANIM_IDLE ); // PM_ContinueWeaponAnim( WP_ANIM_READY ); @@ -2097,7 +2101,8 @@ static void PM_Weapon( void ) { if (pm->ps->weaponstate == WEAPON_READY && (pm->ps->weapon == WP_PISTOL || pm->ps->weapon == WP_M3 || - pm->ps->weapon == WP_HANDCANNON)) + pm->ps->weapon == WP_HANDCANNON || + pm->ps->weapon == WP_SSG3000)) PM_ContinueWeaponAnim(WP_ANIM_IDLE); } } @@ -2142,7 +2147,8 @@ static void PM_Weapon( void ) { // temp hack if (pm->ps->weapon == WP_PISTOL || pm->ps->weapon == WP_M3 || - pm->ps->weapon == WP_HANDCANNON) + pm->ps->weapon == WP_HANDCANNON || + pm->ps->weapon == WP_SSG3000) PM_StartWeaponAnim( WP_ANIM_IDLE ); return; } @@ -2229,7 +2235,8 @@ static void PM_Weapon( void ) { // Elder: don't repeat if on semi-auto if (pm->ps->weapon == WP_PISTOL || pm->ps->weapon == WP_M3 || - pm->ps->weapon == WP_HANDCANNON) + pm->ps->weapon == WP_HANDCANNON || + pm->ps->weapon == WP_SSG3000) PM_StartWeaponAnim( WP_ANIM_FIRE ); } } @@ -2846,7 +2853,8 @@ void PmoveSingle (pmove_t *pmove) { //Elder: temp hack to avoid messing up fast-reloads if (pm->ps->weapon == WP_PISTOL || pm->ps->weapon == WP_M3 || - pm->ps->weapon == WP_HANDCANNON ) + pm->ps->weapon == WP_HANDCANNON || + pm->ps->weapon == WP_SSG3000) PM_WeaponAnimation(); // torso animation diff --git a/reaction/game/g_cmds.c b/reaction/game/g_cmds.c index ed17c367..7be4f7b2 100644 --- a/reaction/game/g_cmds.c +++ b/reaction/game/g_cmds.c @@ -1679,7 +1679,8 @@ void Cmd_Bandage (gentity_t *ent) //Elder: temp hack if (ent->client->ps.weapon == WP_PISTOL || ent->client->ps.weapon == WP_M3 || - ent->client->ps.weapon == WP_HANDCANNON) + ent->client->ps.weapon == WP_HANDCANNON || + ent->client->ps.weapon == WP_SSG3000) { ent->client->ps.generic1 = ( ( ent->client->ps.generic1 & ANIM_TOGGLEBIT ) ^ ANIM_TOGGLEBIT ) | WP_ANIM_DISARM; @@ -1938,6 +1939,8 @@ void Cmd_Reload( gentity_t *ent ) if (ent->client->fastReloads) { //Fast reload //G_Printf("Using fast reloads\n"); + ent->client->ps.generic1 = ( ( ent->client->ps.generic1 & ANIM_TOGGLEBIT ) + ^ ANIM_TOGGLEBIT ) | WP_ANIM_RELOAD; delay = RQ3_SSG3000_FAST_RELOAD_DELAY; ent->client->fastReloads = 1; } diff --git a/reaction/game/game.plg b/reaction/game/game.plg index e13ab091..d415614d 100644 --- a/reaction/game/game.plg +++ b/reaction/game/game.plg @@ -6,7 +6,7 @@ --------------------Configuration: game - Win32 Debug--------------------

Command Lines

-Creating temporary file "C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSPED.tmp" with contents +Creating temporary file "C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSP20F.tmp" with contents [ /nologo /G5 /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "BUILDING_REF_GL" /D "DEBUG" /FR"c:\reactionoutput/" /Fp"c:\reactionoutput/game.pch" /YX /Fo"c:\reactionoutput/" /Fd"c:\reactionoutput/" /FD /c "c:\reaction\game\ai_chat.c" @@ -43,8 +43,8 @@ Creating temporary file "C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSPED.tmp" with cont "c:\reaction\game\g_weapon.c" "c:\reaction\game\rxn_game.c" ] -Creating command line "cl.exe @C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSPED.tmp" -Creating temporary file "C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSPEE.tmp" with contents +Creating command line "cl.exe @C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSP20F.tmp" +Creating temporary file "C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSP210.tmp" with contents [ kernel32.lib user32.lib winmm.lib /nologo /base:"0x20000000" /subsystem:windows /dll /incremental:yes /pdb:"c:\reactionoutput/qagamex86.pdb" /map:"c:\reactionoutput/qagamex86.map" /debug /machine:I386 /def:".\game.def" /out:"..\Debug/qagamex86.dll" /implib:"c:\reactionoutput/qagamex86.lib" \reactionoutput\ai_chat.obj @@ -83,7 +83,7 @@ kernel32.lib user32.lib winmm.lib /nologo /base:"0x20000000" /subsystem:windows \reactionoutput\q_shared.obj \reactionoutput\rxn_game.obj ] -Creating command line "link.exe @C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSPEE.tmp" +Creating command line "link.exe @C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSP210.tmp"

Output Window

Compiling... ai_chat.c @@ -97,14 +97,17 @@ bg_misc.c bg_pmove.c bg_slidemove.c g_active.c -c:\reaction\game\g_active.c(25) : warning C4101: 'tent' : unreferenced local variable g_arenas.c g_bot.c g_client.c g_cmds.c +c:\reaction\game\g_cmds.c(1683) : error C2065: 'pm' : undeclared identifier +c:\reaction\game\g_cmds.c(1683) : error C2223: left of '->ps' must point to struct/union g_combat.c g_fileio.c g_items.c +c:\reaction\game\g_items.c(1572) : warning C4101: 'rq3_item' : unreferenced local variable +c:\reaction\game\g_items.c(1573) : warning C4101: 'rq3_temp' : unreferenced local variable g_main.c g_mem.c g_misc.c @@ -120,13 +123,12 @@ g_trigger.c g_utils.c g_weapon.c rxn_game.c -Linking... - Creating library c:\reactionoutput/qagamex86.lib and object c:\reactionoutput/qagamex86.exp +Error executing cl.exe.

Results

-qagamex86.dll - 0 error(s), 1 warning(s) +qagamex86.dll - 2 error(s), 2 warning(s)