wii building OK / m_Do_graphic debug work (#2815)

* wii building OK + m_Do_graphic debug work

* d_meter_HIO debug cleanup

* wii m_Do_graphic stuff

* tag_attack_item OK, mirror_chain almost

* fix build

* mg_fshop matching
This commit is contained in:
TakaRikka
2025-11-17 20:01:03 +02:00
committed by GitHub
parent 4350a38fe0
commit 540217c31b
99 changed files with 3837 additions and 1964 deletions
+2 -2
View File
@@ -134,7 +134,7 @@ m_Do/m_Do_machine_exception.cpp:
c/c_damagereaction.cpp:
.text start:0x8001DD0C end:0x8001DFE4
.ctors start:0x803CE25C end:0x803CE260
.data start:0x803F7238 end:0x803F9CF0
.data start:0x803F7238 end:0x803F7288
.bss start:0x8047D480 end:0x8047D490
.sdata start:0x805377B8 end:0x80537808
.sbss start:0x8053A8F4 end:0x8053A8FC
@@ -143,7 +143,7 @@ c/c_damagereaction.cpp:
c/c_dylink.cpp:
.text start:0x8001DFE4 end:0x8001E4D4
.rodata start:0x803CE450 end:0x803CFC00
.data start:0x803F9CF0 end:0x803F9D00
.data start:0x803F7288 end:0x803F9D00
.bss start:0x8047D490 end:0x8047E0E8
.sbss start:0x8053A8FC end:0x8053A908
+25 -15
View File
@@ -258,9 +258,9 @@ cflags_base = [
]
if config.version == "ShieldD":
cflags_base.extend(["-O0", "-inline off", "-RTTI on", "-str reuse", "-enc SJIS", "-DDEBUG=1"])
cflags_base.extend(["-O0", "-inline off", "-RTTI on", "-str reuse", "-enc SJIS", "-DDEBUG=1", "-DWIDESCREEN_SUPPORT=1"])
elif config.version == "RZDE01_00" or config.version == "RZDE01_02" or config.version == "Shield":
cflags_base.extend(["-O4,p", "-inline auto", "-ipa file", "-RTTI on", "-str reuse", "-enc SJIS"])
cflags_base.extend(["-O4,p", "-inline auto", "-ipa file", "-RTTI on", "-str reuse", "-enc SJIS", "-DWIDESCREEN_SUPPORT=1"])
else:
cflags_base.extend(["-O4,p", "-inline auto", "-RTTI off", "-str reuse", "-multibyte"])
@@ -396,15 +396,11 @@ def MWVersion(cfg_version: str | None) -> str:
case "GZ2J01":
return "GC/2.7"
case "RZDE01_00" | "RZDE01_02":
# TODO: Find right compiler for Wii
# GC/3.0a3 codegen seems better than Wii compilers, but it fails linking (linker version?) and can't handle multi-char constants
# Potentially missing an early Wii compiler that had the earlier codegen and reverted char constant change?
# Or some specific compiler used in the early days of transitioning GC to Wii development
# Additionally, "-ipa file" seems to needed, so it can't be earlier than GC 3.0
# GC/3.0a5.2 breaks when compiling TUs like m_Do_graphic, but none of the other 3.0+ ones do
# Wii/1.0RC1 is the earliest Wii one we have at this time but it doesn't have the right codegen from GC/3.0+
# (GC 3.0a3 - Dec 2005 | GC 3.0a5.2 - Aug 2006 | Wii 1.0RC - May 2008)
return "Wii/1.0RC1"
# NOTE: we use a modified version of GC/3.0a3 to be able to handle multi-char constants.
# This was probably a change made in some compiler version in the early days of transitioning GC to Wii development,
# but we don't have that version. GC/3.0a3 appears to have the best overall codegen of any available GC/Wii compiler
# However GC/3.0a5 is required for the linker version, GC/3.0a3 won't work.
return "GC/3.0a3t"
case "ShieldD":
return "Wii/1.0"
case "Shield":
@@ -412,7 +408,10 @@ def MWVersion(cfg_version: str | None) -> str:
case _:
return "GC/2.7"
config.linker_version = MWVersion(config.version)
if config.version == "RZDE01_00" or config.version == "RZDE01_02":
config.linker_version = "GC/3.0a5"
else:
config.linker_version = MWVersion(config.version)
# Helper function for Dolphin libraries
@@ -600,6 +599,7 @@ config.libs = [
"host": True,
"objects": [
Object(NonMatching, "d/d_home_button.cpp"),
Object(NonMatching, "d/d_cursor_mng.cpp"),
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_stage.cpp"),
Object(Equivalent, "d/d_map.cpp"), # weak func order
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_com_inf_game.cpp"),
@@ -780,6 +780,16 @@ config.libs = [
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "DynamicLink.cpp"),
],
},
{
"lib": "CaptureScreen",
"mw_version": MWVersion(config.version),
"cflags": cflags_framework,
"progress_category": "core",
"host": True,
"objects": [
Object(NonMatching, "CaptureScreen.cpp"),
],
},
{
"lib": "SSystem",
"mw_version": MWVersion(config.version),
@@ -1679,7 +1689,7 @@ config.libs = [
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_swc00"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_tag_CstaSw"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_tag_ajnot"),
ActorRel(NonMatching, "d_a_tag_attack_item"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_tag_attack_item"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_tag_gstart"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_tag_hinit"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_tag_hjump"),
@@ -1834,7 +1844,7 @@ config.libs = [
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_kytag15"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_kytag16"),
ActorRel(NonMatching, "d_a_mant"),
ActorRel(NonMatching, "d_a_mg_fshop"),
ActorRel(MatchingFor("GZ2E01"), "d_a_mg_fshop"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_mirror"),
ActorRel(NonMatching, "d_a_movie_player", extra_cflags=["-O3,p"]),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_myna"),
@@ -2129,7 +2139,7 @@ config.libs = [
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_mhole"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_mie"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_mirror_6pole"),
ActorRel(NonMatching, "d_a_obj_mirror_chain"),
ActorRel(Equivalent, "d_a_obj_mirror_chain"), # stack order
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_mirror_sand"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_mirror_screw"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_mirror_table"),
+21
View File
@@ -0,0 +1,21 @@
#ifndef CAPTURESCREEN_H
#define CAPTURESCREEN_H
#include "JSystem/JFramework/JFWDisplay.h"
class CaptureScreen {
public:
CaptureScreen(const JFWDisplay*);
static int getAlignedWidthBytes(int);
static int getBmpBufferSize(int, int);
void makeBmpFromEfb(void*, int, int, int, int, int, int);
void openBmp(int, int);
void closeBmp();
void saveBmp(void*, u32);
/* 0x0 */ const JFWDisplay* mpDisplay;
/* 0x4 */ int field_0x4;
};
#endif /* CAPTURESCREEN_H */
+4
View File
@@ -72,6 +72,10 @@ public:
static JFWDisplay* getManager() { return sManager; }
static JFWDisplay* createManager(JKRHeap* i_heap, JUTXfb::EXfbNumber i_xfbNum, bool param_2) {
return createManager(NULL, i_heap, i_xfbNum, param_2);
}
bool startFadeOut(int param_0) {
if (mFader != NULL) {
return mFader->startFadeOut(param_0);
+1 -1
View File
@@ -28,7 +28,7 @@ public:
void newGroupId(u8 groupId) { mGroupId = groupId; }
bool isValid() const { return mMagic == 'HM'; }
bool _isTempMemBlock() const { return (mFlags & 0x80) ? true : false; }
bool isTempMemBlock() const { return mFlags & 0x80; }
int getAlignment() const { return mFlags & 0x7f; }
void* getContent() const { return (void*)(this + 1); }
CMemBlock* getPrevBlock() const { return mPrev; }
+4
View File
@@ -68,4 +68,8 @@ inline JKRFileCache* JKRMountDvdDrive(const char* path, JKRHeap* heap, const cha
return JKRFileCache::mount(path, heap, param_2);
}
inline void JKRUnmountDvdDrive(JKRFileCache* filecache) {
filecache->unmount();
}
#endif /* JKRFILECACHE_H */
+1 -1
View File
@@ -91,7 +91,7 @@ public:
void setDebugFill(bool debugFill) { mDebugFill = debugFill; }
bool getDebugFill() const { return mDebugFill; }
void* getStartAddr() { return (void*)mStart; }
void* getEndAddr() const { return (void*)mEnd; }
void* getEndAddr() { return (void*)mEnd; }
u32 getSize() const { return mSize; }
bool getErrorFlag() const { return mErrorFlag; }
void callErrorHandler(JKRHeap* heap, u32 size, int alignment) {
+4 -2
View File
@@ -9,12 +9,12 @@
*/
class JPADrawInfo {
public:
JPADrawInfo(Mtx param_0, f32 fovY, f32 aspect) {
JPADrawInfo(const Mtx param_0, f32 fovY, f32 aspect) {
MTXCopy(param_0, mCamMtx);
C_MTXLightPerspective(mPrjMtx, fovY, aspect, 0.5f, -0.5f, 0.5f, 0.5f);
}
JPADrawInfo(Mtx param_0, f32 top, f32 bottom, f32 left, f32 right) {
JPADrawInfo(const Mtx param_0, f32 top, f32 bottom, f32 left, f32 right) {
MTXCopy(param_0, mCamMtx);
C_MTXLightOrtho(mPrjMtx, top, bottom, left, right, 0.5f, 0.5f, 0.5f, 0.5f);
}
@@ -24,6 +24,8 @@ public:
void getCamMtx(Mtx dst) const { MTXCopy(mCamMtx, dst); }
void getPrjMtx(Mtx dst) const { MTXCopy(mPrjMtx, dst); }
void setPrjMtx(const Mtx src) { MTXCopy(src, mPrjMtx); }
};
#endif
+4 -1
View File
@@ -110,7 +110,10 @@ public:
void stopMotor() { mRumble.stopMotor(mPortNum, false); }
void stopMotorHard() { mRumble.stopMotorHard(mPortNum); }
static s8 getPortStatus(u32 port) { return mPadStatus[port].err; }
static s8 getPortStatus(EPadPort port) {
JUT_ASSERT(360, 0 <= port && port < 4);
return mPadStatus[port].err;
}
struct CButton {
CButton() { clear(); }
+13
View File
@@ -71,6 +71,19 @@ inline T cLib_maxLimit(T val, T max) {
return (T)ret;
}
template <typename T>
inline T cLib_minLimit(T val, T min) {
T ret;
if (val < min) {
ret = min;
} else {
ret = val;
}
return (T)ret;
}
template <typename T>
T cLib_getRndValue(T min, T range) {
return (T)(min + cM_rndF((f32)range));
+3 -2
View File
@@ -36,7 +36,7 @@ struct fs_rod_s {
/* 0x4C */ int field_0x4c;
/* 0x50 */ u8 field_0x50[0x54 - 0x50];
/* 0x54 */ f32 field_0x54;
/* 0x58 */ u8 field_0x58[0x5C - 0x58];
/* 0x58 */ s16 field_0x58;
};
struct fs_lure_s {
@@ -82,8 +82,9 @@ struct fs_koro2_s {
* @details
*
*/
class fshop_class : public fopAc_ac_c {
class fshop_class {
public:
/* 0x0000 */ fopAc_ac_c actor;
/* 0x0568 */ request_of_phase_process_class mPhase;
/* 0x0570 */ s16 field_0x0570;
/* 0x0572 */ s16 field_0x0572;
+1 -1
View File
@@ -38,7 +38,7 @@ public:
/* 80C96E40 */ int createHeap();
/* 80C975EC */ void initBaseMtx();
/* 80C97618 */ void setBaseMtx();
/* 80C976B8 */ int draw();
/* 80C976B8 */ inline int draw();
/* 80C97988 */ int execute();
inline ~daObjMirrorChain_c();
inline void create_init();
+30
View File
@@ -1,5 +1,35 @@
#ifndef D_A_TAG_ATTACK_ITEM_H
#define D_A_TAG_ATTACK_ITEM_H
#include "f_op/f_op_actor_mng.h"
#include "d/d_event_lib.h"
#include "d/d_cc_d.h"
class daTagAtkItem_c : public fopAc_ac_c , public dEvLib_callback_c {
public:
daTagAtkItem_c() : dEvLib_callback_c(this) {}
/* 805A2958 */ void setBaseMtx();
/* 805A2990 */ int Create();
/* 805A2A34 */ int create();
/* 805A2C48 */ int execute();
/* 805A2CA8 */ void action();
/* 805A2D58 */ BOOL checkHit();
/* 805A2F54 */ void createItem();
/* 805A3038 */ int _delete();
/* 805A3118 */ virtual ~daTagAtkItem_c() {}
/* 805A2D10 */ virtual bool eventStart();
/* 805A2D34 */ virtual bool eventEnd();
u8 getEvId() { return fopAcM_GetParamBit(this, 0x18, 8); }
u8 getNum() { return fopAcM_GetParamBit(this, 8, 8); }
u8 getItemBit() { return fopAcM_GetParamBit(this, 0x10, 8); }
u8 getItemNo() { return fopAcM_GetParamBit(this, 0, 8); }
/* 0x57C */ u8 field_0x57C[0x584 - 0x57C];
/* 0x584 */ dCcD_Stts mCcStts;
/* 0x5C0 */ dCcD_Cyl mCyl;
};
#endif /* D_A_TAG_ATTACK_ITEM_H */
+2 -1
View File
@@ -10,6 +10,7 @@
#include "d/d_stage.h"
#include "d/actor/d_a_player.h"
#include "f_op/f_op_actor.h"
#include "m_Do/m_Do_graphic.h"
dAttention_c* dComIfGp_getAttention();
@@ -1063,7 +1064,7 @@ public:
bool CheckFlag(u32 i_flag) { return mEventFlags & i_flag; }
void ResetView() { setView(0.0f, 0.0f, 608.0f, 448.0f); }
void ResetView() { setView(0.0f, 0.0f, FB_WIDTH, FB_HEIGHT); }
void clearInfo(dCamInfo_c* i_info, s16 param_1) {
i_info->field_0x1e = param_1;
+7 -3
View File
@@ -236,7 +236,7 @@ public:
/* 0x04F69 */ u8 mNeedLightDropNum;
/* 0x04F6A */ u8 field_0x4f6a[18];
/* 0x04F7C */ u8 mMesgBgm;
/* 0x04F7D */ bool mPauseFlag;
/* 0x04F7D */ u8 mPauseFlag;
/* 0x04F7E */ u8 mItemLifeCountType;
/* 0x04F7F */ u8 mOxygenShowFlag;
/* 0x04F80 */ u8 mShow2D;
@@ -715,7 +715,7 @@ public:
void setDirection(u8 i_dir) { mItemInfo.mDirection = i_dir; }
bool& isPauseFlag() { return mItemInfo.mPauseFlag; }
u8 isPauseFlag() { return mItemInfo.mPauseFlag; }
void offPauseFlag() { mItemInfo.mPauseFlag = false; }
void onPauseFlag() { mItemInfo.mPauseFlag = true; }
u8 getOxygenShowFlag() { return mItemInfo.mOxygenShowFlag; }
@@ -3095,7 +3095,7 @@ inline bool dComIfGp_isBottleSetFlag(u8 flag) {
return g_dComIfG_gameInfo.play.isBottleSetFlag(flag);
}
inline bool dComIfGp_isPauseFlag() {
inline u8 dComIfGp_isPauseFlag() {
return g_dComIfG_gameInfo.play.isPauseFlag();
}
@@ -4069,6 +4069,10 @@ inline JPABaseEmitter* dComIfGp_particle_getEmitter(u32 param_0) {
return g_dComIfG_gameInfo.play.getParticle()->getEmitter(param_0);
}
inline void dComIfGp_particle_levelExecute(u32 param_0) {
g_dComIfG_gameInfo.play.getParticle()->levelExecute(param_0);
}
inline u32 dComIfGp_particle_setSimpleFoot(u32 param_0, u32* param_1, cBgS_PolyInfo& param_2,
cXyz const* param_3, dKy_tevstr_c const* param_4,
int param_5, csXyz const* param_6, cXyz const* param_7,
+9
View File
@@ -0,0 +1,9 @@
#ifndef D_CURSOR_MNG_H
#define D_CURSOR_MNG_H
#include "m_Do/m_Re_controller_pad.h"
// TODO: putting this here until a more appropriate place is found
extern u8 data_8053a730;
#endif /* D_CURSOR_MNG_H */
+5
View File
@@ -312,6 +312,11 @@ bool dMeter2Info_isItemOpenCheck();
bool dMeter2Info_isMapOpenCheck();
s16 dMeter2Info_getNowLifeGauge();
#if WIDESCREEN_SUPPORT
void dMeter2Info_onWide2D();
void dMeter2Info_offWide2D();
#endif
inline void dMeter2Info_Initialize() {
g_meter2_info.init();
}
+80 -24
View File
@@ -3,17 +3,27 @@
#include "JSystem/JUtility/TColor.h"
#include "JSystem/JHostIO/JORReflexible.h"
#include "JSystem/JHostIO/JORServer.h"
#include "SSystem/SComponent/c_sxyz.h"
#include "SSystem/SComponent/c_xyz.h"
#include "global.h"
struct subJOREventCallbackListNode : public JOREventCallbackListNode {
subJOREventCallbackListNode() : JOREventCallbackListNode(0x81000000, 0x81000000, true) {}
virtual int JORAct(u32, const char*);
virtual ~subJOREventCallbackListNode() {}
};
class JKRAramArchive;
class dMeter_menuHIO_c {
class dMeter_menuHIO_c : public JORReflexible {
public:
/* 801FE330 */ dMeter_menuHIO_c();
/* 8020123C */ virtual ~dMeter_menuHIO_c() {}
void genMessage(JORMContext*);
/* 0x0 */ // vtable
/* 0x4 */ u8 field_0x4[2];
/* 0x6 */ s16 mGameover;
@@ -21,11 +31,13 @@ public:
STATIC_ASSERT(sizeof(dMeter_menuHIO_c) == 8);
class dMeter_drawCollectHIO_c {
class dMeter_drawCollectHIO_c : public JORReflexible {
public:
dMeter_drawCollectHIO_c();
virtual ~dMeter_drawCollectHIO_c() {}
void genMessage(JORMContext*);
enum {
/* 0x0 */ VESSEL_HEART,
/* 0x1 */ VESSEL_DECOR
@@ -70,11 +82,13 @@ public:
/* 0x9C */ bool mButtonDebugON;
}; // Size = 0xA0
class dMeter_drawOptionHIO_c {
class dMeter_drawOptionHIO_c : public JORReflexible {
public:
/* 801FE4EC */ dMeter_drawOptionHIO_c();
/* 80200F98 */ virtual ~dMeter_drawOptionHIO_c() {}
void genMessage(JORMContext*);
enum OptionType {
/* 0x0 */ ATTENTION,
/* 0x1 */ RUMBLE,
@@ -106,11 +120,13 @@ public:
/* 0x6D */ u8 mBackgroundAlpha;
}; // Size: 0x70
class dMeter_drawLetterHIO_c {
class dMeter_drawLetterHIO_c : public JORReflexible {
public:
/* 801FE5CC */ dMeter_drawLetterHIO_c();
/* 80200F50 */ virtual ~dMeter_drawLetterHIO_c() {}
void genMessage(JORMContext*);
enum {
/* 0x0 */ WINDOW_FRAME,
/* 0x1 */ LETTER_FRAME
@@ -146,11 +162,13 @@ public:
/* 0x5F */ bool mDebugON;
}; // Size: 0x60
class dMeter_drawFishingHIO_c {
class dMeter_drawFishingHIO_c : public JORReflexible {
public:
/* 801FE730 */ dMeter_drawFishingHIO_c();
/* 80200F08 */ virtual ~dMeter_drawFishingHIO_c() {}
void genMessage(JORMContext*);
enum {
/* 0x0 */ HYLIAN_BASS,
/* 0x1 */ HYLIAN_LOACH,
@@ -196,11 +214,13 @@ public:
/* 0x250 */ bool mDebug;
}; // Size: 0x254
class dMeter_drawInsectHIO_c {
class dMeter_drawInsectHIO_c : public JORReflexible {
public:
/* 801FE8DC */ dMeter_drawInsectHIO_c();
/* 80200EC0 */ virtual ~dMeter_drawInsectHIO_c() {}
void genMessage(JORMContext*);
enum Type {
/* 0x0 */ DEFAULT,
/* 0x1 */ COLLECT,
@@ -227,11 +247,13 @@ public:
/* 0x3D */ bool mDebugON;
}; // Size: 0x40
class dMeter_drawCalibrationHIO_c {
class dMeter_drawCalibrationHIO_c : public JORReflexible {
public:
/* 801FE954 */ dMeter_drawCalibrationHIO_c();
/* 80200E78 */ virtual ~dMeter_drawCalibrationHIO_c() {}
void genMessage(JORMContext*);
/* 0x00 */ // vtable
/* 0x04 */ u8 field_0x4[4];
/* 0x08 */ f32 mCircleScale;
@@ -242,11 +264,13 @@ public:
/* 0x16 */ bool mDebug;
}; // Size: 0x18
class dMeter_drawSkillHIO_c {
class dMeter_drawSkillHIO_c : public JORReflexible {
public:
/* 801FE990 */ dMeter_drawSkillHIO_c();
/* 80200E30 */ virtual ~dMeter_drawSkillHIO_c() {}
void genMessage(JORMContext*);
enum {
/* 0x0 */ WINDOW,
/* 0x1 */ SKILL_DESC,
@@ -280,11 +304,13 @@ public:
/* 0x5B */ bool mDebug;
}; // Size: 0x5C
class dMeter_drawEmpButtonHIO_c {
class dMeter_drawEmpButtonHIO_c : public JORReflexible {
public:
/* 801FEAF0 */ dMeter_drawEmpButtonHIO_c();
/* 80200DA0 */ virtual ~dMeter_drawEmpButtonHIO_c() {}
void genMessage(JORMContext*);
/* 0x000 */ // vtable
/* 0x004 */ u8 field_0x4[4];
/* 0x008 */ f32 mEmpButtonPosX;
@@ -381,18 +407,14 @@ public:
/* 0x17C */ f32 mHawkeyeZoomPosY;
/* 0x180 */ f32 mHawkeyeZoomScale;
/* 0x184 */ f32 mHawkeyeZoomScale_4x3;
/* 0x188 */ f32 mHawkeyeTextIconPosX;
/* 0x18C */ f32 mHawkeyeZoomTextPosX;
/* 0x190 */ f32 mHawkeyeIconPosX;
/* 0x188 */ f32 mHawkeyeIconPosX[3];
/* 0x194 */ f32 mHawkeyeTextIconPosY_4x3;
/* 0x198 */ f32 mHawkeyeTextPosY_4x3;
/* 0x19C */ f32 mHawkeyeIconPosY_4x3;
/* 0x1A0 */ f32 mHawkeyeTextIconPosY;
/* 0x1A4 */ f32 mHawkeyeZoomTextPosY;
/* 0x1A8 */ f32 mHawkeyeIconPosY;
/* 0x1AC */ f32 mHawkeyeTextIconScale;
/* 0x1B0 */ f32 mHawkeyeTextScale;
/* 0x1B4 */ f32 mHawkeyeIconScale;
/* 0x1AC */ f32 mHawkeyeIconScale[3];
/* 0x1B8 */ JUtility::TColor mPointerONBlack[2];
/* 0x1C0 */ JUtility::TColor mPointerONWhite[2];
/* 0x1C8 */ JUtility::TColor mPointerOFFBlack;
@@ -432,11 +454,13 @@ public:
/* 0x25A */ bool mHawkeyeZoomDebugON;
}; // Size: 0x25C
class dMeter_drawMiniGameHIO_c {
class dMeter_drawMiniGameHIO_c : public JORReflexible {
public:
/* 801FEFF0 */ dMeter_drawMiniGameHIO_c();
/* 80200DE8 */ virtual ~dMeter_drawMiniGameHIO_c() {}
void genMessage(JORMContext*);
/* 0x000 */ // vtable
/* 0x004 */ u8 field_0x4[4];
/* 0x008 */ f32 field_0x8[3];
@@ -506,11 +530,13 @@ public:
/* 0x18C */ s16 mReadyFightPikariAppearFrames;
}; // Size: 0x190
class dMeter_drawLightDropHIO_c {
class dMeter_drawLightDropHIO_c : public JORReflexible {
public:
/* 801FF31C */ dMeter_drawLightDropHIO_c();
/* 80200D58 */ virtual ~dMeter_drawLightDropHIO_c() {}
void genMessage(JORMContext*);
/* 0x00 */ // vtable
/* 0x04 */ u8 field_0x4[4];
/* 0x08 */ f32 mVesselScale;
@@ -555,11 +581,22 @@ public:
class dMeter_drawHIO_c : public JORReflexible {
public:
/* 801FF5B8 */ dMeter_drawHIO_c();
/* 80201128 */ virtual ~dMeter_drawHIO_c() {}
/* 80201128 */ virtual ~dMeter_drawHIO_c() {
#if DEBUG
field_0x8_debug = 0;
#endif
}
#ifdef DEBUG
virtual void listenPropertyEvent(const JORPropertyEvent*);
virtual void genMessage(JORMContext*);
void updateFMsgDebug();
#endif
#if WIDESCREEN_SUPPORT
void updateOnWide();
void updateOffWide();
#endif
/* 0x000 */ // vtable
@@ -916,11 +953,18 @@ public:
STATIC_ASSERT(sizeof(dMeter_drawHIO_c) == 3880);
class dMeter_ringHIO_c {
class dMeter_ringHIO_c : public JORReflexible {
public:
/* 802001AC */ dMeter_ringHIO_c();
/* 802010E0 */ virtual ~dMeter_ringHIO_c() {}
void genMessage(JORMContext*);
#if WIDESCREEN_SUPPORT
void updateOnWide();
void updateOffWide();
#endif
enum {
/* 0x0 */ SET_ITEM,
/* 0x1 */ DIRECT_SELECT,
@@ -1007,11 +1051,13 @@ public:
STATIC_ASSERT(sizeof(dMeter_ringHIO_c) == 344);
class dMeter_mapIconHIO_c {
class dMeter_mapIconHIO_c : public JORReflexible {
public:
/* 802004B4 */ dMeter_mapIconHIO_c();
/* 80201028 */ virtual ~dMeter_mapIconHIO_c() {}
void genMessage(JORMContext*);
enum {
/* 0x00 */ ICON_PORTAL,
/* 0x01 */ ICON_LINK,
@@ -1141,6 +1187,8 @@ public:
/* 802006C8 */ dMeter_fmapHIO_c();
#ifdef DEBUG
void update();
void createEvtCallBackObject();
void deleteEvtCallBackObject();
virtual void listenPropertyEvent(const JORPropertyEvent*);
virtual void genMessage(JORMContext*);
@@ -1148,11 +1196,17 @@ public:
/* 80200BCC */ virtual ~dMeter_fmapHIO_c();
/* 0x004 */ s8 field_0x4;
/* 0x008 */ JKRAramArchive* mpArchive;
/* 0x00C */ void* field_0xc;
/* 0x010 */ void* field_0x10;
#if DEBUG
/* 0x008 */ subJOREventCallbackListNode* mpEvtCallBack;
#endif
/* 0x008 */ JKRAramArchive* mpArcData;
/* 0x00C */ void* mpArcFile;
/* 0x010 */ void* mpDecompBuf;
/* 0x014 */ void* field_0x14;
/* 0x018 */ void* field_0x18;
#if DEBUG
/* 0x020 */ u8 unk_0x20[4];
#endif
/* 0x01C */ MapBlinkAnime mMapBlink[3];
/* 0x094 */ s16 mDisplayFrameNum;
/* 0x096 */ s16 mUndisplayFrameNum;
@@ -1255,11 +1309,13 @@ public:
STATIC_ASSERT(sizeof(dMeter_fmapHIO_c) == 1188);
class dMeter_cursorHIO_c {
class dMeter_cursorHIO_c : public JORReflexible {
public:
/* 80200CD4 */ dMeter_cursorHIO_c();
/* 80201098 */ virtual ~dMeter_cursorHIO_c() {}
void genMessage(JORMContext*);
/* 0x04 */ s8 field_0x4;
/* 0x08 */ cXyz mSeraShopObjZoom;
/* 0x14 */ cXyz mObjZoom;
+7
View File
@@ -409,6 +409,13 @@ public:
void levelAllForceOnEventMove() { field_0x210.allForceOnEventMove(); }
void levelExecute(u32 param_0) {
level_c::emitter_c* emitter = field_0x210.get(param_0);
if (emitter != NULL) {
field_0x210.execute(emitter);
}
}
static void onStatus(u8 status) { mStatus |= status; }
static void offStatus(u8 status) { mStatus &= ~status; }
static bool isStatus(u8 status) { return mStatus & status; }
+2
View File
@@ -798,6 +798,8 @@ enum {
/* 0x315 */ PROC_TIMER,
/* 0x316 */ PROC_METER2,
/* 0x317 */ PROC_GAMEOVER,
PROC_MAX_NUM,
};
#endif /* D_PROCNAME_H */

Some files were not shown because too many files have changed in this diff Show More