fix stuff

This commit is contained in:
gymnast86
2025-09-30 22:12:09 -07:00
parent 0f7e070c14
commit bb05c5239f
4 changed files with 88 additions and 82 deletions
+50 -50
View File
@@ -5,27 +5,27 @@ __register_global_object = .text:0x00000070; // type:function size:0x1C scope:gl
__destroy_global_chain = .text:0x00000090; // type:function size:0x54 scope:global
dAcOWarp_c_classInit__Fv = .text:0x000000F0; // type:function size:0x258
__dt__10dAcOWarp_cFv = .text:0x00000350; // type:function size:0x58
fn_292_3B0 = .text:0x000003B0; // type:function size:0x3C
fn_292_3F0 = .text:0x000003F0; // type:function size:0x64
__ct__Q23m3d8anmChr_cFv = .text:0x000003B0; // type:function size:0x3C
__ct__Q23m3d11anmMatClr_cFv = .text:0x000003F0; // type:function size:0x64
fn_292_460 = .text:0x00000460; // type:function size:0x40
fn_292_4A0 = .text:0x000004A0; // type:function size:0x58
__dt__23sFState_c<10dAcOWarp_c>Fv = .text:0x00000500; // type:function size:0x58
__dt__26sFStateFct_c<10dAcOWarp_c>Fv = .text:0x00000560; // type:function size:0x6C
__dt__79sStateMgr_c<10dAcOWarp_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x000005D0; // type:function size:0xA0
__dt__49sFStateMgr_c<10dAcOWarp_c,20sStateMethodUsr_FI_c>Fv = .text:0x00000670; // type:function size:0xA4
AcOWarp__initModels = .text:0x00000720; // type:function size:0x4C
AcOWarp__init = .text:0x00000770; // type:function size:0x594
createHeap__10dAcOWarp_cFv = .text:0x00000720; // type:function size:0x4C
create__10dAcOWarp_cFv = .text:0x00000770; // type:function size:0x594
changeState__79sStateMgr_c<10dAcOWarp_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x00000D10; // type:function size:0x10
AcOWarp__init2 = .text:0x00000D20; // type:function size:0xE0
init2__10dAcOWarp_cFv = .text:0x00000D20; // type:function size:0xE0
getStateID__79sStateMgr_c<10dAcOWarp_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x00000E00; // type:function size:0x10
fn_292_E10 = .text:0x00000E10; // type:function size:0x10C
AcOWarp__update = .text:0x00000F20; // type:function size:0x2C8
fn_292_E10__10dAcOWarp_cFv = .text:0x00000E10; // type:function size:0x10C
update__10dAcOWarp_cFv = .text:0x00000F20; // type:function size:0x2C8
executeState__79sStateMgr_c<10dAcOWarp_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x000011F0; // type:function size:0x10
fn_292_1200 = .text:0x00001200; // type:function size:0x134
fn_292_1340 = .text:0x00001340; // type:function size:0x328
AcOWarp__updateInEvent = .text:0x00001670; // type:function size:0x530
AcOWarp__decr<s8> = .text:0x00001BA0; // type:function size:0x1C
AcOWarp__draw = .text:0x00001BC0; // type:function size:0xC8
fun_292_1200__10dAcOWarp_cFi = .text:0x00001200; // type:function size:0x134
fun_292_1340__10dAcOWarp_cFv = .text:0x00001340; // type:function size:0x328
updateInEvent__10dAcOWarp_cFv = .text:0x00001670; // type:function size:0x530
decr<Sc>__10dAcOWarp_cFRSc_Sc = .text:0x00001BA0; // type:function size:0x1C
draw__10dAcOWarp_cFv = .text:0x00001BC0; // type:function size:0xC8
initializeState_Wait__10dAcOWarp_cFv = .text:0x00001C90; // type:function size:0x4
executeState_Wait__10dAcOWarp_cFv = .text:0x00001CA0; // type:function size:0x33C
finalizeState_Wait__10dAcOWarp_cFv = .text:0x00001FE0; // type:function size:0x4
@@ -48,41 +48,41 @@ finalizeState_GateIn__10dAcOWarp_cFv = .text:0x00002D30; // type:function size:0
initializeState_GateClear__10dAcOWarp_cFv = .text:0x00002D40; // type:function size:0x9C
executeState_GateClear__10dAcOWarp_cFv = .text:0x00002DE0; // type:function size:0x168
finalizeState_GateClear__10dAcOWarp_cFv = .text:0x00002F50; // type:function size:0x4
fn_292_2F60 = .text:0x00002F60; // type:function size:0xDC
AcOWarp__triggerOutExitOfTrial = .text:0x00003040; // type:function size:0x64
fn_292_30B0 = .text:0x000030B0; // type:function size:0x9C
fn_292_3150 = .text:0x00003150; // type:function size:0x578
fn_292_36D0 = .text:0x000036D0; // type:function size:0x278
fn_292_3950 = .text:0x00003950; // type:function size:0x9C
fn_292_39F0 = .text:0x000039F0; // type:function size:0xE8
fn_292_3AE0 = .text:0x00003AE0; // type:function size:0x3DC
fn_292_3EC0 = .text:0x00003EC0; // type:function size:0x228
fn_292_40F0 = .text:0x000040F0; // type:function size:0xBC
AcOWarp__checkHasSongItem = .text:0x000041B0; // type:function size:0x104
fn_292_42C0 = .text:0x000042C0; // type:function size:0xD8
fn_292_43A0 = .text:0x000043A0; // type:function size:0x284
AcOWarp__shouldDowse = .text:0x00004630; // type:function size:0x18C
fn_292_47C0 = .text:0x000047C0; // type:function size:0x124
fn_292_48F0 = .text:0x000048F0; // type:function size:0x4
fn_292_4900 = .text:0x00004900; // type:function size:0x44
fn_292_4950 = .text:0x00004950; // type:function size:0xC
fn_292_4960 = .text:0x00004960; // type:function size:0xC
fn_292_4970 = .text:0x00004970; // type:function size:0xC
fn_292_4980 = .text:0x00004980; // type:function size:0x8
fn_292_4990 = .text:0x00004990; // type:function size:0x8
fn_292_49A0 = .text:0x000049A0; // type:function size:0x50
fn_292_49F0 = .text:0x000049F0; // type:function size:0x8
fn_292_4A00 = .text:0x00004A00; // type:function size:0x58
fn_292_4A60 = .text:0x00004A60; // type:function size:0x1E0
fn_292_4C40 = .text:0x00004C40; // type:function size:0x4
fn_292_4C50 = .text:0x00004C50; // type:function size:0x4
fn_292_4C60 = .text:0x00004C60; // type:function size:0x4
fn_292_4C70 = .text:0x00004C70; // type:function size:0x8
fn_292_4C80 = .text:0x00004C80; // type:function size:0x4
fn_292_4C90 = .text:0x00004C90; // type:function size:0x4
fn_292_4CA0 = .text:0x00004CA0; // type:function size:0x4
fn_292_4CB0 = .text:0x00004CB0; // type:function size:0x4
fn_292_4CC0 = .text:0x00004CC0; // type:function size:0x4
fun_292_2F60__10dAcOWarp_cFv = .text:0x00002F60; // type:function size:0xDC
triggerOutExitOfTrial__10dAcOWarp_cFv = .text:0x00003040; // type:function size:0x64
fun_292_30B0__10dAcOWarp_cFv = .text:0x000030B0; // type:function size:0x9C
fun_292_3150__10dAcOWarp_cFv = .text:0x00003150; // type:function size:0x578
fun_292_36D0__10dAcOWarp_cFv = .text:0x000036D0; // type:function size:0x278
fun_292_3950__10dAcOWarp_cFv = .text:0x00003950; // type:function size:0x9C
fun_292_39F0__10dAcOWarp_cFv = .text:0x000039F0; // type:function size:0xE8
fun_292_3AE0__10dAcOWarp_cFv = .text:0x00003AE0; // type:function size:0x3DC
fun_292_3EC0__10dAcOWarp_cFv = .text:0x00003EC0; // type:function size:0x228
fun_292_40F0__10dAcOWarp_cFv = .text:0x000040F0; // type:function size:0xBC
checkHasSongItem__10dAcOWarp_cFi = .text:0x000041B0; // type:function size:0x104
fun_292_42C0__10dAcOWarp_cFv = .text:0x000042C0; // type:function size:0xD8
fun_292_43A0__10dAcOWarp_cFv = .text:0x000043A0; // type:function size:0x284
shouldDowse__10dAcOWarp_cFv = .text:0x00004630; // type:function size:0x18C
fun_292_47C0__10dAcOWarp_cFlUl = .text:0x000047C0; // type:function size:0x124
fun_292_48F0__10dAcOWarp_cFv = .text:0x000048F0; // type:function size:0x4
fun_292_4900__10dAcOWarp_cFv = .text:0x00004900; // type:function size:0x44
fun_292_4950__10dAcOWarp_cFv = .text:0x00004950; // type:function size:0xC
fun_292_4960__10dAcOWarp_cFv = .text:0x00004960; // type:function size:0xC
fun_292_4970__10dAcOWarp_cFv = .text:0x00004970; // type:function size:0xC
fun_292_4980__10dAcOWarp_cFv = .text:0x00004980; // type:function size:0x8
fun_292_4990__10dAcOWarp_cFv = .text:0x00004990; // type:function size:0x8
fun_292_49A0__10dAcOWarp_cFv = .text:0x000049A0; // type:function size:0x50
fun_292_49F0__10dAcOWarp_cFv = .text:0x000049F0; // type:function size:0x8
fun_292_4A00__10dAcOWarp_cFv = .text:0x00004A00; // type:function size:0x58
__dt__10dAcOWarp_cFv = .text:0x00004A60; // type:function size:0x1E0
fun_292_4C40__10dAcOWarp_cFv = .text:0x00004C40; // type:function size:0x4
fun_292_4C50__10dAcOWarp_cFv = .text:0x00004C50; // type:function size:0x4
fun_292_4C60__10dAcOWarp_cFv = .text:0x00004C60; // type:function size:0x4
fun_292_4C70__10dAcOWarp_cFv = .text:0x00004C70; // type:function size:0x8
fun_292_4C80__10dAcOWarp_cFv = .text:0x00004C80; // type:function size:0x4
fun_292_4C90__10dAcOWarp_cFv = .text:0x00004C90; // type:function size:0x4
fun_292_4CA0__10dAcOWarp_cFv = .text:0x00004CA0; // type:function size:0x4
fun_292_4CB0__10dAcOWarp_cFv = .text:0x00004CB0; // type:function size:0x4
fun_292_4CC0__10dAcOWarp_cFv = .text:0x00004CC0; // type:function size:0x4
build__26sFStateFct_c<10dAcOWarp_c>FRC12sStateIDIf_c = .text:0x00004CD0; // type:function size:0x60
dispose__26sFStateFct_c<10dAcOWarp_c>FRP10sStateIf_c = .text:0x00004D30; // type:function size:0xC
initialize__23sFState_c<10dAcOWarp_c>Fv = .text:0x00004D40; // type:function size:0x1C
@@ -118,12 +118,12 @@ lbl_292_data_0 = .data:0x00000000; // type:object size:0x8 data:4byte
g_profile_OBJ_WARP = .data:0x00000008; // type:object size:0x10
lbl_292_data_18 = .data:0x00000018; // type:object size:0x68
lbl_292_data_80 = .data:0x00000080; // type:object size:0x10
lbl_292_data_90 = .data:0x00000090; // type:object size:0x64
@30111 = .data:0x00000090; // type:object size:0x64
lbl_292_data_F4 = .data:0x000000F4; // type:object size:0x128
lbl_292_data_21C = .data:0x0000021C; // type:object size:0x4 data:4byte
lbl_292_data_220 = .data:0x00000220; // type:object size:0x18 data:string
@36553 = .data:0x00000220; // type:object size:0x18 data:string
lbl_292_data_238 = .data:0x00000238; // type:object size:0x8
AcOWarp__vtable = .data:0x00000240; // type:object size:0xB0
__vt__25sFStateID_c<10dAcOWarp_c> = .data:0x00000240; // type:object size:0xB0
lbl_292_data_2F0 = .data:0x000002F0; // type:object size:0x30
lbl_292_data_320 = .data:0x00000320; // type:object size:0x30
lbl_292_data_350 = .data:0x00000350; // type:object size:0x18
@@ -2,21 +2,21 @@ _prolog = .text:0x00000000; // type:function size:0x2C scope:global
_epilog = .text:0x00000030; // type:function size:0x2C scope:global
_unresolved = .text:0x00000060; // type:function size:0x4 scope:global
dAcOwarpHole_c_classInit__Fv = .text:0x00000070; // type:function size:0x6C
fn_619_E0 = .text:0x000000E0; // type:function size:0x8
AcOwarpHole__init = .text:0x000000F0; // type:function size:0xF8
fn_619_1F0 = .text:0x000001F0; // type:function size:0x8
AcOwarpHole__update = .text:0x00000200; // type:function size:0xDC
AcOwarpHole__updateInEvent = .text:0x000002E0; // type:function size:0x350
fn_619_630 = .text:0x00000630; // type:function size:0x8
createHeap__14dAcOwarpHole_cFv = .text:0x000000E0; // type:function size:0x8
create__14dAcOwarpHole_cFv = .text:0x000000F0; // type:function size:0xF8
doDelete__14dAcOwarpHole_cFv = .text:0x000001F0; // type:function size:0x8
actorExecute__14dAcOwarpHole_cFv = .text:0x00000200; // type:function size:0xDC
actorExecuteInEvent__14dAcOwarpHole_cFv = .text:0x000002E0; // type:function size:0x350
draw__14dAcOwarpHole_cFv = .text:0x00000630; // type:function size:0x8
__dt__14dAcOwarpHole_cFv = .text:0x00000640; // type:function size:0x80
_ctors = .ctors:0x00000000; // type:label scope:global
_dtors = .dtors:0x00000000; // type:label scope:global
lbl_619_rodata_0 = .rodata:0x00000000; // type:object size:0x4 data:float
lbl_619_rodata_4 = .rodata:0x00000004; // type:object size:0x4 align:4 data:float
lbl_619_rodata_8 = .rodata:0x00000008; // type:object size:0x10 align:4 data:float
dummy600__14dAcOwarpHole_c = .rodata:0x00000000; // type:object size:0x4 data:float
@24817 = .rodata:0x00000004; // type:object size:0x4 align:4 data:float
@24840 = .rodata:0x00000008; // type:object size:0x10 align:4 data:float
g_profile_OBJ_WARP_HOLE = .data:0x00000000; // type:object size:0x10
lbl_619_data_10 = .data:0x00000010; // type:object size:0x30
lbl_619_data_40 = .data:0x00000040; // type:object size:0x1C data:string
lbl_619_data_5C = .data:0x0000005C; // type:object size:0x1C
lbl_619_data_78 = .data:0x00000078; // type:object size:0x20
AcOwarpHole__vtable = .data:0x00000098; // type:object size:0x80
sCylSrc__14dAcOwarpHole_c = .data:0x00000010; // type:object size:0x30
@24816 = .data:0x00000040; // type:object size:0x1C data:string
@24841 = .data:0x0000005C; // type:object size:0x19 align:4 data:string
@24908 = .data:0x00000078; // type:object size:0x1C align:8 data:string
__vt__14dAcOwarpHole_c = .data:0x00000098; // type:object size:0x80
+1 -1
View File
@@ -412,7 +412,7 @@ public:
/* vt 0x2A8 */ virtual void lookTowardItem() {}
/* vt 0x2AC */ virtual void vt_0x2AC() {}
/* vt 0x2B0 */ virtual void vt_0x2B0() {}
/* vt 0x2B4 */ virtual void triggerMoveEventMaybe() {}
/* vt 0x2B4 */ virtual void triggerMoveEventMaybe(u32, u32, u32, mVec3_c &, u16, u32, u32) {}
/* vt 0x2B8 */ virtual void setActorRef9() {}
/* vt 0x2BC */ virtual void unlinkActorRef9() {}
/* vt 0x2C0 */ virtual bool vt_0x2C0() {
+23 -17
View File
@@ -5,6 +5,7 @@
#include "d/a/npc/d_a_npc_talk_kensei.h"
#include "d/col/cc/d_cc_s.h"
#include "d/d_sc_game.h"
#include "d/snd/d_snd_wzsound.h"
#include "toBeSorted/event_manager.h"
SPECIAL_ACTOR_PROFILE(OBJ_WARP_HOLE, dAcOwarpHole_c, fProfile::OBJ_WARP_HOLE, 0x25C, 0, 0);
@@ -38,8 +39,7 @@ int dAcOwarpHole_c::create() {
mLinkPos = dAcPy_c::GetLink()->mPosition;
mEff.init(this);
mWalkFramesMaybe = 0;
mPositionCopy2 = mPosition;
mPositionCopy2.y += 170.0f;
mPositionCopy2.set(mPosition.x, mPosition.y + 170.0f, mPosition.z);
mPositionCopy3 = mPositionCopy2;
return SUCCEEDED;
@@ -58,44 +58,49 @@ int dAcOwarpHole_c::actorExecute() {
dCcS::GetInstance()->Set(&mCcCyl);
updateMatrix();
mEff.createContinuousEffect(PARTICLE_RESOURCE_ID_MAPPING_914_, mWorldMtx, nullptr, nullptr);
holdSound(0xC90);
holdSound(SE_WarpH_Wait);
return SUCCEEDED;
}
int dAcOwarpHole_c::actorExecuteInEvent() {
mEff.createContinuousEffect(PARTICLE_RESOURCE_ID_MAPPING_914_, mWorldMtx, nullptr, nullptr);
holdSound(0xC90);
holdSound(SE_WarpH_Wait);
int retVal = NOT_READY;
bool advance = mEvent.isAdvance();
mPositionCopy2 = mPosition;
mPositionCopy2.y += 170.0f;
s16 targetAngleY;
mPositionCopy2.set(mPosition.x, mPosition.y + 170.0f, mPosition.z);
switch (mEvent.getCurrentEventCommand()) {
case 'none': mEvent.advanceNext(); break;
case 'none':
mEvent.advanceNext();
retVal = SUCCEEDED;
break;
case 'plwk':
if (advance) {
mLinkPos = dAcPy_c::GetLink()->mPosition;
targetAngleY = cLib::targetAngleY(mPosition, dAcPy_c::GetLink()->mPosition);
mLinkPos.x += 330.0f * nw4r::math::SinIdx(targetAngleY);
mLinkPos.z += 330.0f * nw4r::math::CosIdx(targetAngleY);
float multiplier330 = 330.0f;
mLinkPos = dAcPy_c::GetLinkM()->mPosition;
mAng targetAngleY = (mAng)cLib::targetAngleY(mPosition, dAcPy_c::GetLinkM()->getPosition());
mLinkPos.x += multiplier330 * targetAngleY.sin();
mLinkPos.z += multiplier330 * targetAngleY.cos();
}
if (EventManager::isInEvent()) {
if (EventManager::isCurrentEvent("BeforeLastBossBattleChicken")) {
dAcPy_c::GetLinkM()->vt_0x2AC();
dAcPy_c::GetLinkM()->triggerMoveEventMaybe(); // TODO: parameters
dAcPy_c* player = dAcPy_c::GetLinkM();
player->vt_0x2AC();
player->triggerMoveEventMaybe(2, 0, 0, mLinkPos, 0, 0, 0);
}
}
if (dAcPy_c::GetLinkM()->mPosition.absXZTo(mLinkPos) < 10.0f) {
mEvent.advanceNext();
}
retVal = SUCCEEDED;
break;
case 'warp':
if (advance) {
dJEffManager_c::spawnEffect(PARTICLE_RESOURCE_ID_MAPPING_916_, mWorldMtx, nullptr, nullptr, 0, 0);
mWalkFramesMaybe = 80;
}
if (mWalkFramesMaybe) {
if (mWalkFramesMaybe != 0) {
mWalkFramesMaybe -= 1;
}
if (mWalkFramesMaybe == 77) {
@@ -104,12 +109,13 @@ int dAcOwarpHole_c::actorExecuteInEvent() {
if (mWalkFramesMaybe == 20) {
dScGame_c::GetInstance()->triggerExit(mRoomID, mExitListIdx);
}
if (!mWalkFramesMaybe) {
if (mWalkFramesMaybe == 0) {
mEvent.advanceNext();
}
retVal = SUCCEEDED;
}
return SUCCEEDED;
return retVal;
}
int dAcOwarpHole_c::draw() {