mirror of
https://github.com/zeldaret/ss
synced 2026-05-29 08:42:57 -04:00
d_lyt_meter_rupy OK
This commit is contained in:
+26
-26
@@ -31673,31 +31673,31 @@ __vt__38sFStateID_c<23dLytMeterDowsingInput_c> = .data:0x8051898C; // type:objec
|
||||
__vt__38sFStateID_c<23dLytMeterDowsingBlink_c> = .data:0x805189C0; // type:object size:0x34
|
||||
__vt__41sFStateID_c<26dLytMeterDowsingMenuIcon_c> = .data:0x805189F4; // type:object size:0x34
|
||||
__vt__33sFStateID_c<18dLytMeterDowsing_c> = .data:0x80518A28; // type:object size:0x34
|
||||
lbl_80518A60 = .data:0x80518A60; // type:object size:0x14
|
||||
lbl_80518A74 = .data:0x80518A74; // type:object size:0xC
|
||||
lbl_80518A80 = .data:0x80518A80; // type:object size:0x1C
|
||||
lbl_80518A9C = .data:0x80518A9C; // type:object size:0x10
|
||||
lbl_80518AAC = .data:0x80518AAC; // type:object size:0x14
|
||||
lbl_80518AC0 = .data:0x80518AC0; // type:object size:0xC
|
||||
lbl_80518A60 = .data:0x80518A60; // type:object size:0x11 data:string
|
||||
lbl_80518A74 = .data:0x80518A74; // type:object size:0xB data:string
|
||||
lbl_80518A80 = .data:0x80518A80; // type:object size:0x19 data:string
|
||||
lbl_80518A9C = .data:0x80518A9C; // type:object size:0xD data:string
|
||||
lbl_80518AAC = .data:0x80518AAC; // type:object size:0x13 data:string
|
||||
lbl_80518AC0 = .data:0x80518AC0; // type:object size:0xA data:string
|
||||
lbl_80518ACC = .data:0x80518ACC; // type:object size:0x14 data:string
|
||||
lbl_80518AE0 = .data:0x80518AE0; // type:object size:0xC
|
||||
lbl_80518AEC = .data:0x80518AEC; // type:object size:0x18
|
||||
lbl_80518AE0 = .data:0x80518AE0; // type:object size:0xB data:string
|
||||
lbl_80518AEC = .data:0x80518AEC; // type:object size:0x15 data:string
|
||||
lbl_80518B04 = .data:0x80518B04; // type:object size:0xC data:string
|
||||
lbl_80518B10 = .data:0x80518B10; // type:object size:0xC data:string
|
||||
lbl_80518B1C = .data:0x80518B1C; // type:object size:0xC data:string
|
||||
lbl_80518B28 = .data:0x80518B28; // type:object size:0xC data:string
|
||||
lbl_80518B34 = .data:0x80518B34; // type:object size:0x14
|
||||
lbl_80518B48 = .data:0x80518B48; // type:object size:0xC
|
||||
lbl_80518B54 = .data:0x80518B54; // type:object size:0x1C
|
||||
lbl_80518B70 = .data:0x80518B70; // type:object size:0x14
|
||||
lbl_80518B34 = .data:0x80518B34; // type:object size:0x13 data:string
|
||||
lbl_80518B48 = .data:0x80518B48; // type:object size:0xA data:string
|
||||
lbl_80518B54 = .data:0x80518B54; // type:object size:0x1A data:string
|
||||
lbl_80518B70 = .data:0x80518B70; // type:object size:0x13 data:string
|
||||
lbl_80518B84 = .data:0x80518B84; // type:object size:0x14 data:string
|
||||
lbl_80518B98 = .data:0x80518B98; // type:object size:0x14
|
||||
lbl_80518BAC = .data:0x80518BAC; // type:object size:0xC
|
||||
lbl_80518BB8 = .data:0x80518BB8; // type:object size:0xC
|
||||
lbl_80518BC4 = .data:0x80518BC4; // type:object size:0xC
|
||||
lbl_80518BD0 = .data:0x80518BD0; // type:object size:0x10
|
||||
lbl_80518B98 = .data:0x80518B98; // type:object size:0x12 data:string
|
||||
lbl_80518BAC = .data:0x80518BAC; // type:object size:0xB data:string
|
||||
lbl_80518BB8 = .data:0x80518BB8; // type:object size:0xB data:string
|
||||
lbl_80518BC4 = .data:0x80518BC4; // type:object size:0xB data:string
|
||||
lbl_80518BD0 = .data:0x80518BD0; // type:object size:0xB data:string
|
||||
lbl_80518BE0 = .data:0x80518BE0; // type:object size:0x10 data:4byte
|
||||
lbl_80518BF0 = .data:0x80518BF0; // type:object size:0x10
|
||||
lbl_80518BF0 = .data:0x80518BF0; // type:object size:0xE data:string
|
||||
__vt__15dLytMeterRupy_c = .data:0x80518C00; // type:object size:0x34
|
||||
__vt__30sFStateID_c<15dLytMeterRupy_c> = .data:0x80518E60; // type:object size:0x34
|
||||
__vt__35sFStateID_c<20dLytMeterRupyBlink_c> = .data:0x80518E94; // type:object size:0x34
|
||||
@@ -48762,14 +48762,14 @@ LytMeterDowsing__STATE_TO_USE = .bss:0x805AC420; // type:object size:0x30 data:4
|
||||
LytMeterDowsing__STATE_UNUSE = .bss:0x805AC4A0; // type:object size:0x30 data:4byte
|
||||
LytMeterDowsing__STATE_DEMO_MOVE = .bss:0x805AC4E0; // type:object size:0x30 data:4byte
|
||||
LytMeterDowsing__STATE_DEMO_OUT = .bss:0x805AC520; // type:object size:0x30 data:4byte
|
||||
lbl_805AC550 = .bss:0x805AC550; // type:object size:0x10
|
||||
LytMeterRupyStart__STATE_WAIT = .bss:0x805AC560; // type:object size:0x40 data:4byte
|
||||
LytMeterRupyStart__STATE_START = .bss:0x805AC5A0; // type:object size:0x40 data:4byte
|
||||
LytMeterRupyBlink__WAIT = .bss:0x805AC5E0; // type:object size:0x40 data:4byte
|
||||
LytMeterRupyBlink__STATE_FLASH = .bss:0x805AC620; // type:object size:0x40 data:4byte
|
||||
LytMeterRupy__STATE_IN = .bss:0x805AC660; // type:object size:0x40 data:4byte
|
||||
LytMeterRupy__STATE_ACTIVE = .bss:0x805AC6A0; // type:object size:0x40 data:4byte
|
||||
LytMeterRupy__STATE_START = .bss:0x805AC6E0; // type:object size:0x40 data:4byte
|
||||
lbl_805AC550 = .bss:0x805AC550; // type:object size:0xC
|
||||
LytMeterRupyStart__STATE_WAIT = .bss:0x805AC560; // type:object size:0x30 data:4byte
|
||||
LytMeterRupyStart__STATE_START = .bss:0x805AC5A0; // type:object size:0x30 data:4byte
|
||||
LytMeterRupyBlink__WAIT = .bss:0x805AC5E0; // type:object size:0x30 data:4byte
|
||||
LytMeterRupyBlink__STATE_FLASH = .bss:0x805AC620; // type:object size:0x30 data:4byte
|
||||
LytMeterRupy__STATE_IN = .bss:0x805AC660; // type:object size:0x30 data:4byte
|
||||
LytMeterRupy__STATE_ACTIVE = .bss:0x805AC6A0; // type:object size:0x30 data:4byte
|
||||
LytMeterRupy__STATE_START = .bss:0x805AC6E0; // type:object size:0x30 data:4byte
|
||||
LytMeterRupy__STATE_OUT = .bss:0x805AC720; // type:object size:0x30 data:4byte
|
||||
lbl_805AC750 = .bss:0x805AC750; // type:object size:0x10
|
||||
LytMeterGanbariGauge__STATE_INVISIBLE_WAIT = .bss:0x805AC760; // type:object size:0x80 data:4byte
|
||||
|
||||
+1
-1
@@ -398,7 +398,7 @@ config.libs = [
|
||||
Object(Matching, "d/lyt/meter/d_lyt_meter_minus_btn.cpp"),
|
||||
Object(Matching, "d/lyt/meter/d_lyt_meter_cross_btn.cpp"),
|
||||
Object(Matching, "d/lyt/meter/d_lyt_meter_dowsing.cpp"),
|
||||
Object(NonMatching, "d/lyt/meter/d_lyt_meter_rupy.cpp"),
|
||||
Object(Matching, "d/lyt/meter/d_lyt_meter_rupy.cpp"),
|
||||
Object(NonMatching, "d/lyt/meter/d_lyt_meter_ganbari_gauge.cpp"),
|
||||
Object(NonMatching, "d/lyt/meter/d_lyt_meter_event_skip.cpp"),
|
||||
Object(NonMatching, "d/lyt/meter/d_lyt_meter_timer.cpp"),
|
||||
|
||||
@@ -12,6 +12,23 @@ public:
|
||||
return sInstance;
|
||||
}
|
||||
|
||||
s32 getField_0x1D8() const {
|
||||
return field_0x1D8;
|
||||
}
|
||||
|
||||
s32 getField_0x1DC() const {
|
||||
return field_0x1DC;
|
||||
}
|
||||
|
||||
s32 getField_0x1E0() const {
|
||||
return field_0x1E0;
|
||||
}
|
||||
|
||||
s32 getField_0x1E4() const {
|
||||
return field_0x1E4;
|
||||
}
|
||||
|
||||
|
||||
static dLytMeterConfiguration_c *sInstance;
|
||||
|
||||
/* 0x004 */ u8 field_0x004;
|
||||
|
||||
@@ -407,7 +407,6 @@ void dLytMeterRupy_c::setDigit(s32 index, s32 digit) {
|
||||
}
|
||||
|
||||
bool dLytMeterRupy_c::updateDisplayedAmount(bool suppressSound) {
|
||||
// NONMATCHING - regswaps
|
||||
s32 amount = getRupeeCounter2();
|
||||
if (amount > 9999) {
|
||||
amount = 9999;
|
||||
@@ -419,10 +418,10 @@ bool dLytMeterRupy_c::updateDisplayedAmount(bool suppressSound) {
|
||||
if (amount != mDisplayedRupeeCount || suppressSound) {
|
||||
bool b = false;
|
||||
if (amount < mDisplayedRupeeCount) {
|
||||
if (mDisplayedRupeeCount - amount >= dLytMeterConfiguration_c::GetInstance()->field_0x1DC) {
|
||||
newNumDisplayed = mDisplayedRupeeCount - dLytMeterConfiguration_c::GetInstance()->field_0x1E4;
|
||||
} else if (mDisplayedRupeeCount - amount >= dLytMeterConfiguration_c::GetInstance()->field_0x1D8) {
|
||||
newNumDisplayed = mDisplayedRupeeCount - dLytMeterConfiguration_c::GetInstance()->field_0x1E0;
|
||||
if (mDisplayedRupeeCount - amount >= dLytMeterConfiguration_c::sInstance->getField_0x1DC()) {
|
||||
newNumDisplayed = mDisplayedRupeeCount - dLytMeterConfiguration_c::sInstance->getField_0x1E4();
|
||||
} else if (mDisplayedRupeeCount - amount >= dLytMeterConfiguration_c::sInstance->getField_0x1D8()) {
|
||||
newNumDisplayed = mDisplayedRupeeCount - dLytMeterConfiguration_c::sInstance->getField_0x1E0();
|
||||
} else {
|
||||
newNumDisplayed = mDisplayedRupeeCount - 1;
|
||||
}
|
||||
@@ -438,10 +437,10 @@ bool dLytMeterRupy_c::updateDisplayedAmount(bool suppressSound) {
|
||||
field_0x8AD = 0;
|
||||
}
|
||||
} else if (amount > mDisplayedRupeeCount) {
|
||||
if (amount - mDisplayedRupeeCount >= dLytMeterConfiguration_c::GetInstance()->field_0x1DC) {
|
||||
newNumDisplayed = mDisplayedRupeeCount + dLytMeterConfiguration_c::GetInstance()->field_0x1E4;
|
||||
} else if (amount - mDisplayedRupeeCount >= dLytMeterConfiguration_c::GetInstance()->field_0x1D8) {
|
||||
newNumDisplayed = mDisplayedRupeeCount + dLytMeterConfiguration_c::GetInstance()->field_0x1E0;
|
||||
if (amount - mDisplayedRupeeCount >= dLytMeterConfiguration_c::sInstance->getField_0x1DC()) {
|
||||
newNumDisplayed = mDisplayedRupeeCount + dLytMeterConfiguration_c::sInstance->getField_0x1E4();
|
||||
} else if (amount - mDisplayedRupeeCount >= dLytMeterConfiguration_c::sInstance->getField_0x1D8()) {
|
||||
newNumDisplayed = mDisplayedRupeeCount + dLytMeterConfiguration_c::sInstance->getField_0x1E0();
|
||||
} else {
|
||||
newNumDisplayed = mDisplayedRupeeCount + 1;
|
||||
}
|
||||
@@ -464,20 +463,21 @@ bool dLytMeterRupy_c::updateDisplayedAmount(bool suppressSound) {
|
||||
newNumDisplayed = 0;
|
||||
}
|
||||
|
||||
// The primary problem appear to be the lines marked with "// x".
|
||||
|
||||
s32 newNumDigits = 0;
|
||||
if (newNumDisplayed >= 1000) {
|
||||
newNumDigits = 4;
|
||||
setDigit(0, newNumDisplayed / 1000);
|
||||
setDigit(1, (newNumDisplayed % 1000) / 100); // x
|
||||
setDigit(2, (newNumDisplayed % 100) / 10); // x
|
||||
setDigit(3, newNumDisplayed % 10);
|
||||
s32 rem = (newNumDisplayed % 1000);
|
||||
setDigit(1, rem / 100);
|
||||
rem = rem % 100;
|
||||
setDigit(2, rem / 10);
|
||||
setDigit(3, rem % 10);
|
||||
} else if (newNumDisplayed >= 100) {
|
||||
newNumDigits = 3;
|
||||
setDigit(0, newNumDisplayed / 100);
|
||||
setDigit(1, (newNumDisplayed % 100) / 10); // x
|
||||
setDigit(2, newNumDisplayed % 10);
|
||||
s32 rem = (newNumDisplayed % 100);
|
||||
setDigit(1, rem / 10); // x
|
||||
setDigit(2, rem % 10);
|
||||
} else if (newNumDisplayed >= 10) {
|
||||
newNumDigits = 2;
|
||||
setDigit(0, newNumDisplayed / 10);
|
||||
|
||||
Reference in New Issue
Block a user