diff options
| author | Caroline Madsen <69010899+randomsalience@users.noreply.github.com> | 2024-10-31 20:36:11 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-10-31 17:36:11 -0700 |
| commit | 09423b6fa00029d0325cbade59c78ae42f1014de (patch) | |
| tree | 15c444d2b60c559bbfd15385a4cfa83b8fe33521 /src/d/actor | |
| parent | 30777a85b5357a60f0d57f9127ff4e04d3b2bdd5 (diff) | |
more misc. cleanup (#2232)
Diffstat (limited to 'src/d/actor')
32 files changed, 457 insertions, 6455 deletions
diff --git a/src/d/actor/d_a_alldie.cpp b/src/d/actor/d_a_alldie.cpp index 6b3b5cc705..7eae783b2c 100644 --- a/src/d/actor/d_a_alldie.cpp +++ b/src/d/actor/d_a_alldie.cpp @@ -24,9 +24,7 @@ int daAlldie_c::actionWait() { /* 804D5838-804D5888 000098 0050+00 1/1 0/0 0/0 .text actionCheck__10daAlldie_cFv */ int daAlldie_c::actionCheck() { - s8 roomNo = fopAcM_GetRoomNo(this); - - if (fopAcM_myRoomSearchEnemy(roomNo) == NULL) { + if (fopAcM_myRoomSearchEnemy(fopAcM_GetRoomNo(this)) == NULL) { mAction = ACT_TIMER; mTimer = 65; } @@ -36,9 +34,7 @@ int daAlldie_c::actionCheck() { /* 804D5888-804D5938 0000E8 00B0+00 1/1 0/0 0/0 .text actionTimer__10daAlldie_cFv */ int daAlldie_c::actionTimer() { - s8 roomNo = fopAcM_GetRoomNo(this); - - if (fopAcM_myRoomSearchEnemy(roomNo) != NULL) { + if (fopAcM_myRoomSearchEnemy(fopAcM_GetRoomNo(this)) != NULL) { mAction = ACT_CHECK; } else { if (mTimer > 0) { @@ -165,7 +161,7 @@ int daAlldie_c::create() { s8 roomNo = fopAcM_GetRoomNo(this); - if (!dComIfGs_isSwitch(getSwbit(), roomNo)) { + if (!dComIfGs_isSwitch(getSwbit(), fopAcM_GetRoomNo(this))) { mAction = ACT_CHECK; } else { mAction = ACT_WAIT; @@ -222,4 +218,4 @@ extern actor_process_profile_definition g_profile_ALLDIE = { 0x44000, fopAc_ACTOR_e, fopAc_CULLBOX_6_e, -};
\ No newline at end of file +}; diff --git a/src/d/actor/d_a_arrow.cpp b/src/d/actor/d_a_arrow.cpp index cfdc13d826..15588073ef 100644 --- a/src/d/actor/d_a_arrow.cpp +++ b/src/d/actor/d_a_arrow.cpp @@ -6,7 +6,7 @@ #include "d/actor/d_a_arrow.h" #include "JSystem/J3DGraphBase/J3DMaterial.h" #include "SSystem/SComponent/c_math.h" -#include "dol2asm.h" +#include "Z2AudioLib/Z2Instances.h" #include "f_op/f_op_kankyo_mng.h" #include "d/d_com_inf_game.h" #include "d/actor/d_a_alink.h" @@ -15,215 +15,6 @@ #include "d/actor/d_a_horse.h" #include "d/actor/d_a_hozelda.h" -// -// Forward References: -// - -extern "C" void createHeap__9daArrow_cFv(); -extern "C" static void daArrow_createHeap__FP10fopAc_ac_c(); -extern "C" void atHitCallBack__9daArrow_cFP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf(); -extern "C" static void -daArrow_atHitCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf(); -extern "C" void decAlphaBlur__9daArrow_cFv(); -extern "C" void setBlur__9daArrow_cFv(); -extern "C" void setLightArrowHitMark__9daArrow_cFPC4cXyz(); -extern "C" void setLightChargeEffect__9daArrow_cFi(); -extern "C" void __dt__4cXyzFv(); -extern "C" void setArrowWaterNextPos__9daArrow_cFP4cXyzP4cXyz(); -extern "C" void setArrowAt__9daArrow_cFf(); -extern "C" void arrowShooting__9daArrow_cFv(); -extern "C" void setBombArrowExplode__9daArrow_cFP4cXyz(); -extern "C" void setRoomInfo__9daArrow_cFv(); -extern "C" void clearNearActorData__9daArrow_cFv(); -extern "C" void getVibAngle__9daArrow_cFv(); -extern "C" void setNormalMatrix__9daArrow_cFv(); -extern "C" void setSmokePos__9daArrow_cFv(); -extern "C" void setKeepMatrix__9daArrow_cFv(); -extern "C" void setStopActorMatrix__9daArrow_cFv(); -extern "C" void setBombMoveEffect__9daArrow_cFv(); -extern "C" void checkReget__9daArrow_cFv(); -extern "C" void procWait__9daArrow_cFv(); -extern "C" void procMove__9daArrow_cFv(); -extern "C" void __dt__8cM3dGPlaFv(); -extern "C" void procReturnInit__9daArrow_cFi(); -extern "C" void procReturn__9daArrow_cFv(); -extern "C" void procBGStop__9daArrow_cFv(); -extern "C" void procActorStop__9daArrow_cFv(); -extern "C" void procActorControllStop__9daArrow_cFv(); -extern "C" void procSlingHitInit__9daArrow_cFP4cXyzP12dCcD_GObjInf(); -extern "C" void procSlingHit__9daArrow_cFv(); -extern "C" void execute__9daArrow_cFv(); -extern "C" static void daArrow_execute__FP9daArrow_c(); -extern "C" void draw__9daArrow_cFv(); -extern "C" static int daArrow_draw__FP9daArrow_c(); -extern "C" static void daAlink_searchHorseZelda__FP10fopAc_ac_cPv(); -extern "C" void create__9daArrow_cFv(); -extern "C" void cleanup__18dPa_levelEcallBackFv(); -extern "C" void __dt__18dPa_levelEcallBackFv(); -extern "C" void __dt__8cM3dGSphFv(); -extern "C" void __dt__8cM3dGAabFv(); -extern "C" void __dt__10dCcD_GSttsFv(); -extern "C" static int daArrow_create__FP9daArrow_c(); -extern "C" void __dt__9daArrow_cFv(); -extern "C" static int daArrow_delete__FP9daArrow_c(); -extern "C" void __dt__10cCcD_GSttsFv(); -extern "C" void execute__18JPAEmitterCallBackFP14JPABaseEmitter(); -extern "C" void executeAfter__18JPAEmitterCallBackFP14JPABaseEmitter(); -extern "C" void draw__18JPAEmitterCallBackFP14JPABaseEmitter(); -extern "C" void drawAfter__18JPAEmitterCallBackFP14JPABaseEmitter(); -extern "C" void func_8049DC58(void* _this, s16*); -extern "C" extern char const* const d_a_arrow__stringBase0; - -// -// External References: -// - -extern "C" void mDoMtx_XYZrotM__FPA4_fsss(); -extern "C" void mDoMtx_ZXYrotM__FPA4_fsss(); -extern "C" void mDoMtx_YrotS__FPA4_fs(); -extern "C" void mDoMtx_MtxToRot__FPA4_CfP5csXyz(); -extern "C" void transM__14mDoMtx_stack_cFfff(); -extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz(); -extern "C" void mDoExt_modelUpdateDL__FP8J3DModel(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void fopAc_IsActor__FPv(); -extern "C" void fopAcIt_Judge__FPFPvPv_PvPv(); -extern "C" void fopAcM_delete__FP10fopAc_ac_c(); -extern "C" void fopAcM_fastCreate__FsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_iPv(); -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_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fopAcM_createItemForSimpleDemo__FPC4cXyziiPC5csXyzPC4cXyzff(); -extern "C" void gndCheck__11fopAcM_gc_cFPC4cXyz(); -extern "C" void waterCheck__11fopAcM_wt_cFPC4cXyz(); -extern "C" void fopKyM_createWpillar__FPC4cXyzfi(); -extern "C" void fpcSch_JudgeByID__FPvPv(); -extern "C" void dComIfGp_getReverb__Fi(); -extern "C" void getArrowOffsetPosAndAngle__9dJntCol_cCFPC4cXyzPC5csXyzP4cXyzP4cXyz(); -extern "C" void setArrowPosAndAngle__9dJntCol_cFPC4cXyzPC4cXyziP4cXyzP5csXyz(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void forceOnEventMove__Q213dPa_control_c7level_cFUl(); -extern "C" void getEmitter__Q213dPa_control_c7level_cFUl(); -extern "C" void setHitMark__13dPa_control_cFUsP10fopAc_ac_cPC4cXyzPC5csXyzPC4cXyzUl(); -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 setOldPosP__22dPa_hermiteEcallBack_cFPC4cXyzPC4cXyz(); -extern "C" void LineCross__4cBgSFP11cBgS_LinChk(); -extern "C" void ChkPolySafe__4cBgSFRC13cBgS_PolyInfo(); -extern "C" void GetTriPla__4cBgSCFRC13cBgS_PolyInfoP8cM3dGPla(); -extern "C" void ChkMoveBG__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void GetPolyColor__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void GetPolyAtt0__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void GetRoomId__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void MoveBgTransPos__4dBgSFRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz(); -extern "C" void ArrowStickCallBack__4dBgSFRC13cBgS_PolyInfoP10fopAc_ac_cR4cXyz(); -extern "C" void dBgS_CheckBGroundPoly__FRC13cBgS_PolyInfo(); -extern "C" void Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c(); -extern "C" void __ct__14dBgS_ObjLinChkFv(); -extern "C" void __dt__14dBgS_ObjLinChkFv(); -extern "C" void __ct__16dBgS_ArrowLinChkFv(); -extern "C" void __dt__16dBgS_ArrowLinChkFv(); -extern "C" void GetAc__22dCcD_GAtTgCoCommonBaseFv(); -extern "C" void __ct__10dCcD_GSttsFv(); -extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c(); -extern "C" void __ct__12dCcD_GObjInfFv(); -extern "C" void __dt__12dCcD_GObjInfFv(); -extern "C" void ChkAtHit__12dCcD_GObjInfFv(); -extern "C" void ResetAtHit__12dCcD_GObjInfFv(); -extern "C" void GetAtHitGObj__12dCcD_GObjInfFv(); -extern "C" void ChkTgHit__12dCcD_GObjInfFv(); -extern "C" void GetTgHitGObj__12dCcD_GObjInfFv(); -extern "C" void ChkCoHit__12dCcD_GObjInfFv(); -extern "C" void Set__8dCcD_CpsFRC11dCcD_SrcCps(); -extern "C" void CalcAtVec__8dCcD_CpsFv(); -extern "C" void Set__8dCcD_SphFRC11dCcD_SrcSph(); -extern "C" void Set__12dCcMassS_MngFP8cCcD_ObjUc(); -extern "C" void getAlinkArcName__9daAlink_cFv(); -extern "C" void notSwordHitVibActor__9daAlink_cFP10fopAc_ac_c(); -extern "C" void getFreezeR__9daAlink_cCFv(); -extern "C" void getFreezeG__9daAlink_cCFv(); -extern "C" void getFreezeB__9daAlink_cCFv(); -extern "C" void checkIcePolygonDamage__9daAlink_cFP13cBgS_PolyInfo(); -extern "C" void getArrowFlyData__9daAlink_cCFPfPfi(); -extern "C" void getArrowIncAtR__9daAlink_cCFv(); -extern "C" void getBombArrowFlyExplodeTime__9daAlink_cCFv(); -extern "C" void getArrowIncAtMaxStart__9daAlink_cCFv(); -extern "C" void getArrowIncAtMax__9daAlink_cCFv(); -extern "C" void checkBowCameraArrowPosP__9daAlink_cFPsPs(); -extern "C" void getBombExplodeTime__9daAlink_cCFv(); -extern "C" void setActor__16daPy_actorKeep_cFv(); -extern "C" void setData__16daPy_actorKeep_cFP10fopAc_ac_c(); -extern "C" void clearData__16daPy_actorKeep_cFv(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void dKy_Sound_set__F4cXyziUii(); -extern "C" void dKy_pol_sound_get__FPC13cBgS_PolyInfo(); -extern "C" void Set__4cCcSFP8cCcD_Obj(); -extern "C" void __pl__4cXyzCFRC3Vec(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void __ml__4cXyzCFf(); -extern "C" void normalizeZP__4cXyzFv(); -extern "C" void atan2sY_XZ__4cXyzCFv(); -extern "C" void __ct__5csXyzFsss(); -extern "C" void cM_rad2s__Ff(); -extern "C" void cM_atan2s__Fff(); -extern "C" void cM_rndF__Ff(); -extern "C" void cM_rndFX__Ff(); -extern "C" void __ct__8cM3dGCpsFv(); -extern "C" void __dt__8cM3dGCpsFv(); -extern "C" void Set__8cM3dGCpsFRC4cXyzRC4cXyzf(); -extern "C" void SetC__8cM3dGSphFRC4cXyz(); -extern "C" void cLib_chaseF__FPfff(); -extern "C" void cLib_targetAngleY__FPC3VecPC3Vec(); -extern "C" void MtxPosition__FP4cXyzP4cXyz(); -extern "C" void __dt__18JPAEmitterCallBackFv(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void deleteObject__14Z2SoundObjBaseFv(); -extern "C" void __dt__21Z2DopplerSoundObjBaseFv(); -extern "C" void __ct__15Z2SoundObjArrowFv(); -extern "C" void startHitItemSE__14Z2CreatureLinkFUlUlP14Z2SoundObjBasef(); -extern "C" void __dl__FPv(); -extern "C" void __ptmf_scall(); -extern "C" void _savegpr_24(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_24(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" extern void* __vt__22dPa_hermiteEcallBack_c[9]; -extern "C" extern void* __vt__8dCcD_Sph[36]; -extern "C" extern void* __vt__8dCcD_Cps[36]; -extern "C" extern void* __vt__9dCcD_Stts[11]; -extern "C" extern void* __vt__12cCcD_SphAttr[25]; -extern "C" extern void* __vt__12cCcD_CpsAttr[25]; -extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; -extern "C" extern void* __vt__9cCcD_Stts[8]; -extern "C" extern void* __vt__15Z2SoundObjArrow[8]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" u8 mGndCheck__11fopAcM_gc_c[84]; -extern "C" u8 mWaterCheck__11fopAcM_wt_c[84 + 4 /* padding */]; -extern "C" u8 sincosTable___5JMath[65536]; -extern "C" f32 mWaterY__11fopAcM_wt_c[1 + 1 /* padding */]; -extern "C" extern u8 m_count__9daArrow_c[4]; -extern "C" u8 mParticleTracePCB__13dPa_control_c[4 + 4 /* padding */]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; -extern "C" void __register_global_object(); - -// -// Declarations: -// - /* 80499C6C-80499D6C 0000EC 0100+00 1/1 0/0 0/0 .text createHeap__9daArrow_cFv */ int daArrow_c::createHeap() { J3DModelData* model_data; @@ -255,22 +46,18 @@ int daArrow_c::createHeap() { return TRUE; } +/* 8049DC84-8049DC90 000000 000C+00 15/15 0/0 0/0 .rodata @3768 */ +static u8 const lit_3768[12] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + /* 80499D6C-80499D8C 0001EC 0020+00 1/1 0/0 0/0 .text daArrow_createHeap__FP10fopAc_ac_c */ static int daArrow_createHeap(fopAc_ac_c* i_this) { return static_cast<daArrow_c*>(i_this)->createHeap(); } -/* ############################################################################################## */ -/* 8049DC84-8049DC90 000000 000C+00 15/15 0/0 0/0 .rodata @3768 */ -SECTION_RODATA static u8 const lit_3768[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8049DC84, &lit_3768); - /* 8049DC90-8049DCDC 00000C 004C+00 0/1 0/0 0/0 .rodata l_atCpsSrc */ -#pragma push -#pragma force_active on const static dCcD_SrcCps l_atCpsSrc = { { {0x0, {{AT_TYPE_ARROW, 0x2, 0x1b}, {0xd8fbffff, 0x11}, 0x0}}, // mObj @@ -282,11 +69,8 @@ const static dCcD_SrcCps l_atCpsSrc = { {{0.0f, 0.0f, 0.0f}, {0.0f, 0.0f, 0.0f}, 5.0f}, // mCps } // mCpsAttr }; -#pragma pop /* 8049DCDC-8049DD1C 000058 0040+00 0/1 0/0 0/0 .rodata l_coSphSrc */ -#pragma push -#pragma force_active on const static dCcD_SrcSph l_coSphSrc = { { {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x319}}, // mObj @@ -298,50 +82,6 @@ const static dCcD_SrcSph l_coSphSrc = { {{0.0f, 0.0f, 0.0f}, 25.0f} // mSph } // mSphAttr }; -#pragma pop - -#ifndef NONMATCHING -/* 8049DD1C-8049DD24 000098 0004+04 2/12 0/0 0/0 .rodata @4130 */ -SECTION_RODATA static u8 const lit_4130[4 + 4 /* padding */] = { - 0x00, - 0x00, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x8049DD1C, &lit_4130); - -/* 8049DD24-8049DD2C 0000A0 0008+00 0/4 0/0 0/0 .rodata @4131 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4131[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8049DD24, &lit_4131); -#pragma pop - -/* 8049DD2C-8049DD34 0000A8 0008+00 0/4 0/0 0/0 .rodata @4132 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4132[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8049DD2C, &lit_4132); -#pragma pop - -/* 8049DD34-8049DD3C 0000B0 0008+00 0/4 0/0 0/0 .rodata @4133 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4133[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8049DD34, &lit_4133); -#pragma pop -#endif /* 80499D8C-80499F9C 00020C 0210+00 1/1 0/0 0/0 .text * atHitCallBack__9daArrow_cFP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf */ @@ -373,7 +113,6 @@ void daArrow_c::atHitCallBack(dCcD_GObjInf* i_atObjInf, fopAc_ac_c* i_tgActor, d } } - /* 80499F9C-80499FBC 00041C 0020+00 1/1 0/0 0/0 .text * daArrow_atHitCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf */ static void daArrow_atHitCallBack(fopAc_ac_c* i_this, dCcD_GObjInf* i_atObjInf, fopAc_ac_c* i_tgActor, dCcD_GObjInf* i_tgObjInf) { @@ -396,13 +135,6 @@ void daArrow_c::decAlphaBlur() { } } -#ifndef NONMATCHING -/* ############################################################################################## */ -/* 8049DD3C-8049DD40 0000B8 0004+00 4/10 0/0 0/0 .rodata @4187 */ -SECTION_RODATA static f32 const lit_4187 = 1.0f; -COMPILER_STRIP_GATE(0x8049DD3C, &lit_4187); -#endif - /* 8049A04C-8049A110 0004CC 00C4+00 5/5 0/0 0/0 .text setBlur__9daArrow_cFv */ void daArrow_c::setBlur() { for (int i = 0; i < field_0x946; i++) { @@ -411,59 +143,29 @@ void daArrow_c::setBlur() { } } - -/* ############################################################################################## */ -/* 8049DD40-8049DD4C 0000BC 000C+00 1/1 0/0 0/0 .rodata effName$4192 */ -#ifndef NONMATCHING -SECTION_RODATA static u8 const effName_4192[12] = { - 0x89, 0x6F, 0x89, 0x70, 0x89, 0x71, 0x89, 0x72, 0x89, 0x73, 0x89, 0x74, -}; -COMPILER_STRIP_GATE(0x8049DD40, &effName_4192); -#else -static u16 const effName_4192[] = { - 0x896F, - 0x8970, - 0x8971, - 0x8972, - 0x8973, - 0x8974, -}; -#endif - /* 8049A110-8049A1EC 000590 00DC+00 1/1 0/0 0/0 .text setLightArrowHitMark__9daArrow_cFPC4cXyz */ void daArrow_c::setLightArrowHitMark(cXyz const* param_0) { + static u16 const effName[] = {0x896F, 0x8970, 0x8971, 0x8972, 0x8973, 0x8974}; for (int i = 0; i < 6; i++) { - dComIfGp_particle_set(effName_4192[i], param_0, &shape_angle, NULL); + dComIfGp_particle_set(effName[i], param_0, &shape_angle, NULL); } field_0x93f = 1; mSoundObjArrow.startSound(Z2SE_ZELDA_ARROW_HIT, 0, mReverb); } -/* ############################################################################################## */ -/* 8049DD4C-8049DD54 0000C8 0008+00 0/1 0/0 0/0 .rodata effName$4214 */ - -/* 8049DD54-8049DD60 0000D0 000C+00 0/1 0/0 0/0 .rodata localEffPos$4215 */ -static u16 const effName_4214[] = { - 0x8975, - 0x8976, - 0x8977, - 0x8978, - -}; - -static Vec const localEffPos = {0.0f, 0.0f, 90.0f}; - /* 8049A1EC-8049A334 00066C 0148+00 2/2 0/0 0/0 .text setLightChargeEffect__9daArrow_cFi */ void daArrow_c::setLightChargeEffect(int param_0) { + static u16 const effName[] = {0x8975, 0x8976, 0x8977, 0x8978}; + static Vec const localEffPos = {0.0f, 0.0f, 90.0f}; if (mpModel != NULL) { cXyz pos; BOOL bVar1 = param_0 == 0 && (fopAcM_GetParam(this) == 1 || fopAcM_GetParam(this) == 2 || fopAcM_GetParam(this) == 0); mDoMtx_multVec(mpModel->getBaseTRMtx(), &localEffPos, &pos); for (int i = 0; i < 4; i++) { if (bVar1) { - field_0x96c[i] = dComIfGp_particle_set(field_0x96c[i], effName_4214[i], &pos, &tevStr); + field_0x96c[i] = dComIfGp_particle_set(field_0x96c[i], effName[i], &pos, &tevStr); dComIfGp_particle_levelEmitterOnEventMove(field_0x96c[i]); } else { JPABaseEmitter* emitter = dComIfGp_particle_getEmitter(field_0x96c[i]); @@ -475,30 +177,6 @@ void daArrow_c::setLightChargeEffect(int param_0) { } } - -/* 8049A334-8049A370 0007B4 003C+00 1/1 0/0 0/0 .text __dt__4cXyzFv */ -// cXyz::~cXyz() { -extern "C" void __dt__4cXyzFv() { - // NONMATCHING -} - -#ifndef NONMATCHING -/* ############################################################################################## */ -/* 8049DD60-8049DD64 0000DC 0004+00 0/1 0/0 0/0 .rodata @4385 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_4385 = 0x38D1B717; -COMPILER_STRIP_GATE(0x8049DD60, &lit_4385); -#pragma pop - -/* 8049DD64-8049DD68 0000E0 0004+00 0/2 0/0 0/0 .rodata @4386 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4386 = 80.0f; -COMPILER_STRIP_GATE(0x8049DD64, &lit_4386); -#pragma pop -#endif - /* 8049A370-8049A76C 0007F0 03FC+00 2/2 0/0 0/0 .text * setArrowWaterNextPos__9daArrow_cFP4cXyzP4cXyz */ int daArrow_c::setArrowWaterNextPos(cXyz* i_start, cXyz* i_end) { @@ -539,31 +217,6 @@ int daArrow_c::setArrowWaterNextPos(cXyz* i_start, cXyz* i_end) { return 0; } - -#ifndef NONMATCHING -/* ############################################################################################## */ -/* 8049DD68-8049DD6C 0000E4 0004+00 0/1 0/0 0/0 .rodata @4445 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4445 = 8.0f; -COMPILER_STRIP_GATE(0x8049DD68, &lit_4445); -#pragma pop - -/* 8049DD6C-8049DD70 0000E8 0004+00 0/1 0/0 0/0 .rodata @4446 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4446 = 5.0f; -COMPILER_STRIP_GATE(0x8049DD6C, &lit_4446); -#pragma pop - -/* 8049DD70-8049DD74 0000EC 0004+00 0/2 0/0 0/0 .rodata @4447 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4447 = -300.0f; -COMPILER_STRIP_GATE(0x8049DD70, &lit_4447); -#pragma pop -#endif - /* 8049A76C-8049A9CC 000BEC 0260+00 2/2 0/0 0/0 .text setArrowAt__9daArrow_cFf */ void daArrow_c::setArrowAt(f32 param_0) { daAlink_c* player = daAlink_getAlinkActorClass(); @@ -618,14 +271,6 @@ void daArrow_c::setArrowAt(f32 param_0) { g_dComIfG_gameInfo.play.mCcs.SetMass(&field_0x688, 1); // fake match: debug rom shows dComIfG_Ccsp() } - -#ifndef NONMATCHING -/* ############################################################################################## */ -/* 8049DD74-8049DD78 0000F0 0004+00 1/1 0/0 0/0 .rodata @4541 */ -SECTION_RODATA static f32 const lit_4541 = 100.0f; -COMPILER_STRIP_GATE(0x8049DD74, &lit_4541); -#endif - /* 8049A9CC-8049AC84 000E4C 02B8+00 2/2 0/0 0/0 .text arrowShooting__9daArrow_cFv */ void daArrow_c::arrowShooting() { daAlink_c* link = daAlink_getAlinkActorClass(); @@ -699,7 +344,6 @@ void daArrow_c::arrowShooting() { clearNearActorData(); } - /* 8049AC84-8049ACE0 001104 005C+00 3/3 0/0 0/0 .text setBombArrowExplode__9daArrow_cFP4cXyz */ void daArrow_c::setBombArrowExplode(cXyz* param_0) { dBomb_c::createNormalBombExplode(param_0); @@ -722,7 +366,6 @@ void daArrow_c::setRoomInfo() { fopAcM_SetRoomNo(this, roomNo); } - /* 8049AD74-8049AD94 0011F4 0020+00 2/2 0/0 0/0 .text clearNearActorData__9daArrow_cFv */ void daArrow_c::clearNearActorData() { field_0x93e = 0; @@ -730,50 +373,6 @@ void daArrow_c::clearNearActorData() { mHitAcID = -1; } -#ifndef NONMATCHING -/* ############################################################################################## */ -/* 8049DD78-8049DD7C 0000F4 0004+00 0/1 0/0 0/0 .rodata @4576 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4576 = 21243.0f; -COMPILER_STRIP_GATE(0x8049DD78, &lit_4576); -#pragma pop - -/* 8049DD7C-8049DD80 0000F8 0004+00 0/2 0/0 0/0 .rodata @4577 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4577 = 4096.0f; -COMPILER_STRIP_GATE(0x8049DD7C, &lit_4577); -#pragma pop - -/* 8049DD80-8049DD84 0000FC 0004+00 0/1 0/0 0/0 .rodata @4578 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4578 = 1.0f / 50.0f; -COMPILER_STRIP_GATE(0x8049DD80, &lit_4578); -#pragma pop - -/* 8049DD84-8049DD8C 000100 0004+04 0/1 0/0 0/0 .rodata @4579 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4579[1 + 1 /* padding */] = { - 1024.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x8049DD84, &lit_4579); -#pragma pop - -/* 8049DD8C-8049DD94 000108 0008+00 0/3 0/0 0/0 .rodata @4582 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4582[8] = { - 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8049DD8C, &lit_4582); -#pragma pop -#endif - /* 8049AD94-8049AE64 001214 00D0+00 2/2 0/0 0/0 .text getVibAngle__9daArrow_cFv */ s16 daArrow_c::getVibAngle() { s16 angle; @@ -789,21 +388,6 @@ s16 daArrow_c::getVibAngle() { return angle; } - -#ifndef NONMATCHING -/* ############################################################################################## */ -/* 8049DD94-8049DD98 000110 0004+00 1/2 0/0 0/0 .rodata @4606 */ -SECTION_RODATA static f32 const lit_4606 = -95.0f; -COMPILER_STRIP_GATE(0x8049DD94, &lit_4606); - -/* 8049DD98-8049DD9C 000114 0004+00 0/1 0/0 0/0 .rodata @4607 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4607 = -47.5f; -COMPILER_STRIP_GATE(0x8049DD98, &lit_4607); -#pragma pop -#endif - /* 8049AE64-8049AF18 0012E4 00B4+00 4/4 0/0 0/0 .text setNormalMatrix__9daArrow_cFv */ void daArrow_c::setNormalMatrix() { mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); @@ -819,144 +403,22 @@ void daArrow_c::setNormalMatrix() { mpModel->setBaseTRMtx(mDoMtx_stack_c::get()); } - -#ifndef NONMATCHING -/* ############################################################################################## */ -/* 8049DD9C-8049DDA0 000118 0004+00 0/1 0/0 0/0 .rodata @4630 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4630 = -33.0f / 10.0f; -COMPILER_STRIP_GATE(0x8049DD9C, &lit_4630); -#pragma pop - -/* 8049DDA0-8049DDA4 00011C 0004+00 0/1 0/0 0/0 .rodata @4631 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4631 = -3.0f; -COMPILER_STRIP_GATE(0x8049DDA0, &lit_4631); -#pragma pop - -/* 8049DDA4-8049DDA8 000120 0004+00 0/1 0/0 0/0 .rodata @4632 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4632 = 94.0f; -COMPILER_STRIP_GATE(0x8049DDA4, &lit_4632); -#pragma pop - -/* 8049DDA8-8049DDAC 000124 0004+00 0/1 0/0 0/0 .rodata @4633 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4633 = 9.0f / 10.0f; -COMPILER_STRIP_GATE(0x8049DDA8, &lit_4633); -#pragma pop -#endif - -/* 8049DF60-8049DF64 000008 0001+03 1/1 0/0 0/0 .bss @1109 */ -static u8 lit_1109[1 + 3 /* padding */]; - -/* 8049DF64-8049DF68 00000C 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 - -/* 8049DF68-8049DF6C 000010 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 - -/* 8049DF6C-8049DF70 000014 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 - -/* 8049DF70-8049DF74 000018 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 - -/* 8049DF74-8049DF78 00001C 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 - -/* 8049DF78-8049DF7C 000020 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 - -/* 8049DF7C-8049DF80 000024 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 - -/* 8049DF80-8049DF84 000028 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 - -/* 8049DF84-8049DF88 00002C 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 - -/* 8049DF88-8049DF8C 000030 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 - -/* 8049DF8C-8049DF90 000034 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 - -/* 8049DF90-8049DF94 000038 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 - -/* 8049DF94-8049DF98 00003C 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 - -/* 8049DF98-8049DF9C 000040 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 - -/* 8049DF9C-8049DFA0 000044 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 - -#ifndef NONMATCHING -/* 8049DFA0-8049DFB0 000048 000C+04 0/1 0/0 0/0 .bss @4612 */ -#pragma push -#pragma force_active on -static u8 lit_4612[12 + 4 /* padding */]; -#pragma pop - -/* 8049DFB0-8049DFBC 000058 000C+00 0/1 0/0 0/0 .bss localOffset$4611 */ -#pragma push -#pragma force_active on -static u8 localOffset[12]; -#pragma pop -#endif +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) /* 8049AF18-8049AFEC 001398 00D4+00 3/3 0/0 0/0 .text setSmokePos__9daArrow_cFv */ void daArrow_c::setSmokePos() { @@ -968,24 +430,6 @@ void daArrow_c::setSmokePos() { mSmokePos = (field_0x9cc - field_0x9d8) * 0.9f; } - -#ifndef NONMATCHING -/* ############################################################################################## */ -/* 8049DDAC-8049DDB0 000128 0004+00 0/2 0/0 0/0 .rodata @4674 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4674 = 20.0f; -COMPILER_STRIP_GATE(0x8049DDAC, &lit_4674); -#pragma pop - -/* 8049DDB0-8049DDB4 00012C 0004+00 0/2 0/0 0/0 .rodata @4675 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4675 = -2.0f; -COMPILER_STRIP_GATE(0x8049DDB0, &lit_4675); -#pragma pop -#endif - /* 8049AFEC-8049B120 00146C 0134+00 3/3 0/0 0/0 .text setKeepMatrix__9daArrow_cFv */ void daArrow_c::setKeepMatrix() { if (mArrowType == 2) { @@ -1010,7 +454,6 @@ void daArrow_c::setKeepMatrix() { current.angle.x = -shape_angle.x; } - /* 8049B120-8049B214 0015A0 00F4+00 2/2 0/0 0/0 .text setStopActorMatrix__9daArrow_cFv */ fopAc_ac_c* daArrow_c::setStopActorMatrix() { s16 vibe_angle = getVibAngle(); @@ -1033,23 +476,17 @@ fopAc_ac_c* daArrow_c::setStopActorMatrix() { return actor; } - -#ifndef NONMATCHING -/* ############################################################################################## */ -/* 8049DDB4-8049DDB8 000130 0004+00 1/1 0/0 0/0 .rodata @4749 */ -SECTION_RODATA static f32 const lit_4749 = 0.25f; -COMPILER_STRIP_GATE(0x8049DDB4, &lit_4749); -#endif - /* 8049B214-8049B370 001694 015C+00 4/4 0/0 0/0 .text setBombMoveEffect__9daArrow_cFv */ void daArrow_c::setBombMoveEffect() { if (mArrowType == 1 && field_0x945 == 0 && field_0x943 == 0) { setSmokePos(); - field_0x964 = dComIfGp_particle_set(field_0x964, 0x1e0, &field_0x9cc, &tevStr, &field_0x958, NULL, 0xff, &field_0xa10, -1, NULL, NULL, NULL); + field_0x964 = dComIfGp_particle_set(field_0x964, 0x1e0, &field_0x9cc, &tevStr, &field_0x958, + NULL, 0xff, &field_0xa10, -1, NULL, NULL, NULL); dComIfGp_particle_levelEmitterOnEventMove(field_0x964); field_0xa10.setRate(0.25f); - field_0x968 = dComIfGp_particle_set(field_0x968, 0x1de, &field_0x9cc, &tevStr, &field_0x958, NULL, 0xff, NULL, -1, NULL, NULL, NULL); + field_0x968 = dComIfGp_particle_set(field_0x968, 0x1de, &field_0x9cc, &tevStr, &field_0x958, + NULL, 0xff, NULL, -1, NULL, NULL, NULL); dComIfGp_particle_levelEmitterOnEventMove(field_0x968); JPABaseEmitter* emitter = dComIfGp_particle_getEmitter(field_0x968); @@ -1059,17 +496,6 @@ void daArrow_c::setBombMoveEffect() { } } - -#ifndef NONMATCHING -/* ############################################################################################## */ -/* 8049DDB8-8049DDBC 000134 0004+00 0/3 0/0 0/0 .rodata @4763 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4763 = -1.0f; -COMPILER_STRIP_GATE(0x8049DDB8, &lit_4763); -#pragma pop -#endif - /* 8049B370-8049B45C 0017F0 00EC+00 2/2 0/0 0/0 .text checkReget__9daArrow_cFv */ bool daArrow_c::checkReget() { if (field_0x7cc.ChkCoHit()) { @@ -1085,43 +511,7 @@ bool daArrow_c::checkReget() { } } - - -#ifndef NONMATCHING -/* ############################################################################################## */ -/* 8049DDBC-8049DDC0 000138 0004+00 2/3 0/0 0/0 .rodata @4868 */ -SECTION_RODATA static f32 const lit_4868 = 95.0f; -COMPILER_STRIP_GATE(0x8049DDBC, &lit_4868); -#endif - -/* 8049DE0C-8049DE18 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, -}; - -#ifndef NONMATCHING -/* 8049DE18-8049DE2C 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 -#endif - -#ifndef NONMATCHING -/* 8049DE2C-8049DE38 -00001 000C+00 1/1 0/0 0/0 .data @4777 */ -SECTION_DATA static void* lit_4777[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procMove__9daArrow_cFv, -}; -#endif +UNK_REL_DATA /* 8049B45C-8049B764 0018DC 0308+00 1/0 0/0 0/0 .text procWait__9daArrow_cFv */ int daArrow_c::procWait() { @@ -1155,7 +545,8 @@ int daArrow_c::procWait() { } else if (mArrowType == 1) { setSmokePos(); - field_0x964 = dComIfGp_particle_set(field_0x964, 0x1df, &field_0x9cc, &tevStr, &field_0x958, NULL, 0xff, NULL, -1, NULL, NULL, NULL); + field_0x964 = dComIfGp_particle_set(field_0x964, 0x1df, &field_0x9cc, &tevStr, &field_0x958, + NULL, 0xff, NULL, -1, NULL, NULL, NULL); dComIfGp_particle_levelEmitterOnEventMove(field_0x964); JPABaseEmitter* emitter = dComIfGp_particle_getEmitter(field_0x964); @@ -1170,7 +561,8 @@ int daArrow_c::procWait() { } } - field_0x968 = dComIfGp_particle_set(field_0x968, 0x1de, &field_0x9cc, &tevStr, &field_0x958, NULL, 0xff, NULL, -1, NULL, NULL, NULL); + field_0x968 = dComIfGp_particle_set(field_0x968, 0x1de, &field_0x9cc, &tevStr, &field_0x958, + NULL, 0xff, NULL, -1, NULL, NULL, NULL); dComIfGp_particle_levelEmitterOnEventMove(field_0x968); emitter = dComIfGp_particle_getEmitter(field_0x968); if (emitter != NULL) { @@ -1193,182 +585,6 @@ int daArrow_c::procWait() { return TRUE; } - -#ifndef NONMATCHING -/* ############################################################################################## */ -/* 8049DDC0-8049DDC4 00013C 0004+00 0/1 0/0 0/0 .rodata @5356 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5356 = 3.0f / 10.0f; -COMPILER_STRIP_GATE(0x8049DDC0, &lit_5356); -#pragma pop - -/* 8049DDC4-8049DDC8 000140 0004+00 0/1 0/0 0/0 .rodata @5357 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_5357 = 0x3F980000; // 1.1875 -COMPILER_STRIP_GATE(0x8049DDC4, &lit_5357); -#pragma pop - -/* 8049DDC8-8049DDCC 000144 0004+00 0/1 0/0 0/0 .rodata @5358 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5358 = 1.0f / 10.0f; -COMPILER_STRIP_GATE(0x8049DDC8, &lit_5358); -#pragma pop - -/* 8049DDCC-8049DDD0 000148 0004+00 0/1 0/0 0/0 .rodata @5359 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5359 = -5.0f; -COMPILER_STRIP_GATE(0x8049DDCC, &lit_5359); -#pragma pop - -/* 8049DE38-8049DE44 -00001 000C+00 0/1 0/0 0/0 .data @4874 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4874[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procActorControllStop__9daArrow_cFv, -}; -#pragma pop - -/* 8049DE44-8049DE50 -00001 000C+00 0/1 0/0 0/0 .data @4974 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4974[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procActorStop__9daArrow_cFv, -}; -#pragma pop - -/* 8049DE50-8049DE5C -00001 000C+00 0/1 0/0 0/0 .data @5004 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_5004[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procBGStop__9daArrow_cFv, -}; -#pragma pop - -/* 8049DE5C-8049DE68 -00001 000C+00 1/1 0/0 0/0 .data @5369 */ -SECTION_DATA static void* lit_5369[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procReturn__9daArrow_cFv, -}; - -/* 8049DE68-8049DE74 -00001 000C+00 1/1 0/0 0/0 .data @5506 */ -SECTION_DATA static void* lit_5506[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procSlingHit__9daArrow_cFv, -}; - -/* 8049DE74-8049DE80 -00001 000C+00 1/1 0/0 0/0 .data @5714 */ -SECTION_DATA static void* lit_5714[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procMove__9daArrow_cFv, -}; - -/* 8049DE80-8049DE8C -00001 000C+00 1/1 0/0 0/0 .data @5716 */ -SECTION_DATA static void* lit_5716[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procWait__9daArrow_cFv, -}; -#endif - -/* 8049DE8C-8049DEAC -00001 0020+00 1/0 0/0 0/0 .data l_daArrowMethodTable */ -static actor_method_class l_daArrowMethodTable = { - (process_method_func)daArrow_create__FP9daArrow_c, - (process_method_func)daArrow_delete__FP9daArrow_c, - (process_method_func)daArrow_execute__FP9daArrow_c, - 0, - (process_method_func)daArrow_draw__FP9daArrow_c, -}; - -/* 8049DEAC-8049DEDC -00001 0030+00 0/0 0/0 1/0 .data g_profile_ARROW */ -extern actor_process_profile_definition g_profile_ARROW = { - fpcLy_CURRENT_e, // mLayerID - 9, // mListID - fpcPi_CURRENT_e, // mListPrio - PROC_ARROW, // mProcName - &g_fpcLf_Method.mBase, // sub_method - 0x00000A34, // mSize - 0, // mSizeOther - 0, // mParameters - &g_fopAc_Method.base, // sub_method - 750, // mPriority - &l_daArrowMethodTable, // sub_method - 0x00060000, // mStatus - fopAc_UNK_GROUP_5_e, // mActorType - fopAc_CULLBOX_CUSTOM_e, // cullType -}; - -/* 8049DEDC-8049DEE8 0000D0 000C+00 3/3 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, -}; - -/* 8049DEE8-8049DEF4 0000DC 000C+00 2/2 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, -}; - -/* 8049DEF4-8049DF18 0000E8 0024+00 3/3 0/0 0/0 .data __vt__18dPa_levelEcallBack */ -SECTION_DATA extern void* __vt__18dPa_levelEcallBack[9] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__18dPa_levelEcallBackFv, - (void*)execute__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)executeAfter__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)draw__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)drawAfter__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)NULL, - (void*)cleanup__18dPa_levelEcallBackFv, -}; - -/* 8049DF18-8049DF34 00010C 001C+00 1/1 0/0 0/0 .data __vt__18JPAEmitterCallBack */ -SECTION_DATA extern void* __vt__18JPAEmitterCallBack[7] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)NULL, - (void*)execute__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)executeAfter__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)draw__18JPAEmitterCallBackFP14JPABaseEmitter, - (void*)drawAfter__18JPAEmitterCallBackFP14JPABaseEmitter, -}; - -/* 8049DF34-8049DF40 000128 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGSph */ -SECTION_DATA extern void* __vt__8cM3dGSph[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGSphFv, -}; - -/* 8049DF40-8049DF4C 000134 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGAab */ -SECTION_DATA extern void* __vt__8cM3dGAab[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGAabFv, -}; - -/* 8049DF4C-8049DF58 000140 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGPla */ -SECTION_DATA extern void* __vt__8cM3dGPla[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGPlaFv, -}; - /* 8049B764-8049C6B8 001BE4 0F54+00 2/0 0/0 0/0 .text procMove__9daArrow_cFv */ int daArrow_c::procMove() { if (fopAcM_GetParam(this) == 6) { @@ -1674,37 +890,6 @@ int daArrow_c::procMove() { return TRUE; } - -/* 8049C6B8-8049C700 002B38 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGPlaFv */ -// cM3dGPla::~cM3dGPla() { -extern "C" void __dt__8cM3dGPlaFv() { - // NONMATCHING -} - -#ifndef NONMATCHING -/* ############################################################################################## */ -/* 8049DDD0-8049DDD4 00014C 0004+00 0/1 0/0 0/0 .rodata @5385 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5385 = 8192.0f; -COMPILER_STRIP_GATE(0x8049DDD0, &lit_5385); -#pragma pop - -/* 8049DDD4-8049DDD8 000150 0004+00 0/1 0/0 0/0 .rodata @5386 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5386 = 15.0f; -COMPILER_STRIP_GATE(0x8049DDD4, &lit_5386); -#pragma pop - -/* 8049DDD8-8049DDDC 000154 0004+00 0/1 0/0 0/0 .rodata @5387 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5387 = 11264.0f; -COMPILER_STRIP_GATE(0x8049DDD8, &lit_5387); -#pragma pop -#endif - /* 8049C700-8049C874 002B80 0174+00 1/1 0/0 0/0 .text procReturnInit__9daArrow_cFi */ int daArrow_c::procReturnInit(int param_0) { setBlur(); @@ -1733,31 +918,6 @@ int daArrow_c::procReturnInit(int param_0) { return TRUE; } - -#ifndef NONMATCHING -/* ############################################################################################## */ -/* 8049DDDC-8049DDE0 000158 0004+00 0/1 0/0 0/0 .rodata @5458 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5458 = 2.0f; -COMPILER_STRIP_GATE(0x8049DDDC, &lit_5458); -#pragma pop - -/* 8049DDE0-8049DDE4 00015C 0004+00 0/1 0/0 0/0 .rodata @5459 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5459 = 0.5f; -COMPILER_STRIP_GATE(0x8049DDE0, &lit_5459); -#pragma pop - -/* 8049DDE4-8049DDE8 000160 0004+00 0/1 0/0 0/0 .rodata @5460 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5460 = 5000.0f; -COMPILER_STRIP_GATE(0x8049DDE4, &lit_5460); -#pragma pop -#endif - /* 8049C874-8049CB70 002CF4 02FC+00 1/0 0/0 0/0 .text procReturn__9daArrow_cFv */ int daArrow_c::procReturn() { setBombMoveEffect(); @@ -1802,7 +962,6 @@ int daArrow_c::procReturn() { return TRUE; } - /* 8049CB70-8049CC60 002FF0 00F0+00 1/0 0/0 0/0 .text procBGStop__9daArrow_cFv */ int daArrow_c::procBGStop() { if (field_0x944 != 0 || !dComIfG_Bgsp().ChkPolySafe(field_0x56c)) { @@ -1889,7 +1048,6 @@ int daArrow_c::procSlingHitInit(cXyz* param_0, dCcD_GObjInf* param_1) { return TRUE; } - /* 8049CE50-8049CEA0 0032D0 0050+00 1/0 0/0 0/0 .text procSlingHit__9daArrow_cFv */ int daArrow_c::procSlingHit() { decAlphaBlur(); @@ -1957,42 +1115,13 @@ int daArrow_c::execute() { return TRUE; } - - /* 8049D0AC-8049D0CC 00352C 0020+00 1/0 0/0 0/0 .text daArrow_execute__FP9daArrow_c */ static int daArrow_execute(daArrow_c* i_this) { return i_this->execute(); } -/* ############################################################################################## */ -/* 8049DDE8-8049DDF0 000164 0008+00 0/1 0/0 0/0 .rodata tmpColor$5589 */ -#ifndef NONMATCHING -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const tmpColor[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8049DDE8, &tmpColor); -#pragma pop - -/* 8049DDF0-8049DDF4 00016C 0004+00 0/1 0/0 0/0 .rodata @5676 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_5676 = 0x40490FDB; -COMPILER_STRIP_GATE(0x8049DDF0, &lit_5676); -#pragma pop - -/* 8049DDF4-8049DDF8 000170 0004+00 0/2 0/0 0/0 .rodata @5677 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5677 = 50.0f; -COMPILER_STRIP_GATE(0x8049DDF4, &lit_5677); -#pragma pop -#endif - /* 8049D0CC-8049D40C 00354C 0340+00 1/1 0/0 0/0 .text draw__9daArrow_cFv */ -#ifdef NONMATCHING -// regalloc, literals +// NONMATCHING regalloc int daArrow_c::draw() { g_env_light.settingTevStruct(0, ¤t.pos, &tevStr); @@ -2050,11 +1179,6 @@ int daArrow_c::draw() { return TRUE; } -#else -int daArrow_c::draw() { - // NONMATCHING -} -#endif /* 8049D40C-8049D42C 00388C 0020+00 1/0 0/0 0/0 .text daArrow_draw__FP9daArrow_c */ static int daArrow_draw(daArrow_c* i_this) { @@ -2071,33 +1195,7 @@ static void* daAlink_searchHorseZelda(fopAc_ac_c* param_0, void* param_1) { return NULL; } -#ifndef NONMATCHING -/* ############################################################################################## */ -/* 8049DDF8-8049DDFC 000174 0004+00 0/1 0/0 0/0 .rodata @5813 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5813 = -6.0f; -COMPILER_STRIP_GATE(0x8049DDF8, &lit_5813); -#pragma pop - -/* 8049DDFC-8049DE00 000178 0004+00 0/1 0/0 0/0 .rodata @5814 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5814 = 6.0f; -COMPILER_STRIP_GATE(0x8049DDFC, &lit_5814); -#pragma pop - -/* 8049DE00-8049DE04 00017C 0004+00 0/1 0/0 0/0 .rodata @5815 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5815 = 110.0f; -COMPILER_STRIP_GATE(0x8049DE00, &lit_5815); -#pragma pop -#endif - /* 8049D440-8049D808 0038C0 03C8+00 1/1 0/0 0/0 .text create__9daArrow_cFv */ -#ifdef NONMATCHING -// regalloc, stack issue, literals cPhs__Step daArrow_c::create() { fopAcM_SetupActor(this, daArrow_c); @@ -2159,41 +1257,6 @@ cPhs__Step daArrow_c::create() { return cPhs_COMPLEATE_e; } -#else -cPhs__Step daArrow_c::create() { - // NONMATCHING -} -#endif - -/* 8049D808-8049D80C 003C88 0004+00 1/0 0/0 0/0 .text cleanup__18dPa_levelEcallBackFv */ -// void dPa_levelEcallBack::cleanup() { -extern "C" void cleanup__18dPa_levelEcallBackFv() { - /* empty function */ -} - -/* 8049D80C-8049D880 003C8C 0074+00 1/0 0/0 0/0 .text __dt__18dPa_levelEcallBackFv */ -// dPa_levelEcallBack::~dPa_levelEcallBack() { -extern "C" void __dt__18dPa_levelEcallBackFv() { - // NONMATCHING -} - -/* 8049D880-8049D8C8 003D00 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGSphFv */ -// cM3dGSph::~cM3dGSph() { -extern "C" void __dt__8cM3dGSphFv() { - // NONMATCHING -} - -/* 8049D8C8-8049D910 003D48 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */ -// cM3dGAab::~cM3dGAab() { -extern "C" void __dt__8cM3dGAabFv() { - // NONMATCHING -} - -/* 8049D910-8049D96C 003D90 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */ -// dCcD_GStts::~dCcD_GStts() { -extern "C" void __dt__10dCcD_GSttsFv() { - // NONMATCHING -} /* 8049D96C-8049D98C 003DEC 0020+00 1/0 0/0 0/0 .text daArrow_create__FP9daArrow_c */ static int daArrow_create(daArrow_c* i_this) { @@ -2202,7 +1265,8 @@ static int daArrow_create(daArrow_c* i_this) { /* 8049D98C-8049DBD8 003E0C 024C+00 1/1 0/0 0/0 .text __dt__9daArrow_cFv */ daArrow_c::~daArrow_c() { - // NONMATCHING + mSoundObjArrow.deleteObject(); + setLightChargeEffect(1); } /* 8049DBD8-8049DC00 004058 0028+00 1/0 0/0 0/0 .text daArrow_delete__FP9daArrow_c */ @@ -2211,224 +1275,31 @@ static int daArrow_delete(daArrow_c* i_this) { return TRUE; } -/* 8049DC00-8049DC48 004080 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */ -// cCcD_GStts::~cCcD_GStts() { -extern "C" void __dt__10cCcD_GSttsFv() { - // NONMATCHING -} - -/* 8049DC48-8049DC4C 0040C8 0004+00 2/0 0/0 0/0 .text - * execute__18JPAEmitterCallBackFP14JPABaseEmitter */ -// void JPAEmitterCallBack::execute(JPABaseEmitter* param_0) { -extern "C" void execute__18JPAEmitterCallBackFP14JPABaseEmitter() { - /* empty function */ -} - -/* 8049DC4C-8049DC50 0040CC 0004+00 2/0 0/0 0/0 .text - * executeAfter__18JPAEmitterCallBackFP14JPABaseEmitter */ -// void JPAEmitterCallBack::executeAfter(JPABaseEmitter* param_0) { -extern "C" void executeAfter__18JPAEmitterCallBackFP14JPABaseEmitter() { - /* empty function */ -} - -/* 8049DC50-8049DC54 0040D0 0004+00 2/0 0/0 0/0 .text draw__18JPAEmitterCallBackFP14JPABaseEmitter - */ -// void JPAEmitterCallBack::draw(JPABaseEmitter* param_0) { -extern "C" void draw__18JPAEmitterCallBackFP14JPABaseEmitter() { - /* empty function */ -} - -/* 8049DC54-8049DC58 0040D4 0004+00 2/0 0/0 0/0 .text - * drawAfter__18JPAEmitterCallBackFP14JPABaseEmitter */ -// void JPAEmitterCallBack::drawAfter(JPABaseEmitter* param_0) { -extern "C" void drawAfter__18JPAEmitterCallBackFP14JPABaseEmitter() { - /* empty function */ -} - -#ifndef NONMATCHING -/* 8049DC58-8049DC74 0040D8 001C+00 1/1 0/0 0/0 .text cLib_calcTimer<s>__FPs */ -extern "C" void func_8049DC58(void* _this, s16* param_0) { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 8049DFBC-8049DFC0 000064 0004+00 0/0 0/0 0/0 .bss - * sInstance__40JASGlobalInstance<19JASDefaultBankTable> */ -#pragma push -#pragma force_active on -static u8 data_8049DFBC[4]; -#pragma pop - -/* 8049DFC0-8049DFC4 000068 0004+00 0/0 0/0 0/0 .bss - * sInstance__35JASGlobalInstance<14JASAudioThread> */ -#pragma push -#pragma force_active on -static u8 data_8049DFC0[4]; -#pragma pop - -/* 8049DFC4-8049DFC8 00006C 0004+00 0/0 0/0 0/0 .bss sInstance__27JASGlobalInstance<7Z2SeMgr> */ -#pragma push -#pragma force_active on -static u8 data_8049DFC4[4]; -#pragma pop - -/* 8049DFC8-8049DFCC 000070 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8Z2SeqMgr> */ -#pragma push -#pragma force_active on -static u8 data_8049DFC8[4]; -#pragma pop - -/* 8049DFCC-8049DFD0 000074 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SceneMgr> - */ -#pragma push -#pragma force_active on -static u8 data_8049DFCC[4]; -#pragma pop - -/* 8049DFD0-8049DFD4 000078 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2StatusMgr> - */ -#pragma push -#pragma force_active on -static u8 data_8049DFD0[4]; -#pragma pop - -/* 8049DFD4-8049DFD8 00007C 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2DebugSys> - */ -#pragma push -#pragma force_active on -static u8 data_8049DFD4[4]; -#pragma pop - -/* 8049DFD8-8049DFDC 000080 0004+00 0/0 0/0 0/0 .bss - * sInstance__36JASGlobalInstance<15JAISoundStarter> */ -#pragma push -#pragma force_active on -static u8 data_8049DFD8[4]; -#pragma pop - -/* 8049DFDC-8049DFE0 000084 0004+00 0/0 0/0 0/0 .bss - * sInstance__35JASGlobalInstance<14Z2SoundStarter> */ -#pragma push -#pragma force_active on -static u8 data_8049DFDC[4]; -#pragma pop - -/* 8049DFE0-8049DFE4 000088 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12Z2SpeechMgr2> */ -#pragma push -#pragma force_active on -static u8 data_8049DFE0[4]; -#pragma pop - -/* 8049DFE4-8049DFE8 00008C 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8JAISeMgr> */ -#pragma push -#pragma force_active on -static u8 data_8049DFE4[4]; -#pragma pop - -/* 8049DFE8-8049DFEC 000090 0004+00 0/0 0/0 0/0 .bss sInstance__29JASGlobalInstance<9JAISeqMgr> */ -#pragma push -#pragma force_active on -static u8 data_8049DFE8[4]; -#pragma pop - -/* 8049DFEC-8049DFF0 000094 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAIStreamMgr> */ -#pragma push -#pragma force_active on -static u8 data_8049DFEC[4]; -#pragma pop - -/* 8049DFF0-8049DFF4 000098 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SoundMgr> - */ -#pragma push -#pragma force_active on -static u8 data_8049DFF0[4]; -#pragma pop - -/* 8049DFF4-8049DFF8 00009C 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAISoundInfo> */ -#pragma push -#pragma force_active on -static u8 data_8049DFF4[4]; -#pragma pop - -/* 8049DFF8-8049DFFC 0000A0 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13JAUSoundTable> */ -#pragma push -#pragma force_active on -static u8 data_8049DFF8[4]; -#pragma pop - -/* 8049DFFC-8049E000 0000A4 0004+00 0/0 0/0 0/0 .bss - * sInstance__38JASGlobalInstance<17JAUSoundNameTable> */ -#pragma push -#pragma force_active on -static u8 data_8049DFFC[4]; -#pragma pop - -/* 8049E000-8049E004 0000A8 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAUSoundInfo> */ -#pragma push -#pragma force_active on -static u8 data_8049E000[4]; -#pragma pop - -/* 8049E004-8049E008 0000AC 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SoundInfo> - */ -#pragma push -#pragma force_active on -static u8 data_8049E004[4]; -#pragma pop - -/* 8049E008-8049E00C 0000B0 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13Z2SoundObjMgr> */ -#pragma push -#pragma force_active on -static u8 data_8049E008[4]; -#pragma pop - -/* 8049E00C-8049E010 0000B4 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2Audience> - */ -#pragma push -#pragma force_active on -static u8 data_8049E00C[4]; -#pragma pop - -/* 8049E010-8049E014 0000B8 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2FxLineMgr> - */ -#pragma push -#pragma force_active on -static u8 data_8049E010[4]; -#pragma pop +AUDIO_INSTANCES; -/* 8049E014-8049E018 0000BC 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2EnvSeMgr> - */ -#pragma push -#pragma force_active on -static u8 data_8049E014[4]; -#pragma pop +/* 8049DE8C-8049DEAC -00001 0020+00 1/0 0/0 0/0 .data l_daArrowMethodTable */ +static actor_method_class l_daArrowMethodTable = { + (process_method_func)daArrow_create, + (process_method_func)daArrow_delete, + (process_method_func)daArrow_execute, + NULL, + (process_method_func)daArrow_draw, +}; -/* 8049E018-8049E01C 0000C0 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SpeechMgr> - */ -#pragma push -#pragma force_active on -static u8 data_8049E018[4]; -#pragma pop - -/* 8049E01C-8049E020 0000C4 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13Z2WolfHowlMgr> */ -#pragma push -#pragma force_active on -static u8 data_8049E01C[4]; -#pragma pop - -/* 8049E020-8049E024 0000C8 0004+00 0/0 0/0 0/0 .bss - * sInstance__35JASGlobalInstance<14JAUSectionHeap> */ -#pragma push -#pragma force_active on -static u8 data_8049E020[4]; -#pragma pop - -/* 8049DE04-8049DE04 000180 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
\ No newline at end of file +/* 8049DEAC-8049DEDC -00001 0030+00 0/0 0/0 1/0 .data g_profile_ARROW */ +extern actor_process_profile_definition g_profile_ARROW = { + fpcLy_CURRENT_e, // mLayerID + 9, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_ARROW, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daArrow_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 750, // mPriority + &l_daArrowMethodTable, // sub_method + 0x00060000, // mStatus + fopAc_UNK_GROUP_5_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType +}; diff --git a/src/d/actor/d_a_b_oh2.cpp b/src/d/actor/d_a_b_oh2.cpp index 0945fc94cb..ec2ab9238f 100644 --- a/src/d/actor/d_a_b_oh2.cpp +++ b/src/d/actor/d_a_b_oh2.cpp @@ -161,8 +161,7 @@ static void action(b_oh2_class* i_this) { mDoMtx_stack_c::XrotM(i_this->shape_angle.x); i_this->mpMorf->getModel()->setBaseTRMtx(mDoMtx_stack_c::get()); - int roomNo = fopAcM_GetRoomNo(i_this); - i_this->mpMorf->play(0, dComIfGp_getReverb(roomNo)); + i_this->mpMorf->play(0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); if (boss->speedF <= 1.0f) { i_this->mpBrk->setFrame(0.0f); @@ -326,4 +325,4 @@ extern actor_process_profile_definition g_profile_B_OH2 = { 0x44000, fopAc_ENEMY_e, fopAc_CULLBOX_CUSTOM_e, -};
\ No newline at end of file +}; diff --git a/src/d/actor/d_a_do.cpp b/src/d/actor/d_a_do.cpp index 3a5df8b9ea..e214300a77 100644 --- a/src/d/actor/d_a_do.cpp +++ b/src/d/actor/d_a_do.cpp @@ -2572,7 +2572,7 @@ static cPhs__Step daDo_Create(fopAc_ac_c* i_this) { fopAcM_OnStatus(i_this, fopAcStts_CULL_e); fopAcM_OnCarryType(i_this, fopAcM_CARRY_TYPE_8); i_this->attention_info.flags = 0; - i_this->attention_info.distances[fopAc_attn_SPEAK_e] = 7; + i_this->attention_info.distances[fopAc_attn_CARRY_e] = 7; fopAcM_SetMtx(i_this, _this->mpMorf->getModel()->getBaseTRMtx()); _this->mBgS_Acch.Set(fopAcM_GetPosition_p(i_this), fopAcM_GetOldPosition_p(i_this), i_this, 1, &_this->mBgS_AcchCir, fopAcM_GetSpeed_p(i_this), NULL, NULL); @@ -2824,4 +2824,4 @@ extern actor_process_profile_definition g_profile_DO = { 0x8044000, fopAc_NPC_e, fopAc_CULLBOX_0_e, -};
\ No newline at end of file +}; diff --git a/src/d/actor/d_a_door_boss.cpp b/src/d/actor/d_a_door_boss.cpp index 66e82ee809..6a5858da60 100644 --- a/src/d/actor/d_a_door_boss.cpp +++ b/src/d/actor/d_a_door_boss.cpp @@ -266,9 +266,8 @@ void daBdoor_c::calcGoal(cXyz* i_goalP, int param_1) { void daBdoor_c::smokeInit() { mParticlePos = current.pos; mParticleAngle = shape_angle; - s32 room = fopAcM_GetRoomNo(this); dComIfGp_particle_setPolyColor(0x8156, mAcch.m_gnd, &mParticlePos, &tevStr, &mParticleAngle, - NULL, 0, NULL, room, NULL); + NULL, 0, NULL, fopAcM_GetRoomNo(this), NULL); } /* 806700C4-806701F4 000D24 0130+00 1/1 0/0 0/0 .text checkArea__9daBdoor_cFv */ @@ -297,8 +296,7 @@ BOOL daBdoor_c::checkFront() { /* 80670294-80670320 000EF4 008C+00 1/1 0/0 0/0 .text checkOpen__9daBdoor_cFv */ BOOL daBdoor_c::checkOpen() { - // Fake Match - should be daPy_py_c::i_checkNowWolf - if (dComIfGp_getLinkPlayer()->mNoResetFlg1 & daPy_py_c::FLG1_IS_WOLF) { + if (daPy_py_c::i_checkNowWolf()) { return false; } if (!dComIfGs_isDungeonItemBossKey()) { @@ -479,4 +477,4 @@ extern actor_process_profile_definition g_profile_BOSS_DOOR = { 0x44000, fopAc_ACTOR_e, fopAc_CULLBOX_6_e, -};
\ No newline at end of file +}; diff --git a/src/d/actor/d_a_door_bossL1.cpp b/src/d/actor/d_a_door_bossL1.cpp index 8df75e8973..2d644caaa9 100644 --- a/src/d/actor/d_a_door_bossL1.cpp +++ b/src/d/actor/d_a_door_bossL1.cpp @@ -379,9 +379,8 @@ int daBdoorL1_c::create() { shape_angle.x = 0; current.angle.z = 0; current.angle.x = 0; - s32 roomNo = fopAcM_GetRoomNo(this); - u32 swBit = door_param2_c::getSwbit(this); - if (dComIfGs_isSwitch(swBit, roomNo) == 0 && dStage_stagInfo_GetSTType(dComIfGp_getStage()->getStagInfo()) != 3) { + if (!dComIfGs_isSwitch(door_param2_c::getSwbit(this), fopAcM_GetRoomNo(this)) + && dStage_stagInfo_GetSTType(dComIfGp_getStage()->getStagInfo()) != 3) { createKey(); } else { mKeyHoleId = -1; @@ -407,7 +406,7 @@ void daBdoorL1_c::demoProc() { cXyz cStack_38; if (dComIfGp_evmng_getIsAddvance(field_0x5a0)) { switch (demoAction) { - case 0: + case 0: { int* puVar3 = dComIfGp_evmng_getMyIntegerP(field_0x5a0, "Timer"); if (puVar3 == NULL) { field_0x5a4 = 1; @@ -415,6 +414,7 @@ void daBdoorL1_c::demoProc() { field_0x5a4 = *puVar3; } break; + } case 1: field_0x59a = 5; break; @@ -483,12 +483,13 @@ void daBdoorL1_c::demoProc() { dComIfGp_evmng_cutEnd(field_0x5a0); } break; - case 2: + case 2: { obj_keyhole_class* keyhole = (obj_keyhole_class*)fopAcM_SearchByID(mKeyHoleId); if ((keyhole != NULL && keyhole->checkOpenEnd()) || mKeyHoleId == -1) { dComIfGp_evmng_cutEnd(field_0x5a0); } break; + } case 3: if (openProc() != 0) { openEnd(); @@ -561,46 +562,15 @@ void daBdoorL1_c::demoProc() { } } -/* 804E4A6C-804E4A74 000058 0006+02 0/1 0/0 0/0 .rodata l_lv1_eff$4252 */ -static u16 const l_lv1_eff[3] = { - 0x8C42, - 0x8C43, - 0x8C44, -}; - -/* 804E4A74-804E4A7C 000060 0006+02 0/1 0/0 0/0 .rodata l_lv2_eff$4253 */ -static u16 const l_lv2_eff[3] = { - 0x8C45, - 0x8C46, - 0x8C47, -}; - -/* 804E4A7C-804E4A80 000068 0004+00 0/1 0/0 0/0 .rodata l_lv4_eff_a$4254 */ -static u16 const l_lv4_eff_a[2] = { - 0x8C48, - 0x8C49, -}; - -/* 804E4A80-804E4A84 00006C 0004+00 0/1 0/0 0/0 .rodata l_lv4_eff_b$4255 */ -static u16 const l_lv4_eff_b[2] = { - 0x8C4A, - 0x8C4B, -}; - -/* 804E4A84-804E4A88 000070 0004+00 0/1 0/0 0/0 .rodata l_lv6_eff_a$4256 */ -static u16 const l_lv6_eff_a[2] = { - 0x8C4C, - 0x8C4D, -}; - -/* 804E4A88-804E4A8C 000074 0004+00 0/1 0/0 0/0 .rodata l_lv6_eff_b$4257 */ -static u16 const l_lv6_eff_b[2] = { - 0x8C4E, - 0x8C4F, -}; - /* 804E3180-804E357C 001460 03FC+00 1/1 0/0 0/0 .text openInit__11daBdoorL1_cFv */ int daBdoorL1_c::openInit() { + static u16 const l_lv1_eff[3] = {0x8C42, 0x8C43, 0x8C44}; + static u16 const l_lv2_eff[3] = {0x8C45, 0x8C46, 0x8C47}; + static u16 const l_lv4_eff_a[2] = {0x8C48, 0x8C49}; + static u16 const l_lv4_eff_b[2] = {0x8C4A, 0x8C4B}; + static u16 const l_lv6_eff_a[2] = {0x8C4C, 0x8C4D}; + static u16 const l_lv6_eff_b[2] = {0x8C4E, 0x8C4F}; + u32 i; if (field_0x590->ChkUsed()) { dComIfG_Bgsp().Release(field_0x590); @@ -764,9 +734,8 @@ int daBdoorL1_c::closeProc() { field_0x7d0.y += 10.0f; field_0x5ac.CrrPos(dComIfG_Bgsp()); cXyz cStack_34(1.65f, 1.65f, 1.65f); - s32 roomNo = fopAcM_GetRoomNo(this); dComIfGp_particle_setPolyColor(0x8c50, field_0x5ac.m_gnd, ¤t.pos, &tevStr, - &shape_angle, &cStack_34, 0, 0, roomNo, + &shape_angle, &cStack_34, 0, 0, fopAcM_GetRoomNo(this), 0); break; } @@ -1096,4 +1065,4 @@ extern actor_process_profile_definition g_profile_L1BOSS_DOOR = { 0x44000, fopAc_ACTOR_e, fopAc_CULLBOX_6_e, -};
\ No newline at end of file +}; diff --git a/src/d/actor/d_a_door_bossL5.cpp b/src/d/actor/d_a_door_bossL5.cpp index 1791049ba5..6ad2b32b0c 100644 --- a/src/d/actor/d_a_door_bossL5.cpp +++ b/src/d/actor/d_a_door_bossL5.cpp @@ -171,9 +171,8 @@ int daBdoorL5_c::create() { if (rv != cPhs_COMPLEATE_e) { return rv; } - s32 roomNo = fopAcM_GetRoomNo(this); - u32 swBit = door_param2_c::getSwbit(this); - if (dComIfGs_isSwitch(swBit, roomNo) == 0 && dStage_stagInfo_GetSTType(dComIfGp_getStage()->getStagInfo()) != 3) { + if (!dComIfGs_isSwitch(door_param2_c::getSwbit(this), fopAcM_GetRoomNo(this)) + && dStage_stagInfo_GetSTType(dComIfGp_getStage()->getStagInfo()) != 3) { createKey(); } else { mKeyHoleId = -1; @@ -361,9 +360,8 @@ void daBdoorL5_c::calcGoal(cXyz* param_1, int param_2) { void daBdoorL5_c::smokeInit() { field_0x5a4 = current.pos; field_0x5b0 = shape_angle; - s32 roomNo = fopAcM_GetRoomNo(this); dComIfGp_particle_setPolyColor(0x8156, field_0x5b8.m_gnd, &field_0x5a4, &tevStr, &field_0x5b0, - 0, 0, 0, roomNo, 0); + 0, 0, 0, fopAcM_GetRoomNo(this), 0); } /* 80671B14-80671C14 000F54 0100+00 1/1 0/0 0/0 .text createKey__11daBdoorL5_cFv */ @@ -414,8 +412,7 @@ int daBdoorL5_c::checkFront() { /* 80671DE4-80671E70 001224 008C+00 1/1 0/0 0/0 .text checkOpen__11daBdoorL5_cFv */ int daBdoorL5_c::checkOpen() { - // Fake Match - should be daPy_py_c::i_checkNowWolf - if (dComIfGp_getLinkPlayer()->mNoResetFlg1 & daPy_py_c::FLG1_IS_WOLF) { + if (daPy_py_c::i_checkNowWolf()) { return 0; } @@ -583,4 +580,4 @@ extern actor_process_profile_definition g_profile_L5BOSS_DOOR = { 0x44000, fopAc_ACTOR_e, fopAc_CULLBOX_6_e, -};
\ No newline at end of file +}; diff --git a/src/d/actor/d_a_door_mbossL1.cpp b/src/d/actor/d_a_door_mbossL1.cpp index 6466a79dfb..ae810eadd6 100644 --- a/src/d/actor/d_a_door_mbossL1.cpp +++ b/src/d/actor/d_a_door_mbossL1.cpp @@ -981,27 +981,24 @@ int daMBdoorL1_c::openInit() { } if (getDoorType() == 0) { for (int i = 0; i < 2; i++) { - s32 roomNo = fopAcM_GetRoomNo(this); dComIfGp_particle_set( l_eff_id[i], - ¤t.pos, &acStack_3c, 0, 0xff, 0, roomNo, NULL, NULL, NULL); + ¤t.pos, &acStack_3c, 0, 0xff, 0, fopAcM_GetRoomNo(this), NULL, NULL, NULL); } } else { if (getDoorType() == 1) { for (u32 k = 0; k < 5; k++) { switch (level) { case 4: { - s32 roomNo = fopAcM_GetRoomNo(this); dComIfGp_particle_set( l_eff_id_lv4[k], - ¤t.pos, &acStack_3c, 0, 0xff, 0, roomNo, NULL, NULL, NULL); + ¤t.pos, &acStack_3c, 0, 0xff, 0, fopAcM_GetRoomNo(this), NULL, NULL, NULL); break; } default: { - s32 roomNo = fopAcM_GetRoomNo(this); dComIfGp_particle_set( l_eff_id_lv3[k], - ¤t.pos, &acStack_3c, 0, 0xff, 0, roomNo, NULL, NULL, NULL); + ¤t.pos, &acStack_3c, 0, 0xff, 0, fopAcM_GetRoomNo(this), NULL, NULL, NULL); break; } } @@ -1357,9 +1354,8 @@ void daMBdoorL1_c::smokeInit2() { field_0x81c.y -= 10.0f; field_0x828.y += 10.0f; field_0x604.CrrPos(dComIfG_Bgsp()); - s32 roomNo = fopAcM_GetRoomNo(this); dComIfGp_particle_setPolyColor(0x8c50, field_0x604.m_gnd, ¤t.pos, &tevStr, - &shape_angle, NULL, 0, NULL, roomNo, 0); + &shape_angle, NULL, 0, NULL, fopAcM_GetRoomNo(this), 0); } } @@ -1541,8 +1537,7 @@ int daMBdoorL1_c::startDemoEnd() { f32 fVar1 = dVar12 < 0.0f ? 180.0f : -180.0f; cXyz cStack_88(current.pos.x - fVar1 * local_70.x, current.pos.y, current.pos.z - fVar1 * local_70.z); - s32 roomNo = fopAcM_GetRoomNo(player); - dComIfGs_setRestartRoom(cStack_88, dVar12 > 0.0f ? current.angle.y : (s16)(current.angle.y + 0x8000), roomNo); + dComIfGs_setRestartRoom(cStack_88, dVar12 > 0.0f ? current.angle.y : (s16)(current.angle.y + 0x8000), fopAcM_GetRoomNo(player)); return 1; } @@ -1560,7 +1555,7 @@ int daMBdoorL1_c::checkMBossRoom() { int daMBdoorL1_c::checkStopClose() { u8 FRoomNo = door_param2_c::getFRoomNo(this); door_param2_c::getFRoomNo(this); - s32 roomNo = fopAcM_GetRoomNo(this); + s8 roomNo = fopAcM_GetRoomNo(this); if (mDoorStop.mModel == NULL) { return 0; } diff --git a/src/d/actor/d_a_door_shutter.cpp b/src/d/actor/d_a_door_shutter.cpp index 9434574dc7..95953478e8 100644 --- a/src/d/actor/d_a_door_shutter.cpp +++ b/src/d/actor/d_a_door_shutter.cpp @@ -279,8 +279,7 @@ void daDoor20_c::setEventPrm() { } if (chkMakeKey()) { if (field_0x5f0) { - // FAKE MATCH: should be daPy_py_c::i_checkNowWolf - if (((daPy_py_c*)g_dComIfG_gameInfo.play.getPlayerPtr(LINK_PTR))->checkWolf()) { + if (daPy_py_c::i_checkNowWolf()) { if (dComIfGs_getKeyNum() == 0) { return; } @@ -446,13 +445,11 @@ void daDoor20_c::openInit_0() { csXyz acStack_2c(0, field_0x670, 0); for (u32 i = 0; i < 5; i++) { if (strcmp(dComIfGp_getStartStageName(), "D_MN10") == 0) { - s32 roomNo = fopAcM_GetRoomNo(this); - dComIfGp_particle_set(l_eff_id_lv4[i], - ¤t.pos, &acStack_2c, NULL, 0xff, NULL, roomNo, NULL, NULL, NULL); + dComIfGp_particle_set(l_eff_id_lv4[i], ¤t.pos, &acStack_2c, NULL, 0xff, NULL, + fopAcM_GetRoomNo(this), NULL, NULL, NULL); } else { - s32 roomNo = fopAcM_GetRoomNo(this); - dComIfGp_particle_set(l_eff_id_lv3[i], - ¤t.pos, &acStack_2c, NULL, 0xff, NULL, roomNo, NULL, NULL, NULL); + dComIfGp_particle_set(l_eff_id_lv3[i], ¤t.pos, &acStack_2c, NULL, 0xff, NULL, + fopAcM_GetRoomNo(this), NULL, NULL, NULL); } } fopAcM_onSwitch(this, bVar5); @@ -462,12 +459,6 @@ void daDoor20_c::openInit_0() { } } -/* 80466864-80466868 000044 0004+00 1/1 0/0 0/0 .rodata l_eff_id$4449 */ -static u16 const l_eff_id[2] = { - 0x8295, - 0x8296, -}; - /* 80461D24-80461EC4 001264 01A0+00 1/1 0/0 0/0 .text openInit_1__10daDoor20_cFv */ void daDoor20_c::openInit_1() { J3DAnmTransform* anm; @@ -481,10 +472,10 @@ void daDoor20_c::openInit_1() { JUT_ASSERT(918, rt == 0); u8 bVar5 = door_param2_c::getSwbit3(this); if (bVar5 != 0xff && !fopAcM_isSwitch(this, bVar5)) { + static u16 const l_eff_id[2] = {0x8295, 0x8296}; for (int i = 0; i < 2; i++) { - s32 roomNo = fopAcM_GetRoomNo(this); dComIfGp_particle_set(l_eff_id[i], ¤t.pos, &shape_angle, NULL, 0xff, NULL, - roomNo, NULL, NULL, NULL); + fopAcM_GetRoomNo(this), NULL, NULL, NULL); } fopAcM_onSwitch(this, bVar5); field_0x672 = true; @@ -2289,4 +2280,4 @@ extern actor_process_profile_definition g_profile_DOOR20 = { 0x44000, // mStatus fopAc_ACTOR_e, // mActorType fopAc_CULLBOX_CUSTOM_e, // cullType -};
\ No newline at end of file +}; diff --git a/src/d/actor/d_a_dshutter.cpp b/src/d/actor/d_a_dshutter.cpp index addf8d716b..ffc3ad07f6 100644 --- a/src/d/actor/d_a_dshutter.cpp +++ b/src/d/actor/d_a_dshutter.cpp @@ -5,150 +5,27 @@ #include "d/actor/d_a_dshutter.h" #include "SSystem/SComponent/c_math.h" +#include "Z2AudioLib/Z2Instances.h" #include "dol2asm.h" -// -// Forward References: -// - -extern "C" void callInit__7daDsh_cFv(); -extern "C" void callExecute__7daDsh_cFv(); -extern "C" void initOpenWait__7daDsh_cFv(); -extern "C" void executeOpenWait__7daDsh_cFv(); -extern "C" void initOpen__7daDsh_cFv(); -extern "C" void executeOpen__7daDsh_cFv(); -extern "C" void initCloseWait__7daDsh_cFv(); -extern "C" void executeCloseWait__7daDsh_cFv(); -extern "C" void initClose__7daDsh_cFv(); -extern "C" void executeClose__7daDsh_cFv(); -extern "C" s16 func_80467DF8(s16*); - -// -// External References: -// - -// -// Declarations: -// - -/* ############################################################################################## */ - -/* 80467F5C-80467F68 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, -}; - -/* 80467F68-80467F7C 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 +UNK_REL_DATA /* 80467F7C-80467F88 -00001 000C+00 2/2 0/0 0/0 .data l_arcName */ -SECTION_DATA static char* l_arcName[] = { +static char* l_arcName[] = { "K_tetd", "S_bsaku00", "S_lv7saku", }; -/* 80467F88-80467F94 -00001 000C+00 0/1 0/0 0/0 .data @3631 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3631[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)initOpenWait__7daDsh_cFv, -}; -#pragma pop - -/* 80467F94-80467FA0 -00001 000C+00 0/1 0/0 0/0 .data @3632 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3632[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)executeOpenWait__7daDsh_cFv, -}; -#pragma pop - -/* 80467FA0-80467FAC -00001 000C+00 0/1 0/0 0/0 .data @3635 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3635[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)initOpen__7daDsh_cFv, -}; -#pragma pop - -/* 80467FAC-80467FB8 -00001 000C+00 0/1 0/0 0/0 .data @3636 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3636[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)executeOpen__7daDsh_cFv, -}; -#pragma pop - -/* 80467FB8-80467FC4 -00001 000C+00 0/1 0/0 0/0 .data @3639 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3639[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)initCloseWait__7daDsh_cFv, -}; -#pragma pop - -/* 80467FC4-80467FD0 -00001 000C+00 0/1 0/0 0/0 .data @3640 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3640[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)executeCloseWait__7daDsh_cFv, -}; -#pragma pop - -/* 80467FD0-80467FDC -00001 000C+00 0/1 0/0 0/0 .data @3643 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3643[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)initClose__7daDsh_cFv, -}; -#pragma pop - -/* 80467FDC-80467FE8 -00001 000C+00 0/1 0/0 0/0 .data @3644 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3644[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)executeClose__7daDsh_cFv, -}; -#pragma pop - /* 80467498-8046751C 000078 0084+00 1/1 0/0 0/0 .text __dt__7daDsh_cFv */ daDsh_c::~daDsh_c() {} -/* ############################################################################################## */ /* 80467F04-80467F10 000000 000C+00 2/2 0/0 0/0 .rodata l_bmd */ -SECTION_RODATA static int const l_bmd[] = { +static int const l_bmd[] = { 4, 4, 4, }; -COMPILER_STRIP_GATE(0x80467F04, &l_bmd); /* 8046751C-8046759C 0000FC 0080+00 1/0 0/0 0/0 .text CreateHeap__7daDsh_cFv */ int daDsh_c::CreateHeap() { @@ -178,7 +55,7 @@ int daDsh_c::Execute(f32 (**param_0)[3][4]) { callExecute(); setMtx(); *param_0 = &mBgMtx; - func_80467DF8(&mTiltTime); + cLib_calcTimer(&mTiltTime); return 1; } @@ -221,105 +98,28 @@ int daDsh_c::initOpenWait() { return 1; } -/* ############################################################################################## */ -/* 80468070-80468074 000000 0001+03 1/1 0/0 0/0 .bss @1109 */ -static u8 lit_1109[1 + 3 /* padding */]; - -/* 80468074-80468078 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 - -/* 80468078-8046807C 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 - -/* 8046807C-80468080 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 - -/* 80468080-80468084 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 - -/* 80468084-80468088 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 - -/* 80468088-8046808C 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 - -/* 8046808C-80468090 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 - -/* 80468090-80468094 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 - -/* 80468094-80468098 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 - -/* 80468098-8046809C 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 - -/* 8046809C-804680A0 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 - -/* 804680A0-804680A4 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 - -/* 804680A4-804680A8 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 - -/* 804680A8-804680AC 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 - -/* 804680AC-804680B0 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 +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) /* 804680B0-804680C8 000040 0018+00 2/3 0/0 0/0 .bss l_openWaitAction */ -static daDsh_c::action_c l_openWaitAction /* (&daDsh_c::initOpenWait, &daDsh_c::executeOpenWait) */; +static daDsh_c::action_c l_openWaitAction(&daDsh_c::initOpenWait, &daDsh_c::executeOpenWait); /* 804680C8-804680E0 000058 0018+00 1/2 0/0 0/0 .bss l_openAction */ -static daDsh_c::action_c l_openAction /* (&daDsh_c::initOpen, &daDsh_c::executeOpen) */; +static daDsh_c::action_c l_openAction(&daDsh_c::initOpen, &daDsh_c::executeOpen); /* 804677E4-80467840 0003C4 005C+00 1/0 0/0 0/0 .text executeOpenWait__7daDsh_cFv */ int daDsh_c::executeOpenWait() { @@ -330,14 +130,11 @@ int daDsh_c::executeOpenWait() { return 1; } -/* ############################################################################################## */ /* 80467F10-80467F1C 00000C 000C+00 1/1 0/0 0/0 .rodata l_dzb */ -SECTION_RODATA static int const l_dzb[] = {7, 7, 7}; -COMPILER_STRIP_GATE(0x80467F10, &l_dzb); +static int const l_dzb[] = {7, 7, 7}; /* 80467F1C-80467F28 000018 000C+00 1/1 0/0 0/0 .rodata l_heap_size */ -SECTION_RODATA static u32 const l_heap_size[] = {0xC10, 0xC10, 0x3D60}; -COMPILER_STRIP_GATE(0x80467F1C, &l_heap_size); +static u32 const l_heap_size[] = {0xC10, 0xC10, 0x3D60}; /* 80467840-80467988 000420 0148+00 1/0 0/0 0/0 .text initOpen__7daDsh_cFv */ int daDsh_c::initOpen() { @@ -359,8 +156,7 @@ int daDsh_c::initOpen() { } /* 804680E0-804680F8 000070 0018+00 2/3 0/0 0/0 .bss l_closeWaitAction */ -static daDsh_c::action_c - l_closeWaitAction /* (&daDsh_c::initCloseWait, &daDsh_c::executeCloseWait) */; +static daDsh_c::action_c l_closeWaitAction(&daDsh_c::initCloseWait, &daDsh_c::executeCloseWait); /* 80467988-80467A64 000568 00DC+00 1/0 0/0 0/0 .text executeOpen__7daDsh_cFv */ int daDsh_c::executeOpen() { @@ -392,9 +188,8 @@ int daDsh_c::initCloseWait() { return 1; } -/* ############################################################################################## */ /* 804680F8-80468110 000088 0018+00 1/2 0/0 0/0 .bss l_closeAction */ -static daDsh_c::action_c l_closeAction /* (&daDsh_c::initClose, &daDsh_c::executeClose) */; +static daDsh_c::action_c l_closeAction(&daDsh_c::initClose, &daDsh_c::executeClose); /* 80467A80-80467ADC 000660 005C+00 1/0 0/0 0/0 .text executeCloseWait__7daDsh_cFv */ int daDsh_c::executeCloseWait() { @@ -459,180 +254,7 @@ static int daDsh_Delete(daDsh_c* i_this) { return ret; } -/* ############################################################################################## */ -/* 80468110-80468114 0000A0 0004+00 0/0 0/0 0/0 .bss - * sInstance__40JASGlobalInstance<19JASDefaultBankTable> */ -#pragma push -#pragma force_active on -static u8 data_80468110[4]; -#pragma pop - -/* 80468114-80468118 0000A4 0004+00 0/0 0/0 0/0 .bss - * sInstance__35JASGlobalInstance<14JASAudioThread> */ -#pragma push -#pragma force_active on -static u8 data_80468114[4]; -#pragma pop - -/* 80468118-8046811C 0000A8 0004+00 0/0 0/0 0/0 .bss sInstance__27JASGlobalInstance<7Z2SeMgr> */ -#pragma push -#pragma force_active on -static u8 data_80468118[4]; -#pragma pop - -/* 8046811C-80468120 0000AC 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8Z2SeqMgr> */ -#pragma push -#pragma force_active on -static u8 data_8046811C[4]; -#pragma pop - -/* 80468120-80468124 0000B0 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SceneMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80468120[4]; -#pragma pop - -/* 80468124-80468128 0000B4 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2StatusMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80468124[4]; -#pragma pop - -/* 80468128-8046812C 0000B8 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2DebugSys> - */ -#pragma push -#pragma force_active on -static u8 data_80468128[4]; -#pragma pop - -/* 8046812C-80468130 0000BC 0004+00 0/0 0/0 0/0 .bss - * sInstance__36JASGlobalInstance<15JAISoundStarter> */ -#pragma push -#pragma force_active on -static u8 data_8046812C[4]; -#pragma pop - -/* 80468130-80468134 0000C0 0004+00 0/0 0/0 0/0 .bss - * sInstance__35JASGlobalInstance<14Z2SoundStarter> */ -#pragma push -#pragma force_active on -static u8 data_80468130[4]; -#pragma pop - -/* 80468134-80468138 0000C4 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12Z2SpeechMgr2> */ -#pragma push -#pragma force_active on -static u8 data_80468134[4]; -#pragma pop - -/* 80468138-8046813C 0000C8 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8JAISeMgr> */ -#pragma push -#pragma force_active on -static u8 data_80468138[4]; -#pragma pop - -/* 8046813C-80468140 0000CC 0004+00 0/0 0/0 0/0 .bss sInstance__29JASGlobalInstance<9JAISeqMgr> */ -#pragma push -#pragma force_active on -static u8 data_8046813C[4]; -#pragma pop - -/* 80468140-80468144 0000D0 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAIStreamMgr> */ -#pragma push -#pragma force_active on -static u8 data_80468140[4]; -#pragma pop - -/* 80468144-80468148 0000D4 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SoundMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80468144[4]; -#pragma pop - -/* 80468148-8046814C 0000D8 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAISoundInfo> */ -#pragma push -#pragma force_active on -static u8 data_80468148[4]; -#pragma pop - -/* 8046814C-80468150 0000DC 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13JAUSoundTable> */ -#pragma push -#pragma force_active on -static u8 data_8046814C[4]; -#pragma pop - -/* 80468150-80468154 0000E0 0004+00 0/0 0/0 0/0 .bss - * sInstance__38JASGlobalInstance<17JAUSoundNameTable> */ -#pragma push -#pragma force_active on -static u8 data_80468150[4]; -#pragma pop - -/* 80468154-80468158 0000E4 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAUSoundInfo> */ -#pragma push -#pragma force_active on -static u8 data_80468154[4]; -#pragma pop - -/* 80468158-8046815C 0000E8 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SoundInfo> - */ -#pragma push -#pragma force_active on -static u8 data_80468158[4]; -#pragma pop - -/* 8046815C-80468160 0000EC 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13Z2SoundObjMgr> */ -#pragma push -#pragma force_active on -static u8 data_8046815C[4]; -#pragma pop - -/* 80468160-80468164 0000F0 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2Audience> - */ -#pragma push -#pragma force_active on -static u8 data_80468160[4]; -#pragma pop - -/* 80468164-80468168 0000F4 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2FxLineMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80468164[4]; -#pragma pop - -/* 80468168-8046816C 0000F8 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2EnvSeMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80468168[4]; -#pragma pop - -/* 8046816C-80468170 0000FC 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SpeechMgr> - */ -#pragma push -#pragma force_active on -static u8 data_8046816C[4]; -#pragma pop - -/* 80468170-80468174 000100 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13Z2WolfHowlMgr> */ -#pragma push -#pragma force_active on -static u8 data_80468170[4]; -#pragma pop - -/* 80468174-80468178 000104 0004+00 1/1 0/0 0/0 .bss None */ -static s8 data_80468174[4]; +AUDIO_INSTANCES; /* 80467C7C-80467DF8 00085C 017C+00 1/0 0/0 0/0 .text daDsh_Create__FP10fopAc_ac_c */ int daDsh_c::create() { @@ -664,20 +286,6 @@ static int daDsh_Create(fopAc_ac_c* i_this) { return static_cast<daDsh_c*>(i_this)->create(); } -/* 80467DF8-80467E14 0009D8 001C+00 1/1 0/0 0/0 .text cLib_calcTimer<s>__FPs */ -extern "C" s16 func_80467DF8(s16* param_0) { - // NONMATCHING -} - -/* 80467E14-80467EF8 0009F4 00E4+00 0/0 1/0 0/0 .text __sinit_d_a_dshutter_cpp */ -void __sinit_d_a_dshutter_cpp(){// NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80467E14, __sinit_d_a_dshutter_cpp); -#pragma pop - /* 80467FF0-80468010 -00001 0020+00 1/0 0/0 0/0 .data l_daDsh_Method */ static actor_method_class l_daDsh_Method = { (process_method_func)daDsh_Create, (process_method_func)daDsh_Delete, @@ -704,4 +312,4 @@ extern actor_process_profile_definition2 g_profile_DSHUTTER = { fopAc_CULLBOX_0_e, // cullType }, 0, -};
\ No newline at end of file +}; diff --git a/src/d/actor/d_a_e_ba.cpp b/src/d/actor/d_a_e_ba.cpp index 1f3070214c..b977d9d01e 100644 --- a/src/d/actor/d_a_e_ba.cpp +++ b/src/d/actor/d_a_e_ba.cpp @@ -3,8 +3,6 @@ * Enemy - Keese */ -// Matches except for the weak function setMidnaBindEffect - #include "d/actor/d_a_e_ba.h" #include "JSystem/JKernel/JKRHeap.h" #include "SSystem/SComponent/c_math.h" @@ -12,444 +10,14 @@ #include "d/d_s_play.h" #include "d/actor/d_a_player.h" #include "d/d_procname.h" -#include "dol2asm.h" - -// -// Forward References: -// - -extern "C" void __ct__12daE_BA_HIO_cFv(); -extern "C" static void ba_disappear__FP10fopAc_ac_c(); -extern "C" static void anm_init__FP10e_ba_classifUcf(); -extern "C" static void daE_BA_Draw__FP10e_ba_class(); -extern "C" static void shot_b_sub__FPvPv(); -extern "C" static void other_bg_check__FP10e_ba_classP10fopAc_ac_c(); -extern "C" static void pl_check__FP10e_ba_classfs(); -extern "C" static void damage_check__FP10e_ba_class(); -extern "C" static void path_check__FP10e_ba_class(); -extern "C" static void fly_move__FP10e_ba_class(); -extern "C" static void e_ba_roof__FP10e_ba_class(); -extern "C" static void e_ba_fight_fly__FP10e_ba_class(); -extern "C" static void e_ba_fight__FP10e_ba_class(); -extern "C" static void e_ba_attack__FP10e_ba_class(); -extern "C" static void e_ba_fly__FP10e_ba_class(); -extern "C" static void e_ba_return__FP10e_ba_class(); -extern "C" static void e_ba_path_fly__FP10e_ba_class(); -extern "C" static void e_ba_chance__FP10e_ba_class(); -extern "C" static void e_ba_wolfbite__FP10e_ba_class(); -extern "C" static void e_ba_wind__FP10e_ba_class(); -extern "C" static void e_ba_appear__FP10e_ba_class(); -extern "C" static void action__FP10e_ba_class(); -extern "C" static void daE_BA_Execute__FP10e_ba_class(); -extern "C" static bool daE_BA_IsDelete__FP10e_ba_class(); -extern "C" static void daE_BA_Delete__FP10e_ba_class(); -extern "C" static void useHeapInit__FP10fopAc_ac_c(); -extern "C" static void daE_BA_Create__FP10fopAc_ac_c(); -extern "C" void __dt__8cM3dGSphFv(); -extern "C" void __dt__8cM3dGAabFv(); -extern "C" void __dt__10dCcD_GSttsFv(); -extern "C" void __dt__12dBgS_ObjAcchFv(); -extern "C" void __dt__12dBgS_AcchCirFv(); -extern "C" void __dt__10cCcD_GSttsFv(); -extern "C" void __dt__12daE_BA_HIO_cFv(); -extern "C" void __sinit_d_a_e_ba_cpp(); -extern "C" static void func_80681F84(); -extern "C" static void func_80681F8C(); -extern "C" static void setMidnaBindEffect__FP13fopEn_enemy_cP15Z2CreatureEnemyP4cXyzP4cXyz(); -extern "C" extern char const* const d_a_e_ba__stringBase0; -static cPhs__Step daE_BA_Create(fopAc_ac_c*); -static int daE_BA_Delete(e_ba_class*); -static int daE_BA_Execute(e_ba_class*); -static int daE_BA_IsDelete(e_ba_class*); -static int daE_BA_Draw(e_ba_class*); -static int setMidnaBindEffect(fopEn_enemy_c*, Z2CreatureEnemy*, cXyz*, cXyz*); - -// -// 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 mDoMtx_ZrotM__FPA4_fs(); -extern "C" void scaleM__14mDoMtx_stack_cFfff(); -extern "C" void -__ct__16mDoExt_McaMorfSOFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiP10Z2CreatureUlUl(); -extern "C" void setAnm__16mDoExt_McaMorfSOFP15J3DAnmTransformiffff(); -extern "C" void play__16mDoExt_McaMorfSOFUlSc(); -extern "C" void entryDL__16mDoExt_McaMorfSOFv(); -extern "C" void modelCalc__16mDoExt_McaMorfSOFv(); -extern "C" void stopZelAnime__16mDoExt_McaMorfSOFv(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void fopAc_IsActor__FPv(); -extern "C" void fopAcIt_Judge__FPFPvPv_PvPv(); -extern "C" void fopAcM_delete__FP10fopAc_ac_c(); -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_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fopAcM_searchActorDistanceXZ__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fopAcM_createItem__FPC4cXyziiiPC5csXyzPC4cXyzi(); -extern "C" void fopAcM_createDisappear__FPC10fopAc_ac_cPC4cXyzUcUcUc(); -extern "C" void fopAcM_effSmokeSet1__FPUlPUlPC4cXyzPC5csXyzfPC12dKy_tevstr_ci(); -extern "C" void fpcEx_Search__FPFPvPv_PvPv(); -extern "C" void fpcSch_JudgeForPName__FPvPv(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfGp_getReverb__Fi(); -extern "C" void 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 dPath_GetRoomPath__Fii(); -extern "C" void StartShock__12dVibration_cFii4cXyz(); -extern "C" void LineCross__4cBgSFP11cBgS_LinChk(); -extern "C" void __ct__12dBgS_AcchCirFv(); -extern "C" void SetWall__12dBgS_AcchCirFff(); -extern "C" void __dt__9dBgS_AcchFv(); -extern "C" void __ct__9dBgS_AcchFv(); -extern "C" void Set__9dBgS_AcchFP4cXyzP4cXyzP10fopAc_ac_ciP12dBgS_AcchCirP4cXyzP5csXyzP5csXyz(); -extern "C" void CrrPos__9dBgS_AcchFR4dBgS(); -extern "C" void __ct__11dBgS_LinChkFv(); -extern "C" void __dt__11dBgS_LinChkFv(); -extern "C" void Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c(); -extern "C" void SetObj__16dBgS_PolyPassChkFv(); -extern "C" void __ct__10dCcD_GSttsFv(); -extern "C" void Move__10dCcD_GSttsFv(); -extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c(); -extern "C" void __ct__12dCcD_GObjInfFv(); -extern "C" void ChkTgHit__12dCcD_GObjInfFv(); -extern "C" void GetTgHitObj__12dCcD_GObjInfFv(); -extern "C" void Set__8dCcD_SphFRC11dCcD_SrcSph(); -extern "C" void cc_at_check__FP10fopAc_ac_cP11dCcU_AtInfo(); -extern "C" void checkBoomerangCharge__9daPy_py_cFv(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void dKy_darkworld_check__Fv(); -extern "C" void Set__4cCcSFP8cCcD_Obj(); -extern "C" void __pl__4cXyzCFRC3Vec(); -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 __dt__13cBgS_PolyInfoFv(); -extern "C" void __dt__8cM3dGCirFv(); -extern "C" void SetC__8cM3dGSphFRC4cXyz(); -extern "C" void SetR__8cM3dGSphFf(); -extern "C" void cLib_addCalc2__FPffff(); -extern "C" void cLib_addCalc0__FPfff(); -extern "C" void cLib_addCalcAngleS2__FPssss(); -extern "C" void MtxPosition__FP4cXyzP4cXyz(); -extern "C" void func_80280808(); -extern "C" void __ct__15Z2CreatureEnemyFv(); -extern "C" void init__15Z2CreatureEnemyFP3VecP3VecUcUc(); -extern "C" void setLinkSearch__15Z2CreatureEnemyFb(); -extern "C" void setEnemyName__15Z2CreatureEnemyFPCc(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void _savegpr_19(); -extern "C" void _savegpr_23(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_19(); -extern "C" void _restgpr_23(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" extern void* __vt__8dCcD_Sph[36]; -extern "C" extern void* __vt__9dCcD_Stts[11]; -extern "C" extern void* __vt__12cCcD_SphAttr[25]; -extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; -extern "C" extern void* __vt__9cCcD_Stts[8]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" u8 mParticleTracePCB__13dPa_control_c[4 + 4 /* padding */]; -extern "C" u8 m_midnaActor__9daPy_py_c[4]; -extern "C" void __register_global_object(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 806823BC-806823C0 000000 0004+00 20/20 0/0 0/0 .rodata @3947 */ -SECTION_RODATA static f32 const lit_3947 = 100.0f; -COMPILER_STRIP_GATE(0x806823BC, &lit_3947); - -/* 806823C0-806823C4 000004 0004+00 1/16 0/0 0/0 .rodata @3948 */ -SECTION_RODATA static u8 const lit_3948[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x806823C0, &lit_3948); - -/* 806823C4-806823CC 000008 0004+04 1/17 0/0 0/0 .rodata @3949 */ -SECTION_RODATA static f32 const lit_3949[1 + 1 /* padding */] = { - 1.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x806823C4, &lit_3949); - -/* 806823CC-806823D4 000010 0008+00 0/3 0/0 0/0 .rodata @3950 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3950[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x806823CC, &lit_3950); -#pragma pop - -/* 806823D4-806823DC 000018 0008+00 0/3 0/0 0/0 .rodata @3951 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3951[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x806823D4, &lit_3951); -#pragma pop - -/* 806823DC-806823E4 000020 0008+00 0/3 0/0 0/0 .rodata @3952 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3952[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x806823DC, &lit_3952); -#pragma pop - -/* 806823E4-806823E8 000028 0004+00 0/1 0/0 0/0 .rodata @3953 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3953 = 1.0f / 100.0f; -COMPILER_STRIP_GATE(0x806823E4, &lit_3953); -#pragma pop - -/* 806823E8-806823EC 00002C 0004+00 0/3 0/0 0/0 .rodata @3968 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3968 = 15.0f; -COMPILER_STRIP_GATE(0x806823E8, &lit_3968); -#pragma pop - -/* 806823EC-806823F0 000030 0004+00 0/1 0/0 0/0 .rodata @3969 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3969 = 250.0f; -COMPILER_STRIP_GATE(0x806823EC, &lit_3969); -#pragma pop - -/* 806823F0-806823F4 000034 0004+00 0/3 0/0 0/0 .rodata @3970 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3970 = 40.0f; -COMPILER_STRIP_GATE(0x806823F0, &lit_3970); -#pragma pop - -/* 8068248C-8068248C 0000D0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8068248C = "E_ba"; -SECTION_DEAD static char const* const stringBase_80682491 = "E_fb"; -SECTION_DEAD static char const* const stringBase_80682496 = "E_ib"; -#pragma pop - -/* 8068249C-806824A8 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ -static u8 cNullVec__6Z2Calc[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -/* 806824A8-806824BC 00000C 0004+10 0/0 0/0 0/0 .data @1787 */ -#pragma push -#pragma force_active on -static u32 lit_1787[1 + 4 /* padding */] = { - 0x02000201, - /* padding */ - 0x40080000, - 0x00000000, - 0x3FE00000, - 0x00000000, -}; -#pragma pop - -/* 806824BC-806824C4 000020 0008+00 0/1 0/0 0/0 .data e_prim$3826 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 e_prim[8] = { - 0xFF, 0x78, 0x00, 0x00, 0xFF, 0x64, 0x78, 0x00, -}; -#pragma pop - -/* 806824C4-806824CC 000028 0008+00 0/1 0/0 0/0 .data e_env$3827 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 e_env[8] = { - 0x5A, 0x2D, 0x2D, 0x00, 0x3C, 0x1E, 0x1E, 0x00, -}; -#pragma pop - -/* 806824CC-806824D4 000030 0006+02 0/1 0/0 0/0 .data eff_id$3835 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 eff_id[6 + 2 /* padding */] = { - 0x02, - 0x9D, - 0x02, - 0x9E, - 0x02, - 0x9F, - /* padding */ - 0x00, - 0x00, -}; -#pragma pop - -/* 806824D4-80682514 -00001 0040+00 1/1 0/0 0/0 .data @4748 */ -SECTION_DATA static void* lit_4748[16] = { - (void*)(((char*)action__FP10e_ba_class) + 0x88), - (void*)(((char*)action__FP10e_ba_class) + 0x94), - (void*)(((char*)action__FP10e_ba_class) + 0xAC), - (void*)(((char*)action__FP10e_ba_class) + 0xC4), - (void*)(((char*)action__FP10e_ba_class) + 0xE8), - (void*)(((char*)action__FP10e_ba_class) + 0xF4), - (void*)(((char*)action__FP10e_ba_class) + 0x108), - (void*)(((char*)action__FP10e_ba_class) + 0x144), - (void*)(((char*)action__FP10e_ba_class) + 0x144), - (void*)(((char*)action__FP10e_ba_class) + 0x144), - (void*)(((char*)action__FP10e_ba_class) + 0x114), - (void*)(((char*)action__FP10e_ba_class) + 0x144), - (void*)(((char*)action__FP10e_ba_class) + 0x144), - (void*)(((char*)action__FP10e_ba_class) + 0x120), - (void*)(((char*)action__FP10e_ba_class) + 0x12C), - (void*)(((char*)action__FP10e_ba_class) + 0x138), -}; - -/* 80682514-8068251C 000078 0008+00 1/1 0/0 0/0 .data fire_name$4786 */ -SECTION_DATA static u8 fire_name[8] = { - 0x82, 0x16, 0x82, 0x17, 0x82, 0x18, 0x82, 0x19, -}; - -/* 8068251C-80682524 000080 0006+02 1/1 0/0 0/0 .data ice_name$4787 */ -SECTION_DATA static u8 ice_name[6 + 2 /* padding */] = { - 0x82, - 0x1A, - 0x82, - 0x1B, - 0x82, - 0x1C, - /* padding */ - 0x00, - 0x00, -}; - -/* 80682524-80682530 -00001 000C+00 1/1 0/0 0/0 .data arc_name$4985 */ -SECTION_DATA static void* arc_name[3] = { - (void*)&d_a_e_ba__stringBase0, - (void*)(((char*)&d_a_e_ba__stringBase0) + 0x5), - (void*)(((char*)&d_a_e_ba__stringBase0) + 0xA), -}; - -/* 80682530-80682570 000094 0040+00 1/1 0/0 0/0 .data cc_sph_src$5011 */ -static dCcD_SrcSph cc_sph_src = { - { - {0x0, {{AT_TYPE_CSTATUE_SWING, 0x1, 0xd}, {0xd8fbfdff, 0x3}, 0x75}}, // mObj - {dCcD_SE_HARD_BODY, 0x0, 0x0, 0x0, 0x0}, // mGObjAt - {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg - {0x0}, // mGObjCo - }, // mObjInf - { - {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph - } // mSphAttr -}; - -/* 80682570-80682590 -00001 0020+00 1/0 0/0 0/0 .data l_daE_BA_Method */ -static actor_method_class l_daE_BA_Method = { - (process_method_func)daE_BA_Create, - (process_method_func)daE_BA_Delete, - (process_method_func)daE_BA_Execute, - (process_method_func)daE_BA_IsDelete, - (process_method_func)daE_BA_Draw, -}; - -/* 80682590-806825C0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_BA */ -extern actor_process_profile_definition g_profile_E_BA = { - fpcLy_CURRENT_e, - 7, - fpcPi_CURRENT_e, - PROC_E_BA, - &g_fpcLf_Method.mBase, - sizeof(e_ba_class), - 0, - 0, - &g_fopAc_Method.base, - 0xB4, - &l_daE_BA_Method, - 0x10050100, - fopAc_ENEMY_e, - fopAc_CULLBOX_CUSTOM_e, -}; - -/* 806825C0-806825CC 000124 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ -SECTION_DATA extern void* __vt__12dBgS_AcchCir[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12dBgS_AcchCirFv, -}; - -/* 806825CC-806825D8 000130 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, -}; - -/* 806825D8-806825E4 00013C 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, -}; - -/* 806825E4-806825F0 000148 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGSph */ -SECTION_DATA extern void* __vt__8cM3dGSph[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGSphFv, -}; - -/* 806825F0-806825FC 000154 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, -}; +UNK_REL_DATA +#include "f_op/f_op_actor_enemy.h" -/* 806825FC-80682620 000160 0024+00 2/2 0/0 0/0 .data __vt__12dBgS_ObjAcch */ -SECTION_DATA extern void* __vt__12dBgS_ObjAcch[9] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12dBgS_ObjAcchFv, - (void*)NULL, - (void*)NULL, - (void*)func_80681F8C, - (void*)NULL, - (void*)NULL, - (void*)func_80681F84, -}; +/* 80682638-8068263C 000008 0004+00 2/2 0/0 0/0 .bss None */ +static bool hioInit; -/* 80682620-8068262C 000184 000C+00 2/2 0/0 0/0 .data __vt__12daE_BA_HIO_c */ -SECTION_DATA extern void* __vt__12daE_BA_HIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12daE_BA_HIO_cFv, -}; +/* 80682648-80682664 000018 001C+00 9/9 0/0 0/0 .bss l_HIO */ +static daE_BA_HIO_c l_HIO; /* 8067ECEC-8067ED30 0000EC 0044+00 1/1 0/0 0/0 .text __ct__12daE_BA_HIO_cFv */ daE_BA_HIO_c::daE_BA_HIO_c() { @@ -461,7 +29,6 @@ daE_BA_HIO_c::daE_BA_HIO_c() { mAttackSpeed = 40.0f; } - /* 8067ED30-8067ED90 000130 0060+00 2/2 0/0 0/0 .text ba_disappear__FP10fopAc_ac_c */ static void ba_disappear(fopAc_ac_c* i_this) { fopAcM_createDisappear(i_this, &i_this->current.pos, 6, 0, 3); @@ -471,11 +38,6 @@ static void ba_disappear(fopAc_ac_c* i_this) { } } -/* ############################################################################################## */ -/* 806823F4-806823F8 000038 0004+00 1/1 0/0 0/0 .rodata @3996 */ -SECTION_RODATA static f32 const lit_3996 = -1.0f; -COMPILER_STRIP_GATE(0x806823F4, &lit_3996); - /* 8067ED90-8067EE38 000190 00A8+00 11/11 0/0 0/0 .text anm_init__FP10e_ba_classifUcf */ static void anm_init(e_ba_class* i_this, int i_index, f32 i_morf, u8 i_attr, f32 i_rate) { J3DAnmTransform* anm = @@ -484,7 +46,6 @@ static void anm_init(e_ba_class* i_this, int i_index, f32 i_morf, u8 i_attr, f32 i_this->mAnm = i_index; } - /* 8067EE38-8067EEA8 000238 0070+00 1/0 0/0 0/0 .text daE_BA_Draw__FP10e_ba_class */ static int daE_BA_Draw(e_ba_class* i_this) { J3DModel* model = i_this->mpMorf->getModel(); @@ -523,7 +84,6 @@ static BOOL other_bg_check(e_ba_class* i_this, fopAc_ac_c* i_other) { } } - /* 8067EFF8-8067F0AC 0003F8 00B4+00 5/5 0/0 0/0 .text pl_check__FP10e_ba_classfs */ static BOOL pl_check(e_ba_class* i_this, f32 i_maxDistance, s16 i_maxAngle) { fopAc_ac_c* player = dComIfGp_getPlayer(0); @@ -545,28 +105,6 @@ static BOOL pl_check(e_ba_class* i_this, f32 i_maxDistance, s16 i_maxAngle) { return false; } -/* ############################################################################################## */ -/* 806823F8-806823FC 00003C 0004+00 0/2 0/0 0/0 .rodata @4122 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4122 = 70.0f; -COMPILER_STRIP_GATE(0x806823F8, &lit_4122); -#pragma pop - -/* 806823FC-80682400 000040 0004+00 0/1 0/0 0/0 .rodata @4123 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4123 = 80.0f; -COMPILER_STRIP_GATE(0x806823FC, &lit_4123); -#pragma pop - -/* 80682400-80682404 000044 0004+00 0/3 0/0 0/0 .rodata @4124 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4124 = 1.0f / 5.0f; -COMPILER_STRIP_GATE(0x80682400, &lit_4124); -#pragma pop - /* 8067F0AC-8067F2DC 0004AC 0230+00 1/1 0/0 0/0 .text damage_check__FP10e_ba_class */ static void damage_check(e_ba_class* i_this) { daPy_py_c* player = static_cast<daPy_py_c*>(dComIfGp_getPlayer(0)); @@ -620,27 +158,8 @@ static void damage_check(e_ba_class* i_this) { } } - -/* ############################################################################################## */ -/* 80682404-80682408 000048 0004+00 0/5 0/0 0/0 .rodata @4156 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4156 = 50.0f; -COMPILER_STRIP_GATE(0x80682404, &lit_4156); -#pragma pop - -/* 80682638-8068263C 000008 0004+00 2/2 0/0 0/0 .bss None */ -static bool hioInit; - -/* 80682648-80682664 000018 001C+00 9/9 0/0 0/0 .bss l_HIO */ -static daE_BA_HIO_c l_HIO; - -#ifndef NONMATCHING -/* 80682664-80682763 000034 00FF+00 1/1 0/0 0/0 .bss check_index$4162 */ -static u8 check_index[255]; -#endif - /* 8067F2DC-8067F544 0006DC 0268+00 2/3 0/0 0/0 .text path_check__FP10e_ba_class */ +// NONMATCHING regalloc static BOOL path_check(e_ba_class* i_this) { if (i_this->mpPath != NULL) { dBgS_LinChk lin_chk; @@ -661,15 +180,16 @@ static BOOL path_check(e_ba_class* i_this) { } } + f32 delta_x, delta_y, delta_z; f32 threshold = 0.0f; bool bvar5 = false; for (int i = 0; i < 100; i++, threshold += 50.0f) { point = i_this->mpPath->m_points; for (int j = 0; j < i_this->mpPath->m_num; j++, point++) { if (check_index[j]) { - f32 delta_x = i_this->current.pos.x - point->m_position.x; - f32 delta_y = i_this->current.pos.y - point->m_position.y; - f32 delta_z = i_this->current.pos.z - point->m_position.z; + delta_x = i_this->current.pos.x - point->m_position.x; + delta_y = i_this->current.pos.y - point->m_position.y; + delta_z = i_this->current.pos.z - point->m_position.z; f32 dist = JMAFastSqrt(delta_x * delta_x + delta_y * delta_y + delta_z * delta_z); if (dist < threshold) { @@ -700,22 +220,6 @@ static BOOL path_check(e_ba_class* i_this) { return false; } - -/* ############################################################################################## */ -/* 80682408-8068240C 00004C 0004+00 0/1 0/0 0/0 .rodata @4242 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4242 = 2000.0f; -COMPILER_STRIP_GATE(0x80682408, &lit_4242); -#pragma pop - -/* 8068240C-80682410 000050 0004+00 0/1 0/0 0/0 .rodata @4243 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4243 = 1.0f / 25.0f; -COMPILER_STRIP_GATE(0x8068240C, &lit_4243); -#pragma pop - /* 8067F544-8067F6D4 000944 0190+00 6/6 0/0 0/0 .text fly_move__FP10e_ba_class */ static void fly_move(e_ba_class* i_this) { f32 delta_x = i_this->mTargetPos.x - i_this->current.pos.x; @@ -741,29 +245,6 @@ static void fly_move(e_ba_class* i_this) { i_this->current.pos += i_this->speed; } - -/* ############################################################################################## */ -/* 80682410-80682414 000054 0004+00 0/1 0/0 0/0 .rodata @4275 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4275 = 9.0f / 10.0f; -COMPILER_STRIP_GATE(0x80682410, &lit_4275); -#pragma pop - -/* 80682414-80682418 000058 0004+00 0/3 0/0 0/0 .rodata @4276 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4276 = 1.0f / 10.0f; -COMPILER_STRIP_GATE(0x80682414, &lit_4276); -#pragma pop - -/* 80682418-8068241C 00005C 0004+00 0/5 0/0 0/0 .rodata @4277 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4277 = 0.5f; -COMPILER_STRIP_GATE(0x80682418, &lit_4277); -#pragma pop - /* 8067F6D4-8067F81C 000AD4 0148+00 1/1 0/0 0/0 .text e_ba_roof__FP10e_ba_class */ static void e_ba_roof(e_ba_class* i_this) { switch (i_this->mMode) { @@ -790,22 +271,6 @@ static void e_ba_roof(e_ba_class* i_this) { } } - -/* ############################################################################################## */ -/* 8068241C-80682420 000060 0004+00 0/6 0/0 0/0 .rodata @4307 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4307 = 3.0f; -COMPILER_STRIP_GATE(0x8068241C, &lit_4307); -#pragma pop - -/* 80682420-80682424 000064 0004+00 0/4 0/0 0/0 .rodata @4308 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4308 = 3.0f / 10.0f; -COMPILER_STRIP_GATE(0x80682420, &lit_4308); -#pragma pop - /* 8067F81C-8067F9E0 000C1C 01C4+00 1/1 0/0 0/0 .text e_ba_fight_fly__FP10e_ba_class */ static void e_ba_fight_fly(e_ba_class* i_this) { fopAc_ac_c* player = dComIfGp_getPlayer(0); @@ -851,43 +316,6 @@ static void e_ba_fight_fly(e_ba_class* i_this) { } } - -/* ############################################################################################## */ -/* 80682424-80682428 000068 0004+00 0/3 0/0 0/0 .rodata @4376 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4376 = 2.0f; -COMPILER_STRIP_GATE(0x80682424, &lit_4376); -#pragma pop - -/* 80682428-8068242C 00006C 0004+00 0/5 0/0 0/0 .rodata @4377 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4377 = 30.0f; -COMPILER_STRIP_GATE(0x80682428, &lit_4377); -#pragma pop - -/* 8068242C-80682430 000070 0004+00 0/1 0/0 0/0 .rodata @4378 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4378 = 12288.0f; -COMPILER_STRIP_GATE(0x8068242C, &lit_4378); -#pragma pop - -/* 80682430-80682434 000074 0004+00 0/2 0/0 0/0 .rodata @4379 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4379 = 150.0f; -COMPILER_STRIP_GATE(0x80682430, &lit_4379); -#pragma pop - -/* 80682434-80682438 000078 0004+00 0/3 0/0 0/0 .rodata @4380 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4380 = 10.0f; -COMPILER_STRIP_GATE(0x80682434, &lit_4380); -#pragma pop - /* 8067F9E0-8067FD68 000DE0 0388+00 1/1 0/0 0/0 .text e_ba_fight__FP10e_ba_class */ static void e_ba_fight(e_ba_class* i_this) { fopAc_ac_c* player = dComIfGp_getPlayer(0); @@ -960,15 +388,6 @@ static void e_ba_fight(e_ba_class* i_this) { } } - -/* ############################################################################################## */ -/* 80682438-8068243C 00007C 0004+00 0/1 0/0 0/0 .rodata @4417 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4417 = 120.0f; -COMPILER_STRIP_GATE(0x80682438, &lit_4417); -#pragma pop - /* 8067FD68-8067FF60 001168 01F8+00 1/1 0/0 0/0 .text e_ba_attack__FP10e_ba_class */ static void e_ba_attack(e_ba_class* i_this) { fopAc_ac_c* player = dComIfGp_getPlayer(0); @@ -1021,22 +440,6 @@ static void e_ba_attack(e_ba_class* i_this) { fly_move(i_this); } - -/* ############################################################################################## */ -/* 8068243C-80682440 000080 0004+00 0/1 0/0 0/0 .rodata @4459 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4459 = 500.0f; -COMPILER_STRIP_GATE(0x8068243C, &lit_4459); -#pragma pop - -/* 80682440-80682444 000084 0004+00 0/3 0/0 0/0 .rodata @4460 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4460 = 200.0f; -COMPILER_STRIP_GATE(0x80682440, &lit_4460); -#pragma pop - /* 8067FF60-8068018C 001360 022C+00 1/1 0/0 0/0 .text e_ba_fly__FP10e_ba_class */ static void e_ba_fly(e_ba_class* i_this) { switch (i_this->mMode) { @@ -1074,7 +477,6 @@ static void e_ba_fly(e_ba_class* i_this) { } } - /* 8068018C-8068039C 00158C 0210+00 1/1 0/0 0/0 .text e_ba_return__FP10e_ba_class */ static void e_ba_return(e_ba_class* i_this) { switch (i_this->mMode) { @@ -1103,7 +505,6 @@ static void e_ba_return(e_ba_class* i_this) { } } - /* 8068039C-806806B4 00179C 0318+00 1/1 0/0 0/0 .text e_ba_path_fly__FP10e_ba_class */ static void e_ba_path_fly(e_ba_class* i_this) { dStage_dPnt_c* point; @@ -1160,29 +561,6 @@ static void e_ba_path_fly(e_ba_class* i_this) { fly_move(i_this); } - -/* ############################################################################################## */ -/* 80682444-80682448 000088 0004+00 0/1 0/0 0/0 .rodata @4587 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4587 = 1.5f; -COMPILER_STRIP_GATE(0x80682444, &lit_4587); -#pragma pop - -/* 80682448-8068244C 00008C 0004+00 0/1 0/0 0/0 .rodata @4588 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4588 = 65536.0f; -COMPILER_STRIP_GATE(0x80682448, &lit_4588); -#pragma pop - -/* 8068244C-80682450 000090 0004+00 0/1 0/0 0/0 .rodata @4589 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4589 = 4.0f / 5.0f; -COMPILER_STRIP_GATE(0x8068244C, &lit_4589); -#pragma pop - /* 806806B4-806808AC 001AB4 01F8+00 1/1 0/0 0/0 .text e_ba_chance__FP10e_ba_class */ static void e_ba_chance(e_ba_class* i_this) { switch (i_this->mMode) { @@ -1228,22 +606,6 @@ static void e_ba_chance(e_ba_class* i_this) { cLib_addCalcAngleS2(&i_this->current.angle.z, i_this->mChanceAngle.z, 2, 0x1000); } - -/* ############################################################################################## */ -/* 80682450-80682454 000094 0004+00 0/1 0/0 0/0 .rodata @4629 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4629 = -20.0f; -COMPILER_STRIP_GATE(0x80682450, &lit_4629); -#pragma pop - -/* 80682454-80682458 000098 0004+00 0/2 0/0 0/0 .rodata @4630 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4630 = 4.0f; -COMPILER_STRIP_GATE(0x80682454, &lit_4630); -#pragma pop - /* 806808AC-80680AF4 001CAC 0248+00 1/1 0/0 0/0 .text e_ba_wolfbite__FP10e_ba_class */ static void e_ba_wolfbite(e_ba_class* i_this) { daPy_py_c* player = static_cast<daPy_py_c*>(dComIfGp_getPlayer(0)); @@ -1302,22 +664,6 @@ static void e_ba_wolfbite(e_ba_class* i_this) { } } - -/* ############################################################################################## */ -/* 80682458-8068245C 00009C 0004+00 0/1 0/0 0/0 .rodata @4654 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4654 = 15000.0f; -COMPILER_STRIP_GATE(0x80682458, &lit_4654); -#pragma pop - -/* 8068245C-80682460 0000A0 0004+00 0/1 0/0 0/0 .rodata @4655 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4655 = 1000.0f; -COMPILER_STRIP_GATE(0x8068245C, &lit_4655); -#pragma pop - /* 80680AF4-80680C98 001EF4 01A4+00 1/1 0/0 0/0 .text e_ba_wind__FP10e_ba_class */ static void e_ba_wind(e_ba_class* i_this) { fopAc_ac_c* boomerang = (fopAc_ac_c*)fpcM_Search(shot_b_sub, i_this); @@ -1356,29 +702,6 @@ static void e_ba_wind(e_ba_class* i_this) { i_this->current.angle.z = 0; } - -/* ############################################################################################## */ -/* 80682460-80682464 0000A4 0004+00 0/2 0/0 0/0 .rodata @4678 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4678 = 20.0f; -COMPILER_STRIP_GATE(0x80682460, &lit_4678); -#pragma pop - -/* 80682464-80682468 0000A8 0004+00 0/2 0/0 0/0 .rodata @4679 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4679 = 100000.0f; -COMPILER_STRIP_GATE(0x80682464, &lit_4679); -#pragma pop - -/* 80682468-8068246C 0000AC 0004+00 0/1 0/0 0/0 .rodata @4680 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4680 = 7.0f / 10.0f; -COMPILER_STRIP_GATE(0x80682468, &lit_4680); -#pragma pop - /* 80680C98-80680DCC 002098 0134+00 1/1 0/0 0/0 .text e_ba_appear__FP10e_ba_class */ static void e_ba_appear(e_ba_class* i_this) { cXyz vec; @@ -1410,8 +733,8 @@ static void e_ba_appear(e_ba_class* i_this) { fly_move(i_this); } - /* 80680DCC-80681128 0021CC 035C+00 2/1 0/0 0/0 .text action__FP10e_ba_class */ +// NONMATCHING problem with getting item to create static void action(e_ba_class* i_this) { cXyz vec1, vec2, vec3; i_this->mPlayerAngleY = fopAcM_searchPlayerAngleY(i_this); @@ -1486,7 +809,8 @@ static void action(e_ba_class* i_this) { if (i_this->mKnockbackSpeed <= 1.0f || i_this->mAcch.ChkWallHit()) { fopAcM_delete(i_this); if (i_this->mHomeType == e_ba_class::HOME_APPEAR) { - int item_no = dComIfGs_getLife() <= 4 ? HEART : ARROW_10; + // should be HEART : ARROW_10 but that gives incorrect code + int item_no = dComIfGs_getLife() <= 4 ? 0 : 0xE; fopAcM_createItem(&i_this->current.pos, item_no, -1, -1, NULL, NULL, 0); fopAcM_createDisappear(i_this, &i_this->current.pos, 6, 0, 0xff); } else { @@ -1514,29 +838,6 @@ static void action(e_ba_class* i_this) { setMidnaBindEffect(i_this, &i_this->mCreatureSound, &i_this->eyePos, &vec3); } - -/* ############################################################################################## */ -/* 8068246C-80682470 0000B0 0004+00 0/0 0/0 0/0 .rodata @4747 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4747 = 5.0f; -COMPILER_STRIP_GATE(0x8068246C, &lit_4747); -#pragma pop - -/* 80682470-80682474 0000B4 0004+00 0/1 0/0 0/0 .rodata @4938 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4938 = 20000.0f; -COMPILER_STRIP_GATE(0x80682470, &lit_4938); -#pragma pop - -/* 80682474-80682478 0000B8 0004+00 0/1 0/0 0/0 .rodata @4939 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4939 = 3.0f / 5.0f; -COMPILER_STRIP_GATE(0x80682474, &lit_4939); -#pragma pop - /* 80681128-80681734 002528 060C+00 2/1 0/0 0/0 .text daE_BA_Execute__FP10e_ba_class */ static int daE_BA_Execute(e_ba_class* i_this) { daPy_py_c* player = static_cast<daPy_py_c*>(dComIfGp_getPlayer(0)); @@ -1650,7 +951,6 @@ static int daE_BA_Execute(e_ba_class* i_this) { return 1; } - /* 80681734-8068173C 002B34 0008+00 1/0 0/0 0/0 .text daE_BA_IsDelete__FP10e_ba_class */ static int daE_BA_IsDelete(e_ba_class* i_this) { return true; @@ -1668,7 +968,6 @@ static int daE_BA_Delete(e_ba_class* i_this) { return 1; } - /* 806817A0-80681890 002BA0 00F0+00 1/1 0/0 0/0 .text useHeapInit__FP10fopAc_ac_c */ static int useHeapInit(fopAc_ac_c* i_this) { e_ba_class* _this = static_cast<e_ba_class*>(i_this); @@ -1683,35 +982,6 @@ static int useHeapInit(fopAc_ac_c* i_this) { } } - -/* ############################################################################################## */ -/* 80682478-8068247C 0000BC 0004+00 0/1 0/0 0/0 .rodata @5134 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5134 = -200.0f; -COMPILER_STRIP_GATE(0x80682478, &lit_5134); -#pragma pop - -/* 8068247C-80682484 0000C0 0004+04 0/1 0/0 0/0 .rodata @5135 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5135[1 + 1 /* padding */] = { - 65535.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x8068247C, &lit_5135); -#pragma pop - -/* 80682484-8068248C 0000C8 0008+00 0/1 0/0 0/0 .rodata @5137 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5137[8] = { - 0x43, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80682484, &lit_5137); -#pragma pop - /* 80681890-80681CEC 002C90 045C+00 1/0 0/0 0/0 .text daE_BA_Create__FP10fopAc_ac_c */ static cPhs__Step daE_BA_Create(fopAc_ac_c* i_this) { static char* arc_name[3] = {"E_ba", "E_fb", "E_ib"}; @@ -1813,83 +1083,36 @@ static cPhs__Step daE_BA_Create(fopAc_ac_c* i_this) { _this->mCreatureSound.setEnemyName("E_ba"); _this->mAtInfo.mpSound = &_this->mCreatureSound; _this->mAtInfo.mPowerType = 1; - _this->mCounter = cM_rndF(0x10000); + _this->mCounter = cM_rndF(0xFFFF); daE_BA_Execute(_this); } return step; } +/* 80682570-80682590 -00001 0020+00 1/0 0/0 0/0 .data l_daE_BA_Method */ +static actor_method_class l_daE_BA_Method = { + (process_method_func)daE_BA_Create, + (process_method_func)daE_BA_Delete, + (process_method_func)daE_BA_Execute, + (process_method_func)daE_BA_IsDelete, + (process_method_func)daE_BA_Draw, +}; -#ifndef NONMATCHING -/* 80681CEC-80681D34 0030EC 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGSphFv */ -// cM3dGSph::~cM3dGSph() { -extern "C" void __dt__8cM3dGSphFv() { - // NONMATCHING -} - -/* 80681D34-80681D7C 003134 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */ -// cM3dGAab::~cM3dGAab() { -extern "C" void __dt__8cM3dGAabFv() { - // NONMATCHING -} - -/* 80681D7C-80681DD8 00317C 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */ -// dCcD_GStts::~dCcD_GStts() { -extern "C" void __dt__10dCcD_GSttsFv() { - // NONMATCHING -} - -/* 80681DD8-80681E48 0031D8 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */ -// dBgS_ObjAcch::~dBgS_ObjAcch() { -extern "C" void __dt__12dBgS_ObjAcchFv() { - // NONMATCHING -} - -/* 80681E48-80681EB8 003248 0070+00 1/0 0/0 0/0 .text __dt__12dBgS_AcchCirFv */ -// dBgS_AcchCir::~dBgS_AcchCir() { -extern "C" void __dt__12dBgS_AcchCirFv() { - // NONMATCHING -} - -/* 80681EB8-80681F00 0032B8 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */ -// cCcD_GStts::~cCcD_GStts() { -extern "C" void __dt__10cCcD_GSttsFv() { - // NONMATCHING -} - -/* 80681F00-80681F48 003300 0048+00 2/1 0/0 0/0 .text __dt__12daE_BA_HIO_cFv */ -// daE_BA_HIO_c::~daE_BA_HIO_c() { -extern "C" void __dt__12daE_BA_HIO_cFv() { - // NONMATCHING -} - -/* 80681F48-80681F84 003348 003C+00 0/0 1/0 0/0 .text __sinit_d_a_e_ba_cpp */ -void __sinit_d_a_e_ba_cpp() { - // NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80681F48, __sinit_d_a_e_ba_cpp); -#pragma pop - -/* 80681F84-80681F8C 003384 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */ -static void func_80681F84() { - // NONMATCHING -} - -/* 80681F8C-80681F94 00338C 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */ -static void func_80681F8C() { - // NONMATCHING -} -#endif - -/* 80681F94-806823A8 003394 0414+00 1/1 0/0 0/0 .text - * setMidnaBindEffect__FP13fopEn_enemy_cP15Z2CreatureEnemyP4cXyzP4cXyz */ -static int setMidnaBindEffect(fopEn_enemy_c* param_0, Z2CreatureEnemy* param_1, cXyz* param_2, - cXyz* param_3) { - // NONMATCHING -} - -/* 8068248C-8068248C 0000D0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
\ No newline at end of file +/* 80682590-806825C0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_BA */ +extern actor_process_profile_definition g_profile_E_BA = { + fpcLy_CURRENT_e, + 7, + fpcPi_CURRENT_e, + PROC_E_BA, + &g_fpcLf_Method.mBase, + sizeof(e_ba_class), + 0, + 0, + &g_fopAc_Method.base, + 0xB4, + &l_daE_BA_Method, + 0x10050100, + fopAc_ENEMY_e, + fopAc_CULLBOX_CUSTOM_e, +}; diff --git a/src/d/actor/d_a_e_fz.cpp b/src/d/actor/d_a_e_fz.cpp index d6d4020561..e45c0c9e99 100644 --- a/src/d/actor/d_a_e_fz.cpp +++ b/src/d/actor/d_a_e_fz.cpp @@ -6,108 +6,15 @@ */ #include "d/actor/d_a_e_fz.h" +UNK_REL_DATA +#include "f_op/f_op_actor_enemy.h" #include "d/actor/d_a_mirror.h" #include "d/actor/d_a_b_yo.h" #include "d/d_com_inf_game.h" #include "d/d_item.h" -#include "d/actor/d_a_player.h" -#include "d/actor/d_a_midna.h" #include "SSystem/SComponent/c_math.h" #include "SSystem/SComponent/c_xyz.h" -static u8 cNullVec__6Z2Calc[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -static u32 lit_1787[1 + 4 /* padding */] = { - 0x02000201, - /* padding */ - 0x40080000, - 0x00000000, - 0x3FE00000, - 0x00000000, -}; - -/* 806C14D4-806C18E8 002C74 0414+00 1/1 0/0 0/0 .text - * setMidnaBindEffect__FP13fopEn_enemy_cP15Z2CreatureEnemyP4cXyzP4cXyz */ -// NONMATCHING -// gave up on this one, it's a mess. -// it appears to be actually defined in f_op_actor header and is in ~60 enemy actor TUs -// so needs to be solved eventually -// bind_id issue + regalloc (could be related) -static int setMidnaBindEffect(fopEn_enemy_c* i_actorP, Z2CreatureEnemy* i_creatureP, cXyz* i_pos, - cXyz* i_scale) { - static GXColor e_prim[2] = { - {0xFF, 0x78, 0x00, 0x00}, - {0xFF, 0x64, 0x78, 0x00}, - }; - static GXColor e_env[2] = { - {0x5A, 0x2D, 0x2D, 0x00}, - {0x3C, 0x1E, 0x1E, 0x00}, - }; - - int darkworld_check; - daPy_py_c* player_actor = daPy_getPlayerActorClass(); - - if (player_actor->getMidnaActor() && player_actor->checkWolfLock(i_actorP)) { - cXyz pos3; - if (dKy_darkworld_check()) { - darkworld_check = 1; - } else { - darkworld_check = 0; - } - - if (i_actorP->getMidnaBindMode() == 0) { - i_actorP->setMidnaBindMode(1); - - csXyz angle; - PSMTXCopy(player_actor->getMidnaActor()->getMtxHairTop(), mDoMtx_stack_c::get()); - cXyz cStack_54(100.0f, 0.0f, 0.0f); - mDoMtx_stack_c::multVec(&cStack_54, &pos3); - - cXyz pos = pos3 - *i_pos; - - angle.y = cM_atan2s(pos.x, pos.z); - angle.x = -cM_atan2s(pos.y, JMAFastSqrt(pos.x * pos.x + pos.z * pos.z)); - angle.z = 0; - - s32 room_no = fopAcM_GetRoomNo(i_actorP); - - JPABaseEmitter* emitter = dComIfGp_particle_set( - 0x29b, i_pos, &i_actorP->tevStr, &angle, i_scale, 0xff, 0, room_no, - &e_prim[darkworld_check], &e_env[darkworld_check], 0); - - if (emitter) { - emitter->setGlobalParticleHeightScale(0.01f * pos.abs()); - } - - room_no = fopAcM_GetRoomNo(i_actorP); - - dComIfGp_particle_set(0x29c, i_pos, &i_actorP->tevStr, &i_actorP->shape_angle, - i_scale, 0xff, 0, room_no, &e_prim[darkworld_check], - &e_env[darkworld_check], 0); - - i_creatureP->startCreatureSound(Z2SE_MIDNA_BIND_LOCK_ON, 0, -1); - } - - static u16 eff_id[3] = {0x029D, 0x029E, 0x029F}; - for (int i = 0; i < 3; i++) { - u32* bind_id = i_actorP->getMidnaBindID(i); - s32 room_no = fopAcM_GetRoomNo(i_actorP); - *bind_id = dComIfGp_particle_set(*bind_id, eff_id[i], i_pos, &i_actorP->tevStr, - &i_actorP->shape_angle, i_scale, 0xff, 0, room_no, - &e_prim[darkworld_check], &e_env[darkworld_check], 0); - - } - - i_creatureP->startCreatureSound(Z2SE_MIDNA_BIND_LOCK_SUS, 0, -1); - return 1; - } - - i_actorP->setMidnaBindMode(0); - return 0; -} - namespace { /* 806C1A38-806C1A78 000038 0040+00 1/1 0/0 0/0 .data cc_fz_src__22@unnamed@d_a_e_fz_cpp@ diff --git a/src/d/actor/d_a_e_vt.cpp b/src/d/actor/d_a_e_vt.cpp index be5a539b84..afb71659db 100644 --- a/src/d/actor/d_a_e_vt.cpp +++ b/src/d/actor/d_a_e_vt.cpp @@ -8,75 +8,11 @@ #include "SSystem/SComponent/c_math.h" #include "c/c_damagereaction.h" #include "cmath.h" -#include "d/actor/d_a_midna.h" #include "d/actor/d_a_player.h" #include "d/d_com_inf_game.h" #include "d/d_s_play.h" #include "d/d_camera.h" - -// NONMATCHING load order and regalloc -static int setMidnaBindEffect(fopEn_enemy_c* i_enemy, Z2CreatureEnemy* i_sound, - cXyz* i_pos, cXyz* i_scale) { - static GXColor e_prim[2] = { - {0xFF, 0x78, 0x00, 0x00}, - {0xFF, 0x64, 0x78, 0x00}, - }; - static GXColor e_env[2] = { - {0x5A, 0x2D, 0x2D, 0x00}, - {0x3C, 0x1E, 0x1E, 0x00}, - }; - - daPy_py_c* player = daPy_getPlayerActorClass(); - if (player->getMidnaActor() != NULL && player->checkWolfLock(i_enemy)) { - cXyz local_48; - int world = dKy_darkworld_check() ? 1 : 0; - - if (i_enemy->getMidnaBindMode() == 0) { - i_enemy->setMidnaBindMode(1); - csXyz angle; - - MTXCopy(daPy_py_c::getMidnaActor()->getMtxHairTop(), mDoMtx_stack_c::get()); - cXyz local_54(100.0f, 0.0f, 0.0f); - mDoMtx_stack_c::multVec(&local_54, &local_48); - cXyz local_60 = local_48 - *i_pos; - - angle.y = cM_atan2s(local_60.x, local_60.z); - angle.x = -cM_atan2s(local_60.y, - JMAFastSqrt(local_60.x * local_60.x + local_60.z * local_60.z)); - angle.z = 0; - - JPABaseEmitter* emitter = - dComIfGp_particle_set(0x29B, i_pos, &i_enemy->tevStr, &angle, i_scale, - 0xff, NULL, fopAcM_GetRoomNo(i_enemy), - &e_prim[world], &e_env[world], NULL); - if (emitter != NULL) { - emitter->setGlobalParticleHeightScale(0.01f * local_60.abs()); - } - - dComIfGp_particle_set(0x29C, i_pos, &i_enemy->tevStr, &i_enemy->shape_angle, - i_scale, 0xff, NULL, fopAcM_GetRoomNo(i_enemy), - &e_prim[world], &e_env[world], NULL); - - i_sound->startCreatureSound(Z2SE_MIDNA_BIND_LOCK_ON, 0, -1); - } - - static u16 eff_id[3] = {0x029D, 0x029E, 0x029F}; - for (int i = 0; i < 3; i++) { - u32* bind_id = i_enemy->getMidnaBindID(i); - *bind_id = dComIfGp_particle_set(*bind_id, eff_id[i], i_pos, &i_enemy->tevStr, - &i_enemy->shape_angle, i_scale, 0xff, NULL, - fopAcM_GetRoomNo(i_enemy), - &e_prim[world], &e_env[world], NULL); - } - - i_sound->startCreatureSoundLevel(Z2SE_MIDNA_BIND_LOCK_SUS, 0, -1); - return 1; - - } else { - i_enemy->setMidnaBindMode(0); - return 0; - } -} +#include "f_op/f_op_actor_enemy.h" #define WL_CUT_TYPE_SMALL 1 #define WL_CUT_TYPE_JUMP 2 diff --git a/src/d/actor/d_a_e_yk.cpp b/src/d/actor/d_a_e_yk.cpp index 0bb763ade9..d2a35dfdac 100644 --- a/src/d/actor/d_a_e_yk.cpp +++ b/src/d/actor/d_a_e_yk.cpp @@ -8,90 +8,11 @@ #include "d/actor/d_a_e_yk.h" #include "c/c_damagereaction.h" #include "d/d_com_inf_game.h" -#include "d/actor/d_a_midna.h" #include "d/actor/d_a_player.h" #include "d/d_s_play.h" -#include "dol2asm.h" #include "SSystem/SComponent/c_math.h" - -/* 80807D70-80807D7C 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ -static u8 cNullVec__6Z2Calc[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -/* 80807D7C-80807D90 00000C 0004+10 0/0 0/0 0/0 .data @1787 */ -static u32 lit_1787[1 + 4 /* padding */] = { - 0x02000201, - /* padding */ - 0x40080000, - 0x00000000, - 0x3FE00000, - 0x00000000, -}; - -// NONMATCHING load order and regalloc -static int setMidnaBindEffect(fopEn_enemy_c* i_enemy, Z2CreatureEnemy* i_sound, - cXyz* i_pos, cXyz* i_scale) { - static GXColor e_prim[2] = { - {0xFF, 0x78, 0x00, 0x00}, - {0xFF, 0x64, 0x78, 0x00}, - }; - static GXColor e_env[2] = { - {0x5A, 0x2D, 0x2D, 0x00}, - {0x3C, 0x1E, 0x1E, 0x00}, - }; - - daPy_py_c* player = daPy_getPlayerActorClass(); - if (player->getMidnaActor() != NULL && player->checkWolfLock(i_enemy)) { - cXyz local_48; - int world = dKy_darkworld_check() ? 1 : 0; - - if (i_enemy->getMidnaBindMode() == 0) { - i_enemy->setMidnaBindMode(1); - csXyz angle; - - MTXCopy(daPy_py_c::getMidnaActor()->getMtxHairTop(), mDoMtx_stack_c::get()); - cXyz local_54(100.0f, 0.0f, 0.0f); - mDoMtx_stack_c::multVec(&local_54, &local_48); - cXyz local_60 = local_48 - *i_pos; - - angle.y = cM_atan2s(local_60.x, local_60.z); - angle.x = -cM_atan2s(local_60.y, - JMAFastSqrt(local_60.x * local_60.x + local_60.z * local_60.z)); - angle.z = 0; - - JPABaseEmitter* emitter = - dComIfGp_particle_set(0x29B, i_pos, &i_enemy->tevStr, &angle, i_scale, - 0xff, NULL, fopAcM_GetRoomNo(i_enemy), - &e_prim[world], &e_env[world], NULL); - if (emitter != NULL) { - emitter->setGlobalParticleHeightScale(0.01f * local_60.abs()); - } - - dComIfGp_particle_set(0x29C, i_pos, &i_enemy->tevStr, &i_enemy->shape_angle, - i_scale, 0xff, NULL, fopAcM_GetRoomNo(i_enemy), - &e_prim[world], &e_env[world], NULL); - - i_sound->startCreatureSound(Z2SE_MIDNA_BIND_LOCK_ON, 0, -1); - } - - static u16 eff_id[3] = {0x029D, 0x029E, 0x029F}; - for (int i = 0; i < 3; i++) { - u32* bind_id = i_enemy->getMidnaBindID(i); - *bind_id = dComIfGp_particle_set(*bind_id, eff_id[i], i_pos, &i_enemy->tevStr, - &i_enemy->shape_angle, i_scale, 0xff, NULL, - fopAcM_GetRoomNo(i_enemy), - &e_prim[world], &e_env[world], NULL); - } - - i_sound->startCreatureSoundLevel(Z2SE_MIDNA_BIND_LOCK_SUS, 0, -1); - return 1; - - } else { - i_enemy->setMidnaBindMode(0); - return 0; - } -} +UNK_REL_DATA +#include "f_op/f_op_actor_enemy.h" /* 80807EF8-80807EFC 000008 0004+00 2/2 0/0 0/0 .bss None */ static u8 data_80807EF8; diff --git a/src/d/actor/d_a_horse.cpp b/src/d/actor/d_a_horse.cpp index 8a775dee7f..e13b9d8c7a 100644 --- a/src/d/actor/d_a_horse.cpp +++ b/src/d/actor/d_a_horse.cpp @@ -2460,38 +2460,6 @@ extern "C" void __dt__10cCcD_GSttsFv() { // NONMATCHING } -/* 80844B8C-80844B90 00CD4C 0004+00 3/0 0/0 0/0 .text - * setAnmTransform__10J3DMtxCalcFUcP15J3DAnmTransform */ -void J3DMtxCalc::setAnmTransform(u8 param_0, J3DAnmTransform* param_1) { - /* empty function */ -} - -/* 80844B90-80844B94 00CD50 0004+00 3/0 0/0 0/0 .text - * setAnmTransform__10J3DMtxCalcFP15J3DAnmTransform */ -void J3DMtxCalc::setAnmTransform(J3DAnmTransform* param_0) { - /* empty function */ -} - -/* 80844B94-80844B9C 00CD54 0008+00 3/0 0/0 0/0 .text getAnmTransform__10J3DMtxCalcFUc */ -J3DAnmTransform* J3DMtxCalc::getAnmTransform(u8 param_0) { - return NULL; -} - -/* 80844B9C-80844BA4 00CD5C 0008+00 3/0 0/0 0/0 .text getAnmTransform__10J3DMtxCalcFv */ -J3DAnmTransform* J3DMtxCalc::getAnmTransform() { - return NULL; -} - -/* 80844BA4-80844BA8 00CD64 0004+00 3/0 0/0 0/0 .text setWeight__10J3DMtxCalcFUcf */ -void J3DMtxCalc::setWeight(u8 param_0, f32 param_1) { - /* empty function */ -} - -/* 80844BA8-80844BB4 00CD68 000C+00 3/0 0/0 0/0 .text getWeight__10J3DMtxCalcCFUc */ -void J3DMtxCalc::getWeight(u8 param_0) const { - // NONMATCHING -} - /* 80844BB4-80844BDC 00CD74 0028+00 1/0 0/0 0/0 .text * init__73J3DMtxCalcNoAnm<27J3DMtxCalcCalcTransformMaya,24J3DMtxCalcJ3DSysInitMaya>FRC3VecRA3_A4_Cf */ @@ -2827,4 +2795,4 @@ static u8 data_80845E10[4]; static u8 data_80845E14[4]; #pragma pop -/* 8084585C-8084585C 0003B0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
\ No newline at end of file +/* 8084585C-8084585C 0003B0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/actor/d_a_kytag12.cpp b/src/d/actor/d_a_kytag12.cpp index da5e0f7ed2..dd198cd478 100644 --- a/src/d/actor/d_a_kytag12.cpp +++ b/src/d/actor/d_a_kytag12.cpp @@ -9,55 +9,6 @@ #include "d/d_com_inf_game.h" #include "d/d_kankyo_rain.h" #include "d/d_kankyo_wether.h" -#include "dol2asm.h" - - -// -// Forward References: -// - -extern "C" static void d_kytag12_cut_turn_check__Fv(); -extern "C" static void d_kytag12_cut_normal_check__Fv(); -extern "C" static bool daKytag12_Draw__FP13kytag12_class(); -extern "C" static void daKytag12_light_swprd_proc__FP13kytag12_class(); -extern "C" void __dt__4cXyzFv(); -extern "C" static void daKytag12_Execute_standard__FP13kytag12_class(); -extern "C" static void daKytag12_Execute_arrival__FP13kytag12_class(); -extern "C" static void daKytag12_Execute_R00__FP13kytag12_class(); -extern "C" static void daKytag12_Execute__FP13kytag12_class(); -extern "C" static bool daKytag12_IsDelete__FP13kytag12_class(); -extern "C" static void daKytag12_Delete__FP13kytag12_class(); -extern "C" static void daKytag12_Create__FP10fopAc_ac_c(); -extern "C" void __ct__4cXyzFv(); -extern "C" extern char const* const d_a_kytag12__stringBase0; - -// -// External References: -// - -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void dKyw_plight_collision_set__FP4cXyzssfffff(); -extern "C" void dKyw_pntlight_collision_get_info__FP4cXyzP4cXyzPf(); -extern "C" void dKyr_evil_init__Fv(); -extern "C" void __pl__4cXyzCFRC3Vec(); -extern "C" void cM_rndF__Ff(); -extern "C" void cM_rndFX__Ff(); -extern "C" void cLib_addCalc__FPfffff(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void __dl__FPv(); -extern "C" void __construct_array(); -extern "C" void __cvt_fp2unsigned(); -extern "C" void _savegpr_14(); -extern "C" void _savegpr_18(); -extern "C" void _restgpr_14(); -extern "C" void _restgpr_18(); -extern "C" u8 sincosTable___5JMath[65536]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; - -// -// Declarations: -// /* 8085BB38-8085BB80 000078 0048+00 2/2 0/0 0/0 .text d_kytag12_cut_turn_check__Fv */ static BOOL d_kytag12_cut_turn_check() { @@ -93,72 +44,6 @@ static int daKytag12_Draw(kytag12_class* param_0) { return 1; } -/* ############################################################################################## */ -/* 8085EF00-8085EF04 000000 0004+00 4/4 0/0 0/0 .rodata @3836 */ -SECTION_RODATA static f32 const lit_3836 = 100.0f; -COMPILER_STRIP_GATE(0x8085EF00, &lit_3836); - -/* 8085EF04-8085EF08 000004 0004+00 0/1 0/0 0/0 .rodata @3837 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3837 = 500.0f; -COMPILER_STRIP_GATE(0x8085EF04, &lit_3837); -#pragma pop - -/* 8085EF08-8085EF0C 000008 0004+00 0/1 0/0 0/0 .rodata @3838 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3838 = 2000.0f; -COMPILER_STRIP_GATE(0x8085EF08, &lit_3838); -#pragma pop - -/* 8085EF0C-8085EF10 00000C 0004+00 0/3 0/0 0/0 .rodata @3839 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3839 = 1.0f; -COMPILER_STRIP_GATE(0x8085EF0C, &lit_3839); -#pragma pop - -/* 8085EF10-8085EF14 000010 0004+00 0/4 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(0x8085EF10, &lit_3840); -#pragma pop - -/* 8085EF14-8085EF18 000014 0004+00 0/1 0/0 0/0 .rodata @3841 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_3841 = 0x3C75C28F; -COMPILER_STRIP_GATE(0x8085EF14, &lit_3841); -#pragma pop - -/* 8085EF18-8085EF1C 000018 0004+00 0/1 0/0 0/0 .rodata @3842 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3842 = 300.0f; -COMPILER_STRIP_GATE(0x8085EF18, &lit_3842); -#pragma pop - -/* 8085EF1C-8085EF20 00001C 0004+00 0/2 0/0 0/0 .rodata @3843 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3843 = 150.0f; -COMPILER_STRIP_GATE(0x8085EF1C, &lit_3843); -#pragma pop - -/* 8085EF20-8085EF24 000020 0004+00 0/1 0/0 0/0 .rodata @3844 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3844 = 3.0f / 10.0f; -COMPILER_STRIP_GATE(0x8085EF20, &lit_3844); -#pragma pop - /* 8085BBC0-8085BCD0 000100 0110+00 3/3 0/0 0/0 .text * daKytag12_light_swprd_proc__FP13kytag12_class */ static void daKytag12_light_swprd_proc(kytag12_class* i_this) { @@ -188,412 +73,9 @@ static void daKytag12_light_swprd_proc(kytag12_class* i_this) { } } - -/* 8085BCD0-8085BD0C 000210 003C+00 1/1 0/0 0/0 .text __dt__4cXyzFv */ -// cXyz::~cXyz() { -extern "C" void __dt__4cXyzFv() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 8085EF24-8085EF28 000024 0004+00 0/0 0/0 0/0 .rodata @4471 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4471 = -5200.0f; -COMPILER_STRIP_GATE(0x8085EF24, &lit_4471); -#pragma pop - -/* 8085EF28-8085EF2C 000028 0004+00 0/0 0/0 0/0 .rodata @4472 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4472 = 30.0f; -COMPILER_STRIP_GATE(0x8085EF28, &lit_4472); -#pragma pop - -/* 8085EF2C-8085EF30 00002C 0004+00 0/0 0/0 0/0 .rodata @4473 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4473 = -700.0f; -COMPILER_STRIP_GATE(0x8085EF2C, &lit_4473); -#pragma pop - -/* 8085EF30-8085EF34 000030 0004+00 0/0 0/0 0/0 .rodata @4474 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4474 = 2100.0f; -COMPILER_STRIP_GATE(0x8085EF30, &lit_4474); -#pragma pop - -/* 8085EF34-8085EF38 000034 0004+00 0/0 0/0 0/0 .rodata @4475 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4475 = 5400.0f; -COMPILER_STRIP_GATE(0x8085EF34, &lit_4475); -#pragma pop - -/* 8085EF38-8085EF3C 000038 0004+00 0/1 0/0 0/0 .rodata @4476 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4476 = 200.0f; -COMPILER_STRIP_GATE(0x8085EF38, &lit_4476); -#pragma pop - -/* 8085EF3C-8085EF40 00003C 0004+00 0/2 0/0 0/0 .rodata @4477 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4477 = 50.0f; -COMPILER_STRIP_GATE(0x8085EF3C, &lit_4477); -#pragma pop - -/* 8085EF40-8085EF44 000040 0004+00 0/0 0/0 0/0 .rodata @4478 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4478 = -2700.0f; -COMPILER_STRIP_GATE(0x8085EF40, &lit_4478); -#pragma pop - -/* 8085EF44-8085EF48 000044 0004+00 0/1 0/0 0/0 .rodata @4479 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4479 = -1100.0f; -COMPILER_STRIP_GATE(0x8085EF44, &lit_4479); -#pragma pop - -/* 8085EF48-8085EF4C 000048 0004+00 0/1 0/0 0/0 .rodata @4480 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4480 = 3200.0f; -COMPILER_STRIP_GATE(0x8085EF48, &lit_4480); -#pragma pop - -/* 8085EF4C-8085EF50 00004C 0004+00 0/2 0/0 0/0 .rodata @4481 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4481 = 1000.0f; -COMPILER_STRIP_GATE(0x8085EF4C, &lit_4481); -#pragma pop - -/* 8085EF50-8085EF54 000050 0004+00 0/0 0/0 0/0 .rodata @4482 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4482 = -500.0f; -COMPILER_STRIP_GATE(0x8085EF50, &lit_4482); -#pragma pop - -/* 8085EF54-8085EF58 000054 0004+00 0/0 0/0 0/0 .rodata @4483 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4483 = 6700.0f; -COMPILER_STRIP_GATE(0x8085EF54, &lit_4483); -#pragma pop - -/* 8085EF58-8085EF5C 000058 0004+00 0/0 0/0 0/0 .rodata @4484 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4484 = -2828.0f; -COMPILER_STRIP_GATE(0x8085EF58, &lit_4484); -#pragma pop - -/* 8085EF5C-8085EF60 00005C 0004+00 0/2 0/0 0/0 .rodata @4485 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4485 = 10.0f; -COMPILER_STRIP_GATE(0x8085EF5C, &lit_4485); -#pragma pop - -/* 8085EF60-8085EF64 000060 0004+00 0/0 0/0 0/0 .rodata @4486 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4486 = -23.0f / 10.0f; -COMPILER_STRIP_GATE(0x8085EF60, &lit_4486); -#pragma pop - -/* 8085EF64-8085EF68 000064 0004+00 0/0 0/0 0/0 .rodata @4487 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4487 = -0.5f; -COMPILER_STRIP_GATE(0x8085EF64, &lit_4487); -#pragma pop - -/* 8085EF68-8085EF6C 000068 0004+00 0/0 0/0 0/0 .rodata @4488 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4488 = 90.0f; -COMPILER_STRIP_GATE(0x8085EF68, &lit_4488); -#pragma pop - -/* 8085EF6C-8085EF70 00006C 0004+00 0/0 0/0 0/0 .rodata @4489 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4489 = -7.0f / 10.0f; -COMPILER_STRIP_GATE(0x8085EF6C, &lit_4489); -#pragma pop - -/* 8085EF70-8085EF74 000070 0004+00 0/0 0/0 0/0 .rodata @4490 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4490 = -2.0f; -COMPILER_STRIP_GATE(0x8085EF70, &lit_4490); -#pragma pop - -/* 8085EF74-8085EF78 000074 0004+00 0/2 0/0 0/0 .rodata @4491 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4491 = -1.0f; -COMPILER_STRIP_GATE(0x8085EF74, &lit_4491); -#pragma pop - -/* 8085EF78-8085EF80 000078 0004+04 0/0 0/0 0/0 .rodata @4492 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4492[1 + 1 /* padding */] = { - -11.0f / 10.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x8085EF78, &lit_4492); -#pragma pop - -/* 8085EF80-8085EF88 000080 0008+00 0/2 0/0 0/0 .rodata @4493 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4493[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8085EF80, &lit_4493); -#pragma pop - -/* 8085EF88-8085EF8C 000088 0004+00 0/0 0/0 0/0 .rodata @4494 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4494 = 630.0f; -COMPILER_STRIP_GATE(0x8085EF88, &lit_4494); -#pragma pop - -/* 8085EF8C-8085EF90 00008C 0004+00 0/0 0/0 0/0 .rodata @4495 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4495 = 34.0f / 5.0f; -COMPILER_STRIP_GATE(0x8085EF8C, &lit_4495); -#pragma pop - -/* 8085EF90-8085EF98 000090 0008+00 0/0 0/0 0/0 .rodata @4496 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4496[8] = { - 0x40, 0x81, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8085EF90, &lit_4496); -#pragma pop - -/* 8085EF98-8085EFA0 000098 0008+00 0/0 0/0 0/0 .rodata @4497 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4497[8] = { - 0x40, 0x13, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, -}; -COMPILER_STRIP_GATE(0x8085EF98, &lit_4497); -#pragma pop - -/* 8085EFA0-8085EFA4 0000A0 0004+00 0/0 0/0 0/0 .rodata @4498 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4498 = 13.0f; -COMPILER_STRIP_GATE(0x8085EFA0, &lit_4498); -#pragma pop - -/* 8085EFA4-8085EFA8 0000A4 0004+00 0/0 0/0 0/0 .rodata @4499 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4499 = 9.0f; -COMPILER_STRIP_GATE(0x8085EFA4, &lit_4499); -#pragma pop - -/* 8085EFA8-8085EFAC 0000A8 0004+00 0/2 0/0 0/0 .rodata @4500 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4500 = 9000.0f; -COMPILER_STRIP_GATE(0x8085EFA8, &lit_4500); -#pragma pop - -/* 8085EFAC-8085EFB0 0000AC 0004+00 0/2 0/0 0/0 .rodata @4501 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4501 = 85.0f; -COMPILER_STRIP_GATE(0x8085EFAC, &lit_4501); -#pragma pop - -/* 8085EFB0-8085EFB4 0000B0 0004+00 0/1 0/0 0/0 .rodata @4502 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4502 = 1.5f; -COMPILER_STRIP_GATE(0x8085EFB0, &lit_4502); -#pragma pop - -/* 8085EFB4-8085EFB8 0000B4 0004+00 0/1 0/0 0/0 .rodata @4503 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4503 = 3.0f / 5.0f; -COMPILER_STRIP_GATE(0x8085EFB4, &lit_4503); -#pragma pop - -/* 8085EFB8-8085EFBC 0000B8 0004+00 0/2 0/0 0/0 .rodata @4504 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4504 = 0.5f; -COMPILER_STRIP_GATE(0x8085EFB8, &lit_4504); -#pragma pop - -/* 8085EFBC-8085EFC0 0000BC 0004+00 0/1 0/0 0/0 .rodata @4505 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4505 = 25.0f; -COMPILER_STRIP_GATE(0x8085EFBC, &lit_4505); -#pragma pop - -/* 8085EFC0-8085EFC4 0000C0 0004+00 0/2 0/0 0/0 .rodata @4506 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4506 = 4.0f; -COMPILER_STRIP_GATE(0x8085EFC0, &lit_4506); -#pragma pop - -/* 8085EFC4-8085EFC8 0000C4 0004+00 0/0 0/0 0/0 .rodata @4507 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4507 = -8.0f; -COMPILER_STRIP_GATE(0x8085EFC4, &lit_4507); -#pragma pop - -/* 8085EFC8-8085EFCC 0000C8 0004+00 0/0 0/0 0/0 .rodata @4508 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4508 = -1200.0f; -COMPILER_STRIP_GATE(0x8085EFC8, &lit_4508); -#pragma pop - -/* 8085EFCC-8085EFD0 0000CC 0004+00 0/1 0/0 0/0 .rodata @4509 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4509 = 900.0f; -COMPILER_STRIP_GATE(0x8085EFCC, &lit_4509); -#pragma pop - -/* 8085EFD0-8085EFD4 0000D0 0004+00 0/0 0/0 0/0 .rodata @4510 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4510 = -780.0f; -COMPILER_STRIP_GATE(0x8085EFD0, &lit_4510); -#pragma pop - -/* 8085EFD4-8085EFD8 0000D4 0004+00 0/1 0/0 0/0 .rodata @4511 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4511 = 1400.0f; -COMPILER_STRIP_GATE(0x8085EFD4, &lit_4511); -#pragma pop - -/* 8085EFD8-8085EFDC 0000D8 0004+00 0/0 0/0 0/0 .rodata @4512 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4512 = -10.0f; -COMPILER_STRIP_GATE(0x8085EFD8, &lit_4512); -#pragma pop - -/* 8085EFDC-8085EFE0 0000DC 0004+00 0/0 0/0 0/0 .rodata @4513 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4513 = -5.0f; -COMPILER_STRIP_GATE(0x8085EFDC, &lit_4513); -#pragma pop - -/* 8085EFE0-8085EFE8 0000E0 0004+04 0/0 0/0 0/0 .rodata @4514 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4514[1 + 1 /* padding */] = { - 6200.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x8085EFE0, &lit_4514); -#pragma pop - -/* 8085EFE8-8085EFF0 0000E8 0008+00 0/2 0/0 0/0 .rodata @4515 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4515[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8085EFE8, &lit_4515); -#pragma pop - -/* 8085EFF0-8085EFF8 0000F0 0008+00 0/2 0/0 0/0 .rodata @4516 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4516[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8085EFF0, &lit_4516); -#pragma pop - -/* 8085EFF8-8085EFFC 0000F8 0004+00 0/2 0/0 0/0 .rodata @4517 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4517 = 250.0f; -COMPILER_STRIP_GATE(0x8085EFF8, &lit_4517); -#pragma pop - -/* 8085EFFC-8085F000 0000FC 0004+00 0/1 0/0 0/0 .rodata @4518 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4518 = 190.0f; -COMPILER_STRIP_GATE(0x8085EFFC, &lit_4518); -#pragma pop - -/* 8085F000-8085F004 000100 0004+00 0/2 0/0 0/0 .rodata @4519 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4519 = 1.0f / 5.0f; -COMPILER_STRIP_GATE(0x8085F000, &lit_4519); -#pragma pop - -/* 8085F004-8085F008 000104 0004+00 0/0 0/0 0/0 .rodata @4520 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4520 = 165.0f; -COMPILER_STRIP_GATE(0x8085F004, &lit_4520); -#pragma pop - -/* 8085F008-8085F00C 000108 0004+00 0/2 0/0 0/0 .rodata @4521 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4521 = 19.0f / 20.0f; -COMPILER_STRIP_GATE(0x8085F008, &lit_4521); -#pragma pop - -/* 8085F0EC-8085F0EC 0001EC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8085F0EC = "D_MN08"; -#pragma pop - -/* 8085F0F4-8085F118 -00001 0024+00 1/1 0/0 0/0 .data @4529 */ -SECTION_DATA static void* lit_4529[9] = { - (void*)(((char*)daKytag12_Execute_standard__FP13kytag12_class) + 0x458), - (void*)(((char*)daKytag12_Execute_standard__FP13kytag12_class) + 0x458), - (void*)(((char*)daKytag12_Execute_standard__FP13kytag12_class) + 0x408), - (void*)(((char*)daKytag12_Execute_standard__FP13kytag12_class) + 0x458), - (void*)(((char*)daKytag12_Execute_standard__FP13kytag12_class) + 0x418), - (void*)(((char*)daKytag12_Execute_standard__FP13kytag12_class) + 0x428), - (void*)(((char*)daKytag12_Execute_standard__FP13kytag12_class) + 0x458), - (void*)(((char*)daKytag12_Execute_standard__FP13kytag12_class) + 0x438), - (void*)(((char*)daKytag12_Execute_standard__FP13kytag12_class) + 0x448), -}; - /* 8085BD0C-8085D1DC 00024C 14D0+00 2/1 0/0 0/0 .text * daKytag12_Execute_standard__FP13kytag12_class */ -// minor regalloc -#ifdef NONMATCHING +// NONMATCHING minor regalloc static int daKytag12_Execute_standard(kytag12_class* i_this) { fopAc_ac_c* a_this = (fopAc_ac_c*)i_this; daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0); @@ -694,7 +176,7 @@ static int daKytag12_Execute_standard(kytag12_class* i_this) { break; case 7: temp_f2 = -1.1f; - var_f28 = -0.0f; + var_f28 = 0.0f; var_f25 = 90.0f; break; case 8: @@ -979,160 +461,10 @@ static int daKytag12_Execute_standard(kytag12_class* i_this) { return 1; } -#else -static void daKytag12_Execute_standard(kytag12_class* param_0) { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 8085F00C-8085F010 00010C 0004+00 0/2 0/0 0/0 .rodata @4522 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4522 = 0.25f; -COMPILER_STRIP_GATE(0x8085F00C, &lit_4522); -#pragma pop - -/* 8085F010-8085F014 000110 0004+00 0/2 0/0 0/0 .rodata @4523 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4523 = 7.0f / 100.0f; -COMPILER_STRIP_GATE(0x8085F010, &lit_4523); -#pragma pop - -/* 8085F014-8085F018 000114 0004+00 0/2 0/0 0/0 .rodata @4524 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_4524 = 0x38D1B717; -COMPILER_STRIP_GATE(0x8085F014, &lit_4524); -#pragma pop - -/* 8085F018-8085F01C 000118 0004+00 0/0 0/0 0/0 .rodata @4525 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4525 = 1.0f / 25.0f; -COMPILER_STRIP_GATE(0x8085F018, &lit_4525); -#pragma pop - -/* 8085F01C-8085F020 00011C 0004+00 0/2 0/0 0/0 .rodata @4526 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4526 = 1.0f / 10.0f; -COMPILER_STRIP_GATE(0x8085F01C, &lit_4526); -#pragma pop - -/* 8085F020-8085F024 000120 0004+00 0/1 0/0 0/0 .rodata @4527 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4527 = 1.0f / 100.0f; -COMPILER_STRIP_GATE(0x8085F020, &lit_4527); -#pragma pop - -/* 8085F024-8085F028 000124 0004+00 0/1 0/0 0/0 .rodata @4528 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_4528 = 0x3A83126F; -COMPILER_STRIP_GATE(0x8085F024, &lit_4528); -#pragma pop - -/* 8085F028-8085F030 000128 0008+00 0/2 0/0 0/0 .rodata @4531 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4531[8] = { - 0x43, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8085F028, &lit_4531); -#pragma pop - -/* 8085F030-8085F038 000130 0008+00 0/2 0/0 0/0 .rodata @4533 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4533[8] = { - 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8085F030, &lit_4533); -#pragma pop - -/* 8085F038-8085F040 000138 0004+04 0/2 0/0 0/0 .rodata @4961 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4961[1 + 1 /* padding */] = { - 24.0f / 5.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x8085F038, &lit_4961); -#pragma pop - -/* 8085F040-8085F048 000140 0008+00 0/2 0/0 0/0 .rodata @4962 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4962[8] = { - 0x40, 0x0E, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, -}; -COMPILER_STRIP_GATE(0x8085F040, &lit_4962); -#pragma pop - -/* 8085F048-8085F04C 000148 0004+00 0/1 0/0 0/0 .rodata @4963 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4963 = 4.0f / 5.0f; -COMPILER_STRIP_GATE(0x8085F048, &lit_4963); -#pragma pop - -/* 8085F04C-8085F050 00014C 0004+00 0/1 0/0 0/0 .rodata @4964 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4964 = 65536.0f; -COMPILER_STRIP_GATE(0x8085F04C, &lit_4964); -#pragma pop - -/* 8085F050-8085F054 000150 0004+00 0/1 0/0 0/0 .rodata @4965 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4965 = 35.0f; -COMPILER_STRIP_GATE(0x8085F050, &lit_4965); -#pragma pop - -/* 8085F054-8085F058 000154 0004+00 0/2 0/0 0/0 .rodata @4966 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4966 = 20.0f; -COMPILER_STRIP_GATE(0x8085F054, &lit_4966); -#pragma pop - -/* 8085F058-8085F05C 000158 0004+00 0/1 0/0 0/0 .rodata @4967 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4967 = 32.0f; -COMPILER_STRIP_GATE(0x8085F058, &lit_4967); -#pragma pop - -/* 8085F05C-8085F060 00015C 0004+00 0/1 0/0 0/0 .rodata @4968 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4968 = -4.0f; -COMPILER_STRIP_GATE(0x8085F05C, &lit_4968); -#pragma pop - -/* 8085F060-8085F064 000160 0004+00 0/2 0/0 0/0 .rodata @4969 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4969 = -680.0f; -COMPILER_STRIP_GATE(0x8085F060, &lit_4969); -#pragma pop - -/* 8085F064-8085F068 000164 0004+00 0/2 0/0 0/0 .rodata @4970 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4970 = 40.0f; -COMPILER_STRIP_GATE(0x8085F064, &lit_4970); -#pragma pop /* 8085D1DC-8085DFF0 00171C 0E14+00 1/1 0/0 0/0 .text daKytag12_Execute_arrival__FP13kytag12_class */ -// minor regalloc -#ifdef NONMATCHING +// NONMATCHING minor regalloc static int daKytag12_Execute_arrival(kytag12_class* i_this) { fopAc_ac_c* a_this = (fopAc_ac_c*)i_this; daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0); @@ -1365,246 +697,9 @@ static int daKytag12_Execute_arrival(kytag12_class* i_this) { } f32 temp = ((f32)var_r19 / (f32)g_env_light.field_0x1054); - mDoAud_seStartLevel(Z2SE_OBJ_L8_B_FALL_S, &i_this->current.pos, temp * 100.0f, 0); + mDoAud_seStartLevel(Z2SE_OBJ_L8_B_FOG_STAY, &i_this->current.pos, temp * 100.0f, 0); return 1; } -#else -static void daKytag12_Execute_arrival(kytag12_class* param_0) { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 8085F068-8085F06C 000168 0004+00 0/1 0/0 0/0 .rodata @5266 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5266 = 550.0f; -COMPILER_STRIP_GATE(0x8085F068, &lit_5266); -#pragma pop - -/* 8085F06C-8085F070 00016C 0004+00 0/1 0/0 0/0 .rodata @5267 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5267 = -3000.0f; -COMPILER_STRIP_GATE(0x8085F06C, &lit_5267); -#pragma pop - -/* 8085F070-8085F074 000170 0004+00 0/1 0/0 0/0 .rodata @5268 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5268 = 5900.0f; -COMPILER_STRIP_GATE(0x8085F070, &lit_5268); -#pragma pop - -/* 8085F074-8085F078 000174 0004+00 0/1 0/0 0/0 .rodata @5269 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5269 = 80.0f; -COMPILER_STRIP_GATE(0x8085F074, &lit_5269); -#pragma pop - -/* 8085F078-8085F07C 000178 0004+00 0/1 0/0 0/0 .rodata @5270 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5270 = 244.0f; -COMPILER_STRIP_GATE(0x8085F078, &lit_5270); -#pragma pop - -/* 8085F07C-8085F080 00017C 0004+00 0/1 0/0 0/0 .rodata @5271 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5271 = 2951.0f; -COMPILER_STRIP_GATE(0x8085F07C, &lit_5271); -#pragma pop - -/* 8085F080-8085F084 000180 0004+00 0/1 0/0 0/0 .rodata @5272 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5272 = 4100.0f; -COMPILER_STRIP_GATE(0x8085F080, &lit_5272); -#pragma pop - -/* 8085F084-8085F088 000184 0004+00 0/1 0/0 0/0 .rodata @5273 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5273 = 2206.0f; -COMPILER_STRIP_GATE(0x8085F084, &lit_5273); -#pragma pop - -/* 8085F088-8085F08C 000188 0004+00 0/1 0/0 0/0 .rodata @5274 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5274 = -3200.0f; -COMPILER_STRIP_GATE(0x8085F088, &lit_5274); -#pragma pop - -/* 8085F08C-8085F090 00018C 0004+00 0/1 0/0 0/0 .rodata @5275 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5275 = 6800.0f; -COMPILER_STRIP_GATE(0x8085F08C, &lit_5275); -#pragma pop - -/* 8085F090-8085F094 000190 0004+00 0/1 0/0 0/0 .rodata @5276 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5276 = 5350.0f; -COMPILER_STRIP_GATE(0x8085F090, &lit_5276); -#pragma pop - -/* 8085F094-8085F098 000194 0004+00 0/1 0/0 0/0 .rodata @5277 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5277 = 480.0f; -COMPILER_STRIP_GATE(0x8085F094, &lit_5277); -#pragma pop - -/* 8085F098-8085F09C 000198 0004+00 0/1 0/0 0/0 .rodata @5278 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5278 = -200.0f; -COMPILER_STRIP_GATE(0x8085F098, &lit_5278); -#pragma pop - -/* 8085F09C-8085F0A0 00019C 0004+00 0/1 0/0 0/0 .rodata @5279 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5279 = 5300.0f; -COMPILER_STRIP_GATE(0x8085F09C, &lit_5279); -#pragma pop - -/* 8085F0A0-8085F0A4 0001A0 0004+00 0/1 0/0 0/0 .rodata @5280 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5280 = 510.0f; -COMPILER_STRIP_GATE(0x8085F0A0, &lit_5280); -#pragma pop - -/* 8085F0A4-8085F0A8 0001A4 0004+00 0/1 0/0 0/0 .rodata @5281 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5281 = 3400.0f; -COMPILER_STRIP_GATE(0x8085F0A4, &lit_5281); -#pragma pop - -/* 8085F0A8-8085F0AC 0001A8 0004+00 0/1 0/0 0/0 .rodata @5282 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5282 = 650.0f; -COMPILER_STRIP_GATE(0x8085F0A8, &lit_5282); -#pragma pop - -/* 8085F0AC-8085F0B0 0001AC 0004+00 0/1 0/0 0/0 .rodata @5283 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5283 = 3000.0f; -COMPILER_STRIP_GATE(0x8085F0AC, &lit_5283); -#pragma pop - -/* 8085F0B0-8085F0B4 0001B0 0004+00 0/1 0/0 0/0 .rodata @5284 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5284 = 15.0f; -COMPILER_STRIP_GATE(0x8085F0B0, &lit_5284); -#pragma pop - -/* 8085F0B4-8085F0B8 0001B4 0004+00 0/1 0/0 0/0 .rodata @5285 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5285 = 2900.0f; -COMPILER_STRIP_GATE(0x8085F0B4, &lit_5285); -#pragma pop - -/* 8085F0B8-8085F0BC 0001B8 0004+00 0/1 0/0 0/0 .rodata @5286 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5286 = 7000.0f; -COMPILER_STRIP_GATE(0x8085F0B8, &lit_5286); -#pragma pop - -/* 8085F0BC-8085F0C0 0001BC 0004+00 0/1 0/0 0/0 .rodata @5287 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5287 = -3800.0f; -COMPILER_STRIP_GATE(0x8085F0BC, &lit_5287); -#pragma pop - -/* 8085F0C0-8085F0C4 0001C0 0004+00 0/1 0/0 0/0 .rodata @5288 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5288 = 2800.0f; -COMPILER_STRIP_GATE(0x8085F0C0, &lit_5288); -#pragma pop - -/* 8085F0C4-8085F0C8 0001C4 0004+00 0/1 0/0 0/0 .rodata @5289 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5289 = -2250.0f; -COMPILER_STRIP_GATE(0x8085F0C4, &lit_5289); -#pragma pop - -/* 8085F0C8-8085F0CC 0001C8 0004+00 0/1 0/0 0/0 .rodata @5290 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5290 = -20.0f; -COMPILER_STRIP_GATE(0x8085F0C8, &lit_5290); -#pragma pop - -/* 8085F0CC-8085F0D0 0001CC 0004+00 0/1 0/0 0/0 .rodata @5291 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5291 = -1160.0f; -COMPILER_STRIP_GATE(0x8085F0CC, &lit_5291); -#pragma pop - -/* 8085F0D0-8085F0D4 0001D0 0004+00 0/1 0/0 0/0 .rodata @5292 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5292 = -380.0f; -COMPILER_STRIP_GATE(0x8085F0D0, &lit_5292); -#pragma pop - -/* 8085F0D4-8085F0D8 0001D4 0004+00 0/1 0/0 0/0 .rodata @5293 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5293 = 2700.0f; -COMPILER_STRIP_GATE(0x8085F0D4, &lit_5293); -#pragma pop - -/* 8085F0D8-8085F0DC 0001D8 0004+00 0/1 0/0 0/0 .rodata @5294 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5294 = -800.0f; -COMPILER_STRIP_GATE(0x8085F0D8, &lit_5294); -#pragma pop - -/* 8085F0DC-8085F0E0 0001DC 0004+00 0/1 0/0 0/0 .rodata @5295 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5295 = -1060.0f; -COMPILER_STRIP_GATE(0x8085F0DC, &lit_5295); -#pragma pop - -/* 8085F0E0-8085F0E4 0001E0 0004+00 0/1 0/0 0/0 .rodata @5296 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5296 = 2600.0f; -COMPILER_STRIP_GATE(0x8085F0E0, &lit_5296); -#pragma pop - -/* 8085F0E4-8085F0E8 0001E4 0004+00 0/1 0/0 0/0 .rodata @5297 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5297 = 2650.0f; -COMPILER_STRIP_GATE(0x8085F0E4, &lit_5297); -#pragma pop - -/* 8085F0E8-8085F0EC 0001E8 0004+00 0/1 0/0 0/0 .rodata @5298 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5298 = 600.0f; -COMPILER_STRIP_GATE(0x8085F0E8, &lit_5298); -#pragma pop /* 8085DFF0-8085ED48 002530 0D58+00 1/1 0/0 0/0 .text daKytag12_Execute_R00__FP13kytag12_class */ static int daKytag12_Execute_R00(kytag12_class* i_this) { @@ -1646,25 +741,25 @@ static int daKytag12_Execute_R00(kytag12_class* i_this) { effect_p->field_0x24 = 1.0f; effect_p->field_0x38 = fabsf(var_f26) * 50.0f + 100.0f; } else if (i >= 1000 && i < 1500) { - effect_p->mBasePos.y = cM_rndFX(6800.0f) + -3200.0f; - effect_p->mBasePos.z = cM_rndF(480.0f) + 5350.0f; + effect_p->mBasePos.y = cM_rndF(6800.0f) + -3200.0f; + effect_p->mBasePos.z = cM_rndFX(480.0f) + 5350.0f; f32 temp_f2 = (effect_p->mBasePos.y / 1000.0f); temp_f2 = temp_f2; // fake match? idk how else to fix instruction order effect_p->mBasePos.x = temp_f2 * -200.0f + -3000.0f; effect_p->field_0x24 = 1.0f; - effect_p->field_0x38 = fabsf(var_f26) * 50.0f + 100.0f; + effect_p->field_0x38 = fabsf(var_f26) * 50.0f + 150.0f; } else if (i >= 1500 && i < 2000) { - effect_p->mBasePos.y = cM_rndFX(6800.0f) + -3200.0f; - effect_p->mBasePos.z = cM_rndF(510.0f) + 5300.0f; + effect_p->mBasePos.y = cM_rndF(6800.0f) + -3200.0f; + effect_p->mBasePos.z = cM_rndFX(510.0f) + 5300.0f; f32 temp_f2 = (effect_p->mBasePos.y / 1000.0f); temp_f2 = temp_f2; // fake match? idk how else to fix instruction order - effect_p->mBasePos.x = temp_f2 * -200.0f + -3400.0f; + effect_p->mBasePos.x = temp_f2 * -200.0f + 3400.0f; effect_p->field_0x24 = 1.0f; - effect_p->field_0x38 = fabsf(var_f26) * 50.0f + 100.0f; + effect_p->field_0x38 = fabsf(var_f26) * 50.0f + 150.0f; } else { effect_p->mBasePos.x = cM_rndFX(650.0f); effect_p->mBasePos.y = cM_rndF(3000.0f); @@ -1790,7 +885,7 @@ static int daKytag12_Execute_R00(kytag12_class* i_this) { } if (i_this->field_0x575 == 1) { - mDoAud_seStartLevel(Z2SE_OBJ_L8_B_FALL_S, &sp80, 0, 0); + mDoAud_seStart(Z2SE_OBJ_L8_B_FOG_FLY, &sp80, 0, 0); i_this->field_0x575 = 2; effect_p->mStatus = 2; effect_p->field_0x40 = 360; @@ -1877,7 +972,6 @@ static int daKytag12_Execute_R00(kytag12_class* i_this) { return 1; } - /* 8085ED48-8085EE28 003288 00E0+00 1/0 0/0 0/0 .text daKytag12_Execute__FP13kytag12_class */ static int daKytag12_Execute(kytag12_class* i_this) { fopAc_ac_c* a_this = (fopAc_ac_c*)i_this; @@ -1943,21 +1037,13 @@ static int daKytag12_Create(fopAc_ac_c* i_this) { return cPhs_COMPLEATE_e; } - -/* 8085EEF4-8085EEF8 003434 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -// cXyz::cXyz() { -extern "C" void __ct__4cXyzFv() { - /* empty function */ -} - -/* ############################################################################################## */ /* 8085F118-8085F138 -00001 0020+00 1/0 0/0 0/0 .data l_daKytag12_Method */ static actor_method_class l_daKytag12_Method = { - (process_method_func)daKytag12_Create__FP10fopAc_ac_c, - (process_method_func)daKytag12_Delete__FP13kytag12_class, - (process_method_func)daKytag12_Execute__FP13kytag12_class, - (process_method_func)daKytag12_IsDelete__FP13kytag12_class, - (process_method_func)daKytag12_Draw__FP13kytag12_class, + (process_method_func)daKytag12_Create, + (process_method_func)daKytag12_Delete, + (process_method_func)daKytag12_Execute, + (process_method_func)daKytag12_IsDelete, + (process_method_func)daKytag12_Draw, }; /* 8085F138-8085F168 -00001 0030+00 0/0 0/0 1/0 .data g_profile_KYTAG12 */ @@ -1976,4 +1062,4 @@ extern actor_process_profile_definition g_profile_KYTAG12 = { 0x00044000, // mStatus fopAc_ACTOR_e, // mActorType fopAc_CULLBOX_0_e, // cullType -};
\ No newline at end of file +}; diff --git a/src/d/actor/d_a_myna.cpp b/src/d/actor/d_a_myna.cpp index f5872aa93e..d01f64e9e7 100644 --- a/src/d/actor/d_a_myna.cpp +++ b/src/d/actor/d_a_myna.cpp @@ -583,7 +583,6 @@ void daMyna_c::attack_fly_init() { } /* 80946BF4-80946D20 001074 012C+00 1/0 0/0 0/0 .text attack_fly_move__8daMyna_cFv */ -// NONMATCHING regswap void daMyna_c::attack_fly_move() { if (daMyna_evtTagActor0 != NULL) { cXyz var1(1.0f, 1.0f, 1.0f); @@ -727,7 +726,6 @@ void daMyna_c::shopping_wait_init() { } /* 809471E8-809475B4 001668 03CC+00 1/0 0/0 0/0 .text shopping_wait_move__8daMyna_cFv */ -// NONMATCHING regswap void daMyna_c::shopping_wait_move() { if (!daPy_py_c::i_checkNowWolf()) { if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[802])) { diff --git a/src/d/actor/d_a_nbomb.cpp b/src/d/actor/d_a_nbomb.cpp index ff0fb54b3c..d10afa5648 100644 --- a/src/d/actor/d_a_nbomb.cpp +++ b/src/d/actor/d_a_nbomb.cpp @@ -6,246 +6,13 @@ #include "d/actor/d_a_nbomb.h" #include "JSystem/J3DGraphBase/J3DMaterial.h" #include "SSystem/SComponent/c_math.h" +#include "Z2AudioLib/Z2Instances.h" #include "d/actor/d_a_alink.h" #include "d/d_com_inf_game.h" #include "dol2asm.h" #include "f_op/f_op_kankyo_mng.h" #include "d/actor/d_a_mirror.h" -// -// Forward References: -// - -extern "C" void coHitCallback__9daNbomb_cFP10fopAc_ac_c(); -extern "C" static void -daNbomb_coHitCallback__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf(); -extern "C" void tgHitCallback__9daNbomb_cFP12dCcD_GObjInf(); -extern "C" void __dt__4cXyzFv(); -extern "C" static void -daNbomb_tgHitCallback__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf(); -extern "C" void searchEnemy__9daNbomb_cFP10fopAc_ac_c(); -extern "C" static void daNbomb_searchEnemy__FP10fopAc_ac_cPv(); -extern "C" void createHeap__9daNbomb_cFv(); -extern "C" void __dt__12J3DFrameCtrlFv(); -extern "C" static void daNbomb_createHeap__FP10fopAc_ac_c(); -extern "C" void create__9daNbomb_cFv(); -extern "C" void __ct__9daNbomb_cFv(); -extern "C" void __dt__8cM3dGSphFv(); -extern "C" void __dt__8cM3dGAabFv(); -extern "C" void __dt__10dCcD_GSttsFv(); -extern "C" void __dt__12dBgS_AcchCirFv(); -extern "C" void __dt__13dBgS_BombAcchFv(); -extern "C" static void daNbomb_Create__FP10fopAc_ac_c(); -extern "C" void __dt__9daNbomb_cFv(); -extern "C" static void daNbomb_Delete__FP9daNbomb_c(); -extern "C" void checkTimerStop__9daNbomb_cFv(); -extern "C" void checkExplode__9daNbomb_cFv(); -extern "C" void setRoomInfo__9daNbomb_cFv(); -extern "C" void setSmokePos__9daNbomb_cFv(); -extern "C" void setEffect__9daNbomb_cFv(); -extern "C" void setHookshotOffset__9daNbomb_cFv(); -extern "C" void setFreeze__9daNbomb_cFv(); -extern "C" void checkWaterIn__9daNbomb_cFv(); -extern "C" void insectLineCheck__9daNbomb_cFv(); -extern "C" void __dt__8cM3dGPlaFv(); -extern "C" void setHitPolygon__9daNbomb_cFi(); -extern "C" void procExplodeInit__9daNbomb_cFv(); -extern "C" void procExplode__9daNbomb_cFv(); -extern "C" void procCarryInit__9daNbomb_cFv(); -extern "C" void procCarry__9daNbomb_cFv(); -extern "C" void procWaitInit__9daNbomb_cFv(); -extern "C" void procWait__9daNbomb_cFv(); -extern "C" void procFlowerWaitInit__9daNbomb_cFv(); -extern "C" void procFlowerWait__9daNbomb_cFv(); -extern "C" void procBoomerangMoveInit__9daNbomb_cFP12dCcD_GObjInf(); -extern "C" void procBoomerangMove__9daNbomb_cFv(); -extern "C" void procInsectMoveInit__9daNbomb_cFv(); -extern "C" void procInsectMove__9daNbomb_cFv(); -extern "C" void execute__9daNbomb_cFv(); -extern "C" static void daNbomb_Execute__FP9daNbomb_c(); -extern "C" void draw__9daNbomb_cFv(); -extern "C" static void daNbomb_Draw__FP9daNbomb_c(); -extern "C" void __dt__10cCcD_GSttsFv(); -extern "C" void __sinit_d_a_nbomb_cpp(); -extern "C" static void func_804CC2B0(); -extern "C" static void func_804CC2B8(); -extern "C" void checkExplodeNow__9daNbomb_cFv(); -extern "C" void deleteBombAndEffect__9daNbomb_cFv(); -extern "C" void setCargoBombExplode__9daNbomb_cFv(); -extern "C" bool checkExplodeNow__7dBomb_cFv(); -extern "C" void deleteBombAndEffect__7dBomb_cFv(); -extern "C" void setCargoBombExplode__7dBomb_cFv(); -extern "C" extern char const* const d_a_nbomb__stringBase0; -extern "C" void* m_arcNameList__9daNbomb_c[6]; - -// -// External References: -// - -extern "C" void mDoMtx_ZXYrotM__FPA4_fsss(); -extern "C" void mDoMtx_XrotM__FPA4_fs(); -extern "C" void mDoMtx_YrotS__FPA4_fs(); -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void mDoMtx_MtxToRot__FPA4_CfP5csXyz(); -extern "C" void transS__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void transM__14mDoMtx_stack_cFfff(); -extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz(); -extern "C" void play__14mDoExt_baseAnmFv(); -extern "C" void init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb(); -extern "C" void entry__13mDoExt_bckAnmFP12J3DModelDataf(); -extern "C" void mDoExt_modelEntryDL__FP8J3DModel(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void fopAcIt_Judge__FPFPvPv_PvPv(); -extern "C" void fopAcM_delete__FP10fopAc_ac_c(); -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_posMoveF__FP10fopAc_ac_cPC4cXyz(); -extern "C" void fopAcM_cancelCarryNow__FP10fopAc_ac_c(); -extern "C" void fopAcM_getWaterStream__FPC4cXyzRC13cBgS_PolyInfoP4cXyzPii(); -extern "C" void fopAcM_getPolygonAngle__FRC13cBgS_PolyInfos(); -extern "C" void fopKyM_createWpillar__FPC4cXyzfi(); -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 entry__10daMirror_cFP8J3DModel(); -extern "C" void checkStateCarry__7dBomb_cFv(); -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 setSimple__21dDlst_shadowControl_cFP4cXyzffP4cXyzsfP9_GXTexObj(); -extern "C" void dKyw_pntwind_set__FP14WIND_INFLUENCE(); -extern "C" void dKyw_pntwind_cut__FP14WIND_INFLUENCE(); -extern "C" void StartShock__12dVibration_cFii4cXyz(); -extern "C" void LineCross__4cBgSFP11cBgS_LinChk(); -extern "C" void ChkPolySafe__4cBgSFRC13cBgS_PolyInfo(); -extern "C" void GetTriPla__4cBgSCFRC13cBgS_PolyInfoP8cM3dGPla(); -extern "C" void ChkMoveBG__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void GetPolyColor__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void GetPolyAtt0__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void GetGroundCode__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void GetRoomId__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void MoveBgTransPos__4dBgSFRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz(); -extern "C" void __ct__12dBgS_AcchCirFv(); -extern "C" void SetWall__12dBgS_AcchCirFff(); -extern "C" void __dt__9dBgS_AcchFv(); -extern "C" void __ct__9dBgS_AcchFv(); -extern "C" void Set__9dBgS_AcchFP10fopAc_ac_ciP12dBgS_AcchCir(); -extern "C" void CrrPos__9dBgS_AcchFR4dBgS(); -extern "C" void Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c(); -extern "C" void __ct__15dBgS_BombLinChkFv(); -extern "C" void __dt__15dBgS_BombLinChkFv(); -extern "C" void SetBomb__16dBgS_PolyPassChkFv(); -extern "C" void __ct__10dCcD_GSttsFv(); -extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c(); -extern "C" void __ct__12dCcD_GObjInfFv(); -extern "C" void __dt__12dCcD_GObjInfFv(); -extern "C" void Set__8dCcD_SphFRC11dCcD_SrcSph(); -extern "C" void Set__12dCcMassS_MngFP8cCcD_ObjUc(); -extern "C" void getAlinkArcName__9daAlink_cFv(); -extern "C" void getFreezeR__9daAlink_cCFv(); -extern "C" void getFreezeG__9daAlink_cCFv(); -extern "C" void getFreezeB__9daAlink_cCFv(); -extern "C" void checkIcePolygonDamage__9daAlink_cFP13cBgS_PolyInfo(); -extern "C" void getBombExplodeTime__9daAlink_cCFv(); -extern "C" void getBombGravity__9daAlink_cCFv(); -extern "C" void getBombMaxFallSpeed__9daAlink_cCFv(); -extern "C" void getBombBoundRate__9daAlink_cCFv(); -extern "C" void getBombStopSpeedY__9daAlink_cCFv(); -extern "C" void getBombMaxSpeedY__9daAlink_cCFv(); -extern "C" void getBombEffScale__9daAlink_cCFv(); -extern "C" void getBombAtR__9daAlink_cCFv(); -extern "C" void getEnemyBombColorR__9daAlink_cCFv(); -extern "C" void getBombWaterGravity__9daAlink_cCFv(); -extern "C" void getBombWaterMaxFallSpeed__9daAlink_cCFv(); -extern "C" void getBombExplodeWaterEffectLimit__9daAlink_cCFv(); -extern "C" void getBombInsectLimitAngle__9daAlink_cCFv(); -extern "C" void checkSnowCodePolygon__9daAlink_cFR13cBgS_PolyInfo(); -extern "C" void setEnemyBombHookshot__9daAlink_cFP10fopAc_ac_c(); -extern "C" void initOffset__20daPy_boomerangMove_cFPC4cXyz(); -extern "C" void posMove__20daPy_boomerangMove_cFP4cXyzPsP10fopAc_ac_cs(); -extern "C" void bgCheckAfterOffset__20daPy_boomerangMove_cFPC4cXyz(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void dKy_plight_set__FP15LIGHT_INFLUENCE(); -extern "C" void dKy_plight_cut__FP15LIGHT_INFLUENCE(); -extern "C" void dKy_actor_addcol_amb_set__Fsssf(); -extern "C" void dKy_bg_addcol_amb_set__Fsssf(); -extern "C" void dKy_actor_addcol_set__Fsssf(); -extern "C" void dKy_Sound_set__F4cXyziUii(); -extern "C" void dKy_pol_sound_get__FPC13cBgS_PolyInfo(); -extern "C" void Set__4cCcSFP8cCcD_Obj(); -extern "C" void __pl__4cXyzCFRC3Vec(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void __ml__4cXyzCFf(); -extern "C" void outprod__4cXyzCFRC3Vec(); -extern "C" void normalizeZP__4cXyzFv(); -extern "C" void atan2sX_Z__4cXyzCFv(); -extern "C" void cM_rad2s__Ff(); -extern "C" void cM_atan2s__Fff(); -extern "C" void cM_atan2f__Fff(); -extern "C" void cM_rndF__Ff(); -extern "C" void __ct__13cBgS_PolyInfoFv(); -extern "C" void __dt__13cBgS_PolyInfoFv(); -extern "C" void SetPolyInfo__13cBgS_PolyInfoFRC13cBgS_PolyInfo(); -extern "C" void __dt__8cM3dGCirFv(); -extern "C" void SetC__8cM3dGSphFRC4cXyz(); -extern "C" void SetR__8cM3dGSphFf(); -extern "C" void cLib_addCalc__FPfffff(); -extern "C" void cLib_addCalcPos__FP4cXyzRC4cXyzfff(); -extern "C" void cLib_addCalcAngleS__FPsssss(); -extern "C" void cLib_chaseF__FPfff(); -extern "C" void func_802807E0(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void __dt__14Z2SoundObjBaseFv(); -extern "C" void deleteObject__14Z2SoundObjBaseFv(); -extern "C" void __ct__16Z2SoundObjSimpleFv(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void init__12J3DFrameCtrlFs(); -extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void __ptmf_test(); -extern "C" void __ptmf_cmpr(); -extern "C" void __ptmf_scall(); -extern "C" void __cvt_fp2unsigned(); -extern "C" void _savegpr_23(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_23(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" extern void* __vt__8dCcD_Sph[36]; -extern "C" extern void* __vt__9dCcD_Stts[11]; -extern "C" extern void* __vt__12cCcD_SphAttr[25]; -extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; -extern "C" extern void* __vt__9cCcD_Stts[8]; -extern "C" extern void* __vt__16Z2SoundObjSimple[8]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" f32 Zero__4cXyz[3]; -extern "C" u8 BaseX__4cXyz[12]; -extern "C" u8 BaseY__4cXyz[12]; -extern "C" u8 BaseZ__4cXyz[12]; -extern "C" u8 sincosTable___5JMath[65536]; -extern "C" u8 mParticleTracePCB__13dPa_control_c[4 + 4 /* padding */]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; -extern "C" void __register_global_object(); - -// -// Declarations: -// - /* 804C6DCC-804C6E10 0000EC 0044+00 1/1 0/0 0/0 .text coHitCallback__9daNbomb_cFP10fopAc_ac_c */ void daNbomb_c::coHitCallback(fopAc_ac_c* i_hitActor) { if (fopAcM_GetGroup(i_hitActor) == fopAc_ENEMY_e || @@ -263,53 +30,22 @@ static void daNbomb_coHitCallback(fopAc_ac_c* i_coActorA, dCcD_GObjInf* i_coObjI ((daNbomb_c*)i_coActorA)->coHitCallback(i_coActorB); } -/* ############################################################################################## */ /* 804CC340-804CC34C 000000 000C+00 12/12 0/0 0/0 .rodata @3767 */ -SECTION_RODATA static u8 const lit_3767[12] = { +static u8 const lit_3767[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; -COMPILER_STRIP_GATE(0x804CC340, &lit_3767); /* 804CC34C-804CC358 00000C 000C+00 0/1 0/0 0/0 .rodata l_localCenterOffset */ -#pragma push -#pragma force_active on -SECTION_RODATA static Vec const l_localCenterOffset = {0.0f, 30.0f, 0.0f}; -COMPILER_STRIP_GATE(0x804CC34C, &l_localCenterOffset); -#pragma pop +static Vec const l_localCenterOffset = {0.0f, 30.0f, 0.0f}; /* 804CC358-804CC360 000018 0006+02 1/0 0/0 0/0 .rodata l_arcNameBombF */ SECTION_RODATA static char const l_arcNameBombF[] = "Bombf"; -COMPILER_STRIP_GATE(0x804CC358, &l_arcNameBombF); /* 804CC360-804CC368 000020 0005+03 1/1 0/0 0/0 .rodata l_arcNameBombE */ SECTION_RODATA static char const l_arcNameBombE[] = "E_BI"; -COMPILER_STRIP_GATE(0x804CC360, &l_arcNameBombE); /* 804CC368-804CC370 000028 0005+03 1/1 0/0 0/0 .rodata l_arcNameBombEW */ SECTION_RODATA static char const l_arcNameBombEW[] = "E_BG"; -COMPILER_STRIP_GATE(0x804CC368, &l_arcNameBombEW); - -/* 804CC370-804CC374 000030 0004+00 0/2 0/0 0/0 .rodata @4213 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4213 = 2.0f; -COMPILER_STRIP_GATE(0x804CC370, &lit_4213); -#pragma pop - -/* 804CC374-804CC378 000034 0004+00 1/6 0/0 0/0 .rodata @4214 */ -SECTION_RODATA static f32 const lit_4214 = 0.5f; -COMPILER_STRIP_GATE(0x804CC374, &lit_4214); - -/* 804CC378-804CC37C 000038 0004+00 0/3 0/0 0/0 .rodata @4215 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4215 = 10.0f; -COMPILER_STRIP_GATE(0x804CC378, &lit_4215); -#pragma pop - -/* 804CC37C-804CC380 00003C 0004+00 3/13 0/0 0/0 .rodata @4216 */ -SECTION_RODATA static f32 const lit_4216 = 1.0f; -COMPILER_STRIP_GATE(0x804CC37C, &lit_4216); /* 804C6E34-804C6F78 000154 0144+00 1/1 0/0 0/0 .text tgHitCallback__9daNbomb_cFP12dCcD_GObjInf */ void daNbomb_c::tgHitCallback(dCcD_GObjInf* i_hitObj) { @@ -343,13 +79,6 @@ void daNbomb_c::tgHitCallback(dCcD_GObjInf* i_hitObj) { } } - -/* 804C6F78-804C6FB4 000298 003C+00 1/1 0/0 0/0 .text __dt__4cXyzFv */ -// cXyz::~cXyz() { -extern "C" void __dt__4cXyzFv() { - // NONMATCHING -} - /* 804C6FB4-804C6FD8 0002D4 0024+00 1/1 0/0 0/0 .text * daNbomb_tgHitCallback__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf */ static void daNbomb_tgHitCallback(fopAc_ac_c* i_tgActor, dCcD_GObjInf* i_tgObjInf, @@ -357,30 +86,6 @@ static void daNbomb_tgHitCallback(fopAc_ac_c* i_tgActor, dCcD_GObjInf* i_tgObjIn ((daNbomb_c*)i_tgActor)->tgHitCallback(i_atObjInf); } -/* ############################################################################################## */ -/* 804CC380-804CC384 000040 0004+00 5/14 0/0 0/0 .rodata @4255 */ -SECTION_RODATA static u8 const lit_4255[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x804CC380, &lit_4255); - -/* 804CC384-804CC388 000044 0004+00 0/1 0/0 0/0 .rodata @4256 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4256 = 250000.0f; -COMPILER_STRIP_GATE(0x804CC384, &lit_4256); -#pragma pop - -/* 804CC388-804CC38C 000048 0004+00 0/4 0/0 0/0 .rodata @4257 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4257 = 100.0f; -COMPILER_STRIP_GATE(0x804CC388, &lit_4257); -#pragma pop - /* 804C6FD8-804C70C0 0002F8 00E8+00 1/1 0/0 0/0 .text searchEnemy__9daNbomb_cFP10fopAc_ac_c */ int daNbomb_c::searchEnemy(fopAc_ac_c* i_enemy) { mDoMtx_multVec(field_0xa70, &i_enemy->current.pos, &field_0xc14); @@ -399,7 +104,6 @@ int daNbomb_c::searchEnemy(fopAc_ac_c* i_enemy) { return 0; } - /* 804C70C0-804C7114 0003E0 0054+00 1/1 0/0 0/0 .text daNbomb_searchEnemy__FP10fopAc_ac_cPv */ static void* daNbomb_searchEnemy(fopAc_ac_c* i_actor, void* i_data) { if (fopAcM_GetGroup(i_actor) == fopAc_ENEMY_e && @@ -411,16 +115,6 @@ static void* daNbomb_searchEnemy(fopAc_ac_c* i_actor, void* i_data) { return NULL; } -/* ############################################################################################## */ -/* 804CC38C-804CC398 00004C 000C+00 0/1 0/0 0/0 .rodata bmdIdx$4269 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u16 const bmdIdx[6] = { - 0x001E, 0x0027, 0x0026, 0x0003, 0x000E, 0x000A, -}; -COMPILER_STRIP_GATE(0x804CC38C, &bmdIdx); -#pragma pop - /* 804CC4D8-804CC518 000000 0040+00 1/1 0/0 0/0 .data l_sphSrc */ static dCcD_SrcSph l_sphSrc = { { @@ -435,181 +129,9 @@ static dCcD_SrcSph l_sphSrc = { }; /* 804CC518-804CC530 -00001 0018+00 4/4 0/0 0/0 .data m_arcNameList__9daNbomb_c */ -SECTION_DATA const char* daNbomb_c::m_arcNameList[6] = { - NULL, NULL, NULL, l_arcNameBombF, l_arcNameBombE, l_arcNameBombEW, -}; - -/* 804CC530-804CC53C 000058 000A+02 1/1 0/0 0/0 .data enemyBombID$5072 */ -SECTION_DATA static u8 enemyBombID[10 + 2 /* padding */] = { - 0x0A, - 0x0D, - 0x0A, - 0x0E, - 0x0A, - 0x0F, - 0x0A, - 0x10, - 0x0A, - 0x11, - /* padding */ - 0x00, - 0x00, -}; - -/* 804CC53C-804CC548 -00001 000C+00 1/1 0/0 0/0 .data @5313 */ -SECTION_DATA static void* lit_5313[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procExplode__9daNbomb_cFv, -}; - -/* 804CC548-804CC554 -00001 000C+00 1/1 0/0 0/0 .data @5462 */ -SECTION_DATA static void* lit_5462[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procCarry__9daNbomb_cFv, -}; - -/* 804CC554-804CC560 -00001 000C+00 1/1 0/0 0/0 .data @5630 */ -SECTION_DATA static void* lit_5630[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procWait__9daNbomb_cFv, -}; - -/* 804CC560-804CC56C -00001 000C+00 1/1 0/0 0/0 .data @5886 */ -SECTION_DATA static void* lit_5886[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procFlowerWait__9daNbomb_cFv, -}; - -/* 804CC56C-804CC578 -00001 000C+00 1/1 0/0 0/0 .data @5921 */ -SECTION_DATA static void* lit_5921[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procBoomerangMove__9daNbomb_cFv, -}; - -/* 804CC578-804CC584 -00001 000C+00 1/1 0/0 0/0 .data @5924 */ -SECTION_DATA static void* lit_5924[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procBoomerangMove__9daNbomb_cFv, -}; - -/* 804CC584-804CC590 -00001 000C+00 1/1 0/0 0/0 .data @5987 */ -SECTION_DATA static void* lit_5987[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)procInsectMove__9daNbomb_cFv, -}; - -/* 804CC590-804CC5B0 -00001 0020+00 1/0 0/0 0/0 .data l_daNbombMethod */ -static actor_method_class l_daNbombMethod = { - (process_method_func)daNbomb_Create__FP10fopAc_ac_c, - (process_method_func)daNbomb_Delete__FP9daNbomb_c, - (process_method_func)daNbomb_Execute__FP9daNbomb_c, - 0, - (process_method_func)daNbomb_Draw__FP9daNbomb_c, -}; - -/* 804CC5B0-804CC5E0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_NBOMB */ -extern actor_process_profile_definition g_profile_NBOMB = { - fpcLy_CURRENT_e, // mLayerID - 7, // mListID - fpcPi_CURRENT_e, // mListPrio - PROC_NBOMB, // mProcName - &g_fpcLf_Method.mBase, // sub_method - 0x00000C44, // mSize - 0, // mSizeOther - 0, // mParameters - &g_fopAc_Method.base, // sub_method - 270, // mPriority - &l_daNbombMethod, // sub_method - 0x00040100, // mStatus - fopAc_ACTOR_e, // mActorType - fopAc_CULLBOX_CUSTOM_e, // cullType -}; - -/* 804CC5E0-804CC5EC 000108 000C+00 5/5 0/0 0/0 .data __vt__8cM3dGPla */ -SECTION_DATA extern void* __vt__8cM3dGPla[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGPlaFv, -}; - -/* 804CC5EC-804CC5F8 000114 000C+00 2/2 0/0 0/0 .data __vt__12dBgS_AcchCir */ -SECTION_DATA extern void* __vt__12dBgS_AcchCir[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12dBgS_AcchCirFv, -}; - -/* 804CC5F8-804CC604 000120 000C+00 3/3 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, -}; - -/* 804CC604-804CC610 00012C 000C+00 2/2 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, -}; - -/* 804CC610-804CC61C 000138 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGSph */ -SECTION_DATA extern void* __vt__8cM3dGSph[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGSphFv, -}; - -/* 804CC61C-804CC628 000144 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGAab */ -SECTION_DATA extern void* __vt__8cM3dGAab[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGAabFv, -}; - -/* 804CC628-804CC64C 000150 0024+00 3/3 0/0 0/0 .data __vt__13dBgS_BombAcch */ -SECTION_DATA extern void* __vt__13dBgS_BombAcch[9] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__13dBgS_BombAcchFv, - (void*)NULL, - (void*)NULL, - (void*)func_804CC2B8, - (void*)NULL, - (void*)NULL, - (void*)func_804CC2B0, -}; - -/* 804CC64C-804CC660 000174 0014+00 2/2 0/0 0/0 .data __vt__9daNbomb_c */ -SECTION_DATA extern void* __vt__9daNbomb_c[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)checkExplodeNow__9daNbomb_cFv, - (void*)deleteBombAndEffect__9daNbomb_cFv, - (void*)setCargoBombExplode__9daNbomb_cFv, -}; - -/* 804CC660-804CC674 000188 0014+00 2/2 0/0 0/0 .data __vt__7dBomb_c */ -SECTION_DATA extern void* __vt__7dBomb_c[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)checkExplodeNow__7dBomb_cFv, - (void*)deleteBombAndEffect__7dBomb_cFv, - (void*)setCargoBombExplode__7dBomb_cFv, -}; - -/* 804CC674-804CC680 00019C 000C+00 2/2 0/0 0/0 .data __vt__12J3DFrameCtrl */ -SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12J3DFrameCtrlFv, +const char* daNbomb_c::m_arcNameList[6] = { + daAlink_c::getAlinkArcName(), daAlink_c::getAlinkArcName(), daAlink_c::getAlinkArcName(), + l_arcNameBombF, l_arcNameBombE, l_arcNameBombEW, }; /* 804C7114-804C72BC 000434 01A8+00 1/1 0/0 0/0 .text createHeap__9daNbomb_cFv */ @@ -651,109 +173,12 @@ int daNbomb_c::createHeap() { return 1; } - -/* 804C72BC-804C7304 0005DC 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */ -// J3DFrameCtrl::~J3DFrameCtrl() { -extern "C" void __dt__12J3DFrameCtrlFv() { - // NONMATCHING -} - /* 804C7304-804C7324 000624 0020+00 1/1 0/0 0/0 .text daNbomb_createHeap__FP10fopAc_ac_c */ static int daNbomb_createHeap(fopAc_ac_c* i_this) { return ((daNbomb_c*)i_this)->createHeap(); } -/* ############################################################################################## */ -/* 804CC398-804CC3B0 000058 0018+00 0/1 0/0 0/0 .rodata heapSize$4323 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const heapSize[24] = { - 0x00, 0x00, 0x0E, 0xB0, 0x00, 0x00, 0x0E, 0xB0, 0x00, 0x00, 0x17, 0xC0, - 0x00, 0x00, 0x0E, 0xB0, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x0F, 0x90, -}; -COMPILER_STRIP_GATE(0x804CC398, &heapSize); -#pragma pop - -/* 804CC3B0-804CC3B4 000070 0004+00 2/6 0/0 0/0 .rodata @4678 */ -SECTION_RODATA static f32 const lit_4678 = 30.0f; -COMPILER_STRIP_GATE(0x804CC3B0, &lit_4678); - -/* 804CC3B4-804CC3B8 000074 0004+00 0/1 0/0 0/0 .rodata @4679 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4679 = 60.0f; -COMPILER_STRIP_GATE(0x804CC3B4, &lit_4679); -#pragma pop - -/* 804CC3B8-804CC3BC 000078 0004+00 0/1 0/0 0/0 .rodata @4680 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4680 = 10000.0f; -COMPILER_STRIP_GATE(0x804CC3B8, &lit_4680); -#pragma pop - -/* 804CC3BC-804CC3C0 00007C 0004+00 0/1 0/0 0/0 .rodata @4681 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4681 = 110.0f; -COMPILER_STRIP_GATE(0x804CC3BC, &lit_4681); -#pragma pop - -/* 804CC3C0-804CC3C4 000080 0004+00 0/2 0/0 0/0 .rodata @4682 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4682 = 0.75f; -COMPILER_STRIP_GATE(0x804CC3C0, &lit_4682); -#pragma pop - -/* 804CC3C4-804CC3C8 000084 0004+00 0/1 0/0 0/0 .rodata @4683 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4683 = 3.0f / 5.0f; -COMPILER_STRIP_GATE(0x804CC3C4, &lit_4683); -#pragma pop - -/* 804CC3C8-804CC3CC 000088 0004+00 0/4 0/0 0/0 .rodata @4684 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4684 = 5.0f; -COMPILER_STRIP_GATE(0x804CC3C8, &lit_4684); -#pragma pop - -/* 804CC3CC-804CC3D0 00008C 0004+00 0/1 0/0 0/0 .rodata @4685 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4685 = -36.0f; -COMPILER_STRIP_GATE(0x804CC3CC, &lit_4685); -#pragma pop - -/* 804CC3D0-804CC3D4 000090 0004+00 0/1 0/0 0/0 .rodata @4686 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4686 = 36.0f; -COMPILER_STRIP_GATE(0x804CC3D0, &lit_4686); -#pragma pop - -/* 804CC3D4-804CC3D8 000094 0004+00 0/1 0/0 0/0 .rodata @4687 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4687 = 66.0f; -COMPILER_STRIP_GATE(0x804CC3D4, &lit_4687); -#pragma pop - -/* 804CC3D8-804CC3E0 000098 0008+00 4/8 0/0 0/0 .rodata @4689 */ -SECTION_RODATA static u8 const lit_4689[8] = { - 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x804CC3D8, &lit_4689); - -/* 804CC4D0-804CC4D0 000190 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_804CC4D0 = "D_MN01A"; -#pragma pop - /* 804C7324-804C7B44 000644 0820+00 1/1 0/0 0/0 .text create__9daNbomb_cFv */ int daNbomb_c::create() { fopAcM_GetID(this); @@ -842,7 +267,7 @@ int daNbomb_c::create() { mExTime *= 0.75f; } - cLib_onBit<u32>(attention_info.flags, 0x80); + cLib_onBit<u32>(attention_info.flags, 0x10); fopAcM_OnCarryType(this, fopAcM_CARRY(fopAcM_CARRY_LIGHT | fopAcM_CARRY_SIDE)); field_0xb5c = shape_angle.y; @@ -959,40 +384,9 @@ int daNbomb_c::create() { return cPhs_COMPLEATE_e; } - /* 804C7B44-804C7CC8 000E64 0184+00 1/1 0/0 0/0 .text __ct__9daNbomb_cFv */ daNbomb_c::daNbomb_c() { - // NONMATCHING -} - -/* 804C7CC8-804C7D10 000FE8 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGSphFv */ -// cM3dGSph::~cM3dGSph() { -extern "C" void __dt__8cM3dGSphFv() { - // NONMATCHING -} - -/* 804C7D10-804C7D58 001030 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */ -// cM3dGAab::~cM3dGAab() { -extern "C" void __dt__8cM3dGAabFv() { - // NONMATCHING -} - -/* 804C7D58-804C7DB4 001078 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */ -// dCcD_GStts::~dCcD_GStts() { -extern "C" void __dt__10dCcD_GSttsFv() { - // NONMATCHING -} - -/* 804C7DB4-804C7E24 0010D4 0070+00 1/0 0/0 0/0 .text __dt__12dBgS_AcchCirFv */ -// dBgS_AcchCir::~dBgS_AcchCir() { -extern "C" void __dt__12dBgS_AcchCirFv() { - // NONMATCHING -} - -/* 804C7E24-804C7E94 001144 0070+00 3/2 0/0 0/0 .text __dt__13dBgS_BombAcchFv */ -// dBgS_BombAcch::~dBgS_BombAcch() { -extern "C" void __dt__13dBgS_BombAcchFv() { - // NONMATCHING + /* empty function */ } /* 804C7E94-804C7EB4 0011B4 0020+00 1/0 0/0 0/0 .text daNbomb_Create__FP10fopAc_ac_c */ @@ -1041,7 +435,6 @@ daNbomb_c::~daNbomb_c() { } } - /* 804C826C-804C8294 00158C 0028+00 1/0 0/0 0/0 .text daNbomb_Delete__FP9daNbomb_c */ static int daNbomb_Delete(daNbomb_c* i_this) { i_this->~daNbomb_c(); @@ -1056,11 +449,6 @@ bool daNbomb_c::checkTimerStop() { fopAcM_GetParam(this) == PRM_ENEMY_BOMB_BOOMERANG_MOVE); } -/* ############################################################################################## */ -/* 804CC3E0-804CC3E4 0000A0 0004+00 3/3 0/0 0/0 .rodata @5021 */ -SECTION_RODATA static f32 const lit_5021 = 1.5f; -COMPILER_STRIP_GATE(0x804CC3E0, &lit_5021); - /* 804C82D8-804C8430 0015F8 0158+00 5/5 0/0 0/0 .text checkExplode__9daNbomb_cFv */ BOOL daNbomb_c::checkExplode() { if (checkStateFlg0(daNbomb_FLG0(FLG0_UNK_800 | FLG0_FROZEN))) { @@ -1092,12 +480,6 @@ BOOL daNbomb_c::checkExplode() { return false; } - -/* ############################################################################################## */ -/* 804CC3E4-804CC3E8 0000A4 0004+00 1/2 0/0 0/0 .rodata @5036 */ -SECTION_RODATA static f32 const lit_5036 = -1000000000.0f; -COMPILER_STRIP_GATE(0x804CC3E4, &lit_5036); - /* 804C8430-804C84D8 001750 00A8+00 5/5 0/0 0/0 .text setRoomInfo__9daNbomb_cFv */ void daNbomb_c::setRoomInfo() { int room_no; @@ -1115,136 +497,34 @@ void daNbomb_c::setRoomInfo() { fopAcM_SetRoomNo(this, room_no); } - -/* ############################################################################################## */ -/* 804CC3E8-804CC3F4 0000A8 000C+00 1/1 0/0 0/0 .rodata localOffset$5044 */ -SECTION_RODATA static u8 const localOffset[12] = { - 0x00, 0x00, 0x00, 0x00, 0x42, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x804CC3E8, &localOffset); - /* 804C84D8-804C8588 0017F8 00B0+00 2/2 0/0 0/0 .text setSmokePos__9daNbomb_cFv */ void daNbomb_c::setSmokePos() { if (mType == TYPE_INSECT_ENEMY || mType == TYPE_WATER_ENEMY) { mDoMtx_multVecZero(mpModel->getBaseTRMtx(), &mEffectPosition); } else { - static Vec localOffset = {0.0f, 60.0f, 0.0f}; + static Vec const localOffset = {0.0f, 60.0f, 0.0f}; mDoMtx_multVec(mpModel->getBaseTRMtx(), &localOffset, &mEffectPosition); } field_0xbe4 = (mEffectPosition - mEffectLastPosition) * 0.5f; } - -/* ############################################################################################## */ -/* 804CC3F4-804CC3F8 0000B4 0004+00 1/1 0/0 0/0 .rodata @5143 */ -SECTION_RODATA static f32 const lit_5143 = 9.0f / 5.0f; -COMPILER_STRIP_GATE(0x804CC3F4, &lit_5143); - -/* 804CC688-804CC68C 000008 0001+03 1/1 0/0 0/0 .bss @1109 */ -static u8 lit_1109[1 + 3 /* padding */]; - -/* 804CC68C-804CC690 00000C 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 - -/* 804CC690-804CC694 000010 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 - -/* 804CC694-804CC698 000014 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 - -/* 804CC698-804CC69C 000018 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 - -/* 804CC69C-804CC6A0 00001C 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 - -/* 804CC6A0-804CC6A4 000020 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 - -/* 804CC6A4-804CC6A8 000024 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 - -/* 804CC6A8-804CC6AC 000028 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 - -/* 804CC6AC-804CC6B0 00002C 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 - -/* 804CC6B0-804CC6B4 000030 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 - -/* 804CC6B4-804CC6B8 000034 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 - -/* 804CC6B8-804CC6BC 000038 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 - -/* 804CC6BC-804CC6C0 00003C 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 - -/* 804CC6C0-804CC6C4 000040 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 - -/* 804CC6C4-804CC6C8 000044 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 - -/* 804CC6C8-804CC6D8 000048 000C+04 0/1 0/0 0/0 .bss @5069 */ -#pragma push -#pragma force_active on -static u8 lit_5069[12 + 4 /* padding */]; -#pragma pop - -/* 804CC6D8-804CC6E4 000058 000C+00 0/1 0/0 0/0 .bss effectScale$5068 */ -#pragma push -#pragma force_active on -static u8 effectScale[12]; -#pragma pop +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) /* 804C8588-804C87F0 0018A8 0268+00 1/1 0/0 0/0 .text setEffect__9daNbomb_cFv */ void daNbomb_c::setEffect() { @@ -1285,7 +565,6 @@ void daNbomb_c::setEffect() { } } - /* 804C87F0-804C88CC 001B10 00DC+00 2/2 0/0 0/0 .text setHookshotOffset__9daNbomb_cFv */ void daNbomb_c::setHookshotOffset() { daAlink_c* player = daAlink_getAlinkActorClass(); @@ -1300,7 +579,6 @@ void daNbomb_c::setHookshotOffset() { offStateFlg0(FLG0_SET_HOOKSHOT_OFFSET); } - /* 804C88CC-804C88F0 001BEC 0024+00 2/2 0/0 0/0 .text setFreeze__9daNbomb_cFv */ void daNbomb_c::setFreeze() { if (!checkStateFlg0(FLG0_FROZEN)) { @@ -1314,12 +592,6 @@ BOOL daNbomb_c::checkWaterIn() { return mAcch.ChkWaterHit() && current.pos.y + 30.0f < mAcch.m_wtr.GetHeight(); } - -/* ############################################################################################## */ -/* 804CC3F8-804CC3FC 0000B8 0004+00 1/1 0/0 0/0 .rodata @5214 */ -SECTION_RODATA static u32 const lit_5214 = 0x43360B61; -COMPILER_STRIP_GATE(0x804CC3F8, &lit_5214); - /* 804C8928-804C8A40 001C48 0118+00 3/3 0/0 0/0 .text insectLineCheck__9daNbomb_cFv */ int daNbomb_c::insectLineCheck() { if (dComIfG_Bgsp().LineCross(&mLineChk)) { @@ -1340,20 +612,6 @@ int daNbomb_c::insectLineCheck() { return 0; } - -/* 804C8A40-804C8A88 001D60 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGPlaFv */ -// cM3dGPla::~cM3dGPla() { -extern "C" void __dt__8cM3dGPlaFv(){// NONMATCHING -} - -/* ############################################################################################## */ -/* 804CC3FC-804CC400 0000BC 0004+00 0/2 0/0 0/0 .rodata @5289 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_5289 = 0x3F7FBE77; -COMPILER_STRIP_GATE(0x804CC3FC, &lit_5289); -#pragma pop - /* 804C8A88-804C8CF8 001DA8 0270+00 2/2 0/0 0/0 .text setHitPolygon__9daNbomb_cFi */ void daNbomb_c::setHitPolygon(BOOL param_0) { if (!param_0) { @@ -1399,110 +657,6 @@ void daNbomb_c::setHitPolygon(BOOL param_0) { mDoMtx_inverse(mpModel->getBaseTRMtx(), field_0xa70); } - -/* ############################################################################################## */ -/* 804CC400-804CC414 0000C0 0012+02 0/1 0/0 0/0 .rodata normalNameID$5297 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const normalNameID[18 + 2 /* padding */] = { - 0x01, - 0x61, - 0x01, - 0x62, - 0x01, - 0x63, - 0x01, - 0x64, - 0x01, - 0x65, - 0x01, - 0x66, - 0x01, - 0x67, - 0x01, - 0x68, - 0x01, - 0xEC, - /* padding */ - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x804CC400, &normalNameID); -#pragma pop - -/* 804CC414-804CC424 0000D4 0010+00 0/1 0/0 0/0 .rodata waterNameID$5298 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const waterNameID[16] = { - 0x0A, 0x05, 0x0A, 0x06, 0x0A, 0x07, 0x0A, 0x08, 0x0A, 0x09, 0x0A, 0x0A, 0x0A, 0x0B, 0x0A, 0x0C, -}; -COMPILER_STRIP_GATE(0x804CC414, &waterNameID); -#pragma pop - -/* 804CC424-804CC438 0000E4 0012+02 0/1 0/0 0/0 .rodata waterNameID2$5299 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const waterNameID2[18 + 2 /* padding */] = { - 0x09, - 0xFC, - 0x09, - 0xFD, - 0x09, - 0xFE, - 0x09, - 0xFF, - 0x0A, - 0x00, - 0x0A, - 0x01, - 0x0A, - 0x02, - 0x0A, - 0x03, - 0x0A, - 0x04, - /* padding */ - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x804CC424, &waterNameID2); -#pragma pop - -/* 804CC438-804CC43C 0000F8 0004+00 0/2 0/0 0/0 .rodata @5400 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5400 = 65536.0f; -COMPILER_STRIP_GATE(0x804CC438, &lit_5400); -#pragma pop - -/* 804CC43C-804CC440 0000FC 0004+00 0/1 0/0 0/0 .rodata @5401 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5401 = 600.0f; -COMPILER_STRIP_GATE(0x804CC43C, &lit_5401); -#pragma pop - -/* 804CC440-804CC444 000100 0004+00 0/1 0/0 0/0 .rodata @5402 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5402 = 500.0f; -COMPILER_STRIP_GATE(0x804CC440, &lit_5402); -#pragma pop - -/* 804CC444-804CC448 000104 0004+00 0/1 0/0 0/0 .rodata @5403 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5403 = 160000.0f; -COMPILER_STRIP_GATE(0x804CC444, &lit_5403); -#pragma pop - -/* 804CC448-804CC44C 000108 0004+00 0/1 0/0 0/0 .rodata @5404 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5404 = 640000.0f; -COMPILER_STRIP_GATE(0x804CC448, &lit_5404); -#pragma pop - /* 804C8CF8-804C9118 002018 0420+00 5/5 0/0 0/0 .text procExplodeInit__9daNbomb_cFv */ BOOL daNbomb_c::procExplodeInit() { fopAcM_OnStatus(this, 0x20000); @@ -1605,67 +759,6 @@ BOOL daNbomb_c::procExplodeInit() { return true; } - -/* ############################################################################################## */ -/* 804CC44C-804CC450 00010C 0004+00 0/1 0/0 0/0 .rodata @5451 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5451 = 1500.0f; -COMPILER_STRIP_GATE(0x804CC44C, &lit_5451); -#pragma pop - -/* 804CC450-804CC458 000110 0008+00 0/4 0/0 0/0 .rodata @5452 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5452[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x804CC450, &lit_5452); -#pragma pop - -/* 804CC458-804CC460 000118 0008+00 0/4 0/0 0/0 .rodata @5453 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5453[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x804CC458, &lit_5453); -#pragma pop - -/* 804CC460-804CC468 000120 0008+00 0/4 0/0 0/0 .rodata @5454 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5454[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x804CC460, &lit_5454); -#pragma pop - -/* 804CC468-804CC46C 000128 0004+00 0/1 0/0 0/0 .rodata @5455 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5455 = 1.0f / 50.0f; -COMPILER_STRIP_GATE(0x804CC468, &lit_5455); -#pragma pop - -/* 804CC46C-804CC470 00012C 0004+00 0/1 0/0 0/0 .rodata @5456 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5456 = 99.0f / 100.0f; -COMPILER_STRIP_GATE(0x804CC46C, &lit_5456); -#pragma pop - -/* 804CC470-804CC474 000130 0004+00 0/1 0/0 0/0 .rodata @5457 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5457 = 0.25f; -COMPILER_STRIP_GATE(0x804CC470, &lit_5457); -#pragma pop - -/* 804CC474-804CC478 000134 0004+00 2/4 0/0 0/0 .rodata @5458 */ -SECTION_RODATA static f32 const lit_5458 = 1.0f / 10.0f; -COMPILER_STRIP_GATE(0x804CC474, &lit_5458); - /* 804C9118-804C93E0 002438 02C8+00 1/0 0/0 0/0 .text procExplode__9daNbomb_cFv */ BOOL daNbomb_c::procExplode() { camera_class* camera = dComIfGp_getCamera(0); @@ -1718,7 +811,6 @@ BOOL daNbomb_c::procExplode() { return true; } - /* 804C93E0-804C955C 002700 017C+00 6/6 0/0 0/0 .text procCarryInit__9daNbomb_cFv */ BOOL daNbomb_c::procCarryInit() { mProcFunc = &procCarry; @@ -1747,7 +839,6 @@ BOOL daNbomb_c::procCarryInit() { return true; } - /* 804C955C-804C9930 00287C 03D4+00 1/0 0/0 0/0 .text procCarry__9daNbomb_cFv */ BOOL daNbomb_c::procCarry() { daAlink_c* player = daAlink_getAlinkActorClass(); @@ -1822,7 +913,6 @@ BOOL daNbomb_c::procCarry() { return true; } - /* 804C9930-804C9984 002C50 0054+00 4/4 0/0 0/0 .text procWaitInit__9daNbomb_cFv */ BOOL daNbomb_c::procWaitInit() { if (fopAcM_GetParam(this) == PRM_BOMB_CARRY) { @@ -1835,70 +925,6 @@ BOOL daNbomb_c::procWaitInit() { return true; } - -/* ############################################################################################## */ -/* 804CC478-804CC47C 000138 0004+00 0/1 0/0 0/0 .rodata @5873 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5873 = 300.0f; -COMPILER_STRIP_GATE(0x804CC478, &lit_5873); -#pragma pop - -/* 804CC47C-804CC480 00013C 0004+00 0/1 0/0 0/0 .rodata @5874 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5874 = -20.0f; -COMPILER_STRIP_GATE(0x804CC47C, &lit_5874); -#pragma pop - -/* 804CC480-804CC484 000140 0004+00 0/1 0/0 0/0 .rodata @5875 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5875 = 7.0f / 10.0f; -COMPILER_STRIP_GATE(0x804CC480, &lit_5875); -#pragma pop - -/* 804CC484-804CC488 000144 0004+00 0/1 0/0 0/0 .rodata @5876 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5876 = 16384.0f; -COMPILER_STRIP_GATE(0x804CC484, &lit_5876); -#pragma pop - -/* 804CC488-804CC48C 000148 0004+00 0/2 0/0 0/0 .rodata @5877 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5877 = -1.0f; -COMPILER_STRIP_GATE(0x804CC488, &lit_5877); -#pragma pop - -/* 804CC48C-804CC490 00014C 0004+00 0/1 0/0 0/0 .rodata @5878 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5878 = 7.0f; -COMPILER_STRIP_GATE(0x804CC48C, &lit_5878); -#pragma pop - -/* 804CC490-804CC494 000150 0004+00 0/1 0/0 0/0 .rodata @5879 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5879 = 9.0f / 10.0f; -COMPILER_STRIP_GATE(0x804CC490, &lit_5879); -#pragma pop - -/* 804CC494-804CC498 000154 0004+00 1/2 0/0 0/0 .rodata @5880 */ -SECTION_RODATA static f32 const lit_5880 = 20.0f; -COMPILER_STRIP_GATE(0x804CC494, &lit_5880); - -/* 804CC498-804CC4A0 000158 0008+00 0/1 0/0 0/0 .rodata @5882 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5882[8] = { - 0x43, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x804CC498, &lit_5882); -#pragma pop - /* 804C9984-804CA268 002CA4 08E4+00 2/1 0/0 0/0 .text procWait__9daNbomb_cFv */ BOOL daNbomb_c::procWait() { if (checkExplode()) { @@ -2090,7 +1116,6 @@ BOOL daNbomb_c::procWait() { return true; } - /* 804CA268-804CA2EC 003588 0084+00 1/1 0/0 0/0 .text procFlowerWaitInit__9daNbomb_cFv */ BOOL daNbomb_c::procFlowerWaitInit() { mProcFunc = &procFlowerWait; @@ -2104,7 +1129,6 @@ BOOL daNbomb_c::procFlowerWaitInit() { return true; } - /* 804CA2EC-804CA3B8 00360C 00CC+00 1/0 0/0 0/0 .text procFlowerWait__9daNbomb_cFv */ BOOL daNbomb_c::procFlowerWait() { if (scale.x < 1.0f) { @@ -2129,7 +1153,6 @@ BOOL daNbomb_c::procFlowerWait() { return true; } - /* 804CA3B8-804CA4E0 0036D8 0128+00 2/2 0/0 0/0 .text * procBoomerangMoveInit__9daNbomb_cFP12dCcD_GObjInf */ BOOL daNbomb_c::procBoomerangMoveInit(dCcD_GObjInf* unused) { @@ -2137,7 +1160,7 @@ BOOL daNbomb_c::procBoomerangMoveInit(dCcD_GObjInf* unused) { return false; } - mProcFunc = procBoomerangMove; + mProcFunc = &procBoomerangMove; if (fopAcM_GetParam(this) == PRM_FLOWER_BOMB || fopAcM_GetParam(this) == PRM_ENEMY_BOMB_BOOMERANG) @@ -2158,7 +1181,6 @@ BOOL daNbomb_c::procBoomerangMoveInit(dCcD_GObjInf* unused) { return true; } - /* 804CA4E0-804CA688 003800 01A8+00 2/0 0/0 0/0 .text procBoomerangMove__9daNbomb_cFv */ BOOL daNbomb_c::procBoomerangMove() { if (checkExplode()) { @@ -2208,12 +1230,6 @@ BOOL daNbomb_c::procBoomerangMove() { return true; } - -/* ############################################################################################## */ -/* 804CC4A0-804CC4A4 000160 0004+00 1/1 0/0 0/0 .rodata @6001 */ -SECTION_RODATA static f32 const lit_6001 = 3.0f; -COMPILER_STRIP_GATE(0x804CC4A0, &lit_6001); - /* 804CA688-804CA780 0039A8 00F8+00 2/2 0/0 0/0 .text procInsectMoveInit__9daNbomb_cFv */ BOOL daNbomb_c::procInsectMoveInit() { mProcFunc = &procInsectMove; @@ -2233,50 +1249,6 @@ BOOL daNbomb_c::procInsectMoveInit() { return true; } - -/* ############################################################################################## */ -/* 804CC4A4-804CC4A8 000164 0004+00 0/1 0/0 0/0 .rodata @6207 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6207 = 50.0f; -COMPILER_STRIP_GATE(0x804CC4A4, &lit_6207); -#pragma pop - -/* 804CC4A8-804CC4AC 000168 0004+00 0/1 0/0 0/0 .rodata @6208 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6208 = 1.0f / 5.0f; -COMPILER_STRIP_GATE(0x804CC4A8, &lit_6208); -#pragma pop - -/* 804CC4AC-804CC4B0 00016C 0004+00 0/1 0/0 0/0 .rodata @6209 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_6209 = 0x3DB2B8C3; -COMPILER_STRIP_GATE(0x804CC4AC, &lit_6209); -#pragma pop - -/* 804CC4B0-804CC4B4 000170 0004+00 0/1 0/0 0/0 .rodata @6210 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_6210 = 0x3C0EFA36; -COMPILER_STRIP_GATE(0x804CC4B0, &lit_6210); -#pragma pop - -/* 804CC4B4-804CC4B8 000174 0004+00 0/3 0/0 0/0 .rodata @6211 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6211 = 25.0f; -COMPILER_STRIP_GATE(0x804CC4B4, &lit_6211); -#pragma pop - -/* 804CC4B8-804CC4BC 000178 0004+00 0/1 0/0 0/0 .rodata @6212 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6212 = 8.0f; -COMPILER_STRIP_GATE(0x804CC4B8, &lit_6212); -#pragma pop - /* 804CA780-804CAEE8 003AA0 0768+00 2/1 0/0 0/0 .text procInsectMove__9daNbomb_cFv */ BOOL daNbomb_c::procInsectMove() { if (mNoHitPlayerTimer != 0) { @@ -2327,12 +1299,13 @@ BOOL daNbomb_c::procInsectMove() { f32 var_f29 = cM_atan2f(JMAFastSqrt(1.0f - (var_f30 * var_f30)), var_f30); f32 var_f31 = var_f29 * 0.2f; - if (var_f31 > DEG_TO_RAD(5.0f)) { - var_f31 = DEG_TO_RAD(5.0f); - } else if (var_f31 < (DEG_TO_RAD(5.0f) * 0.1f)) { - var_f31 = DEG_TO_RAD(5.0f) * 0.1f; + // The number 0.08726647f should be DEG_TO_RAD(5.0f) but that rounds wrong + if (var_f31 > 0.08726647f) { + var_f31 = 0.08726647f; + } else if (var_f31 < (0.08726647f * 0.1f)) { + var_f31 = 0.08726647f * 0.1f; - if (DEG_TO_RAD(5.0f) * 0.1f > var_f29) { + if (0.08726647f * 0.1f > var_f29) { var_f31 = var_f29; } } @@ -2410,29 +1383,6 @@ BOOL daNbomb_c::procInsectMove() { return true; } - -/* ############################################################################################## */ -/* 804CC4BC-804CC4C0 00017C 0004+00 0/1 0/0 0/0 .rodata @6601 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6601 = 1.0f / 40.0f; -COMPILER_STRIP_GATE(0x804CC4BC, &lit_6601); -#pragma pop - -/* 804CC4C0-804CC4C4 000180 0004+00 0/1 0/0 0/0 .rodata @6602 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6602 = 180.0f; -COMPILER_STRIP_GATE(0x804CC4C0, &lit_6602); -#pragma pop - -/* 804CC4C4-804CC4C8 000184 0004+00 0/1 0/0 0/0 .rodata @6603 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6603 = -25.0f; -COMPILER_STRIP_GATE(0x804CC4C4, &lit_6603); -#pragma pop - /* 804CAEE8-804CBC40 004208 0D58+00 1/1 0/0 0/0 .text execute__9daNbomb_cFv */ int daNbomb_c::execute() { if (!checkStateFlg0(FLG0_UNK_2000)) { @@ -2681,21 +1631,6 @@ static int daNbomb_Execute(daNbomb_c* i_this) { return i_this->execute(); } -/* ############################################################################################## */ -/* 804CC4C8-804CC4CC 000188 0004+00 0/1 0/0 0/0 .rodata @6782 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_6782 = 0x40490FDB; -COMPILER_STRIP_GATE(0x804CC4C8, &lit_6782); -#pragma pop - -/* 804CC4CC-804CC4D0 00018C 0004+00 0/1 0/0 0/0 .rodata @6783 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6783 = 15.0f; -COMPILER_STRIP_GATE(0x804CC4CC, &lit_6783); -#pragma pop - /* 804CBC60-804CC200 004F80 05A0+00 1/1 0/0 0/0 .text draw__9daNbomb_cFv */ int daNbomb_c::draw() { g_env_light.settingTevStruct(0, ¤t.pos, &tevStr); @@ -2805,246 +1740,31 @@ static int daNbomb_Draw(daNbomb_c* i_this) { return i_this->draw(); } -/* 804CC220-804CC268 005540 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */ -// cCcD_GStts::~cCcD_GStts() { -extern "C" void __dt__10cCcD_GSttsFv() { - // NONMATCHING -} - -/* 804CC268-804CC2B0 005588 0048+00 0/0 1/0 0/0 .text __sinit_d_a_nbomb_cpp */ -void __sinit_d_a_nbomb_cpp(){// NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x804CC268, __sinit_d_a_nbomb_cpp); -#pragma pop - -/* 804CC2B0-804CC2B8 0055D0 0008+00 1/0 0/0 0/0 .text @36@__dt__13dBgS_BombAcchFv */ -static void func_804CC2B0() { - // NONMATCHING -} - -/* 804CC2B8-804CC2C0 0055D8 0008+00 1/0 0/0 0/0 .text @20@__dt__13dBgS_BombAcchFv */ -static void func_804CC2B8() { - // NONMATCHING -} - -/* 804CC2C0-804CC2D4 0055E0 0014+00 1/0 0/0 0/0 .text checkExplodeNow__9daNbomb_cFv */ -// void daNbomb_c::checkExplodeNow() { -extern "C" void checkExplodeNow__9daNbomb_cFv() { - // NONMATCHING -} - -/* 804CC2D4-804CC30C 0055F4 0038+00 1/0 0/0 0/0 .text deleteBombAndEffect__9daNbomb_cFv - */ -// void daNbomb_c::deleteBombAndEffect() { -extern "C" void deleteBombAndEffect__9daNbomb_cFv() { - // NONMATCHING -} - -/* 804CC30C-804CC31C 00562C 0010+00 1/0 0/0 0/0 .text setCargoBombExplode__9daNbomb_cFv - */ -// void daNbomb_c::setCargoBombExplode() { -extern "C" void setCargoBombExplode__9daNbomb_cFv() { - // NONMATCHING -} - -/* 804CC31C-804CC324 00563C 0008+00 1/0 0/0 0/0 .text checkExplodeNow__7dBomb_cFv */ -// bool dBomb_c::checkExplodeNow() { -extern "C" bool checkExplodeNow__7dBomb_cFv() { - return false; -} - -/* 804CC324-804CC328 005644 0004+00 1/0 0/0 0/0 .text deleteBombAndEffect__7dBomb_cFv */ -// void dBomb_c::deleteBombAndEffect() { -extern "C" void deleteBombAndEffect__7dBomb_cFv() { - /* empty function */ -} - -/* 804CC328-804CC32C 005648 0004+00 1/0 0/0 0/0 .text setCargoBombExplode__7dBomb_cFv */ -// void dBomb_c::setCargoBombExplode() { -extern "C" void setCargoBombExplode__7dBomb_cFv() { - /* empty function */ -} - -/* ############################################################################################## */ -/* 804CC6E4-804CC6E8 000064 0004+00 0/0 0/0 0/0 .bss - * sInstance__40JASGlobalInstance<19JASDefaultBankTable> */ -#pragma push -#pragma force_active on -static u8 data_804CC6E4[4]; -#pragma pop - -/* 804CC6E8-804CC6EC 000068 0004+00 0/0 0/0 0/0 .bss - * sInstance__35JASGlobalInstance<14JASAudioThread> */ -#pragma push -#pragma force_active on -static u8 data_804CC6E8[4]; -#pragma pop - -/* 804CC6EC-804CC6F0 00006C 0004+00 0/0 0/0 0/0 .bss sInstance__27JASGlobalInstance<7Z2SeMgr> */ -#pragma push -#pragma force_active on -static u8 data_804CC6EC[4]; -#pragma pop - -/* 804CC6F0-804CC6F4 000070 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8Z2SeqMgr> */ -#pragma push -#pragma force_active on -static u8 data_804CC6F0[4]; -#pragma pop - -/* 804CC6F4-804CC6F8 000074 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SceneMgr> - */ -#pragma push -#pragma force_active on -static u8 data_804CC6F4[4]; -#pragma pop - -/* 804CC6F8-804CC6FC 000078 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2StatusMgr> - */ -#pragma push -#pragma force_active on -static u8 data_804CC6F8[4]; -#pragma pop +AUDIO_INSTANCES; -/* 804CC6FC-804CC700 00007C 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2DebugSys> - */ -#pragma push -#pragma force_active on -static u8 data_804CC6FC[4]; -#pragma pop - -/* 804CC700-804CC704 000080 0004+00 0/0 0/0 0/0 .bss - * sInstance__36JASGlobalInstance<15JAISoundStarter> */ -#pragma push -#pragma force_active on -static u8 data_804CC700[4]; -#pragma pop - -/* 804CC704-804CC708 000084 0004+00 0/0 0/0 0/0 .bss - * sInstance__35JASGlobalInstance<14Z2SoundStarter> */ -#pragma push -#pragma force_active on -static u8 data_804CC704[4]; -#pragma pop - -/* 804CC708-804CC70C 000088 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12Z2SpeechMgr2> */ -#pragma push -#pragma force_active on -static u8 data_804CC708[4]; -#pragma pop - -/* 804CC70C-804CC710 00008C 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8JAISeMgr> */ -#pragma push -#pragma force_active on -static u8 data_804CC70C[4]; -#pragma pop - -/* 804CC710-804CC714 000090 0004+00 0/0 0/0 0/0 .bss sInstance__29JASGlobalInstance<9JAISeqMgr> */ -#pragma push -#pragma force_active on -static u8 data_804CC710[4]; -#pragma pop - -/* 804CC714-804CC718 000094 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAIStreamMgr> */ -#pragma push -#pragma force_active on -static u8 data_804CC714[4]; -#pragma pop - -/* 804CC718-804CC71C 000098 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SoundMgr> - */ -#pragma push -#pragma force_active on -static u8 data_804CC718[4]; -#pragma pop - -/* 804CC71C-804CC720 00009C 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAISoundInfo> */ -#pragma push -#pragma force_active on -static u8 data_804CC71C[4]; -#pragma pop - -/* 804CC720-804CC724 0000A0 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13JAUSoundTable> */ -#pragma push -#pragma force_active on -static u8 data_804CC720[4]; -#pragma pop - -/* 804CC724-804CC728 0000A4 0004+00 0/0 0/0 0/0 .bss - * sInstance__38JASGlobalInstance<17JAUSoundNameTable> */ -#pragma push -#pragma force_active on -static u8 data_804CC724[4]; -#pragma pop - -/* 804CC728-804CC72C 0000A8 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAUSoundInfo> */ -#pragma push -#pragma force_active on -static u8 data_804CC728[4]; -#pragma pop - -/* 804CC72C-804CC730 0000AC 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SoundInfo> - */ -#pragma push -#pragma force_active on -static u8 data_804CC72C[4]; -#pragma pop - -/* 804CC730-804CC734 0000B0 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13Z2SoundObjMgr> */ -#pragma push -#pragma force_active on -static u8 data_804CC730[4]; -#pragma pop - -/* 804CC734-804CC738 0000B4 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2Audience> - */ -#pragma push -#pragma force_active on -static u8 data_804CC734[4]; -#pragma pop - -/* 804CC738-804CC73C 0000B8 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2FxLineMgr> - */ -#pragma push -#pragma force_active on -static u8 data_804CC738[4]; -#pragma pop - -/* 804CC73C-804CC740 0000BC 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2EnvSeMgr> - */ -#pragma push -#pragma force_active on -static u8 data_804CC73C[4]; -#pragma pop +/* 804CC590-804CC5B0 -00001 0020+00 1/0 0/0 0/0 .data l_daNbombMethod */ +static actor_method_class l_daNbombMethod = { + (process_method_func)daNbomb_Create, + (process_method_func)daNbomb_Delete, + (process_method_func)daNbomb_Execute, + 0, + (process_method_func)daNbomb_Draw, +}; -/* 804CC740-804CC744 0000C0 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SpeechMgr> - */ -#pragma push -#pragma force_active on -static u8 data_804CC740[4]; -#pragma pop - -/* 804CC744-804CC748 0000C4 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13Z2WolfHowlMgr> */ -#pragma push -#pragma force_active on -static u8 data_804CC744[4]; -#pragma pop - -/* 804CC748-804CC74C 0000C8 0004+00 0/0 0/0 0/0 .bss - * sInstance__35JASGlobalInstance<14JAUSectionHeap> */ -#pragma push -#pragma force_active on -static u8 data_804CC748[4]; -#pragma pop - -/* 804CC4D0-804CC4D0 000190 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
\ No newline at end of file +/* 804CC5B0-804CC5E0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_NBOMB */ +extern actor_process_profile_definition g_profile_NBOMB = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_NBOMB, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daNbomb_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 270, // mPriority + &l_daNbombMethod, // sub_method + 0x00040100, // mStatus + fopAc_ACTOR_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType +}; diff --git a/src/d/actor/d_a_obj_eff.cpp b/src/d/actor/d_a_obj_eff.cpp index c4fc4b9b19..dd24c13781 100644 --- a/src/d/actor/d_a_obj_eff.cpp +++ b/src/d/actor/d_a_obj_eff.cpp @@ -13,9 +13,8 @@ int daObjEff::Act_c::_create() { fopAcM_SetupActor(this, Act_c); if (daObj::PrmAbstract<Act_c::Prm_e>(this, PRM_8, PRM_0) == 3) { - s32 roomNo = fopAcM_GetRoomNo(this); dComIfGp_particle_setColor(0x00E7, ¤t.pos, NULL, NULL, NULL, 0.0f, 55, NULL, &scale, - NULL, roomNo, &scale); + NULL, fopAcM_GetRoomNo(this), &scale); } return cPhs_ERROR_e; @@ -84,4 +83,4 @@ extern actor_process_profile_definition g_profile_Obj_Eff = { 0x40000, fopAc_ACTOR_e, fopAc_CULLBOX_0_e, -};
\ No newline at end of file +}; diff --git a/src/d/actor/d_a_obj_enemy_create.cpp b/src/d/actor/d_a_obj_enemy_create.cpp index bee3faddae..fe0582a2b0 100644 --- a/src/d/actor/d_a_obj_enemy_create.cpp +++ b/src/d/actor/d_a_obj_enemy_create.cpp @@ -36,11 +36,11 @@ void daObjE_CREATE_c::NormalAction() { // this was probably supposed to be: // "cLib_offsetPos(¤t.pos, ¤t.pos, angle, &offsetPos)" cLib_offsetPos(&offsetPos, ¤t.pos, angle, &offsetPos); - s8 roomNo = fopAcM_GetRoomNo(this); mActorList[i] = fopAcM_createChild(mEnemyProcName, fopAcM_GetID(this), mEnemyParams, - ¤t.pos, roomNo, &mEnemyAngle, NULL, -1, NULL); + ¤t.pos, fopAcM_GetRoomNo(this), &mEnemyAngle, + NULL, -1, NULL); } mActionMode++; mKillCheckDelayTimer = 50; @@ -285,4 +285,4 @@ extern actor_process_profile_definition g_profile_Obj_E_CREATE = { 0x40000, fopAc_ACTOR_e, fopAc_CULLBOX_CUSTOM_e, -};
\ No newline at end of file +}; diff --git a/src/d/actor/d_a_obj_firepillar2.cpp b/src/d/actor/d_a_obj_firepillar2.cpp index 2e88f96bf4..bb75c27337 100644 --- a/src/d/actor/d_a_obj_firepillar2.cpp +++ b/src/d/actor/d_a_obj_firepillar2.cpp @@ -121,12 +121,10 @@ int daObjFPillar2_c::Create() { fopAcM_SetMtx(this, mMtx); mSoundObj.init(&mSoundPos, 1); if (getKind() == KIND_PIPE_FIRE) { - s32 roomNo = fopAcM_GetRoomNo(this); field_0x980 = dComIfGp_particle_set(0x84df, ¤t.pos, ¤t.angle, 0, 0xff, 0, - roomNo, 0, 0, 0); - roomNo = fopAcM_GetRoomNo(this); + fopAcM_GetRoomNo(this), 0, 0, 0); field_0x984 = dComIfGp_particle_set(0x84e0, ¤t.pos, ¤t.angle, 0, 0xff, 0, - roomNo, 0, 0, 0); + fopAcM_GetRoomNo(this), 0, 0, 0); } actionOffInit(); return 1; @@ -322,16 +320,15 @@ void daObjFPillar2_c::actionOff() { void daObjFPillar2_c::actionOnWaitInit() { if (getKind() == KIND_PIPE_FIRE) { for (int i = 0; i < 3; i++) { - s32 roomNo = fopAcM_GetRoomNo(this); - mPipeFireEmitters[i] = dComIfGp_particle_set( - l_pipe_fire_id[i], ¤t.pos, ¤t.angle, 0, 0xff, 0, roomNo, 0, 0, 0); + mPipeFireEmitters[i] = dComIfGp_particle_set(l_pipe_fire_id[i], ¤t.pos, + ¤t.angle, 0, 0xff, 0, + fopAcM_GetRoomNo(this), 0, 0, 0); } } else { if (getKind() == KIND_MAGMA_POLE) { for (int i = 0; i < 3; i++) { - s32 roomNo = fopAcM_GetRoomNo(this); dComIfGp_particle_set(l_yogan_foot_id[i], ¤t.pos, ¤t.angle, - &mYoganScale, 0xff, 0, roomNo, 0, 0, 0); + &mYoganScale, 0xff, 0, fopAcM_GetRoomNo(this), 0, 0, 0); } } } @@ -373,10 +370,9 @@ void daObjFPillar2_c::actionOnWait() { void daObjFPillar2_c::actionOnInit() { if (getKind() == KIND_MAGMA_POLE) { for (int i = 0; i < 3; i++) { - s32 roomNo = fopAcM_GetRoomNo((fopAc_ac_c*)this); mMagmaPoleEmitters[i] = dComIfGp_particle_set( l_yogan_head_id[getSize()][i], - ¤t.pos, ¤t.angle, 0, 0xff, 0, roomNo, 0, 0, 0); + ¤t.pos, ¤t.angle, 0, 0xff, 0, fopAcM_GetRoomNo(this), 0, 0, 0); if (mMagmaPoleEmitters[i] != NULL) { mMagmaPoleEmitters[i]->becomeImmortalEmitter(); mMagmaPoleEmitters[i]->setGlobalRTMatrix(mModel->getAnmMtx(0)); diff --git a/src/d/actor/d_a_obj_graWall.cpp b/src/d/actor/d_a_obj_graWall.cpp index 7200a10289..43b835f9ef 100644 --- a/src/d/actor/d_a_obj_graWall.cpp +++ b/src/d/actor/d_a_obj_graWall.cpp @@ -12,8 +12,7 @@ int daObjGraWall_c::Create() { field_0x6e0 = fopAcM_GetParam(this); if (field_0x6e0 != 0xff) { - int roomNo = fopAcM_GetRoomNo(this); - if (dComIfGs_isSwitch(field_0x6e0, roomNo) != 0) { + if (dComIfGs_isSwitch(field_0x6e0, fopAcM_GetRoomNo(this)) != 0) { return cPhs_ERROR_e; } } else { @@ -129,4 +128,4 @@ extern actor_process_profile_definition g_profile_GRA_WALL = { 0x40000, fopAc_ACTOR_e, fopAc_CULLBOX_CUSTOM_e, -};
\ No newline at end of file +}; diff --git a/src/d/actor/d_a_obj_hhashi.cpp b/src/d/actor/d_a_obj_hhashi.cpp index 8b87b043dc..1449453751 100644 --- a/src/d/actor/d_a_obj_hhashi.cpp +++ b/src/d/actor/d_a_obj_hhashi.cpp @@ -13,25 +13,23 @@ #include "m_Do/m_Do_lib.h" #include "SSystem/SComponent/c_math.h" -/* ############################################################################################## */ -/* 805814AC-805814F0 000000 0044+00 10/10 0/0 0/0 .rodata ccCylSrc$3773 */ -const static dCcD_SrcCyl ccCylSrc = { - { - {0x0, {{0x0, 0x0, 0x0}, {0x100000, 0x1f}, 0x11}}, // mObj - {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt - {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg - {0x0}, // mGObjCo - }, // mObjInf - { - {0.0f, 0.0f, 0.0f}, // mCenter - 110.0f, // mRadius - 158.0f // mHeight - } // mCyl -}; - /* 8057F9B8-8057FA18 000078 0060+00 1/1 0/0 0/0 .text initCcCylinder__13daObjHHASHI_cFv */ void daObjHHASHI_c::initCcCylinder() { + const static dCcD_SrcCyl ccCylSrc = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x100000, 0x1f}, 0x11}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 110.0f, // mRadius + 158.0f // mHeight + } // mCyl + }; + mStts.Init(0xff, 0xff, this); mCyl.Set(ccCylSrc); mCyl.SetStts(&mStts); @@ -429,4 +427,4 @@ extern actor_process_profile_definition g_profile_Obj_HHASHI = { fopAc_CULLBOX_CUSTOM_e, // cullType }; -/* 805815AC-805815AC 000100 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
\ No newline at end of file +/* 805815AC-805815AC 000100 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/actor/d_a_obj_movebox.cpp b/src/d/actor/d_a_obj_movebox.cpp index 160b16a6cb..bb6a1a2f6f 100644 --- a/src/d/actor/d_a_obj_movebox.cpp +++ b/src/d/actor/d_a_obj_movebox.cpp @@ -5,237 +5,14 @@ #include "d/actor/d_a_obj_movebox.h" #include "SSystem/SComponent/c_math.h" +#include "Z2AudioLib/Z2Instances.h" #include "d/actor/d_a_player.h" #include "d/d_path.h" -#include "dol2asm.h" #include "d/actor/d_a_obj_burnbox.h" #include "d/actor/d_a_obj_eff.h" -// -// Forward References: -// - -extern "C" void __ct__Q212daObjMovebox5Bgc_cFv(); -extern "C" void __dt__4cXyzFv(); -extern "C" void __ct__4cXyzFv(); -extern "C" void -gnd_pos__Q212daObjMovebox5Bgc_cFPCQ212daObjMovebox5Act_cPCQ212daObjMovebox8BgcSrc_cif(); -extern "C" void wrt_pos__Q212daObjMovebox5Bgc_cFRC4cXyz(); -extern "C" void -wall_pos__Q212daObjMovebox5Bgc_cFPCQ212daObjMovebox5Act_cPCQ212daObjMovebox8BgcSrc_cisf(); -extern "C" void proc_vertical__Q212daObjMovebox5Bgc_cFPQ212daObjMovebox5Act_c(); -extern "C" void -chk_wall_pre__Q212daObjMovebox5Bgc_cFPCQ212daObjMovebox5Act_cPCQ212daObjMovebox8BgcSrc_cis(); -extern "C" void -chk_wall_touch__Q212daObjMovebox5Bgc_cFPCQ212daObjMovebox5Act_cPCQ212daObjMovebox8BgcSrc_cs(); -extern "C" void -chk_wall_touch2__Q212daObjMovebox5Bgc_cFPCQ212daObjMovebox5Act_cPCQ212daObjMovebox8BgcSrc_cis(); -extern "C" void prm_get_swSave1__Q212daObjMovebox5Act_cCFv(); -extern "C" void prmZ_init__Q212daObjMovebox5Act_cFv(); -extern "C" void prmX_init__Q212daObjMovebox5Act_cFv(); -extern "C" void attr__Q212daObjMovebox5Act_cCFv(); -extern "C" void set_mtx__Q212daObjMovebox5Act_cFv(); -extern "C" void init_mtx__Q212daObjMovebox5Act_cFv(); -extern "C" void path_init__Q212daObjMovebox5Act_cFv(); -extern "C" void path_save__Q212daObjMovebox5Act_cFv(); -extern "C" void CreateHeap__Q212daObjMovebox5Act_cFv(); -extern "C" void RideCallBack__Q212daObjMovebox5Act_cFP4dBgWP10fopAc_ac_cP10fopAc_ac_c(); -extern "C" void -PPCallBack__Q212daObjMovebox5Act_cFP10fopAc_ac_cP10fopAc_ac_csQ29dBgW_Base13PushPullLabel(); -extern "C" void Create__Q212daObjMovebox5Act_cFv(); -extern "C" void afl_sway__Q212daObjMovebox5Act_cFv(); -extern "C" void check_to_walk__Q212daObjMovebox5Act_cFv(); -extern "C" void clr_moment_cnt__Q212daObjMovebox5Act_cFv(); -extern "C" void chk_appear__Q212daObjMovebox5Act_cCFv(); -extern "C" void eff_smoke_slip_start__Q212daObjMovebox5Act_cFv(); -extern "C" void mode_wait_init__Q212daObjMovebox5Act_cFv(); -extern "C" void mode_wait__Q212daObjMovebox5Act_cFv(); -extern "C" void mode_walk_init__Q212daObjMovebox5Act_cFv(); -extern "C" void mode_walk__Q212daObjMovebox5Act_cFv(); -extern "C" void mode_afl_init__Q212daObjMovebox5Act_cFv(); -extern "C" void mode_afl__Q212daObjMovebox5Act_cFv(); -extern "C" void __dt__14dBgS_ObjGndChkFv(); -extern "C" void sound_slip__Q212daObjMovebox5Act_cFv(); -extern "C" void sound_limit__Q212daObjMovebox5Act_cFv(); -extern "C" void sound_land__Q212daObjMovebox5Act_cFv(); -extern "C" void vib_land__Q212daObjMovebox5Act_cFv(); -extern "C" void eff_land_smoke__Q212daObjMovebox5Act_cFv(); -extern "C" void Execute__Q212daObjMovebox5Act_cFPPA3_A4_f(); -extern "C" void Draw__Q212daObjMovebox5Act_cFv(); -extern "C" void __dt__8cM3dGPlaFv(); -extern "C" void Delete__Q212daObjMovebox5Act_cFv(); -extern "C" static void func_80480920(); -extern "C" void __dt__8cM3dGCylFv(); -extern "C" void __dt__8cM3dGAabFv(); -extern "C" void __dt__10dCcD_GSttsFv(); -extern "C" static void func_80480BC0(); -extern "C" static void func_80480C18(); -extern "C" static void func_80480C38(); -extern "C" static void func_80480C64(); -extern "C" void __dt__10cCcD_GSttsFv(); -extern "C" void func_80480CD8(void* _this, fopAc_ac_c const*, daObjMovebox::Act_c::Prm_e, - daObjMovebox::Act_c::Prm_e); -extern "C" void __sinit_d_a_obj_movebox_cpp(); -extern "C" void func_80480DA0(); -extern "C" void __dt__11dBgS_WtrChkFv(); -extern "C" void func_80480E50(); -extern "C" void __ct__14dBgS_ObjGndChkFv(); -extern "C" static void func_80480EE4(); -extern "C" static void func_80480EEC(); -extern "C" static void func_80480EF4(); -extern "C" static void func_80480EFC(); -extern "C" static void func_80480F04(); -extern "C" static void func_80480F0C(); -extern "C" u8 const M_lin5__Q212daObjMovebox5Bgc_c[80]; -extern "C" u8 const M_lin20__Q212daObjMovebox5Bgc_c[368]; -extern "C" void* const M_arcname__Q212daObjMovebox5Act_c[8]; -extern "C" u8 const M_cyl_src__Q212daObjMovebox5Act_c[68]; -extern "C" u8 const M_attr__Q212daObjMovebox5Act_c[1280]; -extern "C" extern char const* const d_a_obj_movebox__stringBase0; -extern "C" u8 M_gnd_work__Q212daObjMovebox5Bgc_c[1932]; -extern "C" u8 M_wrt_work__Q212daObjMovebox5Bgc_c[84]; -extern "C" u8 M_wall_work__Q212daObjMovebox5Bgc_c[2576]; - -// -// External References: -// - -extern "C" void mDoMtx_XrotS__FPA4_fs(); -extern "C" void mDoMtx_XrotM__FPA4_fs(); -extern "C" void mDoMtx_YrotS__FPA4_fs(); -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void transS__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void transM__14mDoMtx_stack_cFfff(); -extern "C" void transM__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void scaleM__14mDoMtx_stack_cFfff(); -extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz(); -extern "C" void quatM__14mDoMtx_stack_cFPC10Quaternion(); -extern "C" void mDoExt_modelUpdateDL__FP8J3DModel(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void fopAcM_delete__FP10fopAc_ac_c(); -extern "C" void fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc(); -extern "C" void fopAcM_createChild__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i(); -extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff(); -extern "C" void fopAcM_posMoveF__FP10fopAc_ac_cPC4cXyz(); -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 offSwitch__10dSv_info_cFii(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void posMoveF_stream__5daObjFP10fopAc_ac_cPC4cXyzPC4cXyzff(); -extern "C" void quat_rotBaseY__5daObjFP10QuaternionRC4cXyz(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void getRes__14dRes_control_cFPCcPCcP11dRes_info_ci(); -extern "C" void -setModel__18dPa_modelEcallBackFP14JPABaseEmitterP12J3DModelDataRC12dKy_tevstr_cUcPvUcUc(); -extern "C" void -set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void dPath_GetPnt__FPC5dPathi(); -extern "C" void dPath_GetRoomPath__Fii(); -extern "C" void setSimple__21dDlst_shadowControl_cFP4cXyzffP4cXyzsfP9_GXTexObj(); -extern "C" void StartShock__12dVibration_cFii4cXyz(); -extern "C" void LineCross__4cBgSFP11cBgS_LinChk(); -extern "C" void GroundCross__4cBgSFP11cBgS_GndChk(); -extern "C" void GetActorPointer__4cBgSCFi(); -extern "C" void GetTriPla__4cBgSCFRC13cBgS_PolyInfoP8cM3dGPla(); -extern "C" void GetPolyColor__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void SplGrpChk__4dBgSFP14dBgS_SplGrpChk(); -extern "C" void dBgS_MoveBGProc_Typical__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz(); -extern "C" void dBgS_MoveBGProc_Trans__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz(); -extern "C" void RideCallBack__4dBgSFRC13cBgS_PolyInfoP10fopAc_ac_c(); -extern "C" void __ct__11dBgS_GndChkFv(); -extern "C" void __dt__11dBgS_GndChkFv(); -extern "C" void Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c(); -extern "C" void __ct__14dBgS_ObjLinChkFv(); -extern "C" void __dt__14dBgS_ObjLinChkFv(); -extern "C" void __ct__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__14dBgS_SplGrpChkFR4cXyzf(); -extern "C" void __dt__14dBgS_SplGrpChkFv(); -extern "C" void SetObj__16dBgS_PolyPassChkFv(); -extern "C" void __ct__11dBgS_WtrChkFv(); -extern "C" void Move__4dBgWFv(); -extern "C" void GetAc__22dCcD_GAtTgCoCommonBaseFv(); -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 MoveCTg__8dCcD_CylFR4cXyz(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void dKy_pol_sound_get__FPC13cBgS_PolyInfo(); -extern "C" void Set__4cCcSFP8cCcD_Obj(); -extern "C" void __pl__4cXyzCFRC3Vec(); -extern "C" void cM_rnd__Fv(); -extern "C" void SetPos__11cBgS_GndChkFPC4cXyz(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void __dl__FPv(); -extern "C" void __destroy_arr(); -extern "C" void __construct_array(); -extern "C" void __ptmf_scall(); -extern "C" void _savegpr_15(); -extern "C" void _savegpr_20(); -extern "C" void _savegpr_24(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_15(); -extern "C" void _restgpr_20(); -extern "C" void _restgpr_24(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -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" f32 Zero__4cXyz[3]; -extern "C" u8 BaseY__4cXyz[12]; -extern "C" u8 sincosTable___5JMath[65536]; -extern "C" u8 mEcallback__18dPa_modelEcallBack[4]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; -extern "C" void* M_dir_base__Q212daObjMovebox5Act_c[2]; -extern "C" void __register_global_object(); - -// -// Declarations: -// - -/* 80481704-80481710 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, -}; - -/* 80481710-80481724 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 +UNK_REL_DATA -/* ############################################################################################## */ /* 80480F28-80480F78 000000 0050+00 14/14 0/0 0/0 .rodata M_lin5__Q212daObjMovebox5Bgc_c */ const daObjMovebox::BgcSrc_c daObjMovebox::Bgc_c::M_lin5[] = { {0.0f, 0.0f, 0.0f, 0.0f}, {-0.5f, -0.5f, 1.0f, 1.0f}, {0.5f, -0.5f, -1.0f, 1.0f}, @@ -243,7 +20,7 @@ const daObjMovebox::BgcSrc_c daObjMovebox::Bgc_c::M_lin5[] = { }; /* 80480F78-804810E8 000050 0170+00 0/4 0/0 0/0 .rodata M_lin20__Q212daObjMovebox5Bgc_c */ -SECTION_RODATA const daObjMovebox::BgcSrc_c daObjMovebox::Bgc_c::M_lin20[] = { +const daObjMovebox::BgcSrc_c daObjMovebox::Bgc_c::M_lin20[] = { {0.0f, 0.0f, 0.0f, 0.0f}, {-0.25f, -0.25f, 0.0f, 0.0f}, {-0.5f, -0.5f, 1.0f, 1.0f}, {0.0f, -0.5f, -1.0f, 1.0f}, {0.0f, 0.0f, -1.0f, -1.0f}, {-0.5f, 0.0f, 1.0f, -1.0f}, {0.25f, -0.25f, 0.0f, 0.0f}, {0.0f, -0.5f, 1.0f, 1.0f}, {0.5f, -0.5f, -1.0f, 1.0f}, @@ -268,98 +45,22 @@ daObjMovebox::Bgc_c::Bgc_c() { mState = STATE_0_e; } -/* 80481888-8048188C 000008 0001+03 4/4 0/0 0/0 .bss @1109 */ -static u8 lit_1109[1 + 3 /* padding */]; - -/* 8048188C-80481890 00000C 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 - -/* 80481890-80481894 000010 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 - -/* 80481894-80481898 000014 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 - -/* 80481898-8048189C 000018 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 - -/* 8048189C-804818A0 00001C 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 - -/* 804818A0-804818A4 000020 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 - -/* 804818A4-804818A8 000024 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 - -/* 804818A8-804818AC 000028 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 - -/* 804818AC-804818B0 00002C 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 - -/* 804818B0-804818B4 000030 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 - -/* 804818B4-804818B8 000034 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 - -/* 804818B8-804818BC 000038 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 - -/* 804818BC-804818C0 00003C 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 - -/* 804818C0-804818C4 000040 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 - -/* 804818C4-804818C8 000044 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 +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) /* 804818D4-80482060 000054 078C+00 7/8 0/0 0/0 .bss M_gnd_work__Q212daObjMovebox5Bgc_c */ @@ -628,7 +329,7 @@ void daObjMovebox::Act_c::prmX_init() { /* 80481104-80481124 -00001 0020+00 3/3 0/0 0/0 .rodata M_arcname__Q212daObjMovebox5Act_c */ -SECTION_RODATA const char* const daObjMovebox::Act_c::M_arcname[8] = { +const char* const daObjMovebox::Act_c::M_arcname[8] = { "Kkiba_00", "Osiblk", "H_Box20", "A_SMBlock", "P_Lv4blk", "P_Lv4blk2", "H_OsiHaka", "dummy4", }; @@ -866,7 +567,6 @@ int daObjMovebox::Act_c::CreateHeap() { /* 8047EBEC-8047ED10 0011EC 0124+00 1/1 0/0 0/0 .text * RideCallBack__Q212daObjMovebox5Act_cFP4dBgWP10fopAc_ac_cP10fopAc_ac_c */ void daObjMovebox::Act_c::RideCallBack(dBgW* i_bgw, fopAc_ac_c* i_actor, fopAc_ac_c* i_rideActor) { - i_bgw; // affects stack Act_c* a_this = (Act_c*)i_actor; if (a_this->field_0x5ac == 2) { @@ -1039,6 +739,7 @@ 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() { f32 var_f31 = field_0x8c0 * field_0x8c0 + field_0x8c4 * field_0x8c4; f32 var_f29 = i_attr().mMaxTiltPower * i_attr().mMaxTiltPower; @@ -1046,19 +747,11 @@ void daObjMovebox::Act_c::afl_sway() { const BgcSrc_c* pbgc = i_attr().field_0x9e ? mBgc.M_lin20 : mBgc.M_lin5; int check_num = i_attr().field_0x9e ? 21 : 5; - bool var_r22 = true; - if (!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_r22 = false; - } + 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]); - bool var_r21 = true; - if (!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_r21 = false; - } + 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]); if (var_f31 > var_f29) { f32 var_f30 = i_attr().mMaxTiltPower / JMAFastSqrt(var_f31); @@ -1066,16 +759,13 @@ void daObjMovebox::Act_c::afl_sway() { field_0x8c4 *= var_f30; } - f32 var_f24 = field_0x8c8 - field_0x8c0; - f32 var_f23 = field_0x8cc - field_0x8c4; - - f32 var_f28 = i_attr().mTiltSpringFactor * -var_f24; - f32 var_f27 = i_attr().mTiltSpringFactor * -var_f23; - f32 var_f26 = field_0x8d0 * -i_attr().mTiltViscoscityResistance; - f32 var_f25 = field_0x8d4 * -i_attr().mTiltViscoscityResistance; + 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; - field_0x8d0 += var_f28 * var_f26; - field_0x8d4 += var_f27 * var_f25; + field_0x8d0 += var_f28 + var_f26; + field_0x8d4 += var_f27 + var_f25; field_0x8c8 += field_0x8d0; field_0x8cc += field_0x8d4; @@ -1295,7 +985,7 @@ void daObjMovebox::Act_c::mode_walk() { /* 8047FCBC-8047FCE4 0022BC 0028+00 1/1 0/0 0/0 .text mode_afl_init__Q212daObjMovebox5Act_cFv */ void daObjMovebox::Act_c::mode_afl_init() { fopAcM_SetSpeedF(this, 0.0f); - mpBgW->SetCrrFunc(dBgS_MoveBGProc_Trans); + mpBgW->SetCrrFunc(dBgS_MoveBGProc_Typical); field_0x5ac = 2; } @@ -1304,22 +994,37 @@ void daObjMovebox::Act_c::mode_afl_init() { void daObjMovebox::Act_c::mode_afl() { f32 var_f31; f32 var_f30 = current.pos.y - mBgc.field_0x60; - if (var_f30 > 0.0f) { + if (var_f30 >= 0.0f) { var_f31 = 0.0f; - } else if (var_f30 > -i_attr().field_0x68) { + } else if (var_f30 <= -i_attr().field_0x68) { var_f31 = 1.0f; } else { var_f31 = -var_f30 * i_attr().field_0x6c; } - field_0x8b8 += i_attr().mWaterOscillationAngleSpeed * (cM_rnd() + 1.0f); - fopAcM_SetGravity(this, field_0x8bc + var_f31 * i_attr().mBuoyancy + - i_attr().mGravity * cM_ssin(field_0x8b8)); + field_0x8b8 += (s16)(i_attr().mWaterOscillationAngleSpeed * (cM_rnd() + 1.0f)); + fopAcM_SetGravity(this, var_f31 * i_attr().mBuoyancy + i_attr().mGravity + + i_attr().mWaterOscillationAccel * cM_ssin(field_0x8b8) + field_0x8bc); field_0x8bc = 0.0f; - if (cLib_checkBit<daObjMovebox::Bgc_c::State_e>(mBgc.mState, daObjMovebox::Bgc_c::STATE_1_e)) { + if (!cLib_checkBit<daObjMovebox::Bgc_c::State_e>(mBgc.mState, daObjMovebox::Bgc_c::STATE_1_e)) { afl_sway(); } + + f32 tmp = 1.0f - var_f31; + f32 viscosity_resistance = var_f31 * i_attr().mWaterViscoscityResistance + + tmp * i_attr().mViscosityResistance; + f32 inertia_resistance = var_f31 * i_attr().mWaterInertiaResistance + + tmp * i_attr().mInertiaResistance; + + field_0x8d8 = mBgc.field_0x60 - current.pos.y; + if (field_0x8d8 < 0.0f) { + field_0x8d8 = 0.0f; + } else if (field_0x8d8 > i_attr().field_0x68) { + field_0x8d8 = i_attr().field_0x68; + } + + daObj::posMoveF_stream(this, NULL, &cXyz::Zero, viscosity_resistance, inertia_resistance); } void daObjMovebox::Act_c::mode_proc_call() { @@ -1358,7 +1063,7 @@ void daObjMovebox::Act_c::sound_limit() { } } - mDoAud_seStartLevel(i_attr().field_0x80, &eyePos, var_r29, mReverb); + mDoAud_seStart(i_attr().field_0x80, &eyePos, var_r29, mReverb); } /* 804800E4-804801A8 0026E4 00C4+00 1/1 0/0 0/0 .text sound_land__Q212daObjMovebox5Act_cFv */ @@ -1372,7 +1077,7 @@ void daObjMovebox::Act_c::sound_land() { } } - mDoAud_seStartLevel(i_attr().field_0x84, &eyePos, var_r29, mReverb); + mDoAud_seStart(i_attr().field_0x84, &eyePos, var_r29, mReverb); } /* 804801A8-804801FC 0027A8 0054+00 1/1 0/0 0/0 .text vib_land__Q212daObjMovebox5Act_cFv @@ -1381,207 +1086,20 @@ void daObjMovebox::Act_c::vib_land() { dComIfGp_getVibration().StartShock(4, 31, cXyz(0.0f, 1.0f, 0.0f)); } -/* 8048168C-80481690 000764 0004+00 0/0 0/0 0/0 .rodata @4774 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4774 = 2.0f; -COMPILER_STRIP_GATE(0x8048168C, &lit_4774); -#pragma pop - -/* 80481690-80481694 000768 0004+00 0/0 0/0 0/0 .rodata @4775 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4775 = 75.0f; -COMPILER_STRIP_GATE(0x80481690, &lit_4775); -#pragma pop +f32 dummy_literal(f32 x) { + return x + 75.0f + 2.0f; +} /* 804801FC-8048027C 0027FC 0080+00 1/1 0/0 0/0 .text eff_land_smoke__Q212daObjMovebox5Act_cFv */ void daObjMovebox::Act_c::eff_land_smoke() { daObjEff::Act_c::make_land_smoke(¤t.pos, i_attr().mLandSmokeScale); } -/* 80482BDC-80482BEC 00135C 000C+04 0/0 0/0 0/0 .bss @4762 */ -#pragma push -#pragma force_active on -static u8 lit_4762[12 + 4 /* padding */]; -#pragma pop - -/* 80482BEC-80482BF8 00136C 000C+00 0/0 0/0 0/0 .bss particle_scale$4761 */ -#pragma push -#pragma force_active on -static u8 particle_scale[12]; -#pragma pop - -/* 80482BF8-80482BFC 001378 0004+00 0/0 0/0 0/0 .bss - * sInstance__40JASGlobalInstance<19JASDefaultBankTable> */ -#pragma push -#pragma force_active on -static u8 data_80482BF8[4]; -#pragma pop - -/* 80482BFC-80482C00 00137C 0004+00 0/0 0/0 0/0 .bss - * sInstance__35JASGlobalInstance<14JASAudioThread> */ -#pragma push -#pragma force_active on -static u8 data_80482BFC[4]; -#pragma pop - -/* 80482C00-80482C04 001380 0004+00 0/0 0/0 0/0 .bss sInstance__27JASGlobalInstance<7Z2SeMgr> */ -#pragma push -#pragma force_active on -static u8 data_80482C00[4]; -#pragma pop - -/* 80482C04-80482C08 001384 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8Z2SeqMgr> */ -#pragma push -#pragma force_active on -static u8 data_80482C04[4]; -#pragma pop - -/* 80482C08-80482C0C 001388 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SceneMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80482C08[4]; -#pragma pop - -/* 80482C0C-80482C10 00138C 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2StatusMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80482C0C[4]; -#pragma pop - -/* 80482C10-80482C14 001390 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2DebugSys> - */ -#pragma push -#pragma force_active on -static u8 data_80482C10[4]; -#pragma pop - -/* 80482C14-80482C18 001394 0004+00 0/0 0/0 0/0 .bss - * sInstance__36JASGlobalInstance<15JAISoundStarter> */ -#pragma push -#pragma force_active on -static u8 data_80482C14[4]; -#pragma pop - -/* 80482C18-80482C1C 001398 0004+00 0/0 0/0 0/0 .bss - * sInstance__35JASGlobalInstance<14Z2SoundStarter> */ -#pragma push -#pragma force_active on -static u8 data_80482C18[4]; -#pragma pop - -/* 80482C1C-80482C20 00139C 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12Z2SpeechMgr2> */ -#pragma push -#pragma force_active on -static u8 data_80482C1C[4]; -#pragma pop - -/* 80482C20-80482C24 0013A0 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8JAISeMgr> */ -#pragma push -#pragma force_active on -static u8 data_80482C20[4]; -#pragma pop - -/* 80482C24-80482C28 0013A4 0004+00 0/0 0/0 0/0 .bss sInstance__29JASGlobalInstance<9JAISeqMgr> */ -#pragma push -#pragma force_active on -static u8 data_80482C24[4]; -#pragma pop - -/* 80482C28-80482C2C 0013A8 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAIStreamMgr> */ -#pragma push -#pragma force_active on -static u8 data_80482C28[4]; -#pragma pop - -/* 80482C2C-80482C30 0013AC 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SoundMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80482C2C[4]; -#pragma pop - -/* 80482C30-80482C34 0013B0 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAISoundInfo> */ -#pragma push -#pragma force_active on -static u8 data_80482C30[4]; -#pragma pop - -/* 80482C34-80482C38 0013B4 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13JAUSoundTable> */ -#pragma push -#pragma force_active on -static u8 data_80482C34[4]; -#pragma pop - -/* 80482C38-80482C3C 0013B8 0004+00 0/0 0/0 0/0 .bss - * sInstance__38JASGlobalInstance<17JAUSoundNameTable> */ -#pragma push -#pragma force_active on -static u8 data_80482C38[4]; -#pragma pop - -/* 80482C3C-80482C40 0013BC 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAUSoundInfo> */ -#pragma push -#pragma force_active on -static u8 data_80482C3C[4]; -#pragma pop - -/* 80482C40-80482C44 0013C0 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SoundInfo> - */ -#pragma push -#pragma force_active on -static u8 data_80482C40[4]; -#pragma pop - -/* 80482C44-80482C48 0013C4 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13Z2SoundObjMgr> */ -#pragma push -#pragma force_active on -static u8 data_80482C44[4]; -#pragma pop - -/* 80482C48-80482C4C 0013C8 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2Audience> - */ -#pragma push -#pragma force_active on -static u8 data_80482C48[4]; -#pragma pop - -/* 80482C4C-80482C50 0013CC 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2FxLineMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80482C4C[4]; -#pragma pop +void dummy_static() { + static cXyz particle_scale; +} -/* 80482C50-80482C54 0013D0 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2EnvSeMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80482C50[4]; -#pragma pop - -/* 80482C54-80482C58 0013D4 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SpeechMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80482C54[4]; -#pragma pop - -/* 80482C58-80482C5C 0013D8 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13Z2WolfHowlMgr> */ -#pragma push -#pragma force_active on -static u8 data_80482C58[4]; -#pragma pop +AUDIO_INSTANCES; /* 8048027C-80480728 00287C 04AC+00 1/0 0/0 0/0 .text Execute__Q212daObjMovebox5Act_cFPPA3_A4_f */ int daObjMovebox::Act_c::Execute(Mtx** param_0) { @@ -1612,10 +1130,9 @@ int daObjMovebox::Act_c::Execute(Mtx** param_0) { (J3DModelData*)dComIfG_getObjectRes("Always", "BreakWoodBox.bmd"); JUT_ASSERT(kibako_bmd != 0); - s32 room_no = fopAcM_GetRoomNo(this); JPABaseEmitter* emitter = dComIfGp_particle_set( 0x82AF, &sp48, NULL, NULL, 0xFF, &dPa_modelEcallBack::getEcallback(), - room_no, NULL, NULL, &scale); + fopAcM_GetRoomNo(this), NULL, NULL, &scale); dPa_modelEcallBack::setModel(emitter, kibako_bmd, tevStr, 3, NULL, 0, 0); for (int i = 0; i < 3; i++) { @@ -1634,7 +1151,7 @@ int daObjMovebox::Act_c::Execute(Mtx** param_0) { if (cLib_checkBit<daObjMovebox::Bgc_c::State_e>(mBgc.mState, daObjMovebox::Bgc_c::STATE_20_e)) { - mDoAud_seStartLevel(i_attr().field_0x88, &eyePos, 0, mReverb); + mDoAud_seStart(i_attr().field_0x88, &eyePos, 0, mReverb); } if (field_0x5ac == 0) { @@ -1750,6 +1267,8 @@ int daObjMovebox::Act_c::Mthd_Create() { heap_size, NULL); JUT_ASSERT((phase_state == cPhs_COMPLEATE_e) || (phase_state == cPhs_ERROR_e)); } + + return phase_state; } int daObjMovebox::Act_c::Mthd_Delete() { @@ -1814,4 +1333,4 @@ extern actor_process_profile_definition g_profile_Obj_Movebox = { 0x00040504, // mStatus fopAc_ACTOR_e, // mActorType fopAc_CULLBOX_CUSTOM_e, // cullType -};
\ No newline at end of file +}; diff --git a/src/d/actor/d_a_obj_onsenTaru.cpp b/src/d/actor/d_a_obj_onsenTaru.cpp index 5a59d43b03..de99180aaa 100644 --- a/src/d/actor/d_a_obj_onsenTaru.cpp +++ b/src/d/actor/d_a_obj_onsenTaru.cpp @@ -379,10 +379,9 @@ void daOnsTaru_c::breakEffSet() { J3DModelData* kibako_bmd = (J3DModelData*)dComIfG_getObjectRes("Always", "BreakWoodBox.bmd"); JUT_ASSERT(0x310, kibako_bmd != 0); - s32 room_no = fopAcM_GetRoomNo(this); JPABaseEmitter* emitter = dComIfGp_particle_set(0x8A99, &pos, NULL, NULL, 0xFF, &dPa_modelEcallBack::getEcallback(), - room_no, NULL, NULL, &scale); + fopAcM_GetRoomNo(this), NULL, NULL, &scale); if (emitter != NULL) { dPa_modelEcallBack::setModel(emitter, kibako_bmd, tevStr, 3, NULL, 0, 0); } @@ -450,4 +449,4 @@ extern actor_process_profile_definition g_profile_Obj_OnsenTaru = { 0x00040020, // mStatus fopAc_ACTOR_e, // mActorType fopAc_CULLBOX_CUSTOM_e, // cullType -};
\ No newline at end of file +}; diff --git a/src/d/actor/d_a_obj_web1.cpp b/src/d/actor/d_a_obj_web1.cpp index 753cd96106..916e2e43fb 100644 --- a/src/d/actor/d_a_obj_web1.cpp +++ b/src/d/actor/d_a_obj_web1.cpp @@ -136,8 +136,7 @@ static int daObj_Web1_Execute(obj_web1_class* i_this) { i_this->mHitTimer--; } - int roomNo = fopAcM_GetRoomNo(i_this); - i_this->mZ2SoundObj.framework(0, dComIfGp_getReverb(roomNo)); + i_this->mZ2SoundObj.framework(0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); if (i_this->mDeleteTimer != 0) { if (i_this->mDeleteTimer == 1) { @@ -343,4 +342,4 @@ extern actor_process_profile_definition g_profile_OBJ_WEB1 = { 0x40100, fopAc_ACTOR_e, fopAc_CULLBOX_CUSTOM_e, -};
\ No newline at end of file +}; diff --git a/src/d/actor/d_a_obj_zraMark.cpp b/src/d/actor/d_a_obj_zraMark.cpp index c46397300b..2f757869f5 100644 --- a/src/d/actor/d_a_obj_zraMark.cpp +++ b/src/d/actor/d_a_obj_zraMark.cpp @@ -124,7 +124,7 @@ int daObjZraMark_c::CreateHeap() { break; } - s32 room_no = fopAcM_GetRoomNo(this); + s8 room_no = fopAcM_GetRoomNo(this); if (!mHahenMngr.create(pos, room_no, color, var_r29, 0)) { // "------------------Fragment Generation Error\n" OS_REPORT("------------------破片生成ミス\n"); diff --git a/src/d/actor/d_a_tag_chgrestart.cpp b/src/d/actor/d_a_tag_chgrestart.cpp index a331618d08..14e7432c46 100644 --- a/src/d/actor/d_a_tag_chgrestart.cpp +++ b/src/d/actor/d_a_tag_chgrestart.cpp @@ -77,8 +77,7 @@ s32 daTagChgRestart_c::execute() { restart_angle = entry_p->mAngle.y; } - s32 l_roomNo = fopAcM_GetRoomNo(player); - dComIfGs_setRestartRoom(restart_pos, restart_angle, l_roomNo); + dComIfGs_setRestartRoom(restart_pos, restart_angle, fopAcM_GetRoomNo(player)); fopAcM_onSwitch(this, daTagChgRestart_prm::getSwNo(this)); } @@ -131,4 +130,4 @@ extern actor_process_profile_definition g_profile_Tag_ChgRestart = { 0x40000, // mStatus fopAc_ACTOR_e, // mActorType fopAc_CULLBOX_CUSTOM_e, // cullType -};
\ No newline at end of file +}; diff --git a/src/d/actor/d_a_tag_kmsg.cpp b/src/d/actor/d_a_tag_kmsg.cpp index ec2cd9a702..713489a3de 100644 --- a/src/d/actor/d_a_tag_kmsg.cpp +++ b/src/d/actor/d_a_tag_kmsg.cpp @@ -8,86 +8,6 @@ #include "d/actor/d_a_player.h" #include "SSystem/SComponent/c_counter.h" #include "string.h" -#include "dol2asm.h" - -// -// Forward References: -// - -extern "C" void create__12daTag_KMsg_cFv(); -extern "C" void Delete__12daTag_KMsg_cFv(); -extern "C" void Execute__12daTag_KMsg_cFv(); -extern "C" bool Draw__12daTag_KMsg_cFv(); -extern "C" void isDelete__12daTag_KMsg_cFv(); -extern "C" static void daTag_KMsg_Create__FPv(); -extern "C" static void daTag_KMsg_Delete__FPv(); -extern "C" static void daTag_KMsg_Execute__FPv(); -extern "C" static void daTag_KMsg_Draw__FPv(); -extern "C" static bool daTag_KMsg_IsDelete__FPv(); -extern "C" void __dt__12daTag_KMsg_cFv(); -extern "C" extern char const* const d_a_tag_kmsg__stringBase0; - -// -// External References: -// - -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void fopAcM_delete__FP10fopAc_ac_c(); -extern "C" void fopAcM_orderChangeEventId__FP10fopAc_ac_csUsUs(); -extern "C" void fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs(); -extern "C" void fopAcM_cancelCarryNow__FP10fopAc_ac_c(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void reset__14dEvt_control_cFv(); -extern "C" void reset__14dEvt_control_cFPv(); -extern "C" void setObjectArchive__16dEvent_manager_cFPc(); -extern "C" void getEventIdx__16dEvent_manager_cFP10fopAc_ac_cPCcUc(); -extern "C" void endCheck__16dEvent_manager_cFs(); -extern "C" void getMyStaffId__16dEvent_manager_cFPCcP10fopAc_ac_ci(); -extern "C" void cutEnd__16dEvent_manager_cFi(); -extern "C" void LineCross__4cBgSFP11cBgS_LinChk(); -extern "C" void __ct__11dBgS_LinChkFv(); -extern "C" void __dt__11dBgS_LinChkFv(); -extern "C" void Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c(); -extern "C" void daNpcT_chkDoBtnIsSpeak__FP10fopAc_ac_c(); -extern "C" void daNpcT_getDistTableIdx__Fii(); -extern "C" void daNpcT_chkEvtBit__FUl(); -extern "C" void __ct__10dMsgFlow_cFv(); -extern "C" void __dt__10dMsgFlow_cFv(); -extern "C" void init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c(); -extern "C" void doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci(); -extern "C" void __pl__4cXyzCFRC3Vec(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void __ml__4cXyzCFf(); -extern "C" void norm__4cXyzCFv(); -extern "C" void __ct__7cSAngleFs(); -extern "C" void Sin__7cSAngleCFv(); -extern "C" void Cos__7cSAngleCFv(); -extern "C" void __dl__FPv(); -extern "C" void _savegpr_25(); -extern "C" void _restgpr_25(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 8048EADC-8048EAE0 000000 0004+00 2/2 0/0 0/0 .rodata @3884 */ -SECTION_RODATA static f32 const lit_3884 = 10.0f; -COMPILER_STRIP_GATE(0x8048EADC, &lit_3884); - -/* 8048EAFC-8048EAFC 000020 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8048EAFC = ""; -SECTION_DEAD static char const* const stringBase_8048EAFD = "EXTINCTION"; -SECTION_DEAD static char const* const stringBase_8048EB08 = "PURCHASE"; -SECTION_DEAD static char const* const stringBase_8048EB11 = "Bans1"; -SECTION_DEAD static char const* const stringBase_8048EB17 = "sekizoA"; -SECTION_DEAD static char const* const stringBase_8048EB1F = "Lv6Gate"; -#pragma pop struct EventListItem { char* mEventName; @@ -95,48 +15,19 @@ struct EventListItem { }; /* 8048EB2C-8048EB44 -00001 0018+00 1/1 0/0 0/0 .data l_evtList */ -SECTION_DATA static EventListItem l_evtList[3] = { +static EventListItem l_evtList[3] = { {"", 0}, {"EXTINCTION", 2}, {"PURCHASE", 1}, }; /* 8048EB44-8048EB50 -00001 000C+00 1/1 0/0 0/0 .data l_resNameList */ -SECTION_DATA static char* l_resNameList[3] = { +static char* l_resNameList[3] = { "", "Bans1", "sekizoA", }; -/* 8048EB50-8048EB70 -00001 0020+00 1/0 0/0 0/0 .data daTag_KMsg_MethodTable */ -SECTION_DATA static void* daTag_KMsg_MethodTable[8] = { - (void*)daTag_KMsg_Create__FPv, - (void*)daTag_KMsg_Delete__FPv, - (void*)daTag_KMsg_Execute__FPv, - (void*)daTag_KMsg_IsDelete__FPv, - (void*)daTag_KMsg_Draw__FPv, - (void*)NULL, - (void*)NULL, - (void*)NULL, -}; - -/* 8048EB70-8048EBA0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_TAG_KMSG */ -SECTION_DATA extern void* g_profile_TAG_KMSG[12] = { - (void*)0xFFFFFFFD, (void*)0x0008FFFD, - (void*)0x02EB0000, (void*)&g_fpcLf_Method, - (void*)0x000005CC, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x01220000, (void*)&daTag_KMsg_MethodTable, - (void*)0x00044000, (void*)0x000E0000, -}; - -/* 8048EBA0-8048EBAC 000074 000C+00 2/2 0/0 0/0 .data __vt__12daTag_KMsg_c */ -SECTION_DATA extern void* __vt__12daTag_KMsg_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12daTag_KMsg_cFv, -}; - /* 8048DE78-8048DFDC 000078 0164+00 1/1 0/0 0/0 .text create__12daTag_KMsg_cFv */ int daTag_KMsg_c::create() { attention_info.position = current.pos; @@ -162,7 +53,6 @@ int daTag_KMsg_c::create() { } } - /* 8048DFDC-8048E010 0001DC 0034+00 1/1 0/0 0/0 .text Delete__12daTag_KMsg_cFv */ int daTag_KMsg_c::Delete() { OS_REPORT("|%06d:%x|daTag_KMsg_c -> Delete\n", g_Counter, this); @@ -171,57 +61,8 @@ int daTag_KMsg_c::Delete() { return 1; } -/* ############################################################################################## */ -/* 8048EAE0-8048EAE4 000004 0004+00 0/1 0/0 0/0 .rodata @4206 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4206 = 1000000000.0f; -COMPILER_STRIP_GATE(0x8048EAE0, &lit_4206); -#pragma pop - -/* 8048EAE4-8048EAE8 000008 0004+00 0/1 0/0 0/0 .rodata @4207 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4207 = -0.5f; -COMPILER_STRIP_GATE(0x8048EAE4, &lit_4207); -#pragma pop - -/* 8048EAE8-8048EAEC 00000C 0004+00 0/1 0/0 0/0 .rodata @4208 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4208 = -20.0f; -COMPILER_STRIP_GATE(0x8048EAE8, &lit_4208); -#pragma pop - -/* 8048EAEC-8048EAF4 000010 0004+04 0/1 0/0 0/0 .rodata @4209 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4209[1 + 1 /* padding */] = { - 80.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x8048EAEC, &lit_4209); -#pragma pop - -/* 8048EAF4-8048EAFC 000018 0008+00 0/1 0/0 0/0 .rodata @4211 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4211[8] = { - 0x43, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8048EAF4, &lit_4211); -#pragma pop - -/* 8048EAFC-8048EAFC 000020 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8048EB27 = "KMsg"; -#pragma pop - /* 8048E010-8048E8B8 000210 08A8+00 1/1 0/0 0/0 .text Execute__12daTag_KMsg_cFv */ -// Various issues: stack, getTalkAngle -#ifdef NONMATCHING +// NONMATCHING Various issues: stack, getTalkAngle int daTag_KMsg_c::Execute() { bool r28 = false; if (home.roomNo == dComIfGp_roomControl_getStayNo()) { @@ -346,19 +187,18 @@ int daTag_KMsg_c::Execute() { cXyz vec60 = attention_info.position; vec60.y += f31; cXyz vec54; - cXyz vec9c; vec54.x = vec60.x + 80.0f * angle.Sin(); vec54.y = vec60.y; - vec54.z = vec60.x + 80.0f * angle.Cos(); + vec54.z = vec60.z + 80.0f * angle.Cos(); dBgS_LinChk lin_chk; lin_chk.ClrSttsWallOff(); lin_chk.onBackFlag(); lin_chk.onFrontFlag(); lin_chk.Set(&vec54, &vec60, NULL); if (dComIfG_Bgsp().LineCross(&lin_chk)) { + cXyz vec48; cXyz vec30 = vec54 - vec60; - // !@bug If decompiled correctly, vec9c is uninitialized - cXyz vec48 = vec9c + vec30.norm() * 10.0f; + vec48 = lin_chk.i_GetCross() + vec30.norm() * 10.0f; attention_info.position.x = vec48.x; attention_info.position.z = vec48.z; } @@ -368,11 +208,6 @@ int daTag_KMsg_c::Execute() { } return 0; } -#else -int daTag_KMsg_c::Execute() { - // NONMATCHING -} -#endif /* 8048E8B8-8048E8C0 000AB8 0008+00 1/1 0/0 0/0 .text Draw__12daTag_KMsg_cFv */ int daTag_KMsg_c::Draw() { @@ -380,7 +215,6 @@ int daTag_KMsg_c::Draw() { } /* 8048E8C0-8048E9A8 000AC0 00E8+00 2/2 0/0 0/0 .text isDelete__12daTag_KMsg_cFv */ -#ifndef NONMATCHING int daTag_KMsg_c::isDelete() { switch(getType()) { case KMSG_TYPE_0: @@ -403,11 +237,6 @@ int daTag_KMsg_c::isDelete() { return 0; } } -#else -int daTag_KMsg_c::isDelete() { - // NONMATCHING -} -#endif /* 8048E9A8-8048E9C8 000BA8 0020+00 1/0 0/0 0/0 .text daTag_KMsg_Create__FPv */ static int daTag_KMsg_Create(void* i_this) { @@ -434,10 +263,21 @@ static int daTag_KMsg_IsDelete(void* param_0) { return 1; } -/* 8048EA30-8048EAD4 000C30 00A4+00 1/0 0/0 0/0 .text __dt__12daTag_KMsg_cFv */ -void __dt__12daTag_KMsg_cFv() { -//asm daTag_KMsg_c::~daTag_KMsg_c() { - // NONMATCHING -} +/* 8048EB50-8048EB70 -00001 0020+00 1/0 0/0 0/0 .data daTag_KMsg_MethodTable */ +static void* daTag_KMsg_MethodTable[8] = { + (void*)daTag_KMsg_Create, + (void*)daTag_KMsg_Delete, + (void*)daTag_KMsg_Execute, + (void*)daTag_KMsg_IsDelete, + (void*)daTag_KMsg_Draw, +}; -/* 8048EAFC-8048EAFC 000020 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
\ No newline at end of file +/* 8048EB70-8048EBA0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_TAG_KMSG */ +extern void* g_profile_TAG_KMSG[12] = { + (void*)0xFFFFFFFD, (void*)0x0008FFFD, + (void*)0x02EB0000, (void*)&g_fpcLf_Method, + (void*)0x000005CC, (void*)NULL, + (void*)NULL, (void*)&g_fopAc_Method, + (void*)0x01220000, (void*)&daTag_KMsg_MethodTable, + (void*)0x00044000, (void*)0x000E0000, +}; diff --git a/src/d/actor/d_a_tag_setrestart.cpp b/src/d/actor/d_a_tag_setrestart.cpp index bf61837817..e9ac281fb4 100644 --- a/src/d/actor/d_a_tag_setrestart.cpp +++ b/src/d/actor/d_a_tag_setrestart.cpp @@ -75,8 +75,7 @@ int daTagRestart_c::execute() { restart_pos.y = fopAcM_gc_c::getGroundY(); } - s32 player_roomNo = fopAcM_GetRoomNo(player); - dComIfGs_setRestartRoom(restart_pos, restart_angle, player_roomNo); + dComIfGs_setRestartRoom(restart_pos, restart_angle, fopAcM_GetRoomNo(player)); } } @@ -131,4 +130,4 @@ extern actor_process_profile_definition g_profile_Tag_Restart = { 0x40000, fopAc_ACTOR_e, fopAc_CULLBOX_CUSTOM_e, -};
\ No newline at end of file +}; diff --git a/src/d/actor/d_a_tbox.cpp b/src/d/actor/d_a_tbox.cpp index b5e05e04de..e4b67011f1 100644 --- a/src/d/actor/d_a_tbox.cpp +++ b/src/d/actor/d_a_tbox.cpp @@ -719,9 +719,8 @@ void daTbox_c::dropProc() { mDoMtx_identity(field_0x988); speedF = 0.0f; cXyz vec1(2.0f, 2.0f, 2.0f); - s32 room_no = fopAcM_GetRoomNo(this); dComIfGp_particle_setPolyColor(0xe7, mAcch.m_gnd, ¤t.pos, &tevStr, &home.angle, - &vec1, 0, NULL, room_no, NULL); + &vec1, 0, NULL, fopAcM_GetRoomNo(this), NULL); dComIfGp_getVibration().StartShock(4, 0x1f, cXyz(0.0f, 1.0f, 0.0f)); u32 sound_id = 0; cXyz vec2 = current.pos; @@ -1247,7 +1246,8 @@ int daTbox_c::setGetDemoItem() { } /* 804946A4-804948CC 003A64 0228+00 11/0 0/0 0/0 .text actionOpenWait__8daTbox_cFv */ -// nonmatching (regalloc) +// nonmatching -- matches if checkTreasureRupeeReturn has return type bool, +// but that breaks daAlink_c::procCoGetItem int daTbox_c::actionOpenWait() { daMidna_c* midna = daPy_py_c::getMidnaActor(); daPy_py_c* player = daPy_getPlayerActorClass(); @@ -1720,4 +1720,4 @@ extern actor_process_profile_definition g_profile_TBOX = { 0x44100, fopAc_ACTOR_e, fopAc_CULLBOX_CUSTOM_e, -};
\ No newline at end of file +}; diff --git a/src/d/actor/d_a_ykgr.cpp b/src/d/actor/d_a_ykgr.cpp index f3425713e0..9ec2e53702 100644 --- a/src/d/actor/d_a_ykgr.cpp +++ b/src/d/actor/d_a_ykgr.cpp @@ -6,125 +6,37 @@ #include "d/actor/d_a_ykgr.h" #include "f_op/f_op_actor.h" #include "f_op/f_op_actor_mng.h" -#include "dol2asm.h" #include "JSystem/JKernel/JKRHeap.h" +#include "Z2AudioLib/Z2Instances.h" + +inline daYkgr_HIO_c::daYkgr_HIO_c() { + field_0x4 = 0; + field_0x8 = 0xff; + field_0xc = 3; + field_0x10 = -16.0f; + field_0x14 = -5.0f; + field_0x18 = -3.0f; + field_0x1c = 0.0f; + field_0x20 = 1500.0f; + field_0x24 = 500.0f; +} -// -// Forward References: -// - -extern "C" void draw__17dPa_YkgrPcallBackFP14JPABaseEmitterP15JPABaseParticle(); -extern "C" void setParam__17dPa_YkgrPcallBackFf(); -extern "C" void getPosRate__8daYkgr_cFv(); -extern "C" static void daYkgrCreate__FPv(); -extern "C" static bool daYkgrDelete__FPv(); -extern "C" static void daYkgrExecute__FPv(); -extern "C" static void daYkgrDraw__FPv(); -extern "C" static bool daYkgrIsDelete__FPv(); -extern "C" void __dt__12daYkgr_HIO_cFv(); -extern "C" void __dt__14mDoHIO_entry_cFv(); -extern "C" void __dt__17dPa_YkgrPcallBackFv(); -extern "C" void execute__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle(); -extern "C" void __sinit_d_a_ykgr_cpp(); -extern "C" void draw__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle(); -extern "C" extern char const* const d_a_ykgr__stringBase0; - -// -// External References: -// - -extern "C" void mDoMtx_XrotM__FPA4_fs(); -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void fopAcM_setStageLayer__FPv(); -extern "C" void dComIfGs_BossLife_public_Get__Fv(); -extern "C" void -set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void dPath_GetRoomPath__Fii(); -extern "C" void dKyr_get_vectle_calc__FP4cXyzP4cXyzP4cXyz(); -extern "C" void cM_atan2s__Fff(); -extern "C" void cLib_addCalc2__FPffff(); -extern "C" void __dt__19JPAParticleCallBackFv(); -extern "C" void func_802807E0(); -extern "C" void __dl__FPv(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" u8 m_aim_rate__8daYkgr_c[4]; -extern "C" u8 m_path__8daYkgr_c[4]; -extern "C" u8 m_emitter__8daYkgr_c[4]; -extern "C" void __register_global_object(); - -// -// Declarations: -// +inline dPa_YkgrPcallBack::dPa_YkgrPcallBack() { + field_0x4 = 0.5f; + field_0x8 = 0.0f; + field_0xc = 0.0f; + field_0x10 = 0.0f; + field_0x14 = 0.5f; + field_0x18 = 0.0f; + field_0x1c = 1; +} /* 805A848C-805A84D4 0000EC 0048+00 1/0 0/0 0/0 .text * draw__17dPa_YkgrPcallBackFP14JPABaseEmitterP15JPABaseParticle */ -// Needs inheritance -#ifdef NONMATCHING void dPa_YkgrPcallBack::draw(JPABaseEmitter* param_0, JPABaseParticle* param_1) { GXSetIndTexMtx(GX_ITM_0, &field_0x4, field_0x1c); GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0); } -#else -void dPa_YkgrPcallBack::draw(JPABaseEmitter* param_0, JPABaseParticle* param_1) { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 805A8FBC-805A8FC0 000000 0004+00 6/6 0/0 0/0 .rodata @3759 */ -SECTION_RODATA static f32 const lit_3759 = -17.0f; -COMPILER_STRIP_GATE(0x805A8FBC, &lit_3759); - -/* 805A8FC0-805A8FC4 000004 0004+00 0/1 0/0 0/0 .rodata @3760 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3760 = 47.0f; -COMPILER_STRIP_GATE(0x805A8FC0, &lit_3760); -#pragma pop - -/* 805A8FC4-805A8FC8 000008 0004+00 0/5 0/0 0/0 .rodata @3761 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3761[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x805A8FC4, &lit_3761); -#pragma pop - -/* 805A8FC8-805A8FCC 00000C 0004+00 0/4 0/0 0/0 .rodata @3762 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3762 = 0.5f; -COMPILER_STRIP_GATE(0x805A8FC8, &lit_3762); -#pragma pop - -/* 805A8FCC-805A8FD4 000010 0004+04 0/4 0/0 0/0 .rodata @3763 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3763[1 + 1 /* padding */] = { - 1.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x805A8FCC, &lit_3763); -#pragma pop - -/* 805A8FD4-805A8FDC 000018 0008+00 0/2 0/0 0/0 .rodata @3766 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3766[8] = { - 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x805A8FD4, &lit_3766); -#pragma pop /* 805A84D4-805A85D4 000134 0100+00 2/2 0/0 0/0 .text setParam__17dPa_YkgrPcallBackFf */ void dPa_YkgrPcallBack::setParam(f32 param_1) { @@ -148,136 +60,25 @@ void dPa_YkgrPcallBack::setParam(f32 param_1) { } } - -/* ############################################################################################## */ -/* 805A8FDC-805A8FE4 000020 0008+00 0/1 0/0 0/0 .rodata @3846 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3846[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x805A8FDC, &lit_3846); -#pragma pop - -/* 805A8FE4-805A8FEC 000028 0008+00 0/1 0/0 0/0 .rodata @3847 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3847[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x805A8FE4, &lit_3847); -#pragma pop - -/* 805A8FEC-805A8FF4 000030 0008+00 0/1 0/0 0/0 .rodata @3848 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3848[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x805A8FEC, &lit_3848); -#pragma pop - -/* 805A90B8-805A90BC 000008 0001+03 1/1 0/0 0/0 .bss @1109 */ -static u8 lit_1109[1 + 3 /* padding */]; - -/* 805A90BC-805A90C0 00000C 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 - -/* 805A90C0-805A90C4 000010 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 - -/* 805A90C4-805A90C8 000014 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 - -/* 805A90C8-805A90CC 000018 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 - -/* 805A90CC-805A90D0 00001C 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 - -/* 805A90D0-805A90D4 000020 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 - -/* 805A90D4-805A90D8 000024 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 - -/* 805A90D8-805A90DC 000028 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 - -/* 805A90DC-805A90E0 00002C 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 - -/* 805A90E0-805A90E4 000030 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 - -/* 805A90E4-805A90E8 000034 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 - -/* 805A90E8-805A90EC 000038 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 - -/* 805A90EC-805A90F0 00003C 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 - -/* 805A90F0-805A90F4 000040 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 - -/* 805A90F4-805A90F8 000044 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 - -/* 805A90F8-805A9104 000048 000C+00 0/1 0/0 0/0 .bss @3744 */ -#pragma push -#pragma force_active on -static u8 lit_3744[12]; -#pragma pop +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) /* 805A9104-805A912C 000054 0028+00 2/3 0/0 0/0 .bss l_HIO */ -static u8 l_HIO[40]; +static daYkgr_HIO_c l_HIO; /* 805A85D4-805A882C 000234 0258+00 1/1 0/0 0/0 .text getPosRate__8daYkgr_cFv */ f32 daYkgr_c::getPosRate() { @@ -295,37 +96,21 @@ f32 daYkgr_c::getPosRate() { dVar11 = dVar10; } } - if (dVar11 > ((daYkgr_HIO_c*)&l_HIO)->field_0x20) { - dVar11 = ((daYkgr_HIO_c*)&l_HIO)->field_0x20; - } else if (dVar11 < ((daYkgr_HIO_c*)&l_HIO)->field_0x24) { - dVar11 = ((daYkgr_HIO_c*)&l_HIO)->field_0x24; + if (dVar11 > l_HIO.field_0x20) { + dVar11 = l_HIO.field_0x20; + } else if (dVar11 < l_HIO.field_0x24) { + dVar11 = l_HIO.field_0x24; } - f32 y = (((daYkgr_HIO_c*)&l_HIO)->field_0x20); - y = (dVar11 - ((daYkgr_HIO_c*)&l_HIO)->field_0x24) / (y -((daYkgr_HIO_c*)&l_HIO)->field_0x24); + f32 y = (l_HIO.field_0x20); + y = (dVar11 - l_HIO.field_0x24) / (y -l_HIO.field_0x24); return 1.0f - y; } - -/* ############################################################################################## */ -/* 805A8FF4-805A8FF8 000038 0004+00 0/2 0/0 0/0 .rodata @3951 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3951 = -3.0f; -COMPILER_STRIP_GATE(0x805A8FF4, &lit_3951); -#pragma pop - -/* 805A912C-805A9138 00007C 000C+00 0/1 0/0 0/0 .bss @3851 */ -#pragma push -#pragma force_active on -static u8 lit_3851[12]; -#pragma pop - /* 805A9138-805A9158 000088 0020+00 2/3 0/0 0/0 .bss YkgrCB */ -static u8 YkgrCB[32]; +static dPa_YkgrPcallBack YkgrCB; /* 805A882C-805A8A48 00048C 021C+00 1/0 0/0 0/0 .text daYkgrCreate__FPv */ -// regalloc -#ifdef NONMATCHING +// NONMATCHING regalloc inline int daYkgr_c::_create() { dPath* path; s32 uVar1 = fopAcM_GetParam(this) ; @@ -344,8 +129,8 @@ inline int daYkgr_c::_create() { this->current.pos = player->current.pos; m_emitter = dComIfGp_particle_set(0x80e2, &this->current.pos, NULL, NULL); if (m_emitter != NULL) { - m_emitter->setParticleCallBackPtr((JPAParticleCallBack*)YkgrCB); - ((dPa_YkgrPcallBack*)YkgrCB)->setParam(-3.0f); + m_emitter->setParticleCallBackPtr(&YkgrCB); + YkgrCB.setParam(-3.0f); } else { return cPhs_ERROR_e; } @@ -377,50 +162,31 @@ inline int daYkgr_c::_create() { static int daYkgrCreate(void* i_this) { return static_cast<daYkgr_c*>(i_this)->_create(); } -#else -static int daYkgrCreate(void* param_0) { - // NONMATCHING -} -#endif /* 805A8A48-805A8A50 0006A8 0008+00 1/0 0/0 0/0 .text daYkgrDelete__FPv */ static int daYkgrDelete(void* param_0) { return 1; } -/* ############################################################################################## */ -/* 805A8FF8-805A8FFC 00003C 0004+00 0/1 0/0 0/0 .rodata @3976 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3976 = 0.25f; -COMPILER_STRIP_GATE(0x805A8FF8, &lit_3976); -#pragma pop - -/* 805A8FFC-805A9000 000040 0004+00 0/1 0/0 0/0 .rodata @3977 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3977 = 1.0f / 20.0f; -COMPILER_STRIP_GATE(0x805A8FFC, &lit_3977); -#pragma pop - /* 805A8A50-805A8BBC 0006B0 016C+00 1/0 0/0 0/0 .text daYkgrExecute__FPv */ +// NONMATCHING regalloc inline int daYkgr_c::_execute() { cLib_addCalc2(&field_0x5a4, m_aim_rate, 0.25f, 0.05f); - cLib_addCalc2(&m_aim_rate, ((f32*)l_HIO)[7], 0.25f, 0.05f); + cLib_addCalc2(&m_aim_rate, l_HIO.field_0x1c, 0.25f, 0.05f); cLib_addCalc2(&field_0x5a8, getPosRate(), 0.25f, 0.05f); f32 fVar4 = field_0x5a8 * 0.5f + field_0x5a4 * 0.5f; - ((dPa_YkgrPcallBack*)YkgrCB)->setParam(fVar4 * ((f32*)l_HIO)[6] + (1.0f - fVar4) * ((f32*)l_HIO)[5]); + YkgrCB.setParam(fVar4 * l_HIO.field_0x18 + (1.0f - fVar4) * l_HIO.field_0x14); if (m_alpha_flag == 0) { if (m_alpha != 0) { - if (m_alpha > ((s32*)l_HIO)[3]) { - m_alpha = m_alpha - ((s32*)l_HIO)[3]; + if (m_alpha > l_HIO.field_0xc) { + m_alpha = m_alpha - l_HIO.field_0xc; } else { m_alpha = 0; } } } else if (m_alpha < 0xff) { - if (m_alpha < 0xff - ((s32*)l_HIO)[3]) { - m_alpha = m_alpha + ((s32*)l_HIO)[3]; + if (m_alpha < 0xff - l_HIO.field_0xc) { + m_alpha = m_alpha + l_HIO.field_0xc; } else { m_alpha = 0xff; } @@ -432,33 +198,12 @@ static int daYkgrExecute(void* i_this) { return static_cast<daYkgr_c*>(i_this)->_execute(); } - -/* ############################################################################################## */ -/* 805A9000-805A9004 000044 0004+00 0/1 0/0 0/0 .rodata @4032 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4032 = 100.0f; -COMPILER_STRIP_GATE(0x805A9000, &lit_4032); -#pragma pop - -/* 805A9004-805A9008 000048 0004+00 0/1 0/0 0/0 .rodata @4033 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4033 = 255.0f; -COMPILER_STRIP_GATE(0x805A9004, &lit_4033); -#pragma pop - -/* 805A9018-805A9018 00005C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_805A9018 = "D_MN04A"; -#pragma pop - /* 805A8BBC-805A8D90 00081C 01D4+00 1/0 0/0 0/0 .text daYkgrDraw__FPv */ inline int daYkgr_c::_draw() { bool rv; if (strcmp(dComIfGp_getStartStageName(), "D_MN04A") == 0) { - m_alpha = (dComIfGs_BossLife_public_Get() / 100.0f) * 255.0f; + f32 alpha = dComIfGs_BossLife_public_Get() / 100.0f; + m_alpha = alpha * 255.0f; if (m_alpha == 0) { m_alpha++; } @@ -480,13 +225,16 @@ static int daYkgrDraw(void* i_this) { return static_cast<daYkgr_c*>(i_this)->_draw(); } - /* 805A8D90-805A8D98 0009F0 0008+00 1/0 0/0 0/0 .text daYkgrIsDelete__FPv */ static int daYkgrIsDelete(void* param_0) { return 1; } -/* ############################################################################################## */ +/* 805A8D98-805A8DF4 0009F8 005C+00 2/1 0/0 0/0 .text __dt__12daYkgr_HIO_cFv */ +daYkgr_HIO_c::~daYkgr_HIO_c() { + /* empty function */ +} + /* 805A9020-805A9040 -00001 0020+00 1/0 0/0 0/0 .data daYkgrMethodTable */ static actor_method_class daYkgrMethodTable = { daYkgrCreate, @@ -513,280 +261,4 @@ extern actor_process_profile_definition g_profile_Ykgr = { 0, }; -/* 805A9070-805A9084 000050 0014+00 2/2 0/0 0/0 .data __vt__17dPa_YkgrPcallBack */ -SECTION_DATA extern void* __vt__17dPa_YkgrPcallBack[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__17dPa_YkgrPcallBackFv, - (void*)execute__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle, - (void*)draw__17dPa_YkgrPcallBackFP14JPABaseEmitterP15JPABaseParticle, -}; - -/* 805A9084-805A9098 000064 0014+00 1/1 0/0 0/0 .data __vt__19JPAParticleCallBack */ -SECTION_DATA extern void* __vt__19JPAParticleCallBack[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)NULL, - (void*)execute__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle, - (void*)draw__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle, -}; - -/* 805A9098-805A90A4 000078 000C+00 2/2 0/0 0/0 .data __vt__12daYkgr_HIO_c */ -SECTION_DATA extern void* __vt__12daYkgr_HIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12daYkgr_HIO_cFv, -}; - -/* 805A90A4-805A90B0 000084 000C+00 3/3 0/0 0/0 .data __vt__14mDoHIO_entry_c */ -SECTION_DATA extern void* __vt__14mDoHIO_entry_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__14mDoHIO_entry_cFv, -}; - -/* 805A8D98-805A8DF4 0009F8 005C+00 2/1 0/0 0/0 .text __dt__12daYkgr_HIO_cFv */ -daYkgr_HIO_c::~daYkgr_HIO_c() { - // NONMATCHING -} - -/* 805A8DF4-805A8E3C 000A54 0048+00 1/0 0/0 0/0 .text __dt__14mDoHIO_entry_cFv */ -void __dt__14mDoHIO_entry_cFv() { -//asm mDoHIO_entry_c::~mDoHIO_entry_c() { - // NONMATCHING -} - -/* 805A8E3C-805A8E9C 000A9C 0060+00 2/1 0/0 0/0 .text __dt__17dPa_YkgrPcallBackFv */ -#ifdef NONMATCHING -dPa_YkgrPcallBack::~dPa_YkgrPcallBack() { -} -#else -dPa_YkgrPcallBack::~dPa_YkgrPcallBack() { - // NONMATCHING -} -#endif - -/* 805A8E9C-805A8EA0 000AFC 0004+00 2/0 0/0 0/0 .text - * execute__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle */ -void JPAParticleCallBack::execute(JPABaseEmitter* param_0, JPABaseParticle* param_1) { - /* empty function */ -} - -/* ############################################################################################## */ -/* 805A9008-805A900C 00004C 0004+00 0/1 0/0 0/0 .rodata @4061 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4061 = -16.0f; -COMPILER_STRIP_GATE(0x805A9008, &lit_4061); -#pragma pop - -/* 805A900C-805A9010 000050 0004+00 0/1 0/0 0/0 .rodata @4062 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4062 = -5.0f; -COMPILER_STRIP_GATE(0x805A900C, &lit_4062); -#pragma pop - -/* 805A9010-805A9014 000054 0004+00 0/1 0/0 0/0 .rodata @4063 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4063 = 1500.0f; -COMPILER_STRIP_GATE(0x805A9010, &lit_4063); -#pragma pop - -/* 805A9014-805A9018 000058 0004+00 0/1 0/0 0/0 .rodata @4064 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4064 = 500.0f; -COMPILER_STRIP_GATE(0x805A9014, &lit_4064); -#pragma pop - -/* 805A8EA0-805A8FA4 000B00 0104+00 0/0 1/0 0/0 .text __sinit_d_a_ykgr_cpp */ -void __sinit_d_a_ykgr_cpp() { - // NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x805A8EA0, __sinit_d_a_ykgr_cpp); -#pragma pop - -/* 805A8FA4-805A8FA8 000C04 0004+00 1/0 0/0 0/0 .text - * draw__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle */ -void JPAParticleCallBack::draw(JPABaseEmitter* param_0, JPABaseParticle* param_1) { - /* empty function */ -} - -/* ############################################################################################## */ -/* 805A9158-805A915C 0000A8 0004+00 0/0 0/0 0/0 .bss - * sInstance__40JASGlobalInstance<19JASDefaultBankTable> */ -#pragma push -#pragma force_active on -static u8 data_805A9158[4]; -#pragma pop - -/* 805A915C-805A9160 0000AC 0004+00 0/0 0/0 0/0 .bss - * sInstance__35JASGlobalInstance<14JASAudioThread> */ -#pragma push -#pragma force_active on -static u8 data_805A915C[4]; -#pragma pop - -/* 805A9160-805A9164 0000B0 0004+00 0/0 0/0 0/0 .bss sInstance__27JASGlobalInstance<7Z2SeMgr> */ -#pragma push -#pragma force_active on -static u8 data_805A9160[4]; -#pragma pop - -/* 805A9164-805A9168 0000B4 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8Z2SeqMgr> */ -#pragma push -#pragma force_active on -static u8 data_805A9164[4]; -#pragma pop - -/* 805A9168-805A916C 0000B8 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SceneMgr> - */ -#pragma push -#pragma force_active on -static u8 data_805A9168[4]; -#pragma pop - -/* 805A916C-805A9170 0000BC 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2StatusMgr> - */ -#pragma push -#pragma force_active on -static u8 data_805A916C[4]; -#pragma pop - -/* 805A9170-805A9174 0000C0 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2DebugSys> - */ -#pragma push -#pragma force_active on -static u8 data_805A9170[4]; -#pragma pop - -/* 805A9174-805A9178 0000C4 0004+00 0/0 0/0 0/0 .bss - * sInstance__36JASGlobalInstance<15JAISoundStarter> */ -#pragma push -#pragma force_active on -static u8 data_805A9174[4]; -#pragma pop - -/* 805A9178-805A917C 0000C8 0004+00 0/0 0/0 0/0 .bss - * sInstance__35JASGlobalInstance<14Z2SoundStarter> */ -#pragma push -#pragma force_active on -static u8 data_805A9178[4]; -#pragma pop - -/* 805A917C-805A9180 0000CC 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12Z2SpeechMgr2> */ -#pragma push -#pragma force_active on -static u8 data_805A917C[4]; -#pragma pop - -/* 805A9180-805A9184 0000D0 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8JAISeMgr> */ -#pragma push -#pragma force_active on -static u8 data_805A9180[4]; -#pragma pop - -/* 805A9184-805A9188 0000D4 0004+00 0/0 0/0 0/0 .bss sInstance__29JASGlobalInstance<9JAISeqMgr> */ -#pragma push -#pragma force_active on -static u8 data_805A9184[4]; -#pragma pop - -/* 805A9188-805A918C 0000D8 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAIStreamMgr> */ -#pragma push -#pragma force_active on -static u8 data_805A9188[4]; -#pragma pop - -/* 805A918C-805A9190 0000DC 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SoundMgr> - */ -#pragma push -#pragma force_active on -static u8 data_805A918C[4]; -#pragma pop - -/* 805A9190-805A9194 0000E0 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAISoundInfo> */ -#pragma push -#pragma force_active on -static u8 data_805A9190[4]; -#pragma pop - -/* 805A9194-805A9198 0000E4 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13JAUSoundTable> */ -#pragma push -#pragma force_active on -static u8 data_805A9194[4]; -#pragma pop - -/* 805A9198-805A919C 0000E8 0004+00 0/0 0/0 0/0 .bss - * sInstance__38JASGlobalInstance<17JAUSoundNameTable> */ -#pragma push -#pragma force_active on -static u8 data_805A9198[4]; -#pragma pop - -/* 805A919C-805A91A0 0000EC 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAUSoundInfo> */ -#pragma push -#pragma force_active on -static u8 data_805A919C[4]; -#pragma pop - -/* 805A91A0-805A91A4 0000F0 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SoundInfo> - */ -#pragma push -#pragma force_active on -static u8 data_805A91A0[4]; -#pragma pop - -/* 805A91A4-805A91A8 0000F4 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13Z2SoundObjMgr> */ -#pragma push -#pragma force_active on -static u8 data_805A91A4[4]; -#pragma pop - -/* 805A91A8-805A91AC 0000F8 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2Audience> - */ -#pragma push -#pragma force_active on -static u8 data_805A91A8[4]; -#pragma pop - -/* 805A91AC-805A91B0 0000FC 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2FxLineMgr> - */ -#pragma push -#pragma force_active on -static u8 data_805A91AC[4]; -#pragma pop - -/* 805A91B0-805A91B4 000100 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2EnvSeMgr> - */ -#pragma push -#pragma force_active on -static u8 data_805A91B0[4]; -#pragma pop - -/* 805A91B4-805A91B8 000104 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SpeechMgr> - */ -#pragma push -#pragma force_active on -static u8 data_805A91B4[4]; -#pragma pop - -/* 805A91B8-805A91BC 000108 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13Z2WolfHowlMgr> */ -#pragma push -#pragma force_active on -static u8 data_805A91B8[4]; -#pragma pop - -/* 805A9018-805A9018 00005C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
\ No newline at end of file +AUDIO_INSTANCES; |
