From 083cea47701323232a86f89767489229aa96f982 Mon Sep 17 00:00:00 2001 From: YunataSavior <58997725+YunataSavior@users.noreply.github.com> Date: Thu, 25 Sep 2025 17:47:58 -0700 Subject: [PATCH] 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 --- config/GZ2E01/rels/d_a_b_gnd/symbols.txt | 42 +- config/GZ2E01/rels/d_a_ni/symbols.txt | 36 +- config/GZ2E01/rels/d_a_npc_ne/symbols.txt | 40 +- config/GZ2E01/rels/d_a_npc_seira/symbols.txt | 26 +- config/GZ2E01/rels/d_a_npc_seira2/symbols.txt | 24 +- configure.py | 12 +- include/d/actor/d_a_b_gnd.h | 15 - include/d/actor/d_a_npc_seira.h | 133 +- include/d/actor/d_a_npc_seira2.h | 125 +- src/d/actor/d_a_alink_horse.inc | 3 +- src/d/actor/d_a_b_gnd.cpp | 34 +- src/d/actor/d_a_ni.cpp | 264 +- src/d/actor/d_a_npc_ne.cpp | 179 +- src/d/actor/d_a_npc_seira.cpp | 3068 ++++++++--------- src/d/actor/d_a_npc_seira2.cpp | 2664 ++++++-------- 15 files changed, 2830 insertions(+), 3835 deletions(-) diff --git a/config/GZ2E01/rels/d_a_b_gnd/symbols.txt b/config/GZ2E01/rels/d_a_b_gnd/symbols.txt index 21b9d7640db..a90584bc217 100644 --- a/config/GZ2E01/rels/d_a_b_gnd/symbols.txt +++ b/config/GZ2E01/rels/d_a_b_gnd/symbols.txt @@ -6,22 +6,22 @@ __destroy_global_chain = .text:0x00000094; // type:function size:0x58 scope:glob __ct__13daB_GND_HIO_cFv = .text:0x000000EC; // type:function size:0x48 scope:global anm_init__FP11b_gnd_classifUcf = .text:0x00000134; // type:function size:0xB4 scope:global h_anm_init__FP11b_gnd_classifUcf = .text:0x000001E8; // type:function size:0xB8 scope:global -nodeCallBack__FP8J3DJointi = .text:0x000002A0; // type:function size:0x1CC scope:global -h_nodeCallBack__FP8J3DJointi = .text:0x0000046C; // type:function size:0x16C scope:global -daB_GND_Draw__FP11b_gnd_class = .text:0x000005D8; // type:function size:0x46C scope:global +nodeCallBack__FP8J3DJointi = .text:0x000002A0; // type:function size:0x1CC scope:local +h_nodeCallBack__FP8J3DJointi = .text:0x0000046C; // type:function size:0x16C scope:local +daB_GND_Draw__FP11b_gnd_class = .text:0x000005D8; // type:function size:0x46C scope:local __dt__4cXyzFv = .text:0x00000A44; // type:function size:0x3C scope:global -shot_s_sub__FPvPv = .text:0x00000A80; // type:function size:0x194 scope:global +shot_s_sub__FPvPv = .text:0x00000A80; // type:function size:0x194 scope:local gake_check__FP11b_gnd_class = .text:0x00000C14; // type:function size:0x674 scope:global saku_jump_check__FP11b_gnd_class = .text:0x00001288; // type:function size:0x30C scope:global __dt__8cM3dGPlaFv = .text:0x00001594; // type:function size:0x48 scope:global b_gnd_h_wait__FP11b_gnd_class = .text:0x000015DC; // type:function size:0x12C scope:global b_gnd_h_wait2__FP11b_gnd_class = .text:0x00001708; // type:function size:0x228 scope:global -b_gnd_h_run_a__FP11b_gnd_class = .text:0x00001930; // type:function size:0xD14 scope:global +b_gnd_h_run_a__FP11b_gnd_class = .text:0x00001930; // type:function size:0xD14 scope:local b_gnd_h_run_p__FP11b_gnd_class = .text:0x00002644; // type:function size:0x550 scope:global b_gnd_h_jump__FP11b_gnd_class = .text:0x00002B94; // type:function size:0x1D0 scope:global b_gnd_h_end__FP11b_gnd_class = .text:0x00002D64; // type:function size:0x34C scope:global -b_gnd_g_wait__FP11b_gnd_class = .text:0x000030B0; // type:function size:0x478 scope:global -b_gnd_g_attack__FP11b_gnd_class = .text:0x00003528; // type:function size:0x904 scope:global +b_gnd_g_wait__FP11b_gnd_class = .text:0x000030B0; // type:function size:0x478 scope:local +b_gnd_g_attack__FP11b_gnd_class = .text:0x00003528; // type:function size:0x904 scope:local b_gnd_g_defence__FP11b_gnd_class = .text:0x00003E2C; // type:function size:0x494 scope:global b_gnd_g_jump__FP11b_gnd_class = .text:0x000042C0; // type:function size:0x368 scope:global b_gnd_g_side__FP11b_gnd_class = .text:0x00004628; // type:function size:0x298 scope:global @@ -32,26 +32,26 @@ b_gnd_g_end__FP11b_gnd_class = .text:0x00004F40; // type:function size:0x58 scop damage_check__FP11b_gnd_class = .text:0x00004F98; // type:function size:0x2EC scope:global eff_set_h__FP11b_gnd_class = .text:0x00005284; // type:function size:0x718 scope:global eff_set__FP11b_gnd_class = .text:0x0000599C; // type:function size:0xE8 scope:global -s_fkdel_sub__FPvPv = .text:0x00005A84; // type:function size:0x4C scope:global -s_objgbdel_sub__FPvPv = .text:0x00005AD0; // type:function size:0x4C scope:global +s_fkdel_sub__FPvPv = .text:0x00005A84; // type:function size:0x4C scope:local +s_objgbdel_sub__FPvPv = .text:0x00005AD0; // type:function size:0x4C scope:local h_damage_check__FP11b_gnd_class = .text:0x00005B1C; // type:function size:0x2DC scope:global -action__FP11b_gnd_class = .text:0x00005DF8; // type:function size:0x898 scope:global +action__FP11b_gnd_class = .text:0x00005DF8; // type:function size:0x898 scope:local ball_bg_check__FP11b_gnd_classi = .text:0x00006690; // type:function size:0x100 scope:global himo_control1__FP11b_gnd_classP4cXyziSc = .text:0x00006790; // type:function size:0x324 scope:global himo_control2__FP11b_gnd_classP4cXyziSc = .text:0x00006AB4; // type:function size:0x20C scope:global cam_3d_morf__FP11b_gnd_classf = .text:0x00006CC0; // type:function size:0xE4 scope:global cam_spd_set__FP11b_gnd_class = .text:0x00006DA4; // type:function size:0xA0 scope:global -demo_camera__FP11b_gnd_class = .text:0x00006E44; // type:function size:0x233C scope:global +demo_camera__FP11b_gnd_class = .text:0x00006E44; // type:function size:0x233C scope:local anm_se_set__FP11b_gnd_class = .text:0x00009180; // type:function size:0x1178 scope:global -daB_GND_Execute__FP11b_gnd_class = .text:0x0000A2F8; // type:function size:0x1DA0 scope:global +daB_GND_Execute__FP11b_gnd_class = .text:0x0000A2F8; // type:function size:0x1DA0 scope:local multVecZero__14mDoMtx_stack_cFP3Vec = .text:0x0000C098; // type:function size:0x24 scope:global setDownPos__13fopEn_enemy_cFPC4cXyz = .text:0x0000C0BC; // type:function size:0x1C scope:global __as__5csXyzFRC5csXyz = .text:0x0000C0D8; // type:function size:0x1C scope:global -daB_GND_IsDelete__FP11b_gnd_class = .text:0x0000C0F4; // type:function size:0x8 scope:global -daB_GND_Delete__FP11b_gnd_class = .text:0x0000C0FC; // type:function size:0xB8 scope:global -useHeapInit__FP10fopAc_ac_c = .text:0x0000C1B4; // type:function size:0x954 scope:global +daB_GND_IsDelete__FP11b_gnd_class = .text:0x0000C0F4; // type:function size:0x8 scope:local +daB_GND_Delete__FP11b_gnd_class = .text:0x0000C0FC; // type:function size:0xB8 scope:local +useHeapInit__FP10fopAc_ac_c = .text:0x0000C1B4; // type:function size:0x954 scope:local __dt__12J3DFrameCtrlFv = .text:0x0000CB08; // type:function size:0x48 scope:global -daB_GND_Create__FP10fopAc_ac_c = .text:0x0000CB50; // type:function size:0x4B0 scope:global +daB_GND_Create__FP10fopAc_ac_c = .text:0x0000CB50; // type:function size:0x4B0 scope:local __ct__11b_gnd_classFv = .text:0x0000D000; // type:function size:0x3C4 scope:global __ct__19mDoExt_3DlineMat1_cFv = .text:0x0000D3C4; // type:function size:0x1C scope:global __dt__8g_himo_sFv = .text:0x0000D3E0; // type:function size:0x60 scope:global @@ -305,7 +305,7 @@ _dtors = .dtors:0x00000000; // type:label scope:global blur_model$8822 = .rodata:0x00000340; // type:object size:0x8 scope:local @stringBase0 = .rodata:0x00000348; // type:object size:0x21 scope:local data:string_table ...data.0 = .data:0x00000000; // type:label scope:local -cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:global +cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:local @1787 = .data:0x0000000C; // type:object size:0x4 scope:local lbl_145_data_10 = .data:0x00000010; // type:object size:0x10 l_color$3983 = .data:0x00000020; // type:object size:0x4 scope:local @@ -331,7 +331,7 @@ cc_sph_src$9128 = .data:0x00000398; // type:object size:0x40 scope:local at_sph_src$9129 = .data:0x000003D8; // type:object size:0x40 scope:local def_sph_src$9130 = .data:0x00000418; // type:object size:0x40 scope:local co_cyl_src$9131 = .data:0x00000458; // type:object size:0x44 scope:local -l_daB_GND_Method = .data:0x0000049C; // type:object size:0x20 scope:global +l_daB_GND_Method = .data:0x0000049C; // type:object size:0x20 scope:local g_profile_B_GND = .data:0x000004BC; // type:object size:0x30 scope:global __vt__12dBgS_AcchCir = .data:0x000004EC; // type:object size:0xC scope:global __vt__10cCcD_GStts = .data:0x000004F8; // type:object size:0xC scope:global @@ -362,13 +362,13 @@ __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:globa @1012 = .bss:0x0000003C; // type:object size:0x1 scope:local @1010 = .bss:0x00000040; // type:object size:0x1 scope:local @1009 = .bss:0x00000044; // type:object size:0x1 scope:local -lbl_145_bss_45 = .bss:0x00000045; // type:object size:0x1 data:byte +lbl_145_bss_45 = .bss:0x00000045; // type:object size:0x1 scope:local data:byte @3810 = .bss:0x00000048; // type:object size:0xC scope:local -l_HIO = .bss:0x00000054; // type:object size:0x1C scope:global data:byte +l_HIO = .bss:0x00000054; // type:object size:0x1C scope:local data:byte @4187 = .bss:0x00000070; // type:object size:0xC scope:local k_pos$4186 = .bss:0x00000080; // type:object size:0xC scope:local @4509 = .bss:0x0000008C; // type:object size:0xC scope:local -b_path = .bss:0x00000098; // type:object size:0x60 scope:global align:4 data:float +b_path = .bss:0x00000098; // type:object size:0x60 scope:local align:4 data:float sInstance__40JASGlobalInstance<19JASDefaultBankTable> = .bss:0x000000FC; // type:object size:0x4 scope:global sInstance__35JASGlobalInstance<14JASAudioThread> = .bss:0x00000100; // type:object size:0x4 scope:global sInstance__27JASGlobalInstance<7Z2SeMgr> = .bss:0x00000104; // type:object size:0x4 scope:global diff --git a/config/GZ2E01/rels/d_a_ni/symbols.txt b/config/GZ2E01/rels/d_a_ni/symbols.txt index 00055103bad..53c053f4bba 100644 --- a/config/GZ2E01/rels/d_a_ni/symbols.txt +++ b/config/GZ2E01/rels/d_a_ni/symbols.txt @@ -6,12 +6,12 @@ __destroy_global_chain = .text:0x00000094; // type:function size:0x58 scope:glob __ct__10daNi_HIO_cFv = .text:0x000000EC; // type:function size:0x7C scope:global anm_init__FP8ni_classifUcf = .text:0x00000168; // type:function size:0xC0 scope:global hane_set__FP8ni_classff = .text:0x00000228; // type:function size:0xF8 scope:global -nodeCallBack__FP8J3DJointi = .text:0x00000320; // type:function size:0x2B0 scope:global -daNi_Draw__FP8ni_class = .text:0x000005D0; // type:function size:0xF4 scope:global +nodeCallBack__FP8J3DJointi = .text:0x00000320; // type:function size:0x2B0 scope:local +daNi_Draw__FP8ni_class = .text:0x000005D0; // type:function size:0xF4 scope:local __dt__4cXyzFv = .text:0x000006C4; // type:function size:0x3C scope:global -s_play_sub__FPvPv = .text:0x00000700; // type:function size:0x58 scope:global +s_play_sub__FPvPv = .text:0x00000700; // type:function size:0x58 scope:local damage_check__FP8ni_class = .text:0x00000758; // type:function size:0x218 scope:global -s_t_sub__FPvPv = .text:0x00000970; // type:function size:0x70 scope:global +s_t_sub__FPvPv = .text:0x00000970; // type:function size:0x70 scope:local search_test__FP8ni_class = .text:0x000009E0; // type:function size:0x168 scope:global ni_carry_check__FP8ni_class = .text:0x00000B48; // type:function size:0x3C scope:global move_gake_check__FP8ni_classf = .text:0x00000B84; // type:function size:0xF0 scope:global @@ -23,21 +23,21 @@ ni_fly__FP8ni_class = .text:0x00001C7C; // type:function size:0x130 scope:global ni_drop__FP8ni_class = .text:0x00001DAC; // type:function size:0x120 scope:global ni_return__FP8ni_class = .text:0x00001ECC; // type:function size:0x18C scope:global ni_damage__FP8ni_class = .text:0x00002058; // type:function size:0x178 scope:global -s_b_sub__FPvPv = .text:0x000021D0; // type:function size:0x64 scope:global +s_b_sub__FPvPv = .text:0x000021D0; // type:function size:0x64 scope:local ni_windspin__FP8ni_class = .text:0x00002234; // type:function size:0x15C scope:global ni_demo0__FP8ni_class = .text:0x00002390; // type:function size:0x3E0 scope:global ni_message__FP8ni_class = .text:0x00002770; // type:function size:0xC8 scope:global playwallcheck__FP8ni_class = .text:0x00002838; // type:function size:0x184 scope:global -ni_play__FP8ni_class = .text:0x000029BC; // type:function size:0x894 scope:global +ni_play__FP8ni_class = .text:0x000029BC; // type:function size:0x894 scope:local play_camera__FP8ni_class = .text:0x00003250; // type:function size:0x848 scope:global -action__FP8ni_class = .text:0x00003A98; // type:function size:0xCDC scope:global +action__FP8ni_class = .text:0x00003A98; // type:function size:0xCDC scope:local message__FP8ni_class = .text:0x00004774; // type:function size:0x124 scope:global -daNi_Execute__FP8ni_class = .text:0x00004898; // type:function size:0x498 scope:global -daNi_IsDelete__FP8ni_class = .text:0x00004D30; // type:function size:0x8 scope:global -daNi_Delete__FP8ni_class = .text:0x00004D38; // type:function size:0x68 scope:global -useHeapInit__FP10fopAc_ac_c = .text:0x00004DA0; // type:function size:0x208 scope:global +daNi_Execute__FP8ni_class = .text:0x00004898; // type:function size:0x498 scope:local +daNi_IsDelete__FP8ni_class = .text:0x00004D30; // type:function size:0x8 scope:local +daNi_Delete__FP8ni_class = .text:0x00004D38; // type:function size:0x68 scope:local +useHeapInit__FP10fopAc_ac_c = .text:0x00004DA0; // type:function size:0x208 scope:local __dt__12J3DFrameCtrlFv = .text:0x00004FA8; // type:function size:0x48 scope:global -daNi_Create__FP10fopAc_ac_c = .text:0x00004FF0; // type:function size:0x3D4 scope:global +daNi_Create__FP10fopAc_ac_c = .text:0x00004FF0; // type:function size:0x3D4 scope:local __dt__8cM3dGSphFv = .text:0x000053C4; // type:function size:0x48 scope:global __dt__8cM3dGAabFv = .text:0x0000540C; // type:function size:0x48 scope:global __dt__10dCcD_GSttsFv = .text:0x00005454; // type:function size:0x5C scope:global @@ -136,7 +136,7 @@ _dtors = .dtors:0x00000000; // type:label scope:global @6035 = .rodata:0x00000158; // type:object size:0x4 scope:local @stringBase0 = .rodata:0x0000015C; // type:object size:0x13 scope:local data:string_table ...data.0 = .data:0x00000000; // type:label scope:local -cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:global +cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:local @1787 = .data:0x0000000C; // type:object size:0x4 scope:local lbl_282_data_10 = .data:0x00000010; // type:object size:0x10 hane_id$3986 = .data:0x00000020; // type:object size:0x8 scope:local @@ -147,7 +147,7 @@ w_eff_id$5418 = .data:0x000000C4; // type:object size:0x8 scope:local @5666 = .data:0x000000CC; // type:object size:0x40 scope:local key_eno$5736 = .data:0x0000010C; // type:object size:0x4 scope:local cc_sph_src$5915 = .data:0x00000110; // type:object size:0x40 scope:local -l_daNi_Method = .data:0x00000150; // type:object size:0x20 scope:global +l_daNi_Method = .data:0x00000150; // type:object size:0x20 scope:local g_profile_NI = .data:0x00000170; // type:object size:0x30 scope:global __vt__12dBgS_AcchCir = .data:0x000001A0; // type:object size:0xC scope:global __vt__10cCcD_GStts = .data:0x000001AC; // type:object size:0xC scope:global @@ -175,11 +175,11 @@ __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:globa @1012 = .bss:0x0000003C; // type:object size:0x1 scope:local @1010 = .bss:0x00000040; // type:object size:0x1 scope:local @1009 = .bss:0x00000044; // type:object size:0x1 scope:local -lbl_282_bss_45 = .bss:0x00000045; // type:object size:0x1 data:byte +lbl_282_bss_45 = .bss:0x00000045; // type:object size:0x1 scope:local data:byte @3953 = .bss:0x00000048; // type:object size:0xC scope:local -l_HIO = .bss:0x00000054; // type:object size:0x3C scope:global data:byte -target_info = .bss:0x00000090; // type:object size:0x28 scope:global -target_info_count = .bss:0x000000B8; // type:object size:0x4 scope:global data:4byte +l_HIO = .bss:0x00000054; // type:object size:0x3C scope:local data:byte +target_info = .bss:0x00000090; // type:object size:0x28 scope:local +target_info_count = .bss:0x000000B8; // type:object size:0x4 scope:local data:4byte @5415 = .bss:0x000000BC; // type:object size:0xC scope:local sc$5414 = .bss:0x000000CC; // type:object size:0xC scope:local sInstance__40JASGlobalInstance<19JASDefaultBankTable> = .bss:0x000000D8; // type:object size:0x4 scope:global diff --git a/config/GZ2E01/rels/d_a_npc_ne/symbols.txt b/config/GZ2E01/rels/d_a_npc_ne/symbols.txt index cd69a5a9550..133301a2936 100644 --- a/config/GZ2E01/rels/d_a_npc_ne/symbols.txt +++ b/config/GZ2E01/rels/d_a_npc_ne/symbols.txt @@ -5,8 +5,8 @@ __register_global_object = .text:0x00000078; // type:function size:0x1C scope:gl __destroy_global_chain = .text:0x00000094; // type:function size:0x58 scope:global __ct__14daNpc_Ne_HIO_cFv = .text:0x000000EC; // type:function size:0x48 scope:global anm_init__FP12npc_ne_classifUcf = .text:0x00000134; // type:function size:0xAC scope:global -nodeCallBack__FP8J3DJointi = .text:0x000001E0; // type:function size:0x204 scope:global -daNpc_Ne_Draw__FP12npc_ne_class = .text:0x000003E4; // type:function size:0x19C scope:global +nodeCallBack__FP8J3DJointi = .text:0x000001E0; // type:function size:0x204 scope:local +daNpc_Ne_Draw__FP12npc_ne_class = .text:0x000003E4; // type:function size:0x19C scope:local __dt__4cXyzFv = .text:0x00000580; // type:function size:0x3C scope:global other_bg_check__FP10fopAc_ac_cP10fopAc_ac_c = .text:0x000005BC; // type:function size:0xFC scope:global ne_carry_check__FP12npc_ne_class = .text:0x000006B8; // type:function size:0x3C scope:global @@ -14,24 +14,24 @@ way_bg_check__FP12npc_ne_classs = .text:0x000006F4; // type:function size:0x324 __dt__8cM3dGPlaFv = .text:0x00000A18; // type:function size:0x48 scope:global water_check__FP12npc_ne_classf = .text:0x00000A60; // type:function size:0x180 scope:global climb_angle_get__FP12npc_ne_class = .text:0x00000BE0; // type:function size:0x200 scope:global -s_bl_sub__FPvPv = .text:0x00000DE0; // type:function size:0x78 scope:global -s_ss_sub__FPvPv = .text:0x00000E58; // type:function size:0x78 scope:global +s_bl_sub__FPvPv = .text:0x00000DE0; // type:function size:0x78 scope:local +s_ss_sub__FPvPv = .text:0x00000E58; // type:function size:0x78 scope:local search_bird__FP12npc_ne_class = .text:0x00000ED0; // type:function size:0x278 scope:global way_check__FP12npc_ne_classs = .text:0x00001148; // type:function size:0x1CC scope:global npc_ne_wait__FP12npc_ne_class = .text:0x00001314; // type:function size:0x340 scope:global npc_ne_away__FP12npc_ne_class = .text:0x00001654; // type:function size:0x6C0 scope:global ground_search__FP12npc_ne_class = .text:0x00001D14; // type:function size:0x1F4 scope:global -s_fish_sub__FPvPv = .text:0x00001F08; // type:function size:0x88 scope:global -npc_ne_tame__FP12npc_ne_class = .text:0x00001F90; // type:function size:0x9C0 scope:global +s_fish_sub__FPvPv = .text:0x00001F08; // type:function size:0x88 scope:local +npc_ne_tame__FP12npc_ne_class = .text:0x00001F90; // type:function size:0x9C0 scope:local npc_ne_sanbasi__FP12npc_ne_class = .text:0x00002950; // type:function size:0xEC scope:global npc_ne_bird__FP12npc_ne_class = .text:0x00002A3C; // type:function size:0x4E0 scope:global -npc_ne_ball__FP12npc_ne_class = .text:0x00002F1C; // type:function size:0x598 scope:global +npc_ne_ball__FP12npc_ne_class = .text:0x00002F1C; // type:function size:0x598 scope:local npc_ne_pathwalk__FP12npc_ne_class = .text:0x000034B4; // type:function size:0x474 scope:global npc_ne_jump__FP12npc_ne_class = .text:0x00003928; // type:function size:0x240 scope:global npc_ne_s_jump__FP12npc_ne_class = .text:0x00003B68; // type:function size:0x1B0 scope:global npc_ne_roof__FP12npc_ne_class = .text:0x00003D18; // type:function size:0x128 scope:global home_path_search__FP12npc_ne_classi = .text:0x00003E40; // type:function size:0x244 scope:global -npc_ne_home__FP12npc_ne_class = .text:0x00004084; // type:function size:0x9A4 scope:global +npc_ne_home__FP12npc_ne_class = .text:0x00004084; // type:function size:0x9A4 scope:local wall_angle_get__FP12npc_ne_class = .text:0x00004A28; // type:function size:0x1BC scope:global search_ground_1__FP12npc_ne_class = .text:0x00004BE4; // type:function size:0x590 scope:global __ct__4cXyzFv = .text:0x00005174; // type:function size:0x4 scope:global @@ -44,15 +44,15 @@ npc_ne_s_drop__FP12npc_ne_class = .text:0x00005F80; // type:function size:0x1F8 npc_ne_carry__FP12npc_ne_class = .text:0x00006178; // type:function size:0x3A4 scope:global npc_ne_dish__FP12npc_ne_class = .text:0x0000651C; // type:function size:0xB4 scope:global npc_ne_message__FP12npc_ne_class = .text:0x000065D0; // type:function size:0xC8 scope:global -action__FP12npc_ne_class = .text:0x00006698; // type:function size:0x1170 scope:global +action__FP12npc_ne_class = .text:0x00006698; // type:function size:0x1170 scope:local demo_camera__FP12npc_ne_class = .text:0x00007808; // type:function size:0xA40 scope:global message__FP12npc_ne_class = .text:0x00008248; // type:function size:0x1DC scope:global -daNpc_Ne_Execute__FP12npc_ne_class = .text:0x00008424; // type:function size:0x728 scope:global -daNpc_Ne_IsDelete__FP12npc_ne_class = .text:0x00008B4C; // type:function size:0x8 scope:global -daNpc_Ne_Delete__FP12npc_ne_class = .text:0x00008B54; // type:function size:0x64 scope:global -useHeapInit__FP10fopAc_ac_c = .text:0x00008BB8; // type:function size:0x3A8 scope:global +daNpc_Ne_Execute__FP12npc_ne_class = .text:0x00008424; // type:function size:0x728 scope:local +daNpc_Ne_IsDelete__FP12npc_ne_class = .text:0x00008B4C; // type:function size:0x8 scope:local +daNpc_Ne_Delete__FP12npc_ne_class = .text:0x00008B54; // type:function size:0x64 scope:local +useHeapInit__FP10fopAc_ac_c = .text:0x00008BB8; // type:function size:0x3A8 scope:local __dt__12J3DFrameCtrlFv = .text:0x00008F60; // type:function size:0x48 scope:global -daNpc_Ne_Create__FP10fopAc_ac_c = .text:0x00008FA8; // type:function size:0x590 scope:global +daNpc_Ne_Create__FP10fopAc_ac_c = .text:0x00008FA8; // type:function size:0x590 scope:local __ct__12npc_ne_classFv = .text:0x00009538; // type:function size:0x15C scope:global __dt__8cM3dGSphFv = .text:0x00009694; // type:function size:0x48 scope:global __dt__8cM3dGAabFv = .text:0x000096DC; // type:function size:0x48 scope:global @@ -170,7 +170,7 @@ _dtors = .dtors:0x00000000; // type:label scope:global @7659 = .rodata:0x000001AC; // type:object size:0x4 scope:local @7660 = .rodata:0x000001B0; // type:object size:0x4 scope:local @stringBase0 = .rodata:0x000001B4; // type:object size:0x1E scope:local data:string_table -home_path = .data:0x00000000; // type:object size:0x260 scope:global +home_path = .data:0x00000000; // type:object size:0x260 scope:local @5010 = .data:0x00000260; // type:object size:0x30 scope:local @5215 = .data:0x00000290; // type:object size:0x1C scope:local @5659 = .data:0x000002AC; // type:object size:0x54 scope:local @@ -179,7 +179,7 @@ e_name$7147 = .data:0x00000354; // type:object size:0x4 scope:local dish_bck$7371 = .data:0x00000358; // type:object size:0x8 scope:local cc_sph_src$7518 = .data:0x00000360; // type:object size:0x40 scope:local at_sph_src$7519 = .data:0x000003A0; // type:object size:0x40 scope:local -l_daNpc_Ne_Method = .data:0x000003E0; // type:object size:0x20 scope:global +l_daNpc_Ne_Method = .data:0x000003E0; // type:object size:0x20 scope:local g_profile_NPC_NE = .data:0x00000400; // type:object size:0x30 scope:global __vt__8cM3dGSph = .data:0x00000430; // type:object size:0xC scope:global __vt__8cM3dGAab = .data:0x0000043C; // type:object size:0xC scope:global @@ -205,12 +205,12 @@ __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:globa @1012 = .bss:0x0000003C; // type:object size:0x1 scope:local @1010 = .bss:0x00000040; // type:object size:0x1 scope:local @1009 = .bss:0x00000044; // type:object size:0x1 scope:local -lbl_340_bss_45 = .bss:0x00000045; // type:object size:0x1 data:byte +lbl_340_bss_45 = .bss:0x00000045; // type:object size:0x1 scope:local data:byte @3985 = .bss:0x00000048; // type:object size:0xC scope:local -l_HIO = .bss:0x00000054; // type:object size:0x1C scope:global data:byte -target_info = .bss:0x00000070; // type:object size:0x14 scope:global +l_HIO = .bss:0x00000054; // type:object size:0x1C scope:local data:byte +target_info = .bss:0x00000070; // type:object size:0x14 scope:local target_bgc = .bss:0x00000084; // type:object size:0x14 scope:global -target_info_count = .bss:0x00000098; // type:object size:0x4 scope:global data:4byte +target_info_count = .bss:0x00000098; // type:object size:0x4 scope:local data:4byte sInstance__40JASGlobalInstance<19JASDefaultBankTable> = .bss:0x0000009C; // type:object size:0x4 scope:global sInstance__35JASGlobalInstance<14JASAudioThread> = .bss:0x000000A0; // type:object size:0x4 scope:global sInstance__27JASGlobalInstance<7Z2SeMgr> = .bss:0x000000A4; // type:object size:0x4 scope:global diff --git a/config/GZ2E01/rels/d_a_npc_seira/symbols.txt b/config/GZ2E01/rels/d_a_npc_seira/symbols.txt index 8c1b5750c9d..f8ca9d99016 100644 --- a/config/GZ2E01/rels/d_a_npc_seira/symbols.txt +++ b/config/GZ2E01/rels/d_a_npc_seira/symbols.txt @@ -62,11 +62,11 @@ lookaround_wait__13daNpc_Seira_cFPv = .text:0x00003034; // type:function size:0x smile__13daNpc_Seira_cFPv = .text:0x00003148; // type:function size:0x10C scope:global talk__13daNpc_Seira_cFPv = .text:0x00003254; // type:function size:0x190 scope:global shop__13daNpc_Seira_cFPv = .text:0x000033E4; // type:function size:0x224 scope:global -daNpc_Seira_Create__FPv = .text:0x00003608; // type:function size:0x20 scope:global -daNpc_Seira_Delete__FPv = .text:0x00003628; // type:function size:0x20 scope:global -daNpc_Seira_Execute__FPv = .text:0x00003648; // type:function size:0x20 scope:global -daNpc_Seira_Draw__FPv = .text:0x00003668; // type:function size:0x20 scope:global -daNpc_Seira_IsDelete__FPv = .text:0x00003688; // type:function size:0x8 scope:global +daNpc_Seira_Create__FPv = .text:0x00003608; // type:function size:0x20 scope:local +daNpc_Seira_Delete__FPv = .text:0x00003628; // type:function size:0x20 scope:local +daNpc_Seira_Execute__FPv = .text:0x00003648; // type:function size:0x20 scope:local +daNpc_Seira_Draw__FPv = .text:0x00003668; // type:function size:0x20 scope:local +daNpc_Seira_IsDelete__FPv = .text:0x00003688; // type:function size:0x8 scope:local calc__11J3DTexNoAnmCFPUs = .text:0x00003690; // type:function size:0x30 scope:global __dt__10cCcD_GSttsFv = .text:0x000036C0; // type:function size:0x48 scope:global __dt__18daNpcT_ActorMngr_cFv = .text:0x00003708; // type:function size:0x48 scope:global @@ -149,15 +149,15 @@ m__19daNpc_Seira_Param_c = .rodata:0x00000000; // type:object size:0x8C scope:gl @5212 = .rodata:0x00000108; // type:object size:0xC scope:local @stringBase0 = .rodata:0x00000114; // type:object size:0x8A scope:local data:string_table ...data.0 = .data:0x00000000; // type:label scope:local -cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:global +cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:local @1787 = .data:0x0000000C; // type:object size:0x4 scope:local lbl_356_data_10 = .data:0x00000010; // type:object size:0x10 -l_bmdData = .data:0x00000020; // type:object size:0x10 scope:global data:4byte +l_bmdData = .data:0x00000020; // type:object size:0x10 scope:local data:4byte l_evtList = .data:0x00000030; // type:object size:0x20 scope:global -l_resNameList = .data:0x00000050; // type:object size:0x14 scope:global -l_loadResPtrn0 = .data:0x00000064; // type:object size:0x4 scope:global -l_loadResPtrn1 = .data:0x00000068; // type:object size:0x3 scope:global -l_loadResPtrnList = .data:0x0000006C; // type:object size:0x1C scope:global +l_resNameList = .data:0x00000050; // type:object size:0x14 scope:local +l_loadResPtrn0 = .data:0x00000064; // type:object size:0x4 scope:local +l_loadResPtrn1 = .data:0x00000068; // type:object size:0x3 scope:local +l_loadResPtrnList = .data:0x0000006C; // type:object size:0x1C scope:local l_faceMotionAnmData = .data:0x00000088; // type:object size:0x188 scope:global l_motionAnmData = .data:0x00000210; // type:object size:0x2D8 scope:global l_faceMotionSequenceData = .data:0x000004E8; // type:object size:0xE0 scope:global @@ -184,7 +184,7 @@ bottlAnmData$5085 = .data:0x000007F4; // type:object size:0xE0 scope:local @5174 = .data:0x00000974; // type:object size:0xC scope:local @5176 = .data:0x00000980; // type:object size:0xC scope:local @5178 = .data:0x0000098C; // type:object size:0xC scope:local -daNpc_Seira_MethodTable = .data:0x00000998; // type:object size:0x20 scope:global +daNpc_Seira_MethodTable = .data:0x00000998; // type:object size:0x20 scope:local g_profile_NPC_SEIRA = .data:0x000009B8; // type:object size:0x30 scope:global __vt__11J3DTexNoAnm = .data:0x000009E8; // type:object size:0xC scope:global __vt__12J3DFrameCtrl = .data:0x000009F4; // type:object size:0xC scope:global @@ -201,4 +201,4 @@ __vt__13daNpc_Seira_c = .data:0x00000A84; // type:object size:0xD0 scope:global __vt__19daNpc_Seira_Param_c = .data:0x00000B54; // type:object size:0xC scope:global __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global @3872 = .bss:0x00000008; // type:object size:0xC scope:local -l_HIO = .bss:0x00000014; // type:object size:0x4 scope:global data:4byte +l_HIO = .bss:0x00000014; // type:object size:0x4 scope:local data:4byte diff --git a/config/GZ2E01/rels/d_a_npc_seira2/symbols.txt b/config/GZ2E01/rels/d_a_npc_seira2/symbols.txt index 3e592bd1862..4382d0f4c4b 100644 --- a/config/GZ2E01/rels/d_a_npc_seira2/symbols.txt +++ b/config/GZ2E01/rels/d_a_npc_seira2/symbols.txt @@ -54,11 +54,11 @@ lookaround__14daNpc_Seira2_cFPv = .text:0x000029E8; // type:function size:0x10C smile__14daNpc_Seira2_cFPv = .text:0x00002AF4; // type:function size:0x10C scope:global talk__14daNpc_Seira2_cFPv = .text:0x00002C00; // type:function size:0x170 scope:global shop__14daNpc_Seira2_cFPv = .text:0x00002D70; // type:function size:0xD0 scope:global -daNpc_Seira2_Create__FPv = .text:0x00002E40; // type:function size:0x20 scope:global -daNpc_Seira2_Delete__FPv = .text:0x00002E60; // type:function size:0x20 scope:global -daNpc_Seira2_Execute__FPv = .text:0x00002E80; // type:function size:0x20 scope:global -daNpc_Seira2_Draw__FPv = .text:0x00002EA0; // type:function size:0x20 scope:global -daNpc_Seira2_IsDelete__FPv = .text:0x00002EC0; // type:function size:0x8 scope:global +daNpc_Seira2_Create__FPv = .text:0x00002E40; // type:function size:0x20 scope:local +daNpc_Seira2_Delete__FPv = .text:0x00002E60; // type:function size:0x20 scope:local +daNpc_Seira2_Execute__FPv = .text:0x00002E80; // type:function size:0x20 scope:local +daNpc_Seira2_Draw__FPv = .text:0x00002EA0; // type:function size:0x20 scope:local +daNpc_Seira2_IsDelete__FPv = .text:0x00002EC0; // type:function size:0x8 scope:local calc__11J3DTexNoAnmCFPUs = .text:0x00002EC8; // type:function size:0x30 scope:global __dt__10cCcD_GSttsFv = .text:0x00002EF8; // type:function size:0x48 scope:global __dt__18daNpcT_ActorMngr_cFv = .text:0x00002F40; // type:function size:0x48 scope:global @@ -144,14 +144,14 @@ m__20daNpc_Seira2_Param_c = .rodata:0x00000000; // type:object size:0x8C scope:g @5421 = .rodata:0x000000F8; // type:object size:0x4 scope:local @stringBase0 = .rodata:0x000000FC; // type:object size:0x32 scope:local data:string_table ...data.0 = .data:0x00000000; // type:label scope:local -cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:global +cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:local @1787 = .data:0x0000000C; // type:object size:0x4 scope:local lbl_357_data_10 = .data:0x00000010; // type:object size:0x10 -l_bmdData = .data:0x00000020; // type:object size:0x10 scope:global data:4byte +l_bmdData = .data:0x00000020; // type:object size:0x10 scope:local data:4byte l_evtList = .data:0x00000030; // type:object size:0x10 scope:global -l_resNameList = .data:0x00000040; // type:object size:0x10 scope:global -l_loadResPtrn0 = .data:0x00000050; // type:object size:0x4 scope:global -l_loadResPtrnList = .data:0x00000054; // type:object size:0x1C scope:global +l_resNameList = .data:0x00000040; // type:object size:0x10 scope:local +l_loadResPtrn0 = .data:0x00000050; // type:object size:0x4 scope:local +l_loadResPtrnList = .data:0x00000054; // type:object size:0x1C scope:local l_faceMotionAnmData = .data:0x00000070; // type:object size:0x188 scope:global l_motionAnmData = .data:0x000001F8; // type:object size:0x2BC scope:global l_faceMotionSequenceData = .data:0x000004B4; // type:object size:0xE0 scope:global @@ -173,7 +173,7 @@ bottlAnmData$5021 = .data:0x00000788; // type:object size:0xD8 scope:local @5056 = .data:0x00000890; // type:object size:0xC scope:local @5058 = .data:0x0000089C; // type:object size:0xC scope:local @5060 = .data:0x000008A8; // type:object size:0xC scope:local -daNpc_Seira2_MethodTable = .data:0x000008B4; // type:object size:0x20 scope:global +daNpc_Seira2_MethodTable = .data:0x000008B4; // type:object size:0x20 scope:local g_profile_NPC_SERA2 = .data:0x000008D4; // type:object size:0x30 scope:global __vt__11J3DTexNoAnm = .data:0x00000904; // type:object size:0xC scope:global __vt__12J3DFrameCtrl = .data:0x00000910; // type:object size:0xC scope:global @@ -190,4 +190,4 @@ __vt__14daNpc_Seira2_c = .data:0x000009A0; // type:object size:0xD0 scope:global __vt__20daNpc_Seira2_Param_c = .data:0x00000A70; // type:object size:0xC scope:global __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global @3870 = .bss:0x00000008; // type:object size:0xC scope:local -l_HIO = .bss:0x00000014; // type:object size:0x4 scope:global data:4byte +l_HIO = .bss:0x00000014; // type:object size:0x4 scope:local data:4byte diff --git a/configure.py b/configure.py index 134de8c8541..183c0a5643d 100755 --- a/configure.py +++ b/configure.py @@ -1672,7 +1672,7 @@ config.libs = [ ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_b_ds"), ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_b_gg"), ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_b_gm"), - ActorRel(NonMatching, "d_a_b_gnd"), + ActorRel(MatchingFor("GZ2E01"), "d_a_b_gnd"), ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_b_go"), ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_b_gos"), ActorRel(Equivalent, "d_a_b_mgn"), # extra mr/regalloc @@ -1808,8 +1808,8 @@ config.libs = [ ActorRel(NonMatching, "d_a_mg_fshop"), ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_mirror"), ActorRel(NonMatching, "d_a_movie_player", extra_cflags=["-O3,p"]), - ActorRel(Equivalent, "d_a_myna"), # weird missing function issue - ActorRel(NonMatching, "d_a_ni"), + ActorRel(Equivalent, "d_a_myna"), # weird missing function issue + ActorRel(MatchingFor("GZ2E01"), "d_a_ni"), ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_aru"), ActorRel(NonMatching, "d_a_npc_ash", extra_cflags=[DANPCF_C_HACK]), ActorRel(NonMatching, "d_a_npc_ashB", extra_cflags=[DANPCF_C_HACK]), @@ -1867,7 +1867,7 @@ config.libs = [ ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_moi"), ActorRel(NonMatching, "d_a_npc_moir", extra_cflags=[DANPCF_C_HACK]), ActorRel(NonMatching, "d_a_npc_myna2"), - ActorRel(NonMatching, "d_a_npc_ne"), + ActorRel(MatchingFor("GZ2E01"), "d_a_npc_ne"), ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_p2"), ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_pachi_besu"), ActorRel(NonMatching, "d_a_npc_pachi_maro"), @@ -1883,8 +1883,8 @@ config.libs = [ ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_seib"), ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_seic"), ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_seid"), - ActorRel(NonMatching, "d_a_npc_seira"), - ActorRel(NonMatching, "d_a_npc_seira2"), + ActorRel(MatchingFor("GZ2E01"), "d_a_npc_seira"), + ActorRel(MatchingFor("GZ2E01"), "d_a_npc_seira2"), ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_seirei"), ActorRel(Equivalent, "d_a_npc_shad", extra_cflags=[DANPCF_C_HACK]), # weak func order ActorRel(NonMatching, "d_a_npc_shaman"), diff --git a/include/d/actor/d_a_b_gnd.h b/include/d/actor/d_a_b_gnd.h index ebe3190a17e..c8abbd2e0ef 100644 --- a/include/d/actor/d_a_b_gnd.h +++ b/include/d/actor/d_a_b_gnd.h @@ -192,19 +192,4 @@ public: STATIC_ASSERT(sizeof(b_gnd_class) == 0x2790); -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; -}; - #endif /* D_A_B_GND_H */ diff --git a/include/d/actor/d_a_npc_seira.h b/include/d/actor/d_a_npc_seira.h index 6a77b7ccf11..846ea98d1bd 100644 --- a/include/d/actor/d_a_npc_seira.h +++ b/include/d/actor/d_a_npc_seira.h @@ -2,6 +2,7 @@ #define D_A_NPC_SEIRA_H #include "d/actor/d_a_npc.h" +#include "d/d_shop_system.h" /** * @ingroup actors-npcs @@ -11,82 +12,114 @@ * @details * */ -class daNpc_Seira_c : public fopAc_ac_c { +class daNpc_Seira_c : public dShopSystem_c { public: + typedef int (daNpc_Seira_c::*cutFunc)(int); + typedef int (daNpc_Seira_c::*actionFunc)(void*); + /* 80ACB7CC */ ~daNpc_Seira_c(); - /* 80ACB918 */ void create(); - /* 80ACBBD4 */ void CreateHeap(); - /* 80ACC0FC */ void Delete(); - /* 80ACC130 */ void Execute(); - /* 80ACC21C */ void Draw(); - /* 80ACC2B0 */ void createHeapCallBack(fopAc_ac_c*); - /* 80ACC2D0 */ void ctrlJointCallBack(J3DJoint*, int); - /* 80ACC328 */ void getType(); - /* 80ACC424 */ void getFlowNodeNo(); - /* 80ACC440 */ void checkBottle(); - /* 80ACC4A8 */ void getNpcType(); - /* 80ACC4C8 */ bool isDelete(); + /* 80ACB918 */ int create(); + /* 80ACBBD4 */ int CreateHeap(); + /* 80ACC0FC */ int Delete(); + /* 80ACC130 */ int Execute(); + /* 80ACC21C */ int Draw(); + /* 80ACC2B0 */ static int createHeapCallBack(fopAc_ac_c*); + /* 80ACC2D0 */ static int ctrlJointCallBack(J3DJoint*, int); + /* 80ACC328 */ u8 getType(); + /* 80ACC424 */ int getFlowNodeNo(); + /* 80ACC440 */ u8 checkBottle(); + /* 80ACC4A8 */ u8 getNpcType(); + /* 80ACC4C8 */ int isDelete(); /* 80ACC4D0 */ void reset(); /* 80ACC618 */ void afterJntAnm(int); /* 80ACC69C */ void setParam(); - /* 80ACC818 */ void checkChangeEvt(); + /* 80ACC818 */ BOOL checkChangeEvt(); /* 80ACC8C0 */ void setAfterTalkMotion(); /* 80ACC980 */ void srchActors(); - /* 80ACCA48 */ void evtTalk(); - /* 80ACCBEC */ void evtCutProc(); + /* 80ACCA48 */ BOOL evtTalk(); + /* 80ACCBEC */ BOOL evtCutProc(); /* 80ACCCBC */ void action(); /* 80ACCE58 */ void beforeMove(); /* 80ACCED0 */ void setAttnPos(); /* 80ACD1D0 */ void setCollision(); - /* 80ACD378 */ bool drawDbgInfo(); + /* 80ACD378 */ BOOL drawDbgInfo(); /* 80ACD380 */ void drawOtherMdl(); - /* 80ACD458 */ void setBottleAnm(int, int, f32, bool); - /* 80ACD538 */ void afterSetMotionAnm(int, int, f32, int); + /* 80ACD458 */ bool setBottleAnm(int, int, f32, bool); + /* 80ACD538 */ bool afterSetMotionAnm(int, int, f32, int); /* 80ACD570 */ void changeAnm(int*, int*); /* 80ACD600 */ void changeBck(int*, int*); /* 80ACD6AC */ void changeBtp(int*, int*); /* 80ACD744 */ void changeBtk(int*, int*); - /* 80ACD770 */ void selectAction(); - /* 80ACD900 */ void chkAction(int (daNpc_Seira_c::*)(void*)); - /* 80ACD92C */ void setAction(int (daNpc_Seira_c::*)(void*)); - /* 80ACD9D4 */ void cutConversationAboutSaru(int); - /* 80ACDC6C */ void checkStageIsSeirasShop(); - /* 80ACDCE4 */ void getShopItemType(); - /* 80ACDD24 */ void wait(void*); - /* 80ACDE74 */ void sit(void*); - /* 80ACE098 */ void happy(void*); - /* 80ACE220 */ void worry(void*); - /* 80ACE4FC */ void sad(void*); - /* 80ACE608 */ void lookaround(void*); - /* 80ACE714 */ void lookaround_wait(void*); - /* 80ACE828 */ void smile(void*); - /* 80ACE934 */ void talk(void*); - /* 80ACEAC4 */ void shop(void*); - /* 80ACFB48 */ daNpc_Seira_c(daNpcT_faceMotionAnmData_c const*, daNpcT_motionAnmData_c const*, - daNpcT_MotionSeqMngr_c::sequenceStepData_c const*, int, - daNpcT_MotionSeqMngr_c::sequenceStepData_c const*, int, - daNpcT_evtData_c const*, char**); - /* 80ACFC14 */ u16 getEyeballMaterialNo(); - /* 80ACFC1C */ s32 getHeadJointNo(); - /* 80ACFC24 */ s32 getNeckJointNo(); - /* 80ACFC2C */ bool getBackboneJointNo(); - /* 80ACFC34 */ void checkChangeJoint(int); - /* 80ACFC44 */ void checkRemoveJoint(int); + /* 80ACD770 */ int selectAction(); + /* 80ACD900 */ int chkAction(actionFunc); + /* 80ACD92C */ int setAction(actionFunc); + /* 80ACD9D4 */ int cutConversationAboutSaru(int); + /* 80ACDC6C */ BOOL checkStageIsSeirasShop(); + /* 80ACDCE4 */ int getShopItemType(); + /* 80ACDD24 */ int wait(void*); + /* 80ACDE74 */ int sit(void*); + /* 80ACE098 */ int happy(void*); + /* 80ACE220 */ int worry(void*); + /* 80ACE4FC */ int sad(void*); + /* 80ACE608 */ int lookaround(void*); + /* 80ACE714 */ int lookaround_wait(void*); + /* 80ACE828 */ int smile(void*); + /* 80ACE934 */ int talk(void*); + /* 80ACEAC4 */ int shop(void*); + /* 80ACFB48 */ daNpc_Seira_c( + daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData, + daNpcT_motionAnmData_c const* i_motionAnmData, + daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData, + int i_faceMotionStepNum, + daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum, + daNpcT_evtData_c const* i_evtData, char** i_arcNames) + : dShopSystem_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, + i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, + i_arcNames) { + // "|%06d:%x|daNpc_Seira_c -> Construct\n" + OS_REPORT("|%06d:%x|daNpc_Seira_c -> コンストラクト\n", g_Counter.mCounter0, this); + } + /* 80ACFC14 */ u16 getEyeballMaterialNo() { return 2; } + /* 80ACFC1C */ s32 getHeadJointNo() { return 4; } + /* 80ACFC24 */ s32 getNeckJointNo() { return 3; } + /* 80ACFC2C */ s32 getBackboneJointNo() { return true; } + /* 80ACFC34 */ BOOL checkChangeJoint(int val) { return val == 4; } + /* 80ACFC44 */ BOOL checkRemoveJoint(int val) { return val == 8; } - static void* mCutNameList[2]; - static u8 mCutList[24]; + static char* mCutNameList[2]; + static cutFunc mCutList[2]; private: - /* 0x568 */ u8 field_0x568[0x1108 - 0x568]; + /* 0x0F7C */ mDoExt_McaMorfSO* mpSeiraMorf; + /* 0x0F80 */ int field_0x0F80; + /* 0x0F80 */ dCcD_Cyl mCyl1; + /* 0x10C0 */ u8 mChkBottle; + /* 0x10C1 */ u8 mType; + /* 0x10C4 */ daNpcT_ActorMngr_c mActorMngr[3]; + /* 0x10DC */ actionFunc mNextAction; + /* 0x10E8 */ actionFunc mActFunc_0; + /* 0x10F4 */ int mEventTimer; + /* 0x10F8 */ int mShopProcess; + /* 0x10FC */ u8 field_0x10fc; + /* 0x10FD */ u8 field_0x10fd; + /* 0x10FE */ u8 mNpcType; + /* 0x10FF */ u8 field_0x10FF; + /* 0x1100 */ u8 mEvtBit; + /* 0x1101 */ u8 field_0x1101[0x1104 - 0x1101]; + /* 0x1104 */ u8 field_0x1104; }; STATIC_ASSERT(sizeof(daNpc_Seira_c) == 0x1108); +struct daNpc_Seira_HIOParam { + /* 0x00 */ daNpcT_HIOParam common; +}; + class daNpc_Seira_Param_c { public: - /* 80ACFC54 */ ~daNpc_Seira_Param_c(); + /* 80ACFC54 */ virtual ~daNpc_Seira_Param_c() {} - static u8 const m[140]; + static const daNpc_Seira_HIOParam m; }; diff --git a/include/d/actor/d_a_npc_seira2.h b/include/d/actor/d_a_npc_seira2.h index b5c51af60c4..cb36f38b09b 100644 --- a/include/d/actor/d_a_npc_seira2.h +++ b/include/d/actor/d_a_npc_seira2.h @@ -2,6 +2,7 @@ #define D_A_NPC_SEIRA2_H #include "d/actor/d_a_npc.h" +#include "d/d_shop_system.h" /** * @ingroup actors-npcs @@ -11,74 +12,104 @@ * @details * */ -class daNpc_Seira2_c : public fopAc_ac_c { +class daNpc_Seira2_c : public dShopSystem_c { public: + typedef int (daNpc_Seira2_c::*cutFunc)(int); + typedef int (daNpc_Seira2_c::*actionFunc)(void*); + /* 80AD0C0C */ ~daNpc_Seira2_c(); - /* 80AD0D58 */ void create(); - /* 80AD0FF8 */ void CreateHeap(); - /* 80AD1508 */ void Delete(); - /* 80AD153C */ void Execute(); - /* 80AD1610 */ void Draw(); - /* 80AD16A4 */ void createHeapCallBack(fopAc_ac_c*); - /* 80AD16C4 */ void ctrlJointCallBack(J3DJoint*, int); - /* 80AD171C */ void getType(); - /* 80AD179C */ void getFlowNodeNo(); - /* 80AD17B8 */ void getMaxNumItem(); - /* 80AD17C4 */ void checkBottle(); - /* 80AD182C */ bool isDelete(); + /* 80AD0D58 */ int create(); + /* 80AD0FF8 */ int CreateHeap(); + /* 80AD1508 */ int Delete(); + /* 80AD153C */ int Execute(); + /* 80AD1610 */ int Draw(); + /* 80AD16A4 */ static int createHeapCallBack(fopAc_ac_c*); + /* 80AD16C4 */ static int ctrlJointCallBack(J3DJoint*, int); + /* 80AD171C */ u8 getType(); + /* 80AD179C */ int getFlowNodeNo(); + /* 80AD17B8 */ u8 getMaxNumItem(); + /* 80AD17C4 */ u8 checkBottle(); + /* 80AD182C */ int isDelete(); /* 80AD1834 */ void reset(); /* 80AD1968 */ void afterJntAnm(int); /* 80AD19EC */ void setParam(); /* 80AD1B38 */ void setAfterTalkMotion(); /* 80AD1BF8 */ void srchActors(); - /* 80AD1C60 */ void evtTalk(); - /* 80AD1E04 */ void evtCutProc(); + /* 80AD1C60 */ BOOL evtTalk(); + /* 80AD1E04 */ BOOL evtCutProc(); /* 80AD1ED4 */ void action(); /* 80AD2030 */ void beforeMove(); /* 80AD20A8 */ void setAttnPos(); /* 80AD23A8 */ void setCollision(); - /* 80AD2550 */ bool drawDbgInfo(); + /* 80AD2550 */ BOOL drawDbgInfo(); /* 80AD2558 */ void drawOtherMdl(); - /* 80AD2630 */ void setBottleAnm(int, int, f32, bool); - /* 80AD2710 */ void afterSetMotionAnm(int, int, f32, int); - /* 80AD2748 */ void selectAction(); - /* 80AD2870 */ void chkAction(int (daNpc_Seira2_c::*)(void*)); - /* 80AD289C */ void setAction(int (daNpc_Seira2_c::*)(void*)); - /* 80AD2944 */ void checkStageIsSeira2sShop(); - /* 80AD29BC */ void wait(void*); - /* 80AD2B68 */ void sit(void*); - /* 80AD2D8C */ void happy(void*); - /* 80AD2F14 */ void worry(void*); - /* 80AD31F0 */ void sad(void*); - /* 80AD3508 */ void lookaround(void*); - /* 80AD3614 */ void smile(void*); - /* 80AD3720 */ void talk(void*); - /* 80AD3890 */ void shop(void*); - /* 80AD47B8 */ daNpc_Seira2_c(daNpcT_faceMotionAnmData_c const*, daNpcT_motionAnmData_c const*, - daNpcT_MotionSeqMngr_c::sequenceStepData_c const*, int, - daNpcT_MotionSeqMngr_c::sequenceStepData_c const*, int, - daNpcT_evtData_c const*, char**); - /* 80AD4884 */ u16 getEyeballMaterialNo(); - /* 80AD488C */ s32 getHeadJointNo(); - /* 80AD4894 */ s32 getNeckJointNo(); - /* 80AD489C */ bool getBackboneJointNo(); - /* 80AD48A4 */ void checkChangeJoint(int); - /* 80AD48B4 */ void checkRemoveJoint(int); + /* 80AD2630 */ bool setBottleAnm(int, int, f32, bool); + /* 80AD2710 */ bool afterSetMotionAnm(int, int, f32, int); + /* 80AD2748 */ int selectAction(); + /* 80AD2870 */ int chkAction(actionFunc); + /* 80AD289C */ int setAction(actionFunc); + /* 80AD2944 */ BOOL checkStageIsSeira2sShop(); + /* 80AD29BC */ int wait(void*); + /* 80AD2B68 */ int sit(void*); + /* 80AD2D8C */ int happy(void*); + /* 80AD2F14 */ int worry(void*); + /* 80AD31F0 */ int sad(void*); + /* 80AD3508 */ int lookaround(void*); + /* 80AD3614 */ int smile(void*); + /* 80AD3720 */ int talk(void*); + /* 80AD3890 */ int shop(void*); + /* 80AD47B8 */ daNpc_Seira2_c( + daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData, + daNpcT_motionAnmData_c const* i_motionAnmData, + daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData, + int i_faceMotionStepNum, + daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum, + daNpcT_evtData_c const* i_evtData, char** i_arcNames) + : dShopSystem_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData, + i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData, + i_arcNames) { + // "|%06d:%x|daNpc_Seira2_c -> Construct\n" + OS_REPORT("|%06d:%x|daNpc_Seira2_c -> コンストラクト\n", g_Counter.mCounter0, this); + } + /* 80AD4884 */ u16 getEyeballMaterialNo() { return 2; } + /* 80AD488C */ s32 getHeadJointNo() { return 4; } + /* 80AD4894 */ s32 getNeckJointNo() { return 3; } + /* 80AD489C */ s32 getBackboneJointNo() { return true; } + /* 80AD48A4 */ BOOL checkChangeJoint(int val) { return val == 4; } + /* 80AD48B4 */ BOOL checkRemoveJoint(int val) { return val == 8; } - static void* mCutNameList; - static u8 mCutList[12]; + static char* mCutNameList[1]; + static cutFunc mCutList[1]; private: - /* 0x568 */ u8 field_0x568[0x10f4 - 0x568]; + /* 0x0F7C */ mDoExt_McaMorfSO* mpSeiraMorf; + /* 0x0F80 */ int field_0x0F80; + /* 0x0F80 */ dCcD_Cyl mCyl1; + /* 0x10C0 */ u8 mChkBottle; + /* 0x10C1 */ u8 mType; + /* 0x10C4 */ daNpcT_ActorMngr_c mActorMngr[1]; + /* 0x10CC */ actionFunc mNextAction; + /* 0x10D8 */ actionFunc mActFunc_0; + /* 0x10D4 */ int mEventTimer; + /* 0x10E8 */ int mShopProcess; + /* 0x10EC */ u8 field_0x10EC; + /* 0x10ED */ u8 field_0x10ED; + /* 0x10EE */ u8 mEvtBit; + /* 0x10EF */ u8 field_0x10EF[0x10F0 - 0x10EF]; + /* 0x10F0 */ u8 field_0x10F0; }; -STATIC_ASSERT(sizeof(daNpc_Seira2_c) == 0x10f4); +STATIC_ASSERT(sizeof(daNpc_Seira2_c) == 0x10F4); + +struct daNpc_Seira2_HIOParam { + /* 0x00 */ daNpcT_HIOParam common; +}; class daNpc_Seira2_Param_c { public: - /* 80AD48C4 */ ~daNpc_Seira2_Param_c(); + /* 80AD48C4 */ virtual ~daNpc_Seira2_Param_c() {} - static u8 const m[140]; + static const daNpc_Seira2_HIOParam m; }; diff --git a/src/d/actor/d_a_alink_horse.inc b/src/d/actor/d_a_alink_horse.inc index 6b42f8d0684..155be7a6a6c 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 bebfafa972b..1b9ef02b00f 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 517e23a6937..5f4dac869fa 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 41ce8510085..8808598db37 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(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(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(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 fb99ade8936..34218cd8ea6 100644 --- a/src/d/actor/d_a_npc_seira.cpp +++ b/src/d/actor/d_a_npc_seira.cpp @@ -6,729 +6,1459 @@ #include "d/dolzel_rel.h" #include "d/actor/d_a_npc_seira.h" -#include "dol2asm.h" +#include "d/d_meter_HIO.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: -// - -/* ############################################################################################## */ -/* 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, +daNpc_Seira_c::cutFunc daNpc_Seira_c::mCutList[2] = { + NULL, + &daNpc_Seira_c::cutConversationAboutSaru, }; -/* 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, +/* 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() { + 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 */ +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, }; -/* 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 +/* 80ACB918-80ACBBD4 000238 02BC+00 1/1 0/0 0/0 .text create__13daNpc_Seira_cFv */ +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 + ); -/* 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 + mNpcType = getNpcType(); + mType = getType(); + mFlowNodeNo = getFlowNodeNo(); + mEvtBit = daNpcT_chkEvtBit(0x208); + mTwilight = 0; + mChkBottle = checkBottle(); -/* 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 + 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; + } -/* 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 + if (isDelete()) { + return cPhs_ERROR_e; + } -/* 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 + 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(¤t.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; + } -/* 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 + return rv; +} -/* 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 +/* 80ACBBD4-80ACBF40 0004F4 036C+00 1/1 0/0 0/0 .text CreateHeap__13daNpc_Seira_cFv */ +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(dComIfG_getObjectRes( + l_resNameList[res_name_idx], sp_0x2c)); + if (modelData == NULL) { + return 1; + } -/* 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, -}; + 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; + } -/* 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), -}; + model = mpMorf[0]->getModel(); + for (u16 i = 0; i < modelData->getJointNum(); i++) { + modelData->getJointNodePointer(i)->setCallBack(ctrlJointCallBack); + } -/* 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), -}; + model->setUserArea((uintptr_t)this); + mpMatAnm[0] = new daNpcT_MatAnm_c(); + if (mpMatAnm[0] == NULL) { + return 0; + } -/* 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 + 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(dComIfG_getObjectRes( + l_resNameList[res_name_idx], sp_0x2c)); + if (modelData == NULL) { + return 0; + } -/* 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 + 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; + } + } -/* 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 + if (setFaceMotionAnm(1, false) && setMotionAnm(0, 0.0f, 0) && setBottleAnm(26, 2, 0.0f, false)) { + return 1; + } -/* 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 + return 0; +} -/* 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 +/* 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; +} -/* 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 +/* 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; + } -/* 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 + daNpcT_c::execute(); + mShopCamAction.move(); -/* 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 + return 1; +} + +/* 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); +} + +/* 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(i_this)->CreateHeap(); +} + +/* 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(model->getUserArea()); + if (i_this != 0) { + i_this->ctrlJoint(param_0, model); + } + } + + return 1; +} + +/* 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; + } + + if (dComIfGs_isDarkClearLV(0)) { + return 3; + } + + if (daNpcT_chkEvtBit(0x3D) || daNpcT_chkEvtBit(0x208)) { + return 3; + } + + if (daNpcT_chkEvtBit(0x35)) { + return 4; + } + + if (checkStageIsSeirasShop()) { + if (daNpcT_chkEvtBit(0xA5)) { + return 1; + } + + if (daNpcT_chkEvtBit(0x88)) { + return 1; + } + + if (daNpcT_chkEvtBit(0x95)) { + return 1; + } + + return 0; + } + + return 6; +} + +/* 80ACC424-80ACC440 000D44 001C+00 1/1 0/0 0/0 .text getFlowNodeNo__13daNpc_Seira_cFv */ +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 */ +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 */ +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 */ +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() { + 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 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() { + 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 + */ +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; +} + +/* 80ACC8C0-80ACC980 0011E0 00C0+00 1/0 0/0 0/0 .text setAfterTalkMotion__13daNpc_Seira_cFv */ +void daNpc_Seira_c::setAfterTalkMotion() { + 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() { + 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 */ +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 */ +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() { + 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() { + if (checkHide() || mNoDraw) { + attention_info.flags = 0; + } +} + +/* 80ACCED0-80ACD1D0 0017F0 0300+00 1/0 0/0 0/0 .text setAttnPos__13daNpc_Seira_cFv */ +void daNpc_Seira_c::setAttnPos() { + 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() { + 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() { + return false; +} + +/* 80ACD380-80ACD458 001CA0 00D8+00 1/0 0/0 0/0 .text drawOtherMdl__13daNpc_Seira_cFv */ +void daNpc_Seira_c::drawOtherMdl() { + 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 + */ +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 */ +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* 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* 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* 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* arg0, int* arg1) { + if (mType == 5) { + if (*arg0 != 0x2D) { + return; + } + *arg0 = 0x11; + *arg1 = 4; + } +} + +/* 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; + + case 1: + mNextAction = &daNpc_Seira_c::happy; + break; + + 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 */ +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 */ +int daNpc_Seira_c::setAction(actionFunc i_action) { + mMode = MODE_EXIT; + if (mActFunc_0 != NULL) { + (this->*(mActFunc_0))(NULL); + } + + mMode = MODE_ENTER; + mActFunc_0 = i_action; + if (mActFunc_0 != NULL) { + (this->*(mActFunc_0))(NULL); + } + + return 1; +} + +/* 80ACD9D4-80ACDC6C 0022F4 0298+00 1/0 0/0 0/0 .text cutConversationAboutSaru__13daNpc_Seira_cFi + */ +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; +} + +/* 80ACDC6C-80ACDCE4 00258C 0078+00 4/4 0/0 0/0 .text checkStageIsSeirasShop__13daNpc_Seira_cFv */ +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 + */ +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 */ +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 */ +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 */ +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 */ +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 */ +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; + } + + case 2: { + if (mShopProcess == 2) { + mSpeakEvent = true; + field_0xe33 = true; + } + + break; + } + + case 3: { + break; + } + } + + return 1; +} + +/* 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; + } + + case 2: { + if (mShopProcess == 2) { + mSpeakEvent = true; + field_0xe33 = true; + } + + break; + } + + case 3: { + break; + } + } + + return 1; +} + +/* 80ACE714-80ACE828 003034 0114+00 1/0 0/0 0/0 .text lookaround_wait__13daNpc_Seira_cFPv + */ +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; + } + + case 2: { + if (!mStagger.checkStagger() && srchPlayerActor()) { + mJntAnm.lookPlayer(0); + checkStep(); + } + + break; + } + + case 3: { + break; + } + } + + return 1; +} + +/* 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; + } + + case 2: { + if (mShopProcess == 2) { + mSpeakEvent = true; + field_0xe33 = true; + } + + break; + } + + case 3: { + break; + } + } + + return 1; +} + +/* 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; +} + +/* 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; +} + +/* 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(i_this)->create(); +} + +/* 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(i_this)->Delete(); +} + +/* 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(i_this)->Execute(); +} + +/* 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(i_this)->Draw(); +} + +/* 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; +} /* 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, + (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, }; /* 80AD0948-80AD0978 -00001 0030+00 0/0 0/0 1/0 .data g_profile_NPC_SEIRA */ @@ -748,1011 +1478,3 @@ extern actor_process_profile_definition g_profile_NPC_SEIRA = { 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, -}; - -/* 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, -}; - -/* 80ACB7CC-80ACB918 0000EC 014C+00 1/0 0/0 0/0 .text __dt__13daNpc_Seira_cFv */ -daNpc_Seira_c::~daNpc_Seira_c() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 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, -}; -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 -} - -/* ############################################################################################## */ -/* 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 -} - -/* 80ACBF40-80ACBF7C 000860 003C+00 1/1 0/0 0/0 .text __dt__15J3DTevKColorAnmFv */ -// J3DTevKColorAnm::~J3DTevKColorAnm() { -extern "C" void __dt__15J3DTevKColorAnmFv() { - // NONMATCHING -} - -/* 80ACBF7C-80ACBF94 00089C 0018+00 1/1 0/0 0/0 .text __ct__15J3DTevKColorAnmFv */ -// J3DTevKColorAnm::J3DTevKColorAnm() { -extern "C" void __ct__15J3DTevKColorAnmFv() { - // NONMATCHING -} - -/* 80ACBF94-80ACBFD0 0008B4 003C+00 1/1 0/0 0/0 .text __dt__14J3DTevColorAnmFv */ -// J3DTevColorAnm::~J3DTevColorAnm() { -extern "C" void __dt__14J3DTevColorAnmFv() { - // NONMATCHING -} - -/* 80ACBFD0-80ACBFE8 0008F0 0018+00 1/1 0/0 0/0 .text __ct__14J3DTevColorAnmFv */ -// J3DTevColorAnm::J3DTevColorAnm() { -extern "C" void __ct__14J3DTevColorAnmFv() { - // NONMATCHING -} - -/* 80ACBFE8-80ACC030 000908 0048+00 1/1 0/0 0/0 .text __dt__11J3DTexNoAnmFv */ -// J3DTexNoAnm::~J3DTexNoAnm() { -extern "C" void __dt__11J3DTexNoAnmFv() { - // NONMATCHING -} - -/* 80ACC030-80ACC054 000950 0024+00 1/1 0/0 0/0 .text __ct__11J3DTexNoAnmFv */ -// J3DTexNoAnm::J3DTexNoAnm() { -extern "C" void __ct__11J3DTexNoAnmFv() { - // NONMATCHING -} - -/* 80ACC054-80ACC090 000974 003C+00 1/1 0/0 0/0 .text __dt__12J3DTexMtxAnmFv */ -// J3DTexMtxAnm::~J3DTexMtxAnm() { -extern "C" void __dt__12J3DTexMtxAnmFv() { - // NONMATCHING -} - -/* 80ACC090-80ACC0A8 0009B0 0018+00 1/1 0/0 0/0 .text __ct__12J3DTexMtxAnmFv */ -// J3DTexMtxAnm::J3DTexMtxAnm() { -extern "C" void __ct__12J3DTexMtxAnmFv() { - // NONMATCHING -} - -/* 80ACC0A8-80ACC0E4 0009C8 003C+00 1/1 0/0 0/0 .text __dt__14J3DMatColorAnmFv */ -// J3DMatColorAnm::~J3DMatColorAnm() { -extern "C" void __dt__14J3DMatColorAnmFv() { - // NONMATCHING -} - -/* 80ACC0E4-80ACC0FC 000A04 0018+00 1/1 0/0 0/0 .text __ct__14J3DMatColorAnmFv */ -// J3DMatColorAnm::J3DMatColorAnm() { -extern "C" void __ct__14J3DMatColorAnmFv() { - // NONMATCHING -} - -/* 80ACC0FC-80ACC130 000A1C 0034+00 1/1 0/0 0/0 .text Delete__13daNpc_Seira_cFv */ -void daNpc_Seira_c::Delete() { - // NONMATCHING -} - -/* 80ACC130-80ACC21C 000A50 00EC+00 2/2 0/0 0/0 .text Execute__13daNpc_Seira_cFv */ -void daNpc_Seira_c::Execute() { - // NONMATCHING -} - -/* 80ACC21C-80ACC2B0 000B3C 0094+00 1/1 0/0 0/0 .text Draw__13daNpc_Seira_cFv */ -void daNpc_Seira_c::Draw() { - // NONMATCHING -} - -/* 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 -} - -/* 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 -} - -/* 80ACC328-80ACC424 000C48 00FC+00 1/1 0/0 0/0 .text getType__13daNpc_Seira_cFv */ -void daNpc_Seira_c::getType() { - // NONMATCHING -} - -/* 80ACC424-80ACC440 000D44 001C+00 1/1 0/0 0/0 .text getFlowNodeNo__13daNpc_Seira_cFv */ -void daNpc_Seira_c::getFlowNodeNo() { - // NONMATCHING -} - -/* 80ACC440-80ACC4A8 000D60 0068+00 1/1 0/0 0/0 .text checkBottle__13daNpc_Seira_cFv */ -void daNpc_Seira_c::checkBottle() { - // NONMATCHING -} - -/* 80ACC4A8-80ACC4C8 000DC8 0020+00 1/1 0/0 0/0 .text getNpcType__13daNpc_Seira_cFv */ -void daNpc_Seira_c::getNpcType() { - // NONMATCHING -} - -/* 80ACC4C8-80ACC4D0 000DE8 0008+00 1/1 0/0 0/0 .text isDelete__13daNpc_Seira_cFv */ -bool 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 -} - -/* 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 -} - -/* 80ACC69C-80ACC818 000FBC 017C+00 1/0 0/0 0/0 .text setParam__13daNpc_Seira_cFv */ -void daNpc_Seira_c::setParam() { - // NONMATCHING -} - -/* 80ACC818-80ACC8C0 001138 00A8+00 1/0 0/0 0/0 .text checkChangeEvt__13daNpc_Seira_cFv - */ -void daNpc_Seira_c::checkChangeEvt() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 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 -} - -/* 80ACC980-80ACCA48 0012A0 00C8+00 1/1 0/0 0/0 .text srchActors__13daNpc_Seira_cFv */ -void daNpc_Seira_c::srchActors() { - // NONMATCHING -} - -/* 80ACCA48-80ACCBEC 001368 01A4+00 1/0 0/0 0/0 .text evtTalk__13daNpc_Seira_cFv */ -void daNpc_Seira_c::evtTalk() { - // NONMATCHING -} - -/* 80ACCBEC-80ACCCBC 00150C 00D0+00 1/0 0/0 0/0 .text evtCutProc__13daNpc_Seira_cFv */ -void daNpc_Seira_c::evtCutProc() { - // NONMATCHING -} - -/* 80ACCCBC-80ACCE58 0015DC 019C+00 1/0 0/0 0/0 .text action__13daNpc_Seira_cFv */ -void daNpc_Seira_c::action() { - // NONMATCHING -} - -/* 80ACCE58-80ACCED0 001778 0078+00 1/0 0/0 0/0 .text beforeMove__13daNpc_Seira_cFv */ -void daNpc_Seira_c::beforeMove() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 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 -} - -/* 80ACD1D0-80ACD378 001AF0 01A8+00 1/0 0/0 0/0 .text setCollision__13daNpc_Seira_cFv */ -void daNpc_Seira_c::setCollision() { - // NONMATCHING -} - -/* 80ACD378-80ACD380 001C98 0008+00 1/0 0/0 0/0 .text drawDbgInfo__13daNpc_Seira_cFv */ -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 -} - -/* 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 -} - -/* 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 -} - -/* 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 -} - -/* 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 -} - -/* 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 -} - -/* 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 -} - -/* ############################################################################################## */ -/* 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 - -/* 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); - -/* 80ACD770-80ACD900 002090 0190+00 1/1 0/0 0/0 .text selectAction__13daNpc_Seira_cFv */ -void daNpc_Seira_c::selectAction() { - // NONMATCHING -} - -/* 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 -} - -/* 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 -} - -/* ############################################################################################## */ -/* 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 - -/* 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 - -/* 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 -} - -/* ############################################################################################## */ -/* 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 -} - -/* 80ACDCE4-80ACDD24 002604 0040+00 1/1 0/0 0/0 .text getShopItemType__13daNpc_Seira_cFv - */ -void daNpc_Seira_c::getShopItemType() { - // NONMATCHING -} - -/* 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 -} - -/* 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 -} - -/* 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 -} - -/* 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 -} - -/* 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 -} - -/* 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 -} - -/* 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; -} - -/* 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 -} - -/* 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 -} - -/* 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 -} - -/* 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 -} - -/* 80ACEE6C-80ACEEB4 00378C 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */ -// cM3dGCyl::~cM3dGCyl() { -extern "C" void __dt__8cM3dGCylFv() { - // NONMATCHING -} - -/* 80ACEEB4-80ACEEFC 0037D4 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */ -// cM3dGAab::~cM3dGAab() { -extern "C" void __dt__8cM3dGAabFv() { - // NONMATCHING -} - -/* 80ACEEFC-80ACEF38 00381C 003C+00 2/2 0/0 0/0 .text __dt__4cXyzFv */ -// cXyz::~cXyz() { -extern "C" void __dt__4cXyzFv() { - // NONMATCHING -} - -/* 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 - */ -// 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 */ -} - -/* 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 -} - -/* 80ACF478-80ACF47C 003D98 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -// cXyz::cXyz() { -extern "C" void __ct__4cXyzFv() { - /* empty function */ -} - -/* 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 -} - -/* 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 -} - -/* 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 -} - -/* 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 -} - -/* 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 -} - -/* 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 */ -} - -/* 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; -} - -/* 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 -} - -/* 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 */ -} - -/* 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; -} - -/* 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 -} - -/* 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 -} - -/* 80ACFA28-80ACFA44 004348 001C+00 2/2 0/0 0/0 .text cLib_calcTimer__FPi */ -extern "C" void func_80ACFA28(void* _this, int* param_0) { - // NONMATCHING -} - -/* 80ACFA44-80ACFAC0 004364 007C+00 2/2 0/0 0/0 .text cLib_getRndValue__Fii */ -extern "C" void func_80ACFA44(void* _this, int param_0, int param_1) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 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, -}; - -/* 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 */ diff --git a/src/d/actor/d_a_npc_seira2.cpp b/src/d/actor/d_a_npc_seira2.cpp index 2ed1766c8e0..29824c0eacf 100644 --- a/src/d/actor/d_a_npc_seira2.cpp +++ b/src/d/actor/d_a_npc_seira2.cpp @@ -6,637 +6,1164 @@ #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, +daNpc_Seira2_c::cutFunc daNpc_Seira2_c::mCutList[1] = { NULL }; + +/* 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() { + 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 */ +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, }; -/* 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 +/* 80AD0D58-80AD0FF8 000238 02A0+00 1/1 0/0 0/0 .text create__14daNpc_Seira2_cFv */ +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 + ); -/* 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 + mType = getType(); + mFlowNodeNo = getFlowNodeNo(); + mEvtBit = daNpcT_chkEvtBit(0x316); + mTwilight = 0; + mChkBottle = checkBottle(); -/* 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 + 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; + } -/* 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 + if (isDelete()) { + return cPhs_ERROR_e; + } -/* 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 + 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(¤t.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; + } -/* 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 + return rv; +} -/* 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 +/* 80AD0FF8-80AD134C 0004D8 0354+00 1/1 0/0 0/0 .text CreateHeap__14daNpc_Seira2_cFv */ +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(dComIfG_getObjectRes( + l_resNameList[res_name_idx], sp_0x2c)); + if (modelData == NULL) { + return 1; + } -/* 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, -}; + 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; + } -/* 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 + model = mpMorf[0]->getModel(); + for (u16 i = 0; i < modelData->getJointNum(); i++) { + modelData->getJointNodePointer(i)->setCallBack(ctrlJointCallBack); + } -/* 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 + model->setUserArea((uintptr_t)this); + mpMatAnm[0] = new daNpcT_MatAnm_c(); + if (mpMatAnm[0] == NULL) { + return 0; + } -/* 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 + bmd_get_idx = x1; + res_name_idx = l_bmdData[bmd_get_idx][1]; + sp_0x2c = l_bmdData[bmd_get_idx][0]; + modelData = static_cast(dComIfG_getObjectRes( + l_resNameList[res_name_idx], sp_0x2c)); -/* 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 + 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; + } -/* 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 + if (setFaceMotionAnm(1, false) && setMotionAnm(0, 0.0f, 0) && setBottleAnm(25, 2, 0.0f, false)) { + return 1; + } -/* 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 + return 0; +} -/* 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 +/* 80AD1508-80AD153C 0009E8 0034+00 1/1 0/0 0/0 .text Delete__14daNpc_Seira2_cFv */ +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 */ +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 */ +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 */ +int daNpc_Seira2_c::createHeapCallBack(fopAc_ac_c* i_this) { + return static_cast(i_this)->CreateHeap(); +} + +/* 80AD16C4-80AD171C 000BA4 0058+00 1/1 0/0 0/0 .text + * ctrlJointCallBack__14daNpc_Seira2_cFP8J3DJointi */ +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(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 */ +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 + */ +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 + */ +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 */ +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 */ +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() { + 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 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() { + 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; +} + +/* 80AD1B38-80AD1BF8 001018 00C0+00 1/0 0/0 0/0 .text setAfterTalkMotion__14daNpc_Seira2_cFv */ +void daNpc_Seira2_c::setAfterTalkMotion() { + 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() { + 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 */ +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; +} + +/* 80AD1E04-80AD1ED4 0012E4 00D0+00 1/0 0/0 0/0 .text evtCutProc__14daNpc_Seira2_cFv */ +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() { + 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() { + if (checkHide() || mNoDraw) { + attention_info.flags = 0; + } +} + +/* 80AD20A8-80AD23A8 001588 0300+00 1/0 0/0 0/0 .text setAttnPos__14daNpc_Seira2_cFv */ +void daNpc_Seira2_c::setAttnPos() { + 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() { + 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 */ +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() { + 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 + */ +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 */ +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 */ +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 */ +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 */ +int daNpc_Seira2_c::setAction(actionFunc i_action) { + mMode = MODE_EXIT; + if (mActFunc_0 != NULL) { + (this->*(mActFunc_0))(NULL); + } + + 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 + */ +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 */ +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 */ +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 */ +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 */ +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; +} + +/* 80AD31F0-80AD3508 0026D0 0318+00 1/0 0/0 0/0 .text sad__14daNpc_Seira2_cFPv */ +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 */ +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; + } + + case 2: { + if (mShopProcess == 2) { + mSpeakEvent = true; + field_0xe33 = true; + } + + break; + } + + case 3: { + break; + } + } + + return 1; +} + +/* 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; + } + + case 2: { + if (mShopProcess == 2) { + mSpeakEvent = true; + field_0xe33 = true; + } + + break; + } + + case 3: { + break; + } + } + + return 1; +} + +/* 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; +} + +/* 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; +} + +/* 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(i_this)->create(); +} + +/* 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(i_this)->Delete(); +} + +/* 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(i_this)->Execute(); +} + +/* 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(i_this)->Draw(); +} + +/* 80AD39E0-80AD39E8 002EC0 0008+00 1/0 0/0 0/0 .text daNpc_Seira2_IsDelete__FPv */ +static int daNpc_Seira2_IsDelete(void*) { + return 1; +} /* 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, + (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, }; /* 80AD5464-80AD5494 -00001 0030+00 0/0 0/0 1/0 .data g_profile_NPC_SERA2 */ @@ -656,976 +1183,3 @@ extern actor_process_profile_definition g_profile_NPC_SERA2 = { 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, -}; - -/* 80AD0C0C-80AD0D58 0000EC 014C+00 1/0 0/0 0/0 .text __dt__14daNpc_Seira2_cFv */ -daNpc_Seira2_c::~daNpc_Seira2_c() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 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, -}; -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 -} - -/* ############################################################################################## */ -/* 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 -} - -/* 80AD1508-80AD153C 0009E8 0034+00 1/1 0/0 0/0 .text Delete__14daNpc_Seira2_cFv */ -void daNpc_Seira2_c::Delete() { - // NONMATCHING -} - -/* 80AD153C-80AD1610 000A1C 00D4+00 2/2 0/0 0/0 .text Execute__14daNpc_Seira2_cFv */ -void daNpc_Seira2_c::Execute() { - // NONMATCHING -} - -/* 80AD1610-80AD16A4 000AF0 0094+00 1/1 0/0 0/0 .text Draw__14daNpc_Seira2_cFv */ -void daNpc_Seira2_c::Draw() { - // NONMATCHING -} - -/* 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 -} - -/* 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 -} - -/* 80AD171C-80AD179C 000BFC 0080+00 1/1 0/0 0/0 .text getType__14daNpc_Seira2_cFv */ -void daNpc_Seira2_c::getType() { - // NONMATCHING -} - -/* 80AD179C-80AD17B8 000C7C 001C+00 1/1 0/0 0/0 .text getFlowNodeNo__14daNpc_Seira2_cFv - */ -void daNpc_Seira2_c::getFlowNodeNo() { - // NONMATCHING -} - -/* 80AD17B8-80AD17C4 000C98 000C+00 1/1 0/0 0/0 .text getMaxNumItem__14daNpc_Seira2_cFv - */ -void daNpc_Seira2_c::getMaxNumItem() { - // NONMATCHING -} - -/* 80AD17C4-80AD182C 000CA4 0068+00 1/1 0/0 0/0 .text checkBottle__14daNpc_Seira2_cFv */ -void daNpc_Seira2_c::checkBottle() { - // NONMATCHING -} - -/* 80AD182C-80AD1834 000D0C 0008+00 1/1 0/0 0/0 .text isDelete__14daNpc_Seira2_cFv */ -bool 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 -} - -/* 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 -} - -/* 80AD19EC-80AD1B38 000ECC 014C+00 1/0 0/0 0/0 .text setParam__14daNpc_Seira2_cFv */ -void daNpc_Seira2_c::setParam() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 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 -} - -/* 80AD1BF8-80AD1C60 0010D8 0068+00 1/1 0/0 0/0 .text srchActors__14daNpc_Seira2_cFv */ -void daNpc_Seira2_c::srchActors() { - // NONMATCHING -} - -/* 80AD1C60-80AD1E04 001140 01A4+00 1/0 0/0 0/0 .text evtTalk__14daNpc_Seira2_cFv */ -void daNpc_Seira2_c::evtTalk() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 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 -} - -/* 80AD1ED4-80AD2030 0013B4 015C+00 1/0 0/0 0/0 .text action__14daNpc_Seira2_cFv */ -void daNpc_Seira2_c::action() { - // NONMATCHING -} - -/* 80AD2030-80AD20A8 001510 0078+00 1/0 0/0 0/0 .text beforeMove__14daNpc_Seira2_cFv */ -void daNpc_Seira2_c::beforeMove() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 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 -} - -/* 80AD23A8-80AD2550 001888 01A8+00 1/0 0/0 0/0 .text setCollision__14daNpc_Seira2_cFv */ -void daNpc_Seira2_c::setCollision() { - // NONMATCHING -} - -/* 80AD2550-80AD2558 001A30 0008+00 1/0 0/0 0/0 .text drawDbgInfo__14daNpc_Seira2_cFv */ -bool 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 -} - -/* 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 -} - -/* 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 -} - -/* 80AD2748-80AD2870 001C28 0128+00 1/1 0/0 0/0 .text selectAction__14daNpc_Seira2_cFv */ -void daNpc_Seira2_c::selectAction() { - // NONMATCHING -} - -/* 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 -} - -/* 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 -} - -/* ############################################################################################## */ -/* 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 - -/* 80AD2944-80AD29BC 001E24 0078+00 2/2 0/0 0/0 .text checkStageIsSeira2sShop__14daNpc_Seira2_cFv - */ -void daNpc_Seira2_c::checkStageIsSeira2sShop() { - // NONMATCHING -} - -/* 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 -} - -/* 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 -} - -/* 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 -} - -/* 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 -} - -/* ############################################################################################## */ -/* 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 -} - -/* 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 -} - -/* 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 -} - -/* 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 -} - -/* 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 -} - -/* 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 -} - -/* 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; -} - -/* 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 -} - -/* 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 */ -} - -/* 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; -} - -/* 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 -} - -/* 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 -} - -/* 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 */ -} - -/* 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 */ -} - -/* 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 */ -} - -/* 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 */ -} - -/* 80AD46B8-80AD46D4 003B98 001C+00 2/2 0/0 0/0 .text cLib_calcTimer__FPi */ -extern "C" void func_80AD46B8(void* _this, int* param_0) { - // NONMATCHING -} - -/* 80AD46D4-80AD4750 003BB4 007C+00 2/2 0/0 0/0 .text cLib_getRndValue__Fii */ -extern "C" void func_80AD46D4(void* _this, int param_0, int param_1) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 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, -}; - -/* 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 */