From 6be96bb36188f6885b06e491f83dc9ea07eddfa3 Mon Sep 17 00:00:00 2001 From: Phillip Stephens Date: Fri, 25 Oct 2024 18:43:14 -0700 Subject: [PATCH] Add missing CFontInstruction.hpp --- config/GM8E01_00/symbols.txt | 16 ++++++++-------- config/GM8E01_01/symbols.txt | 2 +- configure.py | 2 +- include/Kyoto/Text/CFontInstruction.hpp | 21 +++++++++++++++++++++ 4 files changed, 31 insertions(+), 10 deletions(-) create mode 100644 include/Kyoto/Text/CFontInstruction.hpp diff --git a/config/GM8E01_00/symbols.txt b/config/GM8E01_00/symbols.txt index a1e0cda6..15c07109 100644 --- a/config/GM8E01_00/symbols.txt +++ b/config/GM8E01_00/symbols.txt @@ -18233,7 +18233,7 @@ __vt__14CBCScriptedCmd = .data:0x803DFE40; // type:object size:0xC scope:weak lbl_803DFE50 = .data:0x803DFE50; // type:object size:0x1C lbl_803DFE70 = .data:0x803DFE70; // type:object size:0x80 __vt__7CWeapon = .data:0x803DFEF0; // type:object size:0x6C scope:global -jumptable_803DFF5C = .data:0x803DFF5C; // type:object size:0x24 scope:local +@389 = .data:0x803DFF5C; // type:object size:0x24 scope:local __vt__16CLightParameters = .data:0x803DFF80; // type:object size:0xC scope:global lbl_803DFF90 = .data:0x803DFF90; // type:object size:0x2CC jumptable_803E025C = .data:0x803E025C; // type:object size:0x48 scope:local @@ -20132,7 +20132,7 @@ lbl_805A7548 = .sdata:0x805A7548; // type:object size:0x1 data:byte lbl_805A754C = .sdata:0x805A754C; // type:object size:0x4 data:4byte lbl_805A7550 = .sdata:0x805A7550; // type:object size:0x4 data:float lbl_805A7554 = .sdata:0x805A7554; // type:object size:0x4 data:4byte -lbl_805A7558 = .sdata:0x805A7558; // type:object size:0x8 +@262 = .sdata:0x805A7558; // type:object size:0x4 scope:local data:float lbl_805A7560 = .sdata:0x805A7560; // type:object size:0x1 data:byte lbl_805A7564 = .sdata:0x805A7564; // type:object size:0x4 data:4byte lbl_805A7568 = .sdata:0x805A7568; // type:object size:0x4 data:4byte @@ -23532,12 +23532,12 @@ lbl_805AB0F4 = .sdata2:0x805AB0F4; // type:object size:0x4 data:float lbl_805AB0F8 = .sdata2:0x805AB0F8; // type:object size:0x4 data:float lbl_805AB0FC = .sdata2:0x805AB0FC; // type:object size:0x4 data:float lbl_805AB100 = .sdata2:0x805AB100; // type:object size:0x8 data:float -lbl_805AB108 = .sdata2:0x805AB108; // type:object size:0x4 data:float -lbl_805AB10C = .sdata2:0x805AB10C; // type:object size:0x4 data:float -lbl_805AB110 = .sdata2:0x805AB110; // type:object size:0x4 data:float -lbl_805AB114 = .sdata2:0x805AB114; // type:object size:0x4 data:float -lbl_805AB118 = .sdata2:0x805AB118; // type:object size:0x4 data:float -lbl_805AB11C = .sdata2:0x805AB11C; // type:object size:0x4 data:float +@383 = .sdata2:0x805AB108; // type:object size:0x4 scope:local data:float +@384 = .sdata2:0x805AB10C; // type:object size:0x4 scope:local data:float +@385 = .sdata2:0x805AB110; // type:object size:0x4 scope:local data:float +@386 = .sdata2:0x805AB114; // type:object size:0x4 scope:local data:float +@387 = .sdata2:0x805AB118; // type:object size:0x4 scope:local data:float +@388 = .sdata2:0x805AB11C; // type:object size:0x4 scope:local data:float lbl_805AB120 = .sdata2:0x805AB120; // type:object size:0x4 data:4byte kDefaultPositionUpdateThreshold__12CActorLights = .sdata2:0x805AB124; // type:object size:0x4 scope:global data:float lbl_805AB128 = .sdata2:0x805AB128; // type:object size:0x4 data:float diff --git a/config/GM8E01_01/symbols.txt b/config/GM8E01_01/symbols.txt index cebf47c8..396bbc03 100644 --- a/config/GM8E01_01/symbols.txt +++ b/config/GM8E01_01/symbols.txt @@ -20169,7 +20169,7 @@ lbl_805A7548 = .sdata:0x805A7728; // type:object size:0x1 scope:global data:byte lbl_805A754C = .sdata:0x805A772C; // type:object size:0x4 scope:global data:4byte lbl_805A7550 = .sdata:0x805A7730; // type:object size:0x4 scope:global data:float lbl_805A7554 = .sdata:0x805A7734; // type:object size:0x4 scope:global data:4byte -lbl_805A7558 = .sdata:0x805A7738; // type:object size:0x8 scope:global +@262 = .sdata:0x805A7738; // type:object size:0x4 data:float scope:local lbl_805A7560 = .sdata:0x805A7740; // type:object size:0x1 scope:global data:byte lbl_805A7564 = .sdata:0x805A7744; // type:object size:0x4 scope:global data:4byte lbl_805A7568 = .sdata:0x805A7748; // type:object size:0x4 scope:global data:4byte diff --git a/configure.py b/configure.py index 1820842a..a4e48c22 100755 --- a/configure.py +++ b/configure.py @@ -481,7 +481,7 @@ config.libs = [ Object(Matching, "MetroidPrime/ScriptObjects/CScriptActorKeyframe.cpp"), Object(Matching, "MetroidPrime/CConsoleOutputWindow.cpp"), Object(NonMatching, "MetroidPrime/ScriptObjects/CScriptWater.cpp"), - Object(NonMatching, "MetroidPrime/Weapons/CWeapon.cpp"), + Object(Matching, "MetroidPrime/Weapons/CWeapon.cpp"), Object(NonMatching, "MetroidPrime/CDamageVulnerability.cpp"), Object(NonMatching, "MetroidPrime/CActorLights.cpp"), Object(Matching, "MetroidPrime/Enemies/CPatternedInfo.cpp"), diff --git a/include/Kyoto/Text/CFontInstruction.hpp b/include/Kyoto/Text/CFontInstruction.hpp new file mode 100644 index 00000000..638a4491 --- /dev/null +++ b/include/Kyoto/Text/CFontInstruction.hpp @@ -0,0 +1,21 @@ +#ifndef _CFONTINSTRUCTION +#define _CFONTINSTRUCTION + +#include +#include +#include + +class CFontInstruction : public CInstruction { +public: + CFontInstruction(const TToken< CRasterFont >& font) : x4_font(font) {} + + void Invoke(CFontRenderState& state, CTextRenderBuffer* buf) const override; + void PageInvoke(CFontRenderState& state, CTextRenderBuffer* buf) const override; + void GetAssets(rstl::vector< CToken >& assetsOut) const override; + uint GetAssetCount() const override; + +private: + TToken< CRasterFont > x4_font; +}; + +#endif // _CFONTINSTRUCTION