kgate / d_meter_button / d_meter_haihai done, obj_ice_l wip (#2018)

* kgate OK, ice_l wip

* d_meter_button done

* remove asm

* d_meter_haihai done

* remove asm
This commit is contained in:
TakaRikka
2024-01-01 15:09:41 -08:00
committed by GitHub
parent fe92c18c83
commit dde6a466b1
208 changed files with 5206 additions and 19606 deletions
+38 -46
View File
@@ -9,7 +9,6 @@
#include "JSystem/JKernel/JKRHeap.h"
#include "JSystem/JKernel/JKRMemArchive.h"
#include "JSystem/JUtility/JUTGamePad.h"
#include "string.h"
#include "d/com/d_com_inf_game.h"
#include "d/d_lib.h"
#include "d/d_select_cursor.h"
@@ -19,6 +18,7 @@
#include "d/meter/d_meter2.h"
#include "d/meter/d_meter2_info.h"
#include "d/meter/d_meter_HIO.h"
#include "d/meter/d_meter_haihai.h"
#include "d/msg/d_msg_class.h"
#include "d/msg/d_msg_string.h"
#include "dol2asm.h"
@@ -27,6 +27,7 @@
#include "f_op/f_op_msg_mng.h"
#include "m_Do/m_Do_controller_pad.h"
#include "m_Do/m_Do_graphic.h"
#include "string.h"
//
// Forward References:
@@ -1144,9 +1145,10 @@ void dMenu_Option_c::_move() {
if (mDoCPd_c::getTrigB(PAD_1) != 0 && field_0x3ef != 3 && field_0x3f3 == 5 &&
field_0x3ef != 4 && field_0x3ef != 5 && field_0x3ef != 6 && field_0x3ef != 7)
{
if (field_0x3f4 == 5 && mDoCPd_c::getTrigStart(PAD_1) == 0 && mDoCPd_c::getTrigA(PAD_1) == 0 &&
mDoCPd_c::getTrigUp(PAD_1) == 0 && mDoCPd_c::getTrigDown(PAD_1) == 0 &&
mDoCPd_c::getTrigLeft(PAD_1) == 0 && mDoCPd_c::getTrigRight(PAD_1) == 0)
if (field_0x3f4 == 5 && mDoCPd_c::getTrigStart(PAD_1) == 0 &&
mDoCPd_c::getTrigA(PAD_1) == 0 && mDoCPd_c::getTrigUp(PAD_1) == 0 &&
mDoCPd_c::getTrigDown(PAD_1) == 0 && mDoCPd_c::getTrigLeft(PAD_1) == 0 &&
mDoCPd_c::getTrigRight(PAD_1) == 0)
{
field_0x3f7 = 0;
field_0x3f5 = field_0x3ef;
@@ -1486,8 +1488,7 @@ void dMenu_Option_c::atten_move() {
(this->*tv_process[field_0x3f3])();
} else if (downTrigger) {
field_0x3ef = 1;
Z2GetAudioMgr()->seStart(Z2SE_SY_CURSOR_OPTION, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f,
0);
Z2GetAudioMgr()->seStart(Z2SE_SY_CURSOR_OPTION, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
} else if (leftTrigger) {
if (field_0x3e4 == 0) {
field_0x3e4 = 1;
@@ -1498,8 +1499,7 @@ void dMenu_Option_c::atten_move() {
}
field_0x3ef = 3;
field_0x3f5 = 0;
Z2GetAudioMgr()->seStart(Z2SE_SY_OPTION_SWITCH, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f,
0);
Z2GetAudioMgr()->seStart(Z2SE_SY_OPTION_SWITCH, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
} else if (rightTrigger) {
if (field_0x3e4 == 0) {
field_0x3e4 = 1;
@@ -1510,8 +1510,7 @@ void dMenu_Option_c::atten_move() {
}
field_0x3ef = 3;
field_0x3f5 = 0;
Z2GetAudioMgr()->seStart(Z2SE_SY_OPTION_SWITCH, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f,
0);
Z2GetAudioMgr()->seStart(Z2SE_SY_OPTION_SWITCH, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
} else {
changeTVCheck();
}
@@ -1560,12 +1559,10 @@ void dMenu_Option_c::vib_move() {
(this->*tv_process[field_0x3f3])();
} else if (upTrigger) {
field_0x3ef = 0;
Z2GetAudioMgr()->seStart(Z2SE_SY_CURSOR_OPTION, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f,
0);
Z2GetAudioMgr()->seStart(Z2SE_SY_CURSOR_OPTION, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
} else if (downTrigger) {
field_0x3ef = 2;
Z2GetAudioMgr()->seStart(Z2SE_SY_CURSOR_OPTION, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f,
0);
Z2GetAudioMgr()->seStart(Z2SE_SY_CURSOR_OPTION, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
} else if (leftTrigger) {
if (isRumbleSupported()) {
if (field_0x3ea == 0) {
@@ -1578,8 +1575,8 @@ void dMenu_Option_c::vib_move() {
}
field_0x3ef = 3;
field_0x3f5 = 1;
Z2GetAudioMgr()->seStart(Z2SE_SY_OPTION_SWITCH, NULL, 0, 0, 1.0f, 1.0f, -1.0f,
-1.0f, 0);
Z2GetAudioMgr()->seStart(Z2SE_SY_OPTION_SWITCH, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f,
0);
}
} else if (rightTrigger) {
if (isRumbleSupported()) {
@@ -1593,8 +1590,8 @@ void dMenu_Option_c::vib_move() {
}
field_0x3ef = 3;
field_0x3f5 = 1;
Z2GetAudioMgr()->seStart(Z2SE_SY_OPTION_SWITCH, NULL, 0, 0, 1.0f, 1.0f, -1.0f,
-1.0f, 0);
Z2GetAudioMgr()->seStart(Z2SE_SY_OPTION_SWITCH, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f,
0);
}
} else {
changeTVCheck();
@@ -1644,8 +1641,7 @@ void dMenu_Option_c::sound_move() {
(this->*tv_process[field_0x3f3])();
} else if (upTrigger) {
field_0x3ef = 1;
Z2GetAudioMgr()->seStart(Z2SE_SY_CURSOR_OPTION, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f,
0);
Z2GetAudioMgr()->seStart(Z2SE_SY_CURSOR_OPTION, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
} else if (leftTrigger) {
if (field_0x3e9 == 2) {
field_0x3e9 = 0;
@@ -1655,24 +1651,23 @@ void dMenu_Option_c::sound_move() {
field_0x3da = -5;
switch (field_0x3e9) {
case 0:
Z2GetAudioMgr()->seStart(Z2SE_SY_SOUND_MODE_MONO, NULL, 0, 0, 1.0f, 1.0f, -1.0f,
-1.0f, 0);
Z2GetAudioMgr()->seStart(Z2SE_SY_SOUND_MODE_MONO, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f,
0);
break;
case 1:
Z2GetAudioMgr()->seStart(Z2SE_SY_SOUND_MODE_STEREO, NULL, 0, 0, 1.0f, 1.0f,
-1.0f, -1.0f, 0);
Z2GetAudioMgr()->seStart(Z2SE_SY_SOUND_MODE_STEREO, NULL, 0, 0, 1.0f, 1.0f, -1.0f,
-1.0f, 0);
break;
case 2:
Z2GetAudioMgr()->seStart(Z2SE_SY_SOUND_MODE_SURROUND, NULL, 0, 0, 1.0f, 1.0f,
-1.0f, -1.0f, 0);
Z2GetAudioMgr()->seStart(Z2SE_SY_SOUND_MODE_SURROUND, NULL, 0, 0, 1.0f, 1.0f, -1.0f,
-1.0f, 0);
break;
}
Z2AudioMgr::mAudioMgrPtr->setOutputMode(dMo_soundMode[field_0x3e9]);
setSoundMode(dMo_soundMode[field_0x3e9]);
field_0x3ef = 3;
field_0x3f5 = 2;
Z2GetAudioMgr()->seStart(Z2SE_SY_OPTION_SWITCH, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f,
0);
Z2GetAudioMgr()->seStart(Z2SE_SY_OPTION_SWITCH, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
} else if (rightTrigger) {
if (field_0x3e9 == 0) {
field_0x3e9 = 2;
@@ -1682,24 +1677,23 @@ void dMenu_Option_c::sound_move() {
field_0x3da = 5;
switch (field_0x3e9) {
case 0:
Z2GetAudioMgr()->seStart(Z2SE_SY_SOUND_MODE_MONO, NULL, 0, 0, 1.0f, 1.0f, -1.0f,
-1.0f, 0);
Z2GetAudioMgr()->seStart(Z2SE_SY_SOUND_MODE_MONO, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f,
0);
break;
case 1:
Z2GetAudioMgr()->seStart(Z2SE_SY_SOUND_MODE_STEREO, NULL, 0, 0, 1.0f, 1.0f,
-1.0f, -1.0f, 0);
Z2GetAudioMgr()->seStart(Z2SE_SY_SOUND_MODE_STEREO, NULL, 0, 0, 1.0f, 1.0f, -1.0f,
-1.0f, 0);
break;
case 2:
Z2GetAudioMgr()->seStart(Z2SE_SY_SOUND_MODE_SURROUND, NULL, 0, 0, 1.0f, 1.0f,
-1.0f, -1.0f, 0);
Z2GetAudioMgr()->seStart(Z2SE_SY_SOUND_MODE_SURROUND, NULL, 0, 0, 1.0f, 1.0f, -1.0f,
-1.0f, 0);
break;
}
Z2AudioMgr::mAudioMgrPtr->setOutputMode(dMo_soundMode[field_0x3e9]);
setSoundMode(dMo_soundMode[field_0x3e9]);
field_0x3ef = 3;
field_0x3f5 = 2;
Z2GetAudioMgr()->seStart(Z2SE_SY_OPTION_SWITCH, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f,
0);
Z2GetAudioMgr()->seStart(Z2SE_SY_OPTION_SWITCH, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
} else {
changeTVCheck();
}
@@ -1890,8 +1884,8 @@ void dMenu_Option_c::confirm_move_move() {
dMeter2Info_set2DVibrationM();
} else if (rightTrigger != 0) {
if (field_0x3f9 != 0) {
Z2GetAudioMgr()->seStart(Z2SE_SY_MENU_CURSOR_COMMON, NULL, 0, 0, 1.0f, 1.0f,
-1.0f, -1.0f, 0);
Z2GetAudioMgr()->seStart(Z2SE_SY_MENU_CURSOR_COMMON, NULL, 0, 0, 1.0f, 1.0f, -1.0f,
-1.0f, 0);
field_0x3fa = field_0x3f9;
field_0x3f9 = 0;
yesnoSelectAnmSet();
@@ -1899,8 +1893,8 @@ void dMenu_Option_c::confirm_move_move() {
}
} else if (leftTrigger != 0) {
if (field_0x3f9 != 1) {
Z2GetAudioMgr()->seStart(Z2SE_SY_MENU_CURSOR_COMMON, NULL, 0, 0, 1.0f, 1.0f,
-1.0f, -1.0f, 0);
Z2GetAudioMgr()->seStart(Z2SE_SY_MENU_CURSOR_COMMON, NULL, 0, 0, 1.0f, 1.0f, -1.0f,
-1.0f, 0);
field_0x3fa = field_0x3f9;
field_0x3f9 = 1;
yesnoSelectAnmSet();
@@ -3085,8 +3079,8 @@ void dMenu_Option_c::setZButtonString(u16 i_stringID) {
// Matches with literals
void dMenu_Option_c::changeTVCheck() {
if (mDoCPd_c::getTrigZ(PAD_1) != 0) {
Z2GetAudioMgr()->seStart(Z2SE_SY_MENU_CHANGE_WINDOW, NULL, 0, 0, 1.0f, 1.0f, -1.0f,
-1.0f, 0);
Z2GetAudioMgr()->seStart(Z2SE_SY_MENU_CHANGE_WINDOW, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f,
0);
field_0x3f3 = 0;
setAButtonString(0);
setBButtonString(0);
@@ -3460,11 +3454,9 @@ asm void dMenu_Option_c::yesnoCursorShow() {
void dMenu_Option_c::yesNoSelectStart() {
if (field_0x3f9 != 0) {
if (field_0x3f7 == 1) {
Z2GetAudioMgr()->seStart(Z2SE_SY_NAME_OK, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f,
0);
Z2GetAudioMgr()->seStart(Z2SE_SY_NAME_OK, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
} else {
Z2GetAudioMgr()->seStart(Z2SE_SY_MENU_BACK, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f,
0);
Z2GetAudioMgr()->seStart(Z2SE_SY_MENU_BACK, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
}
yesnoMenuMoveAnmInitSet(0x47D, 0x473);
mpDrawCursor->setAlphaRate(0.0f);
+2
View File
@@ -14,6 +14,8 @@
#include "d/meter/d_meter2_info.h"
#include "d/meter/d_meter_HIO.h"
#include "d/meter/d_meter_map.h"
#include "d/meter/d_meter_button.h"
#include "d/meter/d_meter_haihai.h"
#include "dol2asm.h"
#include "f_op/f_op_msg_mng.h"
#include "rel/d/a/d_a_horse/d_a_horse.h"
+1 -1
View File
@@ -334,7 +334,7 @@ bool dMeter2Info_c::isFloatingMessageVisible() {
/* 8021C1F0-8021C218 216B30 0028+00 0/0 1/1 0/0 .text decFloatingMessageTimer__13dMeter2Info_cFv
*/
int dMeter2Info_c::decFloatingMessageTimer() {
s16 dMeter2Info_c::decFloatingMessageTimer() {
if (mFloatingMessageTimer > 0) {
mFloatingMessageTimer--;
} else {
+8 -8
View File
@@ -1052,10 +1052,10 @@ dMeter_drawHIO_c::dMeter_drawHIO_c() {
mScrollArrowBCKAnimSpeed = 1.0f;
mScrollArrowBPKAnimSpeed = 1.0f;
mScrollArrowBTKAnimSpeed = 1.0f;
mScrollArrowTopBottomPosX = 0.0f;
mScrollArrowTopBottomPosY = 200.0f;
mScrollArrowLeftRightPosX = 200.0f;
mScrollArrowLeftRightPosY = 0.0f;
mScrollArrowPosX[0] = 0.0f;
mScrollArrowPosY[0] = 200.0f;
mScrollArrowPosX[1] = 200.0f;
mScrollArrowPosY[1] = 0.0f;
mScrollArrowCenterPosX = 0.0f;
mScrollArrowCenterPosY = 0.0f;
mScrollArrowDisplayAll = false;
@@ -1065,10 +1065,10 @@ dMeter_drawHIO_c::dMeter_drawHIO_c() {
mWiiLockArrowBCKAnimSpeed = 1.0f;
mWiiLockArrowBPKAnimSpeed = 1.0f;
mWiiLockArrowBTKAnimSpeed = 1.0f;
mWiiLockArrowTopBottomPosX = 0.0f;
mWiiLockArrowTopBottomPosY = 150.0f;
mWiiLockArrowLeftRightPosX = 208.0f;
mWiiLockArrowLeftRightPosY = 0.0f;
mWiiLockArrowPosX[0] = 0.0f;
mWiiLockArrowPosY[0] = 150.0f;
mWiiLockArrowPosX[1] = 208.0f;
mWiiLockArrowPosY[1] = 0.0f;
mWiiLockArrowDisplayAll = false;
field_0x54c = 1.0f;
File diff suppressed because it is too large Load Diff
+314 -340
View File
@@ -1,401 +1,375 @@
//
// Generated By: dol2asm
// Translation Unit: d/meter/d_meter_haihai
//
/**
* d_meter_haihai.cpp
* UI Arrows
*/
#include "d/meter/d_meter_haihai.h"
#include "dol2asm.h"
//
// Types:
//
struct dMeterSub_c {
/* 80194138 */ bool isDead();
};
struct J2DAnmColor {};
struct J2DAnmTransformKey {};
struct J2DAnmTextureSRTKey {};
struct dMeterHaihai_c {
/* 8020AE8C */ dMeterHaihai_c(u8);
/* 8020AEF0 */ ~dMeterHaihai_c();
/* 8020AF6C */ void _create();
/* 8020B0F4 */ void _execute(u32);
/* 8020B140 */ void draw();
/* 8020B814 */ void drawHaihai(u8, f32, f32, f32, f32);
/* 8020B518 */ void drawHaihai(u8);
/* 8020B9B0 */ void drawHaihaiLeft(f32, f32);
/* 8020BA4C */ void drawHaihaiRight(f32, f32);
/* 8020BAE8 */ void drawHaihaiTop(f32, f32);
/* 8020BB84 */ void drawHaihaiBottom(f32, f32);
/* 8020BC20 */ void setScale(f32);
/* 8020BDAC */ void _delete();
/* 8020BEA0 */ void alphaAnimeHaihai(u32);
/* 8020BEA4 */ void updateHaihai();
/* 8020BF00 */ void playBckAnime(J2DAnmTransformKey*);
/* 8020C078 */ void playBtkAnime(J2DAnmTextureSRTKey*);
/* 8020C1CC */ void playBpkAnime(J2DAnmColor*);
};
struct JKRFileLoader {
/* 802D4270 */ void getGlbResource(char const*, JKRFileLoader*);
};
struct JKRExpHeap {};
struct JKRArchive {};
struct J2DGrafContext {};
struct J2DScreen {
/* 802F8498 */ J2DScreen();
/* 802F8648 */ void setPriority(char const*, u32, JKRArchive*);
/* 802F8ED4 */ void draw(f32, f32, J2DGrafContext const*);
/* 802F9690 */ void animation();
};
struct J2DRotateAxis {};
struct J2DPane {
/* 802F71DC */ void rotate(f32, f32, J2DRotateAxis, f32);
/* 802F7FCC */ void animationTransform();
};
struct J2DAnmLoaderDataBase {
/* 80308A6C */ void load(void const*);
};
struct CPaneMgr {
/* 80253984 */ CPaneMgr(J2DScreen*, u64, u8, JKRExpHeap*);
};
//
// Forward References:
//
extern "C" void __ct__14dMeterHaihai_cFUc();
extern "C" void __dt__14dMeterHaihai_cFv();
extern "C" void _create__14dMeterHaihai_cFv();
extern "C" void _execute__14dMeterHaihai_cFUl();
extern "C" void draw__14dMeterHaihai_cFv();
extern "C" void drawHaihai__14dMeterHaihai_cFUc();
extern "C" void drawHaihai__14dMeterHaihai_cFUcffff();
extern "C" void drawHaihaiLeft__14dMeterHaihai_cFff();
extern "C" void drawHaihaiRight__14dMeterHaihai_cFff();
extern "C" void drawHaihaiTop__14dMeterHaihai_cFff();
extern "C" void drawHaihaiBottom__14dMeterHaihai_cFff();
extern "C" void setScale__14dMeterHaihai_cFf();
extern "C" void _delete__14dMeterHaihai_cFv();
extern "C" void alphaAnimeHaihai__14dMeterHaihai_cFUl();
extern "C" void updateHaihai__14dMeterHaihai_cFv();
extern "C" void playBckAnime__14dMeterHaihai_cFP18J2DAnmTransformKey();
extern "C" void playBtkAnime__14dMeterHaihai_cFP19J2DAnmTextureSRTKey();
extern "C" void playBpkAnime__14dMeterHaihai_cFP11J2DAnmColor();
extern "C" extern char const* const d_meter_d_meter_haihai__stringBase0;
//
// External References:
//
extern "C" bool isDead__11dMeterSub_cFv();
extern "C" void __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap();
extern "C" void dPaneClass_showNullPane__FP9J2DScreen();
extern "C" void* __nw__FUl();
extern "C" void __dl__FPv();
extern "C" void getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader();
extern "C" void rotate__7J2DPaneFff13J2DRotateAxisf();
extern "C" void animationTransform__7J2DPaneFv();
extern "C" void __ct__9J2DScreenFv();
extern "C" void setPriority__9J2DScreenFPCcUlP10JKRArchive();
extern "C" void draw__9J2DScreenFffPC14J2DGrafContext();
extern "C" void animation__9J2DScreenFv();
extern "C" void load__20J2DAnmLoaderDataBaseFPCv();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
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];
//
// Declarations:
//
/* ############################################################################################## */
/* 803BF268-803BF288 01C388 0020+00 2/2 0/0 0/0 .data __vt__14dMeterHaihai_c */
SECTION_DATA extern void* __vt__14dMeterHaihai_c[8] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)draw__14dMeterHaihai_cFv,
(void*)__dt__14dMeterHaihai_cFv,
(void*)_create__14dMeterHaihai_cFv,
(void*)_execute__14dMeterHaihai_cFUl,
(void*)_delete__14dMeterHaihai_cFv,
(void*)isDead__11dMeterSub_cFv,
};
#include "JSystem/J2DGraph/J2DAnmLoader.h"
#include "JSystem/J2DGraph/J2DGrafContext.h"
#include "JSystem/J2DGraph/J2DPane.h"
#include "JSystem/J2DGraph/J2DScreen.h"
#include "d/com/d_com_inf_game.h"
#include "d/meter/d_meter_HIO.h"
#include "d/pane/d_pane_class.h"
/* 8020AE8C-8020AEF0 2057CC 0064+00 0/0 4/4 0/0 .text __ct__14dMeterHaihai_cFUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dMeterHaihai_c::dMeterHaihai_c(u8 param_0) {
nofralloc
#include "asm/d/meter/d_meter_haihai/__ct__14dMeterHaihai_cFUc.s"
dMeterHaihai_c::dMeterHaihai_c(u8 i_type) {
mType = i_type;
_create();
}
#pragma pop
/* 8020AEF0-8020AF6C 205830 007C+00 1/0 0/0 0/0 .text __dt__14dMeterHaihai_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dMeterHaihai_c::~dMeterHaihai_c() {
nofralloc
#include "asm/d/meter/d_meter_haihai/__dt__14dMeterHaihai_cFv.s"
dMeterHaihai_c::~dMeterHaihai_c() {
_delete();
}
#pragma pop
/* ############################################################################################## */
/* 80398158-80398158 0247B8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80398158 = "zelda_hihi_cursor.blo";
SECTION_DEAD static char const* const stringBase_8039816E = "zelda_hihi_cursor.bck";
SECTION_DEAD static char const* const stringBase_80398184 = "zelda_hihi_cursor.btk";
SECTION_DEAD static char const* const stringBase_8039819A = "zelda_hihi_cursor.bpk";
#pragma pop
/* 804547B0-804547B4 002DB0 0004+00 6/6 0/0 0/0 .sdata2 @3742 */
SECTION_SDATA2 static u8 lit_3742[4] = {
0x00,
0x00,
0x00,
0x00,
};
/* 8020AF6C-8020B0F4 2058AC 0188+00 1/0 0/0 0/0 .text _create__14dMeterHaihai_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterHaihai_c::_create() {
nofralloc
#include "asm/d/meter/d_meter_haihai/_create__14dMeterHaihai_cFv.s"
int dMeterHaihai_c::_create() {
mpHaihaiScreen = new J2DScreen();
JUT_ASSERT(mpHaihaiScreen != 0);
bool fg =
mpHaihaiScreen->setPriority("zelda_hihi_cursor.blo", 0x20000, dComIfGp_getMain2DArchive());
JUT_ASSERT(fg != false);
dPaneClass_showNullPane(mpHaihaiScreen);
mpParent = new CPaneMgr(mpHaihaiScreen, 'n_all', 2, NULL);
JUT_ASSERT(mpParent != 0);
i_OSInitFastCast();
mpCursorBck = (J2DAnmTransformKey*)J2DAnmLoaderDataBase::load(
JKRGetNameResource("zelda_hihi_cursor.bck", dComIfGp_getMain2DArchive()));
mBckFrame = 0.0f;
mpCursorBtk = (J2DAnmTextureSRTKey*)J2DAnmLoaderDataBase::load(
JKRGetNameResource("zelda_hihi_cursor.btk", dComIfGp_getMain2DArchive()));
mpCursorBtk->searchUpdateMaterialID(mpHaihaiScreen);
mBtkFrame = 0.0f;
mpCursorBpk = (J2DAnmColor*)J2DAnmLoaderDataBase::load(
JKRGetNameResource("zelda_hihi_cursor.bpk", dComIfGp_getMain2DArchive()));
mpCursorBpk->searchUpdateMaterialID(mpHaihaiScreen);
mBpkFrame = 0.0f;
mFlags = 0;
onPlayAllAnime();
return cPhs_COMPLEATE_e;
}
#pragma pop
/* 8020B0F4-8020B140 205A34 004C+00 1/0 0/0 0/0 .text _execute__14dMeterHaihai_cFUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterHaihai_c::_execute(u32 param_0) {
nofralloc
#include "asm/d/meter/d_meter_haihai/_execute__14dMeterHaihai_cFUl.s"
int dMeterHaihai_c::_execute(u32 i_flags) {
mFlags = i_flags;
updateHaihai();
alphaAnimeHaihai(i_flags);
return 1;
}
#pragma pop
/* ############################################################################################## */
/* 804547B4-804547B8 002DB4 0004+00 2/2 0/0 0/0 .sdata2 @3890 */
SECTION_SDATA2 static f32 lit_3890 = 13.0f / 5.0f;
/* 804547B8-804547BC 002DB8 0004+00 2/2 0/0 0/0 .sdata2 @3891 */
SECTION_SDATA2 static f32 lit_3891 = 39.0f;
/* 804547BC-804547C0 002DBC 0004+00 2/2 0/0 0/0 .sdata2 @3892 */
SECTION_SDATA2 static f32 lit_3892 = 58.0f;
/* 804547C0-804547C4 002DC0 0004+00 2/2 0/0 0/0 .sdata2 @3893 */
SECTION_SDATA2 static f32 lit_3893 = 304.0f;
/* 804547C4-804547C8 002DC4 0004+00 2/2 0/0 0/0 .sdata2 @3894 */
SECTION_SDATA2 static f32 lit_3894 = 224.0f;
/* 804547C8-804547CC 002DC8 0004+00 6/6 0/0 0/0 .sdata2 @3895 */
SECTION_SDATA2 static f32 lit_3895 = 0.5f;
/* 804547CC-804547D0 002DCC 0004+00 2/2 0/0 0/0 .sdata2 @3896 */
SECTION_SDATA2 static f32 lit_3896 = 90.0f;
/* 804547D0-804547D4 002DD0 0004+00 2/2 0/0 0/0 .sdata2 @3897 */
SECTION_SDATA2 static f32 lit_3897 = 180.0f;
/* 804547D4-804547D8 002DD4 0004+00 2/2 0/0 0/0 .sdata2 @3898 */
SECTION_SDATA2 static f32 lit_3898 = 270.0f;
/* 8020B140-8020B518 205A80 03D8+00 1/0 0/0 0/0 .text draw__14dMeterHaihai_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterHaihai_c::draw() {
nofralloc
#include "asm/d/meter/d_meter_haihai/draw__14dMeterHaihai_cFv.s"
void dMeterHaihai_c::draw() {
if ((mFlags & 8) || (mFlags & 0x10) || (mFlags & 0x1000000) || (mFlags & 0x800000) ||
(mFlags & 0x20) || (mFlags & 0x4000000))
{
return;
}
f32 x_pos[2];
f32 y_pos[2];
bool i_forceDraw;
u8 direction;
if (mType == 4) {
direction = dComIfGp_getAdvanceDirection();
i_forceDraw = g_drawHIO.mWiiLockArrowDisplayAll;
for (int i = 0; i < 2; i++) {
x_pos[i] = g_drawHIO.mWiiLockArrowPosX[i];
y_pos[i] = g_drawHIO.mWiiLockArrowPosY[i];
}
} else if (mType == 1) {
direction = dComIfGp_getAdvanceDirection();
i_forceDraw = g_drawHIO.mScrollArrowDisplayAll;
x_pos[0] = g_drawHIO.mScrollArrowPosX[0] - 2.6f;
y_pos[0] = g_drawHIO.mScrollArrowPosY[0] - 39.0f;
x_pos[1] = g_drawHIO.mScrollArrowPosX[1] - 58.0f;
y_pos[1] = g_drawHIO.mScrollArrowPosY[1];
} else {
direction = dComIfGp_getAdvanceDirection();
i_forceDraw = g_drawHIO.mScrollArrowDisplayAll;
for (int i = 0; i < 2; i++) {
x_pos[i] = g_drawHIO.mScrollArrowPosX[i];
y_pos[i] = g_drawHIO.mScrollArrowPosY[i];
}
}
if (direction & DIR_DOWN_e || i_forceDraw) {
mpParent->getPanePtr()->translate(x_pos[0] + 304.0f, y_pos[0] + 224.0f);
mpParent->getPanePtr()->rotate(mpParent->getPanePtr()->getWidth() / 2,
mpParent->getPanePtr()->getHeight() / 2, ROTATE_Z, 0.0f);
mpHaihaiScreen->draw(0.0f, 0.0f, dComIfGp_getCurrentGrafPort());
}
if (direction & DIR_RIGHT_e || i_forceDraw) {
mpParent->getPanePtr()->translate(x_pos[1] + 304.0f, y_pos[1] + 224.0f);
mpParent->getPanePtr()->rotate(mpParent->getPanePtr()->getWidth() / 2,
mpParent->getPanePtr()->getHeight() / 2, ROTATE_Z, 90.0f);
mpHaihaiScreen->draw(0.0f, 0.0f, dComIfGp_getCurrentGrafPort());
}
if (direction & DIR_UP_e || i_forceDraw) {
mpParent->getPanePtr()->translate(x_pos[0] + 304.0f, 224.0f - y_pos[0]);
mpParent->getPanePtr()->rotate(mpParent->getPanePtr()->getWidth() / 2,
mpParent->getPanePtr()->getHeight() / 2, ROTATE_Z, 180.0f);
mpHaihaiScreen->draw(0.0f, 0.0f, dComIfGp_getCurrentGrafPort());
}
if (direction & DIR_LEFT_e || i_forceDraw) {
mpParent->getPanePtr()->translate(304.0f - x_pos[1], y_pos[1] + 224.0f);
mpParent->getPanePtr()->rotate(mpParent->getPanePtr()->getWidth() / 2,
mpParent->getPanePtr()->getHeight() / 2, ROTATE_Z, 270.0f);
mpHaihaiScreen->draw(0.0f, 0.0f, dComIfGp_getCurrentGrafPort());
}
}
#pragma pop
/* ############################################################################################## */
/* 804547D8-804547DC 002DD8 0004+00 2/2 0/0 0/0 .sdata2 @3940 */
SECTION_SDATA2 static f32 lit_3940 = 3.0f;
/* 804547DC-804547E0 002DDC 0004+00 2/2 0/0 0/0 .sdata2 @3941 */
SECTION_SDATA2 static f32 lit_3941 = 5.0f;
/* 804547E0-804547E4 002DE0 0004+00 1/1 0/0 0/0 .sdata2 @3942 */
SECTION_SDATA2 static f32 lit_3942 = 70.0f;
/* 804547E4-804547E8 002DE4 0004+00 1/1 0/0 0/0 .sdata2 @3943 */
SECTION_SDATA2 static f32 lit_3943 = 50.0f;
/* 8020B518-8020B814 205E58 02FC+00 0/0 1/1 0/0 .text drawHaihai__14dMeterHaihai_cFUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterHaihai_c::drawHaihai(u8 param_0) {
nofralloc
#include "asm/d/meter/d_meter_haihai/drawHaihai__14dMeterHaihai_cFUc.s"
void dMeterHaihai_c::drawHaihai(u8 i_direction) {
f32 center_x = 304.0f;
f32 center_y = 224.0f;
if (mType == 1) {
center_x += (3.0f + g_drawHIO.mScrollArrowCenterPosX);
center_y += (g_drawHIO.mScrollArrowCenterPosY - 5.0f);
} else {
center_x += g_drawHIO.mScrollArrowCenterPosX;
center_y += g_drawHIO.mScrollArrowCenterPosY;
}
if (mType == 1) {
if ((i_direction & DIR_DOWN_e) || g_drawHIO.mScrollArrowDisplayAll) {
drawHaihaiBottom(center_x + (g_drawHIO.mScrollArrowPosX[0] - 2.6f),
center_y + (g_drawHIO.mScrollArrowPosY[0] - 39.0f));
}
if ((i_direction & DIR_RIGHT_e) || g_drawHIO.mScrollArrowDisplayAll) {
drawHaihaiRight(70.0f + (center_x + (g_drawHIO.mScrollArrowPosX[1] - 58.0f)),
center_y + g_drawHIO.mScrollArrowPosY[1]);
}
if ((i_direction & DIR_UP_e) || g_drawHIO.mScrollArrowDisplayAll) {
drawHaihaiTop(center_x + (g_drawHIO.mScrollArrowPosX[0] - 2.6f),
50.0f + (center_y - (g_drawHIO.mScrollArrowPosY[0] - 39.0f)));
}
if ((i_direction & DIR_LEFT_e) || g_drawHIO.mScrollArrowDisplayAll) {
drawHaihaiLeft((center_x - (g_drawHIO.mScrollArrowPosX[1] - 58.0f)) - 70.0f,
center_y + g_drawHIO.mScrollArrowPosY[1]);
}
} else {
if ((i_direction & DIR_DOWN_e) || g_drawHIO.mScrollArrowDisplayAll) {
drawHaihaiBottom(center_x + g_drawHIO.mScrollArrowPosX[0],
center_y + g_drawHIO.mScrollArrowPosY[0]);
}
if ((i_direction & DIR_RIGHT_e) || g_drawHIO.mScrollArrowDisplayAll) {
drawHaihaiRight(70.0f + (center_x + g_drawHIO.mScrollArrowPosX[1]),
center_y + g_drawHIO.mScrollArrowPosY[1]);
}
if ((i_direction & DIR_UP_e) || g_drawHIO.mScrollArrowDisplayAll) {
drawHaihaiTop(center_x + g_drawHIO.mScrollArrowPosX[0],
50.0f + (center_y - g_drawHIO.mScrollArrowPosY[0]));
}
if ((i_direction & DIR_LEFT_e) || g_drawHIO.mScrollArrowDisplayAll) {
drawHaihaiLeft((center_x - g_drawHIO.mScrollArrowPosX[1]) - 70.0f,
center_y + g_drawHIO.mScrollArrowPosY[1]);
}
}
}
#pragma pop
/* 8020B814-8020B9B0 206154 019C+00 0/0 2/2 0/0 .text drawHaihai__14dMeterHaihai_cFUcffff
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterHaihai_c::drawHaihai(u8 param_0, f32 param_1, f32 param_2, f32 param_3,
f32 param_4) {
nofralloc
#include "asm/d/meter/d_meter_haihai/drawHaihai__14dMeterHaihai_cFUcffff.s"
void dMeterHaihai_c::drawHaihai(u8 i_direction, f32 i_posX, f32 i_posY, f32 param_3, f32 param_4) {
if (mType == 1) {
i_posX += (3.0f + g_drawHIO.mScrollArrowCenterPosX);
i_posY += (g_drawHIO.mScrollArrowCenterPosY - 5.0f);
} else {
i_posX += g_drawHIO.mScrollArrowCenterPosX;
i_posY += g_drawHIO.mScrollArrowCenterPosY;
}
if ((i_direction & DIR_DOWN_e) || g_drawHIO.mScrollArrowDisplayAll) {
drawHaihaiBottom(i_posX, i_posY + (param_4 / 2));
}
if ((i_direction & DIR_RIGHT_e) || g_drawHIO.mScrollArrowDisplayAll) {
drawHaihaiRight(i_posX + (param_3 / 2), i_posY);
}
if ((i_direction & DIR_UP_e) || g_drawHIO.mScrollArrowDisplayAll) {
drawHaihaiTop(i_posX, i_posY - (param_4 / 2));
}
if ((i_direction & DIR_LEFT_e) || g_drawHIO.mScrollArrowDisplayAll) {
drawHaihaiLeft(i_posX - (param_3 / 2), i_posY);
}
}
#pragma pop
/* 8020B9B0-8020BA4C 2062F0 009C+00 2/2 0/0 0/0 .text drawHaihaiLeft__14dMeterHaihai_cFff
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterHaihai_c::drawHaihaiLeft(f32 param_0, f32 param_1) {
nofralloc
#include "asm/d/meter/d_meter_haihai/drawHaihaiLeft__14dMeterHaihai_cFff.s"
void dMeterHaihai_c::drawHaihaiLeft(f32 i_transX, f32 i_transY) {
mpParent->translate(i_transX, i_transY);
mpParent->getPanePtr()->rotate(mpParent->getPanePtr()->getWidth() / 2,
mpParent->getPanePtr()->getHeight() / 2, ROTATE_Z, 270.0f);
mpHaihaiScreen->draw(0.0f, 0.0f, dComIfGp_getCurrentGrafPort());
}
#pragma pop
/* 8020BA4C-8020BAE8 20638C 009C+00 2/2 0/0 0/0 .text drawHaihaiRight__14dMeterHaihai_cFff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterHaihai_c::drawHaihaiRight(f32 param_0, f32 param_1) {
nofralloc
#include "asm/d/meter/d_meter_haihai/drawHaihaiRight__14dMeterHaihai_cFff.s"
void dMeterHaihai_c::drawHaihaiRight(f32 i_transX, f32 i_transY) {
mpParent->translate(i_transX, i_transY);
mpParent->getPanePtr()->rotate(mpParent->getPanePtr()->getWidth() / 2,
mpParent->getPanePtr()->getHeight() / 2, ROTATE_Z, 90.0f);
mpHaihaiScreen->draw(0.0f, 0.0f, dComIfGp_getCurrentGrafPort());
}
#pragma pop
/* 8020BAE8-8020BB84 206428 009C+00 2/2 0/0 0/0 .text drawHaihaiTop__14dMeterHaihai_cFff
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterHaihai_c::drawHaihaiTop(f32 param_0, f32 param_1) {
nofralloc
#include "asm/d/meter/d_meter_haihai/drawHaihaiTop__14dMeterHaihai_cFff.s"
void dMeterHaihai_c::drawHaihaiTop(f32 i_transX, f32 i_transY) {
mpParent->translate(i_transX, i_transY);
mpParent->getPanePtr()->rotate(mpParent->getPanePtr()->getWidth() / 2,
mpParent->getPanePtr()->getHeight() / 2, ROTATE_Z, 180.0f);
mpHaihaiScreen->draw(0.0f, 0.0f, dComIfGp_getCurrentGrafPort());
}
#pragma pop
/* 8020BB84-8020BC20 2064C4 009C+00 2/2 0/0 0/0 .text drawHaihaiBottom__14dMeterHaihai_cFff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterHaihai_c::drawHaihaiBottom(f32 param_0, f32 param_1) {
nofralloc
#include "asm/d/meter/d_meter_haihai/drawHaihaiBottom__14dMeterHaihai_cFff.s"
void dMeterHaihai_c::drawHaihaiBottom(f32 i_transX, f32 i_transY) {
mpParent->translate(i_transX, i_transY);
mpParent->getPanePtr()->rotate(mpParent->getPanePtr()->getWidth() / 2,
mpParent->getPanePtr()->getHeight() / 2, ROTATE_Z, 0.0f);
mpHaihaiScreen->draw(0.0f, 0.0f, dComIfGp_getCurrentGrafPort());
}
#pragma pop
/* ############################################################################################## */
/* 804547E8-804547EC 002DE8 0004+00 1/1 0/0 0/0 .sdata2 @4116 */
SECTION_SDATA2 static f32 lit_4116 = 4.0f / 5.0f;
/* 804547EC-804547F0 002DEC 0004+00 1/1 0/0 0/0 .sdata2 @4117 */
SECTION_SDATA2 static f32 lit_4117 = 3.0f / 5.0f;
/* 8020BC20-8020BDAC 206560 018C+00 1/1 1/1 0/0 .text setScale__14dMeterHaihai_cFf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterHaihai_c::setScale(f32 param_0) {
nofralloc
#include "asm/d/meter/d_meter_haihai/setScale__14dMeterHaihai_cFf.s"
void dMeterHaihai_c::setScale(f32 i_scaleFactor) {
if (mType == 1) {
mpParent->scale(g_drawHIO.mScrollArrowScaleX * 0.6f * 0.8f * 0.8f * i_scaleFactor,
g_drawHIO.mScrollArrowScaleY * 0.6f * 0.8f * 0.8f * i_scaleFactor);
} else if (mType == 2) {
mpParent->scale(g_drawHIO.mScrollArrowScaleX * 0.6f * i_scaleFactor,
g_drawHIO.mScrollArrowScaleY * 0.6f * i_scaleFactor);
} else if (mType == 3) {
mpParent->scale(g_drawHIO.mOptionScreen.mArrowSize * i_scaleFactor,
g_drawHIO.mOptionScreen.mArrowSize * i_scaleFactor);
} else if (mType == 4) {
mpParent->scale(g_drawHIO.mWiiLockArrowScaleX * i_scaleFactor,
g_drawHIO.mWiiLockArrowScaleY * i_scaleFactor);
} else {
mpParent->scale(g_drawHIO.mScrollArrowScaleX * i_scaleFactor,
g_drawHIO.mScrollArrowScaleY * i_scaleFactor);
}
}
#pragma pop
/* 8020BDAC-8020BEA0 2066EC 00F4+00 1/0 0/0 0/0 .text _delete__14dMeterHaihai_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterHaihai_c::_delete() {
nofralloc
#include "asm/d/meter/d_meter_haihai/_delete__14dMeterHaihai_cFv.s"
int dMeterHaihai_c::_delete() {
delete mpHaihaiScreen;
mpHaihaiScreen = NULL;
delete mpParent;
mpParent = NULL;
delete mpCursorBck;
mpCursorBck = NULL;
delete mpCursorBtk;
mpCursorBtk = NULL;
delete mpCursorBpk;
mpCursorBpk = NULL;
return 1;
}
#pragma pop
/* 8020BEA0-8020BEA4 2067E0 0004+00 1/1 0/0 0/0 .text alphaAnimeHaihai__14dMeterHaihai_cFUl */
void dMeterHaihai_c::alphaAnimeHaihai(u32 param_0) {
/* empty function */
}
/* ############################################################################################## */
/* 804547F0-804547F8 002DF0 0004+04 4/4 0/0 0/0 .sdata2 @4165 */
SECTION_SDATA2 static f32 lit_4165[1 + 1 /* padding */] = {
1.0f,
/* padding */
0.0f,
};
void dMeterHaihai_c::alphaAnimeHaihai(u32 i_flags) {}
/* 8020BEA4-8020BF00 2067E4 005C+00 1/1 0/0 0/0 .text updateHaihai__14dMeterHaihai_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterHaihai_c::updateHaihai() {
nofralloc
#include "asm/d/meter/d_meter_haihai/updateHaihai__14dMeterHaihai_cFv.s"
void dMeterHaihai_c::updateHaihai() {
playBckAnime(mpCursorBck);
playBtkAnime(mpCursorBtk);
playBpkAnime(mpCursorBpk);
mpHaihaiScreen->animation();
setScale(1.0f);
}
#pragma pop
/* ############################################################################################## */
/* 804547F8-80454800 002DF8 0008+00 3/3 0/0 0/0 .sdata2 @4189 */
SECTION_SDATA2 static f64 lit_4189 = 4503601774854144.0 /* cast s32 to float */;
/* 8020BF00-8020C078 206840 0178+00 1/1 0/0 0/0 .text
* playBckAnime__14dMeterHaihai_cFP18J2DAnmTransformKey */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterHaihai_c::playBckAnime(J2DAnmTransformKey* param_0) {
nofralloc
#include "asm/d/meter/d_meter_haihai/playBckAnime__14dMeterHaihai_cFP18J2DAnmTransformKey.s"
void dMeterHaihai_c::playBckAnime(J2DAnmTransformKey* i_bck) {
if (checkPlayAnime(1)) {
if (i_bck != NULL) {
if (mType == 4) {
mBckFrame += g_drawHIO.mWiiLockArrowBCKAnimSpeed;
} else {
mBckFrame += g_drawHIO.mScrollArrowBCKAnimSpeed;
}
if (mBckFrame >= i_bck->getFrameMax()) {
mBckFrame -= i_bck->getFrameMax();
}
} else {
mBtkFrame = 1.0f;
}
i_bck->setFrame(mBckFrame);
mpHaihaiScreen->search('n_anim')->setAnimation(i_bck);
mpHaihaiScreen->search('n_anim')->animationTransform();
mpHaihaiScreen->search('n_anim')->setAnimation((J2DAnmTransform*)NULL);
}
}
#pragma pop
/* 8020C078-8020C1CC 2069B8 0154+00 1/1 0/0 0/0 .text
* playBtkAnime__14dMeterHaihai_cFP19J2DAnmTextureSRTKey */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterHaihai_c::playBtkAnime(J2DAnmTextureSRTKey* param_0) {
nofralloc
#include "asm/d/meter/d_meter_haihai/playBtkAnime__14dMeterHaihai_cFP19J2DAnmTextureSRTKey.s"
void dMeterHaihai_c::playBtkAnime(J2DAnmTextureSRTKey* i_btk) {
if (checkPlayAnime(2)) {
if (i_btk != NULL) {
if (mType == 4) {
mBtkFrame += g_drawHIO.mWiiLockArrowBTKAnimSpeed;
} else {
mBtkFrame += g_drawHIO.mScrollArrowBTKAnimSpeed;
}
if (mBtkFrame >= i_btk->getFrameMax()) {
mBtkFrame -= i_btk->getFrameMax();
}
} else {
mBtkFrame = 1.0f;
}
i_btk->setFrame(mBtkFrame);
mpHaihaiScreen->search('yaji00')->setAnimation(i_btk);
mpHaihaiScreen->search('yaji01')->setAnimation(i_btk);
}
}
#pragma pop
/* 8020C1CC-8020C320 206B0C 0154+00 1/1 0/0 0/0 .text
* playBpkAnime__14dMeterHaihai_cFP11J2DAnmColor */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeterHaihai_c::playBpkAnime(J2DAnmColor* param_0) {
nofralloc
#include "asm/d/meter/d_meter_haihai/playBpkAnime__14dMeterHaihai_cFP11J2DAnmColor.s"
}
#pragma pop
void dMeterHaihai_c::playBpkAnime(J2DAnmColor* i_bpk) {
if (checkPlayAnime(0)) {
if (i_bpk != NULL) {
if (mType == 4) {
mBpkFrame += g_drawHIO.mWiiLockArrowBPKAnimSpeed;
} else {
mBpkFrame += g_drawHIO.mScrollArrowBPKAnimSpeed;
}
/* 80398158-80398158 0247B8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
if (mBpkFrame >= i_bpk->getFrameMax()) {
mBpkFrame -= i_bpk->getFrameMax();
}
} else {
mBpkFrame = 1.0f;
}
i_bpk->setFrame(mBpkFrame);
mpHaihaiScreen->search('npc_l1')->setAnimation(i_bpk);
mpHaihaiScreen->search('yaji_l')->setAnimation(i_bpk);
}
}
+1 -1
View File
@@ -1752,7 +1752,7 @@ asm u16 dMsgObject_c::getStatus() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMsgObject_c::getScrnDrawPtr() {
asm dMsgScrnBase_c* dMsgObject_c::getScrnDrawPtr() {
nofralloc
#include "asm/d/msg/d_msg_object/getScrnDrawPtr__12dMsgObject_cFv.s"
}