mirror of
https://github.com/CookiePLMonster/SilentPatch.git
synced 2024-11-25 14:52:30 +01:00
Sweeper animations
Fixed Phoenix anims
This commit is contained in:
parent
07776b44cb
commit
5f6ad2157d
@ -260,7 +260,12 @@ void CAutomobile::PreRender()
|
||||
|
||||
if ( FLAUtils::GetExtendedID( &m_nModelIndex ) == 603 )
|
||||
{
|
||||
ProcessPhoenixBlower();
|
||||
ProcessPhoenixBlower( 603 );
|
||||
}
|
||||
|
||||
if ( FLAUtils::GetExtendedID( &m_nModelIndex ) == 574 )
|
||||
{
|
||||
ProcessSweeper();
|
||||
}
|
||||
}
|
||||
|
||||
@ -300,10 +305,20 @@ void CAutomobile::ResetFrames()
|
||||
}
|
||||
}
|
||||
|
||||
void CAutomobile::ProcessPhoenixBlower()
|
||||
void CAutomobile::ProcessPhoenixBlower( int32_t modelID )
|
||||
{
|
||||
if ( m_pCarNode[20] == nullptr ) return;
|
||||
|
||||
RpClump* pOrigClump = reinterpret_cast<RpClump*>(ms_modelInfoPtrs[ modelID ]->pRwObject);
|
||||
if ( pOrigClump != nullptr )
|
||||
{
|
||||
RwFrame* origFrame = GetFrameFromName( RpClumpGetFrame(pOrigClump), GetFrameNodeName(m_pCarNode[20]) );
|
||||
if ( origFrame != nullptr )
|
||||
{
|
||||
*RwFrameGetMatrix(m_pCarNode[20]) = *RwFrameGetMatrix(origFrame);
|
||||
}
|
||||
}
|
||||
|
||||
float finalAngle = 0.0f;
|
||||
if ( m_fGasPedal > 0.0f )
|
||||
{
|
||||
@ -324,5 +339,29 @@ void CAutomobile::ProcessPhoenixBlower()
|
||||
}
|
||||
}
|
||||
|
||||
SetComponentRotation( m_pCarNode[20], 0, finalAngle, true );
|
||||
SetComponentRotation( m_pCarNode[20], 0, finalAngle, false );
|
||||
}
|
||||
|
||||
void CAutomobile::ProcessSweeper()
|
||||
{
|
||||
if ( !m_nVehicleFlags.bEngineOn ) return;
|
||||
|
||||
if ( m_pCarNode[20] == nullptr )
|
||||
{
|
||||
m_pCarNode[20] = GetFrameFromName( RpClumpGetFrame(m_pRwObject), "misca" );
|
||||
}
|
||||
if ( m_pCarNode[21] == nullptr )
|
||||
{
|
||||
m_pCarNode[21] = GetFrameFromName( RpClumpGetFrame(m_pRwObject), "miscb" );
|
||||
}
|
||||
|
||||
const float angle = CTimer::m_fTimeStep * 0.5f;
|
||||
if ( m_pCarNode[20] != nullptr )
|
||||
{
|
||||
SetComponentRotation( m_pCarNode[20], 2, angle, false );
|
||||
}
|
||||
if ( m_pCarNode[21] != nullptr )
|
||||
{
|
||||
SetComponentRotation( m_pCarNode[21], 2, -angle, false );
|
||||
}
|
||||
}
|
||||
|
@ -170,7 +170,8 @@ public:
|
||||
void Fix_SilentPatch();
|
||||
|
||||
void ResetFrames();
|
||||
void ProcessPhoenixBlower();
|
||||
void ProcessPhoenixBlower( int32_t modelID );
|
||||
void ProcessSweeper();
|
||||
|
||||
static void (CAutomobile::*orgPreRender)();
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user