d_menu_calibration done / J3DDrawBuffer done / more d_drawlist wip (#312)

* d_drawlist work / finish J3DDrawBuffer

* d_menu_calibration done

* remove asm
This commit is contained in:
TakaRikka
2023-03-28 04:11:41 -07:00
committed by GitHub
parent 721880831e
commit 92b88e83e8
52 changed files with 1057 additions and 2682 deletions
+557 -196
View File
File diff suppressed because it is too large Load Diff
+266 -485
View File
@@ -1,565 +1,346 @@
//
// Generated By: dol2asm
// Translation Unit: d/menu/d_menu_calibration
//
/**
* d_menu_calibration.cpp
* Wii Remote Calibration Option Menu
*/
#include "d/menu/d_menu_calibration.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "d/meter/d_meter_HIO.h"
//
// Types:
//
struct mDoCPd_c {
static u8 m_cpadInfo[256];
};
struct J2DPane {};
struct dSelect_cursor_c {
/* 801950F4 */ void setPos(f32, f32, J2DPane*, bool);
/* 801952A0 */ void setAlphaRate(f32);
};
struct JMSMesgEntry_c {};
struct dMeter2Info_c {
/* 8021C544 */ void getStringKanji(u32, char*, JMSMesgEntry_c*);
};
struct dMenu_Calibration_c {
/* 801AED64 */ ~dMenu_Calibration_c();
/* 801AEDAC */ void _move();
/* 801AEE2C */ void _draw();
/* 801AEE30 */ void step1_wait_init();
/* 801AEF60 */ void step1_wait_move();
/* 801AF084 */ void step1_move_init();
/* 801AF0C0 */ void step1_move_move();
/* 801AF188 */ void step2_wait_init();
/* 801AF1F4 */ void step2_wait_move();
/* 801AF380 */ void step2_move_init();
/* 801AF3BC */ void step2_move_move();
/* 801AF488 */ void step3_wait_init();
/* 801AF4F8 */ void step3_wait_move();
/* 801AF5F4 */ void step3_move_init();
/* 801AF630 */ void step3_move_move();
/* 801AF710 */ void setCalibrationValue();
/* 801AF738 */ void setAButtonString(u16);
/* 801AF7E8 */ void setBButtonString(u16);
/* 801AF898 */ void setStepString(u16);
/* 801AF948 */ void setExplainString(u16);
/* 801AFA00 */ void setHIO(bool);
/* 801AFBF4 */ void draw();
};
struct JAISoundID {};
struct Vec {};
struct Z2SeMgr {
/* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
};
struct Z2AudioMgr {
static u8 mAudioMgrPtr[4 + 4 /* padding */];
};
struct J2DTextBox {
/* 80300658 */ void getStringPtr() const;
};
struct CPaneMgrAlpha {
/* 802557D0 */ void setAlphaRate(f32);
/* 80255828 */ void getAlphaRate();
};
struct CPaneMgr {
/* 802545B0 */ void paneTrans(f32, f32);
/* 80254EBC */ void getGlobalVtxCenter(J2DPane*, bool, s16);
};
//
// Forward References:
//
extern "C" void __dt__19dMenu_Calibration_cFv();
extern "C" void _move__19dMenu_Calibration_cFv();
extern "C" void _draw__19dMenu_Calibration_cFv();
extern "C" void step1_wait_init__19dMenu_Calibration_cFv();
extern "C" void step1_wait_move__19dMenu_Calibration_cFv();
extern "C" void step1_move_init__19dMenu_Calibration_cFv();
extern "C" void step1_move_move__19dMenu_Calibration_cFv();
extern "C" void step2_wait_init__19dMenu_Calibration_cFv();
extern "C" void step2_wait_move__19dMenu_Calibration_cFv();
extern "C" void step2_move_init__19dMenu_Calibration_cFv();
extern "C" void step2_move_move__19dMenu_Calibration_cFv();
extern "C" void step3_wait_init__19dMenu_Calibration_cFv();
extern "C" void step3_wait_move__19dMenu_Calibration_cFv();
extern "C" void step3_move_init__19dMenu_Calibration_cFv();
extern "C" void step3_move_move__19dMenu_Calibration_cFv();
extern "C" void setCalibrationValue__19dMenu_Calibration_cFv();
extern "C" void setAButtonString__19dMenu_Calibration_cFUs();
extern "C" void setBButtonString__19dMenu_Calibration_cFUs();
extern "C" void setStepString__19dMenu_Calibration_cFUs();
extern "C" void setExplainString__19dMenu_Calibration_cFUs();
extern "C" void setHIO__19dMenu_Calibration_cFb();
extern "C" void draw__19dMenu_Calibration_cFv();
extern "C" void __sinit_d_menu_calibration_cpp();
extern "C" extern char const* const d_menu_d_menu_calibration__stringBase0;
//
// External References:
//
extern "C" void setPos__16dSelect_cursor_cFffP7J2DPaneb();
extern "C" void setAlphaRate__16dSelect_cursor_cFf();
extern "C" void getStringKanji__13dMeter2Info_cFUlPcP14JMSMesgEntry_c();
extern "C" void dMeter2Info_set2DVibration__Fv();
extern "C" void paneTrans__8CPaneMgrFff();
extern "C" void getGlobalVtxCenter__8CPaneMgrFP7J2DPanebs();
extern "C" void setAlphaRate__13CPaneMgrAlphaFf();
extern "C" void getAlphaRate__13CPaneMgrAlphaFv();
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
extern "C" void __dl__FPv();
extern "C" void getStringPtr__10J2DTextBoxCFv();
extern "C" void __ptmf_scall();
extern "C" void _savegpr_27();
extern "C" void _savegpr_28();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void strcpy();
extern "C" u8 m_cpadInfo__8mDoCPd_c[256];
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" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
//
// Declarations:
//
/* ############################################################################################## */
/* 803BC238-803BC244 019358 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
static u8 cNullVec__6Z2Calc[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 803BC244-803BC250 -00001 000C+00 0/1 0/0 0/0 .data @3799 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3799[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)step1_wait_init__19dMenu_Calibration_cFv,
};
#pragma pop
/* 803BC250-803BC25C -00001 000C+00 0/1 0/0 0/0 .data @3800 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3800[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)step1_move_init__19dMenu_Calibration_cFv,
};
#pragma pop
/* 803BC25C-803BC268 -00001 000C+00 0/1 0/0 0/0 .data @3801 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3801[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)step2_wait_init__19dMenu_Calibration_cFv,
};
#pragma pop
/* 803BC268-803BC274 -00001 000C+00 0/1 0/0 0/0 .data @3802 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3802[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)step2_move_init__19dMenu_Calibration_cFv,
};
#pragma pop
/* 803BC274-803BC280 -00001 000C+00 0/1 0/0 0/0 .data @3803 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3803[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)step3_wait_init__19dMenu_Calibration_cFv,
};
#pragma pop
/* 803BC280-803BC28C -00001 000C+00 0/1 0/0 0/0 .data @3804 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3804[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)step3_move_init__19dMenu_Calibration_cFv,
};
#pragma pop
/* 803BC28C-803BC2D4 0193AC 0048+00 1/2 0/0 0/0 .data map_init_process */
SECTION_DATA static u8 map_init_process[72] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
typedef void (dMenu_Calibration_c::*initFunc)();
static initFunc map_init_process[] = {
&dMenu_Calibration_c::step1_wait_init, &dMenu_Calibration_c::step1_move_init,
&dMenu_Calibration_c::step2_wait_init, &dMenu_Calibration_c::step2_move_init,
&dMenu_Calibration_c::step3_wait_init, &dMenu_Calibration_c::step3_move_init,
};
/* 803BC2D4-803BC2E0 -00001 000C+00 0/1 0/0 0/0 .data @3805 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3805[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)step1_wait_move__19dMenu_Calibration_cFv,
};
#pragma pop
/* 803BC2E0-803BC2EC -00001 000C+00 0/1 0/0 0/0 .data @3806 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3806[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)step1_move_move__19dMenu_Calibration_cFv,
};
#pragma pop
/* 803BC2EC-803BC2F8 -00001 000C+00 0/1 0/0 0/0 .data @3807 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3807[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)step2_wait_move__19dMenu_Calibration_cFv,
};
#pragma pop
/* 803BC2F8-803BC304 -00001 000C+00 0/1 0/0 0/0 .data @3808 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3808[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)step2_move_move__19dMenu_Calibration_cFv,
};
#pragma pop
/* 803BC304-803BC310 -00001 000C+00 0/1 0/0 0/0 .data @3809 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3809[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)step3_wait_move__19dMenu_Calibration_cFv,
};
#pragma pop
/* 803BC310-803BC31C -00001 000C+00 0/1 0/0 0/0 .data @3810 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3810[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)step3_move_move__19dMenu_Calibration_cFv,
};
#pragma pop
/* 803BC31C-803BC364 01943C 0048+00 1/2 0/0 0/0 .data map_move_process */
SECTION_DATA static u8 map_move_process[72] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 803BC364-803BC380 019484 0010+0C 1/1 0/0 0/0 .data __vt__19dMenu_Calibration_c */
SECTION_DATA extern void* __vt__19dMenu_Calibration_c[4 + 3 /* padding */] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)draw__19dMenu_Calibration_cFv,
(void*)__dt__19dMenu_Calibration_cFv,
/* padding */
NULL,
NULL,
NULL,
typedef void (dMenu_Calibration_c::*moveFunc)();
static moveFunc map_move_process[] = {
&dMenu_Calibration_c::step1_wait_move, &dMenu_Calibration_c::step1_move_move,
&dMenu_Calibration_c::step2_wait_move, &dMenu_Calibration_c::step2_move_move,
&dMenu_Calibration_c::step3_wait_move, &dMenu_Calibration_c::step3_move_move,
};
/* 801AED64-801AEDAC 1A96A4 0048+00 1/0 0/0 0/0 .text __dt__19dMenu_Calibration_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dMenu_Calibration_c::~dMenu_Calibration_c() {
nofralloc
#include "asm/d/menu/d_menu_calibration/__dt__19dMenu_Calibration_cFv.s"
}
#pragma pop
dMenu_Calibration_c::~dMenu_Calibration_c() {}
/* 801AEDAC-801AEE2C 1A96EC 0080+00 0/0 1/1 0/0 .text _move__19dMenu_Calibration_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMenu_Calibration_c::_move() {
nofralloc
#include "asm/d/menu/d_menu_calibration/_move__19dMenu_Calibration_cFv.s"
void dMenu_Calibration_c::_move() {
u8 last_process = mProcess;
(this->*map_move_process[mProcess])();
if (last_process != mProcess) {
(this->*map_init_process[mProcess])();
}
setHIO(false);
}
#pragma pop
/* 801AEE2C-801AEE30 1A976C 0004+00 1/1 0/0 0/0 .text _draw__19dMenu_Calibration_cFv */
void dMenu_Calibration_c::_draw() {
/* empty function */
}
/* ############################################################################################## */
/* 80453F10-80453F14 002510 0004+00 5/5 0/0 0/0 .sdata2 @3847 */
SECTION_SDATA2 static u8 lit_3847[4] = {
0x00,
0x00,
0x00,
0x00,
};
void dMenu_Calibration_c::_draw() {}
/* 801AEE30-801AEF60 1A9770 0130+00 1/0 0/0 0/0 .text step1_wait_init__19dMenu_Calibration_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMenu_Calibration_c::step1_wait_init() {
nofralloc
#include "asm/d/menu/d_menu_calibration/step1_wait_init__19dMenu_Calibration_cFv.s"
void dMenu_Calibration_c::step1_wait_init() {
field_0xfa = 0;
setAButtonString(0);
setBButtonString(0);
setStepString(1240); // "STEP 1"
setExplainString(1245); // "Point the Wii Remote at the screen and move the cursor vertically
// until it overlaps the central orange circle."
((J2DTextBox*)field_0x80->getPanePtr())->setFontSize(field_0xac[mCalibrationValue + 2]);
Vec pos = field_0x68[mCalibrationValue + 2]->getGlobalVtxCenter(false, 0);
mpSelectCursor->setPos(pos.x, pos.y, field_0x68[mCalibrationValue + 2]->getPanePtr(), false);
field_0xfc = 0;
field_0x7c->setAlphaRate(0.0f);
}
#pragma pop
/* ############################################################################################## */
/* 80453F14-80453F18 002514 0004+00 6/6 0/0 0/0 .sdata2 @3885 */
SECTION_SDATA2 static f32 lit_3885 = 1.0f;
/* 80453F18-80453F20 002518 0008+00 3/3 0/0 0/0 .sdata2 @3887 */
SECTION_SDATA2 static f64 lit_3887 = 4503601774854144.0 /* cast s32 to float */;
/* 801AEF60-801AF084 1A98A0 0124+00 1/0 0/0 0/0 .text step1_wait_move__19dMenu_Calibration_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMenu_Calibration_c::step1_wait_move() {
nofralloc
#include "asm/d/menu/d_menu_calibration/step1_wait_move__19dMenu_Calibration_cFv.s"
void dMenu_Calibration_c::step1_wait_move() {
s16 open_frames = g_drawHIO.mCalibration.mOpenFrames;
field_0xfa++;
if (field_0xfa >= open_frames) {
field_0x58[0]->setAlphaRate(1.0f);
field_0x7c->setAlphaRate(0.0f);
field_0x58[1]->setAlphaRate(0.0f);
mpSelectCursor->setAlphaRate(1.0f);
mpSelectCursor->onPlayAnime(0);
mProcess = PROC_STEP1_MOVE;
} else {
f32 alpha_rate = (f32)field_0xfa / (f32)open_frames;
field_0x58[0]->setAlphaRate(alpha_rate);
field_0x7c->setAlphaRate(0.0f);
mpSelectCursor->setAlphaRate(alpha_rate);
if (field_0x58[1]->getAlphaRate() != 0.0f) {
field_0x58[1]->setAlphaRate(1.0f - alpha_rate);
}
}
}
#pragma pop
/* 801AF084-801AF0C0 1A99C4 003C+00 1/0 0/0 0/0 .text step1_move_init__19dMenu_Calibration_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMenu_Calibration_c::step1_move_init() {
nofralloc
#include "asm/d/menu/d_menu_calibration/step1_move_init__19dMenu_Calibration_cFv.s"
void dMenu_Calibration_c::step1_move_init() {
setAButtonString(1032); // "Next"
setBButtonString(1377); // "Cancel"
}
#pragma pop
/* ############################################################################################## */
/* 80453F20-80453F28 002520 0004+04 3/3 0/0 0/0 .sdata2 @3911 */
SECTION_SDATA2 static f32 lit_3911[1 + 1 /* padding */] = {
-1.0f,
/* padding */
0.0f,
};
/* 801AF0C0-801AF188 1A9A00 00C8+00 1/0 0/0 0/0 .text step1_move_move__19dMenu_Calibration_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMenu_Calibration_c::step1_move_move() {
nofralloc
#include "asm/d/menu/d_menu_calibration/step1_move_move__19dMenu_Calibration_cFv.s"
void dMenu_Calibration_c::step1_move_move() {
if (mDoCPd_c::getTrigA(PAD_1)) {
mProcess = PROC_STEP2_WAIT;
field_0xff = 0;
Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MENU_NEXT, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
dMeter2Info_set2DVibration();
} else if (mDoCPd_c::getTrigB(PAD_1)) {
field_0x101 = 0;
mStatus = 0;
Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MENU_BACK, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
dMeter2Info_set2DVibration();
}
}
#pragma pop
/* 801AF188-801AF1F4 1A9AC8 006C+00 1/0 0/0 0/0 .text step2_wait_init__19dMenu_Calibration_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMenu_Calibration_c::step2_wait_init() {
nofralloc
#include "asm/d/menu/d_menu_calibration/step2_wait_init__19dMenu_Calibration_cFv.s"
void dMenu_Calibration_c::step2_wait_init() {
field_0xfa = 0;
setAButtonString(0);
setBButtonString(0);
setStepString(1242); // "STEP 2"
setExplainString(1241); // "Please adjust the orange bar so that it matches the exact size and
// position of the Sensor Bar."
mpSelectCursor->offPlayAnime(0);
}
#pragma pop
/* 801AF1F4-801AF380 1A9B34 018C+00 1/0 0/0 0/0 .text step2_wait_move__19dMenu_Calibration_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMenu_Calibration_c::step2_wait_move() {
nofralloc
#include "asm/d/menu/d_menu_calibration/step2_wait_move__19dMenu_Calibration_cFv.s"
void dMenu_Calibration_c::step2_wait_move() {
s16 open_frames = g_drawHIO.mCalibration.mOpenFrames;
field_0xfa++;
if (field_0xfa >= open_frames) {
field_0x58[1]->setAlphaRate(1.0f);
field_0x58[0]->setAlphaRate(0.0f);
field_0x7c->setAlphaRate(0.0f);
field_0x58[2]->setAlphaRate(0.0f);
field_0x90->setAlphaRate(0.0f);
if (field_0xff == 0) {
mpSelectCursor->setAlphaRate(0.0f);
}
mProcess = PROC_STEP2_MOVE;
} else {
f32 alpha_rate = (f32)field_0xfa / (f32)open_frames;
field_0x58[1]->setAlphaRate(alpha_rate);
if (field_0x58[0]->getAlphaRate() != 0.0f) {
field_0x58[0]->setAlphaRate(1.0f - alpha_rate);
field_0x7c->setAlphaRate(1.0f - alpha_rate);
}
if (field_0x58[2]->getAlphaRate() != 0.0f) {
field_0x58[2]->setAlphaRate(1.0f - alpha_rate);
field_0x90->setAlphaRate(1.0f - alpha_rate);
}
if (field_0xff == 0) {
mpSelectCursor->setAlphaRate(alpha_rate);
}
}
}
#pragma pop
/* 801AF380-801AF3BC 1A9CC0 003C+00 1/0 0/0 0/0 .text step2_move_init__19dMenu_Calibration_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMenu_Calibration_c::step2_move_init() {
nofralloc
#include "asm/d/menu/d_menu_calibration/step2_move_init__19dMenu_Calibration_cFv.s"
void dMenu_Calibration_c::step2_move_init() {
setAButtonString(1032); // "Next"
setBButtonString(1017); // "Back"
}
#pragma pop
/* 801AF3BC-801AF488 1A9CFC 00CC+00 1/0 0/0 0/0 .text step2_move_move__19dMenu_Calibration_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMenu_Calibration_c::step2_move_move() {
nofralloc
#include "asm/d/menu/d_menu_calibration/step2_move_move__19dMenu_Calibration_cFv.s"
void dMenu_Calibration_c::step2_move_move() {
if (mDoCPd_c::getTrigA(PAD_1)) {
mProcess = PROC_STEP3_WAIT;
field_0xff = 0;
Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MENU_NEXT, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
dMeter2Info_set2DVibration();
} else if (mDoCPd_c::getTrigB(PAD_1)) {
mProcess = PROC_STEP1_WAIT;
field_0xff = 1;
Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MENU_BACK, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
dMeter2Info_set2DVibration();
}
}
#pragma pop
/* 801AF488-801AF4F8 1A9DC8 0070+00 1/0 0/0 0/0 .text step3_wait_init__19dMenu_Calibration_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMenu_Calibration_c::step3_wait_init() {
nofralloc
#include "asm/d/menu/d_menu_calibration/step3_wait_init__19dMenu_Calibration_cFv.s"
void dMenu_Calibration_c::step3_wait_init() {
field_0xfa = 0;
setAButtonString(0);
setBButtonString(0);
setStepString(1244); // "STEP 3"
setExplainString(1243); // "Point the Wii Remote at the screen and adjust your distance from
// the screen until the blue circle overlaps the orange circle."
field_0xfc = 0;
field_0x90->setAlphaRate(0.0f);
}
#pragma pop
/* 801AF4F8-801AF5F4 1A9E38 00FC+00 1/0 0/0 0/0 .text step3_wait_move__19dMenu_Calibration_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMenu_Calibration_c::step3_wait_move() {
nofralloc
#include "asm/d/menu/d_menu_calibration/step3_wait_move__19dMenu_Calibration_cFv.s"
void dMenu_Calibration_c::step3_wait_move() {
s16 open_frames = g_drawHIO.mCalibration.mOpenFrames;
field_0xfa++;
if (field_0xfa >= open_frames) {
field_0x58[2]->setAlphaRate(1.0f);
field_0x90->setAlphaRate(0.0f);
field_0x58[1]->setAlphaRate(0.0f);
mProcess = PROC_STEP3_MOVE;
} else {
f32 alpha_rate = (f32)field_0xfa / (f32)open_frames;
field_0x58[2]->setAlphaRate(alpha_rate);
field_0x90->setAlphaRate(0.0f);
if (field_0x58[1]->getAlphaRate() != 0.0f) {
field_0x58[1]->setAlphaRate(1.0f - alpha_rate);
}
}
}
#pragma pop
/* 801AF5F4-801AF630 1A9F34 003C+00 1/0 0/0 0/0 .text step3_move_init__19dMenu_Calibration_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMenu_Calibration_c::step3_move_init() {
nofralloc
#include "asm/d/menu/d_menu_calibration/step3_move_init__19dMenu_Calibration_cFv.s"
void dMenu_Calibration_c::step3_move_init() {
setAButtonString(1378); // "End"
setBButtonString(1017); // "Back"
}
#pragma pop
/* 801AF630-801AF710 1A9F70 00E0+00 1/0 0/0 0/0 .text step3_move_move__19dMenu_Calibration_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMenu_Calibration_c::step3_move_move() {
nofralloc
#include "asm/d/menu/d_menu_calibration/step3_move_move__19dMenu_Calibration_cFv.s"
void dMenu_Calibration_c::step3_move_move() {
if (mDoCPd_c::getTrigA(PAD_1)) {
mStatus = 0;
field_0x101 = 1;
Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MENU_BACK, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
dMeter2Info_set2DVibration();
setCalibrationValue();
} else if (mDoCPd_c::getTrigB(PAD_1)) {
mProcess = PROC_STEP2_WAIT;
field_0xff = 1;
Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MENU_BACK, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
dMeter2Info_set2DVibration();
}
}
#pragma pop
/* 801AF710-801AF738 1AA050 0028+00 1/1 0/0 0/0 .text setCalibrationValue__19dMenu_Calibration_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMenu_Calibration_c::setCalibrationValue() {
nofralloc
#include "asm/d/menu/d_menu_calibration/setCalibrationValue__19dMenu_Calibration_cFv.s"
void dMenu_Calibration_c::setCalibrationValue() {
dComIfGs_setOptCalValue(mCalibrationValue);
dComIfGs_setOptCalibrateDist(mCalibrateDist);
field_0xec = mCalibrationValue;
field_0xf6 = mCalibrateDist;
}
#pragma pop
/* ############################################################################################## */
/* 80394F70-80394F70 0215D0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80394F70 = "";
/* @stringBase0 padding */
SECTION_DEAD static char const* const pad_80394F71 = "\0\0\0\0\0\0";
#pragma pop
/* 801AF738-801AF7E8 1AA078 00B0+00 6/6 0/0 0/0 .text setAButtonString__19dMenu_Calibration_cFUs
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMenu_Calibration_c::setAButtonString(u16 param_0) {
nofralloc
#include "asm/d/menu/d_menu_calibration/setAButtonString__19dMenu_Calibration_cFUs.s"
void dMenu_Calibration_c::setAButtonString(u16 i_stringID) {
if (i_stringID == 0) {
for (int i = 0; i < 5; i++) {
strcpy(mpAButtonString[i]->getStringPtr(), "");
}
} else {
for (int i = 0; i < 5; i++) {
dMeter2Info_getStringKanji(i_stringID, mpAButtonString[i]->getStringPtr(), NULL);
}
}
}
#pragma pop
/* 801AF7E8-801AF898 1AA128 00B0+00 6/6 0/0 0/0 .text setBButtonString__19dMenu_Calibration_cFUs
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMenu_Calibration_c::setBButtonString(u16 param_0) {
nofralloc
#include "asm/d/menu/d_menu_calibration/setBButtonString__19dMenu_Calibration_cFUs.s"
void dMenu_Calibration_c::setBButtonString(u16 i_stringID) {
if (i_stringID == 0) {
for (int i = 0; i < 5; i++) {
strcpy(mpBButtonString[i]->getStringPtr(), "");
}
} else {
for (int i = 0; i < 5; i++) {
dMeter2Info_getStringKanji(i_stringID, mpBButtonString[i]->getStringPtr(), NULL);
}
}
}
#pragma pop
/* 801AF898-801AF948 1AA1D8 00B0+00 3/3 0/0 0/0 .text setStepString__19dMenu_Calibration_cFUs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMenu_Calibration_c::setStepString(u16 param_0) {
nofralloc
#include "asm/d/menu/d_menu_calibration/setStepString__19dMenu_Calibration_cFUs.s"
void dMenu_Calibration_c::setStepString(u16 i_stringID) {
if (i_stringID == 0) {
for (int i = 0; i < 3; i++) {
strcpy(mpStepString[i]->getStringPtr(), "");
}
} else {
for (int i = 0; i < 3; i++) {
dMeter2Info_getStringKanji(i_stringID, mpStepString[i]->getStringPtr(), NULL);
}
}
}
#pragma pop
/* 801AF948-801AFA00 1AA288 00B8+00 3/3 0/0 0/0 .text setExplainString__19dMenu_Calibration_cFUs
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMenu_Calibration_c::setExplainString(u16 param_0) {
nofralloc
#include "asm/d/menu/d_menu_calibration/setExplainString__19dMenu_Calibration_cFUs.s"
void dMenu_Calibration_c::setExplainString(u16 i_stringID) {
if (i_stringID == 0) {
for (int i = 0; i < 3; i++) {
strcpy(mpExplainString[i]->getStringPtr(), "");
}
} else {
for (int i = 0; i < 3; i++) {
mpMsgString->getString(i_stringID, mpExplainString[i], NULL, NULL, NULL, 0);
}
}
}
#pragma pop
/* 801AFA00-801AFBF4 1AA340 01F4+00 1/1 0/0 0/0 .text setHIO__19dMenu_Calibration_cFb */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMenu_Calibration_c::setHIO(bool param_0) {
nofralloc
#include "asm/d/menu/d_menu_calibration/setHIO__19dMenu_Calibration_cFb.s"
void dMenu_Calibration_c::setHIO(bool i_useHIO) {
if (i_useHIO || g_drawHIO.mCalibration.mDebug) {
field_0x7c->scale(g_drawHIO.mCalibration.mCircleScale, g_drawHIO.mCalibration.mCircleScale);
field_0x90->scale(g_drawHIO.mCalibration.mCircleScale2,
g_drawHIO.mCalibration.mCircleScale2);
}
if (g_drawHIO.mCollectScreen.mButtonDebugON || i_useHIO) {
if (field_0x94 != NULL) {
field_0x94->paneTrans(g_drawHIO.mCollectScreen.mAButtonPosX,
g_drawHIO.mCollectScreen.mAButtonPosY);
field_0x94->scale(g_drawHIO.mCollectScreen.mAButtonScale,
g_drawHIO.mCollectScreen.mAButtonScale);
}
if (field_0x98 != NULL) {
field_0x98->paneTrans(g_drawHIO.mCollectScreen.mBButtonPosX,
g_drawHIO.mCollectScreen.mBButtonPosY);
field_0x98->scale(g_drawHIO.mCollectScreen.mBButtonScale,
g_drawHIO.mCollectScreen.mBButtonScale);
}
if (field_0x9c != NULL) {
field_0x9c->paneTrans(g_drawHIO.mCollectScreen.mAButtonTextPosX,
g_drawHIO.mCollectScreen.mAButtonTextPosY);
field_0x9c->scale(g_drawHIO.mCollectScreen.mAButtonTextScale,
g_drawHIO.mCollectScreen.mAButtonTextScale);
}
if (field_0xa0 != NULL) {
field_0xa0->paneTrans(g_drawHIO.mCollectScreen.mBButtonTextPosX,
g_drawHIO.mCollectScreen.mBButtonTextPosY);
field_0xa0->scale(g_drawHIO.mCollectScreen.mBButtonTextScale,
g_drawHIO.mCollectScreen.mBButtonTextScale);
}
}
}
#pragma pop
/* 801AFBF4-801AFC14 1AA534 0020+00 1/0 0/0 0/0 .text draw__19dMenu_Calibration_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMenu_Calibration_c::draw() {
nofralloc
#include "asm/d/menu/d_menu_calibration/draw__19dMenu_Calibration_cFv.s"
void dMenu_Calibration_c::draw() {
_draw();
}
#pragma pop
/* 801AFC14-801AFD48 1AA554 0134+00 0/0 1/0 0/0 .text __sinit_d_menu_calibration_cpp */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void __sinit_d_menu_calibration_cpp() {
nofralloc
#include "asm/d/menu/d_menu_calibration/__sinit_d_menu_calibration_cpp.s"
}
#pragma pop
#pragma push
#pragma force_active on
REGISTER_CTORS(0x801AFC14, __sinit_d_menu_calibration_cpp);
#pragma pop
/* 80394F70-80394F70 0215D0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
+8 -33
View File
@@ -1,47 +1,22 @@
//
// Generated By: dol2asm
// Translation Unit: d/menu/d_menu_window_HIO
//
/**
* d_menu_window_HIO.cpp
* Menu HostIO functionality
*/
#include "d/menu/d_menu_window_HIO.h"
#include "d/com/d_com_inf_game.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Declarations:
//
/* 801F9AFC-801F9B38 1F443C 003C+00 1/1 0/0 0/0 .text __ct__9dMw_HIO_cFv */
dMw_HIO_c::dMw_HIO_c() {
init();
}
/* ############################################################################################## */
/* 80450748-8045074C 0001C8 0003+01 1/1 0/0 0/0 .sdata m_cloth_item$3797 */
static u8 m_cloth_item[3] = {
WEAR_KOKIRI,
ARMOR,
WEAR_ZORA,
};
/* 8045074C-80450750 0001CC 0004+00 1/1 0/0 0/0 .sdata m_sword_item$3798 */
static u8 m_sword_item[4] = {
SWORD,
MASTER_SWORD,
LIGHT_SWORD,
WOOD_STICK,
};
/* 80450750-80450758 0001D0 0003+05 1/1 0/0 0/0 .sdata m_shield_item$3799 */
static u8 m_shield_item[3] = {
SHIELD,
HYLIA_SHIELD,
WOOD_SHIELD,
};
/* 801F9B38-801F9E14 1F4478 02DC+00 1/1 0/0 0/0 .text init__9dMw_HIO_cFv */
void dMw_HIO_c::init() {
static u8 m_cloth_item[3] = {WEAR_KOKIRI, ARMOR, WEAR_ZORA};
static u8 m_sword_item[4] = {SWORD, MASTER_SWORD, LIGHT_SWORD, WOOD_STICK};
static u8 m_shield_item[3] = {SHIELD, HYLIA_SHIELD, WOOD_SHIELD};
mArrowFlag = 0;
mBombFlag = 0;
mPachinkoFlag = 0;
+2 -2
View File
@@ -948,7 +948,7 @@ void dMeter2Draw_c::init() {
}
/* 8021135C-8021151C 20BC9C 01C0+00 0/0 1/1 0/0 .text exec__13dMeter2Draw_cFUl */
void dMeter2Draw_c::exec(u32 param_0) {
void dMeter2Draw_c::exec(u32 i_status) {
if (mHUDScale != g_drawHIO.mHUDScale) {
mHUDScale = g_drawHIO.mHUDScale;
mpParent->scale(g_drawHIO.mHUDScale, g_drawHIO.mHUDScale);
@@ -959,7 +959,7 @@ void dMeter2Draw_c::exec(u32 param_0) {
mpParent->setAlphaRate(g_drawHIO.mHUDAlpha);
}
if (param_0 & 0x1000000) {
if (i_status & 0x1000000) {
if (mButtonsPosX != g_drawHIO.mRingHUDButtonsPosX ||
mButtonsPosY != g_drawHIO.mRingHUDButtonsPosY)
{