mirror of https://github.com/zeldaret/tp.git
parent
f15a9c673e
commit
3fa6b50e6a
|
@ -1,6 +1,8 @@
|
|||
#ifndef D_A_OBJ_LV3WATER_H
|
||||
#define D_A_OBJ_LV3WATER_H
|
||||
|
||||
#include "d/d_bg_s_movebg_actor.h"
|
||||
#include "d/d_event_lib.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
/**
|
||||
|
@ -11,32 +13,67 @@
|
|||
* @details
|
||||
*
|
||||
*/
|
||||
class daLv3Water_c : public fopAc_ac_c {
|
||||
class daLv3Water_c : public dBgS_MoveBgActor,
|
||||
public request_of_phase_process_class,
|
||||
public dEvLib_callback_c {
|
||||
public:
|
||||
typedef void (daLv3Water_c::*modeFunc)();
|
||||
|
||||
enum Mode {
|
||||
WAIT,
|
||||
LEVEL_CTRL,
|
||||
};
|
||||
|
||||
daLv3Water_c() : dEvLib_callback_c(this) {}
|
||||
|
||||
/* 80C58838 */ void setBaseMtx();
|
||||
/* 80C5891C */ void CreateHeap();
|
||||
/* 80C58ABC */ void create();
|
||||
/* 80C58D68 */ void Execute(f32 (**)[3][4]);
|
||||
/* 80C5891C */ virtual int CreateHeap();
|
||||
/* 80C58ABC */ int create();
|
||||
/* 80C58D68 */ virtual int Execute(Mtx**);
|
||||
/* 80C58E20 */ void effectSet();
|
||||
/* 80C596F4 */ void mode_proc_wait();
|
||||
/* 80C59754 */ void mode_init_levelCtrl();
|
||||
/* 80C597FC */ void mode_proc_levelCtrl();
|
||||
/* 80C598BC */ void Draw();
|
||||
/* 80C59AA0 */ void Delete();
|
||||
/* 80C59AE0 */ void eventStart();
|
||||
/* 80C59D80 */ ~daLv3Water_c();
|
||||
/* 80C598BC */ virtual int Draw();
|
||||
/* 80C59AA0 */ virtual int Delete();
|
||||
|
||||
/* 80C59D80 */ virtual ~daLv3Water_c();
|
||||
/* 80C59AE0 */ virtual BOOL eventStart();
|
||||
|
||||
int getParam() { return fpcM_GetParam(this) >> 0xC & 0x0FFF; }
|
||||
int getParamSw() { return fpcM_GetParam(this) & 0xFF; }
|
||||
int getParamEvent() { return shape_angle.x & 0xFF; }
|
||||
u8 getParamType() { return (shape_angle.x >> 8) & 0xFF; }
|
||||
u8 getType() { return mType; }
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x628 - 0x568];
|
||||
/* 0x5B8 */ request_of_phase_process_class mPhase;
|
||||
/* 0x5C0 */ J3DModel* mpModel1;
|
||||
/* 0x5C4 */ J3DModel* mpModel2;
|
||||
/* 0x5C8 */ mDoExt_btkAnm mBtk1;
|
||||
/* 0x5E0 */ mDoExt_btkAnm mBtk2;
|
||||
/* 0x5F8 */ u8 mMode;
|
||||
/* 0x5F9 */ u8 mType;
|
||||
/* 0x5FC */ f32 field_0x5fc;
|
||||
/* 0x600 */ u8 field_0x600;
|
||||
/* 0x601 */ u8 field_0x601;
|
||||
/* 0x602 */ u8 mSwitch1;
|
||||
/* 0x603 */ u8 mSwitch2;
|
||||
/* 0x604 */ u8 field_0x604;
|
||||
/* 0x605 */ u8 field_0x605;
|
||||
/* 0x608 */ u32 mEmitterIDs[8];
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daLv3Water_c) == 0x628);
|
||||
|
||||
class daLv3Water_HIO_c {
|
||||
class daLv3Water_HIO_c : public mDoHIO_entry_c {
|
||||
public:
|
||||
/* 80C587CC */ daLv3Water_HIO_c();
|
||||
/* 80C59C34 */ ~daLv3Water_HIO_c();
|
||||
/* 80C59C34 */ virtual ~daLv3Water_HIO_c();
|
||||
|
||||
/* 0x00 */ /* vtable */
|
||||
|
||||
/* 0x04 */ u8 field_0x04;
|
||||
};
|
||||
|
||||
|
||||
#endif /* D_A_OBJ_LV3WATER_H */
|
||||
|
|
|
@ -1,138 +1,25 @@
|
|||
/**
|
||||
* @file d_a_obj_lv3Water.cpp
|
||||
*
|
||||
*/
|
||||
*
|
||||
*/
|
||||
|
||||
#include "d/actor/d_a_obj_lv3Water.h"
|
||||
#include "dol2asm.h"
|
||||
#include "JSystem/J3DGraphBase/J3DMaterial.h"
|
||||
#include "d/d_bg_w.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "d/d_procname.h"
|
||||
#include "f_op/f_op_msg_mng.h"
|
||||
|
||||
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__16daLv3Water_HIO_cFv();
|
||||
extern "C" void __dt__14mDoHIO_entry_cFv();
|
||||
extern "C" void setBaseMtx__12daLv3Water_cFv();
|
||||
extern "C" void CreateHeap__12daLv3Water_cFv();
|
||||
extern "C" void create__12daLv3Water_cFv();
|
||||
extern "C" void __dt__12J3DFrameCtrlFv();
|
||||
extern "C" void Execute__12daLv3Water_cFPPA3_A4_f();
|
||||
extern "C" void effectSet__12daLv3Water_cFv();
|
||||
extern "C" void mode_proc_wait__12daLv3Water_cFv();
|
||||
extern "C" void mode_init_levelCtrl__12daLv3Water_cFv();
|
||||
extern "C" void mode_proc_levelCtrl__12daLv3Water_cFv();
|
||||
extern "C" void Draw__12daLv3Water_cFv();
|
||||
extern "C" void Delete__12daLv3Water_cFv();
|
||||
extern "C" void eventStart__12daLv3Water_cFv();
|
||||
extern "C" static void daLv3Water_Draw__FP12daLv3Water_c();
|
||||
extern "C" static void daLv3Water_Execute__FP12daLv3Water_c();
|
||||
extern "C" static void daLv3Water_Delete__FP12daLv3Water_c();
|
||||
extern "C" static void daLv3Water_Create__FP10fopAc_ac_c();
|
||||
extern "C" void __dt__16daLv3Water_HIO_cFv();
|
||||
extern "C" void __sinit_d_a_obj_lv3Water_cpp();
|
||||
extern "C" static void func_80C59D10();
|
||||
extern "C" static void func_80C59D18();
|
||||
extern "C" void __dt__17dEvLib_callback_cFv();
|
||||
extern "C" bool eventStart__17dEvLib_callback_cFv();
|
||||
extern "C" bool eventRun__17dEvLib_callback_cFv();
|
||||
extern "C" bool eventEnd__17dEvLib_callback_cFv();
|
||||
extern "C" void __dt__12daLv3Water_cFv();
|
||||
extern "C" extern char const* const d_a_obj_lv3Water__stringBase0;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoMtx_YrotM__FPA4_fs();
|
||||
extern "C" void play__14mDoExt_baseAnmFv();
|
||||
extern "C" void init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifss();
|
||||
extern "C" void entry__13mDoExt_btkAnmFP16J3DMaterialTablef();
|
||||
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
|
||||
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
|
||||
extern "C" void __dt__10fopAc_ac_cFv();
|
||||
extern "C" void fopMsgM_valueIncrease__FiiUc();
|
||||
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
|
||||
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
|
||||
extern "C" void dComIfGp_getReverb__Fi();
|
||||
extern "C" void isSwitch__10dSv_info_cCFii();
|
||||
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
|
||||
extern "C" void eventUpdate__17dEvLib_callback_cFv();
|
||||
extern "C" void orderEvent__17dEvLib_callback_cFiii();
|
||||
extern "C" void
|
||||
set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
|
||||
extern "C" void Release__4cBgSFP9dBgW_Base();
|
||||
extern "C" void Regist__4dBgSFP9dBgW_BaseP10fopAc_ac_c();
|
||||
extern "C" void __ct__16dBgS_MoveBgActorFv();
|
||||
extern "C" bool Create__16dBgS_MoveBgActorFv();
|
||||
extern "C" bool IsDelete__16dBgS_MoveBgActorFv();
|
||||
extern "C" bool ToFore__16dBgS_MoveBgActorFv();
|
||||
extern "C" bool ToBack__16dBgS_MoveBgActorFv();
|
||||
extern "C" void
|
||||
MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUlPA3_A4_f();
|
||||
extern "C" void MoveBGDelete__16dBgS_MoveBgActorFv();
|
||||
extern "C" void MoveBGExecute__16dBgS_MoveBgActorFv();
|
||||
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
|
||||
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
|
||||
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void setEffectMtx__13J3DTexMtxInfoFPA4_f();
|
||||
extern "C" void simpleCalcMaterial__12J3DModelDataFUsPA4_f();
|
||||
extern "C" void init__12J3DFrameCtrlFs();
|
||||
extern "C" void __ptmf_scall();
|
||||
extern "C" void _savegpr_25();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_25();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" extern void* __vt__16dBgS_MoveBgActor[10];
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
extern "C" void __register_global_object();
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C5A068-80C5A068 0001F8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80C5A068 = "Kr10water";
|
||||
SECTION_DEAD static char const* const stringBase_80C5A072 = "Kr10wat01";
|
||||
SECTION_DEAD static char const* const stringBase_80C5A07C = "Kr02wat00";
|
||||
SECTION_DEAD static char const* const stringBase_80C5A086 = "Kr03wat00";
|
||||
SECTION_DEAD static char const* const stringBase_80C5A090 = "Kr03wat01";
|
||||
SECTION_DEAD static char const* const stringBase_80C5A09A = "Kr03wat02";
|
||||
SECTION_DEAD static char const* const stringBase_80C5A0A4 = "Kr03wat03";
|
||||
SECTION_DEAD static char const* const stringBase_80C5A0AE = "Kr03wat04";
|
||||
SECTION_DEAD static char const* const stringBase_80C5A0B8 = "Kr07wat00";
|
||||
SECTION_DEAD static char const* const stringBase_80C5A0C2 = "Kr08wat00";
|
||||
SECTION_DEAD static char const* const stringBase_80C5A0CC = "Kr08wat01";
|
||||
SECTION_DEAD static char const* const stringBase_80C5A0D6 = "Kr02wat01";
|
||||
SECTION_DEAD static char const* const stringBase_80C5A0E0 = "Kr02wat02";
|
||||
SECTION_DEAD static char const* const stringBase_80C5A0EA = "Kr02wat03";
|
||||
SECTION_DEAD static char const* const stringBase_80C5A0F4 = "Kr11wat00";
|
||||
SECTION_DEAD static char const* const stringBase_80C5A0FE = "Kr12wat00";
|
||||
SECTION_DEAD static char const* const stringBase_80C5A108 = "Kr13wat00";
|
||||
SECTION_DEAD static char const* const stringBase_80C5A112 = "Kr13wat01";
|
||||
SECTION_DEAD static char const* const stringBase_80C5A11C = "Kr13wat02";
|
||||
SECTION_DEAD static char const* const stringBase_80C5A126 = "Kr03wat05";
|
||||
SECTION_DEAD static char const* const stringBase_80C5A130 = "Kr03wat06";
|
||||
#pragma pop
|
||||
/* 80C5A314-80C5A31C 000014 0008+00 2/2 0/0 0/0 .bss l_HIO */
|
||||
static daLv3Water_HIO_c l_HIO;
|
||||
|
||||
/* 80C5A13C-80C5A148 000000 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,
|
||||
};
|
||||
|
||||
/* 80C5A148-80C5A15C 00000C 0004+10 0/0 0/0 0/0 .data @1787 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = {
|
||||
static u32 lit_1787[1 + 4 /* padding */] = {
|
||||
0x02000201,
|
||||
/* padding */
|
||||
0x40080000,
|
||||
|
@ -140,483 +27,434 @@ SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = {
|
|||
0x3FE00000,
|
||||
0x00000000,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80C5A15C-80C5A1B0 -00001 0054+00 3/3 0/0 0/0 .data l_resNameIdx */
|
||||
SECTION_DATA static void* l_resNameIdx[21] = {
|
||||
(void*)&d_a_obj_lv3Water__stringBase0,
|
||||
(void*)(((char*)&d_a_obj_lv3Water__stringBase0) + 0xA),
|
||||
(void*)(((char*)&d_a_obj_lv3Water__stringBase0) + 0x14),
|
||||
(void*)(((char*)&d_a_obj_lv3Water__stringBase0) + 0x1E),
|
||||
(void*)(((char*)&d_a_obj_lv3Water__stringBase0) + 0x28),
|
||||
(void*)(((char*)&d_a_obj_lv3Water__stringBase0) + 0x32),
|
||||
(void*)(((char*)&d_a_obj_lv3Water__stringBase0) + 0x3C),
|
||||
(void*)(((char*)&d_a_obj_lv3Water__stringBase0) + 0x46),
|
||||
(void*)(((char*)&d_a_obj_lv3Water__stringBase0) + 0x50),
|
||||
(void*)(((char*)&d_a_obj_lv3Water__stringBase0) + 0x5A),
|
||||
(void*)(((char*)&d_a_obj_lv3Water__stringBase0) + 0x64),
|
||||
(void*)(((char*)&d_a_obj_lv3Water__stringBase0) + 0x6E),
|
||||
(void*)(((char*)&d_a_obj_lv3Water__stringBase0) + 0x78),
|
||||
(void*)(((char*)&d_a_obj_lv3Water__stringBase0) + 0x82),
|
||||
(void*)(((char*)&d_a_obj_lv3Water__stringBase0) + 0x8C),
|
||||
(void*)(((char*)&d_a_obj_lv3Water__stringBase0) + 0x96),
|
||||
(void*)(((char*)&d_a_obj_lv3Water__stringBase0) + 0xA0),
|
||||
(void*)(((char*)&d_a_obj_lv3Water__stringBase0) + 0xAA),
|
||||
(void*)(((char*)&d_a_obj_lv3Water__stringBase0) + 0xB4),
|
||||
(void*)(((char*)&d_a_obj_lv3Water__stringBase0) + 0xBE),
|
||||
(void*)(((char*)&d_a_obj_lv3Water__stringBase0) + 0xC8),
|
||||
static char* l_resNameIdx[] = {
|
||||
"Kr10water", "Kr10wat01", "Kr02wat00", "Kr03wat00", "Kr03wat01", "Kr03wat02", "Kr03wat03",
|
||||
"Kr03wat04", "Kr07wat00", "Kr08wat00", "Kr08wat01", "Kr02wat01", "Kr02wat02", "Kr02wat03",
|
||||
"Kr11wat00", "Kr12wat00", "Kr13wat00", "Kr13wat01", "Kr13wat02", "Kr03wat05", "Kr03wat06",
|
||||
};
|
||||
|
||||
/* 80C5A1B0-80C5A1BC -00001 000C+00 0/1 0/0 0/0 .data @3830 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3830[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)mode_proc_wait__12daLv3Water_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80C5A1BC-80C5A1C8 -00001 000C+00 0/1 0/0 0/0 .data @3831 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3831[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)mode_proc_levelCtrl__12daLv3Water_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80C5A1C8-80C5A1E0 00008C 0018+00 1/2 0/0 0/0 .data l_mode_func */
|
||||
SECTION_DATA static u8 l_mode_func[24] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
|
||||
/* 80C5A1E0-80C5A228 -00001 0048+00 1/1 0/0 0/0 .data @4043 */
|
||||
SECTION_DATA static void* lit_4043[18] = {
|
||||
(void*)(((char*)effectSet__12daLv3Water_cFv) + 0x8BC),
|
||||
(void*)(((char*)effectSet__12daLv3Water_cFv) + 0x290),
|
||||
(void*)(((char*)effectSet__12daLv3Water_cFv) + 0x8BC),
|
||||
(void*)(((char*)effectSet__12daLv3Water_cFv) + 0x8BC),
|
||||
(void*)(((char*)effectSet__12daLv3Water_cFv) + 0x8BC),
|
||||
(void*)(((char*)effectSet__12daLv3Water_cFv) + 0x8BC),
|
||||
(void*)(((char*)effectSet__12daLv3Water_cFv) + 0x8BC),
|
||||
(void*)(((char*)effectSet__12daLv3Water_cFv) + 0x8BC),
|
||||
(void*)(((char*)effectSet__12daLv3Water_cFv) + 0x3C),
|
||||
(void*)(((char*)effectSet__12daLv3Water_cFv) + 0x118),
|
||||
(void*)(((char*)effectSet__12daLv3Water_cFv) + 0x8BC),
|
||||
(void*)(((char*)effectSet__12daLv3Water_cFv) + 0x8BC),
|
||||
(void*)(((char*)effectSet__12daLv3Water_cFv) + 0x8BC),
|
||||
(void*)(((char*)effectSet__12daLv3Water_cFv) + 0x8BC),
|
||||
(void*)(((char*)effectSet__12daLv3Water_cFv) + 0x474),
|
||||
(void*)(((char*)effectSet__12daLv3Water_cFv) + 0x8BC),
|
||||
(void*)(((char*)effectSet__12daLv3Water_cFv) + 0x778),
|
||||
(void*)(((char*)effectSet__12daLv3Water_cFv) + 0x600),
|
||||
};
|
||||
|
||||
/* 80C5A228-80C5A248 -00001 0020+00 1/0 0/0 0/0 .data l_daLv3Water_Method */
|
||||
static actor_method_class l_daLv3Water_Method = {
|
||||
(process_method_func)daLv3Water_Create__FP10fopAc_ac_c,
|
||||
(process_method_func)daLv3Water_Delete__FP12daLv3Water_c,
|
||||
(process_method_func)daLv3Water_Execute__FP12daLv3Water_c,
|
||||
0,
|
||||
(process_method_func)daLv3Water_Draw__FP12daLv3Water_c,
|
||||
};
|
||||
|
||||
/* 80C5A248-80C5A278 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Lv3Water */
|
||||
extern actor_process_profile_definition g_profile_Obj_Lv3Water = {
|
||||
fpcLy_CURRENT_e, // mLayerID
|
||||
3, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_Obj_Lv3Water, // mProcName
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daLv3Water_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
&g_fopAc_Method.base, // sub_method
|
||||
616, // mPriority
|
||||
&l_daLv3Water_Method, // sub_method
|
||||
0x00044000, // mStatus
|
||||
fopAc_ACTOR_e, // mActorType
|
||||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
};
|
||||
|
||||
/* 80C5A278-80C5A284 00013C 000C+00 3/3 0/0 0/0 .data __vt__12J3DFrameCtrl */
|
||||
SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__12J3DFrameCtrlFv,
|
||||
};
|
||||
|
||||
/* 80C5A284-80C5A29C 000148 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,
|
||||
};
|
||||
|
||||
/* 80C5A29C-80C5A2E4 000160 0048+00 2/2 0/0 0/0 .data __vt__12daLv3Water_c */
|
||||
SECTION_DATA extern void* __vt__12daLv3Water_c[18] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)CreateHeap__12daLv3Water_cFv,
|
||||
(void*)Create__16dBgS_MoveBgActorFv,
|
||||
(void*)Execute__12daLv3Water_cFPPA3_A4_f,
|
||||
(void*)Draw__12daLv3Water_cFv,
|
||||
(void*)Delete__12daLv3Water_cFv,
|
||||
(void*)IsDelete__16dBgS_MoveBgActorFv,
|
||||
(void*)ToFore__16dBgS_MoveBgActorFv,
|
||||
(void*)ToBack__16dBgS_MoveBgActorFv,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)func_80C59D18,
|
||||
(void*)func_80C59D10,
|
||||
(void*)eventRun__17dEvLib_callback_cFv,
|
||||
(void*)eventEnd__17dEvLib_callback_cFv,
|
||||
(void*)__dt__12daLv3Water_cFv,
|
||||
(void*)eventStart__12daLv3Water_cFv,
|
||||
};
|
||||
|
||||
/* 80C5A2E4-80C5A2F0 0001A8 000C+00 2/2 0/0 0/0 .data __vt__16daLv3Water_HIO_c */
|
||||
SECTION_DATA extern void* __vt__16daLv3Water_HIO_c[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__16daLv3Water_HIO_cFv,
|
||||
};
|
||||
|
||||
/* 80C5A2F0-80C5A2FC 0001B4 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,
|
||||
static daLv3Water_c::modeFunc l_mode_func[] = {
|
||||
&daLv3Water_c::mode_proc_wait,
|
||||
&daLv3Water_c::mode_proc_levelCtrl,
|
||||
};
|
||||
|
||||
/* 80C587CC-80C587F0 0000EC 0024+00 1/1 0/0 0/0 .text __ct__16daLv3Water_HIO_cFv */
|
||||
daLv3Water_HIO_c::daLv3Water_HIO_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C587F0-80C58838 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
|
||||
field_0x04 = NULL;
|
||||
}
|
||||
|
||||
/* 80C58838-80C5891C 000158 00E4+00 2/2 0/0 0/0 .text setBaseMtx__12daLv3Water_cFv */
|
||||
void daLv3Water_c::setBaseMtx() {
|
||||
// NONMATCHING
|
||||
if (mpModel2 != NULL) {
|
||||
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
|
||||
mDoMtx_stack_c::YrotM(shape_angle.y);
|
||||
|
||||
mpModel2->setBaseScale(scale);
|
||||
mpModel2->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
}
|
||||
|
||||
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
|
||||
mDoMtx_stack_c::YrotM(shape_angle.y);
|
||||
|
||||
mpModel1->setBaseScale(scale);
|
||||
mpModel1->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C59E70-80C59EC4 000000 0054+00 2/2 0/0 0/0 .rodata l_bmdIdx */
|
||||
SECTION_RODATA static u8 const l_bmdIdx[84] = {
|
||||
0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00,
|
||||
0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05,
|
||||
0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00,
|
||||
0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05,
|
||||
0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00,
|
||||
0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05,
|
||||
static const int l_bmdIdx[] = {
|
||||
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C59E70, &l_bmdIdx);
|
||||
|
||||
/* 80C59EC4-80C59F18 000054 0054+00 1/1 0/0 0/0 .rodata l_dzbIdx */
|
||||
SECTION_RODATA static u8 const l_dzbIdx[84] = {
|
||||
0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00,
|
||||
0x00, 0x0D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0D,
|
||||
0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00,
|
||||
0x00, 0x0D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0D,
|
||||
0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00,
|
||||
0x00, 0x0D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0B,
|
||||
static const int l_dzbIdx[] = {
|
||||
13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 11, 11,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C59EC4, &l_dzbIdx);
|
||||
|
||||
/* 80C59F18-80C59F6C 0000A8 0054+00 0/1 0/0 0/0 .rodata l_btkIdx */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const l_btkIdx[84] = {
|
||||
0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00,
|
||||
0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09,
|
||||
0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00,
|
||||
0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09,
|
||||
0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00,
|
||||
0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08,
|
||||
static const int l_btkIdx[] = {
|
||||
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 8,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C59F18, &l_btkIdx);
|
||||
#pragma pop
|
||||
|
||||
/* 80C59F6C-80C59FC0 0000FC 0054+00 0/1 0/0 0/0 .rodata l_bmdIdrIdx */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const l_bmdIdrIdx[84] = {
|
||||
0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00,
|
||||
0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06,
|
||||
0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00,
|
||||
0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06,
|
||||
0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00,
|
||||
0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
static const int l_bmdIdrIdx[] = {
|
||||
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, -1, -1,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C59F6C, &l_bmdIdrIdx);
|
||||
#pragma pop
|
||||
|
||||
/* 80C59FC0-80C5A014 000150 0054+00 0/1 0/0 0/0 .rodata l_btkIdrIdx */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const l_btkIdrIdx[84] = {
|
||||
0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00,
|
||||
0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A,
|
||||
0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00,
|
||||
0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A,
|
||||
0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00,
|
||||
0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
static const int l_btkIdrIdx[] = {
|
||||
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, -1, -1,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C59FC0, &l_btkIdrIdx);
|
||||
#pragma pop
|
||||
|
||||
/* 80C5A014-80C5A018 0001A4 0004+00 3/5 0/0 0/0 .rodata @3737 */
|
||||
SECTION_RODATA static f32 const lit_3737 = 1.0f;
|
||||
COMPILER_STRIP_GATE(0x80C5A014, &lit_3737);
|
||||
|
||||
/* 80C5891C-80C58ABC 00023C 01A0+00 1/0 0/0 0/0 .text CreateHeap__12daLv3Water_cFv */
|
||||
void daLv3Water_c::CreateHeap() {
|
||||
// NONMATCHING
|
||||
int daLv3Water_c::CreateHeap() {
|
||||
J3DModelData* modelData =
|
||||
(J3DModelData*)dComIfG_getObjectRes(l_resNameIdx[mType], l_bmdIdx[mType]);
|
||||
|
||||
mpModel1 = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000284);
|
||||
|
||||
if (mpModel1 == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
J3DAnmTextureSRTKey* btk =
|
||||
(J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_resNameIdx[mType], l_btkIdx[mType]);
|
||||
mBtk1.init(modelData, btk, TRUE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1);
|
||||
|
||||
if (l_bmdIdrIdx[mType] != -1) {
|
||||
J3DModelData* modelData =
|
||||
(J3DModelData*)dComIfG_getObjectRes(l_resNameIdx[mType], l_bmdIdrIdx[mType]);
|
||||
|
||||
mpModel2 = mDoExt_J3DModel__create(modelData, 0x80000, 0x19000284);
|
||||
|
||||
if (mpModel2 == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
J3DAnmTextureSRTKey* btk =
|
||||
(J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_resNameIdx[mType], l_btkIdrIdx[mType]);
|
||||
mBtk2.init(modelData, btk, TRUE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1);
|
||||
} else {
|
||||
mpModel2 = NULL;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C5A018-80C5A048 0001A8 002A+06 1/1 0/0 0/0 .rodata estimateSizeTbl$3746 */
|
||||
SECTION_RODATA static u8 const estimateSizeTbl[42 + 6 /* padding */] = {
|
||||
0x1C,
|
||||
0xE0,
|
||||
0x4F,
|
||||
0x90,
|
||||
0x1C,
|
||||
0x80,
|
||||
0x1C,
|
||||
0x30,
|
||||
0x1C,
|
||||
0x30,
|
||||
0x1C,
|
||||
0x30,
|
||||
0x1C,
|
||||
0x30,
|
||||
0x80,
|
||||
0x00,
|
||||
0x27,
|
||||
0xD0,
|
||||
0x24,
|
||||
0x90,
|
||||
0x1E,
|
||||
0x60,
|
||||
0x1C,
|
||||
0x80,
|
||||
0x1C,
|
||||
0x80,
|
||||
0x1C,
|
||||
0x80,
|
||||
0x4F,
|
||||
0x90,
|
||||
0x28,
|
||||
0x80,
|
||||
0x29,
|
||||
0xD0,
|
||||
0x2B,
|
||||
0x00,
|
||||
0x20,
|
||||
0x40,
|
||||
0x13,
|
||||
0x60,
|
||||
0x13,
|
||||
0x60,
|
||||
static u16 const estimateSizeTbl[] = {
|
||||
0x1CE0,
|
||||
0x4F90,
|
||||
0x1C80,
|
||||
0x1C30,
|
||||
0x1C30,
|
||||
0x1C30,
|
||||
0x1C30,
|
||||
0x8000,
|
||||
0x27D0,
|
||||
0x2490,
|
||||
0x1E60,
|
||||
0x1C80,
|
||||
0x1C80,
|
||||
0x1C80,
|
||||
0x4F90,
|
||||
0x2880,
|
||||
0x29D0,
|
||||
0x2B00,
|
||||
0x2040,
|
||||
0x1360,
|
||||
0x1360,
|
||||
/* padding */
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x0000,
|
||||
0x0000,
|
||||
0x0000,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C5A018, &estimateSizeTbl);
|
||||
|
||||
/* 80C5A048-80C5A050 0001D8 0008+00 1/1 0/0 0/0 .rodata @3812 */
|
||||
SECTION_RODATA static u8 const lit_3812[8] = {
|
||||
0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C5A048, &lit_3812);
|
||||
|
||||
/* 80C58ABC-80C58D20 0003DC 0264+00 1/1 0/0 0/0 .text create__12daLv3Water_cFv */
|
||||
void daLv3Water_c::create() {
|
||||
// NONMATCHING
|
||||
}
|
||||
int daLv3Water_c::create() {
|
||||
fopAcM_SetupActor(this, daLv3Water_c);
|
||||
|
||||
/* 80C58D20-80C58D68 000640 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */
|
||||
// J3DFrameCtrl::~J3DFrameCtrl() {
|
||||
extern "C" void __dt__12J3DFrameCtrlFv() {
|
||||
// NONMATCHING
|
||||
mType = getParamType();
|
||||
|
||||
int phase = dComIfG_resLoad(&mPhase, l_resNameIdx[mType]);
|
||||
|
||||
if (phase == cPhs_COMPLEATE_e) {
|
||||
if (MoveBGCreate(l_resNameIdx[mType], l_dzbIdx[mType], NULL, estimateSizeTbl[mType],
|
||||
NULL) == cPhs_ERROR_e)
|
||||
{
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
|
||||
field_0x5fc = getParam();
|
||||
mSwitch1 = dComIfGs_isSwitch(getParamSw(), fopAcM_GetHomeRoomNo(this));
|
||||
field_0x605 = 1;
|
||||
|
||||
if (mType == 1 || mType == 10 || mType == 15 || mType == 17 || mType == 19 || mType == 20) {
|
||||
if (mSwitch1 == 0) {
|
||||
if (mpBgW != NULL) {
|
||||
dComIfG_Bgsp().Release(mpBgW);
|
||||
}
|
||||
field_0x605 = 0;
|
||||
} else if (mType == 1) {
|
||||
current.pos.y = home.pos.y + field_0x5fc;
|
||||
}
|
||||
} else if (mSwitch1 != 0) {
|
||||
current.pos.y = home.pos.y + field_0x5fc;
|
||||
}
|
||||
|
||||
fopAcM_SetMtx(this, mpModel1->getBaseTRMtx());
|
||||
setBaseMtx();
|
||||
mMode = WAIT;
|
||||
}
|
||||
|
||||
return phase;
|
||||
}
|
||||
|
||||
/* 80C58D68-80C58E20 000688 00B8+00 1/0 0/0 0/0 .text Execute__12daLv3Water_cFPPA3_A4_f
|
||||
*/
|
||||
void daLv3Water_c::Execute(f32 (**param_0)[3][4]) {
|
||||
// NONMATCHING
|
||||
int daLv3Water_c::Execute(Mtx** i_mtx) {
|
||||
mBtk1.play();
|
||||
|
||||
if (mpModel2 != NULL) {
|
||||
mBtk2.play();
|
||||
}
|
||||
|
||||
eventUpdate();
|
||||
mSwitch2 = dComIfGs_isSwitch(getParamSw(), fopAcM_GetHomeRoomNo(this));
|
||||
(this->*l_mode_func[mMode])();
|
||||
effectSet();
|
||||
*i_mtx = &mpModel1->getBaseTRMtx();
|
||||
setBaseMtx();
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C58E20-80C596F4 000740 08D4+00 2/1 0/0 0/0 .text effectSet__12daLv3Water_cFv */
|
||||
void daLv3Water_c::effectSet() {
|
||||
// NONMATCHING
|
||||
switch (mType) {
|
||||
case 8:
|
||||
if (fopAcM_isSwitch(this, 8)) {
|
||||
mEmitterIDs[0] =
|
||||
dComIfGp_particle_set(mEmitterIDs[0], 0X8AB2, ¤t.pos, NULL, NULL);
|
||||
mEmitterIDs[1] =
|
||||
dComIfGp_particle_set(mEmitterIDs[1], 0X8AB3, ¤t.pos, NULL, NULL);
|
||||
}
|
||||
break;
|
||||
case 9:
|
||||
if (mSwitch1) {
|
||||
mEmitterIDs[0] =
|
||||
dComIfGp_particle_set(mEmitterIDs[0], 0X8AB4, ¤t.pos, NULL, NULL);
|
||||
mEmitterIDs[1] =
|
||||
dComIfGp_particle_set(mEmitterIDs[1], 0X8AB5, ¤t.pos, NULL, NULL);
|
||||
mEmitterIDs[2] =
|
||||
dComIfGp_particle_set(mEmitterIDs[2], 0X8AB6, ¤t.pos, NULL, NULL);
|
||||
mEmitterIDs[3] =
|
||||
dComIfGp_particle_set(mEmitterIDs[3], 0X8AB7, ¤t.pos, NULL, NULL);
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (fopAcM_isSwitch(this, 8)) {
|
||||
mEmitterIDs[0] =
|
||||
dComIfGp_particle_set(mEmitterIDs[0], 0x8AB9, ¤t.pos, NULL, NULL);
|
||||
mEmitterIDs[1] =
|
||||
dComIfGp_particle_set(mEmitterIDs[1], 0x8ABA, ¤t.pos, NULL, NULL);
|
||||
mEmitterIDs[2] =
|
||||
dComIfGp_particle_set(mEmitterIDs[2], 0x8ABB, ¤t.pos, NULL, NULL);
|
||||
mEmitterIDs[3] =
|
||||
dComIfGp_particle_set(mEmitterIDs[3], 0x8ABC, ¤t.pos, NULL, NULL);
|
||||
mEmitterIDs[4] =
|
||||
dComIfGp_particle_set(mEmitterIDs[4], 0x8AB8, ¤t.pos, NULL, NULL);
|
||||
}
|
||||
break;
|
||||
case 14:
|
||||
if (fopAcM_isSwitch(this, 9)) {
|
||||
mEmitterIDs[0] =
|
||||
dComIfGp_particle_set(mEmitterIDs[0], 0X8ABF, ¤t.pos, NULL, NULL);
|
||||
mEmitterIDs[1] =
|
||||
dComIfGp_particle_set(mEmitterIDs[1], 0X8AC0, ¤t.pos, NULL, NULL);
|
||||
mEmitterIDs[2] =
|
||||
dComIfGp_particle_set(mEmitterIDs[2], 0X8AC1, ¤t.pos, NULL, NULL);
|
||||
mEmitterIDs[3] =
|
||||
dComIfGp_particle_set(mEmitterIDs[3], 0X8AC2, ¤t.pos, NULL, NULL);
|
||||
}
|
||||
break;
|
||||
case 17:
|
||||
if (mSwitch1) {
|
||||
mEmitterIDs[0] =
|
||||
dComIfGp_particle_set(mEmitterIDs[0], 0X8AC4, ¤t.pos, NULL, NULL);
|
||||
mEmitterIDs[1] =
|
||||
dComIfGp_particle_set(mEmitterIDs[1], 0X8AC5, ¤t.pos, NULL, NULL);
|
||||
mEmitterIDs[2] =
|
||||
dComIfGp_particle_set(mEmitterIDs[2], 0X8AC6, ¤t.pos, NULL, NULL);
|
||||
mEmitterIDs[3] =
|
||||
dComIfGp_particle_set(mEmitterIDs[3], 0X8AC7, ¤t.pos, NULL, NULL);
|
||||
}
|
||||
break;
|
||||
case 16:
|
||||
if (mSwitch1) {
|
||||
mEmitterIDs[0] =
|
||||
dComIfGp_particle_set(mEmitterIDs[0], 0X8AC8, ¤t.pos, NULL, NULL);
|
||||
mEmitterIDs[1] =
|
||||
dComIfGp_particle_set(mEmitterIDs[1], 0X8AC9, ¤t.pos, NULL, NULL);
|
||||
}
|
||||
if (fopAcM_isSwitch(this, 9)) {
|
||||
mEmitterIDs[2] =
|
||||
dComIfGp_particle_set(mEmitterIDs[2], 0x8AC3, ¤t.pos, NULL, NULL);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 80C596F4-80C59754 001014 0060+00 1/0 0/0 0/0 .text mode_proc_wait__12daLv3Water_cFv */
|
||||
void daLv3Water_c::mode_proc_wait() {
|
||||
// NONMATCHING
|
||||
if (mSwitch1 != mSwitch2) {
|
||||
int event = getParamEvent();
|
||||
if (event != 0xFF) {
|
||||
orderEvent(event, 0xFF, 1);
|
||||
} else {
|
||||
eventStart();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C5A050-80C5A058 0001E0 0004+04 1/1 0/0 0/0 .rodata @4068 */
|
||||
SECTION_RODATA static f32 const lit_4068[1 + 1 /* padding */] = {
|
||||
-1.0f,
|
||||
/* padding */
|
||||
0.0f,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C5A050, &lit_4068);
|
||||
|
||||
/* 80C5A308-80C5A314 000008 000C+00 1/1 0/0 0/0 .bss @3657 */
|
||||
static u8 lit_3657[12];
|
||||
|
||||
/* 80C5A314-80C5A31C 000014 0008+00 2/2 0/0 0/0 .bss l_HIO */
|
||||
static u8 l_HIO[8];
|
||||
|
||||
/* 80C59754-80C597FC 001074 00A8+00 1/1 0/0 0/0 .text mode_init_levelCtrl__12daLv3Water_cFv */
|
||||
void daLv3Water_c::mode_init_levelCtrl() {
|
||||
// NONMATCHING
|
||||
}
|
||||
field_0x600 = 0;
|
||||
field_0x604 = l_HIO.field_0x04;
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C5A058-80C5A060 0001E8 0008+00 1/1 0/0 0/0 .rodata @4080 */
|
||||
SECTION_RODATA static u8 const lit_4080[8] = {
|
||||
0x43, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C5A058, &lit_4080);
|
||||
if (mType == 9) {
|
||||
fopAcM_seStartCurrent(this, Z2SE_ENV_FILL_UP_LV3WTR3, 0);
|
||||
}
|
||||
|
||||
mMode = LEVEL_CTRL;
|
||||
}
|
||||
|
||||
/* 80C597FC-80C598BC 00111C 00C0+00 1/0 0/0 0/0 .text mode_proc_levelCtrl__12daLv3Water_cFv */
|
||||
void daLv3Water_c::mode_proc_levelCtrl() {
|
||||
// NONMATCHING
|
||||
if (field_0x604 != NULL) {
|
||||
field_0x604 = field_0x604 - 1;
|
||||
} else {
|
||||
f32 fVar = fopMsgM_valueIncrease(field_0x601, field_0x600, mSwitch1);
|
||||
|
||||
if (mSwitch1 == 0) {
|
||||
fVar = 1.0f - fVar;
|
||||
}
|
||||
|
||||
field_0x600 = field_0x600 + 1;
|
||||
if (field_0x600 >= field_0x601) {
|
||||
fVar = mSwitch1;
|
||||
mMode = WAIT;
|
||||
}
|
||||
|
||||
current.pos.y = home.pos.y + field_0x5fc * fVar;
|
||||
}
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C5A060-80C5A064 0001F0 0004+00 0/1 0/0 0/0 .rodata @4173 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4173 = -1.0f / 100.0f;
|
||||
COMPILER_STRIP_GATE(0x80C5A060, &lit_4173);
|
||||
#pragma pop
|
||||
|
||||
/* 80C5A064-80C5A068 0001F4 0004+00 0/1 0/0 0/0 .rodata @4174 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_4174[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C5A064, &lit_4174);
|
||||
#pragma pop
|
||||
|
||||
/* 80C598BC-80C59AA0 0011DC 01E4+00 1/0 0/0 0/0 .text Draw__12daLv3Water_cFv */
|
||||
void daLv3Water_c::Draw() {
|
||||
// NONMATCHING
|
||||
int daLv3Water_c::Draw() {
|
||||
if (field_0x605 == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
g_env_light.settingTevStruct(0x10, ¤t.pos, &tevStr);
|
||||
g_env_light.setLightTevColorType_MAJI(mpModel1, &tevStr);
|
||||
|
||||
if (mpModel2 != NULL) {
|
||||
g_env_light.setLightTevColorType_MAJI(mpModel2, &tevStr);
|
||||
}
|
||||
|
||||
mBtk1.entry(mpModel1->getModelData());
|
||||
|
||||
if (mpModel2 != NULL) {
|
||||
mBtk2.entry(mpModel2->getModelData());
|
||||
}
|
||||
|
||||
dComIfGd_setXluListDarkBG();
|
||||
mDoExt_modelUpdateDL(mpModel1);
|
||||
dComIfGd_setList();
|
||||
|
||||
if (mpModel2 != NULL) {
|
||||
J3DModelData* modelData = mpModel2->getModelData();
|
||||
J3DMaterial* material = modelData->getMaterialNodePointer(0);
|
||||
|
||||
dComIfGd_setListInvisisble();
|
||||
|
||||
J3DTexMtx* texMtx = material->getTexGenBlock()->getTexMtx(0);
|
||||
if (texMtx != NULL) {
|
||||
J3DTexMtxInfo* texMtxInfo = &material->getTexGenBlock()->getTexMtx(0)->getTexMtxInfo();
|
||||
if (texMtxInfo != NULL) {
|
||||
Mtx lightProjMtx;
|
||||
C_MTXLightPerspective(lightProjMtx, dComIfGd_getView()->fovy,
|
||||
dComIfGd_getView()->aspect, 1.0f, 1.0f, -0.01f, 0.0f);
|
||||
texMtxInfo->setEffectMtx(lightProjMtx);
|
||||
modelData->simpleCalcMaterial(0, (MtxP)j3dDefaultMtx);
|
||||
}
|
||||
}
|
||||
|
||||
mDoExt_modelUpdateDL(mpModel2);
|
||||
dComIfGd_setList();
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C59AA0-80C59AE0 0013C0 0040+00 1/0 0/0 0/0 .text Delete__12daLv3Water_cFv */
|
||||
void daLv3Water_c::Delete() {
|
||||
// NONMATCHING
|
||||
int daLv3Water_c::Delete() {
|
||||
dComIfG_resDelete(&mPhase, l_resNameIdx[mType]);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C59AE0-80C59BA8 001400 00C8+00 2/1 0/0 0/0 .text eventStart__12daLv3Water_cFv */
|
||||
void daLv3Water_c::eventStart() {
|
||||
// NONMATCHING
|
||||
BOOL daLv3Water_c::eventStart() {
|
||||
field_0x601 = fpcM_GetParam(this) >> 0x18;
|
||||
mSwitch1 = mSwitch2;
|
||||
|
||||
if (mType == 1 || mType == 10 || mType == 15 || mType == 17 || mType == 19 || mType == 20) {
|
||||
if (mpBgW != NULL) {
|
||||
dComIfG_Bgsp().Regist(mpBgW, this);
|
||||
}
|
||||
if (mType == 1) {
|
||||
current.pos.y = home.pos.y + field_0x5fc;
|
||||
}
|
||||
field_0x605 = mSwitch2;
|
||||
mMode = WAIT;
|
||||
} else {
|
||||
mode_init_levelCtrl();
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C59BA8-80C59BD4 0014C8 002C+00 1/0 0/0 0/0 .text daLv3Water_Draw__FP12daLv3Water_c
|
||||
*/
|
||||
static void daLv3Water_Draw(daLv3Water_c* param_0) {
|
||||
// NONMATCHING
|
||||
static int daLv3Water_Draw(daLv3Water_c* i_this) {
|
||||
return i_this->Draw();
|
||||
}
|
||||
|
||||
/* 80C59BD4-80C59BF4 0014F4 0020+00 1/0 0/0 0/0 .text daLv3Water_Execute__FP12daLv3Water_c */
|
||||
static void daLv3Water_Execute(daLv3Water_c* param_0) {
|
||||
// NONMATCHING
|
||||
static int daLv3Water_Execute(daLv3Water_c* i_this) {
|
||||
return i_this->MoveBGExecute();
|
||||
}
|
||||
|
||||
/* 80C59BF4-80C59C14 001514 0020+00 1/0 0/0 0/0 .text daLv3Water_Delete__FP12daLv3Water_c
|
||||
*/
|
||||
static void daLv3Water_Delete(daLv3Water_c* param_0) {
|
||||
// NONMATCHING
|
||||
static int daLv3Water_Delete(daLv3Water_c* i_this) {
|
||||
return i_this->MoveBGDelete();
|
||||
}
|
||||
|
||||
/* 80C59C14-80C59C34 001534 0020+00 1/0 0/0 0/0 .text daLv3Water_Create__FP10fopAc_ac_c
|
||||
*/
|
||||
static void daLv3Water_Create(fopAc_ac_c* param_0) {
|
||||
// NONMATCHING
|
||||
static int daLv3Water_Create(fopAc_ac_c* i_this) {
|
||||
return static_cast<daLv3Water_c*>(i_this)->create();
|
||||
}
|
||||
|
||||
/* 80C59C34-80C59C90 001554 005C+00 2/1 0/0 0/0 .text __dt__16daLv3Water_HIO_cFv */
|
||||
daLv3Water_HIO_c::~daLv3Water_HIO_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C59C90-80C59D10 0015B0 0080+00 0/0 1/0 0/0 .text __sinit_d_a_obj_lv3Water_cpp */
|
||||
void __sinit_d_a_obj_lv3Water_cpp() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
REGISTER_CTORS(0x80C59C90, __sinit_d_a_obj_lv3Water_cpp);
|
||||
#pragma pop
|
||||
|
||||
/* 80C59D10-80C59D18 001630 0008+00 1/0 0/0 0/0 .text @1448@eventStart__12daLv3Water_cFv
|
||||
*/
|
||||
static void func_80C59D10() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C59D18-80C59D20 001638 0008+00 1/0 0/0 0/0 .text @1448@__dt__12daLv3Water_cFv */
|
||||
static void func_80C59D18() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C59D20-80C59D68 001640 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
|
||||
}
|
||||
|
||||
/* 80C59D68-80C59D70 001688 0008+00 1/0 0/0 0/0 .text eventStart__17dEvLib_callback_cFv
|
||||
*/
|
||||
// bool dEvLib_callback_c::eventStart() {
|
||||
extern "C" bool eventStart__17dEvLib_callback_cFv() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80C59D70-80C59D78 001690 0008+00 2/0 0/0 0/0 .text eventRun__17dEvLib_callback_cFv */
|
||||
// bool dEvLib_callback_c::eventRun() {
|
||||
extern "C" bool eventRun__17dEvLib_callback_cFv() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80C59D78-80C59D80 001698 0008+00 2/0 0/0 0/0 .text eventEnd__17dEvLib_callback_cFv */
|
||||
// bool dEvLib_callback_c::eventEnd() {
|
||||
extern "C" bool eventEnd__17dEvLib_callback_cFv() {
|
||||
return true;
|
||||
}
|
||||
daLv3Water_HIO_c::~daLv3Water_HIO_c() {}
|
||||
|
||||
/* 80C59D80-80C59E5C 0016A0 00DC+00 2/1 0/0 0/0 .text __dt__12daLv3Water_cFv */
|
||||
daLv3Water_c::~daLv3Water_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
daLv3Water_c::~daLv3Water_c() {}
|
||||
|
||||
/* 80C5A068-80C5A068 0001F8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
/* 80C5A228-80C5A248 -00001 0020+00 1/0 0/0 0/0 .data l_daLv3Water_Method */
|
||||
static actor_method_class l_daLv3Water_Method = {
|
||||
(process_method_func)daLv3Water_Create, (process_method_func)daLv3Water_Delete,
|
||||
(process_method_func)daLv3Water_Execute, 0,
|
||||
(process_method_func)daLv3Water_Draw,
|
||||
};
|
||||
|
||||
/* 80C5A248-80C5A278 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Lv3Water */
|
||||
extern actor_process_profile_definition g_profile_Obj_Lv3Water = {
|
||||
fpcLy_CURRENT_e, // mLayerID
|
||||
3, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_Obj_Lv3Water, // mProcName
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daLv3Water_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
&g_fopAc_Method.base, // sub_method
|
||||
616, // mPriority
|
||||
&l_daLv3Water_Method, // sub_method
|
||||
0x00044000, // mStatus
|
||||
fopAc_ACTOR_e, // mActorType
|
||||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue