mirror of https://github.com/zeldaret/tp.git
d_menu_window_HIO ok
This commit is contained in:
parent
b459859a82
commit
4b60389c21
|
|
@ -3,4 +3,123 @@
|
|||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class dMw_DHIO_c {
|
||||
public:
|
||||
/* 801F9E2C */ dMw_DHIO_c();
|
||||
|
||||
/* 801F9E98 */ virtual ~dMw_DHIO_c() {}
|
||||
|
||||
private:
|
||||
/* 0x004 */ u8 field_0x4;
|
||||
/* 0x005 */ bool mMap[32];
|
||||
/* 0x025 */ bool mCompass[32];
|
||||
/* 0x045 */ bool mBossKey[32];
|
||||
/* 0x065 */ bool mBossClear[32];
|
||||
/* 0x085 */ bool mHeartContainer[32];
|
||||
/* 0x0A5 */ bool mBossDemo[32];
|
||||
/* 0x0C5 */ bool mPortal[32];
|
||||
/* 0x0E5 */ bool mMidBossClear[32];
|
||||
/* 0x105 */ bool mMapCopy[32];
|
||||
/* 0x125 */ bool mCompassCopy[32];
|
||||
/* 0x145 */ bool mBossKeyCopy[32];
|
||||
/* 0x165 */ bool mBossClearCopy[32];
|
||||
/* 0x185 */ bool mHeartContainerCopy[32];
|
||||
/* 0x1A5 */ bool mBossDemoCopy[32];
|
||||
/* 0x1C5 */ bool mPortalCopy[32];
|
||||
/* 0x1E5 */ bool mMidBossClearCopy[32];
|
||||
};
|
||||
|
||||
extern dMw_DHIO_c g_mwDHIO;
|
||||
|
||||
class dMw_HIO_c {
|
||||
public:
|
||||
/* 801F9AFC */ dMw_HIO_c();
|
||||
/* 801F9B38 */ void init();
|
||||
/* 801F9E14 */ bool getBombFlag();
|
||||
/* 801F9E1C */ bool getArrowFlag();
|
||||
/* 801F9E24 */ bool getPachinkoFlag();
|
||||
|
||||
/* 801F9EE0 */ virtual ~dMw_HIO_c() {}
|
||||
|
||||
private:
|
||||
/* 0x004 */ u8 field_0x4;
|
||||
/* 0x006 */ u16 mLife;
|
||||
/* 0x008 */ u16 mMaxLife;
|
||||
/* 0x00A */ u8 mMagic;
|
||||
/* 0x00B */ u8 mMaxMagic;
|
||||
/* 0x00C */ s32 mOil;
|
||||
/* 0x010 */ s32 mMaxOil;
|
||||
/* 0x014 */ s32 mOxygen;
|
||||
/* 0x018 */ s32 mMaxOxygen;
|
||||
/* 0x01C */ bool mEnableMagic;
|
||||
/* 0x01D */ bool mEnableArrowDrops;
|
||||
/* 0x01E */ s16 mRupees;
|
||||
/* 0x020 */ s16 mWalletSize;
|
||||
/* 0x022 */ u8 mKeys;
|
||||
/* 0x023 */ u8 field_0x23;
|
||||
/* 0x024 */ u16 mLifeCopy;
|
||||
/* 0x026 */ u16 mMaxLifeCopy;
|
||||
/* 0x028 */ u8 mMagicCopy;
|
||||
/* 0x029 */ u8 mMaxMagicCopy;
|
||||
/* 0x02C */ s32 mOilCopy;
|
||||
/* 0x030 */ s32 mMaxOilCopy;
|
||||
/* 0x034 */ s32 mOxygenCopy;
|
||||
/* 0x038 */ s32 mMaxOxygenCopy;
|
||||
/* 0x03C */ bool mEnableMagicCopy;
|
||||
/* 0x03D */ bool mEnableArrowDropsCopy;
|
||||
/* 0x03E */ s16 mRupeesCopy;
|
||||
/* 0x040 */ s16 mWalletSizeCopy;
|
||||
/* 0x042 */ s16 mDonationAmount;
|
||||
/* 0x044 */ s16 mDonationAmountCopy;
|
||||
/* 0x046 */ u8 mKeysCopy;
|
||||
/* 0x047 */ u8 field_0x47;
|
||||
/* 0x048 */ u8 mPoes;
|
||||
/* 0x049 */ u8 mPoesCopy;
|
||||
/* 0x04A */ u8 mItems[24];
|
||||
/* 0x062 */ u8 mItemsCopy[24];
|
||||
/* 0x07A */ u8 field_0x7a[24];
|
||||
/* 0x092 */ bool mSwords[4];
|
||||
/* 0x096 */ bool mShields[3];
|
||||
/* 0x099 */ bool mClothes[3];
|
||||
/* 0x09C */ bool mSwordsCopy[4];
|
||||
/* 0x0A0 */ bool mShieldsCopy[3];
|
||||
/* 0x0A3 */ bool mClothesCopy[3];
|
||||
/* 0x0A6 */ u8 mScent;
|
||||
/* 0x0A7 */ u8 mScentCopy;
|
||||
/* 0x0A8 */ u8 field_0xa8;
|
||||
/* 0x0A9 */ bool mBombBagLV2;
|
||||
/* 0x0AA */ bool mBombBagLV2Copy;
|
||||
/* 0x0AB */ bool mLV2KeyShards[3];
|
||||
/* 0x0AE */ bool mLV2KeyShardsCopy[3];
|
||||
/* 0x0B1 */ bool mLV5Item[2];
|
||||
/* 0x0B3 */ bool mLV5ItemCopy[2];
|
||||
/* 0x0B5 */ bool mGoldBug[24];
|
||||
/* 0x0CD */ bool mGoldBugCopy[24];
|
||||
/* 0x0E5 */ u8 mArrowNum;
|
||||
/* 0x0E6 */ u8 mSeedNum;
|
||||
/* 0x0E7 */ u8 mBombNum[3];
|
||||
/* 0x0EA */ u8 field_0xea;
|
||||
/* 0x0EB */ u8 mBottleNum[4];
|
||||
/* 0x0EF */ u8 mArrowNumCopy;
|
||||
/* 0x0F0 */ u8 mSeedNumCopy;
|
||||
/* 0x0F1 */ u8 mBombNumCopy[3];
|
||||
/* 0x0F4 */ u8 field_0xf4;
|
||||
/* 0x0F5 */ u8 mBottleNumCopy[4];
|
||||
/* 0x0F9 */ u8 field_0xf9[8];
|
||||
/* 0x101 */ u8 field_0x101[8];
|
||||
/* 0x109 */ u8 field_0x109[8];
|
||||
/* 0x111 */ u8 field_0x111[8];
|
||||
/* 0x119 */ bool mEnableOxygenMeter;
|
||||
/* 0x11A */ bool mEnableOxygenMeterCopy;
|
||||
/* 0x11B */ u8 mArrowFlag;
|
||||
/* 0x11C */ u8 mPachinkoFlag;
|
||||
/* 0x11D */ u8 mBombFlag;
|
||||
/* 0x11E */ bool mFusedShadow[4];
|
||||
/* 0x122 */ bool mFusedShadowCopy[4];
|
||||
/* 0x126 */ bool mMirrorShard[4];
|
||||
/* 0x12A */ bool mMirrorShardCopy[4];
|
||||
}; // Size: 0x130
|
||||
|
||||
extern dMw_HIO_c g_mwHIO;
|
||||
|
||||
#endif /* D_MENU_D_MENU_WINDOW_HIO_H */
|
||||
|
|
|
|||
|
|
@ -4,125 +4,160 @@
|
|||
//
|
||||
|
||||
#include "d/menu/d_menu_window_HIO.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct dSv_player_get_item_c {
|
||||
/* 80033EC8 */ void isFirstBit(u8) const;
|
||||
};
|
||||
|
||||
struct dMw_HIO_c {
|
||||
/* 801F9AFC */ dMw_HIO_c();
|
||||
/* 801F9B38 */ void init();
|
||||
/* 801F9E14 */ bool getBombFlag();
|
||||
/* 801F9E1C */ bool getArrowFlag();
|
||||
/* 801F9E24 */ bool getPachinkoFlag();
|
||||
/* 801F9EE0 */ ~dMw_HIO_c();
|
||||
};
|
||||
|
||||
struct dMw_DHIO_c {
|
||||
/* 801F9E2C */ dMw_DHIO_c();
|
||||
/* 801F9E98 */ ~dMw_DHIO_c();
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__9dMw_HIO_cFv();
|
||||
extern "C" void init__9dMw_HIO_cFv();
|
||||
extern "C" bool getBombFlag__9dMw_HIO_cFv();
|
||||
extern "C" bool getArrowFlag__9dMw_HIO_cFv();
|
||||
extern "C" bool getPachinkoFlag__9dMw_HIO_cFv();
|
||||
extern "C" void __ct__10dMw_DHIO_cFv();
|
||||
extern "C" void __dt__10dMw_DHIO_cFv();
|
||||
extern "C" void __dt__9dMw_HIO_cFv();
|
||||
extern "C" void __sinit_d_menu_window_HIO_cpp();
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void isFirstBit__21dSv_player_get_item_cCFUc();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void __register_global_object();
|
||||
extern "C" void _savegpr_26();
|
||||
extern "C" void _restgpr_26();
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803BE8E0-803BE8EC 01BA00 000C+00 2/2 0/0 0/0 .data __vt__10dMw_DHIO_c */
|
||||
SECTION_DATA extern void* __vt__10dMw_DHIO_c[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__10dMw_DHIO_cFv,
|
||||
};
|
||||
|
||||
/* 803BE8EC-803BE8F8 01BA0C 000C+00 2/2 0/0 0/0 .data __vt__9dMw_HIO_c */
|
||||
SECTION_DATA extern void* __vt__9dMw_HIO_c[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__9dMw_HIO_cFv,
|
||||
};
|
||||
inline int dComIfGs_isItemFirstBit(u8 i_no) {
|
||||
return g_dComIfG_gameInfo.info.getPlayer().getGetItem().isFirstBit(i_no);
|
||||
}
|
||||
|
||||
/* 801F9AFC-801F9B38 1F443C 003C+00 1/1 0/0 0/0 .text __ct__9dMw_HIO_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dMw_HIO_c::dMw_HIO_c() {
|
||||
nofralloc
|
||||
#include "asm/d/menu/d_menu_window_HIO/__ct__9dMw_HIO_cFv.s"
|
||||
dMw_HIO_c::dMw_HIO_c() {
|
||||
init();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450748-8045074C 0001C8 0003+01 1/1 0/0 0/0 .sdata m_cloth_item$3797 */
|
||||
SECTION_SDATA static u8 m_cloth_item[3 + 1 /* padding */] = {
|
||||
0x2F,
|
||||
0x30,
|
||||
0x31,
|
||||
/* padding */
|
||||
0x00,
|
||||
static u8 m_cloth_item[3] = {
|
||||
WEAR_KOKIRI,
|
||||
ARMOR,
|
||||
WEAR_ZORA,
|
||||
};
|
||||
|
||||
/* 8045074C-80450750 0001CC 0004+00 1/1 0/0 0/0 .sdata m_sword_item$3798 */
|
||||
SECTION_SDATA static u8 m_sword_item[4] = {
|
||||
0x28,
|
||||
0x29,
|
||||
0x49,
|
||||
0x3F,
|
||||
static u8 m_sword_item[4] = {
|
||||
SWORD,
|
||||
MASTER_SWORD,
|
||||
LIGHT_SWORD,
|
||||
WOOD_STICK,
|
||||
};
|
||||
|
||||
/* 80450750-80450758 0001D0 0003+05 1/1 0/0 0/0 .sdata m_shield_item$3799 */
|
||||
SECTION_SDATA static u8 m_shield_item[3 + 5 /* padding */] = {
|
||||
0x2B,
|
||||
0x2C,
|
||||
0x2A,
|
||||
/* padding */
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
static u8 m_shield_item[3] = {
|
||||
SHIELD,
|
||||
HYLIA_SHIELD,
|
||||
WOOD_SHIELD,
|
||||
};
|
||||
|
||||
/* 801F9B38-801F9E14 1F4478 02DC+00 1/1 0/0 0/0 .text init__9dMw_HIO_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMw_HIO_c::init() {
|
||||
nofralloc
|
||||
#include "asm/d/menu/d_menu_window_HIO/init__9dMw_HIO_cFv.s"
|
||||
void dMw_HIO_c::init() {
|
||||
mArrowFlag = 0;
|
||||
mBombFlag = 0;
|
||||
mPachinkoFlag = 0;
|
||||
|
||||
mLifeCopy = 0;
|
||||
mLife = 0;
|
||||
mMaxLifeCopy = 0;
|
||||
mMaxLife = 0;
|
||||
mMagicCopy = 0;
|
||||
mMagic = 0;
|
||||
mMaxMagicCopy = 0;
|
||||
mMaxMagic = 0;
|
||||
mOilCopy = 0;
|
||||
mOil = 0;
|
||||
mMaxOilCopy = 0;
|
||||
mMaxOil = 0;
|
||||
mOxygenCopy = 0;
|
||||
mOxygen = 0;
|
||||
mMaxOxygenCopy = 0;
|
||||
mMaxOxygen = 0;
|
||||
mEnableMagicCopy = false;
|
||||
mEnableMagic = false;
|
||||
mEnableArrowDropsCopy = false;
|
||||
mEnableArrowDrops = false;
|
||||
mRupeesCopy = 0;
|
||||
mRupees = 0;
|
||||
mWalletSizeCopy = WALLET;
|
||||
mWalletSize = WALLET;
|
||||
mKeysCopy = 0;
|
||||
mKeys = 0;
|
||||
field_0x47 = 0;
|
||||
field_0x23 = 0;
|
||||
mEnableOxygenMeterCopy = false;
|
||||
mEnableOxygenMeter = false;
|
||||
mPoesCopy = 0;
|
||||
mPoes = 0;
|
||||
mDonationAmountCopy = 0;
|
||||
mDonationAmount = 0;
|
||||
|
||||
for (int i = 0; i < 24; i++) {
|
||||
mItemsCopy[i] = NO_ITEM;
|
||||
mItems[i] = NO_ITEM;
|
||||
field_0x7a[i] = 0;
|
||||
}
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
mBottleNumCopy[i] = 0;
|
||||
mBottleNum[i] = 0;
|
||||
}
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
mBombNumCopy[i] = 0;
|
||||
mBombNum[i] = 0;
|
||||
}
|
||||
|
||||
mScentCopy = NO_ITEM;
|
||||
mScent = NO_ITEM;
|
||||
field_0xa8 = 0;
|
||||
field_0xf4 = 0;
|
||||
field_0xea = 0;
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
bool swordBit = dComIfGs_isItemFirstBit(m_sword_item[i]);
|
||||
mSwordsCopy[i] = swordBit;
|
||||
mSwords[i] = swordBit;
|
||||
}
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
bool shieldBit = dComIfGs_isItemFirstBit(m_shield_item[i]);
|
||||
mShieldsCopy[i] = shieldBit;
|
||||
mShields[i] = shieldBit;
|
||||
|
||||
bool clothesBit = dComIfGs_isItemFirstBit(m_cloth_item[i]);
|
||||
mClothesCopy[i] = clothesBit;
|
||||
mClothes[i] = clothesBit;
|
||||
}
|
||||
|
||||
mBombBagLV2Copy = false;
|
||||
mBombBagLV2 = false;
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
mLV2KeyShardsCopy[i] = false;
|
||||
mLV2KeyShards[i] = false;
|
||||
}
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
mLV5ItemCopy[i] = false;
|
||||
mLV5Item[i] = false;
|
||||
}
|
||||
|
||||
for (int i = 0; i < 24; i++) {
|
||||
mGoldBugCopy[i] = false;
|
||||
mGoldBug[i] = false;
|
||||
}
|
||||
|
||||
for (int i = 0; i < 8; i++) {
|
||||
field_0x101[i] = 0;
|
||||
field_0xf9[i] = 0;
|
||||
field_0x111[i] = 0;
|
||||
field_0x109[i] = 0;
|
||||
}
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
mFusedShadowCopy[i] = false;
|
||||
mFusedShadow[i] = false;
|
||||
}
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
mMirrorShardCopy[i] = false;
|
||||
mMirrorShard[i] = false;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 801F9E14-801F9E1C 1F4754 0008+00 0/0 1/1 0/0 .text getBombFlag__9dMw_HIO_cFv */
|
||||
bool dMw_HIO_c::getBombFlag() {
|
||||
|
|
@ -140,64 +175,29 @@ bool dMw_HIO_c::getPachinkoFlag() {
|
|||
}
|
||||
|
||||
/* 801F9E2C-801F9E98 1F476C 006C+00 1/1 0/0 0/0 .text __ct__10dMw_DHIO_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dMw_DHIO_c::dMw_DHIO_c() {
|
||||
nofralloc
|
||||
#include "asm/d/menu/d_menu_window_HIO/__ct__10dMw_DHIO_cFv.s"
|
||||
dMw_DHIO_c::dMw_DHIO_c() {
|
||||
for (int i = 0; i < 32; i++) {
|
||||
mMap[i] = false;
|
||||
mCompass[i] = false;
|
||||
mBossKey[i] = false;
|
||||
mBossClear[i] = false;
|
||||
mHeartContainer[i] = false;
|
||||
mBossDemo[i] = false;
|
||||
mPortal[i] = false;
|
||||
mMidBossClear[i] = false;
|
||||
mMapCopy[i] = false;
|
||||
mCompassCopy[i] = false;
|
||||
mBossKeyCopy[i] = false;
|
||||
mBossClearCopy[i] = false;
|
||||
mHeartContainerCopy[i] = false;
|
||||
mBossDemoCopy[i] = false;
|
||||
mPortalCopy[i] = false;
|
||||
mMidBossClearCopy[i] = false;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 801F9E98-801F9EE0 1F47D8 0048+00 2/1 0/0 0/0 .text __dt__10dMw_DHIO_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dMw_DHIO_c::~dMw_DHIO_c() {
|
||||
nofralloc
|
||||
#include "asm/d/menu/d_menu_window_HIO/__dt__10dMw_DHIO_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 801F9EE0-801F9F28 1F4820 0048+00 2/1 0/0 0/0 .text __dt__9dMw_HIO_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dMw_HIO_c::~dMw_HIO_c() {
|
||||
nofralloc
|
||||
#include "asm/d/menu/d_menu_window_HIO/__dt__9dMw_HIO_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8042E860-8042E86C 05B580 000C+00 1/1 0/0 0/0 .bss @3773 */
|
||||
static u8 lit_3773[12];
|
||||
|
||||
/* 8042E86C-8042E99C 05B58C 0130+00 0/1 4/4 0/0 .bss g_mwHIO */
|
||||
extern u8 g_mwHIO[304];
|
||||
u8 g_mwHIO[304];
|
||||
|
||||
/* 8042E99C-8042E9A8 05B6BC 000C+00 0/1 0/0 0/0 .bss @3774 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 lit_3774[12];
|
||||
#pragma pop
|
||||
dMw_HIO_c g_mwHIO;
|
||||
|
||||
/* 8042E9A8-8042EBB0 05B6C8 0208+00 0/1 1/1 0/0 .bss g_mwDHIO */
|
||||
extern u8 g_mwDHIO[520];
|
||||
u8 g_mwDHIO[520];
|
||||
|
||||
/* 801F9F28-801F9F84 1F4868 005C+00 0/0 1/0 0/0 .text __sinit_d_menu_window_HIO_cpp */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void __sinit_d_menu_window_HIO_cpp() {
|
||||
nofralloc
|
||||
#include "asm/d/menu/d_menu_window_HIO/__sinit_d_menu_window_HIO_cpp.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
REGISTER_CTORS(0x801F9F28, __sinit_d_menu_window_HIO_cpp);
|
||||
#pragma pop
|
||||
dMw_DHIO_c g_mwDHIO;
|
||||
|
|
|
|||
Loading…
Reference in New Issue