mirror of
https://github.com/jmarshall23/DoomRTX.git
synced 2026-08-16 08:10:32 +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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user