diff --git a/config/RZDE01_00/symbols.txt b/config/RZDE01_00/symbols.txt index 311ff1fdc7..5306defd1c 100644 --- a/config/RZDE01_00/symbols.txt +++ b/config/RZDE01_00/symbols.txt @@ -28137,9 +28137,9 @@ data_80450C9C = .sbss:0x8053A8EC; // type:object size:0x1 data_80450C9D = .sbss:0x8053A8ED; // type:object size:0x1 data_80450C9E = .sbss:0x8053A8EE; // type:object size:0x1 cDmr_FishingWether = .sbss:0x8053A8EF; // type:object size:0x1 -data_80450CA0 = .sbss:0x8053A8F0; // type:object size:0x4 +data_80450CA0 = .sbss:0x8053A8F0; // type:object size:0x1 scope:global align:1 data:byte JPTracePCB4 = .sbss:0x8053A8F4; // type:object size:0x4 scope:global align:4 -lbl_8053A8F8 = .sbss:0x8053A8F8; // type:object size:0x1 data:byte +DMC_initialized = .sbss:0x8053A8F8; // type:object size:0x1 data:byte cDyl_Initialized = .sbss:0x8053A8FC; // type:object size:0x4 scope:global align:4 data:4byte cDyl_DVD = .sbss:0x8053A900; // type:object size:0x4 scope:global align:4 data:4byte g_fopAc_type = .sbss:0x8053A908; // type:object size:0x4 scope:global align:4 data:4byte diff --git a/config/RZDE01_02/symbols.txt b/config/RZDE01_02/symbols.txt index c81da640db..52d2eff088 100644 --- a/config/RZDE01_02/symbols.txt +++ b/config/RZDE01_02/symbols.txt @@ -27687,9 +27687,9 @@ data_80450C9C = .sbss:0x805208F4; // type:object size:0x1 data_80450C9D = .sbss:0x805208F5; // type:object size:0x1 data_80450C9E = .sbss:0x805208F6; // type:object size:0x1 cDmr_FishingWether = .sbss:0x805208F7; // type:object size:0x1 -data_80450CA0 = .sbss:0x805208F8; // type:object size:0x4 +data_80450CA0 = .sbss:0x805208F8; // type:object size:0x1 scope:global align:1 data:byte JPTracePCB4 = .sbss:0x805208FC; // type:object size:0x4 scope:global align:4 -lbl_80520900 = .sbss:0x80520900; // type:object size:0x1 data:byte +DMC_initialized = .sbss:0x80520900; // type:object size:0x1 data:byte cDyl_Initialized = .sbss:0x80520904; // type:object size:0x4 scope:global align:4 data:4byte cDyl_DVD = .sbss:0x80520908; // type:object size:0x4 scope:global align:4 data:4byte g_fopAc_type = .sbss:0x80520910; // type:object size:0x4 scope:global align:4 data:4byte diff --git a/config/RZDJ01/symbols.txt b/config/RZDJ01/symbols.txt index 073eae02ba..10abb5cd2f 100644 --- a/config/RZDJ01/symbols.txt +++ b/config/RZDJ01/symbols.txt @@ -27695,7 +27695,7 @@ lbl_8051E776 = .sbss:0x8051E776; // type:object size:0x1 lbl_8051E777 = .sbss:0x8051E777; // type:object size:0x1 lbl_8051E778 = .sbss:0x8051E778; // type:object size:0x4 JPTracePCB4 = .sbss:0x8051E77C; // type:object size:0x4 scope:global align:4 -lbl_8051E780 = .sbss:0x8051E780; // type:object size:0x1 data:byte +DMC_initialized = .sbss:0x8051E780; // type:object size:0x1 data:byte cDyl_Initialized = .sbss:0x8051E784; // type:object size:0x4 scope:global align:4 data:4byte cDyl_DVD = .sbss:0x8051E788; // type:object size:0x4 scope:global align:4 data:4byte g_fopAc_type = .sbss:0x8051E790; // type:object size:0x4 scope:global align:4 data:4byte diff --git a/config/RZDP01/symbols.txt b/config/RZDP01/symbols.txt index 14fa9e60b8..960a28899a 100644 --- a/config/RZDP01/symbols.txt +++ b/config/RZDP01/symbols.txt @@ -27580,7 +27580,7 @@ lbl_805210B6 = .sbss:0x805210B6; // type:object size:0x1 lbl_805210B7 = .sbss:0x805210B7; // type:object size:0x1 lbl_805210B8 = .sbss:0x805210B8; // type:object size:0x4 JPTracePCB4 = .sbss:0x805210BC; // type:object size:0x4 scope:global align:4 -lbl_805210C0 = .sbss:0x805210C0; // type:object size:0x1 data:byte +DMC_initialized = .sbss:0x805210C0; // type:object size:0x1 data:byte cDyl_Initialized = .sbss:0x805210C4; // type:object size:0x4 scope:global align:4 data:4byte cDyl_DVD = .sbss:0x805210C8; // type:object size:0x4 scope:global align:4 data:4byte g_fopAc_type = .sbss:0x805210D0; // type:object size:0x4 scope:global align:4 data:4byte diff --git a/config/Shield/symbols.txt b/config/Shield/symbols.txt index 8544f38cd8..d90f87197a 100644 --- a/config/Shield/symbols.txt +++ b/config/Shield/symbols.txt @@ -25247,7 +25247,7 @@ lbl_80508ABE = .sbss:0x80508ABE; // type:object size:0x1 hash:0x7329269E lbl_80508ABF = .sbss:0x80508ABF; // type:object size:0x1 hash:0x7329269F lbl_80508AC0 = .sbss:0x80508AC0; // type:object size:0x1 hash:0x73292690 JPTracePCB4 = .sbss:0x80508AC4; // type:object size:0x4 scope:global data:4byte hash:0xB2DC52FB -lbl_80508AC8 = .sbss:0x80508AC8; // type:object size:0x1 data:byte hash:0xBABF0DBC +DMC_initialized = .sbss:0x80508AC8; // type:object size:0x1 data:byte hash:0xBABF0DBC cDyl_Initialized = .sbss:0x80508ACC; // type:object size:0x4 scope:global data:4byte hash:0x4F14A2E4 cDyl_DVD = .sbss:0x80508AD0; // type:object size:0x4 scope:global data:4byte hash:0x12A4A3DE g_fopAc_type = .sbss:0x80508AD8; // type:object size:0x4 scope:global data:4byte hash:0x79729021 diff --git a/config/ShieldD/splits.txt b/config/ShieldD/splits.txt index 9468e9d9cb..f36560019e 100644 --- a/config/ShieldD/splits.txt +++ b/config/ShieldD/splits.txt @@ -131,14 +131,14 @@ m_Do/m_Do_MemCardRWmng.cpp: m_Do/m_Do_machine_exception.cpp: .text start:0x8002EEA0 end:0x8002F3A0 .data start:0x80664C90 end:0x80664E98 - .sbss start:0x8074C450 end:0x8074C464 + .sbss start:0x8074C450 end:0x8074C458 c/c_damagereaction.cpp: .text start:0x8002F3A0 end:0x8002FAF0 .ctors start:0x8062F7E4 end:0x8062F7E8 .data start:0x80664E98 end:0x80664F00 .sdata start:0x8073F688 end:0x8073F698 - .sbss start:0x8074C464 end:0x8074C46C + .sbss start:0x8074C458 end:0x8074C468 .sdata2 start:0x8074D908 end:0x8074D920 .bss start:0x807762A0 end:0x807762B0 @@ -146,15 +146,15 @@ c/c_dylink.cpp: .text start:0x8002FAF0 end:0x80030690 .rodata start:0x8062FA70 end:0x806311D0 .data start:0x80664F00 end:0x80667F90 - .sdata start:0x8073F698 end:0x8073F6EC - .sbss start:0x8074C46C end:0x8074C47C + .sdata start:0x8073F698 end:0x8073F6E8 + .sbss start:0x8074C468 end:0x8074C47C .bss start:0x807762B0 end:0x80776F20 f_ap/f_ap_game.cpp: .text start:0x80030690 end:0x80034CB0 .ctors start:0x8062F7E8 end:0x8062F7EC .data start:0x80667F90 end:0x80669130 - .sdata start:0x8073F6EC end:0x8073F850 + .sdata start:0x8073F6E8 end:0x8073F850 .sbss start:0x8074C47C end:0x8074C4A0 .sdata2 start:0x8074D920 end:0x8074D950 .bss start:0x80776F20 end:0x8077EF68 diff --git a/config/ShieldD/symbols.txt b/config/ShieldD/symbols.txt index 8f67cc379d..bf90af4726 100644 --- a/config/ShieldD/symbols.txt +++ b/config/ShieldD/symbols.txt @@ -57083,10 +57083,10 @@ __RTTI__19JPAParticleCallBack = .sdata:0x8073F690; // type:object size:0x8 scope @114992 = .sdata:0x8073F6D0; // type:object size:0x7 scope:local data:string hash:0xAC9322E3 @115063 = .sdata:0x8073F6D8; // type:object size:0x5 scope:local data:string hash:0xAC938265 @115212 = .sdata:0x8073F6E0; // type:object size:0x2 scope:local data:string hash:0xAC938A01 -lbl_8073F6E8 = .sdata:0x8073F6E8; // type:object size:0x1 data:byte hash:0xC4F99235 dhash:0x36EB3D35 +mCaptureMagnification__11fapGm_HIO_c = .sdata:0x8073F6E8; // type:object size:0x1 data:byte hash:0xC4F99235 dhash:0x36EB3D35 mCaptureScreenDivH__11fapGm_HIO_c = .sdata:0x8073F6E9; // type:object size:0x1 data:byte hash:0xDA67CD23 dhash:0x36F37423 mCaptureScreenDivV__11fapGm_HIO_c = .sdata:0x8073F6EA; // type:object size:0x1 data:byte hash:0x3EAABB7D dhash:0x36F3743D -lbl_8073F6EB = .sdata:0x8073F6EB; // type:object size:0x1 data:byte hash:0x2C072CEE dhash:0x37B0404E +mPackArchiveMode__11fapGm_HIO_c = .sdata:0x8073F6EB; // type:object size:0x1 data:byte hash:0x2C072CEE dhash:0x37B0404E @114738 = .sdata:0x8073F6EC; // type:object size:0x4 scope:local data:string hash:0xAC931B2D @114739 = .sdata:0x8073F6F0; // type:object size:0x4 scope:local data:string hash:0xAC931B2C @114740 = .sdata:0x8073F6F4; // type:object size:0x4 scope:local data:string hash:0xAC931A82 @@ -64236,14 +64236,14 @@ data_80450C9C = .sbss:0x8074C45C; // type:object size:0x1 hash:0x7329269B data_80450C9D = .sbss:0x8074C45D; // type:object size:0x1 hash:0x7329269D data_80450C9E = .sbss:0x8074C45E; // type:object size:0x1 hash:0x7329269E cDmr_FishingWether = .sbss:0x8074C45F; // type:object size:0x1 hash:0x7329269F -data_80450CA0 = .sbss:0x8074C460; // type:object size:0x4 hash:0x73292690 +data_80450CA0 = .sbss:0x8074C460; // type:object size:0x1 scope:global align:1 data:byte hash:0x73292690 JPTracePCB4 = .sbss:0x8074C464; // type:object size:0x4 scope:global hash:0xB2DC52FB -lbl_8074C468 = .sbss:0x8074C468; // type:object size:0x1 data:byte hash:0xBABF0DBC +DMC_initialized = .sbss:0x8074C468; // type:object size:0x1 data:byte hash:0xBABF0DBC cDyl_Initialized = .sbss:0x8074C46C; // type:object size:0x4 scope:global data:4byte hash:0x4F14A2E4 cDyl_DVD = .sbss:0x8074C470; // type:object size:0x4 scope:global data:4byte hash:0x12A4A3DE -lbl_8074C478 = .sbss:0x8074C478; // type:object size:0x1 data:byte hash:0x212A8642 dhash:0x9C6E1C22 +m_CpuTimerOn__11fapGm_HIO_c = .sbss:0x8074C478; // type:object size:0x1 data:byte hash:0x212A8642 dhash:0x9C6E1C22 m_CpuTimerOff__11fapGm_HIO_c = .sbss:0x8074C479; // type:object size:0x1 data:byte hash:0x911301CA dhash:0x705BB8AA -lbl_8074C47A = .sbss:0x8074C47A; // type:object size:0x1 data:byte hash:0xDE8007C6 dhash:0x7D1A2EE6 +m_CpuTimerStart__11fapGm_HIO_c = .sbss:0x8074C47A; // type:object size:0x1 data:byte hash:0xDE8007C6 dhash:0x7D1A2EE6 m_CpuTimerTick__11fapGm_HIO_c = .sbss:0x8074C47C; // type:object size:0x4 scope:global data:4byte hash:0x1D284173 dhash:0x706361F3 mCaptureScreen__11fapGm_HIO_c = .sbss:0x8074C480; // type:object size:0x4 scope:global data:4byte hash:0x440BFED0 dhash:0x751F8370 mCaptureScreenBuffer__11fapGm_HIO_c = .sbss:0x8074C484; // type:object size:0x4 scope:global data:4byte hash:0xE27FC690 dhash:0xB288F970 @@ -64254,7 +64254,7 @@ mCaptureScreenLinePf__11fapGm_HIO_c = .sbss:0x8074C48E; // type:object size:0x2 mCaptureScreenLineNum__11fapGm_HIO_c = .sbss:0x8074C490; // type:object size:0x2 scope:global data:2byte hash:0xCC174908 dhash:0x39E708E8 mCaptureScreenNumH__11fapGm_HIO_c = .sbss:0x8074C492; // type:object size:0x1 data:byte hash:0x56EDE2EE dhash:0x36F65A0E mCaptureScreenNumV__11fapGm_HIO_c = .sbss:0x8074C493; // type:object size:0x1 data:byte hash:0xDA2ADA30 dhash:0x36F65A10 -lbl_8074C494 = .sbss:0x8074C494; // type:object size:0x1 data:byte hash:0xA9B59EC0 dhash:0xA12DE4E0 +mParticle254Fix__11fapGm_HIO_c = .sbss:0x8074C494; // type:object size:0x1 data:byte hash:0xA9B59EC0 dhash:0xA12DE4E0 mPriorityMaximum__19print_error_check_c = .sbss:0x8074C498; // type:object size:0x1 data:byte hash:0xE0AE7E09 dhash:0x4F24BEA1 mPrintDisable__19print_error_check_c = .sbss:0x8074C499; // type:object size:0x1 data:byte hash:0xC93122F6 dhash:0x62D5041E mThresholdEnable__19print_error_check_c = .sbss:0x8074C49A; // type:object size:0x1 data:byte hash:0xB66ED925 dhash:0x722717CD diff --git a/include/JSystem/JGeometry.h b/include/JSystem/JGeometry.h index d04192b07b..62f2a743c1 100644 --- a/include/JSystem/JGeometry.h +++ b/include/JSystem/JGeometry.h @@ -130,19 +130,16 @@ struct TVec3 { } }; -inline void setTVec3f(const f32* vec_a, f32* vec_b) { +inline void setTVec3f(const __REGISTER f32* vec_a, __REGISTER f32* vec_b) { #ifdef __MWERKS__ - const __REGISTER f32* v_a = vec_a; - __REGISTER f32* v_b = vec_b; - __REGISTER f32 a_x; __REGISTER f32 b_x; asm { - psq_l a_x, 0(v_a), 0, 0 - lfs b_x, 8(v_a) - psq_st a_x, 0(v_b), 0, 0 - stfs b_x, 8(v_b) + psq_l a_x, 0(vec_a), 0, 0 + lfs b_x, 8(vec_a) + psq_st a_x, 0(vec_b), 0, 0 + stfs b_x, 8(vec_b) }; #endif } @@ -247,7 +244,7 @@ struct TVec3 : public Vec { return *this; } - inline TVec3 operator+(const TVec3& b) { + inline TVec3 operator+(const TVec3& b) const { TVec3 a = *this; a += b; return a; @@ -289,6 +286,11 @@ struct TVec3 : public Vec { } void scale(__REGISTER f32 sc) { +#if DEBUG + x *= sc; + y *= sc; + z *= sc; +#else #ifdef __MWERKS__ __REGISTER f32 z; __REGISTER f32 x_y; @@ -303,6 +305,7 @@ struct TVec3 : public Vec { ps_muls0 zres, z, sc psq_st zres, 8(dst), 1, 0 }; +#endif #endif } diff --git a/include/JSystem/JHostIO/JORFile.h b/include/JSystem/JHostIO/JORFile.h index 7e05883893..cd2f048c48 100644 --- a/include/JSystem/JHostIO/JORFile.h +++ b/include/JSystem/JHostIO/JORFile.h @@ -66,9 +66,13 @@ public: void setNExtensionName(u16 length) { mNExtensionName = length; } void setStatus(s32 status) { mStatus = status; } - virtual ~JORFile() {} - virtual int open(const char* path, u32 flags, const char* extMask, const char* defaultExt, const char*, const char* fileSuffix); - virtual int open(u32 flags, const char* extMask, const char* defaultExt, const char*, const char* fileSuffix); + virtual ~JORFile() { + close(); + } + virtual int open(const char* path, u32 flags, const char* extMask, const char* defaultExt, const char* param_4, const char* fileSuffix); + virtual int open(u32 flags, const char* extMask, const char* defaultExt, const char* param_4, const char* fileSuffix) { + return open(NULL, flags, extMask, defaultExt, param_4, fileSuffix); + } virtual void close(); virtual s32 readData(void* buffer, s32 length); virtual s32 writeData(const void* buffer, s32 length); diff --git a/include/JSystem/JMath/JMath.h b/include/JSystem/JMath/JMath.h index c6f26c771f..a4a463acb6 100644 --- a/include/JSystem/JMath/JMath.h +++ b/include/JSystem/JMath/JMath.h @@ -197,14 +197,15 @@ namespace JMathInlineVEC { #ifdef __MWERKS__ __REGISTER f32 axy; __REGISTER f32 bxy; + __REGISTER f32 sumab; __REGISTER f32 az; - __REGISTER f32 sumz; __REGISTER f32 bz; + __REGISTER f32 sumz; asm { psq_l axy, 0(a), 0, 0 psq_l bxy, 0(b), 0, 0 - ps_add bxy, axy, bxy - psq_st bxy, 0(ab), 0, 0 + ps_add sumab, axy, bxy + psq_st sumab, 0(ab), 0, 0 psq_l az, 8(a), 1, 0 psq_l bz, 8(b), 1, 0 ps_add sumz, az, bz diff --git a/include/JSystem/JUtility/JUTXfb.h b/include/JSystem/JUtility/JUTXfb.h index b7c00cefde..28059c7073 100644 --- a/include/JSystem/JUtility/JUTXfb.h +++ b/include/JSystem/JUtility/JUTXfb.h @@ -55,9 +55,13 @@ public: } void* getDisplayingXfb() const { - if (mDisplayingXfbIndex >= 0) - return mBuffer[mDisplayingXfbIndex]; - return NULL; + void* xfb; + if (mDisplayingXfbIndex >= 0) { + xfb = mBuffer[mDisplayingXfbIndex]; + } else { + xfb = NULL; + } + return xfb; } void setDisplayingXfbIndex(s16 index) { mDisplayingXfbIndex = index; } diff --git a/include/f_ap/f_ap_game.h b/include/f_ap/f_ap_game.h index ee0635d11e..e0162fcf38 100644 --- a/include/f_ap/f_ap_game.h +++ b/include/f_ap/f_ap_game.h @@ -20,7 +20,7 @@ public: virtual void listenPropertyEvent(const JORPropertyEvent*); virtual void genMessage(JORMContext*); #endif - virtual ~fapGm_HIO_c(); + virtual ~fapGm_HIO_c() {} static void startCpuTimer(); static void stopCpuTimer(const char*); @@ -71,9 +71,13 @@ public: static u8 mParticle254Fix; + static u8 mCaptureMagnification; + static u8 mCaptureScreenDivH; static u8 mCaptureScreenDivV; + static u8 mPackArchiveMode; + /* 0x04 */ s8 field_0x04; /* 0x05 */ u8 field_0x03[3]; /* 0x08 */ JUtility::TColor mColor; diff --git a/src/c/c_damagereaction.cpp b/src/c/c_damagereaction.cpp index f95ac063b4..3f98d76b9a 100644 --- a/src/c/c_damagereaction.cpp +++ b/src/c/c_damagereaction.cpp @@ -2,6 +2,7 @@ #include "d/actor/d_a_player.h" #include "d/d_com_inf_game.h" #include "f_op/f_op_actor_mng.h" +#include "d/d_s_play.h" u8 cDmr_SkipInfo; u8 data_80450C99; @@ -13,21 +14,27 @@ u8 data_80450C9D; u8 data_80450C9E; u8 cDmr_FishingWether; +#if DEBUG +void debug_actor_create() { + fopAc_ac_c* player = dComIfGp_getPlayer(0); +} +#endif + void JPTraceParticleCallBack4::execute(JPABaseEmitter* param_0, JPABaseParticle* param_1) { u32 age = param_1->getAge(); if (age != 0) { Vec* user_work = (Vec*)param_0->getUserWork(); JGeometry::TVec3 vec1, vec2, vec3; - f32 fVar1 = (25.0f - age) / 25.0f; + f32 fVar1 = ((25.0f + nREG_F(18)) - age) / (25.0f + nREG_F(18)); if (fVar1 < 0.0f) { fVar1 = 0.0f; } vec1 = user_work[age]; - vec1.scale(0.3f * fVar1); + vec1.scale((0.3f + nREG_F(16)) * fVar1); vec2 = user_work[0]; - vec2.scale(0.5f * fVar1); + vec2.scale((0.5f + nREG_F(17)) * fVar1); - param_1->getOffsetPosition(vec3); + param_1->getOffsetPosition(&vec3); vec3.add(vec1 + vec2); param_1->setOffsetPosition(vec3); } diff --git a/src/f_ap/f_ap_game.cpp b/src/f_ap/f_ap_game.cpp index f3583e9c80..3c877bb134 100644 --- a/src/f_ap/f_ap_game.cpp +++ b/src/f_ap/f_ap_game.cpp @@ -61,10 +61,10 @@ fapGm_HIO_c::fapGm_HIO_c() { } #if DEBUG -static u8 data_8073f6e8 = 1; -static u8 data_8073f6e9 = 1; -static u8 data_8073f6ea = 1; -static u8 data_8073f6eb = 1; +u8 fapGm_HIO_c::mCaptureMagnification = 1; +u8 fapGm_HIO_c::mCaptureScreenDivH = 1; +u8 fapGm_HIO_c::mCaptureScreenDivV = 1; +u8 fapGm_HIO_c::mPackArchiveMode = 1; CaptureScreen* fapGm_HIO_c::mCaptureScreen; void* fapGm_HIO_c::mCaptureScreenBuffer; @@ -83,7 +83,7 @@ u8 fapGm_HIO_c::mParticle254Fix; void fapGm_HIO_c::genMessage(JORMContext* mctx) { mctx->genButton("警告消去", 0x4000020, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); mctx->genButton("BMPキャプチャー", 0x4000003, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genSlider("BMPキャプチャー倍率", &data_8073f6e8, 1, 8, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genSlider("BMPキャプチャー倍率", &mCaptureMagnification, 1, 8, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); mctx->genButton("スナップショット", 0x4000002, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); mctx->genButton("CPU時間", 0x4000007, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); mctx->genCheckBox("ホストIO使用", &mUsingHostIO, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); @@ -92,7 +92,7 @@ void fapGm_HIO_c::genMessage(JORMContext* mctx) { mctx->genCheckBox("2D表示", &mDisplay2D, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); mctx->genCheckBox("パーティクル表示", &mDisplayParticle, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); mctx->genCheckBox("パーティクル254固定", &mParticle254Fix, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); - mctx->genCheckBox("パックアーカイブモード", &data_8073f6eb, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); + mctx->genCheckBox("パックアーカイブモード", &mPackArchiveMode, 1, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); mctx->genLabel("−−−−−−−【プリント】−−−−−−−", 0x4000001, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); mctx->genSlider(" 色 R", &mColor.r, 0, 0xFF, 0x4000010, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18); @@ -205,10 +205,10 @@ int dumpTagObject(void* i_object, void*) { fopAc_ac_c* a_actor = (fopAc_ac_c*)i_object; const char* actorname = dStage_getName(profname, -1); - fapGm_dataMem::printfTag(fapGm_dataMem::TagAtt_Fixed_e, fapGm_dataMem::TagType_Object_e, 0, profname_str, a_actor, NULL, *actorname == 0 ? NULL : actorname, NULL); + fapGm_dataMem::printfTag(fapGm_dataMem::TagAtt_Variable_e, fapGm_dataMem::TagType_Object_e, 0, profname_str, a_actor, NULL, *actorname == 0 ? NULL : actorname, NULL); if (a_actor->heap != NULL) { - fapGm_dataMem::printfTag(fapGm_dataMem::TagAtt_Fixed_e, fapGm_dataMem::TagType_Object_e, 0, profname_str, a_actor->heap, NULL, actorname, NULL); + fapGm_dataMem::printfTag(fapGm_dataMem::TagAtt_Variable_e, fapGm_dataMem::TagType_Object_e, 0, profname_str, a_actor->heap, NULL, actorname, NULL); } u32 other_heap_size = 0; @@ -221,10 +221,10 @@ int dumpTagObject(void* i_object, void*) { } if (other_heap_size != 0) { - fapGm_dataMem::printfTag(fapGm_dataMem::TagAtt_Fixed_e, fapGm_dataMem::TagType_Object_e, 6, profname_str, NULL, other_heap_size, NULL, NULL); + fapGm_dataMem::printfTag(fapGm_dataMem::TagAtt_Variable_e, fapGm_dataMem::TagType_Object_e, 6, profname_str, NULL, other_heap_size, NULL, NULL); } } else { - fapGm_dataMem::printfTag(fapGm_dataMem::TagAtt_Fixed_e, fapGm_dataMem::TagType_Object_e, 0, profname_str, i_object, NULL, NULL, NULL); + fapGm_dataMem::printfTag(fapGm_dataMem::TagAtt_Variable_e, fapGm_dataMem::TagType_Object_e, 0, profname_str, i_object, NULL, NULL, NULL); } return 1; @@ -410,77 +410,77 @@ int fapGm_dataMem::findParentHeap(void* i_object) { void fapGm_dataMem::dumpTag() { *mCsv = 0; - printfTag(TagAtt_Fixed_e, TagType_Heap_e, HeapType_Root_e, NULL, JKRHeap::getRootHeap(), 0, NULL, NULL); - printfTag(TagAtt_Fixed_e, TagType_Heap_e, HeapType_System_e, NULL, JKRGetSystemHeap(), 0, NULL, NULL); - printfTag(TagAtt_Fixed_e, TagType_Heap_e, HeapType_Zelda_e, NULL, mDoExt_getZeldaHeap(), 0, NULL, NULL); - printfTag(TagAtt_Variable_e, TagType_Heap_e, HeapType_Archive_e, NULL, mDoExt_getArchiveHeap(), 0, NULL, NULL); - printfTag(TagAtt_Variable_e, TagType_Heap_e, HeapType_J2D_e, NULL, mDoExt_getJ2dHeap(), 0, NULL, NULL); + printfTag(TagAtt_Variable_e, TagType_Heap_e, HeapType_Root_e, NULL, JKRHeap::getRootHeap(), 0, NULL, NULL); + printfTag(TagAtt_Variable_e, TagType_Heap_e, HeapType_System_e, NULL, JKRGetSystemHeap(), 0, NULL, NULL); + printfTag(TagAtt_Variable_e, TagType_Heap_e, HeapType_Zelda_e, NULL, mDoExt_getZeldaHeap(), 0, NULL, NULL); + printfTag(TagAtt_Fixed_e, TagType_Heap_e, HeapType_Archive_e, NULL, mDoExt_getArchiveHeap(), 0, NULL, NULL); + printfTag(TagAtt_Fixed_e, TagType_Heap_e, HeapType_J2D_e, NULL, mDoExt_getJ2dHeap(), 0, NULL, NULL); #if PLATFORM_WII || PLATFORM_SHIELD - printfTag(TagAtt_Variable_e, TagType_Heap_e, HeapType_Dynamic_e, NULL, DynamicModuleControlBase::getHeap(), 0, NULL, NULL); + printfTag(TagAtt_Fixed_e, TagType_Heap_e, HeapType_Dynamic_e, NULL, DynamicModuleControlBase::getHeap(), 0, NULL, NULL); #endif - printfTag(TagAtt_Variable_e, TagType_Heap_e, HeapType_Game_e, NULL, mDoExt_getGameHeap(), 0, NULL, NULL); - printfTag(TagAtt_Variable_e, TagType_Heap_e, HeapType_Command_e, NULL, mDoExt_getCommandHeap(), 0, NULL, NULL); - printfTag(TagAtt_Variable_e, TagType_Heap_e, HeapType_ARAM_e, NULL, NULL, 0, NULL, NULL); - printfTag(TagAtt_Variable_e, TagType_Audio_e, 0, "オーディオ", g_mDoAud_audioHeap, 0x169000, NULL, NULL); - printfTag(TagAtt_Variable_e, TagType_Particle_e, 0, "パーティクルアーカイブ", g_dComIfG_gameInfo.play.getParticle()->getResHeap(), 0, NULL, NULL); - printfTag(TagAtt_Variable_e, TagType_Particle_e, 0, "パーティクル(常駐)", g_dComIfG_gameInfo.play.getParticle()->getHeap(), 0, NULL, NULL); - printfTag(TagAtt_Fixed_e, TagType_Particle_e, 0, "パーティクル(ステージ)", g_dComIfG_gameInfo.play.getParticle()->getSceneHeap(), 0, NULL, NULL); - printfTag(TagAtt_Variable_e, TagType_System_e, HeapType_System_e, "グラフィックFIFO", NULL, 0xA0000, 0, NULL); + printfTag(TagAtt_Fixed_e, TagType_Heap_e, HeapType_Game_e, NULL, mDoExt_getGameHeap(), 0, NULL, NULL); + printfTag(TagAtt_Fixed_e, TagType_Heap_e, HeapType_Command_e, NULL, mDoExt_getCommandHeap(), 0, NULL, NULL); + printfTag(TagAtt_Fixed_e, TagType_Heap_e, HeapType_ARAM_e, NULL, NULL, 0, NULL, NULL); + printfTag(TagAtt_Fixed_e, TagType_Audio_e, 0, "オーディオ", g_mDoAud_audioHeap, 0x169000, NULL, NULL); + printfTag(TagAtt_Fixed_e, TagType_Particle_e, 0, "パーティクルアーカイブ", g_dComIfG_gameInfo.play.getParticle()->getResHeap(), 0, NULL, NULL); + printfTag(TagAtt_Fixed_e, TagType_Particle_e, 0, "パーティクル(常駐)", g_dComIfG_gameInfo.play.getParticle()->getHeap(), 0, NULL, NULL); + printfTag(TagAtt_Variable_e, TagType_Particle_e, 0, "パーティクル(ステージ)", g_dComIfG_gameInfo.play.getParticle()->getSceneHeap(), 0, NULL, NULL); + printfTag(TagAtt_Fixed_e, TagType_System_e, HeapType_System_e, "グラフィックFIFO", NULL, 0xA0000, 0, NULL); #if PLATFORM_WII || PLATFORM_SHIELD - printfTag(TagAtt_Variable_e, TagType_System_e, 0, "グラフィック関係バッファ", mDoGph_gInf_c::getHeap(), 0, NULL, NULL); + printfTag(TagAtt_Fixed_e, TagType_System_e, 0, "グラフィック関係バッファ", mDoGph_gInf_c::getHeap(), 0, NULL, NULL); #endif if (mDoGph_gInf_c::getBloom()->getBuffer() != NULL) { - printfTag(TagAtt_Fixed_e, TagType_System_e, 0, "飽和加算用バッファ", mDoGph_gInf_c::getBloom()->getBuffer(), NULL, 0, NULL); + printfTag(TagAtt_Variable_e, TagType_System_e, 0, "飽和加算用バッファ", mDoGph_gInf_c::getBloom()->getBuffer(), NULL, 0, NULL); } if (dComIfGp_getSimpleModel() != NULL) { - printfTag(TagAtt_Variable_e, TagType_System_e, 0, "シンプルモデルバッファ", dComIfGp_getSimpleModel(), NULL, 0, NULL); + printfTag(TagAtt_Fixed_e, TagType_System_e, 0, "シンプルモデルバッファ", dComIfGp_getSimpleModel(), NULL, 0, NULL); } if (dMdl_mng_c::m_myObj != NULL) { - printfTag(TagAtt_Variable_e, TagType_System_e, 0, "節約モデルバッファ", dMdl_mng_c::m_myObj, NULL, 0, NULL); + printfTag(TagAtt_Fixed_e, TagType_System_e, 0, "節約モデルバッファ", dMdl_mng_c::m_myObj, NULL, 0, NULL); } if (daGrass_c::getGrass() != NULL) { - printfTag(TagAtt_Fixed_e, TagType_System_e, 0, "草バッファ", daGrass_c::getGrass(), NULL, 0, NULL); + printfTag(TagAtt_Variable_e, TagType_System_e, 0, "草バッファ", daGrass_c::getGrass(), NULL, 0, NULL); } if (daGrass_c::getFlower() != NULL) { - printfTag(TagAtt_Fixed_e, TagType_System_e, 0, "花バッファ", daGrass_c::getFlower(), NULL, 0, NULL); + printfTag(TagAtt_Variable_e, TagType_System_e, 0, "花バッファ", daGrass_c::getFlower(), NULL, 0, NULL); } if (dTres_c::getTypeGroupData() != NULL) { - printfTag(TagAtt_Variable_e, TagType_System_e, 0, "常駐宝箱バッファ", (char*)dTres_c::getTypeGroupData() - 16, NULL, 0, NULL); + printfTag(TagAtt_Fixed_e, TagType_System_e, 0, "常駐宝箱バッファ", (char*)dTres_c::getTypeGroupData() - 16, NULL, 0, NULL); } if (dComIfGp_getAttention()->getHeap() != NULL) { - printfTag(TagAtt_Variable_e, TagType_System_e, 0, "注目処理用バッファ", dComIfGp_getAttention()->getHeap(), NULL, 0, NULL); + printfTag(TagAtt_Fixed_e, TagType_System_e, 0, "注目処理用バッファ", dComIfGp_getAttention()->getHeap(), NULL, 0, NULL); } - printfTag(TagAtt_Variable_e, TagType_2D_e, 0, "2D転送用", dComIfGp_getExpHeap2D(), JKRGetMemBlockSize(NULL, dComIfGp_getExpHeap2D()) + JKRGetMemBlockSize(NULL, dComIfGp_getMsgExpHeap()), 0, NULL); - printfTag(TagAtt_Variable_e, TagType_Message_e, 0, "メッセージデータ(常駐)", ((JKRAramArchive*)dComIfGp_getMsgDtArchive())->mBlock, NULL, 0, NULL); - printfTag(TagAtt_Fixed_e, TagType_Message_e, 0, "メッセージデータ(ステージ)", ((JKRAramArchive*)dComIfGp_getMsgDtArchive(1))->mBlock, NULL, 0, NULL); - printfTag(TagAtt_Variable_e, TagType_2D_e, 0, "メーター関係", ((JKRAramArchive*)dComIfGp_getMain2DArchive())->mBlock, NULL, 0, NULL); - printfTag(TagAtt_Variable_e, TagType_System_e, 0, "アイテム出現テーブル", dComIfGp_getItemTable(), NULL, 0, NULL); - printfTag(TagAtt_Variable_e, TagType_Message_e, HeapType_Zelda_e, "キャッシュフォントバッファ", NULL, JKRGetMemBlockSize(NULL, ((JKRAramArchive*)dComIfGp_getRubyArchive())->mBlock) + 0x1C328, 0, NULL); - printfTag(TagAtt_Variable_e, TagType_Audio_e, HeapType_ARAM_e, "オーディオ", NULL, 0xB00000, 0, NULL); - printfTag(TagAtt_Variable_e, TagType_Player_e, HeapType_ARAM_e, "リンクアニメーション", NULL, ((JKRAramArchive*)dComIfGp_getAnmArchive())->mBlock->getSize(), 0, NULL); - printfTag(TagAtt_Variable_e, TagType_2D_e, HeapType_ARAM_e, "フィールドマップレイアウト", NULL, ((JKRAramArchive*)dComIfGp_getFmapResArchive())->mBlock->getSize(), 0, NULL); - printfTag(TagAtt_Variable_e, TagType_2D_e, HeapType_ARAM_e, "フィールドマップデータ", NULL, ((JKRAramArchive*)dComIfGp_getFieldMapArchive2())->mBlock->getSize(), 0, NULL); - printfTag(TagAtt_Variable_e, TagType_2D_e, HeapType_ARAM_e, "ダンジョンマップレイアウト", NULL, ((JKRAramArchive*)dComIfGp_getDmapResArchive())->mBlock->getSize(), 0, NULL); - printfTag(TagAtt_Variable_e, TagType_2D_e, HeapType_ARAM_e, "コレクト&セーブ&オプション", NULL, ((JKRAramArchive*)dComIfGp_getCollectResArchive())->mBlock->getSize(), 0, NULL); - printfTag(TagAtt_Variable_e, TagType_2D_e, HeapType_ARAM_e, "リングアイテム選択", NULL, ((JKRAramArchive*)dComIfGp_getRingResArchive())->mBlock->getSize(), 0, NULL); - printfTag(TagAtt_Variable_e, TagType_2D_e, HeapType_ARAM_e, "アイテムアイコン", NULL, ((JKRAramArchive*)dComIfGp_getItemIconArchive())->mBlock->getSize(), 0, NULL); - printfTag(TagAtt_Variable_e, TagType_2D_e, HeapType_ARAM_e, "アイテム説明画面", NULL, ((JKRAramArchive*)dComIfGp_getDemoMsgArchive())->mBlock->getSize(), 0, NULL); - printfTag(TagAtt_Variable_e, TagType_2D_e, HeapType_ARAM_e, "強調ボタン表示", NULL, ((JKRAramArchive*)dComIfGp_getMeterButtonArchive())->mBlock->getSize(), 0, NULL); - printfTag(TagAtt_Variable_e, TagType_Message_e, HeapType_ARAM_e, "フキダシ共通2Dデータ", NULL, ((JKRAramArchive*)dComIfGp_getMsgCommonArchive())->mBlock->getSize(), 0, NULL); - printfTag(TagAtt_Variable_e, TagType_Message_e, HeapType_ARAM_e, "キャッシュフォント", NULL, mDoExt_getAraCacheSize(), 0, NULL); + printfTag(TagAtt_Fixed_e, TagType_2D_e, 0, "2D転送用", dComIfGp_getExpHeap2D(), JKRGetMemBlockSize(NULL, dComIfGp_getExpHeap2D()) + JKRGetMemBlockSize(NULL, dComIfGp_getMsgExpHeap()), 0, NULL); + printfTag(TagAtt_Fixed_e, TagType_Message_e, 0, "メッセージデータ(常駐)", ((JKRAramArchive*)dComIfGp_getMsgDtArchive())->mBlock, NULL, 0, NULL); + printfTag(TagAtt_Variable_e, TagType_Message_e, 0, "メッセージデータ(ステージ)", ((JKRAramArchive*)dComIfGp_getMsgDtArchive(1))->mBlock, NULL, 0, NULL); + printfTag(TagAtt_Fixed_e, TagType_2D_e, 0, "メーター関係", ((JKRAramArchive*)dComIfGp_getMain2DArchive())->mBlock, NULL, 0, NULL); + printfTag(TagAtt_Fixed_e, TagType_System_e, 0, "アイテム出現テーブル", dComIfGp_getItemTable(), NULL, 0, NULL); + printfTag(TagAtt_Fixed_e, TagType_Message_e, HeapType_Zelda_e, "キャッシュフォントバッファ", NULL, JKRGetMemBlockSize(NULL, ((JKRAramArchive*)dComIfGp_getRubyArchive())->mBlock) + 0x1C328, 0, NULL); + printfTag(TagAtt_Fixed_e, TagType_Audio_e, HeapType_ARAM_e, "オーディオ", NULL, 0xB00000, 0, NULL); + printfTag(TagAtt_Fixed_e, TagType_Player_e, HeapType_ARAM_e, "リンクアニメーション", NULL, ((JKRAramArchive*)dComIfGp_getAnmArchive())->mBlock->getSize(), 0, NULL); + printfTag(TagAtt_Fixed_e, TagType_2D_e, HeapType_ARAM_e, "フィールドマップレイアウト", NULL, ((JKRAramArchive*)dComIfGp_getFmapResArchive())->mBlock->getSize(), 0, NULL); + printfTag(TagAtt_Fixed_e, TagType_2D_e, HeapType_ARAM_e, "フィールドマップデータ", NULL, ((JKRAramArchive*)dComIfGp_getFieldMapArchive2())->mBlock->getSize(), 0, NULL); + printfTag(TagAtt_Fixed_e, TagType_2D_e, HeapType_ARAM_e, "ダンジョンマップレイアウト", NULL, ((JKRAramArchive*)dComIfGp_getDmapResArchive())->mBlock->getSize(), 0, NULL); + printfTag(TagAtt_Fixed_e, TagType_2D_e, HeapType_ARAM_e, "コレクト&セーブ&オプション", NULL, ((JKRAramArchive*)dComIfGp_getCollectResArchive())->mBlock->getSize(), 0, NULL); + printfTag(TagAtt_Fixed_e, TagType_2D_e, HeapType_ARAM_e, "リングアイテム選択", NULL, ((JKRAramArchive*)dComIfGp_getRingResArchive())->mBlock->getSize(), 0, NULL); + printfTag(TagAtt_Fixed_e, TagType_2D_e, HeapType_ARAM_e, "アイテムアイコン", NULL, ((JKRAramArchive*)dComIfGp_getItemIconArchive())->mBlock->getSize(), 0, NULL); + printfTag(TagAtt_Fixed_e, TagType_2D_e, HeapType_ARAM_e, "アイテム説明画面", NULL, ((JKRAramArchive*)dComIfGp_getDemoMsgArchive())->mBlock->getSize(), 0, NULL); + printfTag(TagAtt_Fixed_e, TagType_2D_e, HeapType_ARAM_e, "強調ボタン表示", NULL, ((JKRAramArchive*)dComIfGp_getMeterButtonArchive())->mBlock->getSize(), 0, NULL); + printfTag(TagAtt_Fixed_e, TagType_Message_e, HeapType_ARAM_e, "フキダシ共通2Dデータ", NULL, ((JKRAramArchive*)dComIfGp_getMsgCommonArchive())->mBlock->getSize(), 0, NULL); + printfTag(TagAtt_Fixed_e, TagType_Message_e, HeapType_ARAM_e, "キャッシュフォント", NULL, mDoExt_getAraCacheSize(), 0, NULL); for (int i = 0; i < 6; i++) { char label[64]; sprintf(label, "メッセージ(%d)枠ほか", i); - printfTag(TagAtt_Variable_e, TagType_Message_e, HeapType_ARAM_e, label, NULL, ((JKRAramArchive*)dComIfGp_getMsgArchive(i))->mBlock->getSize(), 0, NULL); + printfTag(TagAtt_Fixed_e, TagType_Message_e, HeapType_ARAM_e, label, NULL, ((JKRAramArchive*)dComIfGp_getMsgArchive(i))->mBlock->getSize(), 0, NULL); } g_dComIfG_gameInfo.mResControl.dumpTag(); @@ -494,8 +494,8 @@ void fapGm_dataMem::dumpTag() { } if (var_r28 != NULL) { - printfTag(TagAtt_Fixed_e, TagType_Stage_e, 0, "ステージメモリーブロック", dStage_roomControl_c::getMemoryBlockHeap(0), var_r28, 0, NULL); - printfTag(TagAtt_Fixed_e, TagType_Heap_e, HeapType_Stage_e, NULL, NULL, var_r28, 0, NULL); + printfTag(TagAtt_Variable_e, TagType_Stage_e, 0, "ステージメモリーブロック", dStage_roomControl_c::getMemoryBlockHeap(0), var_r28, 0, NULL); + printfTag(TagAtt_Variable_e, TagType_Heap_e, HeapType_Stage_e, NULL, NULL, var_r28, 0, NULL); } DynamicModuleControlBase::dumpTag(); @@ -696,6 +696,7 @@ void fapGm_HIO_c::startCpuTimer() { } if (m_CpuTimerOff) { + int stackDummy; JUT_ASSERT(1302, !m_CpuTimerStart) m_CpuTimerStart = TRUE; m_CpuTimerTick = OSGetTick(); @@ -754,5 +755,3 @@ void fapGm_Create() { #endif g_HIO.field_0x04 = mDoHIO_CREATE_CHILD("ゲームシステム", &g_HIO); } - -fapGm_HIO_c::~fapGm_HIO_c() {}