summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorYunataSavior <58997725+YunataSavior@users.noreply.github.com>2025-04-27 12:46:32 -0700
committerGitHub <noreply@github.com>2025-04-27 22:46:32 +0300
commit7e06b18a2a37819555460508f950b09f5ca7ec03 (patch)
treec4d634a5747bbbde7ddd1d3bef706e3a84c2073f /src
parent657ea580235246455b6fefde212654ea9d830ed9 (diff)
d_a_npc_bou Equivalent (#2411)
* Initial d_a_npc_bou work * d_a_npc_bou 34% done * d_a_npc_bou 56% matching * DONE d_a_npc_bou cutWildGoat * d_a_npc_bou 76% matching * d_a_npc_bou equivalent * Mark d_a_npc_bou as Equivalent in configure(dot)py
Diffstat (limited to 'src')
-rw-r--r--src/d/actor/d_a_npc_bou.cpp2929
-rw-r--r--src/d/actor/d_a_npc_jagar.cpp2
2 files changed, 1470 insertions, 1461 deletions
diff --git a/src/d/actor/d_a_npc_bou.cpp b/src/d/actor/d_a_npc_bou.cpp
index 07e0948073..fbf95b3c08 100644
--- a/src/d/actor/d_a_npc_bou.cpp
+++ b/src/d/actor/d_a_npc_bou.cpp
@@ -4,1082 +4,339 @@
*/
#include "d/actor/d_a_npc_bou.h"
+#include "d/actor/d_a_cow.h"
+#include "d/actor/d_a_horse.h"
+#include "d/actor/d_a_npc_jagar.h"
+#include "d/actor/d_a_tag_push.h"
+#include "d/d_meter2_info.h"
#include "dol2asm.h"
//
-// Forward References:
-//
-
-extern "C" void __dt__11daNpc_Bou_cFv();
-extern "C" void create__11daNpc_Bou_cFv();
-extern "C" void CreateHeap__11daNpc_Bou_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_Bou_cFv();
-extern "C" void Execute__11daNpc_Bou_cFv();
-extern "C" void Draw__11daNpc_Bou_cFv();
-extern "C" void createHeapCallBack__11daNpc_Bou_cFP10fopAc_ac_c();
-extern "C" void ctrlJointCallBack__11daNpc_Bou_cFP8J3DJointi();
-extern "C" void srchCow__11daNpc_Bou_cFPvPv();
-extern "C" void getCowP__11daNpc_Bou_cFv();
-extern "C" void getType__11daNpc_Bou_cFv();
-extern "C" void isDelete__11daNpc_Bou_cFv();
-extern "C" void reset__11daNpc_Bou_cFv();
-extern "C" void afterJntAnm__11daNpc_Bou_cFi();
-extern "C" void setParam__11daNpc_Bou_cFv();
-extern "C" void checkChangeEvt__11daNpc_Bou_cFv();
-extern "C" void setAfterTalkMotion__11daNpc_Bou_cFv();
-extern "C" void srchActors__11daNpc_Bou_cFv();
-extern "C" void evtTalk__11daNpc_Bou_cFv();
-extern "C" bool evtEndProc__11daNpc_Bou_cFv();
-extern "C" void evtCutProc__11daNpc_Bou_cFv();
-extern "C" void action__11daNpc_Bou_cFv();
-extern "C" void beforeMove__11daNpc_Bou_cFv();
-extern "C" void setAttnPos__11daNpc_Bou_cFv();
-extern "C" void setCollision__11daNpc_Bou_cFv();
-extern "C" bool drawDbgInfo__11daNpc_Bou_cFv();
-extern "C" void changeAnm__11daNpc_Bou_cFPiPi();
-extern "C" void selectAction__11daNpc_Bou_cFv();
-extern "C" void chkAction__11daNpc_Bou_cFM11daNpc_Bou_cFPCvPvPv_i();
-extern "C" void setAction__11daNpc_Bou_cFM11daNpc_Bou_cFPCvPvPv_i();
-extern "C" void cutWildGoat__11daNpc_Bou_cFi();
-extern "C" void cutWildGoatSuccess__11daNpc_Bou_cFi();
-extern "C" void cutWildGoatFailure__11daNpc_Bou_cFi();
-extern "C" void cutSpeakTo__11daNpc_Bou_cFi();
-extern "C" void cutConversationWithBou__11daNpc_Bou_cFi();
-extern "C" void cutConfidentialConversation__11daNpc_Bou_cFi();
-extern "C" void cutFindWolf__11daNpc_Bou_cFi();
-extern "C" void cutMeetingAgain__11daNpc_Bou_cFi();
-extern "C" void wait__11daNpc_Bou_cFPv();
-extern "C" void talkwithJagar__11daNpc_Bou_cFPv();
-extern "C" void talk__11daNpc_Bou_cFPv();
-extern "C" static void daNpc_Bou_Create__FPv();
-extern "C" static void daNpc_Bou_Delete__FPv();
-extern "C" static void daNpc_Bou_Execute__FPv();
-extern "C" static void daNpc_Bou_Draw__FPv();
-extern "C" static bool daNpc_Bou_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 __dt__13daNpcT_Path_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" 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 changeBck__8daNpcT_cFPiPi();
-extern "C" void changeBtp__8daNpcT_cFPiPi();
-extern "C" void changeBtk__8daNpcT_cFPiPi();
-extern "C" void func_8097258C(void* _this, int*);
-extern "C" void __sinit_d_a_npc_bou_cpp();
-extern "C" void
-__ct__11daNpc_Bou_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc();
-extern "C" s32 getEyeballMaterialNo__11daNpc_Bou_cFv();
-extern "C" s32 getHeadJointNo__11daNpc_Bou_cFv();
-extern "C" s32 getNeckJointNo__11daNpc_Bou_cFv();
-extern "C" bool getBackboneJointNo__11daNpc_Bou_cFv();
-extern "C" void checkChangeJoint__11daNpc_Bou_cFi();
-extern "C" void checkRemoveJoint__11daNpc_Bou_cFi();
-extern "C" void __dt__17daNpc_Bou_Param_cFv();
-extern "C" static void func_8097283C();
-extern "C" static void func_80972844();
-extern "C" u8 const m__17daNpc_Bou_Param_c[156];
-extern "C" extern char const* const d_a_npc_bou__stringBase0;
-extern "C" void* mCutNameList__11daNpc_Bou_c[9];
-extern "C" u8 mCutList__11daNpc_Bou_c[108];
-
-//
-// External References:
-//
-
-extern "C" void mDoMtx_YrotS__FPA4_fs();
-extern "C" void mDoMtx_YrotM__FPA4_fs();
-extern "C" void mDoMtx_ZrotM__FPA4_fs();
-extern "C" void
-__ct__16mDoExt_McaMorfSOFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiP10Z2CreatureUlUl();
-extern "C" void stopZelAnime__16mDoExt_McaMorfSOFv();
-extern "C" void __ct__10fopAc_ac_cFv();
-extern "C" void __dt__10fopAc_ac_cFv();
-extern "C" void fopAc_IsActor__FPv();
-extern "C" void fopAcIt_Judge__FPFPvPv_PvPv();
-extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl();
-extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff();
-extern "C" void fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c();
-extern "C" void fopAcM_searchActorDistance__FPC10fopAc_ac_cPC10fopAc_ac_c();
-extern "C" void fpcEx_IsExist__FUi();
-extern "C" void dStage_changeScene__FifUlScsi();
-extern "C" void getLayerNo__14dComIfG_play_cFi();
-extern "C" void dComIfGs_wolfeye_effect_check__Fv();
-extern "C" void isCollect__20dSv_player_collect_cCFiUc();
-extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
-extern "C" void reset__14dEvt_control_cFv();
-extern "C" void setPt2__14dEvt_control_cFPv();
-extern "C" void setPtT__14dEvt_control_cFPv();
-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 setGoal__16dEvent_manager_cFP4cXyz();
-extern "C" void ChkPresentEnd__16dEvent_manager_cFv();
-extern "C" void GroundCross__4cBgSFP11cBgS_GndChk();
-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 initialize__13daNpcT_Path_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 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 setPos__8daNpcT_cF4cXyz();
-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 chkPointInArea__8daNpcT_cF4cXyz4cXyzfffs();
-extern "C" void srchPlayerActor__8daNpcT_cFv();
-extern "C" void step__8daNpcT_cFsiiii();
-extern "C" void getActorDistance__8daNpcT_cFP10fopAc_ac_cii();
-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_getPlayerInfoFromPlayerList__FiiP4cXyzP5csXyz();
-extern "C" void daNpcT_getDistTableIdx__Fii();
-extern "C" void daNpcT_chkEvtBit__FUl();
-extern "C" void daNpcT_onTmpBit__FUl();
-extern "C" void daNpcT_offTmpBit__FUl();
-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_rnd__Fv();
-extern "C" void cM_rndF__Ff();
-extern "C" void __ct__11cBgS_GndChkFv();
-extern "C" void __dt__11cBgS_GndChkFv();
-extern "C" void SetPos__11cBgS_GndChkFPC4cXyz();
-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 cLib_chaseF__FPfff();
-extern "C" void subBgmStart__8Z2SeqMgrFUl();
-extern "C" void subBgmStop__8Z2SeqMgrFv();
-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_23();
-extern "C" void _savegpr_24();
-extern "C" void _savegpr_25();
-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_23();
-extern "C" void _restgpr_24();
-extern "C" void _restgpr_25();
-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" u8 mFindActorPtrs__8daNpcT_c[200];
-extern "C" extern u8 g_meter2_info[248];
-extern "C" u8 mFindCount__8daNpcT_c[4];
-extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
-extern "C" void __register_global_object();
-extern "C" void getType__13daNpc_Jagar_cFv();
-
-//
// Declarations:
//
-/* ############################################################################################## */
-/* 8097299C-8097299C 00013C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8097299C = "";
-SECTION_DEAD static char const* const stringBase_8097299D = "NO_RESPONSE";
-SECTION_DEAD static char const* const stringBase_809729A9 = "WILDGOAT";
-SECTION_DEAD static char const* const stringBase_809729B2 = "WILDGOAT_SUCCESS";
-SECTION_DEAD static char const* const stringBase_809729C3 = "WILDGOAT_FAILURE";
-SECTION_DEAD static char const* const stringBase_809729D4 = "SPEAKTO";
-SECTION_DEAD static char const* const stringBase_809729DC = "CONFIDENTIAL_CONVERSATION";
-SECTION_DEAD static char const* const stringBase_809729F6 = "FIND_WOLF";
-SECTION_DEAD static char const* const stringBase_80972A00 = "MEETING_AGAIN";
-SECTION_DEAD static char const* const stringBase_80972A0E = "MEETING_AGAIN_PLAYER_ON_HORSE";
-SECTION_DEAD static char const* const stringBase_80972A2C = "MEETING_AGAIN_NEAR";
-SECTION_DEAD static char const* const stringBase_80972A3F = "Bou";
-SECTION_DEAD static char const* const stringBase_80972A43 = "Bou1";
-SECTION_DEAD static char const* const stringBase_80972A48 = "Bou2";
-SECTION_DEAD static char const* const stringBase_80972A4D = "Bou4";
-SECTION_DEAD static char const* const stringBase_80972A52 = "Bou_p1";
-SECTION_DEAD static char const* const stringBase_80972A59 = "Jagar2";
-SECTION_DEAD static char const* const stringBase_80972A60 = "CONVERSATION_WITH_BOU";
-#pragma pop
-
-/* 80972A90-80972A9C 000000 000C+00 2/2 0/0 0/0 .data cNullVec__6Z2Calc */
-SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-
-/* 80972A9C-80972AB0 00000C 0004+10 0/0 0/0 0/0 .data @1787 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = {
- 0x02000201,
- /* padding */
- 0x40080000,
- 0x00000000,
- 0x3FE00000,
- 0x00000000,
-};
-#pragma pop
+UNK_REL_DATA;
/* 80972AB0-80972AB8 000020 0008+00 1/1 0/0 0/0 .data l_bmdData */
-SECTION_DATA static u8 l_bmdData[8] = {
- 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x01,
+static int l_bmdData[1][2] = {
+ {11, 1},
};
/* 80972AB8-80972B10 -00001 0058+00 0/1 0/0 0/0 .data l_evtList */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* l_evtList[22] = {
- (void*)&d_a_npc_bou__stringBase0,
- (void*)NULL,
- (void*)(((char*)&d_a_npc_bou__stringBase0) + 0x1),
- (void*)NULL,
- (void*)(((char*)&d_a_npc_bou__stringBase0) + 0xD),
- (void*)0x00000002,
- (void*)(((char*)&d_a_npc_bou__stringBase0) + 0x16),
- (void*)0x00000002,
- (void*)(((char*)&d_a_npc_bou__stringBase0) + 0x27),
- (void*)0x00000002,
- (void*)(((char*)&d_a_npc_bou__stringBase0) + 0x38),
- (void*)0x00000002,
- (void*)(((char*)&d_a_npc_bou__stringBase0) + 0x40),
- (void*)0x00000006,
- (void*)(((char*)&d_a_npc_bou__stringBase0) + 0x5A),
- (void*)0x00000006,
- (void*)(((char*)&d_a_npc_bou__stringBase0) + 0x64),
- (void*)0x00000004,
- (void*)(((char*)&d_a_npc_bou__stringBase0) + 0x72),
- (void*)0x00000004,
- (void*)(((char*)&d_a_npc_bou__stringBase0) + 0x90),
- (void*)0x00000004,
+daNpcT_evtData_c l_evtList[11] = {
+ {"", 0},
+ {"NO_RESPONSE", 0},
+ {"WILDGOAT", 2},
+ {"WILDGOAT_SUCCESS", 2},
+ {"WILDGOAT_FAILURE", 2},
+ {"SPEAKTO", 2},
+ {"CONFIDENTIAL_CONVERSATION", 6},
+ {"FIND_WOLF", 6},
+ {"MEETING_AGAIN", 4},
+ {"MEETING_AGAIN_PLAYER_ON_HORSE", 4},
+ {"MEETING_AGAIN_NEAR", 4},
};
-#pragma pop
/* 80972B10-80972B2C -00001 001C+00 2/3 0/0 0/0 .data l_resNameList */
-SECTION_DATA static void* l_resNameList[7] = {
- (void*)&d_a_npc_bou__stringBase0,
- (void*)(((char*)&d_a_npc_bou__stringBase0) + 0xA3),
- (void*)(((char*)&d_a_npc_bou__stringBase0) + 0xA7),
- (void*)(((char*)&d_a_npc_bou__stringBase0) + 0xAC),
- (void*)(((char*)&d_a_npc_bou__stringBase0) + 0xB1),
- (void*)(((char*)&d_a_npc_bou__stringBase0) + 0xB6),
- (void*)(((char*)&d_a_npc_bou__stringBase0) + 0xBD),
+static char* l_resNameList[7] = {
+ "",
+ "Bou",
+ "Bou1",
+ "Bou2",
+ "Bou4",
+ "Bou_p1",
+ "Jagar2"
};
/* 80972B2C-80972B30 00009C 0004+00 1/0 0/0 0/0 .data l_loadResPtrn0 */
-SECTION_DATA static u32 l_loadResPtrn0 = 0x010204FF;
+static s8 l_loadResPtrn0[4] = {1, 2, 4, -1};
/* 80972B30-80972B34 0000A0 0003+01 1/0 0/0 0/0 .data l_loadResPtrn1 */
-SECTION_DATA static u8 l_loadResPtrn1[3 + 1 /* padding */] = {
- 0x01,
- 0x03,
- 0xFF,
- /* padding */
- 0x00,
-};
+static s8 l_loadResPtrn1[3] = {1, 3, -1};
/* 80972B34-80972B38 0000A4 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};
/* 80972B38-80972B3C 0000A8 0003+01 1/0 0/0 0/0 .data l_loadResPtrn3 */
-SECTION_DATA static u8 l_loadResPtrn3[3 + 1 /* padding */] = {
- 0x01,
- 0x05,
- 0xFF,
- /* padding */
- 0x00,
-};
+static s8 l_loadResPtrn3[3] = {1, 5, -1};
/* 80972B3C-80972B44 0000AC 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,
-};
+static s8 l_loadResPtrn9[5] = {1, 2, 3, 4, -1};
/* 80972B44-80972B5C -00001 0018+00 1/2 0/0 0/0 .data l_loadResPtrnList */
-SECTION_DATA static void* l_loadResPtrnList[6] = {
- (void*)&l_loadResPtrn0, (void*)&l_loadResPtrn1, (void*)&l_loadResPtrn2,
- (void*)&l_loadResPtrn3, (void*)&l_loadResPtrn0, (void*)&l_loadResPtrn9,
+static s8* l_loadResPtrnList[6] = {
+ l_loadResPtrn0, l_loadResPtrn1, l_loadResPtrn2,
+ l_loadResPtrn3, l_loadResPtrn0, l_loadResPtrn9,
};
/* 80972B5C-80972C90 0000CC 0134+00 0/1 0/0 0/0 .data l_faceMotionAnmData */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u8 l_faceMotionAnmData[308] = {
- 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, 0x04, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03,
- 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x11,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06,
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04,
- 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1C,
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
- 0x00, 0x00, 0x00, 0x01,
+static daNpcT_faceMotionAnmData_c l_faceMotionAnmData[11] = {
+ {-1, 0, 0, 17, 2, 1, 1},
+ {6, 0, 1, 17, 2, 1, 1},
+ {4, 0, 2, 17, 2, 1, 1},
+ {4, 2, 3, 16, 2, 3, 0},
+ {5, 0, 3, 17, 0, 3, 0},
+ {6, 2, 3, 18, 2, 3, 0},
+ {7, 0, 4, 25, 0, 4, 1},
+ {8, 2, 4, 26, 2, 4, 1},
+ {11, 2, 4, 28, 2, 4, 1},
+ {9, 0, 4, 17, 2, 1, 1},
+ {10, 0, 4, 27, 0, 4, 1},
};
-#pragma pop
/* 80972C90-80972F14 000200 0284+00 0/1 0/0 0/0 .data l_motionAnmData */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u8 l_motionAnmData[644] = {
- 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, 0x05,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 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, 0x15, 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, 0x0C,
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 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, 0x0D, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03,
- 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x08, 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, 0x0A,
- 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, 0x09, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 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, 0x16, 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, 0x0E,
- 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, 0x10, 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, 0x13, 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, 0x0C, 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, 0x0D,
- 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, 0x0F, 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, 0x05, 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, 0x06, 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, 0x11,
- 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, 0x12, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x01, 0x00, 0x00,
+static daNpcT_motionAnmData_c l_motionAnmData[23] = {
+ {8, 2, 1, 14, 0, 1, 1, 0},
+ {5, 0, 2, 14, 0, 1, 1, 0},
+ {7, 2, 3, 14, 0, 1, 1, 0},
+ {7, 0, 1, 14, 0, 1, 1, 0},
+ {21, 2, 4, 14, 0, 1, 1, 0},
+ {12, 2, 3, 14, 0, 1, 1, 0},
+ {11, 0, 3, 14, 0, 1, 1, 0},
+ {13, 2, 3, 14, 0, 1, 1, 0},
+ {8, 0, 3, 14, 0, 1, 1, 0},
+ {10, 0, 3, 14, 0, 1, 1, 0},
+ {9, 2, 3, 14, 0, 1, 1, 0},
+ {20, 2, 4, 14, 0, 1, 1, 0},
+ {22, 2, 4, 14, 0, 1, 1, 0},
+ {14, 0, 4, 14, 0, 1, 1, 0},
+ {16, 0, 4, 14, 0, 1, 1, 0},
+ {19, 0, 4, 14, 0, 1, 1, 0},
+ {12, 0, 4, 14, 0, 1, 1, 0},
+ {13, 0, 4, 14, 0, 1, 1, 0},
+ {15, 0, 4, 14, 0, 1, 1, 0},
+ {5, 0, 4, 14, 0, 1, 1, 0},
+ {6, 2, 4, 14, 0, 1, 1, 0},
+ {17, 0, 4, 14, 0, 1, 1, 0},
+ {18, 2, 4, 14, 0, 1, 1, 0}
};
-#pragma pop
/* 80972F14-80972FC4 000484 00B0+00 0/1 0/0 0/0 .data l_faceMotionSequenceData */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u8 l_faceMotionSequenceData[176] = {
- 0x00, 0x01, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x04, 0x00, 0x01, 0x00, 0x05, 0xFF, 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, 0x06, 0xFF, 0x01, 0x00, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x0A, 0xFF, 0x01, 0x00, 0x08, 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, 0x05, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x03, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x07, 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, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
+static daNpcT_MotionSeqMngr_c::sequenceStepData_c l_faceMotionSequenceData[44] = {
+ {1, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {4, 0, 1}, {5, -1, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {9, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {6, -1, 1}, {7, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {10, -1, 1}, {8, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {2, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {5, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {3, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {7, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {8, -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
/* 80972FC4-80973124 000534 0160+00 0/1 0/0 0/0 .data l_motionSequenceData */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u8 l_motionSequenceData[352] = {
- 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x05, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x06, 0xFF, 0x01, 0x00, 0x05, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x08, 0x00, 0x01, 0x00, 0x0A, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x09, 0xFF, 0x01, 0x00, 0x05, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x0A, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x0B, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x0C, 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, 0x0E, 0xFF, 0x01, 0x00, 0x0B, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x0F, 0xFF, 0x01, 0x00, 0x0C, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x10, 0xFF, 0x01, 0x00, 0x0B, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x11, 0xFF, 0x01, 0x00, 0x0B, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x12, 0xFF, 0x01, 0x00, 0x0B, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x13, 0xFF, 0x01, 0x00, 0x14, 0xFF, 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, 0x15, 0xFF, 0x01, 0x00, 0x16, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x16, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x03, 0xFF, 0x01, 0xFF, 0xFF, 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, 0x02, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x06, 0xFF, 0x01, 0x00, 0x05, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
+static daNpcT_MotionSeqMngr_c::sequenceStepData_c l_motionSequenceData[88] = {
+ {0, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {5, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {6, -1, 1}, {5, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {8, 0, 1}, {10, -1, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {9, -1, 1}, {5, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {10, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {11, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {12, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {1, -1, 1}, {0, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {14, -1, 1}, {11, -1, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {15, -1, 1}, {12, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {16, -1, 1}, {11, -1, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {17, -1, 1}, {11, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {18, -1, 1}, {11, -1, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {19, -1, 1}, {20, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {20, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {21, -1, 1}, {22, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {22, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {3, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {13, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {2, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {6, -1, 1}, {5, -1, 0}, {-1, 0, 0}, {-1, 0, 0},
};
-#pragma pop
/* 80973124-80973148 -00001 0024+00 1/1 0/0 0/0 .data mCutNameList__11daNpc_Bou_c */
-SECTION_DATA void* daNpc_Bou_c::mCutNameList[9] = {
- (void*)&d_a_npc_bou__stringBase0,
- (void*)(((char*)&d_a_npc_bou__stringBase0) + 0xD),
- (void*)(((char*)&d_a_npc_bou__stringBase0) + 0x16),
- (void*)(((char*)&d_a_npc_bou__stringBase0) + 0x27),
- (void*)(((char*)&d_a_npc_bou__stringBase0) + 0x38),
- (void*)(((char*)&d_a_npc_bou__stringBase0) + 0xC4),
- (void*)(((char*)&d_a_npc_bou__stringBase0) + 0x40),
- (void*)(((char*)&d_a_npc_bou__stringBase0) + 0x5A),
- (void*)(((char*)&d_a_npc_bou__stringBase0) + 0x64),
-};
-
-/* 80973148-80973154 -00001 000C+00 0/1 0/0 0/0 .data @3934 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3934[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)cutWildGoat__11daNpc_Bou_cFi,
-};
-#pragma pop
-
-/* 80973154-80973160 -00001 000C+00 0/1 0/0 0/0 .data @3935 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3935[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)cutWildGoatSuccess__11daNpc_Bou_cFi,
-};
-#pragma pop
-
-/* 80973160-8097316C -00001 000C+00 0/1 0/0 0/0 .data @3936 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3936[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)cutWildGoatFailure__11daNpc_Bou_cFi,
-};
-#pragma pop
-
-/* 8097316C-80973178 -00001 000C+00 0/1 0/0 0/0 .data @3937 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3937[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)cutSpeakTo__11daNpc_Bou_cFi,
+char* daNpc_Bou_c::mCutNameList[9] = {
+ "",
+ "WILDGOAT",
+ "WILDGOAT_SUCCESS",
+ "WILDGOAT_FAILURE",
+ "SPEAKTO",
+ "CONVERSATION_WITH_BOU",
+ "CONFIDENTIAL_CONVERSATION",
+ "FIND_WOLF",
+ "MEETING_AGAIN"
};
-#pragma pop
-
-/* 80973178-80973184 -00001 000C+00 0/1 0/0 0/0 .data @3938 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3938[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)cutConversationWithBou__11daNpc_Bou_cFi,
-};
-#pragma pop
-
-/* 80973184-80973190 -00001 000C+00 0/1 0/0 0/0 .data @3939 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3939[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)cutConfidentialConversation__11daNpc_Bou_cFi,
-};
-#pragma pop
-
-/* 80973190-8097319C -00001 000C+00 0/1 0/0 0/0 .data @3940 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3940[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)cutFindWolf__11daNpc_Bou_cFi,
-};
-#pragma pop
-
-/* 8097319C-809731A8 -00001 000C+00 0/1 0/0 0/0 .data @3941 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3941[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)cutMeetingAgain__11daNpc_Bou_cFi,
-};
-#pragma pop
/* 809731A8-80973214 000718 006C+00 1/2 0/0 0/0 .data mCutList__11daNpc_Bou_c */
-SECTION_DATA u8 daNpc_Bou_c::mCutList[108] = {
- 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,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-
-/* 80973214-80973220 -00001 000C+00 1/1 0/0 0/0 .data @4712 */
-SECTION_DATA static void* lit_4712[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)talk__11daNpc_Bou_cFPv,
-};
-
-/* 80973220-8097322C -00001 000C+00 1/1 0/0 0/0 .data @4781 */
-SECTION_DATA static void* lit_4781[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)talk__11daNpc_Bou_cFPv,
-};
-
-/* 8097322C-80973238 -00001 000C+00 1/1 0/0 0/0 .data @4786 */
-SECTION_DATA static void* lit_4786[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)talk__11daNpc_Bou_cFPv,
-};
-
-/* 80973238-80973244 -00001 000C+00 1/1 0/0 0/0 .data @5136 */
-SECTION_DATA static void* lit_5136[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)talkwithJagar__11daNpc_Bou_cFPv,
-};
-
-/* 80973244-80973250 -00001 000C+00 1/1 0/0 0/0 .data @5138 */
-SECTION_DATA static void* lit_5138[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)wait__11daNpc_Bou_cFPv,
-};
-
-/* 80973250-80973274 -00001 0024+00 1/1 0/0 0/0 .data @5286 */
-SECTION_DATA static void* lit_5286[9] = {
- (void*)(((char*)cutWildGoat__11daNpc_Bou_cFi) + 0xE0),
- (void*)(((char*)cutWildGoat__11daNpc_Bou_cFi) + 0x1EC),
- (void*)(((char*)cutWildGoat__11daNpc_Bou_cFi) + 0x110),
- (void*)(((char*)cutWildGoat__11daNpc_Bou_cFi) + 0x1EC),
- (void*)(((char*)cutWildGoat__11daNpc_Bou_cFi) + 0x1EC),
- (void*)(((char*)cutWildGoat__11daNpc_Bou_cFi) + 0x144),
- (void*)(((char*)cutWildGoat__11daNpc_Bou_cFi) + 0x15C),
- (void*)(((char*)cutWildGoat__11daNpc_Bou_cFi) + 0x1D8),
- (void*)(((char*)cutWildGoat__11daNpc_Bou_cFi) + 0x1EC),
-};
-
-/* 80973274-80973294 -00001 0020+00 1/0 0/0 0/0 .data daNpc_Bou_MethodTable */
-static actor_method_class daNpc_Bou_MethodTable = {
- (process_method_func)daNpc_Bou_Create__FPv,
- (process_method_func)daNpc_Bou_Delete__FPv,
- (process_method_func)daNpc_Bou_Execute__FPv,
- (process_method_func)daNpc_Bou_IsDelete__FPv,
- (process_method_func)daNpc_Bou_Draw__FPv,
-};
-
-/* 80973294-809732C4 -00001 0030+00 0/0 0/0 1/0 .data g_profile_NPC_BOU */
-extern actor_process_profile_definition g_profile_NPC_BOU = {
- fpcLy_CURRENT_e, // mLayerID
- 7, // mListID
- fpcPi_CURRENT_e, // mListPrio
- PROC_NPC_BOU, // mProcName
- &g_fpcLf_Method.base, // sub_method
- sizeof(daNpc_Bou_c), // mSize
- 0, // mSizeOther
- 0, // mParameters
- &g_fopAc_Method.base, // sub_method
- 324, // mPriority
- &daNpc_Bou_MethodTable, // sub_method
- 0x00040107, // mStatus
- fopAc_NPC_e, // mActorType
- fopAc_CULLBOX_CUSTOM_e, // cullType
-};
-
-/* 809732C4-809732D0 000834 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,
-};
-
-/* 809732D0-809732DC 000840 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,
-};
-
-/* 809732DC-80973300 00084C 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_80972844,
- (void*)NULL,
- (void*)NULL,
- (void*)func_8097283C,
-};
-
-/* 80973300-8097330C 000870 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,
-};
-
-/* 8097330C-80973318 00087C 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,
-};
-
-/* 80973318-80973324 000888 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,
-};
-
-/* 80973324-80973330 000894 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,
-};
-
-/* 80973330-8097333C 0008A0 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,
-};
-
-/* 8097333C-80973348 0008AC 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,
-};
-
-/* 80973348-80973354 0008B8 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,
-};
-
-/* 80973354-80973360 0008C4 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,
-};
-
-/* 80973360-8097336C 0008D0 000C+00 3/3 0/0 0/0 .data __vt__13daNpcT_Path_c */
-SECTION_DATA extern void* __vt__13daNpcT_Path_c[3] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__13daNpcT_Path_cFv,
-};
-
-/* 8097336C-80973430 0008DC 00C4+00 2/2 0/0 0/0 .data __vt__11daNpc_Bou_c */
-SECTION_DATA extern void* __vt__11daNpc_Bou_c[49] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__11daNpc_Bou_cFv,
- (void*)ctrlBtk__8daNpcT_cFv,
- (void*)ctrlSubFaceMotion__8daNpcT_cFi,
- (void*)checkChangeJoint__11daNpc_Bou_cFi,
- (void*)checkRemoveJoint__11daNpc_Bou_cFi,
- (void*)getBackboneJointNo__11daNpc_Bou_cFv,
- (void*)getNeckJointNo__11daNpc_Bou_cFv,
- (void*)getHeadJointNo__11daNpc_Bou_cFv,
- (void*)getFootLJointNo__8daNpcT_cFv,
- (void*)getFootRJointNo__8daNpcT_cFv,
- (void*)getEyeballLMaterialNo__8daNpcT_cFv,
- (void*)getEyeballRMaterialNo__8daNpcT_cFv,
- (void*)getEyeballMaterialNo__11daNpc_Bou_cFv,
- (void*)ctrlJoint__8daNpcT_cFP8J3DJointP8J3DModel,
- (void*)afterJntAnm__11daNpc_Bou_cFi,
- (void*)setParam__11daNpc_Bou_cFv,
- (void*)checkChangeEvt__11daNpc_Bou_cFv,
- (void*)evtTalk__11daNpc_Bou_cFv,
- (void*)evtEndProc__11daNpc_Bou_cFv,
- (void*)evtCutProc__11daNpc_Bou_cFv,
- (void*)setAfterTalkMotion__11daNpc_Bou_cFv,
- (void*)evtProc__8daNpcT_cFv,
- (void*)action__11daNpc_Bou_cFv,
- (void*)beforeMove__11daNpc_Bou_cFv,
- (void*)afterMoved__8daNpcT_cFv,
- (void*)setAttnPos__11daNpc_Bou_cFv,
- (void*)setFootPos__8daNpcT_cFv,
- (void*)setCollision__11daNpc_Bou_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_Bou_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__11daNpc_Bou_cFPiPi,
- (void*)changeBck__8daNpcT_cFPiPi,
- (void*)changeBtp__8daNpcT_cFPiPi,
- (void*)changeBtk__8daNpcT_cFPiPi,
- (void*)setMotionAnm__8daNpcT_cFifi,
+daNpc_Bou_c::cutFunc daNpc_Bou_c::mCutList[9] = {
+ NULL,
+ &daNpc_Bou_c::cutWildGoat,
+ &daNpc_Bou_c::cutWildGoatSuccess,
+ &daNpc_Bou_c::cutWildGoatFailure,
+ &daNpc_Bou_c::cutSpeakTo,
+ &daNpc_Bou_c::cutConversationWithBou,
+ &daNpc_Bou_c::cutConfidentialConversation,
+ &daNpc_Bou_c::cutFindWolf,
+ &daNpc_Bou_c::cutMeetingAgain
};
/* 8096CF8C-8096D0D8 0000EC 014C+00 1/0 0/0 0/0 .text __dt__11daNpc_Bou_cFv */
daNpc_Bou_c::~daNpc_Bou_c() {
- // NONMATCHING
+ if (mpMorf[0] != 0) {
+ mpMorf[0]->stopZelAnime();
+ }
+ deleteRes(l_loadResPtrnList[mType], (char const**)l_resNameList);
}
/* ############################################################################################## */
/* 80972860-809728FC 000000 009C+00 13/13 0/0 1/1 .rodata m__17daNpc_Bou_Param_c */
daNpc_Bou_Param_c::Data const daNpc_Bou_Param_c::m= {
- 255.0f, -3.0f, 1.0f, 600.0f, 255.0f, 200.0f, 35.0f, 40.0f,
+ 210.0f, -3.0f, 1.0f, 600.0f, 255.0f, 200.0f, 35.0f, 40.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, 500.0f, 300.0f, -300.0f,
60, 8, 0.0f, 0.0f, 4.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 16.0f, 1000.0f, 500.0f, -500.0f,
};
-COMPILER_STRIP_GATE(0x80972860, &daNpc_Bou_Param_c::m);
-
-/* 809728FC-80972914 00009C 0018+00 0/1 0/0 0/0 .rodata heapSize$4096 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const heapSize[24] = {
- 0x00, 0x00, 0x3D, 0x50, 0x00, 0x00, 0x3D, 0x50, 0x00, 0x00, 0x3D, 0x50,
- 0x00, 0x00, 0x3D, 0x50, 0x00, 0x00, 0x3D, 0x50, 0x00, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x809728FC, &heapSize);
-#pragma pop
-
-/* 80972914-80972918 0000B4 0004+00 0/1 0/0 0/0 .rodata @4162 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4162 = -200.0f;
-COMPILER_STRIP_GATE(0x80972914, &lit_4162);
-#pragma pop
-
-/* 80972918-8097291C 0000B8 0004+00 0/1 0/0 0/0 .rodata @4163 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4163 = -100.0f;
-COMPILER_STRIP_GATE(0x80972918, &lit_4163);
-#pragma pop
-
-/* 8097291C-80972920 0000BC 0004+00 0/1 0/0 0/0 .rodata @4164 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4164 = 200.0f;
-COMPILER_STRIP_GATE(0x8097291C, &lit_4164);
-#pragma pop
-
-/* 80972920-80972924 0000C0 0004+00 0/2 0/0 0/0 .rodata @4165 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4165 = 300.0f;
-COMPILER_STRIP_GATE(0x80972920, &lit_4165);
-#pragma pop
-
-/* 80972924-80972928 0000C4 0004+00 0/1 0/0 0/0 .rodata @4166 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4166 = -1000000000.0f;
-COMPILER_STRIP_GATE(0x80972924, &lit_4166);
-#pragma pop
/* 8096D0D8-8096D38C 000238 02B4+00 1/1 0/0 0/0 .text create__11daNpc_Bou_cFv */
-void daNpc_Bou_c::create() {
- // NONMATCHING
-}
-
-/* ############################################################################################## */
-/* 80972928-8097292C 0000C8 0004+00 7/18 0/0 0/0 .rodata @4328 */
-SECTION_RODATA static u8 const lit_4328[4] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
-};
-COMPILER_STRIP_GATE(0x80972928, &lit_4328);
-
-/* 8097292C-80972930 0000CC 0004+00 0/2 0/0 0/0 .rodata @4329 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4329 = 65536.0f;
-COMPILER_STRIP_GATE(0x8097292C, &lit_4329);
-#pragma pop
-
-/* 80972930-80972934 0000D0 0004+00 0/3 0/0 0/0 .rodata @4330 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4330 = 1.0f / 5.0f;
-COMPILER_STRIP_GATE(0x80972930, &lit_4330);
-#pragma pop
-
-/* 80972934-80972938 0000D4 0004+00 2/4 0/0 0/0 .rodata @4472 */
-SECTION_RODATA static f32 const lit_4472 = 1.0f;
-COMPILER_STRIP_GATE(0x80972934, &lit_4472);
-
-/* 8096D38C-8096D5FC 0004EC 0270+00 1/1 0/0 0/0 .text CreateHeap__11daNpc_Bou_cFv */
-void daNpc_Bou_c::CreateHeap() {
- // NONMATCHING
-}
-
-/* 8096D5FC-8096D638 00075C 003C+00 1/1 0/0 0/0 .text __dt__15J3DTevKColorAnmFv */
-// J3DTevKColorAnm::~J3DTevKColorAnm() {
-extern "C" void __dt__15J3DTevKColorAnmFv() {
- // NONMATCHING
-}
-
-/* 8096D638-8096D650 000798 0018+00 1/1 0/0 0/0 .text __ct__15J3DTevKColorAnmFv */
-// J3DTevKColorAnm::J3DTevKColorAnm() {
-extern "C" void __ct__15J3DTevKColorAnmFv() {
- // NONMATCHING
-}
+int daNpc_Bou_c::create() {
+ static int const heapSize[6] = {15696, 15696, 15696, 15696, 15696, 0};
+ fopAcM_SetupActor2(this, daNpc_Bou_c, l_faceMotionAnmData, l_motionAnmData,
+ l_faceMotionSequenceData, 4, l_motionSequenceData, 4,
+ l_evtList, l_resNameList
+ );
+ mType = getType();
+ mFlowNodeNo = getFlowNodeNo();
+ mTwilight = 0;
+ int rv = loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList);
+ if (rv == 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_Bou_Param_c::m.field_0x10, 0, this);
+ mCyl1.Set(mCcDCyl);
+ mCyl1.SetStts(&mCcStts);
+ mCyl1.SetTgHitCallback(tgHitCallBack);
+ mAcch.CrrPos(dComIfG_Bgsp());
+ mGndChk = mAcch.m_gnd;
+ mGroundH = mAcch.GetGroundH();
+ if (mGroundH != -1000000000.0f) {
+ setEnvTevColor();
+ setRoomNo();
+ }
+
+ mCreating = 1;
+ Execute();
+ mCreating = 0;
+ }
-/* 8096D650-8096D68C 0007B0 003C+00 1/1 0/0 0/0 .text __dt__14J3DTevColorAnmFv */
-// J3DTevColorAnm::~J3DTevColorAnm() {
-extern "C" void __dt__14J3DTevColorAnmFv() {
- // NONMATCHING
+ return rv;
}
-/* 8096D68C-8096D6A4 0007EC 0018+00 1/1 0/0 0/0 .text __ct__14J3DTevColorAnmFv */
-// J3DTevColorAnm::J3DTevColorAnm() {
-extern "C" void __ct__14J3DTevColorAnmFv() {
- // NONMATCHING
+static f32 dummy(u8 i_dummy) {
+ if (i_dummy == 0) {
+ return 0.0f;
+ } else if (i_dummy == 1) {
+ return 65536.0f;
+ } else {
+ return 0.2f;
+ }
}
-/* 8096D6A4-8096D6EC 000804 0048+00 1/1 0/0 0/0 .text __dt__11J3DTexNoAnmFv */
-// J3DTexNoAnm::~J3DTexNoAnm() {
-extern "C" void __dt__11J3DTexNoAnmFv() {
- // NONMATCHING
-}
+/* 8096D38C-8096D5FC 0004EC 0270+00 1/1 0/0 0/0 .text CreateHeap__11daNpc_Bou_cFv */
+int daNpc_Bou_c::CreateHeap() {
+ J3DModelData* modelData = static_cast<J3DModelData*>(dComIfG_getObjectRes(
+ l_resNameList[l_bmdData[0][1]], l_bmdData[0][0]));
+ if (modelData == NULL) {
+ return 0;
+ }
-/* 8096D6EC-8096D710 00084C 0024+00 1/1 0/0 0/0 .text __ct__11J3DTexNoAnmFv */
-// J3DTexNoAnm::J3DTexNoAnm() {
-extern "C" void __ct__11J3DTexNoAnmFv() {
- // NONMATCHING
-}
+ 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;
+ }
-/* 8096D710-8096D74C 000870 003C+00 1/1 0/0 0/0 .text __dt__12J3DTexMtxAnmFv */
-// J3DTexMtxAnm::~J3DTexMtxAnm() {
-extern "C" void __dt__12J3DTexMtxAnmFv() {
- // NONMATCHING
-}
+ J3DModel* model = mpMorf[0]->getModel();
+ for (u16 i = 0; i < modelData->getJointNum(); i++) {
+ modelData->getJointNodePointer(i)->setCallBack(ctrlJointCallBack);
+ }
-/* 8096D74C-8096D764 0008AC 0018+00 1/1 0/0 0/0 .text __ct__12J3DTexMtxAnmFv */
-// J3DTexMtxAnm::J3DTexMtxAnm() {
-extern "C" void __ct__12J3DTexMtxAnmFv() {
- // NONMATCHING
-}
+ model->setUserArea((u32)this);
+ mpMatAnm[0] = new daNpcT_MatAnm_c();
+ if (mpMatAnm[0] == NULL) {
+ return 0;
+ }
-/* 8096D764-8096D7A0 0008C4 003C+00 1/1 0/0 0/0 .text __dt__14J3DMatColorAnmFv */
-// J3DMatColorAnm::~J3DMatColorAnm() {
-extern "C" void __dt__14J3DMatColorAnmFv() {
- // NONMATCHING
-}
+ if (setFaceMotionAnm(1, false) && setMotionAnm(0, 0.0f, 0)) {
+ return 1;
+ }
-/* 8096D7A0-8096D7B8 000900 0018+00 1/1 0/0 0/0 .text __ct__14J3DMatColorAnmFv */
-// J3DMatColorAnm::J3DMatColorAnm() {
-extern "C" void __ct__14J3DMatColorAnmFv() {
- // NONMATCHING
+ return 0;
}
/* 8096D7B8-8096D7EC 000918 0034+00 1/1 0/0 0/0 .text Delete__11daNpc_Bou_cFv */
-void daNpc_Bou_c::Delete() {
- // NONMATCHING
+int daNpc_Bou_c::Delete() {
+ fopAcM_GetID(this);
+ this->~daNpc_Bou_c();
+ return 1;
}
/* 8096D7EC-8096D80C 00094C 0020+00 2/2 0/0 0/0 .text Execute__11daNpc_Bou_cFv */
-void daNpc_Bou_c::Execute() {
- // NONMATCHING
+int daNpc_Bou_c::Execute() {
+ return daNpcT_c::execute();
}
-/* ############################################################################################## */
-/* 80972938-8097293C 0000D8 0004+00 1/1 0/0 0/0 .rodata @4521 */
-SECTION_RODATA static f32 const lit_4521 = 100.0f;
-COMPILER_STRIP_GATE(0x80972938, &lit_4521);
-
/* 8096D80C-8096D8A0 00096C 0094+00 1/1 0/0 0/0 .text Draw__11daNpc_Bou_cFv */
-void daNpc_Bou_c::Draw() {
- // NONMATCHING
+int daNpc_Bou_c::Draw() {
+ if (mpMatAnm[0] != NULL) {
+ J3DModelData* modelData = mpMorf[0]->getModel()->getModelData();
+ modelData->getMaterialNodePointer(getEyeballMaterialNo())->setMaterialAnm(mpMatAnm[0]);
+ }
+ return daNpcT_c::draw(0, 0, field_0xde8, NULL, 100.0f, 0, 0, 0);
}
/* 8096D8A0-8096D8C0 000A00 0020+00 1/1 0/0 0/0 .text
* createHeapCallBack__11daNpc_Bou_cFP10fopAc_ac_c */
-void daNpc_Bou_c::createHeapCallBack(fopAc_ac_c* param_0) {
- // NONMATCHING
+int daNpc_Bou_c::createHeapCallBack(fopAc_ac_c* i_this) {
+ return static_cast<daNpc_Bou_c*>(i_this)->CreateHeap();
}
/* 8096D8C0-8096D918 000A20 0058+00 1/1 0/0 0/0 .text ctrlJointCallBack__11daNpc_Bou_cFP8J3DJointi
*/
-void daNpc_Bou_c::ctrlJointCallBack(J3DJoint* param_0, int param_1) {
- // NONMATCHING
+int daNpc_Bou_c::ctrlJointCallBack(J3DJoint* param_0, int param_1) {
+ if (param_1 == 0) {
+ J3DModel* model = j3dSys.getModel();
+ daNpc_Bou_c* i_this = reinterpret_cast<daNpc_Bou_c*>(model->getUserArea());
+ if (i_this != 0) {
+ i_this->ctrlJoint(param_0, model);
+ }
+ }
+
+ return 1;
}
/* 8096D918-8096D9B4 000A78 009C+00 1/1 0/0 0/0 .text srchCow__11daNpc_Bou_cFPvPv */
-void daNpc_Bou_c::srchCow(void* param_0, void* param_1) {
- // NONMATCHING
+void* daNpc_Bou_c::srchCow(void* arg0, void* arg1) {
+ if (mFindCount < 50 && arg0 != NULL && arg0 != arg1) {
+ if (fopAcM_IsExecuting(fopAcM_GetID(arg0)) && fopAcM_GetName(arg0) == PROC_COW) {
+ mFindActorPtrs[mFindCount] = (fopAc_ac_c*)arg0;
+ mFindCount++;
+ }
+ }
+ return NULL;
}
-/* ############################################################################################## */
-/* 8097293C-80972940 0000DC 0004+00 1/1 0/0 0/0 .rodata @4568 */
-SECTION_RODATA static f32 const lit_4568 = 1000000000.0f;
-COMPILER_STRIP_GATE(0x8097293C, &lit_4568);
-
/* 8096D9B4-8096DA78 000B14 00C4+00 1/1 0/0 0/0 .text getCowP__11daNpc_Bou_cFv */
-void daNpc_Bou_c::getCowP() {
- // NONMATCHING
+fopAc_ac_c* daNpc_Bou_c::getCowP() {
+ fopAc_ac_c* pActor = NULL;
+ f32 minDist = 1e9f;
+ mFindCount = 0;
+ fopAcM_Search(srchCow, this);
+ for (int i = 0; i < mFindCount; i++) {
+ if (fopAcM_searchActorDistance(this, mFindActorPtrs[i]) < minDist)
+ {
+ minDist = fopAcM_searchActorDistance(this, mFindActorPtrs[i]);
+ pActor = mFindActorPtrs[i];
+ }
+ }
+
+ return pActor;
}
/* 8096DA78-8096DADC 000BD8 0064+00 1/1 0/0 2/2 .text getType__11daNpc_Bou_cFv */
@@ -1101,53 +358,242 @@ u8 daNpc_Bou_c::getType() {
}
/* 8096DADC-8096DBBC 000C3C 00E0+00 1/1 0/0 0/0 .text isDelete__11daNpc_Bou_cFv */
-void daNpc_Bou_c::isDelete() {
- // NONMATCHING
+int daNpc_Bou_c::isDelete() {
+ switch (mType) {
+ case TYPE_0: {
+ return FALSE;
+ }
+
+ case TYPE_1: {
+ bool rv = true;
+ if (!daNpcT_chkEvtBit(0xd3) && !dComIfGs_isCollectShield(0)) {
+ rv = false;
+ }
+
+ return rv;
+ }
+
+ case TYPE_2: {
+ bool rv = false;
+ if (!daNpcT_chkEvtBit(0xa4) || daNpcT_chkEvtBit(0x3b)) {
+ rv = true;
+ }
+
+ return rv;
+ }
+
+ case TYPE_3: {
+ return FALSE;
+ }
+
+ case TYPE_4: {
+ return FALSE;
+ }
+
+ default: {
+ return FALSE;
+ }
+ }
}
/* 8096DBBC-8096DD44 000D1C 0188+00 1/1 0/0 0/0 .text reset__11daNpc_Bou_cFv */
void daNpc_Bou_c::reset() {
- // NONMATCHING
+ csXyz acStack_20;
+ int iVar1 = (u8*)&field_0xff8 - (u8*)&field_0xfc4;
+ if (mpMatAnm[0] != NULL) {
+ mpMatAnm[0]->initialize();
+ }
+
+ initialize();
+ for (int i = 0; i < 3; i++) {
+ mActorMngr[i].initialize();
+ }
+
+ memset(&field_0xfc4, 0, iVar1);
+ acStack_20.setall(0);
+ acStack_20.y = home.angle.y;
+ daNpcT_offTmpBit(0x1C);
+ daNpcT_offTmpBit(0x59);
+ setAngle(acStack_20);
}
/* 8096DD44-8096DDC8 000EA4 0084+00 1/0 0/0 0/0 .text afterJntAnm__11daNpc_Bou_cFi */
-void daNpc_Bou_c::afterJntAnm(int param_0) {
- // NONMATCHING
+void daNpc_Bou_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));
+ }
}
/* 8096DDC8-8096DF9C 000F28 01D4+00 1/0 0/0 0/0 .text setParam__11daNpc_Bou_cFv */
void daNpc_Bou_c::setParam() {
- // NONMATCHING
+ selectAction();
+ srchActors();
+ u32 uVar7 = 10;
+ s16 sVar10 = daNpc_Bou_Param_c::m.field_0x48;
+ s16 sVar9 = daNpc_Bou_Param_c::m.field_0x4a;
+ s16 sVar8 = daNpc_Bou_Param_c::m.field_0x4c;
+ s16 sVar7 = daNpc_Bou_Param_c::m.field_0x4e;
+ if (mType == TYPE_1) {
+ field_0xfe0 = 3;
+ field_0xfe4 = 6;
+ sVar10 = 19;
+ sVar9 = 6;
+ sVar8 = 19;
+ sVar7 = 6;
+ }
+
+ if (daPy_getPlayerActorClass()->checkHorseRide()) {
+ if (sVar10 < 7) {
+ sVar10 = 7;
+ }
+
+ if (sVar8 < 9) {
+ sVar8 = 9;
+ }
+ }
+
+ attention_info.distances[0] = daNpcT_getDistTableIdx(sVar8, sVar7);
+ attention_info.distances[1] = attention_info.distances[0];
+ attention_info.distances[3] = daNpcT_getDistTableIdx(sVar10, sVar9);
+ if (mType == TYPE_1) {
+ uVar7 |= (0x80 << 16);
+ field_0xfdc = getActorDistance(daPy_getPlayerActorClass(),
+ daNpcT_getDistTableIdx(field_0xfe0, field_0xfe4),
+ attention_info.distances[1]);
+ if (field_0xfdc < 4) {
+ g_meter2_info.mBlinkButton |= 1;
+ }
+
+ field_0xe2d = 1;
+ }
+
+ attention_info.flags = uVar7;
+ scale.set(daNpc_Bou_Param_c::m.field_0x08, daNpc_Bou_Param_c::m.field_0x08,
+ daNpc_Bou_Param_c::m.field_0x08);
+ mCcStts.SetWeight(daNpc_Bou_Param_c::m.field_0x10);
+ mCylH = daNpc_Bou_Param_c::m.field_0x14;
+ mWallR = daNpc_Bou_Param_c::m.field_0x1c;
+ mAttnFovY = daNpc_Bou_Param_c::m.field_0x50;
+ mAcchCir.SetWallR(mWallR);
+ mAcchCir.SetWallH(daNpc_Bou_Param_c::m.field_0x18);
+ field_0xde8 = daNpc_Bou_Param_c::m.field_0x0c;
+ field_0xa80 = daNpc_Bou_Param_c::m.field_0x6c;
+ mMorfFrames = daNpc_Bou_Param_c::m.field_0x44;
+ gravity = daNpc_Bou_Param_c::m.field_0x04;
}
/* 8096DF9C-8096E0EC 0010FC 0150+00 1/0 0/0 0/0 .text checkChangeEvt__11daNpc_Bou_cFv */
BOOL daNpc_Bou_c::checkChangeEvt() {
- // NONMATCHING
-}
+ if (!chkAction(&daNpc_Bou_c::talk)) {
+ mPreItemNo = 0;
+ if (dComIfGp_event_chkTalkXY()) {
+ if (dComIfGp_evmng_ChkPresentEnd()) {
+ mEvtNo = 1;
+ evtChange();
+ }
+
+ return true;
+ }
+
+ switch (mType) {
+ case TYPE_0: {
+ if (!daNpcT_chkEvtBit(0x24A)) {
+ mEvtNo = 2;
+ evtChange();
+ return true;
+ }
+
+ break;
+ }
+
+ case TYPE_1: {
+ if (field_0xfdc < 4) {
+ mEvtNo = 6;
+ evtChange();
+ return true;
+ }
+
+ break;
+ }
+
+ case TYPE_4: {
+ if (!daNpcT_chkEvtBit(0xB3)) {
+ mEvtNo = 2;
+ evtChange();
+ return true;
+ }
+
+ break;
+ }
+ }
+ }
-/* ############################################################################################## */
-/* 80972940-80972948 0000E0 0004+04 5/12 0/0 0/0 .rodata @4758 */
-SECTION_RODATA static f32 const lit_4758[1 + 1 /* padding */] = {
- -1.0f,
- /* padding */
- 0.0f,
-};
-COMPILER_STRIP_GATE(0x80972940, &lit_4758);
+ return false;
+}
/* 8096E0EC-8096E18C 00124C 00A0+00 1/0 0/0 0/0 .text setAfterTalkMotion__11daNpc_Bou_cFv
*/
void daNpc_Bou_c::setAfterTalkMotion() {
- // NONMATCHING
+ int iVar2 = 10;
+ switch(mFaceMotionSeqMngr.getNo()) {
+ case 1:
+ iVar2 = 6;
+ break;
+ case 3:
+ iVar2 = 8;
+ break;
+ case 4:
+ iVar2 = 9;
+ break;
+ }
+ mFaceMotionSeqMngr.setNo(iVar2, -1.0f, 0, 0);
}
/* 8096E18C-8096E27C 0012EC 00F0+00 1/1 0/0 0/0 .text srchActors__11daNpc_Bou_cFv */
void daNpc_Bou_c::srchActors() {
- // NONMATCHING
+ switch (mType) {
+ case TYPE_0: {
+ if (!mActorMngr[0].getActorP()) {
+ mActorMngr[0].entry(getCowP());
+ }
+
+ break;
+ }
+
+ case TYPE_1: {
+ if (!mActorMngr[2].getActorP()) {
+ mActorMngr[2].entry(getNearestActorP(0x15A));
+ }
+
+ if (!mActorMngr[1].getActorP()) {
+ mActorMngr[1].entry(getNearestActorP(0x258));
+ }
+ break;
+ }
+
+ case TYPE_4: {
+ if (!mActorMngr[0].getActorP()) {
+ mActorMngr[0].entry(getCowP());
+ }
+
+ break;
+ }
+ }
}
/* 8096E27C-8096E31C 0013DC 00A0+00 1/0 0/0 0/0 .text evtTalk__11daNpc_Bou_cFv */
BOOL daNpc_Bou_c::evtTalk() {
- // NONMATCHING
+ if (chkAction(&daNpc_Bou_c::talk)) {
+ (this->*field_0xfd0)(NULL);
+ } else {
+ setAction(&daNpc_Bou_c::talk);
+ }
+
+ return 1;
}
/* 8096E31C-8096E324 00147C 0008+00 1/0 0/0 0/0 .text evtEndProc__11daNpc_Bou_cFv */
@@ -1157,87 +603,139 @@ BOOL daNpc_Bou_c::evtEndProc() {
/* 8096E324-8096E3EC 001484 00C8+00 1/0 0/0 0/0 .text evtCutProc__11daNpc_Bou_cFv */
BOOL daNpc_Bou_c::evtCutProc() {
- // NONMATCHING
-}
+ int staffId = dComIfGp_getEventManager().getMyStaffId("Bou", this, -1);
+ if (staffId != -1) {
+ mStaffId = staffId;
+ int actIdx = dComIfGp_getEventManager().getMyActIdx(mStaffId, (char**)mCutNameList, 9, 0, 0);
+ if ((this->*(mCutList[actIdx]))(mStaffId) != 0) {
+ dComIfGp_getEventManager().cutEnd(mStaffId);
+ }
-/* ############################################################################################## */
-/* 80972948-80972950 0000E8 0008+00 0/2 0/0 0/0 .rodata @4940 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_4940[8] = {
- 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80972948, &lit_4940);
-#pragma pop
-
-/* 80972950-80972958 0000F0 0008+00 0/2 0/0 0/0 .rodata @4941 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_4941[8] = {
- 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80972950, &lit_4941);
-#pragma pop
-
-/* 80972958-80972960 0000F8 0008+00 0/2 0/0 0/0 .rodata @4942 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_4942[8] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80972958, &lit_4942);
-#pragma pop
+ return true;
+ }
+
+ return false;
+}
/* 8096E3EC-8096E7E0 00154C 03F4+00 1/0 0/0 0/0 .text action__11daNpc_Bou_cFv */
void daNpc_Bou_c::action() {
- // NONMATCHING
+ fopAc_ac_c* hit_actor = hitChk(&mCyl1, 0xffffffff);
+ if (hit_actor != NULL && mCyl1.GetTgHitObj()->ChkAtType(AT_TYPE_THROW_OBJ)) {
+ if (mType == TYPE_1) {
+ daNpc_Jagar_c* jagar = (daNpc_Jagar_c*) mActorMngr[1].getActorP();
+ if (jagar && jagar->getType() == TYPE_1 && jagar->chkCondition(1)) {
+ jagar->setSurpriseMotion();
+ }
+ }
+
+ mStagger.setParam(this, hit_actor, mCurAngle.y);
+ setDamage(0, 10, 0);
+ mDamageTimerStart = 0;
+ mJntAnm.lookNone(1);
+ }
+
+ if (mStagger.checkRebirth()) {
+ mStagger.initialize();
+ mMode = 1;
+ }
+
+ if (field_0xfc4) {
+ if (field_0xfd0 == field_0xfc4) {
+ (this->*field_0xfd0)(NULL);
+ } else {
+ setAction(field_0xfc4);
+ }
+ }
+
+ hit_actor = field_0xba0.getActorP();
+ if (hit_actor != NULL) {
+ abs( (s16)(fopAcM_searchPlayerAngleY(this) - mCurAngle.y) );
+ switch (((daTag_Push_c*) hit_actor)->getId()) {
+ case 7: {
+ mEvtNo = 8;
+ if (daNpc_Bou_Param_c::m.field_0x54 < current.pos.absXZ(daPy_getPlayerActorClass()->current.pos)) {
+ if (daPy_getPlayerActorClass()->checkHorseRide()) {
+ mEvtNo = 9;
+ }
+ } else {
+ mEvtNo = 10;
+ }
+ }
+ }
+ }
}
/* 8096E7E0-8096E8A4 001940 00C4+00 1/0 0/0 0/0 .text beforeMove__11daNpc_Bou_cFv */
void daNpc_Bou_c::beforeMove() {
- // NONMATCHING
-}
-
-/* ############################################################################################## */
-/* 80972960-80972964 000100 0004+00 0/1 0/0 0/0 .rodata @5018 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_5018 = -30.0f;
-COMPILER_STRIP_GATE(0x80972960, &lit_5018);
-#pragma pop
-
-/* 80972964-80972968 000104 0004+00 0/1 0/0 0/0 .rodata @5019 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_5019 = 10.0f;
-COMPILER_STRIP_GATE(0x80972964, &lit_5019);
-#pragma pop
-
-/* 80972968-80972970 000108 0004+04 0/1 0/0 0/0 .rodata @5020 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u32 const lit_5020[1 + 1 /* padding */] = {
- 0x38C90FDB,
- /* padding */
- 0x00000000,
-};
-COMPILER_STRIP_GATE(0x80972968, &lit_5020);
-#pragma pop
+ fopAcM_OffStatus(this, 0x8000000);
+ if (checkHide()) {
+ fopAcM_OnStatus(this, 0x8000000);
+ }
-/* 80972970-80972978 000110 0008+00 1/3 0/0 0/0 .rodata @5022 */
-SECTION_RODATA static u8 const lit_5022[8] = {
- 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80972970, &lit_5022);
+ if (checkHide() || mNoDraw != 0) {
+ attention_info.flags = 0;
+ }
+}
/* 8096E8A4-8096EB14 001A04 0270+00 1/0 0/0 0/0 .text setAttnPos__11daNpc_Bou_cFv */
void daNpc_Bou_c::setAttnPos() {
- // NONMATCHING
+ cXyz cStack_3c(-30.0f, 10.0f, 0.0f);
+ mStagger.calc(0);
+ f32 dVar8 = cM_s2rad(mCurAngle.y - field_0xd7e.y);
+ J3DModel* model = mpMorf[0]->getModel();
+ mJntAnm.setParam(this, model, &cStack_3c, getBackboneJointNo(), getNeckJointNo(),
+ getHeadJointNo(), daNpc_Bou_Param_c::m.field_0x24, daNpc_Bou_Param_c::m.field_0x20,
+ daNpc_Bou_Param_c::m.field_0x2c, daNpc_Bou_Param_c::m.field_0x28,
+ daNpc_Bou_Param_c::m.field_0x34, daNpc_Bou_Param_c::m.field_0x30,
+ daNpc_Bou_Param_c::m.field_0x3c, daNpc_Bou_Param_c::m.field_0x38,
+ daNpc_Bou_Param_c::m.field_0x40, dVar8, NULL);
+ mJntAnm.calcJntRad(0.2f, 1.0f, dVar8);
+ setMtx();
+ mDoMtx_stack_c::copy(mpMorf[0]->getModel()->getAnmMtx(getHeadJointNo()));
+ mDoMtx_stack_c::multVec(&cStack_3c, &eyePos);
+ mJntAnm.setEyeAngleX(eyePos, 1.0f, 0);
+ mJntAnm.setEyeAngleY(eyePos, mCurAngle.y, 1, 1.0f, 0);
+ cStack_3c.set(0.0f, 0.0f, 10.0f);
+ cStack_3c.y = daNpc_Bou_Param_c::m.field_0x00;
+ mDoMtx_stack_c::YrotS(mCurAngle.y);
+ mDoMtx_stack_c::multVec(&cStack_3c, &cStack_3c);
+ attention_info.position = current.pos + cStack_3c;
}
/* 8096EB14-8096EC6C 001C74 0158+00 1/0 0/0 0/0 .text setCollision__11daNpc_Bou_cFv */
void daNpc_Bou_c::setCollision() {
- // NONMATCHING
+ cXyz cStack_48;
+ if (mHide == 0) {
+ u32 tgType = -0x27040201;
+ u32 tgSPrm = 0x1f;
+ if (mTwilight) {
+ tgType = 0;
+ tgSPrm = 0;
+ } else {
+ if (mStagger.checkStagger()) {
+ tgType = 0;
+ tgSPrm = 0;
+ }
+ }
+
+ mCyl1.SetCoSPrm(0x79);
+ mCyl1.SetTgType(tgType);
+ mCyl1.SetTgSPrm(tgSPrm);
+ mCyl1.OnTgNoHitMark();
+ cStack_48.set(0.0f, 0.0f, 0.0f);
+ f32 cylHeight = mCylH;
+ f32 cylRadius = mWallR;
+ mDoMtx_stack_c::YrotS(mCurAngle.y);
+ mDoMtx_stack_c::multVec(&cStack_48, &cStack_48);
+ cStack_48 += current.pos;
+ mCyl1.SetH(cylHeight);
+ mCyl1.SetR(cylRadius);
+ mCyl1.SetC(cStack_48);
+ dComIfG_Ccsp()->Set(&mCyl1);
+ }
+
+ mCyl1.ClrCoHit();
+ mCyl1.ClrTgHit();
}
/* 8096EC6C-8096EC74 001DCC 0008+00 1/0 0/0 0/0 .text drawDbgInfo__11daNpc_Bou_cFv */
@@ -1247,484 +745,995 @@ int daNpc_Bou_c::drawDbgInfo() {
/* 8096EC74-8096ECC0 001DD4 004C+00 1/0 0/0 0/0 .text changeAnm__11daNpc_Bou_cFPiPi */
void daNpc_Bou_c::changeAnm(int* param_0, int* param_1) {
- // NONMATCHING
+ if (mType == 3) {
+ switch (*param_0) {
+ case 13: {
+ *param_0 = 3;
+ *param_1 = 5;
+ break;
+ }
+
+ case 20: {
+ *param_0 = 4;
+ *param_1 = 5;
+ break;
+ }
+ }
+ }
}
/* 8096ECC0-8096ED3C 001E20 007C+00 1/1 0/0 0/0 .text selectAction__11daNpc_Bou_cFv */
-void daNpc_Bou_c::selectAction() {
- // NONMATCHING
+int daNpc_Bou_c::selectAction() {
+ field_0xfc4 = NULL;
+ switch (mType) {
+ case 1: {
+ field_0xfc4 = &daNpc_Bou_c::talkwithJagar;
+ break;
+ }
+
+ default: {
+ field_0xfc4 = &daNpc_Bou_c::wait;
+ break;
+ }
+ }
+
+ return 1;
}
/* 8096ED3C-8096ED68 001E9C 002C+00 2/2 0/0 0/0 .text
* chkAction__11daNpc_Bou_cFM11daNpc_Bou_cFPCvPvPv_i */
-void daNpc_Bou_c::chkAction(int (daNpc_Bou_c::*param_0)(void*)) {
- // NONMATCHING
+int daNpc_Bou_c::chkAction(actionFunc param_0) {
+ return field_0xfd0 == param_0;
}
/* 8096ED68-8096EE10 001EC8 00A8+00 2/2 0/0 0/0 .text
* setAction__11daNpc_Bou_cFM11daNpc_Bou_cFPCvPvPv_i */
-void daNpc_Bou_c::setAction(int (daNpc_Bou_c::*param_0)(void*)) {
- // NONMATCHING
-}
-
-/* ############################################################################################## */
-/* 80972978-80972984 000118 000C+00 1/1 0/0 0/0 .rodata @5178 */
-SECTION_RODATA static u8 const lit_5178[12] = {
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
-};
-COMPILER_STRIP_GATE(0x80972978, &lit_5178);
-
-/* 8097299C-8097299C 00013C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80972A76 = "prm";
-SECTION_DEAD static char const* const stringBase_80972A7A = "msgNo";
-SECTION_DEAD static char const* const stringBase_80972A80 = "msgNo2";
-#pragma pop
-
-/* 8096EE10-8096F2E4 001F70 04D4+00 2/0 0/0 0/0 .text cutWildGoat__11daNpc_Bou_cFi */
-void daNpc_Bou_c::cutWildGoat(int param_0) {
- // NONMATCHING
-}
+int daNpc_Bou_c::setAction(actionFunc param_0) {
+ mMode = 3;
+ if (field_0xfd0 != NULL) {
+ (this->*field_0xfd0)(NULL);
+ }
-/* 8096F2E4-8096F510 002444 022C+00 1/0 0/0 0/0 .text cutWildGoatSuccess__11daNpc_Bou_cFi
- */
-void daNpc_Bou_c::cutWildGoatSuccess(int param_0) {
- // NONMATCHING
-}
+ mMode = 0;
+ field_0xfd0 = param_0;
+ if (field_0xfd0 != NULL) {
+ (this->*field_0xfd0)(NULL);
+ }
-/* 8096F510-8096F758 002670 0248+00 1/0 0/0 0/0 .text cutWildGoatFailure__11daNpc_Bou_cFi
- */
-void daNpc_Bou_c::cutWildGoatFailure(int param_0) {
- // NONMATCHING
+ return 1;
}
-/* 8096F758-8096F9A4 0028B8 024C+00 1/0 0/0 0/0 .text cutSpeakTo__11daNpc_Bou_cFi */
-void daNpc_Bou_c::cutSpeakTo(int param_0) {
- // NONMATCHING
-}
+/* 8096EE10-8096F2E4 001F70 04D4+00 2/0 0/0 0/0 .text cutWildGoat__11daNpc_Bou_cFi */
+int daNpc_Bou_c::cutWildGoat(int arg) {
+ fopAc_ac_c* actor_p = NULL;
+ cXyz my_vec_0;
+ csXyz my_svec;
+ int ret_val = 0;
+ int* pVal = NULL;
+ int prm_val = -1;
+ int msgNo_val = 0;
+ int msgNo2_val = 0;
+ pVal = dComIfGp_evmng_getMyIntegerP(arg, "prm");
+ if (pVal) {
+ prm_val = *pVal;
+ }
-/* ############################################################################################## */
-/* 80972984-80972988 000124 0004+00 0/4 0/0 0/0 .rodata @5515 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_5515 = -40.0f;
-COMPILER_STRIP_GATE(0x80972984, &lit_5515);
-#pragma pop
+ pVal = dComIfGp_evmng_getMyIntegerP(arg, "msgNo");
+ if (pVal) {
+ msgNo_val = *pVal;
+ }
-/* 8096F9A4-8096FB78 002B04 01D4+00 1/0 0/0 0/0 .text cutConversationWithBou__11daNpc_Bou_cFi */
-void daNpc_Bou_c::cutConversationWithBou(int param_0) {
- // NONMATCHING
-}
+ pVal = dComIfGp_evmng_getMyIntegerP(arg, "msgNo2");
+ if (pVal) {
+ msgNo2_val = *pVal;
+ }
-/* 8096FB78-8096FE40 002CD8 02C8+00 1/0 0/0 0/0 .text cutConfidentialConversation__11daNpc_Bou_cFi
- */
-void daNpc_Bou_c::cutConfidentialConversation(int param_0) {
- // NONMATCHING
-}
+ if (dComIfGp_getEventManager().getIsAddvance(arg)) {
+ switch (prm_val) {
+ case 0: {
+ actor_p = mActorMngr[0].getActorP();
+ JUT_ASSERT(0x803, 0 != actor_p);
+ ((daCow_c *)actor_p)->setCrazyReady();
+ daNpcT_offTmpBit(0x1C);
+ initTalk(mFlowNodeNo, NULL);
+ break;
+ }
+
+ case 2: {
+ actor_p = mActorMngr[0].getActorP();
+ JUT_ASSERT(0x811, 0 != actor_p);
+ dComIfGp_getEvent().setPt2(actor_p);
+ Z2GetAudioMgr()->subBgmStart(0x1000011);
+ break;
+ }
+
+ case 5: {
+ actor_p = mActorMngr[0].getActorP();
+ JUT_ASSERT(0x820, 0 != actor_p);
+ ((daCow_c *)actor_p)->setCrazyGo();
+ break;
+ }
+
+ case 6: {
+ if (daNpcT_getPlayerInfoFromPlayerList(0xD, fopAcM_GetRoomNo(this), &my_vec_0, &my_svec)) {
+ daPy_getPlayerActorClass()->setPlayerPosAndAngle(&my_vec_0, my_svec.y, 0);
+ }
+
+ setPos(home.pos);
+ setAngle(home.angle.y);
+ break;
+ }
+
+ case 7: {
+ daPy_getPlayerActorClass()->onGoatStopGame();
+ break;
+ }
+
+ case 3:
+ case 4:
+ case 8:
+ case 1: {
+ break;
+ }
+ }
+ }
-/* ############################################################################################## */
-/* 80972988-8097298C 000128 0004+00 0/2 0/0 0/0 .rodata @5708 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_5708 = 0.5f;
-COMPILER_STRIP_GATE(0x80972988, &lit_5708);
-#pragma pop
-
-/* 8097299C-8097299C 00013C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80972A87 = "timer";
-#pragma pop
+ int int_vec[3] = {-1, -1, -1};
+ switch (prm_val) {
+ case 0: {
+ mJntAnm.lookPlayer(0);
+ if (mPlayerAngle == mCurAngle.y) {
+ ret_val = 1;
+ } else {
+ step(mPlayerAngle, 10, 18, 15, 0);
+ }
-/* 8096FE40-80970278 002FA0 0438+00 1/0 0/0 0/0 .text cutFindWolf__11daNpc_Bou_cFi */
-void daNpc_Bou_c::cutFindWolf(int param_0) {
- // NONMATCHING
-}
+ break;
+ }
-/* ############################################################################################## */
-/* 8097298C-80972990 00012C 0004+00 0/1 0/0 0/0 .rodata @5897 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_5897 = 250.0f;
-COMPILER_STRIP_GATE(0x8097298C, &lit_5897);
-#pragma pop
-
-/* 80972990-80972994 000130 0004+00 0/1 0/0 0/0 .rodata @5898 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_5898 = -250.0f;
-COMPILER_STRIP_GATE(0x80972990, &lit_5898);
-#pragma pop
-
-/* 80972994-80972998 000134 0004+00 0/1 0/0 0/0 .rodata @5899 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_5899 = 150.0f;
-COMPILER_STRIP_GATE(0x80972994, &lit_5899);
-#pragma pop
+ case 1:
+ case 2:
+ case 3: {
+ mJntAnm.lookPlayer(0);
+ if (prm_val == 2 || prm_val == 3) {
+ if (prm_val == 3) {
+ actor_p = mActorMngr[0].getActorP();
+ JUT_ASSERT(0x853, 0 != actor_p);
+ mJntAnm.lookActor(actor_p, 0.0f, 0);
+ }
+
+ field_0xe26 = 0;
+ }
+
+ int_vec[0] = msgNo_val;
+ int_vec[1] = msgNo2_val;
+ if (talkProc(int_vec, 0, NULL, 0)) {
+ if (msgNo_val == 0 && msgNo2_val == 0) {
+ if (mFlow.checkEndFlow()) {
+ ret_val = 1;
+ }
+ } else {
+ ret_val = 1;
+ }
+ }
+
+ if (prm_val == 3 && ret_val != 0) {
+ actor_p = mActorMngr[0].getActorP();
+ JUT_ASSERT(0x86A, 0 != actor_p);
+ ((daCow_c *)actor_p)->setCrazyReadyDrawOn();
+ }
+
+ break;
+ }
-/* 80970278-809709EC 0033D8 0774+00 1/0 0/0 0/0 .text cutMeetingAgain__11daNpc_Bou_cFi */
-void daNpc_Bou_c::cutMeetingAgain(int param_0) {
- // NONMATCHING
-}
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8: {
+ actor_p = mActorMngr[0].getActorP();
+ JUT_ASSERT(0x875, 0 != actor_p);
+ mJntAnm.lookActor(actor_p, 0.0f, 0);
+ ret_val = 1;
+ }
+ }
-/* 809709EC-80970DFC 003B4C 0410+00 1/0 0/0 0/0 .text wait__11daNpc_Bou_cFPv */
-void daNpc_Bou_c::wait(void* param_0) {
- // NONMATCHING
+ return ret_val;
}
-/* 80970DFC-80970F9C 003F5C 01A0+00 1/0 0/0 0/0 .text talkwithJagar__11daNpc_Bou_cFPv */
-void daNpc_Bou_c::talkwithJagar(void* param_0) {
- // NONMATCHING
-}
-
-/* ############################################################################################## */
-/* 80972998-8097299C 000138 0004+00 0/1 0/0 0/0 .rodata @6218 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_6218 = -10.0f;
-COMPILER_STRIP_GATE(0x80972998, &lit_6218);
-#pragma pop
-
-/* 80970F9C-8097146C 0040FC 04D0+00 3/0 0/0 0/0 .text talk__11daNpc_Bou_cFPv */
-void daNpc_Bou_c::talk(void* param_0) {
- // NONMATCHING
-}
+/* 8096F2E4-8096F510 002444 022C+00 1/0 0/0 0/0 .text cutWildGoatSuccess__11daNpc_Bou_cFi
+ */
+int daNpc_Bou_c::cutWildGoatSuccess(int arg) {
+ int ret_val = 0;
+ int prm_val = -1;
+ int* pVal = dComIfGp_evmng_getMyIntegerP(arg, "prm");
+ if (pVal) {
+ prm_val = *pVal;
+ }
-/* 8097146C-8097148C 0045CC 0020+00 1/0 0/0 0/0 .text daNpc_Bou_Create__FPv */
-static void daNpc_Bou_Create(void* param_0) {
- // NONMATCHING
-}
+ if (dComIfGp_getEventManager().getIsAddvance(arg)) {
+ switch (prm_val) {
+ case 0: {
+ mFaceMotionSeqMngr.setNo(10, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(0, -1.0f, 0, 0);
+ initTalk(mFlowNodeNo, NULL);
+ field_0xff4 = 0;
+ Z2GetAudioMgr()->subBgmStop();
+ daNpcT_onTmpBit(0x1C);
+ break;
+ }
+
+ case 1: {
+ break;
+ }
+ }
+ }
-/* 8097148C-809714AC 0045EC 0020+00 1/0 0/0 0/0 .text daNpc_Bou_Delete__FPv */
-static void daNpc_Bou_Delete(void* param_0) {
- // NONMATCHING
-}
+ switch (prm_val) {
+ case 0: {
+ mJntAnm.lookPlayer(0);
+ if (mPlayerAngle == mCurAngle.y) {
+ ret_val = 1;
+ } else {
+ step(mPlayerAngle, 10, 18, 15, 0);
+ }
+
+ break;
+ }
+
+ case 1: {
+ mJntAnm.lookPlayer(0);
+ if (talkProc(NULL, 0, NULL, 0) && mFlow.checkEndFlow()) {
+ daNpcT_offTmpBit(0x1C);
+ ret_val = 1;
+ }
+ }
+ }
-/* 809714AC-809714CC 00460C 0020+00 1/0 0/0 0/0 .text daNpc_Bou_Execute__FPv */
-static void daNpc_Bou_Execute(void* param_0) {
- // NONMATCHING
+ return ret_val;
}
-/* 809714CC-809714EC 00462C 0020+00 1/0 0/0 0/0 .text daNpc_Bou_Draw__FPv */
-static void daNpc_Bou_Draw(void* param_0) {
- // NONMATCHING
-}
+/* 8096F510-8096F758 002670 0248+00 1/0 0/0 0/0 .text cutWildGoatFailure__11daNpc_Bou_cFi
+ */
+int daNpc_Bou_c::cutWildGoatFailure(int arg) {
+ int ret_val = 0;
+ int prm_val = -1;
+ int* pVal = dComIfGp_evmng_getMyIntegerP(arg, "prm");
+ if (pVal) {
+ prm_val = *pVal;
+ }
-/* 809714EC-809714F4 00464C 0008+00 1/0 0/0 0/0 .text daNpc_Bou_IsDelete__FPv */
-static bool daNpc_Bou_IsDelete(void* param_0) {
- return true;
-}
+ if (dComIfGp_getEventManager().getIsAddvance(arg)) {
+ switch (prm_val) {
+ case 0: {
+ Z2GetAudioMgr()->subBgmStop();
+ daNpcT_onTmpBit(0x1C);
+ break;
+ }
+
+ case 1: {
+ mFaceMotionSeqMngr.setNo(10, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(0, -1.0f, 0, 0);
+ initTalk(mFlowNodeNo, NULL);
+ field_0xff4 = 0;
+ break;
+ }
+
+ case 2: {
+ break;
+ }
+ }
+ }
-/* 809714F4-80971524 004654 0030+00 1/0 0/0 0/0 .text calc__11J3DTexNoAnmCFPUs */
-// void J3DTexNoAnm::calc(u16* param_0) const {
-extern "C" void calc__11J3DTexNoAnmCFPUs() {
- // NONMATCHING
-}
+ switch (prm_val) {
+ case 0: {
+ ret_val = 1;
+ break;
+ }
+
+ case 1: {
+ mJntAnm.lookPlayer(0);
+ if (mPlayerAngle == mCurAngle.y) {
+ ret_val = 1;
+ } else {
+ step(mPlayerAngle, 10, 18, 15, 0);
+ }
+
+ break;
+ }
+
+ case 2: {
+ mJntAnm.lookPlayer(0);
+ if (talkProc(NULL, 0, NULL, 0) && mFlow.checkEndFlow()) {
+ daNpcT_offTmpBit(0x1C);
+ ret_val = 1;
+ }
+ }
+ }
-/* 80971524-8097156C 004684 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */
-// cCcD_GStts::~cCcD_GStts() {
-extern "C" void __dt__10cCcD_GSttsFv() {
- // NONMATCHING
+ return ret_val;
}
-/* 8097156C-809718F4 0046CC 0388+00 1/1 0/0 0/0 .text __dt__8daNpcT_cFv */
-// daNpcT_c::~daNpcT_c() {
-extern "C" void __dt__8daNpcT_cFv() {
- // NONMATCHING
-}
+/* 8096F758-8096F9A4 0028B8 024C+00 1/0 0/0 0/0 .text cutSpeakTo__11daNpc_Bou_cFi */
+int daNpc_Bou_c::cutSpeakTo(int arg) {
+ int ret_val = 0;
+ int* pVal = NULL;
+ int prm_val = -1;
+ pVal = dComIfGp_evmng_getMyIntegerP(arg, "prm");
+ if (pVal) {
+ prm_val = *pVal;
+ }
-/* 809718F4-80971930 004A54 003C+00 3/3 0/0 0/0 .text __dt__4cXyzFv */
-// cXyz::~cXyz() {
-extern "C" void __dt__4cXyzFv() {
- // NONMATCHING
-}
+ if (dComIfGp_getEventManager().getIsAddvance(arg)) {
+ switch (prm_val) {
+ case 0: {
+ mFaceMotionSeqMngr.setNo(10, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(0, -1.0f, 0, 0);
+ initTalk(0x190, NULL);
+ break;
+ }
+
+ case 1:
+ case 2: {
+ break;
+ }
+ }
+ }
-/* 80971930-8097196C 004A90 003C+00 2/2 0/0 0/0 .text __dt__5csXyzFv */
-// csXyz::~csXyz() {
-extern "C" void __dt__5csXyzFv() {
- // NONMATCHING
-}
+ switch (prm_val) {
+ case 0: {
+ mJntAnm.lookPlayer(0);
+ if (mPlayerAngle == mCurAngle.y) {
+ ret_val = 1;
+ } else {
+ shape_angle.y = mPlayerAngle;
+ step(mPlayerAngle, 10, 18, 15, 0);
+ }
+
+ break;
+ }
+
+ case 1: {
+ mJntAnm.lookPlayer(0);
+ if (talkProc(NULL, 0, NULL, 0) && mFlow.checkEndFlow()) {
+ ret_val = 1;
+ }
+
+ break;
+ }
+
+ case 2: {
+ mJntAnm.lookNone(0);
+ ret_val = 1;
+ }
+ }
-/* 8097196C-809719B4 004ACC 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
+ return ret_val;
}
-/* 809719B4-809719FC 004B14 0048+00 1/0 0/0 0/0 .text __dt__13daNpcT_Path_cFv */
-// daNpcT_Path_c::~daNpcT_Path_c() {
-extern "C" void __dt__13daNpcT_Path_cFv() {
- // NONMATCHING
-}
+/* 8096F9A4-8096FB78 002B04 01D4+00 1/0 0/0 0/0 .text cutConversationWithBou__11daNpc_Bou_cFi */
+int daNpc_Bou_c::cutConversationWithBou(int arg) {
+ fopAc_ac_c* actor = NULL;
+ int ret_val = 0;
+ int* pVal = NULL;
+ int prm_val = -1;
+ pVal = dComIfGp_evmng_getMyIntegerP(arg, "prm");
+ if (pVal) {
+ prm_val = *pVal;
+ }
-/* 809719FC-80971A38 004B5C 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
-}
+ if (dComIfGp_getEventManager().getIsAddvance(arg)) {
+ switch (prm_val) {
+ case 0: {
+ mFaceMotionSeqMngr.setNo(10, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(1, -1.0f, 0, 0);
+ break;
+ }
+ }
+ }
-/* 80971A38-80971A80 004B98 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */
-// cM3dGCyl::~cM3dGCyl() {
-extern "C" void __dt__8cM3dGCylFv() {
- // NONMATCHING
-}
+ switch (prm_val) {
+ case 0: {
+ actor = mActorMngr[1].getActorP();
+ if (actor != NULL) {
+ mJntAnm.lookActor(actor, -40.0f, 0);
+ } else {
+ mJntAnm.lookNone(0);
+ }
+
+ ret_val = 1;
+ break;
+ }
+ }
-/* 80971A80-80971AC8 004BE0 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */
-// cM3dGAab::~cM3dGAab() {
-extern "C" void __dt__8cM3dGAabFv() {
- // NONMATCHING
+ return ret_val;
}
-/* 80971AC8-80971ECC 004C28 0404+00 1/1 0/0 0/0 .text
- * __ct__8daNpcT_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc
+/* 8096FB78-8096FE40 002CD8 02C8+00 1/0 0/0 0/0 .text cutConfidentialConversation__11daNpc_Bou_cFi
*/
-// 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
-}
-
-/* 80971ECC-80971ED0 00502C 0004+00 1/1 0/0 0/0 .text __ct__5csXyzFv */
-// csXyz::csXyz() {
-extern "C" void __ct__5csXyzFv() {
- /* empty function */
-}
+int daNpc_Bou_c::cutConfidentialConversation(int arg) {
+ fopAc_ac_c* actor = NULL;
+ int ret_val = 0;
+ int* pVal = NULL;
+ int prm_val = -1;
+ pVal = dComIfGp_evmng_getMyIntegerP(arg, "prm");
+ if (pVal) {
+ prm_val = *pVal;
+ }
-/* 80971ED0-80971FCC 005030 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
-}
+ if (dComIfGp_getEventManager().getIsAddvance(arg)) {
+ switch (prm_val) {
+ case 0: {
+ mFaceMotionSeqMngr.setNo(10, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(1, -1.0f, 0, 0);
+ break;
+ }
+
+ case 1:
+ case 2: {
+ break;
+ }
+ }
+ }
-/* 80971FCC-80971FD0 00512C 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */
-// cXyz::cXyz() {
-extern "C" void __ct__4cXyzFv() {
- /* empty function */
-}
+ switch (prm_val) {
+ case 0:
+ case 2: {
+ actor = mActorMngr[1].getActorP();
+ if (actor != NULL) {
+ mJntAnm.lookActor(actor, -40.0f, 0);
+ } else {
+ mJntAnm.lookNone(0);
+ }
+
+ ret_val = 1;
+ break;
+ }
+
+ case 1: {
+ actor = mActorMngr[2].getActorP();
+ if (actor != NULL) {
+ mJntAnm.lookActor(actor, 0.0f, 0);
+ } else {
+ mJntAnm.lookNone(0);
+ }
+
+ ret_val = 1;
+ break;
+ }
+ }
-/* 80971FD0-80972018 005130 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
+ return ret_val;
}
-/* 80972018-80972088 005178 0070+00 1/0 0/0 0/0 .text __dt__12dBgS_AcchCirFv */
-// dBgS_AcchCir::~dBgS_AcchCir() {
-extern "C" void __dt__12dBgS_AcchCirFv() {
- // NONMATCHING
-}
+/* 8096FE40-80970278 002FA0 0438+00 1/0 0/0 0/0 .text cutFindWolf__11daNpc_Bou_cFi */
+int daNpc_Bou_c::cutFindWolf(int arg) {
+ int ret_val = 0;
+ int* pVal = NULL;
+ int prm_val = -1;
+ int timer_val = 0;
+ pVal = dComIfGp_evmng_getMyIntegerP(arg, "prm");
+ if (pVal) {
+ prm_val = *pVal;
+ }
-/* 80972088-809720E4 0051E8 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */
-// dCcD_GStts::~dCcD_GStts() {
-extern "C" void __dt__10dCcD_GSttsFv() {
- // NONMATCHING
-}
+ pVal = dComIfGp_evmng_getMyIntegerP(arg, "timer");
+ if (pVal) {
+ timer_val = *pVal;
+ }
-/* 809720E4-80972154 005244 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */
-// dBgS_ObjAcch::~dBgS_ObjAcch() {
-extern "C" void __dt__12dBgS_ObjAcchFv() {
- // NONMATCHING
-}
+ if (dComIfGp_getEventManager().getIsAddvance(arg)) {
+ switch (prm_val) {
+ case 0: {
+ mFaceMotionSeqMngr.setNo(1, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(3, -1.0f, 0, 0);
+ dComIfGp_getEvent().setPtT(this);
+ initTalk(0xD4, NULL);
+ break;
+ }
+
+ case 2: {
+ mFaceMotionSeqMngr.setNo(10, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(20, -1.0f, 0, 0);
+ current.angle.y = mPlayerAngle + -0x8000;
+ mEventTimer = timer_val;
+ break;
+ }
+
+ case 3: {
+ mFaceMotionSeqMngr.setNo(10, 0.0f, 0, 0);
+ mMotionSeqMngr.setNo(1, 0.0f, 0, 0);
+ setPos(home.pos);
+ setAngle(home.angle.y);
+ speedF = 0.0f;
+ speed.setall(0.0f);
+ mAcch.ClrWallNone();
+ mHide = true;
+ break;
+ }
+ }
+ }
-/* 80972154-8097219C 0052B4 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */
-// J3DFrameCtrl::~J3DFrameCtrl() {
-extern "C" void __dt__12J3DFrameCtrlFv() {
- // NONMATCHING
-}
+ switch (prm_val) {
+ case 0: {
+ mJntAnm.lookPlayer(0);
+ if (mPlayerAngle == mCurAngle.y) {
+ ret_val = 1;
+ } else {
+ step(mPlayerAngle, -1, -1, 15, 0);
+ }
+
+ break;
+ }
+
+ case 1: {
+ mJntAnm.lookPlayer(0);
+ if (talkProc(NULL, 0, NULL, 0) && mFlow.checkEndFlow()) {
+ ret_val = 1;
+ }
+
+ break;
+ }
+
+ case 2: {
+ mJntAnm.lookPlayer(0);
+ cLib_chaseS(&shape_angle.y, current.angle.y, 0x800);
+ mCurAngle.y = shape_angle.y;
+ field_0xd7e.y = mCurAngle.y;
+ cLib_chaseF(&speedF, daNpc_Bou_Param_c::m.field_0x8c, 0.5f);
+ mAcch.SetWallNone();
+ if (!cLib_calcTimer(&mEventTimer)) {
+ ret_val = 1;
+ }
+
+ break;
+ }
+
+ case 3: {
+ mJntAnm.lookNone(0);
+ ret_val = 1;
+ break;
+ }
+ }
-/* 8097219C-809722B8 0052FC 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
+ return ret_val;
}
-/* 809722B8-809724C0 005418 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
-}
+/* 80970278-809709EC 0033D8 0774+00 1/0 0/0 0/0 .text cutMeetingAgain__11daNpc_Bou_cFi */
+int daNpc_Bou_c::cutMeetingAgain(int arg) {
+ fopAc_ac_c* actor_p = field_0xba0.getActorP();
+ cXyz work;
+ cXyz temp;
+ csXyz my_svec;
+ int ret_val = 0;
+ int* pVal = NULL;
+ int prm_val = -1;
+ int timer_val = 0;
+ pVal = dComIfGp_evmng_getMyIntegerP(arg, "prm");
+ if (pVal) {
+ prm_val = *pVal;
+ }
-/* 809724C0-809724C4 005620 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 */
-}
+ pVal = dComIfGp_evmng_getMyIntegerP(arg, "timer");
+ if (pVal) {
+ timer_val = *pVal;
+ }
-/* 809724D4-809724DC 005634 0008+00 1/0 0/0 0/0 .text getEyeballLMaterialNo__8daNpcT_cFv
- */
-// bool daNpcT_c::getEyeballLMaterialNo() {
-extern "C" bool getEyeballLMaterialNo__8daNpcT_cFv() {
- return false;
-}
+ if (dComIfGp_getEventManager().getIsAddvance(arg)) {
+ switch (prm_val) {
+ case 0: {
+ mFaceMotionSeqMngr.setNo(10, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(0, -1.0f, 0, 0);
+ mPlayerAngle = fopAcM_searchPlayerAngleY(this);
+ break;
+ }
+
+ case 1: {
+ daNpcT_offTmpBit(0xB);
+ daNpcT_offTmpBit(0xC);
+ initTalk(((daTag_Push_c*)actor_p)->getFlowNodeNo(), NULL);
+ break;
+ }
+
+ case 2: {
+ mFaceMotionSeqMngr.setNo(10, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(0, -1.0f, 0, 0);
+ mEventTimer = timer_val;
+ break;
+ }
+
+ case 3: {
+ if (daPy_getPlayerActorClass()->checkHorseRide()) {
+ setAngle(home.angle.y);
+ work.set(0.0f, 300.0f, 250.0f);
+ mDoMtx_stack_c::YrotS(mCurAngle.y);
+ mDoMtx_stack_c::multVec(&work, &work);
+ work += current.pos;
+ mGndChk.SetPos(&work);
+ work.y = dComIfG_Bgsp().GroundCross(&mGndChk);
+ JUT_ASSERT(0xab4, -(1000000000.0f) != work.y);
+ dComIfGp_evmng_setGoal(&work);
+
+ my_svec.y = mCurAngle.y + 0x5800;
+ temp.set(0.0f, 300.0f, -250.0f);
+ mDoMtx_stack_c::YrotS(my_svec.y);
+ mDoMtx_stack_c::multVec(&temp, &temp);
+ temp += work;
+ mGndChk.SetPos(&temp);
+ work.y = dComIfG_Bgsp().GroundCross(&mGndChk);
+ JUT_ASSERT(0xabf, -(1000000000.0f) != work.y);
+ daPy_getPlayerActorClass()->setPlayerPosAndAngle(&temp, my_svec.y, 0);
+ } else {
+ my_svec.y = mPlayerAngle - home.angle.y;
+ if (my_svec.y < 0) {
+ if (abs(my_svec.y) < 0x4000) {
+ my_svec.y = 0;
+ } else {
+ my_svec.y = -0x8000;
+ }
+ }
+
+ my_svec.y += home.angle.y;
+ setAngle(my_svec.y);
+ work.set(0.0f, 300.0f, 300.0f);
+ mDoMtx_stack_c::YrotS(mCurAngle.y);
+ mDoMtx_stack_c::multVec(&work, &work);
+ work += current.pos;
+ mGndChk.SetPos(&work);
+ work.y = dComIfG_Bgsp().GroundCross(&mGndChk);
+ JUT_ASSERT(0xad8, -(1000000000.0f) != work.y);
+ daPy_getPlayerActorClass()->setPlayerPosAndAngle(&work, mCurAngle.y + 0x8000, 0);
+
+ work.set(0.0f, 300.0f, 150.0f);
+ mDoMtx_stack_c::YrotS(mCurAngle.y);
+ mDoMtx_stack_c::multVec(&work, &work);
+ work += current.pos;
+ mGndChk.SetPos(&work);
+ work.y = dComIfG_Bgsp().GroundCross(&mGndChk);
+ JUT_ASSERT(0xae2, -(1000000000.0f) != work.y);
+ dComIfGp_evmng_setGoal(&work);
+ }
+
+ break;
+ }
+
+ case 4: {
+ initTalk(((daTag_Push_c*)actor_p)->getFlowNodeNo(), NULL);
+ break;
+ }
+
+ case 5: {
+ mJntAnm.lookNone(1);
+ initTalk(((daTag_Push_c*)actor_p)->getFlowNodeNo(), NULL);
+ break;
+ }
+ }
+ }
-/* 809724DC-809724E4 00563C 0008+00 1/0 0/0 0/0 .text getEyeballRMaterialNo__8daNpcT_cFv
- */
-// bool daNpcT_c::getEyeballRMaterialNo() {
-extern "C" bool getEyeballRMaterialNo__8daNpcT_cFv() {
- return false;
-}
+ switch (prm_val) {
+ case 0: {
+ mJntAnm.lookPlayer(0);
+ if (mPlayerAngle == mCurAngle.y) {
+ ret_val = 1;
+ } else {
+ shape_angle.y = mPlayerAngle;
+ step(mPlayerAngle, 10, 19, 15, 0);
+ }
+
+ break;
+ }
+
+ case 1: {
+ mJntAnm.lookPlayer(0);
+ if (talkProc(NULL, 0, NULL, 0) && mFlow.checkEndFlow()) {
+ ret_val = 1;
+ }
+
+ break;
+ }
+
+ case 2: {
+ mJntAnm.lookPlayer(0);
+ if (!cLib_calcTimer(&mEventTimer)) {
+ ret_val = 1;
+ }
+
+ break;
+ }
+
+ case 3: {
+ ret_val = 1;
+ break;
+ }
-/* 809724E8-809724F0 005648 0008+00 1/0 0/0 0/0 .text chkXYItems__8daNpcT_cFv */
-// bool daNpcT_c::chkXYItems() {
-extern "C" bool chkXYItems__8daNpcT_cFv() {
- return false;
-}
+ case 4:
+ case 5: {
+ mJntAnm.lookNone(0);
+ if (prm_val == 4) {
+ mJntAnm.lookPlayer(0);
+ }
+
+ if (talkProc(NULL, 0, NULL, 0) && mFlow.checkEndFlow()) {
+ if (prm_val == 4) {
+ dStage_changeScene(24, 0.0f, 0, fopAcM_GetRoomNo(this), 0, dComIfG_play_c::getLayerNo(0));
+ } else {
+ ret_val = 1;
+ }
+ }
+ }
+ }
-/* 809724F0-80972508 005650 0018+00 1/0 0/0 0/0 .text decTmr__8daNpcT_cFv */
-// void daNpcT_c::decTmr() {
-extern "C" void decTmr__8daNpcT_cFv() {
- // NONMATCHING
+ return ret_val;
}
-/* 80972508-8097250C 005668 0004+00 1/0 0/0 0/0 .text drawOtherMdl__8daNpcT_cFv */
-// void daNpcT_c::drawOtherMdl() {
-extern "C" void drawOtherMdl__8daNpcT_cFv() {
- /* empty function */
-}
+/* 809709EC-80970DFC 003B4C 0410+00 1/0 0/0 0/0 .text wait__11daNpc_Bou_cFPv */
+int daNpc_Bou_c::wait(void* param_0) {
+ fopAc_ac_c* actor_p = NULL;
+ switch (mMode) {
+ case 0:
+ case 1: {
+ if (!mStagger.checkStagger()) {
+ mFaceMotionSeqMngr.setNo(10, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(0, -1.0f, 0, 0);
+ mMode = 2;
+ }
+ }
+ // fallthrough intentional
+ case 2: {
+ if (daPy_getPlayerActorClass()->checkGoatStopGame()) {
+ field_0xff4 = 1;
+ } else if (field_0xff4) {
+ mEvtNo = 4;
+ if (daNpcT_chkEvtBit(0x235)) {
+ if (daNpcT_chkEvtBit(0x24b)) {
+ mEvtNo = 3;
+ }
+ } else if (daNpcT_chkEvtBit(0xB2)) {
+ mEvtNo = 3;
+ }
+
+ field_0xe33 = 1;
+ }
+
+ if (!mStagger.checkStagger()) {
+ if (field_0xff4) {
+ mPlayerActorMngr.remove();
+ }
+
+ if (mPlayerActorMngr.getActorP() != NULL) {
+ mJntAnm.lookPlayer(0);
+ if (!chkActorInSight(mPlayerActorMngr.getActorP(), mAttnFovY, mCurAngle.y)) {
+ mJntAnm.lookNone(0);
+ }
+
+ if (!srchPlayerActor() && home.angle.y == mCurAngle.y) {
+ mMode = 1;
+ }
+ } else {
+ mJntAnm.lookNone(0);
+ if (home.angle.y != mCurAngle.y) {
+ if (field_0xe34) {
+ if (mType == 2) {
+ if (step(home.angle.y, 10, 19, 15, 0)) {
+ mMode = 1;
+ }
+ } else {
+ if (step(home.angle.y, 10, 18, 15, 0)) {
+ mMode = 1;
+ }
+ }
+ } else {
+ setAngle(home.angle.y);
+ mMode = 1;
+ }
+
+ attention_info.flags = 0;
+ } else if (field_0xff4) {
+ attention_info.flags = 0;
+ } else if (!mTwilight) {
+ srchPlayerActor();
+ }
+ }
+
+ switch (mJntAnm.getMode()) {
+ case 0: {
+ if (field_0xff4) {
+ actor_p = mActorMngr[0].getActorP();
+ if (actor_p) {
+ mJntAnm.lookActor(actor_p, 0.0f, 0);
+ }
+ }
+ }
+ }
+
+ if (!field_0xe34) {
+ daNpcT_offTmpBit(0x1D);
+ }
+ }
+
+ break;
+ }
+
+ case 3: {
+ break;
+ }
+ }
-/* 8097250C-80972510 00566C 0004+00 1/0 0/0 0/0 .text drawGhost__8daNpcT_cFv */
-// void daNpcT_c::drawGhost() {
-extern "C" void drawGhost__8daNpcT_cFv() {
- /* empty function */
+ return 1;
}
-/* 80972510-80972518 005670 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;
-}
+/* 80970DFC-80970F9C 003F5C 01A0+00 1/0 0/0 0/0 .text talkwithJagar__11daNpc_Bou_cFPv */
+int daNpc_Bou_c::talkwithJagar(void* param_0) {
+ daNpc_Jagar_c* jagar = (daNpc_Jagar_c*) mActorMngr[1].getActorP();
+ switch (mMode) {
+ case 0:
+ case 1: {
+ if (!mStagger.checkStagger()) {
+ mFaceMotionSeqMngr.setNo(10, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(1, -1.0f, 0, 0);
+ mMode = 2;
+ }
+ }
+ // fallthrough intentional
+ case 2: {
+ if (jagar) {
+ mJntAnm.lookActor(jagar, -40.0f, 0);
+ } else {
+ mJntAnm.lookNone(0);
+ }
+ }
+
+ case 3: {
+ break;
+ }
+ }
-/* 80972518-80972520 005678 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;
+ return 1;
}
-/* 80972520-80972550 005680 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() {
+/* 80970F9C-8097146C 0040FC 04D0+00 3/0 0/0 0/0 .text talk__11daNpc_Bou_cFPv */
+int daNpc_Bou_c::talk(void* param_0) {
// NONMATCHING
+ daNpc_Jagar_c* jagar_p = NULL;
+ switch (mMode) {
+ case 0:
+ case 1: {
+ if (!mStagger.checkStagger()) {
+ if (mType == 1) {
+ jagar_p = (daNpc_Jagar_c*) mActorMngr[1].getActorP();
+ if (jagar_p != NULL && jagar_p->getType() == 1 && jagar_p->chkCondition(1)) {
+ jagar_p->setListenMotion(-10.0f);
+ jagar_p->onListen();
+ }
+
+ switch (field_0xfdc) {
+ case 4: {
+ initTalk(0xD6, NULL);
+ break;
+ }
+
+ default: {
+ initTalk(0xD5, NULL);
+ }
+ }
+ } else {
+ daNpcT_offTmpBit(0x59);
+ daHorse_c* horse_p = dComIfGp_getHorseActor();
+ if (horse_p && !horse_p->checkHorseCallWait()) {
+ if (chkPointInArea(horse_p->current.pos, current.pos, daNpc_Bou_Param_c::m.field_0x90,
+ daNpc_Bou_Param_c::m.field_0x94, daNpc_Bou_Param_c::m.field_0x98, 0)) {
+ daNpcT_onTmpBit(0x59);
+ }
+ }
+
+ initTalk(mFlowNodeNo, NULL);
+ }
+
+ mMode = 2;
+ }
+ }
+ // fallthrough intentional
+ case 2: {
+ if (!mStagger.checkStagger()) {
+ if (mTwilight || mPlayerAngle == mCurAngle.y || mType == 1) {
+ if (talkProc(NULL, 0, NULL, 0) && mFlow.checkEndFlow()) {
+ if (mType == 1) {
+ jagar_p = (daNpc_Jagar_c*) mActorMngr[1].getActorP();
+ if (jagar_p != NULL && jagar_p->getType() == 1) {
+ jagar_p->offListen();
+ }
+ }
+
+ mPlayerActorMngr.entry(daPy_getPlayerActorClass());
+ dComIfGp_event_reset();
+ mMode = 3;
+ }
+
+ if (mType == 1) {
+ fopAc_ac_c* actor_p = mActorMngr[1].getActorP();
+ if (actor_p != NULL) {
+ mJntAnm.lookActor(actor_p, -40.0f, 0);
+ } else {
+ mJntAnm.lookNone(0);
+ }
+ } else {
+ mJntAnm.lookPlayer(0);
+ if (mTwilight) {
+ mJntAnm.lookNone(0);
+ }
+ }
+ } else {
+ mJntAnm.lookPlayer(0);
+ if (mType == 2) {
+ step(mPlayerAngle, 10, 19, 15, 0);
+ } else {
+ step(mPlayerAngle, 10, 18, 15, 0);
+ }
+ }
+ }
+
+ break;
+ }
+
+ case 3: {
+ break;
+ }
+ }
+
+ return 0;
}
-/* 80972550-80972580 0056B0 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
+/* 8097146C-8097148C 0045CC 0020+00 1/0 0/0 0/0 .text daNpc_Bou_Create__FPv */
+static int daNpc_Bou_Create(void* i_this) {
+ return static_cast<daNpc_Bou_c*>(i_this)->create();
}
-/* 80972580-80972584 0056E0 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 */
+/* 8097148C-809714AC 0045EC 0020+00 1/0 0/0 0/0 .text daNpc_Bou_Delete__FPv */
+static int daNpc_Bou_Delete(void* i_this) {
+ return static_cast<daNpc_Bou_c*>(i_this)->Delete();
}
-/* 80972584-80972588 0056E4 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 */
+/* 809714AC-809714CC 00460C 0020+00 1/0 0/0 0/0 .text daNpc_Bou_Execute__FPv */
+static int daNpc_Bou_Execute(void* i_this) {
+ return static_cast<daNpc_Bou_c*>(i_this)->Execute();
}
-/* 80972588-8097258C 0056E8 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 */
+/* 809714CC-809714EC 00462C 0020+00 1/0 0/0 0/0 .text daNpc_Bou_Draw__FPv */
+static int daNpc_Bou_Draw(void* i_this) {
+ return static_cast<daNpc_Bou_c*>(i_this)->Draw();
}
-/* 8097258C-809725A8 0056EC 001C+00 2/2 0/0 0/0 .text cLib_calcTimer<i>__FPi */
-extern "C" void func_8097258C(void* _this, int* param_0) {
- // NONMATCHING
+/* 809714EC-809714F4 00464C 0008+00 1/0 0/0 0/0 .text daNpc_Bou_IsDelete__FPv */
+static int daNpc_Bou_IsDelete(void* i_this) {
+ return 1;
}
-/* ############################################################################################## */
-/* 80973430-8097343C 0009A0 000C+00 2/2 0/0 0/0 .data __vt__17daNpc_Bou_Param_c */
-SECTION_DATA extern void* __vt__17daNpc_Bou_Param_c[3] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__17daNpc_Bou_Param_cFv,
+/* 80973274-80973294 -00001 0020+00 1/0 0/0 0/0 .data daNpc_Bou_MethodTable */
+static actor_method_class daNpc_Bou_MethodTable = {
+ (process_method_func)daNpc_Bou_Create,
+ (process_method_func)daNpc_Bou_Delete,
+ (process_method_func)daNpc_Bou_Execute,
+ (process_method_func)daNpc_Bou_IsDelete,
+ (process_method_func)daNpc_Bou_Draw,
};
-/* 80973448-80973454 000008 000C+00 1/1 0/0 0/0 .bss @3942 */
-static u8 lit_3942[12];
+/* 80973294-809732C4 -00001 0030+00 0/0 0/0 1/0 .data g_profile_NPC_BOU */
+extern actor_process_profile_definition g_profile_NPC_BOU = {
+ fpcLy_CURRENT_e, // mLayerID
+ 7, // mListID
+ fpcPi_CURRENT_e, // mListPrio
+ PROC_NPC_BOU, // mProcName
+ &g_fpcLf_Method.base, // sub_method
+ sizeof(daNpc_Bou_c), // mSize
+ 0, // mSizeOther
+ 0, // mParameters
+ &g_fopAc_Method.base, // sub_method
+ 324, // mPriority
+ &daNpc_Bou_MethodTable, // sub_method
+ 0x00040107, // mStatus
+ fopAc_NPC_e, // mActorType
+ fopAc_CULLBOX_CUSTOM_e, // cullType
+};
/* 80973454-80973458 000014 0004+00 1/1 0/0 0/0 .bss l_HIO */
-static u8 l_HIO[4];
-
-/* 809725A8-809726D4 005708 012C+00 0/0 1/0 0/0 .text __sinit_d_a_npc_bou_cpp */
-void __sinit_d_a_npc_bou_cpp() {
- // NONMATCHING
-}
-
-#pragma push
-#pragma force_active on
-REGISTER_CTORS(0x809725A8, __sinit_d_a_npc_bou_cpp);
-#pragma pop
-
-/* 809726D4-809727B4 005834 00E0+00 1/1 0/0 0/0 .text
- * __ct__11daNpc_Bou_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc
- */
-/* daNpc_Bou_c::daNpc_Bou_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
-} */
-
-/* 809727B4-809727BC 005914 0008+00 1/0 0/0 0/0 .text getEyeballMaterialNo__11daNpc_Bou_cFv */
-s32 daNpc_Bou_c::getEyeballMaterialNo() {
- return true;
-}
-
-/* 809727BC-809727C4 00591C 0008+00 1/0 0/0 0/0 .text getHeadJointNo__11daNpc_Bou_cFv */
-s32 daNpc_Bou_c::getHeadJointNo() {
- return 4;
-}
-
-/* 809727C4-809727CC 005924 0008+00 1/0 0/0 0/0 .text getNeckJointNo__11daNpc_Bou_cFv */
-s32 daNpc_Bou_c::getNeckJointNo() {
- return 3;
-}
-
-/* 809727CC-809727D4 00592C 0008+00 1/0 0/0 0/0 .text getBackboneJointNo__11daNpc_Bou_cFv
- */
-s32 daNpc_Bou_c::getBackboneJointNo() {
- return true;
-}
-
-/* 809727D4-809727E4 005934 0010+00 1/0 0/0 0/0 .text checkChangeJoint__11daNpc_Bou_cFi
- */
-int daNpc_Bou_c::checkChangeJoint(int param_0) {
- // NONMATCHING
-}
-
-/* 809727E4-809727F4 005944 0010+00 1/0 0/0 0/0 .text checkRemoveJoint__11daNpc_Bou_cFi
- */
-int daNpc_Bou_c::checkRemoveJoint(int param_0) {
- // NONMATCHING
-}
-
-/* 809727F4-8097283C 005954 0048+00 2/1 0/0 0/0 .text __dt__17daNpc_Bou_Param_cFv */
-daNpc_Bou_Param_c::~daNpc_Bou_Param_c() {
- // NONMATCHING
-}
-
-/* 8097283C-80972844 00599C 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */
-static void func_8097283C() {
- // NONMATCHING
-}
-
-/* 80972844-8097284C 0059A4 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */
-static void func_80972844() {
- // NONMATCHING
-}
-
-/* 8097299C-8097299C 00013C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
+static daNpc_Bou_Param_c l_HIO;
diff --git a/src/d/actor/d_a_npc_jagar.cpp b/src/d/actor/d_a_npc_jagar.cpp
index 093cc481e3..372f9eff9d 100644
--- a/src/d/actor/d_a_npc_jagar.cpp
+++ b/src/d/actor/d_a_npc_jagar.cpp
@@ -1416,7 +1416,7 @@ int daNpc_Jagar_c::talkwithBou(void* param_0) {
mEvtNo = 7;
}
if (bo) {
- if (field_0x1005 == 0) {
+ if (mListen == 0) {
if (cLib_calcTimer(&field_0xff8) == 0) {
if (chkCondition(0) && bo->chkCondition(0)) {
field_0xff8 = cLib_getRndValue(45.0f, 135.0f);