mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-08 15:44:56 +00:00
Use pas::EAnimationState in CPAS*
This commit is contained in:
@@ -46,7 +46,8 @@ s32 CGSComboFire::SetAnim(CAnimData& data, s32 gunId, s32 loopState, CStateManag
|
||||
useLoopState = loopState;
|
||||
x10_25_idle = false;
|
||||
const CPASDatabase& pas = data.GetCharacterInfo().GetPASDatabase();
|
||||
CPASAnimParmData parms(4, CPASAnimParm::FromInt32(gunId), CPASAnimParm::FromEnum(useLoopState));
|
||||
CPASAnimParmData parms(pas::EAnimationState::Death, CPASAnimParm::FromInt32(gunId),
|
||||
CPASAnimParm::FromEnum(useLoopState));
|
||||
auto anim = pas.FindBestAnimation(parms, *mgr.GetActiveRandom(), -1);
|
||||
x10_24_over = false;
|
||||
xc_gunId = gunId;
|
||||
|
||||
@@ -12,10 +12,10 @@ bool CGSFidget::Update(CAnimData& data, float dt, CStateManager& mgr) {
|
||||
|
||||
s32 CGSFidget::SetAnim(CAnimData& data, s32 type, s32 gunId, s32 animSet, CStateManager& mgr) {
|
||||
const CPASDatabase& pas = data.GetCharacterInfo().GetPASDatabase();
|
||||
CPASAnimParmData parms(1, CPASAnimParm::FromEnum(type), CPASAnimParm::FromInt32(gunId),
|
||||
CPASAnimParmData parms(pas::EAnimationState::Getup, CPASAnimParm::FromEnum(type), CPASAnimParm::FromInt32(gunId),
|
||||
CPASAnimParm::FromInt32(animSet));
|
||||
auto anim = pas.FindBestAnimation(parms, *mgr.GetActiveRandom(), -1);
|
||||
bool loop = pas.GetAnimState(1)->GetAnimParmData(anim.second, 3).GetBoolValue();
|
||||
bool loop = pas.GetAnimState(pas::EAnimationState::Getup)->GetAnimParmData(anim.second, 3).GetBoolValue();
|
||||
x14_gunId = gunId;
|
||||
x18_animSet = animSet;
|
||||
if (anim.second != -1) {
|
||||
@@ -28,7 +28,7 @@ s32 CGSFidget::SetAnim(CAnimData& data, s32 type, s32 gunId, s32 animSet, CState
|
||||
}
|
||||
|
||||
void CGSFidget::LoadAnimAsync(CAnimData& data, s32 type, s32 gunId, s32 animSet, CStateManager& mgr) {
|
||||
CPASAnimParmData parms(1, CPASAnimParm::FromEnum(type), CPASAnimParm::FromInt32(gunId),
|
||||
CPASAnimParmData parms(pas::EAnimationState::Getup, CPASAnimParm::FromEnum(type), CPASAnimParm::FromInt32(gunId),
|
||||
CPASAnimParm::FromInt32(animSet));
|
||||
auto anim = data.GetCharacterInfo().GetPASDatabase().FindBestAnimation(parms, *mgr.GetActiveRandom(), -1);
|
||||
if (anim.second != -1)
|
||||
|
||||
@@ -36,11 +36,11 @@ s32 CGSFreeLook::SetAnim(CAnimData& data, s32 gunId, s32 setId, s32 loopState, C
|
||||
useLoopState = loopState;
|
||||
x14_idle = false;
|
||||
const CPASDatabase& pas = data.GetCharacterInfo().GetPASDatabase();
|
||||
CPASAnimParmData parms(3, CPASAnimParm::FromInt32(gunId), CPASAnimParm::FromInt32(setId),
|
||||
CPASAnimParmData parms(pas::EAnimationState::Step, CPASAnimParm::FromInt32(gunId), CPASAnimParm::FromInt32(setId),
|
||||
CPASAnimParm::FromEnum(useLoopState));
|
||||
auto anim = pas.FindBestAnimation(parms, *mgr.GetActiveRandom(), -1);
|
||||
xc_gunId = gunId;
|
||||
x10_setId = pas.GetAnimState(3)->GetAnimParmData(anim.second, 1).GetInt32Value();
|
||||
x10_setId = pas.GetAnimState(pas::EAnimationState::Step)->GetAnimParmData(anim.second, 1).GetInt32Value();
|
||||
x8_loopState = useLoopState;
|
||||
if (delay != 0.f) {
|
||||
x0_delay = delay;
|
||||
|
||||
@@ -48,8 +48,9 @@ void CGunController::EnterStruck(CStateManager& mgr, float angle, bool bigStrike
|
||||
}
|
||||
|
||||
const CPASDatabase& pasDatabase = x0_modelData.GetAnimationData()->GetCharacterInfo().GetPASDatabase();
|
||||
CPASAnimParmData parms(2, CPASAnimParm::FromInt32(x4_freeLook.GetGunId()), CPASAnimParm::FromReal32(angle),
|
||||
CPASAnimParm::FromBool(bigStrike), CPASAnimParm::FromBool(b2));
|
||||
CPASAnimParmData parms(pas::EAnimationState::LieOnGround, CPASAnimParm::FromInt32(x4_freeLook.GetGunId()),
|
||||
CPASAnimParm::FromReal32(angle), CPASAnimParm::FromBool(bigStrike),
|
||||
CPASAnimParm::FromBool(b2));
|
||||
std::pair<float, s32> anim = pasDatabase.FindBestAnimation(parms, *mgr.GetActiveRandom(), -1);
|
||||
x0_modelData.GetAnimationData()->EnableLooping(false);
|
||||
CAnimPlaybackParms aparms(anim.second, -1, 1.f, true);
|
||||
@@ -75,7 +76,7 @@ void CGunController::EnterIdle(CStateManager& mgr) {
|
||||
}
|
||||
|
||||
const CPASDatabase& pasDatabase = x0_modelData.GetAnimationData()->GetCharacterInfo().GetPASDatabase();
|
||||
CPASAnimParmData parms(5, parm);
|
||||
CPASAnimParmData parms(pas::EAnimationState::Locomotion, parm);
|
||||
std::pair<float, s32> anim = pasDatabase.FindBestAnimation(parms, *mgr.GetActiveRandom(), -1);
|
||||
x0_modelData.GetAnimationData()->EnableLooping(false);
|
||||
CAnimPlaybackParms aparms(anim.second, -1, 1.f, true);
|
||||
@@ -161,7 +162,8 @@ void CGunController::ReturnToDefault(CStateManager& mgr, float dt, bool setState
|
||||
|
||||
void CGunController::ReturnToBasePosition(CStateManager& mgr, float) {
|
||||
const CPASDatabase& pasDatabase = x0_modelData.GetAnimationData()->GetCharacterInfo().GetPASDatabase();
|
||||
std::pair<float, s32> anim = pasDatabase.FindBestAnimation(CPASAnimParmData(6), *mgr.GetActiveRandom(), -1);
|
||||
std::pair<float, s32> anim =
|
||||
pasDatabase.FindBestAnimation(CPASAnimParmData(pas::EAnimationState::KnockBack), *mgr.GetActiveRandom(), -1);
|
||||
x0_modelData.GetAnimationData()->EnableLooping(false);
|
||||
CAnimPlaybackParms parms(anim.second, -1, 1.f, true);
|
||||
x0_modelData.GetAnimationData()->SetAnimation(parms, false);
|
||||
|
||||
@@ -22,19 +22,19 @@ bool CGunMotion::PlayPasAnim(SamusGun::EAnimationState state, CStateManager& mgr
|
||||
bool loop = true;
|
||||
switch (state) {
|
||||
case SamusGun::EAnimationState::Wander: {
|
||||
CPASAnimParmData parms((s32(state)));
|
||||
CPASAnimParmData parms((pas::EAnimationState(state)));
|
||||
auto anim = pas.FindBestAnimation(parms, *mgr.GetActiveRandom(), -1);
|
||||
animId = anim.second;
|
||||
break;
|
||||
}
|
||||
case SamusGun::EAnimationState::Idle: {
|
||||
CPASAnimParmData parms(s32(state), CPASAnimParm::FromEnum(0));
|
||||
CPASAnimParmData parms(pas::EAnimationState(state), CPASAnimParm::FromEnum(0));
|
||||
auto anim = pas.FindBestAnimation(parms, *mgr.GetActiveRandom(), -1);
|
||||
animId = anim.second;
|
||||
break;
|
||||
}
|
||||
case SamusGun::EAnimationState::Struck: {
|
||||
CPASAnimParmData parms(s32(state), CPASAnimParm::FromInt32(0), CPASAnimParm::FromReal32(angle),
|
||||
CPASAnimParmData parms(pas::EAnimationState(state), CPASAnimParm::FromInt32(0), CPASAnimParm::FromReal32(angle),
|
||||
CPASAnimParm::FromBool(bigStrike), CPASAnimParm::FromBool(false));
|
||||
auto anim = pas.FindBestAnimation(parms, *mgr.GetActiveRandom(), -1);
|
||||
animId = anim.second;
|
||||
|
||||
Reference in New Issue
Block a user