d_a_obj_lv4CandleTag / d_a_obj_lv4EdShutter done, d_a_obj_picture almost (#2755)

This commit is contained in:
TakaRikka
2025-10-23 06:41:00 -06:00
committed by GitHub
parent 9bebc819ab
commit 70eefa53c7
8 changed files with 966 additions and 1371 deletions
+105 -275
View File
@@ -1,363 +1,193 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_obj_lv4CandleTag
//
#include "d/dolzel_rel.h" // IWYU pragma: keep
#include "d/actor/d_a_obj_lv4CandleTag.h"
#include "dol2asm.h"
//
// Forward References:
//
class dalv4CandleTag_HIO_c : public mDoHIO_entry_c {
public:
/* 80C5D44C */ dalv4CandleTag_HIO_c();
/* 80C5D9C0 */ virtual ~dalv4CandleTag_HIO_c() {}
extern "C" void __ct__20dalv4CandleTag_HIO_cFv();
extern "C" void __dt__14mDoHIO_entry_cFv();
extern "C" void setBaseMtx__16dalv4CandleTag_cFv();
extern "C" void create__16dalv4CandleTag_cFv();
extern "C" void Execute__16dalv4CandleTag_cFv();
extern "C" void procMain__16dalv4CandleTag_cFv();
extern "C" void init_modeWatch__16dalv4CandleTag_cFv();
extern "C" void modeWatch__16dalv4CandleTag_cFv();
extern "C" void init_modeNG__16dalv4CandleTag_cFv();
extern "C" void modeNG__16dalv4CandleTag_cFv();
extern "C" void init_modeNGWait__16dalv4CandleTag_cFv();
extern "C" void modeNGWait__16dalv4CandleTag_cFv();
extern "C" void init_modeEnd__16dalv4CandleTag_cFv();
extern "C" void modeEnd__16dalv4CandleTag_cFv();
extern "C" void eventStart__16dalv4CandleTag_cFv();
extern "C" bool Draw__16dalv4CandleTag_cFv();
extern "C" bool Delete__16dalv4CandleTag_cFv();
extern "C" static void dalv4CandleTag_Draw__FP16dalv4CandleTag_c();
extern "C" static void dalv4CandleTag_Execute__FP16dalv4CandleTag_c();
extern "C" static void dalv4CandleTag_Delete__FP16dalv4CandleTag_c();
extern "C" static void dalv4CandleTag_Create__FP10fopAc_ac_c();
extern "C" void __dt__20dalv4CandleTag_HIO_cFv();
extern "C" void __sinit_d_a_obj_lv4CandleTag_cpp();
extern "C" static void func_80C5DA58();
extern "C" static void func_80C5DA60();
extern "C" void __dt__17dEvLib_callback_cFv();
extern "C" bool eventRun__17dEvLib_callback_cFv();
extern "C" bool eventEnd__17dEvLib_callback_cFv();
extern "C" bool eventStart__17dEvLib_callback_cFv();
extern "C" void __dt__16dalv4CandleTag_cFv();
void genMessage(JORMContext*);
//
// External References:
//
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void __dt__10fopAc_ac_cFv();
extern "C" void offSwitch__10dSv_info_cFii();
extern "C" void isSwitch__10dSv_info_cCFii();
extern "C" void eventUpdate__17dEvLib_callback_cFv();
extern "C" void orderEvent__17dEvLib_callback_cFiii();
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
extern "C" void __dl__FPv();
extern "C" void __ptmf_scall();
extern "C" void _savegpr_28();
extern "C" void _restgpr_28();
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
extern "C" void __register_global_object();
//
// Declarations:
//
/* 80C5DB84-80C5DB90 -00001 000C+00 0/1 0/0 0/0 .data @3686 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3686[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)modeWatch__16dalv4CandleTag_cFv,
};
#pragma pop
/* 80C5DB90-80C5DB9C -00001 000C+00 0/1 0/0 0/0 .data @3687 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3687[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)modeNG__16dalv4CandleTag_cFv,
};
#pragma pop
/* 80C5DB9C-80C5DBA8 -00001 000C+00 0/1 0/0 0/0 .data @3688 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3688[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)modeNGWait__16dalv4CandleTag_cFv,
};
#pragma pop
/* 80C5DBA8-80C5DBB4 -00001 000C+00 0/1 0/0 0/0 .data @3689 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3689[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)modeEnd__16dalv4CandleTag_cFv,
};
#pragma pop
/* 80C5DBB4-80C5DBE4 000050 0030+00 0/1 0/0 0/0 .data mode_proc$3685 */
#pragma push
#pragma force_active on
SECTION_DATA static u8 mode_proc[48] = {
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,
};
#pragma pop
/* 80C5DBE4-80C5DC04 -00001 0020+00 1/0 0/0 0/0 .data l_dalv4CandleTag_Method */
SECTION_DATA static void* l_dalv4CandleTag_Method[8] = {
(void*)dalv4CandleTag_Create__FP10fopAc_ac_c,
(void*)dalv4CandleTag_Delete__FP16dalv4CandleTag_c,
(void*)dalv4CandleTag_Execute__FP16dalv4CandleTag_c,
(void*)NULL,
(void*)dalv4CandleTag_Draw__FP16dalv4CandleTag_c,
(void*)NULL,
(void*)NULL,
(void*)NULL,
};
/* 80C5DC04-80C5DC34 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_Lv4Candle */
SECTION_DATA extern void* g_profile_Tag_Lv4Candle[12] = {
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
(void*)0x01730000, (void*)&g_fpcLf_Method,
(void*)0x0000058C, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x021C0000, (void*)&l_dalv4CandleTag_Method,
(void*)0x00044000, (void*)0x000E0000,
};
/* 80C5DC34-80C5DC5C 0000D0 0028+00 2/2 0/0 0/0 .data __vt__16dalv4CandleTag_c */
SECTION_DATA extern void* __vt__16dalv4CandleTag_c[10] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)func_80C5DA60,
(void*)func_80C5DA58,
(void*)eventRun__17dEvLib_callback_cFv,
(void*)eventEnd__17dEvLib_callback_cFv,
(void*)__dt__16dalv4CandleTag_cFv,
(void*)eventStart__16dalv4CandleTag_cFv,
};
/* 80C5DC5C-80C5DC74 0000F8 0018+00 3/3 0/0 0/0 .data __vt__17dEvLib_callback_c */
SECTION_DATA extern void* __vt__17dEvLib_callback_c[6] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__17dEvLib_callback_cFv,
(void*)eventStart__17dEvLib_callback_cFv,
(void*)eventRun__17dEvLib_callback_cFv,
(void*)eventEnd__17dEvLib_callback_cFv,
};
/* 80C5DC74-80C5DC80 000110 000C+00 2/2 0/0 0/0 .data __vt__20dalv4CandleTag_HIO_c */
SECTION_DATA extern void* __vt__20dalv4CandleTag_HIO_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__20dalv4CandleTag_HIO_cFv,
};
/* 80C5DC80-80C5DC8C 00011C 000C+00 3/3 0/0 0/0 .data __vt__14mDoHIO_entry_c */
SECTION_DATA extern void* __vt__14mDoHIO_entry_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__14mDoHIO_entry_cFv,
/* 0x4 */ u8 mTimer;
};
/* 80C5D44C-80C5D470 0000EC 0024+00 1/1 0/0 0/0 .text __ct__20dalv4CandleTag_HIO_cFv */
dalv4CandleTag_HIO_c::dalv4CandleTag_HIO_c() {
// NONMATCHING
}
/* 80C5D470-80C5D4B8 000110 0048+00 1/0 0/0 0/0 .text __dt__14mDoHIO_entry_cFv */
// mDoHIO_entry_c::~mDoHIO_entry_c() {
extern "C" void __dt__14mDoHIO_entry_cFv() {
// NONMATCHING
mTimer = 60;
}
/* 80C5D4B8-80C5D4F0 000158 0038+00 2/2 0/0 0/0 .text setBaseMtx__16dalv4CandleTag_cFv */
void dalv4CandleTag_c::setBaseMtx() {
// NONMATCHING
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
}
/* 80C5D4F0-80C5D5D4 000190 00E4+00 1/1 0/0 0/0 .text create__16dalv4CandleTag_cFv */
cPhs__Step dalv4CandleTag_c::create() {
// NONMATCHING
int dalv4CandleTag_c::create() {
fopAcM_ct(this, dalv4CandleTag_c);
setBaseMtx();
mSwTop = getSwTop();
mSwOK = getSwOK();
mSwNG = getSwNG();
mSwTotal = getSwTotal();
if (fopAcM_isSwitch(this, mSwOK)) {
init_modeEnd();
} else {
init_modeWatch();
}
return cPhs_COMPLEATE_e;
}
/* 80C5D5D4-80C5D618 000274 0044+00 1/1 0/0 0/0 .text Execute__16dalv4CandleTag_cFv */
int dalv4CandleTag_c::Execute() {
// NONMATCHING
eventUpdate();
procMain();
setBaseMtx();
return 1;
}
/* ############################################################################################## */
/* 80C5DC98-80C5DCA4 000008 000C+00 1/1 0/0 0/0 .bss @3624 */
static u8 lit_3624[12];
/* 80C5DCA4-80C5DCAC 000014 0008+00 2/2 0/0 0/0 .bss l_HIO */
static u8 l_HIO[8];
/* 80C5DCAC-80C5DCB0 00001C 0004+00 1/1 0/0 0/0 .bss None */
static u8 data_80C5DCAC[4];
static dalv4CandleTag_HIO_c l_HIO;
/* 80C5D618-80C5D6D4 0002B8 00BC+00 1/1 0/0 0/0 .text procMain__16dalv4CandleTag_cFv */
void dalv4CandleTag_c::procMain() {
// NONMATCHING
static void (dalv4CandleTag_c::*mode_proc[])() = {
&dalv4CandleTag_c::modeWatch,
&dalv4CandleTag_c::modeNG,
&dalv4CandleTag_c::modeNGWait,
&dalv4CandleTag_c::modeEnd,
};
(this->*mode_proc[mMode])();
}
/* 80C5D6D4-80C5D6E0 000374 000C+00 2/2 0/0 0/0 .text init_modeWatch__16dalv4CandleTag_cFv */
void dalv4CandleTag_c::init_modeWatch() {
// NONMATCHING
mMode = 0;
}
/* 80C5D6E0-80C5D78C 000380 00AC+00 1/0 0/0 0/0 .text modeWatch__16dalv4CandleTag_cFv */
void dalv4CandleTag_c::modeWatch() {
// NONMATCHING
if (fopAcM_isSwitch(this, mSwOK)) {
init_modeEnd();
} else if (fopAcM_isSwitch(this, mSwNG)) {
if (getEventID() != 0xFF) {
orderEvent(getEventID(), 0xFF, 1);
} else {
eventStart();
}
}
}
/* ############################################################################################## */
/* 80C5DB5C-80C5DB60 000000 0004+00 1/1 0/0 0/0 .rodata @3727 */
SECTION_RODATA static f32 const lit_3727 = 1.0f;
COMPILER_STRIP_GATE(0x80C5DB5C, &lit_3727);
/* 80C5DB60-80C5DB64 000004 0004+00 1/1 0/0 0/0 .rodata @3728 */
SECTION_RODATA static f32 const lit_3728 = -1.0f;
COMPILER_STRIP_GATE(0x80C5DB60, &lit_3728);
/* 80C5D78C-80C5D814 00042C 0088+00 1/1 0/0 0/0 .text init_modeNG__16dalv4CandleTag_cFv
*/
void dalv4CandleTag_c::init_modeNG() {
// NONMATCHING
mTimer = l_HIO.mTimer;
mDoAud_seStart(Z2SE_OBJ_LV4_CNDL_MISS, NULL, 0, 0);
mMode = 1;
}
/* 80C5D814-80C5D8A0 0004B4 008C+00 1/0 0/0 0/0 .text modeNG__16dalv4CandleTag_cFv */
void dalv4CandleTag_c::modeNG() {
// NONMATCHING
if (mTimer != 0) {
mTimer--;
} else {
u8 swbit = mSwTop;
for (int i = 0; i < mSwTotal; i++) {
fopAcM_offSwitch(this, swbit);
swbit++;
}
init_modeNGWait();
}
}
/* 80C5D8A0-80C5D8AC 000540 000C+00 1/1 0/0 0/0 .text init_modeNGWait__16dalv4CandleTag_cFv */
void dalv4CandleTag_c::init_modeNGWait() {
// NONMATCHING
mMode = 2;
}
/* 80C5D8AC-80C5D8FC 00054C 0050+00 1/0 0/0 0/0 .text modeNGWait__16dalv4CandleTag_cFv */
void dalv4CandleTag_c::modeNGWait() {
// NONMATCHING
if (!fopAcM_isSwitch(this, mSwNG)) {
init_modeWatch();
}
}
/* 80C5D8FC-80C5D908 00059C 000C+00 2/2 0/0 0/0 .text init_modeEnd__16dalv4CandleTag_cFv
*/
void dalv4CandleTag_c::init_modeEnd() {
// NONMATCHING
mMode = 3;
}
/* 80C5D908-80C5D90C 0005A8 0004+00 1/0 0/0 0/0 .text modeEnd__16dalv4CandleTag_cFv */
void dalv4CandleTag_c::modeEnd() {
/* empty function */
}
void dalv4CandleTag_c::modeEnd() {}
/* 80C5D90C-80C5D930 0005AC 0024+00 2/1 0/0 0/0 .text eventStart__16dalv4CandleTag_cFv */
bool dalv4CandleTag_c::eventStart() {
// NONMATCHING
init_modeNG();
return true;
}
/* 80C5D930-80C5D938 0005D0 0008+00 1/1 0/0 0/0 .text Draw__16dalv4CandleTag_cFv */
int dalv4CandleTag_c::Draw() {
return true;
return 1;
}
/* 80C5D938-80C5D940 0005D8 0008+00 1/1 0/0 0/0 .text Delete__16dalv4CandleTag_cFv */
int dalv4CandleTag_c::Delete() {
return true;
return 1;
}
/* 80C5D940-80C5D960 0005E0 0020+00 1/0 0/0 0/0 .text dalv4CandleTag_Draw__FP16dalv4CandleTag_c */
static void dalv4CandleTag_Draw(dalv4CandleTag_c* param_0) {
// NONMATCHING
static int dalv4CandleTag_Draw(dalv4CandleTag_c* i_this) {
return i_this->Draw();
}
/* 80C5D960-80C5D980 000600 0020+00 1/0 0/0 0/0 .text dalv4CandleTag_Execute__FP16dalv4CandleTag_c
*/
static void dalv4CandleTag_Execute(dalv4CandleTag_c* param_0) {
// NONMATCHING
static int dalv4CandleTag_Execute(dalv4CandleTag_c* i_this) {
return i_this->Execute();
}
/* 80C5D980-80C5D9A0 000620 0020+00 1/0 0/0 0/0 .text dalv4CandleTag_Delete__FP16dalv4CandleTag_c
*/
static void dalv4CandleTag_Delete(dalv4CandleTag_c* param_0) {
// NONMATCHING
static int dalv4CandleTag_Delete(dalv4CandleTag_c* i_this) {
return i_this->Delete();
}
/* 80C5D9A0-80C5D9C0 000640 0020+00 1/0 0/0 0/0 .text dalv4CandleTag_Create__FP10fopAc_ac_c */
static void dalv4CandleTag_Create(fopAc_ac_c* param_0) {
// NONMATCHING
static int dalv4CandleTag_Create(fopAc_ac_c* i_this) {
return ((dalv4CandleTag_c*)i_this)->create();
}
/* 80C5D9C0-80C5DA1C 000660 005C+00 2/1 0/0 0/0 .text __dt__20dalv4CandleTag_HIO_cFv */
// dalv4CandleTag_HIO_c::~dalv4CandleTag_HIO_c() {
extern "C" void __dt__20dalv4CandleTag_HIO_cFv() {
// NONMATCHING
}
/* 80C5DBE4-80C5DC04 -00001 0020+00 1/0 0/0 0/0 .data l_dalv4CandleTag_Method */
static actor_method_class l_dalv4CandleTag_Method = {
(process_method_func)dalv4CandleTag_Create,
(process_method_func)dalv4CandleTag_Delete,
(process_method_func)dalv4CandleTag_Execute,
NULL,
(process_method_func)dalv4CandleTag_Draw,
};
/* 80C5DA1C-80C5DA58 0006BC 003C+00 0/0 1/0 0/0 .text __sinit_d_a_obj_lv4CandleTag_cpp */
void __sinit_d_a_obj_lv4CandleTag_cpp() {
// NONMATCHING
}
#pragma push
#pragma force_active on
REGISTER_CTORS(0x80C5DA1C, __sinit_d_a_obj_lv4CandleTag_cpp);
#pragma pop
/* 80C5DA58-80C5DA60 0006F8 0008+00 1/0 0/0 0/0 .text @1392@eventStart__16dalv4CandleTag_cFv */
static void func_80C5DA58() {
// NONMATCHING
}
/* 80C5DA60-80C5DA68 000700 0008+00 1/0 0/0 0/0 .text @1392@__dt__16dalv4CandleTag_cFv */
static void func_80C5DA60() {
// NONMATCHING
}
/* 80C5DA68-80C5DAB0 000708 0048+00 1/0 0/0 0/0 .text __dt__17dEvLib_callback_cFv */
// dEvLib_callback_c::~dEvLib_callback_c() {
extern "C" void __dt__17dEvLib_callback_cFv() {
// NONMATCHING
}
/* 80C5DAB0-80C5DAB8 000750 0008+00 2/0 0/0 0/0 .text eventRun__17dEvLib_callback_cFv */
// int dEvLib_callback_c::eventRun() {
extern "C" bool eventRun__17dEvLib_callback_cFv() {
return true;
}
/* 80C5DAB8-80C5DAC0 000758 0008+00 2/0 0/0 0/0 .text eventEnd__17dEvLib_callback_cFv */
// int dEvLib_callback_c::eventEnd() {
extern "C" bool eventEnd__17dEvLib_callback_cFv() {
return true;
}
/* 80C5DAC0-80C5DAC8 000760 0008+00 1/0 0/0 0/0 .text eventStart__17dEvLib_callback_cFv
*/
// int dEvLib_callback_c::eventStart() {
extern "C" bool eventStart__17dEvLib_callback_cFv() {
return true;
}
/* 80C5DAC8-80C5DB48 000768 0080+00 2/1 0/0 0/0 .text __dt__16dalv4CandleTag_cFv */
// dalv4CandleTag_c::~dalv4CandleTag_c() {
extern "C" void __dt__16dalv4CandleTag_cFv() {
// NONMATCHING
}
/* 80C5DC04-80C5DC34 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_Lv4Candle */
extern actor_process_profile_definition g_profile_Tag_Lv4Candle = {
fpcLy_CURRENT_e, // mLayerID
7, // mListID
fpcPi_CURRENT_e, // mListPrio
PROC_Tag_Lv4Candle, // mProcName
&g_fpcLf_Method.base, // sub_method
sizeof(dalv4CandleTag_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
540, // mPriority
&l_dalv4CandleTag_Method, // sub_method
0x00044000, // mStatus
fopAc_ACTOR_e, // mActorType
fopAc_CULLBOX_CUSTOM_e, // cullType
};
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -2515,9 +2515,9 @@ int dMsgFlow_c::event027(mesg_flow_node_event* i_flowNode_p, fopAc_ac_c* i_speak
// NONMATCHING regalloc
int dMsgFlow_c::event028(mesg_flow_node_event* i_flowNode_p, fopAc_ac_c* i_speaker_p) {
u8 pos = dComIfGs_getTmpReg(0xFBFF) - 1;
dMsgObject_c::setSelectCursorPos(pos);
u8 BombBag = dMsgObject_c::getSelectBombBagID();
s16 BombPrice = dMsgObject_c::getSelectBombPrice();
dMsgObject_setSelectCursorPos(pos);
u8 BombBag = dMsgObject_getSelectBombBagID();
s16 BombPrice = dMsgObject_getSelectBombPrice();
dComIfGp_setItemRupeeCount(BombPrice);
dComIfGs_setBombNum(BombBag, 0);