summaryrefslogtreecommitdiff
path: root/src/d/actor/d_a_npc_zelda.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/d/actor/d_a_npc_zelda.cpp')
-rw-r--r--src/d/actor/d_a_npc_zelda.cpp1721
1 files changed, 690 insertions, 1031 deletions
diff --git a/src/d/actor/d_a_npc_zelda.cpp b/src/d/actor/d_a_npc_zelda.cpp
index 0ce5e4685b..0a37e10e6d 100644
--- a/src/d/actor/d_a_npc_zelda.cpp
+++ b/src/d/actor/d_a_npc_zelda.cpp
@@ -4,1177 +4,833 @@
*/
#include "d/actor/d_a_npc_zelda.h"
-#include "dol2asm.h"
-
-//
-// Forward References:
-//
-
-extern "C" void __dt__13daNpc_Zelda_cFv();
-extern "C" void create__13daNpc_Zelda_cFv();
-extern "C" void CreateHeap__13daNpc_Zelda_cFv();
-extern "C" void __dt__15J3DTevKColorAnmFv();
-extern "C" void __ct__15J3DTevKColorAnmFv();
-extern "C" void __dt__14J3DTevColorAnmFv();
-extern "C" void __ct__14J3DTevColorAnmFv();
-extern "C" void __dt__11J3DTexNoAnmFv();
-extern "C" void __ct__11J3DTexNoAnmFv();
-extern "C" void __dt__12J3DTexMtxAnmFv();
-extern "C" void __ct__12J3DTexMtxAnmFv();
-extern "C" void __dt__14J3DMatColorAnmFv();
-extern "C" void __ct__14J3DMatColorAnmFv();
-extern "C" void Delete__13daNpc_Zelda_cFv();
-extern "C" void Execute__13daNpc_Zelda_cFv();
-extern "C" void Draw__13daNpc_Zelda_cFv();
-extern "C" void createHeapCallBack__13daNpc_Zelda_cFP10fopAc_ac_c();
-extern "C" void ctrlJointCallBack__13daNpc_Zelda_cFP8J3DJointi();
-extern "C" void getType__13daNpc_Zelda_cFv();
-extern "C" bool isDelete__13daNpc_Zelda_cFv();
-extern "C" void reset__13daNpc_Zelda_cFv();
-extern "C" void afterJntAnm__13daNpc_Zelda_cFi();
-extern "C" void ctrlBtk__13daNpc_Zelda_cFv();
-extern "C" void checkChangeEvt__13daNpc_Zelda_cFv();
-extern "C" void setParam__13daNpc_Zelda_cFv();
-extern "C" void setAfterTalkMotion__13daNpc_Zelda_cFv();
-extern "C" void srchActors__13daNpc_Zelda_cFv();
-extern "C" void evtTalk__13daNpc_Zelda_cFv();
-extern "C" void evtCutProc__13daNpc_Zelda_cFv();
-extern "C" void action__13daNpc_Zelda_cFv();
-extern "C" void beforeMove__13daNpc_Zelda_cFv();
-extern "C" void setAttnPos__13daNpc_Zelda_cFv();
-extern "C" void setCollision__13daNpc_Zelda_cFv();
-extern "C" bool drawDbgInfo__13daNpc_Zelda_cFv();
-extern "C" void selectAction__13daNpc_Zelda_cFv();
-extern "C" void chkAction__13daNpc_Zelda_cFM13daNpc_Zelda_cFPCvPvPv_i();
-extern "C" void setAction__13daNpc_Zelda_cFM13daNpc_Zelda_cFPCvPvPv_i();
-extern "C" void wait__13daNpc_Zelda_cFPv();
-extern "C" void talk__13daNpc_Zelda_cFPv();
-extern "C" static void daNpc_Zelda_Create__FPv();
-extern "C" static void daNpc_Zelda_Delete__FPv();
-extern "C" static void daNpc_Zelda_Execute__FPv();
-extern "C" static void daNpc_Zelda_Draw__FPv();
-extern "C" static bool daNpc_Zelda_IsDelete__FPv();
-extern "C" void calc__11J3DTexNoAnmCFPUs();
-extern "C" void __dt__10cCcD_GSttsFv();
-extern "C" void __dt__8daNpcT_cFv();
-extern "C" void __dt__4cXyzFv();
-extern "C" void __dt__5csXyzFv();
-extern "C" void
-__ct__8daNpcT_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc();
-extern "C" void __ct__5csXyzFv();
-extern "C" void __dt__15daNpcT_JntAnm_cFv();
-extern "C" void __ct__4cXyzFv();
-extern "C" void __dt__18daNpcT_ActorMngr_cFv();
-extern "C" void __dt__22daNpcT_MotionSeqMngr_cFv();
-extern "C" void __dt__12dBgS_AcchCirFv();
-extern "C" void __dt__10dCcD_GSttsFv();
-extern "C" void __dt__12dBgS_ObjAcchFv();
-extern "C" void __dt__12J3DFrameCtrlFv();
-extern "C" void setEyeAngleY__15daNpcT_JntAnm_cF4cXyzsifs();
-extern "C" void setEyeAngleX__15daNpcT_JntAnm_cF4cXyzfs();
-extern "C" void ctrlSubFaceMotion__8daNpcT_cFi();
-extern "C" s32 getFootLJointNo__8daNpcT_cFv();
-extern "C" s32 getFootRJointNo__8daNpcT_cFv();
-extern "C" s32 getEyeballMaterialNo__8daNpcT_cFv();
-extern "C" bool evtEndProc__8daNpcT_cFv();
-extern "C" void afterMoved__8daNpcT_cFv();
-extern "C" bool chkXYItems__8daNpcT_cFv();
-extern "C" void decTmr__8daNpcT_cFv();
-extern "C" void drawOtherMdl__8daNpcT_cFv();
-extern "C" void drawGhost__8daNpcT_cFv();
-extern "C" bool afterSetFaceMotionAnm__8daNpcT_cFiifi();
-extern "C" bool afterSetMotionAnm__8daNpcT_cFiifi();
-extern "C" void getFaceMotionAnm__8daNpcT_cF26daNpcT_faceMotionAnmData_c();
-extern "C" void getMotionAnm__8daNpcT_cF22daNpcT_motionAnmData_c();
-extern "C" void changeAnm__8daNpcT_cFPiPi();
-extern "C" void changeBck__8daNpcT_cFPiPi();
-extern "C" void changeBtp__8daNpcT_cFPiPi();
-extern "C" void changeBtk__8daNpcT_cFPiPi();
-extern "C" void __sinit_d_a_npc_zelda_cpp();
-extern "C" void
-__ct__13daNpc_Zelda_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc();
-extern "C" void __dt__8cM3dGCylFv();
-extern "C" void __dt__8cM3dGAabFv();
-extern "C" s32 getEyeballRMaterialNo__13daNpc_Zelda_cFv();
-extern "C" s32 getEyeballLMaterialNo__13daNpc_Zelda_cFv();
-extern "C" s32 getHeadJointNo__13daNpc_Zelda_cFv();
-extern "C" s32 getNeckJointNo__13daNpc_Zelda_cFv();
-extern "C" bool getBackboneJointNo__13daNpc_Zelda_cFv();
-extern "C" void checkChangeJoint__13daNpc_Zelda_cFi();
-extern "C" void checkRemoveJoint__13daNpc_Zelda_cFi();
-extern "C" void __dt__19daNpc_Zelda_Param_cFv();
-extern "C" static void func_80B77FA4();
-extern "C" static void func_80B77FAC();
-extern "C" u8 const m__19daNpc_Zelda_Param_c[140];
-extern "C" extern char const* const d_a_npc_zelda__stringBase0;
-extern "C" void* mCutNameList__13daNpc_Zelda_c;
-extern "C" u8 mCutList__13daNpc_Zelda_c[12];
-
-//
-// External References:
-//
-
-extern "C" void mDoMtx_YrotS__FPA4_fs();
-extern "C" void mDoMtx_YrotM__FPA4_fs();
-extern "C" void mDoMtx_ZrotM__FPA4_fs();
-extern "C" void
-__ct__16mDoExt_McaMorfSOFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiP10Z2CreatureUlUl();
-extern "C" void stopZelAnime__16mDoExt_McaMorfSOFv();
-extern "C" void __ct__10fopAc_ac_cFv();
-extern "C" void __dt__10fopAc_ac_cFv();
-extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl();
-extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff();
-extern "C" void dComIfGs_wolfeye_effect_check__Fv();
-extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
-extern "C" void reset__14dEvt_control_cFv();
-extern "C" void getMyStaffId__16dEvent_manager_cFPCcP10fopAc_ac_ci();
-extern "C" void getMyActIdx__16dEvent_manager_cFiPCPCciii();
-extern "C" void cutEnd__16dEvent_manager_cFi();
-extern "C" void ChkPresentEnd__16dEvent_manager_cFv();
-extern "C" void __ct__12dBgS_AcchCirFv();
-extern "C" void SetWallR__12dBgS_AcchCirFf();
-extern "C" void __dt__9dBgS_AcchFv();
-extern "C" void __ct__9dBgS_AcchFv();
-extern "C" void Set__9dBgS_AcchFP4cXyzP4cXyzP10fopAc_ac_ciP12dBgS_AcchCirP4cXyzP5csXyzP5csXyz();
-extern "C" void CrrPos__9dBgS_AcchFR4dBgS();
-extern "C" void __ct__11dBgS_GndChkFv();
-extern "C" void __dt__11dBgS_GndChkFv();
-extern "C" void __ct__11dBgS_LinChkFv();
-extern "C" void __dt__11dBgS_LinChkFv();
-extern "C" void SetObj__16dBgS_PolyPassChkFv();
-extern "C" void __ct__10dCcD_GSttsFv();
-extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c();
-extern "C" void __ct__12dCcD_GObjInfFv();
-extern "C" void __dt__12dCcD_GObjInfFv();
-extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl();
-extern "C" void initialize__18daNpcT_ActorMngr_cFv();
-extern "C" void entry__18daNpcT_ActorMngr_cFP10fopAc_ac_c();
-extern "C" void remove__18daNpcT_ActorMngr_cFv();
-extern "C" void getActorP__18daNpcT_ActorMngr_cFv();
-extern "C" void initialize__15daNpcT_MatAnm_cFv();
-extern "C" void initialize__22daNpcT_MotionSeqMngr_cFv();
-extern "C" void initialize__15daNpcT_JntAnm_cFv();
-extern "C" void setParam__15daNpcT_JntAnm_cFP10fopAc_ac_cP8J3DModelP4cXyziiiffffffffffP4cXyz();
-extern "C" void calcJntRad__15daNpcT_JntAnm_cFfff();
-extern "C" void calc__19daNpcT_DmgStagger_cFi();
-extern "C" void tgHitCallBack__8daNpcT_cFP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf();
-extern "C" void loadRes__8daNpcT_cFPCScPPCc();
-extern "C" void deleteRes__8daNpcT_cFPCScPPCc();
-extern "C" void execute__8daNpcT_cFv();
-extern "C" void draw__8daNpcT_cFiifP11_GXColorS10fiii();
-extern "C" void setEnvTevColor__8daNpcT_cFv();
-extern "C" void setRoomNo__8daNpcT_cFv();
-extern "C" void setMtx__8daNpcT_cFv();
-extern "C" void ctrlJoint__8daNpcT_cFP8J3DJointP8J3DModel();
-extern "C" void evtProc__8daNpcT_cFv();
-extern "C" void setFootPos__8daNpcT_cFv();
-extern "C" void setFootPrtcl__8daNpcT_cFP4cXyzff();
-extern "C" bool checkCullDraw__8daNpcT_cFv();
-extern "C" void twilight__8daNpcT_cFv();
-extern "C" void evtOrder__8daNpcT_cFv();
-extern "C" void evtChange__8daNpcT_cFv();
-extern "C" void clrParam__8daNpcT_cFv();
-extern "C" void setFaceMotionAnm__8daNpcT_cFib();
-extern "C" void setMotionAnm__8daNpcT_cFifi();
-extern "C" void setAngle__8daNpcT_cF5csXyz();
-extern "C" void setAngle__8daNpcT_cFs();
-extern "C" void chkActorInSight__8daNpcT_cFP10fopAc_ac_cfs();
-extern "C" void srchPlayerActor__8daNpcT_cFv();
-extern "C" void step__8daNpcT_cFsiiii();
-extern "C" void initTalk__8daNpcT_cFiPP10fopAc_ac_c();
-extern "C" void talkProc__8daNpcT_cFPiiPP10fopAc_ac_ci();
-extern "C" void daNpcT_getDistTableIdx__Fii();
-extern "C" void __ct__10dMsgFlow_cFv();
-extern "C" void __dt__10dMsgFlow_cFv();
-extern "C" void getEventId__10dMsgFlow_cFPi();
-extern "C" void Set__4cCcSFP8cCcD_Obj();
-extern "C" void __pl__4cXyzCFRC3Vec();
-extern "C" void __mi__4cXyzCFRC3Vec();
-extern "C" void cM_atan2s__Fff();
-extern "C" void cM_rndF__Ff();
-extern "C" void __ct__11cBgS_GndChkFv();
-extern "C" void __dt__11cBgS_GndChkFv();
-extern "C" void __dt__13cBgS_PolyInfoFv();
-extern "C" void __dt__8cM3dGCirFv();
-extern "C" void SetC__8cM3dGCylFRC4cXyz();
-extern "C" void SetH__8cM3dGCylFf();
-extern "C" void SetR__8cM3dGCylFf();
-extern "C" void __ct__10Z2CreatureFv();
-extern "C" void __dt__10Z2CreatureFv();
-extern "C" void init__10Z2CreatureFP3VecP3VecUcUc();
-extern "C" void* __nw__FUl();
-extern "C" void __dl__FPv();
-extern "C" void init__12J3DFrameCtrlFs();
-extern "C" void getTexNo__16J3DAnmTexPatternCFUsPUs();
-extern "C" void initialize__14J3DMaterialAnmFv();
-extern "C" void __destroy_arr();
-extern "C" void __construct_array();
-extern "C" void __ptmf_test();
-extern "C" void __ptmf_cmpr();
-extern "C" void __ptmf_scall();
-extern "C" void _savegpr_22();
-extern "C" void _savegpr_27();
-extern "C" void _savegpr_28();
-extern "C" void _savegpr_29();
-extern "C" void _restgpr_22();
-extern "C" void _restgpr_27();
-extern "C" void _restgpr_28();
-extern "C" void _restgpr_29();
-extern "C" extern u8 const __ptmf_null[12 + 4 /* padding */];
-extern "C" extern void* __vt__8dCcD_Cyl[36];
-extern "C" extern void* __vt__9dCcD_Stts[11];
-extern "C" u8 mCcDCyl__8daNpcT_c[68];
-extern "C" extern void* __vt__8daNpcT_c[49];
-extern "C" extern void* __vt__15daNpcT_MatAnm_c[4 + 1 /* padding */];
-extern "C" extern void* __vt__12cCcD_CylAttr[25];
-extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
-extern "C" extern void* __vt__9cCcD_Stts[8];
-extern "C" extern void* __vt__14J3DMaterialAnm[4];
-extern "C" u8 now__14mDoMtx_stack_c[48];
-extern "C" u8 sincosTable___5JMath[65536];
-extern "C" void __register_global_object();
-
-//
-// Declarations:
-//
+#include "JSystem/JHostIO/JORFile.h"
+#include "SSystem/SComponent/c_counter.h"
+#include "d/actor/d_a_hozelda.h"
+#include "d/d_debug_viewer.h"
-/* ############################################################################################## */
-/* 80B780C4-80B780C4 0000FC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80B780C4 = "";
-SECTION_DEAD static char const* const stringBase_80B780C5 = "NO_RESPONSE";
-SECTION_DEAD static char const* const stringBase_80B780D1 = "Zelda";
-#pragma pop
+UNK_REL_DATA
-/* 80B780D8-80B780E4 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,
-};
-
-/* 80B780E4-80B780F8 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
+#if DEBUG
+#define HIO_PARAM(i_this) (i_this->mHIO->param)
+#else
+#define HIO_PARAM(_) (daNpc_Zelda_Param_c::m)
+#endif
-/* 80B780F8-80B78100 000020 0008+00 1/1 0/0 0/0 .data l_bmdData */
-SECTION_DATA static u8 l_bmdData[8] = {
- 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x01,
-};
+static u32 l_bmdData[2] = { 11, 1 };
-/* 80B78100-80B78110 -00001 0010+00 0/1 0/0 0/0 .data l_evtList */
#pragma push
#pragma force_active on
-SECTION_DATA static void* l_evtList[4] = {
- (void*)&d_a_npc_zelda__stringBase0,
- (void*)NULL,
- (void*)(((char*)&d_a_npc_zelda__stringBase0) + 0x1),
- (void*)NULL,
+static daNpcT_evtData_c l_evtList[2] = {
+ {"", 0},
+ {"NO_RESPONSE", 0},
};
#pragma pop
-/* 80B78110-80B78118 -00001 0008+00 2/3 0/0 0/0 .data l_resNameList */
-SECTION_DATA static void* l_resNameList[2] = {
- (void*)&d_a_npc_zelda__stringBase0,
- (void*)(((char*)&d_a_npc_zelda__stringBase0) + 0xD),
+static char* l_resNameList[2] = {
+ "",
+ "Zelda"
};
-/* 80B78118-80B7811C 000040 0002+02 1/0 0/0 0/0 .data l_loadResPtrn0 */
-SECTION_DATA static u16 l_loadResPtrn0[1 + 1 /* padding */] = {
- 0x01FF,
- /* padding */
- 0x0000,
+static s8 l_loadResPtrn0[2] = {
+ 1, -1,
};
-/* 80B7811C-80B78124 -00001 0008+00 1/2 0/0 0/0 .data l_loadResPtrnList */
-SECTION_DATA static void* l_loadResPtrnList[2] = {
- (void*)&l_loadResPtrn0,
- (void*)&l_loadResPtrn0,
+static s8* l_loadResPtrnList[2] = {
+ &l_loadResPtrn0[0],
+ &l_loadResPtrn0[0],
};
-/* 80B78124-80B78178 00004C 0054+00 0/1 0/0 0/0 .data l_faceMotionAnmData */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u8 l_faceMotionAnmData[84] = {
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x11, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x12, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
- 0x00, 0x11, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+static daNpcT_faceMotionAnmData_c l_faceMotionAnmData[3] = {
+ {-1, 0, 0, 17, 2, 1, 1},
+ {-1, 0, 0, 18, 2, 1, 0},
+ {6, 0, 1, 17, 2, 1, 1},
};
-#pragma pop
-/* 80B78178-80B781B0 0000A0 0038+00 0/1 0/0 0/0 .data l_motionAnmData */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u8 l_motionAnmData[56] = {
- 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
- 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
- 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+static daNpcT_motionAnmData_c l_motionAnmData[2] = {
+ {8, 2, 1, 14, 0, 1, 1, 0},
+ {7, 2, 1, 14, 0, 1, 0, 0},
};
-#pragma pop
-/* 80B781B0-80B781E0 0000D8 0030+00 0/1 0/0 0/0 .data l_faceMotionSequenceData */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u8 l_faceMotionSequenceData[48] = {
- 0x00, 0x02, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x01, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
+static daNpcT_MotionSeqMngr_c::sequenceStepData_c l_faceMotionSequenceData[12] = {
+ {2, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {1, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {0, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
};
-#pragma pop
-/* 80B781E0-80B78200 000108 0020+00 0/1 0/0 0/0 .data l_motionSequenceData */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u8 l_motionSequenceData[32] = {
- 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x01, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
+static daNpcT_MotionSeqMngr_c::sequenceStepData_c l_motionSequenceData[8] = {
+ {0, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {1, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
};
-#pragma pop
-/* 80B78200-80B78204 -00001 0004+00 1/1 0/0 0/0 .data mCutNameList__13daNpc_Zelda_c */
-SECTION_DATA void* daNpc_Zelda_c::mCutNameList = (void*)&d_a_npc_zelda__stringBase0;
+const char* daNpc_Zelda_c::mCutNameList = "";
+cutFunc daNpc_Zelda_c::mCutList[1] = { 0 };
-/* 80B78204-80B78210 00012C 000C+00 2/2 0/0 0/0 .data mCutList__13daNpc_Zelda_c */
-SECTION_DATA u8 daNpc_Zelda_c::mCutList[12] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
+#if DEBUG
+static daNpc_Zelda_HIO_c l_HIO;
+#else
+static daNpc_Zelda_Param_c l_HIO;
+#endif
-/* 80B78210-80B7821C -00001 000C+00 1/1 0/0 0/0 .data @4555 */
-SECTION_DATA static void* lit_4555[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)talk__13daNpc_Zelda_cFPv,
-};
+#if DEBUG
+daNpc_Zelda_HIO_c::daNpc_Zelda_HIO_c() {
+ param = daNpc_Zelda_Param_c::m;
+}
-/* 80B7821C-80B78228 -00001 000C+00 1/1 0/0 0/0 .data @4631 */
-SECTION_DATA static void* lit_4631[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)talk__13daNpc_Zelda_cFPv,
-};
+void daNpc_Zelda_HIO_c::genMessage(JORMContext* ctx) {
+ daNpcT_cmnGenMessage(ctx, &param.common);
+ ctx->genButton
+ ("ファイル書き出し",0x40000002,0,NULL,0xffff,0xffff,0x200,0x18);
+}
-/* 80B78228-80B78234 -00001 000C+00 1/1 0/0 0/0 .data @4636 */
-SECTION_DATA static void* lit_4636[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)talk__13daNpc_Zelda_cFPv,
-};
+void daNpc_Zelda_HIO_c::listenPropertyEvent(const JORPropertyEvent* event) {
+ char auStack_7e0[2004];
-/* 80B78234-80B78240 -00001 000C+00 1/1 0/0 0/0 .data @4865 */
-SECTION_DATA static void* lit_4865[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)wait__13daNpc_Zelda_cFPv,
-};
+ JORReflexible::listenPropertyEvent(event);
-/* 80B78240-80B78260 -00001 0020+00 1/0 0/0 0/0 .data daNpc_Zelda_MethodTable */
-static actor_method_class daNpc_Zelda_MethodTable = {
- (process_method_func)daNpc_Zelda_Create__FPv,
- (process_method_func)daNpc_Zelda_Delete__FPv,
- (process_method_func)daNpc_Zelda_Execute__FPv,
- (process_method_func)daNpc_Zelda_IsDelete__FPv,
- (process_method_func)daNpc_Zelda_Draw__FPv,
-};
+ JORFile aJStack_910;
+ switch (reinterpret_cast<u32>(event->id)) {
+ case 0x40000002:
+ if (aJStack_910.open(6, "", NULL, NULL, NULL) != 0) {
+ memset(auStack_7e0, 0, 2000);
+ int retval = 0;
+ daNpcT_cmnListenPropertyEvent(auStack_7e0, &retval, &param.common);
+ aJStack_910.writeData(auStack_7e0, retval);
+ aJStack_910.close();
+ OS_REPORT("write append success!::%6d\n", retval);
+ } else {
+ OS_REPORT("write append failure!\n");
+ }
+ break;
+ }
+}
+#endif
-/* 80B78260-80B78290 -00001 0030+00 0/0 0/0 1/0 .data g_profile_NPC_ZELDA */
-extern actor_process_profile_definition g_profile_NPC_ZELDA = {
- fpcLy_CURRENT_e, // mLayerID
- 7, // mListID
- fpcPi_CURRENT_e, // mListPrio
- PROC_NPC_ZELDA, // mProcName
- &g_fpcLf_Method.base, // sub_method
- sizeof(daNpc_Zelda_c), // mSize
- 0, // mSizeOther
- 0, // mParameters
- &g_fopAc_Method.base, // sub_method
- 384, // mPriority
- &daNpc_Zelda_MethodTable, // sub_method
- 0x00040108, // mStatus
- fopAc_NPC_e, // mActorType
- fopAc_CULLBOX_CUSTOM_e, // cullType
-};
+/* 80B7512C-80B7524C 0000EC 0120+00 1/0 0/0 0/0 .text __dt__13daNpc_Zelda_cFv */
+daNpc_Zelda_c::~daNpc_Zelda_c() {
+ OS_REPORT("|%06d:%x|daNpc_Zelda_c -> デストラクト\n", g_Counter.mCounter0, this);
-/* 80B78290-80B7829C 0001B8 000C+00 2/2 0/0 0/0 .data __vt__11J3DTexNoAnm */
-SECTION_DATA extern void* __vt__11J3DTexNoAnm[3] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)calc__11J3DTexNoAnmCFPUs,
-};
+ if (mpMorf[0] != NULL) {
+ mpMorf[0]->stopZelAnime();
+ }
-/* 80B7829C-80B782A8 0001C4 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,
-};
+#if DEBUG
+ if (mHIO != NULL) {
+ mHIO->removeHIO();
+ }
+#endif
-/* 80B782A8-80B782CC 0001D0 0024+00 3/3 0/0 0/0 .data __vt__12dBgS_ObjAcch */
-SECTION_DATA extern void* __vt__12dBgS_ObjAcch[9] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__12dBgS_ObjAcchFv,
- (void*)NULL,
- (void*)NULL,
- (void*)func_80B77FAC,
- (void*)NULL,
- (void*)NULL,
- (void*)func_80B77FA4,
-};
+ deleteRes(l_loadResPtrnList[field_0xf80], (const char**)l_resNameList);
+}
-/* 80B782CC-80B782D8 0001F4 000C+00 2/2 0/0 0/0 .data __vt__12dBgS_AcchCir */
-SECTION_DATA extern void* __vt__12dBgS_AcchCir[3] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__12dBgS_AcchCirFv,
-};
+/* ############################################################################################## */
+/* 80B77FC8-80B78054 000000 008C+00 7/7 0/0 0/0 .rodata m__19daNpc_Zelda_Param_c */
+const daNpc_Zelda_HIOParam daNpc_Zelda_Param_c::m = {{
+ 190.0f, // attention_offset
+ -3.0f, // gravity
+ 1.0f, // scale
+ 400.0f, // real_shadow_size
+ 255.0f, // weight
+ 170.0f, // height
+ 35.0f, // knee_length
+ 30.0f, // width
+ 0.0f, // body_angleX_max
+ 0.0f, // body_angleX_min
+ 10.0f, // body_angleY_max
+ -10.0f, // body_angleY_min
+ 30.0f, // head_angleX_max
+ -10.0f, // head_angleX_min
+ 45.0f, // head_angleY_max
+ -45.0f, // head_angleY_min
+ 0.6f, // neck_rotation_ratio
+ 12.0f, // morf_frame
+ 3, // talk_distance
+ 6, // talk_angle
+ 5, // attention_distance
+ 6, // attention_angle
+ 110.0f, // fov
+ 0.0f, // search_distance
+ 0.0f, // search_height
+ 0.0f, // search_depth
+ 60, // attention_time
+ 8, // damage_time
+ 0, // face_expression
+ 0, // motion
+ 0, // look_mode
+ FALSE, // debug_mode_ON
+ FALSE, // debug_info_ON
+ 4.0f, // expression_morf_frame
+ 0.0f, // box_min_x
+ 0.0f, // box_min_y
+ 0.0f, // box_min_z
+ 0.0f, // box_max_x
+ 0.0f, // box_max_y
+ 0.0f, // box_max_z
+ 0.0f, // box_offset
+}};
-/* 80B782D8-80B782E4 000200 000C+00 3/3 0/0 0/0 .data __vt__10cCcD_GStts */
-SECTION_DATA extern void* __vt__10cCcD_GStts[3] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__10cCcD_GSttsFv,
-};
+/* 80B7524C-80B75530 00020C 02E4+00 1/1 0/0 0/0 .text create__13daNpc_Zelda_cFv */
+int daNpc_Zelda_c::create() {
+ static u32 const heapSize[2] = {
+ 0x8FE0,
+ 0x8FE0,
+ };
-/* 80B782E4-80B782F0 00020C 000C+00 2/2 0/0 0/0 .data __vt__10dCcD_GStts */
-SECTION_DATA extern void* __vt__10dCcD_GStts[3] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__10dCcD_GSttsFv,
-};
+ fopAcM_SetupActor2(this, daNpc_Zelda_c, (daNpcT_faceMotionAnmData_c*)l_faceMotionAnmData,
+ (daNpcT_motionAnmData_c*)l_motionAnmData,
+ (daNpcT_MotionSeqMngr_c::sequenceStepData_c*)l_faceMotionSequenceData, 4,
+ (daNpcT_MotionSeqMngr_c::sequenceStepData_c*)l_motionSequenceData, 4,
+ l_evtList, l_resNameList);
-/* 80B782F0-80B782FC 000218 000C+00 3/3 0/0 0/0 .data __vt__22daNpcT_MotionSeqMngr_c */
-SECTION_DATA extern void* __vt__22daNpcT_MotionSeqMngr_c[3] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__22daNpcT_MotionSeqMngr_cFv,
-};
+ field_0xf80 = getType();
-/* 80B782FC-80B78308 000224 000C+00 4/4 0/0 0/0 .data __vt__18daNpcT_ActorMngr_c */
-SECTION_DATA extern void* __vt__18daNpcT_ActorMngr_c[3] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__18daNpcT_ActorMngr_cFv,
-};
+ mFlowNodeNo = getFlowNodeNo();
-/* 80B78308-80B78314 000230 000C+00 3/3 0/0 0/0 .data __vt__15daNpcT_JntAnm_c */
-SECTION_DATA extern void* __vt__15daNpcT_JntAnm_c[3] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__15daNpcT_JntAnm_cFv,
-};
+ mTwilight = false;
-/* 80B78314-80B78320 00023C 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGAab */
-SECTION_DATA extern void* __vt__8cM3dGAab[3] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__8cM3dGAabFv,
-};
+ s32 loadResult = loadRes(l_loadResPtrnList[field_0xf80], (const char**)l_resNameList);
+ if (loadResult == cPhs_COMPLEATE_e) {
+ OS_REPORT("\t(%s:%d) flowNo:%d, PathNo:%02x<%08x> ", fopAcM_getProcNameString(this),
+ field_0xf80, mFlowNodeNo, getPathID(), fopAcM_GetParam(this));
+ if (isDelete()) {
+ OS_REPORT("===>isDelete:TRUE\n");
+ return cPhs_ERROR_e;
+ }
+ OS_REPORT("\n");
+ if (fopAcM_entrySolidHeap(this, createHeapCallBack, heapSize[field_0xf80]) ==
+ 0)
+ {
+ return cPhs_ERROR_e;
+ }
-/* 80B78320-80B7832C 000248 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGCyl */
-SECTION_DATA extern void* __vt__8cM3dGCyl[3] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__8cM3dGCylFv,
-};
+ J3DModelData* unusedModelData = mpMorf[0]->getModel()->getModelData();
+ fopAcM_SetMtx(this, mpMorf[0]->getModel()->getBaseTRMtx());
+ fopAcM_setCullSizeBox(this, -200.0f, -100.0f, -200.0f, 200.0f, 300.0f, 200.0f);
+ fopAcM_OnStatus(this, fopAcM_STATUS_UNK_8000000);
+ mSound.init(&current.pos, &eyePos, 3, 1);
-/* 80B7832C-80B783F0 000254 00C4+00 2/2 0/0 0/0 .data __vt__13daNpc_Zelda_c */
-SECTION_DATA extern void* __vt__13daNpc_Zelda_c[49] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__13daNpc_Zelda_cFv,
- (void*)ctrlBtk__13daNpc_Zelda_cFv,
- (void*)ctrlSubFaceMotion__8daNpcT_cFi,
- (void*)checkChangeJoint__13daNpc_Zelda_cFi,
- (void*)checkRemoveJoint__13daNpc_Zelda_cFi,
- (void*)getBackboneJointNo__13daNpc_Zelda_cFv,
- (void*)getNeckJointNo__13daNpc_Zelda_cFv,
- (void*)getHeadJointNo__13daNpc_Zelda_cFv,
- (void*)getFootLJointNo__8daNpcT_cFv,
- (void*)getFootRJointNo__8daNpcT_cFv,
- (void*)getEyeballLMaterialNo__13daNpc_Zelda_cFv,
- (void*)getEyeballRMaterialNo__13daNpc_Zelda_cFv,
- (void*)getEyeballMaterialNo__8daNpcT_cFv,
- (void*)ctrlJoint__8daNpcT_cFP8J3DJointP8J3DModel,
- (void*)afterJntAnm__13daNpc_Zelda_cFi,
- (void*)setParam__13daNpc_Zelda_cFv,
- (void*)checkChangeEvt__13daNpc_Zelda_cFv,
- (void*)evtTalk__13daNpc_Zelda_cFv,
- (void*)evtEndProc__8daNpcT_cFv,
- (void*)evtCutProc__13daNpc_Zelda_cFv,
- (void*)setAfterTalkMotion__13daNpc_Zelda_cFv,
- (void*)evtProc__8daNpcT_cFv,
- (void*)action__13daNpc_Zelda_cFv,
- (void*)beforeMove__13daNpc_Zelda_cFv,
- (void*)afterMoved__8daNpcT_cFv,
- (void*)setAttnPos__13daNpc_Zelda_cFv,
- (void*)setFootPos__8daNpcT_cFv,
- (void*)setCollision__13daNpc_Zelda_cFv,
- (void*)setFootPrtcl__8daNpcT_cFP4cXyzff,
- (void*)checkCullDraw__8daNpcT_cFv,
- (void*)twilight__8daNpcT_cFv,
- (void*)chkXYItems__8daNpcT_cFv,
- (void*)evtOrder__8daNpcT_cFv,
- (void*)decTmr__8daNpcT_cFv,
- (void*)clrParam__8daNpcT_cFv,
- (void*)drawDbgInfo__13daNpc_Zelda_cFv,
- (void*)drawOtherMdl__8daNpcT_cFv,
- (void*)drawGhost__8daNpcT_cFv,
- (void*)afterSetFaceMotionAnm__8daNpcT_cFiifi,
- (void*)afterSetMotionAnm__8daNpcT_cFiifi,
- (void*)getFaceMotionAnm__8daNpcT_cF26daNpcT_faceMotionAnmData_c,
- (void*)getMotionAnm__8daNpcT_cF22daNpcT_motionAnmData_c,
- (void*)changeAnm__8daNpcT_cFPiPi,
- (void*)changeBck__8daNpcT_cFPiPi,
- (void*)changeBtp__8daNpcT_cFPiPi,
- (void*)changeBtk__8daNpcT_cFPiPi,
- (void*)setMotionAnm__8daNpcT_cFifi,
-};
+#if DEBUG
+ mHIO = &l_HIO;
+ // Zelda
+ mHIO->entryHIO("ゼルダ");
+#endif
-/* 80B7512C-80B7524C 0000EC 0120+00 1/0 0/0 0/0 .text __dt__13daNpc_Zelda_cFv */
-daNpc_Zelda_c::~daNpc_Zelda_c() {
- // NONMATCHING
-}
+ reset();
-/* ############################################################################################## */
-/* 80B77FC8-80B78054 000000 008C+00 7/7 0/0 0/0 .rodata m__19daNpc_Zelda_Param_c */
-SECTION_RODATA u8 const daNpc_Zelda_Param_c::m[140] = {
- 0x43, 0x3E, 0x00, 0x00, 0xC0, 0x40, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00,
- 0x43, 0x7F, 0x00, 0x00, 0x43, 0x2A, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00, 0xC1, 0x20, 0x00, 0x00,
- 0x41, 0xF0, 0x00, 0x00, 0xC1, 0x20, 0x00, 0x00, 0x42, 0x34, 0x00, 0x00, 0xC2, 0x34, 0x00, 0x00,
- 0x3F, 0x19, 0x99, 0x9A, 0x41, 0x40, 0x00, 0x00, 0x00, 0x03, 0x00, 0x06, 0x00, 0x05, 0x00, 0x06,
- 0x42, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x3C, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 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,
-};
-COMPILER_STRIP_GATE(0x80B77FC8, &daNpc_Zelda_Param_c::m);
+ mAcch.Set(fopAcM_GetPosition_p(this), fopAcM_GetOldPosition_p(this), this, 1,
+ &mAcchCir, fopAcM_GetSpeed_p(this), fopAcM_GetAngle_p(this),
+ fopAcM_GetShapeAngle_p(this));
-/* 80B78054-80B7805C 00008C 0008+00 0/1 0/0 0/0 .rodata heapSize$3959 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const heapSize[8] = {
- 0x00, 0x00, 0x8F, 0xE0, 0x00, 0x00, 0x8F, 0xE0,
-};
-COMPILER_STRIP_GATE(0x80B78054, &heapSize);
-#pragma pop
-
-/* 80B7805C-80B78060 000094 0004+00 0/1 0/0 0/0 .rodata @4032 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4032 = -200.0f;
-COMPILER_STRIP_GATE(0x80B7805C, &lit_4032);
-#pragma pop
+ mCcStts.Init(HIO_PARAM(this).common.weight, 0, this);
-/* 80B78060-80B78064 000098 0004+00 0/1 0/0 0/0 .rodata @4033 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4033 = -100.0f;
-COMPILER_STRIP_GATE(0x80B78060, &lit_4033);
-#pragma pop
+ mCyl.Set(mCcDCyl);
+ mCyl.SetStts(&mCcStts);
+ mCyl.SetTgHitCallback(tgHitCallBack);
-/* 80B78064-80B78068 00009C 0004+00 0/1 0/0 0/0 .rodata @4034 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4034 = 200.0f;
-COMPILER_STRIP_GATE(0x80B78064, &lit_4034);
-#pragma pop
+ if (field_0xf80 == 0) {
+ mAcch.SetGrndNone();
+ mAcch.SetWallNone();
+ }
+ mAcch.CrrPos(dComIfG_Bgsp());
+ mGndChk = mAcch.m_gnd;
+ mGroundH = mAcch.GetGroundH();
+ if (mGroundH != -1e9f) {
+ setEnvTevColor();
+ setRoomNo();
+ }
-/* 80B78068-80B7806C 0000A0 0004+00 0/1 0/0 0/0 .rodata @4035 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4035 = 300.0f;
-COMPILER_STRIP_GATE(0x80B78068, &lit_4035);
-#pragma pop
+ mCreating = true;
+ Execute();
+ mCreating = false;
+ }
-/* 80B7806C-80B78070 0000A4 0004+00 0/1 0/0 0/0 .rodata @4036 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4036 = -1000000000.0f;
-COMPILER_STRIP_GATE(0x80B7806C, &lit_4036);
-#pragma pop
-
-/* 80B7524C-80B75530 00020C 02E4+00 1/1 0/0 0/0 .text create__13daNpc_Zelda_cFv */
-void daNpc_Zelda_c::create() {
- // NONMATCHING
+ return loadResult;
}
-/* ############################################################################################## */
-/* 80B78070-80B78074 0000A8 0004+00 5/10 0/0 0/0 .rodata @4190 */
-SECTION_RODATA static u8 const lit_4190[4] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
-};
-COMPILER_STRIP_GATE(0x80B78070, &lit_4190);
-
-/* 80B78074-80B78078 0000AC 0004+00 0/2 0/0 0/0 .rodata @4191 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4191 = 65536.0f;
-COMPILER_STRIP_GATE(0x80B78074, &lit_4191);
-#pragma pop
-
-/* 80B78078-80B7807C 0000B0 0004+00 1/4 0/0 0/0 .rodata @4192 */
-SECTION_RODATA static f32 const lit_4192 = 1.0f / 5.0f;
-COMPILER_STRIP_GATE(0x80B78078, &lit_4192);
-
-/* 80B7807C-80B78080 0000B4 0004+00 2/4 0/0 0/0 .rodata @4342 */
-SECTION_RODATA static f32 const lit_4342 = 1.0f;
-COMPILER_STRIP_GATE(0x80B7807C, &lit_4342);
-
-/* 80B75530-80B757BC 0004F0 028C+00 1/1 0/0 0/0 .text CreateHeap__13daNpc_Zelda_cFv */
-void daNpc_Zelda_c::CreateHeap() {
- // NONMATCHING
+f32 dummy0() {
+ return 0.0f;
}
-/* 80B757BC-80B757F8 00077C 003C+00 1/1 0/0 0/0 .text __dt__15J3DTevKColorAnmFv */
-// J3DTevKColorAnm::~J3DTevKColorAnm() {
-extern "C" void __dt__15J3DTevKColorAnmFv() {
- // NONMATCHING
+f32 dummy1() {
+ return 65536.0f;
}
-/* 80B757F8-80B75810 0007B8 0018+00 1/1 0/0 0/0 .text __ct__15J3DTevKColorAnmFv */
-// J3DTevKColorAnm::J3DTevKColorAnm() {
-extern "C" void __ct__15J3DTevKColorAnmFv() {
- // NONMATCHING
+f32 dummy2() {
+ return 0.2f;
}
-/* 80B75810-80B7584C 0007D0 003C+00 1/1 0/0 0/0 .text __dt__14J3DTevColorAnmFv */
-// J3DTevColorAnm::~J3DTevColorAnm() {
-extern "C" void __dt__14J3DTevColorAnmFv() {
- // NONMATCHING
-}
+/* 80B75530-80B757BC 0004F0 028C+00 1/1 0/0 0/0 .text CreateHeap__13daNpc_Zelda_cFv */
+int daNpc_Zelda_c::CreateHeap() {
+ J3DModelData* modelData = NULL;
+ J3DModel* model = NULL;
-/* 80B7584C-80B75864 00080C 0018+00 1/1 0/0 0/0 .text __ct__14J3DTevColorAnmFv */
-// J3DTevColorAnm::J3DTevColorAnm() {
-extern "C" void __ct__14J3DTevColorAnmFv() {
- // NONMATCHING
-}
+ // probably a fakematch? not quite sure what's going on here with the 0-offset
+ s32 unkOffset = 0;
+ s32 arcNameIdx = (*(&l_bmdData + unkOffset))[1];
+ s32 index = (*(&l_bmdData + unkOffset))[0];
-/* 80B75864-80B758AC 000824 0048+00 1/1 0/0 0/0 .text __dt__11J3DTexNoAnmFv */
-// J3DTexNoAnm::~J3DTexNoAnm() {
-extern "C" void __dt__11J3DTexNoAnmFv() {
- // NONMATCHING
-}
+ modelData =
+ static_cast<J3DModelData*>(dComIfG_getObjectRes(l_resNameList[arcNameIdx], index));
-/* 80B758AC-80B758D0 00086C 0024+00 1/1 0/0 0/0 .text __ct__11J3DTexNoAnmFv */
-// J3DTexNoAnm::J3DTexNoAnm() {
-extern "C" void __ct__11J3DTexNoAnmFv() {
- // NONMATCHING
-}
+ if (modelData == NULL) {
+ return 0;
+ }
-/* 80B758D0-80B7590C 000890 003C+00 1/1 0/0 0/0 .text __dt__12J3DTexMtxAnmFv */
-// J3DTexMtxAnm::~J3DTexMtxAnm() {
-extern "C" void __dt__12J3DTexMtxAnmFv() {
- // NONMATCHING
-}
+ s32 temp4 = 0x11020284;
+ mpMorf[0] = new mDoExt_McaMorfSO(modelData, NULL, NULL, NULL, -1, 1.0f, 0, -1, &mSound, 0, temp4);
+ if (mpMorf[0] == NULL || mpMorf[0]->getModel() == NULL) {
+ return 0;
+ }
-/* 80B7590C-80B75924 0008CC 0018+00 1/1 0/0 0/0 .text __ct__12J3DTexMtxAnmFv */
-// J3DTexMtxAnm::J3DTexMtxAnm() {
-extern "C" void __ct__12J3DTexMtxAnmFv() {
- // NONMATCHING
-}
+ model = mpMorf[0]->getModel();
+ for (u16 i = 0; i < modelData->getJointNum(); i++) {
+ modelData->getJointNodePointer(i)->setCallBack(ctrlJointCallBack);
+ }
-/* 80B75924-80B75960 0008E4 003C+00 1/1 0/0 0/0 .text __dt__14J3DMatColorAnmFv */
-// J3DMatColorAnm::~J3DMatColorAnm() {
-extern "C" void __dt__14J3DMatColorAnmFv() {
- // NONMATCHING
-}
+ model->setUserArea((u32)this);
+
+ for (s32 i = 0; i < 2; i++) {
+ mpMatAnm[i] = new daNpcT_MatAnm_c();
+ if (mpMatAnm[i] == NULL) {
+ return 0;
+ }
+ }
-/* 80B75960-80B75978 000920 0018+00 1/1 0/0 0/0 .text __ct__14J3DMatColorAnmFv */
-// J3DMatColorAnm::J3DMatColorAnm() {
-extern "C" void __ct__14J3DMatColorAnmFv() {
- // NONMATCHING
+ if (setFaceMotionAnm(2, false) && setMotionAnm(0, 0.0f, FALSE)) {
+ return 1;
+ } else {
+ return 0;
+ }
}
/* 80B75978-80B759AC 000938 0034+00 1/1 0/0 0/0 .text Delete__13daNpc_Zelda_cFv */
-void daNpc_Zelda_c::Delete() {
- // NONMATCHING
+int daNpc_Zelda_c::Delete() {
+ OS_REPORT("|%06d:%x|daNpc_Zelda_c -> Delete\n", g_Counter.mCounter0, this);
+ fpc_ProcID unusedId = fopAcM_GetID(this);
+ this->~daNpc_Zelda_c();
+ return 1;
}
/* 80B759AC-80B759CC 00096C 0020+00 2/2 0/0 0/0 .text Execute__13daNpc_Zelda_cFv */
-void daNpc_Zelda_c::Execute() {
- // NONMATCHING
+int daNpc_Zelda_c::Execute() {
+ return execute();
}
-/* ############################################################################################## */
-/* 80B78080-80B78084 0000B8 0004+00 1/1 0/0 0/0 .rodata @4402 */
-SECTION_RODATA static f32 const lit_4402 = 100.0f;
-COMPILER_STRIP_GATE(0x80B78080, &lit_4402);
-
/* 80B759CC-80B75A90 00098C 00C4+00 1/1 0/0 0/0 .text Draw__13daNpc_Zelda_cFv */
-void daNpc_Zelda_c::Draw() {
- // NONMATCHING
+int daNpc_Zelda_c::Draw() {
+ J3DModelData* modelData = mpMorf[0]->getModel()->getModelData();
+ if (mpMatAnm[0] != NULL) {
+ modelData->getMaterialNodePointer(getEyeballLMaterialNo())->setMaterialAnm(mpMatAnm[0]);
+ }
+ if (mpMatAnm[1] != NULL) {
+ modelData->getMaterialNodePointer(getEyeballRMaterialNo())->setMaterialAnm(mpMatAnm[1]);
+ }
+
+#if DEBUG
+ return draw(chkAction(NULL), TRUE, mRealShadowSize, NULL, 100.0f, FALSE, FALSE, FALSE);
+#else
+ return draw(NULL, TRUE, mRealShadowSize, NULL, 100.0f, FALSE, FALSE, FALSE);
+#endif
}
/* 80B75A90-80B75AB0 000A50 0020+00 1/1 0/0 0/0 .text
* createHeapCallBack__13daNpc_Zelda_cFP10fopAc_ac_c */
-void daNpc_Zelda_c::createHeapCallBack(fopAc_ac_c* param_0) {
- // NONMATCHING
+int daNpc_Zelda_c::createHeapCallBack(fopAc_ac_c* i_this) {
+ daNpc_Zelda_c* zelda = ((daNpc_Zelda_c*)i_this);
+ return zelda->CreateHeap();
}
/* 80B75AB0-80B75B08 000A70 0058+00 1/1 0/0 0/0 .text
* ctrlJointCallBack__13daNpc_Zelda_cFP8J3DJointi */
-void daNpc_Zelda_c::ctrlJointCallBack(J3DJoint* param_0, int param_1) {
- // NONMATCHING
+int daNpc_Zelda_c::ctrlJointCallBack(J3DJoint* i_joint, int param_1) {
+ if (param_1 == 0) {
+ J3DModel* model = j3dSys.getModel();
+ daNpc_Zelda_c* zelda = (daNpc_Zelda_c*)model->getUserArea();
+ if (zelda != NULL) {
+ zelda->ctrlJoint(i_joint, model);
+ }
+ }
+ return 1;
}
/* 80B75B08-80B75B28 000AC8 0020+00 1/1 0/0 0/0 .text getType__13daNpc_Zelda_cFv */
-void daNpc_Zelda_c::getType() {
- // NONMATCHING
+u8 daNpc_Zelda_c::getType() {
+ u8 param = fopAcM_GetParam(this);
+ switch (param & 0xff) {
+ case 0:
+ return 0;
+ default:
+ return 0;
+ }
}
/* 80B75B28-80B75B30 000AE8 0008+00 1/1 0/0 0/0 .text isDelete__13daNpc_Zelda_cFv */
-bool daNpc_Zelda_c::isDelete() {
- return false;
+int daNpc_Zelda_c::isDelete() {
+ return 0;
}
/* 80B75B30-80B75C9C 000AF0 016C+00 1/1 0/0 0/0 .text reset__13daNpc_Zelda_cFv */
void daNpc_Zelda_c::reset() {
- // NONMATCHING
+ csXyz acStack_20;
+ u32 clearSize = (u32)&field_0xf9c - (u32)&mAction1;
+
+ for (s32 i = 0; i < 2; i++) {
+ if (mpMatAnm[i] != NULL) {
+ mpMatAnm[i]->initialize();
+ }
+ }
+
+ initialize();
+
+ memset(&mAction1, 0, clearSize);
+
+ acStack_20.setall(0);
+ acStack_20.y = home.angle.y;
+ switch (field_0xf80) {
+ case 0:
+ default:
+ setAngle(acStack_20);
+ break;
+ }
}
/* 80B75C9C-80B75D28 000C5C 008C+00 1/0 0/0 0/0 .text afterJntAnm__13daNpc_Zelda_cFi */
void daNpc_Zelda_c::afterJntAnm(int param_0) {
- // NONMATCHING
+ if (param_0 == 1) {
+ mDoMtx_stack_c::YrotM(mStagger.getAngleZ(1));
+ mDoMtx_stack_c::ZrotM(-mStagger.getAngleX(1));
+ } else if (param_0 == 4) {
+ mDoMtx_stack_c::YrotM(mStagger.getAngleZ(0));
+ mDoMtx_stack_c::ZrotM(-mStagger.getAngleX(0));
+ }
}
-/* ############################################################################################## */
-/* 80B78084-80B78088 0000BC 0004+00 3/3 0/0 0/0 .rodata @4551 */
-SECTION_RODATA static f32 const lit_4551 = -1.0f;
-COMPILER_STRIP_GATE(0x80B78084, &lit_4551);
-
/* 80B75D28-80B75E34 000CE8 010C+00 1/0 0/0 0/0 .text ctrlBtk__13daNpc_Zelda_cFv */
-void daNpc_Zelda_c::ctrlBtk() {
- // NONMATCHING
+int daNpc_Zelda_c::ctrlBtk() {
+ if ((mpMatAnm[0] != NULL) && (mpMatAnm[1] != NULL)) {
+ if (field_0xe29 != 0) {
+ J3DAnmTextureSRTKey* btkAnm = mBtkAnm.getBtkAnm();
+ if (btkAnm != 0) {
+ mpMatAnm[0]->setNowOffsetX(cM_ssin(mJntAnm.getEyeAngleY()) * 0.2f * -1.0f);
+ mpMatAnm[0]->setNowOffsetY(cM_ssin(mJntAnm.getEyeAngleX()) * 0.2f);
+ mpMatAnm[1]->setNowOffsetX(cM_ssin(mJntAnm.getEyeAngleY()) * 0.2f);
+ mpMatAnm[1]->setNowOffsetY(cM_ssin(mJntAnm.getEyeAngleX()) * 0.2f);
+ mpMatAnm[0]->onEyeMoveFlag();
+ mpMatAnm[1]->onEyeMoveFlag();
+ return 1;
+ }
+ }
+ if (field_0xe2a != 0) {
+ mpMatAnm[0]->setMorfFrm(field_0xe2a);
+ mpMatAnm[1]->setMorfFrm(field_0xe2a);
+ field_0xe2a = 0;
+ }
+ mpMatAnm[0]->offEyeMoveFlag();
+ mpMatAnm[1]->offEyeMoveFlag();
+ }
+ return 0;
}
/* 80B75E34-80B75EE8 000DF4 00B4+00 1/0 0/0 0/0 .text checkChangeEvt__13daNpc_Zelda_cFv
*/
-void daNpc_Zelda_c::checkChangeEvt() {
- // NONMATCHING
+int daNpc_Zelda_c::checkChangeEvt() {
+ if (!chkAction(&daNpc_Zelda_c::talk)) {
+ mPreItemNo = 0;
+ if (dComIfGp_event_chkTalkXY()) {
+ if (dComIfGp_evmng_ChkPresentEnd()) {
+ mEvtNo = 1;
+ evtChange();
+ }
+ return 1;
+ }
+ }
+ return 0;
}
/* 80B75EE8-80B76014 000EA8 012C+00 1/0 0/0 0/0 .text setParam__13daNpc_Zelda_cFv */
void daNpc_Zelda_c::setParam() {
- // NONMATCHING
+ selectAction();
+ srchActors();
+
+#if DEBUG
+ s32 attnFlag = 0x2 | 0x40;
+#define NPC_ZELDA_SETPARAM_DIST_IDX fopAc_attn_JUEL_e
+#else
+ s32 attnFlag = 0x2 | 0x8;
+#define NPC_ZELDA_SETPARAM_DIST_IDX fopAc_attn_SPEAK_e
+#endif
+
+ s16 talkDist = HIO_PARAM(this).common.talk_distance;
+ s16 talkAngle = HIO_PARAM(this).common.talk_angle;
+ s16 attnDist = HIO_PARAM(this).common.attention_distance;
+ s16 attnAngle = HIO_PARAM(this).common.attention_angle;
+ attention_info.distances[fopAc_attn_LOCK_e] =
+ daNpcT_getDistTableIdx(attnDist, attnAngle);
+ attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e];
+ attention_info.distances[NPC_ZELDA_SETPARAM_DIST_IDX] = daNpcT_getDistTableIdx(talkDist, talkAngle);
+ attention_info.flags = attnFlag;
+ scale.set(HIO_PARAM(this).common.scale, HIO_PARAM(this).common.scale, HIO_PARAM(this).common.scale);
+ mCcStts.SetWeight(HIO_PARAM(this).common.weight);
+ mCylH = HIO_PARAM(this).common.height;
+ mWallR = HIO_PARAM(this).common.width;
+ mAttnFovY = HIO_PARAM(this).common.fov;
+ mAcchCir.SetWallR(mWallR);
+ mAcchCir.SetWallH(HIO_PARAM(this).common.knee_length);
+ mRealShadowSize = HIO_PARAM(this).common.real_shadow_size;
+ mExpressionMorfFrame = HIO_PARAM(this).common.expression_morf_frame;
+ mMorfFrames = HIO_PARAM(this).common.morf_frame;
+ gravity = HIO_PARAM(this).common.gravity;
+ if (field_0xf80 == 0) {
+ mAcch.SetGrndNone();
+ mAcch.SetWallNone();
+ gravity = 0.0f;
+ }
+ return;
}
/* 80B76014-80B76074 000FD4 0060+00 1/0 0/0 0/0 .text setAfterTalkMotion__13daNpc_Zelda_cFv */
void daNpc_Zelda_c::setAfterTalkMotion() {
- // NONMATCHING
+ s32 index = 2;
+ mFaceMotionSeqMngr.getNo();
+ mFaceMotionSeqMngr.setNo(index, -1.0f, 0, 0);
}
/* 80B76074-80B76078 001034 0004+00 1/1 0/0 0/0 .text srchActors__13daNpc_Zelda_cFv */
void daNpc_Zelda_c::srchActors() {
- /* empty function */
+#if DEBUG
+ switch (field_0xf80) {
+ case 0:
+ default:
+ }
+#endif
}
/* 80B76078-80B76118 001038 00A0+00 1/0 0/0 0/0 .text evtTalk__13daNpc_Zelda_cFv */
-void daNpc_Zelda_c::evtTalk() {
- // NONMATCHING
+int daNpc_Zelda_c::evtTalk() {
+ if (chkAction(&daNpc_Zelda_c::talk)) {
+ (this->*mAction2)(NULL);
+ } else {
+ setAction(&daNpc_Zelda_c::talk);
+ }
+
+ return 1;
}
/* 80B76118-80B761E0 0010D8 00C8+00 1/0 0/0 0/0 .text evtCutProc__13daNpc_Zelda_cFv */
-void daNpc_Zelda_c::evtCutProc() {
- // NONMATCHING
+int daNpc_Zelda_c::evtCutProc() {
+ s32 staff_id = dComIfGp_getEventManager().getMyStaffId("Zelda", this, -1);
+ if (staff_id != -1) {
+ mStaffId = staff_id;
+ s32 actIdx = dComIfGp_getEventManager().getMyActIdx(mStaffId, &daNpc_Zelda_c::mCutNameList, 1, 0, 0);
+ if ((this->*mCutList[actIdx])(mStaffId)) {
+ dComIfGp_getEventManager().cutEnd(mStaffId);
+ }
+
+ return 1;
+ }
+
+ return 0;
}
/* 80B761E0-80B762CC 0011A0 00EC+00 1/0 0/0 0/0 .text action__13daNpc_Zelda_cFv */
void daNpc_Zelda_c::action() {
- // NONMATCHING
+ if (mStagger.checkRebirth() != 0) {
+ mStagger.initialize();
+ mMode = 1;
+ }
+ if (mAction1 != NULL) {
+ if (mAction2 == mAction1) {
+ (this->*mAction2)(0);
+ }
+ else {
+ setAction(mAction1);
+ }
+ }
}
/* 80B762CC-80B76344 00128C 0078+00 1/0 0/0 0/0 .text beforeMove__13daNpc_Zelda_cFv */
void daNpc_Zelda_c::beforeMove() {
- // NONMATCHING
+ if (checkHide() != 0 || mNoDraw != 0) {
+ attention_info.flags = 0;
+ }
}
-/* ############################################################################################## */
-/* 80B78088-80B7808C 0000C0 0004+00 0/1 0/0 0/0 .rodata @4744 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4744 = 10.0f;
-COMPILER_STRIP_GATE(0x80B78088, &lit_4744);
-#pragma pop
-
-/* 80B7808C-80B78090 0000C4 0004+00 0/1 0/0 0/0 .rodata @4745 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4745 = -30.0f;
-COMPILER_STRIP_GATE(0x80B7808C, &lit_4745);
-#pragma pop
-
-/* 80B78090-80B78094 0000C8 0004+00 0/1 0/0 0/0 .rodata @4746 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u32 const lit_4746 = 0x38C90FDB;
-COMPILER_STRIP_GATE(0x80B78090, &lit_4746);
-#pragma pop
-
-/* 80B78094-80B78098 0000CC 0004+00 0/1 0/0 0/0 .rodata @4747 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4747 = 170.0f;
-COMPILER_STRIP_GATE(0x80B78094, &lit_4747);
-#pragma pop
-
-/* 80B78098-80B780A0 0000D0 0008+00 1/3 0/0 0/0 .rodata @4749 */
-SECTION_RODATA static u8 const lit_4749[8] = {
- 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80B78098, &lit_4749);
-
/* 80B76344-80B765D4 001304 0290+00 1/0 0/0 0/0 .text setAttnPos__13daNpc_Zelda_cFv */
void daNpc_Zelda_c::setAttnPos() {
- // NONMATCHING
+ s32 iVar2;
+ s32 iVar3;
+ s32 iVar4;
+ J3DModel* pJVar5;
+ Mtx* src;
+ f32 dVar6;
+
+ cXyz acStack_3c(10.0f, -30.0f, 0.0f);
+ mStagger.calc(0);
+ dVar6 = cM_s2rad(mCurAngle.y - field_0xd7e.y);
+ pJVar5 = mpMorf[0]->getModel();
+ mJntAnm.setParam((fopAc_ac_c*)this, pJVar5, &acStack_3c,
+ getBackboneJointNo(),
+ getNeckJointNo(),
+ getHeadJointNo(),
+ HIO_PARAM(this).common.body_angleX_min,
+ HIO_PARAM(this).common.body_angleX_max,
+ HIO_PARAM(this).common.body_angleY_min,
+ HIO_PARAM(this).common.body_angleY_max,
+ HIO_PARAM(this).common.head_angleX_min,
+ HIO_PARAM(this).common.head_angleX_max,
+ HIO_PARAM(this).common.head_angleY_min,
+ HIO_PARAM(this).common.head_angleY_max,
+ HIO_PARAM(this).common.neck_rotation_ratio,
+ 0.0f,
+ NULL);
+ mJntAnm.calcJntRad(0.2f, 1.0f, dVar6);
+ setMtx();
+ s32 headJointNo = getHeadJointNo();
+ pJVar5 = mpMorf[0]->getModel();
+ mDoMtx_stack_c::copy(pJVar5->getAnmMtx(headJointNo));
+ mDoMtx_stack_c::multVec(&acStack_3c, &eyePos);
+ mJntAnm.setEyeAngleX(eyePos, 1.0f, 0);
+ mJntAnm.setEyeAngleY(eyePos, mCurAngle.y, 0, 1.0f, 0);
+ acStack_3c.set(0.0f, 0.0f, 0.0f);
+ acStack_3c.y = HIO_PARAM(this).common.attention_offset;
+ if (field_0xf80 == 0) {
+ acStack_3c.set(0.0f, 170.0f, 10.0f);
+ }
+ mDoMtx_stack_c::YrotS(mCurAngle.y);
+ mDoMtx_stack_c::multVec(&acStack_3c, &acStack_3c);
+ attention_info.position = acStack_3c + current.pos;
}
-/* ############################################################################################## */
-/* 80B780A0-80B780A8 0000D8 0008+00 0/1 0/0 0/0 .rodata @4807 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_4807[8] = {
- 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80B780A0, &lit_4807);
-#pragma pop
-
-/* 80B780A8-80B780B0 0000E0 0008+00 0/1 0/0 0/0 .rodata @4808 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_4808[8] = {
- 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80B780A8, &lit_4808);
-#pragma pop
-
-/* 80B780B0-80B780B8 0000E8 0008+00 0/1 0/0 0/0 .rodata @4809 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_4809[8] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80B780B0, &lit_4809);
-#pragma pop
-
-/* 80B780B8-80B780BC 0000F0 0004+00 0/1 0/0 0/0 .rodata @4853 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4853 = 20.0f;
-COMPILER_STRIP_GATE(0x80B780B8, &lit_4853);
-#pragma pop
-
-/* 80B780BC-80B780C0 0000F4 0004+00 0/1 0/0 0/0 .rodata @4854 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4854 = 160.0f;
-COMPILER_STRIP_GATE(0x80B780BC, &lit_4854);
-#pragma pop
-
-/* 80B780C0-80B780C4 0000F8 0004+00 0/1 0/0 0/0 .rodata @4855 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4855 = 44.0f;
-COMPILER_STRIP_GATE(0x80B780C0, &lit_4855);
-#pragma pop
-
/* 80B765D4-80B76774 001594 01A0+00 1/0 0/0 0/0 .text setCollision__13daNpc_Zelda_cFv */
void daNpc_Zelda_c::setCollision() {
- // NONMATCHING
+ cXyz newCenter;
+ if (!mHide) {
+ u32 unused = 0x79;
+
+ u32 type = 0xd8fbfdff;
+ u32 uVar4 = 0x1f;
+
+ if (dComIfGp_event_runCheck()) {
+ type = 0;
+ uVar4 = 0;
+ } else {
+ if (mTwilight) {
+ type = 0;
+ uVar4 = 0;
+ } else {
+ if (mStagger.checkStagger()) {
+ type = 0;
+ uVar4 = 0;
+ }
+ }
+ }
+ mCyl.SetCoSPrm(0x79);
+ mCyl.SetTgType(type);
+ mCyl.SetTgSPrm(uVar4);
+ mCyl.OnTgNoHitMark();
+
+ newCenter.set(0.0f,0.0f,0.0f);
+ f32 cylH = mCylH;
+ f32 wallR = mWallR;
+ if (field_0xf80 == 0) {
+ newCenter.set(0.0f,0.0f,20.0f);
+ cylH = 160.0f;
+ wallR = 44.0f;
+ }
+ mDoMtx_stack_c::YrotS(mCurAngle.y);
+ mDoMtx_stack_c::multVec(&newCenter,&newCenter);
+ newCenter += current.pos;
+
+ mCyl.SetH(cylH);
+ mCyl.SetR(wallR);
+ mCyl.SetC(newCenter);
+ dComIfG_Ccsp()->Set(&mCyl);
+ }
+
+ mCyl.ClrCoHit();
+ mCyl.ClrTgHit();
}
/* 80B76774-80B7677C 001734 0008+00 1/0 0/0 0/0 .text drawDbgInfo__13daNpc_Zelda_cFv */
-bool daNpc_Zelda_c::drawDbgInfo() {
- return false;
+int daNpc_Zelda_c::drawDbgInfo() {
+#if DEBUG
+ const daNpc_Zelda_HIOParam* m = &daNpc_Zelda_Param_c::m;
+ if (HIO_PARAM(this).common.debug_info_ON != 0) {
+ f32 distMax1 = dComIfGp_getAttention()->getDistTable(
+ attention_info.distances[fopAc_attn_JUEL_e]).mDistMax;
+ f32 distMax2 = dComIfGp_getAttention()->getDistTable(
+ attention_info.distances[fopAc_attn_TALK_e]).mDistMax;
+ GXColor circle1Color = { 0xc8, 0x00, 0xff };
+ dDbVw_drawCircleOpa(attention_info.position, distMax1, circle1Color, 1, 0xc);
+ GXColor circle2Color = { 0xc8, 0x00, 0x00, 0xff };
+ dDbVw_drawCircleOpa(attention_info.position, distMax2, circle2Color, 1, 0xc);
+ GXColor sphere1Color = { 0x80, 0x80, 0x80, 0xa0 };
+ dDbVw_drawSphereXlu(eyePos, 18.0f, sphere1Color, 1);
+ GXColor sphere2Color = { 0x80, 0x80, 0x80, 0xa0 };
+ dDbVw_drawSphereXlu(attention_info.position, 9.0f, sphere2Color, 1);
+ }
+#endif
+ return 0;
}
/* 80B7677C-80B767C4 00173C 0048+00 1/1 0/0 0/0 .text selectAction__13daNpc_Zelda_cFv */
-void daNpc_Zelda_c::selectAction() {
- // NONMATCHING
+int daNpc_Zelda_c::selectAction() {
+ mAction1 = NULL;
+ mAction1 = &daNpc_Zelda_c::wait;
+ return 1;
}
/* 80B767C4-80B767F0 001784 002C+00 2/2 0/0 0/0 .text
* chkAction__13daNpc_Zelda_cFM13daNpc_Zelda_cFPCvPvPv_i */
-void daNpc_Zelda_c::chkAction(int (daNpc_Zelda_c::*param_0)(void*)) {
- // NONMATCHING
+BOOL daNpc_Zelda_c::chkAction(actionFunc action) {
+ return mAction2 == action;
}
/* 80B767F0-80B76898 0017B0 00A8+00 2/2 0/0 0/0 .text
* setAction__13daNpc_Zelda_cFM13daNpc_Zelda_cFPCvPvPv_i */
-void daNpc_Zelda_c::setAction(int (daNpc_Zelda_c::*param_0)(void*)) {
- // NONMATCHING
+BOOL daNpc_Zelda_c::setAction(int (daNpc_Zelda_c::*action)(void*)) {
+ mMode = 3;
+ if (mAction2) {
+ (this->*mAction2)(NULL);
+ }
+
+ mMode = 0;
+ mAction2 = action;
+ if (mAction2) {
+ (this->*mAction2)(NULL);
+ }
+
+ return TRUE;
}
/* 80B76898-80B76B74 001858 02DC+00 1/0 0/0 0/0 .text wait__13daNpc_Zelda_cFPv */
-void daNpc_Zelda_c::wait(void* param_0) {
- // NONMATCHING
+int daNpc_Zelda_c::wait(void* param_0) {
+ switch (mMode) {
+ case 0:
+ case 1:
+ if (!mStagger.checkStagger()) {
+ if (field_0xf80 == 0) {
+ mFaceMotionSeqMngr.setNo(1, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(1, -1.0f, 0, 0);
+ } else {
+ mFaceMotionSeqMngr.setNo(2, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(0, -1.0f, 0, 0);
+ }
+ mMode = 2;
+ }
+ case 2:
+ if (!mStagger.checkStagger()) {
+ if (field_0xf80 == 0) {
+ mPlayerActorMngr.remove();
+ }
+
+ if (mPlayerActorMngr.getActorP() != NULL && !mTwilight) {
+ mJntAnm.lookPlayer(0);
+
+ if (!chkActorInSight(mPlayerActorMngr.getActorP(), mAttnFovY, mCurAngle.y)) {
+ mJntAnm.lookNone(0);
+ }
+
+ if (!srchPlayerActor() && home.angle.y == mCurAngle.y) {
+ mMode = 1;
+ }
+ } else {
+ mJntAnm.lookNone(0);
+
+ if (home.angle.y != mCurAngle.y) {
+ if (field_0xe34) {
+ if (step(home.angle.y, -1, -1, 0xf, 0)) {
+ mMode = 1;
+ }
+ } else {
+ setAngle(home.angle.y);
+
+ mMode = 1;
+ }
+
+ attention_info.flags = 0;
+ } else {
+ srchPlayerActor();
+ }
+ }
+
+ switch (mJntAnm.getMode()) {
+ case 0:
+ default:
+ break;
+ }
+ }
+ case 3:
+ default:
+ break;
+ }
+ return 1;
}
/* 80B76B74-80B76D60 001B34 01EC+00 3/0 0/0 0/0 .text talk__13daNpc_Zelda_cFPv */
-void daNpc_Zelda_c::talk(void* param_0) {
- // NONMATCHING
+int daNpc_Zelda_c::talk(void* param_0) {
+ switch (mMode) {
+ case 0:
+ case 1:
+ if (!mStagger.checkStagger()) {
+ initTalk(mFlowNodeNo, NULL);
+ mMode = 2;
+ }
+ case 2:
+ if (!mStagger.checkStagger()) {
+ if (mTwilight || mPlayerAngle == mCurAngle.y || field_0xf80 == 0) {
+ if (talkProc(NULL, 0, NULL, 0)) {
+ int retVal;
+ u32 unused = mFlow.getEventId(&retVal);
+ if (mFlow.checkEndFlow()) {
+ mPlayerActorMngr.entry(daPy_getPlayerActorClass());
+
+ dComIfGp_event_reset();
+
+ mMode = 3;
+ }
+ }
+
+ mJntAnm.lookPlayer(0);
+ if (mTwilight || field_0xf80 == 0) {
+ mJntAnm.lookNone(0);
+ }
+ } else {
+ mJntAnm.lookPlayer(0);
+ step(mPlayerAngle, -1, -1, 15, 0);
+ }
+ }
+ case 3:
+ default:
+ break;
+ }
+
+ return 0;
}
/* 80B76D60-80B76D80 001D20 0020+00 1/0 0/0 0/0 .text daNpc_Zelda_Create__FPv */
-static void daNpc_Zelda_Create(void* param_0) {
- // NONMATCHING
+static int daNpc_Zelda_Create(void* param_0) {
+ return ((daNpc_Zelda_c*)param_0)->create();
}
/* 80B76D80-80B76DA0 001D40 0020+00 1/0 0/0 0/0 .text daNpc_Zelda_Delete__FPv */
-static void daNpc_Zelda_Delete(void* param_0) {
- // NONMATCHING
+static int daNpc_Zelda_Delete(void* param_0) {
+ return ((daNpc_Zelda_c*)param_0)->Delete();
}
/* 80B76DA0-80B76DC0 001D60 0020+00 1/0 0/0 0/0 .text daNpc_Zelda_Execute__FPv */
-static void daNpc_Zelda_Execute(void* param_0) {
- // NONMATCHING
+static int daNpc_Zelda_Execute(void* param_0) {
+ return ((daNpc_Zelda_c*)param_0)->Execute();
}
/* 80B76DC0-80B76DE0 001D80 0020+00 1/0 0/0 0/0 .text daNpc_Zelda_Draw__FPv */
-static void daNpc_Zelda_Draw(void* param_0) {
- // NONMATCHING
+static int daNpc_Zelda_Draw(void* param_0) {
+ return ((daNpc_Zelda_c*)param_0)->Draw();
}
/* 80B76DE0-80B76DE8 001DA0 0008+00 1/0 0/0 0/0 .text daNpc_Zelda_IsDelete__FPv */
-static bool daNpc_Zelda_IsDelete(void* param_0) {
- return true;
-}
-
-/* 80B76DE8-80B76E18 001DA8 0030+00 1/0 0/0 0/0 .text calc__11J3DTexNoAnmCFPUs */
-// void J3DTexNoAnm::calc(u16* param_0) const {
-extern "C" void calc__11J3DTexNoAnmCFPUs() {
- // NONMATCHING
-}
-
-/* 80B76E18-80B76E60 001DD8 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */
-// cCcD_GStts::~cCcD_GStts() {
-extern "C" void __dt__10cCcD_GSttsFv() {
- // NONMATCHING
-}
-
-/* 80B76E60-80B771E8 001E20 0388+00 1/1 0/0 0/0 .text __dt__8daNpcT_cFv */
-// daNpcT_c::~daNpcT_c() {
-extern "C" void __dt__8daNpcT_cFv() {
- // NONMATCHING
-}
-
-/* 80B771E8-80B77224 0021A8 003C+00 3/3 0/0 0/0 .text __dt__4cXyzFv */
-// cXyz::~cXyz() {
-extern "C" void __dt__4cXyzFv() {
- // NONMATCHING
-}
-
-/* 80B77224-80B77260 0021E4 003C+00 2/2 0/0 0/0 .text __dt__5csXyzFv */
-// csXyz::~csXyz() {
-extern "C" void __dt__5csXyzFv() {
- // NONMATCHING
+static int daNpc_Zelda_IsDelete(void* param_0) {
+ return 1;
}
-/* 80B77260-80B77664 002220 0404+00 1/1 0/0 0/0 .text
- * __ct__8daNpcT_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc
- */
-// daNpcT_c::daNpcT_c(daNpcT_faceMotionAnmData_c const* param_0,
-// daNpcT_motionAnmData_c const* param_1,
-// daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_2, int param_3,
-// daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_4, int param_5,
-// daNpcT_evtData_c const* param_6, char** param_7) {
-extern "C" void __ct__8daNpcT_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc() {
- // NONMATCHING
-}
-
-/* 80B77664-80B77668 002624 0004+00 1/1 0/0 0/0 .text __ct__5csXyzFv */
-// csXyz::csXyz() {
-extern "C" void __ct__5csXyzFv() {
- /* empty function */
-}
-
-/* 80B77668-80B77764 002628 00FC+00 1/0 0/0 0/0 .text __dt__15daNpcT_JntAnm_cFv */
-// daNpcT_JntAnm_c::~daNpcT_JntAnm_c() {
-extern "C" void __dt__15daNpcT_JntAnm_cFv() {
- // NONMATCHING
-}
-
-/* 80B77764-80B77768 002724 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */
-// cXyz::cXyz() {
-extern "C" void __ct__4cXyzFv() {
- /* empty function */
-}
-
-/* 80B77768-80B777B0 002728 0048+00 1/0 0/0 0/0 .text __dt__18daNpcT_ActorMngr_cFv */
-// daNpcT_ActorMngr_c::~daNpcT_ActorMngr_c() {
-extern "C" void __dt__18daNpcT_ActorMngr_cFv() {
- // NONMATCHING
-}
-
-/* 80B777B0-80B777F8 002770 0048+00 1/0 0/0 0/0 .text __dt__22daNpcT_MotionSeqMngr_cFv */
-// daNpcT_MotionSeqMngr_c::~daNpcT_MotionSeqMngr_c() {
-extern "C" void __dt__22daNpcT_MotionSeqMngr_cFv() {
- // NONMATCHING
-}
-
-/* 80B777F8-80B77868 0027B8 0070+00 1/0 0/0 0/0 .text __dt__12dBgS_AcchCirFv */
-// dBgS_AcchCir::~dBgS_AcchCir() {
-extern "C" void __dt__12dBgS_AcchCirFv() {
- // NONMATCHING
-}
-
-/* 80B77868-80B778C4 002828 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */
-// dCcD_GStts::~dCcD_GStts() {
-extern "C" void __dt__10dCcD_GSttsFv() {
- // NONMATCHING
-}
-
-/* 80B778C4-80B77934 002884 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */
-// dBgS_ObjAcch::~dBgS_ObjAcch() {
-extern "C" void __dt__12dBgS_ObjAcchFv() {
- // NONMATCHING
-}
-
-/* 80B77934-80B7797C 0028F4 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */
-// J3DFrameCtrl::~J3DFrameCtrl() {
-extern "C" void __dt__12J3DFrameCtrlFv() {
- // NONMATCHING
-}
-
-/* 80B7797C-80B77A98 00293C 011C+00 1/1 0/0 0/0 .text setEyeAngleY__15daNpcT_JntAnm_cF4cXyzsifs */
-// void daNpcT_JntAnm_c::setEyeAngleY(cXyz param_0, s16 param_1, int param_2, f32 param_3,
-// s16 param_4) {
-extern "C" void setEyeAngleY__15daNpcT_JntAnm_cF4cXyzsifs() {
- // NONMATCHING
-}
-
-/* 80B77A98-80B77CA0 002A58 0208+00 1/1 0/0 0/0 .text setEyeAngleX__15daNpcT_JntAnm_cF4cXyzfs */
-// void daNpcT_JntAnm_c::setEyeAngleX(cXyz param_0, f32 param_1, s16 param_2) {
-extern "C" void setEyeAngleX__15daNpcT_JntAnm_cF4cXyzfs() {
- // NONMATCHING
-}
-
-/* 80B77CA0-80B77CA4 002C60 0004+00 1/0 0/0 0/0 .text ctrlSubFaceMotion__8daNpcT_cFi */
-// void daNpcT_c::ctrlSubFaceMotion(int param_0) {
-extern "C" void ctrlSubFaceMotion__8daNpcT_cFi() {
- /* empty function */
-}
-
-/* 80B77CBC-80B77CC4 002C7C 0008+00 1/0 0/0 0/0 .text evtEndProc__8daNpcT_cFv */
-// bool daNpcT_c::evtEndProc() {
-extern "C" bool evtEndProc__8daNpcT_cFv() {
- return true;
-}
-
-/* 80B77CC8-80B77CD0 002C88 0008+00 1/0 0/0 0/0 .text chkXYItems__8daNpcT_cFv */
-// bool daNpcT_c::chkXYItems() {
-extern "C" bool chkXYItems__8daNpcT_cFv() {
- return false;
-}
-
-/* 80B77CD0-80B77CE8 002C90 0018+00 1/0 0/0 0/0 .text decTmr__8daNpcT_cFv */
-// void daNpcT_c::decTmr() {
-extern "C" void decTmr__8daNpcT_cFv() {
- // NONMATCHING
-}
-
-/* 80B77CE8-80B77CEC 002CA8 0004+00 1/0 0/0 0/0 .text drawOtherMdl__8daNpcT_cFv */
-// void daNpcT_c::drawOtherMdl() {
-extern "C" void drawOtherMdl__8daNpcT_cFv() {
- /* empty function */
-}
-
-/* 80B77CEC-80B77CF0 002CAC 0004+00 1/0 0/0 0/0 .text drawGhost__8daNpcT_cFv */
-// void daNpcT_c::drawGhost() {
-extern "C" void drawGhost__8daNpcT_cFv() {
- /* empty function */
-}
-
-/* 80B77CF0-80B77CF8 002CB0 0008+00 1/0 0/0 0/0 .text afterSetFaceMotionAnm__8daNpcT_cFiifi */
-// bool daNpcT_c::afterSetFaceMotionAnm(int param_0, int param_1, f32 param_2, int param_3) {
-extern "C" bool afterSetFaceMotionAnm__8daNpcT_cFiifi() {
- return true;
-}
-
-/* 80B77CF8-80B77D00 002CB8 0008+00 1/0 0/0 0/0 .text afterSetMotionAnm__8daNpcT_cFiifi
- */
-// bool daNpcT_c::afterSetMotionAnm(int param_0, int param_1, f32 param_2, int param_3) {
-extern "C" bool afterSetMotionAnm__8daNpcT_cFiifi() {
- return true;
-}
-
-/* 80B77D00-80B77D30 002CC0 0030+00 1/0 0/0 0/0 .text
- * getFaceMotionAnm__8daNpcT_cF26daNpcT_faceMotionAnmData_c */
-// void daNpcT_c::getFaceMotionAnm(daNpcT_faceMotionAnmData_c param_0) {
-extern "C" void getFaceMotionAnm__8daNpcT_cF26daNpcT_faceMotionAnmData_c() {
- // NONMATCHING
-}
-
-/* 80B77D30-80B77D60 002CF0 0030+00 1/0 0/0 0/0 .text
- * getMotionAnm__8daNpcT_cF22daNpcT_motionAnmData_c */
-// void daNpcT_c::getMotionAnm(daNpcT_motionAnmData_c param_0) {
-extern "C" void getMotionAnm__8daNpcT_cF22daNpcT_motionAnmData_c() {
- // NONMATCHING
-}
-
-/* 80B77D60-80B77D64 002D20 0004+00 1/0 0/0 0/0 .text changeAnm__8daNpcT_cFPiPi */
-// void daNpcT_c::changeAnm(int* param_0, int* param_1) {
-extern "C" void changeAnm__8daNpcT_cFPiPi() {
- /* empty function */
-}
-
-/* 80B77D64-80B77D68 002D24 0004+00 1/0 0/0 0/0 .text changeBck__8daNpcT_cFPiPi */
-// void daNpcT_c::changeBck(int* param_0, int* param_1) {
-extern "C" void changeBck__8daNpcT_cFPiPi() {
- /* empty function */
-}
-
-/* 80B77D68-80B77D6C 002D28 0004+00 1/0 0/0 0/0 .text changeBtp__8daNpcT_cFPiPi */
-// void daNpcT_c::changeBtp(int* param_0, int* param_1) {
-extern "C" void changeBtp__8daNpcT_cFPiPi() {
- /* empty function */
-}
-
-/* 80B77D6C-80B77D70 002D2C 0004+00 1/0 0/0 0/0 .text changeBtk__8daNpcT_cFPiPi */
-// void daNpcT_c::changeBtk(int* param_0, int* param_1) {
-extern "C" void changeBtk__8daNpcT_cFPiPi() {
- /* empty function */
-}
-
-/* ############################################################################################## */
-/* 80B783F0-80B783FC 000318 000C+00 2/2 0/0 0/0 .data __vt__19daNpc_Zelda_Param_c */
-SECTION_DATA extern void* __vt__19daNpc_Zelda_Param_c[3] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__19daNpc_Zelda_Param_cFv,
-};
-
-/* 80B78408-80B78414 000008 000C+00 1/1 0/0 0/0 .bss @3811 */
-static u8 lit_3811[12];
-
-/* 80B78414-80B78418 000014 0004+00 1/1 0/0 0/0 .bss l_HIO */
-static u8 l_HIO[4];
-
-/* 80B77D70-80B77DD8 002D30 0068+00 0/0 1/0 0/0 .text __sinit_d_a_npc_zelda_cpp */
-void __sinit_d_a_npc_zelda_cpp() {
- // NONMATCHING
-}
-
-#pragma push
-#pragma force_active on
-REGISTER_CTORS(0x80B77D70, __sinit_d_a_npc_zelda_cpp);
-#pragma pop
-
/* 80B77DD8-80B77E84 002D98 00AC+00 1/1 0/0 0/0 .text
* __ct__13daNpc_Zelda_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc
*/
@@ -1183,29 +839,18 @@ daNpc_Zelda_c::daNpc_Zelda_c(daNpcT_faceMotionAnmData_c const* param_0,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_2,
int param_3,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_4,
- int param_5, daNpcT_evtData_c const* param_6, char** param_7) {
- // NONMATCHING
-}
-
-/* 80B77E84-80B77ECC 002E44 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */
-// cM3dGCyl::~cM3dGCyl() {
-extern "C" void __dt__8cM3dGCylFv() {
- // NONMATCHING
-}
-
-/* 80B77ECC-80B77F14 002E8C 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */
-// cM3dGAab::~cM3dGAab() {
-extern "C" void __dt__8cM3dGAabFv() {
- // NONMATCHING
+ int param_5, daNpcT_evtData_c const* param_6, char** param_7) :
+ daNpcT_c(param_0, param_1, param_2, param_3, param_4, param_5, param_6, param_7) {
+ OS_REPORT("|%06d:%x|daNpc_Zelda_c -> コンストラクト\n", g_Counter.mCounter0, this);
}
/* 80B77F14-80B77F1C 002ED4 0008+00 1/0 0/0 0/0 .text getEyeballRMaterialNo__13daNpc_Zelda_cFv */
-s32 daNpc_Zelda_c::getEyeballRMaterialNo() {
+u16 daNpc_Zelda_c::getEyeballRMaterialNo() {
return 5;
}
/* 80B77F1C-80B77F24 002EDC 0008+00 1/0 0/0 0/0 .text getEyeballLMaterialNo__13daNpc_Zelda_cFv */
-s32 daNpc_Zelda_c::getEyeballLMaterialNo() {
+u16 daNpc_Zelda_c::getEyeballLMaterialNo() {
return 4;
}
@@ -1222,35 +867,49 @@ s32 daNpc_Zelda_c::getNeckJointNo() {
}
/* 80B77F34-80B77F3C 002EF4 0008+00 1/0 0/0 0/0 .text getBackboneJointNo__13daNpc_Zelda_cFv */
-bool daNpc_Zelda_c::getBackboneJointNo() {
- return true;
+s32 daNpc_Zelda_c::getBackboneJointNo() {
+ return 1;
}
/* 80B77F3C-80B77F4C 002EFC 0010+00 1/0 0/0 0/0 .text checkChangeJoint__13daNpc_Zelda_cFi
*/
-void daNpc_Zelda_c::checkChangeJoint(int param_0) {
- // NONMATCHING
+int daNpc_Zelda_c::checkChangeJoint(int param_0) {
+ return param_0 == 4;
}
/* 80B77F4C-80B77F5C 002F0C 0010+00 1/0 0/0 0/0 .text checkRemoveJoint__13daNpc_Zelda_cFi
*/
-void daNpc_Zelda_c::checkRemoveJoint(int param_0) {
- // NONMATCHING
+int daNpc_Zelda_c::checkRemoveJoint(int param_0) {
+ return param_0 == 17;
}
/* 80B77F5C-80B77FA4 002F1C 0048+00 2/1 0/0 0/0 .text __dt__19daNpc_Zelda_Param_cFv */
daNpc_Zelda_Param_c::~daNpc_Zelda_Param_c() {
- // NONMATCHING
-}
-
-/* 80B77FA4-80B77FAC 002F64 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */
-static void func_80B77FA4() {
- // NONMATCHING
}
-/* 80B77FAC-80B77FB4 002F6C 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */
-static void func_80B77FAC() {
- // NONMATCHING
-}
+/* 80B78240-80B78260 -00001 0020+00 1/0 0/0 0/0 .data daNpc_Zelda_MethodTable */
+static actor_method_class daNpc_Zelda_MethodTable = {
+ (process_method_func)daNpc_Zelda_Create,
+ (process_method_func)daNpc_Zelda_Delete,
+ (process_method_func)daNpc_Zelda_Execute,
+ (process_method_func)daNpc_Zelda_IsDelete,
+ (process_method_func)daNpc_Zelda_Draw,
+};
-/* 80B780C4-80B780C4 0000FC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
+/* 80B78260-80B78290 -00001 0030+00 0/0 0/0 1/0 .data g_profile_NPC_ZELDA */
+extern actor_process_profile_definition g_profile_NPC_ZELDA = {
+ fpcLy_CURRENT_e, // mLayerID
+ 7, // mListID
+ fpcPi_CURRENT_e, // mListPrio
+ PROC_NPC_ZELDA, // mProcName
+ &g_fpcLf_Method.base, // sub_method
+ sizeof(daNpc_Zelda_c), // mSize
+ 0, // mSizeOther
+ 0, // mParameters
+ &g_fopAc_Method.base, // sub_method
+ 384, // mPriority
+ &daNpc_Zelda_MethodTable, // sub_method
+ 0x00040108, // mStatus
+ fopAc_NPC_e, // mActorType
+ fopAc_CULLBOX_CUSTOM_e, // cullType
+};