mirror of https://github.com/PrimeDecomp/prime.git
Link CScriptWorldTeleporter
Former-commit-id: 6871df7dfc9c49ea0c1b7e6af176db03c007f2c0
This commit is contained in:
parent
f2baf5dc28
commit
33118b2cc6
10
configure.py
10
configure.py
|
@ -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"),
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue