Match CFontInstruction, more KOR splits

This commit is contained in:
Phillip Stephens 2025-04-09 18:14:01 -07:00
parent c23ec91113
commit b20a2b1eac
10 changed files with 5022 additions and 5008 deletions

View File

@ -18712,7 +18712,7 @@ __vt__15CARAMDvdRequest = .data:0x803ED578; // type:object size:0x1C scope:globa
__vt__15CRealDvdRequest = .data:0x803ED594; // type:object size:0x1C scope:global __vt__15CRealDvdRequest = .data:0x803ED594; // type:object size:0x1C scope:global
__vt__17CColorInstruction = .data:0x803ED5B0; // type:object size:0x1C scope:global __vt__17CColorInstruction = .data:0x803ED5B0; // type:object size:0x1C scope:global
__vt__25CColorOverrideInstruction = .data:0x803ED5D0; // type:object size:0x1C scope:global __vt__25CColorOverrideInstruction = .data:0x803ED5D0; // type:object size:0x1C scope:global
lbl_803ED5F0 = .data:0x803ED5F0; // type:object size:0x20 __vt__16CFontInstruction = .data:0x803ED5F0; // type:object size:0x20
__vt__26CLineExtraSpaceInstruction = .data:0x803ED610; // type:object size:0x1C scope:global __vt__26CLineExtraSpaceInstruction = .data:0x803ED610; // type:object size:0x1C scope:global
lbl_803ED630 = .data:0x803ED630; // type:object size:0x1C lbl_803ED630 = .data:0x803ED630; // type:object size:0x1C
jumptable_803ED64C = .data:0x803ED64C; // type:object size:0x28 scope:local jumptable_803ED64C = .data:0x803ED64C; // type:object size:0x28 scope:local

View File

@ -18746,7 +18746,7 @@ __vt__15CARAMDvdRequest = .data:0x803ED758; // type:object size:0x1C
__vt__15CRealDvdRequest = .data:0x803ED774; // type:object size:0x1C __vt__15CRealDvdRequest = .data:0x803ED774; // type:object size:0x1C
__vt__17CColorInstruction = .data:0x803ED790; // type:object size:0x1C __vt__17CColorInstruction = .data:0x803ED790; // type:object size:0x1C
__vt__25CColorOverrideInstruction = .data:0x803ED7B0; // type:object size:0x1C __vt__25CColorOverrideInstruction = .data:0x803ED7B0; // type:object size:0x1C
lbl_803ED7D0 = .data:0x803ED7D0; // type:object size:0x20 __vt__16CFontInstruction = .data:0x803ED7D0; // type:object size:0x20
__vt__26CLineExtraSpaceInstruction = .data:0x803ED7F0; // type:object size:0x1C __vt__26CLineExtraSpaceInstruction = .data:0x803ED7F0; // type:object size:0x1C
lbl_803ED810 = .data:0x803ED810; // type:object size:0x1C lbl_803ED810 = .data:0x803ED810; // type:object size:0x1C
jumptable_803ED82C = .data:0x803ED82C; // type:object size:0x28 scope:local jumptable_803ED82C = .data:0x803ED82C; // type:object size:0x28 scope:local

View File

@ -203,14 +203,14 @@ _ctors = .ctors:0x00000000; // type:label scope:global data:4byte
_dtors = .dtors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte
lbl_1_rodata_0 = .rodata:0x00000000; // type:object size:0x8 data:4byte lbl_1_rodata_0 = .rodata:0x00000000; // type:object size:0x8 data:4byte
lbl_1_rodata_8 = .rodata:0x00000008; // type:object size:0x34 lbl_1_rodata_8 = .rodata:0x00000008; // type:object size:0x34
lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x10 data:float lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x10 align:4 data:float
lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x2C data:4byte lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x2C data:4byte
lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x10 data:float lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x10 align:4 data:float
lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x2C lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x2C align:8
lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x20 data:float lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x20 align:4 data:float
lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 align:4 data:float
lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 align:4 data:float
lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x24 lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x24 align:8
lbl_1_data_0 = .data:0x00000000; // type:object size:0x10 lbl_1_data_0 = .data:0x00000000; // type:object size:0x10
lbl_1_data_10 = .data:0x00000010; // type:object size:0x20 lbl_1_data_10 = .data:0x00000010; // type:object size:0x20
lbl_1_data_30 = .data:0x00000030; // type:object size:0x1D940 lbl_1_data_30 = .data:0x00000030; // type:object size:0x1D940
@ -219,7 +219,7 @@ lbl_1_data_1DAD0 = .data:0x0001DAD0; // type:object size:0x28
lbl_1_data_1DAF8 = .data:0x0001DAF8; // type:object size:0x1030 lbl_1_data_1DAF8 = .data:0x0001DAF8; // type:object size:0x1030
lbl_1_data_1EB28 = .data:0x0001EB28; // type:object size:0x80 lbl_1_data_1EB28 = .data:0x0001EB28; // type:object size:0x80
lbl_1_data_1EBA8 = .data:0x0001EBA8; // type:object size:0x18 lbl_1_data_1EBA8 = .data:0x0001EBA8; // type:object size:0x18
lbl_1_data_1EBC0 = .data:0x0001EBC0; // type:object size:0x18 data:float lbl_1_data_1EBC0 = .data:0x0001EBC0; // type:object size:0x18 align:4 data:float
lbl_1_data_1EBD8 = .data:0x0001EBD8; // type:object size:0x18 lbl_1_data_1EBD8 = .data:0x0001EBD8; // type:object size:0x18
lbl_1_data_1EBF0 = .data:0x0001EBF0; // type:object size:0x8 data:4byte lbl_1_data_1EBF0 = .data:0x0001EBF0; // type:object size:0x8 data:4byte
lbl_1_data_1EBF8 = .data:0x0001EBF8; // type:object size:0x60 data:4byte lbl_1_data_1EBF8 = .data:0x0001EBF8; // type:object size:0x60 data:4byte
@ -236,7 +236,7 @@ lbl_1_data_1EF98 = .data:0x0001EF98; // type:object size:0x4 data:4byte
lbl_1_data_1EF9C = .data:0x0001EF9C; // type:object size:0x8 data:4byte lbl_1_data_1EF9C = .data:0x0001EF9C; // type:object size:0x8 data:4byte
lbl_1_data_1EFA4 = .data:0x0001EFA4; // type:object size:0x4 data:4byte lbl_1_data_1EFA4 = .data:0x0001EFA4; // type:object size:0x4 data:4byte
lbl_1_data_1EFA8 = .data:0x0001EFA8; // type:object size:0x4 data:4byte lbl_1_data_1EFA8 = .data:0x0001EFA8; // type:object size:0x4 data:4byte
lbl_1_data_1EFAC = .data:0x0001EFAC; // type:object size:0x44 data:float lbl_1_data_1EFAC = .data:0x0001EFAC; // type:object size:0x44 align:4 data:float
lbl_1_data_1EFF0 = .data:0x0001EFF0; // type:object size:0x20 lbl_1_data_1EFF0 = .data:0x0001EFF0; // type:object size:0x20
jumptable_1_data_1F010 = .data:0x0001F010; // type:object size:0x50 scope:local jumptable_1_data_1F010 = .data:0x0001F010; // type:object size:0x50 scope:local
lbl_1_data_1F060 = .data:0x0001F060; // type:object size:0x4 data:4byte lbl_1_data_1F060 = .data:0x0001F060; // type:object size:0x4 data:4byte

View File

@ -16,6 +16,10 @@ Sections:
MetroTRK/mslsupp.c: MetroTRK/mslsupp.c:
.text start:0x80003640 end:0x80003658 .text start:0x80003640 end:0x80003658
Kyoto/Input/RumbleAdsr.cpp:
.text start:0x80369E44 end:0x80369F6C
.sdata2 start:0x805AE7E0 end:0x805AE7E8
Kyoto/Input/CRumbleGenerator.cpp: Kyoto/Input/CRumbleGenerator.cpp:
.text start:0x80369F6C end:0x8036A460 .text start:0x80369F6C end:0x8036A460
.rodata start:0x803D8648 end:0x803D8658 .rodata start:0x803D8648 end:0x803D8658
@ -44,9 +48,6 @@ Kyoto/CFrameDelayedKiller.cpp:
.bss start:0x80540720 end:0x80540760 .bss start:0x80540720 end:0x80540760
.sbss start:0x805A9390 end:0x805A9398 .sbss start:0x805A9390 end:0x805A9398
Dolphin/os/__start.c:
.init start:0x80003100 end:0x80003354
Dolphin/ai.c: Dolphin/ai.c:
.text start:0x8036D1A8 end:0x8036DB10 .text start:0x8036D1A8 end:0x8036DB10
.data start:0x803EF9E0 end:0x803EFA28 .data start:0x803EF9E0 end:0x803EFA28
@ -260,6 +261,9 @@ Dolphin/os/OSTime.c:
.text start:0x803854AC end:0x80385928 .text start:0x803854AC end:0x80385928
.data start:0x803F1FC0 end:0x803F2020 .data start:0x803F1FC0 end:0x803F2020
Dolphin/os/__start.c:
.init start:0x80003100 end:0x80003354
Dolphin/os/__ppc_eabi_init.cpp: Dolphin/os/__ppc_eabi_init.cpp:
.init start:0x80003354 end:0x800033A8 .init start:0x80003354 end:0x800033A8
.text start:0x80385928 end:0x803859BC .text start:0x80385928 end:0x803859BC
@ -773,9 +777,6 @@ Dolphin/thp/THPDec.c:
Dolphin/thp/THPAudio.c: Dolphin/thp/THPAudio.c:
.text start:0x803C91CC end:0x803C96FC .text start:0x803C91CC end:0x803C96FC
Runtime/__mem.c:
.init start:0x800033A8 end:0x800034E0
Dolphin/GBA/GBA.c: Dolphin/GBA/GBA.c:
.text start:0x803C96FC end:0x803C99EC .text start:0x803C96FC end:0x803C99EC
.data start:0x803F6E40 end:0x803F6E50 .data start:0x803F6E40 end:0x803F6E50
@ -801,3 +802,6 @@ Dolphin/GBA/GBAXfer.c:
Dolphin/GBA/GBAKey.c: Dolphin/GBA/GBAKey.c:
.text start:0x803CB044 end:0x803CB2AC .text start:0x803CB044 end:0x803CB2AC
.data start:0x803F6E80 end:0x803F7226 .data start:0x803F6E80 end:0x803F7226
Runtime/__mem.c:
.init start:0x800033A8 end:0x800034E0

File diff suppressed because it is too large Load Diff

View File

@ -929,7 +929,7 @@ config.libs = [
Object(MatchingFor("GM8E01_00", "GM8E01_01"), "Kyoto/Text/CColorInstruction.cpp"), Object(MatchingFor("GM8E01_00", "GM8E01_01"), "Kyoto/Text/CColorInstruction.cpp"),
Object(MatchingFor("GM8E01_00", "GM8E01_01"), "Kyoto/Text/CColorOverrideInstruction.cpp"), Object(MatchingFor("GM8E01_00", "GM8E01_01"), "Kyoto/Text/CColorOverrideInstruction.cpp"),
Object(MatchingFor("GM8E01_00", "GM8E01_01"), "Kyoto/Text/CDrawStringOptions.cpp"), Object(MatchingFor("GM8E01_00", "GM8E01_01"), "Kyoto/Text/CDrawStringOptions.cpp"),
Object(NonMatching, "Kyoto/Text/CFontInstruction.cpp"), Object(MatchingFor("GM8E01_00", "GM8E01_01"), "Kyoto/Text/CFontInstruction.cpp"),
Object(NonMatching, "Kyoto/Text/CFontRenderState.cpp"), Object(NonMatching, "Kyoto/Text/CFontRenderState.cpp"),
Object(MatchingFor("GM8E01_00", "GM8E01_01"), "Kyoto/Text/CLineExtraSpaceInstruction.cpp"), Object(MatchingFor("GM8E01_00", "GM8E01_01"), "Kyoto/Text/CLineExtraSpaceInstruction.cpp"),
Object(NonMatching, "Kyoto/Text/CLineInstruction.cpp"), Object(NonMatching, "Kyoto/Text/CLineInstruction.cpp"),
@ -1083,7 +1083,7 @@ config.libs = [
Object(NonMatching, "Kyoto/CPakFile.cpp"), Object(NonMatching, "Kyoto/CPakFile.cpp"),
Object(NonMatching, "Kyoto/Animation/CPoseAsTransformsVariableSize.cpp"), Object(NonMatching, "Kyoto/Animation/CPoseAsTransformsVariableSize.cpp"),
Object(NonMatching, "Kyoto/Input/CRumbleVoice.cpp"), Object(NonMatching, "Kyoto/Input/CRumbleVoice.cpp"),
Object(MatchingFor("GM8E01_00", "GM8E01_01"), "Kyoto/Input/RumbleAdsr.cpp"), Object(MatchingFor("GM8E01_00", "GM8E01_01", "GM8E01_48"), "Kyoto/Input/RumbleAdsr.cpp"),
Object(MatchingFor("GM8E01_00", "GM8E01_01", "GM8E01_48"), "Kyoto/Input/CRumbleGenerator.cpp"), Object(MatchingFor("GM8E01_00", "GM8E01_01", "GM8E01_48"), "Kyoto/Input/CRumbleGenerator.cpp"),
Object(NonMatching, "Kyoto/Audio/CDSPStream.cpp"), Object(NonMatching, "Kyoto/Audio/CDSPStream.cpp"),
Object(MatchingFor("GM8E01_00", "GM8E01_01", "GM8E01_48"), "Kyoto/Audio/g721.cpp"), Object(MatchingFor("GM8E01_00", "GM8E01_01", "GM8E01_48"), "Kyoto/Audio/g721.cpp"),

2
extern/musyx vendored

@ -1 +1 @@
Subproject commit e8924dd29b7a8a587b05003495a06fe8869e8e03 Subproject commit a8e7bc86890b414339a3eb8f2fd61dbaa7a444c1

View File

@ -100,12 +100,15 @@ enum EFontMode {
class CRasterFont { class CRasterFont {
public: public:
friend class CFontInstruction;
CRasterFont(CInputStream& in, IObjectStore* store); CRasterFont(CInputStream& in, IObjectStore* store);
~CRasterFont(); ~CRasterFont();
EFontMode GetMode() const; EFontMode GetMode() const;
void GetSize(const CDrawStringOptions&, int&, int&, const wchar_t*, int) const; void GetSize(const CDrawStringOptions&, int&, int&, const wchar_t*, int) const;
void SetTexture(TToken< CTexture > token) { x80_texture = token; } void SetTexture(TToken< CTexture > token) { x80_texture = token; }
inline TToken<CTexture> GetTexture() { return *x80_texture; }
bool IsFinishedLoading(); bool IsFinishedLoading();
private: private:

View File

@ -1,3 +1,5 @@
#include "Kyoto/TToken.hpp"
#include "Kyoto/Text/CRasterFont.hpp"
#include <Kyoto/Text/CFontInstruction.hpp> #include <Kyoto/Text/CFontInstruction.hpp>
#include <Kyoto/Text/CFontRenderState.hpp> #include <Kyoto/Text/CFontRenderState.hpp>
#include <Kyoto/Text/CTextRenderBuffer.hpp> #include <Kyoto/Text/CTextRenderBuffer.hpp>
@ -10,7 +12,12 @@ void CFontInstruction::Invoke(CFontRenderState& state, CTextRenderBuffer* buf) c
state.RefreshPalette(); state.RefreshPalette();
} }
void CFontInstruction::GetAssets(rstl::vector< CToken >& assets) const {} void CFontInstruction::GetAssets(rstl::vector< CToken >& assets) const {
assets.push_back(x4_font);
if(x4_font.IsLoaded()) {
assets.push_back(TToken<CRasterFont> (x4_font)->x80_texture.data());
}
}
uint CFontInstruction::GetAssetCount() const { return 2; } uint CFontInstruction::GetAssetCount() const { return 2; }

View File

@ -14,21 +14,21 @@
#include "rstl/math.hpp" #include "rstl/math.hpp"
struct SDrawData { struct SDrawData {
int x0_; float x0_;
int x4_; float x4_;
int x8_; float x8_;
uchar xc_idxA; uchar xc_idxA;
uchar xd_idxB; uchar xd_idxB;
uchar xe_idxC; uchar xe_idxC;
uchar xf_idxD; uchar xf_idxD;
}; };
static const SDrawData sDoorData[6] = { static const SDrawData sDoorData[6] = {
{0x00000000, 0x00000000, 0xBF800000, 6, 4, 2, 0}, {0.f, 0.f, -1, 6, 4, 2, 0},
{0x00000000, 0x00000000, 0x3F800000, 3, 1, 7, 5}, {0.f, 0.f, 1.f, 3, 1, 7, 5},
{0x00000000, 0xBF800000, 0x3F800000, 1, 0, 5, 4}, {0.f, -1.f, 1.f, 1, 0, 5, 4},
{0x00000000, 0x3F800000, 0x3F800000, 7, 6, 3, 2}, {0.f, 1.f, 1.f, 7, 6, 3, 2},
{0xBF800000, 0x00000000, 0x00000000, 3, 2, 1, 0}, {-1.f, 0.f, 0.f, 3, 2, 1, 0},
{0x3F800000, 0x00000000, 0x00000000, 5, 4, 7, 6}, {1.f, 0.f, 0.f, 5, 4, 7, 6},
}; };
CVector3f CMappableObject::skDoorVerts[8] = { CVector3f CMappableObject::skDoorVerts[8] = {