summaryrefslogtreecommitdiff
path: root/src/d
diff options
context:
space:
mode:
authorhev7 <143887945+hev7@users.noreply.github.com>2025-09-25 16:20:14 +0100
committerGitHub <noreply@github.com>2025-09-25 18:20:14 +0300
commit4635fcb666d7c5f256016d733584712a55f1c130 (patch)
tree894a754e309ffd8d2e92f4773e602b361d07f965 /src/d
parent749de8e36dc88390fe3349205aeaa1898b9b0b6e (diff)
d_a_npc_lud matching (#2694)
* d_a_npc_lud matching * Fixes
Diffstat (limited to 'src/d')
-rw-r--r--src/d/actor/d_a_npc_lud.cpp2882
-rw-r--r--src/d/actor/d_a_npc_moi.cpp306
2 files changed, 1449 insertions, 1739 deletions
diff --git a/src/d/actor/d_a_npc_lud.cpp b/src/d/actor/d_a_npc_lud.cpp
index d072e8da06..efa0fc1ef6 100644
--- a/src/d/actor/d_a_npc_lud.cpp
+++ b/src/d/actor/d_a_npc_lud.cpp
@@ -1,1755 +1,1551 @@
/**
* @file d_a_npc_lud.cpp
- *
+ *
*/
#include "d/dolzel_rel.h"
+#include "d/actor/d_a_npc_len.h"
#include "d/actor/d_a_npc_lud.h"
-#include "dol2asm.h"
-
-//
-// Forward References:
-//
-
-extern "C" void __dt__11daNpc_Lud_cFv();
-extern "C" void create__11daNpc_Lud_cFv();
-extern "C" void CreateHeap__11daNpc_Lud_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__11daNpc_Lud_cFv();
-extern "C" void Execute__11daNpc_Lud_cFv();
-extern "C" void Draw__11daNpc_Lud_cFv();
-extern "C" void createHeapCallBack__11daNpc_Lud_cFP10fopAc_ac_c();
-extern "C" void ctrlJointCallBack__11daNpc_Lud_cFP8J3DJointi();
-extern "C" void getType__11daNpc_Lud_cFv();
-extern "C" void isDelete__11daNpc_Lud_cFv();
-extern "C" void reset__11daNpc_Lud_cFv();
-extern "C" void afterJntAnm__11daNpc_Lud_cFi();
-extern "C" void setParam__11daNpc_Lud_cFv();
-extern "C" void checkChangeEvt__11daNpc_Lud_cFv();
-extern "C" void setAfterTalkMotion__11daNpc_Lud_cFv();
-extern "C" void srchActors__11daNpc_Lud_cFv();
-extern "C" void evtTalk__11daNpc_Lud_cFv();
-extern "C" void evtCutProc__11daNpc_Lud_cFv();
-extern "C" void action__11daNpc_Lud_cFv();
-extern "C" void beforeMove__11daNpc_Lud_cFv();
-extern "C" void setAttnPos__11daNpc_Lud_cFv();
-extern "C" void setCollision__11daNpc_Lud_cFv();
-extern "C" bool drawDbgInfo__11daNpc_Lud_cFv();
-extern "C" void drawOtherMdl__11daNpc_Lud_cFv();
-extern "C" void setBowlAnm__11daNpc_Lud_cFiif();
-extern "C" void afterSetMotionAnm__11daNpc_Lud_cFiifi();
-extern "C" void selectAction__11daNpc_Lud_cFv();
-extern "C" void chkAction__11daNpc_Lud_cFM11daNpc_Lud_cFPCvPvPv_i();
-extern "C" void setAction__11daNpc_Lud_cFM11daNpc_Lud_cFPCvPvPv_i();
-extern "C" void mop__11daNpc_Lud_cFii();
-extern "C" void cutHurry__11daNpc_Lud_cFi();
-extern "C" void cutConversationInHotel__11daNpc_Lud_cFi();
-extern "C" void cutConversationAboutDeathMt__11daNpc_Lud_cFi();
-extern "C" void cutConversationAboutGoron__11daNpc_Lud_cFi();
-extern "C" void cutNurse__11daNpc_Lud_cFi();
-extern "C" void cutClothTry__11daNpc_Lud_cFi();
-extern "C" void cutThankYou__11daNpc_Lud_cFi();
-extern "C" void wait__11daNpc_Lud_cFPv();
-extern "C" void nurse__11daNpc_Lud_cFPv();
-extern "C" void giveSoup__11daNpc_Lud_cFPv();
-extern "C" void talk__11daNpc_Lud_cFPv();
-extern "C" static void daNpc_Lud_Create__FPv();
-extern "C" static void daNpc_Lud_Delete__FPv();
-extern "C" static void daNpc_Lud_Execute__FPv();
-extern "C" static void daNpc_Lud_Draw__FPv();
-extern "C" static bool daNpc_Lud_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 __dt__18daNpcT_ActorMngr_cFv();
-extern "C" void __ct__18daNpcT_ActorMngr_cFv();
-extern "C" void __dt__8cM3dGCylFv();
-extern "C" void __dt__8cM3dGAabFv();
-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__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" bool getEyeballLMaterialNo__8daNpcT_cFv();
-extern "C" bool getEyeballRMaterialNo__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 drawGhost__8daNpcT_cFv();
-extern "C" bool afterSetFaceMotionAnm__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 func_80A6FAD4(void* _this, int*);
-extern "C" void __sinit_d_a_npc_lud_cpp();
-extern "C" void
-__ct__11daNpc_Lud_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc();
-extern "C" u16 getEyeballMaterialNo__11daNpc_Lud_cFv();
-extern "C" s32 getHeadJointNo__11daNpc_Lud_cFv();
-extern "C" s32 getNeckJointNo__11daNpc_Lud_cFv();
-extern "C" bool getBackboneJointNo__11daNpc_Lud_cFv();
-extern "C" void checkChangeJoint__11daNpc_Lud_cFi();
-extern "C" void checkRemoveJoint__11daNpc_Lud_cFi();
-extern "C" void __dt__17daNpc_Lud_Param_cFv();
-extern "C" static void func_80A6FD58();
-extern "C" static void func_80A6FD60();
-extern "C" u8 const m__17daNpc_Lud_Param_c[144];
-extern "C" extern char const* const d_a_npc_lud__stringBase0;
-extern "C" void* mCutNameList__11daNpc_Lud_c[8];
-extern "C" u8 mCutList__11daNpc_Lud_c[96];
-
-//
-// 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 mDoExt_modelUpdateDL__FP8J3DModel();
-extern "C" void
-__ct__16mDoExt_McaMorfSOFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiP10Z2CreatureUlUl();
-extern "C" void setAnm__16mDoExt_McaMorfSOFP15J3DAnmTransformiffff();
-extern "C" void play__16mDoExt_McaMorfSOFUlSc();
-extern "C" void entryDL__16mDoExt_McaMorfSOFv();
-extern "C" void modelCalc__16mDoExt_McaMorfSOFv();
-extern "C" void stopZelAnime__16mDoExt_McaMorfSOFv();
-extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
-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 isSwitch__10dSv_info_cCFii();
-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 getIsAddvance__16dEvent_manager_cFi();
-extern "C" void getMyActIdx__16dEvent_manager_cFiPCPCciii();
-extern "C" void getMySubstanceP__16dEvent_manager_cFiPCci();
-extern "C" void cutEnd__16dEvent_manager_cFi();
-extern "C" void getRunEventName__16dEvent_manager_cFv();
-extern "C" void ChkPresentEnd__16dEvent_manager_cFv();
-extern "C" void addReal__21dDlst_shadowControl_cFUlP8J3DModel();
-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 GetTgHitObj__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 checkEndSequence__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 setParam__19daNpcT_DmgStagger_cFP10fopAc_ac_cP10fopAc_ac_cs();
-extern "C" void calc__19daNpcT_DmgStagger_cFi();
-extern "C" void tgHitCallBack__8daNpcT_cFP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf();
-extern "C" void getTrnsfrmKeyAnmP__8daNpcT_cFPCci();
-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 ctrlBtk__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 hitChk__8daNpcT_cFP12dCcD_GObjInfUl();
-extern "C" void setDamage__8daNpcT_cFiii();
-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 getNearestActorP__8daNpcT_cFs();
-extern "C" void daNpcT_getDistTableIdx__Fii();
-extern "C" void daNpcT_chkEvtBit__FUl();
-extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
-extern "C" void dKy_darkworld_check__Fv();
-extern "C" void __ct__10dMsgFlow_cFv();
-extern "C" void __dt__10dMsgFlow_cFv();
-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 cLib_chaseS__FPsss();
-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 hide__13J3DShapeTableFv();
-extern "C" void show__13J3DShapeTableFv();
-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_24();
-extern "C" void _savegpr_26();
-extern "C" void _savegpr_27();
-extern "C" void _savegpr_28();
-extern "C" void _savegpr_29();
-extern "C" void _restgpr_22();
-extern "C" void _restgpr_24();
-extern "C" void _restgpr_26();
-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" void checkStartDemo13StbEvt__11daNpc_Len_cFP10fopAc_ac_cfffffff();
-extern "C" void __register_global_object();
-
-//
-// Declarations:
-//
-
-/* ############################################################################################## */
-/* 80A6FECC-80A6FECC 000150 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80A6FECC = "";
-SECTION_DEAD static char const* const stringBase_80A6FECD = "NO_RESPONSE";
-SECTION_DEAD static char const* const stringBase_80A6FED9 = "DEMO13_STB";
-SECTION_DEAD static char const* const stringBase_80A6FEE4 = "CONVERSATION_ABOUT_GORON";
-SECTION_DEAD static char const* const stringBase_80A6FEFD = "NURSE";
-SECTION_DEAD static char const* const stringBase_80A6FF03 = "GO_AHEAD";
-SECTION_DEAD static char const* const stringBase_80A6FF0C = "Lud";
-SECTION_DEAD static char const* const stringBase_80A6FF10 = "Lud_TW";
-SECTION_DEAD static char const* const stringBase_80A6FF17 = "Lud1";
-SECTION_DEAD static char const* const stringBase_80A6FF1C = "Lud2";
-SECTION_DEAD static char const* const stringBase_80A6FF21 = "Len1";
-SECTION_DEAD static char const* const stringBase_80A6FF26 = "HURRY";
-SECTION_DEAD static char const* const stringBase_80A6FF2C = "CONVERSATION_IN_HOTEL";
-SECTION_DEAD static char const* const stringBase_80A6FF42 = "CONVERSATION_ABOUT_DEATHMT";
-SECTION_DEAD static char const* const stringBase_80A6FF5D = "CLOTH_TRY";
-SECTION_DEAD static char const* const stringBase_80A6FF67 = "THANK_YOU";
-#pragma pop
+
+enum Type {
+ /* 0x0 */ TYPE_0,
+ /* 0x1 */ TYPE_1,
+ /* 0x2 */ TYPE_2,
+ /* 0x3 */ TYPE_3,
+ /* 0x4 */ TYPE_4,
+ /* 0x5 */ TYPE_5,
+ /* 0x6 */ TYPE_6,
+ /* 0x7 */ TYPE_7,
+ /* 0x8 */ TYPE_8,
+};
+
+enum FaceMotion {
+ /* 0x01 */ FACE_MOT_UNK_1 = 1,
+ /* 0x02 */ FACE_MOT_UNK_2 = 2,
+ /* 0x03 */ FACE_MOT_UNK_3 = 3,
+ /* 0x04 */ FACE_MOT_UNK_4 = 4,
+ /* 0x05 */ FACE_MOT_UNK_5 = 5,
+ /* 0x06 */ FACE_MOT_UNK_6 = 6,
+ /* 0x07 */ FACE_MOT_UNK_7 = 7,
+ /* 0x08 */ FACE_MOT_UNK_8 = 8,
+ /* 0x09 */ FACE_MOT_UNK_9 = 9,
+ /* 0x0B */ FACE_MOT_UNK_11 = 11,
+ /* 0x0C */ FACE_MOT_UNK_12 = 12,
+ /* 0x0D */ FACE_MOT_UNK_13 = 13,
+ /* 0x0E */ FACE_MOT_UNK_14 = 14,
+ /* 0x0F */ FACE_MOT_UNK_15 = 15,
+ /* 0x10 */ FACE_MOT_UNK_16 = 16,
+ /* 0x11 */ FACE_MOT_UNK_17 = 17,
+ /* 0x12 */ FACE_MOT_UNK_18 = 18,
+};
+
+enum Motion {
+ /* 0x00 */ MOT_UNK_0 = 0,
+ /* 0x01 */ MOT_UNK_1 = 1,
+ /* 0x02 */ MOT_UNK_2 = 2,
+ /* 0x03 */ MOT_UNK_3 = 3,
+ /* 0x04 */ MOT_UNK_4 = 4,
+ /* 0x06 */ MOT_UNK_6 = 6,
+ /* 0x07 */ MOT_UNK_7 = 7,
+ /* 0x08 */ MOT_UNK_8 = 8,
+ /* 0x09 */ MOT_UNK_9 = 9,
+ /* 0x0A */ MOT_UNK_10 = 10,
+ /* 0x0B */ MOT_UNK_11 = 11,
+ /* 0x0C */ MOT_UNK_12 = 12,
+ /* 0x0D */ MOT_UNK_13 = 13,
+ /* 0x0E */ MOT_UNK_14 = 14,
+ /* 0x0F */ MOT_UNK_15 = 15,
+ /* 0x10 */ MOT_UNK_16 = 16,
+ /* 0x11 */ MOT_UNK_17 = 17,
+ /* 0x12 */ MOT_UNK_18 = 18,
+ /* 0x13 */ MOT_UNK_19 = 19,
+};
/* 80A6FFEC-80A70014 000020 0028+00 1/1 0/0 0/0 .data l_bmdData */
-SECTION_DATA static u8 l_bmdData[40] = {
- 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00,
- 0x00, 0x02, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x28,
- 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x04,
+static int l_bmdData[5][2] = {
+ {11, 1}, {11, 2}, {39, 4}, {40, 4}, {38, 4},
};
/* 80A70014-80A70044 -00001 0030+00 0/1 0/0 0/0 .data l_evtList */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* l_evtList[12] = {
- (void*)&d_a_npc_lud__stringBase0,
- (void*)NULL,
- (void*)(((char*)&d_a_npc_lud__stringBase0) + 0x1),
- (void*)NULL,
- (void*)(((char*)&d_a_npc_lud__stringBase0) + 0xD),
- (void*)NULL,
- (void*)(((char*)&d_a_npc_lud__stringBase0) + 0x18),
- (void*)0x00000004,
- (void*)(((char*)&d_a_npc_lud__stringBase0) + 0x31),
- (void*)0x00000004,
- (void*)(((char*)&d_a_npc_lud__stringBase0) + 0x37),
- (void*)0x00000004,
+static daNpcT_evtData_c l_evtList[6] = {
+ {"", 0}, {"NO_RESPONSE", 0}, {"DEMO13_STB", 0}, {"CONVERSATION_ABOUT_GORON", 4},
+ {"NURSE", 4}, {"GO_AHEAD", 4},
};
-#pragma pop
/* 80A70044-80A7005C -00001 0018+00 3/4 0/0 0/0 .data l_resNameList */
-SECTION_DATA static void* l_resNameList[6] = {
- (void*)&d_a_npc_lud__stringBase0,
- (void*)(((char*)&d_a_npc_lud__stringBase0) + 0x40),
- (void*)(((char*)&d_a_npc_lud__stringBase0) + 0x44),
- (void*)(((char*)&d_a_npc_lud__stringBase0) + 0x4B),
- (void*)(((char*)&d_a_npc_lud__stringBase0) + 0x50),
- (void*)(((char*)&d_a_npc_lud__stringBase0) + 0x55),
+static char* l_resNameList[6] = {
+ "", "Lud", "Lud_TW", "Lud1", "Lud2", "Len1",
};
/* 80A7005C-80A70060 000090 0003+01 1/0 0/0 0/0 .data l_loadResPtrn0 */
-SECTION_DATA static u8 l_loadResPtrn0[3 + 1 /* padding */] = {
- 0x01,
- 0x03,
- 0xFF,
- /* padding */
- 0x00,
+static s8 l_loadResPtrn0[3] = {
+ 1,
+ 3,
+ -1,
};
/* 80A70060-80A70064 000094 0003+01 1/0 0/0 0/0 .data l_loadResPtrn1 */
-SECTION_DATA static u8 l_loadResPtrn1[3 + 1 /* padding */] = {
- 0x01,
- 0x02,
- 0xFF,
- /* padding */
- 0x00,
+static s8 l_loadResPtrn1[3] = {
+ 1,
+ 2,
+ -1,
};
/* 80A70064-80A70068 000098 0003+01 1/0 0/0 0/0 .data l_loadResPtrn2 */
-SECTION_DATA static u8 l_loadResPtrn2[3 + 1 /* padding */] = {
- 0x01,
- 0x04,
- 0xFF,
- /* padding */
- 0x00,
+static s8 l_loadResPtrn2[3] = {
+ 1,
+ 4,
+ -1,
};
/* 80A70068-80A70070 00009C 0005+03 1/0 0/0 0/0 .data l_loadResPtrn9 */
-SECTION_DATA static u8 l_loadResPtrn9[5 + 3 /* padding */] = {
- 0x01,
- 0x02,
- 0x03,
- 0x04,
- 0xFF,
- /* padding */
- 0x00,
- 0x00,
- 0x00,
+s8 l_loadResPtrn9[5] = {
+ 1, 2, 3, 4, -1,
};
/* 80A70070-80A70094 -00001 0024+00 1/2 0/0 0/0 .data l_loadResPtrnList */
-SECTION_DATA static void* l_loadResPtrnList[9] = {
- (void*)&l_loadResPtrn0, (void*)&l_loadResPtrn1, (void*)&l_loadResPtrn0,
- (void*)&l_loadResPtrn0, (void*)&l_loadResPtrn2, (void*)&l_loadResPtrn2,
- (void*)&l_loadResPtrn2, (void*)&l_loadResPtrn0, (void*)&l_loadResPtrn9,
+static s8* l_loadResPtrnList[9] = {
+ l_loadResPtrn0, l_loadResPtrn1, l_loadResPtrn0, l_loadResPtrn0, l_loadResPtrn2,
+ l_loadResPtrn2, l_loadResPtrn2, l_loadResPtrn0, l_loadResPtrn9,
};
/* 80A70094-80A702C4 0000C8 0230+00 0/1 0/0 0/0 .data l_faceMotionAnmData */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u8 l_faceMotionAnmData[560] = {
- 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, 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, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
- 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x31,
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
- 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x39,
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
- 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x2C,
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04,
- 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x35,
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+static daNpcT_faceMotionAnmData_c l_faceMotionAnmData[20] = {
+ {-1, 0, 0, 17, 2, 1, 1}, {6, 0, 1, 17, 2, 1, 1}, {18, 2, 4, 51, 2, 4, 0},
+ {15, 0, 4, 48, 0, 4, 0}, {16, 2, 4, 49, 2, 4, 0}, {17, 0, 4, 50, 0, 4, 0},
+ {21, 0, 4, 54, 0, 4, 0}, {22, 0, 4, 55, 0, 4, 0}, {24, 2, 4, 57, 2, 4, 0},
+ {23, 0, 4, 56, 0, 4, 0}, {13, 0, 4, 46, 0, 4, 0}, {10, 0, 4, 43, 0, 4, 0},
+ {11, 2, 4, 44, 2, 4, 0}, {12, 0, 4, 45, 0, 4, 0}, {14, 2, 4, 47, 2, 4, 0},
+ {19, 2, 4, 52, 2, 4, 0}, {20, 2, 4, 53, 2, 4, 0}, {4, 2, 3, 10, 2, 3, 0},
+ {8, 2, 2, 15, 2, 2, 0}, {7, 2, 2, 14, 2, 2, 0},
};
-#pragma pop
/* 80A702C4-80A70510 0002F8 024C+00 0/1 0/0 0/0 .data l_motionAnmData */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u8 l_motionAnmData[588] = {
- 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, 0x06,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0E,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
- 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0E,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
- 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0E,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04,
- 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0E,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xFF,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+static daNpcT_motionAnmData_c l_motionAnmData[21] = {
+ {8, 2, 1, 14, 0, 1, 1, 0}, {6, 0, 3, 14, 0, 1, 1, 0}, {7, 0, 3, 14, 0, 1, 1, 0},
+ {7, 0, 1, 14, 0, 1, 1, 0}, {30, 2, 4, 14, 0, 1, 1, 0}, {33, 0, 4, 14, 0, 1, 1, 0},
+ {34, 2, 4, 14, 0, 1, 1, 0}, {35, 0, 4, 14, 0, 1, 1, 0}, {25, 0, 4, 14, 0, 1, 0, 0},
+ {27, 0, 4, 14, 0, 1, 0, 0}, {28, 2, 4, 14, 0, 1, 0, 0}, {29, 0, 4, 14, 0, 1, 0, 0},
+ {6, 0, 4, 14, 0, 1, 0, 0}, {7, 2, 4, 14, 0, 1, 0, 0}, {8, 0, 4, 14, 0, 1, 0, 0},
+ {26, 2, 4, 14, 0, 1, 0, 0}, {31, 2, 4, 14, 0, 1, 0, 0}, {32, 2, 4, 14, 0, 1, 0, 0},
+ {5, 2, 3, 14, 0, 1, 0, 0}, {6, 2, 2, -1, 0, 0, 0, 0}, {5, 2, 2, -1, 0, 0, 0, 0},
};
-#pragma pop
/* 80A70510-80A70640 000544 0130+00 0/1 0/0 0/0 .data l_faceMotionSequenceData */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u8 l_faceMotionSequenceData[304] = {
- 0x00, 0x01, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x07, 0xFF, 0x01, 0x00, 0x08, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x0F, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x02, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x03, 0x00, 0x01, 0x00, 0x05, 0x00, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x03, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x05, 0x00, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x06, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x09, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x11, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x08, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x0A, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x0B, 0xFF, 0x01, 0x00, 0x0C, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x0D, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x10, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x12, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x13, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x0E, 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[76] = {
+ {1, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {7, -1, 1}, {8, -1, 0}, {-1, 0, 0},
+ {-1, 0, 0}, {15, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {2, -1, 0}, {-1, 0, 0},
+ {-1, 0, 0}, {-1, 0, 0}, {3, 0, 1}, {5, 0, 1}, {-1, 0, 0}, {-1, 0, 0}, {3, 0, 1},
+ {4, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {5, 0, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {6, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {9, -1, 1}, {-1, 0, 0}, {-1, 0, 0},
+ {-1, 0, 0}, {17, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {8, -1, 0}, {-1, 0, 0},
+ {-1, 0, 0}, {-1, 0, 0}, {10, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {11, -1, 1},
+ {12, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {13, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {16, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {18, -1, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {-1, 0, 0}, {19, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {14, -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
/* 80A70640-80A70780 000674 0140+00 0/1 0/0 0/0 .data l_motionSequenceData */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u8 l_motionSequenceData[320] = {
- 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x01, 0xFF, 0x01, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x04, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x06, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x10, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x02, 0xFF, 0x01, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x09, 0x00, 0x01, 0x00, 0x0B, 0x00, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x09, 0x00, 0x01, 0x00, 0x0A, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x0B, 0x00, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x05, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x07, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x12, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x08, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x0C, 0xFF, 0x01, 0x00, 0x0D, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x0E, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x11, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x13, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x14, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x03, 0x03, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x0F, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
+static daNpcT_MotionSeqMngr_c::sequenceStepData_c l_motionSequenceData[80] = {
+ {0, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {1, -1, 1}, {0, -1, 0}, {-1, 0, 0},
+ {-1, 0, 0}, {4, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {6, -1, 0}, {-1, 0, 0},
+ {-1, 0, 0}, {-1, 0, 0}, {16, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {2, -1, 1},
+ {0, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {9, 0, 1}, {11, 0, 1}, {-1, 0, 0}, {-1, 0, 0},
+ {9, 0, 1}, {10, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {11, 0, 1}, {-1, 0, 0}, {-1, 0, 0},
+ {-1, 0, 0}, {5, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {7, -1, 1}, {-1, 0, 0},
+ {-1, 0, 0}, {-1, 0, 0}, {18, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {8, -1, 1},
+ {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {12, -1, 1}, {13, -1, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {14, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {17, -1, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {-1, 0, 0}, {19, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {20, -1, 0}, {-1, 0, 0},
+ {-1, 0, 0}, {-1, 0, 0}, {3, 3, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {15, -1, 0},
+ {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
};
-#pragma pop
/* 80A70780-80A707A0 -00001 0020+00 1/1 0/0 0/0 .data mCutNameList__11daNpc_Lud_c */
-SECTION_DATA void* daNpc_Lud_c::mCutNameList[8] = {
- (void*)&d_a_npc_lud__stringBase0,
- (void*)(((char*)&d_a_npc_lud__stringBase0) + 0x5A),
- (void*)(((char*)&d_a_npc_lud__stringBase0) + 0x60),
- (void*)(((char*)&d_a_npc_lud__stringBase0) + 0x76),
- (void*)(((char*)&d_a_npc_lud__stringBase0) + 0x18),
- (void*)(((char*)&d_a_npc_lud__stringBase0) + 0x31),
- (void*)(((char*)&d_a_npc_lud__stringBase0) + 0x91),
- (void*)(((char*)&d_a_npc_lud__stringBase0) + 0x9B),
-};
-
-/* 80A707A0-80A707AC -00001 000C+00 0/1 0/0 0/0 .data @3833 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3833[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)cutHurry__11daNpc_Lud_cFi,
+char* daNpc_Lud_c::mCutNameList[8] = {
+ "",
+ "HURRY",
+ "CONVERSATION_IN_HOTEL",
+ "CONVERSATION_ABOUT_DEATHMT",
+ "CONVERSATION_ABOUT_GORON",
+ "NURSE",
+ "CLOTH_TRY",
+ "THANK_YOU",
};
-#pragma pop
-
-/* 80A707AC-80A707B8 -00001 000C+00 0/1 0/0 0/0 .data @3834 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3834[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)cutConversationInHotel__11daNpc_Lud_cFi,
-};
-#pragma pop
-
-/* 80A707B8-80A707C4 -00001 000C+00 0/1 0/0 0/0 .data @3835 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3835[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)cutConversationAboutDeathMt__11daNpc_Lud_cFi,
-};
-#pragma pop
-
-/* 80A707C4-80A707D0 -00001 000C+00 0/1 0/0 0/0 .data @3836 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3836[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)cutConversationAboutGoron__11daNpc_Lud_cFi,
-};
-#pragma pop
-
-/* 80A707D0-80A707DC -00001 000C+00 0/1 0/0 0/0 .data @3837 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3837[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)cutNurse__11daNpc_Lud_cFi,
-};
-#pragma pop
-
-/* 80A707DC-80A707E8 -00001 000C+00 0/1 0/0 0/0 .data @3838 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3838[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)cutClothTry__11daNpc_Lud_cFi,
-};
-#pragma pop
-
-/* 80A707E8-80A707F4 -00001 000C+00 0/1 0/0 0/0 .data @3839 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3839[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)cutThankYou__11daNpc_Lud_cFi,
-};
-#pragma pop
/* 80A707F4-80A70854 000828 0060+00 1/2 0/0 0/0 .data mCutList__11daNpc_Lud_c */
-SECTION_DATA u8 daNpc_Lud_c::mCutList[96] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-
-/* 80A70854-80A70874 -00001 0020+00 1/1 0/0 0/0 .data @4501 */
-SECTION_DATA static void* lit_4501[8] = {
- (void*)(((char*)getType__11daNpc_Lud_cFv) + 0x28),
- (void*)(((char*)getType__11daNpc_Lud_cFv) + 0x30),
- (void*)(((char*)getType__11daNpc_Lud_cFv) + 0x38),
- (void*)(((char*)getType__11daNpc_Lud_cFv) + 0x40),
- (void*)(((char*)getType__11daNpc_Lud_cFv) + 0x48),
- (void*)(((char*)getType__11daNpc_Lud_cFv) + 0x50),
- (void*)(((char*)getType__11daNpc_Lud_cFv) + 0x58),
- (void*)(((char*)getType__11daNpc_Lud_cFv) + 0x60),
-};
-
-/* 80A70874-80A70894 -00001 0020+00 1/1 0/0 0/0 .data @4528 */
-SECTION_DATA static void* lit_4528[8] = {
- (void*)(((char*)isDelete__11daNpc_Lud_cFv) + 0x34),
- (void*)(((char*)isDelete__11daNpc_Lud_cFv) + 0x64),
- (void*)(((char*)isDelete__11daNpc_Lud_cFv) + 0x6C),
- (void*)(((char*)isDelete__11daNpc_Lud_cFv) + 0x9C),
- (void*)(((char*)isDelete__11daNpc_Lud_cFv) + 0xCC),
- (void*)(((char*)isDelete__11daNpc_Lud_cFv) + 0xFC),
- (void*)(((char*)isDelete__11daNpc_Lud_cFv) + 0x12C),
- (void*)(((char*)isDelete__11daNpc_Lud_cFv) + 0x15C),
-};
-
-/* 80A70894-80A708A0 -00001 000C+00 1/1 0/0 0/0 .data @4639 */
-SECTION_DATA static void* lit_4639[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)talk__11daNpc_Lud_cFPv,
-};
-
-/* 80A708A0-80A708AC -00001 000C+00 1/1 0/0 0/0 .data @4698 */
-SECTION_DATA static void* lit_4698[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)talk__11daNpc_Lud_cFPv,
-};
-
-/* 80A708AC-80A708B8 -00001 000C+00 1/1 0/0 0/0 .data @4703 */
-SECTION_DATA static void* lit_4703[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)talk__11daNpc_Lud_cFPv,
-};
-
-/* 80A708B8-80A70960 0008EC 00A8+00 1/1 0/0 0/0 .data bowlAnmData$5135 */
-SECTION_DATA static u8 bowlAnmData[168] = {
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04,
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
-};
-
-/* 80A70960-80A7096C -00001 000C+00 0/1 0/0 0/0 .data @5162 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_5162[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)nurse__11daNpc_Lud_cFPv,
-};
-#pragma pop
-
-/* 80A7096C-80A70978 -00001 000C+00 0/1 0/0 0/0 .data @5164 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_5164[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)giveSoup__11daNpc_Lud_cFPv,
-};
-#pragma pop
-
-/* 80A70978-80A70984 -00001 000C+00 0/1 0/0 0/0 .data @5166 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_5166[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)nurse__11daNpc_Lud_cFPv,
-};
-#pragma pop
-
-/* 80A70984-80A70990 -00001 000C+00 0/1 0/0 0/0 .data @5168 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_5168[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)wait__11daNpc_Lud_cFPv,
-};
-#pragma pop
-
-/* 80A70990-80A709B0 -00001 0020+00 1/0 0/0 0/0 .data daNpc_Lud_MethodTable */
-static actor_method_class daNpc_Lud_MethodTable = {
- (process_method_func)daNpc_Lud_Create__FPv,
- (process_method_func)daNpc_Lud_Delete__FPv,
- (process_method_func)daNpc_Lud_Execute__FPv,
- (process_method_func)daNpc_Lud_IsDelete__FPv,
- (process_method_func)daNpc_Lud_Draw__FPv,
-};
-
-/* 80A709B0-80A709E0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_NPC_LUD */
-extern actor_process_profile_definition g_profile_NPC_LUD = {
- fpcLy_CURRENT_e, // mLayerID
- 7, // mListID
- fpcPi_CURRENT_e, // mListPrio
- PROC_NPC_LUD, // mProcName
- &g_fpcLf_Method.base, // sub_method
- sizeof(daNpc_Lud_c), // mSize
- 0, // mSizeOther
- 0, // mParameters
- &g_fopAc_Method.base, // sub_method
- 338, // mPriority
- &daNpc_Lud_MethodTable, // sub_method
- 0x00040108, // mStatus
- fopAc_NPC_e, // mActorType
- fopAc_CULLBOX_CUSTOM_e, // cullType
-};
-
-/* 80A709E0-80A709EC 000A14 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,
-};
-
-/* 80A709EC-80A709F8 000A20 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,
-};
-
-/* 80A709F8-80A70A1C 000A2C 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_80A6FD60,
- (void*)NULL,
- (void*)NULL,
- (void*)func_80A6FD58,
-};
-
-/* 80A70A1C-80A70A28 000A50 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,
-};
-
-/* 80A70A28-80A70A34 000A5C 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,
-};
-
-/* 80A70A34-80A70A40 000A68 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,
-};
-
-/* 80A70A40-80A70A4C 000A74 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,
-};
-
-/* 80A70A4C-80A70A58 000A80 000C+00 5/5 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,
-};
-
-/* 80A70A58-80A70A64 000A8C 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,
-};
-
-/* 80A70A64-80A70A70 000A98 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,
-};
-
-/* 80A70A70-80A70A7C 000AA4 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,
-};
-
-/* 80A70A7C-80A70B40 000AB0 00C4+00 2/2 0/0 0/0 .data __vt__11daNpc_Lud_c */
-SECTION_DATA extern void* __vt__11daNpc_Lud_c[49] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__11daNpc_Lud_cFv,
- (void*)ctrlBtk__8daNpcT_cFv,
- (void*)ctrlSubFaceMotion__8daNpcT_cFi,
- (void*)checkChangeJoint__11daNpc_Lud_cFi,
- (void*)checkRemoveJoint__11daNpc_Lud_cFi,
- (void*)getBackboneJointNo__11daNpc_Lud_cFv,
- (void*)getNeckJointNo__11daNpc_Lud_cFv,
- (void*)getHeadJointNo__11daNpc_Lud_cFv,
- (void*)getFootLJointNo__8daNpcT_cFv,
- (void*)getFootRJointNo__8daNpcT_cFv,
- (void*)getEyeballLMaterialNo__8daNpcT_cFv,
- (void*)getEyeballRMaterialNo__8daNpcT_cFv,
- (void*)getEyeballMaterialNo__11daNpc_Lud_cFv,
- (void*)ctrlJoint__8daNpcT_cFP8J3DJointP8J3DModel,
- (void*)afterJntAnm__11daNpc_Lud_cFi,
- (void*)setParam__11daNpc_Lud_cFv,
- (void*)checkChangeEvt__11daNpc_Lud_cFv,
- (void*)evtTalk__11daNpc_Lud_cFv,
- (void*)evtEndProc__8daNpcT_cFv,
- (void*)evtCutProc__11daNpc_Lud_cFv,
- (void*)setAfterTalkMotion__11daNpc_Lud_cFv,
- (void*)evtProc__8daNpcT_cFv,
- (void*)action__11daNpc_Lud_cFv,
- (void*)beforeMove__11daNpc_Lud_cFv,
- (void*)afterMoved__8daNpcT_cFv,
- (void*)setAttnPos__11daNpc_Lud_cFv,
- (void*)setFootPos__8daNpcT_cFv,
- (void*)setCollision__11daNpc_Lud_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__11daNpc_Lud_cFv,
- (void*)drawOtherMdl__11daNpc_Lud_cFv,
- (void*)drawGhost__8daNpcT_cFv,
- (void*)afterSetFaceMotionAnm__8daNpcT_cFiifi,
- (void*)afterSetMotionAnm__11daNpc_Lud_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,
+daNpc_Lud_c::cutFunc daNpc_Lud_c::mCutList[8] = {
+ NULL,
+ &daNpc_Lud_c::cutHurry,
+ &daNpc_Lud_c::cutConversationInHotel,
+ &daNpc_Lud_c::cutConversationAboutDeathMt,
+ &daNpc_Lud_c::cutConversationAboutGoron,
+ &daNpc_Lud_c::cutNurse,
+ &daNpc_Lud_c::cutClothTry,
+ &daNpc_Lud_c::cutThankYou,
};
/* 80A6ABAC-80A6ACF4 0000EC 0148+00 1/0 0/0 0/0 .text __dt__11daNpc_Lud_cFv */
daNpc_Lud_c::~daNpc_Lud_c() {
- // NONMATCHING
+ if (mpMorf[0] != NULL) {
+ mpMorf[0]->stopZelAnime();
+ }
+
+ if (mpBowlMorf != NULL) {
+ mpBowlMorf->stopZelAnime();
+ }
+
+ deleteRes(l_loadResPtrnList[mType], (const char**)l_resNameList);
}
-/* ############################################################################################## */
/* 80A6FD7C-80A6FE0C 000000 0090+00 10/10 0/0 0/0 .rodata m__17daNpc_Lud_Param_c */
-SECTION_RODATA u8 const daNpc_Lud_Param_c::m[144] = {
- 0x43, 0x20, 0x00, 0x00, 0xC0, 0x40, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00,
- 0x43, 0x7F, 0x00, 0x00, 0x43, 0x16, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, 0xC1, 0xF0, 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,
- 0xC1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x70, 0x00, 0x00, 0x41, 0x70, 0x00, 0x00,
- 0x42, 0x20, 0x00, 0x00, 0x41, 0x70, 0x00, 0x00, 0x42, 0xB4, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
+const daNpc_Lud_HIOParam daNpc_Lud_Param_c::m = {
+ 160.0f, -3.0f, 1.0f, 400.0f, 255.0f, 150.0f, 35.0f, 30.0f, 0.0f, 0.0f, 30.0f,
+ -30.0f, 30.0f, -10.0f, 45.0f, -45.0f, 0.6f, 12.0f, 3, 6, 5, 6,
+ 110.0f, 0.0f, 0.0f, 0.0f, 60, 8, 0, 0, 0, 0, 0,
+ 4.0f, -15.0f, 0.0f, -15.0f, 15.0f, 40.0f, 15.0f, 90.0f, 1.0f,
};
-COMPILER_STRIP_GATE(0x80A6FD7C, &daNpc_Lud_Param_c::m);
-
-/* 80A6FE0C-80A6FE30 000090 0024+00 0/1 0/0 0/0 .rodata heapSize$3993 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const heapSize[36] = {
- 0x00, 0x00, 0x3E, 0xF0, 0x00, 0x00, 0x3E, 0xF0, 0x00, 0x00, 0x3E, 0xF0,
- 0x00, 0x00, 0x3E, 0xF0, 0x00, 0x00, 0x46, 0xD0, 0x00, 0x00, 0x50, 0x00,
- 0x00, 0x00, 0x46, 0xE0, 0x00, 0x00, 0x3E, 0xF0, 0x00, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80A6FE0C, &heapSize);
-#pragma pop
-
-/* 80A6FE30-80A6FE34 0000B4 0004+00 0/1 0/0 0/0 .rodata @4059 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4059 = -200.0f;
-COMPILER_STRIP_GATE(0x80A6FE30, &lit_4059);
-#pragma pop
-
-/* 80A6FE34-80A6FE38 0000B8 0004+00 0/1 0/0 0/0 .rodata @4060 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4060 = -100.0f;
-COMPILER_STRIP_GATE(0x80A6FE34, &lit_4060);
-#pragma pop
-
-/* 80A6FE38-80A6FE3C 0000BC 0004+00 0/1 0/0 0/0 .rodata @4061 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4061 = 200.0f;
-COMPILER_STRIP_GATE(0x80A6FE38, &lit_4061);
-#pragma pop
-
-/* 80A6FE3C-80A6FE40 0000C0 0004+00 0/1 0/0 0/0 .rodata @4062 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4062 = 300.0f;
-COMPILER_STRIP_GATE(0x80A6FE3C, &lit_4062);
-#pragma pop
-
-/* 80A6FE40-80A6FE44 0000C4 0004+00 0/1 0/0 0/0 .rodata @4063 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4063 = -1000000000.0f;
-COMPILER_STRIP_GATE(0x80A6FE40, &lit_4063);
-#pragma pop
/* 80A6ACF4-80A6AFA8 000234 02B4+00 1/1 0/0 0/0 .text create__11daNpc_Lud_cFv */
-void daNpc_Lud_c::create() {
- // NONMATCHING
+int daNpc_Lud_c::create() {
+ static int const heapSize[9] = {
+ 0x3EF0, 0x3EF0, 0x3EF0, 0x3EF0, 0x46D0, 0x5000, 0x46E0, 0x3EF0, 0x0,
+ };
+
+ fopAcM_SetupActor2(this, daNpc_Lud_c, (daNpcT_faceMotionAnmData_c const*)l_faceMotionAnmData,
+ (const daNpcT_motionAnmData_c*)l_motionAnmData,
+ (const daNpcT_MotionSeqMngr_c::sequenceStepData_c*)l_faceMotionSequenceData,
+ 4, (const daNpcT_MotionSeqMngr_c::sequenceStepData_c*)l_motionSequenceData,
+ 4, (const daNpcT_evtData_c*)l_evtList, (char**)l_resNameList);
+
+ mType = getType();
+ mFlowNodeNo = getFlowNodeNo();
+ mTwilight = dKy_darkworld_check();
+
+ int phase = loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList);
+ if (phase == cPhs_COMPLEATE_e) {
+ if (isDelete()) {
+ return cPhs_ERROR_e;
+ }
+ if (!fopAcM_entrySolidHeap(this, createHeapCallBack, heapSize[mType])) {
+ return cPhs_ERROR_e;
+ }
+ J3DModelData* modelData = 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);
+ mSound.init(&current.pos, &eyePos, 3, 1);
+ reset();
+ 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));
+ mCcStts.Init(daNpc_Lud_Param_c::m.common.weight, 0, this);
+ mCyl.Set(mCcDCyl);
+ mCyl.SetStts(&mCcStts);
+ mCyl.SetTgHitCallback(tgHitCallBack);
+ mAcch.CrrPos(dComIfG_Bgsp());
+ mGndChk = mAcch.m_gnd;
+ mGroundH = mAcch.GetGroundH();
+ if (mGroundH != -1000000000.0f) {
+ setEnvTevColor();
+ setRoomNo();
+ }
+ mCreating = true;
+ Execute();
+ mCreating = false;
+ }
+
+ return phase;
}
-/* ############################################################################################## */
-/* 80A6FE44-80A6FE48 0000C8 0004+00 10/18 0/0 0/0 .rodata @4218 */
-SECTION_RODATA static u8 const lit_4218[4] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
-};
-COMPILER_STRIP_GATE(0x80A6FE44, &lit_4218);
-
-/* 80A6FE48-80A6FE4C 0000CC 0004+00 0/2 0/0 0/0 .rodata @4219 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4219 = 65536.0f;
-COMPILER_STRIP_GATE(0x80A6FE48, &lit_4219);
-#pragma pop
-
-/* 80A6FE4C-80A6FE50 0000D0 0004+00 0/3 0/0 0/0 .rodata @4220 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4220 = 1.0f / 5.0f;
-COMPILER_STRIP_GATE(0x80A6FE4C, &lit_4220);
-#pragma pop
-
-/* 80A6FE50-80A6FE54 0000D4 0004+00 2/5 0/0 0/0 .rodata @4421 */
-SECTION_RODATA static f32 const lit_4421 = 1.0f;
-COMPILER_STRIP_GATE(0x80A6FE50, &lit_4421);
-
/* 80A6AFA8-80A6B440 0004E8 0498+00 1/1 0/0 0/0 .text CreateHeap__11daNpc_Lud_cFv */
-void daNpc_Lud_c::CreateHeap() {
- // NONMATCHING
-}
-
-/* 80A6B440-80A6B47C 000980 003C+00 1/1 0/0 0/0 .text __dt__15J3DTevKColorAnmFv */
-// J3DTevKColorAnm::~J3DTevKColorAnm() {
-extern "C" void __dt__15J3DTevKColorAnmFv() {
- // NONMATCHING
-}
-
-/* 80A6B47C-80A6B494 0009BC 0018+00 1/1 0/0 0/0 .text __ct__15J3DTevKColorAnmFv */
-// J3DTevKColorAnm::J3DTevKColorAnm() {
-extern "C" void __ct__15J3DTevKColorAnmFv() {
- // NONMATCHING
-}
-
-/* 80A6B494-80A6B4D0 0009D4 003C+00 1/1 0/0 0/0 .text __dt__14J3DTevColorAnmFv */
-// J3DTevColorAnm::~J3DTevColorAnm() {
-extern "C" void __dt__14J3DTevColorAnmFv() {
- // NONMATCHING
-}
-
-/* 80A6B4D0-80A6B4E8 000A10 0018+00 1/1 0/0 0/0 .text __ct__14J3DTevColorAnmFv */
-// J3DTevColorAnm::J3DTevColorAnm() {
-extern "C" void __ct__14J3DTevColorAnmFv() {
- // NONMATCHING
-}
-
-/* 80A6B4E8-80A6B530 000A28 0048+00 1/1 0/0 0/0 .text __dt__11J3DTexNoAnmFv */
-// J3DTexNoAnm::~J3DTexNoAnm() {
-extern "C" void __dt__11J3DTexNoAnmFv() {
- // NONMATCHING
-}
-
-/* 80A6B530-80A6B554 000A70 0024+00 1/1 0/0 0/0 .text __ct__11J3DTexNoAnmFv */
-// J3DTexNoAnm::J3DTexNoAnm() {
-extern "C" void __ct__11J3DTexNoAnmFv() {
- // NONMATCHING
-}
-
-/* 80A6B554-80A6B590 000A94 003C+00 1/1 0/0 0/0 .text __dt__12J3DTexMtxAnmFv */
-// J3DTexMtxAnm::~J3DTexMtxAnm() {
-extern "C" void __dt__12J3DTexMtxAnmFv() {
- // NONMATCHING
-}
-
-/* 80A6B590-80A6B5A8 000AD0 0018+00 1/1 0/0 0/0 .text __ct__12J3DTexMtxAnmFv */
-// J3DTexMtxAnm::J3DTexMtxAnm() {
-extern "C" void __ct__12J3DTexMtxAnmFv() {
- // NONMATCHING
-}
-
-/* 80A6B5A8-80A6B5E4 000AE8 003C+00 1/1 0/0 0/0 .text __dt__14J3DMatColorAnmFv */
-// J3DMatColorAnm::~J3DMatColorAnm() {
-extern "C" void __dt__14J3DMatColorAnmFv() {
- // NONMATCHING
-}
-
-/* 80A6B5E4-80A6B5FC 000B24 0018+00 1/1 0/0 0/0 .text __ct__14J3DMatColorAnmFv */
-// J3DMatColorAnm::J3DMatColorAnm() {
-extern "C" void __ct__14J3DMatColorAnmFv() {
- // NONMATCHING
+int daNpc_Lud_c::CreateHeap() {
+ u32 bmd_idx = mTwilight == 1 ? 1 : 0;
+ int arc_idx = l_bmdData[bmd_idx][1];
+ int res_idx = l_bmdData[bmd_idx][0];
+
+ J3DModelData* modelData =
+ static_cast<J3DModelData*>(dComIfG_getObjectRes(l_resNameList[arc_idx], res_idx));
+ if (modelData == NULL) {
+ return 0;
+ }
+
+ mpMorf[0] = new mDoExt_McaMorfSO(modelData, NULL, NULL, NULL, -1, 1.0f, 0, -1, &mSound, 0x80000,
+ 0x11020284);
+ if (mpMorf[0] == NULL || mpMorf[0]->getModel() == NULL) {
+ return 0;
+ }
+
+ J3DModel* model = mpMorf[0]->getModel();
+
+ for (u16 i = 0; i < modelData->getJointNum(); i++) {
+ modelData->getJointNodePointer(i)->setCallBack(ctrlJointCallBack);
+ }
+
+ model->setUserArea((uintptr_t)this);
+
+ mpMatAnm[0] = new daNpcT_MatAnm_c();
+ if (mpMatAnm[0] == NULL) {
+ return 0;
+ }
+
+ if (mType == TYPE_5) {
+ J3DModelData* modelData = NULL;
+ bmd_idx = 4;
+ arc_idx = l_bmdData[bmd_idx][1];
+ res_idx = l_bmdData[bmd_idx][0];
+ modelData = (J3DModelData*)dComIfG_getObjectRes(l_resNameList[arc_idx], res_idx);
+
+ mpBowlMorf = new mDoExt_McaMorfSO(modelData, NULL, NULL, NULL, -1, 1.0f, 0, -1, NULL,
+ 0x80000, 0x11000084);
+ if (mpBowlMorf == NULL || mpBowlMorf->getModel() == NULL) {
+ return 0;
+ }
+ }
+
+ if (mType == TYPE_4 || mType == TYPE_6) {
+ modelData = l_bmdData[2][0] >= 0 ? (J3DModelData*)dComIfG_getObjectRes(
+ l_resNameList[l_bmdData[2][1]], l_bmdData[2][0]) :
+ NULL;
+ if (modelData != NULL) {
+ mpModel[0] = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
+ }
+
+ if (mpModel[0] == NULL) {
+ return 0;
+ }
+ }
+
+ if (mType == TYPE_5) {
+ modelData = l_bmdData[3][0] >= 0 ? (J3DModelData*)dComIfG_getObjectRes(
+ l_resNameList[l_bmdData[3][1]], l_bmdData[3][0]) :
+ NULL;
+
+ if (modelData != NULL) {
+ mpModel[1] = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
+ }
+
+ if (mpModel[1] == NULL) {
+ return 0;
+ }
+ }
+
+ if (mTwilight) {
+ if (setFaceMotionAnm(18, false) && setMotionAnm(19, 0.0f, 0)) {
+ return 1;
+ }
+ return 0;
+ }
+
+ if (setFaceMotionAnm(1, false) && setMotionAnm(0, 0, 0)) {
+ return 1;
+ }
+ return 0;
}
/* 80A6B5FC-80A6B630 000B3C 0034+00 1/1 0/0 0/0 .text Delete__11daNpc_Lud_cFv */
-void daNpc_Lud_c::Delete() {
- // NONMATCHING
+int daNpc_Lud_c::Delete() {
+ fopAcM_GetID(this);
+ this->~daNpc_Lud_c();
+ return 1;
}
/* 80A6B630-80A6B650 000B70 0020+00 2/2 0/0 0/0 .text Execute__11daNpc_Lud_cFv */
-void daNpc_Lud_c::Execute() {
- // NONMATCHING
+int daNpc_Lud_c::Execute() {
+ return daNpcT_c::execute();
}
-/* ############################################################################################## */
-/* 80A6FE54-80A6FE58 0000D8 0004+00 1/1 0/0 0/0 .rodata @4470 */
-SECTION_RODATA static f32 const lit_4470 = 100.0f;
-COMPILER_STRIP_GATE(0x80A6FE54, &lit_4470);
-
/* 80A6B650-80A6B6E4 000B90 0094+00 1/1 0/0 0/0 .text Draw__11daNpc_Lud_cFv */
-void daNpc_Lud_c::Draw() {
- // NONMATCHING
+int daNpc_Lud_c::Draw() {
+ if (mpMatAnm[0] != NULL) {
+ J3DModelData* modelData = mpMorf[0]->getModel()->getModelData();
+ modelData->getMaterialNodePointer(getEyeballMaterialNo())->setMaterialAnm(mpMatAnm[0]);
+ }
+ return daNpcT_c::draw(0, 0, mRealShadowSize, NULL, 100.0f, 0, 0, 0);
}
/* 80A6B6E4-80A6B704 000C24 0020+00 1/1 0/0 0/0 .text
* createHeapCallBack__11daNpc_Lud_cFP10fopAc_ac_c */
-void daNpc_Lud_c::createHeapCallBack(fopAc_ac_c* param_0) {
- // NONMATCHING
+int daNpc_Lud_c::createHeapCallBack(fopAc_ac_c* i_this) {
+ return static_cast<daNpc_Lud_c*>(i_this)->CreateHeap();
}
/* 80A6B704-80A6B75C 000C44 0058+00 1/1 0/0 0/0 .text ctrlJointCallBack__11daNpc_Lud_cFP8J3DJointi
*/
-void daNpc_Lud_c::ctrlJointCallBack(J3DJoint* param_0, int param_1) {
- // NONMATCHING
+int daNpc_Lud_c::ctrlJointCallBack(J3DJoint* param_0, int param_1) {
+ if (param_1 == 0) {
+ J3DModel* model = j3dSys.getModel();
+
+ daNpc_Lud_c* i_this = reinterpret_cast<daNpc_Lud_c*>(model->getUserArea());
+ if (i_this != 0) {
+ i_this->ctrlJoint(param_0, model);
+ }
+ }
+
+ return 1;
}
/* 80A6B75C-80A6B7CC 000C9C 0070+00 2/1 0/0 0/0 .text getType__11daNpc_Lud_cFv */
-void daNpc_Lud_c::getType() {
- // NONMATCHING
+u8 daNpc_Lud_c::getType() {
+ switch (fopAcM_GetParam(this) & 0xFF) {
+ case 0:
+ return TYPE_0;
+ case 1:
+ return TYPE_1;
+ case 2:
+ return TYPE_2;
+ case 3:
+ return TYPE_3;
+ case 4:
+ return TYPE_4;
+ case 5:
+ return TYPE_5;
+ case 6:
+ return TYPE_6;
+ case 7:
+ return TYPE_7;
+ }
+ return TYPE_8;
}
/* 80A6B7CC-80A6B954 000D0C 0188+00 2/1 0/0 0/0 .text isDelete__11daNpc_Lud_cFv */
-void daNpc_Lud_c::isDelete() {
- // NONMATCHING
+BOOL daNpc_Lud_c::isDelete() {
+ switch (mType) {
+ case TYPE_0:
+ return !daNpcT_chkEvtBit(0x3d) || daNpcT_chkEvtBit(0xa4);
+ case TYPE_1:
+ return false;
+ case TYPE_2:
+ return !daNpcT_chkEvtBit(0xa4) || daNpcT_chkEvtBit(0x35);
+ case TYPE_3:
+ return !daNpcT_chkEvtBit(0x35) || daNpcT_chkEvtBit(0x55);
+ case TYPE_4:
+ return !daNpcT_chkEvtBit(0x55) || daNpcT_chkEvtBit(0x40);
+ case TYPE_5:
+ return !daNpcT_chkEvtBit(0x40) || daNpcT_chkEvtBit(0x44);
+ case TYPE_6:
+ return !daNpcT_chkEvtBit(0x44) || daNpcT_chkEvtBit(0x108);
+ case TYPE_7:
+ return daNpcT_chkEvtBit(0x108) == 0;
+ }
+ return false;
}
/* 80A6B954-80A6BB1C 000E94 01C8+00 1/1 0/0 0/0 .text reset__11daNpc_Lud_cFv */
void daNpc_Lud_c::reset() {
- // NONMATCHING
+ csXyz acStack_20;
+
+ int iVar1 = (u8*)&field_0xfd8 - (u8*)&field_0xfa8;
+ if (mpMatAnm[0] != NULL) {
+ mpMatAnm[0]->initialize();
+ }
+ initialize();
+ for (int i = 0; i < 3; i++) {
+ mActorMngr[i].initialize();
+ }
+ memset(&field_0xfa8, 0, iVar1);
+ acStack_20.setall(0.0f);
+ acStack_20.y = home.angle.y;
+
+ switch (mType) {
+ case TYPE_0:
+ case TYPE_1:
+ case TYPE_2:
+ case TYPE_3:
+ case TYPE_7:
+ break;
+ case TYPE_4:
+ field_0xfd2 = 1;
+ break;
+ case TYPE_5:
+ field_0xfd3 = 1;
+ field_0xfd4 = 1;
+ break;
+ case TYPE_6:
+ field_0xfd2 = 1;
+ break;
+ }
+
+ setAngle(acStack_20);
}
/* 80A6BB1C-80A6BBA8 00105C 008C+00 1/0 0/0 0/0 .text afterJntAnm__11daNpc_Lud_cFi */
-void daNpc_Lud_c::afterJntAnm(int param_0) {
- // NONMATCHING
+void daNpc_Lud_c::afterJntAnm(int param_1) {
+ if (param_1 == 1) {
+ mDoMtx_stack_c::YrotM(-mStagger.getAngleZ(1));
+ mDoMtx_stack_c::ZrotM(mStagger.getAngleX(1));
+ } else if (param_1 == 4) {
+ mDoMtx_stack_c::YrotM(-mStagger.getAngleZ(0));
+ mDoMtx_stack_c::ZrotM(mStagger.getAngleX(0));
+ }
}
-/* ############################################################################################## */
-/* 80A6FE58-80A6FE5C 0000DC 0004+00 0/1 0/0 0/0 .rodata @4633 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4633 = 120.0f;
-COMPILER_STRIP_GATE(0x80A6FE58, &lit_4633);
-#pragma pop
-
-/* 80A6FE5C-80A6FE60 0000E0 0004+00 0/1 0/0 0/0 .rodata @4634 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4634 = 500.0f;
-COMPILER_STRIP_GATE(0x80A6FE5C, &lit_4634);
-#pragma pop
-
/* 80A6BBA8-80A6BD44 0010E8 019C+00 1/0 0/0 0/0 .text setParam__11daNpc_Lud_cFv */
void daNpc_Lud_c::setParam() {
- // NONMATCHING
+ selectAction();
+ srchActors();
+
+ s16 talk_distance = daNpc_Lud_Param_c::m.common.talk_distance;
+ s16 talk_angle = daNpc_Lud_Param_c::m.common.talk_angle;
+ s16 attention_distance = daNpc_Lud_Param_c::m.common.attention_distance;
+ s16 attention_angle = daNpc_Lud_Param_c::m.common.attention_angle;
+
+ switch (mType) {
+ case TYPE_0:
+ talk_angle = 3;
+ attention_angle = 3;
+ break;
+ case TYPE_2:
+ talk_angle = 3;
+ attention_angle = 3;
+ break;
+ case TYPE_3:
+ talk_distance = 13;
+ attention_distance = 15;
+ break;
+ case TYPE_4:
+ case TYPE_5:
+ case TYPE_6:
+ talk_distance = 1;
+ attention_distance = 1;
+ break;
+ }
+
+ attention_info.distances[fopAc_attn_LOCK_e] =
+ daNpcT_getDistTableIdx(attention_distance, attention_angle);
+ attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e];
+ attention_info.distances[fopAc_attn_SPEAK_e] =
+ daNpcT_getDistTableIdx(talk_distance, talk_angle);
+ attention_info.flags = fopAc_AttnFlag_SPEAK_e | fopAc_AttnFlag_TALK_e;
+
+ scale.set(daNpc_Lud_Param_c::m.common.scale, daNpc_Lud_Param_c::m.common.scale,
+ daNpc_Lud_Param_c::m.common.scale);
+ mCcStts.SetWeight(daNpc_Lud_Param_c::m.common.weight);
+ mCylH = daNpc_Lud_Param_c::m.common.height;
+ mWallR = daNpc_Lud_Param_c::m.common.width;
+ if (mTwilight) {
+ mCylH = 120.0f;
+ }
+ mAttnFovY = daNpc_Lud_Param_c::m.common.fov;
+ mAcchCir.SetWallR(mWallR);
+ mAcchCir.SetWallH(daNpc_Lud_Param_c::m.common.knee_length);
+ mRealShadowSize = daNpc_Lud_Param_c::m.common.real_shadow_size;
+ if (mType == TYPE_4 || mType == TYPE_5 || mType == TYPE_6) {
+ mRealShadowSize = 500.0f;
+ }
+ mExpressionMorfFrame = daNpc_Lud_Param_c::m.common.expression_morf_frame;
+ mMorfFrames = daNpc_Lud_Param_c::m.common.morf_frame;
+ gravity = daNpc_Lud_Param_c::m.common.gravity;
}
/* 80A6BD44-80A6BE6C 001284 0128+00 1/0 0/0 0/0 .text checkChangeEvt__11daNpc_Lud_cFv */
-void daNpc_Lud_c::checkChangeEvt() {
- // NONMATCHING
+BOOL daNpc_Lud_c::checkChangeEvt() {
+ if (!chkAction(&daNpc_Lud_c::talk)) {
+ mPreItemNo = 0;
+ if (dComIfGp_event_chkTalkXY()) {
+ if (dComIfGp_evmng_ChkPresentEnd()) {
+ mEvtNo = 1;
+ evtChange();
+ }
+ return TRUE;
+ }
+
+ switch (mType) {
+ case TYPE_0:
+ case TYPE_1:
+ case TYPE_2:
+ case TYPE_3:
+ case TYPE_7:
+ break;
+ case TYPE_4:
+ mEvtNo = 3;
+ evtChange();
+ return TRUE;
+ case TYPE_5:
+ mEvtNo = 4;
+ evtChange();
+ return TRUE;
+ case TYPE_6:
+ mEvtNo = 5;
+ evtChange();
+ return TRUE;
+ }
+ }
+
+ return FALSE;
}
-/* ############################################################################################## */
-/* 80A6FE60-80A6FE64 0000E4 0004+00 6/9 0/0 0/0 .rodata @4680 */
-SECTION_RODATA static f32 const lit_4680 = -1.0f;
-COMPILER_STRIP_GATE(0x80A6FE60, &lit_4680);
-
/* 80A6BE6C-80A6BEE4 0013AC 0078+00 1/0 0/0 0/0 .text setAfterTalkMotion__11daNpc_Lud_cFv
*/
void daNpc_Lud_c::setAfterTalkMotion() {
- // NONMATCHING
+ int iVar2 = MOT_UNK_18;
+ switch (mFaceMotionSeqMngr.getNo()) {
+ case MOT_UNK_1:
+ iVar2 = MOT_UNK_10;
+ break;
+ }
+ mFaceMotionSeqMngr.setNo(iVar2, -1.0f, 0, 0);
}
/* 80A6BEE4-80A6BFA4 001424 00C0+00 1/1 0/0 0/0 .text srchActors__11daNpc_Lud_cFv */
void daNpc_Lud_c::srchActors() {
- // NONMATCHING
+ switch (mType) {
+ case TYPE_1:
+ if (mActorMngr[2].getActorP() == NULL) {
+ mActorMngr[2].entry(getNearestActorP(PROC_NPC_LEN));
+ }
+ break;
+ case TYPE_5:
+ if (mActorMngr[0].getActorP() == NULL) {
+ mActorMngr[0].entry(getNearestActorP(PROC_NPC_BESU));
+ }
+ if (mActorMngr[1].getActorP() == NULL) {
+ mActorMngr[1].entry(getNearestActorP(PROC_NPC_KOLINB));
+ }
+ break;
+ }
}
/* 80A6BFA4-80A6C044 0014E4 00A0+00 1/0 0/0 0/0 .text evtTalk__11daNpc_Lud_cFv */
-void daNpc_Lud_c::evtTalk() {
- // NONMATCHING
+BOOL daNpc_Lud_c::evtTalk() {
+ if (chkAction(&daNpc_Lud_c::talk)) {
+ (this->*mAction)(NULL);
+ } else {
+ setAction(&daNpc_Lud_c::talk);
+ }
+ return TRUE;
}
/* 80A6C044-80A6C10C 001584 00C8+00 1/0 0/0 0/0 .text evtCutProc__11daNpc_Lud_cFv */
-void daNpc_Lud_c::evtCutProc() {
- // NONMATCHING
+BOOL daNpc_Lud_c::evtCutProc() {
+ int staffId = dComIfGp_getEventManager().getMyStaffId("Lud", this, -1);
+ if (staffId != -1) {
+ mStaffId = staffId;
+ int actIdx =
+ dComIfGp_getEventManager().getMyActIdx(mStaffId, (char**)mCutNameList, 8, 0, 0);
+ if ((this->*(mCutList[actIdx]))(mStaffId) != 0) {
+ dComIfGp_getEventManager().cutEnd(mStaffId);
+ }
+ return true;
+ }
+ return false;
}
/* 80A6C10C-80A6C2E4 00164C 01D8+00 1/0 0/0 0/0 .text action__11daNpc_Lud_cFv */
void daNpc_Lud_c::action() {
- // NONMATCHING
+ fopAc_ac_c* hitActor = NULL;
+ if (!mTwilight) {
+ hitActor = hitChk(&mCyl, 0xffffffff);
+ }
+
+ if (hitActor) {
+ if (mType != TYPE_4 && mType != TYPE_5 && mType != TYPE_6) {
+ cCcD_ObjHitInf* hit_obj = mCyl.GetTgHitObj();
+ if (hit_obj->ChkAtType(AT_TYPE_THROW_OBJ)) {
+ mStagger.setParam(this, hitActor, mCurAngle.y);
+ setDamage(0, 18, 0);
+ mDamageTimerStart = 0;
+ mJntAnm.lookNone(1);
+ }
+ }
+ }
+
+ if (mStagger.checkRebirth()) {
+ mStagger.initialize();
+ mMode = MODE_INIT;
+ }
+
+ if (field_0xfa8 != NULL) {
+ if (mAction == field_0xfa8) {
+ (this->*mAction)(NULL);
+ } else {
+ setAction(field_0xfa8);
+ }
+ }
+
+ cLib_calcTimer(&field_0xfc8);
+ cLib_calcTimer(&field_0xfcc);
}
/* 80A6C2E4-80A6C3A8 001824 00C4+00 1/0 0/0 0/0 .text beforeMove__11daNpc_Lud_cFv */
void daNpc_Lud_c::beforeMove() {
- // NONMATCHING
+ fopAcM_OffStatus(this, fopAcM_STATUS_UNK_0x8000000);
+ if (checkHide()) {
+ fopAcM_OnStatus(this, fopAcM_STATUS_UNK_0x8000000);
+ }
+
+ if (checkHide() || mNoDraw != 0) {
+ attention_info.flags = 0;
+ }
}
-/* ############################################################################################## */
-/* 80A6FE64-80A6FE68 0000E8 0004+00 0/1 0/0 0/0 .rodata @4927 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4927 = 5.0f;
-COMPILER_STRIP_GATE(0x80A6FE64, &lit_4927);
-#pragma pop
-
-/* 80A6FE68-80A6FE6C 0000EC 0004+00 0/1 0/0 0/0 .rodata @4928 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4928 = 30.0f;
-COMPILER_STRIP_GATE(0x80A6FE68, &lit_4928);
-#pragma pop
-
-/* 80A6FE6C-80A6FE70 0000F0 0004+00 0/1 0/0 0/0 .rodata @4929 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u32 const lit_4929 = 0x38C90FDB;
-COMPILER_STRIP_GATE(0x80A6FE6C, &lit_4929);
-#pragma pop
-
-/* 80A6FE70-80A6FE74 0000F4 0004+00 0/2 0/0 0/0 .rodata @4930 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4930 = 94.0f;
-COMPILER_STRIP_GATE(0x80A6FE70, &lit_4930);
-#pragma pop
-
-/* 80A6FE74-80A6FE78 0000F8 0004+00 0/1 0/0 0/0 .rodata @4931 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4931 = 160.0f;
-COMPILER_STRIP_GATE(0x80A6FE74, &lit_4931);
-#pragma pop
-
-/* 80A6FE78-80A6FE7C 0000FC 0004+00 0/1 0/0 0/0 .rodata @4932 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4932 = -79.0f;
-COMPILER_STRIP_GATE(0x80A6FE78, &lit_4932);
-#pragma pop
-
-/* 80A6FE7C-80A6FE84 000100 0008+00 1/3 0/0 0/0 .rodata @4934 */
-SECTION_RODATA static u8 const lit_4934[8] = {
- 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80A6FE7C, &lit_4934);
+/* 80A70B64-80A70B68 000014 0004+00 1/1 0/0 0/0 .bss l_HIO */
+static daNpc_Lud_Param_c l_HIO;
/* 80A6C3A8-80A6C8EC 0018E8 0544+00 1/0 0/0 0/0 .text setAttnPos__11daNpc_Lud_cFv */
void daNpc_Lud_c::setAttnPos() {
- // NONMATCHING
+ cXyz cStack_70(5.0f, 30.0f, 0.0f);
+ Mtx mtx;
+
+ if (field_0xfd5 != 0) {
+ daPy_getPlayerActorClass()->onWolfEyeKeep();
+ }
+
+ mStagger.calc(0);
+
+ f32 dVar8 = cM_s2rad(mCurAngle.y - field_0xd7e.y);
+
+ if (mType == TYPE_4 || mType == TYPE_5 || mType == TYPE_6) {
+ mJntAnm.setParam(this, mpMorf[0]->getModel(), &cStack_70, getBackboneJointNo(),
+ getNeckJointNo(), getHeadJointNo(), l_HIO.m.common.body_angleX_min,
+ l_HIO.m.common.body_angleX_max, 0.0f, 0.0f, l_HIO.m.common.head_angleX_min,
+ l_HIO.m.common.head_angleX_max, l_HIO.m.common.head_angleY_min,
+ l_HIO.m.common.head_angleY_max, l_HIO.m.common.neck_rotation_ratio, dVar8,
+ NULL);
+ } else {
+ mJntAnm.setParam(this, mpMorf[0]->getModel(), &cStack_70, getBackboneJointNo(),
+ getNeckJointNo(), getHeadJointNo(), l_HIO.m.common.body_angleX_min,
+ l_HIO.m.common.body_angleX_max, l_HIO.m.common.body_angleY_min,
+ l_HIO.m.common.body_angleY_max, l_HIO.m.common.head_angleX_min,
+ l_HIO.m.common.head_angleX_max, l_HIO.m.common.head_angleY_min,
+ l_HIO.m.common.head_angleY_max, l_HIO.m.common.neck_rotation_ratio, dVar8,
+ NULL);
+ }
+
+ mJntAnm.calcJntRad(0.2f, 1.0f, dVar8);
+ mpMorf[0]->setPlaySpeed(l_HIO.m.play_speed);
+ setMtx();
+
+ if (mpBowlMorf != NULL) {
+ mpBowlMorf->play(0, 0);
+ mDoMtx_stack_c::copy(mpMorf[0]->getModel()->getAnmMtx(14));
+ cMtx_copy(mDoMtx_stack_c::get(), mtx);
+ mpBowlMorf->getModel()->setBaseTRMtx(mtx);
+ mpBowlMorf->modelCalc();
+ }
+
+ mDoMtx_stack_c::copy(mpMorf[0]->getModel()->getAnmMtx(getHeadJointNo()));
+ mDoMtx_stack_c::multVec(&cStack_70, &eyePos);
+
+ if (mType == TYPE_4 || mType == TYPE_5 || mType == TYPE_6) {
+ s16 angle = field_0xfd0;
+ if (angle != 0) {
+ mJntAnm.setEyeAngleY(angle, 1.0f);
+ } else {
+ mJntAnm.setEyeAngleX(eyePos, 1.0f, 0);
+ mJntAnm.setEyeAngleY(eyePos, mCurAngle.y, 1, 1.0f, 0);
+ }
+ } else {
+ mJntAnm.setEyeAngleX(eyePos, 1.0f, 0);
+ mJntAnm.setEyeAngleY(eyePos, mCurAngle.y, 1, 1.0f, 0);
+ }
+
+ if (mType == TYPE_4 || mType == TYPE_5 || mType == TYPE_6) {
+ cStack_70.set(94.0f, 160.0f, -79.0f);
+ mDoMtx_stack_c::copy(mpMorf[0]->getModel()->getBaseTRMtx());
+ mDoMtx_stack_c::multVec(&cStack_70, &attention_info.position);
+ } else {
+ cStack_70.set(0.0f, 0.0f, 0.0f);
+ cStack_70.y = l_HIO.m.common.attention_offset;
+ mDoMtx_stack_c::YrotS(mCurAngle.y);
+ mDoMtx_stack_c::multVec(&cStack_70, &cStack_70);
+ attention_info.position = current.pos + cStack_70;
+ }
+
+ if (mType == TYPE_3) {
+ mSound.startCreatureVoiceLevel(JAISoundID(Z2SE_LUD_V_HOUSHIN), -1);
+ }
}
-/* ############################################################################################## */
-/* 80A6FE84-80A6FE8C 000108 0008+00 0/1 0/0 0/0 .rodata @4994 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_4994[8] = {
- 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80A6FE84, &lit_4994);
-#pragma pop
-
-/* 80A6FE8C-80A6FE94 000110 0008+00 0/1 0/0 0/0 .rodata @4995 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_4995[8] = {
- 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80A6FE8C, &lit_4995);
-#pragma pop
-
-/* 80A6FE94-80A6FE9C 000118 0008+00 0/1 0/0 0/0 .rodata @4996 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_4996[8] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80A6FE94, &lit_4996);
-#pragma pop
-
-/* 80A6FE9C-80A6FEA0 000120 0004+00 0/1 0/0 0/0 .rodata @5046 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u32 const lit_5046 = 0x43050F5C;
-COMPILER_STRIP_GATE(0x80A6FE9C, &lit_5046);
-#pragma pop
-
-/* 80A6FEA0-80A6FEA4 000124 0004+00 0/1 0/0 0/0 .rodata @5047 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_5047 = 66.0f / 25.0f;
-COMPILER_STRIP_GATE(0x80A6FEA0, &lit_5047);
-#pragma pop
-
-/* 80A6FEA4-80A6FEA8 000128 0004+00 0/1 0/0 0/0 .rodata @5048 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_5048 = -89.0f;
-COMPILER_STRIP_GATE(0x80A6FEA4, &lit_5048);
-#pragma pop
-
/* 80A6C8EC-80A6CA9C 001E2C 01B0+00 1/0 0/0 0/0 .text setCollision__11daNpc_Lud_cFv */
void daNpc_Lud_c::setCollision() {
- // NONMATCHING
+ cXyz cStack_48;
+
+ if (mHide == 0) {
+ u32 tgType = 0xd8fbfdff;
+ u32 tgSPrm = 0x1f;
+
+ if (mTwilight != 0) {
+ tgType = 0;
+ tgSPrm = 0;
+ } else if (mStagger.checkStagger()) {
+ tgType = 0;
+ tgSPrm = 0;
+ }
+
+ mCyl.SetCoSPrm(0x79);
+ mCyl.SetTgType(tgType);
+ mCyl.SetTgSPrm(tgSPrm);
+ mCyl.OnTgNoHitMark();
+
+ cStack_48.set(0.0f, 0.0f, 0.0f);
+
+ f32 cylHeight = mCylH;
+ f32 cylRadius = mWallR;
+
+ if (mType == TYPE_1) {
+ cStack_48.set(133.06f, 0.0f, 2.64f);
+ } else if (mType == TYPE_4 || mType == TYPE_5 || mType == TYPE_6) {
+ cStack_48.set(94.0f, 0.0f, -89.0f);
+ }
+
+ mDoMtx_stack_c::YrotS(mCurAngle.y);
+ mDoMtx_stack_c::multVec(&cStack_48, &cStack_48);
+ cStack_48 += current.pos;
+ mCyl.SetH(cylHeight);
+ mCyl.SetR(cylRadius);
+ mCyl.SetC(cStack_48);
+ dComIfG_Ccsp()->Set(&mCyl);
+ }
+
+ mCyl.ClrCoHit();
+ mCyl.ClrTgHit();
}
/* 80A6CA9C-80A6CAA4 001FDC 0008+00 1/0 0/0 0/0 .text drawDbgInfo__11daNpc_Lud_cFv */
-bool daNpc_Lud_c::drawDbgInfo() {
- return false;
+int daNpc_Lud_c::drawDbgInfo() {
+ return 0;
}
-/* ############################################################################################## */
-/* 80A6FEA8-80A6FEB0 00012C 0008+00 1/1 0/0 0/0 .rodata jointNo$5056 */
-SECTION_RODATA static u8 const jointNo[8] = {
- 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x14,
-};
-COMPILER_STRIP_GATE(0x80A6FEA8, &jointNo);
-
/* 80A6CAA4-80A6CC2C 001FE4 0188+00 1/0 0/0 0/0 .text drawOtherMdl__11daNpc_Lud_cFv */
void daNpc_Lud_c::drawOtherMdl() {
- // NONMATCHING
+ static int const jointNo[2] = {20, 20};
+
+ J3DModel* model_p = mpMorf[0]->getModel();
+
+ if (mpBowlMorf != NULL) {
+ g_env_light.setLightTevColorType_MAJI(mpBowlMorf->getModel(), &tevStr);
+
+ if (field_0xfd4 == 0) {
+ mpBowlMorf->getModel()->getModelData()->hide();
+ } else {
+ mpBowlMorf->getModel()->getModelData()->show();
+ }
+
+ mpBowlMorf->entryDL();
+ dComIfGd_addRealShadow(mShadowKey, mpBowlMorf->getModel());
+ }
+
+ for (int i = 0; i < 2; i++) {
+ if (mpModel[i] != NULL && ((i == 0 && field_0xfd2 != 0) || (i == 1 && field_0xfd3 != 0))) {
+ g_env_light.setLightTevColorType_MAJI(mpModel[i], &tevStr);
+
+ mDoMtx_stack_c::copy(model_p->getAnmMtx(jointNo[i]));
+ Mtx jointAnmMtx;
+ cMtx_copy(mDoMtx_stack_c::get(), jointAnmMtx);
+ mpModel[i]->setBaseTRMtx(jointAnmMtx);
+ mDoExt_modelUpdateDL(mpModel[i]);
+ dComIfGd_addRealShadow(mShadowKey, mpModel[i]);
+ }
+ }
}
/* 80A6CC2C-80A6CCFC 00216C 00D0+00 1/1 0/0 0/0 .text setBowlAnm__11daNpc_Lud_cFiif */
-void daNpc_Lud_c::setBowlAnm(int param_0, int param_1, f32 param_2) {
- // NONMATCHING
+bool daNpc_Lud_c::setBowlAnm(int i_index, int i_attr, f32 i_morf) {
+ static struct {
+ int resIdx;
+ int arcIdx;
+ } bowlAnmData[21] = {
+ {-1, 0}, {-1, 0}, {-1, 0}, {-1, 0}, {-1, 0}, {-1, 0}, {-1, 0},
+ {-1, 0}, {-1, 0}, {-1, 0}, {-1, 0}, {-1, 0}, {-1, 0}, {-1, 0},
+ {-1, 0}, {-1, 0}, {9, 4}, {9, 4}, {-1, 0}, {-1, 0}, {-1, 0},
+ };
+
+ J3DAnmTransform* anmTransform = NULL;
+
+ if (mpBowlMorf != NULL) {
+ if (bowlAnmData[i_index].resIdx > 0) {
+ anmTransform = getTrnsfrmKeyAnmP(l_resNameList[bowlAnmData[i_index].arcIdx],
+ bowlAnmData[i_index].resIdx);
+ }
+
+ if (anmTransform != NULL && anmTransform != mpBowlMorf->getAnm()) {
+ mpBowlMorf->setAnm(anmTransform, i_attr, i_morf, 1.0f, 0.0f, -1.0f);
+ }
+ }
+
+ return true;
}
/* 80A6CCFC-80A6CD30 00223C 0034+00 1/0 0/0 0/0 .text afterSetMotionAnm__11daNpc_Lud_cFiifi */
-void daNpc_Lud_c::afterSetMotionAnm(int param_0, int param_1, f32 param_2, int param_3) {
- // NONMATCHING
+bool daNpc_Lud_c::afterSetMotionAnm(int param_0, int param_1, f32 param_2, int param_3) {
+ if (mCreating == true) {
+ param_2 = 0.0f;
+ }
+ setBowlAnm(param_0, param_1, param_2);
}
/* 80A6CD30-80A6CDF4 002270 00C4+00 1/1 0/0 0/0 .text selectAction__11daNpc_Lud_cFv */
-void daNpc_Lud_c::selectAction() {
- // NONMATCHING
+int daNpc_Lud_c::selectAction() {
+ field_0xfa8 = NULL;
+
+ switch (mType) {
+ case TYPE_4:
+ field_0xfa8 = &daNpc_Lud_c::nurse;
+ break;
+ case TYPE_5:
+ field_0xfa8 = &daNpc_Lud_c::giveSoup;
+ break;
+ case TYPE_6:
+ field_0xfa8 = &daNpc_Lud_c::nurse;
+ break;
+ default:
+ field_0xfa8 = &daNpc_Lud_c::wait;
+ }
+
+ return 1;
}
/* 80A6CDF4-80A6CE20 002334 002C+00 2/2 0/0 0/0 .text
* chkAction__11daNpc_Lud_cFM11daNpc_Lud_cFPCvPvPv_i */
-void daNpc_Lud_c::chkAction(int (daNpc_Lud_c::*param_0)(void*)) {
- // NONMATCHING
+BOOL daNpc_Lud_c::chkAction(actionFunc param_0) {
+ return mAction == param_0;
}
/* 80A6CE20-80A6CEC8 002360 00A8+00 2/2 0/0 0/0 .text
* setAction__11daNpc_Lud_cFM11daNpc_Lud_cFPCvPvPv_i */
-void daNpc_Lud_c::setAction(int (daNpc_Lud_c::*param_0)(void*)) {
- // NONMATCHING
-}
+int daNpc_Lud_c::setAction(actionFunc param_0) {
+ mMode = MODE_EXIT;
+ if (mAction != NULL) {
+ (this->*(mAction))(NULL);
+ }
-/* ############################################################################################## */
-/* 80A6FEB0-80A6FEB4 000134 0004+00 1/1 0/0 0/0 .rodata @5221 */
-SECTION_RODATA static f32 const lit_5221 = 4.0f;
-COMPILER_STRIP_GATE(0x80A6FEB0, &lit_5221);
+ mMode = MODE_ENTER;
+ mAction = param_0;
+ if (mAction != NULL) {
+ (this->*(mAction))(NULL);
+ }
+
+ return 1;
+}
/* 80A6CEC8-80A6D01C 002408 0154+00 1/1 0/0 0/0 .text mop__11daNpc_Lud_cFii */
void daNpc_Lud_c::mop(int param_0, int param_1) {
- // NONMATCHING
+ if (field_0xfc8 != 0) {
+ action();
+ if (field_0xfc8 == 0) {
+ mFaceMotionSeqMngr.setNo(FACE_MOT_UNK_3, 4.0f, 0, 0);
+ mMotionSeqMngr.setNo(MOT_UNK_2, 4.0f, 0, 0);
+ field_0xfcc = param_1;
+ }
+ } else if (field_0xfcc != 0) {
+ action();
+ if (field_0xfcc == 0) {
+ mFaceMotionSeqMngr.setNo(FACE_MOT_UNK_4, 4.0f, 0, 0);
+ mMotionSeqMngr.setNo(MOT_UNK_6, 4.0f, 0, 0);
+ field_0xfc8 = param_0;
+ }
+ }
}
-/* ############################################################################################## */
-/* 80A6FECC-80A6FECC 000150 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80A6FF71 = "prm";
-#pragma pop
-
/* 80A6D01C-80A6D160 00255C 0144+00 1/0 0/0 0/0 .text cutHurry__11daNpc_Lud_cFi */
-void daNpc_Lud_c::cutHurry(int param_0) {
- // NONMATCHING
+int daNpc_Lud_c::cutHurry(int param_0) {
+ int rv = 0;
+ int iVar3 = -1;
+
+ int* piVar1 = dComIfGp_evmng_getMyIntegerP(param_0, "prm");
+ if (piVar1) {
+ iVar3 = *piVar1;
+ }
+
+ if (dComIfGp_getEventManager().getIsAddvance(param_0)) {
+ switch (iVar3) {
+ case 0:
+ mFaceMotionSeqMngr.setNo(FACE_MOT_UNK_9, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(MOT_UNK_11, -1.0f, 0, 0);
+ mJntAnm.setMode(0, FALSE);
+ mJntAnm.setDirect(1);
+ break;
+ }
+ }
+
+ switch (iVar3) {
+ case 0:
+ rv = 1;
+ break;
+ }
+
+ return rv;
}
-/* ############################################################################################## */
-/* 80A6FECC-80A6FECC 000150 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80A6FF75 = "timer";
-SECTION_DEAD static char const* const stringBase_80A6FF7B = "timer1";
-SECTION_DEAD static char const* const stringBase_80A6FF82 = "timer2";
-#pragma pop
-
/* 80A6D160-80A6D450 0026A0 02F0+00 1/0 0/0 0/0 .text cutConversationInHotel__11daNpc_Lud_cFi */
-void daNpc_Lud_c::cutConversationInHotel(int param_0) {
- // NONMATCHING
+int daNpc_Lud_c::cutConversationInHotel(int param_0) {
+ int rv = 0;
+ int iVar7 = -1;
+ int uVar4 = 0;
+ int iVar6 = 0;
+ int iVar5 = 0;
+
+ int* piVar1 = dComIfGp_evmng_getMyIntegerP(param_0, "prm");
+ if (piVar1) {
+ iVar7 = *piVar1;
+ }
+
+ piVar1 = dComIfGp_evmng_getMyIntegerP(param_0, "timer");
+ if (piVar1) {
+ uVar4 = *piVar1;
+ }
+
+ piVar1 = dComIfGp_evmng_getMyIntegerP(param_0, "timer1");
+ if (piVar1) {
+ iVar6 = *piVar1;
+ }
+
+ piVar1 = dComIfGp_evmng_getMyIntegerP(param_0, "timer2");
+ if (piVar1) {
+ iVar5 = *piVar1;
+ }
+
+ if (dComIfGp_getEventManager().getIsAddvance(param_0)) {
+ switch (iVar7) {
+ case 0:
+ field_0xfc8 = 0;
+ field_0xfcc = 1;
+ break;
+ case 1:
+ mFaceMotionSeqMngr.setNo(FACE_MOT_UNK_13, 0.0f, 1, 0);
+ mMotionSeqMngr.setNo(MOT_UNK_14, 0.0f, 1, 0);
+ break;
+ case 2:
+ mEventTimer = uVar4;
+ break;
+ case 3:
+ mFaceMotionSeqMngr.setNo(FACE_MOT_UNK_3, 0.0f, 1, 0);
+ mMotionSeqMngr.setNo(MOT_UNK_2, 0.0f, 1, 0);
+ break;
+ }
+ }
+
+ switch (iVar7) {
+ case 0:
+ mop(iVar6, iVar5);
+ rv = 1;
+ break;
+ case 1:
+ rv = 1;
+ break;
+ case 2:
+ if (mEventTimer) {
+ if (!cLib_calcTimer(&mEventTimer)) {
+ mFaceMotionSeqMngr.setNo(FACE_MOT_UNK_12, 0.0f, 0, 0);
+ mMotionSeqMngr.setNo(MOT_UNK_13, 0.0f, 0, 0);
+ mSound.startCreatureVoice(JAISoundID(Z2SE_LUD_V_SHIKARARE), -1);
+ } else {
+ mop(iVar6, iVar5);
+ }
+ } else {
+ rv = 1;
+ }
+ break;
+ case 3:
+ rv = 1;
+ break;
+ }
+
+ return rv;
}
/* 80A6D450-80A6D708 002990 02B8+00 1/0 0/0 0/0 .text cutConversationAboutDeathMt__11daNpc_Lud_cFi
*/
-void daNpc_Lud_c::cutConversationAboutDeathMt(int param_0) {
- // NONMATCHING
+int daNpc_Lud_c::cutConversationAboutDeathMt(int param_0) {
+ int rv = 0;
+ int iVar3 = -1;
+
+ int* piVar1 = dComIfGp_evmng_getMyIntegerP(param_0, "prm");
+ if (piVar1) {
+ iVar3 = *piVar1;
+ }
+
+ if (dComIfGp_getEventManager().getIsAddvance(param_0)) {
+ switch (iVar3) {
+ case 0:
+ mFaceMotionSeqMngr.setNo(FACE_MOT_UNK_5, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(MOT_UNK_7, -1.0f, 0, 0);
+ break;
+ case 1:
+ mFaceMotionSeqMngr.setNo(FACE_MOT_UNK_6, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(MOT_UNK_8, -1.0f, 0, 0);
+ field_0xfc8 = 32;
+ break;
+ case 2:
+ mFaceMotionSeqMngr.setNo(FACE_MOT_UNK_5, 0.0f, 1, 0);
+ mMotionSeqMngr.setNo(MOT_UNK_7, 0.0f, 1, 0);
+ break;
+ case 3:
+ mFaceMotionSeqMngr.setNo(FACE_MOT_UNK_6, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(MOT_UNK_8, -1.0f, 0, 0);
+ field_0xfc8 = 32;
+ break;
+ }
+ }
+
+ switch (iVar3) {
+ case 0:
+ action();
+ rv = 1;
+ break;
+ case 1:
+ action();
+ if (!field_0xfc8) {
+ rv = 1;
+ }
+ break;
+ case 2:
+ rv = 1;
+ break;
+ case 3:
+ if (!cLib_calcTimer(&field_0xfc8)) {
+ rv = 1;
+ }
+ break;
+ }
+
+ return rv;
}
/* 80A6D708-80A6D998 002C48 0290+00 1/0 0/0 0/0 .text cutConversationAboutGoron__11daNpc_Lud_cFi
*/
-void daNpc_Lud_c::cutConversationAboutGoron(int param_0) {
- // NONMATCHING
+int daNpc_Lud_c::cutConversationAboutGoron(int param_0) {
+ int rv = 0;
+ int iVar4 = -1;
+
+ int* piVar1 = dComIfGp_evmng_getMyIntegerP(param_0, "prm");
+ if (piVar1) {
+ iVar4 = *piVar1;
+ }
+
+ if (dComIfGp_getEventManager().getIsAddvance(param_0)) {
+ switch (iVar4) {
+ case 0:
+ mFaceMotionSeqMngr.setNo(FACE_MOT_UNK_1, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(MOT_UNK_3, -1.0f, 0, 0);
+ initTalk(mFlowNodeNo, NULL);
+ break;
+ case 1:
+ mFaceMotionSeqMngr.setNo(FACE_MOT_UNK_7, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(MOT_UNK_9, -1.0f, 0, 0);
+ break;
+ case 2:
+ mFaceMotionSeqMngr.setNo(FACE_MOT_UNK_8, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(MOT_UNK_10, -1.0f, 0, 0);
+ break;
+ }
+ }
+
+ switch (iVar4) {
+ case 0:
+ if (talkProc(NULL, 0, NULL, 0) && mFlow.checkEndFlow()) {
+ rv = 1;
+ }
+ break;
+ case 1:
+ case 2:
+ if (mMotionSeqMngr.checkEndSequence()) {
+ if (iVar4 == 2) {
+ field_0xfd0 = 0;
+ }
+ rv = 1;
+ break;
+ }
+ }
+
+ if (mType == TYPE_6) {
+ if (iVar4 == 0 || iVar4 == 1) {
+ cLib_chaseS(&field_0xfd0, 0xe00, 0x166);
+ } else {
+ cLib_chaseS(&field_0xfd0, 0, 0x166);
+ }
+ }
+
+ return rv;
}
-/* ############################################################################################## */
-/* 80A6FEB4-80A6FEC0 000138 000C+00 0/1 0/0 0/0 .rodata @5494 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_5494[12] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80A6FEB4, &lit_5494);
-#pragma pop
-
-/* 80A6FEC0-80A6FECC 000144 000C+00 0/1 0/0 0/0 .rodata @5502 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_5502[12] = {
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
-};
-COMPILER_STRIP_GATE(0x80A6FEC0, &lit_5502);
-#pragma pop
-
-/* 80A6FECC-80A6FECC 000150 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80A6FF89 = "msgNo";
-#pragma pop
-
/* 80A6D998-80A6DC48 002ED8 02B0+00 1/0 0/0 0/0 .text cutNurse__11daNpc_Lud_cFi */
-void daNpc_Lud_c::cutNurse(int param_0) {
- // NONMATCHING
+int daNpc_Lud_c::cutNurse(int param_0) {
+ int rv = 0;
+ int iVar3 = -1;
+
+ int* piVar1 = dComIfGp_evmng_getMyIntegerP(param_0, "prm");
+ if (piVar1) {
+ iVar3 = *piVar1;
+ }
+
+ dComIfGp_evmng_getMyIntegerP(param_0, "msgNo");
+
+ fopAc_ac_c* speakers[3] = {(fopAc_ac_c*)this, mActorMngr[0].getActorP(),
+ mActorMngr[1].getActorP()};
+ dComIfGp_setMesgCameraInfoActor(speakers[0], speakers[1], speakers[2], 0, 0, 0, 0, 0, 0, 0);
+
+ if (dComIfGp_getEventManager().getIsAddvance(param_0)) {
+ switch (iVar3) {
+ case 0:
+ initTalk(mFlowNodeNo, &speakers[0]);
+ break;
+ case 1:
+ mFaceMotionSeqMngr.setNo(FACE_MOT_UNK_14, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(MOT_UNK_15, -1.0f, 0, 0);
+ break;
+ case 2:
+ mFaceMotionSeqMngr.setNo(FACE_MOT_UNK_2, 0.0f, 1, 0);
+ mMotionSeqMngr.setNo(MOT_UNK_4, 0.0f, 1, 0);
+ break;
+ }
+ }
+
+ int local_40[3] = {-1, -1, -1};
+
+ switch (iVar3) {
+ case 0:
+ field_0xe26 = false;
+ local_40[0] = 0x13c2;
+ local_40[1] = 0x13c6;
+ if (talkProc(local_40, 0, speakers, 0)) {
+ rv = 1;
+ }
+ break;
+ case 1:
+ field_0xe26 = false;
+ if (talkProc(NULL, 0, speakers, 0) && mFlow.checkEndFlow()) {
+ rv = 1;
+ }
+ break;
+ case 2:
+ field_0xe26 = false;
+ rv = 1;
+ break;
+ }
+
+ return rv;
}
/* 80A6DC48-80A6DCE8 003188 00A0+00 1/0 0/0 0/0 .text cutClothTry__11daNpc_Lud_cFi */
-void daNpc_Lud_c::cutClothTry(int param_0) {
- // NONMATCHING
+int daNpc_Lud_c::cutClothTry(int param_0) {
+ int rv = 0;
+ int iVar2 = -1;
+
+ int* piVar1 = dComIfGp_evmng_getMyIntegerP(param_0, "prm");
+ if (piVar1) {
+ iVar2 = *piVar1;
+ }
+
+ dComIfGp_getEventManager().getIsAddvance(param_0);
+ switch (iVar2) {
+ case 0:
+ action();
+ rv = 1;
+ break;
+ }
+
+ return rv;
}
/* 80A6DCE8-80A6DE14 003228 012C+00 1/0 0/0 0/0 .text cutThankYou__11daNpc_Lud_cFi */
-void daNpc_Lud_c::cutThankYou(int param_0) {
- // NONMATCHING
+int daNpc_Lud_c::cutThankYou(int param_0) {
+ int rv = 0;
+ int iVar3 = -1;
+
+ int* piVar1 = dComIfGp_evmng_getMyIntegerP(param_0, "prm");
+ if (piVar1) {
+ iVar3 = *piVar1;
+ }
+
+ if (dComIfGp_getEventManager().getIsAddvance(param_0)) {
+ switch (iVar3) {
+ case 0:
+ break;
+ case 1:
+ mFaceMotionSeqMngr.setNo(FACE_MOT_UNK_17, 0.0f, 0, 0);
+ mMotionSeqMngr.setNo(MOT_UNK_19, 0.0f, 0, 0);
+ break;
+ }
+ }
+
+ switch (iVar3) {
+ case 0:
+ action();
+ rv = 1;
+ break;
+ case 1:
+ rv = 1;
+ break;
+ }
+
+ return rv;
}
/* 80A6DE14-80A6E32C 003354 0518+00 1/0 0/0 0/0 .text wait__11daNpc_Lud_cFPv */
-void daNpc_Lud_c::wait(void* param_0) {
- // NONMATCHING
+int daNpc_Lud_c::wait(void* param_0) {
+ switch (mMode) {
+ case 0:
+ case 1:
+ if (!mStagger.checkStagger()) {
+ switch (mType) {
+ case TYPE_1:
+ if (getBitSW() != 0xFF && dComIfGs_isSwitch(getBitSW(), fopAcM_GetRoomNo(this))) {
+ mFaceMotionSeqMngr.setNo(FACE_MOT_UNK_16, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(MOT_UNK_17, -1.0f, 0, 0);
+ break;
+ }
+ mFaceMotionSeqMngr.setNo(FACE_MOT_UNK_15, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(MOT_UNK_16, -1.0f, 0, 0);
+ break;
+ case TYPE_3:
+ mFaceMotionSeqMngr.setNo(FACE_MOT_UNK_9, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(MOT_UNK_11, -1.0f, 0, 0);
+ break;
+ case TYPE_2:
+ default:
+ mFaceMotionSeqMngr.setNo(FACE_MOT_UNK_18, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(MOT_UNK_0, -1.0f, 0, 0);
+ break;
+ }
+ field_0xfc0 = 0;
+ field_0xfc4 = 0;
+ mMode = 2;
+ }
+ case 2:
+ switch (mType) {
+ case TYPE_1:
+ fopAc_ac_c* actor_p = (daNpc_Len_c*)mActorMngr[2].getActorP();
+ if (actor_p != NULL &&
+ ((daNpc_Len_c*)actor_p)
+ ->checkStartDemo13StbEvt(this, daNpc_Lud_Param_c::m.common.box_min_x,
+ daNpc_Lud_Param_c::m.common.box_min_y,
+ daNpc_Lud_Param_c::m.common.box_min_z,
+ daNpc_Lud_Param_c::m.common.box_max_x,
+ daNpc_Lud_Param_c::m.common.box_max_y,
+ daNpc_Lud_Param_c::m.common.box_max_z,
+ daNpc_Lud_Param_c::m.common.box_offset))
+ {
+ mEvtNo = 2;
+ field_0xfd5 = 1;
+ }
+
+ if (field_0xfd5 != 0 && daNpcT_chkEvtBit(0x3C) && !dComIfGp_event_runCheck()) {
+ field_0xfd5 = 0;
+ }
+ break;
+ }
+
+ if (!mStagger.checkStagger()) {
+ if (mType == TYPE_1) {
+ mJntAnm.lookNone(0);
+ if (getBitSW() != 0xFF && dComIfGs_isSwitch(getBitSW(), fopAcM_GetRoomNo(this)) &&
+ mMotionSeqMngr.getNo() != MOT_UNK_17)
+ {
+ mMode = 1;
+ }
+ attention_info.flags = 0;
+ } else {
+ if (mType == TYPE_3) {
+ 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 != 0) {
+ if (step(home.angle.y, 18, 18, 15, 0)) {
+ mMode = 1;
+ }
+ } else {
+ setAngle(home.angle.y);
+ mMode = 1;
+ }
+ attention_info.flags = 0;
+ } else if (!mTwilight) {
+ srchPlayerActor();
+ }
+ }
+ }
+ switch (mType) {
+ case TYPE_3:
+ attention_info.flags = 0;
+ break;
+ }
+ }
+ case 3:
+ break;
+ }
+
+ return 1;
}
-/* ############################################################################################## */
-/* 80A6FECC-80A6FECC 000150 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80A6FF8F = "EVT_CONVERSATION_IN_HOTEL1_e";
-SECTION_DEAD static char const* const stringBase_80A6FFAC = "EVT_CONVERSATION_IN_HOTEL2_e";
-#pragma pop
-
/* 80A6E32C-80A6E6EC 00386C 03C0+00 2/0 0/0 0/0 .text nurse__11daNpc_Lud_cFPv */
-void daNpc_Lud_c::nurse(void* param_0) {
- // NONMATCHING
+int daNpc_Lud_c::nurse(void* param_0) {
+ switch (mMode) {
+ case 0:
+ case 1:
+ if (mFaceMotionSeqMngr.getNo() != FACE_MOT_UNK_13) {
+ mFaceMotionSeqMngr.setNo(FACE_MOT_UNK_3, -1.0f, 0, 0);
+ }
+ if (mMotionSeqMngr.getNo() != MOT_UNK_14) {
+ mMotionSeqMngr.setNo(MOT_UNK_2, -1.0f, 0, 0);
+ }
+ mMorfLoops = 0;
+ if (mType == TYPE_6) {
+ field_0xfc8 = 0;
+ field_0xfcc = 1;
+ }
+ mMode = 2;
+
+ case 2:
+ mJntAnm.lookNone(0);
+ mAcch.SetWallNone();
+
+ switch (mMotionSeqMngr.getNo()) {
+ case MOT_UNK_2:
+ if (strcmp(dComIfGp_getEventManager().getRunEventName(),
+ "EVT_CONVERSATION_IN_HOTEL1_e") &&
+ strcmp(dComIfGp_getEventManager().getRunEventName(),
+ "EVT_CONVERSATION_IN_HOTEL2_e") &&
+ mType != TYPE_6 && mMorfLoops >= 2)
+ {
+ mFaceMotionSeqMngr.setNo(FACE_MOT_UNK_11, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(MOT_UNK_12, -1.0f, 0, 0);
+ }
+ break;
+ case MOT_UNK_12:
+ case MOT_UNK_14:
+ if (mMotionSeqMngr.checkEndSequence()) {
+ mFaceMotionSeqMngr.setNo(FACE_MOT_UNK_3, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(MOT_UNK_2, -1.0f, 0, 0);
+ }
+ }
+ if (mType == TYPE_6) {
+ if (field_0xfc8 != 0) {
+ cLib_calcTimer(&field_0xfc8);
+ cLib_calcTimer(&field_0xfcc);
+ if (field_0xfc8 == 0) {
+ mFaceMotionSeqMngr.setNo(FACE_MOT_UNK_3, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(MOT_UNK_2, -1.0f, 0, 0);
+ field_0xfcc = 92;
+ }
+ } else if (field_0xfcc != 0) {
+ cLib_calcTimer(&field_0xfc8);
+ cLib_calcTimer(&field_0xfcc);
+ if (field_0xfcc == 0) {
+ mFaceMotionSeqMngr.setNo(FACE_MOT_UNK_4, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(MOT_UNK_6, -1.0f, 0, 0);
+ field_0xfc8 = 92;
+ }
+ }
+ }
+ break;
+ case 3:
+ break;
+ }
+
+ return 1;
}
/* 80A6E6EC-80A6E7EC 003C2C 0100+00 1/0 0/0 0/0 .text giveSoup__11daNpc_Lud_cFPv */
-void daNpc_Lud_c::giveSoup(void* param_0) {
- // NONMATCHING
+int daNpc_Lud_c::giveSoup(void* param_0) {
+ switch (mMode) {
+ case 0:
+ case 1:
+ mFaceMotionSeqMngr.setNo(FACE_MOT_UNK_2, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(MOT_UNK_4, -1.0f, 0, 0);
+ mMode = 2;
+ case 2:
+ mJntAnm.lookNone(0);
+ mAcch.SetWallNone();
+ break;
+ case 3:
+ break;
+ }
+ return 1;
}
/* 80A6E7EC-80A6E9FC 003D2C 0210+00 3/0 0/0 0/0 .text talk__11daNpc_Lud_cFPv */
-void daNpc_Lud_c::talk(void* param_0) {
- // NONMATCHING
+int daNpc_Lud_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 || mType == 0 || mType == 2 ||
+ mType == 4 || mType == 5 || mType == 6)
+ {
+ if (talkProc(NULL, 0, NULL, 0) && mFlow.checkEndFlow()) {
+ mPlayerActorMngr.entry(daPy_getPlayerActorClass());
+ dComIfGp_event_reset();
+ mMode = 3;
+ }
+ mJntAnm.lookPlayer(0);
+ if (mTwilight || mType == 4 || mType == 5 || mType == 6) {
+ mJntAnm.lookNone(0);
+ }
+ } else {
+ mJntAnm.lookPlayer(0);
+ step(mPlayerAngle, 18, 18, 15, 0);
+ }
+ }
+ break;
+ case 3:
+ break;
+ }
+
+ return 0;
}
/* 80A6E9FC-80A6EA1C 003F3C 0020+00 1/0 0/0 0/0 .text daNpc_Lud_Create__FPv */
-static void daNpc_Lud_Create(void* param_0) {
- // NONMATCHING
+static int daNpc_Lud_Create(void* i_this) {
+ return static_cast<daNpc_Lud_c*>(i_this)->create();
}
/* 80A6EA1C-80A6EA3C 003F5C 0020+00 1/0 0/0 0/0 .text daNpc_Lud_Delete__FPv */
-static void daNpc_Lud_Delete(void* param_0) {
- // NONMATCHING
+static int daNpc_Lud_Delete(void* i_this) {
+ return static_cast<daNpc_Lud_c*>(i_this)->Delete();
}
/* 80A6EA3C-80A6EA5C 003F7C 0020+00 1/0 0/0 0/0 .text daNpc_Lud_Execute__FPv */
-static void daNpc_Lud_Execute(void* param_0) {
- // NONMATCHING
+static int daNpc_Lud_Execute(void* i_this) {
+ return static_cast<daNpc_Lud_c*>(i_this)->Execute();
}
/* 80A6EA5C-80A6EA7C 003F9C 0020+00 1/0 0/0 0/0 .text daNpc_Lud_Draw__FPv */
-static void daNpc_Lud_Draw(void* param_0) {
- // NONMATCHING
+static int daNpc_Lud_Draw(void* i_this) {
+ return static_cast<daNpc_Lud_c*>(i_this)->Draw();
}
/* 80A6EA7C-80A6EA84 003FBC 0008+00 1/0 0/0 0/0 .text daNpc_Lud_IsDelete__FPv */
-static bool daNpc_Lud_IsDelete(void* param_0) {
- return true;
-}
-
-/* 80A6EA84-80A6EAB4 003FC4 0030+00 1/0 0/0 0/0 .text calc__11J3DTexNoAnmCFPUs */
-// void J3DTexNoAnm::calc(u16* param_0) const {
-extern "C" void calc__11J3DTexNoAnmCFPUs() {
- // NONMATCHING
-}
-
-/* 80A6EAB4-80A6EAFC 003FF4 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */
-// cCcD_GStts::~cCcD_GStts() {
-extern "C" void __dt__10cCcD_GSttsFv() {
- // NONMATCHING
-}
-
-/* 80A6EAFC-80A6EE84 00403C 0388+00 1/1 0/0 0/0 .text __dt__8daNpcT_cFv */
-// daNpcT_c::~daNpcT_c() {
-extern "C" void __dt__8daNpcT_cFv() {
- // NONMATCHING
+static int daNpc_Lud_IsDelete(void* i_this) {
+ return 1;
}
-/* 80A6EE84-80A6EEC0 0043C4 003C+00 3/3 0/0 0/0 .text __dt__4cXyzFv */
-// cXyz::~cXyz() {
-extern "C" void __dt__4cXyzFv() {
- // NONMATCHING
-}
-
-/* 80A6EEC0-80A6EEFC 004400 003C+00 2/2 0/0 0/0 .text __dt__5csXyzFv */
-// csXyz::~csXyz() {
-extern "C" void __dt__5csXyzFv() {
- // NONMATCHING
-}
-
-/* 80A6EEFC-80A6EF44 00443C 0048+00 3/2 0/0 0/0 .text __dt__18daNpcT_ActorMngr_cFv */
-// daNpcT_ActorMngr_c::~daNpcT_ActorMngr_c() {
-extern "C" void __dt__18daNpcT_ActorMngr_cFv() {
- // NONMATCHING
-}
-
-/* 80A6EF44-80A6EF80 004484 003C+00 1/1 0/0 0/0 .text __ct__18daNpcT_ActorMngr_cFv */
-// daNpcT_ActorMngr_c::daNpcT_ActorMngr_c() {
-extern "C" void __ct__18daNpcT_ActorMngr_cFv() {
- // NONMATCHING
-}
-
-/* 80A6EF80-80A6EFC8 0044C0 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */
-// cM3dGCyl::~cM3dGCyl() {
-extern "C" void __dt__8cM3dGCylFv() {
- // NONMATCHING
-}
-
-/* 80A6EFC8-80A6F010 004508 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */
-// cM3dGAab::~cM3dGAab() {
-extern "C" void __dt__8cM3dGAabFv() {
- // NONMATCHING
-}
-
-/* 80A6F010-80A6F414 004550 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
-}
-
-/* 80A6F414-80A6F418 004954 0004+00 1/1 0/0 0/0 .text __ct__5csXyzFv */
-// csXyz::csXyz() {
-extern "C" void __ct__5csXyzFv() {
- /* empty function */
-}
-
-/* 80A6F418-80A6F514 004958 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
-}
-
-/* 80A6F514-80A6F518 004A54 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */
-// cXyz::cXyz() {
-extern "C" void __ct__4cXyzFv() {
- /* empty function */
-}
-
-/* 80A6F518-80A6F560 004A58 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
-}
-
-/* 80A6F560-80A6F5D0 004AA0 0070+00 1/0 0/0 0/0 .text __dt__12dBgS_AcchCirFv */
-// dBgS_AcchCir::~dBgS_AcchCir() {
-extern "C" void __dt__12dBgS_AcchCirFv() {
- // NONMATCHING
-}
-
-/* 80A6F5D0-80A6F62C 004B10 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */
-// dCcD_GStts::~dCcD_GStts() {
-extern "C" void __dt__10dCcD_GSttsFv() {
- // NONMATCHING
-}
-
-/* 80A6F62C-80A6F69C 004B6C 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */
-// dBgS_ObjAcch::~dBgS_ObjAcch() {
-extern "C" void __dt__12dBgS_ObjAcchFv() {
- // NONMATCHING
-}
-
-/* 80A6F69C-80A6F6E4 004BDC 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */
-// J3DFrameCtrl::~J3DFrameCtrl() {
-extern "C" void __dt__12J3DFrameCtrlFv() {
- // NONMATCHING
-}
-
-/* 80A6F6E4-80A6F800 004C24 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
-}
-
-/* 80A6F800-80A6FA08 004D40 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
-}
-
-/* 80A6FA08-80A6FA0C 004F48 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 */
-}
-
-/* 80A6FA1C-80A6FA24 004F5C 0008+00 1/0 0/0 0/0 .text getEyeballLMaterialNo__8daNpcT_cFv
- */
-// bool daNpcT_c::getEyeballLMaterialNo() {
-extern "C" bool getEyeballLMaterialNo__8daNpcT_cFv() {
- return false;
-}
-
-/* 80A6FA24-80A6FA2C 004F64 0008+00 1/0 0/0 0/0 .text getEyeballRMaterialNo__8daNpcT_cFv
- */
-// bool daNpcT_c::getEyeballRMaterialNo() {
-extern "C" bool getEyeballRMaterialNo__8daNpcT_cFv() {
- return false;
-}
-
-/* 80A6FA2C-80A6FA34 004F6C 0008+00 1/0 0/0 0/0 .text evtEndProc__8daNpcT_cFv */
-// bool daNpcT_c::evtEndProc() {
-extern "C" bool evtEndProc__8daNpcT_cFv() {
- return true;
-}
-
-/* 80A6FA38-80A6FA40 004F78 0008+00 1/0 0/0 0/0 .text chkXYItems__8daNpcT_cFv */
-// bool daNpcT_c::chkXYItems() {
-extern "C" bool chkXYItems__8daNpcT_cFv() {
- return false;
-}
-
-/* 80A6FA40-80A6FA58 004F80 0018+00 1/0 0/0 0/0 .text decTmr__8daNpcT_cFv */
-// void daNpcT_c::decTmr() {
-extern "C" void decTmr__8daNpcT_cFv() {
- // NONMATCHING
-}
-
-/* 80A6FA58-80A6FA5C 004F98 0004+00 1/0 0/0 0/0 .text drawGhost__8daNpcT_cFv */
-// void daNpcT_c::drawGhost() {
-extern "C" void drawGhost__8daNpcT_cFv() {
- /* empty function */
-}
-
-/* 80A6FA5C-80A6FA64 004F9C 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;
-}
-
-/* 80A6FA64-80A6FA94 004FA4 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
-}
-
-/* 80A6FA94-80A6FAC4 004FD4 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
-}
-
-/* 80A6FAC4-80A6FAC8 005004 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 */
-}
-
-/* 80A6FAC8-80A6FACC 005008 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 */
-}
-
-/* 80A6FACC-80A6FAD0 00500C 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 */
-}
-
-/* 80A6FAD0-80A6FAD4 005010 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 */
-}
-
-/* 80A6FAD4-80A6FAF0 005014 001C+00 4/4 0/0 0/0 .text cLib_calcTimer<i>__FPi */
-extern "C" void func_80A6FAD4(void* _this, int* param_0) {
- // NONMATCHING
-}
-
-/* ############################################################################################## */
-/* 80A70B40-80A70B4C 000B74 000C+00 2/2 0/0 0/0 .data __vt__17daNpc_Lud_Param_c */
-SECTION_DATA extern void* __vt__17daNpc_Lud_Param_c[3] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__17daNpc_Lud_Param_cFv,
+/* 80A70990-80A709B0 -00001 0020+00 1/0 0/0 0/0 .data daNpc_Lud_MethodTable */
+static actor_method_class daNpc_Lud_MethodTable = {
+ (process_method_func)daNpc_Lud_Create, (process_method_func)daNpc_Lud_Delete,
+ (process_method_func)daNpc_Lud_Execute, (process_method_func)daNpc_Lud_IsDelete,
+ (process_method_func)daNpc_Lud_Draw,
};
-/* 80A70B58-80A70B64 000008 000C+00 1/1 0/0 0/0 .bss @3840 */
-static u8 lit_3840[12];
-
-/* 80A70B64-80A70B68 000014 0004+00 1/1 0/0 0/0 .bss l_HIO */
-static u8 l_HIO[4];
-
-/* 80A6FAF0-80A6FC04 005030 0114+00 0/0 1/0 0/0 .text __sinit_d_a_npc_lud_cpp */
-void __sinit_d_a_npc_lud_cpp() {
- // NONMATCHING
-}
-
-#pragma push
-#pragma force_active on
-REGISTER_CTORS(0x80A6FAF0, __sinit_d_a_npc_lud_cpp);
-#pragma pop
-
-/* 80A6FC04-80A6FCD0 005144 00CC+00 1/1 0/0 0/0 .text
- * __ct__11daNpc_Lud_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc
- */
-daNpc_Lud_c::daNpc_Lud_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) {
- // NONMATCHING
-}
-
-/* 80A6FCD0-80A6FCD8 005210 0008+00 1/0 0/0 0/0 .text getEyeballMaterialNo__11daNpc_Lud_cFv */
-u16 daNpc_Lud_c::getEyeballMaterialNo() {
- return true;
-}
-
-/* 80A6FCD8-80A6FCE0 005218 0008+00 1/0 0/0 0/0 .text getHeadJointNo__11daNpc_Lud_cFv */
-s32 daNpc_Lud_c::getHeadJointNo() {
- return 4;
-}
-
-/* 80A6FCE0-80A6FCE8 005220 0008+00 1/0 0/0 0/0 .text getNeckJointNo__11daNpc_Lud_cFv */
-s32 daNpc_Lud_c::getNeckJointNo() {
- return 3;
-}
-
-/* 80A6FCE8-80A6FCF0 005228 0008+00 1/0 0/0 0/0 .text getBackboneJointNo__11daNpc_Lud_cFv
- */
-bool daNpc_Lud_c::getBackboneJointNo() {
- return true;
-}
-
-/* 80A6FCF0-80A6FD00 005230 0010+00 1/0 0/0 0/0 .text checkChangeJoint__11daNpc_Lud_cFi
- */
-void daNpc_Lud_c::checkChangeJoint(int param_0) {
- // NONMATCHING
-}
-
-/* 80A6FD00-80A6FD10 005240 0010+00 1/0 0/0 0/0 .text checkRemoveJoint__11daNpc_Lud_cFi
- */
-void daNpc_Lud_c::checkRemoveJoint(int param_0) {
- // NONMATCHING
-}
-
-/* 80A6FD10-80A6FD58 005250 0048+00 2/1 0/0 0/0 .text __dt__17daNpc_Lud_Param_cFv */
-daNpc_Lud_Param_c::~daNpc_Lud_Param_c() {
- // NONMATCHING
-}
-
-/* 80A6FD58-80A6FD60 005298 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */
-static void func_80A6FD58() {
- // NONMATCHING
-}
-
-/* 80A6FD60-80A6FD68 0052A0 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */
-static void func_80A6FD60() {
- // NONMATCHING
-}
-
-/* 80A6FECC-80A6FECC 000150 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
+/* 80A709B0-80A709E0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_NPC_LUD */
+extern actor_process_profile_definition g_profile_NPC_LUD = {
+ fpcLy_CURRENT_e, // mLayerID
+ 7, // mListID
+ fpcPi_CURRENT_e, // mListPrio
+ PROC_NPC_LUD, // mProcName
+ &g_fpcLf_Method.base, // sub_method
+ sizeof(daNpc_Lud_c), // mSize
+ 0, // mSizeOther
+ 0, // mParameters
+ &g_fopAc_Method.base, // sub_method
+ 338, // mPriority
+ &daNpc_Lud_MethodTable, // sub_method
+ 0x00040108, // mStatus
+ fopAc_NPC_e, // mActorType
+ fopAc_CULLBOX_CUSTOM_e, // cullType
+};
diff --git a/src/d/actor/d_a_npc_moi.cpp b/src/d/actor/d_a_npc_moi.cpp
index c1e2c2c2d6..1b610345d7 100644
--- a/src/d/actor/d_a_npc_moi.cpp
+++ b/src/d/actor/d_a_npc_moi.cpp
@@ -1,14 +1,14 @@
/**
-* @file d_a_npc_moi.cpp
+ * @file d_a_npc_moi.cpp
*
*/
#include "d/dolzel_rel.h"
-#include "d/actor/d_a_npc_moi.h"
#include "SSystem/SComponent/c_counter.h"
#include "Z2AudioLib/Z2Instances.h"
#include "d/actor/d_a_ep.h"
+#include "d/actor/d_a_npc_moi.h"
#include "d/actor/d_a_npc_uri.h"
/* 80A7B17C-80A7B1BC 000020 0040+00 1/1 0/0 0/0 .data l_bmdData */
@@ -98,50 +98,55 @@ static daNpcT_motionAnmData_c l_motionAnmData[35] = {
/* 80A7B82C-80A7B98C 0006D0 0160+00 0/1 0/0 0/0 .data l_faceMotionSequenceData */
static daNpcT_MotionSeqMngr_c::sequenceStepData_c l_faceMotionSequenceData[88] = {
- 1, -1, 1, -1, 0, 0, -1, 0, 0, -1, 0, 0, 2, -1, 1, 12, 0, 0, -1, 0, 0, -1, 0, 0,
- 3, -1, 1, 13, 0, 0, -1, 0, 0, -1, 0, 0, 4, -1, 1, 14, 0, 0, -1, 0, 0, -1, 0, 0,
- 5, -1, 1, 9, 0, 0, -1, 0, 0, -1, 0, 0, 6, -1, 1, 10, 0, 0, -1, 0, 0, -1, 0, 0,
- 7, -1, 1, -1, 0, 0, -1, 0, 0, -1, 0, 0, 18, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0,
- 8, -1, 1, 16, 0, 0, -1, 0, 0, -1, 0, 0, 17, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0,
- -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0,
- 16, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, 15, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0,
- 9, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, 10, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0,
- 14, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, 11, -1, 1, -1, 0, 0, -1, 0, 0, -1, 0, 0,
- 12, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, 13, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0,
- 19, -1, 1, -1, 0, 0, -1, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0,
+ {1, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {2, -1, 1}, {12, 0, 0}, {-1, 0, 0},
+ {-1, 0, 0}, {3, -1, 1}, {13, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {4, -1, 1}, {14, 0, 0},
+ {-1, 0, 0}, {-1, 0, 0}, {5, -1, 1}, {9, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {6, -1, 1},
+ {10, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {7, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {18, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {8, -1, 1}, {16, 0, 0}, {-1, 0, 0},
+ {-1, 0, 0}, {17, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {16, -1, 0},
+ {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {15, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {9, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {10, -1, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {-1, 0, 0}, {14, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {11, -1, 1}, {-1, 0, 0},
+ {-1, 0, 0}, {-1, 0, 0}, {12, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {13, -1, 0},
+ {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {19, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {0, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
};
/* 80A7B98C-80A7BC9C 000830 0310+00 0/1 0/0 0/0 .data l_motionSequenceData */
static daNpcT_MotionSeqMngr_c::sequenceStepData_c l_motionSequenceData[196] = {
- 0, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, 8, -1, 1, 2, 0, 0, -1, 0, 0, -1, 0, 0,
- 1, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, 9, -1, 1, 1, 0, 0, -1, 0, 0, -1, 0, 0,
- 4, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, 10, -1, 1, 1, 0, 0, -1, 0, 0, -1, 0, 0,
- 11, -1, 1, 5, 0, 0, -1, 0, 0, -1, 0, 0, 2, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0,
- 7, -1, 1, 1, 0, 0, -1, 0, 0, -1, 0, 0, 6, -1, 1, 0, 0, 0, -1, 0, 0, -1, 0, 0,
- 22, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, 25, -1, 1, 22, 0, 0, -1, 0, 0, -1, 0, 0,
- 28, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, 27, 0, 1, 29, 0, 0, -1, 0, 0, -1, 0, 0,
- 14, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, 15, -1, 1, 14, 0, 0, -1, 0, 0, -1, 0, 0,
- 23, -1, 1, 22, 0, 0, -1, 0, 0, -1, 0, 0, 16, -1, 1, 14, 0, 0, -1, 0, 0, -1, 0, 0,
- 17, -1, 1, 14, 0, 0, -1, 0, 0, -1, 0, 0, 33, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0,
- -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0,
- -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0,
- -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0,
- -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0,
- -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0,
- -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0,
- -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0,
- 31, -1, 1, 32, 0, 0, -1, 0, 0, -1, 0, 0, 32, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0,
- 29, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, 20, -1, 1, -1, 0, 0, -1, 0, 0, -1, 0, 0,
- 21, -1, 1, -1, 0, 0, -1, 0, 0, -1, 0, 0, 26, -1, 1, -1, 0, 0, -1, 0, 0, -1, 0, 0,
- 18, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0,
- 25, -1, 1, -1, 0, 0, -1, 0, 0, -1, 0, 0, 24, -1, 1, -1, 0, 0, -1, 0, 0, -1, 0, 0,
- 13, -1, 1, -1, 0, 0, -1, 0, 0, -1, 0, 0, 12, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0,
- 3, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, 30, -1, 1, -1, 0, 0, -1, 0, 0, -1, 0, 0,
- 18, 4, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0,
+ {0, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {8, -1, 1}, {2, 0, 0}, {-1, 0, 0},
+ {-1, 0, 0}, {1, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {9, -1, 1}, {1, 0, 0},
+ {-1, 0, 0}, {-1, 0, 0}, {4, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {10, -1, 1},
+ {1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {11, -1, 1}, {5, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {2, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {7, -1, 1}, {1, 0, 0}, {-1, 0, 0},
+ {-1, 0, 0}, {6, -1, 1}, {0, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {22, -1, 0}, {-1, 0, 0},
+ {-1, 0, 0}, {-1, 0, 0}, {25, -1, 1}, {22, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {28, -1, 0},
+ {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {27, 0, 1}, {29, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {14, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {15, -1, 1}, {14, 0, 0}, {-1, 0, 0},
+ {-1, 0, 0}, {23, -1, 1}, {22, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {16, -1, 1}, {14, 0, 0},
+ {-1, 0, 0}, {-1, 0, 0}, {17, -1, 1}, {14, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {33, -1, 0},
+ {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {31, -1, 1}, {32, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {32, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {29, -1, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {-1, 0, 0}, {20, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {21, -1, 1}, {-1, 0, 0},
+ {-1, 0, 0}, {-1, 0, 0}, {26, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {18, -1, 0},
+ {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {25, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {24, -1, 1}, {-1, 0, 0}, {-1, 0, 0},
+ {-1, 0, 0}, {13, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {12, -1, 0}, {-1, 0, 0},
+ {-1, 0, 0}, {-1, 0, 0}, {3, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {30, -1, 1},
+ {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {18, 4, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
};
/* 80A7BC9C-80A7BCB0 -00001 0014+00 1/1 0/0 0/0 .data mCutNameList__11daNpc_Moi_c */
-const char* daNpc_Moi_c::mCutNameList[5] = {
+char* daNpc_Moi_c::mCutNameList[5] = {
"", "DELIVERED_SW", "APPEARANCE_MOI", "CONVERSATION_WITH_URI", "FIND_WOLF",
};
@@ -189,116 +194,14 @@ daNpc_Moi_c::~daNpc_Moi_c() {
}
/* 80A7AEF0-80A7AFAC 000000 00BC+00 19/19 0/0 0/0 .rodata m__17daNpc_Moi_Param_c */
-daNpc_Moi_HIOParam const daNpc_Moi_Param_c::m = {
- 200.0f, // field_0x00
- -3.0f, // field_0x04
- 1.0f, // field_0x08
- 400.0f, // field_0x0c
- 255.0f, // field_0x10
- 180.0f, // field_0x14
- 35.0f, // field_0x18
- 30.0f, // field_0x1c
- 0.0f, // field_0x20
- 0.0f, // field_0x24
- 10.0f, // field_0x28
- -10.0f, // field_0x2c
- 30.0f, // field_0x30
- -10.0f, // field_0x34
- 45.0f, // field_0x38
- -45.0f, // field_0x3c
- 0.6000000238418579f, // field_0x40
- 12.0f, // field_0x44
- 3, // field_0x48
- 6, // field_0x4a
- 5, // field_0x4c
- 6, // field_0x4e
- 110.0f, // field_0x50
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x3C,
- 0x00,
- 0x08,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 4.0f, // field_0x6c
- 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,
- 0x43,
- 0xAF,
- 0x00,
- 0x00,
- 0x43,
- 0x96,
- 0x00,
- 0x00,
- 0xC2,
- 0xC8,
- 0x00,
- 0x00,
- 90, // field_0x98
- 200, // field_0x9a
- 235, // field_0x9c
- 125, // field_0x9e
- 0, // field_0xa0
- 0, // field_0xa2
- 1.0f, // field_0xa4
- 0x44,
- 0x7A,
- 0x00,
- 0x00,
- 0x43,
- 0x96,
- 0x00,
- 0x00,
- 0xC3,
- 0x96,
- 0x00,
- 0x00,
- 30.0f, // field_0xb4
- 60.0f, // field_0xb8
+const daNpc_Moi_HIOParam daNpc_Moi_Param_c::m = {
+ 200.0f, -3.0f, 1.0f, 400.0f, 255.0f, 180.0f, 35.0f, 30.0f, 0.0f, 0.0f, 10.0f,
+ -10.0f, 30.0f, -10.0f, 45.0f, -45.0f, 0.6f, 12.0f, 3, 6, 5, 6,
+ 110.0f, 0.0f, 0.0f, 0.0f, 60, 8, 0, 0, 0, 0, 0,
+ 4.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0x43, 0xAF, 0x00,
+ 0x00, 0x43, 0x96, 0x00, 0x00, 0xC2, 0xC8, 0x00, 0x00, 90, 200,
+ 235, 125, 0, 0, 1.0f, 0x44, 0x7A, 0x00, 0x00, 0x43, 0x96,
+ 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 30.0f, 60.0f,
};
/* 80A74150-80A74474 0002F0 0324+00 1/1 0/0 0/0 .text create__11daNpc_Moi_cFv */
@@ -331,7 +234,7 @@ int daNpc_Moi_c::create() {
reset();
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));
- mCcStts.Init(daNpc_Moi_Param_c::m.field_0x10, 0, this);
+ mCcStts.Init(daNpc_Moi_Param_c::m.common.weight, 0, this);
for (int i = 0; i < 4; i++) {
mCyl[i].Set(mCcDCyl);
mCyl[i].SetStts(&mCcStts);
@@ -632,64 +535,67 @@ void daNpc_Moi_c::setParam() {
srchActors();
int uVar5 = (fopAc_AttnFlag_SPEAK_e | fopAc_AttnFlag_TALK_e);
- s16 sVar7 = daNpc_Moi_Param_c::m.field_0x48;
- s16 sVar6 = daNpc_Moi_Param_c::m.field_0x4a;
- s16 sVar5 = daNpc_Moi_Param_c::m.field_0x4c;
- s16 sVar4 = daNpc_Moi_Param_c::m.field_0x4e;
+ s16 talk_distance = daNpc_Moi_Param_c::m.common.talk_distance;
+ s16 talk_angle = daNpc_Moi_Param_c::m.common.talk_angle;
+ s16 attention_distance = daNpc_Moi_Param_c::m.common.attention_distance;
+ s16 attention_angle = daNpc_Moi_Param_c::m.common.attention_angle;
if (mType == TYPE_2) {
if (field_0x166d) {
- sVar7 = 1;
- sVar6 = 6;
- sVar5 = 1;
- sVar4 = 6;
+ talk_distance = 1;
+ talk_angle = 6;
+ attention_distance = 1;
+ attention_angle = 6;
uVar5 = fopAc_AttnFlag_UNK_0x800000 | fopAc_AttnFlag_SPEAK_e;
} else {
- sVar7 = 6;
- sVar6 = 6;
- sVar5 = 19;
- sVar4 = 6;
+ talk_distance = 6;
+ talk_angle = 6;
+ attention_distance = 19;
+ attention_angle = 6;
uVar5 = fopAc_AttnFlag_LOCK_e;
}
} else if (mType == TYPE_1) {
- sVar7 = 5;
- sVar5 = 7;
+ talk_distance = 5;
+ attention_distance = 7;
}
if (daPy_getPlayerActorClass()->checkHorseRide()) {
- if (sVar7 < 7) {
- sVar7 = 7;
+ if (talk_distance < 7) {
+ talk_distance = 7;
}
- if (sVar5 < 9) {
- sVar5 = 9;
+ if (attention_distance < 9) {
+ attention_distance = 9;
}
}
if (mType == TYPE_2) {
attention_info.distances[fopAc_attn_LOCK_e] = 0x35;
attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e];
- attention_info.distances[fopAc_attn_SPEAK_e] = daNpcT_getDistTableIdx(sVar7, sVar6);
+ attention_info.distances[fopAc_attn_SPEAK_e] =
+ daNpcT_getDistTableIdx(talk_distance, talk_angle);
attention_info.flags = 0;
fopAcM_OffStatus(this, 0x100);
} else {
- attention_info.distances[fopAc_attn_LOCK_e] = daNpcT_getDistTableIdx(sVar5, sVar4);
+ attention_info.distances[fopAc_attn_LOCK_e] =
+ daNpcT_getDistTableIdx(attention_distance, attention_angle);
attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e];
- attention_info.distances[fopAc_attn_SPEAK_e] = daNpcT_getDistTableIdx(sVar7, sVar6);
+ attention_info.distances[fopAc_attn_SPEAK_e] =
+ daNpcT_getDistTableIdx(talk_distance, talk_angle);
attention_info.flags = uVar5;
}
- scale.set(daNpc_Moi_Param_c::m.field_0x08, daNpc_Moi_Param_c::m.field_0x08,
- daNpc_Moi_Param_c::m.field_0x08);
- mCcStts.SetWeight(daNpc_Moi_Param_c::m.field_0x10);
- mCylH = daNpc_Moi_Param_c::m.field_0x14;
- mWallR = daNpc_Moi_Param_c::m.field_0x1c;
- mAttnFovY = daNpc_Moi_Param_c::m.field_0x50;
+ scale.set(daNpc_Moi_Param_c::m.common.scale, daNpc_Moi_Param_c::m.common.scale,
+ daNpc_Moi_Param_c::m.common.scale);
+ mCcStts.SetWeight(daNpc_Moi_Param_c::m.common.weight);
+ mCylH = daNpc_Moi_Param_c::m.common.height;
+ mWallR = daNpc_Moi_Param_c::m.common.width;
+ mAttnFovY = daNpc_Moi_Param_c::m.common.fov;
if (mType == TYPE_2) {
mAttnFovY = 135.0f;
}
mAcchCir.SetWallR(mWallR);
- mAcchCir.SetWallH(daNpc_Moi_Param_c::m.field_0x18);
- mRealShadowSize = daNpc_Moi_Param_c::m.field_0x0c;
+ mAcchCir.SetWallH(daNpc_Moi_Param_c::m.common.knee_length);
+ mRealShadowSize = daNpc_Moi_Param_c::m.common.real_shadow_size;
if (mType == TYPE_1) {
mRealShadowSize = 600.0f;
} else if (mType == TYPE_2) {
@@ -698,9 +604,9 @@ void daNpc_Moi_c::setParam() {
mRealShadowSize = 800.0f;
}
}
- gravity = daNpc_Moi_Param_c::m.field_0x04;
- mExpressionMorfFrame = daNpc_Moi_Param_c::m.field_0x6c;
- mMorfFrames = daNpc_Moi_Param_c::m.field_0x44;
+ gravity = daNpc_Moi_Param_c::m.common.gravity;
+ mExpressionMorfFrame = daNpc_Moi_Param_c::m.common.expression_morf_frame;
+ mMorfFrames = daNpc_Moi_Param_c::m.common.morf_frame;
if (mType == TYPE_3) {
mAcch.SetGrndNone();
mAcch.SetWallNone();
@@ -730,7 +636,7 @@ BOOL daNpc_Moi_c::checkChangeEvt() {
/* 80A75514-80A755C8 0016B4 00B4+00 2/0 0/0 0/0 .text setAfterTalkMotion__11daNpc_Moi_cFv
*/
void daNpc_Moi_c::setAfterTalkMotion() {
- int iVar2 = 21;
+ int iVar2 = MOT_UNK_21;
switch (mFaceMotionSeqMngr.getNo()) {
case MOT_UNK_1:
iVar2 = MOT_UNK_18;
@@ -836,8 +742,9 @@ void daNpc_Moi_c::action() {
}
if (mSph.ChkAtHit() && fopAcM_GetProfName(mSph.GetAtHitAc()) == PROC_ALINK) {
- /* dSv_event_tmp_flag_c::T_0047 - Ordon Village - Right after wrestling with Bo
- (Used to connect with conversation after wearing clothes) */
+ /* dSv_event_tmp_flag_c::T_0047 - Ordon Village - Right after wrestling with Bo
+ (Used to connect with conversation after wearing clothes)
+ */
daNpcF_onTmpBit(0x47);
}
}
@@ -868,13 +775,15 @@ void daNpc_Moi_c::setAttnPos() {
if (mType == 3) {
mJntAnm.setParam(this, mpMorf[0]->getModel(), &acStack_3c, getBackboneJointNo(),
getNeckJointNo(), getHeadJointNo(), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
- 0.0f, 0.0f, l_HIO.m.field_0x40, dVar6, NULL);
+ 0.0f, 0.0f, l_HIO.m.common.neck_rotation_ratio, dVar6, NULL);
} else {
mJntAnm.setParam(this, mpMorf[0]->getModel(), &acStack_3c, getBackboneJointNo(),
- getNeckJointNo(), getHeadJointNo(), l_HIO.m.field_0x24, l_HIO.m.field_0x20,
- l_HIO.m.field_0x2c, l_HIO.m.field_0x28, l_HIO.m.field_0x34,
- l_HIO.m.field_0x30, l_HIO.m.field_0x3c, l_HIO.m.field_0x38,
- l_HIO.m.field_0x40, dVar6, NULL);
+ getNeckJointNo(), getHeadJointNo(), l_HIO.m.common.body_angleX_min,
+ l_HIO.m.common.body_angleX_max, l_HIO.m.common.body_angleY_min,
+ l_HIO.m.common.body_angleY_max, l_HIO.m.common.head_angleX_min,
+ l_HIO.m.common.head_angleX_max, l_HIO.m.common.head_angleY_min,
+ l_HIO.m.common.head_angleY_max, l_HIO.m.common.neck_rotation_ratio, dVar6,
+ NULL);
}
mJntAnm.calcJntRad(0.2f, 1.0f, dVar6);
@@ -886,7 +795,7 @@ void daNpc_Moi_c::setAttnPos() {
mJntAnm.setEyeAngleY(eyePos, mCurAngle.y + field_0xd8a.y, 1, 1.0f, 0);
acStack_3c.set(0.0f, 0.0f, 0.0f);
- acStack_3c.y = l_HIO.m.field_0x00;
+ acStack_3c.y = l_HIO.m.common.attention_offset;
if (mType == TYPE_3) {
acStack_3c.set(0.0f, 140.0f, -60.0f);
@@ -1135,7 +1044,8 @@ BOOL daNpc_Moi_c::chkPlayerGetWoodShield() {
/* 80A766DC-80A76888 00287C 01AC+00 2/2 0/0 0/0 .text setSSlash__11daNpc_Moi_cFi */
void daNpc_Moi_c::setSSlash(int param_1) {
mMotionSeqMngr.setNo(MOT_UNK_43, 0.0f, 1, 0);
- /* dSv_event_tmp_flag_c::GUARD_URI - Ordon Village - Rusl is guarding Uli, Ordon village night */
+ /* dSv_event_tmp_flag_c::GUARD_URI - Ordon Village - Rusl is guarding Uli, Ordon village night
+ */
if (dComIfGs_isTmpBit(0x1308)) {
mSound.startCreatureVoice(JAISoundID(Z2SE_MOI_V_GUARD_SWING), -1);
} else {
@@ -1153,7 +1063,7 @@ void daNpc_Moi_c::setSSlash(int param_1) {
field_0x1658 = 0;
field_0x166b = 1;
field_0x166c = 1;
- /* dSv_event_tmp_flag_c::T_0047 - Ordon Village - Right after wrestling with Bo
+ /* dSv_event_tmp_flag_c::T_0047 - Ordon Village - Right after wrestling with Bo
(Used to connect with conversation after wearing clothes) */
daNpcT_onTmpBit(0x47);
}
@@ -1312,7 +1222,8 @@ int daNpc_Moi_c::injuryTurn(cXyz param_1) {
/* 80A76F3C-80A770FC 0030DC 01C0+00 1/1 0/0 0/0 .text injuryWalk__11daNpc_Moi_cFv */
int daNpc_Moi_c::injuryWalk() {
- /* dSv_event_tmp_flag_c::GUARD_URI - Ordon Village - Rusl is guarding Uli, Ordon village night */
+ /* dSv_event_tmp_flag_c::GUARD_URI - Ordon Village - Rusl is guarding Uli, Ordon village night
+ */
dComIfGs_offTmpBit(0x1308);
cXyz cStack_40;
@@ -1398,7 +1309,8 @@ int daNpc_Moi_c::poise() {
field_0x1648 = cLib_getRndValue(iVar13 * 0.5f, iVar13 * 1.5f);
} else if (!cLib_calcTimer(&field_0x1648)) {
mMotionSeqMngr.setNo(MOT_UNK_43, 0.0f, 1, 0);
- /* dSv_event_tmp_flag_c::GUARD_URI - Ordon Village - Rusl is guarding Uli, Ordon village night */
+ /* dSv_event_tmp_flag_c::GUARD_URI - Ordon Village - Rusl is guarding
+ * Uli, Ordon village night */
if (dComIfGs_isTmpBit(0x1308)) {
mSound.startCreatureVoice(JAISoundID(Z2SE_MOI_V_GUARD_SWING), -1);
} else {
@@ -1926,7 +1838,9 @@ int daNpc_Moi_c::walkOnEggshell(void* param_1) {
if (field_0x1658) {
field_0x1658 = injuryCheck();
if (field_0x1658) {
- if (daPy_getPlayerActorClass()->eventInfo.chkCondition(dEvtCnd_CANTALK_e) != 0) {
+ if (daPy_getPlayerActorClass()->eventInfo.chkCondition(dEvtCnd_CANTALK_e) !=
+ 0)
+ {
f32 fVar = daPy_getPlayerActorClass()->attention_info.position.absXZ(
attention_info.position);
}