mirror of https://github.com/zeldaret/tp
d_a_e_bi & d_a_obj_fw equivalent (#2592)
* initial work * d_a_obj_fw equivalent * d_a_e_bi equivalent * Update d_a_obj_fw.cpp --------- Co-authored-by: hatal175 <hatal175@users.noreply.github.com>
This commit is contained in:
parent
aaa9cb22ef
commit
7a87b3132f
|
|
@ -1652,7 +1652,7 @@ config.libs = [
|
|||
ActorRel(Equivalent, "d_a_e_ba"), # weak func order
|
||||
ActorRel(NonMatching, "d_a_e_bee"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_e_bg"),
|
||||
ActorRel(NonMatching, "d_a_e_bi"),
|
||||
ActorRel(Equivalent, "d_a_e_bi"), # weak func order
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_e_bi_leaf"),
|
||||
ActorRel(Equivalent, "d_a_e_bs"), # weak func order
|
||||
ActorRel(Equivalent, "d_a_e_bu"),
|
||||
|
|
@ -1930,7 +1930,7 @@ config.libs = [
|
|||
ActorRel(Equivalent, "d_a_obj_flag2"), # weak function order
|
||||
ActorRel(NonMatching, "d_a_obj_flag3"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_food"),
|
||||
ActorRel(NonMatching, "d_a_obj_fw"),
|
||||
ActorRel(Equivalent, "d_a_obj_fw"), # weak function order
|
||||
ActorRel(NonMatching, "d_a_obj_gadget"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_ganonwall"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_ganonwall2"),
|
||||
|
|
|
|||
|
|
@ -1,5 +1,8 @@
|
|||
#ifndef D_A_E_BI_H
|
||||
#define D_A_E_BI_H
|
||||
#include "d/d_bg_s_acch.h"
|
||||
#include "d/d_cc_d.h"
|
||||
#include "d/d_cc_uty.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
/**
|
||||
|
|
@ -9,17 +12,75 @@
|
|||
*
|
||||
* @details
|
||||
*
|
||||
*/
|
||||
class e_bi_class : public fopEn_enemy_c {
|
||||
private:
|
||||
/* 0x5ac */ u8 field_0x5ac[0xc00 - 0x5ac];
|
||||
*/
|
||||
|
||||
class e_bi_class {
|
||||
public:
|
||||
/* 0x000 */ fopEn_enemy_c actor;
|
||||
/* 0x5AC */ request_of_phase_process_class mPhase;
|
||||
/* 0x5B4 */ u8 field_0x5b4;
|
||||
/* 0x5B5 */ u8 field_0x5b5;
|
||||
/* 0x5B6 */ u8 field_0x5b6;
|
||||
/* 0x5B7 */ u8 field_0x5b7;
|
||||
/* 0x5B8 */ mDoExt_McaMorfSO* mpModelMorf;
|
||||
/* 0x5BC */ Z2CreatureEnemy mSound;
|
||||
/* 0x660 */ f32 field_0x660;
|
||||
/* 0x664 */ int mAnm;
|
||||
/* 0x668 */ u32 mShadowKey;
|
||||
/* 0x66C */ s16 field_0x66c;
|
||||
/* 0x66E */ s16 mAction;
|
||||
/* 0x670 */ s16 field_0x670;
|
||||
/* 0x672 */ u8 field_0x672[0x680 - 0x672];
|
||||
/* 0x680 */ s16 field_0x680;
|
||||
/* 0x682 */ u8 field_0x682[0x684 - 0x682];
|
||||
/* 0x684 */ s16 field_0x684;
|
||||
/* 0x688 */ f32 field_0x688;
|
||||
/* 0x68C */ s16 field_0x68c[3];
|
||||
/* 0x692 */ s16 field_0x692;
|
||||
/* 0x694 */ s16 field_0x694;
|
||||
/* 0x696 */ s16 field_0x696;
|
||||
/* 0x698 */ s16 field_0x698;
|
||||
/* 0x69A */ u8 field_0x69a[0x6a2 - 0x69a];
|
||||
/* 0x6A2 */ s16 field_0x6a2;
|
||||
/* 0x6A4 */ s16 field_0x6a4;
|
||||
/* 0x6A6 */ s16 field_0x6a6;
|
||||
/* 0x6A8 */ f32 field_0x6a8;
|
||||
/* 0x6AC */ f32 field_0x6ac;
|
||||
/* 0x6B0 */ s8 field_0x6b0;
|
||||
/* 0x6B4 */ dCcD_Stts mStts;
|
||||
/* 0x6F0 */ dCcD_Cyl field_0x6f0;
|
||||
/* 0x82C */ dCcD_Sph field_0x82c;
|
||||
/* 0x964 */ dCcU_AtInfo mAtInfo;
|
||||
/* 0x988 */ u8 field_0x988;
|
||||
/* 0x98C */ dBgS_AcchCir mAcchCir;
|
||||
/* 0x9CC */ dBgS_ObjAcch mObjAcch;
|
||||
/* 0xBA4 */ fpc_ProcID field_0xba4;
|
||||
/* 0xBA8 */ fpc_ProcID field_0xba8;
|
||||
/* 0xBAC */ s8 field_0xbac;
|
||||
/* 0xBAD */ s8 field_0xbad;
|
||||
/* 0xBB0 */ cXyz field_0xbb0;
|
||||
/* 0xBBC */ u8 field_0xbbc[0xbc4 - 0xbbc];
|
||||
/* 0xBC4 */ u32 field_0xbc4[5];
|
||||
/* 0xBD8 */ u32 field_0xbd8[4];
|
||||
/* 0xBE8 */ u32 field_0xbe8;
|
||||
/* 0xBEC */ u8 field_0xbec[0xbfc - 0xbec];
|
||||
/* 0xBFC */ u8 field_0xbfc;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(e_bi_class) == 0xc00);
|
||||
|
||||
class daE_BI_HIO_c {
|
||||
class daE_BI_HIO_c : public JORReflexible {
|
||||
public:
|
||||
/* 8068A5EC */ daE_BI_HIO_c();
|
||||
/* 8068D2DC */ ~daE_BI_HIO_c();
|
||||
/* 8068D2DC */ virtual ~daE_BI_HIO_c() {}
|
||||
|
||||
/* 爆弾虫 - Bomb Bug */
|
||||
/* 0x04 */ s8 field_0x4;
|
||||
/* 0x08 */ f32 basic_size; // 基本サイズ - Basic Size
|
||||
/* 0x0C */ f32 search_range; // サーチ範囲 - Search Range
|
||||
/* 0x10 */ f32 track_range; // 追尾範囲 - Track Range
|
||||
/* 0x14 */ s16 time_to_get_going; // 動き出すまでの時間 - Time To Get Going
|
||||
/* 0x18 */ f32 movement_spd; // 移動速度 - Movement Speed
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -10,18 +10,50 @@
|
|||
*
|
||||
* @details
|
||||
*
|
||||
*/
|
||||
class obj_fw_class : public fopAc_ac_c {
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x628 - 0x568];
|
||||
*/
|
||||
|
||||
class obj_fw_class {
|
||||
public:
|
||||
/* 0x000 */ fopAc_ac_c actor;
|
||||
/* 0x568 */ request_of_phase_process_class mPhase;
|
||||
/* 0x570 */ u8 field_0x570;
|
||||
/* 0x574 */ J3DModel* mpModel;
|
||||
/* 0x578 */ s16 field_0x578;
|
||||
/* 0x57A */ s16 field_0x57a;
|
||||
/* 0x57C */ u8 field_0x57c[0x57e - 0x57c];
|
||||
/* 0x57E */ s16 field_0x57e[2];
|
||||
/* 0x584 */ f32 field_0x584;
|
||||
/* 0x588 */ f32 field_0x588;
|
||||
/* 0x58C */ f32 field_0x58c;
|
||||
/* 0x590 */ s16 field_0x590;
|
||||
/* 0x592 */ s16 field_0x592;
|
||||
/* 0x594 */ f32 field_0x594;
|
||||
/* 0x598 */ f32 field_0x598;
|
||||
/* 0x59C */ u8 field_0x59c[0x5a0 - 0x59c];
|
||||
/* 0x5A0 */ s16 field_0x5a0;
|
||||
/* 0x5A2 */ s16 field_0x5a2;
|
||||
/* 0x5A4 */ s16 field_0x5a4;
|
||||
/* 0x5A8 */ cXyz field_0x5a8;
|
||||
/* 0x5B4 */ u8 field_0x5b4[0x5b8 - 0x5b4];
|
||||
/* 0x5B8 */ Mtx mMtx;
|
||||
/* 0x5E8 */ dBgW* mpBgW;
|
||||
/* 0x5EC */ Z2SoundObjSimple mSound;
|
||||
/* 0x60C */ u8 field_0x60c[0x61c - 0x60c];
|
||||
/* 0x61C */ u32 field_0x61c;
|
||||
/* 0x620 */ u8 field_0x620[0x624 - 0x620];
|
||||
/* 0x624 */ u8 field_0x624;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(obj_fw_class) == 0x628);
|
||||
|
||||
class daObj_Fw_HIO_c {
|
||||
class daObj_Fw_HIO_c : public JORReflexible {
|
||||
public:
|
||||
/* 80BF204C */ daObj_Fw_HIO_c();
|
||||
/* 80BF2AB0 */ ~daObj_Fw_HIO_c();
|
||||
/* 80BF2AB0 */ virtual ~daObj_Fw_HIO_c() {}
|
||||
|
||||
/* 流木 - Driftwood */
|
||||
/* 0x4 */ s8 field_0x4;
|
||||
/* 0x8 */ f32 size; // 大きさ - Size
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -88,6 +88,16 @@ public:
|
|||
return (fopAc_ac_c*)fopAcM_fastCreate(PROC_NBOMB, 0x11, i_pos, i_roomNo, i_angle, NULL, -1,
|
||||
NULL, NULL);
|
||||
}
|
||||
|
||||
static fopAc_ac_c* createEnemyBombHookshot(cXyz* i_pos, csXyz* i_angle, int i_roomNo) {
|
||||
return (fopAc_ac_c*)fopAcM_fastCreate(PROC_NBOMB, 13, i_pos, i_roomNo, i_angle, NULL, -1,
|
||||
NULL, NULL);
|
||||
}
|
||||
|
||||
static fopAc_ac_c* createEnemyBomb(cXyz* i_pos, csXyz* i_angle, int i_roomNo) {
|
||||
return (fopAc_ac_c*)fopAcM_fastCreate(PROC_NBOMB, 0xB, i_pos, i_roomNo, i_angle, NULL, -1,
|
||||
NULL, NULL);
|
||||
}
|
||||
};
|
||||
|
||||
#endif /* D_D_BOMB_H */
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -4,103 +4,317 @@
|
|||
*/
|
||||
|
||||
#include "d/actor/d_a_obj_fw.h"
|
||||
#include "dol2asm.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "d/d_bg_w.h"
|
||||
#include "d/d_s_play.h"
|
||||
|
||||
enum RYUW00_RES_File_ID {
|
||||
/* BMDR */
|
||||
/* 0x4 */ BMDR_K_RYUWOOD00 = 0x4,
|
||||
/* 0x5 */ BMDR_K_RYUWOOD01,
|
||||
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__14daObj_Fw_HIO_cFv();
|
||||
extern "C" static void ride_call_back__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c();
|
||||
extern "C" static void daObj_Fw_Draw__FP12obj_fw_class();
|
||||
extern "C" static void water_check__FP12obj_fw_class();
|
||||
extern "C" static void fw_float__FP12obj_fw_class();
|
||||
extern "C" static void action__FP12obj_fw_class();
|
||||
extern "C" static void daObj_Fw_Execute__FP12obj_fw_class();
|
||||
extern "C" static bool daObj_Fw_IsDelete__FP12obj_fw_class();
|
||||
extern "C" static void daObj_Fw_Delete__FP12obj_fw_class();
|
||||
extern "C" static void useHeapInit__FP10fopAc_ac_c();
|
||||
extern "C" static void daObj_Fw_Create__FP10fopAc_ac_c();
|
||||
extern "C" void __dt__14daObj_Fw_HIO_cFv();
|
||||
extern "C" void __sinit_d_a_obj_fw_cpp();
|
||||
extern "C" extern char const* const d_a_obj_fw__stringBase0;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoMtx_XrotM__FPA4_fs();
|
||||
extern "C" void mDoMtx_YrotM__FPA4_fs();
|
||||
extern "C" void mDoMtx_ZrotM__FPA4_fs();
|
||||
extern "C" void scaleM__14mDoMtx_stack_cFfff();
|
||||
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
|
||||
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
|
||||
extern "C" void __ct__10fopAc_ac_cFv();
|
||||
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 fopAcM_effHamonSet__FPUlPC4cXyzff();
|
||||
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 isDungeonItem__12dSv_memBit_cCFi();
|
||||
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
|
||||
extern "C" void Release__4cBgSFP9dBgW_Base();
|
||||
extern "C" void GroundCross__4cBgSFP11cBgS_GndChk();
|
||||
extern "C" void Regist__4dBgSFP9dBgW_BaseP10fopAc_ac_c();
|
||||
extern "C" void dBgS_MoveBGProc_Typical__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz();
|
||||
extern "C" void __ct__18dBgS_ObjGndChk_SplFv();
|
||||
extern "C" void __dt__18dBgS_ObjGndChk_SplFv();
|
||||
extern "C" void Set__4cBgWFP6cBgD_tUlPA3_A4_f();
|
||||
extern "C" void __ct__4dBgWFv();
|
||||
extern "C" void Move__4dBgWFv();
|
||||
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
|
||||
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
|
||||
extern "C" void cM_atan2s__Fff();
|
||||
extern "C" void cM_rndF__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 deleteObject__14Z2SoundObjBaseFv();
|
||||
extern "C" void __ct__16Z2SoundObjSimpleFv();
|
||||
extern "C" void* __nw__FUl();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" u8 sincosTable___5JMath[65536];
|
||||
extern "C" void __register_global_object();
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BF2B48-80BF2B4C 000000 0004+00 5/5 0/0 0/0 .rodata @3647 */
|
||||
SECTION_RODATA static f32 const lit_3647 = 1.0f;
|
||||
COMPILER_STRIP_GATE(0x80BF2B48, &lit_3647);
|
||||
|
||||
/* 80BF2BAC-80BF2BB4 000000 0008+00 1/1 0/0 0/0 .data bmdd$3836 */
|
||||
SECTION_DATA static u8 bmdd[8] = {
|
||||
0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05,
|
||||
/* DZB */
|
||||
/* 0x8 */ DZB_K_RYUWOOD00 = 0x8,
|
||||
/* 0x9 */ DZB_K_RYUWOOD01,
|
||||
};
|
||||
|
||||
/* 80BF2BB4-80BF2BBC 000008 0008+00 1/1 0/0 0/0 .data dzbd$3837 */
|
||||
SECTION_DATA static u8 dzbd[8] = {
|
||||
0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x09,
|
||||
enum Action {
|
||||
/* 0x0 */ ACTION_FLOAT,
|
||||
};
|
||||
|
||||
/* 80BF204C-80BF2070 0000EC 0024+00 1/1 0/0 0/0 .text __ct__14daObj_Fw_HIO_cFv */
|
||||
daObj_Fw_HIO_c::daObj_Fw_HIO_c() {
|
||||
field_0x4 = -1;
|
||||
size = 1.0f;
|
||||
}
|
||||
|
||||
/* 80BF2C20-80BF2C24 000008 0004+00 2/2 0/0 0/0 .bss None */
|
||||
static u8 l_initHIO;
|
||||
|
||||
/* 80BF2C30-80BF2C3C 000018 000C+00 4/4 0/0 0/0 .bss l_HIO */
|
||||
static daObj_Fw_HIO_c l_HIO;
|
||||
|
||||
/* 80BF2070-80BF219C 000110 012C+00 1/1 0/0 0/0 .text ride_call_back__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c */
|
||||
static void ride_call_back(dBgW* i_bgw, fopAc_ac_c* a_this, fopAc_ac_c* param_3) {
|
||||
if (fopAcM_GetName(param_3) == PROC_ALINK) {
|
||||
obj_fw_class* i_this = (obj_fw_class*)a_this;
|
||||
|
||||
if (i_this->field_0x592 == 0) {
|
||||
i_this->field_0x598 = AREG_F(0) + -50.0f;
|
||||
}
|
||||
|
||||
i_this->field_0x592 = 10;
|
||||
f32 fVar1 = param_3->current.pos.x - a_this->current.pos.x;
|
||||
f32 fVar2 = param_3->current.pos.z - a_this->current.pos.z;
|
||||
|
||||
cLib_addCalcAngleS2(&i_this->field_0x5a0, cM_atan2s(fVar1, fVar2), 4, 0x80);
|
||||
s16 sVar1 = JMAFastSqrt(fVar1 * fVar1 + fVar2 * fVar2) * (AREG_F(3) + 10.0f) * l_HIO.size;
|
||||
if (sVar1 > 0x800) {
|
||||
sVar1 = 0x800;
|
||||
} else if (sVar1 < -0x800) {
|
||||
sVar1 = -0x800;
|
||||
}
|
||||
|
||||
cLib_addCalcAngleS2(&i_this->field_0x5a2, sVar1, 4, 0x20);
|
||||
}
|
||||
}
|
||||
|
||||
/* 80BF219C-80BF2200 00023C 0064+00 1/0 0/0 0/0 .text daObj_Fw_Draw__FP12obj_fw_class */
|
||||
static int daObj_Fw_Draw(obj_fw_class* i_this) {
|
||||
fopAc_ac_c* a_this = &i_this->actor;
|
||||
|
||||
g_env_light.settingTevStruct(16, &a_this->current.pos, &a_this->tevStr);
|
||||
g_env_light.setLightTevColorType_MAJI(i_this->mpModel, &a_this->tevStr);
|
||||
mDoExt_modelUpdateDL(i_this->mpModel);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80BF2200-80BF22AC 0002A0 00AC+00 1/1 0/0 0/0 .text water_check__FP12obj_fw_class */
|
||||
static BOOL water_check(obj_fw_class* i_this) {
|
||||
fopAc_ac_c* a_this = &i_this->actor;
|
||||
Vec sp78;
|
||||
dBgS_ObjGndChk_Spl obj_gnd_chk_spl;
|
||||
|
||||
sp78.x = a_this->current.pos.x;
|
||||
sp78.y = a_this->current.pos.y + 500.0f;
|
||||
sp78.z = a_this->current.pos.z;
|
||||
obj_gnd_chk_spl.SetPos(&sp78);
|
||||
i_this->field_0x584 = dComIfG_Bgsp().GroundCross(&obj_gnd_chk_spl);
|
||||
|
||||
if (i_this->field_0x584 > a_this->current.pos.y + TREG_F(11)) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* 80BF22AC-80BF24C4 00034C 0218+00 1/1 0/0 0/0 .text fw_float__FP12obj_fw_class */
|
||||
static void fw_float(obj_fw_class* i_this) {
|
||||
fopAc_ac_c* a_this = &i_this->actor;
|
||||
|
||||
cLib_addCalc0(&a_this->speed.y, 1.0f, TREG_F(6) + 0.25f);
|
||||
cXyz sp78(a_this->current.pos);
|
||||
sp78.y = i_this->field_0x584;
|
||||
fopAcM_effHamonSet(&i_this->field_0x61c, &sp78, 3.5f, 0.05f);
|
||||
|
||||
f32 fVar1 = (i_this->field_0x58c * (JREG_F(3) + 0.03f)) * cM_ssin(i_this->field_0x578 * (JREG_S(2) + 500));
|
||||
f32 fVar2 = i_this->field_0x584 + JREG_F(8) + -(TREG_F(11) + 300.0f) * cM_ssin(i_this->field_0x5a4 / 2);
|
||||
cLib_addCalc2(&a_this->current.pos.y, fVar2 + fVar1, 0.1f, JREG_F(4) + 10.0f);
|
||||
i_this->field_0x590++;
|
||||
|
||||
if (a_this->field_0x567 == 1) {
|
||||
i_this->field_0x590 += 5;
|
||||
cLib_addCalc2(&i_this->field_0x58c, 300.0f, 0.1f, JREG_F(18) + 2.0f);
|
||||
a_this->current.pos += a_this->speed;
|
||||
} else if (a_this->field_0x567 == 2) {
|
||||
if (i_this->field_0x57e[0] == 0) {
|
||||
cLib_addCalcAngleS2(&i_this->field_0x5a4, 0x7F80, 0x20, 0x200);
|
||||
a_this->current.pos += a_this->speed;
|
||||
}
|
||||
} else {
|
||||
cLib_addCalc2(&i_this->field_0x58c, 300.0f, 0.1f, 20.0f);
|
||||
}
|
||||
|
||||
a_this->shape_angle.x = i_this->field_0x58c * cM_ssin(i_this->field_0x590 * (TREG_S(3) + 500));
|
||||
a_this->shape_angle.z = i_this->field_0x58c * cM_ssin(i_this->field_0x590 * (TREG_S(4) + 600));
|
||||
cLib_addCalc2(&i_this->field_0x594, i_this->field_0x598, 0.2f, 20.0f);
|
||||
|
||||
f32 fVar3;
|
||||
if (i_this->field_0x592 != 0) {
|
||||
fVar3 = -20.0f;
|
||||
} else {
|
||||
fVar3 = 0.0f;
|
||||
}
|
||||
|
||||
cLib_addCalc2(&i_this->field_0x598, fVar3, 1.0f, 3.0f);
|
||||
}
|
||||
|
||||
/* 80BF24C4-80BF2670 000564 01AC+00 1/1 0/0 0/0 .text action__FP12obj_fw_class */
|
||||
static void action(obj_fw_class* i_this) {
|
||||
fopAc_ac_c* a_this = &i_this->actor;
|
||||
cXyz sp30, sp3c;
|
||||
|
||||
switch (i_this->field_0x57a) {
|
||||
case ACTION_FLOAT:
|
||||
fw_float(i_this);
|
||||
break;
|
||||
}
|
||||
|
||||
mDoMtx_stack_c::transS(a_this->current.pos.x, a_this->current.pos.y + i_this->field_0x594 + i_this->field_0x588, a_this->current.pos.z);
|
||||
mDoMtx_stack_c::YrotM(i_this->field_0x5a0);
|
||||
mDoMtx_stack_c::XrotM(i_this->field_0x5a2);
|
||||
mDoMtx_stack_c::YrotM(-i_this->field_0x5a0);
|
||||
mDoMtx_stack_c::XrotM(a_this->shape_angle.x + i_this->field_0x5a4);
|
||||
mDoMtx_stack_c::YrotM(a_this->shape_angle.y);
|
||||
mDoMtx_stack_c::ZrotM(a_this->shape_angle.z);
|
||||
mDoMtx_stack_c::scaleM(l_HIO.size, 1.0f, l_HIO.size);
|
||||
|
||||
i_this->mpModel->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
sp30.set(0.0f, 0.0f, 0.0f);
|
||||
mDoMtx_stack_c::multVec(&sp30, &i_this->field_0x5a8);
|
||||
|
||||
cXyz sp48(i_this->field_0x5a8);
|
||||
sp48.y += TREG_F(0) + 15.0f;
|
||||
a_this->eyePos = sp48;
|
||||
a_this->attention_info.position = sp48;
|
||||
|
||||
MTXCopy(mDoMtx_stack_c::get(), i_this->mMtx);
|
||||
i_this->mpBgW->Move();
|
||||
|
||||
if (i_this->field_0x592 == 0) {
|
||||
cLib_addCalcAngleS2(&i_this->field_0x5a2, 0, 4, 0x10);
|
||||
}
|
||||
}
|
||||
|
||||
/* 80BF2670-80BF2718 000710 00A8+00 2/1 0/0 0/0 .text daObj_Fw_Execute__FP12obj_fw_class */
|
||||
static int daObj_Fw_Execute(obj_fw_class* i_this) {
|
||||
fopAc_ac_c* a_this = &i_this->actor;
|
||||
|
||||
i_this->field_0x578++;
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
if (i_this->field_0x57e[i] != 0) {
|
||||
i_this->field_0x57e[i]--;
|
||||
}
|
||||
}
|
||||
|
||||
if (i_this->field_0x592 != 0) {
|
||||
i_this->field_0x592--;
|
||||
}
|
||||
|
||||
action(i_this);
|
||||
|
||||
i_this->mSound.framework(0, dComIfGp_getReverb(fopAcM_GetRoomNo(a_this)));
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80BF2718-80BF2720 0007B8 0008+00 1/0 0/0 0/0 .text daObj_Fw_IsDelete__FP12obj_fw_class */
|
||||
static int daObj_Fw_IsDelete(obj_fw_class* i_this) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80BF2720-80BF279C 0007C0 007C+00 1/0 0/0 0/0 .text daObj_Fw_Delete__FP12obj_fw_class */
|
||||
static int daObj_Fw_Delete(obj_fw_class* i_this) {
|
||||
fopAc_ac_c* a_this = &i_this->actor;
|
||||
|
||||
dComIfG_resDelete(&i_this->mPhase, "RYUW00");
|
||||
|
||||
if (i_this->field_0x624 != 0) {
|
||||
l_initHIO = 0;
|
||||
}
|
||||
|
||||
dComIfG_Bgsp().Release(i_this->mpBgW);
|
||||
|
||||
if (a_this->heap != NULL) {
|
||||
i_this->mSound.deleteObject();
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80BF279C-80BF28D0 00083C 0134+00 1/1 0/0 0/0 .text useHeapInit__FP10fopAc_ac_c */
|
||||
static int useHeapInit(fopAc_ac_c* a_this) {
|
||||
obj_fw_class* i_this = (obj_fw_class*)a_this;
|
||||
|
||||
static int bmdd[2] = {
|
||||
BMDR_K_RYUWOOD00, BMDR_K_RYUWOOD01,
|
||||
};
|
||||
|
||||
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("RYUW00", bmdd[i_this->field_0x570]);
|
||||
|
||||
JUT_ASSERT(543, modelData != 0);
|
||||
|
||||
i_this->mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
|
||||
if (i_this->mpModel == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
i_this->mpBgW = new dBgW();
|
||||
if (i_this->mpBgW == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int dzbd[2] = {
|
||||
DZB_K_RYUWOOD00, DZB_K_RYUWOOD01,
|
||||
};
|
||||
|
||||
if (i_this->mpBgW->Set((cBgD_t*)dComIfG_getObjectRes("RYUW00", dzbd[i_this->field_0x570]), 1, &i_this->mMtx) == true) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
i_this->mpBgW->SetCrrFunc(dBgS_MoveBGProc_Typical);
|
||||
i_this->mpBgW->SetRideCallback(ride_call_back);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80BF28D0-80BF2AB0 000970 01E0+00 1/0 0/0 0/0 .text daObj_Fw_Create__FP10fopAc_ac_c */
|
||||
static cPhs__Step daObj_Fw_Create(fopAc_ac_c* a_this) {
|
||||
fopAcM_SetupActor(a_this, obj_fw_class);
|
||||
obj_fw_class* i_this = (obj_fw_class*)a_this;
|
||||
|
||||
cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&i_this->mPhase, "RYUW00");
|
||||
if (phase == cPhs_COMPLEATE_e) {
|
||||
if (dComIfGs_isStageBossEnemy()) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
|
||||
OS_REPORT("OBJ_FW PARAM %x\n", fopAcM_GetParam(a_this));
|
||||
|
||||
i_this->field_0x570 = fopAcM_GetParam(a_this);
|
||||
|
||||
if (i_this->field_0x570 == 0xFF) {
|
||||
i_this->field_0x570 = 0;
|
||||
}
|
||||
|
||||
u32 i_size;
|
||||
if (i_this->field_0x570 == 1) {
|
||||
i_size = 0x1400;
|
||||
} else {
|
||||
i_size = 0x1940;
|
||||
}
|
||||
|
||||
OS_REPORT("OBJ_FW//////////////OBJ_FW SET 1 !!\n");
|
||||
|
||||
if (!fopAcM_entrySolidHeap(a_this, useHeapInit, i_size)) {
|
||||
OS_REPORT("//////////////OBJ_FW SET NON !!\n");
|
||||
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
|
||||
OS_REPORT("//////////////OBJ_FW SET 2 !!\n");
|
||||
|
||||
if (dComIfG_Bgsp().Regist(i_this->mpBgW, a_this)) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
|
||||
if (l_initHIO == 0) {
|
||||
i_this->field_0x624 = 1;
|
||||
l_initHIO = 1;
|
||||
l_HIO.field_0x4 = -1;
|
||||
}
|
||||
|
||||
fopAcM_SetMtx(a_this, i_this->mpModel->getBaseTRMtx());
|
||||
fopAcM_SetMin(a_this, -1000.0f, -600.0f, -1000.0f);
|
||||
fopAcM_SetMax(a_this, 1000.0f, 600.0f, 1000.0f);
|
||||
i_this->mSound.init(&a_this->current.pos, 2);
|
||||
i_this->field_0x578 = cM_rndF(65536.0f);
|
||||
i_this->field_0x590 = cM_rndF(65536.0f);
|
||||
|
||||
water_check(i_this);
|
||||
daObj_Fw_Execute(i_this);
|
||||
}
|
||||
|
||||
return phase;
|
||||
}
|
||||
|
||||
/* 80BF2BBC-80BF2BDC -00001 0020+00 1/0 0/0 0/0 .data l_daObj_Fw_Method */
|
||||
static actor_method_class l_daObj_Fw_Method = {
|
||||
(process_method_func)daObj_Fw_Create__FP10fopAc_ac_c,
|
||||
(process_method_func)daObj_Fw_Delete__FP12obj_fw_class,
|
||||
(process_method_func)daObj_Fw_Execute__FP12obj_fw_class,
|
||||
(process_method_func)daObj_Fw_IsDelete__FP12obj_fw_class,
|
||||
(process_method_func)daObj_Fw_Draw__FP12obj_fw_class,
|
||||
(process_method_func)daObj_Fw_Create,
|
||||
(process_method_func)daObj_Fw_Delete,
|
||||
(process_method_func)daObj_Fw_Execute,
|
||||
(process_method_func)daObj_Fw_IsDelete,
|
||||
(process_method_func)daObj_Fw_Draw,
|
||||
};
|
||||
|
||||
/* 80BF2BDC-80BF2C0C -00001 0030+00 0/0 0/0 1/0 .data g_profile_OBJ_FW */
|
||||
|
|
@ -120,263 +334,3 @@ extern actor_process_profile_definition g_profile_OBJ_FW = {
|
|||
fopAc_ACTOR_e, // mActorType
|
||||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
};
|
||||
|
||||
/* 80BF2C0C-80BF2C18 000060 000C+00 2/2 0/0 0/0 .data __vt__14daObj_Fw_HIO_c */
|
||||
SECTION_DATA extern void* __vt__14daObj_Fw_HIO_c[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__14daObj_Fw_HIO_cFv,
|
||||
};
|
||||
|
||||
/* 80BF204C-80BF2070 0000EC 0024+00 1/1 0/0 0/0 .text __ct__14daObj_Fw_HIO_cFv */
|
||||
daObj_Fw_HIO_c::daObj_Fw_HIO_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BF2B4C-80BF2B50 000004 0004+00 0/1 0/0 0/0 .rodata @3667 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3667 = -50.0f;
|
||||
COMPILER_STRIP_GATE(0x80BF2B4C, &lit_3667);
|
||||
#pragma pop
|
||||
|
||||
/* 80BF2B50-80BF2B54 000008 0004+00 0/3 0/0 0/0 .rodata @3668 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_3668[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80BF2B50, &lit_3668);
|
||||
#pragma pop
|
||||
|
||||
/* 80BF2B54-80BF2B58 00000C 0004+00 0/2 0/0 0/0 .rodata @3669 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3669 = 10.0f;
|
||||
COMPILER_STRIP_GATE(0x80BF2B54, &lit_3669);
|
||||
#pragma pop
|
||||
|
||||
/* 80BF2C20-80BF2C24 000008 0004+00 2/2 0/0 0/0 .bss None */
|
||||
static u8 data_80BF2C20[4];
|
||||
|
||||
/* 80BF2C24-80BF2C30 00000C 000C+00 1/1 0/0 0/0 .bss @3642 */
|
||||
static u8 lit_3642[12];
|
||||
|
||||
/* 80BF2C30-80BF2C3C 000018 000C+00 4/4 0/0 0/0 .bss l_HIO */
|
||||
static u8 l_HIO[12];
|
||||
|
||||
/* 80BF2070-80BF219C 000110 012C+00 1/1 0/0 0/0 .text
|
||||
* ride_call_back__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c */
|
||||
static void ride_call_back(dBgW* param_0, fopAc_ac_c* param_1, fopAc_ac_c* param_2) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BF219C-80BF2200 00023C 0064+00 1/0 0/0 0/0 .text daObj_Fw_Draw__FP12obj_fw_class */
|
||||
static void daObj_Fw_Draw(obj_fw_class* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BF2B58-80BF2B5C 000010 0004+00 1/1 0/0 0/0 .rodata @3694 */
|
||||
SECTION_RODATA static f32 const lit_3694 = 500.0f;
|
||||
COMPILER_STRIP_GATE(0x80BF2B58, &lit_3694);
|
||||
|
||||
/* 80BF2200-80BF22AC 0002A0 00AC+00 1/1 0/0 0/0 .text water_check__FP12obj_fw_class */
|
||||
static void water_check(obj_fw_class* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BF2B5C-80BF2B60 000014 0004+00 0/1 0/0 0/0 .rodata @3740 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3740 = 0.25f;
|
||||
COMPILER_STRIP_GATE(0x80BF2B5C, &lit_3740);
|
||||
#pragma pop
|
||||
|
||||
/* 80BF2B60-80BF2B64 000018 0004+00 0/1 0/0 0/0 .rodata @3741 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3741 = 3.5f;
|
||||
COMPILER_STRIP_GATE(0x80BF2B60, &lit_3741);
|
||||
#pragma pop
|
||||
|
||||
/* 80BF2B64-80BF2B68 00001C 0004+00 0/1 0/0 0/0 .rodata @3742 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3742 = 1.0f / 20.0f;
|
||||
COMPILER_STRIP_GATE(0x80BF2B64, &lit_3742);
|
||||
#pragma pop
|
||||
|
||||
/* 80BF2B68-80BF2B6C 000020 0004+00 0/1 0/0 0/0 .rodata @3743 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3743 = -300.0f;
|
||||
COMPILER_STRIP_GATE(0x80BF2B68, &lit_3743);
|
||||
#pragma pop
|
||||
|
||||
/* 80BF2B6C-80BF2B70 000024 0004+00 0/1 0/0 0/0 .rodata @3744 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3744 = 3.0f / 100.0f;
|
||||
COMPILER_STRIP_GATE(0x80BF2B6C, &lit_3744);
|
||||
#pragma pop
|
||||
|
||||
/* 80BF2B70-80BF2B74 000028 0004+00 0/1 0/0 0/0 .rodata @3745 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3745 = 1.0f / 10.0f;
|
||||
COMPILER_STRIP_GATE(0x80BF2B70, &lit_3745);
|
||||
#pragma pop
|
||||
|
||||
/* 80BF2B74-80BF2B78 00002C 0004+00 0/1 0/0 0/0 .rodata @3746 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3746 = 300.0f;
|
||||
COMPILER_STRIP_GATE(0x80BF2B74, &lit_3746);
|
||||
#pragma pop
|
||||
|
||||
/* 80BF2B78-80BF2B7C 000030 0004+00 0/1 0/0 0/0 .rodata @3747 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3747 = 2.0f;
|
||||
COMPILER_STRIP_GATE(0x80BF2B78, &lit_3747);
|
||||
#pragma pop
|
||||
|
||||
/* 80BF2B7C-80BF2B80 000034 0004+00 0/1 0/0 0/0 .rodata @3748 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3748 = 20.0f;
|
||||
COMPILER_STRIP_GATE(0x80BF2B7C, &lit_3748);
|
||||
#pragma pop
|
||||
|
||||
/* 80BF2B80-80BF2B84 000038 0004+00 0/1 0/0 0/0 .rodata @3749 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3749 = 1.0f / 5.0f;
|
||||
COMPILER_STRIP_GATE(0x80BF2B80, &lit_3749);
|
||||
#pragma pop
|
||||
|
||||
/* 80BF2B84-80BF2B88 00003C 0004+00 0/1 0/0 0/0 .rodata @3750 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3750 = -20.0f;
|
||||
COMPILER_STRIP_GATE(0x80BF2B84, &lit_3750);
|
||||
#pragma pop
|
||||
|
||||
/* 80BF2B88-80BF2B8C 000040 0004+00 0/1 0/0 0/0 .rodata @3751 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3751 = 3.0f;
|
||||
COMPILER_STRIP_GATE(0x80BF2B88, &lit_3751);
|
||||
#pragma pop
|
||||
|
||||
/* 80BF22AC-80BF24C4 00034C 0218+00 1/1 0/0 0/0 .text fw_float__FP12obj_fw_class */
|
||||
static void fw_float(obj_fw_class* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BF2B8C-80BF2B90 000044 0004+00 0/1 0/0 0/0 .rodata @3802 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3802 = 15.0f;
|
||||
COMPILER_STRIP_GATE(0x80BF2B8C, &lit_3802);
|
||||
#pragma pop
|
||||
|
||||
/* 80BF24C4-80BF2670 000564 01AC+00 1/1 0/0 0/0 .text action__FP12obj_fw_class */
|
||||
static void action(obj_fw_class* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BF2670-80BF2718 000710 00A8+00 2/1 0/0 0/0 .text daObj_Fw_Execute__FP12obj_fw_class
|
||||
*/
|
||||
static void daObj_Fw_Execute(obj_fw_class* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BF2718-80BF2720 0007B8 0008+00 1/0 0/0 0/0 .text daObj_Fw_IsDelete__FP12obj_fw_class
|
||||
*/
|
||||
static bool daObj_Fw_IsDelete(obj_fw_class* param_0) {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BF2BA4-80BF2BA4 00005C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80BF2BA4 = "RYUW00";
|
||||
#pragma pop
|
||||
|
||||
/* 80BF2720-80BF279C 0007C0 007C+00 1/0 0/0 0/0 .text daObj_Fw_Delete__FP12obj_fw_class
|
||||
*/
|
||||
static void daObj_Fw_Delete(obj_fw_class* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BF279C-80BF28D0 00083C 0134+00 1/1 0/0 0/0 .text useHeapInit__FP10fopAc_ac_c */
|
||||
static void useHeapInit(fopAc_ac_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BF2B90-80BF2B94 000048 0004+00 0/1 0/0 0/0 .rodata @3918 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3918 = -1000.0f;
|
||||
COMPILER_STRIP_GATE(0x80BF2B90, &lit_3918);
|
||||
#pragma pop
|
||||
|
||||
/* 80BF2B94-80BF2B98 00004C 0004+00 0/1 0/0 0/0 .rodata @3919 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3919 = -600.0f;
|
||||
COMPILER_STRIP_GATE(0x80BF2B94, &lit_3919);
|
||||
#pragma pop
|
||||
|
||||
/* 80BF2B98-80BF2B9C 000050 0004+00 0/1 0/0 0/0 .rodata @3920 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3920 = 1000.0f;
|
||||
COMPILER_STRIP_GATE(0x80BF2B98, &lit_3920);
|
||||
#pragma pop
|
||||
|
||||
/* 80BF2B9C-80BF2BA0 000054 0004+00 0/1 0/0 0/0 .rodata @3921 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3921 = 600.0f;
|
||||
COMPILER_STRIP_GATE(0x80BF2B9C, &lit_3921);
|
||||
#pragma pop
|
||||
|
||||
/* 80BF2BA0-80BF2BA4 000058 0004+00 0/1 0/0 0/0 .rodata @3922 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3922 = 65536.0f;
|
||||
COMPILER_STRIP_GATE(0x80BF2BA0, &lit_3922);
|
||||
#pragma pop
|
||||
|
||||
/* 80BF28D0-80BF2AB0 000970 01E0+00 1/0 0/0 0/0 .text daObj_Fw_Create__FP10fopAc_ac_c */
|
||||
static void daObj_Fw_Create(fopAc_ac_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BF2AB0-80BF2AF8 000B50 0048+00 2/1 0/0 0/0 .text __dt__14daObj_Fw_HIO_cFv */
|
||||
daObj_Fw_HIO_c::~daObj_Fw_HIO_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80BF2AF8-80BF2B34 000B98 003C+00 0/0 1/0 0/0 .text __sinit_d_a_obj_fw_cpp */
|
||||
void __sinit_d_a_obj_fw_cpp() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
REGISTER_CTORS(0x80BF2AF8, __sinit_d_a_obj_fw_cpp);
|
||||
#pragma pop
|
||||
|
||||
/* 80BF2BA4-80BF2BA4 00005C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
|
|
|||
Loading…
Reference in New Issue