Some work on m_do_ext (#1988)

* Some work on m_do_ext

* Work on m_do_ext
This commit is contained in:
hatal175
2023-11-18 09:02:12 +02:00
committed by GitHub
parent 645fd37c13
commit 37c58aaa2d
12 changed files with 280 additions and 455 deletions
+4
View File
@@ -222,4 +222,8 @@ inline void* JKRGetTypeResource(u32 tag, const char* name, JKRArchive* arc) {
return JKRArchive::getGlbResource(tag, name, arc);
}
inline bool JKRRemoveResource(void* resource, JKRFileLoader* fileLoader) {
return JKRFileLoader::removeResource(resource, fileLoader);
}
#endif
+10
View File
@@ -421,6 +421,8 @@ public:
JKRAramArchive* getFieldMapArchive2() { return (JKRAramArchive*)mFieldMapArchive2; }
JKRArchive* getOptionResArchive() { return mOptionResArchive; }
JKRArchive* getRingResArchive() { return mRingResArchive; }
JKRArchive* getFontArchive() { return mFontArchive; }
JKRArchive* getRubyArchive() { return mRubyArchive; }
void setFieldMapArchive2(JKRArchive* arc) { mFieldMapArchive2 = arc; }
void setAnmArchive(JKRArchive* arc) { mAnmArchive = arc; }
@@ -2016,6 +2018,14 @@ inline void dComIfGp_setRubyArchive(JKRArchive* arc) {
g_dComIfG_gameInfo.play.setRubyArchive(arc);
}
inline JKRArchive* dComIfGp_getFontArchive() {
return g_dComIfG_gameInfo.play.getFontArchive();
}
inline JKRArchive* dComIfGp_getRubyArchive() {
return g_dComIfG_gameInfo.play.getRubyArchive();
}
inline void dComIfGp_setMain2DArchive(JKRArchive* arc) {
g_dComIfG_gameInfo.play.setMain2DArchive(arc);
}
+14 -4
View File
@@ -275,7 +275,11 @@ public:
u8 getPlayMode() { return mFrameCtrl.getAttribute(); }
void setPlayMode(int mode) { mFrameCtrl.setAttribute(mode); }
bool isStop() {
return mFrameCtrl.checkState(1) || mFrameCtrl.getRate() == 0.0f;
bool stopped = true;
if (!mFrameCtrl.checkState(1) && mFrameCtrl.getRate() != 0.0f) {
stopped = false;
}
return stopped;
}
bool isLoop() { return mFrameCtrl.checkState(2); }
f32 getStartFrame() { return mFrameCtrl.getStart(); }
@@ -343,7 +347,7 @@ public:
mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int,
int, void*, u32, u32);
/* 8001037C */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32, void*);
/* 800105C8 */ void play(Vec*, u32, s8);
/* 800105C8 */ u32 play(Vec*, u32, s8);
/* 80010680 */ void entryDL();
/* 800106AC */ void modelCalc();
/* 80010710 */ void getTransform(u16, J3DTransformInfo*);
@@ -468,7 +472,13 @@ public:
class mDoExt_3DlineMat_c {
public:
#ifdef NONMATCHING
virtual int getMaterialID();
virtual void setMaterial();
virtual void draw();
#else
/* 0x0 */ void* field_0x0;
#endif
/* 0x4 */ mDoExt_3DlineMat_c* field_0x4;
};
@@ -490,11 +500,11 @@ class dKy_tevstr_c;
class mDoExt_3DlineMat1_c : public mDoExt_3DlineMat_c {
public:
/* 80013360 */ void init(u16, u16, ResTIMG*, int);
/* 800134F8 */ void setMaterial();
/* 800135D0 */ void draw();
/* 80013FB0 */ void update(int, GXColor&, dKy_tevstr_c*);
/* 8001373C */ void update(int, f32, GXColor&, u16, dKy_tevstr_c*);
/* 80014E7C */ int getMaterialID();
/* 800134F8 */ void setMaterial();
/* 800135D0 */ void draw();
private:
/* 0x08 */ GXTexObj field_0x8;