This commit is contained in:
TakaRikka
2021-12-21 06:06:57 -08:00
parent e92261fcff
commit c8ee25ec81
39 changed files with 1287 additions and 477 deletions
+381 -53
View File
@@ -308,31 +308,330 @@ SECTION_SDATA2 static u8 lit_4662[4] = {
/* 804549CC-804549D0 002FCC 0004+00 13/13 0/0 0/0 .sdata2 @4663 */
SECTION_SDATA2 static f32 lit_4663 = 1.0f;
/* 8021EA14-8021F128 219354 0714+00 1/1 0/0 0/0 .text _create__9dMeter2_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeter2_c::_create() {
nofralloc
#include "asm/d/meter/d_meter2/_create__9dMeter2_cFv.s"
inline u16 dComIfGs_getLife() {
return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getLife();
}
inline u16 i_dComIfGs_getRupee() {
return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getRupee();
}
inline u8 dComIfGp_getRStatus() {
return g_dComIfG_gameInfo.play.getRStatus();
}
inline void dComIfGp_setBottleStatus(u8 param_0, u8 param_1) {
g_dComIfG_gameInfo.play.setBottleStatus(param_0, param_1);
}
inline u8 dComIfGp_getDoStatus() {
return g_dComIfG_gameInfo.play.getDoStatus();
}
inline void dMeter2Info_offUseButton(int flag) {
g_meter2_info.offUseButton(flag);
}
/* 8021EA14-8021F128 219354 0714+00 1/1 0/0 0/0 .text _create__9dMeter2_cFv */
// this can be cleaned up with float literals when everything else is decompiled
int dMeter2_c::_create() {
stage_stag_info_class* stag_info = dComIfGp_getStageStagInfo();
if (dStage_stagInfo_GetUpButton(stag_info) == 1) {
mpHeap = fopMsgM_createExpHeap(0x5A400, NULL);
} else {
mpHeap = fopMsgM_createExpHeap(0x60800, NULL);
}
JKRHeap* heap = mDoExt_setCurrentHeap(mpHeap);
mpHeap->getTotalFreeSize();
if (!strcmp(dComIfGp_getStartStageName(), "F_SP00")) {
dMeter2Info_setNowCount(0);
dMeter2Info_setMaxCount(0);
}
field_0x128 = 0;
field_0x12c = field_0x128;
field_0x124 = 0;
mSubContents = 0;
mSubContentsStringType = 0;
field_0x1e6 = 0;
field_0x1e7 = 0;
mItemMaxNum[2] = dComIfGs_getArrowMax();
mArrowNum = dComIfGs_getArrowNum();
mItemMaxNum[3] = dComIfGs_getPachinkoMax();
mPachinkoNum = dComIfGs_getPachinkoNum();
for (int i = 0; i < 3; i++) {
mBombMax[i] = dComIfGs_getBombMax(dComIfGs_getItem((u8)(i + SLOT_15), 1));
mBombNum[i] = dComIfGs_getBombNum(i);
}
for (int i = 0; i < 2; i++) {
mItemMaxNum[i] = dComIfGs_getSelectItemIndex(i);
}
for (int i = 0; i < 4; i++) {
mBottleNum[i] = dComIfGs_getBottleNum(i);
}
field_0x1e8 = 0;
field_0x1e9 = 0;
field_0x1ea = 0;
field_0x1eb = 0;
for (int i = 0; i < 5; i++) {
field_0x1b8[i] = 0;
}
field_0x1ec = 0;
field_0x1ed = 0;
field_0x1ee = 0;
mNowLifeGauge = dComIfGs_getLife();
dComIfGp_setItemNowLife((u8)mNowLifeGauge);
mMaxLife = dComIfGs_getMaxLife();
mNowMagic = dComIfGs_getMagic();
dComIfGp_setItemNowMagic(mNowMagic);
mMaxMagic = dComIfGs_getMaxMagic();
mNowOil = dComIfGs_getOil();
dComIfGp_setItemNowOil(mNowOil);
mMaxOil = dComIfGs_getMaxOil();
mNowOxygen = dComIfGp_getOxygen();
dComIfGp_setNowOxygen(mNowOxygen);
mMaxOxygen = dComIfGp_getMaxOxygen();
field_0x130 = FLOAT_LABEL(lit_4662);
u8 dark_area = dComIfGp_getStartStageDarkArea();
mLightDropNum = dComIfGs_getLightDropNum(dark_area);
mNeedLightDropNum = dComIfGp_getNeedLightDropNum();
mRupeeNum = i_dComIfGs_getRupee();
mKeyNum = dComIfGs_getKeyNum();
field_0x1c4 = dComIfGp_getDoStatus();
field_0x1dc = dComIfGp_isDoSetFlag(2);
int i = 0;
f32 temp0 = FLOAT_LABEL(lit_4662);
for (; i < 2; i++) {
field_0x134[i] = temp0;
field_0x13c[i] = temp0;
}
field_0x144 = lit_4663;
field_0x1c5 = dComIfGp_getAStatus();
field_0x1c6 = 0;
field_0x1dd = dComIfGp_isASetFlag(2);
i = 0;
f32 temp1 = FLOAT_LABEL(lit_4662);
for (; i < 2; i++) {
field_0x148[i] = temp1;
field_0x150[i] = temp1;
}
field_0x158 = lit_4663;
field_0x1e4 = 0;
field_0x1e2 = dComIfGs_getSelectEquipSword();
field_0x1e3 = 0;
field_0x1fe = 0;
field_0x1fd = 0;
field_0x1ff = 0;
field_0x200 = 0;
field_0x201 = 0;
field_0x1c7 = dComIfGs_getCollectSmell();
field_0x1c8 = dComIfGp_getRStatus();
field_0x1de = dComIfGp_isRSetFlag(2);
field_0x1df = dComIfGp_isXSetFlag(2);
field_0x1e0 = dComIfGp_isYSetFlag(2);
for (int i = 0; i < 2; i++) {
dComIfGp_setSelectItem(i);
}
field_0x1d2[0] = dComIfGp_getSelectItem(0);
field_0x1d2[2] = dComIfGp_getSelectItem(1);
field_0x1d2[1] = dComIfGp_getXStatus();
field_0x1d2[3] = dComIfGp_getYStatus();
f32 temp2 = FLOAT_LABEL(lit_4662);
field_0x188 = temp2;
field_0x18c = temp2;
for (int i = 0; i < 2; i++) {
field_0x1d6[i] = dMeter2Info_isDirectUseItem(i);
field_0x1d8[i] = dComIfGp_getSelectItemNum(i);
}
field_0x1e1 = 0;
field_0x1b4 = 0;
f32 temp3 = FLOAT_LABEL(lit_4662);
field_0x15c = temp3;
for (int i = 0; i < 4; i++) {
field_0x160[i] = temp3;
field_0x174[i] = temp3;
}
field_0x190 = 0;
field_0x1c9 = dComIfGp_getZStatus();
field_0x1ca = dComIfGp_get3DStatus();
field_0x1cb = dComIfGp_getCStickStatus();
field_0x1cc = dComIfGp_getSButtonStatus();
field_0x1cd = dComIfGp_getNunStatus();
field_0x1ce = dComIfGp_getRemoConStatus();
field_0x1cf = dComIfGp_getNunZStatus();
field_0x1d0 = dComIfGp_getNunCStatus();
field_0x1d1 = dComIfGp_getBottleStatus();
field_0x1ac = dMeter2Info_isUseButton(16);
field_0x19a = 0;
mpMeterDraw = new dMeter2Draw_c(mpHeap);
field_0x130 = mpMeterDraw->getNowLightDropRateCalc();
mpHeap->getTotalFreeSize();
for (int i = 0; i < 2; i++) {
if (field_0x128 == 0) {
if (field_0x1d2[i * 2] == BOMB_BAG_LV1 || field_0x1d2[i * 2] == NORMAL_BOMB ||
field_0x1d2[i * 2] == WATER_BOMB || field_0x1d2[i * 2] == POKE_BOMB) {
mpMeterDraw->setItemNum(i, dComIfGp_getSelectItemNum(i), dComIfGp_getSelectItemMaxNum(i));
} else if (field_0x1d2[i * 2] == BEE_CHILD) {
mpMeterDraw->setItemNum(i, dComIfGp_getSelectItemNum(i), dComIfGp_getSelectItemMaxNum(i));
} else if (field_0x1d2[i * 2] == BOW || field_0x1d2[i * 2] == LIGHT_ARROW ||
field_0x1d2[i * 2] == ARROW_LV1 || field_0x1d2[i * 2] == ARROW_LV2 ||
field_0x1d2[i * 2] == ARROW_LV3 || field_0x1d2[i * 2] == HAWK_ARROW) {
mpMeterDraw->setItemNum(i, mArrowNum, dComIfGs_getArrowMax());
} else if (field_0x1d2[i * 2] == PACHINKO) {
mpMeterDraw->setItemNum(i, mPachinkoNum, dComIfGs_getPachinkoMax());
} else if (field_0x1d2[i * 2] == BOMB_ARROW) {
u8 item_num = dComIfGp_getSelectItemNum(i);
u8 item_max = dComIfGp_getSelectItemMaxNum(i);
if (item_num > mArrowNum) {
item_num = mArrowNum;
}
u8 temp = dComIfGs_getArrowMax() & 0xFF;
if (item_max < temp) {
item_max = temp;
}
mpMeterDraw->setItemNum(i, item_num, item_max);
}
}
}
mpMap = NULL;
if (dMeterMap_c::isEnableDispMapAndMapDispSizeTypeNo()) {
mpMap = new dMeterMap_c(mpMeterDraw->getMainScreenPtr());
} else {
if (g_meter2_info.mMapStatus == 2) {
g_meter2_info.mMapStatus = 0;
}
}
dMeter2Info_setMeterMapClass(mpMap);
mpHeap->getTotalFreeSize();
mpSubHeap = fopMsgM_createExpHeap(0x5000, mpHeap);
field_0x108 = NULL;
field_0x110 = NULL;
field_0x114 = NULL;
field_0x118 = NULL;
mpHeap->getTotalFreeSize();
field_0x11c = NULL;
mDoExt_setCurrentHeap(heap);
return 4;
}
inline BOOL dComIfGs_isEventBit(u16 id) {
return g_dComIfG_gameInfo.info.getSavedata().getEvent().isEventBit(id);
}
inline BOOL dComIfGp_event_runCheck() {
return g_dComIfG_gameInfo.play.getEvent().runCheck();
}
#pragma pop
/* 8021F128-8021F370 219A68 0248+00 1/1 0/0 0/0 .text _execute__9dMeter2_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeter2_c::_execute() {
nofralloc
#include "asm/d/meter/d_meter2/_execute__9dMeter2_cFv.s"
int dMeter2_c::_execute() {
JKRHeap* heap = mDoExt_setCurrentHeap(mpHeap);
if (!dComIfGs_isCollectMirror(0) && dComIfGs_isEventBit(0x5420)) {
dComIfGs_onCollectMirror(0);
}
if (!dComIfGs_isCollectCrystal(3) && dComIfGs_isEventBit(0x5410)) {
dComIfGs_onCollectCrystal(3);
}
checkStatus();
mpMeterDraw->exec(field_0x124);
moveLife();
moveKantera();
moveOxygen();
moveLightDrop();
moveRupee();
moveKey();
moveButtonXY();
moveButtonA();
moveButtonB();
moveButtonR();
moveButtonZ();
moveButton3D();
moveButtonC();
moveButtonS();
moveButtonCross();
moveTouchSubMenu();
moveBombNum();
moveArrowNum();
movePachinkoNum();
moveBottleNum();
if (mpMap != NULL) {
mpMap->_move(field_0x124);
} else {
dMeterMap_c::meter_map_move(field_0x124);
}
moveSubContents();
move2DContents();
if (!dComIfGp_isPauseFlag() && !dComIfGp_event_runCheck()) {
dMeter2Info_decHotSpringTimer();
}
dMeter2Info_allUseButton();
dMeter2Info_offUseButton(0x800);
dMeter2Info_resetGameStatus();
dComIfGp_setNunStatus(0, 0, 0);
dComIfGp_setRemoConStatus(0, 0, 0);
dComIfGp_setNunZStatus(0, 0);
dComIfGp_setNunCStatus(0, 0);
dComIfGp_setBottleStatus(0, 0);
dComIfGp_setCStickStatus(0, 0, 0);
mDoExt_setCurrentHeap(heap);
return 1;
}
#pragma pop
/* 8021F370-8021F49C 219CB0 012C+00 1/1 0/0 0/0 .text _draw__9dMeter2_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeter2_c::_draw() {
asm int dMeter2_c::_draw() {
nofralloc
#include "asm/d/meter/d_meter2/_draw__9dMeter2_cFv.s"
}
@@ -350,7 +649,7 @@ SECTION_SDATA2 static f32 lit_4837[1 + 1 /* padding */] = {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeter2_c::_delete() {
asm int dMeter2_c::_delete() {
nofralloc
#include "asm/d/meter/d_meter2/_delete__9dMeter2_cFv.s"
}
@@ -367,15 +666,16 @@ asm void dMeter2_c::emphasisButtonDelete() {
}
#pragma pop
/* 8021F780-8021F7B0 21A0C0 0030+00 0/0 0/0 1/1 .text setLifeZero__9dMeter2_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeter2_c::setLifeZero() {
nofralloc
#include "asm/d/meter/d_meter2/setLifeZero__9dMeter2_cFv.s"
inline void i_dComIfGp_setItemLifeCount(f32 amount, u8 type) {
g_dComIfG_gameInfo.play.setItemLifeCount(amount, type);
}
/* 8021F780-8021F7B0 21A0C0 0030+00 0/0 0/0 1/1 .text setLifeZero__9dMeter2_cFv */
void dMeter2_c::setLifeZero() {
dComIfGs_setLife(1);
setNowLifeGauge(1);
i_dComIfGp_setItemLifeCount(lit_4837[0], 0);
}
#pragma pop
/* ############################################################################################## */
/* 803BFA28-803BFA54 -00001 002C+00 1/1 0/0 0/0 .data @5038 */
@@ -434,6 +734,49 @@ asm void dMeter2_c::moveKantera() {
}
#pragma pop
/* void dMeter2_c::moveKantera() {
s32 max_oil = dComIfGs_getMaxOil();
bool meter_visible = false;
s32 cur_oil = 0;
if (dComIfGp_getItemMaxOilCount() != 0) {
if (dComIfGs_getMaxOil() + dComIfGp_getItemMaxOilCount() <= max_oil) {
max_oil = dComIfGs_getMaxOil() + dComIfGp_getItemMaxOilCount();
if (max_oil < 0) {
max_oil = 0;
}
}
dComIfGs_setMaxOil(max_oil);
cur_oil = dComIfGs_getOil();
dComIfGp_setItemOilCount(max_oil - cur_oil);
dComIfGp_clearItemMaxOilCount();
meter_visible = true;
cur_oil = max_oil;
}
if (dComIfGp_getItemOilCount() != 0) {
if (!meter_visible) {
cur_oil = dComIfGs_getMaxOil();
}
if (dComIfGs_getOil() + dComIfGp_getItemOilCount() <= cur_oil) {
cur_oil = dComIfGs_getOil();
if (dComIfGs_getOil() < 0) {
cur_oil = 0;
}
}
dComIfGs_setOil(cur_oil);
dComIfGp_clearItemOilCount();
meter_visible = true;
}
if () {
}
} */
/* ############################################################################################## */
/* 804549EC-804549F0 002FEC 0004+00 2/2 0/0 0/0 .sdata2 @5933 */
SECTION_SDATA2 static f32 lit_5933 = 0.5f;
@@ -831,45 +1174,30 @@ asm void dMeter2_c::isPachinkoEquip() {
#pragma pop
/* 80225AA0-80225AC0 2203E0 0020+00 1/0 0/0 0/0 .text dMeter2_Draw__FP9dMeter2_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dMeter2_Draw(dMeter2_c* param_0) {
nofralloc
#include "asm/d/meter/d_meter2/dMeter2_Draw__FP9dMeter2_c.s"
static int dMeter2_Draw(dMeter2_c* p_meter) {
return p_meter->_draw();
}
#pragma pop
/* 80225AC0-80225AE0 220400 0020+00 1/0 0/0 0/0 .text dMeter2_Execute__FP9dMeter2_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dMeter2_Execute(dMeter2_c* param_0) {
nofralloc
#include "asm/d/meter/d_meter2/dMeter2_Execute__FP9dMeter2_c.s"
static int dMeter2_Execute(dMeter2_c* p_meter) {
return p_meter->_execute();
}
#pragma pop
/* 80225AE0-80225AE8 220420 0008+00 1/0 0/0 0/0 .text dMeter2_IsDelete__FP9dMeter2_c */
static bool dMeter2_IsDelete(dMeter2_c* param_0) {
return true;
static int dMeter2_IsDelete(dMeter2_c* p_meter) {
return 1;
}
/* 80225AE8-80225B08 220428 0020+00 1/0 0/0 0/0 .text dMeter2_Delete__FP9dMeter2_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dMeter2_Delete(dMeter2_c* param_0) {
nofralloc
#include "asm/d/meter/d_meter2/dMeter2_Delete__FP9dMeter2_c.s"
static int dMeter2_Delete(dMeter2_c* p_meter) {
return p_meter->_delete();
}
#pragma pop
/* 80225B08-80225BB8 220448 00B0+00 1/0 0/0 0/0 .text dMeter2_Create__FP9msg_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dMeter2_Create(msg_class* param_0) {
static asm int dMeter2_Create(msg_class* param_0) {
nofralloc
#include "asm/d/meter/d_meter2/dMeter2_Create__FP9msg_class.s"
}
@@ -877,10 +1205,10 @@ static asm void dMeter2_Create(msg_class* param_0) {
/* ############################################################################################## */
/* 803BFA54-803BFA68 -00001 0014+00 1/0 0/0 0/0 .data l_dMeter2_Method */
SECTION_DATA static void* l_dMeter2_Method[5] = {
(void*)dMeter2_Create__FP9msg_class, (void*)dMeter2_Delete__FP9dMeter2_c,
(void*)dMeter2_Execute__FP9dMeter2_c, (void*)dMeter2_IsDelete__FP9dMeter2_c,
(void*)dMeter2_Draw__FP9dMeter2_c,
SECTION_DATA static dMeter2_Method l_dMeter2_Method[5] = {
(dMeter2_Method)dMeter2_Create, dMeter2_Delete,
dMeter2_Execute, dMeter2_IsDelete,
dMeter2_Draw,
};
/* 803BFA68-803BFA90 -00001 0028+00 0/0 0/0 1/0 .data g_profile_METER2 */
+75 -45
View File
@@ -4,6 +4,9 @@
//
#include "d/meter/d_meter2_draw.h"
#include "d/meter/d_meter_HIO.h"
#include "d/com/d_com_inf_game.h"
#include "JSystem/J2DGraph/J2DAnmLoader.h"
#include "dol2asm.h"
#include "dolphin/types.h"
@@ -11,35 +14,6 @@
// Types:
//
struct dSv_player_item_c {
/* 80033030 */ void getItem(int, bool) const;
};
struct dSv_light_drop_c {
/* 80034340 */ void getLightDropNum(u8) const;
/* 8003439C */ void isLightDropGetFlag(u8) const;
};
struct dSv_event_c {
/* 800349BC */ void isEventBit(u16) const;
};
struct dMsgObject_c {
/* 802370E8 */ void isHowlMessage();
/* 8023822C */ void getStatus();
};
struct JMSMesgEntry_c {};
struct dMeter2Info_c {
/* 8021C250 */ void getString(u32, char*, JMSMesgEntry_c*);
/* 8021C370 */ void getStringKana(u32, char*, JMSMesgEntry_c*);
/* 8021C544 */ void getStringKanji(u32, char*, JMSMesgEntry_c*);
/* 8021C950 */ void isDirectUseItem(int);
/* 8021CF08 */ void readItemTexture(u8, void*, J2DPicture*, void*, J2DPicture*, void*,
J2DPicture*, void*, J2DPicture*, int);
};
struct dKantera_icon_c {
/* 801AE938 */ dKantera_icon_c();
/* 801AEB7C */ void setAlphaRate(f32);
@@ -48,12 +22,6 @@ struct dKantera_icon_c {
/* 801AEC44 */ void setNowGauge(u16, u16);
};
struct dItem_data {
static void* item_resource[1530];
};
struct JAISoundID {};
struct Z2SeMgr {
/* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
/* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
@@ -63,10 +31,6 @@ struct Z2AudioMgr {
static u8 mAudioMgrPtr[4 + 4 /* padding */];
};
struct J2DAnmLoaderDataBase {
/* 80308A6C */ void load(void const*);
};
//
// Forward References:
//
@@ -258,13 +222,8 @@ extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" void strcmp();
extern "C" void strcpy();
extern "C" extern void* __vt__12dDlst_base_c[3];
extern "C" void* item_resource__10dItem_data[1530];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u8 g_drawHIO[3880];
extern "C" extern u8 g_meter2_info[248];
extern "C" extern u8 g_MsgObject_HIO_c[1040];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
@@ -745,6 +704,55 @@ SECTION_DEAD static char const* const stringBase_80398A0A = "zelda_game_image_sa
#pragma pop
/* 80211E64-80212190 20C7A4 032C+00 1/1 0/0 0/0 .text initMagic__13dMeter2Draw_cFv */
#ifdef NONMATCHING
void dMeter2Draw_c::initMagic() {
field_0x550 = 0.0f;
field_0x554 = 0.0f;
mpMagicParent = new CPaneMgr(mpKanteraScreen, 'magic_n', 2, NULL);
mpMagicBase = new CPaneMgr(mpKanteraScreen, 'mm_base', 0, NULL);
mpMagicFrameL = new CPaneMgr(mpKanteraScreen, 'm_w_l_n', 2, NULL);
mpMagicFrameR = new CPaneMgr(mpKanteraScreen, 'm_w_r_n', 2, NULL);
mpMagicMeter = new CPaneMgr(mpKanteraScreen, 'mm_00', 0, NULL);
void* res = JKRFileLoader::getGlbResource("zelda_game_image_sanso_10percent.bpk", dComIfGp_getMain2DArchive());
field_0x53c = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(res);
field_0x53c->searchUpdateMaterialID(mpKanteraScreen);
res = JKRFileLoader::getGlbResource("zelda_game_image_sanso_25percent.bpk", dComIfGp_getMain2DArchive());
field_0x540 = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(res);
field_0x540->searchUpdateMaterialID(mpKanteraScreen);
res = JKRFileLoader::getGlbResource("zelda_game_image_sanso_50percent.bpk", dComIfGp_getMain2DArchive());
field_0x544 = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(res);
field_0x544->searchUpdateMaterialID(mpKanteraScreen);
field_0x558 = 0.0f;
mpMagicParent->setAlphaRate(0.0f);
f32 offsetX = g_drawHIO.mLifeTopPosX;
f32 offsetY = 0.0f;
if (dComIfGs_getMaxLife() <= 50) {
offsetY = g_drawHIO.mLifeTopPosY;
}
for (int i = 0; i < 3; i++) {
field_0x5fc[i] = 0.0f;
field_0x742[i] = 0;
}
u8 magic = dComIfGs_getMagic();
u8 max_magic = dComIfGs_getMaxMagic();
drawMagic(max_magic, magic, g_drawHIO.mMagicMeterPosX + offsetX, g_drawHIO.mMagicMeterPosY + offsetY);
setAlphaMagicChange(true);
u16 oil = dComIfGs_getOil();
u16 max_oil = dComIfGs_getMaxOil();
drawKantera(max_oil, oil, g_drawHIO.mLanternMeterPosX + offsetX, g_drawHIO.mLanternMeterPosY + (g_drawHIO.mNoMagicPosY + offsetY));
setAlphaKanteraChange(true);
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -753,6 +761,7 @@ asm void dMeter2Draw_c::initMagic() {
#include "asm/d/meter/d_meter2_draw/initMagic__13dMeter2Draw_cFv.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 80398640-803986C0 024CA0 0080+00 0/1 0/0 0/0 .rodata tuta_0$5094 */
@@ -1072,6 +1081,26 @@ asm void dMeter2Draw_c::drawKanteraScreen(u8 param_0) {
SECTION_SDATA2 static f32 lit_6175 = 0.03125f;
/* 80215290-80215380 20FBD0 00F0+00 1/1 0/0 0/0 .text drawMagic__13dMeter2Draw_cFssff */
#ifdef NONMATCHING
void dMeter2Draw_c::drawMagic(s16 max_count, s16 now_count, f32 x_pos, f32 y_pos) {
f32 x_diff = mpMagicFrameR->getInitPosX() - mpMagicFrameL->getInitPosX();
field_0x584 = mpMagicMeter->getInitSizeX() * (lit_6175 * now_count);
field_0x590 = mpMagicMeter->getInitSizeY();
field_0x59c = mpMagicFrameL->getInitPosX() * x_diff * (max_count * lit_6175);
field_0x5a8 = mpMagicFrameL->getInitPosY();
field_0x5b4 = mpMagicBase->getInitSizeX() * (max_count * lit_6175);
field_0x5c0 = mpMagicBase->getInitSizeY();
field_0x5cc = g_drawHIO.mMagicMeterScale;
field_0x5d8 = g_drawHIO.mMagicMeterScale;
field_0x5e4 = x_pos;
field_0x5f0 = y_pos;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -1080,6 +1109,7 @@ asm void dMeter2Draw_c::drawMagic(s16 param_0, s16 param_1, f32 param_2, f32 par
#include "asm/d/meter/d_meter2_draw/drawMagic__13dMeter2Draw_cFssff.s"
}
#pragma pop
#endif
/* 80215380-802154A8 20FCC0 0128+00 2/2 0/0 0/0 .text setAlphaMagicChange__13dMeter2Draw_cFb */
#pragma push
@@ -1207,7 +1237,7 @@ void dMeter2Draw_c::setAlphaLightDropChange(bool param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeter2Draw_c::getNowLightDropRateCalc() {
asm f32 dMeter2Draw_c::getNowLightDropRateCalc() {
nofralloc
#include "asm/d/meter/d_meter2_draw/getNowLightDropRateCalc__13dMeter2Draw_cFv.s"
}
+6 -54
View File
@@ -1875,65 +1875,17 @@ extern "C" asm void __dt__16dMeter_drawHIO_cFv() {
/* 8020123C-80201284 1FBB7C 0048+00 2/1 0/0 0/0 .text __dt__16dMeter_menuHIO_cFv */
dMeter_menuHIO_c::~dMeter_menuHIO_c() {}
/* ############################################################################################## */
/* 8042EBB0-8042EBBC 05B8D0 000C+00 1/1 0/0 0/0 .bss @3766 */
static u8 lit_3766[12];
/* 8042EBBC-8042EBC8 05B8DC 000C+00 0/1 0/0 0/0 .bss @3767 */
#pragma push
#pragma force_active on
static u8 lit_3767[12];
#pragma pop
/* 804510B0-804510B8 0005B0 0008+00 1/1 1/1 0/0 .sbss g_menuHIO */
dMeter_menuHIO_c g_menuHIO;
/* 8042EBC8-8042FAF0 05B8E8 0F28+00 0/1 157/157 0/0 .bss g_drawHIO */
extern u8 g_drawHIO[3880];
u8 g_drawHIO[3880];
/* 8042FAF0-8042FAFC 05C810 000C+00 0/1 0/0 0/0 .bss @3768 */
#pragma push
#pragma force_active on
static u8 lit_3768[12];
#pragma pop
dMeter_drawHIO_c g_drawHIO;
/* 8042FAFC-8042FC54 05C81C 0158+00 0/1 19/19 0/0 .bss g_ringHIO */
extern u8 g_ringHIO[344];
u8 g_ringHIO[344];
/* 8042FC54-8042FC60 05C974 000C+00 0/1 0/0 0/0 .bss @3769 */
#pragma push
#pragma force_active on
static u8 lit_3769[12];
#pragma pop
dMeter_ringHIO_c g_ringHIO;
/* 8042FC60-80430104 05C980 04A4+00 0/1 54/54 0/0 .bss g_fmapHIO */
extern u8 g_fmapHIO[1188];
u8 g_fmapHIO[1188];
/* 80430104-80430110 05CE24 000C+00 0/1 0/0 0/0 .bss @3770 */
#pragma push
#pragma force_active on
static u8 lit_3770[12];
#pragma pop
dMeter_fmapHIO_c g_fmapHIO;
/* 80430110-80430158 05CE30 0044+04 0/1 6/6 1/1 .bss g_cursorHIO */
extern u8 g_cursorHIO[68 + 4 /* padding */];
u8 g_cursorHIO[68 + 4 /* padding */];
/* 804510B0-804510B8 0005B0 0008+00 1/1 1/1 0/0 .sbss g_menuHIO */
extern u8 g_menuHIO[8];
u8 g_menuHIO[8];
/* 80201284-80201328 1FBBC4 00A4+00 0/0 1/0 0/0 .text __sinit_d_meter_HIO_cpp */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void __sinit_d_meter_HIO_cpp() {
nofralloc
#include "asm/d/meter/d_meter_HIO/__sinit_d_meter_HIO_cpp.s"
}
#pragma pop
#pragma push
#pragma force_active on
REGISTER_CTORS(0x80201284, __sinit_d_meter_HIO_cpp);
#pragma pop
dMeter_cursorHIO_c g_cursorHIO;
+1 -1
View File
@@ -170,7 +170,7 @@ asm void dMeterMap_c::getMapDispSizeTypeNo() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterMap_c::isEnableDispMapAndMapDispSizeTypeNo() {
asm bool dMeterMap_c::isEnableDispMapAndMapDispSizeTypeNo() {
nofralloc
#include "asm/d/meter/d_meter_map/isEnableDispMapAndMapDispSizeTypeNo__11dMeterMap_cFv.s"
}