mirror of https://github.com/PrimeDecomp/prime.git
parent
ffe3826b6e
commit
8db24c473a
|
@ -3,12 +3,12 @@
|
|||
.section .data
|
||||
.balign 8
|
||||
|
||||
.global lbl_803EC000
|
||||
lbl_803EC000:
|
||||
.global __vt__15CTweakSlideShow
|
||||
__vt__15CTweakSlideShow:
|
||||
# ROM: 0x3E9000
|
||||
.4byte 0
|
||||
.4byte 0
|
||||
.4byte sub_8029c7cc
|
||||
.4byte __dt__15CTweakSlideShowFv
|
||||
.4byte 0
|
||||
|
||||
.section .text, "ax"
|
||||
|
@ -17,11 +17,11 @@ lbl_803EC000:
|
|||
__ct__15CTweakSlideShowFR12CInputStream:
|
||||
/* 8029C5F8 00299558 94 21 FF B0 */ stwu r1, -0x50(r1)
|
||||
/* 8029C5FC 0029955C 7C 08 02 A6 */ mflr r0
|
||||
/* 8029C600 00299560 3C A0 80 3F */ lis r5, lbl_803EC000@ha
|
||||
/* 8029C600 00299560 3C A0 80 3F */ lis r5, __vt__15CTweakSlideShow@ha
|
||||
/* 8029C604 00299564 3C C0 80 3E */ lis r6, __vt__12ITweakObject@ha
|
||||
/* 8029C608 00299568 90 01 00 54 */ stw r0, 0x54(r1)
|
||||
/* 8029C60C 0029956C 38 06 9C C4 */ addi r0, r6, __vt__12ITweakObject@l
|
||||
/* 8029C610 00299570 38 A5 C0 00 */ addi r5, r5, lbl_803EC000@l
|
||||
/* 8029C610 00299570 38 A5 C0 00 */ addi r5, r5, __vt__15CTweakSlideShow@l
|
||||
/* 8029C614 00299574 93 E1 00 4C */ stw r31, 0x4c(r1)
|
||||
/* 8029C618 00299578 7C 9F 23 78 */ mr r31, r4
|
||||
/* 8029C61C 0029957C 93 C1 00 48 */ stw r30, 0x48(r1)
|
||||
|
@ -133,8 +133,8 @@ __ct__15CTweakSlideShowFR12CInputStream:
|
|||
/* 8029C7C4 00299724 38 21 00 50 */ addi r1, r1, 0x50
|
||||
/* 8029C7C8 00299728 4E 80 00 20 */ blr
|
||||
|
||||
.global sub_8029c7cc
|
||||
sub_8029c7cc:
|
||||
.global __dt__15CTweakSlideShowFv
|
||||
__dt__15CTweakSlideShowFv:
|
||||
/* 8029C7CC 0029972C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 8029C7D0 00299730 7C 08 02 A6 */ mflr r0
|
||||
/* 8029C7D4 00299734 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
|
@ -143,9 +143,9 @@ sub_8029c7cc:
|
|||
/* 8029C7E0 00299740 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 8029C7E4 00299744 7C 7E 1B 79 */ or. r30, r3, r3
|
||||
/* 8029C7E8 00299748 41 82 00 54 */ beq lbl_8029C83C
|
||||
/* 8029C7EC 0029974C 3C 60 80 3F */ lis r3, lbl_803EC000@ha
|
||||
/* 8029C7EC 0029974C 3C 60 80 3F */ lis r3, __vt__15CTweakSlideShow@ha
|
||||
/* 8029C7F0 00299750 34 1E 00 14 */ addic. r0, r30, 0x14
|
||||
/* 8029C7F4 00299754 38 03 C0 00 */ addi r0, r3, lbl_803EC000@l
|
||||
/* 8029C7F4 00299754 38 03 C0 00 */ addi r0, r3, __vt__15CTweakSlideShow@l
|
||||
/* 8029C7F8 00299758 90 1E 00 00 */ stw r0, 0(r30)
|
||||
/* 8029C7FC 0029975C 41 82 00 0C */ beq lbl_8029C808
|
||||
/* 8029C800 00299760 38 7E 00 14 */ addi r3, r30, 0x14
|
||||
|
@ -165,7 +165,7 @@ lbl_8029C82C:
|
|||
/* 8029C82C 0029978C 7F E0 07 35 */ extsh. r0, r31
|
||||
/* 8029C830 00299790 40 81 00 0C */ ble lbl_8029C83C
|
||||
/* 8029C834 00299794 7F C3 F3 78 */ mr r3, r30
|
||||
/* 8029C838 00299798 48 00 00 21 */ bl sub_8029c858
|
||||
/* 8029C838 00299798 48 00 00 21 */ bl "__dl__29TOneStatic<15CTweakSlideShow>FPv"
|
||||
lbl_8029C83C:
|
||||
/* 8029C83C 0029979C 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 8029C840 002997A0 7F C3 F3 78 */ mr r3, r30
|
||||
|
@ -175,8 +175,8 @@ lbl_8029C83C:
|
|||
/* 8029C850 002997B0 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 8029C854 002997B4 4E 80 00 20 */ blr
|
||||
|
||||
.global sub_8029c858
|
||||
sub_8029c858:
|
||||
.global "__dl__29TOneStatic<15CTweakSlideShow>FPv"
|
||||
"__dl__29TOneStatic<15CTweakSlideShow>FPv":
|
||||
/* 8029C858 002997B8 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 8029C85C 002997BC 7C 08 02 A6 */ mflr r0
|
||||
/* 8029C860 002997C0 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
|
|
|
@ -380,7 +380,7 @@ LIBS = [
|
|||
"MetroidPrime/Player/CMorphBallShadow",
|
||||
"MetroidPrime/Player/CPlayerInputFilter",
|
||||
"MetroidPrime/CSlideShow",
|
||||
"MetroidPrime/Tweaks/CTweakSlideShow",
|
||||
["MetroidPrime/Tweaks/CTweakSlideShow", True],
|
||||
"MetroidPrime/CArtifactDoll",
|
||||
"MetroidPrime/CProjectedShadow",
|
||||
"MetroidPrime/CPreFrontEnd",
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
#ifndef _CTWEAKSLIDESHOW
|
||||
#define _CTWEAKSLIDESHOW
|
||||
|
||||
#include "MetroidPrime/Tweaks/ITweakObject.hpp"
|
||||
|
||||
#include "Kyoto/Graphics/CColor.hpp"
|
||||
#include "Kyoto/TOneStatic.hpp"
|
||||
|
||||
|
||||
#include "rstl/string.hpp"
|
||||
|
||||
class CInputStream;
|
||||
class CTweakSlideShow;
|
||||
|
||||
class CTweakSlideShow : public ITweakObject, public TOneStatic< CTweakSlideShow > {
|
||||
rstl::string x4_pakName;
|
||||
rstl::string x14_fontAssetName;
|
||||
CColor x24_fontColor;
|
||||
CColor x28_outlineColor;
|
||||
float x2c_scanPercentInterval;
|
||||
float x30_;
|
||||
float x34_;
|
||||
float x38_;
|
||||
float x3c_;
|
||||
CColor x40_;
|
||||
float x44_;
|
||||
float x48_;
|
||||
float x4c_;
|
||||
float x50_;
|
||||
float x54_;
|
||||
float x58_;
|
||||
|
||||
public:
|
||||
CTweakSlideShow(CInputStream&);
|
||||
~CTweakSlideShow();
|
||||
};
|
||||
|
||||
#endif // _CTWEAKSLIDESHOW
|
|
@ -38,12 +38,12 @@ class basic_string {
|
|||
// delete[] x4_cow;
|
||||
// }
|
||||
|
||||
static const _CharTp _EmptyString;
|
||||
static const _CharTp mNull;
|
||||
|
||||
public:
|
||||
struct literal_t {};
|
||||
|
||||
basic_string() : x0_ptr(&_EmptyString), x4_cow(nullptr), x8_size(0) {}
|
||||
basic_string() : x0_ptr(&mNull), x4_cow(nullptr), x8_size(0) {}
|
||||
|
||||
basic_string(literal_t, const _CharTp* data);
|
||||
// {
|
||||
|
@ -72,7 +72,7 @@ public:
|
|||
// {
|
||||
// if (size <= 0 && !data)
|
||||
// {
|
||||
// x0_ptr = &_EmptyString;
|
||||
// x0_ptr = &mNull;
|
||||
// x4_cow = nullptr;
|
||||
// x8_size = 0;
|
||||
// return;
|
||||
|
@ -97,6 +97,7 @@ public:
|
|||
|
||||
~basic_string() { internal_dereference(); }
|
||||
|
||||
void assign(const basic_string&);
|
||||
basic_string& operator=(const basic_string&);
|
||||
basic_string operator+(const basic_string&);
|
||||
basic_string operator+(const _CharTp*);
|
||||
|
@ -105,9 +106,9 @@ public:
|
|||
};
|
||||
|
||||
// template <>
|
||||
// const char basic_string<char>::_EmptyString = 0;
|
||||
// const char basic_string<char>::mNull = 0;
|
||||
// template <>
|
||||
// const wchar_t basic_string<wchar_t>::_EmptyString = 0;
|
||||
// const wchar_t basic_string<wchar_t>::mNull = 0;
|
||||
|
||||
typedef basic_string< wchar_t > wstring;
|
||||
typedef basic_string< char > string;
|
||||
|
|
|
@ -347,7 +347,7 @@ METROIDPRIME :=\
|
|||
$(BUILD_DIR)/asm/MetroidPrime/Player/CMorphBallShadow.o\
|
||||
$(BUILD_DIR)/asm/MetroidPrime/Player/CPlayerInputFilter.o\
|
||||
$(BUILD_DIR)/asm/MetroidPrime/CSlideShow.o\
|
||||
$(BUILD_DIR)/asm/MetroidPrime/Tweaks/CTweakSlideShow.o\
|
||||
$(BUILD_DIR)/src/MetroidPrime/Tweaks/CTweakSlideShow.o\
|
||||
$(BUILD_DIR)/asm/MetroidPrime/CArtifactDoll.o\
|
||||
$(BUILD_DIR)/asm/MetroidPrime/CProjectedShadow.o\
|
||||
$(BUILD_DIR)/asm/MetroidPrime/CPreFrontEnd.o\
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
#include "MetroidPrime/Tweaks/CTweakSlideShow.hpp"
|
||||
|
||||
#include "Kyoto/Streams/CInputStream.hpp"
|
||||
|
||||
CTweakSlideShow::~CTweakSlideShow() {}
|
||||
|
||||
CTweakSlideShow::CTweakSlideShow(CInputStream& in)
|
||||
: x4_pakName()
|
||||
, x14_fontAssetName()
|
||||
, x24_fontColor(CColor::White())
|
||||
, x28_outlineColor(CColor::White())
|
||||
, x2c_scanPercentInterval(0.0f)
|
||||
, x30_(0.0f)
|
||||
, x34_(0.0f)
|
||||
, x38_(0.0f)
|
||||
, x3c_(0.0f)
|
||||
, x40_(CColor::White())
|
||||
, x44_(0.0f)
|
||||
, x48_(0.0f)
|
||||
, x4c_(0.0f)
|
||||
, x50_(0.0f)
|
||||
, x54_(0.001f)
|
||||
, x58_(0.001f)
|
||||
{
|
||||
x4_pakName.assign(rstl::string(in));
|
||||
x14_fontAssetName.assign(rstl::string(in));
|
||||
x24_fontColor = CColor(in);
|
||||
x28_outlineColor = CColor(in);
|
||||
x2c_scanPercentInterval = in.ReadFloat();
|
||||
x30_ = in.ReadFloat();
|
||||
x34_ = in.ReadFloat();
|
||||
x38_ = in.ReadFloat();
|
||||
x3c_ = in.ReadFloat();
|
||||
x40_ = CColor(in);
|
||||
x44_ = in.ReadFloat();
|
||||
x48_ = in.ReadFloat();
|
||||
x4c_ = in.ReadFloat();
|
||||
x50_ = in.ReadFloat();
|
||||
x54_ = in.ReadFloat();
|
||||
x58_ = in.ReadFloat();
|
||||
}
|
Loading…
Reference in New Issue