summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTakaRikka <38417346+TakaRikka@users.noreply.github.com>2025-09-12 05:03:17 -0700
committerGitHub <noreply@github.com>2025-09-12 15:03:17 +0300
commit8a3a6d29971e37c01025303af9931feea651af9c (patch)
tree49e000bfc0c93da3163155a88e5e57e67e2689d5 /src
parent8420c94854481e17d5a51c0369488944260f2512 (diff)
npc_tkj done (#2647)
Diffstat (limited to 'src')
-rw-r--r--src/d/actor/d_a_npc_tkj.cpp1606
1 files changed, 552 insertions, 1054 deletions
diff --git a/src/d/actor/d_a_npc_tkj.cpp b/src/d/actor/d_a_npc_tkj.cpp
index 090160b1a2..c4c5f791cf 100644
--- a/src/d/actor/d_a_npc_tkj.cpp
+++ b/src/d/actor/d_a_npc_tkj.cpp
@@ -6,1231 +6,729 @@
#include "d/dolzel_rel.h"
#include "d/actor/d_a_npc_tkj.h"
-#include "dol2asm.h"
-
-//
-// Forward References:
-//
-
-extern "C" void __dt__10daNpcTkj_cFv();
-extern "C" void create__10daNpcTkj_cFv();
-extern "C" void CreateHeap__10daNpcTkj_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__10daNpcTkj_cFv();
-extern "C" void Execute__10daNpcTkj_cFv();
-extern "C" void Draw__10daNpcTkj_cFv();
-extern "C" void createHeapCallBack__10daNpcTkj_cFP10fopAc_ac_c();
-extern "C" void ctrlJointCallBack__10daNpcTkj_cFP8J3DJointi();
-extern "C" void getType__10daNpcTkj_cFv();
-extern "C" void getFlowNodeNo__10daNpcTkj_cFv();
-extern "C" void isDelete__10daNpcTkj_cFv();
-extern "C" void reset__10daNpcTkj_cFv();
-extern "C" void setAfterTalkMotion__10daNpcTkj_cFv();
-extern "C" void srchActors__10daNpcTkj_cFv();
-extern "C" void evtTalk__10daNpcTkj_cFv();
-extern "C" void evtCutProc__10daNpcTkj_cFv();
-extern "C" void action__10daNpcTkj_cFv();
-extern "C" void setAttnPos__10daNpcTkj_cFv();
-extern "C" void setCollision__10daNpcTkj_cFv();
-extern "C" bool drawDbgInfo__10daNpcTkj_cFv();
-extern "C" void selectAction__10daNpcTkj_cFv();
-extern "C" void chkAction__10daNpcTkj_cFM10daNpcTkj_cFPCvPvPv_i();
-extern "C" void setAction__10daNpcTkj_cFM10daNpcTkj_cFPCvPvPv_i();
-extern "C" void wait__10daNpcTkj_cFPv();
-extern "C" void talk__10daNpcTkj_cFPv();
-extern "C" void cutLv7Start__10daNpcTkj_cFi();
-extern "C" static void daNpc_Tkj_Create__FPv();
-extern "C" static void daNpc_Tkj_Delete__FPv();
-extern "C" static void daNpc_Tkj_Execute__FPv();
-extern "C" static void daNpc_Tkj_Draw__FPv();
-extern "C" static bool daNpc_Tkj_IsDelete__FPv();
-extern "C" void calc__11J3DTexNoAnmCFPUs();
-extern "C" void __dt__10cCcD_GSttsFv();
-extern "C" void setParam__10daNpcTkj_cFv();
-extern "C" void beforeMove__10daNpcTkj_cFv();
-extern "C" void __dt__8daNpcT_cFv();
-extern "C" void __dt__4cXyzFv();
-extern "C" void __dt__5csXyzFv();
-extern "C" void
-__ct__8daNpcT_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc();
-extern "C" void __ct__5csXyzFv();
-extern "C" void __dt__15daNpcT_JntAnm_cFv();
-extern "C" void __ct__4cXyzFv();
-extern "C" void __dt__18daNpcT_ActorMngr_cFv();
-extern "C" void __dt__22daNpcT_MotionSeqMngr_cFv();
-extern "C" void __dt__12dBgS_AcchCirFv();
-extern "C" void __dt__10dCcD_GSttsFv();
-extern "C" void __dt__12dBgS_ObjAcchFv();
-extern "C" void __dt__12J3DFrameCtrlFv();
-extern "C" void setEyeAngleY__15daNpcT_JntAnm_cF4cXyzsifs();
-extern "C" void setEyeAngleX__15daNpcT_JntAnm_cF4cXyzfs();
-extern "C" void ctrlSubFaceMotion__8daNpcT_cFi();
-extern "C" s32 getFootLJointNo__8daNpcT_cFv();
-extern "C" s32 getFootRJointNo__8daNpcT_cFv();
-extern "C" bool getEyeballLMaterialNo__8daNpcT_cFv();
-extern "C" bool getEyeballRMaterialNo__8daNpcT_cFv();
-extern "C" void afterJntAnm__8daNpcT_cFi();
-extern "C" bool checkChangeEvt__8daNpcT_cFv();
-extern "C" bool evtEndProc__8daNpcT_cFv();
-extern "C" void afterMoved__8daNpcT_cFv();
-extern "C" bool chkXYItems__8daNpcT_cFv();
-extern "C" void decTmr__8daNpcT_cFv();
-extern "C" void drawOtherMdl__8daNpcT_cFv();
-extern "C" void drawGhost__8daNpcT_cFv();
-extern "C" bool afterSetFaceMotionAnm__8daNpcT_cFiifi();
-extern "C" bool afterSetMotionAnm__8daNpcT_cFiifi();
-extern "C" void getFaceMotionAnm__8daNpcT_cF26daNpcT_faceMotionAnmData_c();
-extern "C" void getMotionAnm__8daNpcT_cF22daNpcT_motionAnmData_c();
-extern "C" void changeAnm__8daNpcT_cFPiPi();
-extern "C" void changeBck__8daNpcT_cFPiPi();
-extern "C" void changeBtp__8daNpcT_cFPiPi();
-extern "C" void changeBtk__8daNpcT_cFPiPi();
-extern "C" void __sinit_d_a_npc_tkj_cpp();
-extern "C" void
-__ct__10daNpcTkj_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc();
-extern "C" void __dt__8cM3dGCylFv();
-extern "C" void __dt__8cM3dGAabFv();
-extern "C" u16 getEyeballMaterialNo__10daNpcTkj_cFv();
-extern "C" s32 getHeadJointNo__10daNpcTkj_cFv();
-extern "C" s32 getNeckJointNo__10daNpcTkj_cFv();
-extern "C" s32 getBackboneJointNo__10daNpcTkj_cFv();
-extern "C" void checkChangeJoint__10daNpcTkj_cFi();
-extern "C" void checkRemoveJoint__10daNpcTkj_cFi();
-extern "C" void __dt__17daNpc_Tkj_Param_cFv();
-extern "C" static void func_80576574();
-extern "C" static void func_8057657C();
-extern "C" u8 const m__17daNpc_Tkj_Param_c[140];
-extern "C" extern char const* const d_a_npc_tkj__stringBase0;
-extern "C" void* mCutNameList__10daNpcTkj_c[2];
-extern "C" u8 mCutList__10daNpcTkj_c[24];
-
-//
-// External References:
-//
-
-extern "C" void
-__ct__16mDoExt_McaMorfSOFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiP10Z2CreatureUlUl();
-extern "C" void stopZelAnime__16mDoExt_McaMorfSOFv();
-extern "C" void __ct__10fopAc_ac_cFv();
-extern "C" void __dt__10fopAc_ac_cFv();
-extern "C" void fopAcM_delete__FP10fopAc_ac_c();
-extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl();
-extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff();
-extern "C" void fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c();
-extern "C" void fopAcM_createItemForPresentDemo__FPC4cXyziUciiPC5csXyzPC4cXyz();
-extern "C" void fpcEx_IsExist__FUi();
-extern "C" void dComIfGs_wolfeye_effect_check__Fv();
-extern "C" void onDungeonItem__12dSv_memBit_cFi();
-extern "C" void isDungeonItem__12dSv_memBit_cCFi();
-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 getMyNowCutName__16dEvent_manager_cFi();
-extern "C" void cutEnd__16dEvent_manager_cFi();
-extern "C" void getRunEventName__16dEvent_manager_cFv();
-extern "C" void ChkPresentEnd__16dEvent_manager_cFv();
-extern "C" void __ct__12dBgS_AcchCirFv();
-extern "C" void SetWallR__12dBgS_AcchCirFf();
-extern "C" void __dt__9dBgS_AcchFv();
-extern "C" void __ct__9dBgS_AcchFv();
-extern "C" void Set__9dBgS_AcchFP4cXyzP4cXyzP10fopAc_ac_ciP12dBgS_AcchCirP4cXyzP5csXyzP5csXyz();
-extern "C" void CrrPos__9dBgS_AcchFR4dBgS();
-extern "C" void __ct__11dBgS_GndChkFv();
-extern "C" void __dt__11dBgS_GndChkFv();
-extern "C" void __ct__11dBgS_LinChkFv();
-extern "C" void __dt__11dBgS_LinChkFv();
-extern "C" void SetObj__16dBgS_PolyPassChkFv();
-extern "C" void __ct__10dCcD_GSttsFv();
-extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c();
-extern "C" void __ct__12dCcD_GObjInfFv();
-extern "C" void __dt__12dCcD_GObjInfFv();
-extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl();
-extern "C" void initialize__18daNpcT_ActorMngr_cFv();
-extern "C" void entry__18daNpcT_ActorMngr_cFP10fopAc_ac_c();
-extern "C" void remove__18daNpcT_ActorMngr_cFv();
-extern "C" void initialize__15daNpcT_MatAnm_cFv();
-extern "C" void initialize__22daNpcT_MotionSeqMngr_cFv();
-extern "C" void initialize__15daNpcT_JntAnm_cFv();
-extern "C" void setParam__15daNpcT_JntAnm_cFP10fopAc_ac_cP8J3DModelP4cXyziiiffffffffffP4cXyz();
-extern "C" void calcJntRad__15daNpcT_JntAnm_cFfff();
-extern "C" void tgHitCallBack__8daNpcT_cFP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf();
-extern "C" void loadRes__8daNpcT_cFPCScPPCc();
-extern "C" void deleteRes__8daNpcT_cFPCScPPCc();
-extern "C" void execute__8daNpcT_cFv();
-extern "C" void draw__8daNpcT_cFiifP11_GXColorS10fiii();
-extern "C" void setEnvTevColor__8daNpcT_cFv();
-extern "C" void setRoomNo__8daNpcT_cFv();
-extern "C" void 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_cFs();
-extern "C" void srchPlayerActor__8daNpcT_cFv();
-extern "C" void step__8daNpcT_cFsiiii();
-extern "C" void initTalk__8daNpcT_cFiPP10fopAc_ac_c();
-extern "C" void talkProc__8daNpcT_cFPiiPP10fopAc_ac_ci();
-extern "C" void daNpcT_getDistTableIdx__Fii();
-extern "C" void daNpcF_chkEvtBit__FUl();
-extern "C" void __ct__10dMsgFlow_cFv();
-extern "C" void __dt__10dMsgFlow_cFv();
-extern "C" void getEventId__10dMsgFlow_cFPi();
-extern "C" void Set__4cCcSFP8cCcD_Obj();
-extern "C" void __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_targetAngleY__FPC3VecPC3Vec();
-extern "C" void __ct__10Z2CreatureFv();
-extern "C" void __dt__10Z2CreatureFv();
-extern "C" void init__10Z2CreatureFP3VecP3VecUcUc();
-extern "C" void* __nw__FUl();
-extern "C" void __dl__FPv();
-extern "C" void init__12J3DFrameCtrlFs();
-extern "C" void getTexNo__16J3DAnmTexPatternCFUsPUs();
-extern "C" void initialize__14J3DMaterialAnmFv();
-extern "C" void __destroy_arr();
-extern "C" void __construct_array();
-extern "C" void __ptmf_test();
-extern "C" void __ptmf_cmpr();
-extern "C" void __ptmf_scall();
-extern "C" void _savegpr_22();
-extern "C" void _savegpr_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_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 __register_global_object();
-
-//
-// Declarations:
-//
-
-/* ############################################################################################## */
-/* 8057668C-8057668C 0000F4 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8057668C = "";
-SECTION_DEAD static char const* const stringBase_8057668D = "DEFAULT_GETITEM";
-SECTION_DEAD static char const* const stringBase_8057669D = "Tkj";
-SECTION_DEAD static char const* const stringBase_805766A1 = "LV7_FIRST_START";
-#pragma pop
/* 805766D4-805766DC 000020 0008+00 1/1 0/0 0/0 .data l_bmdData */
-SECTION_DATA static u8 l_bmdData[8] = {
- 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x01,
+static int l_bmdData[1][2] = {
+ {12, 1},
};
/* 805766DC-805766EC -00001 0010+00 0/1 0/0 0/0 .data l_evtList */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* l_evtList[4] = {
- (void*)&d_a_npc_tkj__stringBase0,
- (void*)NULL,
- (void*)(((char*)&d_a_npc_tkj__stringBase0) + 0x1),
- (void*)NULL,
+static daNpcT_evtData_c l_evtList[2] = {
+ {"", 0},
+ {"DEFAULT_GETITEM", 0},
};
-#pragma pop
/* 805766EC-805766F4 -00001 0008+00 2/3 0/0 0/0 .data l_resNameList */
-SECTION_DATA static void* l_resNameList[2] = {
- (void*)&d_a_npc_tkj__stringBase0,
- (void*)(((char*)&d_a_npc_tkj__stringBase0) + 0x11),
+static char* l_resNameList[2] = {
+ "",
+ "Tkj",
};
/* 805766F4-805766F8 000040 0002+02 1/0 0/0 0/0 .data l_loadResPtrn0 */
-SECTION_DATA static u16 l_loadResPtrn0[1 + 1 /* padding */] = {
- 0x01FF,
- /* padding */
- 0x0000,
+static s8 l_loadResPtrn0[] = {
+ 1, -1,
};
/* 805766F8-80576700 -00001 0008+00 1/2 0/0 0/0 .data l_loadResPtrnList */
-SECTION_DATA static void* l_loadResPtrnList[2] = {
- (void*)&l_loadResPtrn0,
- (void*)&l_loadResPtrn0,
+static s8* l_loadResPtrnList[2] = {
+ l_loadResPtrn0,
+ l_loadResPtrn0,
};
/* 80576700-80576738 00004C 0038+00 0/1 0/0 0/0 .data l_faceMotionAnmData */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u8 l_faceMotionAnmData[56] = {
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x12, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
- 0x00, 0x12, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+static daNpcT_faceMotionAnmData_c l_faceMotionAnmData[2] = {
+ {-1, 0, 0, 18, 2, 1, 1},
+ {6, 0, 1, 18, 2, 1, 1},
};
-#pragma pop
/* 80576738-80576770 000084 0038+00 0/1 0/0 0/0 .data l_motionAnmData */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u8 l_motionAnmData[56] = {
- 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
- 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
- 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+static daNpcT_motionAnmData_c l_motionAnmData[2] = {
+ {9, 2, 1, 15, 0, 1, 0, 0},
+ {8, 2, 1, 15, 0, 1, 0, 0},
};
-#pragma pop
/* 80576770-80576790 0000BC 0020+00 0/1 0/0 0/0 .data l_faceMotionSequenceData */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u8 l_faceMotionSequenceData[32] = {
- 0x00, 0x01, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
+static daNpcT_MotionSeqMngr_c::sequenceStepData_c l_faceMotionSequenceData[8] = {
+ {1, -1, 0},
+ {-1, 0, 0},
+ {-1, 0, 0},
+ {-1, 0, 0},
+ {0, -1, 0},
+ {-1, 0, 0},
+ {-1, 0, 0},
+ {-1, 0, 0},
};
-#pragma pop
/* 80576790-805767B0 0000DC 0020+00 0/1 0/0 0/0 .data l_motionSequenceData */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u8 l_motionSequenceData[32] = {
- 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x01, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
+static daNpcT_MotionSeqMngr_c::sequenceStepData_c l_motionSequenceData[8] = {
+ {0, -1, 0},
+ {-1, 0, 0},
+ {-1, 0, 0},
+ {-1, 0, 0},
+ {1, -1, 0},
+ {-1, 0, 0},
+ {-1, 0, 0},
+ {-1, 0, 0},
};
-#pragma pop
/* 805767B0-805767B8 -00001 0008+00 1/1 0/0 0/0 .data mCutNameList__10daNpcTkj_c */
-SECTION_DATA void* daNpcTkj_c::mCutNameList[2] = {
- (void*)&d_a_npc_tkj__stringBase0,
- (void*)(((char*)&d_a_npc_tkj__stringBase0) + 0x15),
-};
-
-/* 805767B8-805767C4 -00001 000C+00 1/1 0/0 0/0 .data @3917 */
-SECTION_DATA static void* lit_3917[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)cutLv7Start__10daNpcTkj_cFi,
+char* daNpcTkj_c::mCutNameList[2] = {
+ "",
+ "LV7_FIRST_START",
};
/* 805767C4-805767DC 000110 0018+00 2/2 0/0 0/0 .data mCutList__10daNpcTkj_c */
-SECTION_DATA u8 daNpcTkj_c::mCutList[24] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-
-/* 805767DC-805767E8 -00001 000C+00 1/1 0/0 0/0 .data @4553 */
-SECTION_DATA static void* lit_4553[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)talk__10daNpcTkj_cFPv,
+int (daNpcTkj_c::*daNpcTkj_c::mCutList[])(int) = {
+ NULL,
+ &daNpcTkj_c::cutLv7Start,
};
-/* 805767E8-805767F4 -00001 000C+00 1/1 0/0 0/0 .data @4561 */
-SECTION_DATA static void* lit_4561[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)talk__10daNpcTkj_cFPv,
-};
-
-/* 805767F4-80576800 -00001 000C+00 1/1 0/0 0/0 .data @4771 */
-SECTION_DATA static void* lit_4771[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)wait__10daNpcTkj_cFPv,
-};
+/* 8057372C-80573850 0000EC 0124+00 1/0 0/0 0/0 .text __dt__10daNpcTkj_cFv */
+daNpcTkj_c::~daNpcTkj_c() {
+ OS_REPORT("|%06d:%x|daNpcTkj_c -> デストラクト\n", g_Counter.mCounter0, this);
-/* 80576800-80576820 -00001 0020+00 1/0 0/0 0/0 .data daNpc_Tkj_MethodTable */
-static actor_method_class daNpc_Tkj_MethodTable = {
- (process_method_func)daNpc_Tkj_Create__FPv,
- (process_method_func)daNpc_Tkj_Delete__FPv,
- (process_method_func)daNpc_Tkj_Execute__FPv,
- (process_method_func)daNpc_Tkj_IsDelete__FPv,
- (process_method_func)daNpc_Tkj_Draw__FPv,
-};
+ if (heap != NULL) {
+ mpMorf[0]->stopZelAnime();
+ }
-/* 80576820-80576850 -00001 0030+00 0/0 0/0 1/0 .data g_profile_NPC_TKJ */
-extern actor_process_profile_definition g_profile_NPC_TKJ = {
- fpcLy_CURRENT_e, // mLayerID
- 7, // mListID
- fpcPi_CURRENT_e, // mListPrio
- PROC_NPC_TKJ, // mProcName
- &g_fpcLf_Method.base, // sub_method
- sizeof(daNpcTkj_c), // mSize
- 0, // mSizeOther
- 0, // mParameters
- &g_fopAc_Method.base, // sub_method
- 373, // mPriority
- &daNpc_Tkj_MethodTable, // sub_method
- 0x08044107, // mStatus
- fopAc_NPC_e, // mActorType
- fopAc_CULLBOX_CUSTOM_e, // cullType
-};
+ deleteRes(l_loadResPtrnList[mType], (const char**)l_resNameList);
+}
-/* 80576850-8057685C 00019C 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,
+/* 80576598-80576624 000000 008C+00 9/9 0/0 0/0 .rodata m__17daNpc_Tkj_Param_c */
+const daNpc_Tkj_HIOParam daNpc_Tkj_Param_c::m = {
+ 120.0f,
+ -3.0f,
+ 1.0f,
+ 400.0f,
+ 255.0f,
+ 100.0f,
+ 35.0f,
+ 20.0f,
+ 0.0f,
+ 0.0f,
+ 30.0f,
+ -30.0f,
+ 30.0f,
+ -10.0f,
+ 45.0f,
+ -45.0f,
+ 0.6f,
+ 12.0f,
+ 5,
+ 6,
+ 7,
+ 6,
+ 0.0f,
+ 0.0f,
+ 0.0f,
+ 0.0f,
+ 60,
+ 8,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 4.0f,
+ -20.0f,
+ 0.0f,
+ -20.0f,
+ 20.0f,
+ 40.0f,
+ 20.0f,
+ 110.0f,
};
-/* 8057685C-80576868 0001A8 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,
-};
+/* 80573850-80573B18 000210 02C8+00 1/1 0/0 0/0 .text create__10daNpcTkj_cFv */
+int daNpcTkj_c::create() {
+ fopAcM_SetupActor2(this, daNpcTkj_c, l_faceMotionAnmData, l_motionAnmData,
+ l_faceMotionSequenceData, 4, l_motionSequenceData, 4,
+ l_evtList, l_resNameList);
-/* 80576868-8057688C 0001B4 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_8057657C,
- (void*)NULL,
- (void*)NULL,
- (void*)func_80576574,
-};
+ mType = getType();
+ mFlowNodeNo = getFlowNodeNo();
+ mTwilight = FALSE;
-/* 8057688C-80576898 0001D8 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,
-};
+ if (mType == 1 && !daNpcF_chkEvtBit(0x10C) && dComIfGs_isDungeonItemWarp()) {
+ return 5;
+ }
-/* 80576898-805768A4 0001E4 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,
-};
+ int phase_state = loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList);
+ if (phase_state == 4) {
+ if (!fopAcM_entrySolidHeap(this, createHeapCallBack, 0x2FE0)) {
+ return 5;
+ }
-/* 805768A4-805768B0 0001F0 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,
-};
+ OS_REPORT("\t(%s:%d) flowNo:%d, PathNo:%02x<%08x> ", fopAcM_getProcNameString(this), mType, mFlowNodeNo, getPath(), fopAcM_GetParam(this));
-/* 805768B0-805768BC 0001FC 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,
-};
+ if (isDelete()) {
+ OS_REPORT("===>isDelete:TRUE\n");
+ return 5;
+ }
-/* 805768BC-805768C8 000208 000C+00 4/4 0/0 0/0 .data __vt__18daNpcT_ActorMngr_c */
-SECTION_DATA extern void* __vt__18daNpcT_ActorMngr_c[3] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__18daNpcT_ActorMngr_cFv,
-};
+ OS_REPORT("\n");
-/* 805768C8-805768D4 000214 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,
-};
+ J3DModelData* modelData = mpMorf[0]->getModel()->getModelData();
+ fopAcM_SetMtx(this, mpMorf[0]->getModel()->getBaseTRMtx());
+ fopAcM_setCullSizeBox(this, -300.0f, -50.0f, -300.0f, 300.0f, 450.0f, 300.0f);
+
+ mSound.init(&current.pos, &eyePos, 3, 1);
-/* 805768D4-805768E0 000220 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,
-};
+ 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));
+ mAcch.CrrPos(dComIfG_Bgsp());
+ mGndChk = mAcch.m_gnd;
+ mGroundH = mAcch.GetGroundH();
-/* 805768E0-805768EC 00022C 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,
-};
+ setEnvTevColor();
+ setRoomNo();
-/* 805768EC-805769B0 000238 00C4+00 2/2 0/0 0/0 .data __vt__10daNpcTkj_c */
-SECTION_DATA extern void* __vt__10daNpcTkj_c[49] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__10daNpcTkj_cFv,
- (void*)ctrlBtk__8daNpcT_cFv,
- (void*)ctrlSubFaceMotion__8daNpcT_cFi,
- (void*)checkChangeJoint__10daNpcTkj_cFi,
- (void*)checkRemoveJoint__10daNpcTkj_cFi,
- (void*)getBackboneJointNo__10daNpcTkj_cFv,
- (void*)getNeckJointNo__10daNpcTkj_cFv,
- (void*)getHeadJointNo__10daNpcTkj_cFv,
- (void*)getFootLJointNo__8daNpcT_cFv,
- (void*)getFootRJointNo__8daNpcT_cFv,
- (void*)getEyeballLMaterialNo__8daNpcT_cFv,
- (void*)getEyeballRMaterialNo__8daNpcT_cFv,
- (void*)getEyeballMaterialNo__10daNpcTkj_cFv,
- (void*)ctrlJoint__8daNpcT_cFP8J3DJointP8J3DModel,
- (void*)afterJntAnm__8daNpcT_cFi,
- (void*)setParam__10daNpcTkj_cFv,
- (void*)checkChangeEvt__8daNpcT_cFv,
- (void*)evtTalk__10daNpcTkj_cFv,
- (void*)evtEndProc__8daNpcT_cFv,
- (void*)evtCutProc__10daNpcTkj_cFv,
- (void*)setAfterTalkMotion__10daNpcTkj_cFv,
- (void*)evtProc__8daNpcT_cFv,
- (void*)action__10daNpcTkj_cFv,
- (void*)beforeMove__10daNpcTkj_cFv,
- (void*)afterMoved__8daNpcT_cFv,
- (void*)setAttnPos__10daNpcTkj_cFv,
- (void*)setFootPos__8daNpcT_cFv,
- (void*)setCollision__10daNpcTkj_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__10daNpcTkj_cFv,
- (void*)drawOtherMdl__8daNpcT_cFv,
- (void*)drawGhost__8daNpcT_cFv,
- (void*)afterSetFaceMotionAnm__8daNpcT_cFiifi,
- (void*)afterSetMotionAnm__8daNpcT_cFiifi,
- (void*)getFaceMotionAnm__8daNpcT_cF26daNpcT_faceMotionAnmData_c,
- (void*)getMotionAnm__8daNpcT_cF22daNpcT_motionAnmData_c,
- (void*)changeAnm__8daNpcT_cFPiPi,
- (void*)changeBck__8daNpcT_cFPiPi,
- (void*)changeBtp__8daNpcT_cFPiPi,
- (void*)changeBtk__8daNpcT_cFPiPi,
- (void*)setMotionAnm__8daNpcT_cFifi,
-};
+ mCcStts.Init(daNpc_Tkj_Param_c::m.common.weight, 0, this);
+ mCcCyl.Set(mCcDCyl);
+ mCcCyl.SetStts(&mCcStts);
+ mCcCyl.SetTgHitCallback(tgHitCallBack);
-/* 8057372C-80573850 0000EC 0124+00 1/0 0/0 0/0 .text __dt__10daNpcTkj_cFv */
-daNpcTkj_c::~daNpcTkj_c() {
- // NONMATCHING
-}
-
-/* ############################################################################################## */
-/* 80576598-80576624 000000 008C+00 9/9 0/0 0/0 .rodata m__17daNpc_Tkj_Param_c */
-SECTION_RODATA u8 const daNpc_Tkj_Param_c::m[140] = {
- 0x42, 0xF0, 0x00, 0x00, 0xC0, 0x40, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00,
- 0x43, 0x7F, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, 0x41, 0xA0, 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, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x06,
- 0x00, 0x00, 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, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0xA0, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00,
- 0x42, 0x20, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00, 0x42, 0xDC, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80576598, &daNpc_Tkj_Param_c::m);
-
-/* 80576624-80576628 00008C 0004+00 0/1 0/0 0/0 .rodata @4129 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4129 = -300.0f;
-COMPILER_STRIP_GATE(0x80576624, &lit_4129);
-#pragma pop
-
-/* 80576628-8057662C 000090 0004+00 0/1 0/0 0/0 .rodata @4130 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4130 = -50.0f;
-COMPILER_STRIP_GATE(0x80576628, &lit_4130);
-#pragma pop
-
-/* 8057662C-80576630 000094 0004+00 0/1 0/0 0/0 .rodata @4131 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4131 = 300.0f;
-COMPILER_STRIP_GATE(0x8057662C, &lit_4131);
-#pragma pop
-
-/* 80576630-80576634 000098 0004+00 0/1 0/0 0/0 .rodata @4132 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4132 = 450.0f;
-COMPILER_STRIP_GATE(0x80576630, &lit_4132);
-#pragma pop
+ reset();
+ mCreating = TRUE;
+ Execute();
+ mCreating = FALSE;
+ }
-/* 80573850-80573B18 000210 02C8+00 1/1 0/0 0/0 .text create__10daNpcTkj_cFv */
-void daNpcTkj_c::create() {
- // NONMATCHING
+ return phase_state;
}
-/* ############################################################################################## */
-/* 80576634-80576638 00009C 0004+00 3/8 0/0 0/0 .rodata @4286 */
-SECTION_RODATA static u8 const lit_4286[4] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
-};
-COMPILER_STRIP_GATE(0x80576634, &lit_4286);
-
-/* 80576638-8057663C 0000A0 0004+00 0/2 0/0 0/0 .rodata @4287 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4287 = 65536.0f;
-COMPILER_STRIP_GATE(0x80576638, &lit_4287);
-#pragma pop
-
-/* 8057663C-80576640 0000A4 0004+00 0/3 0/0 0/0 .rodata @4288 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4288 = 1.0f / 5.0f;
-COMPILER_STRIP_GATE(0x8057663C, &lit_4288);
-#pragma pop
-
-/* 80576640-80576644 0000A8 0004+00 2/4 0/0 0/0 .rodata @4437 */
-SECTION_RODATA static f32 const lit_4437 = 1.0f;
-COMPILER_STRIP_GATE(0x80576640, &lit_4437);
-
/* 80573B18-80573DAC 0004D8 0294+00 1/1 0/0 0/0 .text CreateHeap__10daNpcTkj_cFv */
-void daNpcTkj_c::CreateHeap() {
- // NONMATCHING
-}
+int daNpcTkj_c::CreateHeap() {
+ enum { IDX0 };
+ int temp_r23 = mTwilight == TRUE ? IDX0 : IDX0; // needs enum to match
+ const char* arcname = l_resNameList[l_bmdData[temp_r23][1]];
+ int bmd_index = l_bmdData[temp_r23][0];
-/* 80573DAC-80573DE8 00076C 003C+00 1/1 0/0 0/0 .text __dt__15J3DTevKColorAnmFv */
-// J3DTevKColorAnm::~J3DTevKColorAnm() {
-extern "C" void __dt__15J3DTevKColorAnmFv() {
- // NONMATCHING
-}
+ J3DModelData* mdlData_p = (J3DModelData*)dComIfG_getObjectRes(arcname, bmd_index);
+ JUT_ASSERT(446, 0 != mdlData_p);
-/* 80573DE8-80573E00 0007A8 0018+00 1/1 0/0 0/0 .text __ct__15J3DTevKColorAnmFv */
-// J3DTevKColorAnm::J3DTevKColorAnm() {
-extern "C" void __ct__15J3DTevKColorAnmFv() {
- // NONMATCHING
-}
+ u32 diff_flags = J3D_DIFF_FLAG(FALSE, FALSE, TRUE, 8, 2, FALSE, 2, 0, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE);
+ mpMorf[0] = new mDoExt_McaMorfSO(mdlData_p, NULL, NULL, NULL, -1, 1.0f, 0, -1, &mSound, J3DMdlFlag_DifferedDLBuffer, diff_flags);
+ if (mpMorf[0] != NULL && mpMorf[0]->getModel() == NULL) {
+ mpMorf[0]->stopZelAnime();
+ mpMorf[0] = NULL;
+ }
-/* 80573E00-80573E3C 0007C0 003C+00 1/1 0/0 0/0 .text __dt__14J3DTevColorAnmFv */
-// J3DTevColorAnm::~J3DTevColorAnm() {
-extern "C" void __dt__14J3DTevColorAnmFv() {
- // NONMATCHING
-}
-
-/* 80573E3C-80573E54 0007FC 0018+00 1/1 0/0 0/0 .text __ct__14J3DTevColorAnmFv */
-// J3DTevColorAnm::J3DTevColorAnm() {
-extern "C" void __ct__14J3DTevColorAnmFv() {
- // NONMATCHING
-}
+ if (mpMorf[0] == NULL) {
+ return 0;
+ }
-/* 80573E54-80573E9C 000814 0048+00 1/1 0/0 0/0 .text __dt__11J3DTexNoAnmFv */
-// J3DTexNoAnm::~J3DTexNoAnm() {
-extern "C" void __dt__11J3DTexNoAnmFv() {
- // NONMATCHING
-}
+ J3DModel* mdl_p = mpMorf[0]->getModel();
+ for (u16 i = 0; i < mdlData_p->getJointNum(); i++) {
+ mdlData_p->getJointNodePointer(i)->setCallBack(ctrlJointCallBack);
+ }
-/* 80573E9C-80573EC0 00085C 0024+00 1/1 0/0 0/0 .text __ct__11J3DTexNoAnmFv */
-// J3DTexNoAnm::J3DTexNoAnm() {
-extern "C" void __ct__11J3DTexNoAnmFv() {
- // NONMATCHING
-}
-
-/* 80573EC0-80573EFC 000880 003C+00 1/1 0/0 0/0 .text __dt__12J3DTexMtxAnmFv */
-// J3DTexMtxAnm::~J3DTexMtxAnm() {
-extern "C" void __dt__12J3DTexMtxAnmFv() {
- // NONMATCHING
-}
+ mdl_p->setUserArea((uintptr_t)this);
-/* 80573EFC-80573F14 0008BC 0018+00 1/1 0/0 0/0 .text __ct__12J3DTexMtxAnmFv */
-// J3DTexMtxAnm::J3DTexMtxAnm() {
-extern "C" void __ct__12J3DTexMtxAnmFv() {
- // NONMATCHING
-}
+ mpMatAnm[0] = new daNpcT_MatAnm_c();
+ if (mpMatAnm[0] == NULL) {
+ return 0;
+ }
-/* 80573F14-80573F50 0008D4 003C+00 1/1 0/0 0/0 .text __dt__14J3DMatColorAnmFv */
-// J3DMatColorAnm::~J3DMatColorAnm() {
-extern "C" void __dt__14J3DMatColorAnmFv() {
- // NONMATCHING
-}
+ if (setFaceMotionAnm(1, 0) && setMotionAnm(0, 0.0f, 0)) {
+ return 1;
+ }
-/* 80573F50-80573F68 000910 0018+00 1/1 0/0 0/0 .text __ct__14J3DMatColorAnmFv */
-// J3DMatColorAnm::J3DMatColorAnm() {
-extern "C" void __ct__14J3DMatColorAnmFv() {
- // NONMATCHING
+ return 0;
}
/* 80573F68-80573F9C 000928 0034+00 1/1 0/0 0/0 .text Delete__10daNpcTkj_cFv */
-void daNpcTkj_c::Delete() {
- // NONMATCHING
+int daNpcTkj_c::Delete() {
+ OS_REPORT("|%06d:%x|daNpcTkj_c -> Delete\n", g_Counter.mCounter0, this);
+ fpc_ProcID id = fopAcM_GetID(this);
+ this->~daNpcTkj_c();
+ return 1;
}
/* 80573F9C-80573FBC 00095C 0020+00 2/2 0/0 0/0 .text Execute__10daNpcTkj_cFv */
-void daNpcTkj_c::Execute() {
- // NONMATCHING
+int daNpcTkj_c::Execute() {
+ return execute();
}
-/* ############################################################################################## */
-/* 80576644-80576648 0000AC 0004+00 1/1 0/0 0/0 .rodata @4487 */
-SECTION_RODATA static f32 const lit_4487 = 100.0f;
-COMPILER_STRIP_GATE(0x80576644, &lit_4487);
-
/* 80573FBC-80574058 00097C 009C+00 1/1 0/0 0/0 .text Draw__10daNpcTkj_cFv */
-void daNpcTkj_c::Draw() {
- // NONMATCHING
+int daNpcTkj_c::Draw() {
+ if (mpMatAnm[0] != NULL) {
+ J3DModelData* mdlData_p = mpMorf[0]->getModel()->getModelData();
+ mdlData_p->getMaterialNodePointer(getEyeballMaterialNo())->setMaterialAnm(mpMatAnm[0]);
+ }
+
+ draw(FALSE, 0, daNpc_Tkj_Param_c::m.common.real_shadow_size, NULL, 100.0f, FALSE, FALSE, FALSE);
}
/* 80574058-80574078 000A18 0020+00 1/1 0/0 0/0 .text
* createHeapCallBack__10daNpcTkj_cFP10fopAc_ac_c */
-void daNpcTkj_c::createHeapCallBack(fopAc_ac_c* param_0) {
- // NONMATCHING
+int daNpcTkj_c::createHeapCallBack(fopAc_ac_c* i_this) {
+ return ((daNpcTkj_c*)i_this)->CreateHeap();
}
/* 80574078-805740D0 000A38 0058+00 2/2 0/0 0/0 .text ctrlJointCallBack__10daNpcTkj_cFP8J3DJointi
*/
-void daNpcTkj_c::ctrlJointCallBack(J3DJoint* param_0, int param_1) {
- // NONMATCHING
+int daNpcTkj_c::ctrlJointCallBack(J3DJoint* i_joint, int param_1) {
+ if (param_1 == 0) {
+ J3DModel* mdl_p = j3dSys.getModel();
+ daNpcTkj_c* i_this = (daNpcTkj_c*)mdl_p->getUserArea();
+ if (i_this != NULL) {
+ i_this->ctrlJoint(i_joint, mdl_p);
+ }
+ }
+
+ return 1;
}
/* 805740D0-80574108 000A90 0038+00 1/1 0/0 0/0 .text getType__10daNpcTkj_cFv */
-void daNpcTkj_c::getType() {
- // NONMATCHING
+int daNpcTkj_c::getType() {
+ switch (fopAcM_GetParam(this) & 0xFF) {
+ case 0:
+ return 0;
+ case 1:
+ return 1;
+ default:
+ return 0;
+ }
}
/* 80574108-80574124 000AC8 001C+00 1/1 0/0 0/0 .text getFlowNodeNo__10daNpcTkj_cFv */
-void daNpcTkj_c::getFlowNodeNo() {
- // NONMATCHING
+int daNpcTkj_c::getFlowNodeNo() {
+ u16 prm = home.angle.x;
+ return prm == 0xFFFF ? -1 : prm;
}
/* 80574124-8057413C 000AE4 0018+00 1/1 0/0 0/0 .text isDelete__10daNpcTkj_cFv */
-void daNpcTkj_c::isDelete() {
- // NONMATCHING
+int daNpcTkj_c::isDelete() {
+ if (mType < 2) {
+ return 0;
+ }
+
+ return 1;
}
/* 8057413C-80574268 000AFC 012C+00 1/1 0/0 0/0 .text reset__10daNpcTkj_cFv */
void daNpcTkj_c::reset() {
- // NONMATCHING
-}
+ initialize();
+ memset(&field_0xf84, 0, (uintptr_t)&field_0xf9c - (uintptr_t)&field_0xf84);
-/* ############################################################################################## */
-/* 80576648-8057664C 0000B0 0004+00 2/3 0/0 0/0 .rodata @4541 */
-SECTION_RODATA static f32 const lit_4541 = -1.0f;
-COMPILER_STRIP_GATE(0x80576648, &lit_4541);
+ if (mpMatAnm[0] != NULL) {
+ mpMatAnm[0]->initialize();
+ }
+
+ setAngle(home.angle.y);
+ mItemNo = -1;
+}
/* 80574268-805742C8 000C28 0060+00 1/0 0/0 0/0 .text setAfterTalkMotion__10daNpcTkj_cFv
*/
void daNpcTkj_c::setAfterTalkMotion() {
- // NONMATCHING
+ mFaceMotionSeqMngr.getNo();
+ mFaceMotionSeqMngr.setNo(1, -1.0f, 0, 0);
}
/* 805742C8-805742D4 000C88 000C+00 1/1 0/0 0/0 .text srchActors__10daNpcTkj_cFv */
void daNpcTkj_c::srchActors() {
- // NONMATCHING
+ switch (mType) {
+ case 0:
+ case 1:
+ break;
+ }
}
/* 805742D4-805743B8 000C94 00E4+00 1/0 0/0 0/0 .text evtTalk__10daNpcTkj_cFv */
-void daNpcTkj_c::evtTalk() {
- // NONMATCHING
+BOOL daNpcTkj_c::evtTalk() {
+ if (chkAction(&daNpcTkj_c::talk)) {
+ (this->*mAction)(NULL);
+ } else if (dComIfGp_event_chkTalkXY() == 0 || dComIfGp_evmng_ChkPresentEnd()) {
+ setAction(&daNpcTkj_c::talk);
+ }
+
+ return 1;
}
/* 805743B8-8057449C 000D78 00E4+00 1/0 0/0 0/0 .text evtCutProc__10daNpcTkj_cFv */
-void daNpcTkj_c::evtCutProc() {
- // NONMATCHING
+BOOL daNpcTkj_c::evtCutProc() {
+ BOOL rt = FALSE;
+ int staffId = dComIfGp_getEventManager().getMyStaffId("Tkj", this, -1);
+ if (staffId != -1) {
+ mStaffId = staffId;
+
+ int i;
+ const char* evt_name = dComIfGp_getEventManager().getRunEventName();
+ for (i = 0; i < 2; i++) {
+ if (strcmp(evt_name, mCutNameList[i]) == 0) {
+ break;
+ }
+ }
+
+ if ((this->*mCutList[i])(mStaffId)) {
+ dComIfGp_getEventManager().cutEnd(mStaffId);
+ }
+
+ rt = TRUE;
+ }
+
+ return rt;
}
/* 8057449C-80574524 000E5C 0088+00 1/0 0/0 0/0 .text action__10daNpcTkj_cFv */
void daNpcTkj_c::action() {
- // NONMATCHING
+ if (field_0xf84 != NULL) {
+ if (mAction == field_0xf84) {
+ (this->*mAction)(NULL);
+ } else {
+ setAction(field_0xf84);
+ }
+ }
}
-/* ############################################################################################## */
-/* 8057664C-80576650 0000B4 0004+00 0/1 0/0 0/0 .rodata @4670 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4670 = -30.0f;
-COMPILER_STRIP_GATE(0x8057664C, &lit_4670);
-#pragma pop
-
-/* 80576650-80576658 0000B8 0004+04 0/1 0/0 0/0 .rodata @4671 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u32 const lit_4671[1 + 1 /* padding */] = {
- 0x38C90FDB,
- /* padding */
- 0x00000000,
-};
-COMPILER_STRIP_GATE(0x80576650, &lit_4671);
-#pragma pop
-
-/* 80576658-80576660 0000C0 0008+00 1/3 0/0 0/0 .rodata @4673 */
-SECTION_RODATA static u8 const lit_4673[8] = {
- 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80576658, &lit_4673);
-
/* 80574524-80574770 000EE4 024C+00 1/0 0/0 0/0 .text setAttnPos__10daNpcTkj_cFv */
void daNpcTkj_c::setAttnPos() {
- // NONMATCHING
+ cXyz sp28(0.0f, -30.0f, 0.0f);
+
+ mJntAnm.setParam(this, mpMorf[0]->getModel(), &sp28, getBackboneJointNo(), getNeckJointNo(), getHeadJointNo(),
+ daNpc_Tkj_Param_c::m.common.body_angleX_min, daNpc_Tkj_Param_c::m.common.body_angleX_max,
+ daNpc_Tkj_Param_c::m.common.body_angleY_min, daNpc_Tkj_Param_c::m.common.body_angleY_max,
+ daNpc_Tkj_Param_c::m.common.head_angleX_min, daNpc_Tkj_Param_c::m.common.head_angleX_max,
+ daNpc_Tkj_Param_c::m.common.head_angleY_min, daNpc_Tkj_Param_c::m.common.head_angleY_max,
+ daNpc_Tkj_Param_c::m.common.neck_rotation_ratio, 0.0f, NULL);
+ mJntAnm.calcJntRad(0.2f, 1.0f, cM_s2rad(mCurAngle.y - field_0xd7e.y));
+
+ J3DModelData* mdlData_p = mpMorf[0]->getModel()->getModelData();
+ for (u16 i = 0; i < mdlData_p->getJointNum(); i++) {
+ mdlData_p->getJointNodePointer(i)->setCallBack(ctrlJointCallBack);
+ }
+
+ setMtx();
+
+ mDoMtx_stack_c::copy(mpMorf[0]->getModel()->getAnmMtx(getHeadJointNo()));
+ mDoMtx_stack_c::multVec(&sp28, &eyePos);
+
+ mJntAnm.setEyeAngleX(eyePos, 1.0f, 0);
+ mJntAnm.setEyeAngleY(eyePos, mCurAngle.y, 0, 1.0f, 0);
+
+
+ attention_info.position = current.pos;
+ attention_info.position.y += daNpc_Tkj_Param_c::m.common.attention_offset;
}
/* 80574770-80574850 001130 00E0+00 1/0 0/0 0/0 .text setCollision__10daNpcTkj_cFv */
void daNpcTkj_c::setCollision() {
- // NONMATCHING
+ cXyz pos;
+ if (!mHide) {
+ mCcCyl.SetCoSPrm(mTwilight == TRUE ? 0x69 : 0x79);
+
+ pos = current.pos;
+ f32 height = daNpc_Tkj_Param_c::m.common.height;
+ f32 radius = daNpc_Tkj_Param_c::m.common.width;
+
+ mCcCyl.SetH(height);
+ mCcCyl.SetR(radius);
+ mCcCyl.SetC(pos);
+ dComIfG_Ccsp()->Set(&mCcCyl);
+ }
+
+ mCcCyl.ClrCoHit();
+ mCcCyl.ClrTgHit();
}
/* 80574850-80574858 001210 0008+00 1/0 0/0 0/0 .text drawDbgInfo__10daNpcTkj_cFv */
-bool daNpcTkj_c::drawDbgInfo() {
- return false;
+int daNpcTkj_c::drawDbgInfo() {
+ return 0;
}
/* 80574858-805748A8 001218 0050+00 1/1 0/0 0/0 .text selectAction__10daNpcTkj_cFv */
-void daNpcTkj_c::selectAction() {
- // NONMATCHING
+int daNpcTkj_c::selectAction() {
+ field_0xf84 = NULL;
+
+ switch (mType) {
+ case 0:
+ case 1:
+ break;
+ }
+
+ field_0xf84 = &daNpcTkj_c::wait;
+ return 1;
}
/* 805748A8-805748D4 001268 002C+00 1/1 0/0 0/0 .text
* chkAction__10daNpcTkj_cFM10daNpcTkj_cFPCvPvPv_i */
-void daNpcTkj_c::chkAction(int (daNpcTkj_c::*param_0)(void*)) {
- // NONMATCHING
+BOOL daNpcTkj_c::chkAction(int (daNpcTkj_c::*i_action)(void*)) {
+ return mAction == i_action;
}
/* 805748D4-8057497C 001294 00A8+00 2/2 0/0 0/0 .text
* setAction__10daNpcTkj_cFM10daNpcTkj_cFPCvPvPv_i */
-void daNpcTkj_c::setAction(int (daNpcTkj_c::*param_0)(void*)) {
- // NONMATCHING
+int daNpcTkj_c::setAction(int (daNpcTkj_c::*i_action)(void*)) {
+ mMode = 3;
+ if (mAction != NULL) {
+ (this->*mAction)(NULL);
+ }
+
+ mMode = 0;
+ mAction = i_action;
+ if (mAction != NULL) {
+ (this->*mAction)(NULL);
+ }
+
+ return 1;
}
/* 8057497C-80574B30 00133C 01B4+00 1/0 0/0 0/0 .text wait__10daNpcTkj_cFPv */
-void daNpcTkj_c::wait(void* param_0) {
- // NONMATCHING
+int daNpcTkj_c::wait(void*) {
+ switch (mMode) {
+ case 0:
+ case 1:
+ mFaceMotionSeqMngr.setNo(1, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(0, -1.0f, 0, 0);
+ mMode = 2;
+ case 2:
+ if (srchPlayerActor()) {
+ mJntAnm.lookPlayer(0);
+ } else {
+ if (home.angle.y != mCurAngle.y && step(home.angle.y, -1, -1, 15, 0)) {
+ mMode = 1;
+ }
+ mJntAnm.lookNone(0);
+ }
+
+ if (mItemNo == fpcNm_ITEM_DUNGEON_EXIT_2 && mItemPartnerId == fpcM_ERROR_PROCESS_ID_e) {
+ dComIfGs_onDungeonItemWarp();
+ fopAcM_delete(this);
+ }
+ case 3:
+ break;
+ }
+
+ return 1;
}
/* 80574B30-80574D28 0014F0 01F8+00 2/0 0/0 0/0 .text talk__10daNpcTkj_cFPv */
-void daNpcTkj_c::talk(void* param_0) {
- // NONMATCHING
+int daNpcTkj_c::talk(void*) {
+ BOOL var_r29 = FALSE;
+
+ switch (mMode) {
+ case 0:
+ case 1:
+ initTalk(mFlowNodeNo, NULL);
+ mMode = 2;
+ case 2:
+ if (!mTwilight) {
+ mJntAnm.lookPlayer(0);
+ if (mCurAngle.y == fopAcM_searchPlayerAngleY(this)) {
+ var_r29 = TRUE;
+ } else if (step(fopAcM_searchPlayerAngleY(this), -1, -1, 15, 0)) {
+ var_r29 = TRUE;
+ }
+ } else {
+ var_r29 = TRUE;
+ }
+
+ if (var_r29 && talkProc(NULL, 0, NULL, 0)) {
+ int itemNo;
+ int eventId = mFlow.getEventId(&itemNo);
+ mItemNo = -1;
+
+ if (eventId == 1) {
+ if (mItemPartnerId == fpcM_ERROR_PROCESS_ID_e) {
+ mItemPartnerId = fopAcM_createItemForPresentDemo(&current.pos, itemNo, 0, -1, -1, NULL, NULL);
+ }
+
+ if (fopAcM_IsExecuting(mItemPartnerId)) {
+ mEvtNo = 1;
+ evtChange();
+ mItemNo = itemNo;
+ mMode = 3;
+ }
+ } else {
+ mPlayerActorMngr.entry(daPy_getPlayerActorClass());
+ dComIfGp_event_reset();
+ mMode = 3;
+ }
+ }
+ case 3:
+ break;
+ }
+
+ return 0;
}
-/* ############################################################################################## */
-/* 80576660-80576668 0000C8 0008+00 0/2 0/0 0/0 .rodata @4731 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_4731[8] = {
- 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80576660, &lit_4731);
-#pragma pop
-
-/* 80576668-80576670 0000D0 0008+00 0/2 0/0 0/0 .rodata @4732 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_4732[8] = {
- 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80576668, &lit_4732);
-#pragma pop
-
-/* 80576670-80576678 0000D8 0008+00 0/2 0/0 0/0 .rodata @4733 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_4733[8] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80576670, &lit_4733);
-#pragma pop
-
-/* 80576678-8057667C 0000E0 0004+00 0/1 0/0 0/0 .rodata @4972 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4972 = 13.5f;
-COMPILER_STRIP_GATE(0x80576678, &lit_4972);
-#pragma pop
-
-/* 8057667C-80576680 0000E4 0004+00 0/1 0/0 0/0 .rodata @4973 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u32 const lit_4973 = 0x44DB2DFC;
-COMPILER_STRIP_GATE(0x8057667C, &lit_4973);
-#pragma pop
-
-/* 80576680-80576684 0000E8 0004+00 0/1 0/0 0/0 .rodata @4974 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4974 = -200.0f;
-COMPILER_STRIP_GATE(0x80576680, &lit_4974);
-#pragma pop
-
-/* 80576684-80576688 0000EC 0004+00 0/1 0/0 0/0 .rodata @4975 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u32 const lit_4975 = 0x45AB6F61;
-COMPILER_STRIP_GATE(0x80576684, &lit_4975);
-#pragma pop
-
/* 80574D28-80575180 0016E8 0458+00 1/0 0/0 0/0 .text cutLv7Start__10daNpcTkj_cFi */
-void daNpcTkj_c::cutLv7Start(int param_0) {
- // NONMATCHING
+int daNpcTkj_c::cutLv7Start(int i_staffId) {
+ dEvent_manager_c* evtmng_p = &dComIfGp_getEventManager();
+
+ int rt = 0;
+ if (i_staffId == -1) {
+ return 0;
+ }
+
+ char* cut_name = evtmng_p->getMyNowCutName(i_staffId);
+ if (evtmng_p->getIsAddvance(i_staffId)) {
+ switch (*(u32*)cut_name) {
+ case '0001':
+ mMotionSeqMngr.setNo(0, -1.0f, 0, 0);
+ break;
+ case '0002':
+ mMotionSeqMngr.setNo(1, -1.0f, 0, 0);
+ speedF = 13.5f;
+ break;
+ case '0003':
+ mFaceMotionSeqMngr.setNo(0, -1.0f, 0, 0);
+ break;
+ case '0004':
+ break;
+ case '0005':
+ mMotionSeqMngr.setNo(1, -1.0f, 0, 0);
+ break;
+ case '0006':
+ fopAcM_delete(this);
+ break;
+ default:
+ JUT_ASSERT(1188, 0);
+ break;
+ }
+ }
+
+ switch (*(u32*)cut_name) {
+ case '0001':
+ rt = 1;
+ break;
+ case '0002': {
+ cXyz pos(1753.437f,-200.0f, 5485.9224f);
+ if (current.pos.abs(pos) <= speedF) {
+ mMotionSeqMngr.setNo(0, -1.0f, 0, 0);
+ current.pos = pos;
+ speedF = 0.0f;
+ rt = 1;
+ }
+
+ mSound.startCreatureVoiceLevel(Z2SE_TKJ_V_ODOROKI_LOOP, -1);
+ break;
+ }
+ case '0003':
+ if (step(-9090, -1, -1, 15, 0)) {
+ rt = 1;
+ }
+
+ mSound.startCreatureVoiceLevel(Z2SE_TKJ_V_ODOROKI_LOOP, -1);
+ break;
+ case '0004':
+ case '0006':
+ rt = 1;
+ break;
+ case '0005':
+ if (0.0f == speedF) {
+ if (step(cLib_targetAngleY(&current.pos, &home.pos), -1, -1, 15, 0)) {
+ speedF = 13.5f;
+ }
+ } else {
+ mSound.startCreatureVoiceLevel(Z2SE_TKJ_V_RUNNING_LOOP, -1);
+ }
+
+ rt = 1;
+ break;
+ default:
+ JUT_ASSERT(1225, 0);
+ break;
+ }
+
+ return rt;
}
/* 80575180-805751A0 001B40 0020+00 1/0 0/0 0/0 .text daNpc_Tkj_Create__FPv */
-static void daNpc_Tkj_Create(void* param_0) {
- // NONMATCHING
+static int daNpc_Tkj_Create(void* i_this) {
+ return ((daNpcTkj_c*)i_this)->create();
}
/* 805751A0-805751C0 001B60 0020+00 1/0 0/0 0/0 .text daNpc_Tkj_Delete__FPv */
-static void daNpc_Tkj_Delete(void* param_0) {
- // NONMATCHING
+static int daNpc_Tkj_Delete(void* i_this) {
+ return ((daNpcTkj_c*)i_this)->Delete();
}
/* 805751C0-805751E0 001B80 0020+00 1/0 0/0 0/0 .text daNpc_Tkj_Execute__FPv */
-static void daNpc_Tkj_Execute(void* param_0) {
- // NONMATCHING
+static int daNpc_Tkj_Execute(void* i_this) {
+ return ((daNpcTkj_c*)i_this)->Execute();
}
/* 805751E0-80575200 001BA0 0020+00 1/0 0/0 0/0 .text daNpc_Tkj_Draw__FPv */
-static void daNpc_Tkj_Draw(void* param_0) {
- // NONMATCHING
+static int daNpc_Tkj_Draw(void* i_this) {
+ return ((daNpcTkj_c*)i_this)->Draw();
}
/* 80575200-80575208 001BC0 0008+00 1/0 0/0 0/0 .text daNpc_Tkj_IsDelete__FPv */
-static bool daNpc_Tkj_IsDelete(void* param_0) {
- return true;
-}
-
-/* 80575208-80575238 001BC8 0030+00 1/0 0/0 0/0 .text calc__11J3DTexNoAnmCFPUs */
-// void J3DTexNoAnm::calc(u16* param_0) const {
-extern "C" void calc__11J3DTexNoAnmCFPUs() {
- // NONMATCHING
+static int daNpc_Tkj_IsDelete(void* i_this) {
+ return 1;
}
-/* 80575238-80575280 001BF8 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */
-// cCcD_GStts::~cCcD_GStts() {
-extern "C" void __dt__10cCcD_GSttsFv() {
- // NONMATCHING
-}
-
-/* ############################################################################################## */
-/* 80576688-8057668C 0000F0 0004+00 1/1 0/0 0/0 .rodata @5035 */
-SECTION_RODATA static f32 const lit_5035 = 7.0f / 10.0f;
-COMPILER_STRIP_GATE(0x80576688, &lit_5035);
-
/* 80575280-8057538C 001C40 010C+00 1/0 0/0 0/0 .text setParam__10daNpcTkj_cFv */
void daNpcTkj_c::setParam() {
- // NONMATCHING
-}
+ u32 attn_flags = fopAc_AttnFlag_SPEAK_e | fopAc_AttnFlag_TALK_e;
+ selectAction();
+ srchActors();
-/* 8057538C-80575404 001D4C 0078+00 1/0 0/0 0/0 .text beforeMove__10daNpcTkj_cFv */
-void daNpcTkj_c::beforeMove() {
- // NONMATCHING
-}
+ s16 talk_dist = daNpc_Tkj_Param_c::m.common.talk_distance;
+ s16 talk_angle = daNpc_Tkj_Param_c::m.common.talk_angle;
+ s16 attn_dist = daNpc_Tkj_Param_c::m.common.attention_distance;
+ s16 attn_angle = daNpc_Tkj_Param_c::m.common.attention_angle;
-/* 80575404-8057578C 001DC4 0388+00 1/1 0/0 0/0 .text __dt__8daNpcT_cFv */
-// daNpcT_c::~daNpcT_c() {
-extern "C" void __dt__8daNpcT_cFv() {
- // NONMATCHING
-}
+ attention_info.distances[fopAc_attn_LOCK_e] = daNpcT_getDistTableIdx(attn_dist, attn_angle);
+ attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[0];
+ attention_info.distances[fopAc_attn_SPEAK_e] = daNpcT_getDistTableIdx(talk_dist, talk_angle);
+ attention_info.flags = attn_flags;
-/* 8057578C-805757C8 00214C 003C+00 3/3 0/0 0/0 .text __dt__4cXyzFv */
-// cXyz::~cXyz() {
-extern "C" void __dt__4cXyzFv() {
- // NONMATCHING
-}
+ f32 size;
+ if (mType == 1) {
+ size = 0.7f;
+ } else {
+ size = daNpc_Tkj_Param_c::m.common.scale;
+ }
-/* 805757C8-80575804 002188 003C+00 2/2 0/0 0/0 .text __dt__5csXyzFv */
-// csXyz::~csXyz() {
-extern "C" void __dt__5csXyzFv() {
- // NONMATCHING
-}
+ scale.setall(size);
-/* 80575804-80575C08 0021C4 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
-}
-
-/* 80575C08-80575C0C 0025C8 0004+00 1/1 0/0 0/0 .text __ct__5csXyzFv */
-// csXyz::csXyz() {
-extern "C" void __ct__5csXyzFv() {
- /* empty function */
-}
-
-/* 80575C0C-80575D08 0025CC 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
-}
-
-/* 80575D08-80575D0C 0026C8 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */
-// cXyz::cXyz() {
-extern "C" void __ct__4cXyzFv() {
- /* empty function */
-}
-
-/* 80575D0C-80575D54 0026CC 0048+00 1/0 0/0 0/0 .text __dt__18daNpcT_ActorMngr_cFv */
-// daNpcT_ActorMngr_c::~daNpcT_ActorMngr_c() {
-extern "C" void __dt__18daNpcT_ActorMngr_cFv() {
- // NONMATCHING
-}
-
-/* 80575D54-80575D9C 002714 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
-}
-
-/* 80575D9C-80575E0C 00275C 0070+00 1/0 0/0 0/0 .text __dt__12dBgS_AcchCirFv */
-// dBgS_AcchCir::~dBgS_AcchCir() {
-extern "C" void __dt__12dBgS_AcchCirFv() {
- // NONMATCHING
-}
-
-/* 80575E0C-80575E68 0027CC 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */
-// dCcD_GStts::~dCcD_GStts() {
-extern "C" void __dt__10dCcD_GSttsFv() {
- // NONMATCHING
-}
-
-/* 80575E68-80575ED8 002828 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */
-// dBgS_ObjAcch::~dBgS_ObjAcch() {
-extern "C" void __dt__12dBgS_ObjAcchFv() {
- // NONMATCHING
-}
-
-/* 80575ED8-80575F20 002898 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */
-// J3DFrameCtrl::~J3DFrameCtrl() {
-extern "C" void __dt__12J3DFrameCtrlFv() {
- // NONMATCHING
-}
-
-/* 80575F20-8057603C 0028E0 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
-}
-
-/* 8057603C-80576244 0029FC 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
-}
-
-/* 80576244-80576248 002C04 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 */
-}
-
-/* 80576258-80576260 002C18 0008+00 1/0 0/0 0/0 .text getEyeballLMaterialNo__8daNpcT_cFv
- */
-// bool daNpcT_c::getEyeballLMaterialNo() {
-extern "C" bool getEyeballLMaterialNo__8daNpcT_cFv() {
- return false;
-}
-
-/* 80576260-80576268 002C20 0008+00 1/0 0/0 0/0 .text getEyeballRMaterialNo__8daNpcT_cFv
- */
-// bool daNpcT_c::getEyeballRMaterialNo() {
-extern "C" bool getEyeballRMaterialNo__8daNpcT_cFv() {
- return false;
-}
-
-/* 80576274-8057627C 002C34 0008+00 1/0 0/0 0/0 .text evtEndProc__8daNpcT_cFv */
-// bool daNpcT_c::evtEndProc() {
-extern "C" bool evtEndProc__8daNpcT_cFv() {
- return true;
-}
-
-/* 80576280-80576288 002C40 0008+00 1/0 0/0 0/0 .text chkXYItems__8daNpcT_cFv */
-// bool daNpcT_c::chkXYItems() {
-extern "C" bool chkXYItems__8daNpcT_cFv() {
- return false;
-}
-
-/* 80576288-805762A0 002C48 0018+00 1/0 0/0 0/0 .text decTmr__8daNpcT_cFv */
-// void daNpcT_c::decTmr() {
-extern "C" void decTmr__8daNpcT_cFv() {
- // NONMATCHING
-}
-
-/* 805762A0-805762A4 002C60 0004+00 1/0 0/0 0/0 .text drawOtherMdl__8daNpcT_cFv */
-// void daNpcT_c::drawOtherMdl() {
-extern "C" void drawOtherMdl__8daNpcT_cFv() {
- /* empty function */
-}
-
-/* 805762A4-805762A8 002C64 0004+00 1/0 0/0 0/0 .text drawGhost__8daNpcT_cFv */
-// void daNpcT_c::drawGhost() {
-extern "C" void drawGhost__8daNpcT_cFv() {
- /* empty function */
-}
-
-/* 805762A8-805762B0 002C68 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;
-}
-
-/* 805762B0-805762B8 002C70 0008+00 1/0 0/0 0/0 .text afterSetMotionAnm__8daNpcT_cFiifi
- */
-// bool daNpcT_c::afterSetMotionAnm(int param_0, int param_1, f32 param_2, int param_3) {
-extern "C" bool afterSetMotionAnm__8daNpcT_cFiifi() {
- return true;
-}
-
-/* 805762B8-805762E8 002C78 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
-}
-
-/* 805762E8-80576318 002CA8 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
-}
-
-/* 80576318-8057631C 002CD8 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 */
-}
-
-/* 8057631C-80576320 002CDC 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 */
-}
+ mAcchCir.SetWallR(daNpc_Tkj_Param_c::m.common.width);
+ mAcchCir.SetWallH(daNpc_Tkj_Param_c::m.common.knee_length);
+ mCcStts.SetWeight(daNpc_Tkj_Param_c::m.common.weight);
+ mCylH = daNpc_Tkj_Param_c::m.common.height;
+ mWallR = daNpc_Tkj_Param_c::m.common.width;
+ gravity = daNpc_Tkj_Param_c::m.common.gravity;
-/* 80576320-80576324 002CE0 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 */
+ mExpressionMorfFrame = daNpc_Tkj_Param_c::m.common.expression_morf_frame;
+ mMorfFrames = daNpc_Tkj_Param_c::m.common.morf_frame;
}
-/* 80576324-80576328 002CE4 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 */
+/* 8057538C-80575404 001D4C 0078+00 1/0 0/0 0/0 .text beforeMove__10daNpcTkj_cFv */
+void daNpcTkj_c::beforeMove() {
+ if (checkHide() || mNoDraw) {
+ attention_info.flags = 0;
+ }
}
-/* ############################################################################################## */
-/* 805769B0-805769BC 0002FC 000C+00 2/2 0/0 0/0 .data __vt__17daNpc_Tkj_Param_c */
-SECTION_DATA extern void* __vt__17daNpc_Tkj_Param_c[3] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__17daNpc_Tkj_Param_cFv,
-};
-
-/* 805769C8-805769D4 000008 000C+00 1/1 0/0 0/0 .bss @3918 */
-static u8 lit_3918[12];
-
/* 805769D4-805769D8 000014 0004+00 1/1 0/0 0/0 .bss l_HIO */
-static u8 l_HIO[4];
-
-/* 80576328-805763B0 002CE8 0088+00 0/0 1/0 0/0 .text __sinit_d_a_npc_tkj_cpp */
-void __sinit_d_a_npc_tkj_cpp() {
- // NONMATCHING
-}
-
-#pragma push
-#pragma force_active on
-REGISTER_CTORS(0x80576328, __sinit_d_a_npc_tkj_cpp);
-#pragma pop
-
-/* 805763B0-8057645C 002D70 00AC+00 1/1 0/0 0/0 .text
- * __ct__10daNpcTkj_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc
- */
-daNpcTkj_c::daNpcTkj_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
-}
-
-/* 8057645C-805764A4 002E1C 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */
-// cM3dGCyl::~cM3dGCyl() {
-extern "C" void __dt__8cM3dGCylFv() {
- // NONMATCHING
-}
-
-/* 805764A4-805764EC 002E64 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */
-// cM3dGAab::~cM3dGAab() {
-extern "C" void __dt__8cM3dGAabFv() {
- // NONMATCHING
-}
-
-/* 805764EC-805764F4 002EAC 0008+00 1/0 0/0 0/0 .text getEyeballMaterialNo__10daNpcTkj_cFv */
-u16 daNpcTkj_c::getEyeballMaterialNo() {
- return 2;
-}
-
-/* 805764F4-805764FC 002EB4 0008+00 1/0 0/0 0/0 .text getHeadJointNo__10daNpcTkj_cFv */
-s32 daNpcTkj_c::getHeadJointNo() {
- return 17;
-}
-
-/* 805764FC-80576504 002EBC 0008+00 1/0 0/0 0/0 .text getNeckJointNo__10daNpcTkj_cFv */
-s32 daNpcTkj_c::getNeckJointNo() {
- return 16;
-}
-
-/* 80576504-8057650C 002EC4 0008+00 1/0 0/0 0/0 .text getBackboneJointNo__10daNpcTkj_cFv
- */
-s32 daNpcTkj_c::getBackboneJointNo() {
- return 15;
-}
-
-/* 8057650C-8057651C 002ECC 0010+00 1/0 0/0 0/0 .text checkChangeJoint__10daNpcTkj_cFi */
-void daNpcTkj_c::checkChangeJoint(int param_0) {
- // NONMATCHING
-}
+static daNpc_Tkj_Param_c l_HIO;
-/* 8057651C-8057652C 002EDC 0010+00 1/0 0/0 0/0 .text checkRemoveJoint__10daNpcTkj_cFi */
-void daNpcTkj_c::checkRemoveJoint(int param_0) {
- // NONMATCHING
-}
-
-/* 8057652C-80576574 002EEC 0048+00 2/1 0/0 0/0 .text __dt__17daNpc_Tkj_Param_cFv */
-daNpc_Tkj_Param_c::~daNpc_Tkj_Param_c() {
- // NONMATCHING
-}
-
-/* 80576574-8057657C 002F34 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */
-static void func_80576574() {
- // NONMATCHING
-}
-
-/* 8057657C-80576584 002F3C 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */
-static void func_8057657C() {
- // NONMATCHING
-}
+/* 80576800-80576820 -00001 0020+00 1/0 0/0 0/0 .data daNpc_Tkj_MethodTable */
+static actor_method_class daNpc_Tkj_MethodTable = {
+ (process_method_func)daNpc_Tkj_Create,
+ (process_method_func)daNpc_Tkj_Delete,
+ (process_method_func)daNpc_Tkj_Execute,
+ (process_method_func)daNpc_Tkj_IsDelete,
+ (process_method_func)daNpc_Tkj_Draw,
+};
-/* 8057668C-8057668C 0000F4 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
+/* 80576820-80576850 -00001 0030+00 0/0 0/0 1/0 .data g_profile_NPC_TKJ */
+extern actor_process_profile_definition g_profile_NPC_TKJ = {
+ fpcLy_CURRENT_e, // mLayerID
+ 7, // mListID
+ fpcPi_CURRENT_e, // mListPrio
+ PROC_NPC_TKJ, // mProcName
+ &g_fpcLf_Method.base, // sub_method
+ sizeof(daNpcTkj_c), // mSize
+ 0, // mSizeOther
+ 0, // mParameters
+ &g_fopAc_Method.base, // sub_method
+ 373, // mPriority
+ &daNpc_Tkj_MethodTable, // sub_method
+ 0x08044107, // mStatus
+ fopAc_NPC_e, // mActorType
+ fopAc_CULLBOX_CUSTOM_e, // cullType
+};