Various cleanups and matches (#2530)

This commit is contained in:
hatal175
2025-07-12 13:57:59 -07:00
committed by GitHub
parent 898b4fa3e3
commit d4768a864e
20 changed files with 367 additions and 936 deletions
@@ -174,4 +174,4 @@ sInstance__32JASGlobalInstance<11Z2FxLineMgr> = .bss:0x000013CC; // type:object
sInstance__31JASGlobalInstance<10Z2EnvSeMgr> = .bss:0x000013D0; // type:object size:0x4 scope:global
sInstance__32JASGlobalInstance<11Z2SpeechMgr> = .bss:0x000013D4; // type:object size:0x4 scope:global
sInstance__34JASGlobalInstance<13Z2WolfHowlMgr> = .bss:0x000013D8; // type:object size:0x4 scope:global
lbl_20_bss_13DC = .bss:0x000013DC; // type:object size:0x1 data:byte
init$localstatic4$mode_proc_call__Q212daObjMovebox5Act_cFv = .bss:0x000013DC; // type:object size:0x1 data:byte
@@ -45,8 +45,7 @@ mCcDObjInfo__12daZrTurara_c = .rodata:0x00000004; // type:object size:0x30 scope
@stringBase0 = .rodata:0x00000060; // type:object size:0xA scope:local data:string_table
...data.0 = .data:0x00000000; // type:label scope:local
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:global
@1787 = .data:0x0000000C; // type:object size:0x4 scope:local
lbl_697_data_10 = .data:0x00000010; // type:object size:0x10
lit_1787 = .data:0x0000000C; // type:object size:0x14 scope:local
mCcDCyl__12daZrTurara_c = .data:0x00000020; // type:object size:0x44 scope:global
@3916 = .data:0x00000064; // type:object size:0xC scope:local
@3917 = .data:0x00000070; // type:object size:0xC scope:local
@@ -64,4 +63,4 @@ __vt__14mDoHIO_entry_c = .data:0x00000160; // type:object size:0xC scope:global
__global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global
@3651 = .bss:0x00000008; // type:object size:0xC scope:local
l_HIO = .bss:0x00000014; // type:object size:0xC scope:global data:byte
lbl_697_bss_20 = .bss:0x00000020; // type:object size:0x1 data:byte
init$1683 = .bss:0x00000020; // type:object size:0x1 data:byte
@@ -173,4 +173,4 @@ sInstance__32JASGlobalInstance<11Z2FxLineMgr> = .bss:0x000013CC; // type:object
sInstance__31JASGlobalInstance<10Z2EnvSeMgr> = .bss:0x000013D0; // type:object size:0x4 scope:global
sInstance__32JASGlobalInstance<11Z2SpeechMgr> = .bss:0x000013D4; // type:object size:0x4 scope:global
sInstance__34JASGlobalInstance<13Z2WolfHowlMgr> = .bss:0x000013D8; // type:object size:0x4 scope:global
lbl_20_bss_13DC = .bss:0x000013DC; // type:object size:0x1 data:byte
init$localstatic4$mode_proc_call__Q212daObjMovebox5Act_cFv = .bss:0x000013DC; // type:object size:0x1 data:byte
@@ -44,8 +44,7 @@ mCcDObjInfo__12daZrTurara_c = .rodata:0x00000004; // type:object size:0x30 scope
@4060 = .rodata:0x0000005C; // type:object size:0x4 scope:local
@stringBase0 = .rodata:0x00000060; // type:object size:0xA scope:local data:string_table
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:global
@1787 = .data:0x0000000C; // type:object size:0x4 scope:local
lbl_697_data_10 = .data:0x00000010; // type:object size:0x10
lit_1787 = .data:0x0000000C; // type:object size:0x14 scope:local
mCcDCyl__12daZrTurara_c = .data:0x00000020; // type:object size:0x44 scope:global
@3916 = .data:0x00000064; // type:object size:0xC scope:local
@3917 = .data:0x00000070; // type:object size:0xC scope:local
@@ -63,4 +62,4 @@ __vt__14mDoHIO_entry_c = .data:0x00000160; // type:object size:0xC scope:global
__global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global
@3651 = .bss:0x00000008; // type:object size:0xC scope:local
l_HIO = .bss:0x00000014; // type:object size:0xC scope:global data:byte
lbl_697_bss_20 = .bss:0x00000020; // type:object size:0x1 data:byte
init$1683 = .bss:0x00000020; // type:object size:0x1 data:byte
@@ -173,4 +173,4 @@ sInstance__32JASGlobalInstance<11Z2FxLineMgr> = .bss:0x000013CC; // type:object
sInstance__31JASGlobalInstance<10Z2EnvSeMgr> = .bss:0x000013D0; // type:object size:0x4 scope:global
sInstance__32JASGlobalInstance<11Z2SpeechMgr> = .bss:0x000013D4; // type:object size:0x4 scope:global
sInstance__34JASGlobalInstance<13Z2WolfHowlMgr> = .bss:0x000013D8; // type:object size:0x4 scope:global
lbl_20_bss_13DC = .bss:0x000013DC; // type:object size:0x1 data:byte
init$localstatic4$mode_proc_call__Q212daObjMovebox5Act_cFv = .bss:0x000013DC; // type:object size:0x1 data:byte
@@ -44,8 +44,7 @@ mCcDObjInfo__12daZrTurara_c = .rodata:0x00000004; // type:object size:0x30 scope
@4060 = .rodata:0x0000005C; // type:object size:0x4 scope:local
@stringBase0 = .rodata:0x00000060; // type:object size:0xA scope:local data:string_table
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:global
@1787 = .data:0x0000000C; // type:object size:0x4 scope:local
lbl_697_data_10 = .data:0x00000010; // type:object size:0x10
lit_1787 = .data:0x0000000C; // type:object size:0x14 scope:local
mCcDCyl__12daZrTurara_c = .data:0x00000020; // type:object size:0x44 scope:global
@3916 = .data:0x00000064; // type:object size:0xC scope:local
@3917 = .data:0x00000070; // type:object size:0xC scope:local
@@ -63,4 +62,4 @@ __vt__14mDoHIO_entry_c = .data:0x00000160; // type:object size:0xC scope:global
__global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global
@3651 = .bss:0x00000008; // type:object size:0xC scope:local
l_HIO = .bss:0x00000014; // type:object size:0xC scope:global data:byte
lbl_697_bss_20 = .bss:0x00000020; // type:object size:0x1 data:byte
init$1683 = .bss:0x00000020; // type:object size:0x1 data:byte
+2 -2
View File
@@ -1567,7 +1567,7 @@ config.libs = [
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_cboard"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_digplace"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_eff"),
ActorRel(NonMatching, "d_a_obj_fmobj"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_fmobj"),
ActorRel(NonMatching, "d_a_obj_gpTaru"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_hhashi"),
ActorRel(NonMatching, "d_a_obj_kanban2"),
@@ -2169,7 +2169,7 @@ config.libs = [
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_ystone"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_zcloth"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_zdoor"),
ActorRel(NonMatching, "d_a_obj_zrTurara"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_zrTurara"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_zrTuraraRock"),
ActorRel(Equivalent, "d_a_obj_zraMark"), # weak func order
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_zra_freeze"),
+3 -1
View File
@@ -38,8 +38,10 @@ public:
/* 0x100 */ f32 mNowOffsetY;
};
class daHoZelda_hio_c {
class daHoZelda_hio_c : public JORReflexible {
public:
daHoZelda_hio_c() {}
void genMessage(JORMContext*);
};
/**
+2 -1
View File
@@ -13,8 +13,9 @@ class dBgW;
* @details
*
*/
class obj_fmobj_class : public fopAc_ac_c {
class obj_fmobj_class {
public:
/* 0x000 */ fopAc_ac_c mActor;
/* 0x568 */ request_of_phase_process_class mPhase;
/* 0x570 */ u8 field_0x570;
/* 0x574 */ J3DModel* mpModel;
+3 -3
View File
@@ -46,9 +46,9 @@ private:
/* 0x768 */ u8 mDebrisCount;
public:
u8 getSwBit1() { return fopAcM_GetParamBit(this, 0, 8); }
u8 getSwBit2() { return fopAcM_GetParamBit(this, 8, 8); }
u8 getScale() { return fopAcM_GetParamBit(this, 0x10, 8); }
int getSwBit1() { return fopAcM_GetParamBit(this, 0, 8); }
int getSwBit2() { return fopAcM_GetParamBit(this, 8, 8); }
int getScale() { return fopAcM_GetParamBit(this, 0x10, 8); }
static dCcD_SrcGObjInf const mCcDObjInfo;
static dCcD_SrcCyl mCcDCyl;
+1 -1
View File
@@ -912,7 +912,7 @@ public:
u16 getSwordAtUpTime() const { return mSwordUpTimer; }
s16 getDamageWaitTimer() const { return mDamageTimer; }
bool checkWaterInMove() const { return checkNoResetFlg0(FLG0_UNDERWATER); }
bool checkSceneChangeAreaStart() const { return checkNoResetFlg2(FLG2_SCN_CHG_START); }
u32 checkSceneChangeAreaStart() const { return checkNoResetFlg2(FLG2_SCN_CHG_START); }
bool checkFrontRollCrash() const { return checkResetFlg0(RFLG0_FRONT_ROLL_CRASH); }
bool checkWolfAttackReverse() const { return checkResetFlg1(RFLG1_WOLF_ATTACK_REVERSE); }
bool checkFreezeDamage() const { return checkNoResetFlg1(FLG1_ICE_FREEZE); }
+2 -1
View File
@@ -16,10 +16,11 @@ public:
daScex_c() {}
/* 80485838 */ int checkWork();
/* 80485A50 */ int execute();
inline int create();
u8 getArg1() { return (fopAcM_GetParam(this) >> 8) & 0xFF; }
u8 getArg0() { return fopAcM_GetParam(this); }
u32 getSwNo() { return fopAcM_GetParam(this) >> 0x18; }
u8 getSwNo() { return fopAcM_GetParam(this) >> 0x18; }
u16 getOffEventBit() { return home.angle.z & 0xFFF; }
u16 getOnEventBit() { return home.angle.x & 0xFFF; }
u8 getPathID() { return (fopAcM_GetParam(this) >> 0x10) & 0xFF; }
+1 -1
View File
@@ -100,7 +100,7 @@ inline void cMtx_multVecArray(Mtx mtx, const Vec* src, Vec* dst, u32 count) {
mDoMtx_multVecArray(mtx, src, dst, count);
}
inline void mDoMtx_multVecZero(MtxP param_0, Vec* param_1) {
inline void mDoMtx_multVecZero(CMtxP param_0, Vec* param_1) {
param_1->x = param_0[0][3];
param_1->y = param_0[1][3];
param_1->z = param_0[2][3];
-1
View File
@@ -80,7 +80,6 @@ void daHoZelda_matAnm_c::calc(J3DMaterial* i_material) const {
}
/* 80846000-8084642C 0001E0 042C+00 1/1 0/0 0/0 .text createHeap__11daHoZelda_cFv */
// NONMATCHING
int daHoZelda_c::createHeap() {
mpZeldaModel = mDoExt_J3DModel__create((J3DModelData*)dComIfG_getObjectRes(l_arcName, 0x23), 0, 0x11020284);
if (mpZeldaModel == NULL) {
File diff suppressed because it is too large Load Diff
+24 -85
View File
@@ -7,59 +7,16 @@
#include "d/d_bg_w.h"
#include "d/d_com_inf_game.h"
#include "d/d_procname.h"
#include "d/d_s_play.h"
#include "SSystem/SComponent/c_math.h"
#include "dol2asm.h"
//
// Forward References:
//
extern "C" static void daObj_Fmobj_Draw__FP15obj_fmobj_class();
extern "C" static void daObj_Fmobj_Execute__FP15obj_fmobj_class();
extern "C" static bool daObj_Fmobj_IsDelete__FP15obj_fmobj_class();
extern "C" static void daObj_Fmobj_Delete__FP15obj_fmobj_class();
extern "C" static void useHeapInit__FP10fopAc_ac_c();
extern "C" static void daObj_Fmobj_Create__FP10fopAc_ac_c();
extern "C" extern char const* const d_a_obj_fmobj__stringBase0;
//
// External References:
//
extern "C" void mDoMtx_YrotM__FPA4_fs();
extern "C" void transM__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 dComIfG_resLoad__FP30request_of_phase_process_classPCc();
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
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 Regist__4dBgSFP9dBgW_BaseP10fopAc_ac_c();
extern "C" void dBgS_MoveBGProc_Typical__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz();
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_rndF__Ff();
extern "C" void* __nw__FUl();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
extern "C" u8 now__14mDoMtx_stack_c[48];
//
// Declarations:
//
/* 8057CBD8-8057CC44 000078 006C+00 1/0 0/0 0/0 .text daObj_Fmobj_Draw__FP15obj_fmobj_class */
static int daObj_Fmobj_Draw(obj_fmobj_class* i_this) {
fopAc_ac_c* a_this = (fopAc_ac_c*)&i_this->mActor;
J3DModel* model_p = i_this->mpModel;
g_env_light.settingTevStruct(0x40, &i_this->current.pos, &i_this->tevStr);
g_env_light.setLightTevColorType_MAJI(model_p, &i_this->tevStr);
g_env_light.settingTevStruct(0x40, &a_this->current.pos, &a_this->tevStr);
g_env_light.setLightTevColorType_MAJI(model_p, &a_this->tevStr);
mDoExt_modelUpdateDL(model_p);
return 1;
}
@@ -113,61 +70,43 @@ static int useHeapInit(fopAc_ac_c* i_this) {
return 1;
}
/* ############################################################################################## */
/* 8057CF68-8057CF6C 000000 0004+00 1/1 0/0 0/0 .rodata @3743 */
SECTION_RODATA static f32 const lit_3743 = 65536.0f;
COMPILER_STRIP_GATE(0x8057CF68, &lit_3743);
/* 8057CF6C-8057CF70 000004 0004+00 0/1 0/0 0/0 .rodata @3744 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3744[4] = {
0x00,
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x8057CF6C, &lit_3744);
#pragma pop
/* 8057CF70-8057CF74 000008 0004+00 0/1 0/0 0/0 .rodata @3745 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3745 = -30.0f;
COMPILER_STRIP_GATE(0x8057CF70, &lit_3745);
#pragma pop
/* 8057CDE0-8057CF60 000280 0180+00 1/0 0/0 0/0 .text daObj_Fmobj_Create__FP10fopAc_ac_c
*/
// NONMATCHING - reg alloc
static int daObj_Fmobj_Create(fopAc_ac_c* i_this) {
obj_fmobj_class* a_this = (obj_fmobj_class*)i_this;
fopAcM_SetupActor(a_this, obj_fmobj_class);
static int daObj_Fmobj_Create(fopAc_ac_c* i_this_param) {
// Fake match - debug says i_this is fake
fopAc_ac_c* i_this = (fopAc_ac_c*)i_this_param;
obj_fmobj_class* a_this = (obj_fmobj_class*)i_this_param;
fopAcM_SetupActor(i_this, obj_fmobj_class);
int phase;
int phase = dComIfG_resLoad(&a_this->mPhase, "Obj_Fmobj");
phase = dComIfG_resLoad(&a_this->mPhase, "Obj_Fmobj");
if (phase == cPhs_COMPLEATE_e) {
a_this->field_0x570 = fopAcM_GetParam(a_this) & 0xFF;
OS_REPORT("OBJ_FMOBJ PARAM %x\n", fopAcM_GetParam(i_this));
a_this->field_0x570 = fopAcM_GetParam(i_this) & 0xFF;
if (dComIfGs_isStageBossEnemy()) {
return cPhs_ERROR_e;
}
if (!fopAcM_entrySolidHeap(a_this, useHeapInit, 0x4B000)) {
OS_REPORT("OBJ_FMOBJ//////////////OBJ_FMOBJ SET 1 !!\n");
if (!fopAcM_entrySolidHeap(i_this, useHeapInit, 0x4B000)) {
OS_REPORT("//////////////OBJ_FMOBJ SET NON !!\n");
return cPhs_ERROR_e;
}
if (dComIfG_Bgsp().Regist(a_this->mpBgW, a_this)) {
OS_REPORT("//////////////OBJ_FMOBJ SET 2 !!\n");
if (dComIfG_Bgsp().Regist(a_this->mpBgW, i_this)) {
return cPhs_ERROR_e;
}
fopAcM_SetMtx(a_this, a_this->mpModel->getBaseTRMtx());
a_this->shape_angle.y = cM_rndF(65536.0f);
fopAcM_SetMtx(i_this, a_this->mpModel->getBaseTRMtx());
i_this->shape_angle.y = cM_rndF(65536.0f);
mDoMtx_stack_c::transS(a_this->current.pos.x, a_this->current.pos.y, a_this->current.pos.z);
mDoMtx_stack_c::YrotM(a_this->shape_angle.y);
mDoMtx_stack_c::transS(i_this->current.pos.x, i_this->current.pos.y, i_this->current.pos.z);
mDoMtx_stack_c::YrotM((s16)i_this->shape_angle.y);
a_this->mpModel->setBaseTRMtx(mDoMtx_stack_c::get());
mDoMtx_stack_c::transM(0.0f, -30.0f, 0.0f);
mDoMtx_stack_c::transM(0.0f, YREG_F(9) + -30.0f, 0.0f);
MTXCopy(mDoMtx_stack_c::get(), a_this->mBgMtx);
a_this->mpBgW->Move();
+1 -2
View File
@@ -75,8 +75,7 @@ int daGoGate_c::Execute(Mtx** param_0) {
/* 80BFE11C-80BFE128 000014 000C+00 4/4 0/0 0/0 .bss l_HIO */
static daGoGate_HIO_c l_HIO;
/* 80BFD9D4-80BFDAD8 000414 0104+00 1/1 0/0 0/0 .text
// NONMATCHING moveGate__10daGoGate_cFv */
/* 80BFD9D4-80BFDAD8 000414 0104+00 1/1 0/0 0/0 .text moveGate__10daGoGate_cFv */
void daGoGate_c::moveGate() {
typedef void (daGoGate_c::*daGoGate_modeFunc)();
static daGoGate_modeFunc mode_proc[] = {
+27 -27
View File
@@ -45,22 +45,7 @@ daObjMovebox::Bgc_c::Bgc_c() {
mState = STATE_0_e;
}
UNK_BSS(1109)
UNK_BSS(1107)
UNK_BSS(1105)
UNK_BSS(1104)
UNK_BSS(1099)
UNK_BSS(1097)
UNK_BSS(1095)
UNK_BSS(1094)
UNK_BSS(1057)
UNK_BSS(1055)
UNK_BSS(1053)
UNK_BSS(1052)
UNK_BSS(1014)
UNK_BSS(1012)
UNK_BSS(1010)
UNK_BSS(1009)
UNK_REL_BSS
/* 804818D4-80482060 000054 078C+00 7/8 0/0 0/0 .bss M_gnd_work__Q212daObjMovebox5Bgc_c
*/
@@ -739,19 +724,28 @@ int daObjMovebox::Act_c::Create() {
/* 8047F11C-8047F38C 00171C 0270+00 1/1 0/0 0/0 .text afl_sway__Q212daObjMovebox5Act_cFv
*/
// NONMATCHING regalloc
void daObjMovebox::Act_c::afl_sway() {
const BgcSrc_c* pbgc;
s32 check_num;
bool var_r22;
bool var_r21;
f32 var_f31 = field_0x8c0 * field_0x8c0 + field_0x8c4 * field_0x8c4;
f32 var_f29 = i_attr().mMaxTiltPower * i_attr().mMaxTiltPower;
const BgcSrc_c* pbgc = i_attr().field_0x9e ? mBgc.M_lin20 : mBgc.M_lin5;
int check_num = i_attr().field_0x9e ? 21 : 5;
if (i_attr().field_0x9e) {
pbgc = mBgc.M_lin20;
} else {
pbgc = mBgc.M_lin5;
}
bool var_r22 = mBgc.chk_wall_touch2(this, pbgc, check_num, M_dir_base[0]) ||
mBgc.chk_wall_touch2(this, pbgc, check_num, M_dir_base[2]);
check_num = i_attr().field_0x9e ? 21 : 5;
bool var_r21 = mBgc.chk_wall_touch2(this, pbgc, check_num, M_dir_base[1]) ||
mBgc.chk_wall_touch2(this, pbgc, check_num, M_dir_base[3]);
var_r22 = mBgc.chk_wall_touch2(this, pbgc, check_num, M_dir_base[0]) ||
mBgc.chk_wall_touch2(this, pbgc, check_num, M_dir_base[2]);
var_r21 = mBgc.chk_wall_touch2(this, pbgc, check_num, M_dir_base[1]) ||
mBgc.chk_wall_touch2(this, pbgc, check_num, M_dir_base[3]);
if (var_f31 > var_f29) {
f32 var_f30 = i_attr().mMaxTiltPower / JMAFastSqrt(var_f31);
@@ -759,10 +753,16 @@ void daObjMovebox::Act_c::afl_sway() {
field_0x8c4 *= var_f30;
}
f32 var_f28 = i_attr().mTiltSpringFactor * -(field_0x8c8 - field_0x8c0);
f32 var_f27 = i_attr().mTiltSpringFactor * -(field_0x8cc - field_0x8c4);
f32 var_f26 = -field_0x8d0 * i_attr().mTiltViscoscityResistance;
f32 var_f25 = -field_0x8d4 * i_attr().mTiltViscoscityResistance;
f32 var_f28;
f32 var_f27;
f32 var_f26;
f32 var_f25;
f32 var_f24_debug = field_0x8c8 - field_0x8c0;
f32 var_f23_debug = field_0x8cc - field_0x8c4;
var_f28 = i_attr().mTiltSpringFactor * -(var_f24_debug);
var_f27 = i_attr().mTiltSpringFactor * -(var_f23_debug);
var_f26 = -field_0x8d0 * i_attr().mTiltViscoscityResistance;
var_f25 = -field_0x8d4 * i_attr().mTiltViscoscityResistance;
field_0x8d0 += var_f28 + var_f26;
field_0x8d4 += var_f27 + var_f25;
+31 -318
View File
@@ -8,137 +8,14 @@
#include "d/d_com_inf_game.h"
#include "d/d_procname.h"
#include "SSystem/SComponent/c_math.h"
#include "dol2asm.h"
//
// Forward References:
//
extern "C" void __ct__16daZrTurara_HIO_cFv();
extern "C" void __dt__14mDoHIO_entry_cFv();
extern "C" void setBaseMtx__12daZrTurara_cFv();
extern "C" void CreateHeap__12daZrTurara_cFv();
extern "C" void create__12daZrTurara_cFv();
extern "C" void __dt__8cM3dGCylFv();
extern "C" void __dt__8cM3dGAabFv();
extern "C" void __dt__10dCcD_GSttsFv();
extern "C" void Execute__12daZrTurara_cFPPA3_A4_f();
extern "C" void move__12daZrTurara_cFv();
extern "C" void modeWait__12daZrTurara_cFv();
extern "C" void init_modeBreak__12daZrTurara_cFv();
extern "C" void modeBreak__12daZrTurara_cFv();
extern "C" void init_modeEnd__12daZrTurara_cFv();
extern "C" void modeEnd__12daZrTurara_cFv();
extern "C" void Draw__12daZrTurara_cFv();
extern "C" void Delete__12daZrTurara_cFv();
extern "C" static void daZrTurara_Draw__FP12daZrTurara_c();
extern "C" static void daZrTurara_Execute__FP12daZrTurara_c();
extern "C" static void daZrTurara_Delete__FP12daZrTurara_c();
extern "C" static void daZrTurara_Create__FP10fopAc_ac_c();
extern "C" void __dt__10cCcD_GSttsFv();
extern "C" void __dt__16daZrTurara_HIO_cFv();
extern "C" void __sinit_d_a_obj_zrTurara_cpp();
extern "C" u8 const mCcDObjInfo__12daZrTurara_c[48];
extern "C" extern char const* const d_a_obj_zrTurara__stringBase0;
extern "C" u8 mCcDCyl__12daZrTurara_c[68];
//
// External References:
//
extern "C" void mDoMtx_ZXYrotM__FPA4_fsss();
extern "C" void scaleM__14mDoMtx_stack_cFfff();
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
extern "C" void fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc();
extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff();
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 onSwitch__10dSv_info_cFii();
extern "C" void isSwitch__10dSv_info_cCFii();
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
extern "C" void getEmitter__Q213dPa_control_c7level_cFUl();
extern "C" void
set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
extern "C" void
set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
extern "C" void Release__4cBgSFP9dBgW_Base();
extern "C" void Regist__4dBgSFP9dBgW_BaseP10fopAc_ac_c();
extern "C" void dBgS_MoveBGProc_TypicalRotY__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz();
extern "C" void __ct__16dBgS_MoveBgActorFv();
extern "C" bool Create__16dBgS_MoveBgActorFv();
extern "C" bool IsDelete__16dBgS_MoveBgActorFv();
extern "C" bool ToFore__16dBgS_MoveBgActorFv();
extern "C" bool ToBack__16dBgS_MoveBgActorFv();
extern "C" void
MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUlPA3_A4_f();
extern "C" void MoveBGDelete__16dBgS_MoveBgActorFv();
extern "C" void MoveBGExecute__16dBgS_MoveBgActorFv();
extern "C" void Set__4cBgWFP6cBgD_tUlPA3_A4_f();
extern "C" void __ct__4dBgWFv();
extern "C" void Move__4dBgWFv();
extern "C" void __ct__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 GetTgHitGObj__12dCcD_GObjInfFv();
extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl();
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
extern "C" void Set__4cCcSFP8cCcD_Obj();
extern "C" void cM_rndF__Ff();
extern "C" void cM_rndFX__Ff();
extern "C" void ChkUsed__9cBgW_BgIdCFv();
extern "C" void SetC__8cM3dGCylFRC4cXyz();
extern "C" void SetH__8cM3dGCylFf();
extern "C" void SetR__8cM3dGCylFf();
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
extern "C" void* __nw__FUl();
extern "C" void __dl__FPv();
extern "C" void __ptmf_scall();
extern "C" void _savegpr_28();
extern "C" void _restgpr_28();
extern "C" extern void* __vt__8dCcD_Cyl[36];
extern "C" extern void* __vt__9dCcD_Stts[11];
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" u8 now__14mDoMtx_stack_c[48];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
extern "C" void __register_global_object();
//
// Declarations:
//
/* 80D41608-80D41614 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 80D41614-80D41628 00000C 0004+10 0/0 0/0 0/0 .data @1787 */
#pragma push
#pragma force_active on
SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = {
0x02000201,
/* padding */
0x40080000,
0x00000000,
0x3FE00000,
0x00000000,
};
#pragma pop
/* 80D4159C-80D415A0 000000 0004+00 3/4 0/0 0/0 .rodata @3657 */
SECTION_RODATA static f32 const lit_3657 = 250.0f;
COMPILER_STRIP_GATE(0x80D4159C, &lit_3657);
UNK_REL_DATA
/* 80D4056C-80D4059C 0000EC 0030+00 1/1 0/0 0/0 .text __ct__16daZrTurara_HIO_cFv */
daZrTurara_HIO_c::daZrTurara_HIO_c() {
mDebrisNum = 5;
// mDebrisRange = 250.0f;
mDebrisRange = FLOAT_LABEL(lit_3657);
mDebrisRange = 250.0f;
}
/* 80D4178C-80D41798 000014 000C+00 2/2 0/0 0/0 .bss l_HIO */
@@ -162,121 +39,13 @@ dCcD_SrcCyl daZrTurara_c::mCcDCyl = {
{{0.0f, 0.0f, 0.0f}, 0.0f, 0.0f}
};
/* 80D4166C-80D41678 -00001 000C+00 0/1 0/0 0/0 .data @3916 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3916[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)modeWait__12daZrTurara_cFv,
};
#pragma pop
/* 80D41678-80D41684 -00001 000C+00 0/1 0/0 0/0 .data @3917 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3917[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)modeBreak__12daZrTurara_cFv,
};
#pragma pop
/* 80D41684-80D41690 -00001 000C+00 0/1 0/0 0/0 .data @3918 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3918[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)modeEnd__12daZrTurara_cFv,
};
#pragma pop
/* 80D41690-80D416B4 000088 0024+00 0/1 0/0 0/0 .data mode_proc$3915 */
#pragma push
#pragma force_active on
SECTION_DATA static u8 mode_proc[36] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
#pragma pop
/* 80D416B4-80D416D4 -00001 0020+00 1/0 0/0 0/0 .data l_daZrTurara_Method */
static actor_method_class l_daZrTurara_Method = {
(process_method_func)daZrTurara_Create__FP10fopAc_ac_c,
(process_method_func)daZrTurara_Delete__FP12daZrTurara_c,
(process_method_func)daZrTurara_Execute__FP12daZrTurara_c,
(process_method_func)NULL,
(process_method_func)daZrTurara_Draw__FP12daZrTurara_c,
};
/* 80D416D4-80D41704 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_zrTurara */
extern actor_process_profile_definition g_profile_Obj_zrTurara = {
fpcLy_CURRENT_e,
3,
fpcPi_CURRENT_e,
PROC_Obj_zrTurara,
&g_fpcLf_Method.base,
sizeof(daZrTurara_c),
0,
0,
&g_fopAc_Method.base,
0x28C,
&l_daZrTurara_Method,
0x40100,
fopAc_ACTOR_e,
fopAc_CULLBOX_CUSTOM_e,
};
/* 80D41704-80D41710 0000FC 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,
};
/* 80D41710-80D4171C 000108 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,
};
/* 80D4171C-80D41728 000114 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGCyl */
SECTION_DATA extern void* __vt__8cM3dGCyl[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__8cM3dGCylFv,
};
/* 80D41728-80D41734 000120 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGAab */
SECTION_DATA extern void* __vt__8cM3dGAab[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__8cM3dGAabFv,
};
/* 80D41734-80D4175C 00012C 0028+00 1/1 0/0 0/0 .data __vt__12daZrTurara_c */
extern "C" extern void* __vt__12daZrTurara_c[10];
/* 80D4175C-80D41768 000154 000C+00 2/2 0/0 0/0 .data __vt__16daZrTurara_HIO_c */
extern "C" extern void* __vt__16daZrTurara_HIO_c[3];
/* 80D41768-80D41774 000160 000C+00 3/3 0/0 0/0 .data __vt__14mDoHIO_entry_c */
extern "C" extern void* __vt__14mDoHIO_entry_c[3];
/* 80D415D0-80D415D4 000034 0004+00 3/4 0/0 0/0 .rodata @3699 */
SECTION_RODATA static f32 const lit_3699 = 1.0f;
COMPILER_STRIP_GATE(0x80D415D0, &lit_3699);
/* 80D405E4-80D40714 000164 0130+00 2/2 0/0 0/0 .text setBaseMtx__12daZrTurara_cFv */
void daZrTurara_c::setBaseMtx() {
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, shape_angle.z);
mDoMtx_stack_c::scaleM(mScaleF, mScaleF, mScaleF);
// cXyz scale(1.0f, 1.0f, 1.0f);
cXyz scale(FLOAT_LABEL(lit_3699), FLOAT_LABEL(lit_3699), FLOAT_LABEL(lit_3699));
cXyz scale(1.0f, 1.0f, 1.0f);
mpBaseModel->setBaseScale(scale);
mpBaseModel->setBaseTRMtx(mDoMtx_stack_c::get());
PSMTXCopy(mDoMtx_stack_c::get(), mBgMtx);
@@ -310,20 +79,6 @@ int daZrTurara_c::CreateHeap() {
return 1;
}
/* 80D415D4-80D415DC 000038 0004+04 1/1 0/0 0/0 .rodata @3831 */
SECTION_RODATA static f32 const lit_3831[1 + 1 /* padding */] = {
1.0f / 10.0f,
/* padding */
0.0f,
};
COMPILER_STRIP_GATE(0x80D415D4, &lit_3831);
/* 80D415DC-80D415E4 000040 0008+00 1/1 0/0 0/0 .rodata @3833 */
SECTION_RODATA static u8 const lit_3833[8] = {
0x43, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80D415DC, &lit_3833);
/* 80D40844-80D40B1C 0003C4 02D8+00 1/1 0/0 0/0 .text create__12daZrTurara_cFv */
cPhs__Step daZrTurara_c::create() {
fopAcM_SetupActor(this, daZrTurara_c);
@@ -339,7 +94,7 @@ cPhs__Step daZrTurara_c::create() {
mCcStatus.Init(0xff, 0xff, this);
mCcCyl.Set(mCcDCyl);
mCcCyl.SetStts(&mCcStatus);
u8 sw1 = getSwBit1();
int sw1 = getSwBit1();
if (fopAcM_isSwitch(this, sw1)) {
if (mpRockBgW != NULL) {
dComIfG_Bgsp().Release(mpRockBgW);
@@ -374,25 +129,6 @@ cPhs__Step daZrTurara_c::create() {
return step;
}
/* 80D40B1C-80D40B64 00069C 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */
// cM3dGCyl::~cM3dGCyl() {
extern "C" void __dt__8cM3dGCylFv() {
// NONMATCHING
}
/* 80D40B64-80D40BAC 0006E4 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */
// cM3dGAab::~cM3dGAab() {
extern "C" void __dt__8cM3dGAabFv() {
// NONMATCHING
}
/* 80D40BAC-80D40C08 00072C 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */
// dCcD_GStts::~dCcD_GStts() {
extern "C" void __dt__10dCcD_GSttsFv() {
// NONMATCHING
}
/* 80D40C08-80D40C68 000788 0060+00 1/0 0/0 0/0 .text Execute__12daZrTurara_cFPPA3_A4_f
*/
int daZrTurara_c::Execute(Mtx** i_mtxP) {
@@ -405,30 +141,6 @@ int daZrTurara_c::Execute(Mtx** i_mtxP) {
return 1;
}
/* 80D415E4-80D415E8 000048 0004+00 0/1 0/0 0/0 .rodata @3926 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3926 = 130.0f;
COMPILER_STRIP_GATE(0x80D415E4, &lit_3926);
#pragma pop
/* 80D415E8-80D415EC 00004C 0004+00 0/1 0/0 0/0 .rodata @3927 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3927 = 450.0f;
COMPILER_STRIP_GATE(0x80D415E8, &lit_3927);
#pragma pop
/* 80D415EC-80D415F0 000050 0004+00 0/1 0/0 0/0 .rodata @3928 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3928 = 500.0f;
COMPILER_STRIP_GATE(0x80D415EC, &lit_3928);
#pragma pop
/* 80D41798-80D4179C 000020 0004+00 1/1 0/0 0/0 .bss None */
static u8 data_80D41798[4];
/* 80D40C68-80D40D88 0007E8 0120+00 1/1 0/0 0/0 .text move__12daZrTurara_cFv */
void daZrTurara_c::move() {
typedef void (daZrTurara_c::*daZrTurara_modeFunc)();
@@ -457,10 +169,6 @@ void daZrTurara_c::modeWait() {
}
}
/* 80D415F0-80D415F4 000054 0004+00 1/1 0/0 0/0 .rodata @4013 */
SECTION_RODATA static f32 const lit_4013 = -1.0f;
COMPILER_STRIP_GATE(0x80D415F0, &lit_4013);
/* 80D40E0C-80D410E0 00098C 02D4+00 1/1 0/0 0/0 .text init_modeBreak__12daZrTurara_cFv */
void daZrTurara_c::init_modeBreak() {
mDoAud_seStart(Z2SE_OBJ_RG_ROCK_BREAK, &current.pos, 0,
@@ -478,30 +186,14 @@ void daZrTurara_c::init_modeBreak() {
dComIfGp_particle_set(0x8a96, &current.pos, NULL, &scale);
dComIfGp_particle_set(0x8a97, &current.pos, NULL, &scale);
mParticleKey = dComIfGp_particle_set(mParticleKey, 0x8a98, &current.pos, NULL, &scale);
u8 sw1 = getSwBit1();
int sw1 = getSwBit1();
fopAcM_onSwitch(this, sw1);
mDebrisCount = 0;
mBreakTimer = 0;
mMode = 1;
}
/* 80D415F4-80D415F8 000058 0004+00 0/1 0/0 0/0 .rodata @4059 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4059 = 200.0f;
COMPILER_STRIP_GATE(0x80D415F4, &lit_4059);
#pragma pop
/* 80D415F8-80D415FC 00005C 0004+00 0/1 0/0 0/0 .rodata @4060 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4060 = 20.0f;
COMPILER_STRIP_GATE(0x80D415F8, &lit_4060);
#pragma pop
/* 80D410E0-80D412A0 000C60 01C0+00 1/0 0/0 0/0 .text modeBreak__12daZrTurara_cFv */
// NONMATCHING - regalloc
void daZrTurara_c::modeBreak() {
cXyz scale(mScaleF, mScaleF, mScaleF);
mParticleKey = dComIfGp_particle_set(mParticleKey, 0x8a98, &current.pos, NULL, &scale);
@@ -582,8 +274,29 @@ static cPhs__Step daZrTurara_Create(fopAc_ac_c* i_this) {
return static_cast<daZrTurara_c*>(i_this)->create();
}
/* 80D41474-80D414BC 000FF4 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */
// cCcD_GStts::~cCcD_GStts() {
extern "C" void __dt__10cCcD_GSttsFv() {
// NONMATCHING
}
/* 80D416B4-80D416D4 -00001 0020+00 1/0 0/0 0/0 .data l_daZrTurara_Method */
static actor_method_class l_daZrTurara_Method = {
(process_method_func)daZrTurara_Create,
(process_method_func)daZrTurara_Delete,
(process_method_func)daZrTurara_Execute,
(process_method_func)NULL,
(process_method_func)daZrTurara_Draw,
};
/* 80D416D4-80D41704 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_zrTurara */
extern actor_process_profile_definition g_profile_Obj_zrTurara = {
fpcLy_CURRENT_e,
3,
fpcPi_CURRENT_e,
PROC_Obj_zrTurara,
&g_fpcLf_Method.base,
sizeof(daZrTurara_c),
0,
0,
&g_fopAc_Method.base,
0x28C,
&l_daZrTurara_Method,
0x40100,
fopAc_ACTOR_e,
fopAc_CULLBOX_CUSTOM_e,
};
+23 -86
View File
@@ -4,40 +4,10 @@
*/
#include "d/actor/d_a_scene_exit.h"
#include "dol2asm.h"
#include "d/d_com_inf_game.h"
#include "d/actor/d_a_player.h"
#include "m_Do/m_Do_mtx.h"
//
// Forward References:
//
extern "C" void checkWork__8daScex_cFv();
extern "C" static void daScex_Create__FP10fopAc_ac_c();
extern "C" static void daScex_Execute__FP8daScex_c();
extern "C" void execute__8daScex_cFv();
//
// External References:
//
extern "C" void mDoMtx_YrotM__FPA4_fs();
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void isEventBit__11dSv_event_cCFUs();
extern "C" void onSwitch__10dSv_info_cFii();
extern "C" void isSwitch__10dSv_info_cCFii();
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
//
// Declarations:
//
/* 80485838-80485974 000078 013C+00 1/1 0/0 0/0 .text checkWork__8daScex_cFv */
int daScex_c::checkWork() {
if (getArg1() == 0xFF || getArg1() == 0 || getArg1() == 3) {
@@ -50,75 +20,42 @@ int daScex_c::checkWork() {
}
}
u16 offBit = getOffEventBit();
if (offBit != 0x0FFF && dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[offBit])) {
u16 eventBit = getOffEventBit();
if (eventBit != 0x0FFF && dComIfGs_isEventBit((u16)dSv_event_flag_c::saveBitLabels[eventBit])) {
return 0;
}
u16 onBit = getOnEventBit();
if (onBit != 0x0FFF && !dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[onBit])) {
eventBit = getOnEventBit();
if (eventBit != 0x0FFF && !dComIfGs_isEventBit((u16)dSv_event_flag_c::saveBitLabels[eventBit])) {
return 0;
}
return 1;
}
/* ############################################################################################## */
/* 80485C98-80485C9C 000000 0004+00 2/2 0/0 0/0 .rodata @3758 */
SECTION_RODATA static f32 const lit_3758 = 75.0f;
COMPILER_STRIP_GATE(0x80485C98, &lit_3758);
inline int daScex_c::create() {
fopAcM_SetupActor(this, daScex_c);
/* 80485C9C-80485CA0 000004 0004+00 1/1 0/0 0/0 .rodata @3759 */
SECTION_RODATA static f32 const lit_3759 = 150.0f;
COMPILER_STRIP_GATE(0x80485C9C, &lit_3759);
/* 80485974-80485A30 0001B4 00BC+00 1/0 0/0 0/0 .text daScex_Create__FP10fopAc_ac_c */
static int daScex_Create(fopAc_ac_c* i_this) {
fopAcM_SetupActor(i_this, daScex_c);
daScex_c* scex = static_cast<daScex_c*>(i_this);
mDoMtx_stack_c::transS(scex->current.pos.x, scex->current.pos.y, scex->current.pos.z);
mDoMtx_stack_c::YrotM(scex->shape_angle.y);
MTXInverse(mDoMtx_stack_c::get(), scex->mMatrix);
scex->scale.x *= 75.0f;
scex->scale.z *= 75.0f;
scex->scale.y *= 150.0f;
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
mDoMtx_stack_c::YrotM(shape_angle.y);
mDoMtx_inverse(mDoMtx_stack_c::get(), mMatrix);
scale.x *= 75.0f;
scale.z *= 75.0f;
scale.y *= 150.0f;
return cPhs_COMPLEATE_e;
}
/* 80485A30-80485A50 000270 0020+00 1/0 0/0 0/0 .text daScex_Execute__FP8daScex_c */
static void daScex_Execute(daScex_c* param_0) {
// NONMATCHING
/* 80485974-80485A30 0001B4 00BC+00 1/0 0/0 0/0 .text daScex_Create__FP10fopAc_ac_c */
static int daScex_Create(fopAc_ac_c* i_this) {
daScex_c* scx = static_cast<daScex_c*>(i_this);
return scx->create();
}
/* ############################################################################################## */
/* 80485CA0-80485CA4 000008 0004+00 0/1 0/0 0/0 .rodata @3840 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3840[4] = {
0x00,
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x80485CA0, &lit_3840);
#pragma pop
/* 80485CA4-80485CA8 00000C 0004+00 0/1 0/0 0/0 .rodata @3841 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3841 = 1.0f;
COMPILER_STRIP_GATE(0x80485CA4, &lit_3841);
#pragma pop
/* 80485CA8-80485CAC 000010 0004+00 0/1 0/0 0/0 .rodata @3842 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3842 = -1.0f;
COMPILER_STRIP_GATE(0x80485CA8, &lit_3842);
#pragma pop
/* 80485A30-80485A50 000270 0020+00 1/0 0/0 0/0 .text daScex_Execute__FP8daScex_c */
static int daScex_Execute(daScex_c* i_this) {
return i_this->execute();
}
/* 80485A50-80485C90 000290 0240+00 1/1 0/0 0/0 .text execute__8daScex_cFv */
// NONMATCHING - regalloc, this matches debug but not retail :/
@@ -167,9 +104,9 @@ int daScex_c::execute() {
/* ############################################################################################## */
/* 80485CAC-80485CCC -00001 0020+00 1/0 0/0 0/0 .data l_daScex_Method */
static actor_method_class l_daScex_Method = {
(process_method_func)daScex_Create__FP10fopAc_ac_c,
0,
(process_method_func)daScex_Execute__FP8daScex_c,
(process_method_func)daScex_Create,
NULL,
(process_method_func)daScex_Execute,
};
/* 80485CCC-80485D00 -00001 0034+00 0/0 0/0 1/0 .data g_profile_SCENE_EXIT */