diff --git a/asm/MetroidPrime/CInstruction.s b/asm/MetroidPrime/CInstruction.s deleted file mode 100644 index 9a4a5d3b..00000000 --- a/asm/MetroidPrime/CInstruction.s +++ /dev/null @@ -1,16 +0,0 @@ -.include "macros.inc" - -.section .text, "ax" - -.global PageInvoke__12CInstructionCFR16CFontRenderStateP17CTextRenderBuffer -PageInvoke__12CInstructionCFR16CFontRenderStateP17CTextRenderBuffer: -/* 8002947C 000263DC 4E 80 00 20 */ blr - -.global "GetAssets__12CInstructionCFRQ24rstl42vector<6CToken,Q24rstl17rmemory_allocator>" -"GetAssets__12CInstructionCFRQ24rstl42vector<6CToken,Q24rstl17rmemory_allocator>": -/* 80029480 000263E0 4E 80 00 20 */ blr - -.global GetAssetCount__12CInstructionCFv -GetAssetCount__12CInstructionCFv: -/* 80029484 000263E4 38 60 00 00 */ li r3, 0 -/* 80029488 000263E8 4E 80 00 20 */ blr diff --git a/asm/MetroidPrime/CSplashScreen.s b/asm/MetroidPrime/CSplashScreen.s index c0930c7e..fee0b14e 100644 --- a/asm/MetroidPrime/CSplashScreen.s +++ b/asm/MetroidPrime/CSplashScreen.s @@ -93,8 +93,8 @@ lbl_805AA0E8: .section .data .balign 8 -.global lbl_803D9A50 -lbl_803D9A50: +.global __vt__13CSplashScreen +__vt__13CSplashScreen: # ROM: 0x3D6A50 .4byte 0 .4byte 0 @@ -151,9 +151,9 @@ __dt__13CSplashScreenFv: /* 80028218 00025178 93 C1 00 08 */ stw r30, 8(r1) /* 8002821C 0002517C 7C 7E 1B 79 */ or. r30, r3, r3 /* 80028220 00025180 41 82 00 40 */ beq lbl_80028260 -/* 80028224 00025184 3C 60 80 3E */ lis r3, lbl_803D9A50@ha +/* 80028224 00025184 3C 60 80 3E */ lis r3, __vt__13CSplashScreen@ha /* 80028228 00025188 34 1E 00 28 */ addic. r0, r30, 0x28 -/* 8002822C 0002518C 38 03 9A 50 */ addi r0, r3, lbl_803D9A50@l +/* 8002822C 0002518C 38 03 9A 50 */ addi r0, r3, __vt__13CSplashScreen@l /* 80028230 00025190 90 1E 00 00 */ stw r0, 0(r30) /* 80028234 00025194 41 82 00 10 */ beq lbl_80028244 /* 80028238 00025198 38 7E 00 28 */ addi r3, r30, 0x28 @@ -1290,9 +1290,9 @@ __ct__13CSplashScreenFQ213CSplashScreen13ESplashScreen: /* 80029234 00026194 48 02 99 D9 */ bl "__ct__6CIOWinFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" /* 80029238 00026198 38 61 00 10 */ addi r3, r1, 0x10 /* 8002923C 0002619C 48 31 48 A5 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" -/* 80029240 000261A0 3C 80 80 3E */ lis r4, lbl_803D9A50@ha +/* 80029240 000261A0 3C 80 80 3E */ lis r4, __vt__13CSplashScreen@ha /* 80029244 000261A4 3C 60 80 3D */ lis r3, lbl_803CCCD0@ha -/* 80029248 000261A8 38 04 9A 50 */ addi r0, r4, lbl_803D9A50@l +/* 80029248 000261A8 38 04 9A 50 */ addi r0, r4, __vt__13CSplashScreen@l /* 8002924C 000261AC C0 22 83 C8 */ lfs f1, lbl_805AA0E8@sda21(r2) /* 80029250 000261B0 90 1E 00 00 */ stw r0, 0(r30) /* 80029254 000261B4 38 80 00 00 */ li r4, 0 @@ -1452,6 +1452,19 @@ lbl_80029468: /* 80029474 000263D4 38 21 00 10 */ addi r1, r1, 0x10 /* 80029478 000263D8 4E 80 00 20 */ blr +.global PageInvoke__12CInstructionCFR16CFontRenderStateP17CTextRenderBuffer +PageInvoke__12CInstructionCFR16CFontRenderStateP17CTextRenderBuffer: +/* 8002947C 000263DC 4E 80 00 20 */ blr + +.global "GetAssets__12CInstructionCFRQ24rstl42vector<6CToken,Q24rstl17rmemory_allocator>" +"GetAssets__12CInstructionCFRQ24rstl42vector<6CToken,Q24rstl17rmemory_allocator>": +/* 80029480 000263E0 4E 80 00 20 */ blr + +.global GetAssetCount__12CInstructionCFv +GetAssetCount__12CInstructionCFv: +/* 80029484 000263E4 38 60 00 00 */ li r3, 0 +/* 80029488 000263E8 4E 80 00 20 */ blr + .section .rodata .balign 8 .global lbl_803CCCD0 diff --git a/configure.py b/configure.py index f664fa79..a11caa81 100755 --- a/configure.py +++ b/configure.py @@ -31,7 +31,6 @@ LIBS = [ "MetroidPrime/CMFGame", "MetroidPrime/CCredits", "MetroidPrime/CSplashScreen", - ["MetroidPrime/CInstruction", True], ["MetroidPrime/CAnimData", False], "MetroidPrime/Factories/CCharacterFactory", "MetroidPrime/Factories/CAssetFactory", diff --git a/include/Kyoto/Text/CInstruction.hpp b/include/Kyoto/Text/CInstruction.hpp index eed98c61..e52f8801 100644 --- a/include/Kyoto/Text/CInstruction.hpp +++ b/include/Kyoto/Text/CInstruction.hpp @@ -14,9 +14,9 @@ class CInstruction { public: virtual ~CInstruction() {} virtual void Invoke(CFontRenderState& state, CTextRenderBuffer* buf) const = 0; - virtual void PageInvoke(CFontRenderState& state, CTextRenderBuffer* buf) const;// {} - virtual void GetAssets(rstl::vector< CToken >& assetsOut) const;// {} - virtual uint GetAssetCount() const;// { return 0; } + virtual void PageInvoke(CFontRenderState& state, CTextRenderBuffer* buf) const {} + virtual void GetAssets(rstl::vector< CToken >& assetsOut) const {} + virtual uint GetAssetCount() const { return 0; } }; #endif // _CINSTRUCTION diff --git a/include/rstl/string.hpp b/include/rstl/string.hpp index 8ffe9dcd..3294f408 100644 --- a/include/rstl/string.hpp +++ b/include/rstl/string.hpp @@ -156,7 +156,7 @@ string operator+(const string& a, const string& b); // return result; // } -string operator+(const string& a, char c) { +static inline string operator+(const string& a, char c) { string result(a); result.append(1, c); return result; diff --git a/src/MetroidPrime/CInstruction.cpp b/src/MetroidPrime/CInstruction.cpp deleted file mode 100644 index 02489518..00000000 --- a/src/MetroidPrime/CInstruction.cpp +++ /dev/null @@ -1,8 +0,0 @@ -#include "Kyoto/Text/CInstruction.hpp" - -/* TODO: These get ODR'd into CSplashScreen, so match and link that and put these in the header where they belong */ -uint CInstruction::GetAssetCount() const { return 0; } - -void CInstruction::GetAssets(rstl::vector< CToken >& assetsOut) const {} - -void CInstruction::PageInvoke(CFontRenderState& state, CTextRenderBuffer* buf) const {} diff --git a/src/MetroidPrime/Enemies/CNewIntroBoss.cpp b/src/MetroidPrime/Enemies/CNewIntroBoss.cpp index 97cfb845..89e2b6c2 100644 --- a/src/MetroidPrime/Enemies/CNewIntroBoss.cpp +++ b/src/MetroidPrime/Enemies/CNewIntroBoss.cpp @@ -8,6 +8,8 @@ #include "MetroidPrime/Player/CPlayer.hpp" #include "MetroidPrime/Weapons/CBeamProjectile.hpp" +#include "Kyoto/Animation/CInt32POINode.hpp" + #include "Collision/CRayCastResult.hpp" // TODO move diff --git a/src/MetroidPrime/Player/CPlayerGun.cpp b/src/MetroidPrime/Player/CPlayerGun.cpp index 1aa1d7be..59364faf 100644 --- a/src/MetroidPrime/Player/CPlayerGun.cpp +++ b/src/MetroidPrime/Player/CPlayerGun.cpp @@ -215,8 +215,9 @@ CPlayerGun::CPlayerGun(TUniqueId playerId) , x538_playerId(playerId) , x53a_powerBomb(kInvalidUniqueId) , x53c_lightId(kInvalidUniqueId) -, x550_camBob(CPlayerCameraBob::kCBT_One, CPlayerCameraBob::kCameraBobPeriod, - CVector2f(CPlayerCameraBob::kCameraBobExtentX, CPlayerCameraBob::kCameraBobExtentY)) +, x550_camBob(CPlayerCameraBob::kCBT_One, + CVector2f(CPlayerCameraBob::kCameraBobExtentX, CPlayerCameraBob::kCameraBobExtentY), + CPlayerCameraBob::kCameraBobPeriod) , x658_(1) , x65c_(0.f) , x660_(0.f) diff --git a/src/MetroidPrime/ScriptObjects/CScriptStreamedAudio.cpp b/src/MetroidPrime/ScriptObjects/CScriptStreamedAudio.cpp index c2bb7e56..369b5670 100644 --- a/src/MetroidPrime/ScriptObjects/CScriptStreamedAudio.cpp +++ b/src/MetroidPrime/ScriptObjects/CScriptStreamedAudio.cpp @@ -6,7 +6,8 @@ #include "Kyoto/CDvdFile.hpp" #include "Kyoto/Audio/CStreamAudioManager.hpp" -#include "Kyoto/rstl/StringExtras.hpp" + +#include "rstl/StringExtras.hpp" extern "C" void nullsub_42(CScriptStreamedMusic*); int sub_8020c154(const rstl::string&, int, int);