diff --git a/config/SOUE01/symbols.txt b/config/SOUE01/symbols.txt index 5330010d..fd5a5fbe 100644 --- a/config/SOUE01/symbols.txt +++ b/config/SOUE01/symbols.txt @@ -14174,17 +14174,17 @@ __sinit_\d_a_obj_boomerang_cpp = .text:0x80265110; // type:function size:0x41C __dt__29sFStateID_c<14dAcBoomerang_c>Fv = .text:0x80265530; // type:function size:0x58 isSameName__29sFStateID_c<14dAcBoomerang_c>CFPCc = .text:0x80265590; // type:function size:0x88 dAcOFairy_c_classInit__Fv = .text:0x80265620; // type:function size:0x144 -__dt__24sFState_c<11dAcOFairy_c>Fv = .text:0x80265770; // type:function size:0x58 -__dt__27sFStateFct_c<11dAcOFairy_c>Fv = .text:0x802657D0; // type:function size:0x6C -__dt__80sStateMgr_c<11dAcOFairy_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80265840; // type:function size:0xA0 -__dt__50sFStateMgr_c<11dAcOFairy_c,20sStateMethodUsr_FI_c>Fv = .text:0x802658E0; // type:function size:0xA4 +__dt__24sFState_c<11dAcOFairy_c>Fv = .text:0x80265770; // type:function size:0x58 scope:weak +__dt__27sFStateFct_c<11dAcOFairy_c>Fv = .text:0x802657D0; // type:function size:0x6C scope:weak +__dt__80sStateMgr_c<11dAcOFairy_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80265840; // type:function size:0xA0 scope:weak +__dt__50sFStateMgr_c<11dAcOFairy_c,20sStateMethodUsr_FI_c>Fv = .text:0x802658E0; // type:function size:0xA4 scope:weak createHeap__11dAcOFairy_cFv = .text:0x80265990; // type:function size:0x78 create__11dAcOFairy_cFv = .text:0x80265A10; // type:function size:0x478 -changeState__80sStateMgr_c<11dAcOFairy_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x80265E90; // type:function size:0x10 +changeState__80sStateMgr_c<11dAcOFairy_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x80265E90; // type:function size:0x10 scope:weak doDelete__11dAcOFairy_cFv = .text:0x80265EA0; // type:function size:0x78 actorExecute__11dAcOFairy_cFv = .text:0x80265F20; // type:function size:0x578 -getStateID__80sStateMgr_c<11dAcOFairy_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x802664A0; // type:function size:0x10 -executeState__80sStateMgr_c<11dAcOFairy_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x802664B0; // type:function size:0x10 +getStateID__80sStateMgr_c<11dAcOFairy_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x802664A0; // type:function size:0x10 scope:weak +executeState__80sStateMgr_c<11dAcOFairy_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x802664B0; // type:function size:0x10 scope:weak draw__11dAcOFairy_cFv = .text:0x802664C0; // type:function size:0x10C initializeState_Wait__11dAcOFairy_cFv = .text:0x802665D0; // type:function size:0x64 executeState_Wait__11dAcOFairy_cFv = .text:0x80266640; // type:function size:0x38C @@ -14220,24 +14220,24 @@ executeCheckForWindOrBellows__11dAcOFairy_cFv = .text:0x802679F0; // type:functi randMaxSpeedY__11dAcOFairy_cCFv = .text:0x80267B50; // type:function size:0x2C shouldAvoidLink__11dAcOFairy_cCFv = .text:0x80267B80; // type:function size:0x6C isMovingAwayFromOrigY__11dAcOFairy_cCFv = .text:0x80267BF0; // type:function size:0x60 -__dt__11dAcOFairy_cFv = .text:0x80267C50; // type:function size:0x124 -build__27sFStateFct_c<11dAcOFairy_c>FRC12sStateIDIf_c = .text:0x80267D80; // type:function size:0x60 -dispose__27sFStateFct_c<11dAcOFairy_c>FRP10sStateIf_c = .text:0x80267DE0; // type:function size:0xC -initialize__24sFState_c<11dAcOFairy_c>Fv = .text:0x80267DF0; // type:function size:0x1C -execute__24sFState_c<11dAcOFairy_c>Fv = .text:0x80267E10; // type:function size:0x1C -finalize__24sFState_c<11dAcOFairy_c>Fv = .text:0x80267E30; // type:function size:0x1C -initializeState__80sStateMgr_c<11dAcOFairy_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80267E50; // type:function size:0x10 -finalizeState__80sStateMgr_c<11dAcOFairy_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80267E60; // type:function size:0x10 -refreshState__80sStateMgr_c<11dAcOFairy_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80267E70; // type:function size:0x10 -getState__80sStateMgr_c<11dAcOFairy_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80267E80; // type:function size:0x10 -getNewStateID__80sStateMgr_c<11dAcOFairy_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80267E90; // type:function size:0x10 -getOldStateID__80sStateMgr_c<11dAcOFairy_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80267EA0; // type:function size:0x10 -finalizeState__26sFStateID_c<11dAcOFairy_c>CFR11dAcOFairy_c = .text:0x80267EB0; // type:function size:0x30 -executeState__26sFStateID_c<11dAcOFairy_c>CFR11dAcOFairy_c = .text:0x80267EE0; // type:function size:0x30 -initializeState__26sFStateID_c<11dAcOFairy_c>CFR11dAcOFairy_c = .text:0x80267F10; // type:function size:0x30 +__dt__11dAcOFairy_cFv = .text:0x80267C50; // type:function size:0x124 scope:weak +build__27sFStateFct_c<11dAcOFairy_c>FRC12sStateIDIf_c = .text:0x80267D80; // type:function size:0x60 scope:weak +dispose__27sFStateFct_c<11dAcOFairy_c>FRP10sStateIf_c = .text:0x80267DE0; // type:function size:0xC scope:weak +initialize__24sFState_c<11dAcOFairy_c>Fv = .text:0x80267DF0; // type:function size:0x1C scope:weak +execute__24sFState_c<11dAcOFairy_c>Fv = .text:0x80267E10; // type:function size:0x1C scope:weak +finalize__24sFState_c<11dAcOFairy_c>Fv = .text:0x80267E30; // type:function size:0x1C scope:weak +initializeState__80sStateMgr_c<11dAcOFairy_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80267E50; // type:function size:0x10 scope:weak +finalizeState__80sStateMgr_c<11dAcOFairy_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80267E60; // type:function size:0x10 scope:weak +refreshState__80sStateMgr_c<11dAcOFairy_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80267E70; // type:function size:0x10 scope:weak +getState__80sStateMgr_c<11dAcOFairy_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80267E80; // type:function size:0x10 scope:weak +getNewStateID__80sStateMgr_c<11dAcOFairy_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80267E90; // type:function size:0x10 scope:weak +getOldStateID__80sStateMgr_c<11dAcOFairy_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80267EA0; // type:function size:0x10 scope:weak +finalizeState__26sFStateID_c<11dAcOFairy_c>CFR11dAcOFairy_c = .text:0x80267EB0; // type:function size:0x30 scope:weak +executeState__26sFStateID_c<11dAcOFairy_c>CFR11dAcOFairy_c = .text:0x80267EE0; // type:function size:0x30 scope:weak +initializeState__26sFStateID_c<11dAcOFairy_c>CFR11dAcOFairy_c = .text:0x80267F10; // type:function size:0x30 scope:weak __sinit_\d_a_obj_fairy_cpp = .text:0x80267F40; // type:function size:0x56C scope:local -__dt__26sFStateID_c<11dAcOFairy_c>Fv = .text:0x802684B0; // type:function size:0x58 -isSameName__26sFStateID_c<11dAcOFairy_c>CFPCc = .text:0x80268510; // type:function size:0x88 +__dt__26sFStateID_c<11dAcOFairy_c>Fv = .text:0x802684B0; // type:function size:0x58 scope:weak +isSameName__26sFStateID_c<11dAcOFairy_c>CFPCc = .text:0x80268510; // type:function size:0x88 scope:weak dAcTbox_c_classInit__Fv = .text:0x802685A0; // type:function size:0x30 tryGetDowsingTargetOffset__9dAcTbox_cFiR7mVec3_c = .text:0x802685D0; // type:function size:0x68 getDowsingTargetOffset__9dAcTbox_cFiR7mVec3_c = .text:0x80268640; // type:function size:0x4 @@ -36091,17 +36091,48 @@ __vt__30sFStateFct_c<14dAcBoomerang_c> = .data:0x80534C40; // type:object size:0 __vt__27sFState_c<14dAcBoomerang_c> = .data:0x80534C58; // type:object size:0x18 __vt__18dAcBoomerangProc_c = .data:0x80534C70; // type:object size:0x1D0 lbl_80534E40 = .data:0x80534E40; // type:object size:0x38 -g_profile_OBJ_FAIRY = .data:0x80534E78; // type:object size:0x68 -lbl_80534EE0 = .data:0x80534EE0; // type:object size:0x30 -lbl_80534F10 = .data:0x80534F10; // type:object size:0x9 data:string -lbl_80534F1C = .data:0x80534F1C; // type:object size:0xD data:string -lbl_80534F2C = .data:0x80534F2C; // type:object size:0x19 data:string +g_profile_OBJ_FAIRY = .data:0x80534E78; // type:object size:0x10 +...data.0 = .data:0x80534E78; // type:label scope:local +sSphSrc1 = .data:0x80534E88; // type:object size:0x2C scope:local +sSphSrc2 = .data:0x80534EB4; // type:object size:0x2C scope:local +sAttnTarget = .data:0x80534EE0; // type:object size:0x30 scope:local +@27475 = .data:0x80534F10; // type:object size:0x9 scope:local data:string +@27476 = .data:0x80534F1C; // type:object size:0xD scope:local data:string +@27563 = .data:0x80534F2C; // type:object size:0x19 scope:local data:string __vt__11dAcOFairy_c = .data:0x80534F48; // type:object size:0x80 -__vt__50sFStateMgr_c<11dAcOFairy_c,20sStateMethodUsr_FI_c> = .data:0x80534FC8; // type:object size:0x30 -__vt__80sStateMgr_c<11dAcOFairy_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x80534FF8; // type:object size:0x30 -__vt__27sFStateFct_c<11dAcOFairy_c> = .data:0x80535028; // type:object size:0x18 -__vt__24sFState_c<11dAcOFairy_c> = .data:0x80535040; // type:object size:0x1F8 -__vt__26sFStateID_c<11dAcOFairy_c> = .data:0x80535238; // type:object size:0x38 +__vt__50sFStateMgr_c<11dAcOFairy_c,20sStateMethodUsr_FI_c> = .data:0x80534FC8; // type:object size:0x30 scope:weak +__vt__80sStateMgr_c<11dAcOFairy_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x80534FF8; // type:object size:0x30 scope:weak +__vt__27sFStateFct_c<11dAcOFairy_c> = .data:0x80535028; // type:object size:0x14 scope:weak +__vt__24sFState_c<11dAcOFairy_c> = .data:0x80535040; // type:object size:0x18 scope:weak +@28233 = .data:0x80535064; // type:object size:0xC scope:local +@28234 = .data:0x80535070; // type:object size:0xC scope:local +@28235 = .data:0x8053507C; // type:object size:0xC scope:local +@28236 = .data:0x80535088; // type:object size:0xC scope:local +@28237 = .data:0x80535094; // type:object size:0xC scope:local +@28238 = .data:0x805350A0; // type:object size:0xC scope:local +@28239 = .data:0x805350AC; // type:object size:0xC scope:local +@28240 = .data:0x805350B8; // type:object size:0xC scope:local +@28241 = .data:0x805350C4; // type:object size:0xC scope:local +@28242 = .data:0x805350D0; // type:object size:0xC scope:local +@28243 = .data:0x805350DC; // type:object size:0xC scope:local +@28244 = .data:0x805350E8; // type:object size:0xC scope:local +@28245 = .data:0x805350F4; // type:object size:0xC scope:local +@28246 = .data:0x80535100; // type:object size:0xC scope:local +@28247 = .data:0x8053510C; // type:object size:0xC scope:local +@28248 = .data:0x80535118; // type:object size:0xC scope:local +@28249 = .data:0x80535124; // type:object size:0xC scope:local +@28250 = .data:0x80535130; // type:object size:0xC scope:local +@28251 = .data:0x8053513C; // type:object size:0xC scope:local +@28252 = .data:0x80535148; // type:object size:0xC scope:local +@28253 = .data:0x80535154; // type:object size:0xC scope:local +@28255 = .data:0x80535160; // type:object size:0x1A scope:local data:string +@28256 = .data:0x8053517C; // type:object size:0x1B scope:local data:string +@28257 = .data:0x80535198; // type:object size:0x21 scope:local data:string +@28258 = .data:0x805351BC; // type:object size:0x1F scope:local data:string +@28259 = .data:0x805351DC; // type:object size:0x1A scope:local data:string +@28260 = .data:0x805351F8; // type:object size:0x1D scope:local data:string +@28261 = .data:0x80535218; // type:object size:0x1F scope:local data:string +__vt__26sFStateID_c<11dAcOFairy_c> = .data:0x80535238; // type:object size:0x34 scope:weak g_profile_TBOX = .data:0x80535270; // type:object size:0x10 lbl_80535280 = .data:0x80535280; // type:object size:0xC data:string lbl_8053528C = .data:0x8053528C; // type:object size:0xC @@ -40783,12 +40814,12 @@ lbl_80573A20 = .sdata:0x80573A20; // type:object size:0x4 data:4byte lbl_80573A24 = .sdata:0x80573A24; // type:object size:0x4 data:4byte lbl_80573A28 = .sdata:0x80573A28; // type:object size:0x4 data:4byte lbl_80573A2C = .sdata:0x80573A2C; // type:object size:0x4 data:4byte -lbl_80573A30 = .sdata:0x80573A30; // type:object size:0x4 align:4 data:float -lbl_80573A34 = .sdata:0x80573A34; // type:object size:0x4 -lbl_80573A38 = .sdata:0x80573A38; // type:object size:0x4 -lbl_80573A3C = .sdata:0x80573A3C; // type:object size:0x4 -lbl_80573A40 = .sdata:0x80573A40; // type:object size:0x4 -lbl_80573A44 = .sdata:0x80573A44; // type:object size:0x4 data:4byte +@26080 = .sdata:0x80573A30; // type:object size:0x4 scope:local align:4 data:float +@26123 = .sdata:0x80573A34; // type:object size:0x4 scope:local +@26124 = .sdata:0x80573A38; // type:object size:0x4 scope:local +@26150 = .sdata:0x80573A3C; // type:object size:0x4 scope:local +@26167 = .sdata:0x80573A40; // type:object size:0x4 scope:local +@26240 = .sdata:0x80573A44; // type:object size:0x4 scope:local data:4byte lbl_80573A48 = .sdata:0x80573A48; // type:object size:0x8 lbl_80573A50 = .sdata:0x80573A50; // type:object size:0x4 lbl_80573A54 = .sdata:0x80573A54; // type:object size:0x4 @@ -42136,7 +42167,7 @@ lbl_805758F0 = .sbss:0x805758F0; // type:object size:0x2 data:2byte lbl_805758F4 = .sbss:0x805758F4; // type:object size:0x1 data:byte lbl_805758F8 = .sbss:0x805758F8; // type:object size:0x8 data:byte lbl_80575900 = .sbss:0x80575900; // type:object size:0x8 data:byte -@GUARD@draw__11dAcOFairy_cFv@rot = .sbss:0x80575908; // type:object size:0x8 data:byte +@GUARD@draw__11dAcOFairy_cFv@rot = .sbss:0x80575908; // type:object size:0x1 scope:local data:byte sTboxActorList__9dAcTbox_c = .sbss:0x80575910; // type:object size:0x8 data:4byte sCurrentObtainingItemOarcName = .sbss:0x80575918; // type:object size:0x4 data:4byte @GUARD@create__9dAcTbox_cFv@s1 = .sbss:0x8057591C; // type:object size:0x1 data:byte @@ -47799,48 +47830,48 @@ lbl_8057C170 = .sdata2:0x8057C170; // type:object size:0x4 align:4 data:float lbl_8057C174 = .sdata2:0x8057C174; // type:object size:0x4 align:4 data:float lbl_8057C178 = .sdata2:0x8057C178; // type:object size:0x4 align:4 data:float lbl_8057C17C = .sdata2:0x8057C17C; // type:object size:0x4 align:4 data:float -lbl_8057C180 = .sdata2:0x8057C180; // type:object size:0x4 align:4 data:float -lbl_8057C184 = .sdata2:0x8057C184; // type:object size:0x4 align:4 data:float -lbl_8057C188 = .sdata2:0x8057C188; // type:object size:0x4 align:4 data:float -lbl_8057C18C = .sdata2:0x8057C18C; // type:object size:0x4 align:4 data:float -lbl_8057C190 = .sdata2:0x8057C190; // type:object size:0x4 align:4 data:float -lbl_8057C194 = .sdata2:0x8057C194; // type:object size:0x4 align:4 data:float -lbl_8057C198 = .sdata2:0x8057C198; // type:object size:0x4 align:4 data:float -lbl_8057C19C = .sdata2:0x8057C19C; // type:object size:0x4 align:4 data:float -lbl_8057C1A0 = .sdata2:0x8057C1A0; // type:object size:0x4 align:4 data:float -lbl_8057C1A4 = .sdata2:0x8057C1A4; // type:object size:0x4 align:4 data:float -lbl_8057C1A8 = .sdata2:0x8057C1A8; // type:object size:0x4 align:4 data:float -lbl_8057C1B0 = .sdata2:0x8057C1B0; // type:object size:0x8 align:8 data:double -lbl_8057C1B8 = .sdata2:0x8057C1B8; // type:object size:0x4 align:4 data:float -lbl_8057C1BC = .sdata2:0x8057C1BC; // type:object size:0x4 align:4 data:float -lbl_8057C1C0 = .sdata2:0x8057C1C0; // type:object size:0x4 align:4 data:float -lbl_8057C1C8 = .sdata2:0x8057C1C8; // type:object size:0x8 align:8 data:double -lbl_8057C1D0 = .sdata2:0x8057C1D0; // type:object size:0x4 align:4 data:float -lbl_8057C1D4 = .sdata2:0x8057C1D4; // type:object size:0x4 align:4 data:float -lbl_8057C1D8 = .sdata2:0x8057C1D8; // type:object size:0x4 align:4 data:float -lbl_8057C1DC = .sdata2:0x8057C1DC; // type:object size:0x4 align:4 data:float -lbl_8057C1E0 = .sdata2:0x8057C1E0; // type:object size:0x4 align:4 data:float -lbl_8057C1E4 = .sdata2:0x8057C1E4; // type:object size:0x4 align:4 data:float -lbl_8057C1E8 = .sdata2:0x8057C1E8; // type:object size:0x4 align:4 data:float -lbl_8057C1EC = .sdata2:0x8057C1EC; // type:object size:0x4 align:4 data:float -lbl_8057C1F0 = .sdata2:0x8057C1F0; // type:object size:0x4 align:4 data:float -lbl_8057C1F4 = .sdata2:0x8057C1F4; // type:object size:0x4 align:4 data:float -lbl_8057C1F8 = .sdata2:0x8057C1F8; // type:object size:0x4 align:4 data:float -lbl_8057C1FC = .sdata2:0x8057C1FC; // type:object size:0x4 align:4 data:float -lbl_8057C200 = .sdata2:0x8057C200; // type:object size:0x4 align:4 data:float -lbl_8057C204 = .sdata2:0x8057C204; // type:object size:0x4 align:4 data:float -lbl_8057C208 = .sdata2:0x8057C208; // type:object size:0x4 align:4 data:float -lbl_8057C20C = .sdata2:0x8057C20C; // type:object size:0x4 align:4 data:float -lbl_8057C210 = .sdata2:0x8057C210; // type:object size:0x4 align:4 data:float -lbl_8057C214 = .sdata2:0x8057C214; // type:object size:0x4 align:4 data:float -lbl_8057C218 = .sdata2:0x8057C218; // type:object size:0x4 align:4 data:float -lbl_8057C21C = .sdata2:0x8057C21C; // type:object size:0x4 align:4 data:float -lbl_8057C220 = .sdata2:0x8057C220; // type:object size:0x4 align:4 data:float -lbl_8057C224 = .sdata2:0x8057C224; // type:object size:0x4 align:4 data:float -lbl_8057C228 = .sdata2:0x8057C228; // type:object size:0x4 align:4 data:float -lbl_8057C22C = .sdata2:0x8057C22C; // type:object size:0x4 align:4 data:float -lbl_8057C230 = .sdata2:0x8057C230; // type:object size:0x4 align:4 data:float -lbl_8057C234 = .sdata2:0x8057C234; // type:object size:0x4 align:4 data:float +@27564 = .sdata2:0x8057C180; // type:object size:0x4 scope:local align:4 data:float +@27565 = .sdata2:0x8057C184; // type:object size:0x4 scope:local align:4 data:float +@27566 = .sdata2:0x8057C188; // type:object size:0x4 scope:local align:4 data:float +@27567 = .sdata2:0x8057C18C; // type:object size:0x4 scope:local align:4 data:float +@27568 = .sdata2:0x8057C190; // type:object size:0x4 scope:local align:4 data:float +@27569 = .sdata2:0x8057C194; // type:object size:0x4 scope:local align:4 data:float +@27570 = .sdata2:0x8057C198; // type:object size:0x4 scope:local align:4 data:float +@27571 = .sdata2:0x8057C19C; // type:object size:0x4 scope:local align:4 data:float +@27572 = .sdata2:0x8057C1A0; // type:object size:0x4 scope:local align:4 data:float +@27573 = .sdata2:0x8057C1A4; // type:object size:0x4 scope:local align:4 data:float +@27574 = .sdata2:0x8057C1A8; // type:object size:0x4 scope:local align:4 data:float +@27577 = .sdata2:0x8057C1B0; // type:object size:0x8 scope:local align:8 data:double +@27682 = .sdata2:0x8057C1B8; // type:object size:0x4 scope:local align:4 data:float +@27683 = .sdata2:0x8057C1BC; // type:object size:0x4 scope:local align:4 data:float +@27684 = .sdata2:0x8057C1C0; // type:object size:0x4 scope:local align:4 data:float +@27687 = .sdata2:0x8057C1C8; // type:object size:0x8 scope:local align:8 data:double +@27804 = .sdata2:0x8057C1D0; // type:object size:0x4 scope:local align:4 data:float +@27805 = .sdata2:0x8057C1D4; // type:object size:0x4 scope:local align:4 data:float +@27806 = .sdata2:0x8057C1D8; // type:object size:0x4 scope:local align:4 data:float +@27807 = .sdata2:0x8057C1DC; // type:object size:0x4 scope:local align:4 data:float +@27808 = .sdata2:0x8057C1E0; // type:object size:0x4 scope:local align:4 data:float +@27809 = .sdata2:0x8057C1E4; // type:object size:0x4 scope:local align:4 data:float +@27810 = .sdata2:0x8057C1E8; // type:object size:0x4 scope:local align:4 data:float +@27811 = .sdata2:0x8057C1EC; // type:object size:0x4 scope:local align:4 data:float +@27812 = .sdata2:0x8057C1F0; // type:object size:0x4 scope:local align:4 data:float +@27813 = .sdata2:0x8057C1F4; // type:object size:0x4 scope:local align:4 data:float +@27814 = .sdata2:0x8057C1F8; // type:object size:0x4 scope:local align:4 data:float +@27815 = .sdata2:0x8057C1FC; // type:object size:0x4 scope:local align:4 data:float +@27846 = .sdata2:0x8057C200; // type:object size:0x4 scope:local align:4 data:float +@27921 = .sdata2:0x8057C204; // type:object size:0x4 scope:local align:4 data:float +@27945 = .sdata2:0x8057C208; // type:object size:0x4 scope:local align:4 data:float +@27946 = .sdata2:0x8057C20C; // type:object size:0x4 scope:local align:4 data:float +@27947 = .sdata2:0x8057C210; // type:object size:0x4 scope:local align:4 data:float +@27948 = .sdata2:0x8057C214; // type:object size:0x4 scope:local align:4 data:float +@27959 = .sdata2:0x8057C218; // type:object size:0x4 scope:local align:4 data:float +@27960 = .sdata2:0x8057C21C; // type:object size:0x4 scope:local align:4 data:float +@27969 = .sdata2:0x8057C220; // type:object size:0x4 scope:local align:4 data:float +@27975 = .sdata2:0x8057C224; // type:object size:0x4 scope:local align:4 data:float +@28054 = .sdata2:0x8057C228; // type:object size:0x4 scope:local align:4 data:float +@28055 = .sdata2:0x8057C22C; // type:object size:0x4 scope:local align:4 data:float +@28158 = .sdata2:0x8057C230; // type:object size:0x4 scope:local align:4 data:float +@28159 = .sdata2:0x8057C234; // type:object size:0x4 scope:local align:4 data:float lbl_8057C238 = .sdata2:0x8057C238; // type:object size:0x4 data:4byte lbl_8057C23C = .sdata2:0x8057C23C; // type:object size:0x4 data:4byte lbl_8057C240 = .sdata2:0x8057C240; // type:object size:0x4 data:4byte @@ -51877,15 +51908,22 @@ StateID_Move__14dAcBoomerang_c = .bss:0x805B4CD8; // type:object size:0x40 data: StateID_MoveCancelWait__14dAcBoomerang_c = .bss:0x805B4D18; // type:object size:0x40 data:4byte StateID_ReturnWait__14dAcBoomerang_c = .bss:0x805B4D58; // type:object size:0x40 data:4byte StateID_EventReturnWait__14dAcBoomerang_c = .bss:0x805B4D98; // type:object size:0x40 data:4byte -lbl_805B4DD8 = .bss:0x805B4DD8; // type:object size:0x10 -AcFairy__STATE_WAIT = .bss:0x805B4DE8; // type:object size:0x40 data:4byte -AcFairy__STATE_AVOID = .bss:0x805B4E28; // type:object size:0x40 data:4byte -AcFairy__STATE_PLAYER_AVOID = .bss:0x805B4E68; // type:object size:0x40 data:4byte -AcFairy__STATE_CURE_START = .bss:0x805B4EA8; // type:object size:0x40 data:4byte -AcFairy__STATE_CURE = .bss:0x805B4EE8; // type:object size:0x40 data:4byte -AcFairy__STATE_CURE_END = .bss:0x805B4F28; // type:object size:0x40 data:4byte +@25786 = .bss:0x805B4DD8; // type:object size:0xC scope:local +...bss.0 = .bss:0x805B4DD8; // type:label scope:local +StateID_Wait__11dAcOFairy_c = .bss:0x805B4DE8; // type:object size:0x30 data:4byte +@25790 = .bss:0x805B4E18; // type:object size:0xC scope:local +StateID_Avoid__11dAcOFairy_c = .bss:0x805B4E28; // type:object size:0x30 data:4byte +@25794 = .bss:0x805B4E58; // type:object size:0xC scope:local +StateID_PlayerAvoid__11dAcOFairy_c = .bss:0x805B4E68; // type:object size:0x30 data:4byte +@25798 = .bss:0x805B4E98; // type:object size:0xC scope:local +StateID_CureStart__11dAcOFairy_c = .bss:0x805B4EA8; // type:object size:0x30 data:4byte +@25802 = .bss:0x805B4ED8; // type:object size:0xC scope:local +StateID_Cure__11dAcOFairy_c = .bss:0x805B4EE8; // type:object size:0x30 data:4byte +@25806 = .bss:0x805B4F18; // type:object size:0xC scope:local +StateID_CureEnd__11dAcOFairy_c = .bss:0x805B4F28; // type:object size:0x30 data:4byte +@25810 = .bss:0x805B4F58; // type:object size:0xC scope:local StateID_CatchDemo__11dAcOFairy_c = .bss:0x805B4F68; // type:object size:0x30 data:4byte -@LOCAL@draw__11dAcOFairy_cFv@rot = .bss:0x805B4F98; // type:object size:0x10 align:4 data:4byte +@LOCAL@draw__11dAcOFairy_cFv@rot = .bss:0x805B4F98; // type:object size:0x10 scope:local align:4 data:4byte lbl_805B4FA8 = .bss:0x805B4FA8; // type:object size:0x30 align:4 data:float lbl_805B4FD8 = .bss:0x805B4FD8; // type:object size:0xC align:4 data:float lbl_805B4FE4 = .bss:0x805B4FE4; // type:object size:0xC align:4 data:float diff --git a/configure.py b/configure.py index e6315bf0..77fdc8ff 100644 --- a/configure.py +++ b/configure.py @@ -609,7 +609,7 @@ config.libs = [ Object(NonMatching, "d/a/obj/d_a_obj_bomb.cpp"), Object(NonMatching, "d/a/obj/d_a_obj_arrow.cpp"), Object(NonMatching, "d/a/obj/d_a_obj_boomerang.cpp"), - Object(NonMatching, "d/a/obj/d_a_obj_fairy.cpp"), + Object(Matching, "d/a/obj/d_a_obj_fairy.cpp"), Object(NonMatching, "d/a/obj/d_a_obj_tbox.cpp"), Object(NonMatching, "d/a/obj/d_a_obj_time_area.cpp"), Object(Matching, "d/a/obj/d_a_obj_switch.cpp"), diff --git a/include/m/m_vec.h b/include/m/m_vec.h index d054ccde..852ba68b 100644 --- a/include/m/m_vec.h +++ b/include/m/m_vec.h @@ -259,6 +259,9 @@ public: f32 absXZ() const { return EGG::Math::sqrt(squareMagXZ()); } + f32 absXZTo(const mVec3_c &other) const { + return EGG::Math::sqrt(squareDistanceToXZ(other)); + } s16 atan2sX_Z() const { return cM::atan2s(x, z); } diff --git a/src/d/a/obj/d_a_obj_fairy.cpp b/src/d/a/obj/d_a_obj_fairy.cpp index e7798dde..e5cb70e1 100644 --- a/src/d/a/obj/d_a_obj_fairy.cpp +++ b/src/d/a/obj/d_a_obj_fairy.cpp @@ -286,7 +286,7 @@ void dAcOFairy_c::executeState_Wait() { mVelocity.y = cM::minMaxLimit(mVelocity.y, -mMaxSpeedY, mMaxSpeedY); - f32 diff = (mOrigPosition - mPosition).absXZ(); + f32 diff = mOrigPosition.absXZTo(mPosition); f32 yDiff = mPosition.y - mOrigPosition.y; yDiff = nw4r::math::FAbs(yDiff); @@ -302,8 +302,6 @@ void dAcOFairy_c::executeState_Wait() { mVec3_c v = mOrigPosition - mPosition; v.normalize(); f32 factor = 1.0f / mVelocity.mag(); - // mVec3_c tmp = mVelocity * factor; - // TODO stack order problem - using tmp "works" but misses mfcr + srwi. if (v.dot(mVelocity * factor) < 0.9f) { mAngle.y += mTurnSpeedY; }