summaryrefslogtreecommitdiff
path: root/src/d/meter/d_meter_string.cpp
diff options
context:
space:
mode:
authorTakaRikka <38417346+TakaRikka@users.noreply.github.com>2024-01-03 06:12:17 -0800
committerGitHub <noreply@github.com>2024-01-03 16:12:17 +0200
commit2e15998e7ac105f2e9977cb5a0d5c3a0111cad89 (patch)
tree4bd95fa8988b4c11507de5ad45970a18556d34e5 /src/d/meter/d_meter_string.cpp
parentf5bf24c77e75a1263cea511ccb881ef6c9c2ad03 (diff)
d_meter_string done (#2023)
* d_meter_string done * remove asm * some other d_meter fixes
Diffstat (limited to 'src/d/meter/d_meter_string.cpp')
-rw-r--r--src/d/meter/d_meter_string.cpp514
1 files changed, 233 insertions, 281 deletions
diff --git a/src/d/meter/d_meter_string.cpp b/src/d/meter/d_meter_string.cpp
index d6d1077126..5da94a0b02 100644
--- a/src/d/meter/d_meter_string.cpp
+++ b/src/d/meter/d_meter_string.cpp
@@ -1,315 +1,267 @@
-//
-// Generated By: dol2asm
-// Translation Unit: d/meter/d_meter_string
-//
+/**
+ * d_meter_string.cpp
+ * UI Mini-Game Text
+ */
#include "d/meter/d_meter_string.h"
-#include "dol2asm.h"
-
-//
-// Types:
-//
-
-struct dMeterSub_c {
- /* 80194138 */ bool isDead();
-};
-
-struct dMeterString_c {
- /* 8020ED60 */ dMeterString_c(int);
- /* 8020EDF4 */ ~dMeterString_c();
- /* 8020EE70 */ void _create();
- /* 8020F150 */ void _execute(u32);
- /* 8020F1B0 */ void draw();
- /* 8020F49C */ void _delete();
- /* 8020F5A4 */ void createString(int);
- /* 8020F66C */ void playBckAnimation(f32);
- /* 8020F6EC */ void drawPikari();
- /* 8020FA88 */ void isLeadByte(int);
-};
-
-struct JMSMesgEntry_c {};
-
-struct dMeter2Info_c {
- /* 8021C250 */ void getString(u32, char*, JMSMesgEntry_c*);
- /* 8021CC00 */ void resetMeterString();
-};
-
-struct JUtility {
- struct TColor {};
-};
-
-struct dMeter2Draw_c {
- /* 802140DC */ void drawPikari(f32, f32, f32*, f32, JUtility::TColor, JUtility::TColor,
- JUtility::TColor, JUtility::TColor, f32, u8);
-};
-
-struct JKRFileLoader {
- /* 802D4270 */ void getGlbResource(char const*, JKRFileLoader*);
-};
-
-struct JKRExpHeap {};
-
-struct JKRArchive {};
-
-struct J2DTextBox {
- /* 80300658 */ void getStringPtr() const;
- /* 8030074C */ void setString(s16, char const*, ...);
-};
-
-struct J2DGrafContext {};
-
-struct J2DScreen {
- /* 802F8498 */ J2DScreen();
- /* 802F8648 */ void setPriority(char const*, u32, JKRArchive*);
- /* 802F8ED4 */ void draw(f32, f32, J2DGrafContext const*);
-};
-
-struct J2DPane {
- /* 802F7AFC */ void getParentPane();
- /* 802F7FCC */ void animationTransform();
-};
-
-struct J2DAnmLoaderDataBase {
- /* 80308A6C */ void load(void const*);
-};
-
-struct CPaneMgrAlpha {
- /* 802557D0 */ void setAlphaRate(f32);
-};
-
-struct CPaneMgr {
- /* 80253984 */ CPaneMgr(J2DScreen*, u64, u8, JKRExpHeap*);
- /* 802545B0 */ void paneTrans(f32, f32);
- /* 80254EBC */ void getGlobalVtxCenter(J2DPane*, bool, s16);
-};
-
-//
-// Forward References:
-//
-
-extern "C" void __ct__14dMeterString_cFi();
-extern "C" void __dt__14dMeterString_cFv();
-extern "C" void _create__14dMeterString_cFv();
-extern "C" void _execute__14dMeterString_cFUl();
-extern "C" void draw__14dMeterString_cFv();
-extern "C" void _delete__14dMeterString_cFv();
-extern "C" void createString__14dMeterString_cFi();
-extern "C" void playBckAnimation__14dMeterString_cFf();
-extern "C" void drawPikari__14dMeterString_cFv();
-extern "C" void isLeadByte__14dMeterString_cFi();
-extern "C" extern char const* const d_meter_d_meter_string__stringBase0;
-
-//
-// External References:
-//
-
-extern "C" void mDoExt_getMesgFont__Fv();
-extern "C" void dComIfG_TimerDeleteRequest__Fi();
-extern "C" bool isDead__11dMeterSub_cFv();
-extern "C" void
-drawPikari__13dMeter2Draw_cFffPffQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorfUc();
-extern "C" void getString__13dMeter2Info_cFUlPcP14JMSMesgEntry_c();
-extern "C" void resetMeterString__13dMeter2Info_cFv();
-extern "C" void __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap();
-extern "C" void paneTrans__8CPaneMgrFff();
-extern "C" void getGlobalVtxCenter__8CPaneMgrFP7J2DPanebs();
-extern "C" void dPaneClass_showNullPane__FP9J2DScreen();
-extern "C" void setAlphaRate__13CPaneMgrAlphaFf();
-extern "C" void dTimer_createTimer__FlUlUcUcffff();
-extern "C" void* __nw__FUl();
-extern "C" void __dl__FPv();
-extern "C" void getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader();
-extern "C" void getParentPane__7J2DPaneFv();
-extern "C" void animationTransform__7J2DPaneFv();
-extern "C" void __ct__9J2DScreenFv();
-extern "C" void setPriority__9J2DScreenFPCcUlP10JKRArchive();
-extern "C" void draw__9J2DScreenFffPC14J2DGrafContext();
-extern "C" void getStringPtr__10J2DTextBoxCFv();
-extern "C" void setString__10J2DTextBoxFsPCce();
-extern "C" void load__20J2DAnmLoaderDataBaseFPCv();
-extern "C" void _savegpr_23();
-extern "C" void _restgpr_23();
-extern "C" void strcpy();
-extern "C" extern void* __vt__12dDlst_base_c[3];
-extern "C" extern void* __vt__11dMeterSub_c[8 + 3 /* padding */];
-extern "C" extern u8 g_dComIfG_gameInfo[122384];
-extern "C" extern u8 g_drawHIO[3880];
-extern "C" extern u8 g_meter2_info[248];
-
-//
-// Declarations:
-//
-
-/* ############################################################################################## */
-/* 803BF308-803BF328 01C428 0020+00 2/2 0/0 0/0 .data __vt__14dMeterString_c */
-SECTION_DATA extern void* __vt__14dMeterString_c[8] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)draw__14dMeterString_cFv,
- (void*)__dt__14dMeterString_cFv,
- (void*)_create__14dMeterString_cFv,
- (void*)_execute__14dMeterString_cFUl,
- (void*)_delete__14dMeterString_cFv,
- (void*)isDead__11dMeterSub_cFv,
-};
+#include "JSystem/J2DGraph/J2DAnmLoader.h"
+#include "JSystem/J2DGraph/J2DGrafContext.h"
+#include "JSystem/J2DGraph/J2DScreen.h"
+#include "JSystem/J2DGraph/J2DTextBox.h"
+#include "JSystem/JUtility/JUTFont.h"
+#include "d/com/d_com_inf_game.h"
+#include "d/d_timer.h"
+#include "d/meter/d_meter2_draw.h"
+#include "d/meter/d_meter2_info.h"
+#include "d/meter/d_meter_HIO.h"
+#include "d/pane/d_pane_class.h"
/* 8020ED60-8020EDF4 2096A0 0094+00 0/0 1/1 0/0 .text __ct__14dMeterString_cFi */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm dMeterString_c::dMeterString_c(int param_0) {
- nofralloc
-#include "asm/d/meter/d_meter_string/__ct__14dMeterString_cFi.s"
+dMeterString_c::dMeterString_c(int i_stringID) {
+ mpMapArchive = dComIfGp_getAllMapArchive();
+ field_0x28 = 0;
+ mStringID = i_stringID;
+
+ _create();
+ if (mpMapArchive != NULL) {
+ createString(mStringID);
+ }
}
-#pragma pop
/* 8020EDF4-8020EE70 209734 007C+00 1/0 0/0 0/0 .text __dt__14dMeterString_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm dMeterString_c::~dMeterString_c() {
- nofralloc
-#include "asm/d/meter/d_meter_string/__dt__14dMeterString_cFv.s"
+dMeterString_c::~dMeterString_c() {
+ _delete();
}
-#pragma pop
-
-/* ############################################################################################## */
-/* 80398210-80398210 024870 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80398210 = "zelda_game_image_cow_get_in.blo";
-SECTION_DEAD static char const* const stringBase_80398230 = "zelda_game_image_cow_get_in.bck";
-SECTION_DEAD static char const* const stringBase_80398250 = "";
-/* @stringBase0 padding */
-SECTION_DEAD static char const* const pad_80398251 = "\0\0\0\0\0\0";
-#pragma pop
-
-/* 80454848-8045484C 002E48 0004+00 1/1 0/0 0/0 .sdata2 @3758 */
-SECTION_SDATA2 static f32 lit_3758 = 210.0f;
-
-/* 8045484C-80454850 002E4C 0004+00 1/1 0/0 0/0 .sdata2 @3759 */
-SECTION_SDATA2 static f32 lit_3759 = 410.0f;
-
-/* 80454850-80454854 002E50 0004+00 1/1 0/0 0/0 .sdata2 @3760 */
-SECTION_SDATA2 static f32 lit_3760 = 32.0f;
-
-/* 80454854-80454858 002E54 0004+00 1/1 0/0 0/0 .sdata2 @3761 */
-SECTION_SDATA2 static f32 lit_3761 = 419.0f;
-
-/* 80454858-8045485C 002E58 0004+00 3/3 0/0 0/0 .sdata2 @3762 */
-SECTION_SDATA2 static u8 lit_3762[4] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
-};
/* 8020EE70-8020F150 2097B0 02E0+00 1/0 0/0 0/0 .text _create__14dMeterString_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dMeterString_c::_create() {
- nofralloc
-#include "asm/d/meter/d_meter_string/_create__14dMeterString_cFv.s"
+int dMeterString_c::_create() {
+ if (mpMapArchive == NULL) {
+ if (field_0x28 == 0) {
+ dTimer_createTimer(9, 0x989298, 0, 0, 210.0f, 410.0f, 32.0f, 419.0f);
+ field_0x28 = 1;
+ }
+
+ if (dComIfGp_getAllMapArchive() == NULL) {
+ return cPhs_ERROR_e;
+ }
+
+ mpMapArchive = dComIfGp_getAllMapArchive();
+ }
+
+ mpScreen = new J2DScreen();
+ JUT_ASSERT(mpScreen != 0);
+
+ bool fg = mpScreen->setPriority("zelda_game_image_cow_get_in.blo", 0x20000, mpMapArchive);
+ JUT_ASSERT(fg != false);
+ dPaneClass_showNullPane(mpScreen);
+
+ i_OSInitFastCast();
+ mpGetInBck = (J2DAnmTransformKey*)J2DAnmLoaderDataBase::load(
+ JKRGetNameResource("zelda_game_image_cow_get_in.bck", mpMapArchive));
+
+ mpParentPane = new CPaneMgr(mpScreen, 'get_in_n', 2, NULL);
+ JUT_ASSERT(mpParentPane != 0);
+
+ mpRootPane = new CPaneMgr(mpScreen, 'n_all', 0, NULL);
+ JUT_ASSERT(mpRootPane != 0);
+
+ mpTextPane = new CPaneMgr(mpScreen, 'get_in', 0, NULL);
+ JUT_ASSERT(mpTextPane != 0);
+
+ static_cast<J2DTextBox*>(mpScreen->search('get_in_s'))->setFont(mDoExt_getMesgFont());
+ static_cast<J2DTextBox*>(mpScreen->search('get_in'))->setFont(mDoExt_getMesgFont());
+ static_cast<J2DTextBox*>(mpScreen->search('get_in_s'))->setString(0x100, "");
+ static_cast<J2DTextBox*>(mpScreen->search('get_in'))->setString(0x100, "");
+
+ mAnimFrame = 0.0f;
+ mPikariAnimFrame = 0.0f;
+ mOffsetX = 0;
+ mOffsetY = 0;
+ mStringID2 = 0;
+ field_0x3c = 0xFF;
+ playBckAnimation(0.0f);
+ return cPhs_COMPLEATE_e;
}
-#pragma pop
/* 8020F150-8020F1B0 209A90 0060+00 1/0 0/0 0/0 .text _execute__14dMeterString_cFUl */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dMeterString_c::_execute(u32 param_0) {
- nofralloc
-#include "asm/d/meter/d_meter_string/_execute__14dMeterString_cFUl.s"
+int dMeterString_c::_execute(u32 unused) {
+ if (mpMapArchive == NULL) {
+ _create();
+
+ if (mpMapArchive != NULL) {
+ createString(mStringID);
+ }
+ }
+
+ return 1;
}
-#pragma pop
-/* ############################################################################################## */
-/* 8045485C-80454860 002E5C 0004+00 1/1 0/0 0/0 .sdata2 @3819 */
-SECTION_SDATA2 static f32 lit_3819 = 60.0f;
+/* 8020F1B0-8020F49C 209AF0 02EC+00 1/0 0/0 0/0 .text draw__14dMeterString_cFv */
+void dMeterString_c::draw() {
+ if (mpMapArchive != NULL && !dComIfGp_isPauseFlag()) {
+ J2DGrafContext* graf_ctx = dComIfGp_getCurrentGrafPort();
+ graf_ctx->setup2D();
+
+ f32 var_f31 = (f32)g_drawHIO.mMiniGame.field_0x172 +
+ ((f32)g_drawHIO.mMiniGame.mReadyFightTextWaitFrames + 60.0f);
+ if (mAnimFrame > 0.0f && mAnimFrame < var_f31) {
+ f32 var_f30 = 1.0f;
+
+ if (mAnimFrame < 60.0f) {
+ mAnimFrame += g_drawHIO.mMiniGame.mReadyFightTextAnimSpeed;
+ if (mAnimFrame > 60.0f) {
+ mAnimFrame = 60.0f;
+ }
+
+ playBckAnimation(mAnimFrame);
+ } else if (mAnimFrame < (f32)g_drawHIO.mMiniGame.mReadyFightTextWaitFrames + 60.0f) {
+ mAnimFrame += var_f30;
+ } else if (mAnimFrame < var_f31) {
+ mAnimFrame += var_f30;
+ var_f30 = acc(g_drawHIO.mMiniGame.field_0x172, var_f31 - mAnimFrame, 0);
+ }
+
+ mpParentPane->setAlphaRate(var_f30);
+ mpRootPane->paneTrans(mOffsetX + g_drawHIO.mMiniGame.mReadyFightTextPosX,
+ mOffsetY + g_drawHIO.mMiniGame.mReadyFightTextPosY);
+ mpRootPane->scale(g_drawHIO.mMiniGame.mReadyFightTextSizeX,
+ g_drawHIO.mMiniGame.mReadyFightTextSizeY);
+ mpScreen->draw(0.0f, 0.0f, graf_ctx);
+
+ if (mPikariAnimFrame > 0.0f) {
+ drawPikari();
+ } else if (mPikariAnimFrame == -1.0f &&
+ mAnimFrame > g_drawHIO.mMiniGame.mReadyFightHighlightAppearFrames)
+ {
+ mPikariAnimFrame = 18.0f - g_drawHIO.mMiniGame.mReadyFightHighlightAnimSpeed;
+ }
+
+ if (mAnimFrame >= var_f31) {
+ dMeter2Info_resetMeterString();
+ }
+ }
+ }
+}
-/* 80454860-80454864 002E60 0004+00 2/2 0/0 0/0 .sdata2 @3820 */
-SECTION_SDATA2 static f32 lit_3820 = 1.0f;
+/* 8020F49C-8020F5A4 209DDC 0108+00 1/0 0/0 0/0 .text _delete__14dMeterString_cFv */
+int dMeterString_c::_delete() {
+ delete mpScreen;
+ mpScreen = NULL;
-/* 80454864-80454868 002E64 0004+00 2/2 0/0 0/0 .sdata2 @3821 */
-SECTION_SDATA2 static f32 lit_3821 = -1.0f;
+ delete mpGetInBck;
+ mpGetInBck = NULL;
-/* 80454868-80454870 002E68 0004+04 1/1 0/0 0/0 .sdata2 @3822 */
-SECTION_SDATA2 static f32 lit_3822[1 + 1 /* padding */] = {
- 18.0f,
- /* padding */
- 0.0f,
-};
+ delete mpParentPane;
+ mpParentPane = NULL;
-/* 80454870-80454878 002E70 0008+00 2/2 0/0 0/0 .sdata2 @3824 */
-SECTION_SDATA2 static f64 lit_3824 = 4503601774854144.0 /* cast s32 to float */;
+ delete mpRootPane;
+ mpRootPane = NULL;
-/* 8020F1B0-8020F49C 209AF0 02EC+00 1/0 0/0 0/0 .text draw__14dMeterString_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dMeterString_c::draw() {
- nofralloc
-#include "asm/d/meter/d_meter_string/draw__14dMeterString_cFv.s"
-}
-#pragma pop
+ delete mpTextPane;
+ mpTextPane = NULL;
-/* 8020F49C-8020F5A4 209DDC 0108+00 1/0 0/0 0/0 .text _delete__14dMeterString_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dMeterString_c::_delete() {
- nofralloc
-#include "asm/d/meter/d_meter_string/_delete__14dMeterString_cFv.s"
-}
-#pragma pop
+ if (field_0x28 != 0) {
+ dComIfG_TimerDeleteRequest(9);
+ }
-/* ############################################################################################## */
-/* 80454878-8045487C 002E78 0004+00 1/1 0/0 0/0 .sdata2 @3866 */
-SECTION_SDATA2 static f32 lit_3866 = 40.0f;
+ return 1;
+}
/* 8020F5A4-8020F66C 209EE4 00C8+00 2/2 1/1 0/0 .text createString__14dMeterString_cFi */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dMeterString_c::createString(int param_0) {
- nofralloc
-#include "asm/d/meter/d_meter_string/createString__14dMeterString_cFi.s"
+int dMeterString_c::createString(int i_stringID) {
+ char str_buf[32];
+ dMeter2Info_getString(i_stringID, str_buf, NULL);
+ strcpy(static_cast<J2DTextBox*>(mpScreen->search('get_in_s'))->getStringPtr(), str_buf);
+ strcpy(static_cast<J2DTextBox*>(mpScreen->search('get_in'))->getStringPtr(), str_buf);
+
+ mAnimFrame = 40.0f;
+ mPikariAnimFrame = -1.0f;
+ mOffsetX = 0;
+ mOffsetY = 0;
+ mStringID2 = i_stringID;
+ return 1;
}
-#pragma pop
/* 8020F66C-8020F6EC 209FAC 0080+00 2/2 0/0 0/0 .text playBckAnimation__14dMeterString_cFf */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dMeterString_c::playBckAnimation(f32 param_0) {
- nofralloc
-#include "asm/d/meter/d_meter_string/playBckAnimation__14dMeterString_cFf.s"
+void dMeterString_c::playBckAnimation(f32 i_frame) {
+ mpParentPane->getPanePtr()->setAnimation(mpGetInBck);
+ mpGetInBck->setFrame(i_frame);
+ mpParentPane->getPanePtr()->animationTransform();
+ mpParentPane->getPanePtr()->setAnimation((J2DAnmTransform*)NULL);
}
-#pragma pop
-
-/* ############################################################################################## */
-/* 8045487C-80454880 002E7C 0004+00 1/1 0/0 0/0 .sdata2 @3979 */
-SECTION_SDATA2 static f32 lit_3979 = 0.5f;
/* 8020F6EC-8020FA88 20A02C 039C+00 1/1 0/0 0/0 .text drawPikari__14dMeterString_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dMeterString_c::drawPikari() {
- nofralloc
-#include "asm/d/meter/d_meter_string/drawPikari__14dMeterString_cFv.s"
+void dMeterString_c::drawPikari() {
+ f32 anim_frame = mPikariAnimFrame;
+ Vec center = mpTextPane->getGlobalVtxCenter(false, 0);
+ char* string = static_cast<J2DTextBox*>(mpTextPane->getPanePtr())->getStringPtr();
+
+ s16 str_idx = 0;
+ f32 var_f25 = 0.0f;
+ f32 var_f29 = 0.0f;
+ J2DTextBox::TFontSize font_size;
+ static_cast<J2DTextBox*>(mpTextPane->getPanePtr())->getFontSize(font_size);
+ JUTFont* font_p = mDoExt_getMesgFont();
+
+ f32 var_f28 = 1.0f;
+ for (J2DPane* pane = mpTextPane->getPanePtr(); pane != NULL; pane = pane->getParentPane()) {
+ var_f28 *= pane->getScaleX();
+ }
+
+ for (; string[str_idx] != 0; str_idx++) {
+ int c = string[str_idx] & 0xFF;
+ if (str_idx > 0) {
+ var_f25 += var_f28 * static_cast<J2DTextBox*>(mpTextPane->getPanePtr())->getCharSpace();
+ }
+
+ if (isLeadByte(c)) {
+ c = ((string[str_idx] & 0xFF) << 8) | (string[str_idx + 1] & 0xFF);
+ str_idx++;
+ } else {
+ c = string[str_idx] & 0xFF;
+ }
+
+ var_f25 +=
+ var_f28 * (font_size.mSizeX * ((f32)font_p->getWidth(c) / (f32)font_p->getCellWidth()));
+ }
+
+ var_f25 = center.x - (var_f25 / 2);
+ f32 frame;
+
+ for (str_idx = 0; string[str_idx] != 0; str_idx++) {
+ frame = anim_frame;
+ int c = string[str_idx] & 0xFF;
+ if (str_idx > 0) {
+ var_f29 += var_f28 * static_cast<J2DTextBox*>(mpTextPane->getPanePtr())->getCharSpace();
+ }
+
+ if (isLeadByte(c)) {
+ c = ((string[str_idx] & 0xFF) << 8) | (string[str_idx + 1] & 0xFF);
+ str_idx++;
+ } else {
+ c = string[str_idx] & 0xFF;
+ }
+
+ f32 temp_f24 =
+ var_f28 * (font_size.mSizeX * ((f32)font_p->getWidth(c) / (f32)font_p->getCellWidth()));
+ if (c != 0x20 && c != 0x8140) {
+ dMeter2Info_getMeterClass()->getMeterDrawPtr()->drawPikari(
+ (temp_f24 / 2) + (var_f25 + var_f29), center.y, &frame,
+ g_drawHIO.mMiniGame.mReadyFightHighlightScale,
+ g_drawHIO.mMiniGame.mReadyFightHighlightFrontOuter,
+ g_drawHIO.mMiniGame.mReadyFightHighlightFrontInner,
+ g_drawHIO.mMiniGame.mReadyFightHighlightBackOuter,
+ g_drawHIO.mMiniGame.mReadyFightHighlightBackInner,
+ g_drawHIO.mMiniGame.mReadyFightHighlightAnimSpeed, 0);
+ }
+
+ var_f29 += temp_f24;
+ }
+
+ mPikariAnimFrame = frame;
}
-#pragma pop
/* 8020FA88-8020FAB4 20A3C8 002C+00 1/1 0/0 0/0 .text isLeadByte__14dMeterString_cFi */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dMeterString_c::isLeadByte(int param_0) {
- nofralloc
-#include "asm/d/meter/d_meter_string/isLeadByte__14dMeterString_cFi.s"
+bool dMeterString_c::isLeadByte(int c) {
+ return (c >= 0x81 && c <= 0x9F) || (c >= 0xE0 && c <= 0xFC);
}
-#pragma pop
-
-/* 80398210-80398210 024870 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */