Link CScriptWorldTeleporter

Former-commit-id: 6871df7dfc9c49ea0c1b7e6af176db03c007f2c0
This commit is contained in:
Luke Street 2023-10-17 23:06:55 -04:00
parent f2baf5dc28
commit 33118b2cc6
3 changed files with 22 additions and 16 deletions

View File

@ -433,7 +433,11 @@ config.libs = [
Object(Matching, "MetroidPrime/ScriptObjects/CScriptGrapplePoint.cpp"), Object(Matching, "MetroidPrime/ScriptObjects/CScriptGrapplePoint.cpp"),
Object(Matching, "MetroidPrime/ScriptObjects/CHUDBillboardEffect.cpp"), Object(Matching, "MetroidPrime/ScriptObjects/CHUDBillboardEffect.cpp"),
Object(NonMatching, "MetroidPrime/Enemies/CFlickerBat.cpp"), Object(NonMatching, "MetroidPrime/Enemies/CFlickerBat.cpp"),
Object(NonMatching, "MetroidPrime/BodyState/CBodyStateCmdMgr.cpp", cflags=[*cflags_retro, "-inline auto"]), Object(
NonMatching,
"MetroidPrime/BodyState/CBodyStateCmdMgr.cpp",
cflags=[*cflags_retro, "-inline auto"],
),
Object(NonMatching, "MetroidPrime/BodyState/CBodyStateInfo.cpp"), Object(NonMatching, "MetroidPrime/BodyState/CBodyStateInfo.cpp"),
Object(NonMatching, "MetroidPrime/BodyState/CBSAttack.cpp"), Object(NonMatching, "MetroidPrime/BodyState/CBSAttack.cpp"),
Object(Matching, "MetroidPrime/BodyState/CBSDie.cpp"), Object(Matching, "MetroidPrime/BodyState/CBSDie.cpp"),
@ -547,9 +551,7 @@ config.libs = [
Object(Matching, "MetroidPrime/CHealthInfo.cpp"), Object(Matching, "MetroidPrime/CHealthInfo.cpp"),
Object(NonMatching, "MetroidPrime/Player/CGameState.cpp"), Object(NonMatching, "MetroidPrime/Player/CGameState.cpp"),
Object(Matching, "MetroidPrime/ScriptObjects/CScriptVisorFlare.cpp"), Object(Matching, "MetroidPrime/ScriptObjects/CScriptVisorFlare.cpp"),
Object( Object(Matching, "MetroidPrime/ScriptObjects/CScriptWorldTeleporter.cpp"),
NonMatching, "MetroidPrime/ScriptObjects/CScriptWorldTeleporter.cpp"
),
Object(NonMatching, "MetroidPrime/ScriptObjects/CScriptVisorGoo.cpp"), Object(NonMatching, "MetroidPrime/ScriptObjects/CScriptVisorGoo.cpp"),
Object(NonMatching, "MetroidPrime/Enemies/CJellyZap.cpp"), Object(NonMatching, "MetroidPrime/Enemies/CJellyZap.cpp"),
Object(Matching, "MetroidPrime/ScriptObjects/CScriptControllerAction.cpp"), Object(Matching, "MetroidPrime/ScriptObjects/CScriptControllerAction.cpp"),

View File

@ -20,7 +20,7 @@ public:
// CAnimRes() // CAnimRes()
// : x4_charIdx(-1), x14_canLoop(false), x8_scale(????), x18_defaultAnim(-1) {} // : x4_charIdx(-1), x14_canLoop(false), x8_scale(????), x18_defaultAnim(-1) {}
CAnimRes(CAssetId ancs, const int charIdx, const CVector3f& scale, const int defaultAnim, const bool loop) CAnimRes(CAssetId ancs, int charIdx, const CVector3f& scale, int defaultAnim, bool loop)
: x0_ancsId(ancs) : x0_ancsId(ancs)
, x4_charIdx(charIdx) , x4_charIdx(charIdx)
, x8_scale(scale) , x8_scale(scale)

View File

@ -32,8 +32,7 @@ CScriptWorldTeleporter::CScriptWorldTeleporter(TUniqueId uid, const rstl::string
, x7c_backgroundScale(CVector3f::Zero()) , x7c_backgroundScale(CVector3f::Zero())
, x88_soundId(CSfxManager::kInternalInvalidSfxId) , x88_soundId(CSfxManager::kInternalInvalidSfxId)
, x8a_volume(0) , x8a_volume(0)
, x8b_panning(0) , x8b_panning(0) {}
{}
CScriptWorldTeleporter::CScriptWorldTeleporter( CScriptWorldTeleporter::CScriptWorldTeleporter(
TUniqueId uid, const rstl::string& name, const CEntityInfo& info, bool active, CAssetId worldId, TUniqueId uid, const rstl::string& name, const CEntityInfo& info, bool active, CAssetId worldId,
@ -145,10 +144,15 @@ void CScriptWorldTeleporter::StartTransition(CStateManager& mgr) {
if (x3c_type == kTT_Elevator && x50_playerAnim.GetACSFile() != kInvalidAssetId && if (x3c_type == kTT_Elevator && x50_playerAnim.GetACSFile() != kInvalidAssetId &&
x50_playerAnim.GetCharacter() != u32(-1)) { x50_playerAnim.GetCharacter() != u32(-1)) {
transMgr->EnableTransition(CAnimRes(x50_playerAnim.GetACSFile(), x50_playerAnim.GetCharacter(), #if NONMATCHING
x5c_playerScale, x50_playerAnim.GetInitialAnimation(), CAnimRes animRes(x50_playerAnim.GetACSFile(), x50_playerAnim.GetCharacter(), x5c_playerScale,
true), x50_playerAnim.GetInitialAnimation(), true);
x68_platformModel, x6c_platformScale, x78_backgroundModel, #else
// Original uses reversed defaultAnim / charIdx. Bug or are our names wrong?
CAnimRes animRes(x50_playerAnim.GetACSFile(), x50_playerAnim.GetInitialAnimation(),
x5c_playerScale, x50_playerAnim.GetCharacter(), true);
#endif
transMgr->EnableTransition(animRes, x68_platformModel, x6c_platformScale, x78_backgroundModel,
x7c_backgroundScale, x40_24_upElevator); x7c_backgroundScale, x40_24_upElevator);
x40_25_inTransition = true; x40_25_inTransition = true;