mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-27 08:53:23 -04:00
d_meter_string done (#2023)
* d_meter_string done * remove asm * some other d_meter fixes
This commit is contained in:
+50
-37
@@ -1,7 +1,7 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: d/meter/d_meter2
|
||||
//
|
||||
/**
|
||||
* d_meter2.cpp
|
||||
* Main UI handler
|
||||
*/
|
||||
|
||||
#include "d/meter/d_meter2.h"
|
||||
#include "JSystem/JKernel/JKRExpHeap.h"
|
||||
@@ -15,8 +15,9 @@
|
||||
#include "d/meter/d_meter_HIO.h"
|
||||
#include "d/meter/d_meter_button.h"
|
||||
#include "d/meter/d_meter_haihai.h"
|
||||
#include "d/meter/d_meter_map.h"
|
||||
#include "d/meter/d_meter_hakusha.h"
|
||||
#include "d/meter/d_meter_map.h"
|
||||
#include "d/meter/d_meter_string.h"
|
||||
#include "dol2asm.h"
|
||||
#include "f_op/f_op_msg_mng.h"
|
||||
#include "rel/d/a/d_a_horse/d_a_horse.h"
|
||||
@@ -2025,9 +2026,6 @@ void dMeter2_c::moveButtonS() {
|
||||
}
|
||||
|
||||
/* 80222518-80222E88 21CE58 0970+00 1/1 0/0 0/0 .text moveButtonXY__9dMeter2_cFv */
|
||||
// dMeter2Info_isDirectUseItem is the issue. If you set the return value to int all through the
|
||||
// stack, it matches but then dMeter2Info_isDirectUseItem itself doesn't match.
|
||||
#ifdef NONMATCHING
|
||||
void dMeter2_c::moveButtonXY() {
|
||||
bool sp8[2];
|
||||
bool spC[2];
|
||||
@@ -2319,16 +2317,6 @@ void dMeter2_c::moveButtonXY() {
|
||||
alphaAnimeButton();
|
||||
dMeter2Info_resetDirectUseItem();
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMeter2_c::moveButtonXY() {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter2/moveButtonXY__9dMeter2_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80222E88-802230F8 21D7C8 0270+00 1/1 0/0 0/0 .text moveButtonCross__9dMeter2_cFv */
|
||||
void dMeter2_c::moveButtonCross() {
|
||||
@@ -3079,6 +3067,27 @@ SECTION_DEAD static char const* const pad_8039934F = "";
|
||||
#pragma pop
|
||||
|
||||
/* 80224DC0-80224F70 21F700 01B0+00 1/1 0/0 0/0 .text alphaAnimeRupee__9dMeter2_cFv */
|
||||
// gameinfo loads have issues
|
||||
#ifdef NONMATCHING
|
||||
void dMeter2_c::alphaAnimeRupee() {
|
||||
if ((mStatus & 0x4000) || ((mStatus & 0x40) && dComIfGp_event_checkHind(0x80)) ||
|
||||
daPy_getPlayerActorClass()->i_getSumouMode() ||
|
||||
(daPy_getPlayerActorClass()->checkCanoeSlider() && dComIfG_getTimerMode() == 4) ||
|
||||
((strcmp(dComIfGp_getStartStageName(), "R_SP127") != 0 || dComIfGp_event_checkHind(0x80)) &&
|
||||
(((mStatus & 0x40000000) && !(mStatus & 0x100)) || (mStatus & 0x1000) ||
|
||||
(mStatus & 0x100000))) ||
|
||||
(mStatus & 0x80000000) || (mStatus & 8) || (mStatus & 0x10) || (mStatus & 0x01000000) ||
|
||||
((mStatus & 0x20) != 0) || (mStatus & 0x04000000) || (mStatus & 0x08000000) ||
|
||||
(mStatus & 0x10000000) || dMeter2Info_isSub2DStatus(1))
|
||||
{
|
||||
mpMeterDraw->setAlphaRupeeAnimeMin();
|
||||
} else {
|
||||
mpMeterDraw->setAlphaRupeeAnimeMax();
|
||||
}
|
||||
|
||||
mpMeterDraw->setAlphaRupeeChange(false);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -3087,26 +3096,29 @@ asm void dMeter2_c::alphaAnimeRupee() {
|
||||
#include "asm/d/meter/d_meter2/alphaAnimeRupee__9dMeter2_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* void dMeter2_c::alphaAnimeRupee() {
|
||||
if ((mStatus & 0x4000) || ((mStatus & 0x40) && dComIfGp_event_checkHind(0x80)) ||
|
||||
((daPy_getPlayerActorClass()->i_getSumouMode() != 0) ||
|
||||
(daPy_getPlayerActorClass()->checkCanoeSlider() && dComIfG_getTimerMode() == 4) ||
|
||||
(!strcmp(dComIfGp_getStartStageName(), "R_SP127") && dComIfGp_event_checkHind(0x80)) ||
|
||||
((mStatus & 0x40000000) && ((mStatus & 0x100) || (mStatus & 0x1000))) ||
|
||||
(mStatus & 0x100000) || (mStatus & 0x100000) || (mStatus & 0x80000000) || (mStatus & 8) ||
|
||||
(mStatus & 0x10) || (mStatus & 0x01000000) || (mStatus & 0x20) || (mStatus & 0x04000000) ||
|
||||
(mStatus & 0x08000000) || (mStatus & 0x10000000)) || dMeter2Info_isSub2DStatus(1))
|
||||
{
|
||||
mpMeterDraw->setAlphaRupeeAnimeMin();
|
||||
} else {
|
||||
mpMeterDraw->setAlphaRupeeAnimeMax();
|
||||
}
|
||||
|
||||
mpMeterDraw->setAlphaRupeeChange(false);
|
||||
} */
|
||||
#endif
|
||||
|
||||
/* 80224F70-802250F4 21F8B0 0184+00 1/1 0/0 0/0 .text alphaAnimeKey__9dMeter2_cFv */
|
||||
// masking issues
|
||||
#ifdef NONMATCHING
|
||||
void dMeter2_c::alphaAnimeKey() {
|
||||
if ((mStatus & 0x4000) || ((mStatus & 0x40) && dComIfGp_event_checkHind(0x40)) ||
|
||||
!isKeyVisible() || (mStatus & 0x40000000) || (mStatus & 0x1000) || (mStatus & 0x100000) ||
|
||||
(mStatus & 0x80000000) || daPy_getPlayerActorClass()->i_getSumouMode() ||
|
||||
(daPy_getPlayerActorClass()->checkCanoeSlider() &&
|
||||
(dComIfG_getTimerMode() == 3 || dComIfG_getTimerMode() == 4)) ||
|
||||
(mStatus & 0x100) || (mStatus & 8) || (mStatus & 0x10) ||
|
||||
(mStatus & 0x1000000) | (mStatus & 0x20) || (mStatus & 0x4000000) ||
|
||||
(mStatus & 0x8000000) || (mStatus & 0x10000000) || dMeter2Info_isSub2DStatus(1))
|
||||
{
|
||||
mpMeterDraw->setAlphaKeyAnimeMin();
|
||||
} else {
|
||||
mpMeterDraw->setAlphaKeyAnimeMax();
|
||||
}
|
||||
|
||||
mpMeterDraw->setAlphaKeyChange(false);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -3115,6 +3127,7 @@ asm void dMeter2_c::alphaAnimeKey() {
|
||||
#include "asm/d/meter/d_meter2/alphaAnimeKey__9dMeter2_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 802250F4-802254C0 21FA34 03CC+00 1/1 0/0 0/0 .text alphaAnimeButton__9dMeter2_cFv */
|
||||
void dMeter2_c::alphaAnimeButton() {
|
||||
@@ -3287,7 +3300,7 @@ void dMeter2_c::killSubContents(u8 param_0) {
|
||||
}
|
||||
|
||||
/* 80225960-802259F8 2202A0 0098+00 1/1 0/0 0/0 .text isKeyVisible__9dMeter2_cFv */
|
||||
BOOL dMeter2_c::isKeyVisible() {
|
||||
u8 dMeter2_c::isKeyVisible() {
|
||||
if (dStage_stagInfo_ChkKeyDisp(i_dComIfGp_getStage()->getStagInfo())) {
|
||||
if (dStage_stagInfo_GetSTType(i_dComIfGp_getStage()->getStagInfo()) == ST_FIELD) {
|
||||
return dComIfGs_getKeyNum() != 0;
|
||||
|
||||
Reference in New Issue
Block a user