mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-05-30 08:26:24 -04:00
Daswc (#2398)
* swball cleanup * daSwc00_c OK * Revert change in configure - we'll handle rel/dol changes in seperate PR
This commit is contained in:
+1
-1
@@ -1556,7 +1556,7 @@ config.libs = [
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_scene_exit2"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_shop_item"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_sq"),
|
||||
ActorRel(NonMatching, "d_a_swc00"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_swc00"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_tag_CstaSw"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_tag_ajnot"),
|
||||
ActorRel(NonMatching, "d_a_tag_attack_item"),
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
#include <dolphin/gx.h>
|
||||
#include <dolphin/mtx.h>
|
||||
#include "JSystem/JUtility/JUTAssert.h"
|
||||
|
||||
// Perhaps move to a new J3DEnum.h?
|
||||
enum J3DError {
|
||||
@@ -134,11 +135,18 @@ struct J3DSys {
|
||||
|
||||
// Type 0: Opa Buffer
|
||||
// Type 1: Xlu Buffer
|
||||
void setDrawBuffer(J3DDrawBuffer* buffer, int type) { mDrawBuffer[type] = buffer; }
|
||||
void setDrawBuffer(J3DDrawBuffer* buffer, int type) {
|
||||
J3D_ASSERT(114, type >= 0 && type < 2, "Error : range over.");
|
||||
J3D_ASSERT(115, buffer, "Error : null pointer.");
|
||||
mDrawBuffer[type] = buffer;
|
||||
}
|
||||
|
||||
// Type 0: Opa Buffer
|
||||
// Type 1: Xlu Buffer
|
||||
J3DDrawBuffer* getDrawBuffer(int type) { return mDrawBuffer[type]; }
|
||||
J3DDrawBuffer* getDrawBuffer(int type) {
|
||||
J3D_ASSERT(121, type >= 0 && type < 2, "Error : range over.");
|
||||
return mDrawBuffer[type];
|
||||
}
|
||||
|
||||
Mtx& getModelDrawMtx(u16 no) const { return mModelDrawMtx[no]; }
|
||||
J3DShapePacket* getShapePacket() const { return mShapePacket; }
|
||||
|
||||
@@ -30,7 +30,7 @@ public:
|
||||
/* 80CF3D84 */ void PutCrrPos();
|
||||
/* 80CF406C */ int draw();
|
||||
/* 80CF41F4 */ int _delete();
|
||||
/* 80CF4354 */ ~daObjSwBallA_c();
|
||||
/* 80CF4354 */ virtual ~daObjSwBallA_c() {}
|
||||
|
||||
u32 getArg0() { return fopAcM_GetParamBit(this, 0, 8); }
|
||||
u32 getSwbit2() { return fopAcM_GetParamBit(this, 8, 8); }
|
||||
|
||||
@@ -30,7 +30,7 @@ public:
|
||||
/* 80CF5388 */ void PutCrrPos();
|
||||
/* 80CF56A4 */ int draw();
|
||||
/* 80CF582C */ int _delete();
|
||||
/* 80CF5940 */ ~daObjSwBallB_c();
|
||||
/* 80CF5940 */ virtual ~daObjSwBallB_c() {}
|
||||
|
||||
s32 getID() { return fopAcM_GetParamBit(this, 0, 8); }
|
||||
u32 getSwbit2() { return fopAcM_GetParamBit(this, 8, 8); }
|
||||
|
||||
@@ -13,7 +13,15 @@
|
||||
*/
|
||||
class daSwc00_c : public fopAc_ac_c {
|
||||
public:
|
||||
public:
|
||||
typedef void (daSwc00_c::*actionFunc)();
|
||||
|
||||
enum Action {
|
||||
ACTION_WAIT,
|
||||
ACTION_ORDER_EVENT,
|
||||
ACTION_EVENT,
|
||||
ACTION_DEAD,
|
||||
};
|
||||
|
||||
/* 805A15FC */ int execute();
|
||||
/* 805A18E8 */ void event_proc_call();
|
||||
/* 805A19A4 */ void actionWait();
|
||||
@@ -21,14 +29,26 @@ public:
|
||||
/* 805A1A94 */ void actionEvent();
|
||||
/* 805A1AF0 */ void actionDead();
|
||||
|
||||
void setAction(u8 action) { mAction = action; }
|
||||
|
||||
/* 0x568 */ cXyz field_0x568;
|
||||
/* 0x574 */ cXyz field_0x574;
|
||||
/* 0x580 */ u16 mEventID;
|
||||
/* 0x580 */ s16 mEventID;
|
||||
/* 0x582 */ u8 mAction;
|
||||
/* 0x584 */ u8 field_0x584[4];
|
||||
/* 0x583 */ u8 field_0x583;
|
||||
/* 0x584 */ u8 field_0x584;
|
||||
/* 0x585 */ u8 field_0x585[3];
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daSwc00_c) == 0x588);
|
||||
|
||||
inline u8 daSwc00_getCondition(daSwc00_c* i_this) {
|
||||
return i_this->shape_angle.x;
|
||||
}
|
||||
|
||||
inline int daSwc00_getShape(daSwc00_c* i_this) {
|
||||
return (fopAcM_GetParam(i_this) >> 18) & 3;
|
||||
}
|
||||
|
||||
|
||||
#endif /* D_A_SWC00_H */
|
||||
|
||||
@@ -1,24 +1,31 @@
|
||||
#include "JSystem/JHostIO/JORReflexible.h"
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
|
||||
class dScnPly_env_otherHIO_c {
|
||||
class dScnPly_env_otherHIO_c : public JORReflexible {
|
||||
public:
|
||||
/* 80259440 */ dScnPly_env_otherHIO_c();
|
||||
|
||||
/* 8025AC0C */ virtual ~dScnPly_env_otherHIO_c() {}
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
/* 0x4 */ f32 mShadowDensity;
|
||||
/* 0x8 */ u8 mLODBias;
|
||||
/* 0x9 */ u8 field_0x9;
|
||||
/* 0xA */ u8 mDispTransCylinder;
|
||||
/* 0x04 */ f32 mShadowDensity;
|
||||
/* 0x08 */ u8 mLODBias;
|
||||
/* 0x09 */ u8 field_0x9;
|
||||
/* 0x0A */ u8 mDispTransCylinder;
|
||||
#ifdef DEBUG
|
||||
/* 0x0B */ u8 field_0xb[0x46 - 0xb];
|
||||
/* 0x46 */ u8 field_0x46;
|
||||
/* 0x47 */ u8 field_0x47[0x4f - 0x47];
|
||||
#endif
|
||||
};
|
||||
|
||||
class dScnPly_env_debugHIO_c {
|
||||
class dScnPly_env_debugHIO_c : public JORReflexible {
|
||||
public:
|
||||
/* 80259468 */ dScnPly_env_debugHIO_c();
|
||||
|
||||
/* 8025ABC4 */ virtual ~dScnPly_env_debugHIO_c() {}
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
private:
|
||||
/* 0x04 */ u8 field_0x4;
|
||||
/* 0x08 */ cXyz mBoxCullMinSize;
|
||||
/* 0x14 */ cXyz mBoxCullMaxSize;
|
||||
|
||||
@@ -988,7 +988,7 @@ static void e_fm_damage_run(e_fm_class* i_this) {
|
||||
}
|
||||
|
||||
if (i_this->speedF > 1.0f && move_speed < 1.0f) {
|
||||
dComIfGp_getVibration().StartShock(YREG_S(3) + VIBMODE_S_POWER7, 0xF, cXyz(0.0f, 1.0f, 0.0f));
|
||||
dComIfGp_getVibration().StartShock(YREG_S(3) + (int)VIBMODE_S_POWER7, 0xF, cXyz(0.0f, 1.0f, 0.0f));
|
||||
dComIfGp_particle_set(0x8150, &i_this->home.pos, NULL, NULL);
|
||||
mDoAud_seStart(Z2SE_OBJ_FM_DIRTFALL, NULL, 0, 0);
|
||||
i_this->mSound.startCreatureSound(Z2SE_EN_FM_FOOTNOTE, 0, -1);
|
||||
|
||||
+30
-301
@@ -11,91 +11,6 @@
|
||||
#include "dol2asm.h"
|
||||
#include "d/d_lib.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" static void s_ball_sub__FPvPv();
|
||||
extern "C" static void CheckCreateHeap__FP10fopAc_ac_c();
|
||||
extern "C" void checkArea_sub__14daObjSwBallA_cFP10fopAc_ac_c();
|
||||
extern "C" void search_ball__14daObjSwBallA_cFv();
|
||||
extern "C" void initBaseMtx__14daObjSwBallA_cFv();
|
||||
extern "C" void setBaseMtx__14daObjSwBallA_cFv();
|
||||
extern "C" void Create__14daObjSwBallA_cFv();
|
||||
extern "C" void CreateHeap__14daObjSwBallA_cFv();
|
||||
extern "C" void __dt__12J3DFrameCtrlFv();
|
||||
extern "C" void create__14daObjSwBallA_cFv();
|
||||
extern "C" void execute__14daObjSwBallA_cFv();
|
||||
extern "C" void actionRun__14daObjSwBallA_cFv();
|
||||
extern "C" void actionStop__14daObjSwBallA_cFv();
|
||||
extern "C" void PutCrrPos__14daObjSwBallA_cFv();
|
||||
extern "C" void draw__14daObjSwBallA_cFv();
|
||||
extern "C" void _delete__14daObjSwBallA_cFv();
|
||||
extern "C" static void daObjSwBallA_Draw__FP14daObjSwBallA_c();
|
||||
extern "C" static void daObjSwBallA_Execute__FP14daObjSwBallA_c();
|
||||
extern "C" static void daObjSwBallA_Delete__FP14daObjSwBallA_c();
|
||||
extern "C" static void daObjSwBallA_Create__FP10fopAc_ac_c();
|
||||
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__14daObjSwBallA_cFv();
|
||||
extern "C" static void func_80CF43D4();
|
||||
extern "C" extern char const* const d_a_obj_swBallA__stringBase0;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoMtx_XrotS__FPA4_fs();
|
||||
extern "C" void mDoMtx_YrotM__FPA4_fs();
|
||||
extern "C" void transM__14mDoMtx_stack_cFfff();
|
||||
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_btkAnmRemove__FP12J3DModelData();
|
||||
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
|
||||
extern "C" void __ct__10fopAc_ac_cFv();
|
||||
extern "C" void __dt__10fopAc_ac_cFv();
|
||||
extern "C" void fopAc_IsActor__FPv();
|
||||
extern "C" void fopAcIt_Judge__FPFPvPv_PvPv();
|
||||
extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl();
|
||||
extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff();
|
||||
extern "C" void fopAcM_searchActorDistanceXZ__FPC10fopAc_ac_cPC10fopAc_ac_c();
|
||||
extern "C" void fpcEx_Search__FPFPvPv_PvPv();
|
||||
extern "C" void fpcSch_JudgeByID__FPvPv();
|
||||
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 dLib_checkActorInRectangle__FP10fopAc_ac_cP10fopAc_ac_cPC4cXyzPC4cXyz();
|
||||
extern "C" void onSwitch__10dSv_info_cFii();
|
||||
extern "C" void offSwitch__10dSv_info_cFii();
|
||||
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 settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
|
||||
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
|
||||
extern "C" void cLib_chaseF__FPfff();
|
||||
extern "C" void cLib_targetAngleY__FPC3VecPC3Vec();
|
||||
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
|
||||
extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
|
||||
extern "C" void* __nw__FUl();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void init__12J3DFrameCtrlFs();
|
||||
extern "C" void __ptmf_scall();
|
||||
extern "C" void _savegpr_22();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _restgpr_22();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80CF4508-80CF4528 000000 0020+00 2/2 0/0 0/0 .bss l_target_info */
|
||||
static daObjCarry_c* l_target_info[8];
|
||||
@@ -123,43 +38,7 @@ static int CheckCreateHeap(fopAc_ac_c* param_0) {
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80CF43E4-80CF43E8 000000 0004+00 4/4 0/0 0/0 .rodata l_color */
|
||||
SECTION_RODATA static GXColor const l_color = {0x3,0x96,0xFF,0xFF};
|
||||
COMPILER_STRIP_GATE(0x80CF43E4, &l_color);
|
||||
|
||||
/* 80CF43E8-80CF43EC 000004 0004+00 0/2 0/0 0/0 .rodata @3730 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3730 = 10.0f;
|
||||
COMPILER_STRIP_GATE(0x80CF43E8, &lit_3730);
|
||||
#pragma pop
|
||||
|
||||
/* 80CF43EC-80CF43F0 000008 0004+00 0/2 0/0 0/0 .rodata @3731 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3731 = 100.0f;
|
||||
COMPILER_STRIP_GATE(0x80CF43EC, &lit_3731);
|
||||
#pragma pop
|
||||
|
||||
/* 80CF43F0-80CF43F4 00000C 0004+00 0/2 0/0 0/0 .rodata @3732 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3732 = -100.0f;
|
||||
COMPILER_STRIP_GATE(0x80CF43F0, &lit_3732);
|
||||
#pragma pop
|
||||
|
||||
/* 80CF43F4-80CF43FC 000010 0004+04 2/5 0/0 0/0 .rodata @3733 */
|
||||
SECTION_RODATA static u8 const lit_3733[4 + 4 /* padding */] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
/* padding */
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80CF43F4, &lit_3733);
|
||||
static GXColor const l_color = {0x3,0x96,0xFF,0xFF};
|
||||
|
||||
/* 80CF3394-80CF34E4 000114 0150+00 1/1 0/0 0/0 .text
|
||||
* checkArea_sub__14daObjSwBallA_cFP10fopAc_ac_c */
|
||||
@@ -234,13 +113,6 @@ void daObjSwBallA_c::setBaseMtx() {
|
||||
mModel->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80CF43FC-80CF4404 000018 0008+00 1/1 0/0 0/0 .rodata @3884 */
|
||||
SECTION_RODATA static u8 const lit_3884[8] = {
|
||||
0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80CF43FC, &lit_3884);
|
||||
|
||||
/* 80CF3694-80CF37FC 000414 0168+00 1/1 0/0 0/0 .text Create__14daObjSwBallA_cFv */
|
||||
int daObjSwBallA_c::Create() {
|
||||
initBaseMtx();
|
||||
@@ -268,124 +140,10 @@ int daObjSwBallA_c::Create() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80CF4404-80CF4408 000020 0004+00 2/3 0/0 0/0 .rodata @3918 */
|
||||
SECTION_RODATA static f32 const lit_3918 = 1.0f;
|
||||
COMPILER_STRIP_GATE(0x80CF4404, &lit_3918);
|
||||
|
||||
/* 80CF4410-80CF4410 00002C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80CF4410 = "P_LBswA";
|
||||
#pragma pop
|
||||
|
||||
/* 80CF4418-80CF4424 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
|
||||
SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
|
||||
/* 80CF4424-80CF4438 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 */] = {
|
||||
0x02000201,
|
||||
/* padding */
|
||||
0x40080000,
|
||||
0x00000000,
|
||||
0x3FE00000,
|
||||
0x00000000,
|
||||
};
|
||||
#pragma pop
|
||||
UNK_REL_DATA
|
||||
|
||||
/* 80CF4438-80CF443C -00001 0004+00 3/3 0/0 0/0 .data l_arcName */
|
||||
SECTION_DATA static char* l_arcName = (char*)&d_a_obj_swBallA__stringBase0;
|
||||
|
||||
/* 80CF443C-80CF4448 -00001 000C+00 0/1 0/0 0/0 .data @3956 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3956[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)actionRun__14daObjSwBallA_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80CF4448-80CF4454 -00001 000C+00 0/1 0/0 0/0 .data @3957 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3957[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)actionStop__14daObjSwBallA_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80CF4454-80CF446C 00003C 0018+00 0/1 0/0 0/0 .data l_func$3955 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static u8 l_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,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80CF446C-80CF448C -00001 0020+00 1/0 0/0 0/0 .data l_daObjSwBallA_Method */
|
||||
static actor_method_class l_daObjSwBallA_Method = {
|
||||
(process_method_func)daObjSwBallA_Create__FP10fopAc_ac_c,
|
||||
(process_method_func)daObjSwBallA_Delete__FP14daObjSwBallA_c,
|
||||
(process_method_func)daObjSwBallA_Execute__FP14daObjSwBallA_c,
|
||||
0,
|
||||
(process_method_func)daObjSwBallA_Draw__FP14daObjSwBallA_c,
|
||||
};
|
||||
|
||||
/* 80CF448C-80CF44BC -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_SwBallA */
|
||||
extern actor_process_profile_definition g_profile_Obj_SwBallA = {
|
||||
fpcLy_CURRENT_e, // mLayerID
|
||||
7, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_Obj_SwBallA, // mProcName
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daObjSwBallA_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
&g_fopAc_Method.base, // sub_method
|
||||
571, // mPriority
|
||||
&l_daObjSwBallA_Method, // sub_method
|
||||
0x00040100, // mStatus
|
||||
fopAc_ACTOR_e, // mActorType
|
||||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
};
|
||||
|
||||
/* 80CF44BC-80CF44E0 0000A4 0024+00 2/2 0/0 0/0 .data __vt__14daObjSwBallA_c */
|
||||
SECTION_DATA extern void* __vt__14daObjSwBallA_c[9] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)func_80CF43D4,
|
||||
(void*)eventStart__17dEvLib_callback_cFv,
|
||||
(void*)eventRun__17dEvLib_callback_cFv,
|
||||
(void*)eventEnd__17dEvLib_callback_cFv,
|
||||
(void*)__dt__14daObjSwBallA_cFv,
|
||||
};
|
||||
|
||||
/* 80CF44E0-80CF44F8 0000C8 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,
|
||||
};
|
||||
|
||||
/* 80CF44F8-80CF4504 0000E0 000C+00 2/2 0/0 0/0 .data __vt__12J3DFrameCtrl */
|
||||
SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__12J3DFrameCtrlFv,
|
||||
};
|
||||
static char* l_arcName = "P_LBswA";
|
||||
|
||||
/* 80CF37FC-80CF3928 00057C 012C+00 1/1 0/0 0/0 .text CreateHeap__14daObjSwBallA_cFv */
|
||||
int daObjSwBallA_c::CreateHeap() {
|
||||
@@ -405,15 +163,7 @@ int daObjSwBallA_c::CreateHeap() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
/* 80CF3928-80CF3970 0006A8 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */
|
||||
// J3DFrameCtrl::~J3DFrameCtrl() {
|
||||
extern "C" void __dt__12J3DFrameCtrlFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CF3970-80CF3A90 0006F0 0120+00 1/1 0/0 0/0 .text create__14daObjSwBallA_cFv */
|
||||
// NONMATCHING
|
||||
int daObjSwBallA_c::create() {
|
||||
fopAcM_SetupActor(this, daObjSwBallA_c);
|
||||
if (field_0x5c4 == 0) {
|
||||
@@ -438,10 +188,6 @@ int daObjSwBallA_c::create() {
|
||||
return res;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80CF452C-80CF4530 000024 0004+00 1/1 0/0 0/0 .bss None */
|
||||
static u8 data_80CF452C[4];
|
||||
|
||||
/* 80CF3A90-80CF3B40 000810 00B0+00 1/1 0/0 0/0 .text execute__14daObjSwBallA_cFv */
|
||||
int daObjSwBallA_c::execute() {
|
||||
typedef void (daObjSwBallA_c::*ballfunc)();
|
||||
@@ -452,12 +198,6 @@ int daObjSwBallA_c::execute() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80CF4408-80CF440C 000024 0004+00 1/1 0/0 0/0 .rodata @4032 */
|
||||
SECTION_RODATA static f32 const lit_4032 = -1.0f;
|
||||
COMPILER_STRIP_GATE(0x80CF4408, &lit_4032);
|
||||
|
||||
/* 80CF3B40-80CF3D80 0008C0 0240+00 1/0 0/0 0/0 .text actionRun__14daObjSwBallA_cFv */
|
||||
void daObjSwBallA_c::actionRun() {
|
||||
u32 iVar4 = field_0x5c0;
|
||||
@@ -490,6 +230,8 @@ void daObjSwBallA_c::actionRun() {
|
||||
fopAcM_seStartLevel(this, Z2SE_OBJ_L8_L_BALL_SW, 0);
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -499,14 +241,6 @@ void daObjSwBallA_c::actionStop() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80CF440C-80CF4410 000028 0004+00 0/1 0/0 0/0 .rodata @4122 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4122 = 300.0f;
|
||||
COMPILER_STRIP_GATE(0x80CF440C, &lit_4122);
|
||||
#pragma pop
|
||||
|
||||
/* 80CF3D84-80CF406C 000B04 02E8+00 1/1 0/0 0/0 .text PutCrrPos__14daObjSwBallA_cFv */
|
||||
void daObjSwBallA_c::PutCrrPos() {
|
||||
daPy_py_c* player = daPy_getPlayerActorClass();
|
||||
@@ -579,7 +313,6 @@ void daObjSwBallA_c::PutCrrPos() {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* 80CF406C-80CF41F4 000DEC 0188+00 1/1 0/0 0/0 .text draw__14daObjSwBallA_cFv */
|
||||
int daObjSwBallA_c::draw() {
|
||||
g_env_light.settingTevStruct(0, ¤t.pos, &tevStr);
|
||||
@@ -634,35 +367,31 @@ static int daObjSwBallA_Create(fopAc_ac_c* param_0) {
|
||||
return ((daObjSwBallA_c*)param_0)->create();
|
||||
}
|
||||
|
||||
/* 80CF42F4-80CF433C 001074 0048+00 1/0 0/0 0/0 .text __dt__17dEvLib_callback_cFv */
|
||||
void __dt__17dEvLib_callback_cFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
/* 80CF446C-80CF448C -00001 0020+00 1/0 0/0 0/0 .data l_daObjSwBallA_Method */
|
||||
static actor_method_class l_daObjSwBallA_Method = {
|
||||
(process_method_func)daObjSwBallA_Create,
|
||||
(process_method_func)daObjSwBallA_Delete,
|
||||
(process_method_func)daObjSwBallA_Execute,
|
||||
NULL,
|
||||
(process_method_func)daObjSwBallA_Draw,
|
||||
};
|
||||
|
||||
/* 80CF433C-80CF4344 0010BC 0008+00 2/0 0/0 0/0 .text eventStart__17dEvLib_callback_cFv
|
||||
*/
|
||||
bool eventStart__17dEvLib_callback_cFv() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80CF4344-80CF434C 0010C4 0008+00 2/0 0/0 0/0 .text eventRun__17dEvLib_callback_cFv */
|
||||
bool eventRun__17dEvLib_callback_cFv() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80CF434C-80CF4354 0010CC 0008+00 2/0 0/0 0/0 .text eventEnd__17dEvLib_callback_cFv */
|
||||
bool eventEnd__17dEvLib_callback_cFv() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80CF4354-80CF43D4 0010D4 0080+00 2/1 0/0 0/0 .text __dt__14daObjSwBallA_cFv */
|
||||
daObjSwBallA_c::~daObjSwBallA_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CF43D4-80CF43DC 001154 0008+00 1/0 0/0 0/0 .text @1384@__dt__14daObjSwBallA_cFv */
|
||||
static void func_80CF43D4() {
|
||||
// NONMATCHING
|
||||
}
|
||||
/* 80CF448C-80CF44BC -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_SwBallA */
|
||||
extern actor_process_profile_definition g_profile_Obj_SwBallA = {
|
||||
fpcLy_CURRENT_e, // mLayerID
|
||||
7, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_Obj_SwBallA, // mProcName
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daObjSwBallA_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
&g_fopAc_Method.base, // sub_method
|
||||
571, // mPriority
|
||||
&l_daObjSwBallA_Method, // sub_method
|
||||
0x00040100, // mStatus
|
||||
fopAc_ACTOR_e, // mActorType
|
||||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
};
|
||||
|
||||
/* 80CF4410-80CF4410 00002C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
+31
-303
@@ -11,92 +11,6 @@
|
||||
#include "dol2asm.h"
|
||||
#include "d/d_lib.h"
|
||||
|
||||
extern "C" static void s_ball_sub__FPvPv();
|
||||
extern "C" static void CheckCreateHeap__FP10fopAc_ac_c();
|
||||
extern "C" void checkArea_sub__14daObjSwBallB_cFP10fopAc_ac_c();
|
||||
extern "C" void search_ball__14daObjSwBallB_cFv();
|
||||
extern "C" void initBaseMtx__14daObjSwBallB_cFv();
|
||||
extern "C" void setBaseMtx__14daObjSwBallB_cFv();
|
||||
extern "C" void Create__14daObjSwBallB_cFv();
|
||||
extern "C" void CreateHeap__14daObjSwBallB_cFv();
|
||||
extern "C" void __dt__12J3DFrameCtrlFv();
|
||||
extern "C" void create__14daObjSwBallB_cFv();
|
||||
extern "C" void execute__14daObjSwBallB_cFv();
|
||||
extern "C" void actionRun__14daObjSwBallB_cFv();
|
||||
extern "C" void actionStop__14daObjSwBallB_cFv();
|
||||
extern "C" void PutCrrPos__14daObjSwBallB_cFv();
|
||||
extern "C" void draw__14daObjSwBallB_cFv();
|
||||
extern "C" void _delete__14daObjSwBallB_cFv();
|
||||
extern "C" static void daObjSwBallB_Draw__FP14daObjSwBallB_c();
|
||||
extern "C" static void daObjSwBallB_Execute__FP14daObjSwBallB_c();
|
||||
extern "C" static void daObjSwBallB_Delete__FP14daObjSwBallB_c();
|
||||
extern "C" static void daObjSwBallB_Create__FP10fopAc_ac_c();
|
||||
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__14daObjSwBallB_cFv();
|
||||
extern "C" static void func_80CF59C0();
|
||||
extern "C" extern char const* const d_a_obj_swBallB__stringBase0;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoMtx_XrotS__FPA4_fs();
|
||||
extern "C" void mDoMtx_YrotM__FPA4_fs();
|
||||
extern "C" void transM__14mDoMtx_stack_cFfff();
|
||||
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_btkAnmRemove__FP12J3DModelData();
|
||||
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
|
||||
extern "C" void __ct__10fopAc_ac_cFv();
|
||||
extern "C" void __dt__10fopAc_ac_cFv();
|
||||
extern "C" void fopAc_IsActor__FPv();
|
||||
extern "C" void fopAcIt_Judge__FPFPvPv_PvPv();
|
||||
extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl();
|
||||
extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff();
|
||||
extern "C" void fopAcM_searchActorDistanceXZ__FPC10fopAc_ac_cPC10fopAc_ac_c();
|
||||
extern "C" void fpcEx_Search__FPFPvPv_PvPv();
|
||||
extern "C" void fpcSch_JudgeByID__FPvPv();
|
||||
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 dLib_checkActorInRectangle__FP10fopAc_ac_cP10fopAc_ac_cPC4cXyzPC4cXyz();
|
||||
extern "C" void onEventBit__11dSv_event_cFUs();
|
||||
extern "C" void onSwitch__10dSv_info_cFii();
|
||||
extern "C" void offSwitch__10dSv_info_cFii();
|
||||
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 settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
|
||||
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
|
||||
extern "C" void cLib_chaseF__FPfff();
|
||||
extern "C" void cLib_targetAngleY__FPC3VecPC3Vec();
|
||||
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
|
||||
extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
|
||||
extern "C" void* __nw__FUl();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void init__12J3DFrameCtrlFs();
|
||||
extern "C" void __ptmf_scall();
|
||||
extern "C" void _savegpr_22();
|
||||
extern "C" void _savegpr_26();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_22();
|
||||
extern "C" void _restgpr_26();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80CF5B10-80CF5B18 000000 0008+00 2/2 0/0 0/0 .bss l_target_info */
|
||||
static daObjCarry_c* l_target_info[2];
|
||||
@@ -124,61 +38,17 @@ static int CheckCreateHeap(fopAc_ac_c* param_0) {
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80CF59D0-80CF59D4 000000 0004+00 5/5 0/0 0/0 .rodata l_color */
|
||||
SECTION_RODATA static GXColor const l_color = {0x03, 0x96, 0xFF, 0xFF};
|
||||
COMPILER_STRIP_GATE(0x80CF59D0, &l_color);
|
||||
static GXColor const l_color = {0x03, 0x96, 0xFF, 0xFF};
|
||||
|
||||
/* 80CF59D4-80CF59E0 000004 000C+00 0/1 0/0 0/0 .rodata l_event_bitA */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u16 const l_event_bitA[6] = {
|
||||
static u16 const l_event_bitA[6] = {
|
||||
0x4304, 0x4302, 0x4301, 0x4480, 0x4440, 0x4420,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80CF59D4, &l_event_bitA);
|
||||
#pragma pop
|
||||
|
||||
/* 80CF59E0-80CF59EC 000010 000C+00 0/1 0/0 0/0 .rodata l_event_bitB */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u16 const l_event_bitB[6] = {
|
||||
static u16 const l_event_bitB[6] = {
|
||||
0x4410, 0x4408, 0x4404, 0x4402, 0x4401, 0x4580,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80CF59E0, &l_event_bitB);
|
||||
#pragma pop
|
||||
|
||||
/* 80CF59EC-80CF59F0 00001C 0004+00 0/2 0/0 0/0 .rodata @3752 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3752 = 10.0f;
|
||||
COMPILER_STRIP_GATE(0x80CF59EC, &lit_3752);
|
||||
#pragma pop
|
||||
|
||||
/* 80CF59F0-80CF59F4 000020 0004+00 0/2 0/0 0/0 .rodata @3753 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3753 = 100.0f;
|
||||
COMPILER_STRIP_GATE(0x80CF59F0, &lit_3753);
|
||||
#pragma pop
|
||||
|
||||
/* 80CF59F4-80CF59F8 000024 0004+00 0/2 0/0 0/0 .rodata @3754 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3754 = -100.0f;
|
||||
COMPILER_STRIP_GATE(0x80CF59F4, &lit_3754);
|
||||
#pragma pop
|
||||
|
||||
/* 80CF59F8-80CF5A00 000028 0004+04 1/4 0/0 0/0 .rodata @3755 */
|
||||
SECTION_RODATA static u8 const lit_3755[4 + 4 /* padding */] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
/* padding */
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80CF59F8, &lit_3755);
|
||||
|
||||
/* 80CF466C-80CF47BC 00012C 0150+00 1/1 0/0 0/0 .text
|
||||
* checkArea_sub__14daObjSwBallB_cFP10fopAc_ac_c */
|
||||
@@ -209,7 +79,6 @@ int daObjSwBallB_c::checkArea_sub(fopAc_ac_c* param_1) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/* 80CF47BC-80CF496C 00027C 01B0+00 1/1 0/0 0/0 .text search_ball__14daObjSwBallB_cFv */
|
||||
void daObjSwBallB_c::search_ball() {
|
||||
l_target_info_count = 0;
|
||||
@@ -291,117 +160,10 @@ int daObjSwBallB_c::Create() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80CF5A08-80CF5A0C 000038 0004+00 1/3 0/0 0/0 .rodata @3969 */
|
||||
SECTION_RODATA static f32 const lit_3969 = 1.0f;
|
||||
COMPILER_STRIP_GATE(0x80CF5A08, &lit_3969);
|
||||
|
||||
/* 80CF5A20-80CF5A2C 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
|
||||
SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
|
||||
/* 80CF5A2C-80CF5A40 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 */] = {
|
||||
0x02000201,
|
||||
/* padding */
|
||||
0x40080000,
|
||||
0x00000000,
|
||||
0x3FE00000,
|
||||
0x00000000,
|
||||
};
|
||||
#pragma pop
|
||||
UNK_REL_DATA
|
||||
|
||||
/* 80CF5A40-80CF5A44 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */
|
||||
SECTION_DATA static char* l_arcName = "P_LBswBC";
|
||||
|
||||
/* 80CF5A44-80CF5A50 -00001 000C+00 0/1 0/0 0/0 .data @4007 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_4007[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)actionRun__14daObjSwBallB_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80CF5A50-80CF5A5C -00001 000C+00 0/1 0/0 0/0 .data @4008 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_4008[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)actionStop__14daObjSwBallB_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80CF5A5C-80CF5A74 00003C 0018+00 0/1 0/0 0/0 .data l_func$4006 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static u8 l_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,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80CF5A74-80CF5A94 -00001 0020+00 1/0 0/0 0/0 .data l_daObjSwBallB_Method */
|
||||
static actor_method_class l_daObjSwBallB_Method = {
|
||||
(process_method_func)daObjSwBallB_Create__FP10fopAc_ac_c,
|
||||
(process_method_func)daObjSwBallB_Delete__FP14daObjSwBallB_c,
|
||||
(process_method_func)daObjSwBallB_Execute__FP14daObjSwBallB_c,
|
||||
0,
|
||||
(process_method_func)daObjSwBallB_Draw__FP14daObjSwBallB_c,
|
||||
};
|
||||
|
||||
/* 80CF5A94-80CF5AC4 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_SwBallB */
|
||||
extern actor_process_profile_definition g_profile_Obj_SwBallB = {
|
||||
fpcLy_CURRENT_e, // mLayerID
|
||||
7, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_Obj_SwBallB, // mProcName
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daObjSwBallB_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
&g_fopAc_Method.base, // sub_method
|
||||
572, // mPriority
|
||||
&l_daObjSwBallB_Method, // sub_method
|
||||
0x00044100, // mStatus
|
||||
fopAc_ACTOR_e, // mActorType
|
||||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
};
|
||||
|
||||
/* 80CF5AC4-80CF5AE8 0000A4 0024+00 2/2 0/0 0/0 .data __vt__14daObjSwBallB_c */
|
||||
SECTION_DATA extern void* __vt__14daObjSwBallB_c[9] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)func_80CF59C0,
|
||||
(void*)eventStart__17dEvLib_callback_cFv,
|
||||
(void*)eventRun__17dEvLib_callback_cFv,
|
||||
(void*)eventEnd__17dEvLib_callback_cFv,
|
||||
(void*)__dt__14daObjSwBallB_cFv,
|
||||
};
|
||||
|
||||
/* 80CF5AE8-80CF5B00 0000C8 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,
|
||||
};
|
||||
|
||||
/* 80CF5B00-80CF5B0C 0000E0 000C+00 2/2 0/0 0/0 .data __vt__12J3DFrameCtrl */
|
||||
SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__12J3DFrameCtrlFv,
|
||||
};
|
||||
static char* l_arcName = "P_LBswBC";
|
||||
|
||||
/* 80CF4B74-80CF4CA0 000634 012C+00 1/1 0/0 0/0 .text CreateHeap__14daObjSwBallB_cFv */
|
||||
int daObjSwBallB_c::CreateHeap() {
|
||||
@@ -421,13 +183,6 @@ int daObjSwBallB_c::CreateHeap() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
/* 80CF4CA0-80CF4CE8 000760 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */
|
||||
// J3DFrameCtrl::~J3DFrameCtrl() {
|
||||
extern "C" void __dt__12J3DFrameCtrlFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CF4CE8-80CF4E08 0007A8 0120+00 1/1 0/0 0/0 .text create__14daObjSwBallB_cFv */
|
||||
int daObjSwBallB_c::create() {
|
||||
fopAcM_SetupActor(this, daObjSwBallB_c);
|
||||
@@ -453,11 +208,6 @@ int daObjSwBallB_c::create() {
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80CF5B1C-80CF5B20 00000C 0004+00 1/1 0/0 0/0 .bss None */
|
||||
static u8 data_80CF5B1C[4];
|
||||
|
||||
/* 80CF4E08-80CF4EB8 0008C8 00B0+00 2/2 0/0 0/0 .text execute__14daObjSwBallB_cFv */
|
||||
int daObjSwBallB_c::execute() {
|
||||
typedef void (daObjSwBallB_c::*ballfunc)();
|
||||
@@ -468,15 +218,6 @@ int daObjSwBallB_c::execute() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80CF5A0C-80CF5A10 00003C 0004+00 0/1 0/0 0/0 .rodata @4178 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4178 = -1.0f;
|
||||
COMPILER_STRIP_GATE(0x80CF5A0C, &lit_4178);
|
||||
#pragma pop
|
||||
|
||||
/* 80CF4EB8-80CF5384 000978 04CC+00 1/0 0/0 0/0 .text actionRun__14daObjSwBallB_cFv */
|
||||
void daObjSwBallB_c::actionRun() {
|
||||
u32 iVar4 = field_0x59c;
|
||||
@@ -558,19 +299,11 @@ void daObjSwBallB_c::actionStop() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80CF5A10-80CF5A14 000040 0004+00 0/1 0/0 0/0 .rodata @4276 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4276 = 150.0f;
|
||||
COMPILER_STRIP_GATE(0x80CF5A10, &lit_4276);
|
||||
#pragma pop
|
||||
|
||||
/* 80CF5388-80CF56A4 000E48 031C+00 1/1 0/0 0/0 .text PutCrrPos__14daObjSwBallB_cFv */
|
||||
void daObjSwBallB_c::PutCrrPos() {
|
||||
daPy_py_c* player = daPy_getPlayerActorClass();
|
||||
s16 sVar5 = cLib_targetAngleY(&player->current.pos, ¤t.pos) - player->shape_angle.y;
|
||||
if (fopAcM_searchPlayerDistanceXZ(this) < 300.0f && sVar5 < 0x4000 && sVar5 > -0x4000) {
|
||||
if (fopAcM_searchPlayerDistanceXZ(this) < 150.0f && sVar5 < 0x4000 && sVar5 > -0x4000) {
|
||||
daObjCarry_c* carryObj = (daObjCarry_c*)fopAcM_SearchByID(player->getGrabActorID());
|
||||
if (carryObj != NULL && fopAcM_IsActor(carryObj) &&
|
||||
fopAcM_GetName(carryObj) == PROC_Obj_Carry && carryObj->prm_chk_type_lightball())
|
||||
@@ -639,7 +372,6 @@ void daObjSwBallB_c::PutCrrPos() {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* 80CF56A4-80CF582C 001164 0188+00 1/1 0/0 0/0 .text draw__14daObjSwBallB_cFv */
|
||||
// NONMATCHING
|
||||
int daObjSwBallB_c::draw() {
|
||||
@@ -691,35 +423,31 @@ static int daObjSwBallB_Create(fopAc_ac_c* param_0) {
|
||||
return ((daObjSwBallB_c*)param_0)->create();
|
||||
}
|
||||
|
||||
/* 80CF58E0-80CF5928 0013A0 0048+00 1/0 0/0 0/0 .text __dt__17dEvLib_callback_cFv */
|
||||
void __dt__17dEvLib_callback_cFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
/* 80CF5A74-80CF5A94 -00001 0020+00 1/0 0/0 0/0 .data l_daObjSwBallB_Method */
|
||||
static actor_method_class l_daObjSwBallB_Method = {
|
||||
(process_method_func)daObjSwBallB_Create,
|
||||
(process_method_func)daObjSwBallB_Delete,
|
||||
(process_method_func)daObjSwBallB_Execute,
|
||||
NULL,
|
||||
(process_method_func)daObjSwBallB_Draw,
|
||||
};
|
||||
|
||||
/* 80CF5928-80CF5930 0013E8 0008+00 2/0 0/0 0/0 .text eventStart__17dEvLib_callback_cFv
|
||||
*/
|
||||
bool eventStart__17dEvLib_callback_cFv() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80CF5930-80CF5938 0013F0 0008+00 2/0 0/0 0/0 .text eventRun__17dEvLib_callback_cFv */
|
||||
bool eventRun__17dEvLib_callback_cFv() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80CF5938-80CF5940 0013F8 0008+00 2/0 0/0 0/0 .text eventEnd__17dEvLib_callback_cFv */
|
||||
bool eventEnd__17dEvLib_callback_cFv() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80CF5940-80CF59C0 001400 0080+00 2/1 0/0 0/0 .text __dt__14daObjSwBallB_cFv */
|
||||
daObjSwBallB_c::~daObjSwBallB_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80CF59C0-80CF59C8 001480 0008+00 1/0 0/0 0/0 .text @1384@__dt__14daObjSwBallB_cFv */
|
||||
static void func_80CF59C0() {
|
||||
// NONMATCHING
|
||||
}
|
||||
/* 80CF5A94-80CF5AC4 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_SwBallB */
|
||||
extern actor_process_profile_definition g_profile_Obj_SwBallB = {
|
||||
fpcLy_CURRENT_e, // mLayerID
|
||||
7, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_Obj_SwBallB, // mProcName
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daObjSwBallB_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
&g_fopAc_Method.base, // sub_method
|
||||
572, // mPriority
|
||||
&l_daObjSwBallB_Method, // sub_method
|
||||
0x00044100, // mStatus
|
||||
fopAc_ACTOR_e, // mActorType
|
||||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
};
|
||||
|
||||
/* 80CF5A14-80CF5A14 000044 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
+270
-237
@@ -4,318 +4,351 @@
|
||||
*/
|
||||
|
||||
#include "d/actor/d_a_swc00.h"
|
||||
#include "d/actor/d_a_player.h"
|
||||
#include "d/actor/d_a_horse.h"
|
||||
#include "d/d_debug_viewer.h"
|
||||
#include "d/d_s_play.h"
|
||||
#include "dol2asm.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" static void hitCheck__FP9daSwc00_c();
|
||||
extern "C" static void daSwc00_Execute__FP9daSwc00_c();
|
||||
extern "C" void execute__9daSwc00_cFv();
|
||||
extern "C" void event_proc_call__9daSwc00_cFv();
|
||||
extern "C" void actionWait__9daSwc00_cFv();
|
||||
extern "C" void actionOrderEvent__9daSwc00_cFv();
|
||||
extern "C" void actionEvent__9daSwc00_cFv();
|
||||
extern "C" void actionDead__9daSwc00_cFv();
|
||||
extern "C" static bool daSwc00_IsDelete__FP9daSwc00_c();
|
||||
extern "C" static bool daSwc00_Delete__FP9daSwc00_c();
|
||||
extern "C" static void daSwc00_Create__FP10fopAc_ac_c();
|
||||
extern "C" extern char const* const d_a_swc00__stringBase0;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoMtx_YrotS__FPA4_fs();
|
||||
extern "C" void __ct__10fopAc_ac_cFv();
|
||||
extern "C" void fopAcM_delete__FP10fopAc_ac_c();
|
||||
extern "C" void fopAcM_searchActorDistanceXZ2__FPC10fopAc_ac_cPC10fopAc_ac_c();
|
||||
extern "C" void fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs();
|
||||
extern "C" void onSwitch__10dSv_info_cFii();
|
||||
extern "C" void offSwitch__10dSv_info_cFii();
|
||||
extern "C" void isSwitch__10dSv_info_cCFii();
|
||||
extern "C" void reset__14dEvt_control_cFv();
|
||||
extern "C" void getEventIdx__16dEvent_manager_cFP10fopAc_ac_cUc();
|
||||
extern "C" void endCheck__16dEvent_manager_cFs();
|
||||
extern "C" void __mi__4cXyzCFRC3Vec();
|
||||
extern "C" void __ptmf_scall();
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" extern u8 data_805A1F28[4];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 805A1D94-805A1D98 000000 0004+00 2/2 0/0 0/0 .rodata @3708 */
|
||||
SECTION_RODATA static f32 const lit_3708 = -100.0f;
|
||||
COMPILER_STRIP_GATE(0x805A1D94, &lit_3708);
|
||||
|
||||
inline u8 daSwc00_getCondition(daSwc00_c* i_this) {
|
||||
return i_this->shape_angle.x;
|
||||
}
|
||||
|
||||
inline int daSwc00_getShape(daSwc00_c* i_this) {
|
||||
return (fopAcM_GetParam(i_this) >> 0x12) & 3;
|
||||
}
|
||||
|
||||
/* 805A13F8-805A15DC 000078 01E4+00 1/1 0/0 0/0 .text hitCheck__FP9daSwc00_c */
|
||||
// NONMATCHING - r30 / r31 swap
|
||||
static bool hitCheck(daSwc00_c* i_swc) {
|
||||
fopAc_ac_c* playerAc = (fopAc_ac_c*)daPy_getPlayerActorClass();
|
||||
static BOOL hitCheck(daSwc00_c* i_swc) {
|
||||
fopAc_ac_c* a_this = i_swc;
|
||||
fopAc_ac_c* playerAc = daPy_getPlayerActorClass();
|
||||
fopAc_ac_c* player;
|
||||
|
||||
if (daSwc00_getCondition(i_swc) == 2) {
|
||||
player = (fopAc_ac_c*)dComIfGp_getHorseActor();
|
||||
u8 condition = daSwc00_getCondition(i_swc);
|
||||
if (condition == 2) {
|
||||
player = dComIfGp_getHorseActor();
|
||||
} else {
|
||||
player = playerAc;
|
||||
}
|
||||
|
||||
if (player == NULL) {
|
||||
return false;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
int shape = daSwc00_getShape(i_swc);
|
||||
if (shape == 3) {
|
||||
f32 xz_dist = fopAcM_searchActorDistanceXZ2(i_swc, player);
|
||||
f32 y_dist = fopAcM_searchActorDistanceY(i_swc, player);
|
||||
f32 xz_dist = fopAcM_searchActorDistanceXZ2(a_this, player);
|
||||
f32 y_dist = fopAcM_searchActorDistanceY(a_this, player);
|
||||
|
||||
if (xz_dist < i_swc->scale.x && -100.0f < y_dist && y_dist < i_swc->scale.y) {
|
||||
return true;
|
||||
if (xz_dist < a_this->scale.x && -100.0f < y_dist && y_dist < a_this->scale.y) {
|
||||
return TRUE;
|
||||
}
|
||||
} else if (shape == 0) {
|
||||
cXyz tmp1 = i_swc->field_0x568 - i_swc->current.pos;
|
||||
cXyz tmp2 = i_swc->field_0x574 - i_swc->current.pos;
|
||||
cXyz player_dist = player->current.pos - i_swc->current.pos;
|
||||
cXyz tmp1 = i_swc->field_0x568 - a_this->current.pos;
|
||||
cXyz tmp2 = i_swc->field_0x574 - a_this->current.pos;
|
||||
cXyz player_dist = player->current.pos - a_this->current.pos;
|
||||
|
||||
mDoMtx_stack_c::YrotS(-i_swc->current.angle.y);
|
||||
mDoMtx_stack_c::YrotS(-a_this->current.angle.y);
|
||||
mDoMtx_stack_c::multVec(&player_dist, &player_dist);
|
||||
|
||||
if ((tmp1.x <= player_dist.x && player_dist.x <= tmp2.x) &&
|
||||
(tmp1.y <= player_dist.y && player_dist.y <= tmp2.y) &&
|
||||
(tmp1.z <= player_dist.z && player_dist.z <= tmp2.z)) {
|
||||
return true;
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
|
||||
int daSwc00_Draw(daSwc00_c* i_this) {
|
||||
fopAc_ac_c* a_this = i_this;
|
||||
if (g_envHIO.mOther.field_0x46) {
|
||||
int shape = daSwc00_getShape(i_this);
|
||||
if (shape == 3) {
|
||||
GXColor local_44 = {0, 0, 0xff, 0xa0};
|
||||
GXColor* pColor = &local_44;
|
||||
dDbVw_drawCylinderXlu(a_this->current.pos, JMAFastSqrt(a_this->scale.x) - 30.0f, a_this->scale.y, *pColor, 1);
|
||||
} else if (shape == 0) {
|
||||
cXyz cStack_2c = i_this->field_0x574 - i_this->field_0x568;
|
||||
cStack_2c *= 0.5f;
|
||||
cXyz cStack_38 = i_this->field_0x568 + cStack_2c;
|
||||
csXyz cStack_40(0, 0, 0);
|
||||
cStack_40 = a_this->current.angle;
|
||||
GXColor local_48 = {0, 0, 0xff, 0xa0};
|
||||
GXColor* pColor = &local_48;
|
||||
dDbVw_drawCubeXlu(cStack_38, cStack_2c, cStack_40, *pColor);
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/* 805A15DC-805A15FC 00025C 0020+00 1/0 0/0 0/0 .text daSwc00_Execute__FP9daSwc00_c */
|
||||
static int daSwc00_Execute(daSwc00_c* i_this) {
|
||||
return i_this->execute();
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 805A1DAC-805A1DAC 000018 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_805A1DAC =
|
||||
"領域スイッチ:引数0が不正値<%d>です\n";
|
||||
// "Area Switch: arg 0 is an invalid value <%d>\n";
|
||||
#pragma pop
|
||||
#ifndef DEBUG
|
||||
UNK_REL_DATA
|
||||
#endif
|
||||
|
||||
/* 805A1DD4-805A1DE0 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
|
||||
SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
inline static int daSwc00_getType(daSwc00_c *i_this) {
|
||||
return (i_this->shape_angle.x & 0xf00) >> 8;
|
||||
}
|
||||
|
||||
/* 805A1DE0-805A1DF4 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 */] = {
|
||||
0x02000201,
|
||||
/* padding */
|
||||
0x40080000,
|
||||
0x00000000,
|
||||
0x3FE00000,
|
||||
0x00000000,
|
||||
};
|
||||
#pragma pop
|
||||
inline static int daSwc00_getSw1No(daSwc00_c *i_this) {
|
||||
return fopAcM_GetParam(i_this) & 0xff;
|
||||
}
|
||||
|
||||
/* 805A1DF4-805A1E34 -00001 0040+00 1/1 0/0 0/0 .data @3812 */
|
||||
SECTION_DATA static void* lit_3812[16] = {
|
||||
(void*)(((char*)execute__9daSwc00_cFv) + 0x1DC),
|
||||
(void*)(((char*)execute__9daSwc00_cFv) + 0x22C),
|
||||
(void*)(((char*)execute__9daSwc00_cFv) + 0x260),
|
||||
(void*)(((char*)execute__9daSwc00_cFv) + 0x1A4),
|
||||
(void*)(((char*)execute__9daSwc00_cFv) + 0x1DC),
|
||||
(void*)(((char*)execute__9daSwc00_cFv) + 0x22C),
|
||||
(void*)(((char*)execute__9daSwc00_cFv) + 0x260),
|
||||
(void*)(((char*)execute__9daSwc00_cFv) + 0x294),
|
||||
(void*)(((char*)execute__9daSwc00_cFv) + 0x294),
|
||||
(void*)(((char*)execute__9daSwc00_cFv) + 0x2C8),
|
||||
(void*)(((char*)execute__9daSwc00_cFv) + 0x2C8),
|
||||
(void*)(((char*)execute__9daSwc00_cFv) + 0x2C8),
|
||||
(void*)(((char*)execute__9daSwc00_cFv) + 0x2C8),
|
||||
(void*)(((char*)execute__9daSwc00_cFv) + 0x2C8),
|
||||
(void*)(((char*)execute__9daSwc00_cFv) + 0x2C8),
|
||||
(void*)(((char*)execute__9daSwc00_cFv) + 0x1A4),
|
||||
};
|
||||
inline static int daSwc00_getSw2No(daSwc00_c* i_this) {
|
||||
return (fopAcM_GetParam(i_this) >> 8) & 0xff;
|
||||
}
|
||||
|
||||
/* 805A15FC-805A18E8 00027C 02EC+00 2/1 0/0 0/0 .text execute__9daSwc00_cFv */
|
||||
int daSwc00_c::execute() {
|
||||
// NONMATCHING
|
||||
daPy_py_c* player = daPy_getPlayerActorClass();
|
||||
u8 condition = daSwc00_getCondition(this);
|
||||
switch(condition) {
|
||||
case 1:
|
||||
if (!player->checkHorseRide()) {
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (daPy_py_c::checkNowWolf() || player->checkHorseRide()) {
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if (player->getKandelaarFlamePos() == NULL) {
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
int type = daSwc00_getType(this);
|
||||
int sw2 = daSwc00_getSw2No(this);
|
||||
|
||||
switch (type) {
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
case 7:
|
||||
case 15:
|
||||
if (sw2 != 0xff && !fopAcM_isSwitch(this, sw2)) {
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
case 8:
|
||||
if (sw2 != 0xff && fopAcM_isSwitch(this, sw2)) {
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
OSReport_Error("領域スイッチ:引数0が不正値<%d>です\n", type);
|
||||
JUT_PANIC(289, "0");
|
||||
break;
|
||||
}
|
||||
|
||||
int sw1 = daSwc00_getSw1No(this);
|
||||
switch (daSwc00_getType(this)) {
|
||||
case 3:
|
||||
case 15:
|
||||
if (hitCheck(this)) {
|
||||
dComIfGs_onSwitch(sw1, fopAcM_GetRoomNo(this));
|
||||
field_0x583 = 1;
|
||||
field_0x584 = 1;
|
||||
}
|
||||
break;
|
||||
case 0:
|
||||
case 4:
|
||||
if (hitCheck(this)) {
|
||||
dComIfGs_onSwitch(sw1, fopAcM_GetRoomNo(this));
|
||||
field_0x584 = 1;
|
||||
} else {
|
||||
dComIfGs_offSwitch(sw1, fopAcM_GetRoomNo(this));
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
case 5:
|
||||
if (hitCheck(this)) {
|
||||
dComIfGs_onSwitch(sw1, fopAcM_GetRoomNo(this));
|
||||
field_0x584 = 1;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
case 6:
|
||||
if (hitCheck(this)) {
|
||||
dComIfGs_offSwitch(sw1, fopAcM_GetRoomNo(this));
|
||||
field_0x584 = 1;
|
||||
}
|
||||
break;
|
||||
|
||||
case 7:
|
||||
case 8:
|
||||
if (hitCheck(this)) {
|
||||
dComIfGs_offSwitch(sw1, fopAcM_GetRoomNo(this));
|
||||
field_0x584 = 1;
|
||||
field_0x583 = 1;
|
||||
}
|
||||
}
|
||||
event_proc_call();
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 805A1E34-805A1E40 -00001 000C+00 0/1 0/0 0/0 .data @3820 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3820[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)actionWait__9daSwc00_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 805A1E40-805A1E4C -00001 000C+00 0/1 0/0 0/0 .data @3821 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3821[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)actionOrderEvent__9daSwc00_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 805A1E4C-805A1E58 -00001 000C+00 0/1 0/0 0/0 .data @3822 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3822[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)actionEvent__9daSwc00_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 805A1E58-805A1E64 -00001 000C+00 0/1 0/0 0/0 .data @3823 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3823[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)actionDead__9daSwc00_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 805A1E64-805A1E94 000090 0030+00 0/1 0/0 0/0 .data l_func$3819 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static u8 l_func[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
|
||||
|
||||
/* 805A18E8-805A19A4 000568 00BC+00 1/1 0/0 0/0 .text event_proc_call__9daSwc00_cFv */
|
||||
void daSwc00_c::event_proc_call() {
|
||||
// NONMATCHING
|
||||
static daSwc00_c::actionFunc l_func[4] = {
|
||||
&daSwc00_c::actionWait,
|
||||
&daSwc00_c::actionOrderEvent,
|
||||
&daSwc00_c::actionEvent,
|
||||
&daSwc00_c::actionDead,
|
||||
};
|
||||
(this->*l_func[mAction])();
|
||||
}
|
||||
|
||||
static inline u8 daSwc00_getEvID(daSwc00_c* i_this) {
|
||||
return fopAcM_GetParam(i_this) >> 24;
|
||||
}
|
||||
|
||||
/* 805A19A4-805A1A28 000624 0084+00 1/0 0/0 0/0 .text actionWait__9daSwc00_cFv */
|
||||
void daSwc00_c::actionWait() {
|
||||
// NONMATCHING
|
||||
if (field_0x584 != 0) {
|
||||
if (daSwc00_getEvID(this) != 0xff) {
|
||||
setAction(ACTION_ORDER_EVENT);
|
||||
fopAcM_orderOtherEventId(this, mEventID, daSwc00_getEvID(this),
|
||||
0xffff, 0, 1);
|
||||
eventInfo.onCondition(dEvtCnd_CANDEMO_e);
|
||||
} else {
|
||||
setAction(ACTION_DEAD);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 805A1A28-805A1A94 0006A8 006C+00 1/0 0/0 0/0 .text actionOrderEvent__9daSwc00_cFv */
|
||||
void daSwc00_c::actionOrderEvent() {
|
||||
// NONMATCHING
|
||||
if (eventInfo.checkCommandDemoAccrpt()) {
|
||||
setAction(ACTION_EVENT);
|
||||
} else {
|
||||
fopAcM_orderOtherEventId(this, mEventID, daSwc00_getEvID(this), 0xffff, 0, 1);
|
||||
eventInfo.onCondition(dEvtCnd_CANDEMO_e);
|
||||
}
|
||||
}
|
||||
|
||||
/* 805A1A94-805A1AF0 000714 005C+00 1/0 0/0 0/0 .text actionEvent__9daSwc00_cFv */
|
||||
void daSwc00_c::actionEvent() {
|
||||
// NONMATCHING
|
||||
if (dComIfGp_evmng_endCheck(mEventID)) {
|
||||
setAction(ACTION_DEAD);
|
||||
dComIfGp_event_reset();
|
||||
}
|
||||
}
|
||||
|
||||
/* 805A1AF0-805A1B1C 000770 002C+00 1/0 0/0 0/0 .text actionDead__9daSwc00_cFv */
|
||||
void daSwc00_c::actionDead() {
|
||||
// NONMATCHING
|
||||
if (field_0x583 != 0) {
|
||||
fopAcM_delete(this);
|
||||
}
|
||||
}
|
||||
|
||||
/* 805A1B1C-805A1B24 00079C 0008+00 1/0 0/0 0/0 .text daSwc00_IsDelete__FP9daSwc00_c */
|
||||
static bool daSwc00_IsDelete(daSwc00_c* param_0) {
|
||||
return true;
|
||||
static int daSwc00_IsDelete(daSwc00_c* i_this) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 805A1B24-805A1B2C 0007A4 0008+00 1/0 0/0 0/0 .text daSwc00_Delete__FP9daSwc00_c */
|
||||
static bool daSwc00_Delete(daSwc00_c* param_0) {
|
||||
return true;
|
||||
static int daSwc00_Delete(daSwc00_c* i_this) {
|
||||
fpc_ProcID id = fopAcM_GetID(i_this);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 805A1E94-805A1ED4 -00001 0040+00 1/1 0/0 0/0 .data @3996 */
|
||||
SECTION_DATA static void* lit_3996[16] = {
|
||||
(void*)(((char*)daSwc00_Create__FP10fopAc_ac_c) + 0x98),
|
||||
(void*)(((char*)daSwc00_Create__FP10fopAc_ac_c) + 0xDC),
|
||||
(void*)(((char*)daSwc00_Create__FP10fopAc_ac_c) + 0xDC),
|
||||
(void*)(((char*)daSwc00_Create__FP10fopAc_ac_c) + 0x90),
|
||||
(void*)(((char*)daSwc00_Create__FP10fopAc_ac_c) + 0x98),
|
||||
(void*)(((char*)daSwc00_Create__FP10fopAc_ac_c) + 0xDC),
|
||||
(void*)(((char*)daSwc00_Create__FP10fopAc_ac_c) + 0xDC),
|
||||
(void*)(((char*)daSwc00_Create__FP10fopAc_ac_c) + 0xDC),
|
||||
(void*)(((char*)daSwc00_Create__FP10fopAc_ac_c) + 0xDC),
|
||||
(void*)(((char*)daSwc00_Create__FP10fopAc_ac_c) + 0xDC),
|
||||
(void*)(((char*)daSwc00_Create__FP10fopAc_ac_c) + 0xDC),
|
||||
(void*)(((char*)daSwc00_Create__FP10fopAc_ac_c) + 0xDC),
|
||||
(void*)(((char*)daSwc00_Create__FP10fopAc_ac_c) + 0xDC),
|
||||
(void*)(((char*)daSwc00_Create__FP10fopAc_ac_c) + 0xDC),
|
||||
(void*)(((char*)daSwc00_Create__FP10fopAc_ac_c) + 0xDC),
|
||||
(void*)(((char*)daSwc00_Create__FP10fopAc_ac_c) + 0x90),
|
||||
};
|
||||
static inline int daSwc00_getScale(daSwc00_c* i_this) {
|
||||
return (fopAcM_GetParam(i_this) >> 20) & 0xf;
|
||||
}
|
||||
|
||||
/* 805A1B2C-805A1D8C 0007AC 0260+00 2/0 0/0 0/0 .text daSwc00_Create__FP10fopAc_ac_c */
|
||||
static void daSwc00_Create(fopAc_ac_c* param_0) {
|
||||
// NONMATCHING
|
||||
static int daSwc00_Create(fopAc_ac_c* a_this) {
|
||||
daSwc00_c* i_this = (daSwc00_c*)a_this;
|
||||
fopAcM_SetupActor(i_this, daSwc00_c);
|
||||
fpc_ProcID id = fopAcM_GetID(a_this);
|
||||
int sw1 = daSwc00_getSw1No(i_this);
|
||||
if (dComIfGs_isSwitch(sw1, fopAcM_GetRoomNo(a_this))) {
|
||||
switch (daSwc00_getType(i_this)) {
|
||||
case 3:
|
||||
case 15:
|
||||
return cPhs_ERROR_e;
|
||||
case 0:
|
||||
case 4:
|
||||
dComIfGs_offSwitch(daSwc00_getSw1No(i_this), fopAcM_GetRoomNo(a_this));
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
case 5:
|
||||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
switch (daSwc00_getType(i_this)) {
|
||||
case 7:
|
||||
case 8:
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
}
|
||||
int shape = daSwc00_getShape(i_this);
|
||||
int swcScale = daSwc00_getScale(i_this);
|
||||
if (shape == 3) {
|
||||
switch (swcScale) {
|
||||
case 0:
|
||||
default:
|
||||
a_this->scale.x *= 100.0f;
|
||||
a_this->scale.x += 30.0f;
|
||||
a_this->scale.x *= a_this->scale.x;
|
||||
a_this->scale.y *= 100.0f;
|
||||
break;
|
||||
case 1:
|
||||
a_this->scale.x *= 1000.0f;
|
||||
a_this->scale.x += 30.0f;
|
||||
a_this->scale.x *= a_this->scale.x;
|
||||
a_this->scale.y *= 1000.0f;
|
||||
break;
|
||||
}
|
||||
} else if (shape == 0) {
|
||||
switch (swcScale) {
|
||||
case 1:
|
||||
a_this->scale.x = 10.0f * a_this->scale.x;
|
||||
a_this->scale.y = 10.0f * a_this->scale.y;
|
||||
a_this->scale.z = 10.0f * a_this->scale.z;
|
||||
break;
|
||||
case 0:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
i_this->field_0x568.set(a_this->current.pos.x - 50.0f * a_this->scale.x,
|
||||
a_this->current.pos.y,
|
||||
a_this->current.pos.z - 50.0f * a_this->scale.z);
|
||||
i_this->field_0x574.set(a_this->current.pos.x + 50.0f * a_this->scale.x,
|
||||
a_this->current.pos.y + 100.0f * a_this->scale.y,
|
||||
a_this->current.pos.z + 50.0f * a_this->scale.z);
|
||||
}
|
||||
i_this->mEventID = dComIfGp_getEventManager().getEventIdx(a_this, daSwc00_getEvID(i_this));
|
||||
return cPhs_COMPLEATE_e;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 805A1D98-805A1D9C 000004 0004+00 0/0 0/0 0/0 .rodata @3991 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3991 = 100.0f;
|
||||
COMPILER_STRIP_GATE(0x805A1D98, &lit_3991);
|
||||
#pragma pop
|
||||
|
||||
/* 805A1D9C-805A1DA0 000008 0004+00 0/0 0/0 0/0 .rodata @3992 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3992 = 30.0f;
|
||||
COMPILER_STRIP_GATE(0x805A1D9C, &lit_3992);
|
||||
#pragma pop
|
||||
|
||||
/* 805A1DA0-805A1DA4 00000C 0004+00 0/0 0/0 0/0 .rodata @3993 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3993 = 1000.0f;
|
||||
COMPILER_STRIP_GATE(0x805A1DA0, &lit_3993);
|
||||
#pragma pop
|
||||
|
||||
/* 805A1DA4-805A1DA8 000010 0004+00 0/0 0/0 0/0 .rodata @3994 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3994 = 10.0f;
|
||||
COMPILER_STRIP_GATE(0x805A1DA4, &lit_3994);
|
||||
#pragma pop
|
||||
|
||||
/* 805A1DA8-805A1DAC 000014 0004+00 0/0 0/0 0/0 .rodata @3995 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3995 = 50.0f;
|
||||
COMPILER_STRIP_GATE(0x805A1DA8, &lit_3995);
|
||||
#pragma pop
|
||||
|
||||
/* 805A1ED4-805A1EF4 -00001 0020+00 1/0 0/0 0/0 .data l_daSwc00_Method */
|
||||
static actor_method_class l_daSwc00_Method = {
|
||||
(process_method_func)daSwc00_Create__FP10fopAc_ac_c,
|
||||
(process_method_func)daSwc00_Delete__FP9daSwc00_c,
|
||||
(process_method_func)daSwc00_Execute__FP9daSwc00_c,
|
||||
(process_method_func)daSwc00_IsDelete__FP9daSwc00_c,
|
||||
(process_method_func)daSwc00_Create,
|
||||
(process_method_func)daSwc00_Delete,
|
||||
(process_method_func)daSwc00_Execute,
|
||||
(process_method_func)daSwc00_IsDelete,
|
||||
#ifdef DEBUG
|
||||
(process_method_func)daSwc00_Draw,
|
||||
#else
|
||||
NULL
|
||||
#endif
|
||||
};
|
||||
|
||||
/* 805A1EF4-805A1F24 -00001 0030+00 0/0 0/0 1/0 .data g_profile_SWC00 */
|
||||
|
||||
@@ -90,6 +90,9 @@ dScnPly_env_otherHIO_c::dScnPly_env_otherHIO_c() {
|
||||
mDispTransCylinder = false;
|
||||
}
|
||||
|
||||
void dScnPly_env_otherHIO_c::genMessage(JORMContext* ctx) {
|
||||
}
|
||||
|
||||
/* 80259468-802594AC 253DA8 0044+00 1/1 0/0 0/0 .text __ct__22dScnPly_env_debugHIO_cFv */
|
||||
dScnPly_env_debugHIO_c::dScnPly_env_debugHIO_c() {
|
||||
mBoxCullMinSize.set(-100.0f, -100.0f, -100.0f);
|
||||
@@ -98,6 +101,9 @@ dScnPly_env_debugHIO_c::dScnPly_env_debugHIO_c() {
|
||||
mSphereCullRadius = 100.0f;
|
||||
}
|
||||
|
||||
void dScnPly_env_debugHIO_c::genMessage(JORMContext* ctx) {
|
||||
}
|
||||
|
||||
/* 802594AC-802597B8 253DEC 030C+00 1/0 0/0 0/0 .text dScnPly_Draw__FP9dScnPly_c */
|
||||
static int dScnPly_Draw(dScnPly_c* i_this) {
|
||||
static s16 l_wipeType[] = {
|
||||
|
||||
@@ -69,8 +69,12 @@ static void mDoExt_setJ3DData(Mtx mtx, const J3DTransformInfo* transformInfo, u1
|
||||
}
|
||||
|
||||
static BOOL isCurrentSolidHeap() {
|
||||
/* Nonmatching */
|
||||
return FALSE;
|
||||
JKRHeap* heap = JKRGetCurrentHeap();
|
||||
if (heap->getHeapType() != 'SLID') {
|
||||
OS_REPORT_ERROR("ソリッドヒープちゃうがな!\n");
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 8000D320-8000D428 007C60 0108+00 6/6 0/0 0/0 .text initPlay__14mDoExt_baseAnmFsifss */
|
||||
|
||||
Reference in New Issue
Block a user