mirror of
https://github.com/jmarshall23/DoomRTX.git
synced 2026-08-18 11:44:51 +02:00
Added BC7 compression.
This commit is contained in:
@@ -167,7 +167,7 @@ stateResult_t rvmWeaponBFG::Fire( stateParms_t* parms )
|
||||
FIRE_DONE
|
||||
};
|
||||
|
||||
if( ammoClip == 0 && owner->AmmoAvailable() && parms->stage == 0 )
|
||||
if( ammoClip == 0 && owner->AmmoAvailable() && owner->AutoReload() && parms->stage == 0 )
|
||||
{
|
||||
//owner->WeaponState( WP_RELOAD, PISTOL_IDLE_TO_RELOAD );
|
||||
owner->Reload();
|
||||
@@ -184,21 +184,17 @@ stateResult_t rvmWeaponBFG::Fire( stateParms_t* parms )
|
||||
return SRESULT_WAIT;
|
||||
|
||||
case FIRE_FUSING:
|
||||
if( !owner->IsFiring() )
|
||||
if( ( gameLocal.time > fuse_start + SEC2MS( BFG_MINRELEASETIME ) ) && !owner->IsFiring() )
|
||||
{
|
||||
parms->stage = FIRE_FIRE;
|
||||
}
|
||||
else if( gameLocal.time > gameLocal.time + SEC2MS( BFG_MINRELEASETIME ) && !owner->IsFiring() )
|
||||
{
|
||||
parms->stage = FIRE_SHORTFUSE;
|
||||
}
|
||||
else if( gameLocal.time >= fuse_end )
|
||||
{
|
||||
parms->stage = FIRE_SHORTFUSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
powerLevel = ( gameLocal.time - fuse_start ) / BFG_FUSE;
|
||||
powerLevel = (float)( gameLocal.time - fuse_start ) / SEC2MS( BFG_FUSE );
|
||||
owner->Event_SetColor( powerLevel, powerLevel, powerLevel );
|
||||
owner->Event_SetGuiFloat( "powerlevel", powerLevel );
|
||||
}
|
||||
@@ -219,7 +215,7 @@ stateResult_t rvmWeaponBFG::Fire( stateParms_t* parms )
|
||||
case FIRE_SHORTFUSEWAIT:
|
||||
if( !owner->IsFiring() || gameLocal.time >= fuse_end )
|
||||
{
|
||||
powerLevel = ( gameLocal.time - fuse_start ) / BFG_FUSE;
|
||||
powerLevel = (float)( gameLocal.time - fuse_start ) / SEC2MS( BFG_FUSE );
|
||||
owner->Event_SetGuiFloat( "powerlevel", powerLevel );
|
||||
parms->stage = FIRE_FIRE;
|
||||
}
|
||||
@@ -233,7 +229,8 @@ stateResult_t rvmWeaponBFG::Fire( stateParms_t* parms )
|
||||
}
|
||||
else
|
||||
{
|
||||
time_held = gameLocal.time - fuse_start;
|
||||
time_held = MS2SEC( gameLocal.time - fuse_start );
|
||||
power = BFG_MAXPOWER * ( time_held / BFG_FUSE );
|
||||
if( power > BFG_MAXPOWER )
|
||||
{
|
||||
power = BFG_MAXPOWER;
|
||||
@@ -242,7 +239,7 @@ stateResult_t rvmWeaponBFG::Fire( stateParms_t* parms )
|
||||
owner->Event_PlayAnim( ANIMCHANNEL_ALL, "fire", false );
|
||||
fire_time = gameLocal.time;
|
||||
|
||||
owner->Event_LaunchProjectiles( BFG_NUMPROJECTILES, spread, 0, 1, 1 );
|
||||
owner->Event_LaunchProjectiles( BFG_NUMPROJECTILES, spread, time_held, 1, power );
|
||||
parms->stage = FIRE_FIRE_ANIMWAIT;
|
||||
}
|
||||
return SRESULT_WAIT;
|
||||
@@ -254,7 +251,7 @@ stateResult_t rvmWeaponBFG::Fire( stateParms_t* parms )
|
||||
}
|
||||
else
|
||||
{
|
||||
intensity = 1 - ( ( gameLocal.time - fire_time ) / 0.5 );
|
||||
intensity = 1.0f - ( (float)( gameLocal.time - fire_time ) / SEC2MS( 0.5f ) );
|
||||
if( intensity < 0 )
|
||||
{
|
||||
intensity = 0;
|
||||
@@ -270,7 +267,7 @@ stateResult_t rvmWeaponBFG::Fire( stateParms_t* parms )
|
||||
}
|
||||
else
|
||||
{
|
||||
powerLevel -= SEC2MS( 0.05 ); // TODO: DELTA TIME THIS!!
|
||||
powerLevel -= 0.05f;
|
||||
owner->Event_SetGuiFloat( "powerlevel", powerLevel );
|
||||
}
|
||||
return SRESULT_WAIT;
|
||||
@@ -350,4 +347,4 @@ stateResult_t rvmWeaponBFG::Reload( stateParms_t* parms )
|
||||
return SRESULT_WAIT;
|
||||
}
|
||||
return SRESULT_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -173,7 +173,7 @@ stateResult_t rvmWeaponDoubleShotgun::Fire( stateParms_t* parms )
|
||||
FIRE_WAIT
|
||||
};
|
||||
|
||||
if( ammoClip == 0 && owner->AmmoAvailable() && parms->stage == 0 )
|
||||
if( ammoClip == 0 && owner->AmmoAvailable() && owner->AutoReload() && parms->stage == 0 )
|
||||
{
|
||||
//owner->WeaponState( WP_RELOAD, PISTOL_IDLE_TO_RELOAD );
|
||||
owner->Reload();
|
||||
@@ -247,4 +247,4 @@ rvmWeaponDoubleShotgun::EjectBrass
|
||||
void rvmWeaponDoubleShotgun::EjectBrass( void )
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -143,7 +143,7 @@ stateResult_t rvmWeaponMachineGun::Fire( stateParms_t* parms )
|
||||
FIRE_WAIT
|
||||
};
|
||||
|
||||
if( ammoClip == 0 && owner->AmmoAvailable() && parms->stage == 0 )
|
||||
if( ammoClip == 0 && owner->AmmoAvailable() && owner->AutoReload() && parms->stage == 0 )
|
||||
{
|
||||
//owner->WeaponState( WP_RELOAD, PISTOL_IDLE_TO_RELOAD );
|
||||
owner->Reload();
|
||||
@@ -153,7 +153,7 @@ stateResult_t rvmWeaponMachineGun::Fire( stateParms_t* parms )
|
||||
switch( parms->stage )
|
||||
{
|
||||
case FIRE_NOTSET:
|
||||
next_attack = gameLocal.realClientTime + MS2SEC( MACHINEGUN_FIRERATE );
|
||||
next_attack = gameLocal.realClientTime + SEC2MS( MACHINEGUN_FIRERATE );
|
||||
owner->Event_LaunchProjectiles( MACHINEGUN_NUMPROJECTILES, spread, 0, 1, 1 );
|
||||
|
||||
owner->Event_PlayAnim( ANIMCHANNEL_ALL, "fire", false );
|
||||
@@ -200,4 +200,4 @@ stateResult_t rvmWeaponMachineGun::Reload( stateParms_t* parms )
|
||||
return SRESULT_WAIT;
|
||||
}
|
||||
return SRESULT_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -147,7 +147,7 @@ stateResult_t rvmWeaponPistol::Fire( stateParms_t* parms )
|
||||
FIRE_WAIT
|
||||
};
|
||||
|
||||
if( ammoClip == 0 && owner->AmmoAvailable() && parms->stage == 0 )
|
||||
if( ammoClip == 0 && owner->AmmoAvailable() && owner->AutoReload() && parms->stage == 0 )
|
||||
{
|
||||
//owner->WeaponState( WP_RELOAD, PISTOL_IDLE_TO_RELOAD );
|
||||
owner->Reload();
|
||||
@@ -212,4 +212,4 @@ stateResult_t rvmWeaponPistol::Reload( stateParms_t* parms )
|
||||
return SRESULT_WAIT;
|
||||
}
|
||||
return SRESULT_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -141,7 +141,7 @@ stateResult_t rvmWeaponPlasmaGun::Fire( stateParms_t* parms )
|
||||
FIRE_WAIT
|
||||
};
|
||||
|
||||
if( ammoClip == 0 && owner->AmmoAvailable() && parms->stage == 0 )
|
||||
if( ammoClip == 0 && owner->AmmoAvailable() && owner->AutoReload() && parms->stage == 0 )
|
||||
{
|
||||
//owner->WeaponState( WP_RELOAD, PISTOL_IDLE_TO_RELOAD );
|
||||
owner->Reload();
|
||||
@@ -200,4 +200,4 @@ stateResult_t rvmWeaponPlasmaGun::Reload( stateParms_t* parms )
|
||||
}
|
||||
|
||||
return SRESULT_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -171,7 +171,7 @@ stateResult_t rvmWeaponRocketLauncher::Fire( stateParms_t* parms )
|
||||
FIRE_WAIT
|
||||
};
|
||||
|
||||
if( ammoClip == 0 && owner->AmmoAvailable() && parms->stage == 0 )
|
||||
if( ammoClip == 0 && owner->AmmoAvailable() && owner->AutoReload() && parms->stage == 0 )
|
||||
{
|
||||
//owner->WeaponState( WP_RELOAD, PISTOL_IDLE_TO_RELOAD );
|
||||
owner->Reload();
|
||||
@@ -230,4 +230,4 @@ stateResult_t rvmWeaponRocketLauncher::Reload( stateParms_t* parms )
|
||||
return SRESULT_WAIT;
|
||||
}
|
||||
return SRESULT_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -146,7 +146,7 @@ stateResult_t rvmWeaponShotgun::Fire( stateParms_t* parms )
|
||||
FIRE_WAIT
|
||||
};
|
||||
|
||||
if( ammoClip == 0 && owner->AmmoAvailable() && parms->stage == 0 )
|
||||
if( ammoClip == 0 && owner->AmmoAvailable() && owner->AutoReload() && parms->stage == 0 )
|
||||
{
|
||||
//owner->WeaponState( WP_RELOAD, PISTOL_IDLE_TO_RELOAD );
|
||||
owner->Reload();
|
||||
@@ -197,6 +197,7 @@ stateResult_t rvmWeaponShotgun::Reload( stateParms_t* parms )
|
||||
enum RELOAD_State
|
||||
{
|
||||
RELOAD_NOTSET = 0,
|
||||
RELOAD_START_WAIT,
|
||||
RELOAD_WAIT,
|
||||
RELOAD_END
|
||||
};
|
||||
@@ -207,6 +208,15 @@ stateResult_t rvmWeaponShotgun::Reload( stateParms_t* parms )
|
||||
switch( parms->stage )
|
||||
{
|
||||
case RELOAD_NOTSET:
|
||||
owner->Event_PlayAnim( ANIMCHANNEL_ALL, "reload_start", false );
|
||||
parms->stage = RELOAD_START_WAIT;
|
||||
return SRESULT_WAIT;
|
||||
|
||||
case RELOAD_START_WAIT:
|
||||
if( !owner->Event_AnimDone( ANIMCHANNEL_ALL, 0 ) )
|
||||
{
|
||||
return SRESULT_WAIT;
|
||||
}
|
||||
owner->Event_PlayAnim( ANIMCHANNEL_ALL, "reload_loop", false );
|
||||
parms->stage = RELOAD_WAIT;
|
||||
return SRESULT_WAIT;
|
||||
@@ -216,8 +226,8 @@ stateResult_t rvmWeaponShotgun::Reload( stateParms_t* parms )
|
||||
{
|
||||
if( ( ammoClip < clip_size ) && ( ammoClip < ammoAvail ) )
|
||||
{
|
||||
parms->stage = RELOAD_NOTSET;
|
||||
owner->Event_AddToClip( SHOTGUN_RELOADRATE );
|
||||
owner->Event_PlayAnim( ANIMCHANNEL_ALL, "reload_loop", false );
|
||||
return SRESULT_WAIT;
|
||||
}
|
||||
else
|
||||
@@ -240,4 +250,4 @@ stateResult_t rvmWeaponShotgun::Reload( stateParms_t* parms )
|
||||
|
||||
|
||||
return SRESULT_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user