summaryrefslogtreecommitdiff
path: root/src/d/actor
diff options
context:
space:
mode:
authorYunataSavior <58997725+YunataSavior@users.noreply.github.com>2025-09-25 17:47:58 -0700
committerGitHub <noreply@github.com>2025-09-25 17:47:58 -0700
commit083cea47701323232a86f89767489229aa96f982 (patch)
tree478a4f1e989132060325b8192e7251654eb5c482 /src/d/actor
parent80626def0748f383d5bb5944e87f6c58ca852b74 (diff)
npc_seira, npc_seira2, b_gnd, ni, npc_ne OK (#2697)
* npc_seira 44% done * npc_seira 73% done * npc_seira matching * npc_seira2 OK * b_gnd OK * d_a_ni OK * npc_ne OK * daAlink_c::setSyncHorse OK * Thanks robojumper! * Update daNpc_Seira_c::getType
Diffstat (limited to 'src/d/actor')
-rw-r--r--src/d/actor/d_a_alink_horse.inc3
-rw-r--r--src/d/actor/d_a_b_gnd.cpp34
-rw-r--r--src/d/actor/d_a_ni.cpp264
-rw-r--r--src/d/actor/d_a_npc_ne.cpp179
-rw-r--r--src/d/actor/d_a_npc_seira.cpp2752
-rw-r--r--src/d/actor/d_a_npc_seira2.cpp2412
6 files changed, 2295 insertions, 3349 deletions
diff --git a/src/d/actor/d_a_alink_horse.inc b/src/d/actor/d_a_alink_horse.inc
index 6b42f8d068..155be7a6a6 100644
--- a/src/d/actor/d_a_alink_horse.inc
+++ b/src/d/actor/d_a_alink_horse.inc
@@ -687,7 +687,6 @@ BOOL daAlink_c::checkHorseServiceWaitAnime() {
}
/* 800EDEEC-800EE64C 0E882C 0760+00 1/1 0/0 0/0 .text setSyncHorse__9daAlink_cFi */
-// NONMATCHING - missing stack space at 0x10
int daAlink_c::setSyncHorse(int param_0) {
daHorse_c* horse_p = dComIfGp_getHorseActor();
daPy_frameCtrl_c* sp24 = &mUnderFrameCtrl[0];
@@ -699,7 +698,7 @@ int daAlink_c::setSyncHorse(int param_0) {
return 0;
}
- daAlink_ANM sp8[2];
+ daAlink_ANM sp8[3];
getBaseHorseAnime(sp8);
if (fabsf(horse_p->speedF) < 0.001f) {
diff --git a/src/d/actor/d_a_b_gnd.cpp b/src/d/actor/d_a_b_gnd.cpp
index bebfafa972..1b9ef02b00 100644
--- a/src/d/actor/d_a_b_gnd.cpp
+++ b/src/d/actor/d_a_b_gnd.cpp
@@ -17,6 +17,21 @@
#include "Z2AudioLib/Z2Instances.h"
+class daB_GND_HIO_c : public JORReflexible {
+public:
+ /* 805F4A4C */ daB_GND_HIO_c();
+ /* 80602230 */ virtual ~daB_GND_HIO_c() {}
+
+ void genMessage(JORMContext*);
+
+ /* 0x04 */ s8 no;
+ /* 0x08 */ f32 model_size;
+ /* 0x0C */ f32 field_0xc;
+ /* 0x10 */ f32 field_0x10;
+ /* 0x14 */ f32 field_0x14;
+ /* 0x18 */ f32 field_0x18;
+};
+
enum B_GND_RES_FILE_ID { // IDs and indexes are synced
/* BCK */
B_GND_BCK_AL_EGND_TODOME=0x8,
@@ -658,12 +673,12 @@ static void b_gnd_h_wait2(b_gnd_class* i_this) {
static cXyz b_path[8];
/* 805F6290-805F6FA4 001930 0D14+00 2/1 0/0 0/0 .text b_gnd_h_run_a__FP11b_gnd_class */
-// NONMATCHING - regswap, equivalent
static void b_gnd_h_run_a(b_gnd_class* i_this) {
fopAc_ac_c* a_this = (fopAc_ac_c*)i_this;
fopAc_ac_c* player = dComIfGp_getPlayer(0);
cXyz sp8C, sp80;
+ f32 var_f30;
f32 player_distxz = i_this->mPlayerDistXZ;
f32 speed_target = 0.0f;
f32 speed_step = 1.0f;
@@ -833,7 +848,7 @@ static void b_gnd_h_run_a(b_gnd_class* i_this) {
if (i_this->mMoveMode < 20) {
sp8C = b_path[i_this->field_0xc60] - a_this->current.pos;
- f32 var_f30 = JMAFastSqrt(sp8C.x * sp8C.x + sp8C.z * sp8C.z);
+ var_f30 = JMAFastSqrt(sp8C.x * sp8C.x + sp8C.z * sp8C.z);
if (var_f30 < 800.0f) {
sp8C = b_path[(i_this->field_0xc60 + 1) & 7] - a_this->current.pos;
@@ -852,12 +867,11 @@ static void b_gnd_h_run_a(b_gnd_class* i_this) {
i_this->field_0x5cc = cM_atan2s(sp8C.x, sp8C.z);
if (i_this->field_0x1e0a >= 1 && i_this->mMoveMode <= 2) {
- speed_target = (var_f30 - 800.0f) * (AREG_F(8) + 2.0f);
- var_f30 = 7000.0f;
- if (speed_target > 7000.0f) {
- speed_target = 7000.0f;
- } else if (speed_target < 0.0f) {
- speed_target = 0.0f;
+ var_f30 = (var_f30 - 800.0f) * (AREG_F(8) + 2.0f);
+ if (var_f30 > 7000.0f) {
+ var_f30 = 7000.0f;
+ } else if (var_f30 < 0.0f) {
+ var_f30 = 0.0f;
}
i_this->field_0xc90 = i_this->field_0xc90 + i_this->field_0xc92;
@@ -865,7 +879,7 @@ static void b_gnd_h_run_a(b_gnd_class* i_this) {
i_this->field_0xc92 = cM_rndF(600.0f) + 300.0f;
}
- i_this->field_0x5cc += (s16)(speed_target * cM_ssin(i_this->field_0xc90));
+ i_this->field_0x5cc += (s16)(var_f30 * cM_ssin(i_this->field_0xc90));
}
if (i_this->field_0xc72 != 0) {
@@ -5007,4 +5021,6 @@ extern actor_process_profile_definition g_profile_B_GND = {
fopAc_CULLBOX_CUSTOM_e, // cullType
};
+static int unk_bss_0xF0;
+
AUDIO_INSTANCES;
diff --git a/src/d/actor/d_a_ni.cpp b/src/d/actor/d_a_ni.cpp
index 517e23a693..5f4dac869f 100644
--- a/src/d/actor/d_a_ni.cpp
+++ b/src/d/actor/d_a_ni.cpp
@@ -3,16 +3,11 @@
// Translation Unit: d_a_ni
//
-/**
- * Basically entirely matching except for ONE float reg alloc in play_camera,
- * and some extra dtors being emitted that shouldnt be after daNi_Create
- */
#include "d/dolzel_rel.h"
#include "d/d_msg_flow.h"
#include "d/d_s_play.h"
-#include "dol2asm.h"
#include "m_Do/m_Do_controller_pad.h"
#include "m_Do/m_Do_graphic.h"
#include "d/d_com_inf_game.h"
@@ -36,191 +31,6 @@ enum Joint {
/* 0x8 */ JNT_WINGR,
};
-//
-// Forward References:
-//
-
-extern "C" void __ct__10daNi_HIO_cFv();
-extern "C" static void anm_init__FP8ni_classifUcf();
-extern "C" static void hane_set__FP8ni_classff();
-extern "C" static void nodeCallBack__FP8J3DJointi();
-extern "C" static void daNi_Draw__FP8ni_class();
-extern "C" void __dt__4cXyzFv();
-extern "C" static void s_play_sub__FPvPv();
-extern "C" static void damage_check__FP8ni_class();
-extern "C" static void s_t_sub__FPvPv();
-extern "C" static void search_test__FP8ni_class();
-extern "C" static void ni_carry_check__FP8ni_class();
-extern "C" static void move_gake_check__FP8ni_classf();
-extern "C" static void ni_normal__FP8ni_class();
-extern "C" static void ni_away__FP8ni_class();
-extern "C" static void ni_swim__FP8ni_class();
-extern "C" static void ni_carry__FP8ni_class();
-extern "C" static void ni_fly__FP8ni_class();
-extern "C" static void ni_drop__FP8ni_class();
-extern "C" static void ni_return__FP8ni_class();
-extern "C" static void ni_damage__FP8ni_class();
-extern "C" static void s_b_sub__FPvPv();
-extern "C" static void ni_windspin__FP8ni_class();
-extern "C" static void ni_demo0__FP8ni_class();
-extern "C" static void ni_message__FP8ni_class();
-extern "C" static void playwallcheck__FP8ni_class();
-extern "C" static void ni_play__FP8ni_class();
-extern "C" static void play_camera__FP8ni_class();
-extern "C" static void action__FP8ni_class();
-extern "C" static void message__FP8ni_class();
-extern "C" static void daNi_Execute__FP8ni_class();
-extern "C" static bool daNi_IsDelete__FP8ni_class();
-extern "C" static void daNi_Delete__FP8ni_class();
-extern "C" static void useHeapInit__FP10fopAc_ac_c();
-extern "C" void __dt__12J3DFrameCtrlFv();
-extern "C" static void daNi_Create__FP10fopAc_ac_c();
-extern "C" void __dt__8cM3dGSphFv();
-extern "C" void __dt__8cM3dGAabFv();
-extern "C" void __dt__10dCcD_GSttsFv();
-extern "C" void __dt__12dBgS_ObjAcchFv();
-extern "C" void __dt__12dBgS_AcchCirFv();
-extern "C" void __dt__10cCcD_GSttsFv();
-extern "C" void __dt__10daNi_HIO_cFv();
-extern "C" void __sinit_d_a_ni_cpp();
-extern "C" static void func_8095119C();
-extern "C" static void func_809511A4();
-extern "C" extern char const* const d_a_ni__stringBase0;
-
-//
-// External References:
-//
-
-extern "C" void fadeOut__13mDoGph_gInf_cFfR8_GXColor();
-extern "C" void mDoMtx_XrotM__FPA4_fs();
-extern "C" void mDoMtx_YrotS__FPA4_fs();
-extern "C" void mDoMtx_YrotM__FPA4_fs();
-extern "C" void mDoMtx_ZrotM__FPA4_fs();
-extern "C" void transM__14mDoMtx_stack_cFfff();
-extern "C" void scaleM__14mDoMtx_stack_cFfff();
-extern "C" void init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifss();
-extern "C" void entry__13mDoExt_btkAnmFP16J3DMaterialTablef();
-extern "C" void
-__ct__14mDoExt_McaMorfFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiiPvUlUl();
-extern "C" void setAnm__14mDoExt_McaMorfFP15J3DAnmTransformiffffPv();
-extern "C" void play__14mDoExt_McaMorfFP3VecUlSc();
-extern "C" void entryDL__14mDoExt_McaMorfFv();
-extern "C" void modelCalc__14mDoExt_McaMorfFv();
-extern "C" void cDmrNowMidnaTalk__Fv();
-extern "C" void __ct__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_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c();
-extern "C" void fopAcM_searchActorDistance__FPC10fopAc_ac_cPC10fopAc_ac_c();
-extern "C" void fopAcM_orderPotentialEvent__FP10fopAc_ac_cUsUsUs();
-extern "C" void fopAcM_wayBgCheck__FPC10fopAc_ac_cff();
-extern "C" void fopAcM_effHamonSet__FPUlPC4cXyzff();
-extern "C" bool fopAcM_riverStream__FP4cXyzPsPff();
-extern "C" void fopAcM_carryOffRevise__FP10fopAc_ac_c();
-extern "C" void gndCheck__11fopAcM_gc_cFPC4cXyz();
-extern "C" void fpcEx_Search__FPFPvPv_PvPv();
-extern "C" void fpcSch_JudgeForPName__FPvPv();
-extern "C" void fpcSch_JudgeByID__FPvPv();
-extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
-extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
-extern "C" void dComIfGp_getReverb__Fi();
-extern "C" void
-dComIfGd_setShadow__FUlScP8J3DModelP4cXyzffffR13cBgS_PolyInfoP12dKy_tevstr_csfP9_GXTexObj();
-extern "C" void isEventBit__11dSv_event_cCFUs();
-extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
-extern "C" void reset__14dEvt_control_cFv();
-extern "C" void forceOnEventMove__Q213dPa_control_c7level_cFUl();
-extern "C" void getEmitter__Q213dPa_control_c7level_cFUl();
-extern "C" void
-set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
-extern "C" void LineCross__4cBgSFP11cBgS_LinChk();
-extern "C" void GroundCross__4cBgSFP11cBgS_GndChk();
-extern "C" void __ct__12dBgS_AcchCirFv();
-extern "C" void SetWall__12dBgS_AcchCirFff();
-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__18dBgS_ObjGndChk_SplFv();
-extern "C" void __dt__18dBgS_ObjGndChk_SplFv();
-extern "C" void __ct__11dBgS_LinChkFv();
-extern "C" void __dt__11dBgS_LinChkFv();
-extern "C" void Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c();
-extern "C" void __ct__14dBgS_CamLinChkFv();
-extern "C" void __dt__14dBgS_CamLinChkFv();
-extern "C" void SetObj__16dBgS_PolyPassChkFv();
-extern "C" void __ct__10dCcD_GSttsFv();
-extern "C" void Move__10dCcD_GSttsFv();
-extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c();
-extern "C" void __ct__12dCcD_GObjInfFv();
-extern "C" void ChkTgHit__12dCcD_GObjInfFv();
-extern "C" void GetTgHitObj__12dCcD_GObjInfFv();
-extern "C" void Set__8dCcD_SphFRC11dCcD_SrcSph();
-extern "C" void at_power_check__FP11dCcU_AtInfo();
-extern "C" void checkBoomerangCharge__9daPy_py_cFv();
-extern "C" void Start__9dCamera_cFv();
-extern "C" void Stop__9dCamera_cFv();
-extern "C" void SetTrimSize__9dCamera_cFl();
-extern "C" void Set__9dCamera_cF4cXyz4cXyzfs();
-extern "C" void Reset__9dCamera_cF4cXyz4cXyzfs();
-extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
-extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
-extern "C" void __ct__10dMsgFlow_cFv();
-extern "C" void init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c();
-extern "C" void doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci();
-extern "C" void Set__4cCcSFP8cCcD_Obj();
-extern "C" void __mi__4cXyzCFRC3Vec();
-extern "C" void cM_atan2s__Fff();
-extern "C" void cM_rndF__Ff();
-extern "C" void cM_rndFX__Ff();
-extern "C" void SetPos__11cBgS_GndChkFPC4cXyz();
-extern "C" void __dt__13cBgS_PolyInfoFv();
-extern "C" void __dt__8cM3dGCirFv();
-extern "C" void SetC__8cM3dGSphFRC4cXyz();
-extern "C" void SetR__8cM3dGSphFf();
-extern "C" void cLib_addCalc2__FPffff();
-extern "C" void cLib_addCalc0__FPfff();
-extern "C" void cLib_addCalcAngleS2__FPssss();
-extern "C" void MtxPosition__FP4cXyzP4cXyz();
-extern "C" void deleteObject__14Z2SoundObjBaseFv();
-extern "C" void __ct__16Z2SoundObjSimpleFv();
-extern "C" void* __nw__FUl();
-extern "C" void __dl__FPv();
-extern "C" void init__12J3DFrameCtrlFs();
-extern "C" void checkPass__12J3DFrameCtrlFf();
-extern "C" void _savegpr_22();
-extern "C" void _savegpr_24();
-extern "C" void _savegpr_26();
-extern "C" void _savegpr_27();
-extern "C" void _savegpr_28();
-extern "C" void _savegpr_29();
-extern "C" void _restgpr_22();
-extern "C" void _restgpr_24();
-extern "C" void _restgpr_26();
-extern "C" void _restgpr_27();
-extern "C" void _restgpr_28();
-extern "C" void _restgpr_29();
-extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
-extern "C" extern void* __vt__8dCcD_Sph[36];
-extern "C" extern void* __vt__9dCcD_Stts[11];
-extern "C" extern void* __vt__12cCcD_SphAttr[25];
-extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
-extern "C" extern void* __vt__9cCcD_Stts[8];
-extern "C" u8 m_cpadInfo__8mDoCPd_c[256];
-extern "C" u8 now__14mDoMtx_stack_c[48];
-extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32];
-extern "C" u8 mCurrentMtx__6J3DSys[48];
-extern "C" u8 sincosTable___5JMath[65536];
-extern "C" f32 mGroundY__11fopAcM_gc_c;
-extern "C" void __register_global_object();
-
-//
-// Declarations:
-//
-
/* 8094BC2C-8094BCA8 0000EC 007C+00 1/1 0/0 0/0 .text __ct__10daNi_HIO_cFv */
daNi_HIO_c::daNi_HIO_c() {
field_0x04 = -1;
@@ -1381,7 +1191,7 @@ static int ni_play(ni_class* i_this) {
/* 8094ED90-8094F5D8 003250 0848+00 1/1 0/0 0/0 .text play_camera__FP8ni_class */
static void play_camera(ni_class* i_this) {
- fopAc_ac_c* a_this = (fopAc_ac_c*)i_this; // necessary for reg alloc
+ fopAc_ac_c* a_this = (fopAc_ac_c*)i_this;
camera_class* camera = dComIfGp_getCamera(dComIfGp_getPlayerCameraID(0));
camera_class* camera0 = (camera_class*)dComIfGp_getCamera(0);
@@ -1393,8 +1203,15 @@ static void play_camera(ni_class* i_this) {
int var_r27 = 0;
- f32 analog_l = i_this->mPadAnalogL;
f32 var_f31;
+ f32 var_f29;
+ f32 var_f28;
+ f32 var_f27;
+ f32 temp;
+ f32 var_f3;
+ f32 temp_f30_2;
+ f32 temp_f1_4;
+ f32 analog_l = i_this->mPadAnalogL;
BOOL hold_l = i_this->mPadHoldL;
cXyz sp208(0.0f, 0.0f, 0.0f);
@@ -1435,16 +1252,16 @@ static void play_camera(ni_class* i_this) {
i_this->mPlayCamMode = 3;
i_this->mPlayCamModeTimer = 0;
// fallthrough
- case 3:
+ case 3: {
var_r25 = 1;
i_this->field_0xaec = 55.0f;
sp1D8 = i_this->field_0xac8 - a_this->current.pos;
s16 var_r4_2 = cM_atan2s(-sp1D8.x, -sp1D8.z);
var_f31 = TREG_F(12) + 0.3f;
- f32 var_f29 = i_this->field_0xafc;
- f32 var_f28 = 180.0f;
- f32 var_f27 = 100.0f;
+ var_f29 = i_this->field_0xafc;
+ var_f28 = 180.0f;
+ var_f27 = 100.0f;
if (analog_l > TREG_F(12) + 0.5f) {
var_r4_2 = a_this->shape_angle.y;
@@ -1458,7 +1275,7 @@ static void play_camera(ni_class* i_this) {
i_this->field_0xafc = 500.0f;
}
} else {
- f32 temp = i_this->mPadSubStickX;
+ temp = i_this->mPadSubStickX;
temp *= TREG_F(3) + 5000.0f;
i_this->field_0xaf4 += (s16)temp;
@@ -1486,7 +1303,6 @@ static void play_camera(ni_class* i_this) {
cLib_addCalc2(&i_this->field_0xac8.x, sp1F0.x, var_f31, 1000.0f);
cLib_addCalc2(&i_this->field_0xac8.z, sp1F0.z, var_f31, 1000.0f);
- f32 var_f3;
if (i_this->field_0xac8.y < sp1F0.y) {
var_f3 = 1000.0f;
} else {
@@ -1518,20 +1334,21 @@ static void play_camera(ni_class* i_this) {
mDoGph_gInf_c::fadeOut(0.05f, g_blackColor);
}
break;
+ }
case 4:
var_r25 = 1;
if (i_this->mPlayCamModeTimer == 30) {
- player = (daPy_py_c*)dComIfGp_getPlayer(0);
+ daPy_py_c* upc_pl = (daPy_py_c*)dComIfGp_getPlayer(0);
mDoGph_gInf_c::fadeOut(-0.05f, g_blackColor);
- cMtx_YrotS(*calc_mtx, player->shape_angle.y);
+ cMtx_YrotS(*calc_mtx, upc_pl->shape_angle.y);
sp1D8.x = 0.0f;
sp1D8.y = JREG_F(1) + 200.0f;
sp1D8.z = JREG_F(2) + -250.0f;
MtxPosition(&sp1D8, &i_this->field_0xac8);
- i_this->field_0xac8 += player->current.pos;
+ i_this->field_0xac8 += upc_pl->current.pos;
- i_this->field_0xad4 = player->current.pos;
+ i_this->field_0xad4 = upc_pl->current.pos;
i_this->field_0xad4.y += 120.0f;
camera->mCamera.Reset(i_this->field_0xad4, i_this->field_0xac8, i_this->field_0xaec, 0);
@@ -1539,7 +1356,7 @@ static void play_camera(ni_class* i_this) {
camera->mCamera.SetTrimSize(0);
dComIfGp_event_reset();
- player->cancelOriginalDemo();
+ upc_pl->cancelOriginalDemo();
i_this->mPlayCamMode = 0;
i_this->mAction = ACTION_NORMAL_e;
@@ -1581,11 +1398,10 @@ static void play_camera(ni_class* i_this) {
sp1E4.z = sp214.z;
gnd_chk.SetPos(&sp1E4);
- f32 temp_f30_2 = dComIfG_Bgsp().GroundCross(&gnd_chk);
- temp_f30_2 = temp_f30_2;
+ temp_f30_2 = dComIfG_Bgsp().GroundCross(&gnd_chk);
gnd_chk_spl.SetPos(&sp1E4);
- f32 temp_f1_4 = dComIfG_Bgsp().GroundCross(&gnd_chk_spl);
+ temp_f1_4 = dComIfG_Bgsp().GroundCross(&gnd_chk_spl);
if (temp_f30_2 < temp_f1_4) {
sp214.y = temp_f1_4;
@@ -2215,20 +2031,28 @@ static int daNi_Create(fopAc_ac_c* i_this) {
AUDIO_INSTANCES;
/* 80951480-809514A0 -00001 0020+00 1/0 0/0 0/0 .data l_daNi_Method */
-SECTION_DATA static void* l_daNi_Method[8] = {
- (void*)daNi_Create__FP10fopAc_ac_c,
- (void*)daNi_Delete__FP8ni_class,
- (void*)daNi_Execute__FP8ni_class,
- (void*)daNi_IsDelete__FP8ni_class,
- (void*)daNi_Draw__FP8ni_class,
- (void*)NULL,
- (void*)NULL,
- (void*)NULL,
+static actor_method_class l_daNi_Method = {
+ (process_method_func)daNi_Create,
+ (process_method_func)daNi_Delete,
+ (process_method_func)daNi_Execute,
+ (process_method_func)daNi_IsDelete,
+ (process_method_func)daNi_Draw,
};
-/* 809514A0-809514D0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_NI */
-SECTION_DATA extern void* g_profile_NI[12] = {
- (void*)0xFFFFFFFD, (void*)0x0007FFFD, (void*)0x01080000, (void*)&g_fpcLf_Method,
- (void*)0x00000B0C, (void*)NULL, (void*)NULL, (void*)&g_fopAc_Method,
- (void*)0x02B70000, (void*)&l_daNi_Method, (void*)0x080C4000, (void*)0x04000000,
+/* 80AD5464-80AD5494 -00001 0030+00 0/0 0/0 1/0 .data g_profile_NPC_SERA2 */
+extern actor_process_profile_definition g_profile_NI = {
+ fpcLy_CURRENT_e, // mLayerID
+ 7, // mListID
+ fpcPi_CURRENT_e, // mListPrio
+ PROC_NI, // mProcName
+ &g_fpcLf_Method.base, // sub_method
+ sizeof(ni_class), // mSize
+ 0, // mSizeOther
+ 0, // mParameters
+ &g_fopAc_Method.base, // sub_method
+ 695, // mPriority
+ &l_daNi_Method, // sub_method
+ 0x80c4000, // mStatus
+ fopAc_NPC_e, // mActorType
+ fopAc_ACTOR_e, // cullType
};
diff --git a/src/d/actor/d_a_npc_ne.cpp b/src/d/actor/d_a_npc_ne.cpp
index 41ce851008..8808598db3 100644
--- a/src/d/actor/d_a_npc_ne.cpp
+++ b/src/d/actor/d_a_npc_ne.cpp
@@ -17,6 +17,7 @@
#include "f_op/f_op_camera_mng.h"
#include "f_op/f_op_kankyo_mng.h"
#include "c/c_damagereaction.h"
+#include "Z2AudioLib/Z2Instances.h"
/* 80A925F0-80A92850 000000 0260+00 3/3 0/0 0/0 .data home_path */
static home_path_pnt home_path[38] = {
@@ -3093,7 +3094,6 @@ static int daNpc_Ne_Delete(npc_ne_class* i_this) {
}
/* 80A91798-80A91B40 008BB8 03A8+00 1/1 0/0 0/0 .text useHeapInit__FP10fopAc_ac_c */
-// NONMATCHING: regalloc
static int useHeapInit(fopAc_ac_c* i_this) {
npc_ne_class* _this = static_cast<npc_ne_class*>(i_this);
_this->mpMorf =
@@ -3119,7 +3119,7 @@ static int useHeapInit(fopAc_ac_c* i_this) {
if (_this->mpBtkAnm == NULL) {
return 0;
}
- if (!_this->mpBtkAnm->init(_this->mpMorf->getModel()->getModelData(),
+ if (FALSE == _this->mpBtkAnm->init(_this->mpMorf->getModel()->getModelData(),
static_cast<J3DAnmTextureSRTKey*>(dComIfG_getObjectRes(_this->mResName, 32)), 1, 0, 1.0f, 0, -1)) {
return 0;
}
@@ -3128,7 +3128,7 @@ static int useHeapInit(fopAc_ac_c* i_this) {
if (_this->mpBtpAnm == NULL) {
return 0;
}
- if (!_this->mpBtpAnm->init(_this->mpMorf->getModel()->getModelData(),
+ if (FALSE == _this->mpBtpAnm->init(_this->mpMorf->getModel()->getModelData(),
static_cast<J3DAnmTexPattern*>(dComIfG_getObjectRes(_this->mResName, 35)), 1, 0, 1.0f, 0, -1)) {
return 0;
}
@@ -3312,177 +3312,6 @@ npc_ne_class::npc_ne_class() {
/* empty function */
}
-/* 80A92B1C-80A92B20 00009C 0004+00 0/0 0/0 0/0 .bss
- * sInstance__40JASGlobalInstance<19JASDefaultBankTable> */
-#pragma push
-#pragma force_active on
-static u8 data_80A92B1C[4];
-#pragma pop
-
-/* 80A92B20-80A92B24 0000A0 0004+00 0/0 0/0 0/0 .bss
- * sInstance__35JASGlobalInstance<14JASAudioThread> */
-#pragma push
-#pragma force_active on
-static u8 data_80A92B20[4];
-#pragma pop
-
-/* 80A92B24-80A92B28 0000A4 0004+00 0/0 0/0 0/0 .bss sInstance__27JASGlobalInstance<7Z2SeMgr> */
-#pragma push
-#pragma force_active on
-static u8 data_80A92B24[4];
-#pragma pop
-
-/* 80A92B28-80A92B2C 0000A8 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8Z2SeqMgr> */
-#pragma push
-#pragma force_active on
-static u8 data_80A92B28[4];
-#pragma pop
-
-/* 80A92B2C-80A92B30 0000AC 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SceneMgr>
- */
-#pragma push
-#pragma force_active on
-static u8 data_80A92B2C[4];
-#pragma pop
-
-/* 80A92B30-80A92B34 0000B0 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2StatusMgr>
- */
-#pragma push
-#pragma force_active on
-static u8 data_80A92B30[4];
-#pragma pop
-
-/* 80A92B34-80A92B38 0000B4 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2DebugSys>
- */
-#pragma push
-#pragma force_active on
-static u8 data_80A92B34[4];
-#pragma pop
-
-/* 80A92B38-80A92B3C 0000B8 0004+00 0/0 0/0 0/0 .bss
- * sInstance__36JASGlobalInstance<15JAISoundStarter> */
-#pragma push
-#pragma force_active on
-static u8 data_80A92B38[4];
-#pragma pop
-
-/* 80A92B3C-80A92B40 0000BC 0004+00 0/0 0/0 0/0 .bss
- * sInstance__35JASGlobalInstance<14Z2SoundStarter> */
-#pragma push
-#pragma force_active on
-static u8 data_80A92B3C[4];
-#pragma pop
-
-/* 80A92B40-80A92B44 0000C0 0004+00 0/0 0/0 0/0 .bss
- * sInstance__33JASGlobalInstance<12Z2SpeechMgr2> */
-#pragma push
-#pragma force_active on
-static u8 data_80A92B40[4];
-#pragma pop
-
-/* 80A92B44-80A92B48 0000C4 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8JAISeMgr> */
-#pragma push
-#pragma force_active on
-static u8 data_80A92B44[4];
-#pragma pop
-
-/* 80A92B48-80A92B4C 0000C8 0004+00 0/0 0/0 0/0 .bss sInstance__29JASGlobalInstance<9JAISeqMgr> */
-#pragma push
-#pragma force_active on
-static u8 data_80A92B48[4];
-#pragma pop
-
-/* 80A92B4C-80A92B50 0000CC 0004+00 0/0 0/0 0/0 .bss
- * sInstance__33JASGlobalInstance<12JAIStreamMgr> */
-#pragma push
-#pragma force_active on
-static u8 data_80A92B4C[4];
-#pragma pop
-
-/* 80A92B50-80A92B54 0000D0 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SoundMgr>
- */
-#pragma push
-#pragma force_active on
-static u8 data_80A92B50[4];
-#pragma pop
-
-/* 80A92B54-80A92B58 0000D4 0004+00 0/0 0/0 0/0 .bss
- * sInstance__33JASGlobalInstance<12JAISoundInfo> */
-#pragma push
-#pragma force_active on
-static u8 data_80A92B54[4];
-#pragma pop
-
-/* 80A92B58-80A92B5C 0000D8 0004+00 0/0 0/0 0/0 .bss
- * sInstance__34JASGlobalInstance<13JAUSoundTable> */
-#pragma push
-#pragma force_active on
-static u8 data_80A92B58[4];
-#pragma pop
-
-/* 80A92B5C-80A92B60 0000DC 0004+00 0/0 0/0 0/0 .bss
- * sInstance__38JASGlobalInstance<17JAUSoundNameTable> */
-#pragma push
-#pragma force_active on
-static u8 data_80A92B5C[4];
-#pragma pop
-
-/* 80A92B60-80A92B64 0000E0 0004+00 0/0 0/0 0/0 .bss
- * sInstance__33JASGlobalInstance<12JAUSoundInfo> */
-#pragma push
-#pragma force_active on
-static u8 data_80A92B60[4];
-#pragma pop
-
-/* 80A92B64-80A92B68 0000E4 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SoundInfo>
- */
-#pragma push
-#pragma force_active on
-static u8 data_80A92B64[4];
-#pragma pop
-
-/* 80A92B68-80A92B6C 0000E8 0004+00 0/0 0/0 0/0 .bss
- * sInstance__34JASGlobalInstance<13Z2SoundObjMgr> */
-#pragma push
-#pragma force_active on
-static u8 data_80A92B68[4];
-#pragma pop
-
-/* 80A92B6C-80A92B70 0000EC 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2Audience>
- */
-#pragma push
-#pragma force_active on
-static u8 data_80A92B6C[4];
-#pragma pop
-
-/* 80A92B70-80A92B74 0000F0 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2FxLineMgr>
- */
-#pragma push
-#pragma force_active on
-static u8 data_80A92B70[4];
-#pragma pop
-
-/* 80A92B74-80A92B78 0000F4 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2EnvSeMgr>
- */
-#pragma push
-#pragma force_active on
-static u8 data_80A92B74[4];
-#pragma pop
-
-/* 80A92B78-80A92B7C 0000F8 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SpeechMgr>
- */
-#pragma push
-#pragma force_active on
-static u8 data_80A92B78[4];
-#pragma pop
-
-/* 80A92B7C-80A92B80 0000FC 0004+00 0/0 0/0 0/0 .bss
- * sInstance__34JASGlobalInstance<13Z2WolfHowlMgr> */
-#pragma push
-#pragma force_active on
-static u8 data_80A92B7C[4];
-#pragma pop
-
/* 80A929D0-80A929F0 -00001 0020+00 1/0 0/0 0/0 .data l_daNpc_Ne_Method */
static actor_method_class l_daNpc_Ne_Method = {
(process_method_func)daNpc_Ne_Create,
@@ -3509,3 +3338,5 @@ extern actor_process_profile_definition g_profile_NPC_NE = {
fopAc_NPC_e,
fopAc_CULLBOX_0_e,
};
+
+AUDIO_INSTANCES;
diff --git a/src/d/actor/d_a_npc_seira.cpp b/src/d/actor/d_a_npc_seira.cpp
index fb99ade893..34218cd8ea 100644
--- a/src/d/actor/d_a_npc_seira.cpp
+++ b/src/d/actor/d_a_npc_seira.cpp
@@ -6,1753 +6,1475 @@
#include "d/dolzel_rel.h"
#include "d/actor/d_a_npc_seira.h"
-#include "dol2asm.h"
-
-//
-// Forward References:
-//
-
-extern "C" void __dt__13daNpc_Seira_cFv();
-extern "C" void create__13daNpc_Seira_cFv();
-extern "C" void CreateHeap__13daNpc_Seira_cFv();
-extern "C" void __dt__15J3DTevKColorAnmFv();
-extern "C" void __ct__15J3DTevKColorAnmFv();
-extern "C" void __dt__14J3DTevColorAnmFv();
-extern "C" void __ct__14J3DTevColorAnmFv();
-extern "C" void __dt__11J3DTexNoAnmFv();
-extern "C" void __ct__11J3DTexNoAnmFv();
-extern "C" void __dt__12J3DTexMtxAnmFv();
-extern "C" void __ct__12J3DTexMtxAnmFv();
-extern "C" void __dt__14J3DMatColorAnmFv();
-extern "C" void __ct__14J3DMatColorAnmFv();
-extern "C" void Delete__13daNpc_Seira_cFv();
-extern "C" void Execute__13daNpc_Seira_cFv();
-extern "C" void Draw__13daNpc_Seira_cFv();
-extern "C" void createHeapCallBack__13daNpc_Seira_cFP10fopAc_ac_c();
-extern "C" void ctrlJointCallBack__13daNpc_Seira_cFP8J3DJointi();
-extern "C" void getType__13daNpc_Seira_cFv();
-extern "C" void getFlowNodeNo__13daNpc_Seira_cFv();
-extern "C" void checkBottle__13daNpc_Seira_cFv();
-extern "C" void getNpcType__13daNpc_Seira_cFv();
-extern "C" bool isDelete__13daNpc_Seira_cFv();
-extern "C" void reset__13daNpc_Seira_cFv();
-extern "C" void afterJntAnm__13daNpc_Seira_cFi();
-extern "C" void setParam__13daNpc_Seira_cFv();
-extern "C" void checkChangeEvt__13daNpc_Seira_cFv();
-extern "C" void setAfterTalkMotion__13daNpc_Seira_cFv();
-extern "C" void srchActors__13daNpc_Seira_cFv();
-extern "C" void evtTalk__13daNpc_Seira_cFv();
-extern "C" void evtCutProc__13daNpc_Seira_cFv();
-extern "C" void action__13daNpc_Seira_cFv();
-extern "C" void beforeMove__13daNpc_Seira_cFv();
-extern "C" void setAttnPos__13daNpc_Seira_cFv();
-extern "C" void setCollision__13daNpc_Seira_cFv();
-extern "C" bool drawDbgInfo__13daNpc_Seira_cFv();
-extern "C" void drawOtherMdl__13daNpc_Seira_cFv();
-extern "C" void setBottleAnm__13daNpc_Seira_cFiifb();
-extern "C" void afterSetMotionAnm__13daNpc_Seira_cFiifi();
-extern "C" void changeAnm__13daNpc_Seira_cFPiPi();
-extern "C" void changeBck__13daNpc_Seira_cFPiPi();
-extern "C" void changeBtp__13daNpc_Seira_cFPiPi();
-extern "C" void changeBtk__13daNpc_Seira_cFPiPi();
-extern "C" void selectAction__13daNpc_Seira_cFv();
-extern "C" void chkAction__13daNpc_Seira_cFM13daNpc_Seira_cFPCvPvPv_i();
-extern "C" void setAction__13daNpc_Seira_cFM13daNpc_Seira_cFPCvPvPv_i();
-extern "C" void cutConversationAboutSaru__13daNpc_Seira_cFi();
-extern "C" void checkStageIsSeirasShop__13daNpc_Seira_cFv();
-extern "C" void getShopItemType__13daNpc_Seira_cFv();
-extern "C" void wait__13daNpc_Seira_cFPv();
-extern "C" void sit__13daNpc_Seira_cFPv();
-extern "C" void happy__13daNpc_Seira_cFPv();
-extern "C" void worry__13daNpc_Seira_cFPv();
-extern "C" void sad__13daNpc_Seira_cFPv();
-extern "C" void lookaround__13daNpc_Seira_cFPv();
-extern "C" void lookaround_wait__13daNpc_Seira_cFPv();
-extern "C" void smile__13daNpc_Seira_cFPv();
-extern "C" void talk__13daNpc_Seira_cFPv();
-extern "C" void shop__13daNpc_Seira_cFPv();
-extern "C" static void daNpc_Seira_Create__FPv();
-extern "C" static void daNpc_Seira_Delete__FPv();
-extern "C" static void daNpc_Seira_Execute__FPv();
-extern "C" static void daNpc_Seira_Draw__FPv();
-extern "C" static bool daNpc_Seira_IsDelete__FPv();
-extern "C" void calc__11J3DTexNoAnmCFPUs();
-extern "C" void __dt__10cCcD_GSttsFv();
-extern "C" void __dt__18daNpcT_ActorMngr_cFv();
-extern "C" void __ct__18daNpcT_ActorMngr_cFv();
-extern "C" void __dt__8cM3dGCylFv();
-extern "C" void __dt__8cM3dGAabFv();
-extern "C" void __dt__4cXyzFv();
-extern "C" void __dt__5csXyzFv();
-extern "C" void
-__ct__8daNpcT_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc();
-extern "C" void __ct__5csXyzFv();
-extern "C" void __dt__15daNpcT_JntAnm_cFv();
-extern "C" void __ct__4cXyzFv();
-extern "C" void __dt__22daNpcT_MotionSeqMngr_cFv();
-extern "C" void __dt__12dBgS_AcchCirFv();
-extern "C" void __dt__10dCcD_GSttsFv();
-extern "C" void __dt__12dBgS_ObjAcchFv();
-extern "C" void __dt__12J3DFrameCtrlFv();
-extern "C" void setEyeAngleY__15daNpcT_JntAnm_cF4cXyzsifs();
-extern "C" void setEyeAngleX__15daNpcT_JntAnm_cF4cXyzfs();
-extern "C" void ctrlSubFaceMotion__8daNpcT_cFi();
-extern "C" s32 getFootLJointNo__8daNpcT_cFv();
-extern "C" s32 getFootRJointNo__8daNpcT_cFv();
-extern "C" bool getEyeballLMaterialNo__8daNpcT_cFv();
-extern "C" bool getEyeballRMaterialNo__8daNpcT_cFv();
-extern "C" bool evtEndProc__8daNpcT_cFv();
-extern "C" void afterMoved__8daNpcT_cFv();
-extern "C" bool chkXYItems__8daNpcT_cFv();
-extern "C" void decTmr__8daNpcT_cFv();
-extern "C" void drawGhost__8daNpcT_cFv();
-extern "C" bool afterSetFaceMotionAnm__8daNpcT_cFiifi();
-extern "C" void getFaceMotionAnm__8daNpcT_cF26daNpcT_faceMotionAnmData_c();
-extern "C" void getMotionAnm__8daNpcT_cF22daNpcT_motionAnmData_c();
-extern "C" void func_80ACFA28(void* _this, int*);
-extern "C" void func_80ACFA44(void* _this, int, int);
-extern "C" void __sinit_d_a_npc_seira_cpp();
-extern "C" void
-__ct__13daNpc_Seira_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc();
-extern "C" u16 getEyeballMaterialNo__13daNpc_Seira_cFv();
-extern "C" s32 getHeadJointNo__13daNpc_Seira_cFv();
-extern "C" s32 getNeckJointNo__13daNpc_Seira_cFv();
-extern "C" bool getBackboneJointNo__13daNpc_Seira_cFv();
-extern "C" void checkChangeJoint__13daNpc_Seira_cFi();
-extern "C" void checkRemoveJoint__13daNpc_Seira_cFi();
-extern "C" void __dt__19daNpc_Seira_Param_cFv();
-extern "C" static void func_80ACFC9C();
-extern "C" static void func_80ACFCA4();
-extern "C" void
-__ct__13dShopSystem_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc();
-extern "C" bool getResName2__13dShopSystem_cFi();
-extern "C" bool beforeStartSeqAction__13dShopSystem_cFP10dMsgFlow_ci();
-extern "C" bool beforeSelectSeqAction__13dShopSystem_cFP10dMsgFlow_ci();
-extern "C" u8 const m__19daNpc_Seira_Param_c[140];
-extern "C" extern char const* const d_a_npc_seira__stringBase0;
-extern "C" void* mCutNameList__13daNpc_Seira_c[2];
-extern "C" u8 mCutList__13daNpc_Seira_c[24];
-
-//
-// External References:
-//
-
-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 setAnm__16mDoExt_McaMorfSOFP15J3DAnmTransformiffff();
-extern "C" void play__16mDoExt_McaMorfSOFUlSc();
-extern "C" void entryDL__16mDoExt_McaMorfSOFv();
-extern "C" void modelCalc__16mDoExt_McaMorfSOFv();
-extern "C" void stopZelAnime__16mDoExt_McaMorfSOFv();
-extern "C" void __ct__10fopAc_ac_cFv();
-extern "C" void fopAc_IsActor__FPv();
-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_searchActorDistanceXZ__FPC10fopAc_ac_cPC10fopAc_ac_c();
-extern "C" void fopAcM_setEffectMtx__FPC10fopAc_ac_cPC12J3DModelData();
-extern "C" void getLayerNo__14dComIfG_play_cFi();
-extern "C" void dComIfGs_wolfeye_effect_check__Fv();
-extern "C" void isDarkClearLV__21dSv_player_status_b_cCFi();
-extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
-extern "C" void reset__14dEvt_control_cFv();
-extern "C" void getMyStaffId__16dEvent_manager_cFPCcP10fopAc_ac_ci();
-extern "C" void getIsAddvance__16dEvent_manager_cFi();
-extern "C" void getMyActIdx__16dEvent_manager_cFiPCPCciii();
-extern "C" void getMySubstanceP__16dEvent_manager_cFiPCci();
-extern "C" void cutEnd__16dEvent_manager_cFi();
-extern "C" void ChkPresentEnd__16dEvent_manager_cFv();
-extern "C" void __ct__12dBgS_AcchCirFv();
-extern "C" void SetWallR__12dBgS_AcchCirFf();
-extern "C" void __dt__9dBgS_AcchFv();
-extern "C" void __ct__9dBgS_AcchFv();
-extern "C" void Set__9dBgS_AcchFP4cXyzP4cXyzP10fopAc_ac_ciP12dBgS_AcchCirP4cXyzP5csXyzP5csXyz();
-extern "C" void CrrPos__9dBgS_AcchFR4dBgS();
-extern "C" void __ct__11dBgS_GndChkFv();
-extern "C" void __ct__11dBgS_LinChkFv();
-extern "C" void SetObj__16dBgS_PolyPassChkFv();
-extern "C" void __ct__10dCcD_GSttsFv();
-extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c();
-extern "C" void __ct__12dCcD_GObjInfFv();
-extern "C" void __dt__12dCcD_GObjInfFv();
-extern "C" void GetTgHitObj__12dCcD_GObjInfFv();
-extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl();
-extern "C" void initialize__18daNpcT_ActorMngr_cFv();
-extern "C" void entry__18daNpcT_ActorMngr_cFP10fopAc_ac_c();
-extern "C" void remove__18daNpcT_ActorMngr_cFv();
-extern "C" void getActorP__18daNpcT_ActorMngr_cFv();
-extern "C" void initialize__15daNpcT_MatAnm_cFv();
-extern "C" void initialize__22daNpcT_MotionSeqMngr_cFv();
-extern "C" void checkEndSequence__22daNpcT_MotionSeqMngr_cFv();
-extern "C" void initialize__15daNpcT_JntAnm_cFv();
-extern "C" void setParam__15daNpcT_JntAnm_cFP10fopAc_ac_cP8J3DModelP4cXyziiiffffffffffP4cXyz();
-extern "C" void calcJntRad__15daNpcT_JntAnm_cFfff();
-extern "C" void setParam__19daNpcT_DmgStagger_cFP10fopAc_ac_cP10fopAc_ac_cs();
-extern "C" void calc__19daNpcT_DmgStagger_cFi();
-extern "C" void tgHitCallBack__8daNpcT_cFP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf();
-extern "C" void getTrnsfrmKeyAnmP__8daNpcT_cFPCci();
-extern "C" void loadRes__8daNpcT_cFPCScPPCc();
-extern "C" void deleteRes__8daNpcT_cFPCScPPCc();
-extern "C" void execute__8daNpcT_cFv();
-extern "C" void draw__8daNpcT_cFiifP11_GXColorS10fiii();
-extern "C" void setEnvTevColor__8daNpcT_cFv();
-extern "C" void setRoomNo__8daNpcT_cFv();
-extern "C" void ctrlBtk__8daNpcT_cFv();
-extern "C" void setMtx__8daNpcT_cFv();
-extern "C" void ctrlJoint__8daNpcT_cFP8J3DJointP8J3DModel();
-extern "C" void evtProc__8daNpcT_cFv();
-extern "C" void setFootPos__8daNpcT_cFv();
-extern "C" void setFootPrtcl__8daNpcT_cFP4cXyzff();
-extern "C" bool checkCullDraw__8daNpcT_cFv();
-extern "C" void twilight__8daNpcT_cFv();
-extern "C" void evtOrder__8daNpcT_cFv();
-extern "C" void evtChange__8daNpcT_cFv();
-extern "C" void clrParam__8daNpcT_cFv();
-extern "C" void setFaceMotionAnm__8daNpcT_cFib();
-extern "C" void setMotionAnm__8daNpcT_cFifi();
-extern "C" void setAngle__8daNpcT_cFs();
-extern "C" void hitChk__8daNpcT_cFP12dCcD_GObjInfUl();
-extern "C" void setDamage__8daNpcT_cFiii();
-extern "C" void srchPlayerActor__8daNpcT_cFv();
-extern "C" void step__8daNpcT_cFsiiii();
-extern "C" void initTalk__8daNpcT_cFiPP10fopAc_ac_c();
-extern "C" void talkProc__8daNpcT_cFPiiPP10fopAc_ac_ci();
-extern "C" void getNearestActorP__8daNpcT_cFs();
-extern "C" void daNpcT_getDistTableIdx__Fii();
-extern "C" void daNpcT_chkEvtBit__FUl();
-extern "C" void daNpcT_offTmpBit__FUl();
-extern "C" void shop_cam_action_init__16ShopCam_action_cFv();
-extern "C" void Save__16ShopCam_action_cFv();
-extern "C" void EventRecoverNotime__16ShopCam_action_cFv();
-extern "C" void Reset__16ShopCam_action_cFv();
-extern "C" void move__16ShopCam_action_cFv();
-extern "C" void __ct__15dShopItemCtrl_cFv();
-extern "C" void initShopSystem__13dShopSystem_cFv();
-extern "C" void __dt__13dShopSystem_cFv();
-extern "C" void drawCursor__13dShopSystem_cFv();
-extern "C" void itemRotate__13dShopSystem_cFv();
-extern "C" void itemZoom__13dShopSystem_cFP4cXyz();
-extern "C" void shop_init__13dShopSystem_cFb();
-extern "C" void shop_process__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c();
-extern "C" void createShopItem__13dShopSystem_cFi();
-extern "C" void deleteObject__13dShopSystem_cFv();
-extern "C" void checkShopOpen__13dShopSystem_cFv();
-extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
-extern "C" void __ct__10dMsgFlow_cFv();
-extern "C" void Set__4cCcSFP8cCcD_Obj();
-extern "C" void __mi__4cXyzCFRC3Vec();
-extern "C" void cM_atan2s__Fff();
-extern "C" void cM_rndF__Ff();
-extern "C" void __ct__11cBgS_GndChkFv();
-extern "C" void __dt__13cBgS_PolyInfoFv();
-extern "C" void __dt__8cM3dGCirFv();
-extern "C" void SetC__8cM3dGCylFRC4cXyz();
-extern "C" void SetH__8cM3dGCylFf();
-extern "C" void SetR__8cM3dGCylFf();
-extern "C" void __ct__10Z2CreatureFv();
-extern "C" void init__10Z2CreatureFP3VecP3VecUcUc();
-extern "C" void* __nw__FUl();
-extern "C" void __dl__FPv();
-extern "C" void hide__13J3DShapeTableFv();
-extern "C" void show__13J3DShapeTableFv();
-extern "C" void init__12J3DFrameCtrlFs();
-extern "C" void getTexNo__16J3DAnmTexPatternCFUsPUs();
-extern "C" void initialize__14J3DMaterialAnmFv();
-extern "C" void __destroy_arr();
-extern "C" void __construct_array();
-extern "C" void __ptmf_test();
-extern "C" void __ptmf_cmpr();
-extern "C" void __ptmf_scall();
-extern "C" void _savegpr_22();
-extern "C" void _savegpr_25();
-extern "C" void _savegpr_27();
-extern "C" void _savegpr_28();
-extern "C" void _savegpr_29();
-extern "C" void _restgpr_22();
-extern "C" void _restgpr_25();
-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__13dShopSystem_c[52 + 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" extern u8 g_cursorHIO[68 + 4 /* padding */];
-extern "C" void __register_global_object();
-
-//
-// Declarations:
-//
+#include "d/d_meter_HIO.h"
-/* ############################################################################################## */
-/* 80ACFF04-80ACFF04 000114 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80ACFF04 = "";
-SECTION_DEAD static char const* const stringBase_80ACFF05 = "DEFAULT_GETITEM";
-SECTION_DEAD static char const* const stringBase_80ACFF15 = "CONVERSATION_ABOUT_SARU01";
-SECTION_DEAD static char const* const stringBase_80ACFF2F = "CONVERSATION_ABOUT_SARU02";
-SECTION_DEAD static char const* const stringBase_80ACFF49 = "Seira";
-SECTION_DEAD static char const* const stringBase_80ACFF4F = "SeraBtl";
-SECTION_DEAD static char const* const stringBase_80ACFF57 = "Sera";
-SECTION_DEAD static char const* const stringBase_80ACFF5C = "Seira_p1";
-SECTION_DEAD static char const* const stringBase_80ACFF65 = "CONVERSATION_ABOUT_SARU";
-#pragma pop
/* 80ACFFB0-80ACFFC0 000020 0010+00 1/1 0/0 0/0 .data l_bmdData */
-SECTION_DATA static u8 l_bmdData[16] = {
- 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x02,
+static int l_bmdData[2][2] = {
+ {4, 3},
+ {17, 2},
};
/* 80ACFFC0-80ACFFE0 -00001 0020+00 0/1 0/0 0/0 .data l_evtList */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* l_evtList[8] = {
- (void*)&d_a_npc_seira__stringBase0,
- (void*)NULL,
- (void*)(((char*)&d_a_npc_seira__stringBase0) + 0x1),
- (void*)NULL,
- (void*)(((char*)&d_a_npc_seira__stringBase0) + 0x11),
- (void*)0x00000003,
- (void*)(((char*)&d_a_npc_seira__stringBase0) + 0x2B),
- (void*)0x00000003,
+static daNpcT_evtData_c l_evtList[4] = {
+ {"", 0},
+ {"DEFAULT_GETITEM", 0},
+ {"CONVERSATION_ABOUT_SARU01", 3},
+ {"CONVERSATION_ABOUT_SARU02", 3},
};
-#pragma pop
/* 80ACFFE0-80ACFFF4 -00001 0014+00 3/4 0/0 0/0 .data l_resNameList */
-SECTION_DATA static void* l_resNameList[5] = {
- (void*)&d_a_npc_seira__stringBase0,
- (void*)(((char*)&d_a_npc_seira__stringBase0) + 0x45),
- (void*)(((char*)&d_a_npc_seira__stringBase0) + 0x4B),
- (void*)(((char*)&d_a_npc_seira__stringBase0) + 0x53),
- (void*)(((char*)&d_a_npc_seira__stringBase0) + 0x58),
+static char* l_resNameList[5] = {
+ "",
+ "Seira",
+ "SeraBtl",
+ "Sera",
+ "Seira_p1",
};
/* 80ACFFF4-80ACFFF8 000064 0004+00 1/0 0/0 0/0 .data l_loadResPtrn0 */
-SECTION_DATA static u32 l_loadResPtrn0 = 0x030102FF;
+static s8 l_loadResPtrn0[4] = {3, 1, 2, -1};
/* 80ACFFF8-80ACFFFC 000068 0003+01 1/0 0/0 0/0 .data l_loadResPtrn1 */
-SECTION_DATA static u8 l_loadResPtrn1[3 + 1 /* padding */] = {
- 0x03,
- 0x04,
- 0xFF,
- /* padding */
- 0x00,
-};
+static s8 l_loadResPtrn1[3] = {3, 4, -1};
/* 80ACFFFC-80AD0018 -00001 001C+00 1/2 0/0 0/0 .data l_loadResPtrnList */
-SECTION_DATA static void* l_loadResPtrnList[7] = {
- (void*)&l_loadResPtrn0, (void*)&l_loadResPtrn0, (void*)&l_loadResPtrn0, (void*)&l_loadResPtrn0,
- (void*)&l_loadResPtrn0, (void*)&l_loadResPtrn1, (void*)&l_loadResPtrn0,
+static s8* l_loadResPtrnList[7] = {
+ l_loadResPtrn0, l_loadResPtrn0, l_loadResPtrn0, l_loadResPtrn0,
+ l_loadResPtrn0, l_loadResPtrn1, l_loadResPtrn0,
};
/* 80AD0018-80AD01A0 000088 0188+00 0/1 0/0 0/0 .data l_faceMotionAnmData */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u8 l_faceMotionAnmData[392] = {
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43,
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0E,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4E,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4A,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C,
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12,
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+static daNpcT_faceMotionAnmData_c l_faceMotionAnmData[14] = {
+ {-1, 0, 0, 67, 2, 1, 1},
+ {14, 0, 1, 67, 2, 1, 1},
+ {11, 0, 1, 75, 0, 1, 0},
+ {7, 0, 1, 69, 0, 1, 0},
+ {15, 0, 1, 78, 0, 1, 0},
+ {6, 0, 1, 68, 0, 1, 0},
+ {16, 2, 1, 79, 2, 1, 0},
+ {9, 2, 1, 71, 2, 1, 0},
+ {10, 0, 1, 74, 0, 1, 0},
+ {12, 2, 1, 76, 2, 1, 0},
+ {8, 0, 1, 67, 2, 1, 0},
+ {17, 2, 1, 80, 2, 1, 0},
+ {13, 0, 1, 77, 0, 1, 0},
+ {18, 2, 1, 81, 2, 1, 0},
};
-#pragma pop
/* 80AD01A0-80AD0478 000210 02D8+00 0/1 0/0 0/0 .data l_motionAnmData */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u8 l_motionAnmData[728] = {
- 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2D,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x25,
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x01, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C,
- 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x37,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x23,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C,
- 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x15,
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C,
- 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3A,
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x18,
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C,
- 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x35,
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x1A,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x01, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0C,
- 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x38,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x20,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x01, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0C,
- 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x40,
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x26,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0C,
+static daNpcT_motionAnmData_c l_motionAnmData[26] = {
+ {42, 2, 1, 45, 0, 1, 1, 12},
+ {37, 2, 1, 55, 0, 1, 0, 12},
+ {41, 2, 1, 45, 0, 1, 1, 12},
+ {27, 2, 1, 55, 2, 1, 0, 12},
+ {35, 0, 1, 55, 0, 1, 0, 12},
+ {35, 0, 1, 62, 0, 1, 0, 12},
+ {34, 0, 1, 61, 0, 1, 0, 12},
+ {31, 0, 1, 59, 0, 1, 0, 12},
+ {36, 0, 1, 63, 0, 1, 0, 12},
+ {21, 2, 1, 49, 2, 1, 0, 12},
+ {20, 2, 1, 48, 2, 1, 0, 12},
+ {29, 0, 1, 57, 0, 1, 0, 12},
+ {30, 2, 1, 58, 2, 1, 0, 12},
+ {24, 2, 1, 52, 2, 1, 0, 12},
+ {22, 2, 1, 50, 2, 1, 0, 12},
+ {5, 0, 1, 46, 0, 1, 0, 12},
+ {25, 2, 1, 53, 2, 1, 0, 12},
+ {26, 0, 1, 54, 0, 1, 1, 12},
+ {19, 0, 1, 47, 0, 1, 1, 12},
+ {23, 2, 1, 51, 2, 1, 1, 12},
+ {28, 0, 1, 56, 0, 1, 1, 12},
+ {32, 0, 1, 60, 0, 1, 1, 12},
+ {33, 2, 1, 45, 2, 1, 1, 12},
+ {39, 0, 1, 45, 0, 1, 1, 12},
+ {40, 2, 1, 64, 2, 1, 1, 12},
+ {38, 0, 1, 45, 0, 1, 1, 12},
};
-#pragma pop
/* 80AD0478-80AD0558 0004E8 00E0+00 0/1 0/0 0/0 .data l_faceMotionSequenceData */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u8 l_faceMotionSequenceData[224] = {
- 0x00, 0x01, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x02, 0xFF, 0x01, 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, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x03, 0xFF, 0x01, 0x00, 0x09, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x04, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x09, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x05, 0xFF, 0x01, 0x00, 0x06, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x0A, 0xFF, 0x01, 0x00, 0x0B, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x0C, 0xFF, 0x01, 0x00, 0x0D, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x06, 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, 0x0D, 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[56] = {
+ {1, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {2, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {7, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {8, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {3, -1, 1}, {9, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {4, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {9, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {5, -1, 1}, {6, -1, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {10, -1, 1}, {11, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {12, -1, 1}, {13, -1, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {6, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {11, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {13, -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
/* 80AD0558-80AD06F8 0005C8 01A0+00 0/1 0/0 0/0 .data l_motionSequenceData */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u8 l_motionSequenceData[416] = {
- 0x00, 0x01, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x02, 0xFF, 0x01, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x03, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x04, 0xFF, 0x01, 0x00, 0x03, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x09, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 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, 0x01, 0x00, 0x0C, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x0D, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x07, 0xFF, 0x01, 0x00, 0x03, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x06, 0xFF, 0x01, 0x00, 0x03, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x05, 0xFF, 0x01, 0x00, 0x03, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x0E, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x0F, 0xFF, 0x01, 0x00, 0x0A, 0xFF, 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,
- 0x00, 0x08, 0xFF, 0x01, 0x00, 0x03, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x11, 0xFF, 0x01, 0x00, 0x10, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x10, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x12, 0xFF, 0x01, 0x00, 0x18, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x17, 0xFF, 0x01, 0x00, 0x18, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x14, 0xFF, 0x01, 0x00, 0x10, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x18, 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, 0x13, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x19, 0x04, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x02, 0xFF, 0x01, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
+static daNpcT_MotionSeqMngr_c::sequenceStepData_c l_motionSequenceData[104] = {
+ {1, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {2, -1, 1}, {0, -1, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {3, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {4, -1, 1}, {3, -1, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {9, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {10, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {11, -1, 1}, {12, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {13, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {7, -1, 1}, {3, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {6, -1, 1}, {3, -1, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {5, -1, 1}, {3, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {14, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {15, -1, 1}, {10, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {0, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {8, -1, 1}, {3, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {17, -1, 1}, {16, -1, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {16, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {18, -1, 1}, {24, -1, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {23, -1, 1}, {24, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {20, -1, 1}, {16, -1, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {24, -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}, {19, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {25, 4, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {2, -1, 1}, {0, -1, 0}, {-1, 0, 0}, {-1, 0, 0},
};
-#pragma pop
/* 80AD06F8-80AD0700 -00001 0008+00 1/1 0/0 0/0 .data mCutNameList__13daNpc_Seira_c */
-SECTION_DATA void* daNpc_Seira_c::mCutNameList[2] = {
- (void*)&d_a_npc_seira__stringBase0,
- (void*)(((char*)&d_a_npc_seira__stringBase0) + 0x61),
-};
-
-/* 80AD0700-80AD070C -00001 000C+00 1/1 0/0 0/0 .data @3871 */
-SECTION_DATA static void* lit_3871[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)cutConversationAboutSaru__13daNpc_Seira_cFi,
+char* daNpc_Seira_c::mCutNameList[2] = {
+ "",
+ "CONVERSATION_ABOUT_SARU",
};
/* 80AD070C-80AD0724 00077C 0018+00 2/2 0/0 0/0 .data mCutList__13daNpc_Seira_c */
-SECTION_DATA u8 daNpc_Seira_c::mCutList[24] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-
-/* 80AD0724-80AD0730 -00001 000C+00 1/1 0/0 0/0 .data @4679 */
-SECTION_DATA static void* lit_4679[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)talk__13daNpc_Seira_cFPv,
-};
-
-/* 80AD0730-80AD073C -00001 000C+00 0/1 0/0 0/0 .data @4737 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4737[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)shop__13daNpc_Seira_cFPv,
-};
-#pragma pop
-
-/* 80AD073C-80AD0748 -00001 000C+00 0/1 0/0 0/0 .data @4745 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4745[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)shop__13daNpc_Seira_cFPv,
-};
-#pragma pop
-
-/* 80AD0748-80AD0754 -00001 000C+00 0/1 0/0 0/0 .data @4748 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4748[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)talk__13daNpc_Seira_cFPv,
-};
-#pragma pop
-
-/* 80AD0754-80AD0760 -00001 000C+00 0/1 0/0 0/0 .data @4756 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4756[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)talk__13daNpc_Seira_cFPv,
-};
-#pragma pop
-
-/* 80AD0760-80AD076C -00001 000C+00 0/1 0/0 0/0 .data @5003 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_5003[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)sit__13daNpc_Seira_cFPv,
-};
-#pragma pop
-
-/* 80AD076C-80AD0778 -00001 000C+00 0/1 0/0 0/0 .data @5004 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_5004[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)happy__13daNpc_Seira_cFPv,
-};
-#pragma pop
-
-/* 80AD0778-80AD0784 -00001 000C+00 0/1 0/0 0/0 .data @5005 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_5005[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)worry__13daNpc_Seira_cFPv,
-};
-#pragma pop
-
-/* 80AD0784-80AD0864 0007F4 00E0+00 1/1 0/0 0/0 .data bottlAnmData$5085 */
-SECTION_DATA static u8 bottlAnmData[224] = {
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x02,
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02,
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02,
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x02,
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x02,
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x02,
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x02,
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x02,
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x02,
-};
-
-/* 80AD0864-80AD0890 -00001 002C+00 1/1 0/0 0/0 .data @5133 */
-SECTION_DATA static void* lit_5133[11] = {
- (void*)(((char*)changeBck__13daNpc_Seira_cFPiPi) + 0x34),
- (void*)(((char*)changeBck__13daNpc_Seira_cFPiPi) + 0x48),
- (void*)(((char*)changeBck__13daNpc_Seira_cFPiPi) + 0xA8),
- (void*)(((char*)changeBck__13daNpc_Seira_cFPiPi) + 0xA8),
- (void*)(((char*)changeBck__13daNpc_Seira_cFPiPi) + 0xA8),
- (void*)(((char*)changeBck__13daNpc_Seira_cFPiPi) + 0x5C),
- (void*)(((char*)changeBck__13daNpc_Seira_cFPiPi) + 0xA8),
- (void*)(((char*)changeBck__13daNpc_Seira_cFPiPi) + 0x70),
- (void*)(((char*)changeBck__13daNpc_Seira_cFPiPi) + 0x84),
- (void*)(((char*)changeBck__13daNpc_Seira_cFPiPi) + 0xA8),
- (void*)(((char*)changeBck__13daNpc_Seira_cFPiPi) + 0x98),
-};
-
-/* 80AD0890-80AD08C8 -00001 0038+00 1/1 0/0 0/0 .data @5147 */
-SECTION_DATA static void* lit_5147[14] = {
- (void*)(((char*)changeBtp__13daNpc_Seira_cFPiPi) + 0x34),
- (void*)(((char*)changeBtp__13daNpc_Seira_cFPiPi) + 0x94),
- (void*)(((char*)changeBtp__13daNpc_Seira_cFPiPi) + 0x48),
- (void*)(((char*)changeBtp__13daNpc_Seira_cFPiPi) + 0x94),
- (void*)(((char*)changeBtp__13daNpc_Seira_cFPiPi) + 0x94),
- (void*)(((char*)changeBtp__13daNpc_Seira_cFPiPi) + 0x94),
- (void*)(((char*)changeBtp__13daNpc_Seira_cFPiPi) + 0x94),
- (void*)(((char*)changeBtp__13daNpc_Seira_cFPiPi) + 0x94),
- (void*)(((char*)changeBtp__13daNpc_Seira_cFPiPi) + 0x94),
- (void*)(((char*)changeBtp__13daNpc_Seira_cFPiPi) + 0x5C),
- (void*)(((char*)changeBtp__13daNpc_Seira_cFPiPi) + 0x94),
- (void*)(((char*)changeBtp__13daNpc_Seira_cFPiPi) + 0x70),
- (void*)(((char*)changeBtp__13daNpc_Seira_cFPiPi) + 0x94),
- (void*)(((char*)changeBtp__13daNpc_Seira_cFPiPi) + 0x84),
-};
-
-/* 80AD08C8-80AD08D4 -00001 000C+00 0/1 0/0 0/0 .data @5162 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_5162[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)sit__13daNpc_Seira_cFPv,
-};
-#pragma pop
-
-/* 80AD08D4-80AD08E0 -00001 000C+00 0/1 0/0 0/0 .data @5164 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_5164[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)happy__13daNpc_Seira_cFPv,
-};
-#pragma pop
-
-/* 80AD08E0-80AD08EC -00001 000C+00 0/1 0/0 0/0 .data @5166 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_5166[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)worry__13daNpc_Seira_cFPv,
-};
-#pragma pop
-
-/* 80AD08EC-80AD08F8 -00001 000C+00 0/1 0/0 0/0 .data @5168 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_5168[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)sad__13daNpc_Seira_cFPv,
-};
-#pragma pop
-
-/* 80AD08F8-80AD0904 -00001 000C+00 0/1 0/0 0/0 .data @5170 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_5170[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)smile__13daNpc_Seira_cFPv,
-};
-#pragma pop
-
-/* 80AD0904-80AD0910 -00001 000C+00 0/1 0/0 0/0 .data @5174 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_5174[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)lookaround_wait__13daNpc_Seira_cFPv,
-};
-#pragma pop
-
-/* 80AD0910-80AD091C -00001 000C+00 0/1 0/0 0/0 .data @5176 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_5176[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)lookaround__13daNpc_Seira_cFPv,
-};
-#pragma pop
-
-/* 80AD091C-80AD0928 -00001 000C+00 0/1 0/0 0/0 .data @5178 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_5178[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)wait__13daNpc_Seira_cFPv,
-};
-#pragma pop
-
-/* 80AD0928-80AD0948 -00001 0020+00 1/0 0/0 0/0 .data daNpc_Seira_MethodTable */
-static actor_method_class daNpc_Seira_MethodTable = {
- (process_method_func)daNpc_Seira_Create__FPv,
- (process_method_func)daNpc_Seira_Delete__FPv,
- (process_method_func)daNpc_Seira_Execute__FPv,
- (process_method_func)daNpc_Seira_IsDelete__FPv,
- (process_method_func)daNpc_Seira_Draw__FPv,
-};
-
-/* 80AD0948-80AD0978 -00001 0030+00 0/0 0/0 1/0 .data g_profile_NPC_SEIRA */
-extern actor_process_profile_definition g_profile_NPC_SEIRA = {
- fpcLy_CURRENT_e, // mLayerID
- 7, // mListID
- fpcPi_CURRENT_e, // mListPrio
- PROC_NPC_SEIRA, // mProcName
- &g_fpcLf_Method.base, // sub_method
- sizeof(daNpc_Seira_c), // mSize
- 0, // mSizeOther
- 0, // mParameters
- &g_fopAc_Method.base, // sub_method
- 361, // mPriority
- &daNpc_Seira_MethodTable, // sub_method
- 0x00044108, // mStatus
- fopAc_NPC_e, // mActorType
- fopAc_CULLBOX_CUSTOM_e, // cullType
-};
-
-/* 80AD0978-80AD0984 0009E8 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,
-};
-
-/* 80AD0984-80AD0990 0009F4 000C+00 2/2 0/0 0/0 .data __vt__12J3DFrameCtrl */
-SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__12J3DFrameCtrlFv,
-};
-
-/* 80AD0990-80AD09B4 000A00 0024+00 2/2 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_80ACFCA4,
- (void*)NULL,
- (void*)NULL,
- (void*)func_80ACFC9C,
-};
-
-/* 80AD09B4-80AD09C0 000A24 000C+00 1/1 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,
-};
-
-/* 80AD09C0-80AD09CC 000A30 000C+00 2/2 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,
-};
-
-/* 80AD09CC-80AD09D8 000A3C 000C+00 1/1 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,
-};
-
-/* 80AD09D8-80AD09E4 000A48 000C+00 2/2 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,
-};
-
-/* 80AD09E4-80AD09F0 000A54 000C+00 2/2 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,
-};
-
-/* 80AD09F0-80AD09FC 000A60 000C+00 4/4 0/0 0/0 .data __vt__18daNpcT_ActorMngr_c */
-SECTION_DATA extern void* __vt__18daNpcT_ActorMngr_c[3] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__18daNpcT_ActorMngr_cFv,
-};
-
-/* 80AD09FC-80AD0A08 000A6C 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,
-};
-
-/* 80AD0A08-80AD0A14 000A78 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,
+daNpc_Seira_c::cutFunc daNpc_Seira_c::mCutList[2] = {
+ NULL,
+ &daNpc_Seira_c::cutConversationAboutSaru,
};
-/* 80AD0A14-80AD0AE4 000A84 00D0+00 2/2 0/0 0/0 .data __vt__13daNpc_Seira_c */
-SECTION_DATA extern void* __vt__13daNpc_Seira_c[52] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__13daNpc_Seira_cFv,
- (void*)ctrlBtk__8daNpcT_cFv,
- (void*)ctrlSubFaceMotion__8daNpcT_cFi,
- (void*)checkChangeJoint__13daNpc_Seira_cFi,
- (void*)checkRemoveJoint__13daNpc_Seira_cFi,
- (void*)getBackboneJointNo__13daNpc_Seira_cFv,
- (void*)getNeckJointNo__13daNpc_Seira_cFv,
- (void*)getHeadJointNo__13daNpc_Seira_cFv,
- (void*)getFootLJointNo__8daNpcT_cFv,
- (void*)getFootRJointNo__8daNpcT_cFv,
- (void*)getEyeballLMaterialNo__8daNpcT_cFv,
- (void*)getEyeballRMaterialNo__8daNpcT_cFv,
- (void*)getEyeballMaterialNo__13daNpc_Seira_cFv,
- (void*)ctrlJoint__8daNpcT_cFP8J3DJointP8J3DModel,
- (void*)afterJntAnm__13daNpc_Seira_cFi,
- (void*)setParam__13daNpc_Seira_cFv,
- (void*)checkChangeEvt__13daNpc_Seira_cFv,
- (void*)evtTalk__13daNpc_Seira_cFv,
- (void*)evtEndProc__8daNpcT_cFv,
- (void*)evtCutProc__13daNpc_Seira_cFv,
- (void*)setAfterTalkMotion__13daNpc_Seira_cFv,
- (void*)evtProc__8daNpcT_cFv,
- (void*)action__13daNpc_Seira_cFv,
- (void*)beforeMove__13daNpc_Seira_cFv,
- (void*)afterMoved__8daNpcT_cFv,
- (void*)setAttnPos__13daNpc_Seira_cFv,
- (void*)setFootPos__8daNpcT_cFv,
- (void*)setCollision__13daNpc_Seira_cFv,
- (void*)setFootPrtcl__8daNpcT_cFP4cXyzff,
- (void*)checkCullDraw__8daNpcT_cFv,
- (void*)twilight__8daNpcT_cFv,
- (void*)chkXYItems__8daNpcT_cFv,
- (void*)evtOrder__8daNpcT_cFv,
- (void*)decTmr__8daNpcT_cFv,
- (void*)clrParam__8daNpcT_cFv,
- (void*)drawDbgInfo__13daNpc_Seira_cFv,
- (void*)drawOtherMdl__13daNpc_Seira_cFv,
- (void*)drawGhost__8daNpcT_cFv,
- (void*)afterSetFaceMotionAnm__8daNpcT_cFiifi,
- (void*)afterSetMotionAnm__13daNpc_Seira_cFiifi,
- (void*)getFaceMotionAnm__8daNpcT_cF26daNpcT_faceMotionAnmData_c,
- (void*)getMotionAnm__8daNpcT_cF22daNpcT_motionAnmData_c,
- (void*)changeAnm__13daNpc_Seira_cFPiPi,
- (void*)changeBck__13daNpc_Seira_cFPiPi,
- (void*)changeBtp__13daNpc_Seira_cFPiPi,
- (void*)changeBtk__13daNpc_Seira_cFPiPi,
- (void*)setMotionAnm__8daNpcT_cFifi,
- (void*)getResName2__13dShopSystem_cFi,
- (void*)beforeStartSeqAction__13dShopSystem_cFP10dMsgFlow_ci,
- (void*)beforeSelectSeqAction__13dShopSystem_cFP10dMsgFlow_ci,
-};
+/* 80AD0B04-80AD0B08 000014 0004+00 1/1 0/0 0/0 .bss l_HIO */
+static daNpc_Seira_Param_c l_HIO;
/* 80ACB7CC-80ACB918 0000EC 014C+00 1/0 0/0 0/0 .text __dt__13daNpc_Seira_cFv */
daNpc_Seira_c::~daNpc_Seira_c() {
- // NONMATCHING
+ deleteObject();
+ if (mpMorf[0] != 0) {
+ mpMorf[0]->stopZelAnime();
+ }
+
+ if (mpSeiraMorf != NULL) {
+ mpSeiraMorf->stopZelAnime();
+ }
+
+ deleteRes(l_loadResPtrnList[mType], (char const**)l_resNameList);
}
/* ############################################################################################## */
/* 80ACFDF0-80ACFE7C 000000 008C+00 9/9 0/0 0/0 .rodata m__19daNpc_Seira_Param_c */
-SECTION_RODATA u8 const daNpc_Seira_Param_c::m[140] = {
- 0x43, 0x52, 0x00, 0x00, 0xC0, 0x40, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00,
- 0x43, 0x7F, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x41, 0xF0, 0x00, 0x00, 0xC1, 0x20, 0x00, 0x00, 0x42, 0x70, 0x00, 0x00, 0xC2, 0x70, 0x00, 0x00,
- 0x3F, 0x19, 0x99, 0x9A, 0x41, 0x40, 0x00, 0x00, 0x00, 0x03, 0x00, 0x06, 0x00, 0x05, 0x00, 0x06,
- 0x42, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x3C, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+const daNpc_Seira_HIOParam daNpc_Seira_Param_c::m = {
+ 210.0f,
+ -3.0f,
+ 1.0f,
+ 400.0f,
+ 255.0f,
+ 200.0f,
+ 35.0f,
+ 50.0f,
+ 0.0f,
+ 0.0f,
+ 0.0f,
+ 0.0f,
+ 30.0f,
+ -10.0f,
+ 60.0f,
+ -60.0f,
+ 0.6f,
+ 12.0f,
+ 3,
+ 6,
+ 5,
+ 6,
+ 110.0f,
+ 0.0f,
+ 0.0f,
+ 0.0f,
+ 60,
+ 8,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 4.0f,
+ 0.0f,
+ 0.0f,
+ 0.0f,
+ 0.0f,
+ 0.0f,
+ 0.0f,
+ 0.0f,
};
-COMPILER_STRIP_GATE(0x80ACFDF0, &daNpc_Seira_Param_c::m);
-
-/* 80ACFE7C-80ACFE80 00008C 0004+00 0/1 0/0 0/0 .rodata @3968 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_3968 = -300.0f;
-COMPILER_STRIP_GATE(0x80ACFE7C, &lit_3968);
-#pragma pop
-
-/* 80ACFE80-80ACFE84 000090 0004+00 0/1 0/0 0/0 .rodata @3969 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_3969 = -50.0f;
-COMPILER_STRIP_GATE(0x80ACFE80, &lit_3969);
-#pragma pop
-
-/* 80ACFE84-80ACFE88 000094 0004+00 0/1 0/0 0/0 .rodata @3970 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_3970 = 300.0f;
-COMPILER_STRIP_GATE(0x80ACFE84, &lit_3970);
-#pragma pop
-
-/* 80ACFE88-80ACFE8C 000098 0004+00 0/1 0/0 0/0 .rodata @3971 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_3971 = 450.0f;
-COMPILER_STRIP_GATE(0x80ACFE88, &lit_3971);
-#pragma pop
/* 80ACB918-80ACBBD4 000238 02BC+00 1/1 0/0 0/0 .text create__13daNpc_Seira_cFv */
-void daNpc_Seira_c::create() {
- // NONMATCHING
+int daNpc_Seira_c::create() {
+ fopAcM_SetupActor2(this, daNpc_Seira_c, l_faceMotionAnmData, l_motionAnmData,
+ l_faceMotionSequenceData, 4, l_motionSequenceData, 4,
+ l_evtList, l_resNameList
+ );
+
+ mNpcType = getNpcType();
+ mType = getType();
+ mFlowNodeNo = getFlowNodeNo();
+ mEvtBit = daNpcT_chkEvtBit(0x208);
+ mTwilight = 0;
+ mChkBottle = checkBottle();
+
+ int rv = loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList);
+ if (rv == cPhs_COMPLEATE_e) {
+ if (!fopAcM_entrySolidHeap(this, createHeapCallBack, mType != 5 ? 0x6420 : 0x3DE0)) {
+ return cPhs_ERROR_e;
+ }
+
+ if (isDelete()) {
+ return cPhs_ERROR_e;
+ }
+
+ J3DModelData* modelData = mpMorf[0]->getModel()->getModelData();
+ fopAcM_SetMtx(this, mpMorf[0]->getModel()->getBaseTRMtx());
+ fopAcM_setCullSizeBox(this, -300.0f, -50.0f, -300.0f, 300.0f, 450.0f, 300.0f);
+ mSound.init(&current.pos, &eyePos, 3, 1);
+ mAcch.Set(fopAcM_GetPosition_p(this), fopAcM_GetOldPosition_p(this), this, 1,
+ &mAcchCir, fopAcM_GetSpeed_p(this), fopAcM_GetAngle_p(this),
+ fopAcM_GetShapeAngle_p(this));
+ mAcch.CrrPos(dComIfG_Bgsp());
+ mGndChk = mAcch.m_gnd;
+ mGroundH = mAcch.GetGroundH();
+ setEnvTevColor();
+ setRoomNo();
+ mCcStts.Init(daNpc_Seira_Param_c::m.common.weight, 0, this);
+ mCyl1.Set(mCcDCyl);
+ mCyl1.SetStts(&mCcStts);
+ mCyl1.SetTgHitCallback(tgHitCallBack);
+ reset();
+ mCreating = 1;
+ Execute();
+ mCreating = 0;
+ }
+
+ return rv;
}
-/* ############################################################################################## */
-/* 80ACFE8C-80ACFE90 00009C 0004+00 0/1 0/0 0/0 .rodata @4060 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4060 = 0.25f;
-COMPILER_STRIP_GATE(0x80ACFE8C, &lit_4060);
-#pragma pop
-
-/* 80ACFE90-80ACFE94 0000A0 0004+00 0/2 0/0 0/0 .rodata @4061 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4061 = 20.0f;
-COMPILER_STRIP_GATE(0x80ACFE90, &lit_4061);
-#pragma pop
-
-/* 80ACFE94-80ACFE98 0000A4 0004+00 0/1 0/0 0/0 .rodata @4062 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4062 = 5.0f;
-COMPILER_STRIP_GATE(0x80ACFE94, &lit_4062);
-#pragma pop
-
-/* 80ACFE98-80ACFE9C 0000A8 0004+00 13/20 0/0 0/0 .rodata @4063 */
-SECTION_RODATA static u8 const lit_4063[4] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
-};
-COMPILER_STRIP_GATE(0x80ACFE98, &lit_4063);
-
-/* 80ACFE9C-80ACFEA0 0000AC 0004+00 1/2 0/0 0/0 .rodata @4064 */
-SECTION_RODATA static f32 const lit_4064 = 100.0f;
-COMPILER_STRIP_GATE(0x80ACFE9C, &lit_4064);
-
-/* 80ACFEA0-80ACFEA4 0000B0 0004+00 0/1 0/0 0/0 .rodata @4065 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4065 = 60.0f;
-COMPILER_STRIP_GATE(0x80ACFEA0, &lit_4065);
-#pragma pop
-
-/* 80ACFEA4-80ACFEA8 0000B4 0004+00 0/2 0/0 0/0 .rodata @4286 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4286 = 65536.0f;
-COMPILER_STRIP_GATE(0x80ACFEA4, &lit_4286);
-#pragma pop
-
-/* 80ACFEA8-80ACFEAC 0000B8 0004+00 0/3 0/0 0/0 .rodata @4287 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4287 = 1.0f / 5.0f;
-COMPILER_STRIP_GATE(0x80ACFEA8, &lit_4287);
-#pragma pop
-
-/* 80ACFEAC-80ACFEB0 0000BC 0004+00 2/5 0/0 0/0 .rodata @4455 */
-SECTION_RODATA static f32 const lit_4455 = 1.0f;
-COMPILER_STRIP_GATE(0x80ACFEAC, &lit_4455);
-
/* 80ACBBD4-80ACBF40 0004F4 036C+00 1/1 0/0 0/0 .text CreateHeap__13daNpc_Seira_cFv */
-void daNpc_Seira_c::CreateHeap() {
- // NONMATCHING
+int daNpc_Seira_c::CreateHeap() {
+ enum XXX { x0 = 0, x1=1};
+ J3DModelData* modelData = NULL;
+ J3DModel* model = NULL;
+ int bmd_get_idx = mTwilight == 1 ? x0 : x0;
+ int res_name_idx = l_bmdData[bmd_get_idx][1];
+ int sp_0x2c = l_bmdData[bmd_get_idx][0];
+ modelData = static_cast<J3DModelData*>(dComIfG_getObjectRes(
+ l_resNameList[res_name_idx], sp_0x2c));
+ if (modelData == NULL) {
+ return 1;
+ }
+
+ u32 sp_0x28 = 0x11020284;
+ mpMorf[0] = new mDoExt_McaMorfSO(modelData, NULL, NULL, NULL, -1, 1.0f, 0, -1, &mSound,
+ 0x80000, sp_0x28);
+ if (mpMorf[0] == NULL || mpMorf[0]->getModel() == NULL) {
+ return 0;
+ }
+
+ model = mpMorf[0]->getModel();
+ for (u16 i = 0; i < modelData->getJointNum(); i++) {
+ modelData->getJointNodePointer(i)->setCallBack(ctrlJointCallBack);
+ }
+
+ model->setUserArea((uintptr_t)this);
+ mpMatAnm[0] = new daNpcT_MatAnm_c();
+ if (mpMatAnm[0] == NULL) {
+ return 0;
+ }
+
+ if (mType != 5) {
+ bmd_get_idx = x1;
+ res_name_idx = l_bmdData[bmd_get_idx][1];
+ sp_0x2c = l_bmdData[bmd_get_idx][0];
+ modelData = static_cast<J3DModelData*>(dComIfG_getObjectRes(
+ l_resNameList[res_name_idx], sp_0x2c));
+ if (modelData == NULL) {
+ return 0;
+ }
+
+ sp_0x28 = 0x11000084;
+ mpSeiraMorf = new mDoExt_McaMorfSO(modelData, NULL, NULL, NULL, -1, 1.0f, 0, -1, NULL,
+ 0, sp_0x28);
+ if (mpSeiraMorf == NULL || mpSeiraMorf->getModel() == NULL) {
+ return 0;
+ }
+ }
+
+ if (setFaceMotionAnm(1, false) && setMotionAnm(0, 0.0f, 0) && setBottleAnm(26, 2, 0.0f, false)) {
+ return 1;
+ }
+
+ return 0;
}
-/* 80ACBF40-80ACBF7C 000860 003C+00 1/1 0/0 0/0 .text __dt__15J3DTevKColorAnmFv */
-// J3DTevKColorAnm::~J3DTevKColorAnm() {
-extern "C" void __dt__15J3DTevKColorAnmFv() {
- // NONMATCHING
+/* 80ACC0FC-80ACC130 000A1C 0034+00 1/1 0/0 0/0 .text Delete__13daNpc_Seira_cFv */
+int daNpc_Seira_c::Delete() {
+ fopAcM_GetID(this);
+ this->~daNpc_Seira_c();
+ return 1;
}
-/* 80ACBF7C-80ACBF94 00089C 0018+00 1/1 0/0 0/0 .text __ct__15J3DTevKColorAnmFv */
-// J3DTevKColorAnm::J3DTevKColorAnm() {
-extern "C" void __ct__15J3DTevKColorAnmFv() {
- // NONMATCHING
-}
+/* 80ACC130-80ACC21C 000A50 00EC+00 2/2 0/0 0/0 .text Execute__13daNpc_Seira_cFv */
+int daNpc_Seira_c::Execute() {
+ if (!mNpcType && !mCreating && !checkShopOpen() && !field_0x10fd
+ && checkStageIsSeirasShop() && (mChkBottle || daNpcT_chkEvtBit(0x95))) {
+ initShopSystem();
+ setMasterType(0);
+ createShopItem(getShopItemType());
+ mShopCamAction.setCamDataIdx(0);
+ mShopCamAction.setCamAction(NULL);
+ field_0x10fd = 1;
+ }
-/* 80ACBF94-80ACBFD0 0008B4 003C+00 1/1 0/0 0/0 .text __dt__14J3DTevColorAnmFv */
-// J3DTevColorAnm::~J3DTevColorAnm() {
-extern "C" void __dt__14J3DTevColorAnmFv() {
- // NONMATCHING
-}
+ daNpcT_c::execute();
+ mShopCamAction.move();
-/* 80ACBFD0-80ACBFE8 0008F0 0018+00 1/1 0/0 0/0 .text __ct__14J3DTevColorAnmFv */
-// J3DTevColorAnm::J3DTevColorAnm() {
-extern "C" void __ct__14J3DTevColorAnmFv() {
- // NONMATCHING
+ return 1;
}
-/* 80ACBFE8-80ACC030 000908 0048+00 1/1 0/0 0/0 .text __dt__11J3DTexNoAnmFv */
-// J3DTexNoAnm::~J3DTexNoAnm() {
-extern "C" void __dt__11J3DTexNoAnmFv() {
- // NONMATCHING
+/* 80ACC21C-80ACC2B0 000B3C 0094+00 1/1 0/0 0/0 .text Draw__13daNpc_Seira_cFv */
+int daNpc_Seira_c::Draw() {
+ if (mpMatAnm[0] != NULL) {
+ J3DModelData* modelData = mpMorf[0]->getModel()->getModelData();
+ modelData->getMaterialNodePointer(getEyeballMaterialNo())->setMaterialAnm(mpMatAnm[0]);
+ }
+ return daNpcT_c::draw(0, 0, mRealShadowSize, NULL, 100.0f, 0, 0, 0);
}
-/* 80ACC030-80ACC054 000950 0024+00 1/1 0/0 0/0 .text __ct__11J3DTexNoAnmFv */
-// J3DTexNoAnm::J3DTexNoAnm() {
-extern "C" void __ct__11J3DTexNoAnmFv() {
- // NONMATCHING
+/* 80ACC2B0-80ACC2D0 000BD0 0020+00 1/1 0/0 0/0 .text
+ * createHeapCallBack__13daNpc_Seira_cFP10fopAc_ac_c */
+int daNpc_Seira_c::createHeapCallBack(fopAc_ac_c* i_this) {
+ return static_cast<daNpc_Seira_c*>(i_this)->CreateHeap();
}
-/* 80ACC054-80ACC090 000974 003C+00 1/1 0/0 0/0 .text __dt__12J3DTexMtxAnmFv */
-// J3DTexMtxAnm::~J3DTexMtxAnm() {
-extern "C" void __dt__12J3DTexMtxAnmFv() {
- // NONMATCHING
-}
+/* 80ACC2D0-80ACC328 000BF0 0058+00 1/1 0/0 0/0 .text
+ * ctrlJointCallBack__13daNpc_Seira_cFP8J3DJointi */
+int daNpc_Seira_c::ctrlJointCallBack(J3DJoint* param_0, int param_1) {
+ if (param_1 == 0) {
+ J3DModel* model = j3dSys.getModel();
+ daNpc_Seira_c* i_this = reinterpret_cast<daNpc_Seira_c*>(model->getUserArea());
+ if (i_this != 0) {
+ i_this->ctrlJoint(param_0, model);
+ }
+ }
-/* 80ACC090-80ACC0A8 0009B0 0018+00 1/1 0/0 0/0 .text __ct__12J3DTexMtxAnmFv */
-// J3DTexMtxAnm::J3DTexMtxAnm() {
-extern "C" void __ct__12J3DTexMtxAnmFv() {
- // NONMATCHING
+ return 1;
}
-/* 80ACC0A8-80ACC0E4 0009C8 003C+00 1/1 0/0 0/0 .text __dt__14J3DMatColorAnmFv */
-// J3DMatColorAnm::~J3DMatColorAnm() {
-extern "C" void __dt__14J3DMatColorAnmFv() {
- // NONMATCHING
-}
+/* 80ACC328-80ACC424 000C48 00FC+00 1/1 0/0 0/0 .text getType__13daNpc_Seira_cFv */
+u8 daNpc_Seira_c::getType() {
+ // Sera can show up in two places:
+ // 1. F_SP103-R00 Ordon Village
+ // 2. R_SP01-R01 Ordon Interiors - Sera's Sundries
+ // We're essentially checking if Sera is outside with Hanch and Beth at the game's start:
+ if (*dComIfGp_getStartStageName() == 'F') {
+ return 5;
+ }
-/* 80ACC0E4-80ACC0FC 000A04 0018+00 1/1 0/0 0/0 .text __ct__14J3DMatColorAnmFv */
-// J3DMatColorAnm::J3DMatColorAnm() {
-extern "C" void __ct__14J3DMatColorAnmFv() {
- // NONMATCHING
-}
+ if (dComIfGs_isDarkClearLV(0)) {
+ return 3;
+ }
-/* 80ACC0FC-80ACC130 000A1C 0034+00 1/1 0/0 0/0 .text Delete__13daNpc_Seira_cFv */
-void daNpc_Seira_c::Delete() {
- // NONMATCHING
-}
+ if (daNpcT_chkEvtBit(0x3D) || daNpcT_chkEvtBit(0x208)) {
+ return 3;
+ }
-/* 80ACC130-80ACC21C 000A50 00EC+00 2/2 0/0 0/0 .text Execute__13daNpc_Seira_cFv */
-void daNpc_Seira_c::Execute() {
- // NONMATCHING
-}
+ if (daNpcT_chkEvtBit(0x35)) {
+ return 4;
+ }
-/* 80ACC21C-80ACC2B0 000B3C 0094+00 1/1 0/0 0/0 .text Draw__13daNpc_Seira_cFv */
-void daNpc_Seira_c::Draw() {
- // NONMATCHING
-}
+ if (checkStageIsSeirasShop()) {
+ if (daNpcT_chkEvtBit(0xA5)) {
+ return 1;
+ }
-/* 80ACC2B0-80ACC2D0 000BD0 0020+00 1/1 0/0 0/0 .text
- * createHeapCallBack__13daNpc_Seira_cFP10fopAc_ac_c */
-void daNpc_Seira_c::createHeapCallBack(fopAc_ac_c* param_0) {
- // NONMATCHING
-}
+ if (daNpcT_chkEvtBit(0x88)) {
+ return 1;
+ }
-/* 80ACC2D0-80ACC328 000BF0 0058+00 1/1 0/0 0/0 .text
- * ctrlJointCallBack__13daNpc_Seira_cFP8J3DJointi */
-void daNpc_Seira_c::ctrlJointCallBack(J3DJoint* param_0, int param_1) {
- // NONMATCHING
-}
+ if (daNpcT_chkEvtBit(0x95)) {
+ return 1;
+ }
-/* 80ACC328-80ACC424 000C48 00FC+00 1/1 0/0 0/0 .text getType__13daNpc_Seira_cFv */
-void daNpc_Seira_c::getType() {
- // NONMATCHING
+ return 0;
+ }
+
+ return 6;
}
/* 80ACC424-80ACC440 000D44 001C+00 1/1 0/0 0/0 .text getFlowNodeNo__13daNpc_Seira_cFv */
-void daNpc_Seira_c::getFlowNodeNo() {
- // NONMATCHING
+int daNpc_Seira_c::getFlowNodeNo() {
+ u16 nodeNo = home.angle.x;
+ if (nodeNo == 0xffff) {
+ return -1;
+ }
+
+ return nodeNo;
}
/* 80ACC440-80ACC4A8 000D60 0068+00 1/1 0/0 0/0 .text checkBottle__13daNpc_Seira_cFv */
-void daNpc_Seira_c::checkBottle() {
- // NONMATCHING
+u8 daNpc_Seira_c::checkBottle() {
+ u8 prm = fopAcM_GetParam(this);
+ if (dComIfGs_isDarkClearLV(0)) {
+ return false;
+ }
+
+ switch (prm) {
+ case 0:
+ return true;
+ default:
+ return false;
+ }
}
/* 80ACC4A8-80ACC4C8 000DC8 0020+00 1/1 0/0 0/0 .text getNpcType__13daNpc_Seira_cFv */
-void daNpc_Seira_c::getNpcType() {
- // NONMATCHING
+u8 daNpc_Seira_c::getNpcType() {
+ u8 prm = (fopAcM_GetParam(this) & 0xF0000) >> 8;
+ if (prm == 1) {
+ return prm;
+ }
+
+ return 0;
}
/* 80ACC4C8-80ACC4D0 000DE8 0008+00 1/1 0/0 0/0 .text isDelete__13daNpc_Seira_cFv */
-bool daNpc_Seira_c::isDelete() {
- return false;
+int daNpc_Seira_c::isDelete() {
+ return FALSE;
}
/* 80ACC4D0-80ACC618 000DF0 0148+00 1/1 0/0 0/0 .text reset__13daNpc_Seira_cFv */
void daNpc_Seira_c::reset() {
- // NONMATCHING
+ initialize();
+ memset(&mNextAction, 0, (u8*)&field_0x1104 - (u8*)&mNextAction);
+ if (mpMatAnm[0] != NULL) {
+ mpMatAnm[0]->initialize();
+ }
+
+ for (int i = 0; i < 3; i++) {
+ mActorMngr[i].initialize();
+ }
+
+ setAngle(home.angle.y);
}
/* 80ACC618-80ACC69C 000F38 0084+00 1/0 0/0 0/0 .text afterJntAnm__13daNpc_Seira_cFi */
-void daNpc_Seira_c::afterJntAnm(int param_0) {
- // NONMATCHING
+void daNpc_Seira_c::afterJntAnm(int arg0) {
+ if (arg0 == 1) {
+ mDoMtx_stack_c::YrotM(mStagger.getAngleZ(1));
+ mDoMtx_stack_c::ZrotM(-mStagger.getAngleX(1));
+ } else if (arg0 == 4) {
+ mDoMtx_stack_c::YrotM(mStagger.getAngleZ(0));
+ mDoMtx_stack_c::ZrotM(mStagger.getAngleX(0));
+ }
}
/* 80ACC69C-80ACC818 000FBC 017C+00 1/0 0/0 0/0 .text setParam__13daNpc_Seira_cFv */
void daNpc_Seira_c::setParam() {
- // NONMATCHING
+ if (field_0x10fc == 1) {
+ if (mShopProcess == 2) {
+ mShopCamAction.Reset();
+ } else {
+ mShopCamAction.EventRecoverNotime();
+ }
+
+ field_0x10fc = 0;
+ }
+
+ selectAction();
+ srchActors();
+
+ u32 att_flags = (fopAc_AttnFlag_SPEAK_e | fopAc_AttnFlag_TALK_e);
+ s16 talk_dist = daNpc_Seira_Param_c::m.common.talk_distance;
+ s16 talk_ang = daNpc_Seira_Param_c::m.common.talk_angle;
+ s16 att_dist = daNpc_Seira_Param_c::m.common.attention_distance;
+ s16 att_ang = daNpc_Seira_Param_c::m.common.attention_angle;
+
+ if (checkStageIsSeirasShop()) {
+ talk_dist = 4;
+ att_dist = 4;
+ } else if (daPy_getPlayerActorClass()->checkHorseRide()) {
+ talk_dist = 7;
+ att_dist = 9;
+ }
+
+ attention_info.distances[fopAc_attn_LOCK_e] = daNpcT_getDistTableIdx(att_dist, att_ang);
+ attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e];
+ attention_info.distances[fopAc_attn_SPEAK_e] = daNpcT_getDistTableIdx(talk_dist, talk_ang);
+ attention_info.flags = att_flags;
+
+ scale.set(daNpc_Seira_Param_c::m.common.scale, daNpc_Seira_Param_c::m.common.scale,
+ daNpc_Seira_Param_c::m.common.scale);
+ mCcStts.SetWeight(daNpc_Seira_Param_c::m.common.weight);
+ mCylH = daNpc_Seira_Param_c::m.common.height;
+ mWallR = daNpc_Seira_Param_c::m.common.width;
+
+ mAcchCir.SetWallR(mWallR);
+ mAcchCir.SetWallH(daNpc_Seira_Param_c::m.common.knee_length);
+
+ mRealShadowSize = daNpc_Seira_Param_c::m.common.real_shadow_size;
+ gravity = daNpc_Seira_Param_c::m.common.gravity;
+ mExpressionMorfFrame = daNpc_Seira_Param_c::m.common.expression_morf_frame;
+ mMorfFrames = daNpc_Seira_Param_c::m.common.morf_frame;
}
/* 80ACC818-80ACC8C0 001138 00A8+00 1/0 0/0 0/0 .text checkChangeEvt__13daNpc_Seira_cFv
*/
-void daNpc_Seira_c::checkChangeEvt() {
- // NONMATCHING
+BOOL daNpc_Seira_c::checkChangeEvt() {
+ if (!chkAction(&daNpc_Seira_c::talk)) {
+ switch (mType) {
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 6:
+ break;
+ case 5:
+ if (daNpcT_chkEvtBit(0x24D)) {
+ mEvtNo = 3;
+ } else {
+ mEvtNo = 2;
+ }
+ evtChange();
+ return TRUE;
+ }
+ }
+
+ return FALSE;
}
-/* ############################################################################################## */
-/* 80ACFEB0-80ACFEB4 0000C0 0004+00 10/11 0/0 0/0 .rodata @4716 */
-SECTION_RODATA static f32 const lit_4716 = -1.0f;
-COMPILER_STRIP_GATE(0x80ACFEB0, &lit_4716);
-
/* 80ACC8C0-80ACC980 0011E0 00C0+00 1/0 0/0 0/0 .text setAfterTalkMotion__13daNpc_Seira_cFv */
void daNpc_Seira_c::setAfterTalkMotion() {
- // NONMATCHING
+ int iVar2 = 0;
+ switch(mFaceMotionSeqMngr.getNo()) {
+ case 4:
+ iVar2 = 6;
+ break;
+ case 7:
+ iVar2 = 10;
+ break;
+ case 8:
+ iVar2 = 11;
+ break;
+ case 9:
+ iVar2 = 12;
+ break;
+ case 3:
+ return;
+ default:
+ iVar2 = 13;
+ break;
+ }
+
+ mFaceMotionSeqMngr.setNo(iVar2, -1.0f, 0, 0);
}
/* 80ACC980-80ACCA48 0012A0 00C8+00 1/1 0/0 0/0 .text srchActors__13daNpc_Seira_cFv */
void daNpc_Seira_c::srchActors() {
- // NONMATCHING
+ switch (mType) {
+ case 1:
+ case 2: {
+ if (mActorMngr[0].getActorP() == NULL) {
+ // NE means Neko, which means Cat in Japanese:
+ mActorMngr[0].entry(getNearestActorP(PROC_NPC_NE));
+ }
+
+ break;
+ }
+
+ case 5: {
+ // The beginning of the game when outside with Beth and Hanch:
+ if (mActorMngr[1].getActorP() == NULL) {
+ mActorMngr[1].entry(getNearestActorP(PROC_NPC_HANJO));
+ }
+
+ if (mActorMngr[2].getActorP() == NULL) {
+ mActorMngr[2].entry(getNearestActorP(PROC_NPC_BESU));
+ }
+
+ break;
+ }
+
+ case 3:
+ case 4:
+ break;
+ }
}
/* 80ACCA48-80ACCBEC 001368 01A4+00 1/0 0/0 0/0 .text evtTalk__13daNpc_Seira_cFv */
-void daNpc_Seira_c::evtTalk() {
- // NONMATCHING
+BOOL daNpc_Seira_c::evtTalk() {
+ if (field_0x10fd) {
+ if (chkAction(&daNpc_Seira_c::shop)) {
+ (this->*(mActFunc_0))(NULL);
+ } else if (dComIfGp_event_chkTalkXY() == FALSE || dComIfGp_evmng_ChkPresentEnd()) {
+ mShopCamAction.shop_cam_action_init();
+ setAction(&daNpc_Seira_c::shop);
+ }
+ } else {
+ if (chkAction(&daNpc_Seira_c::talk)) {
+ (this->*(mActFunc_0))(NULL);
+ } else if (dComIfGp_event_chkTalkXY() == FALSE || dComIfGp_evmng_ChkPresentEnd()) {
+ setAction(&daNpc_Seira_c::talk);
+ }
+ }
+
+ return 1;
}
/* 80ACCBEC-80ACCCBC 00150C 00D0+00 1/0 0/0 0/0 .text evtCutProc__13daNpc_Seira_cFv */
-void daNpc_Seira_c::evtCutProc() {
- // NONMATCHING
+BOOL daNpc_Seira_c::evtCutProc() {
+ BOOL retval = FALSE;
+ int staff_id = dComIfGp_getEventManager().getMyStaffId("Seira", this, -1);
+ if (staff_id != -1) {
+ mStaffId = staff_id;
+ int actIdx = dComIfGp_getEventManager().getMyActIdx(mStaffId, (char**) &daNpc_Seira_c::mCutNameList, 2, 0, 0);
+ if (((this->*(mCutList[actIdx]))(mStaffId))) {
+ dComIfGp_getEventManager().cutEnd(mStaffId);
+ }
+
+ retval = TRUE;
+ }
+
+ mShopCamAction.Save();
+ return retval;
}
/* 80ACCCBC-80ACCE58 0015DC 019C+00 1/0 0/0 0/0 .text action__13daNpc_Seira_cFv */
void daNpc_Seira_c::action() {
- // NONMATCHING
+ if (field_0x10fd == 0) {
+ fopAc_ac_c* hit_chk = hitChk(&mCyl1, -1);
+ if (hit_chk && mCyl1.GetTgHitObj()->ChkAtType(8)) {
+ mStagger.setParam(this, hit_chk, mCurAngle.y);
+ setDamage(0, 13, 13);
+ mDamageTimerStart = 0;
+ mJntAnm.lookNone(1);
+ }
+ }
+
+ if (mStagger.checkRebirth()) {
+ mStagger.initialize();
+ mMode = 1;
+ }
+
+ if (mNextAction) {
+ if (mActFunc_0 == mNextAction) {
+ (this->*(mActFunc_0))(NULL);
+ } else {
+ setAction(mNextAction);
+ }
+ }
}
/* 80ACCE58-80ACCED0 001778 0078+00 1/0 0/0 0/0 .text beforeMove__13daNpc_Seira_cFv */
void daNpc_Seira_c::beforeMove() {
- // NONMATCHING
+ if (checkHide() || mNoDraw) {
+ attention_info.flags = 0;
+ }
}
-/* ############################################################################################## */
-/* 80ACFEB4-80ACFEB8 0000C4 0004+00 0/1 0/0 0/0 .rodata @4920 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4920 = -30.0f;
-COMPILER_STRIP_GATE(0x80ACFEB4, &lit_4920);
-#pragma pop
-
-/* 80ACFEB8-80ACFEBC 0000C8 0004+00 0/1 0/0 0/0 .rodata @4921 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4921 = 10.0f;
-COMPILER_STRIP_GATE(0x80ACFEB8, &lit_4921);
-#pragma pop
-
-/* 80ACFEBC-80ACFEC0 0000CC 0004+00 0/1 0/0 0/0 .rodata @4922 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u32 const lit_4922 = 0x38C90FDB;
-COMPILER_STRIP_GATE(0x80ACFEBC, &lit_4922);
-#pragma pop
-
-/* 80ACFEC0-80ACFEC4 0000D0 0004+00 0/1 0/0 0/0 .rodata @4923 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4923 = 170.0f;
-COMPILER_STRIP_GATE(0x80ACFEC0, &lit_4923);
-#pragma pop
-
-/* 80ACFEC4-80ACFEC8 0000D4 0004+00 0/1 0/0 0/0 .rodata @4924 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4924 = 80.0f;
-COMPILER_STRIP_GATE(0x80ACFEC4, &lit_4924);
-#pragma pop
-
-/* 80ACFEC8-80ACFED0 0000D8 0008+00 2/4 0/0 0/0 .rodata @4926 */
-SECTION_RODATA static u8 const lit_4926[8] = {
- 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80ACFEC8, &lit_4926);
-
/* 80ACCED0-80ACD1D0 0017F0 0300+00 1/0 0/0 0/0 .text setAttnPos__13daNpc_Seira_cFv */
void daNpc_Seira_c::setAttnPos() {
- // NONMATCHING
+ cXyz eyeOffset(-30.0f, 10.0f, 0.0f);
+ mStagger.calc(0);
+ mJntAnm.setParam(
+ this, mpMorf[0]->getModel(), &eyeOffset, getBackboneJointNo(), getNeckJointNo(), getHeadJointNo(),
+ daNpc_Seira_Param_c::m.common.body_angleX_min, daNpc_Seira_Param_c::m.common.body_angleX_max,
+ daNpc_Seira_Param_c::m.common.body_angleY_min, daNpc_Seira_Param_c::m.common.body_angleY_max,
+ daNpc_Seira_Param_c::m.common.head_angleX_min, daNpc_Seira_Param_c::m.common.head_angleX_max,
+ daNpc_Seira_Param_c::m.common.head_angleY_min, daNpc_Seira_Param_c::m.common.head_angleY_max,
+ daNpc_Seira_Param_c::m.common.neck_rotation_ratio, 0.0f, NULL);
+
+ f32 rad_val = cM_s2rad(mCurAngle.y - field_0xd7e.y);
+ mJntAnm.calcJntRad(0.2f, 1.0f, rad_val);
+ setMtx();
+ if (mpSeiraMorf) {
+ Mtx jointAnmMtx;
+ mDoMtx_stack_c::copy(mpMorf[0]->getModel()->getAnmMtx(18));
+ cMtx_copy(mDoMtx_stack_c::get(), jointAnmMtx);
+ mpSeiraMorf->getModel()->setBaseTRMtx(jointAnmMtx);
+ mpSeiraMorf->play(0, 0);
+ mpSeiraMorf->modelCalc();
+ }
+
+ mDoMtx_stack_c::copy(mpMorf[0]->getModel()->getAnmMtx(getHeadJointNo()));
+ mDoMtx_stack_c::multVec(&eyeOffset, &eyePos);
+ mJntAnm.setEyeAngleX(eyePos, 1.0f, 0);
+ mJntAnm.setEyeAngleY(eyePos, mCurAngle.y, 1, 1.0f, 0);
+ if (checkStageIsSeirasShop()) {
+ eyeOffset.set(0.0f, 170.0f, 80.0f);
+ if (mType == 1 || mType == 1) {
+ eyeOffset.y += 20.0f;
+ }
+
+ mDoMtx_stack_c::copy(mpMorf[0]->getModel()->getBaseTRMtx());
+ mDoMtx_stack_c::multVec(&eyeOffset, &attention_info.position);
+ } else {
+ attention_info.position = current.pos;
+ attention_info.position.y += daNpc_Seira_Param_c::m.common.attention_offset;
+ }
}
/* 80ACD1D0-80ACD378 001AF0 01A8+00 1/0 0/0 0/0 .text setCollision__13daNpc_Seira_cFv */
void daNpc_Seira_c::setCollision() {
- // NONMATCHING
+ cXyz cStack_48;
+ f32 cylH, wallR;
+ if (!mHide) {
+ if (mTwilight == 1 && dComIfGp_event_runCheck() == FALSE) {
+ mCyl1.SetCoSPrm(0x69);
+ } else {
+ mCyl1.SetCoSPrm(0x79);
+ }
+
+ if (&daNpc_Seira_c::sit == mNextAction || &daNpc_Seira_c::happy == mNextAction
+ || &daNpc_Seira_c::worry == mNextAction) {
+ mCyl1.ClrCoHit();
+ mCyl1.ClrTgHit();
+ return;
+ }
+
+ if (mStagger.checkStagger()) {
+ mCyl1.SetTgType(0);
+ mCyl1.SetTgSPrm(0);
+ } else {
+ mCyl1.SetTgType(0xD8FBFDFF);
+ mCyl1.SetTgSPrm(0x1F);
+ mCyl1.OnTgNoHitMark();
+ }
+
+ cylH = mCylH;
+ wallR = mWallR;
+ cStack_48 = current.pos;
+ mCyl1.SetH(cylH);
+ mCyl1.SetR(wallR);
+ mCyl1.SetC(cStack_48);
+ dComIfG_Ccsp()->Set(&mCyl1);
+ }
+
+ mCyl1.ClrCoHit();
+ mCyl1.ClrTgHit();
}
/* 80ACD378-80ACD380 001C98 0008+00 1/0 0/0 0/0 .text drawDbgInfo__13daNpc_Seira_cFv */
-bool daNpc_Seira_c::drawDbgInfo() {
+BOOL daNpc_Seira_c::drawDbgInfo() {
return false;
}
/* 80ACD380-80ACD458 001CA0 00D8+00 1/0 0/0 0/0 .text drawOtherMdl__13daNpc_Seira_cFv */
void daNpc_Seira_c::drawOtherMdl() {
- // NONMATCHING
+ cXyz sp8;
+ itemRotate();
+ sp8.set(g_cursorHIO.mSeraShopObjZoom);
+ itemZoom(&sp8);
+ drawCursor();
+ if (mpSeiraMorf != NULL) {
+ g_env_light.setLightTevColorType_MAJI(mpSeiraMorf->getModel(), &tevStr);
+ fopAcM_setEffectMtx(this, mpSeiraMorf->getModel()->getModelData());
+ if (mChkBottle == 0) {
+ mpSeiraMorf->getModel()->getModelData()->hide();
+ } else {
+ mpSeiraMorf->getModel()->getModelData()->show();
+ }
+
+ mpSeiraMorf->entryDL();
+ }
}
/* 80ACD458-80ACD538 001D78 00E0+00 2/2 0/0 0/0 .text setBottleAnm__13daNpc_Seira_cFiifb
*/
-void daNpc_Seira_c::setBottleAnm(int param_0, int param_1, f32 param_2, bool param_3) {
- // NONMATCHING
+bool daNpc_Seira_c::setBottleAnm(int arg0, int arg1, f32 arg2, bool arg3) {
+ static int bottlAnmData[28][2] = {
+ {-1, 2}, {-1, 2}, {-1, 2}, { 6, 2}, {11, 2}, {11, 2}, {10, 2}, { 9, 2},
+ {12, 2}, { 4, 2}, {-1, 2}, { 7, 2}, { 8, 2}, { 5, 2}, {-1, 2}, {-1, 2},
+ {-1, 2}, {-1, 2}, {-1, 2}, {-1, 2}, {-1, 2}, {-1, 2}, {-1, 2}, {-1, 2},
+ {-1, 2}, {-1, 2}, {13, 2}, {14, 2},
+ };
+
+ J3DAnmTransform* trans_p = NULL;
+ int var_r30 = arg0;
+ if (mpSeiraMorf != NULL) {
+ if (arg3 == false) {
+ var_r30 = mType == 0 ? 26 : 27;
+ }
+
+ if (bottlAnmData[var_r30][0] > 0) {
+ trans_p = getTrnsfrmKeyAnmP(l_resNameList[bottlAnmData[var_r30][1]], bottlAnmData[var_r30][0]);
+ }
+
+ if (trans_p != NULL) {
+ mpSeiraMorf->setAnm(trans_p, arg1, arg2, 1.0f, 0.0f, -1.0f);
+ }
+ }
+
+ return true;
}
/* 80ACD538-80ACD570 001E58 0038+00 1/0 0/0 0/0 .text afterSetMotionAnm__13daNpc_Seira_cFiifi */
-void daNpc_Seira_c::afterSetMotionAnm(int param_0, int param_1, f32 param_2, int param_3) {
- // NONMATCHING
+bool daNpc_Seira_c::afterSetMotionAnm(int arg0, int arg1, f32 arg2, int arg3) {
+ f32 var_f30 = (mCreating == 1) ? 0.0f : arg2;
+ setBottleAnm(arg0, arg1, var_f30, 1);
}
/* 80ACD570-80ACD600 001E90 0090+00 1/0 0/0 0/0 .text changeAnm__13daNpc_Seira_cFPiPi */
-void daNpc_Seira_c::changeAnm(int* param_0, int* param_1) {
- // NONMATCHING
+void daNpc_Seira_c::changeAnm(int* arg0, int* arg1) {
+ if (mType == 5) {
+ switch (*arg0) {
+ case 23:
+ *arg0 = 0xB;
+ *arg1 = 4;
+ return;
+ case 38:
+ *arg0 = 0xC;
+ *arg1 = 4;
+ return;
+ case 41:
+ *arg0 = 0xD;
+ *arg1 = 4;
+ return;
+ case 42:
+ *arg0 = 0xE;
+ *arg1 = 4;
+ break;
+ }
+ }
}
/* 80ACD600-80ACD6AC 001F20 00AC+00 2/0 0/0 0/0 .text changeBck__13daNpc_Seira_cFPiPi */
-void daNpc_Seira_c::changeBck(int* param_0, int* param_1) {
- // NONMATCHING
+void daNpc_Seira_c::changeBck(int* arg0, int* arg1) {
+ if (mType == 5) {
+ switch (*arg0) {
+ case 7:
+ *arg0 = 5;
+ *arg1 = 4;
+ return;
+ case 8:
+ *arg0 = 6;
+ *arg1 = 4;
+ return;
+ case 12:
+ *arg0 = 7;
+ *arg1 = 4;
+ return;
+ case 14:
+ *arg0 = 8;
+ *arg1 = 4;
+ return;
+ case 15:
+ *arg0 = 9;
+ *arg1 = 4;
+ return;
+ case 17:
+ *arg0 = 0xA;
+ *arg1 = 4;
+ break;
+ }
+ }
}
/* 80ACD6AC-80ACD744 001FCC 0098+00 2/0 0/0 0/0 .text changeBtp__13daNpc_Seira_cFPiPi */
-void daNpc_Seira_c::changeBtp(int* param_0, int* param_1) {
- // NONMATCHING
+void daNpc_Seira_c::changeBtp(int* arg0, int* arg1) {
+ if (mType == 5) {
+ switch (*arg0) {
+ case 0x43:
+ *arg0 = 0x14;
+ *arg1 = 4;
+ return;
+ case 0x45:
+ *arg0 = 0x15;
+ *arg1 = 4;
+ return;
+ case 0x4C:
+ *arg0 = 0x17;
+ *arg1 = 4;
+ return;
+ case 0x4E:
+ *arg0 = 0x18;
+ *arg1 = 4;
+ return;
+ case 0x50:
+ *arg0 = 0x19;
+ *arg1 = 4;
+ break;
+ }
+ }
}
/* 80ACD744-80ACD770 002064 002C+00 1/0 0/0 0/0 .text changeBtk__13daNpc_Seira_cFPiPi */
-void daNpc_Seira_c::changeBtk(int* param_0, int* param_1) {
- // NONMATCHING
+void daNpc_Seira_c::changeBtk(int* arg0, int* arg1) {
+ if (mType == 5) {
+ if (*arg0 != 0x2D) {
+ return;
+ }
+ *arg0 = 0x11;
+ *arg1 = 4;
+ }
}
-/* ############################################################################################## */
-/* 80ACFED0-80ACFED8 0000E0 0008+00 0/1 0/0 0/0 .rodata @4984 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_4984[8] = {
- 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80ACFED0, &lit_4984);
-#pragma pop
-
-/* 80ACFED8-80ACFEE0 0000E8 0008+00 0/1 0/0 0/0 .rodata @4985 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_4985[8] = {
- 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80ACFED8, &lit_4985);
-#pragma pop
-
-/* 80ACFEE0-80ACFEE8 0000F0 0008+00 0/1 0/0 0/0 .rodata @4986 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_4986[8] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80ACFEE0, &lit_4986);
-#pragma pop
+/* 80ACD770-80ACD900 002090 0190+00 1/1 0/0 0/0 .text selectAction__13daNpc_Seira_cFv */
+int daNpc_Seira_c::selectAction() {
+ mNextAction = NULL;
+ // TODO: Debug-only set & return.
+ switch (mType) {
+ case 0:
+ mNextAction = &daNpc_Seira_c::sit;
+ break;
-/* 80ACFEE8-80ACFEEC 0000F8 0004+00 1/1 0/0 0/0 .rodata @5182 */
-SECTION_RODATA static f32 const lit_5182 = 200.0f;
-COMPILER_STRIP_GATE(0x80ACFEE8, &lit_5182);
+ case 1:
+ mNextAction = &daNpc_Seira_c::happy;
+ break;
-/* 80ACD770-80ACD900 002090 0190+00 1/1 0/0 0/0 .text selectAction__13daNpc_Seira_cFv */
-void daNpc_Seira_c::selectAction() {
- // NONMATCHING
+ case 2:
+ mNextAction = &daNpc_Seira_c::worry;
+ break;
+
+ case 3:
+ mNextAction = &daNpc_Seira_c::sad;
+ break;
+
+ case 4:
+ mNextAction = &daNpc_Seira_c::smile;
+ break;
+
+ case 5:
+ if (fopAcM_searchPlayerDistanceXZ(this) < 200.0f) {
+ mNextAction = &daNpc_Seira_c::lookaround_wait;
+ } else {
+ mNextAction = &daNpc_Seira_c::lookaround;
+ }
+
+ break;
+
+ default:
+ mNextAction = &daNpc_Seira_c::wait;
+ break;
+ }
+
+ return 1;
}
/* 80ACD900-80ACD92C 002220 002C+00 2/2 0/0 0/0 .text
* chkAction__13daNpc_Seira_cFM13daNpc_Seira_cFPCvPvPv_i */
-void daNpc_Seira_c::chkAction(int (daNpc_Seira_c::*param_0)(void*)) {
- // NONMATCHING
+int daNpc_Seira_c::chkAction(actionFunc i_action) {
+ return mActFunc_0 == i_action;
}
/* 80ACD92C-80ACD9D4 00224C 00A8+00 2/2 0/0 0/0 .text
* setAction__13daNpc_Seira_cFM13daNpc_Seira_cFPCvPvPv_i */
-void daNpc_Seira_c::setAction(int (daNpc_Seira_c::*param_0)(void*)) {
- // NONMATCHING
-}
+int daNpc_Seira_c::setAction(actionFunc i_action) {
+ mMode = MODE_EXIT;
+ if (mActFunc_0 != NULL) {
+ (this->*(mActFunc_0))(NULL);
+ }
-/* ############################################################################################## */
-/* 80ACFEEC-80ACFEF8 0000FC 000C+00 0/1 0/0 0/0 .rodata @5204 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_5204[12] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80ACFEEC, &lit_5204);
-#pragma pop
-
-/* 80ACFEF8-80ACFF04 000108 000C+00 0/1 0/0 0/0 .rodata @5212 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_5212[12] = {
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
-};
-COMPILER_STRIP_GATE(0x80ACFEF8, &lit_5212);
-#pragma pop
+ mMode = MODE_ENTER;
+ mActFunc_0 = i_action;
+ if (mActFunc_0 != NULL) {
+ (this->*(mActFunc_0))(NULL);
+ }
-/* 80ACFF04-80ACFF04 000114 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80ACFF7D = "prm";
-SECTION_DEAD static char const* const stringBase_80ACFF81 = "msgNo";
-#pragma pop
+ return 1;
+}
/* 80ACD9D4-80ACDC6C 0022F4 0298+00 1/0 0/0 0/0 .text cutConversationAboutSaru__13daNpc_Seira_cFi
*/
-void daNpc_Seira_c::cutConversationAboutSaru(int param_0) {
- // NONMATCHING
+int daNpc_Seira_c::cutConversationAboutSaru(int arg0) {
+ int retval = 0;
+ int* param_p = NULL;
+ int prm_val = -1;
+ int msgNo_val = 0;
+ param_p = dComIfGp_evmng_getMyIntegerP(arg0, "prm");
+ if (param_p != NULL) {
+ prm_val = *param_p;
+ }
+
+ param_p = dComIfGp_evmng_getMyIntegerP(arg0, "msgNo");
+ if (param_p != NULL) {
+ msgNo_val = *param_p;
+ }
+
+ fopAc_ac_c* speakers[3] = {this, mActorMngr[2].getActorP(), mActorMngr[1].getActorP()};
+ dComIfGp_setMesgCameraInfoActor(speakers[0], speakers[1], speakers[2],
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+ if (dComIfGp_getEventManager().getIsAddvance(arg0)) {
+ switch (prm_val) {
+ case 0: {
+ daNpcT_offTmpBit(0xA7);
+ daNpcT_offTmpBit(0xA8);
+ initTalk(mFlowNodeNo, speakers);
+ break;
+ }
+
+ case 1: {
+ break;
+ }
+
+ case 2: {
+ initTalk(mFlowNodeNo, speakers);
+ break;
+ }
+ }
+ }
+
+ int my_vals[3] = {-1, -1, -1};
+ switch (prm_val) {
+ case 0: {
+ mJntAnm.lookPlayer(0);
+ if (mPlayerAngle != mCurAngle.y) {
+ step(mPlayerAngle, 13, 24, 15, 0);
+ } else {
+ retval = 1;
+ }
+
+ break;
+ }
+
+ case 1:
+ case 2: {
+ mJntAnm.lookPlayer(0);
+ my_vals[0] = msgNo_val;
+ if (talkProc(my_vals, FALSE, speakers, 0)) {
+ if (msgNo_val == 0) {
+ if (mFlow.checkEndFlow()) {
+ retval = 1;
+ }
+ } else {
+ retval = 1;
+ }
+ }
+
+ break;
+ }
+ }
+
+ return retval;
}
-/* ############################################################################################## */
-/* 80ACFF04-80ACFF04 000114 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80ACFF87 = "R_SP01";
-#pragma pop
-
/* 80ACDC6C-80ACDCE4 00258C 0078+00 4/4 0/0 0/0 .text checkStageIsSeirasShop__13daNpc_Seira_cFv */
-void daNpc_Seira_c::checkStageIsSeirasShop() {
- // NONMATCHING
+BOOL daNpc_Seira_c::checkStageIsSeirasShop() {
+ return 0 == strcmp("R_SP01", dComIfGp_getStartStageName())
+ && dComIfGp_getStartStageRoomNo() == 1 && !dComIfG_play_c::getLayerNo(0);
}
/* 80ACDCE4-80ACDD24 002604 0040+00 1/1 0/0 0/0 .text getShopItemType__13daNpc_Seira_cFv
*/
-void daNpc_Seira_c::getShopItemType() {
- // NONMATCHING
+int daNpc_Seira_c::getShopItemType() {
+ int item_type = 0;
+ if (daNpcT_chkEvtBit(0x258)) {
+ item_type = 1;
+ }
+
+ return item_type;
}
/* 80ACDD24-80ACDE74 002644 0150+00 1/0 0/0 0/0 .text wait__13daNpc_Seira_cFPv */
-void daNpc_Seira_c::wait(void* param_0) {
- // NONMATCHING
+int daNpc_Seira_c::wait(void*) {
+ switch (mMode) {
+ case 0:
+ case 1: {
+ mFaceMotionSeqMngr.setNo(13, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(13, -1.0f, 0, 0);
+ mMode = 2;
+ }
+
+ case 2: {
+ if (!mStagger.checkStagger()) {
+ if (srchPlayerActor()) {
+ mJntAnm.lookPlayer(0);
+ checkStep();
+ } else {
+ mJntAnm.lookNone(0);
+ }
+ }
+
+ break;
+ }
+
+ case 3: {
+ break;
+ }
+ }
+
+ return 1;
}
/* 80ACDE74-80ACE098 002794 0224+00 2/0 0/0 0/0 .text sit__13daNpc_Seira_cFPv */
-void daNpc_Seira_c::sit(void* param_0) {
- // NONMATCHING
+int daNpc_Seira_c::sit(void*) {
+ switch (mMode) {
+ case 0:
+ case 1: {
+ mFaceMotionSeqMngr.setNo(2, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(2, -1.0f, 0, 0);
+ mJntAnm.lookNone(0);
+ mEventTimer = cLib_getRndValue(90, 90);
+ mMode = 2;
+ }
+
+ case 2: {
+ if (mShopProcess == 2) {
+ mSpeakEvent = true;
+ field_0xe33 = true;
+ }
+
+ if (mEventTimer == 0) {
+ if (mMotionSeqMngr.getNo() == 2) {
+ mFaceMotionSeqMngr.setNo(3, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(14, -1.0f, 0, 0);
+ } else if (mMotionSeqMngr.checkEndSequence()) {
+ mEventTimer = cLib_getRndValue(90, 90);
+ mFaceMotionSeqMngr.setNo(2, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(2, -1.0f, 0, 0);
+ }
+ } else {
+ cLib_calcTimer(&mEventTimer);
+ }
+
+ break;
+ }
+
+ case 3: {
+ break;
+ }
+ }
+
+ return 1;
}
/* 80ACE098-80ACE220 0029B8 0188+00 2/0 0/0 0/0 .text happy__13daNpc_Seira_cFPv */
-void daNpc_Seira_c::happy(void* param_0) {
- // NONMATCHING
+int daNpc_Seira_c::happy(void*) {
+ switch (mMode) {
+ case 0:
+ case 1: {
+ if (daNpcT_chkEvtBit(0xA5)) {
+ mFaceMotionSeqMngr.setNo(6, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(11, -1.0f, 0, 0);
+ mChkBottle = 0;
+ } else {
+ mFaceMotionSeqMngr.setNo(6, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(7, -1.0f, 0, 0);
+ }
+
+ mJntAnm.lookNone(0);
+ mMode = 2;
+ }
+
+ case 2: {
+ if (mShopProcess == 2) {
+ mSpeakEvent = true;
+ field_0xe33 = true;
+ }
+
+ break;
+ }
+
+ case 3: {
+ break;
+ }
+ }
+
+ return 1;
}
/* 80ACE220-80ACE4FC 002B40 02DC+00 2/0 0/0 0/0 .text worry__13daNpc_Seira_cFPv */
-void daNpc_Seira_c::worry(void* param_0) {
- // NONMATCHING
+int daNpc_Seira_c::worry(void*) {
+ switch (mMode) {
+ case 0:
+ case 1: {
+ if (daNpcT_chkEvtBit(0x90)) {
+ mFaceMotionSeqMngr.setNo(6, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(5, -1.0f, 0, 0);
+ } else {
+ mFaceMotionSeqMngr.setNo(5, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(5, -1.0f, 0, 0);
+ }
+
+ mChkBottle = 0;
+ mJntAnm.lookPlayer(0);
+ mEventTimer = 0;
+ mMode = 2;
+ }
+
+ case 2: {
+ if (mShopProcess == 2) {
+ mSpeakEvent = true;
+ field_0xe33 = true;
+ }
+
+ if (mEventTimer == 0) {
+ mEventTimer = cLib_getRndValue(90, 90);
+ if (mJntAnm.getMode() != 1) {
+ mJntAnm.lookPlayer(0);
+ } else {
+ fopAc_ac_c* actor_p = mActorMngr[0].getActorP();
+ if (actor_p != NULL) {
+ mJntAnm.lookActor(actor_p, 0.0f, 0);
+ } else {
+ mJntAnm.lookNone(0);
+ }
+ }
+ } else {
+ cLib_calcTimer(&mEventTimer);
+ }
+
+ break;
+ }
+
+ case 3: {
+ break;
+ }
+ }
+
+ return 1;
}
/* 80ACE4FC-80ACE608 002E1C 010C+00 1/0 0/0 0/0 .text sad__13daNpc_Seira_cFPv */
-void daNpc_Seira_c::sad(void* param_0) {
- // NONMATCHING
-}
-
-/* 80ACE608-80ACE714 002F28 010C+00 1/0 0/0 0/0 .text lookaround__13daNpc_Seira_cFPv */
-void daNpc_Seira_c::lookaround(void* param_0) {
- // NONMATCHING
-}
-
-/* 80ACE714-80ACE828 003034 0114+00 1/0 0/0 0/0 .text lookaround_wait__13daNpc_Seira_cFPv
- */
-void daNpc_Seira_c::lookaround_wait(void* param_0) {
- // NONMATCHING
-}
-
-/* 80ACE828-80ACE934 003148 010C+00 1/0 0/0 0/0 .text smile__13daNpc_Seira_cFPv */
-void daNpc_Seira_c::smile(void* param_0) {
- // NONMATCHING
-}
-
-/* 80ACE934-80ACEAC4 003254 0190+00 3/0 0/0 0/0 .text talk__13daNpc_Seira_cFPv */
-void daNpc_Seira_c::talk(void* param_0) {
- // NONMATCHING
-}
-
-/* 80ACEAC4-80ACECE8 0033E4 0224+00 2/0 0/0 0/0 .text shop__13daNpc_Seira_cFPv */
-void daNpc_Seira_c::shop(void* param_0) {
- // NONMATCHING
-}
-
-/* 80ACECE8-80ACED08 003608 0020+00 1/0 0/0 0/0 .text daNpc_Seira_Create__FPv */
-static void daNpc_Seira_Create(void* param_0) {
- // NONMATCHING
-}
-
-/* 80ACED08-80ACED28 003628 0020+00 1/0 0/0 0/0 .text daNpc_Seira_Delete__FPv */
-static void daNpc_Seira_Delete(void* param_0) {
- // NONMATCHING
-}
-
-/* 80ACED28-80ACED48 003648 0020+00 1/0 0/0 0/0 .text daNpc_Seira_Execute__FPv */
-static void daNpc_Seira_Execute(void* param_0) {
- // NONMATCHING
-}
+int daNpc_Seira_c::sad(void*) {
+ switch (mMode) {
+ case 0:
+ case 1: {
+ mFaceMotionSeqMngr.setNo(11, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(16, -1.0f, 0, 0);
+ mJntAnm.lookNone(0);
+ mMode = 2;
+ }
-/* 80ACED48-80ACED68 003668 0020+00 1/0 0/0 0/0 .text daNpc_Seira_Draw__FPv */
-static void daNpc_Seira_Draw(void* param_0) {
- // NONMATCHING
-}
+ case 2: {
+ if (mShopProcess == 2) {
+ mSpeakEvent = true;
+ field_0xe33 = true;
+ }
-/* 80ACED68-80ACED70 003688 0008+00 1/0 0/0 0/0 .text daNpc_Seira_IsDelete__FPv */
-static bool daNpc_Seira_IsDelete(void* param_0) {
- return true;
-}
+ break;
+ }
-/* 80ACED70-80ACEDA0 003690 0030+00 1/0 0/0 0/0 .text calc__11J3DTexNoAnmCFPUs */
-// void J3DTexNoAnm::calc(u16* param_0) const {
-extern "C" void calc__11J3DTexNoAnmCFPUs() {
- // NONMATCHING
-}
+ case 3: {
+ break;
+ }
+ }
-/* 80ACEDA0-80ACEDE8 0036C0 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */
-// cCcD_GStts::~cCcD_GStts() {
-extern "C" void __dt__10cCcD_GSttsFv() {
- // NONMATCHING
+ return 1;
}
-/* 80ACEDE8-80ACEE30 003708 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
-}
+/* 80ACE608-80ACE714 002F28 010C+00 1/0 0/0 0/0 .text lookaround__13daNpc_Seira_cFPv */
+int daNpc_Seira_c::lookaround(void*) {
+ switch (mMode) {
+ case 0:
+ case 1: {
+ mFaceMotionSeqMngr.setNo(13, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(23, -1.0f, 0, 0);
+ mJntAnm.lookNone(0);
+ mMode = 2;
+ }
-/* 80ACEE30-80ACEE6C 003750 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
-}
+ case 2: {
+ if (mShopProcess == 2) {
+ mSpeakEvent = true;
+ field_0xe33 = true;
+ }
-/* 80ACEE6C-80ACEEB4 00378C 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */
-// cM3dGCyl::~cM3dGCyl() {
-extern "C" void __dt__8cM3dGCylFv() {
- // NONMATCHING
-}
+ break;
+ }
-/* 80ACEEB4-80ACEEFC 0037D4 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */
-// cM3dGAab::~cM3dGAab() {
-extern "C" void __dt__8cM3dGAabFv() {
- // NONMATCHING
-}
+ case 3: {
+ break;
+ }
+ }
-/* 80ACEEFC-80ACEF38 00381C 003C+00 2/2 0/0 0/0 .text __dt__4cXyzFv */
-// cXyz::~cXyz() {
-extern "C" void __dt__4cXyzFv() {
- // NONMATCHING
+ return 1;
}
-/* 80ACEF38-80ACEF74 003858 003C+00 1/1 0/0 0/0 .text __dt__5csXyzFv */
-// csXyz::~csXyz() {
-extern "C" void __dt__5csXyzFv() {
- // NONMATCHING
-}
-
-/* 80ACEF74-80ACF378 003894 0404+00 1/1 0/0 0/0 .text
- * __ct__8daNpcT_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc
+/* 80ACE714-80ACE828 003034 0114+00 1/0 0/0 0/0 .text lookaround_wait__13daNpc_Seira_cFPv
*/
-// 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
-}
-
-/* 80ACF378-80ACF37C 003C98 0004+00 1/1 0/0 0/0 .text __ct__5csXyzFv */
-// csXyz::csXyz() {
-extern "C" void __ct__5csXyzFv() {
- /* empty function */
-}
+int daNpc_Seira_c::lookaround_wait(void*) {
+ switch (mMode) {
+ case 0:
+ case 1: {
+ mFaceMotionSeqMngr.setNo(13, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(13, -1.0f, 0, 0);
+ mMode = 2;
+ }
-/* 80ACF37C-80ACF478 003C9C 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
-}
+ case 2: {
+ if (!mStagger.checkStagger() && srchPlayerActor()) {
+ mJntAnm.lookPlayer(0);
+ checkStep();
+ }
-/* 80ACF478-80ACF47C 003D98 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */
-// cXyz::cXyz() {
-extern "C" void __ct__4cXyzFv() {
- /* empty function */
-}
+ break;
+ }
-/* 80ACF47C-80ACF4C4 003D9C 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
-}
+ case 3: {
+ break;
+ }
+ }
-/* 80ACF4C4-80ACF534 003DE4 0070+00 1/0 0/0 0/0 .text __dt__12dBgS_AcchCirFv */
-// dBgS_AcchCir::~dBgS_AcchCir() {
-extern "C" void __dt__12dBgS_AcchCirFv() {
- // NONMATCHING
+ return 1;
}
-/* 80ACF534-80ACF590 003E54 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */
-// dCcD_GStts::~dCcD_GStts() {
-extern "C" void __dt__10dCcD_GSttsFv() {
- // NONMATCHING
-}
-
-/* 80ACF590-80ACF600 003EB0 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */
-// dBgS_ObjAcch::~dBgS_ObjAcch() {
-extern "C" void __dt__12dBgS_ObjAcchFv() {
- // NONMATCHING
-}
-
-/* 80ACF600-80ACF648 003F20 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */
-// J3DFrameCtrl::~J3DFrameCtrl() {
-extern "C" void __dt__12J3DFrameCtrlFv() {
- // NONMATCHING
-}
+/* 80ACE828-80ACE934 003148 010C+00 1/0 0/0 0/0 .text smile__13daNpc_Seira_cFPv */
+int daNpc_Seira_c::smile(void*) {
+ switch (mMode) {
+ case 0:
+ case 1: {
+ mFaceMotionSeqMngr.setNo(6, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(5, -1.0f, 0, 0);
+ mJntAnm.lookNone(0);
+ mMode = 2;
+ }
-/* 80ACF648-80ACF764 003F68 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
-}
+ case 2: {
+ if (mShopProcess == 2) {
+ mSpeakEvent = true;
+ field_0xe33 = true;
+ }
-/* 80ACF764-80ACF96C 004084 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
-}
+ break;
+ }
-/* 80ACF96C-80ACF970 00428C 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 */
-}
+ case 3: {
+ break;
+ }
+ }
-/* 80ACF980-80ACF988 0042A0 0008+00 1/0 0/0 0/0 .text getEyeballLMaterialNo__8daNpcT_cFv
- */
-// bool daNpcT_c::getEyeballLMaterialNo() {
-extern "C" bool getEyeballLMaterialNo__8daNpcT_cFv() {
- return false;
+ return 1;
}
-/* 80ACF988-80ACF990 0042A8 0008+00 1/0 0/0 0/0 .text getEyeballRMaterialNo__8daNpcT_cFv
- */
-// bool daNpcT_c::getEyeballRMaterialNo() {
-extern "C" bool getEyeballRMaterialNo__8daNpcT_cFv() {
- return false;
-}
-
-/* 80ACF990-80ACF998 0042B0 0008+00 1/0 0/0 0/0 .text evtEndProc__8daNpcT_cFv */
-// bool daNpcT_c::evtEndProc() {
-extern "C" bool evtEndProc__8daNpcT_cFv() {
- return true;
-}
-
-/* 80ACF99C-80ACF9A4 0042BC 0008+00 1/0 0/0 0/0 .text chkXYItems__8daNpcT_cFv */
-// bool daNpcT_c::chkXYItems() {
-extern "C" bool chkXYItems__8daNpcT_cFv() {
- return false;
-}
-
-/* 80ACF9A4-80ACF9BC 0042C4 0018+00 1/0 0/0 0/0 .text decTmr__8daNpcT_cFv */
-// void daNpcT_c::decTmr() {
-extern "C" void decTmr__8daNpcT_cFv() {
- // NONMATCHING
+/* 80ACE934-80ACEAC4 003254 0190+00 3/0 0/0 0/0 .text talk__13daNpc_Seira_cFPv */
+int daNpc_Seira_c::talk(void* param_0) {
+ int reg_r30 = 0;
+ switch (mMode) {
+ case 0:
+ case 1: {
+ if (mStagger.checkStagger()) {
+ break;
+ }
+
+ initTalk(mFlowNodeNo, NULL);
+ mMode = 2;
+ }
+
+ case 2: {
+ if (mTwilight) {
+ reg_r30 = 1;
+ } else {
+ mJntAnm.lookPlayer(0);
+ if (mCurAngle.y != fopAcM_searchPlayerAngleY(this)) {
+ step(fopAcM_searchPlayerAngleY(this), 13, 24, 15, 0);
+ if (daPy_getPlayerActorClass()->checkHorseRide()) {
+ reg_r30 = 1;
+ }
+ } else {
+ reg_r30 = 1;
+ }
+ }
+
+ if (reg_r30 && talkProc(NULL, FALSE, NULL, 0)) {
+ mPlayerActorMngr.entry(daPy_getPlayerActorClass());
+ dComIfGp_event_reset();
+ mMode = 3;
+ }
+
+ break;
+ }
+
+ case 3: {
+ break;
+ }
+ }
+
+ return 0;
}
-/* 80ACF9BC-80ACF9C0 0042DC 0004+00 1/0 0/0 0/0 .text drawGhost__8daNpcT_cFv */
-// void daNpcT_c::drawGhost() {
-extern "C" void drawGhost__8daNpcT_cFv() {
- /* empty function */
+/* 80ACEAC4-80ACECE8 0033E4 0224+00 2/0 0/0 0/0 .text shop__13daNpc_Seira_cFPv */
+int daNpc_Seira_c::shop(void* param_0) {
+ switch (mMode) {
+ case 0:
+ case 1: {
+ if (mShopProcess == 2) {
+ shop_init(true);
+ } else {
+ mShopCamAction.Save();
+ initTalk(mFlowNodeNo, NULL);
+ shop_init(false);
+ }
+
+ mMode = 2;
+ }
+ // fallthrough intentional
+ case 2: {
+ mShopProcess = shop_process(this, &mFlow);
+ if (mShopProcess) {
+ dComIfGp_event_reset();
+ field_0x10fc = 1;
+ if (daNpcT_chkEvtBit(0xA5) && mChkBottle) {
+ mFaceMotionSeqMngr.setNo(6, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(11, -1.0f, 0, 0);
+ mChkBottle = 0;
+ mJntAnm.lookNone(0);
+ }
+
+ if (daNpcT_chkEvtBit(0x208) && mEvtBit != daNpcT_chkEvtBit(0x208)) {
+ mEvtBit = daNpcT_chkEvtBit(0x208);
+ mFaceMotionSeqMngr.setNo(6, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(5, -1.0f, 0, 0);
+ // "●●● operation change\n"
+ OS_REPORT("●●●動作チェンジ\n");
+ }
+
+ mMode = 3;
+ }
+
+ break;
+ }
+
+ case 3: {
+ break;
+ }
+ }
+
+ return 0;
}
-/* 80ACF9C0-80ACF9C8 0042E0 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;
+/* 80ACECE8-80ACED08 003608 0020+00 1/0 0/0 0/0 .text daNpc_Seira_Create__FPv */
+static int daNpc_Seira_Create(void* i_this) {
+ return static_cast<daNpc_Seira_c*>(i_this)->create();
}
-/* 80ACF9C8-80ACF9F8 0042E8 0030+00 1/0 0/0 0/0 .text
- * getFaceMotionAnm__8daNpcT_cF26daNpcT_faceMotionAnmData_c */
-// void daNpcT_c::getFaceMotionAnm(daNpcT_faceMotionAnmData_c param_0) {
-extern "C" void getFaceMotionAnm__8daNpcT_cF26daNpcT_faceMotionAnmData_c() {
- // NONMATCHING
+/* 80ACED08-80ACED28 003628 0020+00 1/0 0/0 0/0 .text daNpc_Seira_Delete__FPv */
+static int daNpc_Seira_Delete(void* i_this) {
+ return static_cast<daNpc_Seira_c*>(i_this)->Delete();
}
-/* 80ACF9F8-80ACFA28 004318 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
+/* 80ACED28-80ACED48 003648 0020+00 1/0 0/0 0/0 .text daNpc_Seira_Execute__FPv */
+static int daNpc_Seira_Execute(void* i_this) {
+ return static_cast<daNpc_Seira_c*>(i_this)->Execute();
}
-/* 80ACFA28-80ACFA44 004348 001C+00 2/2 0/0 0/0 .text cLib_calcTimer<i>__FPi */
-extern "C" void func_80ACFA28(void* _this, int* param_0) {
- // NONMATCHING
+/* 80ACED48-80ACED68 003668 0020+00 1/0 0/0 0/0 .text daNpc_Seira_Draw__FPv */
+static int daNpc_Seira_Draw(void* i_this) {
+ return static_cast<daNpc_Seira_c*>(i_this)->Draw();
}
-/* 80ACFA44-80ACFAC0 004364 007C+00 2/2 0/0 0/0 .text cLib_getRndValue<i>__Fii */
-extern "C" void func_80ACFA44(void* _this, int param_0, int param_1) {
- // NONMATCHING
+/* 80ACED68-80ACED70 003688 0008+00 1/0 0/0 0/0 .text daNpc_Seira_IsDelete__FPv */
+static int daNpc_Seira_IsDelete(void* param_0) {
+ return 1;
}
-/* ############################################################################################## */
-/* 80AD0AE4-80AD0AF0 000B54 000C+00 2/2 0/0 0/0 .data __vt__19daNpc_Seira_Param_c */
-SECTION_DATA extern void* __vt__19daNpc_Seira_Param_c[3] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__19daNpc_Seira_Param_cFv,
+/* 80AD0928-80AD0948 -00001 0020+00 1/0 0/0 0/0 .data daNpc_Seira_MethodTable */
+static actor_method_class daNpc_Seira_MethodTable = {
+ (process_method_func)daNpc_Seira_Create,
+ (process_method_func)daNpc_Seira_Delete,
+ (process_method_func)daNpc_Seira_Execute,
+ (process_method_func)daNpc_Seira_IsDelete,
+ (process_method_func)daNpc_Seira_Draw,
};
-/* 80AD0AF8-80AD0B04 000008 000C+00 1/1 0/0 0/0 .bss @3872 */
-static u8 lit_3872[12];
-
-/* 80AD0B04-80AD0B08 000014 0004+00 1/1 0/0 0/0 .bss l_HIO */
-static u8 l_HIO[4];
-
-/* 80ACFAC0-80ACFB48 0043E0 0088+00 0/0 1/0 0/0 .text __sinit_d_a_npc_seira_cpp */
-void __sinit_d_a_npc_seira_cpp() {
- // NONMATCHING
-}
-
-#pragma push
-#pragma force_active on
-REGISTER_CTORS(0x80ACFAC0, __sinit_d_a_npc_seira_cpp);
-#pragma pop
-
-/* 80ACFB48-80ACFC14 004468 00CC+00 1/1 0/0 0/0 .text
- * __ct__13daNpc_Seira_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc
- */
-daNpc_Seira_c::daNpc_Seira_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
-}
-
-/* 80ACFC14-80ACFC1C 004534 0008+00 1/0 0/0 0/0 .text getEyeballMaterialNo__13daNpc_Seira_cFv */
-u16 daNpc_Seira_c::getEyeballMaterialNo() {
- return 2;
-}
-
-/* 80ACFC1C-80ACFC24 00453C 0008+00 1/0 0/0 0/0 .text getHeadJointNo__13daNpc_Seira_cFv
- */
-s32 daNpc_Seira_c::getHeadJointNo() {
- return 4;
-}
-
-/* 80ACFC24-80ACFC2C 004544 0008+00 1/0 0/0 0/0 .text getNeckJointNo__13daNpc_Seira_cFv
- */
-s32 daNpc_Seira_c::getNeckJointNo() {
- return 3;
-}
-
-/* 80ACFC2C-80ACFC34 00454C 0008+00 1/0 0/0 0/0 .text getBackboneJointNo__13daNpc_Seira_cFv */
-bool daNpc_Seira_c::getBackboneJointNo() {
- return true;
-}
-
-/* 80ACFC34-80ACFC44 004554 0010+00 1/0 0/0 0/0 .text checkChangeJoint__13daNpc_Seira_cFi
- */
-void daNpc_Seira_c::checkChangeJoint(int param_0) {
- // NONMATCHING
-}
-
-/* 80ACFC44-80ACFC54 004564 0010+00 1/0 0/0 0/0 .text checkRemoveJoint__13daNpc_Seira_cFi
- */
-void daNpc_Seira_c::checkRemoveJoint(int param_0) {
- // NONMATCHING
-}
-
-/* 80ACFC54-80ACFC9C 004574 0048+00 2/1 0/0 0/0 .text __dt__19daNpc_Seira_Param_cFv */
-daNpc_Seira_Param_c::~daNpc_Seira_Param_c() {
- // NONMATCHING
-}
-
-/* 80ACFC9C-80ACFCA4 0045BC 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */
-static void func_80ACFC9C() {
- // NONMATCHING
-}
-
-/* 80ACFCA4-80ACFCAC 0045C4 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */
-static void func_80ACFCA4() {
- // NONMATCHING
-}
-
-/* 80ACFCAC-80ACFDC4 0045CC 0118+00 1/1 0/0 0/0 .text
- * __ct__13dShopSystem_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc
- */
-// dShopSystem_c::dShopSystem_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__13dShopSystem_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc() {
- // NONMATCHING
-}
-
-/* 80ACFDC4-80ACFDCC 0046E4 0008+00 1/0 0/0 0/0 .text getResName2__13dShopSystem_cFi */
-// bool dShopSystem_c::getResName2(int param_0) {
-extern "C" bool getResName2__13dShopSystem_cFi() {
- return false;
-}
-
-/* 80ACFDCC-80ACFDD4 0046EC 0008+00 1/0 0/0 0/0 .text
- * beforeStartSeqAction__13dShopSystem_cFP10dMsgFlow_ci */
-// bool dShopSystem_c::beforeStartSeqAction(dMsgFlow_c* param_0, int param_1) {
-extern "C" bool beforeStartSeqAction__13dShopSystem_cFP10dMsgFlow_ci() {
- return true;
-}
-
-/* 80ACFDD4-80ACFDDC 0046F4 0008+00 1/0 0/0 0/0 .text
- * beforeSelectSeqAction__13dShopSystem_cFP10dMsgFlow_ci */
-// bool dShopSystem_c::beforeSelectSeqAction(dMsgFlow_c* param_0, int param_1) {
-extern "C" bool beforeSelectSeqAction__13dShopSystem_cFP10dMsgFlow_ci() {
- return true;
-}
-
-/* 80ACFF04-80ACFF04 000114 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
+/* 80AD0948-80AD0978 -00001 0030+00 0/0 0/0 1/0 .data g_profile_NPC_SEIRA */
+extern actor_process_profile_definition g_profile_NPC_SEIRA = {
+ fpcLy_CURRENT_e, // mLayerID
+ 7, // mListID
+ fpcPi_CURRENT_e, // mListPrio
+ PROC_NPC_SEIRA, // mProcName
+ &g_fpcLf_Method.base, // sub_method
+ sizeof(daNpc_Seira_c), // mSize
+ 0, // mSizeOther
+ 0, // mParameters
+ &g_fopAc_Method.base, // sub_method
+ 361, // mPriority
+ &daNpc_Seira_MethodTable, // sub_method
+ 0x00044108, // mStatus
+ fopAc_NPC_e, // mActorType
+ fopAc_CULLBOX_CUSTOM_e, // cullType
+};
diff --git a/src/d/actor/d_a_npc_seira2.cpp b/src/d/actor/d_a_npc_seira2.cpp
index 2ed1766c8e..29824c0eac 100644
--- a/src/d/actor/d_a_npc_seira2.cpp
+++ b/src/d/actor/d_a_npc_seira2.cpp
@@ -6,1626 +6,1180 @@
#include "d/dolzel_rel.h"
#include "d/actor/d_a_npc_seira2.h"
-#include "dol2asm.h"
-
-//
-// Forward References:
-//
-
-extern "C" void __dt__14daNpc_Seira2_cFv();
-extern "C" void create__14daNpc_Seira2_cFv();
-extern "C" void CreateHeap__14daNpc_Seira2_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__14daNpc_Seira2_cFv();
-extern "C" void Execute__14daNpc_Seira2_cFv();
-extern "C" void Draw__14daNpc_Seira2_cFv();
-extern "C" void createHeapCallBack__14daNpc_Seira2_cFP10fopAc_ac_c();
-extern "C" void ctrlJointCallBack__14daNpc_Seira2_cFP8J3DJointi();
-extern "C" void getType__14daNpc_Seira2_cFv();
-extern "C" void getFlowNodeNo__14daNpc_Seira2_cFv();
-extern "C" void getMaxNumItem__14daNpc_Seira2_cFv();
-extern "C" void checkBottle__14daNpc_Seira2_cFv();
-extern "C" bool isDelete__14daNpc_Seira2_cFv();
-extern "C" void reset__14daNpc_Seira2_cFv();
-extern "C" void afterJntAnm__14daNpc_Seira2_cFi();
-extern "C" void setParam__14daNpc_Seira2_cFv();
-extern "C" void setAfterTalkMotion__14daNpc_Seira2_cFv();
-extern "C" void srchActors__14daNpc_Seira2_cFv();
-extern "C" void evtTalk__14daNpc_Seira2_cFv();
-extern "C" void evtCutProc__14daNpc_Seira2_cFv();
-extern "C" void action__14daNpc_Seira2_cFv();
-extern "C" void beforeMove__14daNpc_Seira2_cFv();
-extern "C" void setAttnPos__14daNpc_Seira2_cFv();
-extern "C" void setCollision__14daNpc_Seira2_cFv();
-extern "C" bool drawDbgInfo__14daNpc_Seira2_cFv();
-extern "C" void drawOtherMdl__14daNpc_Seira2_cFv();
-extern "C" void setBottleAnm__14daNpc_Seira2_cFiifb();
-extern "C" void afterSetMotionAnm__14daNpc_Seira2_cFiifi();
-extern "C" void selectAction__14daNpc_Seira2_cFv();
-extern "C" void chkAction__14daNpc_Seira2_cFM14daNpc_Seira2_cFPCvPvPv_i();
-extern "C" void setAction__14daNpc_Seira2_cFM14daNpc_Seira2_cFPCvPvPv_i();
-extern "C" void checkStageIsSeira2sShop__14daNpc_Seira2_cFv();
-extern "C" void wait__14daNpc_Seira2_cFPv();
-extern "C" void sit__14daNpc_Seira2_cFPv();
-extern "C" void happy__14daNpc_Seira2_cFPv();
-extern "C" void worry__14daNpc_Seira2_cFPv();
-extern "C" void sad__14daNpc_Seira2_cFPv();
-extern "C" void lookaround__14daNpc_Seira2_cFPv();
-extern "C" void smile__14daNpc_Seira2_cFPv();
-extern "C" void talk__14daNpc_Seira2_cFPv();
-extern "C" void shop__14daNpc_Seira2_cFPv();
-extern "C" static void daNpc_Seira2_Create__FPv();
-extern "C" static void daNpc_Seira2_Delete__FPv();
-extern "C" static void daNpc_Seira2_Execute__FPv();
-extern "C" static void daNpc_Seira2_Draw__FPv();
-extern "C" static bool daNpc_Seira2_IsDelete__FPv();
-extern "C" void calc__11J3DTexNoAnmCFPUs();
-extern "C" void __dt__10cCcD_GSttsFv();
-extern "C" void __dt__18daNpcT_ActorMngr_cFv();
-extern "C" void __ct__18daNpcT_ActorMngr_cFv();
-extern "C" void __dt__8cM3dGCylFv();
-extern "C" void __dt__8cM3dGAabFv();
-extern "C" void __dt__4cXyzFv();
-extern "C" void __dt__5csXyzFv();
-extern "C" void
-__ct__8daNpcT_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc();
-extern "C" void __ct__5csXyzFv();
-extern "C" void __dt__15daNpcT_JntAnm_cFv();
-extern "C" void __ct__4cXyzFv();
-extern "C" void __dt__22daNpcT_MotionSeqMngr_cFv();
-extern "C" void __dt__12dBgS_AcchCirFv();
-extern "C" void __dt__10dCcD_GSttsFv();
-extern "C" void __dt__12dBgS_ObjAcchFv();
-extern "C" void __dt__12J3DFrameCtrlFv();
-extern "C" void setEyeAngleY__15daNpcT_JntAnm_cF4cXyzsifs();
-extern "C" void setEyeAngleX__15daNpcT_JntAnm_cF4cXyzfs();
-extern "C" void ctrlSubFaceMotion__8daNpcT_cFi();
-extern "C" s32 getFootLJointNo__8daNpcT_cFv();
-extern "C" s32 getFootRJointNo__8daNpcT_cFv();
-extern "C" bool getEyeballLMaterialNo__8daNpcT_cFv();
-extern "C" bool getEyeballRMaterialNo__8daNpcT_cFv();
-extern "C" bool checkChangeEvt__8daNpcT_cFv();
-extern "C" bool evtEndProc__8daNpcT_cFv();
-extern "C" void afterMoved__8daNpcT_cFv();
-extern "C" bool chkXYItems__8daNpcT_cFv();
-extern "C" void decTmr__8daNpcT_cFv();
-extern "C" void drawGhost__8daNpcT_cFv();
-extern "C" bool afterSetFaceMotionAnm__8daNpcT_cFiifi();
-extern "C" void getFaceMotionAnm__8daNpcT_cF26daNpcT_faceMotionAnmData_c();
-extern "C" void getMotionAnm__8daNpcT_cF22daNpcT_motionAnmData_c();
-extern "C" void changeAnm__8daNpcT_cFPiPi();
-extern "C" void changeBck__8daNpcT_cFPiPi();
-extern "C" void changeBtp__8daNpcT_cFPiPi();
-extern "C" void changeBtk__8daNpcT_cFPiPi();
-extern "C" void func_80AD46B8(void* _this, int*);
-extern "C" void func_80AD46D4(void* _this, int, int);
-extern "C" void __sinit_d_a_npc_seira2_cpp();
-extern "C" void
-__ct__14daNpc_Seira2_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc();
-extern "C" u16 getEyeballMaterialNo__14daNpc_Seira2_cFv();
-extern "C" s32 getHeadJointNo__14daNpc_Seira2_cFv();
-extern "C" s32 getNeckJointNo__14daNpc_Seira2_cFv();
-extern "C" bool getBackboneJointNo__14daNpc_Seira2_cFv();
-extern "C" void checkChangeJoint__14daNpc_Seira2_cFi();
-extern "C" void checkRemoveJoint__14daNpc_Seira2_cFi();
-extern "C" void __dt__20daNpc_Seira2_Param_cFv();
-extern "C" static void func_80AD490C();
-extern "C" static void func_80AD4914();
-extern "C" void
-__ct__13dShopSystem_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc();
-extern "C" bool getResName2__13dShopSystem_cFi();
-extern "C" bool beforeStartSeqAction__13dShopSystem_cFP10dMsgFlow_ci();
-extern "C" bool beforeSelectSeqAction__13dShopSystem_cFP10dMsgFlow_ci();
-extern "C" u8 const m__20daNpc_Seira2_Param_c[140];
-extern "C" extern char const* const d_a_npc_seira2__stringBase0;
-extern "C" void* mCutNameList__14daNpc_Seira2_c;
-extern "C" u8 mCutList__14daNpc_Seira2_c[12];
-
-//
-// External References:
-//
-
-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 setAnm__16mDoExt_McaMorfSOFP15J3DAnmTransformiffff();
-extern "C" void play__16mDoExt_McaMorfSOFUlSc();
-extern "C" void entryDL__16mDoExt_McaMorfSOFv();
-extern "C" void modelCalc__16mDoExt_McaMorfSOFv();
-extern "C" void stopZelAnime__16mDoExt_McaMorfSOFv();
-extern "C" void __ct__10fopAc_ac_cFv();
-extern "C" void fopAc_IsActor__FPv();
-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_searchActorDistanceXZ__FPC10fopAc_ac_cPC10fopAc_ac_c();
-extern "C" void fopAcM_setEffectMtx__FPC10fopAc_ac_cPC12J3DModelData();
-extern "C" void getLayerNo__14dComIfG_play_cFi();
-extern "C" void dComIfGs_wolfeye_effect_check__Fv();
-extern "C" void isDarkClearLV__21dSv_player_status_b_cCFi();
-extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
-extern "C" void reset__14dEvt_control_cFv();
-extern "C" void getMyStaffId__16dEvent_manager_cFPCcP10fopAc_ac_ci();
-extern "C" void getMyActIdx__16dEvent_manager_cFiPCPCciii();
-extern "C" void cutEnd__16dEvent_manager_cFi();
-extern "C" void ChkPresentEnd__16dEvent_manager_cFv();
-extern "C" void __ct__12dBgS_AcchCirFv();
-extern "C" void SetWallR__12dBgS_AcchCirFf();
-extern "C" void __dt__9dBgS_AcchFv();
-extern "C" void __ct__9dBgS_AcchFv();
-extern "C" void Set__9dBgS_AcchFP4cXyzP4cXyzP10fopAc_ac_ciP12dBgS_AcchCirP4cXyzP5csXyzP5csXyz();
-extern "C" void CrrPos__9dBgS_AcchFR4dBgS();
-extern "C" void __ct__11dBgS_GndChkFv();
-extern "C" void __ct__11dBgS_LinChkFv();
-extern "C" void SetObj__16dBgS_PolyPassChkFv();
-extern "C" void __ct__10dCcD_GSttsFv();
-extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c();
-extern "C" void __ct__12dCcD_GObjInfFv();
-extern "C" void __dt__12dCcD_GObjInfFv();
-extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl();
-extern "C" void initialize__18daNpcT_ActorMngr_cFv();
-extern "C" void entry__18daNpcT_ActorMngr_cFP10fopAc_ac_c();
-extern "C" void remove__18daNpcT_ActorMngr_cFv();
-extern "C" void getActorP__18daNpcT_ActorMngr_cFv();
-extern "C" void initialize__15daNpcT_MatAnm_cFv();
-extern "C" void initialize__22daNpcT_MotionSeqMngr_cFv();
-extern "C" void checkEndSequence__22daNpcT_MotionSeqMngr_cFv();
-extern "C" void initialize__15daNpcT_JntAnm_cFv();
-extern "C" void setParam__15daNpcT_JntAnm_cFP10fopAc_ac_cP8J3DModelP4cXyziiiffffffffffP4cXyz();
-extern "C" void calcJntRad__15daNpcT_JntAnm_cFfff();
-extern "C" void setParam__19daNpcT_DmgStagger_cFP10fopAc_ac_cP10fopAc_ac_cs();
-extern "C" void calc__19daNpcT_DmgStagger_cFi();
-extern "C" void tgHitCallBack__8daNpcT_cFP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf();
-extern "C" void getTrnsfrmKeyAnmP__8daNpcT_cFPCci();
-extern "C" void loadRes__8daNpcT_cFPCScPPCc();
-extern "C" void deleteRes__8daNpcT_cFPCScPPCc();
-extern "C" void execute__8daNpcT_cFv();
-extern "C" void draw__8daNpcT_cFiifP11_GXColorS10fiii();
-extern "C" void setEnvTevColor__8daNpcT_cFv();
-extern "C" void setRoomNo__8daNpcT_cFv();
-extern "C" void ctrlBtk__8daNpcT_cFv();
-extern "C" void setMtx__8daNpcT_cFv();
-extern "C" void ctrlJoint__8daNpcT_cFP8J3DJointP8J3DModel();
-extern "C" void evtProc__8daNpcT_cFv();
-extern "C" void setFootPos__8daNpcT_cFv();
-extern "C" void setFootPrtcl__8daNpcT_cFP4cXyzff();
-extern "C" bool checkCullDraw__8daNpcT_cFv();
-extern "C" void twilight__8daNpcT_cFv();
-extern "C" void evtOrder__8daNpcT_cFv();
-extern "C" void clrParam__8daNpcT_cFv();
-extern "C" void setFaceMotionAnm__8daNpcT_cFib();
-extern "C" void setMotionAnm__8daNpcT_cFifi();
-extern "C" void setAngle__8daNpcT_cFs();
-extern "C" void hitChk__8daNpcT_cFP12dCcD_GObjInfUl();
-extern "C" void setDamage__8daNpcT_cFiii();
-extern "C" void srchPlayerActor__8daNpcT_cFv();
-extern "C" void step__8daNpcT_cFsiiii();
-extern "C" void initTalk__8daNpcT_cFiPP10fopAc_ac_c();
-extern "C" void talkProc__8daNpcT_cFPiiPP10fopAc_ac_ci();
-extern "C" void getNearestActorP__8daNpcT_cFs();
-extern "C" void daNpcT_getDistTableIdx__Fii();
-extern "C" void daNpcT_chkEvtBit__FUl();
-extern "C" void shop_cam_action_init__16ShopCam_action_cFv();
-extern "C" void Save__16ShopCam_action_cFv();
-extern "C" void EventRecoverNotime__16ShopCam_action_cFv();
-extern "C" void Reset__16ShopCam_action_cFv();
-extern "C" void move__16ShopCam_action_cFv();
-extern "C" void __ct__15dShopItemCtrl_cFv();
-extern "C" void initShopSystem__13dShopSystem_cFv();
-extern "C" void __dt__13dShopSystem_cFv();
-extern "C" void drawCursor__13dShopSystem_cFv();
-extern "C" void itemRotate__13dShopSystem_cFv();
-extern "C" void itemZoom__13dShopSystem_cFP4cXyz();
-extern "C" void shop_init__13dShopSystem_cFb();
-extern "C" void shop_process__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c();
-extern "C" void deleteObject__13dShopSystem_cFv();
-extern "C" void searchItemActor__13dShopSystem_cFv();
-extern "C" void setSellItemMax__13dShopSystem_cFUc();
-extern "C" void checkShopOpen__13dShopSystem_cFv();
-extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
-extern "C" void __ct__10dMsgFlow_cFv();
-extern "C" void Set__4cCcSFP8cCcD_Obj();
-extern "C" void __mi__4cXyzCFRC3Vec();
-extern "C" void cM_atan2s__Fff();
-extern "C" void cM_rndF__Ff();
-extern "C" void __ct__11cBgS_GndChkFv();
-extern "C" void __dt__13cBgS_PolyInfoFv();
-extern "C" void __dt__8cM3dGCirFv();
-extern "C" void SetC__8cM3dGCylFRC4cXyz();
-extern "C" void SetH__8cM3dGCylFf();
-extern "C" void SetR__8cM3dGCylFf();
-extern "C" void __ct__10Z2CreatureFv();
-extern "C" void init__10Z2CreatureFP3VecP3VecUcUc();
-extern "C" void* __nw__FUl();
-extern "C" void __dl__FPv();
-extern "C" void hide__13J3DShapeTableFv();
-extern "C" void show__13J3DShapeTableFv();
-extern "C" void init__12J3DFrameCtrlFs();
-extern "C" void getTexNo__16J3DAnmTexPatternCFUsPUs();
-extern "C" void initialize__14J3DMaterialAnmFv();
-extern "C" void __destroy_arr();
-extern "C" void __construct_array();
-extern "C" void __ptmf_test();
-extern "C" void __ptmf_cmpr();
-extern "C" void __ptmf_scall();
-extern "C" void _savegpr_22();
-extern "C" void _savegpr_27();
-extern "C" void _savegpr_28();
-extern "C" void _savegpr_29();
-extern "C" void _restgpr_22();
-extern "C" void _restgpr_27();
-extern "C" void _restgpr_28();
-extern "C" void _restgpr_29();
-extern "C" extern u8 const __ptmf_null[12 + 4 /* padding */];
-extern "C" extern void* __vt__8dCcD_Cyl[36];
-extern "C" extern void* __vt__9dCcD_Stts[11];
-extern "C" u8 mCcDCyl__8daNpcT_c[68];
-extern "C" extern void* __vt__8daNpcT_c[49];
-extern "C" extern void* __vt__15daNpcT_MatAnm_c[4 + 1 /* padding */];
-extern "C" extern void* __vt__13dShopSystem_c[52 + 1 /* padding */];
-extern "C" extern void* __vt__12cCcD_CylAttr[25];
-extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
-extern "C" extern void* __vt__9cCcD_Stts[8];
-extern "C" extern void* __vt__14J3DMaterialAnm[4];
-extern "C" u8 now__14mDoMtx_stack_c[48];
-extern "C" void __register_global_object();
-
-//
-// Declarations:
-//
-
-/* ############################################################################################## */
-/* 80AD4B5C-80AD4B5C 0000FC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80AD4B5C = "";
-SECTION_DEAD static char const* const stringBase_80AD4B5D = "DEFAULT_GETITEM";
-SECTION_DEAD static char const* const stringBase_80AD4B6D = "Seira";
-SECTION_DEAD static char const* const stringBase_80AD4B73 = "SeraBtl";
-SECTION_DEAD static char const* const stringBase_80AD4B7B = "Sera";
-#pragma pop
/* 80AD4BB0-80AD4BC0 000020 0010+00 1/1 0/0 0/0 .data l_bmdData */
-SECTION_DATA static u8 l_bmdData[16] = {
- 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x02,
+static int l_bmdData[2][2] = {
+ {4, 3},
+ {17, 2},
};
/* 80AD4BC0-80AD4BD0 -00001 0010+00 0/1 0/0 0/0 .data l_evtList */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* l_evtList[4] = {
- (void*)&d_a_npc_seira2__stringBase0,
- (void*)NULL,
- (void*)(((char*)&d_a_npc_seira2__stringBase0) + 0x1),
- (void*)NULL,
+static daNpcT_evtData_c l_evtList[2] = {
+ {"", 0},
+ {"DEFAULT_GETITEM", 0},
};
-#pragma pop
/* 80AD4BD0-80AD4BE0 -00001 0010+00 3/4 0/0 0/0 .data l_resNameList */
-SECTION_DATA static void* l_resNameList[4] = {
- (void*)&d_a_npc_seira2__stringBase0,
- (void*)(((char*)&d_a_npc_seira2__stringBase0) + 0x11),
- (void*)(((char*)&d_a_npc_seira2__stringBase0) + 0x17),
- (void*)(((char*)&d_a_npc_seira2__stringBase0) + 0x1F),
+static char* l_resNameList[4] = {
+ "",
+ "Seira",
+ "SeraBtl",
+ "Sera",
};
/* 80AD4BE0-80AD4BE4 000050 0004+00 1/0 0/0 0/0 .data l_loadResPtrn0 */
-SECTION_DATA static u32 l_loadResPtrn0 = 0x030102FF;
+static s8 l_loadResPtrn0[4] = {3, 1, 2, -1};
/* 80AD4BE4-80AD4C00 -00001 001C+00 1/2 0/0 0/0 .data l_loadResPtrnList */
-SECTION_DATA static void* l_loadResPtrnList[7] = {
- (void*)&l_loadResPtrn0, (void*)&l_loadResPtrn0, (void*)&l_loadResPtrn0, (void*)&l_loadResPtrn0,
- (void*)&l_loadResPtrn0, (void*)&l_loadResPtrn0, (void*)&l_loadResPtrn0,
+static s8* l_loadResPtrnList[7] = {
+ l_loadResPtrn0, l_loadResPtrn0, l_loadResPtrn0, l_loadResPtrn0,
+ l_loadResPtrn0, l_loadResPtrn0, l_loadResPtrn0,
};
/* 80AD4C00-80AD4D88 000070 0188+00 0/1 0/0 0/0 .data l_faceMotionAnmData */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u8 l_faceMotionAnmData[392] = {
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43,
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0E,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4E,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4A,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C,
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12,
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+static daNpcT_faceMotionAnmData_c l_faceMotionAnmData[14] = {
+ {-1, 0, 0, 67, 2, 1, 1},
+ {14, 0, 1, 67, 2, 1, 1},
+ {11, 0, 1, 75, 0, 1, 0},
+ {7, 0, 1, 69, 0, 1, 0},
+ {15, 0, 1, 78, 0, 1, 0},
+ {6, 0, 1, 68, 0, 1, 0},
+ {16, 2, 1, 79, 2, 1, 0},
+ {9, 2, 1, 71, 2, 1, 0},
+ {10, 0, 1, 74, 0, 1, 0},
+ {12, 2, 1, 76, 2, 1, 0},
+ {8, 0, 1, 67, 2, 1, 0},
+ {17, 2, 1, 80, 2, 1, 0},
+ {13, 0, 1, 77, 0, 1, 0},
+ {18, 2, 1, 81, 2, 1, 0},
};
-#pragma pop
/* 80AD4D88-80AD5044 0001F8 02BC+00 0/1 0/0 0/0 .data l_motionAnmData */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u8 l_motionAnmData[700] = {
- 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2D,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x25,
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x01, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C,
- 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x37,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x23,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C,
- 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x31,
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x14,
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C,
- 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x34,
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x16,
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C,
- 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x36,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x13,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x01, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0C,
- 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3C,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x21,
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x01, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0C,
- 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2D,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0C,
+static daNpcT_motionAnmData_c l_motionAnmData[25] = {
+ {42, 2, 1, 45, 0, 1, 1, 12},
+ {37, 2, 1, 55, 0, 1, 0, 12},
+ {41, 2, 1, 45, 0, 1, 1, 12},
+ {27, 2, 1, 55, 2, 1, 0, 12},
+ {35, 0, 1, 55, 0, 1, 0, 12},
+ {35, 0, 1, 62, 0, 1, 0, 12},
+ {34, 0, 1, 61, 0, 1, 0, 12},
+ {31, 0, 1, 59, 0, 1, 0, 12},
+ {21, 2, 1, 49, 2, 1, 0, 12},
+ {20, 2, 1, 48, 2, 1, 0, 12},
+ {29, 0, 1, 57, 0, 1, 0, 12},
+ {30, 2, 1, 58, 2, 1, 0, 12},
+ {24, 2, 1, 52, 2, 1, 0, 12},
+ {22, 2, 1, 50, 2, 1, 0, 12},
+ {5, 0, 1, 46, 0, 1, 0, 12},
+ {25, 2, 1, 53, 2, 1, 0, 12},
+ {26, 0, 1, 54, 0, 1, 1, 12},
+ {19, 0, 1, 47, 0, 1, 1, 12},
+ {23, 2, 1, 51, 2, 1, 1, 12},
+ {28, 0, 1, 56, 0, 1, 1, 12},
+ {32, 0, 1, 60, 0, 1, 1, 12},
+ {33, 2, 1, 45, 2, 1, 1, 12},
+ {39, 0, 1, 45, 0, 1, 1, 12},
+ {40, 2, 1, 64, 2, 1, 1, 12},
+ {38, 0, 1, 45, 0, 1, 1, 12},
};
-#pragma pop
/* 80AD5044-80AD5124 0004B4 00E0+00 0/1 0/0 0/0 .data l_faceMotionSequenceData */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u8 l_faceMotionSequenceData[224] = {
- 0x00, 0x01, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x02, 0xFF, 0x01, 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, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x03, 0xFF, 0x01, 0x00, 0x09, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x04, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x09, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x05, 0xFF, 0x01, 0x00, 0x06, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x0A, 0xFF, 0x01, 0x00, 0x0B, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x0C, 0xFF, 0x01, 0x00, 0x0D, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x06, 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, 0x0D, 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[56] = {
+ {1, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {2, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {7, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {8, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {3, -1, 1}, {9, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {4, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {9, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {5, -1, 1}, {6, -1, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {10, -1, 1}, {11, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {12, -1, 1}, {13, -1, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {6, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {11, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {13, -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
/* 80AD5124-80AD52B4 000594 0190+00 0/1 0/0 0/0 .data l_motionSequenceData */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u8 l_motionSequenceData[400] = {
- 0x00, 0x01, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x02, 0xFF, 0x01, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x03, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x04, 0xFF, 0x01, 0x00, 0x03, 0xFF, 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, 0x09, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x0A, 0xFF, 0x01, 0x00, 0x0B, 0xFF, 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, 0x07, 0xFF, 0x01, 0x00, 0x03, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x06, 0xFF, 0x01, 0x00, 0x03, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x05, 0xFF, 0x01, 0x00, 0x03, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x0D, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x0E, 0xFF, 0x01, 0x00, 0x09, 0xFF, 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,
- 0x00, 0x06, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x10, 0xFF, 0x01, 0x00, 0x0F, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x0F, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x11, 0xFF, 0x01, 0x00, 0x17, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x16, 0xFF, 0x01, 0x00, 0x17, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x13, 0xFF, 0x01, 0x00, 0x0F, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x17, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x14, 0xFF, 0x01, 0x00, 0x15, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x15, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x12, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
- 0x00, 0x18, 0x04, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
+static daNpcT_MotionSeqMngr_c::sequenceStepData_c l_motionSequenceData[100] = {
+ {1, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {2, -1, 1}, {0, -1, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {3, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {4, -1, 1}, {3, -1, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {8, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {9, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {10, -1, 1}, {11, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {12, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {7, -1, 1}, {3, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {6, -1, 1}, {3, -1, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {5, -1, 1}, {3, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {13, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {14, -1, 1}, {9, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {0, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {6, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {16, -1, 1}, {15, -1, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {15, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {17, -1, 1}, {23, -1, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {22, -1, 1}, {23, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {19, -1, 1}, {15, -1, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {23, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {20, -1, 1}, {21, -1, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {21, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {18, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
+ {24, 4, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
};
-#pragma pop
/* 80AD52B4-80AD52B8 -00001 0004+00 1/1 0/0 0/0 .data mCutNameList__14daNpc_Seira2_c */
-SECTION_DATA void* daNpc_Seira2_c::mCutNameList = (void*)&d_a_npc_seira2__stringBase0;
+char* daNpc_Seira2_c::mCutNameList[1] = {""};
/* 80AD52B8-80AD52C4 000728 000C+00 2/2 0/0 0/0 .data mCutList__14daNpc_Seira2_c */
-SECTION_DATA u8 daNpc_Seira2_c::mCutList[12] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-
-/* 80AD52C4-80AD52D0 -00001 000C+00 0/1 0/0 0/0 .data @4677 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4677[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)shop__14daNpc_Seira2_cFPv,
-};
-#pragma pop
-
-/* 80AD52D0-80AD52DC -00001 000C+00 0/1 0/0 0/0 .data @4685 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4685[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)shop__14daNpc_Seira2_cFPv,
-};
-#pragma pop
-
-/* 80AD52DC-80AD52E8 -00001 000C+00 0/1 0/0 0/0 .data @4688 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4688[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)talk__14daNpc_Seira2_cFPv,
-};
-#pragma pop
-
-/* 80AD52E8-80AD52F4 -00001 000C+00 0/1 0/0 0/0 .data @4696 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4696[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)talk__14daNpc_Seira2_cFPv,
-};
-#pragma pop
-
-/* 80AD52F4-80AD5300 -00001 000C+00 0/1 0/0 0/0 .data @4937 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4937[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)sit__14daNpc_Seira2_cFPv,
-};
-#pragma pop
-
-/* 80AD5300-80AD530C -00001 000C+00 0/1 0/0 0/0 .data @4938 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4938[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)happy__14daNpc_Seira2_cFPv,
-};
-#pragma pop
-
-/* 80AD530C-80AD5318 -00001 000C+00 0/1 0/0 0/0 .data @4939 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4939[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)worry__14daNpc_Seira2_cFPv,
-};
-#pragma pop
-
-/* 80AD5318-80AD53F0 000788 00D8+00 1/1 0/0 0/0 .data bottlAnmData$5021 */
-SECTION_DATA static u8 bottlAnmData[216] = {
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x02,
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x02,
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x02,
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x02,
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x02,
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x02,
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x02,
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x02,
-};
+daNpc_Seira2_c::cutFunc daNpc_Seira2_c::mCutList[1] = { NULL };
-/* 80AD53F0-80AD53FC -00001 000C+00 0/1 0/0 0/0 .data @5048 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_5048[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)sit__14daNpc_Seira2_cFPv,
-};
-#pragma pop
-
-/* 80AD53FC-80AD5408 -00001 000C+00 0/1 0/0 0/0 .data @5050 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_5050[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)happy__14daNpc_Seira2_cFPv,
-};
-#pragma pop
-
-/* 80AD5408-80AD5414 -00001 000C+00 0/1 0/0 0/0 .data @5052 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_5052[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)worry__14daNpc_Seira2_cFPv,
-};
-#pragma pop
-
-/* 80AD5414-80AD5420 -00001 000C+00 0/1 0/0 0/0 .data @5054 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_5054[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)sad__14daNpc_Seira2_cFPv,
-};
-#pragma pop
-
-/* 80AD5420-80AD542C -00001 000C+00 0/1 0/0 0/0 .data @5056 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_5056[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)smile__14daNpc_Seira2_cFPv,
-};
-#pragma pop
-
-/* 80AD542C-80AD5438 -00001 000C+00 0/1 0/0 0/0 .data @5058 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_5058[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)lookaround__14daNpc_Seira2_cFPv,
-};
-#pragma pop
-
-/* 80AD5438-80AD5444 -00001 000C+00 0/1 0/0 0/0 .data @5060 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_5060[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)wait__14daNpc_Seira2_cFPv,
-};
-#pragma pop
-
-/* 80AD5444-80AD5464 -00001 0020+00 1/0 0/0 0/0 .data daNpc_Seira2_MethodTable */
-static actor_method_class daNpc_Seira2_MethodTable = {
- (process_method_func)daNpc_Seira2_Create__FPv,
- (process_method_func)daNpc_Seira2_Delete__FPv,
- (process_method_func)daNpc_Seira2_Execute__FPv,
- (process_method_func)daNpc_Seira2_IsDelete__FPv,
- (process_method_func)daNpc_Seira2_Draw__FPv,
-};
-
-/* 80AD5464-80AD5494 -00001 0030+00 0/0 0/0 1/0 .data g_profile_NPC_SERA2 */
-extern actor_process_profile_definition g_profile_NPC_SERA2 = {
- fpcLy_CURRENT_e, // mLayerID
- 7, // mListID
- fpcPi_CURRENT_e, // mListPrio
- PROC_NPC_SERA2, // mProcName
- &g_fpcLf_Method.base, // sub_method
- sizeof(daNpc_Seira2_c), // mSize
- 0, // mSizeOther
- 0, // mParameters
- &g_fopAc_Method.base, // sub_method
- 362, // mPriority
- &daNpc_Seira2_MethodTable, // sub_method
- 0x00044108, // mStatus
- fopAc_NPC_e, // mActorType
- fopAc_CULLBOX_CUSTOM_e, // cullType
-};
-
-/* 80AD5494-80AD54A0 000904 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,
-};
-
-/* 80AD54A0-80AD54AC 000910 000C+00 2/2 0/0 0/0 .data __vt__12J3DFrameCtrl */
-SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__12J3DFrameCtrlFv,
-};
-
-/* 80AD54AC-80AD54D0 00091C 0024+00 2/2 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_80AD4914,
- (void*)NULL,
- (void*)NULL,
- (void*)func_80AD490C,
-};
-
-/* 80AD54D0-80AD54DC 000940 000C+00 1/1 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,
-};
-
-/* 80AD54DC-80AD54E8 00094C 000C+00 2/2 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,
-};
-
-/* 80AD54E8-80AD54F4 000958 000C+00 1/1 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,
-};
-
-/* 80AD54F4-80AD5500 000964 000C+00 2/2 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,
-};
-
-/* 80AD5500-80AD550C 000970 000C+00 2/2 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,
-};
-
-/* 80AD550C-80AD5518 00097C 000C+00 4/4 0/0 0/0 .data __vt__18daNpcT_ActorMngr_c */
-SECTION_DATA extern void* __vt__18daNpcT_ActorMngr_c[3] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__18daNpcT_ActorMngr_cFv,
-};
-
-/* 80AD5518-80AD5524 000988 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,
-};
-
-/* 80AD5524-80AD5530 000994 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,
-};
-
-/* 80AD5530-80AD5600 0009A0 00D0+00 2/2 0/0 0/0 .data __vt__14daNpc_Seira2_c */
-SECTION_DATA extern void* __vt__14daNpc_Seira2_c[52] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__14daNpc_Seira2_cFv,
- (void*)ctrlBtk__8daNpcT_cFv,
- (void*)ctrlSubFaceMotion__8daNpcT_cFi,
- (void*)checkChangeJoint__14daNpc_Seira2_cFi,
- (void*)checkRemoveJoint__14daNpc_Seira2_cFi,
- (void*)getBackboneJointNo__14daNpc_Seira2_cFv,
- (void*)getNeckJointNo__14daNpc_Seira2_cFv,
- (void*)getHeadJointNo__14daNpc_Seira2_cFv,
- (void*)getFootLJointNo__8daNpcT_cFv,
- (void*)getFootRJointNo__8daNpcT_cFv,
- (void*)getEyeballLMaterialNo__8daNpcT_cFv,
- (void*)getEyeballRMaterialNo__8daNpcT_cFv,
- (void*)getEyeballMaterialNo__14daNpc_Seira2_cFv,
- (void*)ctrlJoint__8daNpcT_cFP8J3DJointP8J3DModel,
- (void*)afterJntAnm__14daNpc_Seira2_cFi,
- (void*)setParam__14daNpc_Seira2_cFv,
- (void*)checkChangeEvt__8daNpcT_cFv,
- (void*)evtTalk__14daNpc_Seira2_cFv,
- (void*)evtEndProc__8daNpcT_cFv,
- (void*)evtCutProc__14daNpc_Seira2_cFv,
- (void*)setAfterTalkMotion__14daNpc_Seira2_cFv,
- (void*)evtProc__8daNpcT_cFv,
- (void*)action__14daNpc_Seira2_cFv,
- (void*)beforeMove__14daNpc_Seira2_cFv,
- (void*)afterMoved__8daNpcT_cFv,
- (void*)setAttnPos__14daNpc_Seira2_cFv,
- (void*)setFootPos__8daNpcT_cFv,
- (void*)setCollision__14daNpc_Seira2_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__14daNpc_Seira2_cFv,
- (void*)drawOtherMdl__14daNpc_Seira2_cFv,
- (void*)drawGhost__8daNpcT_cFv,
- (void*)afterSetFaceMotionAnm__8daNpcT_cFiifi,
- (void*)afterSetMotionAnm__14daNpc_Seira2_cFiifi,
- (void*)getFaceMotionAnm__8daNpcT_cF26daNpcT_faceMotionAnmData_c,
- (void*)getMotionAnm__8daNpcT_cF22daNpcT_motionAnmData_c,
- (void*)changeAnm__8daNpcT_cFPiPi,
- (void*)changeBck__8daNpcT_cFPiPi,
- (void*)changeBtp__8daNpcT_cFPiPi,
- (void*)changeBtk__8daNpcT_cFPiPi,
- (void*)setMotionAnm__8daNpcT_cFifi,
- (void*)getResName2__13dShopSystem_cFi,
- (void*)beforeStartSeqAction__13dShopSystem_cFP10dMsgFlow_ci,
- (void*)beforeSelectSeqAction__13dShopSystem_cFP10dMsgFlow_ci,
-};
+/* 80AD5624-80AD5628 000014 0004+00 1/1 0/0 0/0 .bss l_HIO */
+static daNpc_Seira2_Param_c l_HIO;
/* 80AD0C0C-80AD0D58 0000EC 014C+00 1/0 0/0 0/0 .text __dt__14daNpc_Seira2_cFv */
daNpc_Seira2_c::~daNpc_Seira2_c() {
- // NONMATCHING
+ deleteObject();
+ if (mpMorf[0] != 0) {
+ mpMorf[0]->stopZelAnime();
+ }
+
+ if (mpSeiraMorf != NULL) {
+ mpSeiraMorf->stopZelAnime();
+ }
+
+ deleteRes(l_loadResPtrnList[mType], (char const**)l_resNameList);
}
/* ############################################################################################## */
/* 80AD4A60-80AD4AEC 000000 008C+00 9/9 0/0 0/0 .rodata m__20daNpc_Seira2_Param_c */
-SECTION_RODATA u8 const daNpc_Seira2_Param_c::m[140] = {
- 0x43, 0x52, 0x00, 0x00, 0xC0, 0x40, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00,
- 0x43, 0x7F, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00, 0x42, 0x0C, 0x00, 0x00, 0x42, 0x48, 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, 0x42, 0x70, 0x00, 0x00, 0xC2, 0x70, 0x00, 0x00,
- 0x3F, 0x19, 0x99, 0x9A, 0x41, 0x40, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x05, 0x00, 0x06,
- 0x42, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x3C, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+const daNpc_Seira2_HIOParam daNpc_Seira2_Param_c::m = {
+ 210.0f,
+ -3.0f,
+ 1.0f,
+ 400.0f,
+ 255.0f,
+ 200.0f,
+ 35.0f,
+ 50.0f,
+ 0.0f,
+ 0.0f,
+ 0.0f,
+ 0.0f,
+ 0.0f,
+ 0.0f,
+ 60.0f,
+ -60.0f,
+ 0.6f,
+ 12.0f,
+ 5,
+ 6,
+ 5,
+ 6,
+ 110.0f,
+ 0.0f,
+ 0.0f,
+ 0.0f,
+ 60,
+ 8,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 4.0f,
+ 0.0f,
+ 0.0f,
+ 0.0f,
+ 0.0f,
+ 0.0f,
+ 0.0f,
+ 0.0f,
};
-COMPILER_STRIP_GATE(0x80AD4A60, &daNpc_Seira2_Param_c::m);
-
-/* 80AD4AEC-80AD4AF0 00008C 0004+00 0/1 0/0 0/0 .rodata @3960 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_3960 = -300.0f;
-COMPILER_STRIP_GATE(0x80AD4AEC, &lit_3960);
-#pragma pop
-
-/* 80AD4AF0-80AD4AF4 000090 0004+00 0/1 0/0 0/0 .rodata @3961 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_3961 = -50.0f;
-COMPILER_STRIP_GATE(0x80AD4AF0, &lit_3961);
-#pragma pop
-
-/* 80AD4AF4-80AD4AF8 000094 0004+00 0/1 0/0 0/0 .rodata @3962 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_3962 = 300.0f;
-COMPILER_STRIP_GATE(0x80AD4AF4, &lit_3962);
-#pragma pop
-
-/* 80AD4AF8-80AD4AFC 000098 0004+00 0/1 0/0 0/0 .rodata @3963 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_3963 = 450.0f;
-COMPILER_STRIP_GATE(0x80AD4AF8, &lit_3963);
-#pragma pop
/* 80AD0D58-80AD0FF8 000238 02A0+00 1/1 0/0 0/0 .text create__14daNpc_Seira2_cFv */
-void daNpc_Seira2_c::create() {
- // NONMATCHING
+int daNpc_Seira2_c::create() {
+ fopAcM_SetupActor2(this, daNpc_Seira2_c, l_faceMotionAnmData, l_motionAnmData,
+ l_faceMotionSequenceData, 4, l_motionSequenceData, 4,
+ l_evtList, l_resNameList
+ );
+
+ mType = getType();
+ mFlowNodeNo = getFlowNodeNo();
+ mEvtBit = daNpcT_chkEvtBit(0x316);
+ mTwilight = 0;
+ mChkBottle = checkBottle();
+
+ int rv = loadRes(l_loadResPtrnList[mType], (const char**)l_resNameList);
+ if (rv == cPhs_COMPLEATE_e) {
+ if (!fopAcM_entrySolidHeap(this, createHeapCallBack, 0x6430)) {
+ return cPhs_ERROR_e;
+ }
+
+ if (isDelete()) {
+ return cPhs_ERROR_e;
+ }
+
+ J3DModelData* modelData = mpMorf[0]->getModel()->getModelData();
+ fopAcM_SetMtx(this, mpMorf[0]->getModel()->getBaseTRMtx());
+ fopAcM_setCullSizeBox(this, -300.0f, -50.0f, -300.0f, 300.0f, 450.0f, 300.0f);
+ mSound.init(&current.pos, &eyePos, 3, 1);
+ mAcch.Set(fopAcM_GetPosition_p(this), fopAcM_GetOldPosition_p(this), this, 1,
+ &mAcchCir, fopAcM_GetSpeed_p(this), fopAcM_GetAngle_p(this),
+ fopAcM_GetShapeAngle_p(this));
+ mAcch.CrrPos(dComIfG_Bgsp());
+ mGndChk = mAcch.m_gnd;
+ mGroundH = mAcch.GetGroundH();
+ setEnvTevColor();
+ setRoomNo();
+ mCcStts.Init(daNpc_Seira2_Param_c::m.common.weight, 0, this);
+ mCyl1.Set(mCcDCyl);
+ mCyl1.SetStts(&mCcStts);
+ mCyl1.SetTgHitCallback(tgHitCallBack);
+ reset();
+ mCreating = 1;
+ Execute();
+ mCreating = 0;
+ }
+
+ return rv;
}
-/* ############################################################################################## */
-/* 80AD4AFC-80AD4B00 00009C 0004+00 0/1 0/0 0/0 .rodata @4052 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4052 = 0.25f;
-COMPILER_STRIP_GATE(0x80AD4AFC, &lit_4052);
-#pragma pop
-
-/* 80AD4B00-80AD4B04 0000A0 0004+00 0/2 0/0 0/0 .rodata @4053 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4053 = 20.0f;
-COMPILER_STRIP_GATE(0x80AD4B00, &lit_4053);
-#pragma pop
-
-/* 80AD4B04-80AD4B08 0000A4 0004+00 0/1 0/0 0/0 .rodata @4054 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4054 = 5.0f;
-COMPILER_STRIP_GATE(0x80AD4B04, &lit_4054);
-#pragma pop
-
-/* 80AD4B08-80AD4B0C 0000A8 0004+00 11/18 0/0 0/0 .rodata @4055 */
-SECTION_RODATA static u8 const lit_4055[4] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
-};
-COMPILER_STRIP_GATE(0x80AD4B08, &lit_4055);
-
-/* 80AD4B0C-80AD4B10 0000AC 0004+00 1/2 0/0 0/0 .rodata @4056 */
-SECTION_RODATA static f32 const lit_4056 = 100.0f;
-COMPILER_STRIP_GATE(0x80AD4B0C, &lit_4056);
-
-/* 80AD4B10-80AD4B14 0000B0 0004+00 0/1 0/0 0/0 .rodata @4057 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4057 = 60.0f;
-COMPILER_STRIP_GATE(0x80AD4B10, &lit_4057);
-#pragma pop
-
-/* 80AD4B14-80AD4B18 0000B4 0004+00 0/2 0/0 0/0 .rodata @4278 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4278 = 65536.0f;
-COMPILER_STRIP_GATE(0x80AD4B14, &lit_4278);
-#pragma pop
-
-/* 80AD4B18-80AD4B1C 0000B8 0004+00 0/3 0/0 0/0 .rodata @4279 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4279 = 1.0f / 5.0f;
-COMPILER_STRIP_GATE(0x80AD4B18, &lit_4279);
-#pragma pop
-
-/* 80AD4B1C-80AD4B20 0000BC 0004+00 2/5 0/0 0/0 .rodata @4443 */
-SECTION_RODATA static f32 const lit_4443 = 1.0f;
-COMPILER_STRIP_GATE(0x80AD4B1C, &lit_4443);
-
/* 80AD0FF8-80AD134C 0004D8 0354+00 1/1 0/0 0/0 .text CreateHeap__14daNpc_Seira2_cFv */
-void daNpc_Seira2_c::CreateHeap() {
- // NONMATCHING
-}
-
-/* 80AD134C-80AD1388 00082C 003C+00 1/1 0/0 0/0 .text __dt__15J3DTevKColorAnmFv */
-// J3DTevKColorAnm::~J3DTevKColorAnm() {
-extern "C" void __dt__15J3DTevKColorAnmFv() {
- // NONMATCHING
-}
-
-/* 80AD1388-80AD13A0 000868 0018+00 1/1 0/0 0/0 .text __ct__15J3DTevKColorAnmFv */
-// J3DTevKColorAnm::J3DTevKColorAnm() {
-extern "C" void __ct__15J3DTevKColorAnmFv() {
- // NONMATCHING
-}
-
-/* 80AD13A0-80AD13DC 000880 003C+00 1/1 0/0 0/0 .text __dt__14J3DTevColorAnmFv */
-// J3DTevColorAnm::~J3DTevColorAnm() {
-extern "C" void __dt__14J3DTevColorAnmFv() {
- // NONMATCHING
-}
-
-/* 80AD13DC-80AD13F4 0008BC 0018+00 1/1 0/0 0/0 .text __ct__14J3DTevColorAnmFv */
-// J3DTevColorAnm::J3DTevColorAnm() {
-extern "C" void __ct__14J3DTevColorAnmFv() {
- // NONMATCHING
-}
-
-/* 80AD13F4-80AD143C 0008D4 0048+00 1/1 0/0 0/0 .text __dt__11J3DTexNoAnmFv */
-// J3DTexNoAnm::~J3DTexNoAnm() {
-extern "C" void __dt__11J3DTexNoAnmFv() {
- // NONMATCHING
-}
-
-/* 80AD143C-80AD1460 00091C 0024+00 1/1 0/0 0/0 .text __ct__11J3DTexNoAnmFv */
-// J3DTexNoAnm::J3DTexNoAnm() {
-extern "C" void __ct__11J3DTexNoAnmFv() {
- // NONMATCHING
-}
-
-/* 80AD1460-80AD149C 000940 003C+00 1/1 0/0 0/0 .text __dt__12J3DTexMtxAnmFv */
-// J3DTexMtxAnm::~J3DTexMtxAnm() {
-extern "C" void __dt__12J3DTexMtxAnmFv() {
- // NONMATCHING
-}
-
-/* 80AD149C-80AD14B4 00097C 0018+00 1/1 0/0 0/0 .text __ct__12J3DTexMtxAnmFv */
-// J3DTexMtxAnm::J3DTexMtxAnm() {
-extern "C" void __ct__12J3DTexMtxAnmFv() {
- // NONMATCHING
-}
-
-/* 80AD14B4-80AD14F0 000994 003C+00 1/1 0/0 0/0 .text __dt__14J3DMatColorAnmFv */
-// J3DMatColorAnm::~J3DMatColorAnm() {
-extern "C" void __dt__14J3DMatColorAnmFv() {
- // NONMATCHING
-}
-
-/* 80AD14F0-80AD1508 0009D0 0018+00 1/1 0/0 0/0 .text __ct__14J3DMatColorAnmFv */
-// J3DMatColorAnm::J3DMatColorAnm() {
-extern "C" void __ct__14J3DMatColorAnmFv() {
- // NONMATCHING
+int daNpc_Seira2_c::CreateHeap() {
+ enum XXX { x0 = 0, x1=1};
+ J3DModelData* modelData = NULL;
+ J3DModel* model = NULL;
+ int bmd_get_idx = mTwilight == 1 ? x0 : x0;
+ int res_name_idx = l_bmdData[bmd_get_idx][1];
+ int sp_0x2c = l_bmdData[bmd_get_idx][0];
+ modelData = static_cast<J3DModelData*>(dComIfG_getObjectRes(
+ l_resNameList[res_name_idx], sp_0x2c));
+ if (modelData == NULL) {
+ return 1;
+ }
+
+ u32 sp_0x28 = 0x11020284;
+ mpMorf[0] = new mDoExt_McaMorfSO(modelData, NULL, NULL, NULL, -1, 1.0f, 0, -1, &mSound,
+ 0x80000, sp_0x28);
+ if (mpMorf[0] == NULL || mpMorf[0]->getModel() == NULL) {
+ return 0;
+ }
+
+ model = mpMorf[0]->getModel();
+ for (u16 i = 0; i < modelData->getJointNum(); i++) {
+ modelData->getJointNodePointer(i)->setCallBack(ctrlJointCallBack);
+ }
+
+ model->setUserArea((uintptr_t)this);
+ mpMatAnm[0] = new daNpcT_MatAnm_c();
+ if (mpMatAnm[0] == NULL) {
+ return 0;
+ }
+
+ bmd_get_idx = x1;
+ res_name_idx = l_bmdData[bmd_get_idx][1];
+ sp_0x2c = l_bmdData[bmd_get_idx][0];
+ modelData = static_cast<J3DModelData*>(dComIfG_getObjectRes(
+ l_resNameList[res_name_idx], sp_0x2c));
+
+ sp_0x28 = 0x11000084;
+ mpSeiraMorf = new mDoExt_McaMorfSO(modelData, NULL, NULL, NULL, -1, 1.0f, 0, -1, NULL,
+ 0, sp_0x28);
+ if (mpSeiraMorf == NULL || mpSeiraMorf->getModel() == NULL) {
+ return 0;
+ }
+
+ if (setFaceMotionAnm(1, false) && setMotionAnm(0, 0.0f, 0) && setBottleAnm(25, 2, 0.0f, false)) {
+ return 1;
+ }
+
+ return 0;
}
/* 80AD1508-80AD153C 0009E8 0034+00 1/1 0/0 0/0 .text Delete__14daNpc_Seira2_cFv */
-void daNpc_Seira2_c::Delete() {
- // NONMATCHING
+int daNpc_Seira2_c::Delete() {
+ fopAcM_GetID(this);
+ this->~daNpc_Seira2_c();
+ return 1;
}
/* 80AD153C-80AD1610 000A1C 00D4+00 2/2 0/0 0/0 .text Execute__14daNpc_Seira2_cFv */
-void daNpc_Seira2_c::Execute() {
- // NONMATCHING
+int daNpc_Seira2_c::Execute() {
+ if (!mCreating && !checkShopOpen() && !field_0x10ED) {
+ initShopSystem();
+ setSellItemMax(getMaxNumItem());
+ field_0xf60 = -1;
+ setMasterType(1);
+ mShopCamAction.setCamDataIdx(0);
+ mShopCamAction.setCamAction(NULL);
+ field_0x10ED = 1;
+ }
+
+ daNpcT_c::execute();
+ if (field_0x10ED && searchItemActor()) {
+ mShopCamAction.move();
+ }
+
+ return 1;
}
/* 80AD1610-80AD16A4 000AF0 0094+00 1/1 0/0 0/0 .text Draw__14daNpc_Seira2_cFv */
-void daNpc_Seira2_c::Draw() {
- // NONMATCHING
+int daNpc_Seira2_c::Draw() {
+ if (mpMatAnm[0] != NULL) {
+ J3DModelData* modelData = mpMorf[0]->getModel()->getModelData();
+ modelData->getMaterialNodePointer(getEyeballMaterialNo())->setMaterialAnm(mpMatAnm[0]);
+ }
+ return daNpcT_c::draw(0, 0, mRealShadowSize, NULL, 100.0f, 0, 0, 0);
}
/* 80AD16A4-80AD16C4 000B84 0020+00 1/1 0/0 0/0 .text
* createHeapCallBack__14daNpc_Seira2_cFP10fopAc_ac_c */
-void daNpc_Seira2_c::createHeapCallBack(fopAc_ac_c* param_0) {
- // NONMATCHING
+int daNpc_Seira2_c::createHeapCallBack(fopAc_ac_c* i_this) {
+ return static_cast<daNpc_Seira2_c*>(i_this)->CreateHeap();
}
/* 80AD16C4-80AD171C 000BA4 0058+00 1/1 0/0 0/0 .text
* ctrlJointCallBack__14daNpc_Seira2_cFP8J3DJointi */
-void daNpc_Seira2_c::ctrlJointCallBack(J3DJoint* param_0, int param_1) {
- // NONMATCHING
+int daNpc_Seira2_c::ctrlJointCallBack(J3DJoint* param_0, int param_1) {
+ if (param_1 == 0) {
+ J3DModel* model = j3dSys.getModel();
+ daNpc_Seira2_c* i_this = reinterpret_cast<daNpc_Seira2_c*>(model->getUserArea());
+ if (i_this != 0) {
+ i_this->ctrlJoint(param_0, model);
+ }
+ }
+
+ return 1;
}
/* 80AD171C-80AD179C 000BFC 0080+00 1/1 0/0 0/0 .text getType__14daNpc_Seira2_cFv */
-void daNpc_Seira2_c::getType() {
- // NONMATCHING
+u8 daNpc_Seira2_c::getType() {
+ if (dComIfGs_isDarkClearLV(0)) {
+ return 3;
+ }
+
+ if (daNpcT_chkEvtBit(0x3D) || daNpcT_chkEvtBit(0x316)) {
+ return 3;
+ }
+
+ if (daNpcT_chkEvtBit(0x35)) {
+ return 4;
+ }
+
+ return 0;
}
/* 80AD179C-80AD17B8 000C7C 001C+00 1/1 0/0 0/0 .text getFlowNodeNo__14daNpc_Seira2_cFv
*/
-void daNpc_Seira2_c::getFlowNodeNo() {
- // NONMATCHING
+int daNpc_Seira2_c::getFlowNodeNo() {
+ u16 nodeNo = home.angle.x;
+ if (nodeNo == 0xffff) {
+ return -1;
+ }
+
+ return nodeNo;
}
/* 80AD17B8-80AD17C4 000C98 000C+00 1/1 0/0 0/0 .text getMaxNumItem__14daNpc_Seira2_cFv
*/
-void daNpc_Seira2_c::getMaxNumItem() {
- // NONMATCHING
+u8 daNpc_Seira2_c::getMaxNumItem() {
+ return (fopAcM_GetParam(this) & 0xf000000) >> 0x18;
}
/* 80AD17C4-80AD182C 000CA4 0068+00 1/1 0/0 0/0 .text checkBottle__14daNpc_Seira2_cFv */
-void daNpc_Seira2_c::checkBottle() {
- // NONMATCHING
+u8 daNpc_Seira2_c::checkBottle() {
+ u8 prm = fopAcM_GetParam(this);
+ if (dComIfGs_isDarkClearLV(0)) {
+ return false;
+ }
+
+ switch (prm) {
+ case 0:
+ return true;
+ default:
+ return false;
+ }
}
/* 80AD182C-80AD1834 000D0C 0008+00 1/1 0/0 0/0 .text isDelete__14daNpc_Seira2_cFv */
-bool daNpc_Seira2_c::isDelete() {
- return false;
+int daNpc_Seira2_c::isDelete() {
+ return FALSE;
}
/* 80AD1834-80AD1968 000D14 0134+00 1/1 0/0 0/0 .text reset__14daNpc_Seira2_cFv */
void daNpc_Seira2_c::reset() {
- // NONMATCHING
+ initialize();
+ memset(&mNextAction, 0, (u8*)&field_0x10F0 - (u8*)&mNextAction);
+ if (mpMatAnm[0] != NULL) {
+ mpMatAnm[0]->initialize();
+ }
+
+ for (int idx = 0; idx < 1; ++idx) {
+ mActorMngr[idx].initialize();
+ }
+
+ setAngle(home.angle.y);
}
/* 80AD1968-80AD19EC 000E48 0084+00 1/0 0/0 0/0 .text afterJntAnm__14daNpc_Seira2_cFi */
-void daNpc_Seira2_c::afterJntAnm(int param_0) {
- // NONMATCHING
+void daNpc_Seira2_c::afterJntAnm(int arg0) {
+ if (arg0 == 1) {
+ mDoMtx_stack_c::YrotM(mStagger.getAngleZ(1));
+ mDoMtx_stack_c::ZrotM(-mStagger.getAngleX(1));
+ } else if (arg0 == 4) {
+ mDoMtx_stack_c::YrotM(mStagger.getAngleZ(0));
+ mDoMtx_stack_c::ZrotM(mStagger.getAngleX(0));
+ }
}
/* 80AD19EC-80AD1B38 000ECC 014C+00 1/0 0/0 0/0 .text setParam__14daNpc_Seira2_cFv */
void daNpc_Seira2_c::setParam() {
- // NONMATCHING
+ if (field_0x10EC == 1) {
+ if (mShopProcess == 2) {
+ mShopCamAction.Reset();
+ } else {
+ mShopCamAction.EventRecoverNotime();
+ }
+
+ field_0x10EC = 0;
+ }
+
+ selectAction();
+ srchActors();
+
+ u32 att_flags = (fopAc_AttnFlag_SPEAK_e | fopAc_AttnFlag_TALK_e);
+ s16 talk_dist = daNpc_Seira2_Param_c::m.common.talk_distance;
+ s16 talk_ang = daNpc_Seira2_Param_c::m.common.talk_angle;
+ s16 att_dist = daNpc_Seira2_Param_c::m.common.attention_distance;
+ s16 att_ang = daNpc_Seira2_Param_c::m.common.attention_angle;
+
+ if (checkStageIsSeira2sShop()) {
+ talk_dist = 4;
+ att_dist = 4;
+ }
+
+ attention_info.distances[fopAc_attn_LOCK_e] = daNpcT_getDistTableIdx(att_dist, att_ang);
+ attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e];
+ attention_info.distances[fopAc_attn_SPEAK_e] = daNpcT_getDistTableIdx(talk_dist, talk_ang);
+ attention_info.flags = att_flags;
+
+ scale.set(daNpc_Seira2_Param_c::m.common.scale, daNpc_Seira2_Param_c::m.common.scale,
+ daNpc_Seira2_Param_c::m.common.scale);
+ mCcStts.SetWeight(daNpc_Seira2_Param_c::m.common.weight);
+ mCylH = daNpc_Seira2_Param_c::m.common.height;
+ mWallR = daNpc_Seira2_Param_c::m.common.width;
+
+ mAcchCir.SetWallR(mWallR);
+ mAcchCir.SetWallH(daNpc_Seira2_Param_c::m.common.knee_length);
+
+ mRealShadowSize = daNpc_Seira2_Param_c::m.common.real_shadow_size;
+ gravity = daNpc_Seira2_Param_c::m.common.gravity;
+ mExpressionMorfFrame = daNpc_Seira2_Param_c::m.common.expression_morf_frame;
+ mMorfFrames = daNpc_Seira2_Param_c::m.common.morf_frame;
}
-/* ############################################################################################## */
-/* 80AD4B20-80AD4B24 0000C0 0004+00 7/9 0/0 0/0 .rodata @4661 */
-SECTION_RODATA static f32 const lit_4661 = -1.0f;
-COMPILER_STRIP_GATE(0x80AD4B20, &lit_4661);
-
/* 80AD1B38-80AD1BF8 001018 00C0+00 1/0 0/0 0/0 .text setAfterTalkMotion__14daNpc_Seira2_cFv */
void daNpc_Seira2_c::setAfterTalkMotion() {
- // NONMATCHING
+ int iVar2 = 0;
+ switch(mFaceMotionSeqMngr.getNo()) {
+ case 4:
+ iVar2 = 6;
+ break;
+ case 7:
+ iVar2 = 10;
+ break;
+ case 8:
+ iVar2 = 11;
+ break;
+ case 9:
+ iVar2 = 12;
+ break;
+ case 3:
+ return;
+ default:
+ iVar2 = 13;
+ break;
+ }
+
+ mFaceMotionSeqMngr.setNo(iVar2, -1.0f, 0, 0);
}
/* 80AD1BF8-80AD1C60 0010D8 0068+00 1/1 0/0 0/0 .text srchActors__14daNpc_Seira2_cFv */
void daNpc_Seira2_c::srchActors() {
- // NONMATCHING
+ switch (mType) {
+ case 1:
+ case 2: {
+ if (mActorMngr[0].getActorP() == NULL) {
+ // NE means Neko, which means Cat in Japanese:
+ mActorMngr[0].entry(getNearestActorP(PROC_NPC_NE));
+ }
+
+ break;
+ }
+ }
}
/* 80AD1C60-80AD1E04 001140 01A4+00 1/0 0/0 0/0 .text evtTalk__14daNpc_Seira2_cFv */
-void daNpc_Seira2_c::evtTalk() {
- // NONMATCHING
+int daNpc_Seira2_c::evtTalk() {
+ if (field_0x10ED) {
+ if (chkAction(&daNpc_Seira2_c::shop)) {
+ (this->*(mActFunc_0))(NULL);
+ } else if (dComIfGp_event_chkTalkXY() == FALSE || dComIfGp_evmng_ChkPresentEnd()) {
+ mShopCamAction.shop_cam_action_init();
+ setAction(&daNpc_Seira2_c::shop);
+ }
+ } else {
+ if (chkAction(&daNpc_Seira2_c::talk)) {
+ (this->*(mActFunc_0))(NULL);
+ } else if (dComIfGp_event_chkTalkXY() == FALSE || dComIfGp_evmng_ChkPresentEnd()) {
+ setAction(&daNpc_Seira2_c::talk);
+ }
+ }
+
+ return 1;
}
-/* ############################################################################################## */
-/* 80AD4B5C-80AD4B5C 0000FC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80AD4B80 = "Seira2";
-#pragma pop
-
/* 80AD1E04-80AD1ED4 0012E4 00D0+00 1/0 0/0 0/0 .text evtCutProc__14daNpc_Seira2_cFv */
-void daNpc_Seira2_c::evtCutProc() {
- // NONMATCHING
+int daNpc_Seira2_c::evtCutProc() {
+ BOOL retval = FALSE;
+ int staff_id = dComIfGp_getEventManager().getMyStaffId("Seira2", this, -1);
+ if (staff_id != -1) {
+ mStaffId = staff_id;
+ int actIdx = dComIfGp_getEventManager().getMyActIdx(mStaffId, (char**) &daNpc_Seira2_c::mCutNameList, 1, 0, 0);
+ if (((this->*(mCutList[actIdx]))(mStaffId))) {
+ dComIfGp_getEventManager().cutEnd(mStaffId);
+ }
+
+ retval = TRUE;
+ }
+
+ mShopCamAction.Save();
+ return retval;
}
/* 80AD1ED4-80AD2030 0013B4 015C+00 1/0 0/0 0/0 .text action__14daNpc_Seira2_cFv */
void daNpc_Seira2_c::action() {
- // NONMATCHING
+ if (field_0x10ED == 0) {
+ fopAc_ac_c* hit_chk = hitChk(&mCyl1, -1);
+ if (hit_chk) {
+ mStagger.setParam(this, hit_chk, mCurAngle.y);
+ setDamage(0, 13, 13);
+ mStagger.setPower(0.0f);
+ mDamageTimerStart = 0;
+ }
+ }
+
+ if (mStagger.checkRebirth()) {
+ mStagger.initialize();
+ mMode = 1;
+ }
+
+ if (mNextAction) {
+ if (mActFunc_0 == mNextAction) {
+ (this->*(mActFunc_0))(NULL);
+ } else {
+ setAction(mNextAction);
+ }
+ }
}
/* 80AD2030-80AD20A8 001510 0078+00 1/0 0/0 0/0 .text beforeMove__14daNpc_Seira2_cFv */
void daNpc_Seira2_c::beforeMove() {
- // NONMATCHING
+ if (checkHide() || mNoDraw) {
+ attention_info.flags = 0;
+ }
}
-/* ############################################################################################## */
-/* 80AD4B24-80AD4B28 0000C4 0004+00 0/1 0/0 0/0 .rodata @4854 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4854 = -30.0f;
-COMPILER_STRIP_GATE(0x80AD4B24, &lit_4854);
-#pragma pop
-
-/* 80AD4B28-80AD4B2C 0000C8 0004+00 0/1 0/0 0/0 .rodata @4855 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4855 = 10.0f;
-COMPILER_STRIP_GATE(0x80AD4B28, &lit_4855);
-#pragma pop
-
-/* 80AD4B2C-80AD4B30 0000CC 0004+00 0/1 0/0 0/0 .rodata @4856 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u32 const lit_4856 = 0x38C90FDB;
-COMPILER_STRIP_GATE(0x80AD4B2C, &lit_4856);
-#pragma pop
-
-/* 80AD4B30-80AD4B34 0000D0 0004+00 0/1 0/0 0/0 .rodata @4857 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4857 = 170.0f;
-COMPILER_STRIP_GATE(0x80AD4B30, &lit_4857);
-#pragma pop
-
-/* 80AD4B34-80AD4B38 0000D4 0004+00 0/1 0/0 0/0 .rodata @4858 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4858 = 80.0f;
-COMPILER_STRIP_GATE(0x80AD4B34, &lit_4858);
-#pragma pop
-
-/* 80AD4B38-80AD4B40 0000D8 0008+00 2/4 0/0 0/0 .rodata @4860 */
-SECTION_RODATA static u8 const lit_4860[8] = {
- 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80AD4B38, &lit_4860);
-
/* 80AD20A8-80AD23A8 001588 0300+00 1/0 0/0 0/0 .text setAttnPos__14daNpc_Seira2_cFv */
void daNpc_Seira2_c::setAttnPos() {
- // NONMATCHING
+ cXyz eyeOffset(-30.0f, 10.0f, 0.0f);
+ mStagger.calc(0);
+ mJntAnm.setParam(
+ this, mpMorf[0]->getModel(), &eyeOffset, getBackboneJointNo(), getNeckJointNo(), getHeadJointNo(),
+ daNpc_Seira2_Param_c::m.common.body_angleX_min, daNpc_Seira2_Param_c::m.common.body_angleX_max,
+ daNpc_Seira2_Param_c::m.common.body_angleY_min, daNpc_Seira2_Param_c::m.common.body_angleY_max,
+ daNpc_Seira2_Param_c::m.common.head_angleX_min, daNpc_Seira2_Param_c::m.common.head_angleX_max,
+ daNpc_Seira2_Param_c::m.common.head_angleY_min, daNpc_Seira2_Param_c::m.common.head_angleY_max,
+ daNpc_Seira2_Param_c::m.common.neck_rotation_ratio, 0.0f, NULL);
+
+ f32 rad_val = cM_s2rad(mCurAngle.y - field_0xd7e.y);
+ mJntAnm.calcJntRad(0.2f, 1.0f, rad_val);
+ setMtx();
+ if (mpSeiraMorf) {
+ Mtx jointAnmMtx;
+ mDoMtx_stack_c::copy(mpMorf[0]->getModel()->getAnmMtx(18));
+ cMtx_copy(mDoMtx_stack_c::get(), jointAnmMtx);
+ mpSeiraMorf->getModel()->setBaseTRMtx(jointAnmMtx);
+ mpSeiraMorf->play(0, 0);
+ mpSeiraMorf->modelCalc();
+ }
+
+ mDoMtx_stack_c::copy(mpMorf[0]->getModel()->getAnmMtx(getHeadJointNo()));
+ mDoMtx_stack_c::multVec(&eyeOffset, &eyePos);
+ mJntAnm.setEyeAngleX(eyePos, 1.0f, 0);
+ mJntAnm.setEyeAngleY(eyePos, mCurAngle.y, 1, 1.0f, 0);
+ if (checkStageIsSeira2sShop()) {
+ eyeOffset.set(0.0f, 170.0f, 80.0f);
+ if (mType == 1 || mType == 1) {
+ eyeOffset.y += 20.0f;
+ }
+
+ mDoMtx_stack_c::copy(mpMorf[0]->getModel()->getBaseTRMtx());
+ mDoMtx_stack_c::multVec(&eyeOffset, &attention_info.position);
+ } else {
+ attention_info.position = current.pos;
+ attention_info.position.y += daNpc_Seira2_Param_c::m.common.attention_offset;
+ }
}
/* 80AD23A8-80AD2550 001888 01A8+00 1/0 0/0 0/0 .text setCollision__14daNpc_Seira2_cFv */
void daNpc_Seira2_c::setCollision() {
- // NONMATCHING
+ cXyz cStack_48;
+ f32 cylH, wallR;
+ if (!mHide) {
+ if (mTwilight == 1 && dComIfGp_event_runCheck() == FALSE) {
+ mCyl1.SetCoSPrm(0x69);
+ } else {
+ mCyl1.SetCoSPrm(0x79);
+ }
+
+ if (&daNpc_Seira2_c::sit == mNextAction || &daNpc_Seira2_c::happy == mNextAction
+ || &daNpc_Seira2_c::worry == mNextAction) {
+ mCyl1.ClrCoHit();
+ mCyl1.ClrTgHit();
+ return;
+ }
+
+ if (mStagger.checkStagger()) {
+ mCyl1.SetTgType(0);
+ mCyl1.SetTgSPrm(0);
+ } else {
+ mCyl1.SetTgType(0xD8FBFDFF);
+ mCyl1.SetTgSPrm(0x1F);
+ mCyl1.OnTgNoHitMark();
+ }
+
+ cylH = mCylH;
+ wallR = mWallR;
+ cStack_48 = current.pos;
+ mCyl1.SetH(cylH);
+ mCyl1.SetR(wallR);
+ mCyl1.SetC(cStack_48);
+ dComIfG_Ccsp()->Set(&mCyl1);
+ }
+
+ mCyl1.ClrCoHit();
+ mCyl1.ClrTgHit();
}
/* 80AD2550-80AD2558 001A30 0008+00 1/0 0/0 0/0 .text drawDbgInfo__14daNpc_Seira2_cFv */
-bool daNpc_Seira2_c::drawDbgInfo() {
- return false;
+int daNpc_Seira2_c::drawDbgInfo() {
+ return FALSE;
}
/* 80AD2558-80AD2630 001A38 00D8+00 1/0 0/0 0/0 .text drawOtherMdl__14daNpc_Seira2_cFv */
void daNpc_Seira2_c::drawOtherMdl() {
- // NONMATCHING
+ if (field_0x10ED) {
+ cXyz sp8;
+ itemRotate();
+ sp8.set(0.0f, 0.0f, 0.0f);
+ itemZoom(&sp8);
+ drawCursor();
+ }
+
+ if (mpSeiraMorf != NULL) {
+ g_env_light.setLightTevColorType_MAJI(mpSeiraMorf->getModel(), &tevStr);
+ fopAcM_setEffectMtx(this, mpSeiraMorf->getModel()->getModelData());
+ if (mChkBottle == 0) {
+ mpSeiraMorf->getModel()->getModelData()->hide();
+ } else {
+ mpSeiraMorf->getModel()->getModelData()->show();
+ }
+
+ mpSeiraMorf->entryDL();
+ }
}
/* 80AD2630-80AD2710 001B10 00E0+00 2/2 0/0 0/0 .text setBottleAnm__14daNpc_Seira2_cFiifb
*/
-void daNpc_Seira2_c::setBottleAnm(int param_0, int param_1, f32 param_2, bool param_3) {
- // NONMATCHING
+bool daNpc_Seira2_c::setBottleAnm(int arg0, int arg1, f32 arg2, bool arg3) {
+ static int bottlAnmData[27][2] = {
+ {-1, 2}, {-1, 2}, {-1, 2}, { 6, 2}, {11, 2}, {11, 2}, {10, 2}, { 9, 2},
+ { 4, 2}, {-1, 2}, { 7, 2}, { 8, 2}, { 5, 2}, {-1, 2}, {-1, 2},
+ {-1, 2}, {-1, 2}, {-1, 2}, {-1, 2}, {-1, 2}, {-1, 2}, {-1, 2}, {-1, 2},
+ {-1, 2}, {-1, 2}, {13, 2}, {14, 2},
+ };
+
+ J3DAnmTransform* trans_p = NULL;
+ int var_r30 = arg0;
+ if (mpSeiraMorf != NULL) {
+ if (arg3 == false) {
+ var_r30 = mType == 0 ? 25 : 26;
+ }
+
+ if (bottlAnmData[var_r30][0] > 0) {
+ trans_p = getTrnsfrmKeyAnmP(l_resNameList[bottlAnmData[var_r30][1]], bottlAnmData[var_r30][0]);
+ }
+
+ if (trans_p != NULL) {
+ mpSeiraMorf->setAnm(trans_p, arg1, arg2, 1.0f, 0.0f, -1.0f);
+ }
+ }
+
+ return true;
}
/* 80AD2710-80AD2748 001BF0 0038+00 1/0 0/0 0/0 .text afterSetMotionAnm__14daNpc_Seira2_cFiifi */
-void daNpc_Seira2_c::afterSetMotionAnm(int param_0, int param_1, f32 param_2, int param_3) {
- // NONMATCHING
+bool daNpc_Seira2_c::afterSetMotionAnm(int arg0, int arg1, f32 arg2, int) {
+ f32 var_f30 = (mCreating == 1) ? 0.0f : arg2;
+ setBottleAnm(arg0, arg1, var_f30, 1);
}
/* 80AD2748-80AD2870 001C28 0128+00 1/1 0/0 0/0 .text selectAction__14daNpc_Seira2_cFv */
-void daNpc_Seira2_c::selectAction() {
- // NONMATCHING
+int daNpc_Seira2_c::selectAction() {
+ mNextAction = NULL;
+ // TODO: Debug-only set & return.
+ switch (mType) {
+ case 0:
+ mNextAction = &daNpc_Seira2_c::sit;
+ break;
+
+ case 1:
+ mNextAction = &daNpc_Seira2_c::happy;
+ break;
+
+ case 2:
+ mNextAction = &daNpc_Seira2_c::worry;
+ break;
+
+ case 3:
+ mNextAction = &daNpc_Seira2_c::sad;
+ break;
+
+ case 4:
+ mNextAction = &daNpc_Seira2_c::smile;
+ break;
+
+ case 5:
+ mNextAction = &daNpc_Seira2_c::lookaround;
+ break;
+
+ default:
+ mNextAction = &daNpc_Seira2_c::wait;
+ break;
+ }
+
+ return 1;
}
/* 80AD2870-80AD289C 001D50 002C+00 1/1 0/0 0/0 .text
* chkAction__14daNpc_Seira2_cFM14daNpc_Seira2_cFPCvPvPv_i */
-void daNpc_Seira2_c::chkAction(int (daNpc_Seira2_c::*param_0)(void*)) {
- // NONMATCHING
+int daNpc_Seira2_c::chkAction(actionFunc i_action) {
+ return mActFunc_0 == i_action;
}
/* 80AD289C-80AD2944 001D7C 00A8+00 2/2 0/0 0/0 .text
* setAction__14daNpc_Seira2_cFM14daNpc_Seira2_cFPCvPvPv_i */
-void daNpc_Seira2_c::setAction(int (daNpc_Seira2_c::*param_0)(void*)) {
- // NONMATCHING
-}
+int daNpc_Seira2_c::setAction(actionFunc i_action) {
+ mMode = MODE_EXIT;
+ if (mActFunc_0 != NULL) {
+ (this->*(mActFunc_0))(NULL);
+ }
-/* ############################################################################################## */
-/* 80AD4B5C-80AD4B5C 0000FC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80AD4B87 = "R_SP01";
-#pragma pop
+ mMode = MODE_ENTER;
+ mActFunc_0 = i_action;
+ if (mActFunc_0 != NULL) {
+ (this->*(mActFunc_0))(NULL);
+ }
+
+ return 1;
+}
/* 80AD2944-80AD29BC 001E24 0078+00 2/2 0/0 0/0 .text checkStageIsSeira2sShop__14daNpc_Seira2_cFv
*/
-void daNpc_Seira2_c::checkStageIsSeira2sShop() {
- // NONMATCHING
+BOOL daNpc_Seira2_c::checkStageIsSeira2sShop() {
+ return 0 == strcmp("R_SP01", dComIfGp_getStartStageName())
+ && dComIfGp_getStartStageRoomNo() == 1 && !dComIfG_play_c::getLayerNo(0);
}
/* 80AD29BC-80AD2B68 001E9C 01AC+00 1/0 0/0 0/0 .text wait__14daNpc_Seira2_cFPv */
-void daNpc_Seira2_c::wait(void* param_0) {
- // NONMATCHING
+int daNpc_Seira2_c::wait(void*) {
+ int var_r30;
+ switch (mMode) {
+ case 0:
+ case 1: {
+ mFaceMotionSeqMngr.setNo(13, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(13, -1.0f, 0, 0);
+ mMode = 2;
+ }
+
+ case 2: {
+ if (!mStagger.checkStagger()) {
+ if (srchPlayerActor()) {
+ mJntAnm.lookPlayer(0);
+ var_r30 = checkStep();
+ } else {
+ mJntAnm.lookNone(0);
+ var_r30 = home.angle.y != mCurAngle.y;
+ }
+
+ if (var_r30 && step(home.angle.y, -1, -1, 15, 0)) {
+ mMode = 1;
+ }
+ }
+
+ break;
+ }
+
+ case 3: {
+ break;
+ }
+ }
+
+ return 1;
}
/* 80AD2B68-80AD2D8C 002048 0224+00 2/0 0/0 0/0 .text sit__14daNpc_Seira2_cFPv */
-void daNpc_Seira2_c::sit(void* param_0) {
- // NONMATCHING
+int daNpc_Seira2_c::sit(void*) {
+ switch (mMode) {
+ case 0:
+ case 1: {
+ mFaceMotionSeqMngr.setNo(2, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(2, -1.0f, 0, 0);
+ mJntAnm.lookNone(0);
+ mEventTimer = cLib_getRndValue(90, 90);
+ mMode = 2;
+ }
+
+ case 2: {
+ if (mShopProcess == 2) {
+ mSpeakEvent = true;
+ field_0xe33 = true;
+ }
+
+ if (mEventTimer == 0) {
+ if (mMotionSeqMngr.getNo() == 2) {
+ mFaceMotionSeqMngr.setNo(3, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(14, -1.0f, 0, 0);
+ } else if (mMotionSeqMngr.checkEndSequence()) {
+ mEventTimer = cLib_getRndValue(90, 90);
+ mFaceMotionSeqMngr.setNo(2, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(2, -1.0f, 0, 0);
+ }
+ } else {
+ cLib_calcTimer(&mEventTimer);
+ }
+
+ break;
+ }
+
+ case 3: {
+ break;
+ }
+ }
+
+ return 1;
}
/* 80AD2D8C-80AD2F14 00226C 0188+00 2/0 0/0 0/0 .text happy__14daNpc_Seira2_cFPv */
-void daNpc_Seira2_c::happy(void* param_0) {
- // NONMATCHING
+int daNpc_Seira2_c::happy(void*) {
+ switch (mMode) {
+ case 0:
+ case 1: {
+ if (daNpcT_chkEvtBit(0xA5)) {
+ mFaceMotionSeqMngr.setNo(6, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(5, -1.0f, 0, 0);
+ mChkBottle = 0;
+ } else {
+ mFaceMotionSeqMngr.setNo(6, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(7, -1.0f, 0, 0);
+ }
+
+ mJntAnm.lookNone(0);
+ mMode = 2;
+ }
+
+ case 2: {
+ if (mShopProcess == 2) {
+ mSpeakEvent = true;
+ field_0xe33 = true;
+ }
+
+ break;
+ }
+
+ case 3: {
+ break;
+ }
+ }
+
+ return 1;
}
/* 80AD2F14-80AD31F0 0023F4 02DC+00 2/0 0/0 0/0 .text worry__14daNpc_Seira2_cFPv */
-void daNpc_Seira2_c::worry(void* param_0) {
- // NONMATCHING
+int daNpc_Seira2_c::worry(void*) {
+ switch (mMode) {
+ case 0:
+ case 1: {
+ if (daNpcT_chkEvtBit(0x90)) {
+ mFaceMotionSeqMngr.setNo(6, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(5, -1.0f, 0, 0);
+ } else {
+ mFaceMotionSeqMngr.setNo(5, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(5, -1.0f, 0, 0);
+ }
+
+ mChkBottle = 0;
+ mJntAnm.lookPlayer(0);
+ mEventTimer = 0;
+ mMode = 2;
+ }
+
+ case 2: {
+ if (mShopProcess == 2) {
+ mSpeakEvent = true;
+ field_0xe33 = true;
+ }
+
+ if (mEventTimer == 0) {
+ mEventTimer = cLib_getRndValue(90, 90);
+ if (mJntAnm.getMode() != 1) {
+ mJntAnm.lookPlayer(0);
+ } else {
+ fopAc_ac_c* actor_p = mActorMngr[0].getActorP();
+ if (actor_p != NULL) {
+ mJntAnm.lookActor(actor_p, 0.0f, 0);
+ } else {
+ mJntAnm.lookNone(0);
+ }
+ }
+ } else {
+ cLib_calcTimer(&mEventTimer);
+ }
+
+ break;
+ }
+
+ case 3: {
+ break;
+ }
+ }
+
+ return 1;
}
-/* ############################################################################################## */
-/* 80AD4B40-80AD4B48 0000E0 0008+00 0/1 0/0 0/0 .rodata @4918 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_4918[8] = {
- 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80AD4B40, &lit_4918);
-#pragma pop
-
-/* 80AD4B48-80AD4B50 0000E8 0008+00 0/1 0/0 0/0 .rodata @4919 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_4919[8] = {
- 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80AD4B48, &lit_4919);
-#pragma pop
-
-/* 80AD4B50-80AD4B58 0000F0 0008+00 0/1 0/0 0/0 .rodata @4920 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_4920[8] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80AD4B50, &lit_4920);
-#pragma pop
-
-/* 80AD4B58-80AD4B5C 0000F8 0004+00 0/1 0/0 0/0 .rodata @5421 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_5421 = 350.0f;
-COMPILER_STRIP_GATE(0x80AD4B58, &lit_5421);
-#pragma pop
-
/* 80AD31F0-80AD3508 0026D0 0318+00 1/0 0/0 0/0 .text sad__14daNpc_Seira2_cFPv */
-void daNpc_Seira2_c::sad(void* param_0) {
- // NONMATCHING
+int daNpc_Seira2_c::sad(void*) {
+ switch (mMode) {
+ case 0:
+ case 1: {
+ if (daNpcT_chkEvtBit(0x316)) {
+ mFaceMotionSeqMngr.setNo(6, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(11, -1.0f, 0, 0);
+ mJntAnm.lookNone(0);
+ } else if (daNpcT_chkEvtBit(0x208)) {
+ mFaceMotionSeqMngr.setNo(6, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(22, -1.0f, 0, 0);
+ mJntAnm.lookPlayer(0);
+ } else {
+ mFaceMotionSeqMngr.setNo(11, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(16, -1.0f, 0, 0);
+ mJntAnm.lookNone(0);
+ }
+
+ mMode = 2;
+ }
+
+ case 2: {
+ if (mShopProcess == 2) {
+ mSpeakEvent = true;
+ field_0xe33 = true;
+ }
+
+ if (daNpcT_chkEvtBit(0x208) && !daNpcT_chkEvtBit(0x316)
+ && fopAcM_searchPlayerDistanceXZ(this) > 350.0f) {
+ mFaceMotionSeqMngr.setNo(6, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(11, -1.0f, 0, 0);
+ mJntAnm.lookNone(0);
+ }
+
+ break;
+ }
+
+ case 3: {
+ break;
+ }
+ }
+
+ return 1;
}
/* 80AD3508-80AD3614 0029E8 010C+00 1/0 0/0 0/0 .text lookaround__14daNpc_Seira2_cFPv */
-void daNpc_Seira2_c::lookaround(void* param_0) {
- // NONMATCHING
-}
+int daNpc_Seira2_c::lookaround(void*) {
+ switch (mMode) {
+ case 0:
+ case 1: {
+ mFaceMotionSeqMngr.setNo(13, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(23, -1.0f, 0, 0);
+ mJntAnm.lookNone(0);
+ mMode = 2;
+ }
-/* 80AD3614-80AD3720 002AF4 010C+00 1/0 0/0 0/0 .text smile__14daNpc_Seira2_cFPv */
-void daNpc_Seira2_c::smile(void* param_0) {
- // NONMATCHING
-}
+ case 2: {
+ if (mShopProcess == 2) {
+ mSpeakEvent = true;
+ field_0xe33 = true;
+ }
-/* 80AD3720-80AD3890 002C00 0170+00 2/0 0/0 0/0 .text talk__14daNpc_Seira2_cFPv */
-void daNpc_Seira2_c::talk(void* param_0) {
- // NONMATCHING
-}
+ break;
+ }
-/* 80AD3890-80AD3960 002D70 00D0+00 2/0 0/0 0/0 .text shop__14daNpc_Seira2_cFPv */
-void daNpc_Seira2_c::shop(void* param_0) {
- // NONMATCHING
-}
+ case 3: {
+ break;
+ }
+ }
-/* 80AD3960-80AD3980 002E40 0020+00 1/0 0/0 0/0 .text daNpc_Seira2_Create__FPv */
-static void daNpc_Seira2_Create(void* param_0) {
- // NONMATCHING
+ return 1;
}
-/* 80AD3980-80AD39A0 002E60 0020+00 1/0 0/0 0/0 .text daNpc_Seira2_Delete__FPv */
-static void daNpc_Seira2_Delete(void* param_0) {
- // NONMATCHING
-}
-
-/* 80AD39A0-80AD39C0 002E80 0020+00 1/0 0/0 0/0 .text daNpc_Seira2_Execute__FPv */
-static void daNpc_Seira2_Execute(void* param_0) {
- // NONMATCHING
-}
-
-/* 80AD39C0-80AD39E0 002EA0 0020+00 1/0 0/0 0/0 .text daNpc_Seira2_Draw__FPv */
-static void daNpc_Seira2_Draw(void* param_0) {
- // NONMATCHING
-}
-
-/* 80AD39E0-80AD39E8 002EC0 0008+00 1/0 0/0 0/0 .text daNpc_Seira2_IsDelete__FPv */
-static bool daNpc_Seira2_IsDelete(void* param_0) {
- return true;
-}
-
-/* 80AD39E8-80AD3A18 002EC8 0030+00 1/0 0/0 0/0 .text calc__11J3DTexNoAnmCFPUs */
-// void J3DTexNoAnm::calc(u16* param_0) const {
-extern "C" void calc__11J3DTexNoAnmCFPUs() {
- // NONMATCHING
-}
-
-/* 80AD3A18-80AD3A60 002EF8 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */
-// cCcD_GStts::~cCcD_GStts() {
-extern "C" void __dt__10cCcD_GSttsFv() {
- // NONMATCHING
-}
-
-/* 80AD3A60-80AD3AA8 002F40 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
-}
-
-/* 80AD3AA8-80AD3AE4 002F88 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
-}
-
-/* 80AD3AE4-80AD3B2C 002FC4 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */
-// cM3dGCyl::~cM3dGCyl() {
-extern "C" void __dt__8cM3dGCylFv() {
- // NONMATCHING
-}
-
-/* 80AD3B2C-80AD3B74 00300C 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */
-// cM3dGAab::~cM3dGAab() {
-extern "C" void __dt__8cM3dGAabFv() {
- // NONMATCHING
-}
-
-/* 80AD3B74-80AD3BB0 003054 003C+00 2/2 0/0 0/0 .text __dt__4cXyzFv */
-// cXyz::~cXyz() {
-extern "C" void __dt__4cXyzFv() {
- // NONMATCHING
-}
-
-/* 80AD3BB0-80AD3BEC 003090 003C+00 1/1 0/0 0/0 .text __dt__5csXyzFv */
-// csXyz::~csXyz() {
-extern "C" void __dt__5csXyzFv() {
- // NONMATCHING
-}
-
-/* 80AD3BEC-80AD3FF0 0030CC 0404+00 1/1 0/0 0/0 .text
- * __ct__8daNpcT_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc
- */
-// daNpcT_c::daNpcT_c(daNpcT_faceMotionAnmData_c const* param_0,
-// daNpcT_motionAnmData_c const* param_1,
-// daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_2, int param_3,
-// daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_4, int param_5,
-// daNpcT_evtData_c const* param_6, char** param_7) {
-extern "C" void __ct__8daNpcT_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc() {
- // NONMATCHING
-}
-
-/* 80AD3FF0-80AD3FF4 0034D0 0004+00 1/1 0/0 0/0 .text __ct__5csXyzFv */
-// csXyz::csXyz() {
-extern "C" void __ct__5csXyzFv() {
- /* empty function */
-}
-
-/* 80AD3FF4-80AD40F0 0034D4 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
-}
-
-/* 80AD40F0-80AD40F4 0035D0 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */
-// cXyz::cXyz() {
-extern "C" void __ct__4cXyzFv() {
- /* empty function */
-}
-
-/* 80AD40F4-80AD413C 0035D4 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
-}
-
-/* 80AD413C-80AD41AC 00361C 0070+00 1/0 0/0 0/0 .text __dt__12dBgS_AcchCirFv */
-// dBgS_AcchCir::~dBgS_AcchCir() {
-extern "C" void __dt__12dBgS_AcchCirFv() {
- // NONMATCHING
-}
-
-/* 80AD41AC-80AD4208 00368C 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */
-// dCcD_GStts::~dCcD_GStts() {
-extern "C" void __dt__10dCcD_GSttsFv() {
- // NONMATCHING
-}
-
-/* 80AD4208-80AD4278 0036E8 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */
-// dBgS_ObjAcch::~dBgS_ObjAcch() {
-extern "C" void __dt__12dBgS_ObjAcchFv() {
- // NONMATCHING
-}
-
-/* 80AD4278-80AD42C0 003758 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */
-// J3DFrameCtrl::~J3DFrameCtrl() {
-extern "C" void __dt__12J3DFrameCtrlFv() {
- // NONMATCHING
-}
-
-/* 80AD42C0-80AD43DC 0037A0 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
-}
-
-/* 80AD43DC-80AD45E4 0038BC 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
-}
-
-/* 80AD45E4-80AD45E8 003AC4 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 */
-}
-
-/* 80AD45F8-80AD4600 003AD8 0008+00 1/0 0/0 0/0 .text getEyeballLMaterialNo__8daNpcT_cFv
- */
-// bool daNpcT_c::getEyeballLMaterialNo() {
-extern "C" bool getEyeballLMaterialNo__8daNpcT_cFv() {
- return false;
-}
-
-/* 80AD4600-80AD4608 003AE0 0008+00 1/0 0/0 0/0 .text getEyeballRMaterialNo__8daNpcT_cFv
- */
-// bool daNpcT_c::getEyeballRMaterialNo() {
-extern "C" bool getEyeballRMaterialNo__8daNpcT_cFv() {
- return false;
-}
-
-/* 80AD4610-80AD4618 003AF0 0008+00 1/0 0/0 0/0 .text evtEndProc__8daNpcT_cFv */
-// bool daNpcT_c::evtEndProc() {
-extern "C" bool evtEndProc__8daNpcT_cFv() {
- return true;
-}
-
-/* 80AD461C-80AD4624 003AFC 0008+00 1/0 0/0 0/0 .text chkXYItems__8daNpcT_cFv */
-// bool daNpcT_c::chkXYItems() {
-extern "C" bool chkXYItems__8daNpcT_cFv() {
- return false;
-}
+/* 80AD3614-80AD3720 002AF4 010C+00 1/0 0/0 0/0 .text smile__14daNpc_Seira2_cFPv */
+int daNpc_Seira2_c::smile(void*) {
+ switch (mMode) {
+ case 0:
+ case 1: {
+ mFaceMotionSeqMngr.setNo(6, -1.0f, 0, 0);
+ mMotionSeqMngr.setNo(5, -1.0f, 0, 0);
+ mJntAnm.lookNone(0);
+ mMode = 2;
+ }
-/* 80AD4624-80AD463C 003B04 0018+00 1/0 0/0 0/0 .text decTmr__8daNpcT_cFv */
-// void daNpcT_c::decTmr() {
-extern "C" void decTmr__8daNpcT_cFv() {
- // NONMATCHING
-}
+ case 2: {
+ if (mShopProcess == 2) {
+ mSpeakEvent = true;
+ field_0xe33 = true;
+ }
-/* 80AD463C-80AD4640 003B1C 0004+00 1/0 0/0 0/0 .text drawGhost__8daNpcT_cFv */
-// void daNpcT_c::drawGhost() {
-extern "C" void drawGhost__8daNpcT_cFv() {
- /* empty function */
-}
+ break;
+ }
-/* 80AD4640-80AD4648 003B20 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;
-}
+ case 3: {
+ break;
+ }
+ }
-/* 80AD4648-80AD4678 003B28 0030+00 1/0 0/0 0/0 .text
- * getFaceMotionAnm__8daNpcT_cF26daNpcT_faceMotionAnmData_c */
-// void daNpcT_c::getFaceMotionAnm(daNpcT_faceMotionAnmData_c param_0) {
-extern "C" void getFaceMotionAnm__8daNpcT_cF26daNpcT_faceMotionAnmData_c() {
- // NONMATCHING
+ return 1;
}
-/* 80AD4678-80AD46A8 003B58 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
+/* 80AD3720-80AD3890 002C00 0170+00 2/0 0/0 0/0 .text talk__14daNpc_Seira2_cFPv */
+int daNpc_Seira2_c::talk(void*) {
+ int reg_r30 = 0;
+ switch (mMode) {
+ case 0:
+ case 1: {
+ if (mStagger.checkStagger()) {
+ break;
+ }
+
+ initTalk(mFlowNodeNo, NULL);
+ mMode = 2;
+ }
+
+ case 2: {
+ if (mTwilight) {
+ reg_r30 = 1;
+ } else {
+ mJntAnm.lookPlayer(0);
+ if (mCurAngle.y != fopAcM_searchPlayerAngleY(this)) {
+ step(fopAcM_searchPlayerAngleY(this), -1, -1, 15, 0);
+ } else {
+ reg_r30 = 1;
+ }
+ }
+
+ if (reg_r30 && talkProc(NULL, FALSE, NULL, 0)) {
+ mPlayerActorMngr.entry(daPy_getPlayerActorClass());
+ dComIfGp_event_reset();
+ mMode = 3;
+ }
+
+ break;
+ }
+
+ case 3: {
+ break;
+ }
+ }
+
+ return 0;
}
-/* 80AD46A8-80AD46AC 003B88 0004+00 1/0 0/0 0/0 .text changeAnm__8daNpcT_cFPiPi */
-// void daNpcT_c::changeAnm(int* param_0, int* param_1) {
-extern "C" void changeAnm__8daNpcT_cFPiPi() {
- /* empty function */
+/* 80AD3890-80AD3960 002D70 00D0+00 2/0 0/0 0/0 .text shop__14daNpc_Seira2_cFPv */
+int daNpc_Seira2_c::shop(void*) {
+ switch (mMode) {
+ case 0:
+ case 1: {
+ if (mShopProcess == 2) {
+ shop_init(true);
+ } else {
+ mShopCamAction.Save();
+ initTalk(mFlowNodeNo, NULL);
+ shop_init(false);
+ }
+
+ mMode = 2;
+ }
+ // fallthrough intentional
+ case 2: {
+ mShopProcess = shop_process(this, &mFlow);
+ if (mShopProcess) {
+ dComIfGp_event_reset();
+ field_0x10EC = 1;
+ mMode = 3;
+ }
+
+ break;
+ }
+
+ case 3: {
+ break;
+ }
+ }
+
+ return 0;
}
-/* 80AD46AC-80AD46B0 003B8C 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 */
+/* 80AD3960-80AD3980 002E40 0020+00 1/0 0/0 0/0 .text daNpc_Seira2_Create__FPv */
+static int daNpc_Seira2_Create(void* i_this) {
+ return static_cast<daNpc_Seira2_c*>(i_this)->create();
}
-/* 80AD46B0-80AD46B4 003B90 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 */
+/* 80AD3980-80AD39A0 002E60 0020+00 1/0 0/0 0/0 .text daNpc_Seira2_Delete__FPv */
+static int daNpc_Seira2_Delete(void* i_this) {
+ return static_cast<daNpc_Seira2_c*>(i_this)->Delete();
}
-/* 80AD46B4-80AD46B8 003B94 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 */
+/* 80AD39A0-80AD39C0 002E80 0020+00 1/0 0/0 0/0 .text daNpc_Seira2_Execute__FPv */
+static int daNpc_Seira2_Execute(void* i_this) {
+ return static_cast<daNpc_Seira2_c*>(i_this)->Execute();
}
-/* 80AD46B8-80AD46D4 003B98 001C+00 2/2 0/0 0/0 .text cLib_calcTimer<i>__FPi */
-extern "C" void func_80AD46B8(void* _this, int* param_0) {
- // NONMATCHING
+/* 80AD39C0-80AD39E0 002EA0 0020+00 1/0 0/0 0/0 .text daNpc_Seira2_Draw__FPv */
+static int daNpc_Seira2_Draw(void* i_this) {
+ return static_cast<daNpc_Seira2_c*>(i_this)->Draw();
}
-/* 80AD46D4-80AD4750 003BB4 007C+00 2/2 0/0 0/0 .text cLib_getRndValue<i>__Fii */
-extern "C" void func_80AD46D4(void* _this, int param_0, int param_1) {
- // NONMATCHING
+/* 80AD39E0-80AD39E8 002EC0 0008+00 1/0 0/0 0/0 .text daNpc_Seira2_IsDelete__FPv */
+static int daNpc_Seira2_IsDelete(void*) {
+ return 1;
}
-/* ############################################################################################## */
-/* 80AD5600-80AD560C 000A70 000C+00 2/2 0/0 0/0 .data __vt__20daNpc_Seira2_Param_c */
-SECTION_DATA extern void* __vt__20daNpc_Seira2_Param_c[3] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__20daNpc_Seira2_Param_cFv,
+/* 80AD5444-80AD5464 -00001 0020+00 1/0 0/0 0/0 .data daNpc_Seira2_MethodTable */
+static actor_method_class daNpc_Seira2_MethodTable = {
+ (process_method_func)daNpc_Seira2_Create,
+ (process_method_func)daNpc_Seira2_Delete,
+ (process_method_func)daNpc_Seira2_Execute,
+ (process_method_func)daNpc_Seira2_IsDelete,
+ (process_method_func)daNpc_Seira2_Draw,
};
-/* 80AD5618-80AD5624 000008 000C+00 1/1 0/0 0/0 .bss @3870 */
-static u8 lit_3870[12];
-
-/* 80AD5624-80AD5628 000014 0004+00 1/1 0/0 0/0 .bss l_HIO */
-static u8 l_HIO[4];
-
-/* 80AD4750-80AD47B8 003C30 0068+00 0/0 1/0 0/0 .text __sinit_d_a_npc_seira2_cpp */
-void __sinit_d_a_npc_seira2_cpp() {
- // NONMATCHING
-}
-
-#pragma push
-#pragma force_active on
-REGISTER_CTORS(0x80AD4750, __sinit_d_a_npc_seira2_cpp);
-#pragma pop
-
-/* 80AD47B8-80AD4884 003C98 00CC+00 1/1 0/0 0/0 .text
- * __ct__14daNpc_Seira2_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc
- */
-daNpc_Seira2_c::daNpc_Seira2_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
-}
-
-/* 80AD4884-80AD488C 003D64 0008+00 1/0 0/0 0/0 .text getEyeballMaterialNo__14daNpc_Seira2_cFv */
-u16 daNpc_Seira2_c::getEyeballMaterialNo() {
- return 2;
-}
-
-/* 80AD488C-80AD4894 003D6C 0008+00 1/0 0/0 0/0 .text getHeadJointNo__14daNpc_Seira2_cFv
- */
-s32 daNpc_Seira2_c::getHeadJointNo() {
- return 4;
-}
-
-/* 80AD4894-80AD489C 003D74 0008+00 1/0 0/0 0/0 .text getNeckJointNo__14daNpc_Seira2_cFv
- */
-s32 daNpc_Seira2_c::getNeckJointNo() {
- return 3;
-}
-
-/* 80AD489C-80AD48A4 003D7C 0008+00 1/0 0/0 0/0 .text getBackboneJointNo__14daNpc_Seira2_cFv */
-bool daNpc_Seira2_c::getBackboneJointNo() {
- return true;
-}
-
-/* 80AD48A4-80AD48B4 003D84 0010+00 1/0 0/0 0/0 .text checkChangeJoint__14daNpc_Seira2_cFi */
-void daNpc_Seira2_c::checkChangeJoint(int param_0) {
- // NONMATCHING
-}
-
-/* 80AD48B4-80AD48C4 003D94 0010+00 1/0 0/0 0/0 .text checkRemoveJoint__14daNpc_Seira2_cFi */
-void daNpc_Seira2_c::checkRemoveJoint(int param_0) {
- // NONMATCHING
-}
-
-/* 80AD48C4-80AD490C 003DA4 0048+00 2/1 0/0 0/0 .text __dt__20daNpc_Seira2_Param_cFv */
-daNpc_Seira2_Param_c::~daNpc_Seira2_Param_c() {
- // NONMATCHING
-}
-
-/* 80AD490C-80AD4914 003DEC 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */
-static void func_80AD490C() {
- // NONMATCHING
-}
-
-/* 80AD4914-80AD491C 003DF4 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */
-static void func_80AD4914() {
- // NONMATCHING
-}
-
-/* 80AD491C-80AD4A34 003DFC 0118+00 1/1 0/0 0/0 .text
- * __ct__13dShopSystem_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc
- */
-// dShopSystem_c::dShopSystem_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__13dShopSystem_cFPC26daNpcT_faceMotionAnmData_cPC22daNpcT_motionAnmData_cPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPCQ222daNpcT_MotionSeqMngr_c18sequenceStepData_ciPC16daNpcT_evtData_cPPc() {
- // NONMATCHING
-}
-
-/* 80AD4A34-80AD4A3C 003F14 0008+00 1/0 0/0 0/0 .text getResName2__13dShopSystem_cFi */
-// bool dShopSystem_c::getResName2(int param_0) {
-extern "C" bool getResName2__13dShopSystem_cFi() {
- return false;
-}
-
-/* 80AD4A3C-80AD4A44 003F1C 0008+00 1/0 0/0 0/0 .text
- * beforeStartSeqAction__13dShopSystem_cFP10dMsgFlow_ci */
-// bool dShopSystem_c::beforeStartSeqAction(dMsgFlow_c* param_0, int param_1) {
-extern "C" bool beforeStartSeqAction__13dShopSystem_cFP10dMsgFlow_ci() {
- return true;
-}
-
-/* 80AD4A44-80AD4A4C 003F24 0008+00 1/0 0/0 0/0 .text
- * beforeSelectSeqAction__13dShopSystem_cFP10dMsgFlow_ci */
-// bool dShopSystem_c::beforeSelectSeqAction(dMsgFlow_c* param_0, int param_1) {
-extern "C" bool beforeSelectSeqAction__13dShopSystem_cFP10dMsgFlow_ci() {
- return true;
-}
-
-/* 80AD4B5C-80AD4B5C 0000FC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
+/* 80AD5464-80AD5494 -00001 0030+00 0/0 0/0 1/0 .data g_profile_NPC_SERA2 */
+extern actor_process_profile_definition g_profile_NPC_SERA2 = {
+ fpcLy_CURRENT_e, // mLayerID
+ 7, // mListID
+ fpcPi_CURRENT_e, // mListPrio
+ PROC_NPC_SERA2, // mProcName
+ &g_fpcLf_Method.base, // sub_method
+ sizeof(daNpc_Seira2_c), // mSize
+ 0, // mSizeOther
+ 0, // mParameters
+ &g_fopAc_Method.base, // sub_method
+ 362, // mPriority
+ &daNpc_Seira2_MethodTable, // sub_method
+ 0x00044108, // mStatus
+ fopAc_NPC_e, // mActorType
+ fopAc_CULLBOX_CUSTOM_e, // cullType
+};