summaryrefslogtreecommitdiff
path: root/src/d/actor/d_a_obj_lp.cpp
diff options
context:
space:
mode:
authorCarco_21 <144170194+carter-ktb21@users.noreply.github.com>2025-04-05 18:36:27 -0400
committerGitHub <noreply@github.com>2025-04-05 15:36:27 -0700
commitd640fb8b9dd7cf99b8f118c760da63b0e3e57b89 (patch)
treef304b1cda34c3552f6b7e7dad7d616fdef07d7b7 /src/d/actor/d_a_obj_lp.cpp
parenta159f3ba379a36bdb56d845efa60c856dde44083 (diff)
d_a_fr and d_a_obj_lp work (#2372)
* Initial d_a_fr work * general d_a_fr work * Pull request cleanup * d_a_obj_lp almost matching * Fixed compile error
Diffstat (limited to 'src/d/actor/d_a_obj_lp.cpp')
-rw-r--r--src/d/actor/d_a_obj_lp.cpp1188
1 files changed, 461 insertions, 727 deletions
diff --git a/src/d/actor/d_a_obj_lp.cpp b/src/d/actor/d_a_obj_lp.cpp
index 888b0718a1..e62dda3d40 100644
--- a/src/d/actor/d_a_obj_lp.cpp
+++ b/src/d/actor/d_a_obj_lp.cpp
@@ -4,583 +4,509 @@
*/
#include "d/actor/d_a_obj_lp.h"
-#include "dol2asm.h"
-
-
-
-//
-// Forward References:
-//
-
-extern "C" static void daObj_Lp_Draw__FP12obj_lp_class();
-extern "C" static void s_ks_sub__FPvPv();
-extern "C" static void hit_check__FP12obj_lp_classP5wd_ss();
-extern "C" static void hasu_action__FP12obj_lp_classP5wd_ss();
-extern "C" static void set_out_check__FP12obj_lp_classP4cXyz();
-extern "C" static void daObj_Lp_Execute__FP12obj_lp_class();
-extern "C" static bool daObj_Lp_IsDelete__FP12obj_lp_class();
-extern "C" static void daObj_Lp_Delete__FP12obj_lp_class();
-extern "C" static void useHeapInit__FP10fopAc_ac_c();
-extern "C" static void set_pos_check__FP12obj_lp_classi();
-extern "C" static void daObj_Lp_Create__FP10fopAc_ac_c();
-extern "C" void __dt__5wd_ssFv();
-extern "C" void __ct__5wd_ssFv();
-extern "C" extern char const* const d_a_obj_lp__stringBase0;
-
-//
-// External References:
-//
-
-extern "C" void mDoMtx_XrotM__FPA4_fs();
-extern "C" void mDoMtx_YrotS__FPA4_fs();
-extern "C" void mDoMtx_YrotM__FPA4_fs();
-extern "C" void transM__14mDoMtx_stack_cFfff();
-extern "C" void scaleM__14mDoMtx_stack_cFfff();
-extern "C" void init__19mDoExt_3DlineMat0_cFUsUsi();
-extern "C" void update__19mDoExt_3DlineMat0_cFiR8_GXColorP12dKy_tevstr_c();
-extern "C" void setMat__26mDoExt_3DlineMatSortPacketFP18mDoExt_3DlineMat_c();
-extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
-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_SetMin__FP10fopAc_ac_cfff();
-extern "C" void fopAcM_SetMax__FP10fopAc_ac_cfff();
-extern "C" void fpcEx_Search__FPFPvPv_PvPv();
-extern "C" void fpcSch_JudgeForPName__FPvPv();
-extern "C" void addSimpleModel__14dComIfG_play_cFP12J3DModelDataiUc();
-extern "C" void removeSimpleModel__14dComIfG_play_cFP12J3DModelDatai();
-extern "C" void entrySimpleModel__14dComIfG_play_cFP8J3DModeli();
-extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
-extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
-extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
-extern "C" void GroundCross__4cBgSFP11cBgS_GndChk();
-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 dKy_Sound_get__Fv();
-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_GndChkFPC3Vec();
-extern "C" void cLib_addCalc2__FPffff();
-extern "C" void cLib_addCalc0__FPfff();
-extern "C" void cLib_addCalcAngleS2__FPssss();
-extern "C" void MtxTrans__FfffUc();
-extern "C" void MtxPosition__FP4cXyzP4cXyz();
-extern "C" void MtxPush__Fv();
-extern "C" void MtxPull__Fv();
-extern "C" void __dl__FPv();
-extern "C" void __construct_array();
-extern "C" void _savegpr_22();
-extern "C" void _savegpr_24();
-extern "C" void _savegpr_25();
-extern "C" void _savegpr_26();
-extern "C" void _savegpr_29();
-extern "C" void _restgpr_22();
-extern "C" void _restgpr_24();
-extern "C" void _restgpr_25();
-extern "C" void _restgpr_26();
-extern "C" void _restgpr_29();
-extern "C" extern void* __vt__19mDoExt_3DlineMat0_c[5];
-extern "C" u8 now__14mDoMtx_stack_c[48];
-extern "C" extern u8 g_dComIfG_gameInfo[122384];
-extern "C" u8 sincosTable___5JMath[65536];
-extern "C" extern void* calc_mtx[1 + 1 /* padding */];
-
-//
-// Declarations:
-//
-
-/* ############################################################################################## */
-/* 80C55AD8-80C55ADC 000000 0004+00 1/1 0/0 0/0 .data l_color$3793 */
-SECTION_DATA static u8 l_color[4] = {
- 0x14,
- 0x0A,
- 0x0A,
- 0xFF,
-};
+#include "d/actor/d_a_canoe.h"
+#include "d/actor/d_a_mg_rod.h"
+#include "d/d_com_inf_game.h"
+#include "d/actor/d_a_player.h"
+#include "Z2AudioLib/Z2Instances.h"
+
+
+
+UNK_REL_BSS
/* 80C54198-80C542FC 000078 0164+00 1/0 0/0 0/0 .text daObj_Lp_Draw__FP12obj_lp_class */
-static void daObj_Lp_Draw(obj_lp_class* param_0) {
+static int daObj_Lp_Draw(obj_lp_class* i_this) {
// NONMATCHING
+ static _GXColor l_color = {
+ 0x14,
+ 0x0A,
+ 0x0A,
+ 0xFF,
+ };
+
+ wd_ss* mWdSs = i_this->mWdSs;
+ J3DGXColorS10 color;
+
+ for (int i = 0; i < i_this->field_0xad98; i++) {
+ if (mWdSs[i].field_0x4e && !mWdSs[i].field_0x4f) {
+ if (g_env_light.fishing_hole_season == 1) {
+ color.r = 6;
+ color.g = 6;
+ color.b = 4;
+ color.a = 0xff;
+ mWdSs[i].mpModel->getModelData()->getMaterialNodePointer(0)->setTevColor(0, &color);
+ }
+
+ dComIfGp_entrySimpleModel(mWdSs[i].mpModel, fopAcM_GetRoomNo(i_this));
+ }
+ }
+
+ if (i_this->field_0xadb1 && !i_this->field_0xadb2) {
+ i_this->field_0xad7c.update(3, l_color, &i_this->tevStr);
+ dComIfGd_set3DlineMat(&i_this->field_0xad7c);
+ }
+
+ return 1;
}
-/* ############################################################################################## */
-/* 80C55B40-80C55B44 000000 0001+03 2/2 0/0 0/0 .bss @1109 */
-static u8 lit_1109[1 + 3 /* padding */];
-
-/* 80C55B44-80C55B48 000004 0001+03 0/0 0/0 0/0 .bss @1107 */
-#pragma push
-#pragma force_active on
-static u8 lit_1107[1 + 3 /* padding */];
-#pragma pop
-
-/* 80C55B48-80C55B4C 000008 0001+03 0/0 0/0 0/0 .bss @1105 */
-#pragma push
-#pragma force_active on
-static u8 lit_1105[1 + 3 /* padding */];
-#pragma pop
-
-/* 80C55B4C-80C55B50 00000C 0001+03 0/0 0/0 0/0 .bss @1104 */
-#pragma push
-#pragma force_active on
-static u8 lit_1104[1 + 3 /* padding */];
-#pragma pop
-
-/* 80C55B50-80C55B54 000010 0001+03 0/0 0/0 0/0 .bss @1099 */
-#pragma push
-#pragma force_active on
-static u8 lit_1099[1 + 3 /* padding */];
-#pragma pop
-
-/* 80C55B54-80C55B58 000014 0001+03 0/0 0/0 0/0 .bss @1097 */
-#pragma push
-#pragma force_active on
-static u8 lit_1097[1 + 3 /* padding */];
-#pragma pop
-
-/* 80C55B58-80C55B5C 000018 0001+03 0/0 0/0 0/0 .bss @1095 */
-#pragma push
-#pragma force_active on
-static u8 lit_1095[1 + 3 /* padding */];
-#pragma pop
-
-/* 80C55B5C-80C55B60 00001C 0001+03 0/0 0/0 0/0 .bss @1094 */
-#pragma push
-#pragma force_active on
-static u8 lit_1094[1 + 3 /* padding */];
-#pragma pop
-
-/* 80C55B60-80C55B64 000020 0001+03 0/0 0/0 0/0 .bss @1057 */
-#pragma push
-#pragma force_active on
-static u8 lit_1057[1 + 3 /* padding */];
-#pragma pop
-
-/* 80C55B64-80C55B68 000024 0001+03 0/0 0/0 0/0 .bss @1055 */
-#pragma push
-#pragma force_active on
-static u8 lit_1055[1 + 3 /* padding */];
-#pragma pop
-
-/* 80C55B68-80C55B6C 000028 0001+03 0/0 0/0 0/0 .bss @1053 */
-#pragma push
-#pragma force_active on
-static u8 lit_1053[1 + 3 /* padding */];
-#pragma pop
-
-/* 80C55B6C-80C55B70 00002C 0001+03 0/0 0/0 0/0 .bss @1052 */
-#pragma push
-#pragma force_active on
-static u8 lit_1052[1 + 3 /* padding */];
-#pragma pop
-
-/* 80C55B70-80C55B74 000030 0001+03 0/0 0/0 0/0 .bss @1014 */
-#pragma push
-#pragma force_active on
-static u8 lit_1014[1 + 3 /* padding */];
-#pragma pop
-
-/* 80C55B74-80C55B78 000034 0001+03 0/0 0/0 0/0 .bss @1012 */
-#pragma push
-#pragma force_active on
-static u8 lit_1012[1 + 3 /* padding */];
-#pragma pop
-
-/* 80C55B78-80C55B7C 000038 0001+03 0/0 0/0 0/0 .bss @1010 */
-#pragma push
-#pragma force_active on
-static u8 lit_1010[1 + 3 /* padding */];
-#pragma pop
-
-/* 80C55B7C-80C55B80 00003C 0001+03 0/0 0/0 0/0 .bss @1009 */
-#pragma push
-#pragma force_active on
-static u8 lit_1009[1 + 3 /* padding */];
-#pragma pop
-
/* 80C55B80-80C55B84 000040 0004+00 0/2 0/0 0/0 .bss tandem */
-#pragma push
-#pragma force_active on
-static u8 tandem[4];
-#pragma pop
+static int tandem;
/* 80C55B84-80C55B88 000044 0004+00 0/2 0/0 0/0 .bss demo_f */
-#pragma push
-#pragma force_active on
-static u8 demo_f[4];
-#pragma pop
+static int demo_f;
/* 80C55B88-80C55BB0 000048 0028+00 1/3 0/0 0/0 .bss target_info */
-static u8 target_info[40];
+static int target_info[10];
/* 80C55BB0-80C55BB4 000070 0004+00 1/3 0/0 0/0 .bss target_info_count */
-static u8 target_info_count[4];
+static int target_info_count;
/* 80C542FC-80C54374 0001DC 0078+00 1/1 0/0 0/0 .text s_ks_sub__FPvPv */
-static void s_ks_sub(void* param_0, void* param_1) {
- // NONMATCHING
+static void* s_ks_sub(void* param_1, void* param_2) {
+ if (fopAcM_IsActor(param_1) && fopAcM_GetName(param_1) == 0x60) {
+ if (target_info_count < 10) {
+ target_info[target_info_count] = (int)param_1;
+ target_info_count++;
+ }
+ return param_1;
+ }
+
+ return NULL;
}
-/* ############################################################################################## */
-/* 80C55A10-80C55A14 000000 0004+00 6/6 0/0 0/0 .rodata @3916 */
-SECTION_RODATA static f32 const lit_3916 = 50.0f;
-COMPILER_STRIP_GATE(0x80C55A10, &lit_3916);
-
-/* 80C55A14-80C55A18 000004 0004+00 0/1 0/0 0/0 .rodata @3917 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_3917 = -3.0f;
-COMPILER_STRIP_GATE(0x80C55A14, &lit_3917);
-#pragma pop
-
-/* 80C55A18-80C55A1C 000008 0004+00 0/6 0/0 0/0 .rodata @3918 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_3918[4] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
-};
-COMPILER_STRIP_GATE(0x80C55A18, &lit_3918);
-#pragma pop
-
-/* 80C55A1C-80C55A20 00000C 0004+00 0/3 0/0 0/0 .rodata @3919 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_3919 = 1.0f / 10.0f;
-COMPILER_STRIP_GATE(0x80C55A1C, &lit_3919);
-#pragma pop
-
-/* 80C55A20-80C55A24 000010 0004+00 0/2 0/0 0/0 .rodata @3920 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_3920 = 0.5f;
-COMPILER_STRIP_GATE(0x80C55A20, &lit_3920);
-#pragma pop
-
-/* 80C55A24-80C55A28 000014 0004+00 0/2 0/0 0/0 .rodata @3921 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_3921 = 70.0f;
-COMPILER_STRIP_GATE(0x80C55A24, &lit_3921);
-#pragma pop
-
-/* 80C55A28-80C55A2C 000018 0004+00 0/1 0/0 0/0 .rodata @3922 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_3922 = 2500.0f;
-COMPILER_STRIP_GATE(0x80C55A28, &lit_3922);
-#pragma pop
-
-/* 80C55A2C-80C55A30 00001C 0004+00 0/2 0/0 0/0 .rodata @3923 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_3923 = 30.0f;
-COMPILER_STRIP_GATE(0x80C55A2C, &lit_3923);
-#pragma pop
-
-/* 80C55A30-80C55A34 000020 0004+00 0/1 0/0 0/0 .rodata @3924 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_3924 = -275.0f;
-COMPILER_STRIP_GATE(0x80C55A30, &lit_3924);
-#pragma pop
-
-/* 80C55A34-80C55A38 000024 0004+00 0/1 0/0 0/0 .rodata @3925 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_3925 = 150.0f;
-COMPILER_STRIP_GATE(0x80C55A34, &lit_3925);
-#pragma pop
-
-/* 80C55A38-80C55A3C 000028 0004+00 0/1 0/0 0/0 .rodata @3926 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_3926 = -125.0f;
-COMPILER_STRIP_GATE(0x80C55A38, &lit_3926);
-#pragma pop
-
-/* 80C55A3C-80C55A40 00002C 0004+00 0/1 0/0 0/0 .rodata @3927 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_3927 = 300.0f;
-COMPILER_STRIP_GATE(0x80C55A3C, &lit_3927);
-#pragma pop
-
-/* 80C55A40-80C55A44 000030 0004+00 0/1 0/0 0/0 .rodata @3928 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_3928 = 75.0f;
-COMPILER_STRIP_GATE(0x80C55A40, &lit_3928);
-#pragma pop
-
-/* 80C55A44-80C55A48 000034 0004+00 0/1 0/0 0/0 .rodata @3929 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u32 const lit_3929 = 0x3C5A6613;
-COMPILER_STRIP_GATE(0x80C55A44, &lit_3929);
-#pragma pop
-
-/* 80C55A48-80C55A4C 000038 0004+00 0/1 0/0 0/0 .rodata @3930 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_3930 = -0.5f;
-COMPILER_STRIP_GATE(0x80C55A48, &lit_3930);
-#pragma pop
-
-/* 80C55A4C-80C55A50 00003C 0004+00 0/1 0/0 0/0 .rodata @3931 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_3931 = 3.0f;
-COMPILER_STRIP_GATE(0x80C55A4C, &lit_3931);
-#pragma pop
-
-/* 80C54374-80C546D8 000254 0364+00 1/1 0/0 0/0 .text hit_check__FP12obj_lp_classP5wd_ss
- */
-static void hit_check(obj_lp_class* param_0, wd_ss* param_1) {
+/* 80C54374-80C546D8 000254 0364+00 1/1 0/0 0/0 .text hit_check__FP12obj_lp_classP5wd_ss */
+static int hit_check(obj_lp_class* i_this, wd_ss* WdSs) {
// NONMATCHING
+ daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0);
+ cXyz sp6c, sp60;
+ f32 fVar1, fVar2;
+ int rv = 0;
+
+ fVar1 = 50.0f;
+ for (int i = 0; i < target_info_count; i++) {
+ sp6c = WdSs->field_0x10 - *(cXyz *)(target_info[i] + 0x4d0);
+ if (sp6c.y >= -3.0f) {
+ if (JMAFastSqrt(sp6c.x * sp6c.x + sp6c.z * sp6c.z) <= fVar1 * WdSs->field_0x3c) {
+ fVar2 = fVar1 * WdSs->field_0x3c - fVar1;
+ cLib_addCalc2(&WdSs->field_0x28.x, fVar2, 0.1f, fVar2 * 0.5f);
+ cLib_addCalcAngleS2(&WdSs->field_0x34, cM_atan2s(sp6c.x, sp6c.z), 0x20, 0x400);
+ cLib_addCalcAngleS2(&WdSs->field_0x36, -4000, 0x20, 0x400);
+ rv = 1;
+ }
+ }
+ fVar1 = 70.0f;
+ }
+
+ if (daPy_getLinkPlayerActorClass()->checkCanoeRide()) {
+ f32 fVar8 = 0.0f;
+ if (demo_f != 0) {
+ PSMTXCopy(player->getRightItemMatrix(), mDoMtx_stack_c::get());
+ mDoMtx_stack_c::multVecZero(&sp60);
+ sp60.x -= WdSs->field_0x10.x;
+ sp60.z -= WdSs->field_0x10.z;
+ if ((sp60.x * sp60.x + sp60.z * sp60.z) < 2500.0f) {
+ fVar8 = 30.0f;
+ }
+ }
+
+ sp6c = WdSs->field_0x10 - player->current.pos;
+ cMtx_YrotS(*calc_mtx, -player->shape_angle.y);
+ MtxTrans(0.0f, 0.0f, 0.0f, 1);
+ MtxPosition(&sp6c, &sp60);
+
+ if (tandem) {
+ fVar1 = -275.0f;
+ fVar2 = 150.0f;
+ } else {
+ fVar1 = -125.0f;
+ fVar2 = 300.0f;
+ }
+
+ if (fabsf(sp60.x) < fVar8 + 70.0f && fVar1 > sp60.z && sp60.z < fVar2) {
+ fVar8 = fVar8 + 70.0f - fabsf(sp60.x);
+ if (fVar1 > sp60.z && sp60.z < fVar1 + 75.0f) {
+ sp60.z -= fVar1;
+ fVar8 *= fabsf(sp60.z) * 0.01333f;
+ }
+
+ cLib_addCalc2(&WdSs->field_0x10.y, WdSs->field_0x4.y + fVar8 * -0.5f, 0.5f, 3.0f);
+ cLib_addCalc2(&WdSs->field_0x28.x, fVar8, 0.1f, fVar8 * 0.5f);
+ cLib_addCalcAngleS2(&WdSs->field_0x34, cM_atan2s(sp6c.x, sp6c.z), 0x20, 0x400);
+ cLib_addCalcAngleS2(&WdSs->field_0x36, 0xfffff060, 0x20, 0x400);
+ rv = 1;
+ }
+ }
+
+ return rv;
}
-/* ############################################################################################## */
-/* 80C55A50-80C55A54 000040 0004+00 0/2 0/0 0/0 .rodata @4054 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4054 = 1.0f / 5.0f;
-COMPILER_STRIP_GATE(0x80C55A50, &lit_4054);
-#pragma pop
-
-/* 80C55A54-80C55A58 000044 0004+00 0/3 0/0 0/0 .rodata @4055 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4055 = 1.0f;
-COMPILER_STRIP_GATE(0x80C55A54, &lit_4055);
-#pragma pop
-
-/* 80C55A58-80C55A60 000048 0004+04 0/1 0/0 0/0 .rodata @4056 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4056[1 + 1 /* padding */] = {
- 1.0f / 20.0f,
- /* padding */
- 0.0f,
-};
-COMPILER_STRIP_GATE(0x80C55A58, &lit_4056);
-#pragma pop
-
-/* 80C55A60-80C55A68 000050 0008+00 0/3 0/0 0/0 .rodata @4057 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_4057[8] = {
- 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80C55A60, &lit_4057);
-#pragma pop
-
-/* 80C55A68-80C55A70 000058 0008+00 0/3 0/0 0/0 .rodata @4058 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_4058[8] = {
- 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80C55A68, &lit_4058);
-#pragma pop
-
-/* 80C55A70-80C55A78 000060 0008+00 0/3 0/0 0/0 .rodata @4059 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_4059[8] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80C55A70, &lit_4059);
-#pragma pop
-
-/* 80C55A78-80C55A7C 000068 0004+00 0/1 0/0 0/0 .rodata @4060 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4060 = 2.0f;
-COMPILER_STRIP_GATE(0x80C55A78, &lit_4060);
-#pragma pop
-
-/* 80C55A7C-80C55A80 00006C 0004+00 0/1 0/0 0/0 .rodata @4061 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4061 = 1.0f / 25.0f;
-COMPILER_STRIP_GATE(0x80C55A7C, &lit_4061);
-#pragma pop
-
-/* 80C55A80-80C55A84 000070 0004+00 0/1 0/0 0/0 .rodata @4062 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4062 = -200.0f;
-COMPILER_STRIP_GATE(0x80C55A80, &lit_4062);
-#pragma pop
-
-/* 80C55A84-80C55A88 000074 0004+00 0/1 0/0 0/0 .rodata @4063 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u32 const lit_4063 = 0x3F7C28F6;
-COMPILER_STRIP_GATE(0x80C55A84, &lit_4063);
-#pragma pop
-
-/* 80C55A88-80C55A8C 000078 0004+00 0/1 0/0 0/0 .rodata @4064 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4064 = 3.0f / 10.0f;
-COMPILER_STRIP_GATE(0x80C55A88, &lit_4064);
-#pragma pop
-
/* 80C546D8-80C54B20 0005B8 0448+00 1/1 0/0 0/0 .text hasu_action__FP12obj_lp_classP5wd_ss */
-static void hasu_action(obj_lp_class* param_0, wd_ss* param_1) {
- // NONMATCHING
+static void hasu_action(obj_lp_class* i_this, wd_ss* WdSs) {
+ if (!hit_check(i_this, WdSs)) {
+ cLib_addCalc0(&WdSs->field_0x28.x, 0.1f, 0.2f);
+ cLib_addCalcAngleS2(&WdSs->field_0x34, 0, 0x30, 100);
+ cLib_addCalcAngleS2(&WdSs->field_0x36, 0, 0x20, 200);
+ cLib_addCalc2(&WdSs->field_0x10.x, WdSs->field_0x4.x, 1.0f, 0.2f);
+ cLib_addCalc2(&WdSs->field_0x10.z, WdSs->field_0x4.z, 1.0f, 0.2f);
+ cLib_addCalc2(&WdSs->field_0x10.y, WdSs->field_0x4.y, 0.05f, 1.0f);
+ }
+
+ cXyz sp2c = i_this->field_0xad9c - WdSs->field_0x10;
+ if (fabsf(sp2c.abs() - i_this->field_0xadac) < 30.0f && WdSs->field_0x28.y < 2.0f) {
+ WdSs->field_0x28.z = i_this->field_0xada8 * 0.04f;
+ WdSs->field_0x40 = 0;
+ WdSs->field_0x42 = cM_atan2s(sp2c.x, sp2c.z);
+ }
+
+ WdSs->field_0x28.y = WdSs->field_0x28.z - WdSs->field_0x28.z * cM_scos(WdSs->field_0x40);
+ WdSs->field_0x44 = WdSs->field_0x28.z * cM_ssin(WdSs->field_0x40) * -200.0f;
+ WdSs->field_0x40 += 0x9c4;
+ WdSs->field_0x28.z *= 0.985f;
+
+ mDoMtx_stack_c::transS(WdSs->field_0x10.x, WdSs->field_0x10.y + WdSs->field_0x28.y, WdSs->field_0x10.z);
+ mDoMtx_stack_c::YrotM(WdSs->field_0x42);
+ mDoMtx_stack_c::XrotM(WdSs->field_0x44);
+ mDoMtx_stack_c::YrotM(WdSs->field_0x34 - WdSs->field_0x42);
+ mDoMtx_stack_c::transM(0.0f, 0.0f, WdSs->field_0x28.x);
+ mDoMtx_stack_c::XrotM(WdSs->field_0x36);
+ mDoMtx_stack_c::YrotM(WdSs->field_0x38);
+ mDoMtx_stack_c::scaleM(WdSs->field_0x3c, WdSs->field_0x3c, WdSs->field_0x3c);
+ WdSs->mpModel->setBaseTRMtx(mDoMtx_stack_c::get());
+
+ if (i_this->field_0xadb1 && !i_this->field_0xadb2) {
+ cXyz sp50;
+ mDoMtx_stack_c::multVecZero(&sp50);
+
+ cXyz* mPos = i_this->field_0xad7c.getPos(WdSs->field_0x50);
+
+ for (int i = 0; i < 3; i++, mPos++) {
+ if (i == 0) {
+ mPos->x = sp50.x;
+ mPos->y = sp50.y;
+ mPos->z = sp50.z;
+ } else if (i == 2) {
+ mPos->x = WdSs->field_0x1c.x;
+ mPos->y = WdSs->field_0x1c.y;
+ mPos->z = WdSs->field_0x1c.z;
+ } else {
+ mPos->x = WdSs->field_0x1c.x + (sp50.x - WdSs->field_0x1c.x) * 0.3f;
+ mPos->z = WdSs->field_0x1c.z + (sp50.z - WdSs->field_0x1c.z) * 0.3f;
+ mPos->y = WdSs->field_0x1c.y + (sp50.y - WdSs->field_0x1c.y) * 0.5f;
+ }
+ }
+ }
}
-/* ############################################################################################## */
-/* 80C55A8C-80C55A90 00007C 0004+00 0/3 0/0 0/0 .rodata @4128 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4128 = 100.0f;
-COMPILER_STRIP_GATE(0x80C55A8C, &lit_4128);
-#pragma pop
-
-/* 80C55A90-80C55A98 000080 0008+00 0/2 0/0 0/0 .rodata @4130 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_4130[8] = {
- 0x43, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80C55A90, &lit_4130);
-#pragma pop
-
/* 80C54B20-80C54D40 000A00 0220+00 1/1 0/0 0/0 .text set_out_check__FP12obj_lp_classP4cXyz */
-static void set_out_check(obj_lp_class* param_0, cXyz* param_1) {
+static int set_out_check(obj_lp_class* i_this, cXyz* param_2) {
// NONMATCHING
+ cXyz sp3c = *param_2 - i_this->current.pos;
+ if (fabsf(sp3c.y) > 100.0f || 100.0f > i_this->field_0x571 * sp3c.abs()) {
+ return 1;
+ }
+
+ camera_class* camera = dComIfGp_getCamera(0);
+ sp3c = camera->lookat.center - camera->lookat.eye;
+ s16 sVar1 = cM_atan2s(sp3c.x, sp3c.z);
+ sp3c = *param_2 - camera->lookat.eye;
+ s16 sVar2 = cM_atan2s(sp3c.x, sp3c.z);
+
+ if (sVar1 - sVar2 > 0x3000 || sVar1 - sVar2 < -0x3000) {
+ return 1;
+ }
+
+ return 0;
}
-/* ############################################################################################## */
-/* 80C55A98-80C55A9C 000088 0004+00 0/1 0/0 0/0 .rodata @4218 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4218 = 5000.0f;
-COMPILER_STRIP_GATE(0x80C55A98, &lit_4218);
-#pragma pop
-
-/* 80C55A9C-80C55AA0 00008C 0004+00 0/2 0/0 0/0 .rodata @4219 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4219 = 10.0f;
-COMPILER_STRIP_GATE(0x80C55A9C, &lit_4219);
-#pragma pop
-
-/* 80C55AA0-80C55AA8 000090 0008+00 0/1 0/0 0/0 .rodata @4221 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_4221[8] = {
- 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80C55AA0, &lit_4221);
-#pragma pop
-
-/* 80C55AC0-80C55AC0 0000B0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80C55AC0 = "D_MN05";
-#pragma pop
-
-/* 80C54D40-80C550F0 000C20 03B0+00 2/1 0/0 0/0 .text daObj_Lp_Execute__FP12obj_lp_class
- */
-static void daObj_Lp_Execute(obj_lp_class* param_0) {
+/* 80C54D40-80C550F0 000C20 03B0+00 2/1 0/0 0/0 .text daObj_Lp_Execute__FP12obj_lp_class */
+static int daObj_Lp_Execute(obj_lp_class* i_this) {
// NONMATCHING
+ i_this->field_0x574++;
+ if (i_this->field_0xadb0) {
+ i_this->field_0xadb0 += -1;
+ }
+
+ for (int i = 1; i < 10; i++) {
+ target_info[i] = 0;
+ }
+
+ target_info[0] = (int)dComIfGp_getPlayer(0);
+ target_info_count = 1;
+
+ if (strcmp(dComIfGp_getStartStageName(), "D_MN05") == 0) {
+ fpcM_Search(s_ks_sub, i_this);
+ }
+
+ if (i_this->field_0xadb1) {
+ daCanoe_c* mCanoe = (daCanoe_c*)fopAcM_SearchByName(0xed);
+ if (mCanoe) {
+ tandem = mCanoe->checkTandem();
+ dmg_rod_class* mDmgRod = (dmg_rod_class*)fopAcM_SearchByName(0x2e4);
+ if (((mDmgRod && mDmgRod->field_0x13b4 == 11) &&
+ mDmgRod->field_0x13b6 > 20) && mDmgRod->field_0x13b6 < 0x3c) {
+ demo_f = 1;
+ } else {
+ demo_f = 0;
+ }
+ }
+ }
+
+ camera_class* camera = dComIfGp_getCamera(0);
+ wd_ss* WdSs = i_this->mWdSs;
+ for (int i = 0; i < i_this->field_0xad98; i++, WdSs++) {
+ if ((i_this->field_0x574 + i & 0x1f) == 0) {
+ f32 fVar1 = WdSs->field_0x10.x - camera->lookat.eye.x;
+ f32 fVar2 = WdSs->field_0x10.z - camera->lookat.eye.z;
+ fVar1 = JMAFastSqrt(fVar1 * fVar1 + fVar2 * fVar2);
+ if (fVar1 < 5000.0f) {
+ WdSs->field_0x4f = 0;
+ } else {
+ WdSs->field_0x4f = 1;
+ }
+
+ if (i == 0 && i_this->field_0xadb1) {
+ i_this->field_0xadb2 = WdSs->field_0x4f;
+ }
+ }
+
+ if (!WdSs->field_0x4f || i_this->field_0xadb0) {
+ hasu_action(i_this, WdSs);
+ }
+ }
+
+ f32 fVar7 = 0.0f;
+ if ((i_this->field_0x574 & 15) == 0) {
+ fopAc_ac_c* player = dComIfGp_getPlayer(0);
+ if (!set_out_check(i_this, &player->current.pos)) {
+ if (fabsf(player->speedF) > 1.0f) {
+ i_this->field_0xad9c = player->current.pos;
+ }
+ }
+ }
+
+ SND_INFLUENCE* sound = dKy_Sound_get();
+ if ((sound->actor_id != -1 && (i_this->field_0x574 +3 & 1) == 0) && !set_out_check(i_this, &sound->position)) {
+ fVar7 = sound->field_0xc;
+ i_this->field_0xad9c = sound->position;
+ sound->timer = 1;
+ sound->actor_id = -1;
+ }
+
+ if (fVar7 > 1.0f) {
+ f32 fVar2 = fVar7 * 10.0f;
+ if (fVar7 * 10.0f > 100.0f) {
+ fVar2 = 100.0f;
+ }
+
+ if (i_this->field_0xada8 <= fVar2) {
+ i_this->field_0xada8 = fVar2;
+ i_this->field_0xadac = 0.0f;
+ }
+ }
+
+ if (i_this->field_0xada8 > 0.1f) {
+ cLib_addCalc0(&i_this->field_0xada8, 0.1f, 1.0f);
+ i_this->field_0xadac += 10.0f;
+ }
+
+ return 1;
}
-/* 80C550F0-80C550F8 000FD0 0008+00 1/0 0/0 0/0 .text daObj_Lp_IsDelete__FP12obj_lp_class
- */
-static bool daObj_Lp_IsDelete(obj_lp_class* param_0) {
- return true;
+/* 80C550F0-80C550F8 000FD0 0008+00 1/0 0/0 0/0 .text daObj_Lp_IsDelete__FP12obj_lp_class */
+static int daObj_Lp_IsDelete(obj_lp_class* i_this) {
+ return 1;
}
-/* ############################################################################################## */
-/* 80C55AC0-80C55AC0 0000B0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80C55AC7 = "Obj_lp";
-#pragma pop
-
-/* 80C550F8-80C5518C 000FD8 0094+00 1/0 0/0 0/0 .text daObj_Lp_Delete__FP12obj_lp_class
- */
-static void daObj_Lp_Delete(obj_lp_class* param_0) {
+/* 80C550F8-80C5518C 000FD8 0094+00 1/0 0/0 0/0 .text daObj_Lp_Delete__FP12obj_lp_class */
+static int daObj_Lp_Delete(obj_lp_class* i_this) {
// NONMATCHING
+ if (i_this->field_0xadb4) {
+ J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("Obj_lp", 3);
+ dComIfGp_removeSimpleModel(modelData, fopAcM_GetRoomNo(i_this));
+ }
+ dComIfG_resDelete(&i_this->mPhase, "Obj_lp");
+ return 1;
}
-/* ############################################################################################## */
-/* 80C55AA8-80C55AAC 000098 0004+00 1/1 0/0 0/0 .rodata @4267 */
-SECTION_RODATA static f32 const lit_4267 = 13.0f / 10.0f;
-COMPILER_STRIP_GATE(0x80C55AA8, &lit_4267);
-
/* 80C5518C-80C552C0 00106C 0134+00 1/1 0/0 0/0 .text useHeapInit__FP10fopAc_ac_c */
-static void useHeapInit(fopAc_ac_c* param_0) {
- // NONMATCHING
+static int useHeapInit(fopAc_ac_c* a_this) {
+ obj_lp_class* i_this = (obj_lp_class*)a_this;
+
+ J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("Obj_lp", 3);
+
+ for (int i = 0; i < i_this->field_0xad98; i++) {
+ i_this->mWdSs[i].mpModel = mDoExt_J3DModel__create(modelData, 0x20000, 0x11000084);
+ if (i_this->mWdSs[i].mpModel == NULL) {
+ return 0;
+ }
+ }
+
+ if (i_this->field_0xadb1) {
+ if (!i_this->field_0xad7c.init(i_this->field_0xad98, 3, 1)) {
+ return 0;
+ }
+
+ for (int i = 0; i < i_this->field_0xad98; i++) {
+ f32* mSize = i_this->field_0xad7c.getSize(i);
+ for (int j = 0; j < 3; j++) {
+ *mSize = 0.1f + 1.3f;
+ mSize++;
+ }
+ }
+ }
+
+ return 1;
}
-/* ############################################################################################## */
-/* 80C55AAC-80C55AB0 00009C 0004+00 0/1 0/0 0/0 .rodata @4320 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4320 = 35.0f;
-COMPILER_STRIP_GATE(0x80C55AAC, &lit_4320);
-#pragma pop
-
-/* 80C55AB0-80C55AB4 0000A0 0004+00 0/2 0/0 0/0 .rodata @4321 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4321 = 1.5f;
-COMPILER_STRIP_GATE(0x80C55AB0, &lit_4321);
-#pragma pop
-
/* 80C552C0-80C55488 0011A0 01C8+00 1/1 0/0 0/0 .text set_pos_check__FP12obj_lp_classi */
-static void set_pos_check(obj_lp_class* param_0, int param_1) {
- // NONMATCHING
+static int set_pos_check(obj_lp_class* i_this, int param_2) {
+ f32 fVar1 = 35.0f;
+ if (i_this->field_0x572 == 1) {
+ fVar1 *= 1.5f;
+ }
+
+ for (int i = 0; i < param_2; i++) {
+ cXyz sp48 = i_this->mWdSs[i].field_0x10 - i_this->mWdSs[param_2].field_0x10;
+ if (sp48.abs() < fVar1) {
+ return 0;
+ }
+ }
+
+ return 1;
}
-/* ############################################################################################## */
-/* 80C55AB4-80C55AB8 0000A4 0004+00 0/1 0/0 0/0 .rodata @4457 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4457 = -100.0f;
-COMPILER_STRIP_GATE(0x80C55AB4, &lit_4457);
-#pragma pop
-
-/* 80C55AB8-80C55ABC 0000A8 0004+00 0/1 0/0 0/0 .rodata @4458 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4458 = 65536.0f;
-COMPILER_STRIP_GATE(0x80C55AB8, &lit_4458);
-#pragma pop
-
-/* 80C55ABC-80C55AC0 0000AC 0004+00 0/1 0/0 0/0 .rodata @4459 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4459 = 200.0f;
-COMPILER_STRIP_GATE(0x80C55ABC, &lit_4459);
-#pragma pop
-
-/* 80C55AC0-80C55AC0 0000B0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80C55ACE = "F_SP127";
-#pragma pop
+/* 80C55488-80C559C8 001368 0540+00 1/0 0/0 0/0 .text daObj_Lp_Create__FP10fopAc_ac_c */
+static int daObj_Lp_Create(fopAc_ac_c* a_this) {
+ // NONMATCHING
+ obj_lp_class* i_this = (obj_lp_class*)a_this;
+ fopAcM_SetupActor(i_this, obj_lp_class);
+
+ int phase_state = dComIfG_resLoad(&i_this->mPhase, "Obj_lp");
+ if (phase_state == cPhs_COMPLEATE_e) {
+ OS_REPORT("OBJ_LP PARAM %x\n", fopAcM_GetParam(i_this));
+
+ i_this->field_0x570 = fopAcM_GetParam(i_this);
+ i_this->field_0x571 = fopAcM_GetParam(i_this) >> 8;
+ i_this->field_0x572 = fopAcM_GetParam(i_this) >> 16;
+
+ if (i_this->field_0x572 == 0xff) {
+ i_this->field_0x572 = 0;
+ }
+
+ i_this->field_0xad98 = i_this->field_0x570 + 1;
+
+ if (dStage_stagInfo_GetSTType(dComIfGp_getStage()->getStagInfo()) == ST_FIELD) {
+ i_this->field_0xad98 <<= 1;
+ if (strcmp(dComIfGp_getStartStageName(), "F_SP127") == 0) {
+ i_this->field_0xadb1 = 1;
+ }
+ }
+
+ if (i_this->field_0xad98 > 0x200) {
+ i_this->field_0xad98 = 0x200;
+ }
+ OS_REPORT("OBJ_LP//////////////OBJ_LP SET 1 !!\n");
+
+ int iVar3;
+ if (i_this->field_0xadb1 != 0) {
+ iVar3 = 800;
+ } else {
+ iVar3 = 0x1e8;
+ }
+
+ if (!fopAcM_entrySolidHeap(i_this, useHeapInit, i_this->field_0xad98 * iVar3)) {
+ OS_REPORT("//////////////OBJ_LP SET NON !!\n");
+ return cPhs_ERROR_e;
+ }
+
+ OS_REPORT("//////////////OBJ_LP NUM : %d !!\n", i_this->field_0xad98);
+
+ fopAcM_SetMtx(i_this, i_this->mWdSs[0].mpModel->getBaseTRMtx());
+
+ f32 fVar1 = i_this->field_0x571 * 70.0f + 50.0f;
+ fopAcM_SetMin(i_this, -fVar1, -100.0f, -fVar1);
+ fopAcM_SetMax(i_this, fVar1, 100.0f, fVar1);
+ MtxTrans(i_this->current.pos.x, i_this->current.pos.y, i_this->current.pos.z, 0);
+
+ cXyz sp13c(0.0f, 0.0f, 0.0f);
+ dBgS_GndChk dStack_dc;
+ dBgS_ObjGndChk_Spl cStack_130;
+ int iVar4 = 0;
+ f32 fVar13 = 1.0f;
+ if (i_this->field_0x572 == 1) {
+ fVar13 = 1.5f;
+ }
+
+ for (int i = 0; i < i_this->field_0xad98; i++) {
+ MtxPush();
+ cMtx_YrotM(*calc_mtx, cM_rndF(65536.0f));
+ MtxPosition(&sp13c, &i_this->mWdSs[i].field_0x10);
+ f32 rndF = cM_rndF(1.0f);
+ f32 fVar1 = 1.0f - rndF * rndF;
+ sp13c.z = fVar1 * (i_this->field_0x571 * 100.0f);
+ MtxPull();
+
+ cXyz sp148;
+ sp148.x = i_this->mWdSs[i].field_0x10.x;
+ sp148.y = i_this->mWdSs[i].field_0x10.y + 100.0f;
+ sp148.z = i_this->mWdSs[i].field_0x10.z;
+
+ dStack_dc.SetPos(&(Vec)sp148);
+ cStack_130.SetPos(&(Vec)sp148);
+ i_this->mWdSs[i].field_0x10.y = dComIfG_Bgsp().GroundCross(&cStack_130);
+
+ i_this->mWdSs[i].field_0x38 = cM_rndF(65536.0f);
+
+ if (i == 0) {
+ i_this->current.pos.y = i_this->mWdSs[i].field_0x10.y;
+ }
+
+ i_this->mWdSs[i].field_0x1c.y = dComIfG_Bgsp().GroundCross(&dStack_dc);
+
+ if ((set_pos_check(i_this, i) && i_this->mWdSs[i].field_0x10.y - i_this->mWdSs[i].field_0x1c.y > 10.0f) &&
+ (i_this->field_0xadb1 != 0 && i_this->mWdSs[i].field_0x10.y - i_this->mWdSs[i].field_0x1c.y < 200.0f)) {
+ i_this->mWdSs[i].field_0x4e = 1;
+ i_this->mWdSs[i].field_0x3c = fVar13 * (cM_rndFX(0.2f) + 1.0f);
+ i_this->mWdSs[i].field_0x4 = i_this->mWdSs[i].field_0x10;
+ i_this->mWdSs[i].field_0x1c.x = i_this->mWdSs[i].field_0x10.x + cM_rndFX(10.0f);
+ i_this->mWdSs[i].field_0x1c.z = i_this->mWdSs[i].field_0x10.z + cM_rndFX(10.0f);
+ i_this->mWdSs[i].field_0x50 = i;
+ } else {
+ i--;
+ iVar4++;
+ if (iVar4 > 10000) {
+ OS_REPORT(" 植物の指定範囲が狭すぎて置けません!!!!\n");
+ return cPhs_ERROR_e;
+ }
+ }
+ }
+
+ i_this->field_0x574 = fopAcM_GetID(i_this);
+ i_this->field_0xadb0 = 10;
+
+ daObj_Lp_Execute(i_this);
+
+ J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("Obj_lp", 3);
+ JUT_ASSERT(0x3b0, modelData != 0);
+
+ dComIfGp_addSimpleModel(modelData, fopAcM_GetRoomNo(i_this), 0);
+ if (modelData == NULL) {
+ OS_REPORT("\x1b[43;30mリリーパッド:シンプルモデル登録失敗しました。\n");
+ }
+
+ i_this->field_0xadb4 = 1;
+ }
+
+ return phase_state;
+}
/* 80C55ADC-80C55AFC -00001 0020+00 1/0 0/0 0/0 .data l_daObj_Lp_Method */
static actor_method_class l_daObj_Lp_Method = {
- (process_method_func)daObj_Lp_Create__FP10fopAc_ac_c,
- (process_method_func)daObj_Lp_Delete__FP12obj_lp_class,
- (process_method_func)daObj_Lp_Execute__FP12obj_lp_class,
- (process_method_func)daObj_Lp_IsDelete__FP12obj_lp_class,
- (process_method_func)daObj_Lp_Draw__FP12obj_lp_class,
+ (process_method_func)daObj_Lp_Create,
+ (process_method_func)daObj_Lp_Delete,
+ (process_method_func)daObj_Lp_Execute,
+ (process_method_func)daObj_Lp_IsDelete,
+ (process_method_func)daObj_Lp_Draw,
};
/* 80C55AFC-80C55B2C -00001 0030+00 0/0 0/0 1/0 .data g_profile_OBJ_LP */
@@ -601,196 +527,4 @@ extern actor_process_profile_definition g_profile_OBJ_LP = {
fopAc_CULLBOX_CUSTOM_e, // cullType
};
-/* 80C55B2C-80C55B40 000054 0014+00 1/1 0/0 0/0 .data __vt__18mDoExt_3DlineMat_c */
-SECTION_DATA extern void* __vt__18mDoExt_3DlineMat_c[5] = {
- (void*)NULL /* RTTI */, (void*)NULL, (void*)NULL, (void*)NULL, (void*)NULL,
-};
-
-/* 80C55488-80C559C8 001368 0540+00 1/0 0/0 0/0 .text daObj_Lp_Create__FP10fopAc_ac_c */
-static void daObj_Lp_Create(fopAc_ac_c* param_0) {
- // NONMATCHING
-}
-
-/* 80C559C8-80C55A04 0018A8 003C+00 1/1 0/0 0/0 .text __dt__5wd_ssFv */
-wd_ss::~wd_ss() {
- // NONMATCHING
-}
-
-/* 80C55A04-80C55A08 0018E4 0004+00 1/1 0/0 0/0 .text __ct__5wd_ssFv */
-wd_ss::wd_ss() {
- /* empty function */
-}
-
-/* ############################################################################################## */
-/* 80C55BB4-80C55BB8 000074 0004+00 0/0 0/0 0/0 .bss
- * sInstance__40JASGlobalInstance<19JASDefaultBankTable> */
-#pragma push
-#pragma force_active on
-static u8 data_80C55BB4[4];
-#pragma pop
-
-/* 80C55BB8-80C55BBC 000078 0004+00 0/0 0/0 0/0 .bss
- * sInstance__35JASGlobalInstance<14JASAudioThread> */
-#pragma push
-#pragma force_active on
-static u8 data_80C55BB8[4];
-#pragma pop
-
-/* 80C55BBC-80C55BC0 00007C 0004+00 0/0 0/0 0/0 .bss sInstance__27JASGlobalInstance<7Z2SeMgr> */
-#pragma push
-#pragma force_active on
-static u8 data_80C55BBC[4];
-#pragma pop
-
-/* 80C55BC0-80C55BC4 000080 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8Z2SeqMgr> */
-#pragma push
-#pragma force_active on
-static u8 data_80C55BC0[4];
-#pragma pop
-
-/* 80C55BC4-80C55BC8 000084 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SceneMgr>
- */
-#pragma push
-#pragma force_active on
-static u8 data_80C55BC4[4];
-#pragma pop
-
-/* 80C55BC8-80C55BCC 000088 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2StatusMgr>
- */
-#pragma push
-#pragma force_active on
-static u8 data_80C55BC8[4];
-#pragma pop
-
-/* 80C55BCC-80C55BD0 00008C 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2DebugSys>
- */
-#pragma push
-#pragma force_active on
-static u8 data_80C55BCC[4];
-#pragma pop
-
-/* 80C55BD0-80C55BD4 000090 0004+00 0/0 0/0 0/0 .bss
- * sInstance__36JASGlobalInstance<15JAISoundStarter> */
-#pragma push
-#pragma force_active on
-static u8 data_80C55BD0[4];
-#pragma pop
-
-/* 80C55BD4-80C55BD8 000094 0004+00 0/0 0/0 0/0 .bss
- * sInstance__35JASGlobalInstance<14Z2SoundStarter> */
-#pragma push
-#pragma force_active on
-static u8 data_80C55BD4[4];
-#pragma pop
-
-/* 80C55BD8-80C55BDC 000098 0004+00 0/0 0/0 0/0 .bss
- * sInstance__33JASGlobalInstance<12Z2SpeechMgr2> */
-#pragma push
-#pragma force_active on
-static u8 data_80C55BD8[4];
-#pragma pop
-
-/* 80C55BDC-80C55BE0 00009C 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8JAISeMgr> */
-#pragma push
-#pragma force_active on
-static u8 data_80C55BDC[4];
-#pragma pop
-
-/* 80C55BE0-80C55BE4 0000A0 0004+00 0/0 0/0 0/0 .bss sInstance__29JASGlobalInstance<9JAISeqMgr> */
-#pragma push
-#pragma force_active on
-static u8 data_80C55BE0[4];
-#pragma pop
-
-/* 80C55BE4-80C55BE8 0000A4 0004+00 0/0 0/0 0/0 .bss
- * sInstance__33JASGlobalInstance<12JAIStreamMgr> */
-#pragma push
-#pragma force_active on
-static u8 data_80C55BE4[4];
-#pragma pop
-
-/* 80C55BE8-80C55BEC 0000A8 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SoundMgr>
- */
-#pragma push
-#pragma force_active on
-static u8 data_80C55BE8[4];
-#pragma pop
-
-/* 80C55BEC-80C55BF0 0000AC 0004+00 0/0 0/0 0/0 .bss
- * sInstance__33JASGlobalInstance<12JAISoundInfo> */
-#pragma push
-#pragma force_active on
-static u8 data_80C55BEC[4];
-#pragma pop
-
-/* 80C55BF0-80C55BF4 0000B0 0004+00 0/0 0/0 0/0 .bss
- * sInstance__34JASGlobalInstance<13JAUSoundTable> */
-#pragma push
-#pragma force_active on
-static u8 data_80C55BF0[4];
-#pragma pop
-
-/* 80C55BF4-80C55BF8 0000B4 0004+00 0/0 0/0 0/0 .bss
- * sInstance__38JASGlobalInstance<17JAUSoundNameTable> */
-#pragma push
-#pragma force_active on
-static u8 data_80C55BF4[4];
-#pragma pop
-
-/* 80C55BF8-80C55BFC 0000B8 0004+00 0/0 0/0 0/0 .bss
- * sInstance__33JASGlobalInstance<12JAUSoundInfo> */
-#pragma push
-#pragma force_active on
-static u8 data_80C55BF8[4];
-#pragma pop
-
-/* 80C55BFC-80C55C00 0000BC 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SoundInfo>
- */
-#pragma push
-#pragma force_active on
-static u8 data_80C55BFC[4];
-#pragma pop
-
-/* 80C55C00-80C55C04 0000C0 0004+00 0/0 0/0 0/0 .bss
- * sInstance__34JASGlobalInstance<13Z2SoundObjMgr> */
-#pragma push
-#pragma force_active on
-static u8 data_80C55C00[4];
-#pragma pop
-
-/* 80C55C04-80C55C08 0000C4 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2Audience>
- */
-#pragma push
-#pragma force_active on
-static u8 data_80C55C04[4];
-#pragma pop
-
-/* 80C55C08-80C55C0C 0000C8 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2FxLineMgr>
- */
-#pragma push
-#pragma force_active on
-static u8 data_80C55C08[4];
-#pragma pop
-
-/* 80C55C0C-80C55C10 0000CC 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2EnvSeMgr>
- */
-#pragma push
-#pragma force_active on
-static u8 data_80C55C0C[4];
-#pragma pop
-
-/* 80C55C10-80C55C14 0000D0 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SpeechMgr>
- */
-#pragma push
-#pragma force_active on
-static u8 data_80C55C10[4];
-#pragma pop
-
-/* 80C55C14-80C55C18 0000D4 0004+00 0/0 0/0 0/0 .bss
- * sInstance__34JASGlobalInstance<13Z2WolfHowlMgr> */
-#pragma push
-#pragma force_active on
-static u8 data_80C55C14[4];
-#pragma pop
-
-/* 80C55AC0-80C55AC0 0000B0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
+AUDIO_INSTANCES;