Skip to content

Commit c6f76e7

Browse files
Various JSystem work (#2383)
* JKernel and JStudio cleanup * JMessage cleanup * JAudio cleanup * JASBNKParser work * functionvalue work * fvb work * J2D and J3D cleanup * steal from tww * J2DPictureEx mostly done * fix build
1 parent 6672817 commit c6f76e7

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+1793
-2710
lines changed

config/GZ2E01/splits.txt

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1731,7 +1731,7 @@ JSystem/JStudio/JStudio/ctb.cpp:
17311731
.data start:0x803C4878 end:0x803C48E0
17321732

17331733
JSystem/JStudio/JStudio/functionvalue.cpp:
1734-
.text start:0x80281648 end:0x80283E24
1734+
.text start:0x80281648 end:0x80283F80
17351735
.rodata start:0x8039A9F0 end:0x8039AA00
17361736
.data start:0x803C48E0 end:0x803C49C0
17371737
.sbss start:0x804511E8 end:0x804511F0
@@ -1740,17 +1740,11 @@ JSystem/JStudio/JStudio/functionvalue.cpp:
17401740
JSystem/JStudio/JStudio/fvb-data.cpp:
17411741
.sdata2 start:0x80455450 end:0x80455458
17421742

1743-
JSystem/JStudio/JStudio/functionvalue-inline.cpp:
1744-
.text start:0x80283E24 end:0x80283F80
1745-
17461743
JSystem/JStudio/JStudio/fvb.cpp:
1747-
.text start:0x80283F80 end:0x80285018
1744+
.text start:0x80283F80 end:0x802850AC
17481745
.rodata start:0x8039AA00 end:0x8039AA40
17491746
.data start:0x803C49C0 end:0x803C4AC0
17501747

1751-
JSystem/JStudio/JStudio/fvb-inline.cpp:
1752-
.text start:0x80285018 end:0x802850AC
1753-
17541748
JSystem/JStudio/JStudio/fvb-data-parse.cpp:
17551749
.text start:0x802850AC end:0x80285114
17561750

config/GZ2E01/symbols.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13703,7 +13703,7 @@ JSUConvertOffsetToPtr<11_GXCullMode>__FPCvPCv = .text:0x802F4290; // type:functi
1370313703
JSUConvertOffsetToPtr<14J2DIndInitData>__FPCvPCv = .text:0x802F42A8; // type:function size:0x18 scope:global align:4
1370413704
JSUConvertOffsetToPtr<Us>__FPCvPCv = .text:0x802F42C0; // type:function size:0x18 scope:global align:4
1370513705
JSUConvertOffsetToPtr<19J2DMaterialInitData>__FPCvPCv = .text:0x802F42D8; // type:function size:0x18 scope:global align:4
13706-
J2DPrint_print_alpha_va = .text:0x802F42F0; // type:function size:0xA4 scope:global align:4
13706+
J2DPrint_print_alpha_va__FP8J2DPrintUcPCcP16__va_list_struct = .text:0x802F42F0; // type:function size:0xA4 scope:global align:4
1370713707
__ct__8J2DPrintFP7JUTFontffQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColor = .text:0x802F4394; // type:function size:0x8C scope:global align:4
1370813708
__dt__8J2DPrintFv = .text:0x802F4420; // type:function size:0x48 scope:global align:4
1370913709
private_initiate__8J2DPrintFP7JUTFontffQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorb = .text:0x802F4468; // type:function size:0x1F0 scope:global align:4

configure.py

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -768,28 +768,26 @@ def MatchingFor(*versions):
768768
JSystemLib(
769769
"JStudio",
770770
[
771-
Object(NonMatching, "JSystem/JStudio/JStudio/ctb.cpp"),
771+
Object(MatchingFor("GZ2E01"), "JSystem/JStudio/JStudio/ctb.cpp"),
772772
Object(MatchingFor("GZ2E01"), "JSystem/JStudio/JStudio/ctb-data.cpp"),
773773
Object(NonMatching, "JSystem/JStudio/JStudio/functionvalue.cpp"),
774-
Object(NonMatching, "JSystem/JStudio/JStudio/functionvalue-inline.cpp"),
775774
Object(NonMatching, "JSystem/JStudio/JStudio/fvb.cpp"),
776-
Object(NonMatching, "JSystem/JStudio/JStudio/fvb-inline.cpp"),
777775
Object(MatchingFor("GZ2E01"), "JSystem/JStudio/JStudio/fvb-data.cpp"),
778776
Object(MatchingFor("GZ2E01"), "JSystem/JStudio/JStudio/fvb-data-parse.cpp"),
779777
Object(MatchingFor("GZ2E01"), "JSystem/JStudio/JStudio/jstudio-control.cpp"),
780778
Object(MatchingFor("GZ2E01"), "JSystem/JStudio/JStudio/jstudio-data.cpp"),
781-
Object(NonMatching, "JSystem/JStudio/JStudio/jstudio-math.cpp"),
779+
Object(MatchingFor("GZ2E01"), "JSystem/JStudio/JStudio/jstudio-math.cpp"),
782780
Object(NonMatching, "JSystem/JStudio/JStudio/jstudio-object.cpp"),
783781
Object(MatchingFor("GZ2E01"), "JSystem/JStudio/JStudio/object-id.cpp"),
784-
Object(NonMatching, "JSystem/JStudio/JStudio/stb.cpp"),
782+
Object(MatchingFor("GZ2E01"), "JSystem/JStudio/JStudio/stb.cpp"),
785783
Object(MatchingFor("GZ2E01"), "JSystem/JStudio/JStudio/stb-data-parse.cpp"),
786784
Object(MatchingFor("GZ2E01"), "JSystem/JStudio/JStudio/stb-data.cpp"),
787785
],
788786
),
789787
JSystemLib(
790788
"JStudio_JStage",
791789
[
792-
Object(NonMatching, "JSystem/JStudio/JStudio_JStage/control.cpp"),
790+
Object(MatchingFor("GZ2E01"), "JSystem/JStudio/JStudio_JStage/control.cpp"),
793791
Object(MatchingFor("GZ2E01"), "JSystem/JStudio/JStudio_JStage/object.cpp"),
794792
Object(MatchingFor("GZ2E01"), "JSystem/JStudio/JStudio_JStage/object-actor.cpp", extra_cflags=['-pragma "nosyminline off"']),
795793
Object(MatchingFor("GZ2E01"), "JSystem/JStudio/JStudio_JStage/object-ambientlight.cpp"),
@@ -819,7 +817,7 @@ def MatchingFor(*versions):
819817
Object(NonMatching, "JSystem/JAudio2/JASTaskThread.cpp"),
820818
Object(MatchingFor("GZ2E01"), "JSystem/JAudio2/JASDvdThread.cpp"),
821819
Object(MatchingFor("GZ2E01"), "JSystem/JAudio2/JASCallback.cpp"),
822-
Object(NonMatching, "JSystem/JAudio2/JASHeapCtrl.cpp"),
820+
Object(NonMatching, "JSystem/JAudio2/JASHeapCtrl.cpp", extra_cflags=['-pragma "nosyminline off"']),
823821
Object(MatchingFor("GZ2E01"), "JSystem/JAudio2/JASResArcLoader.cpp"),
824822
Object(MatchingFor("GZ2E01"), "JSystem/JAudio2/JASProbe.cpp"),
825823
Object(MatchingFor("GZ2E01"), "JSystem/JAudio2/JASReport.cpp"),
@@ -888,11 +886,11 @@ def MatchingFor(*versions):
888886
JSystemLib(
889887
"JMessage",
890888
[
891-
Object(NonMatching, "JSystem/JMessage/control.cpp"),
889+
Object(MatchingFor("GZ2E01"), "JSystem/JMessage/control.cpp"),
892890
Object(MatchingFor("GZ2E01"), "JSystem/JMessage/data.cpp"),
893-
Object(NonMatching, "JSystem/JMessage/processor.cpp"),
891+
Object(NonMatching, "JSystem/JMessage/processor.cpp", extra_cflags=['-pragma "nosyminline off"']),
894892
Object(NonMatching, "JSystem/JMessage/resource.cpp"),
895-
Object(NonMatching, "JSystem/JMessage/locale.cpp"),
893+
Object(MatchingFor("GZ2E01"), "JSystem/JMessage/locale.cpp"),
896894
],
897895
),
898896
{
@@ -957,13 +955,13 @@ def MatchingFor(*versions):
957955
Object(MatchingFor("GZ2E01"), "JSystem/JKernel/JKRArchivePub.cpp"),
958956
Object(MatchingFor("GZ2E01"), "JSystem/JKernel/JKRArchivePri.cpp"),
959957
Object(MatchingFor("GZ2E01"), "JSystem/JKernel/JKRMemArchive.cpp"),
960-
Object(NonMatching, "JSystem/JKernel/JKRAramArchive.cpp"),
958+
Object(MatchingFor("GZ2E01"), "JSystem/JKernel/JKRAramArchive.cpp", extra_cflags=['-pragma "nosyminline off"']),
961959
Object(MatchingFor("GZ2E01"), "JSystem/JKernel/JKRDvdArchive.cpp"),
962960
Object(MatchingFor("GZ2E01"), "JSystem/JKernel/JKRCompArchive.cpp"),
963961
Object(MatchingFor("GZ2E01"), "JSystem/JKernel/JKRFile.cpp"),
964962
Object(MatchingFor("GZ2E01"), "JSystem/JKernel/JKRDvdFile.cpp"),
965963
Object(MatchingFor("GZ2E01"), "JSystem/JKernel/JKRDvdRipper.cpp"),
966-
Object(NonMatching, "JSystem/JKernel/JKRDvdAramRipper.cpp"),
964+
Object(MatchingFor("GZ2E01"), "JSystem/JKernel/JKRDvdAramRipper.cpp"),
967965
Object(MatchingFor("GZ2E01"), "JSystem/JKernel/JKRDecomp.cpp"),
968966
],
969967
),
@@ -980,9 +978,9 @@ def MatchingFor(*versions):
980978
JSystemLib(
981979
"JGadget",
982980
[
983-
Object(NonMatching, "JSystem/JGadget/binary.cpp"),
984-
Object(NonMatching, "JSystem/JGadget/linklist.cpp"),
985-
Object(Equivalent, "JSystem/JGadget/std-vector.cpp", extra_cflags=['-pragma "nosyminline off"']), # just weak order
981+
Object(MatchingFor("GZ2E01"), "JSystem/JGadget/binary.cpp"),
982+
Object(MatchingFor("GZ2E01"), "JSystem/JGadget/linklist.cpp"),
983+
Object(MatchingFor("GZ2E01"), "JSystem/JGadget/std-vector.cpp", extra_cflags=['-pragma "nosyminline off"']),
986984
],
987985
),
988986
JSystemLib(
@@ -1016,14 +1014,14 @@ def MatchingFor(*versions):
10161014
Object(MatchingFor("GZ2E01"), "JSystem/J2DGraph/J2DGrafContext.cpp"),
10171015
Object(MatchingFor("GZ2E01"), "JSystem/J2DGraph/J2DOrthoGraph.cpp"),
10181016
Object(MatchingFor("GZ2E01"), "JSystem/J2DGraph/J2DTevs.cpp"),
1019-
Object(NonMatching, "JSystem/J2DGraph/J2DMaterial.cpp"),
1017+
Object(Equivalent, "JSystem/J2DGraph/J2DMaterial.cpp", extra_cflags=['-pragma "nosyminline off"']), # weak func order
10201018
Object(NonMatching, "JSystem/J2DGraph/J2DMatBlock.cpp"),
10211019
Object(NonMatching, "JSystem/J2DGraph/J2DMaterialFactory.cpp"),
1022-
Object(NonMatching, "JSystem/J2DGraph/J2DPrint.cpp"),
1020+
Object(MatchingFor("GZ2E01"), "JSystem/J2DGraph/J2DPrint.cpp"),
10231021
Object(MatchingFor("GZ2E01"), "JSystem/J2DGraph/J2DPane.cpp"),
10241022
Object(NonMatching, "JSystem/J2DGraph/J2DScreen.cpp"),
10251023
Object(MatchingFor("GZ2E01"), "JSystem/J2DGraph/J2DWindow.cpp"),
1026-
Object(NonMatching, "JSystem/J2DGraph/J2DPicture.cpp"),
1024+
Object(MatchingFor("GZ2E01"), "JSystem/J2DGraph/J2DPicture.cpp", extra_cflags=['-pragma "nosyminline off"']),
10271025
Object(MatchingFor("GZ2E01"), "JSystem/J2DGraph/J2DTextBox.cpp"),
10281026
Object(NonMatching, "JSystem/J2DGraph/J2DWindowEx.cpp"),
10291027
Object(NonMatching, "JSystem/J2DGraph/J2DPictureEx.cpp"),
@@ -1045,7 +1043,7 @@ def MatchingFor(*versions):
10451043
Object(NonMatching, "JSystem/J3DGraphBase/J3DShapeMtx.cpp"),
10461044
Object(NonMatching, "JSystem/J3DGraphBase/J3DShapeDraw.cpp"),
10471045
Object(MatchingFor("GZ2E01"), "JSystem/J3DGraphBase/J3DShape.cpp"),
1048-
Object(NonMatching, "JSystem/J3DGraphBase/J3DMaterial.cpp"),
1046+
Object(MatchingFor("GZ2E01"), "JSystem/J3DGraphBase/J3DMaterial.cpp", extra_cflags=['-pragma "nosyminline off"']),
10491047
Object(NonMatching, "JSystem/J3DGraphBase/J3DMatBlock.cpp"),
10501048
Object(MatchingFor("GZ2E01"), "JSystem/J3DGraphBase/J3DTevs.cpp"),
10511049
Object(MatchingFor("GZ2E01"), "JSystem/J3DGraphBase/J3DDrawBuffer.cpp"),
@@ -1075,7 +1073,7 @@ def MatchingFor(*versions):
10751073
Object(MatchingFor("GZ2E01"), "JSystem/J3DGraphLoader/J3DMaterialFactory_v21.cpp"),
10761074
Object(MatchingFor("GZ2E01"), "JSystem/J3DGraphLoader/J3DClusterLoader.cpp", extra_cflags=['-pragma "nosyminline off"']),
10771075
Object(MatchingFor("GZ2E01"), "JSystem/J3DGraphLoader/J3DModelLoader.cpp", extra_cflags=['-pragma "nosyminline off"']),
1078-
Object(NonMatching, "JSystem/J3DGraphLoader/J3DModelLoaderCalcSize.cpp"),
1076+
Object(MatchingFor("GZ2E01"), "JSystem/J3DGraphLoader/J3DModelLoaderCalcSize.cpp"),
10791077
Object(MatchingFor("GZ2E01"), "JSystem/J3DGraphLoader/J3DJointFactory.cpp"),
10801078
Object(MatchingFor("GZ2E01"), "JSystem/J3DGraphLoader/J3DShapeFactory.cpp"),
10811079
Object(MatchingFor("GZ2E01"), "JSystem/J3DGraphLoader/J3DAnmLoader.cpp", extra_cflags=['-pragma "nosyminline off"']),

include/JSystem/J2DGraph/J2DMatBlock.h

Lines changed: 1 addition & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -774,48 +774,12 @@ class J2DTexGenBlock {
774774
void setTexGenNum(u32 num) { mTexGenNum = num; }
775775
void setTexCoord(u32 i, J2DTexCoord coord) { mTexGenCoord[i] = coord; }
776776
void setTexMtx(u32 i, J2DTexMtx* mtx) { mTexMtx[i] = mtx; }
777+
J2DTexMtx& getTexMtx(u32 i) { return *mTexMtx[i]; }
777778
J2DTexCoord& getTexCoord(u32 i) { return mTexGenCoord[i]; }
778779

779780
/* 802EB620 */ virtual ~J2DTexGenBlock();
780781
}; // Size: 0x48
781782

782-
/**
783-
* @ingroup jsystem-j2d
784-
*
785-
*/
786-
struct J2DColorChanInfo {
787-
/* 0x0 */ u8 field_0x0;
788-
/* 0x0 */ u8 field_0x1;
789-
/* 0x0 */ u8 field_0x2;
790-
/* 0x0 */ u8 field_0x3;
791-
};
792-
793-
inline u8 J2DCalcColorChanID(const J2DColorChanInfo& info) { return info.field_0x1; }
794-
extern const J2DColorChanInfo j2dDefaultColorChanInfo;
795-
796-
/**
797-
* @ingroup jsystem-j2d
798-
*
799-
*/
800-
class J2DColorChan {
801-
public:
802-
/* 802EB280 */ J2DColorChan() {
803-
setColorChanInfo(j2dDefaultColorChanInfo);
804-
}
805-
J2DColorChan(const J2DColorChanInfo& info) {
806-
mColorChan = J2DCalcColorChanID(info);
807-
}
808-
809-
void setColorChanInfo(const J2DColorChanInfo& info) {
810-
mColorChan = J2DCalcColorChanID(info);
811-
}
812-
813-
u16 getMatSrc() const { return mColorChan & 1; }
814-
815-
private:
816-
/* 0x0 */ u16 mColorChan;
817-
};
818-
819783
/**
820784
* @ingroup jsystem-j2d
821785
*

include/JSystem/J2DGraph/J2DPicture.h

Lines changed: 65 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
#define J2DPICTURE_H
33

44
#include "JSystem/J2DGraph/J2DPane.h"
5+
#include "JSystem/JUtility/JUTTexture.h"
56
#include "JSystem/JUtility/TColor.h"
67

78
class J2DMaterial;
89
class JUTPalette;
9-
class JUTTexture;
1010
struct ResTIMG;
1111
struct ResTLUT;
1212

@@ -55,45 +55,83 @@ struct J2DScrnBlockPictureParameter {
5555
class J2DPicture : public J2DPane {
5656
public:
5757
/* 802FCFF0 */ virtual ~J2DPicture();
58-
/* 802FF2E8 */ virtual u16 getTypeID() const;
58+
/* 802FF2E8 */ virtual u16 getTypeID() const { return 18; }
5959
/* 802FDB28 */ virtual void drawSelf(f32, f32);
6060
/* 802FDB90 */ virtual void drawSelf(f32, f32, Mtx*);
61-
/* 802FF09C */ virtual bool isUsed(ResTIMG const*);
62-
/* 802FF63C */ virtual bool isUsed(ResFONT const*);
63-
/* 802FF65C */ virtual void rewriteAlpha();
6461
/* 802FCCDC */ virtual void initiate(ResTIMG const*, ResTLUT const*);
6562
/* 802FD098 */ virtual bool prepareTexture(u8);
66-
/* 801BDD40 */ virtual bool append(ResTIMG const*, f32);
67-
/* 802FF238 */ virtual bool append(ResTIMG const*, JUTPalette*, f32);
63+
/* 801BDD40 */ virtual bool append(ResTIMG const* param_0, f32 param_1) {
64+
return insert(param_0, mTextureNum, param_1);
65+
}
66+
/* 802FF238 */ virtual bool append(ResTIMG const* param_0, JUTPalette* param_1, f32 param_2) {
67+
return insert(param_0, param_1, mTextureNum, param_2);
68+
}
6869
/* 80020338 */ virtual bool append(char const* param_0, f32 param_1) {
6970
return insert(param_0, mTextureNum, param_1);
7071
}
71-
72-
/* 802FF2F0 */ virtual bool append(char const*, JUTPalette*, f32);
73-
/* 802FF208 */ virtual bool append(JUTTexture*, f32);
74-
/* 802FF3E0 */ virtual void prepend(ResTIMG const*, f32);
75-
/* 802FF3B0 */ virtual void prepend(ResTIMG const*, JUTPalette*, f32);
76-
/* 802FF380 */ virtual void prepend(char const*, f32);
77-
/* 802FF350 */ virtual void prepend(char const*, JUTPalette*, f32);
78-
/* 802FF320 */ virtual void prepend(JUTTexture*, f32);
79-
/* 801BDD70 */ virtual void insert(ResTIMG const*, u8, f32);
72+
/* 802FF2F0 */ virtual bool append(char const* param_0, JUTPalette* param_1, f32 param_2) {
73+
return insert(param_0, param_1, mTextureNum, param_2);
74+
}
75+
/* 802FF208 */ virtual bool append(JUTTexture* param_0, f32 param_1) {
76+
return insert(param_0, mTextureNum, param_1);
77+
}
78+
/* 802FF3E0 */ virtual void prepend(ResTIMG const* param_0, f32 param_1) {
79+
insert(param_0, 0, param_1);
80+
}
81+
/* 802FF3B0 */ virtual void prepend(ResTIMG const* param_0, JUTPalette* param_1, f32 param_2) {
82+
insert(param_0, param_1, 0, param_2);
83+
}
84+
/* 802FF380 */ virtual void prepend(char const* param_0, f32 param_1) {
85+
insert(param_0, 0, param_1);
86+
}
87+
/* 802FF350 */ virtual void prepend(char const* param_0, JUTPalette* param_1, f32 param_2) {
88+
insert(param_0, param_1, 0, param_2);
89+
}
90+
/* 802FF320 */ virtual void prepend(JUTTexture* param_0, f32 param_1) {
91+
insert(param_0, 0, param_1);
92+
}
93+
/* 801BDD70 */ virtual bool insert(ResTIMG const*, u8, f32);
8094
/* 802FD168 */ virtual bool insert(ResTIMG const*, JUTPalette*, u8, f32);
8195
/* 80020368 */ virtual bool insert(char const* param_0, u8 param_1, f32 param_2) {
8296
return insert(param_0, NULL, param_1, param_2);
8397
}
8498
/* 802FD4B4 */ virtual bool insert(char const*, JUTPalette*, u8, f32);
8599
/* 802FD524 */ virtual bool insert(JUTTexture*, u8, f32);
86100
/* 802FD6F4 */ virtual bool remove(u8);
87-
/* 802FF410 */ virtual bool remove();
101+
/* 802FF410 */ virtual bool remove() { return remove(mTextureNum - 1); }
88102
/* 802FD814 */ virtual bool remove(JUTTexture*);
89-
/* 802FF4E0 */ virtual void draw(f32, f32, bool, bool, bool);
90-
/* 802FF448 */ virtual void draw(f32, f32, u8, bool, bool, bool);
103+
/* 802FF4E0 */ virtual void draw(f32 param_0, f32 param_1, bool param_2, bool param_3,
104+
bool param_4) {
105+
draw(param_0, param_1, 0, param_2, param_3, param_4);
106+
}
107+
/* 802FF448 */ virtual void draw(f32 param_0, f32 param_1, u8 param_2, bool param_3,
108+
bool param_4, bool param_5) {
109+
if (param_2 < mTextureNum && mTexture[param_2] != NULL) {
110+
draw(param_0, param_1, mTexture[param_2]->getWidth(), mTexture[param_2]->getHeight(),
111+
param_3, param_4, param_5);
112+
}
113+
}
91114
/* 802FDC70 */ virtual void draw(f32, f32, f32, f32, bool, bool, bool);
92-
/* 802FF588 */ virtual void drawOut(f32, f32, f32, f32, f32, f32);
93-
/* 802FF524 */ virtual void drawOut(f32, f32, f32, f32, f32, f32, f32, f32);
115+
/* 802FF588 */ virtual void drawOut(f32 param_0, f32 param_1, f32 param_2, f32 param_3,
116+
f32 param_4, f32 param_5) {
117+
if (mTexture[0] != NULL) {
118+
drawOut(JGeometry::TBox2<f32>(param_0, param_1, param_0 + param_2, param_1 + param_3),
119+
JGeometry::TBox2<f32>(param_4, param_5, param_4 + mTexture[0]->getWidth(),
120+
param_5 + mTexture[0]->getHeight()));
121+
}
122+
}
123+
/* 802FF524 */ virtual void drawOut(f32 param_0, f32 param_1, f32 param_2, f32 param_3,
124+
f32 param_4, f32 param_5, f32 param_6, f32 param_7) {
125+
drawOut(JGeometry::TBox2<f32>(param_0, param_1, param_0 + param_2, param_1 + param_3),
126+
JGeometry::TBox2<f32>(param_4, param_5, param_4 + param_6, param_5 + param_7));
127+
}
94128
/* 802FDF88 */ virtual void drawOut(JGeometry::TBox2<f32> const&, JGeometry::TBox2<f32> const&);
95-
/* 802FF29C */ virtual void load(_GXTexMapID, u8);
96-
/* 802FF268 */ virtual void load(u8);
129+
/* 802FF29C */ virtual void load(_GXTexMapID param_0, u8 param_1) {
130+
if (param_1 < mTextureNum && param_1 < 2 && mTexture[param_1] != NULL) {
131+
mTexture[param_1]->load(param_0);
132+
}
133+
}
134+
/* 802FF268 */ virtual void load(u8 param_0) { load((_GXTexMapID)param_0, param_0); }
97135
/* 800202CC */ virtual void setBlendRatio(f32 param_0, f32 param_1) {
98136
setBlendColorRatio(param_0, param_1);
99137
setBlendAlphaRatio(param_0, param_1);
@@ -105,7 +143,7 @@ class J2DPicture : public J2DPane {
105143
/* 802FD9BC */ virtual const ResTIMG* changeTexture(ResTIMG const*, u8, JUTPalette*);
106144
/* 802FDAC8 */ virtual const ResTIMG* changeTexture(char const*, u8, JUTPalette*);
107145
/* 800539DC */ virtual JUTTexture* getTexture(u8) const;
108-
/* 802FF634 */ virtual u8 getTextureCount() const;
146+
/* 802FF634 */ virtual u8 getTextureCount() const { return mTextureNum; }
109147
/* 80053C6C */ virtual bool setBlack(JUtility::TColor i_black) {
110148
mBlack = i_black;
111149
return true;
@@ -130,6 +168,9 @@ class J2DPicture : public J2DPane {
130168
/* 802FE380 */ virtual void drawTexCoord(f32, f32, f32, f32, s16, s16, s16, s16, s16, s16, s16,
131169
s16, Mtx*);
132170
/* 802FF100 */ virtual u8 getUsableTlut(u8);
171+
/* 802FF09C */ virtual bool isUsed(ResTIMG const*);
172+
/* 802FF63C */ virtual bool isUsed(ResFONT const* param_0) { return J2DPane::isUsed(param_0); }
173+
/* 802FF65C */ virtual void rewriteAlpha() {}
133174

134175
/* 802FC800 */ J2DPicture(u64, JGeometry::TBox2<f32> const&, ResTIMG const*, ResTLUT const*);
135176
/* 802FC708 */ J2DPicture(ResTIMG const*);

0 commit comments

Comments
 (0)