mirror of
https://github.com/zeldaret/st
synced 2026-07-03 04:53:00 -04:00
Decompile overlay 1 (Part 3) (#95)
* ZeldaArrangeBinary OK * ZeldaMapBinary 26% * UnkStruct_SceneChange1 -> EntranceInfo * cleanup EntranceInfo ctors * fix regressions * ZeldaMapBinary 47% * fix regressions * ZeldaMapBinary 73% * ZeldaMapBinary 89% * ZeldaMapBinary 99%
This commit is contained in:
@@ -184,7 +184,7 @@ func_01ffe954 kind:function(arm,size=0x80) addr:0x01ffe954
|
||||
func_01ffe9d4 kind:function(arm,size=0x308) addr:0x01ffe9d4
|
||||
func_01ffecdc kind:function(arm,size=0xd0) addr:0x01ffecdc
|
||||
func_01ffedac kind:function(arm,size=0x48) addr:0x01ffedac
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base13func_01ffedf4EP5Vec2b kind:function(arm,size=0x1c) addr:0x01ffedf4
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base13func_01ffedf4EP8Vec2bCpp kind:function(arm,size=0x1c) addr:0x01ffedf4
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_28EP7VecFx32ii kind:function(arm,size=0x124) addr:0x01ffee10
|
||||
func_01ffef34 kind:function(arm,size=0x128) addr:0x01ffef34
|
||||
func_01fff05c kind:function(arm,size=0x58) addr:0x01fff05c
|
||||
@@ -204,7 +204,7 @@ _ZN12ActorManager13func_01fff3b4E8ActorRef kind:function(arm,size=0x8c) addr:0x0
|
||||
func_01fff440 kind:function(arm,size=0x18) addr:0x01fff440
|
||||
_ZN5Actor10GetActorIdEv kind:function(arm,size=0xc) addr:0x01fff458
|
||||
_ZN5Actor8vfunc_10EP7VecFx32 kind:function(arm,size=0x34) addr:0x01fff464
|
||||
_ZN16MapObjectManager13func_01fff498E5Vec2b kind:function(arm,size=0x34) addr:0x01fff498
|
||||
_ZN16MapObjectManager13func_01fff498E8Vec2bCpp kind:function(arm,size=0x34) addr:0x01fff498
|
||||
_ZN16MapObjectManager13func_01fff4ccEPFvPvS0_ES0_ kind:function(arm,size=0x54) addr:0x01fff4cc
|
||||
_ZN16MapObjectManager13func_01fff520EP24UnkStruct_ov000_020b34c4PP9MapObject kind:function(arm,size=0x64) addr:0x01fff520
|
||||
_ZN9MapObject14GetMapObjectIdEv kind:function(arm,size=0xc) addr:0x01fff584
|
||||
|
||||
@@ -62,6 +62,9 @@ src/000_Second/Actor/ActorUnkEFIK.cpp:
|
||||
.data start:0x020b342c end:0x020b34b0
|
||||
.bss start:0x020b5ce4 end:0x020b5d30
|
||||
|
||||
src/000_Second/MapObject/MapObjectManager_000.cpp:
|
||||
.text start:0x0209c3a8 end:0x0209c6a0
|
||||
|
||||
src/000_Second/MapObject/MapObjectProfile.cpp:
|
||||
complete
|
||||
.text start:0x0209c790 end:0x0209ce08
|
||||
|
||||
@@ -66,7 +66,7 @@ _ZN19func_ov000_02057734D0Ev kind:function(arm,size=0x1c) addr:0x02057734
|
||||
func_ov000_02057750 kind:function(thumb,size=0xc) addr:0x02057750
|
||||
func_ov000_0205775c kind:function(thumb,size=0x20) addr:0x0205775c
|
||||
func_ov000_0205777c kind:function(thumb,size=0xe) addr:0x0205777c
|
||||
_ZN10UnkSystem5C2EPvP10G3d_Model_ kind:function(thumb,size=0x18) addr:0x0205778c
|
||||
_ZN10UnkSystem5C1EPvP10G3d_Model_ kind:function(thumb,size=0x18) addr:0x0205778c
|
||||
_ZN10UnkSystem519func_ov000_020577a4Eiii kind:function(arm,size=0x54) addr:0x020577a4
|
||||
_ZN10UnkSystem519func_ov000_020577f8Ei kind:function(arm,size=0x38) addr:0x020577f8
|
||||
func_ov000_02057830 kind:function(arm,size=0x3c) addr:0x02057830
|
||||
@@ -223,12 +223,12 @@ _ZN18UnkStruct_027e096019func_ov000_0205a11cEv kind:function(arm,size=0x4) addr:
|
||||
_ZN18UnkStruct_027e096019func_ov000_0205a120Ev kind:function(arm,size=0x40) addr:0x0205a120
|
||||
_ZN18UnkStruct_027e096019func_ov000_0205a160Ev kind:function(arm,size=0x4) addr:0x0205a160
|
||||
_ZN18UnkStruct_027e096019func_ov000_0205a164Ev kind:function(arm,size=0x40) addr:0x0205a164
|
||||
func_ov000_0205a1a4 kind:function(arm,size=0x34) addr:0x0205a1a4
|
||||
_ZN18UnkStruct_027e096019func_ov000_0205a1a4Ev kind:function(arm,size=0x34) addr:0x0205a1a4
|
||||
_ZN18UnkStruct_027e09606CreateEv kind:function(arm,size=0x24) addr:0x0205a1d8
|
||||
func_ov000_0205a1fc kind:function(arm,size=0x8c) addr:0x0205a1fc
|
||||
func_ov000_0205a288 kind:function(arm,size=0x1c) addr:0x0205a288
|
||||
func_ov000_0205a2a4 kind:function(arm,size=0x24) addr:0x0205a2a4
|
||||
func_ov000_0205a2c8 kind:function(arm,size=0x54) addr:0x0205a2c8
|
||||
_ZN18UnkStruct_027e096019func_ov000_0205a1fcEh kind:function(arm,size=0x8c) addr:0x0205a1fc
|
||||
_ZN18UnkStruct_027e096019func_ov000_0205a288EiPK12ZMBEntryRALB kind:function(arm,size=0x1c) addr:0x0205a288
|
||||
_ZN18UnkStruct_027e096019func_ov000_0205a2a4EiP12ZMBRALBPoint kind:function(arm,size=0x24) addr:0x0205a2a4
|
||||
_ZN18UnkStruct_027e096019func_ov000_0205a2c8Ev kind:function(arm,size=0x54) addr:0x0205a2c8
|
||||
func_ov000_0205a31c kind:function(arm,size=0x74) addr:0x0205a31c
|
||||
_ZN18UnkStruct_027e096019func_ov000_0205a390Eh kind:function(arm,size=0x38) addr:0x0205a390
|
||||
func_ov000_0205a3c8 kind:function(arm,size=0x34) addr:0x0205a3c8
|
||||
@@ -1557,7 +1557,7 @@ func_ov000_02080098 kind:function(arm,size=0xc8) addr:0x02080098
|
||||
func_ov000_02080160 kind:function(arm,size=0x20) addr:0x02080160
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_02080180EPv kind:function(arm,size=0x10) addr:0x02080180
|
||||
func_ov000_02080190 kind:function(arm,size=0x20) addr:0x02080190
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_020801b0EP5Vec2bii kind:function(arm,size=0x60) addr:0x020801b0
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_020801b0EP8Vec2bCppii kind:function(arm,size=0x60) addr:0x020801b0
|
||||
func_ov000_02080210 kind:function(arm,size=0x78) addr:0x02080210
|
||||
func_ov000_02080288 kind:function(arm,size=0x64) addr:0x02080288
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_020802ecEtP7VecFx32 kind:function(arm,size=0x78) addr:0x020802ec
|
||||
@@ -1572,7 +1572,7 @@ func_ov000_02080840 kind:function(arm,size=0x6c) addr:0x02080840
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_2CEv kind:function(arm,size=0x20) addr:0x020808ac
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_3CEv kind:function(arm,size=0x8) addr:0x020808cc
|
||||
func_ov000_020808d4 kind:function(arm,size=0x20) addr:0x020808d4
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_020808f4EPvS0_i kind:function(arm,size=0x5c) addr:0x020808f4
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_020808f4EPvS0_h kind:function(arm,size=0x5c) addr:0x020808f4
|
||||
func_ov000_02080950 kind:function(arm,size=0x48) addr:0x02080950
|
||||
func_ov000_02080998 kind:function(arm,size=0x40) addr:0x02080998
|
||||
func_ov000_020809d8 kind:function(arm,size=0x6c) addr:0x020809d8
|
||||
@@ -1618,10 +1618,10 @@ func_ov000_020817f4 kind:function(arm,size=0x28) addr:0x020817f4
|
||||
func_ov000_0208181c kind:function(arm,size=0x18) addr:0x0208181c
|
||||
func_ov000_02081834 kind:function(arm,size=0x28) addr:0x02081834
|
||||
func_ov000_0208185c kind:function(arm,size=0x18) addr:0x0208185c
|
||||
func_ov000_02081874 kind:function(arm,size=0x5c) addr:0x02081874
|
||||
func_ov000_020818d0 kind:function(arm,size=0xcc) addr:0x020818d0
|
||||
func_ov000_0208199c kind:function(arm,size=0x8) addr:0x0208199c
|
||||
func_ov000_020819a4 kind:function(arm,size=0x180) addr:0x020819a4
|
||||
_ZN21UnkStruct_027e0cd8_0419func_ov000_02081874Et kind:function(arm,size=0x5c) addr:0x02081874
|
||||
_ZN21UnkStruct_027e0cd8_0419func_ov000_020818d0EP19CourseListRoomEntryiiii kind:function(arm,size=0xcc) addr:0x020818d0
|
||||
_ZN21UnkStruct_027e0cd8_0419func_ov000_0208199cEjPvi kind:function(arm,size=0x8) addr:0x0208199c
|
||||
_ZN21UnkStruct_027e0cd8_0419func_ov000_020819a4EPK29UnkStruct_func_ov000_020702a8 kind:function(arm,size=0x180) addr:0x020819a4
|
||||
func_ov000_02081b24 kind:function(arm,size=0x44) addr:0x02081b24
|
||||
func_ov000_02081b68 kind:function(arm,size=0xc) addr:0x02081b68
|
||||
func_ov000_02081b74 kind:function(arm,size=0x10) addr:0x02081b74
|
||||
@@ -1637,7 +1637,7 @@ _ZN18UnkStruct_027e0cd819func_ov000_02081d7cEiib kind:function(arm,size=0xb4) ad
|
||||
_ZN18UnkStruct_027e0cd819func_ov000_02081e30Eii kind:function(arm,size=0x8c) addr:0x02081e30
|
||||
func_ov000_02081ebc kind:function(arm,size=0x10) addr:0x02081ebc
|
||||
_ZN18UnkStruct_027e0cd819func_ov000_02081eccEsi kind:function(arm,size=0x10) addr:0x02081ecc
|
||||
func_ov000_02081edc kind:function(arm,size=0x10) addr:0x02081edc
|
||||
_ZN18UnkStruct_027e0cd819func_ov000_02081edcEt kind:function(arm,size=0x10) addr:0x02081edc
|
||||
_ZN18UnkStruct_027e0cd819func_ov000_02081eecEsii kind:function(arm,size=0x50) addr:0x02081eec
|
||||
_ZN18UnkStruct_027e0cd819func_ov000_02081f3cEsi kind:function(arm,size=0x4c) addr:0x02081f3c
|
||||
func_ov000_02081f88 kind:function(arm,size=0x90) addr:0x02081f88
|
||||
@@ -2255,7 +2255,7 @@ func_ov000_02097288 kind:function(arm,size=0x154) addr:0x02097288
|
||||
_ZN24UnkStruct_ov000_020b539c18func_ov000_02073dcEv kind:function(arm,size=0xc) addr:0x020973dc
|
||||
_ZN24UnkStruct_ov000_020b539c18func_ov000_02073e8Ev kind:function(arm,size=0xc) addr:0x020973e8
|
||||
_ZN5Actor19func_ov000_020973f4EP8ActorRefP24UnkStruct_ov000_020b539cjP11ActorParamsi kind:function(arm,size=0x50) addr:0x020973f4
|
||||
func_ov000_02097444 kind:function(arm,size=0x98) addr:0x02097444
|
||||
_ZN24UnkStruct_ov000_020b539c19func_ov000_02097444EjP11ActorParamsi kind:function(arm,size=0x98) addr:0x02097444
|
||||
_ZN24UnkStruct_ov000_020b539c16GetProfileFromIdEj kind:function(arm,size=0x4c) addr:0x020974dc
|
||||
func_ov000_02097528 kind:function(arm,size=0x20) addr:0x02097528
|
||||
func_ov000_02097548 kind:function(arm,size=0x78) addr:0x02097548
|
||||
@@ -2498,15 +2498,15 @@ _ZN16MapObjectManager19func_ov000_0209c3a8Ev kind:function(arm,size=0x40) addr:0
|
||||
_ZN16MapObjectManager19func_ov000_0209c3e8Ev kind:function(arm,size=0x5c) addr:0x0209c3e8
|
||||
_ZN16MapObjectManager19func_ov000_0209c444Ev kind:function(arm,size=0x4c) addr:0x0209c444
|
||||
_ZN16MapObjectManager19func_ov000_0209c490Ev kind:function(arm,size=0x94) addr:0x0209c490
|
||||
_ZN16MapObjectManager17AllocateMapObjectEv kind:function(arm,size=0x17c) addr:0x0209c524
|
||||
_ZN16MapObjectManager17AllocateMapObjectEj5Vec2btih kind:function(arm,size=0x17c) addr:0x0209c524
|
||||
func_ov000_0209c6a0 kind:function(arm,size=0xc) addr:0x0209c6a0
|
||||
func_ov000_0209c6ac kind:function(arm,size=0xc) addr:0x0209c6ac
|
||||
_ZN24UnkStruct_ov000_020b5d3416GetProfileFromIdEj kind:function(arm,size=0x38) addr:0x0209c6b8
|
||||
_ZN24UnkStruct_ov000_020b5d3415CreateMapObjectEP9MapObject kind:function(arm,size=0x28) addr:0x0209c6f0
|
||||
_ZN24UnkStruct_ov000_020b5d3415CreateMapObjectEj kind:function(arm,size=0x28) addr:0x0209c6f0
|
||||
_ZN24UnkStruct_ov000_020b5d3419func_ov000_0209c718Ej kind:function(arm,size=0x78) addr:0x0209c718
|
||||
_ZN12MapObject_2019func_ov000_0209c790EjP16MapObjectProfile kind:function(arm,size=0x1c) addr:0x0209c790
|
||||
_ZN12MapObject_2019func_ov000_0209c7acEj kind:function(arm,size=0x1c) addr:0x0209c7ac
|
||||
_ZN12MapObject_2019func_ov000_0209c7c8Ev kind:function(arm,size=0x58) addr:0x0209c7c8
|
||||
_ZN12MapObject_204InitEv kind:function(arm,size=0x58) addr:0x0209c7c8
|
||||
_ZN16MapObjectProfile19func_ov000_0209c820Ev kind:function(arm,size=0x8) addr:0x0209c820
|
||||
_ZN16MapObjectProfileC2Ej kind:function(arm,size=0x8c) addr:0x0209c828
|
||||
_ZN16MapObjectProfileD2Ev kind:function(arm,size=0x28) addr:0x0209c8b4
|
||||
@@ -2553,7 +2553,7 @@ _ZN9MapObjectD0Ev kind:function(arm,size=0x14) addr:0x0209d098
|
||||
_ZN9MapObjectD2Ev kind:function(arm,size=0x4) addr:0x0209d0ac
|
||||
_ZN9MapObject8vfunc_00Ev kind:function(arm,size=0x8) addr:0x0209d0b0
|
||||
_ZN9MapObject8vfunc_04Ev kind:function(arm,size=0x4) addr:0x0209d0b8
|
||||
_ZN9MapObject19func_ov000_0209d0bcEP5Vec2bPS_ kind:function(arm,size=0x58) addr:0x0209d0bc
|
||||
_ZN9MapObject19func_ov000_0209d0bcEP8Vec2bCppPS_ kind:function(arm,size=0x58) addr:0x0209d0bc
|
||||
_ZN9MapObject19func_ov000_0209d114Ev kind:function(arm,size=0x18) addr:0x0209d114
|
||||
_ZN9MapObject19func_ov000_0209d12cEv kind:function(arm,size=0x18) addr:0x0209d12c
|
||||
_ZN9MapObject19func_ov000_0209d144EP5Vec2sii kind:function(arm,size=0x88) addr:0x0209d144
|
||||
@@ -2566,7 +2566,7 @@ _ZN9MapObject19func_ov000_0209d22cEPsPS_i kind:function(arm,size=0x48) addr:0x02
|
||||
_ZN9MapObject19func_ov000_0209d274Ei kind:function(arm,size=0x28) addr:0x0209d274
|
||||
_ZN9MapObject19func_ov000_0209d29cEi kind:function(arm,size=0x28) addr:0x0209d29c
|
||||
_ZN9MapObject19func_ov000_0209d2c4Eib kind:function(arm,size=0x2c) addr:0x0209d2c4
|
||||
_ZN9MapObject19func_ov000_0209d2f0EiiP5Vec2b kind:function(arm,size=0xc4) addr:0x0209d2f0
|
||||
_ZN9MapObject19func_ov000_0209d2f0EiiP8Vec2bCpp kind:function(arm,size=0xc4) addr:0x0209d2f0
|
||||
_ZN9MapObject19func_ov000_0209d3b4Eii kind:function(arm,size=0x80) addr:0x0209d3b4
|
||||
_ZN9MapObject19func_ov000_0209d434EPcP34UnkStruct_ov019_020d24c8_28_258_00i kind:function(arm,size=0xe4) addr:0x0209d434
|
||||
_ZN9MapObject19func_ov000_0209d518Eiiih kind:function(arm,size=0x34) addr:0x0209d518
|
||||
@@ -2960,7 +2960,7 @@ func_ov000_020a775c kind:function(arm,size=0x28) addr:0x020a775c
|
||||
func_ov000_020a7784 kind:function(arm,size=0x4c) addr:0x020a7784
|
||||
func_ov000_020a77d0 kind:function(arm,size=0x5c) addr:0x020a77d0
|
||||
_Z22Cutscene_GetParamEntryi kind:function(arm,size=0x14) addr:0x020a782c
|
||||
func_ov000_020a7840 kind:function(arm,size=0x84) addr:0x020a7840
|
||||
_Z19func_ov000_020a7840ii kind:function(arm,size=0x84) addr:0x020a7840
|
||||
_Z27Cutscene_IsAdventureFlagSeti kind:function(arm,size=0x44) addr:0x020a78c4
|
||||
_ZN21UnkStruct_027e09b8_98C1Ev kind:function(arm,size=0xdc) addr:0x020a7908
|
||||
func_ov000_020a79e4 kind:function(arm,size=0x6c) addr:0x020a79e4
|
||||
|
||||
@@ -30,10 +30,11 @@ src/001_SceneInit/UnkStruct_027e0cd8_0C_001.cpp:
|
||||
.text start:0x020b81e0 end:0x020b9270
|
||||
.init start:0x020c2838 end:0x020c28f0
|
||||
.ctor start:0x020c2904 end:0x020c2908
|
||||
.bss start:0x020c40e8 end:0x020c46f4
|
||||
.data start:0x020c29f4 end:0x020c2b3c
|
||||
.bss start:0x020c40e8 end:0x020c46f4
|
||||
|
||||
src/001_SceneInit/ZeldaArrangeBinary.cpp:
|
||||
complete
|
||||
.text start:0x020b9270 end:0x020b94b0
|
||||
|
||||
src/001_SceneInit/ZeldaMapBinary.cpp:
|
||||
|
||||
@@ -314,8 +314,8 @@ from:0x020b7620 kind:thumb_call_arm to:0x02011f3c module:main
|
||||
from:0x020b7628 kind:thumb_call_arm to:0x02074644 module:overlay(0)
|
||||
from:0x020b7634 kind:thumb_call_arm to:0x02011f3c module:main
|
||||
from:0x020b763c kind:thumb_call_arm to:0x020a7908 module:overlay(0)
|
||||
from:0x020b7650 kind:load to:0x020b22b8 module:overlay(0) add:0x8
|
||||
from:0x020b7654 kind:load to:0x020b2344 module:overlay(0) add:0x8
|
||||
from:0x020b7650 kind:load to:0x020b22b8 add:0x8 module:overlay(0)
|
||||
from:0x020b7654 kind:load to:0x020b2344 add:0x8 module:overlay(0)
|
||||
from:0x020b7658 kind:load to:0x0204a088 module:main
|
||||
from:0x020b767e kind:thumb_call_arm to:0x02011ff4 module:main
|
||||
from:0x020b7690 kind:thumb_call_arm to:0x020a7a70 module:overlay(0)
|
||||
@@ -339,7 +339,7 @@ from:0x020b777c kind:thumb_call to:0x020b7784 module:overlay(1)
|
||||
from:0x020b7788 kind:thumb_call to:0x020b81c8 module:overlay(1)
|
||||
from:0x020b77a2 kind:thumb_call_arm to:0x0201667c module:main
|
||||
from:0x020b77be kind:thumb_call_arm to:0x020166f4 module:main
|
||||
from:0x020b77e4 kind:load to:0x020b2938 module:overlay(0) add:0x8
|
||||
from:0x020b77e4 kind:load to:0x020b2938 add:0x8 module:overlay(0)
|
||||
from:0x020b77e8 kind:load to:0x027e09bc module:dtcm
|
||||
from:0x020b77f8 kind:thumb_call_arm to:0x02081270 module:overlay(0)
|
||||
from:0x020b77fe kind:thumb_call_arm to:0x02011ff4 module:main
|
||||
@@ -539,7 +539,7 @@ from:0x020b8218 kind:thumb_call to:0x02015550 module:main
|
||||
from:0x020b822c kind:thumb_call_arm to:0x0208233c module:overlay(0)
|
||||
from:0x020b83be kind:thumb_call to:0x020baea0 module:overlay(1)
|
||||
from:0x020b83c6 kind:thumb_call to:0x020592a0 module:overlay(0)
|
||||
from:0x020b83d0 kind:load to:0x020c29f4 module:overlay(1) add:0x8
|
||||
from:0x020b83d0 kind:load to:0x020c29f4 add:0x8 module:overlay(1)
|
||||
from:0x020b83d4 kind:load to:0x027e0c90 module:dtcm
|
||||
from:0x020b83d8 kind:load to:0x027e0ca8 module:dtcm
|
||||
from:0x020b83dc kind:load to:0x027e0c9c module:dtcm
|
||||
@@ -559,7 +559,7 @@ from:0x020b8466 kind:thumb_call to:0x020b8efc module:overlay(1)
|
||||
from:0x020b846e kind:thumb_call to:0x0201556c module:main
|
||||
from:0x020b8476 kind:thumb_call to:0x02057b8c module:overlay(0)
|
||||
from:0x020b847c kind:thumb_call to:0x0201547c module:main
|
||||
from:0x020b8484 kind:load to:0x020c29f4 module:overlay(1) add:0x8
|
||||
from:0x020b8484 kind:load to:0x020c29f4 add:0x8 module:overlay(1)
|
||||
from:0x020b8488 kind:load to:0x027e095c module:dtcm
|
||||
from:0x020b848c kind:load to:0x027e0ce8 module:dtcm
|
||||
from:0x020b849c kind:thumb_call to:0x020592ec module:overlay(0)
|
||||
@@ -573,7 +573,7 @@ from:0x020b8506 kind:thumb_call to:0x0201556c module:main
|
||||
from:0x020b850e kind:thumb_call to:0x02057b8c module:overlay(0)
|
||||
from:0x020b8514 kind:thumb_call to:0x0201547c module:main
|
||||
from:0x020b851a kind:thumb_call_arm to:0x02011ff4 module:main
|
||||
from:0x020b8524 kind:load to:0x020c29f4 module:overlay(1) add:0x8
|
||||
from:0x020b8524 kind:load to:0x020c29f4 add:0x8 module:overlay(1)
|
||||
from:0x020b8528 kind:load to:0x027e095c module:dtcm
|
||||
from:0x020b852c kind:load to:0x027e0ce8 module:dtcm
|
||||
from:0x020b853c kind:thumb_call to:0x020592ec module:overlay(0)
|
||||
@@ -586,7 +586,7 @@ from:0x020b859e kind:thumb_call to:0x020b8efc module:overlay(1)
|
||||
from:0x020b85a6 kind:thumb_call to:0x0201556c module:main
|
||||
from:0x020b85ae kind:thumb_call to:0x02057b8c module:overlay(0)
|
||||
from:0x020b85b4 kind:thumb_call to:0x0201547c module:main
|
||||
from:0x020b85bc kind:load to:0x020c29f4 module:overlay(1) add:0x8
|
||||
from:0x020b85bc kind:load to:0x020c29f4 add:0x8 module:overlay(1)
|
||||
from:0x020b85c0 kind:load to:0x027e095c module:dtcm
|
||||
from:0x020b85c4 kind:load to:0x027e0ce8 module:dtcm
|
||||
from:0x020b85f0 kind:thumb_call_arm to:0x02026800 module:main
|
||||
|
||||
@@ -2,10 +2,10 @@ _ZN18UnkStruct_027e09a46CreateEi kind:function(thumb,size=0x1a) addr:0x020b6520
|
||||
_ZN18UnkStruct_027e09a4C1Ei kind:function(thumb,size=0xee) addr:0x020b653c
|
||||
_ZN18UnkStruct_027e09a419func_ov001_020b662cEv kind:function(thumb,size=0xae) addr:0x020b662c
|
||||
_ZN18UnkStruct_027e09a419func_ov001_020b66dcEv kind:function(thumb,size=0x7c) addr:0x020b66dc
|
||||
_ZN18UnkStruct_027e09a419func_ov001_020b6758EPK22UnkStruct_SceneChange1b kind:function(thumb,size=0x14c) addr:0x020b6758
|
||||
_ZN18UnkStruct_027e09a419func_ov001_020b6758EPK12EntranceInfob kind:function(thumb,size=0x14c) addr:0x020b6758
|
||||
_ZN18UnkStruct_027e09a419func_ov001_020b68a4Ebbb kind:function(thumb,size=0x80) addr:0x020b68a4
|
||||
_ZN18UnkStruct_027e09a419func_ov001_020b6924EPK22UnkStruct_SceneChange1b kind:function(thumb,size=0x90) addr:0x020b6924
|
||||
_ZN18UnkStruct_027e09a419func_ov001_020b69b4EPK22UnkStruct_SceneChange1b kind:function(thumb,size=0x194) addr:0x020b69b4
|
||||
_ZN18UnkStruct_027e09a419func_ov001_020b6924EPK12EntranceInfob kind:function(thumb,size=0x90) addr:0x020b6924
|
||||
_ZN18UnkStruct_027e09a419func_ov001_020b69b4EPK12EntranceInfob kind:function(thumb,size=0x194) addr:0x020b69b4
|
||||
_ZN15TreasureManager7DestroyEv kind:function(thumb,size=0x20) addr:0x020b6b48
|
||||
_ZN14MiscAdvManager7DestroyEv kind:function(thumb,size=0x20) addr:0x020b6b68
|
||||
_ZN18UnkStruct_027e09607DestroyEv kind:function(thumb,size=0x20) addr:0x020b6b88
|
||||
@@ -54,13 +54,13 @@ _ZN8InstanceI18UnkStruct_027e09b8ED2Ev kind:function(thumb,size=0xc) addr:0x020b
|
||||
_ZN18UnkStruct_027e0cd86CreateEv kind:function(thumb,size=0x16) addr:0x020b776c
|
||||
_ZN18UnkStruct_027e0cd8C1Ev kind:function(thumb,size=0x68) addr:0x020b7784
|
||||
_ZN18UnkStruct_027e0cd8D1Ev kind:function(thumb,size=0x42) addr:0x020b77ec
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7830EPK22UnkStruct_SceneChange1 kind:function(thumb,size=0x24c) addr:0x020b7830
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7830EPK12EntranceInfo kind:function(thumb,size=0x24c) addr:0x020b7830
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7a7cEv kind:function(thumb,size=0xbc) addr:0x020b7a7c
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7b38EPK15CourseListEntryPK29UnkStruct_func_ov000_020702a8 kind:function(thumb,size=0xd0) addr:0x020b7b38
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7c08EPK22UnkStruct_SceneChange1PK21UnkStruct_WarpUnk1_A0 kind:function(thumb,size=0x15c) addr:0x020b7c08
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7d64EPK22UnkStruct_SceneChange1 kind:function(thumb,size=0xec) addr:0x020b7d64
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7c08EPK12EntranceInfoPK21UnkStruct_WarpUnk1_A0 kind:function(thumb,size=0x15c) addr:0x020b7c08
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7d64EPK12EntranceInfo kind:function(thumb,size=0xec) addr:0x020b7d64
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7e50Ev kind:function(thumb,size=0x16) addr:0x020b7e50
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7e68EPK22UnkStruct_SceneChange1b kind:function(thumb,size=0x1d4) addr:0x020b7e68
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7e68EPK12EntranceInfob kind:function(thumb,size=0x1d4) addr:0x020b7e68
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b803cEv kind:function(thumb,size=0xc0) addr:0x020b803c
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b80fcEj kind:function(thumb,size=0x24) addr:0x020b80fc
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b8120Ej kind:function(thumb,size=0x6c) addr:0x020b8120
|
||||
@@ -73,64 +73,64 @@ _ZN26UnkStruct_027e0cd8_0C_BaseD0Ev kind:function(thumb,size=0xa0) addr:0x020b84
|
||||
_ZN26UnkStruct_027e0cd8_0C_BaseD2Ev kind:function(thumb,size=0x98) addr:0x020b8530
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_38Ev kind:function(thumb,size=0x2) addr:0x020b85c8
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_08Ev kind:function(thumb,size=0x2) addr:0x020b85cc
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b85d0EPK22UnkStruct_SceneChange1 kind:function(thumb,size=0x2f0) addr:0x020b85d0
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b85d0EPK12EntranceInfo kind:function(thumb,size=0x2f0) addr:0x020b85d0
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b88c0Ei kind:function(thumb,size=0x2c) addr:0x020b88c0
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b88ecEv kind:function(thumb,size=0x60) addr:0x020b88ec
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base14LoadSceneModelEPK22UnkStruct_SceneChange1 kind:function(thumb,size=0xe0) addr:0x020b894c
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_1CEPK22UnkStruct_SceneChange1bb kind:function(thumb,size=0x2c) addr:0x020b8a2c
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base14LoadSceneModelEPK12EntranceInfo kind:function(thumb,size=0xe0) addr:0x020b894c
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_1CEPK12EntranceInfobb kind:function(thumb,size=0x2c) addr:0x020b8a2c
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_20Ev kind:function(thumb,size=0x2) addr:0x020b8a58
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8a5cEii kind:function(thumb,size=0x8e) addr:0x020b8a5c
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8aecEv kind:function(thumb,size=0xa8) addr:0x020b8aec
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8b94EP12ZMBEntryARAB kind:function(thumb,size=0x9c) addr:0x020b8b94
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8c30ERK33UnkStruct_027e0cd8_0C_Base_154_00 kind:function(thumb,size=0x4e) addr:0x020b8c30
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8c30ERK12EntranceInfo kind:function(thumb,size=0x4e) addr:0x020b8c30
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8c80Ei kind:function(thumb,size=0x10) addr:0x020b8c80
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8c90Ei kind:function(thumb,size=0x8) addr:0x020b8c90
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8c98Ei kind:function(thumb,size=0x8) addr:0x020b8c98
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_34Ei kind:function(thumb,size=0x8) addr:0x020b8ca0
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8c90EP14ZMBSectionCMPT kind:function(thumb,size=0x8) addr:0x020b8c90
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8c98EP14ZMBSectionCAME kind:function(thumb,size=0x8) addr:0x020b8c98
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base13ZMB_ParseROMBEP14ZMBSectionROMB kind:function(thumb,size=0x8) addr:0x020b8ca0
|
||||
_ZN24UnkStruct_ov001_020c40f4D1Ev kind:function(thumb,size=0x2) addr:0x020b8ca8
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_40Eh kind:function(thumb,size=0xfc) addr:0x020b8cac
|
||||
_ZN24UnkStruct_ov001_020c40f4C1Ev kind:function(thumb,size=0xe) addr:0x020b8da8
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8db8Ev kind:function(thumb,size=0x6c) addr:0x020b8db8
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8e24Ev kind:function(thumb,size=0x30) addr:0x020b8e24
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8e54Ev kind:function(thumb,size=0x20) addr:0x020b8e54
|
||||
_ZNSt13__vec_deleterI33UnkStruct_027e0cd8_0C_Base_154_00SaIS0_EE13sub_push_backERKS0_N10Metrowerks8int2typeILi0EEE kind:function(thumb,size=0x18) addr:0x020b8e74
|
||||
_ZN12CustomVectorI33UnkStruct_027e0cd8_0C_Base_154_00ED1Ev kind:function(thumb,size=0x1c) addr:0x020b8e8c
|
||||
_ZNSt13__vec_deleterI12EntranceInfoSaIS0_EE13sub_push_backERKS0_N10Metrowerks8int2typeILi0EEE kind:function(thumb,size=0x18) addr:0x020b8e74
|
||||
_ZN12CustomVectorI12EntranceInfoED1Ev kind:function(thumb,size=0x1c) addr:0x020b8e8c
|
||||
_ZNSt13__vec_deleterIP38UnkStruct_027e0cd8_0C_Base_148_00_BaseSaIS1_EE5eraseEPS1_S4_13UnkMSLStruct1 kind:function(thumb,size=0x3c) addr:0x020b8ea8
|
||||
_ZNSt13__vec_deleterIP38UnkStruct_027e0cd8_0C_Base_148_00_BaseSaIS1_EE13sub_push_backERKS1_N10Metrowerks8int2typeILi1EEE kind:function(thumb,size=0x18) addr:0x020b8ee4
|
||||
_ZN12CustomVectorIP38UnkStruct_027e0cd8_0C_Base_148_00_BaseED1Ev kind:function(thumb,size=0x1c) addr:0x020b8efc
|
||||
_ZNSt13__vec_deleterI33UnkStruct_027e0cd8_0C_Base_154_00SaIS0_EE7grow_byEm kind:function(thumb,size=0x80) addr:0x020b8f18
|
||||
_ZNSt13__vec_deleterI33UnkStruct_027e0cd8_0C_Base_154_00SaIS0_EE14append_reallocEmRKS0_ kind:function(thumb,size=0xd4) addr:0x020b8f98
|
||||
_ZNSt13__vec_deleterI12EntranceInfoSaIS0_EE7grow_byEm kind:function(thumb,size=0x80) addr:0x020b8f18
|
||||
_ZNSt13__vec_deleterI12EntranceInfoSaIS0_EE14append_reallocEmRKS0_ kind:function(thumb,size=0xd4) addr:0x020b8f98
|
||||
_ZNSt13__vec_deleterIP38UnkStruct_027e0cd8_0C_Base_148_00_BaseSaIS1_EE7grow_byEm kind:function(thumb,size=0x80) addr:0x020b906c
|
||||
_ZNSt13__vec_deleterIP38UnkStruct_027e0cd8_0C_Base_148_00_BaseSaIS1_EE14append_reallocEmRKS1_ kind:function(thumb,size=0xc6) addr:0x020b90ec
|
||||
_ZNSt20__vec_deleter_helperI33UnkStruct_027e0cd8_0C_Base_154_00SaIS0_EED1Ev kind:function(thumb,size=0x10) addr:0x020b91b4
|
||||
_ZNSt20__vec_deleter_helperI12EntranceInfoSaIS0_EED1Ev kind:function(thumb,size=0x10) addr:0x020b91b4
|
||||
_ZNSt20__vec_deleter_helperIP38UnkStruct_027e0cd8_0C_Base_148_00_BaseSaIS1_EED1Ev kind:function(thumb,size=0x10) addr:0x020b91c4
|
||||
_ZNSt13__vec_deleterIP38UnkStruct_027e0cd8_0C_Base_148_00_BaseSaIS1_EE8allocateEmN10Metrowerks8int2typeILi1EEE kind:function(thumb,size=0x24) addr:0x020b91d4
|
||||
_ZNSt13__vec_deleterIP38UnkStruct_027e0cd8_0C_Base_148_00_BaseSaIS1_EED2Ev kind:function(thumb,size=0x1c) addr:0x020b91f8
|
||||
_ZNSt13__vec_deleterI33UnkStruct_027e0cd8_0C_Base_154_00SaIS0_EE8allocateEmN10Metrowerks8int2typeILi1EEE kind:function(thumb,size=0x28) addr:0x020b9214
|
||||
_ZNSt13__vec_deleterI33UnkStruct_027e0cd8_0C_Base_154_00SaIS0_EED2Ev kind:function(thumb,size=0x1c) addr:0x020b923c
|
||||
_ZNSt13__vec_deleterI12EntranceInfoSaIS0_EE8allocateEmN10Metrowerks8int2typeILi1EEE kind:function(thumb,size=0x28) addr:0x020b9214
|
||||
_ZNSt13__vec_deleterI12EntranceInfoSaIS0_EED2Ev kind:function(thumb,size=0x1c) addr:0x020b923c
|
||||
__arraydtor$4129 kind:function(thumb,size=0x18) addr:0x020b9258 local
|
||||
func_ov001_020b9270 kind:function(thumb,size=0x70) addr:0x020b9270
|
||||
func_ov001_020b92e0 kind:function(thumb,size=0x18c) addr:0x020b92e0
|
||||
func_ov001_020b946c kind:function(thumb,size=0x4) addr:0x020b946c
|
||||
func_ov001_020b9470 kind:function(thumb,size=0x3e) addr:0x020b9470
|
||||
ZAB_ParseFile kind:function(thumb,size=0x70) addr:0x020b9270
|
||||
ZAB_ParseCAMB kind:function(thumb,size=0x18c) addr:0x020b92e0
|
||||
ZAB_ParseCABI kind:function(thumb,size=0x4) addr:0x020b946c
|
||||
ZAB_GetRoomEntry kind:function(thumb,size=0x3e) addr:0x020b9470
|
||||
ZMB_ParseFile kind:function(thumb,size=0x164) addr:0x020b94b0
|
||||
func_ov001_020b9614 kind:function(thumb,size=0xe) addr:0x020b9614
|
||||
func_ov001_020b9624 kind:function(thumb,size=0xfc) addr:0x020b9624
|
||||
func_ov001_020b9720 kind:function(thumb,size=0x40) addr:0x020b9720
|
||||
func_ov001_020b9760 kind:function(thumb,size=0xe0) addr:0x020b9760
|
||||
func_ov001_020b9840 kind:function(thumb,size=0xc4) addr:0x020b9840
|
||||
func_ov001_020b9904 kind:function(thumb,size=0x140) addr:0x020b9904
|
||||
func_ov001_020b9a44 kind:function(thumb,size=0x22c) addr:0x020b9a44
|
||||
func_ov001_020b9c70 kind:function(thumb,size=0x460) addr:0x020b9c70
|
||||
func_ov001_020ba0d0 kind:function(thumb,size=0x17c) addr:0x020ba0d0
|
||||
func_ov001_020ba24c kind:function(thumb,size=0xa4) addr:0x020ba24c
|
||||
func_ov001_020ba2f0 kind:function(thumb,size=0x5e) addr:0x020ba2f0
|
||||
func_ov001_020ba350 kind:function(thumb,size=0x36) addr:0x020ba350
|
||||
func_ov001_020ba388 kind:function(thumb,size=0x7e) addr:0x020ba388
|
||||
func_ov001_020ba408 kind:function(thumb,size=0x80) addr:0x020ba408
|
||||
func_ov001_020ba488 kind:function(thumb,size=0x1c) addr:0x020ba488
|
||||
ZMB_ParseROMB kind:function(thumb,size=0xe) addr:0x020b9614
|
||||
ZMB_ParseLDLB kind:function(thumb,size=0xfc) addr:0x020b9624
|
||||
ZMB_ParseARAB kind:function(thumb,size=0x40) addr:0x020b9720
|
||||
ZMB_ParseRALB kind:function(thumb,size=0xe0) addr:0x020b9760
|
||||
ZMB_ParseWARP kind:function(thumb,size=0xc4) addr:0x020b9840
|
||||
ZMB_ParseMapObjList kind:function(thumb,size=0x140) addr:0x020b9904
|
||||
ZMB_ParseActorList kind:function(thumb,size=0x22c) addr:0x020b9a44
|
||||
ZMB_ParseROOM kind:function(thumb,size=0x460) addr:0x020b9c70
|
||||
ZMB_ParsePLYR kind:function(thumb,size=0x17c) addr:0x020ba0d0
|
||||
ZMB_ParseCAME kind:function(thumb,size=0xa4) addr:0x020ba24c
|
||||
ZMB_ParseCMPT kind:function(thumb,size=0x5e) addr:0x020ba2f0
|
||||
ZMB_020ba350 kind:function(thumb,size=0x36) addr:0x020ba350
|
||||
ZMB_020ba388 kind:function(thumb,size=0x7e) addr:0x020ba388
|
||||
ZMB_020ba408 kind:function(thumb,size=0x80) addr:0x020ba408
|
||||
_ZNSt13__vec_deleterI12EntranceInfoSaIS0_EED1Ev kind:function(thumb,size=0x1c) addr:0x020ba488
|
||||
func_ov001_020ba4a4 kind:function(thumb,size=0x28) addr:0x020ba4a4
|
||||
func_ov001_020ba4cc kind:function(thumb,size=0x1c) addr:0x020ba4cc
|
||||
_ZNSt13__vec_deleterIP38UnkStruct_027e0cd8_0C_Base_148_00_BaseSaIS1_EED1Ev kind:function(thumb,size=0x1c) addr:0x020ba4cc
|
||||
func_ov001_020ba4e8 kind:function(thumb,size=0x24) addr:0x020ba4e8
|
||||
_ZN18UnkStruct_027e095c6CreateEv kind:function(thumb,size=0x1c) addr:0x020ba50c
|
||||
func_ov001_020ba528 kind:function(thumb,size=0x54) addr:0x020ba528
|
||||
@@ -182,8 +182,8 @@ _ZN12ActorManager19func_ov001_020bb414Ev kind:function(thumb,size=0x74) addr:0x0
|
||||
_ZN12ActorManager19func_ov001_020bb488Ev kind:function(thumb,size=0xc0) addr:0x020bb488
|
||||
_ZN12ActorManager19func_ov001_020bb548Ev kind:function(thumb,size=0xe8) addr:0x020bb548
|
||||
_ZN12ActorManager19func_ov001_020bb630Ev kind:function(thumb,size=0x80) addr:0x020bb630
|
||||
_ZN12ActorManager19func_ov001_020bb6b0EP22UnkStruct_SceneChange1 kind:function(thumb,size=0x78) addr:0x020bb6b0
|
||||
_ZN12ActorManager19func_ov001_020bb728Ei kind:function(thumb,size=0x88) addr:0x020bb728
|
||||
_ZN12ActorManager19func_ov001_020bb6b0EP12EntranceInfo kind:function(thumb,size=0x78) addr:0x020bb6b0
|
||||
_ZN12ActorManager19func_ov001_020bb728Ej kind:function(thumb,size=0x88) addr:0x020bb728
|
||||
_ZN12ActorManager19func_ov001_020bb7b0EP15ZeldaObjectList kind:function(thumb,size=0x40) addr:0x020bb7b0
|
||||
_ZN12ActorManager19func_ov001_020bb7f0Ev kind:function(thumb,size=0x34) addr:0x020bb7f0
|
||||
_ZN12ActorManager19func_ov001_020bb824Ev kind:function(thumb,size=0x20) addr:0x020bb824
|
||||
@@ -252,7 +252,7 @@ func_ov001_020bcca0 kind:function(thumb,size=0x46) addr:0x020bcca0
|
||||
func_ov001_020bcce8 kind:function(thumb,size=0x2) addr:0x020bcce8
|
||||
func_ov001_020bccec kind:function(thumb,size=0x2fe) addr:0x020bccec
|
||||
func_ov001_020bcfec kind:function(thumb,size=0xb8) addr:0x020bcfec
|
||||
func_ov001_020bd0a4 kind:function(thumb,size=0x148) addr:0x020bd0a4
|
||||
_ZN21UnkStruct_027e0ce0_1C19func_ov001_020bd0a4Eb kind:function(thumb,size=0x148) addr:0x020bd0a4
|
||||
func_ov001_020bd1ec kind:function(thumb,size=0x80) addr:0x020bd1ec
|
||||
func_ov001_020bd26c kind:function(thumb,size=0x74) addr:0x020bd26c
|
||||
func_ov001_020bd2e0 kind:function(thumb,size=0x78) addr:0x020bd2e0
|
||||
@@ -285,9 +285,9 @@ _ZN24UnkStruct_ov000_020b50c019func_ov001_020bd8dcEv kind:function(thumb,size=0x
|
||||
func_ov001_020bd8e8 kind:function(thumb,size=0x28) addr:0x020bd8e8
|
||||
func_ov001_020bd910 kind:function(thumb,size=0x24) addr:0x020bd910
|
||||
func_ov001_020bd934 kind:function(thumb,size=0x3c) addr:0x020bd934
|
||||
_ZN24UnkStruct_ov000_020b50c019func_ov001_020bd970EP22UnkStruct_SceneChange1 kind:function(thumb,size=0x494) addr:0x020bd970
|
||||
_ZN24UnkStruct_ov000_020b50c019func_ov001_020bde04EP22UnkStruct_SceneChange1 kind:function(thumb,size=0x48) addr:0x020bde04
|
||||
_ZN24UnkStruct_ov000_020b50c019func_ov001_020bde4cEPK22UnkStruct_SceneChange1 kind:function(thumb,size=0x10) addr:0x020bde4c
|
||||
_ZN24UnkStruct_ov000_020b50c019func_ov001_020bd970EP12EntranceInfo kind:function(thumb,size=0x494) addr:0x020bd970
|
||||
_ZN24UnkStruct_ov000_020b50c019func_ov001_020bde04EP12EntranceInfo kind:function(thumb,size=0x48) addr:0x020bde04
|
||||
_ZN24UnkStruct_ov000_020b50c019func_ov001_020bde4cEPK12EntranceInfo kind:function(thumb,size=0x10) addr:0x020bde4c
|
||||
_ZN24UnkStruct_ov000_020b50c019func_ov001_020bde5cEv kind:function(thumb,size=0x10) addr:0x020bde5c
|
||||
func_ov001_020bde6c kind:function(thumb,size=0xe) addr:0x020bde6c
|
||||
func_ov001_020bde7c kind:function(thumb,size=0x14) addr:0x020bde7c
|
||||
@@ -518,23 +518,23 @@ __sinit_ov001_020c28f0 kind:function(thumb,size=0x10) addr:0x020c28f0
|
||||
.p__sinit_ov001_020c2570 kind:data(word) addr:0x020c291c local
|
||||
@433 kind:data(byte[22]) addr:0x020c2940 local
|
||||
@450 kind:data(byte[22]) addr:0x020c2958 local
|
||||
@3570 kind:data(byte[0x12]) addr:0x020c2970 local
|
||||
@3571 kind:data(byte[0x04]) addr:0x020c2984 local
|
||||
@3572 kind:data(byte[0x1a]) addr:0x020c2988 local
|
||||
@3573 kind:data(byte[0x18]) addr:0x020c29a4 local
|
||||
@3574 kind:data(byte[0x19]) addr:0x020c29bc local
|
||||
@3575 kind:data(byte[0x17]) addr:0x020c29d8 local
|
||||
@3576 kind:data(byte[0x04]) addr:0x020c29f0 local
|
||||
@3570 kind:data(byte[18]) addr:0x020c2970 local
|
||||
@3571 kind:data(byte[4]) addr:0x020c2984 local
|
||||
@3572 kind:data(byte[26]) addr:0x020c2988 local
|
||||
@3573 kind:data(byte[24]) addr:0x020c29a4 local
|
||||
@3574 kind:data(byte[25]) addr:0x020c29bc local
|
||||
@3575 kind:data(byte[23]) addr:0x020c29d8 local
|
||||
@3576 kind:data(byte[4]) addr:0x020c29f0 local
|
||||
_ZTV26UnkStruct_027e0cd8_0C_Base kind:data(any) addr:0x020c29f4
|
||||
data_ov001_020c2a40 kind:data(any) addr:0x020c2a40
|
||||
@3283 kind:data(byte[0x6]) addr:0x020c2a90 local
|
||||
@3284 kind:data(byte[0x13]) addr:0x020c2a98 local
|
||||
@3285 kind:data(byte[0x13]) addr:0x020c2aac local
|
||||
@3286 kind:data(byte[0x13]) addr:0x020c2ac0 local
|
||||
@3287 kind:data(byte[0x1b]) addr:0x020c2ad4 local
|
||||
@3288 kind:data(byte[0x1c]) addr:0x020c2af0 local
|
||||
@3292 kind:data(byte[0x17]) addr:0x020c2b0c local
|
||||
@3293 kind:data(byte[0x15]) addr:0x020c2b24 local
|
||||
@3283 kind:data(byte[6]) addr:0x020c2a90 local
|
||||
@3284 kind:data(byte[19]) addr:0x020c2a98 local
|
||||
@3285 kind:data(byte[19]) addr:0x020c2aac local
|
||||
@3286 kind:data(byte[19]) addr:0x020c2ac0 local
|
||||
@3287 kind:data(byte[27]) addr:0x020c2ad4 local
|
||||
@3288 kind:data(byte[28]) addr:0x020c2af0 local
|
||||
@3292 kind:data(byte[23]) addr:0x020c2b0c local
|
||||
@3293 kind:data(byte[21]) addr:0x020c2b24 local
|
||||
data_ov001_020c2b3c kind:data(any) addr:0x020c2b3c
|
||||
data_ov001_020c2b48 kind:data(any) addr:0x020c2b48
|
||||
data_ov001_020c2b58 kind:data(any) addr:0x020c2b58
|
||||
|
||||
@@ -510,7 +510,7 @@ _ZN14UnkDataStruct4C2Ev kind:function(arm,size=0x44) addr:0x020d2490
|
||||
_ZN14UnkDataStruct4C1Ev kind:function(arm,size=0x44) addr:0x020d24d4
|
||||
_ZN14UnkDataStruct419func_ov024_020d2518Ev kind:function(arm,size=0x4) addr:0x020d2518
|
||||
_ZN14UnkDataStruct419func_ov024_020d251cEv kind:function(arm,size=0x4) addr:0x020d251c
|
||||
_ZN14UnkDataStruct419func_ov024_020d2520EP22UnkStruct_SceneChange1 kind:function(arm,size=0x18) addr:0x020d2520
|
||||
_ZN14UnkDataStruct419func_ov024_020d2520EP12EntranceInfo kind:function(arm,size=0x18) addr:0x020d2520
|
||||
_ZN14UnkDataStruct419func_ov024_020d2538EjhP19UnkDataStruct4_14_2 kind:function(arm,size=0x2c) addr:0x020d2538
|
||||
_ZN14UnkDataStruct419func_ov024_020d2564Ev kind:function(arm,size=0x28) addr:0x020d2564
|
||||
_ZN14UnkDataStruct419func_ov024_020d258cEjh kind:function(arm,size=0x124) addr:0x020d258c
|
||||
|
||||
@@ -2062,7 +2062,7 @@ func_02039f94 kind:function(arm,size=0x10) addr:0x02039f94
|
||||
func_02039fa4 kind:function(arm,size=0x1b0) addr:0x02039fa4
|
||||
_ll_udiv kind:function(arm,size=0xc) addr:0x0203a154
|
||||
_ull_mod kind:function(arm,size=0x3c) addr:0x0203a160
|
||||
func_0203a19c kind:function(arm,size=0x20) addr:0x0203a19c
|
||||
_ull_mul kind:function(arm,size=0x20) addr:0x0203a19c
|
||||
_s32_div_f kind:function(arm,size=0x20c) addr:0x0203a1bc
|
||||
_u32_div_f kind:function(arm,size=0x1e4) addr:0x0203a3c8
|
||||
.L_0203a3d0 kind:label(arm) addr:0x0203a3d0
|
||||
|
||||
@@ -184,7 +184,7 @@ func_01ffe954 kind:function(arm,size=0x80) addr:0x01ffe954
|
||||
func_01ffe9d4 kind:function(arm,size=0x308) addr:0x01ffe9d4
|
||||
func_01ffecdc kind:function(arm,size=0xd0) addr:0x01ffecdc
|
||||
func_01ffedac kind:function(arm,size=0x48) addr:0x01ffedac
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base13func_01ffedf4EP5Vec2b kind:function(arm,size=0x1c) addr:0x01ffedf4
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base13func_01ffedf4EP8Vec2bCpp kind:function(arm,size=0x1c) addr:0x01ffedf4
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_28EP7VecFx32ii kind:function(arm,size=0x124) addr:0x01ffee10
|
||||
func_01ffef34 kind:function(arm,size=0x128) addr:0x01ffef34
|
||||
func_01fff05c kind:function(arm,size=0x58) addr:0x01fff05c
|
||||
@@ -204,7 +204,7 @@ _ZN12ActorManager13func_01fff3b4E8ActorRef kind:function(arm,size=0x8c) addr:0x0
|
||||
func_01fff440 kind:function(arm,size=0x18) addr:0x01fff440
|
||||
_ZN5Actor10GetActorIdEv kind:function(arm,size=0xc) addr:0x01fff458
|
||||
_ZN5Actor8vfunc_10EP7VecFx32 kind:function(arm,size=0x34) addr:0x01fff464
|
||||
_ZN16MapObjectManager13func_01fff498E5Vec2b kind:function(arm,size=0x34) addr:0x01fff498
|
||||
_ZN16MapObjectManager13func_01fff498E8Vec2bCpp kind:function(arm,size=0x34) addr:0x01fff498
|
||||
_ZN16MapObjectManager13func_01fff4ccEPFvPvS0_ES0_ kind:function(arm,size=0x54) addr:0x01fff4cc
|
||||
_ZN16MapObjectManager13func_01fff520EP24UnkStruct_ov000_020b34c4PP9MapObject kind:function(arm,size=0x64) addr:0x01fff520
|
||||
_ZN9MapObject14GetMapObjectIdEv kind:function(arm,size=0xc) addr:0x01fff584
|
||||
|
||||
@@ -60,6 +60,9 @@ src/000_Second/Actor/ActorUnkEFIK.cpp:
|
||||
.data start:0x020b4c2c end:0x020b4cb0
|
||||
.bss start:0x020b74f4 end:0x020b7540
|
||||
|
||||
src/000_Second/MapObject/MapObjectManager_000.cpp:
|
||||
.text start:0x0209db74 end:0x0209de6c
|
||||
|
||||
src/000_Second/MapObject/MapObjectProfile.cpp:
|
||||
complete
|
||||
.text start:0x0209df5c end:0x0209e5cc
|
||||
|
||||
@@ -66,7 +66,7 @@ _ZN19func_ov000_02058cb4D0Ev kind:function(arm,size=0x1c) addr:0x02058cb4
|
||||
func_ov000_02058cd0 kind:function(thumb,size=0xc) addr:0x02058cd0
|
||||
func_ov000_02058cdc kind:function(thumb,size=0x20) addr:0x02058cdc
|
||||
func_ov000_02058cfc kind:function(thumb,size=0xe) addr:0x02058cfc
|
||||
_ZN10UnkSystem5C2EPvP10G3d_Model_ kind:function(thumb,size=0x18) addr:0x02058d0c
|
||||
_ZN10UnkSystem5C1EPvP10G3d_Model_ kind:function(thumb,size=0x18) addr:0x02058d0c
|
||||
_ZN10UnkSystem519func_ov000_020577a4Eiii kind:function(arm,size=0x54) addr:0x02058d24
|
||||
_ZN10UnkSystem519func_ov000_020577f8Ei kind:function(arm,size=0x38) addr:0x02058d78
|
||||
func_ov000_02058db0 kind:function(arm,size=0x3c) addr:0x02058db0
|
||||
@@ -223,12 +223,12 @@ _ZN18UnkStruct_027e096019func_ov000_0205a11cEv kind:function(arm,size=0x4) addr:
|
||||
_ZN18UnkStruct_027e096019func_ov000_0205a120Ev kind:function(arm,size=0x40) addr:0x0205b6a8
|
||||
_ZN18UnkStruct_027e096019func_ov000_0205a160Ev kind:function(arm,size=0x4) addr:0x0205b6e8
|
||||
_ZN18UnkStruct_027e096019func_ov000_0205a164Ev kind:function(arm,size=0x40) addr:0x0205b6ec
|
||||
func_ov000_0205b72c kind:function(arm,size=0x34) addr:0x0205b72c
|
||||
_ZN18UnkStruct_027e096019func_ov000_0205a1a4Ev kind:function(arm,size=0x34) addr:0x0205b72c
|
||||
_ZN18UnkStruct_027e09606CreateEv kind:function(arm,size=0x24) addr:0x0205b760
|
||||
func_ov000_0205b784 kind:function(arm,size=0x8c) addr:0x0205b784
|
||||
func_ov000_0205b810 kind:function(arm,size=0x1c) addr:0x0205b810
|
||||
func_ov000_0205b82c kind:function(arm,size=0x24) addr:0x0205b82c
|
||||
func_ov000_0205b850 kind:function(arm,size=0x54) addr:0x0205b850
|
||||
_ZN18UnkStruct_027e096019func_ov000_0205a1fcEh kind:function(arm,size=0x8c) addr:0x0205b784
|
||||
_ZN18UnkStruct_027e096019func_ov000_0205a288EiPK12ZMBEntryRALB kind:function(arm,size=0x1c) addr:0x0205b810
|
||||
_ZN18UnkStruct_027e096019func_ov000_0205a2a4EiP12ZMBRALBPoint kind:function(arm,size=0x24) addr:0x0205b82c
|
||||
_ZN18UnkStruct_027e096019func_ov000_0205a2c8Ev kind:function(arm,size=0x54) addr:0x0205b850
|
||||
func_ov000_0205b8a4 kind:function(arm,size=0x74) addr:0x0205b8a4
|
||||
_ZN18UnkStruct_027e096019func_ov000_0205a390Eh kind:function(arm,size=0x38) addr:0x0205b918
|
||||
func_ov000_0205b950 kind:function(arm,size=0x34) addr:0x0205b950
|
||||
@@ -1549,13 +1549,13 @@ _ZN26UnkStruct_027e0cd8_0C_Base8vfunc_18Ev kind:function(arm,size=0x4) addr:0x02
|
||||
Unknown_func_ov000_0207fd7c kind:function(arm,size=0x40) addr:0x02081434
|
||||
func_ov000_02081474 kind:function(arm,size=0x250) addr:0x02081474
|
||||
func_ov000_020816c4 kind:function(arm,size=0x5c) addr:0x020816c4
|
||||
func_ov000_02081720 kind:function(arm,size=0x18) addr:0x02081720
|
||||
func_ov000_02081738 kind:function(arm,size=0x18) addr:0x02081738
|
||||
func_ov000_02080068 kind:function(arm,size=0x18) addr:0x02081720
|
||||
func_ov000_02080080 kind:function(arm,size=0x18) addr:0x02081738
|
||||
func_ov000_02081750 kind:function(arm,size=0xc8) addr:0x02081750
|
||||
func_ov000_02081818 kind:function(arm,size=0x20) addr:0x02081818
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_02080180EPv kind:function(arm,size=0x10) addr:0x02081838
|
||||
func_ov000_02081848 kind:function(arm,size=0x20) addr:0x02081848
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_020801b0EP5Vec2bii kind:function(arm,size=0x60) addr:0x02081868
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_020801b0EP8Vec2bCppii kind:function(arm,size=0x60) addr:0x02081868
|
||||
func_ov000_020818c8 kind:function(arm,size=0x78) addr:0x020818c8
|
||||
func_ov000_02081940 kind:function(arm,size=0x64) addr:0x02081940
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_020802ecEtP7VecFx32 kind:function(arm,size=0x78) addr:0x020819a4
|
||||
@@ -1570,7 +1570,7 @@ func_ov000_02081ef8 kind:function(arm,size=0x6c) addr:0x02081ef8
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_2CEv kind:function(arm,size=0x20) addr:0x02081f64
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_3CEv kind:function(arm,size=0x8) addr:0x02081f84
|
||||
func_ov000_02081f8c kind:function(arm,size=0x20) addr:0x02081f8c
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_020808f4EPvS0_i kind:function(arm,size=0x5c) addr:0x02081fac
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_020808f4EPvS0_h kind:function(arm,size=0x5c) addr:0x02081fac
|
||||
func_ov000_02082008 kind:function(arm,size=0x48) addr:0x02082008
|
||||
func_ov000_02082050 kind:function(arm,size=0x40) addr:0x02082050
|
||||
func_ov000_02082090 kind:function(arm,size=0x6c) addr:0x02082090
|
||||
@@ -1616,10 +1616,10 @@ func_ov000_02082eac kind:function(arm,size=0x28) addr:0x02082eac
|
||||
func_ov000_02082ed4 kind:function(arm,size=0x18) addr:0x02082ed4
|
||||
func_ov000_02082eec kind:function(arm,size=0x28) addr:0x02082eec
|
||||
func_ov000_02082f14 kind:function(arm,size=0x18) addr:0x02082f14
|
||||
func_ov000_02082f2c kind:function(arm,size=0x5c) addr:0x02082f2c
|
||||
func_ov000_02082f88 kind:function(arm,size=0xcc) addr:0x02082f88
|
||||
func_ov000_02083054 kind:function(arm,size=0x8) addr:0x02083054
|
||||
func_ov000_0208305c kind:function(arm,size=0x180) addr:0x0208305c
|
||||
_ZN21UnkStruct_027e0cd8_0419func_ov000_02081874Et kind:function(arm,size=0x5c) addr:0x02082f2c
|
||||
_ZN21UnkStruct_027e0cd8_0419func_ov000_020818d0EP19CourseListRoomEntryiiii kind:function(arm,size=0xcc) addr:0x02082f88
|
||||
_ZN21UnkStruct_027e0cd8_0419func_ov000_0208199cEjPvi kind:function(arm,size=0x8) addr:0x02083054
|
||||
_ZN21UnkStruct_027e0cd8_0419func_ov000_020819a4EPK29UnkStruct_func_ov000_020702a8 kind:function(arm,size=0x180) addr:0x0208305c
|
||||
func_ov000_020831dc kind:function(arm,size=0x44) addr:0x020831dc
|
||||
func_ov000_02083220 kind:function(arm,size=0xc) addr:0x02083220
|
||||
func_ov000_0208322c kind:function(arm,size=0x10) addr:0x0208322c
|
||||
@@ -1635,7 +1635,7 @@ _ZN18UnkStruct_027e0cd819func_ov000_02081d7cEiib kind:function(arm,size=0xb4) ad
|
||||
_ZN18UnkStruct_027e0cd819func_ov000_02081e30Eii kind:function(arm,size=0x8c) addr:0x020834e8
|
||||
func_ov000_02083574 kind:function(arm,size=0x10) addr:0x02083574
|
||||
_ZN18UnkStruct_027e0cd819func_ov000_02081eccEsi kind:function(arm,size=0x10) addr:0x02083584
|
||||
func_ov000_02083594 kind:function(arm,size=0x10) addr:0x02083594
|
||||
_ZN18UnkStruct_027e0cd819func_ov000_02081edcEt kind:function(arm,size=0x10) addr:0x02083594
|
||||
_ZN18UnkStruct_027e0cd819func_ov000_02081eecEsii kind:function(arm,size=0x50) addr:0x020835a4
|
||||
_ZN18UnkStruct_027e0cd819func_ov000_02081f3cEsi kind:function(arm,size=0x4c) addr:0x020835f4
|
||||
func_ov000_02083640 kind:function(arm,size=0x90) addr:0x02083640
|
||||
@@ -2253,7 +2253,7 @@ func_ov000_02098a3c kind:function(arm,size=0x154) addr:0x02098a3c
|
||||
_ZN24UnkStruct_ov000_020b539c18func_ov000_02073dcEv kind:function(arm,size=0xc) addr:0x02098b90
|
||||
_ZN24UnkStruct_ov000_020b539c18func_ov000_02073e8Ev kind:function(arm,size=0xc) addr:0x02098b9c
|
||||
_ZN5Actor19func_ov000_020973f4EP8ActorRefP24UnkStruct_ov000_020b539cjP11ActorParamsi kind:function(arm,size=0x50) addr:0x02098ba8
|
||||
func_ov000_02098bf8 kind:function(arm,size=0x98) addr:0x02098bf8
|
||||
_ZN24UnkStruct_ov000_020b539c19func_ov000_02097444EjP11ActorParamsi kind:function(arm,size=0x98) addr:0x02098bf8
|
||||
_ZN24UnkStruct_ov000_020b539c16GetProfileFromIdEj kind:function(arm,size=0x4c) addr:0x02098c90
|
||||
func_ov000_02098cdc kind:function(arm,size=0x20) addr:0x02098cdc
|
||||
func_ov000_02098cfc kind:function(arm,size=0x78) addr:0x02098cfc
|
||||
@@ -2495,15 +2495,15 @@ _ZN16MapObjectManager19func_ov000_0209c3a8Ev kind:function(arm,size=0x40) addr:0
|
||||
_ZN16MapObjectManager19func_ov000_0209c3e8Ev kind:function(arm,size=0x5c) addr:0x0209dbb4
|
||||
_ZN16MapObjectManager19func_ov000_0209c444Ev kind:function(arm,size=0x4c) addr:0x0209dc10
|
||||
_ZN16MapObjectManager19func_ov000_0209c490Ev kind:function(arm,size=0x94) addr:0x0209dc5c
|
||||
_ZN16MapObjectManager17AllocateMapObjectEv kind:function(arm,size=0x17c) addr:0x0209dcf0
|
||||
_ZN16MapObjectManager17AllocateMapObjectEj5Vec2btih kind:function(arm,size=0x17c) addr:0x0209dcf0
|
||||
func_ov000_0209de6c kind:function(arm,size=0xc) addr:0x0209de6c
|
||||
func_ov000_0209de78 kind:function(arm,size=0xc) addr:0x0209de78
|
||||
_ZN24UnkStruct_ov000_020b5d3416GetProfileFromIdEj kind:function(arm,size=0x38) addr:0x0209de84
|
||||
_ZN24UnkStruct_ov000_020b5d3415CreateMapObjectEP9MapObject kind:function(arm,size=0x28) addr:0x0209debc
|
||||
_ZN24UnkStruct_ov000_020b5d3415CreateMapObjectEj kind:function(arm,size=0x28) addr:0x0209debc
|
||||
_ZN24UnkStruct_ov000_020b5d3419func_ov000_0209c718Ej kind:function(arm,size=0x78) addr:0x0209dee4
|
||||
_ZN12MapObject_2019func_ov000_0209c790EjP16MapObjectProfile kind:function(arm,size=0x1c) addr:0x0209df5c
|
||||
_ZN12MapObject_2019func_ov000_0209c7acEj kind:function(arm,size=0x1c) addr:0x0209df78
|
||||
_ZN12MapObject_2019func_ov000_0209c7c8Ev kind:function(arm,size=0x58) addr:0x0209df94
|
||||
_ZN12MapObject_204InitEv kind:function(arm,size=0x58) addr:0x0209df94
|
||||
_ZN16MapObjectProfileC2Ej kind:function(arm,size=0x8c) addr:0x0209dfec
|
||||
_ZN16MapObjectProfileD2Ev kind:function(arm,size=0x28) addr:0x0209e078
|
||||
_ZN16MapObjectProfile8vfunc_04Ev kind:function(arm,size=0x8) addr:0x0209e0a0
|
||||
@@ -2549,7 +2549,7 @@ _ZN9MapObjectD0Ev kind:function(arm,size=0x14) addr:0x0209e85c
|
||||
_ZN9MapObjectD2Ev kind:function(arm,size=0x4) addr:0x0209e870
|
||||
_ZN9MapObject8vfunc_00Ev kind:function(arm,size=0x8) addr:0x0209e874
|
||||
_ZN9MapObject8vfunc_04Ev kind:function(arm,size=0x4) addr:0x0209e87c
|
||||
_ZN9MapObject19func_ov000_0209d0bcEP5Vec2bPS_ kind:function(arm,size=0x58) addr:0x0209e880
|
||||
_ZN9MapObject19func_ov000_0209d0bcEP8Vec2bCppPS_ kind:function(arm,size=0x58) addr:0x0209e880
|
||||
_ZN9MapObject19func_ov000_0209d114Ev kind:function(arm,size=0x18) addr:0x0209e8d8
|
||||
_ZN9MapObject19func_ov000_0209d12cEv kind:function(arm,size=0x18) addr:0x0209e8f0
|
||||
_ZN9MapObject19func_ov000_0209d144EP5Vec2sii kind:function(arm,size=0x88) addr:0x0209e908
|
||||
@@ -2562,7 +2562,7 @@ _ZN9MapObject19func_ov000_0209d22cEPsPS_i kind:function(arm,size=0x48) addr:0x02
|
||||
_ZN9MapObject19func_ov000_0209d274Ei kind:function(arm,size=0x28) addr:0x0209ea38
|
||||
_ZN9MapObject19func_ov000_0209d29cEi kind:function(arm,size=0x28) addr:0x0209ea60
|
||||
_ZN9MapObject19func_ov000_0209d2c4Eib kind:function(arm,size=0x2c) addr:0x0209ea88
|
||||
_ZN9MapObject19func_ov000_0209d2f0EiiP5Vec2b kind:function(arm,size=0xc4) addr:0x0209eab4
|
||||
_ZN9MapObject19func_ov000_0209d2f0EiiP8Vec2bCpp kind:function(arm,size=0xc4) addr:0x0209eab4
|
||||
_ZN9MapObject19func_ov000_0209d3b4Eii kind:function(arm,size=0x80) addr:0x0209eb78
|
||||
_ZN9MapObject19func_ov000_0209d434EPcP34UnkStruct_ov019_020d24c8_28_258_00i kind:function(arm,size=0xe4) addr:0x0209ebf8
|
||||
_ZN9MapObject19func_ov000_0209d518Eiiih kind:function(arm,size=0x34) addr:0x0209ecdc
|
||||
@@ -2959,7 +2959,7 @@ func_ov000_020a8f5c kind:function(arm,size=0x28) addr:0x020a8f5c
|
||||
func_ov000_020a8f84 kind:function(arm,size=0x4c) addr:0x020a8f84
|
||||
func_ov000_020a8fd0 kind:function(arm,size=0x5c) addr:0x020a8fd0
|
||||
_Z22Cutscene_GetParamEntryi kind:function(arm,size=0x14) addr:0x020a902c
|
||||
func_ov000_020a9040 kind:function(arm,size=0x84) addr:0x020a9040
|
||||
_Z19func_ov000_020a7840ii kind:function(arm,size=0x84) addr:0x020a9040
|
||||
_Z27Cutscene_IsAdventureFlagSeti kind:function(arm,size=0x44) addr:0x020a90c4
|
||||
_ZN21UnkStruct_027e09b8_98C1Ev kind:function(arm,size=0xdc) addr:0x020a9108
|
||||
func_ov000_020a91e4 kind:function(arm,size=0x6c) addr:0x020a91e4
|
||||
|
||||
@@ -29,11 +29,12 @@ src/001_SceneInit/UnkStruct_027e0cd8_001.cpp:
|
||||
src/001_SceneInit/UnkStruct_027e0cd8_0C_001.cpp:
|
||||
.text start:0x020b9a20 end:0x020baab0
|
||||
.init start:0x020c408c end:0x020c4144
|
||||
.bss start:0x020c5928 end:0x020c5f34
|
||||
.data start:0x020c4234 end:0x020c437c
|
||||
.ctor start:0x020c4158 end:0x020c415c
|
||||
.data start:0x020c4234 end:0x020c437c
|
||||
.bss start:0x020c5928 end:0x020c5f34
|
||||
|
||||
src/001_SceneInit/ZeldaArrangeBinary.cpp:
|
||||
complete
|
||||
.text start:0x020baab0 end:0x020bacf0
|
||||
|
||||
src/001_SceneInit/ZeldaMapBinary.cpp:
|
||||
|
||||
@@ -314,8 +314,8 @@ from:0x020b8e48 kind:thumb_call_arm to:0x02011f3c module:main
|
||||
from:0x020b8e50 kind:thumb_call_arm to:0x02075cfc module:overlay(0)
|
||||
from:0x020b8e5c kind:thumb_call_arm to:0x02011f3c module:main
|
||||
from:0x020b8e64 kind:thumb_call_arm to:0x020a9108 module:overlay(0)
|
||||
from:0x020b8e78 kind:load to:0x020b3ab8 module:overlay(0) add:0x8
|
||||
from:0x020b8e7c kind:load to:0x020b3b44 module:overlay(0) add:0x8
|
||||
from:0x020b8e78 kind:load to:0x020b3ab8 add:0x8 module:overlay(0)
|
||||
from:0x020b8e7c kind:load to:0x020b3b44 add:0x8 module:overlay(0)
|
||||
from:0x020b8e80 kind:load to:0x0204b608 module:main
|
||||
from:0x020b8ea6 kind:thumb_call_arm to:0x02011ff4 module:main
|
||||
from:0x020b8eb8 kind:thumb_call_arm to:0x020a9270 module:overlay(0)
|
||||
@@ -339,7 +339,7 @@ from:0x020b8fa4 kind:thumb_call to:0x020b8fac module:overlay(1)
|
||||
from:0x020b8fb0 kind:thumb_call to:0x020b9a08 module:overlay(1)
|
||||
from:0x020b8fca kind:thumb_call_arm to:0x02016614 module:main
|
||||
from:0x020b8fe6 kind:thumb_call_arm to:0x0201668c module:main
|
||||
from:0x020b900c kind:load to:0x020b4138 module:overlay(0) add:0x8
|
||||
from:0x020b900c kind:load to:0x020b4138 add:0x8 module:overlay(0)
|
||||
from:0x020b9010 kind:load to:0x027e09bc module:dtcm
|
||||
from:0x020b9020 kind:thumb_call_arm to:0x02082928 module:overlay(0)
|
||||
from:0x020b9026 kind:thumb_call_arm to:0x02011ff4 module:main
|
||||
@@ -539,7 +539,7 @@ from:0x020b9a58 kind:thumb_call to:0x020154e8 module:main
|
||||
from:0x020b9a6c kind:thumb_call_arm to:0x020839f4 module:overlay(0)
|
||||
from:0x020b9bfe kind:thumb_call to:0x020bc6e8 module:overlay(1)
|
||||
from:0x020b9c06 kind:thumb_call to:0x0205a820 module:overlay(0)
|
||||
from:0x020b9c10 kind:load to:0x020c4234 module:overlay(1) add:0x8
|
||||
from:0x020b9c10 kind:load to:0x020c4234 add:0x8 module:overlay(1)
|
||||
from:0x020b9c14 kind:load to:0x027e0c90 module:dtcm
|
||||
from:0x020b9c18 kind:load to:0x027e0ca8 module:dtcm
|
||||
from:0x020b9c1c kind:load to:0x027e0c9c module:dtcm
|
||||
@@ -559,7 +559,7 @@ from:0x020b9ca6 kind:thumb_call to:0x020ba73c module:overlay(1)
|
||||
from:0x020b9cae kind:thumb_call to:0x02015504 module:main
|
||||
from:0x020b9cb6 kind:thumb_call to:0x0205910c module:overlay(0)
|
||||
from:0x020b9cbc kind:thumb_call to:0x02015414 module:main
|
||||
from:0x020b9cc4 kind:load to:0x020c4234 module:overlay(1) add:0x8
|
||||
from:0x020b9cc4 kind:load to:0x020c4234 add:0x8 module:overlay(1)
|
||||
from:0x020b9cc8 kind:load to:0x027e095c module:dtcm
|
||||
from:0x020b9ccc kind:load to:0x027e0ce8 module:dtcm
|
||||
from:0x020b9cdc kind:thumb_call to:0x0205a868 module:overlay(0)
|
||||
@@ -573,7 +573,7 @@ from:0x020b9d46 kind:thumb_call to:0x02015504 module:main
|
||||
from:0x020b9d4e kind:thumb_call to:0x0205910c module:overlay(0)
|
||||
from:0x020b9d54 kind:thumb_call to:0x02015414 module:main
|
||||
from:0x020b9d5a kind:thumb_call_arm to:0x02011ff4 module:main
|
||||
from:0x020b9d64 kind:load to:0x020c4234 module:overlay(1) add:0x8
|
||||
from:0x020b9d64 kind:load to:0x020c4234 add:0x8 module:overlay(1)
|
||||
from:0x020b9d68 kind:load to:0x027e095c module:dtcm
|
||||
from:0x020b9d6c kind:load to:0x027e0ce8 module:dtcm
|
||||
from:0x020b9d7c kind:thumb_call to:0x0205a868 module:overlay(0)
|
||||
@@ -586,7 +586,7 @@ from:0x020b9dde kind:thumb_call to:0x020ba73c module:overlay(1)
|
||||
from:0x020b9de6 kind:thumb_call to:0x02015504 module:main
|
||||
from:0x020b9dee kind:thumb_call to:0x0205910c module:overlay(0)
|
||||
from:0x020b9df4 kind:thumb_call to:0x02015414 module:main
|
||||
from:0x020b9dfc kind:load to:0x020c4234 module:overlay(1) add:0x8
|
||||
from:0x020b9dfc kind:load to:0x020c4234 add:0x8 module:overlay(1)
|
||||
from:0x020b9e00 kind:load to:0x027e095c module:dtcm
|
||||
from:0x020b9e04 kind:load to:0x027e0ce8 module:dtcm
|
||||
from:0x020b9e30 kind:thumb_call_arm to:0x02027d30 module:main
|
||||
|
||||
@@ -2,10 +2,10 @@ _ZN18UnkStruct_027e09a46CreateEi kind:function(thumb,size=0x1a) addr:0x020b7d40
|
||||
_ZN18UnkStruct_027e09a4C1Ei kind:function(thumb,size=0xee) addr:0x020b7d5c
|
||||
_ZN18UnkStruct_027e09a419func_ov001_020b662cEv kind:function(thumb,size=0xae) addr:0x020b7e4c
|
||||
_ZN18UnkStruct_027e09a419func_ov001_020b66dcEv kind:function(thumb,size=0x7c) addr:0x020b7efc
|
||||
_ZN18UnkStruct_027e09a419func_ov001_020b6758EPK22UnkStruct_SceneChange1b kind:function(thumb,size=0x14c) addr:0x020b7f78
|
||||
_ZN18UnkStruct_027e09a419func_ov001_020b6758EPK12EntranceInfob kind:function(thumb,size=0x14c) addr:0x020b7f78
|
||||
_ZN18UnkStruct_027e09a419func_ov001_020b68a4Ebbb kind:function(thumb,size=0x80) addr:0x020b80c4
|
||||
_ZN18UnkStruct_027e09a419func_ov001_020b6924EPK22UnkStruct_SceneChange1b kind:function(thumb,size=0x90) addr:0x020b8144
|
||||
_ZN18UnkStruct_027e09a419func_ov001_020b69b4EPK22UnkStruct_SceneChange1b kind:function(thumb,size=0x194) addr:0x020b81d4
|
||||
_ZN18UnkStruct_027e09a419func_ov001_020b6924EPK12EntranceInfob kind:function(thumb,size=0x90) addr:0x020b8144
|
||||
_ZN18UnkStruct_027e09a419func_ov001_020b69b4EPK12EntranceInfob kind:function(thumb,size=0x194) addr:0x020b81d4
|
||||
_ZN15TreasureManager7DestroyEv kind:function(thumb,size=0x20) addr:0x020b8368
|
||||
_ZN14MiscAdvManager7DestroyEv kind:function(thumb,size=0x20) addr:0x020b8388
|
||||
_ZN18UnkStruct_027e09607DestroyEv kind:function(thumb,size=0x20) addr:0x020b83a8
|
||||
@@ -54,13 +54,13 @@ _ZN8InstanceI18UnkStruct_027e09b8ED2Ev kind:function(thumb,size=0xc) addr:0x020b
|
||||
_ZN18UnkStruct_027e0cd86CreateEv kind:function(thumb,size=0x16) addr:0x020b8f94
|
||||
_ZN18UnkStruct_027e0cd8C1Ev kind:function(thumb,size=0x68) addr:0x020b8fac
|
||||
_ZN18UnkStruct_027e0cd8D1Ev kind:function(thumb,size=0x42) addr:0x020b9014
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7830EPK22UnkStruct_SceneChange1 kind:function(thumb,size=0x24c) addr:0x020b9058
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7830EPK12EntranceInfo kind:function(thumb,size=0x24c) addr:0x020b9058
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7a7cEv kind:function(thumb,size=0xbc) addr:0x020b92a4
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7b38EPK15CourseListEntryPK29UnkStruct_func_ov000_020702a8 kind:function(thumb,size=0xd0) addr:0x020b9360
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7c08EPK22UnkStruct_SceneChange1PK21UnkStruct_WarpUnk1_A0 kind:function(thumb,size=0x174) addr:0x020b9430
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7d64EPK22UnkStruct_SceneChange1 kind:function(thumb,size=0xec) addr:0x020b95a4
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7c08EPK12EntranceInfoPK21UnkStruct_WarpUnk1_A0 kind:function(thumb,size=0x174) addr:0x020b9430
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7d64EPK12EntranceInfo kind:function(thumb,size=0xec) addr:0x020b95a4
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7e50Ev kind:function(thumb,size=0x16) addr:0x020b9690
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7e68EPK22UnkStruct_SceneChange1b kind:function(thumb,size=0x1d4) addr:0x020b96a8
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b7e68EPK12EntranceInfob kind:function(thumb,size=0x1d4) addr:0x020b96a8
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b803cEv kind:function(thumb,size=0xc0) addr:0x020b987c
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b80fcEj kind:function(thumb,size=0x24) addr:0x020b993c
|
||||
_ZN18UnkStruct_027e0cd819func_ov001_020b8120Ej kind:function(thumb,size=0x6c) addr:0x020b9960
|
||||
@@ -73,64 +73,64 @@ _ZN26UnkStruct_027e0cd8_0C_BaseD0Ev kind:function(thumb,size=0xa0) addr:0x020b9c
|
||||
_ZN26UnkStruct_027e0cd8_0C_BaseD2Ev kind:function(thumb,size=0x98) addr:0x020b9d70
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_38Ev kind:function(thumb,size=0x2) addr:0x020b9e08
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_08Ev kind:function(thumb,size=0x2) addr:0x020b9e0c
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b85d0EPK22UnkStruct_SceneChange1 kind:function(thumb,size=0x2f0) addr:0x020b9e10
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b85d0EPK12EntranceInfo kind:function(thumb,size=0x2f0) addr:0x020b9e10
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b88c0Ei kind:function(thumb,size=0x2c) addr:0x020ba100
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b88ecEv kind:function(thumb,size=0x60) addr:0x020ba12c
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base14LoadSceneModelEPK22UnkStruct_SceneChange1 kind:function(thumb,size=0xe0) addr:0x020ba18c
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_1CEPK22UnkStruct_SceneChange1bb kind:function(thumb,size=0x2c) addr:0x020ba26c
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base14LoadSceneModelEPK12EntranceInfo kind:function(thumb,size=0xe0) addr:0x020ba18c
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_1CEPK12EntranceInfobb kind:function(thumb,size=0x2c) addr:0x020ba26c
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_20Ev kind:function(thumb,size=0x2) addr:0x020ba298
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8a5cEii kind:function(thumb,size=0x8e) addr:0x020ba29c
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8aecEv kind:function(thumb,size=0xa8) addr:0x020ba32c
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8b94EP12ZMBEntryARAB kind:function(thumb,size=0x9c) addr:0x020ba3d4
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8c30ERK33UnkStruct_027e0cd8_0C_Base_154_00 kind:function(thumb,size=0x4e) addr:0x020ba470
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8c30ERK12EntranceInfo kind:function(thumb,size=0x4e) addr:0x020ba470
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8c80Ei kind:function(thumb,size=0x10) addr:0x020ba4c0
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8c90Ei kind:function(thumb,size=0x8) addr:0x020ba4d0
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8c98Ei kind:function(thumb,size=0x8) addr:0x020ba4d8
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_34Ei kind:function(thumb,size=0x8) addr:0x020ba4e0
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8c90EP14ZMBSectionCMPT kind:function(thumb,size=0x8) addr:0x020ba4d0
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8c98EP14ZMBSectionCAME kind:function(thumb,size=0x8) addr:0x020ba4d8
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base13ZMB_ParseROMBEP14ZMBSectionROMB kind:function(thumb,size=0x8) addr:0x020ba4e0
|
||||
_ZN24UnkStruct_ov001_020c40f4D1Ev kind:function(thumb,size=0x2) addr:0x020ba4e8
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_40Eh kind:function(thumb,size=0xfc) addr:0x020ba4ec
|
||||
_ZN24UnkStruct_ov001_020c40f4C1Ev kind:function(thumb,size=0xe) addr:0x020ba5e8
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8db8Ev kind:function(thumb,size=0x6c) addr:0x020ba5f8
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8e24Ev kind:function(thumb,size=0x30) addr:0x020ba664
|
||||
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov001_020b8e54Ev kind:function(thumb,size=0x20) addr:0x020ba694
|
||||
_ZNSt13__vec_deleterI33UnkStruct_027e0cd8_0C_Base_154_00SaIS0_EE13sub_push_backERKS0_N10Metrowerks8int2typeILi0EEE kind:function(thumb,size=0x18) addr:0x020ba6b4
|
||||
_ZN12CustomVectorI33UnkStruct_027e0cd8_0C_Base_154_00ED1Ev kind:function(thumb,size=0x1c) addr:0x020ba6cc
|
||||
_ZNSt13__vec_deleterI12EntranceInfoSaIS0_EE13sub_push_backERKS0_N10Metrowerks8int2typeILi0EEE kind:function(thumb,size=0x18) addr:0x020ba6b4
|
||||
_ZN12CustomVectorI12EntranceInfoED1Ev kind:function(thumb,size=0x1c) addr:0x020ba6cc
|
||||
_ZNSt13__vec_deleterIP38UnkStruct_027e0cd8_0C_Base_148_00_BaseSaIS1_EE5eraseEPS1_S4_13UnkMSLStruct1 kind:function(thumb,size=0x3c) addr:0x020ba6e8
|
||||
_ZNSt13__vec_deleterIP38UnkStruct_027e0cd8_0C_Base_148_00_BaseSaIS1_EE13sub_push_backERKS1_N10Metrowerks8int2typeILi1EEE kind:function(thumb,size=0x18) addr:0x020ba724
|
||||
_ZN12CustomVectorIP38UnkStruct_027e0cd8_0C_Base_148_00_BaseED1Ev kind:function(thumb,size=0x1c) addr:0x020ba73c
|
||||
_ZNSt13__vec_deleterI33UnkStruct_027e0cd8_0C_Base_154_00SaIS0_EE7grow_byEm kind:function(thumb,size=0x80) addr:0x020ba758
|
||||
_ZNSt13__vec_deleterI33UnkStruct_027e0cd8_0C_Base_154_00SaIS0_EE14append_reallocEmRKS0_ kind:function(thumb,size=0xd4) addr:0x020ba7d8
|
||||
_ZNSt13__vec_deleterI12EntranceInfoSaIS0_EE7grow_byEm kind:function(thumb,size=0x80) addr:0x020ba758
|
||||
_ZNSt13__vec_deleterI12EntranceInfoSaIS0_EE14append_reallocEmRKS0_ kind:function(thumb,size=0xd4) addr:0x020ba7d8
|
||||
_ZNSt13__vec_deleterIP38UnkStruct_027e0cd8_0C_Base_148_00_BaseSaIS1_EE7grow_byEm kind:function(thumb,size=0x80) addr:0x020ba8ac
|
||||
_ZNSt13__vec_deleterIP38UnkStruct_027e0cd8_0C_Base_148_00_BaseSaIS1_EE14append_reallocEmRKS1_ kind:function(thumb,size=0xc6) addr:0x020ba92c
|
||||
_ZNSt20__vec_deleter_helperI33UnkStruct_027e0cd8_0C_Base_154_00SaIS0_EED1Ev kind:function(thumb,size=0x10) addr:0x020ba9f4
|
||||
_ZNSt20__vec_deleter_helperI12EntranceInfoSaIS0_EED1Ev kind:function(thumb,size=0x10) addr:0x020ba9f4
|
||||
_ZNSt20__vec_deleter_helperIP38UnkStruct_027e0cd8_0C_Base_148_00_BaseSaIS1_EED1Ev kind:function(thumb,size=0x10) addr:0x020baa04
|
||||
_ZNSt13__vec_deleterIP38UnkStruct_027e0cd8_0C_Base_148_00_BaseSaIS1_EE8allocateEmN10Metrowerks8int2typeILi1EEE kind:function(thumb,size=0x24) addr:0x020baa14
|
||||
_ZNSt13__vec_deleterIP38UnkStruct_027e0cd8_0C_Base_148_00_BaseSaIS1_EED2Ev kind:function(thumb,size=0x1c) addr:0x020baa38
|
||||
_ZNSt13__vec_deleterI33UnkStruct_027e0cd8_0C_Base_154_00SaIS0_EE8allocateEmN10Metrowerks8int2typeILi1EEE kind:function(thumb,size=0x28) addr:0x020baa54
|
||||
_ZNSt13__vec_deleterI33UnkStruct_027e0cd8_0C_Base_154_00SaIS0_EED2Ev kind:function(thumb,size=0x1c) addr:0x020baa7c
|
||||
_ZNSt13__vec_deleterI12EntranceInfoSaIS0_EE8allocateEmN10Metrowerks8int2typeILi1EEE kind:function(thumb,size=0x28) addr:0x020baa54
|
||||
_ZNSt13__vec_deleterI12EntranceInfoSaIS0_EED2Ev kind:function(thumb,size=0x1c) addr:0x020baa7c
|
||||
__arraydtor$4129 kind:function(thumb,size=0x18) addr:0x020baa98 local
|
||||
func_ov001_020b9270 kind:function(thumb,size=0x70) addr:0x020baab0
|
||||
func_ov001_020b92e0 kind:function(thumb,size=0x18c) addr:0x020bab20
|
||||
func_ov001_020b946c kind:function(thumb,size=0x4) addr:0x020bacac
|
||||
func_ov001_020b9470 kind:function(thumb,size=0x3e) addr:0x020bacb0
|
||||
ZAB_ParseFile kind:function(thumb,size=0x70) addr:0x020baab0
|
||||
ZAB_ParseCAMB kind:function(thumb,size=0x18c) addr:0x020bab20
|
||||
ZAB_ParseCABI kind:function(thumb,size=0x4) addr:0x020bacac
|
||||
ZAB_GetRoomEntry kind:function(thumb,size=0x3e) addr:0x020bacb0
|
||||
ZMB_ParseFile kind:function(thumb,size=0x164) addr:0x020bacf0
|
||||
func_ov001_020b9614 kind:function(thumb,size=0xe) addr:0x020bae54
|
||||
func_ov001_020b9624 kind:function(thumb,size=0xfc) addr:0x020bae64
|
||||
func_ov001_020b9720 kind:function(thumb,size=0x40) addr:0x020baf60
|
||||
func_ov001_020b9760 kind:function(thumb,size=0xe0) addr:0x020bafa0
|
||||
func_ov001_020b9840 kind:function(thumb,size=0xc4) addr:0x020bb080
|
||||
func_ov001_020b9904 kind:function(thumb,size=0x140) addr:0x020bb144
|
||||
func_ov001_020b9a44 kind:function(thumb,size=0x22c) addr:0x020bb284
|
||||
func_ov001_020b9c70 kind:function(thumb,size=0x460) addr:0x020bb4b0
|
||||
func_ov001_020ba0d0 kind:function(thumb,size=0x17c) addr:0x020bb910
|
||||
func_ov001_020ba24c kind:function(thumb,size=0xa4) addr:0x020bba8c
|
||||
func_ov001_020ba2f0 kind:function(thumb,size=0x5e) addr:0x020bbb30
|
||||
func_ov001_020ba350 kind:function(thumb,size=0x36) addr:0x020bbb90
|
||||
func_ov001_020ba388 kind:function(thumb,size=0x7e) addr:0x020bbbc8
|
||||
func_ov001_020ba408 kind:function(thumb,size=0x80) addr:0x020bbc48
|
||||
func_ov001_020ba488 kind:function(thumb,size=0x1c) addr:0x020bbcc8
|
||||
ZMB_ParseROMB kind:function(thumb,size=0xe) addr:0x020bae54
|
||||
ZMB_ParseLDLB kind:function(thumb,size=0xfc) addr:0x020bae64
|
||||
ZMB_ParseARAB kind:function(thumb,size=0x40) addr:0x020baf60
|
||||
ZMB_ParseRALB kind:function(thumb,size=0xe0) addr:0x020bafa0
|
||||
ZMB_ParseWARP kind:function(thumb,size=0xc4) addr:0x020bb080
|
||||
ZMB_ParseMapObjList kind:function(thumb,size=0x140) addr:0x020bb144
|
||||
ZMB_ParseActorList kind:function(thumb,size=0x22c) addr:0x020bb284
|
||||
ZMB_ParseROOM kind:function(thumb,size=0x460) addr:0x020bb4b0
|
||||
ZMB_ParsePLYR kind:function(thumb,size=0x17c) addr:0x020bb910
|
||||
ZMB_ParseCAME kind:function(thumb,size=0xa4) addr:0x020bba8c
|
||||
ZMB_ParseCMPT kind:function(thumb,size=0x5e) addr:0x020bbb30
|
||||
ZMB_020ba350 kind:function(thumb,size=0x36) addr:0x020bbb90
|
||||
ZMB_020ba388 kind:function(thumb,size=0x7e) addr:0x020bbbc8
|
||||
ZMB_020ba408 kind:function(thumb,size=0x80) addr:0x020bbc48
|
||||
_ZNSt13__vec_deleterI12EntranceInfoSaIS0_EED1Ev kind:function(thumb,size=0x1c) addr:0x020bbcc8
|
||||
func_ov001_020ba4a4 kind:function(thumb,size=0x28) addr:0x020bbce4
|
||||
func_ov001_020ba4cc kind:function(thumb,size=0x1c) addr:0x020bbd0c
|
||||
_ZNSt13__vec_deleterIP38UnkStruct_027e0cd8_0C_Base_148_00_BaseSaIS1_EED1Ev kind:function(thumb,size=0x1c) addr:0x020bbd0c
|
||||
func_ov001_020ba4e8 kind:function(thumb,size=0x24) addr:0x020bbd28
|
||||
_ZN18UnkStruct_027e095c6CreateEv kind:function(thumb,size=0x1c) addr:0x020bbd4c
|
||||
func_ov001_020ba528 kind:function(thumb,size=0x50) addr:0x020bbd68
|
||||
@@ -182,8 +182,8 @@ _ZN12ActorManager19func_ov001_020bb414Ev kind:function(thumb,size=0x74) addr:0x0
|
||||
_ZN12ActorManager19func_ov001_020bb488Ev kind:function(thumb,size=0xc0) addr:0x020bccd0
|
||||
_ZN12ActorManager19func_ov001_020bb548Ev kind:function(thumb,size=0xe8) addr:0x020bcd90
|
||||
_ZN12ActorManager19func_ov001_020bb630Ev kind:function(thumb,size=0x80) addr:0x020bce78
|
||||
_ZN12ActorManager19func_ov001_020bb6b0EP22UnkStruct_SceneChange1 kind:function(thumb,size=0x78) addr:0x020bcef8
|
||||
_ZN12ActorManager19func_ov001_020bb728Ei kind:function(thumb,size=0x88) addr:0x020bcf70
|
||||
_ZN12ActorManager19func_ov001_020bb6b0EP12EntranceInfo kind:function(thumb,size=0x78) addr:0x020bcef8
|
||||
_ZN12ActorManager19func_ov001_020bb728Ej kind:function(thumb,size=0x88) addr:0x020bcf70
|
||||
_ZN12ActorManager19func_ov001_020bb7b0EP15ZeldaObjectList kind:function(thumb,size=0x40) addr:0x020bcff8
|
||||
_ZN12ActorManager19func_ov001_020bb7f0Ev kind:function(thumb,size=0x34) addr:0x020bd038
|
||||
_ZN12ActorManager19func_ov001_020bb824Ev kind:function(thumb,size=0x20) addr:0x020bd06c
|
||||
@@ -252,7 +252,7 @@ func_ov001_020bcca0 kind:function(thumb,size=0x46) addr:0x020be4e8
|
||||
func_ov001_020bcce8 kind:function(thumb,size=0x2) addr:0x020be530
|
||||
func_ov001_020bccec kind:function(thumb,size=0x2fe) addr:0x020be534
|
||||
func_ov001_020bcfec kind:function(thumb,size=0xb8) addr:0x020be834
|
||||
func_ov001_020bd0a4 kind:function(thumb,size=0x148) addr:0x020be8ec
|
||||
_ZN21UnkStruct_027e0ce0_1C19func_ov001_020bd0a4Eb kind:function(thumb,size=0x148) addr:0x020be8ec
|
||||
func_ov001_020bd1ec kind:function(thumb,size=0x80) addr:0x020bea34
|
||||
func_ov001_020bd26c kind:function(thumb,size=0x74) addr:0x020beab4
|
||||
func_ov001_020bd2e0 kind:function(thumb,size=0x78) addr:0x020beb28
|
||||
@@ -285,9 +285,9 @@ _ZN24UnkStruct_ov000_020b50c019func_ov001_020bd8dcEv kind:function(thumb,size=0x
|
||||
func_ov001_020bd8e8 kind:function(thumb,size=0x28) addr:0x020bf130
|
||||
func_ov001_020bd910 kind:function(thumb,size=0x30) addr:0x020bf158
|
||||
func_ov001_020bd934 kind:function(thumb,size=0x3c) addr:0x020bf188
|
||||
_ZN24UnkStruct_ov000_020b50c019func_ov001_020bd970EP22UnkStruct_SceneChange1 kind:function(thumb,size=0x494) addr:0x020bf1c4
|
||||
_ZN24UnkStruct_ov000_020b50c019func_ov001_020bde04EP22UnkStruct_SceneChange1 kind:function(thumb,size=0x48) addr:0x020bf658
|
||||
_ZN24UnkStruct_ov000_020b50c019func_ov001_020bde4cEPK22UnkStruct_SceneChange1 kind:function(thumb,size=0x10) addr:0x020bf6a0
|
||||
_ZN24UnkStruct_ov000_020b50c019func_ov001_020bd970EP12EntranceInfo kind:function(thumb,size=0x494) addr:0x020bf1c4
|
||||
_ZN24UnkStruct_ov000_020b50c019func_ov001_020bde04EP12EntranceInfo kind:function(thumb,size=0x48) addr:0x020bf658
|
||||
_ZN24UnkStruct_ov000_020b50c019func_ov001_020bde4cEPK12EntranceInfo kind:function(thumb,size=0x10) addr:0x020bf6a0
|
||||
_ZN24UnkStruct_ov000_020b50c019func_ov001_020bde5cEv kind:function(thumb,size=0x10) addr:0x020bf6b0
|
||||
func_ov001_020bde6c kind:function(thumb,size=0xe) addr:0x020bf6c0
|
||||
func_ov001_020bde7c kind:function(thumb,size=0x14) addr:0x020bf6d0
|
||||
@@ -519,23 +519,23 @@ __sinit_ov001_020c4144 kind:function(thumb,size=0x10) addr:0x020c4144
|
||||
.p__sinit_ov001_020c3dc4 kind:data(word) addr:0x020c4170 local
|
||||
@433 kind:data(byte[22]) addr:0x020c4180 local
|
||||
@450 kind:data(byte[22]) addr:0x020c4198 local
|
||||
@3570 kind:data(byte[0x12]) addr:0x020c41b0 local
|
||||
@3571 kind:data(byte[0x04]) addr:0x020c41c4 local
|
||||
@3572 kind:data(byte[0x1a]) addr:0x020c41c8 local
|
||||
@3573 kind:data(byte[0x18]) addr:0x020c41e4 local
|
||||
@3574 kind:data(byte[0x19]) addr:0x020c41fc local
|
||||
@3575 kind:data(byte[0x17]) addr:0x020c4218 local
|
||||
@3576 kind:data(byte[0x04]) addr:0x020c4230 local
|
||||
@3570 kind:data(byte[18]) addr:0x020c41b0 local
|
||||
@3571 kind:data(byte[4]) addr:0x020c41c4 local
|
||||
@3572 kind:data(byte[26]) addr:0x020c41c8 local
|
||||
@3573 kind:data(byte[24]) addr:0x020c41e4 local
|
||||
@3574 kind:data(byte[25]) addr:0x020c41fc local
|
||||
@3575 kind:data(byte[23]) addr:0x020c4218 local
|
||||
@3576 kind:data(byte[4]) addr:0x020c4230 local
|
||||
_ZTV26UnkStruct_027e0cd8_0C_Base kind:data(any) addr:0x020c4234
|
||||
data_ov001_020c2a40 kind:data(any) addr:0x020c4280
|
||||
@3283 kind:data(byte[0x6]) addr:0x020c42d0 local
|
||||
@3284 kind:data(byte[0x13]) addr:0x020c42d8 local
|
||||
@3285 kind:data(byte[0x13]) addr:0x020c42ec local
|
||||
@3286 kind:data(byte[0x13]) addr:0x020c4300 local
|
||||
@3287 kind:data(byte[0x1b]) addr:0x020c4314 local
|
||||
@3288 kind:data(byte[0x1c]) addr:0x020c4330 local
|
||||
@3292 kind:data(byte[0x17]) addr:0x020c434c local
|
||||
@3293 kind:data(byte[0x15]) addr:0x020c4364 local
|
||||
@3283 kind:data(byte[6]) addr:0x020c42d0 local
|
||||
@3284 kind:data(byte[19]) addr:0x020c42d8 local
|
||||
@3285 kind:data(byte[19]) addr:0x020c42ec local
|
||||
@3286 kind:data(byte[19]) addr:0x020c4300 local
|
||||
@3287 kind:data(byte[27]) addr:0x020c4314 local
|
||||
@3288 kind:data(byte[28]) addr:0x020c4330 local
|
||||
@3292 kind:data(byte[23]) addr:0x020c434c local
|
||||
@3293 kind:data(byte[21]) addr:0x020c4364 local
|
||||
data_ov001_020c437c kind:data(any) addr:0x020c437c
|
||||
data_ov001_020c4388 kind:data(any) addr:0x020c4388
|
||||
data_ov001_020c4398 kind:data(any) addr:0x020c4398
|
||||
|
||||
@@ -510,7 +510,7 @@ _ZN14UnkDataStruct4C2Ev kind:function(arm,size=0x44) addr:0x020d3de4
|
||||
_ZN14UnkDataStruct4C1Ev kind:function(arm,size=0x44) addr:0x020d3e28
|
||||
_ZN14UnkDataStruct419func_ov024_020d2518Ev kind:function(arm,size=0x4) addr:0x020d3e6c
|
||||
_ZN14UnkDataStruct419func_ov024_020d251cEv kind:function(arm,size=0x4) addr:0x020d3e70
|
||||
_ZN14UnkDataStruct419func_ov024_020d2520EP22UnkStruct_SceneChange1 kind:function(arm,size=0x18) addr:0x020d3e74
|
||||
_ZN14UnkDataStruct419func_ov024_020d2520EP12EntranceInfo kind:function(arm,size=0x18) addr:0x020d3e74
|
||||
_ZN14UnkDataStruct419func_ov024_020d2538EjhP19UnkDataStruct4_14_2 kind:function(arm,size=0x2c) addr:0x020d3e8c
|
||||
_ZN14UnkDataStruct419func_ov024_020d2564Ev kind:function(arm,size=0x28) addr:0x020d3eb8
|
||||
_ZN14UnkDataStruct419func_ov024_020d258cEjh kind:function(arm,size=0x124) addr:0x020d3ee0
|
||||
|
||||
@@ -10,7 +10,7 @@ func_ov089_02167c88 kind:function(arm,size=0xc) addr:0x02167c88
|
||||
func_ov089_02167c94 kind:function(arm,size=0x34) addr:0x02167c94
|
||||
func_ov089_02167cc8 kind:function(arm,size=0x94) addr:0x02167cc8
|
||||
func_ov089_02167d5c kind:function(arm,size=0x1c) addr:0x02167d5c
|
||||
func_ov089_02167d78 kind:function(arm,size=0x11c) addr:0x02167d78
|
||||
func_ov089_02165b18 kind:function(arm,size=0x11c) addr:0x02167d78
|
||||
func_ov089_02165c34 kind:function(arm,size=0x4c) addr:0x02167e94
|
||||
func_ov089_02167ee0 kind:function(arm,size=0xe8) addr:0x02167ee0
|
||||
func_ov089_02167fc8 kind:function(arm,size=0x34) addr:0x02167fc8
|
||||
|
||||
@@ -2083,7 +2083,7 @@ func_0203b4c4 kind:function(arm,size=0x10) addr:0x0203b4c4
|
||||
func_0203b4d4 kind:function(arm,size=0x1b0) addr:0x0203b4d4
|
||||
_ll_udiv kind:function(arm,size=0xc) addr:0x0203b684
|
||||
_ull_mod kind:function(arm,size=0x3c) addr:0x0203b690
|
||||
func_0203b6cc kind:function(arm,size=0x20) addr:0x0203b6cc
|
||||
_ull_mul kind:function(arm,size=0x20) addr:0x0203b6cc
|
||||
_s32_div_f kind:function(arm,size=0x20c) addr:0x0203b6ec
|
||||
_u32_div_f kind:function(arm,size=0x1e4) addr:0x0203b8f8
|
||||
.L_0203b900 kind:label(arm) addr:0x0203b900
|
||||
|
||||
@@ -18,13 +18,9 @@ public:
|
||||
/* 0E */ s8 mUnk_0E;
|
||||
/* 0F */ bool mUnk_0F;
|
||||
/* 10 */ u16 mParams[4];
|
||||
/* 18 */ Vec2b mUnk_18;
|
||||
/* 1A */ u16 mUnk_1A;
|
||||
/* 1C */ union {
|
||||
unk32 mUnk_1C;
|
||||
u16 mUnk_1C_0;
|
||||
u16 mUnk_1C_2;
|
||||
};
|
||||
/* 18 */ u8 mUnk_18[2];
|
||||
/* 1A */ u16 mUnk_1A[2];
|
||||
/* 1E */ u16 mUnk_1E;
|
||||
/* 20 */ union {
|
||||
unk32 mUnk_20;
|
||||
unk16 mUnk_20_0;
|
||||
@@ -52,6 +48,7 @@ public:
|
||||
ActorProfile **func_ov000_02073dc();
|
||||
ActorProfile **func_ov000_02073e8();
|
||||
ActorProfile *GetProfileFromId(ActorId actorId);
|
||||
void func_ov000_02097444(ActorId actorId, ActorParams *pParams, unk32 param3);
|
||||
};
|
||||
|
||||
class Actor_C4;
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#include "files.h"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_SceneChange1;
|
||||
class EntranceInfo;
|
||||
|
||||
class ActorManager : public AutoInstance<ActorManager> {
|
||||
public:
|
||||
@@ -54,13 +54,13 @@ public:
|
||||
void func_ov001_020bb488();
|
||||
void func_ov001_020bb548();
|
||||
void func_ov001_020bb630();
|
||||
void func_ov001_020bb6b0(UnkStruct_SceneChange1 *param1);
|
||||
void func_ov001_020bb6b0(EntranceInfo *param1);
|
||||
void func_ov001_020bb7b0(ZeldaObjectList *pObjList);
|
||||
void func_ov001_020bb7f0();
|
||||
|
||||
static ActorManager *Create();
|
||||
static void Destroy();
|
||||
static bool func_ov001_020bb728(s32 param1);
|
||||
static bool func_ov001_020bb728(ActorId actorId);
|
||||
static void func_ov001_020bb824();
|
||||
static void func_ov001_020bb844();
|
||||
};
|
||||
|
||||
@@ -13,7 +13,10 @@ class ActorProfile {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */ Cylinder mUnk_04;
|
||||
/* 14 */ unk8 mUnk_14[0x18 - 0x14];
|
||||
/* 14 */ unk8 mUnk_14;
|
||||
/* 15 */ bool mUnk_15;
|
||||
/* 16 */ unk8 mUnk_16;
|
||||
/* 17 */ unk8 mUnk_17;
|
||||
/* 18 */ unk8 mUnk_18;
|
||||
/* 19 */ unk8 mUnk_19;
|
||||
/* 1A */ unk16 mUnk_1A;
|
||||
|
||||
@@ -76,7 +76,7 @@ struct CutsceneParamsEntry {
|
||||
};
|
||||
|
||||
CutsceneParamsEntry *Cutscene_GetParamEntry(s32 csIndex);
|
||||
s32 func_ov000_020a7840(unk32 param1);
|
||||
s32 func_ov000_020a7840(unk32 param1, unk32 param2);
|
||||
bool Cutscene_IsAdventureFlagSet(s32 csIndex);
|
||||
|
||||
extern const CutsceneParamsEntry gCSParamsEntries[CutsceneIndex_Max];
|
||||
|
||||
@@ -65,7 +65,7 @@ public:
|
||||
/* 28 */ u16 mUnk_28;
|
||||
/* 2A */ u16 mPostDate;
|
||||
/* 2C */ union {
|
||||
Vec2b mStampPositions[StampType_Max];
|
||||
Vec2bCpp mStampPositions[StampType_Max];
|
||||
u16 mStampPos[StampType_Max];
|
||||
};
|
||||
/* 54 */ s8 mObtainedLetters[LetterType_Max];
|
||||
@@ -100,7 +100,7 @@ public:
|
||||
unk32 func_ov024_020d6468();
|
||||
unk32 GetStamp(unk32 index);
|
||||
u16 *GetStampDate(unk32 index);
|
||||
Vec2b *GetStampPos(unk32 index);
|
||||
Vec2bCpp *GetStampPos(unk32 index);
|
||||
void func_ov024_020d64b4(s8 param1, unk32 param2, const u16 *param3);
|
||||
void func_ov024_020d6530();
|
||||
unk32 GetNumPostcards();
|
||||
|
||||
@@ -96,19 +96,17 @@ public:
|
||||
|
||||
class MapObject_20 {
|
||||
public:
|
||||
/* 00 */ u16 mUnk_00[4]; // parameters
|
||||
/* 00 */ u16 mParams[4]; // parameters
|
||||
/* 08 */ u8 mUnk_08[2];
|
||||
/* 0A */ u16 mUnk_0A[2];
|
||||
/* 0E */ unk16 mUnk_0E;
|
||||
/* 10 */ unk32 mUnk_10;
|
||||
/* 14 */ s16 mUnk_14;
|
||||
/* 16 */ bool mUnk_16;
|
||||
/* 16 */ unk8 mUnk_17;
|
||||
/* 17 */ s8 mUnk_17;
|
||||
/* 18 */
|
||||
|
||||
MapObject_20() {}
|
||||
|
||||
void func_ov000_0209c7c8();
|
||||
void Init();
|
||||
|
||||
static void func_ov000_0209c790(MapObjectId mapObjId, MapObjectProfile *pProfile);
|
||||
static void func_ov000_0209c7ac(MapObjectId mapObjId);
|
||||
@@ -129,7 +127,7 @@ public:
|
||||
/* 20 */ MapObject_20 mUnk_20; // parameters
|
||||
/* 38 */ unk8 mUnk_38;
|
||||
/* 39 */ unk8 mUnk_39;
|
||||
/* 3A */ Vec2b mUnk_3A;
|
||||
/* 3A */ Vec2bCpp mUnk_3A;
|
||||
/* 3C */ MapObjectProfile *mpProfile;
|
||||
/* 40 */
|
||||
|
||||
@@ -175,7 +173,7 @@ public:
|
||||
void func_ov000_0209d274(unk32 param1);
|
||||
bool func_ov000_0209d29c(unk32 param1);
|
||||
void func_ov000_0209d2c4(unk32 param1, bool param2);
|
||||
void func_ov000_0209d2f0(unk32 param1, unk32 param2, Vec2b *param3);
|
||||
void func_ov000_0209d2f0(unk32 param1, unk32 param2, Vec2bCpp *param3);
|
||||
void func_ov000_0209d3b4(unk32 param1, fx32 size);
|
||||
void func_ov000_0209d434(s8 *param1, UnkStruct_ov019_020d24c8_28_258_00 *param2, unk32 param3);
|
||||
void func_ov000_0209d518(unk32 param1, unk32 param2, unk32 param3, u8 param4);
|
||||
@@ -184,7 +182,7 @@ public:
|
||||
bool func_ov000_0209d668();
|
||||
void func_ov000_0209d6ac(VecFx32 *param1);
|
||||
|
||||
static void func_ov000_0209d0bc(Vec2b *param1, MapObject *thisx);
|
||||
static void func_ov000_0209d0bc(Vec2bCpp *param1, MapObject *thisx);
|
||||
static void func_ov000_0209d22c(unk16 *param1, MapObject *thisx, unk32 param2);
|
||||
static void func_ov000_0209d54c(ActorRef *param1, MapObject *thisx, u16 param2, const VecFx32 *pPos, s16 param3,
|
||||
u16 param4);
|
||||
|
||||
@@ -9,6 +9,15 @@
|
||||
|
||||
typedef void (*UnkCallback_func_01fff4cc)(void *, void *);
|
||||
|
||||
struct UnkStruct_MapObjCreateData {
|
||||
/* 00 */ u16 unk_00;
|
||||
/* 02 */ union {
|
||||
Vec2b pos;
|
||||
u16 raw_pos;
|
||||
};
|
||||
/* 04 */
|
||||
};
|
||||
|
||||
class MapObjectManager : public AutoInstance<MapObjectManager> {
|
||||
public:
|
||||
/* 00 */ MapObject **mMapObjTable;
|
||||
@@ -31,14 +40,15 @@ public:
|
||||
~MapObjectManager();
|
||||
|
||||
// itcm
|
||||
MapObject *func_01fff498(Vec2b param1);
|
||||
MapObject *func_01fff498(Vec2bCpp param1);
|
||||
void func_01fff4cc(UnkCallback_func_01fff4cc param1, void *param2);
|
||||
MapObject **func_01fff520(UnkStruct_ov000_020b34c4 *param1, MapObject **param2);
|
||||
|
||||
// overlay 0
|
||||
MapObjectId func_ov000_0209c3a8(Vec2b *param1);
|
||||
MapObjectId func_ov000_0209c3a8(Vec2bCpp *param1);
|
||||
void func_ov000_0209c3e8();
|
||||
void func_ov000_0209c444();
|
||||
MapObject *AllocateMapObject(MapObjectId mapObjId, Vec2b param2, u16 param3, unk32 param4, u8 param5);
|
||||
|
||||
static void func_ov000_0209c490();
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ public:
|
||||
/* 48 */ unk32 mUnk_48;
|
||||
/* 4C */ unk32 mUnk_4C;
|
||||
/* 50 */ unk32 mUnk_50;
|
||||
/* 54 */ UnkStruct_SceneChange1 mUnk_54;
|
||||
/* 54 */ EntranceInfo mUnk_54;
|
||||
/* 68 */ unk32 mUnk_68;
|
||||
/* 6C */ s32 mUnk_6C;
|
||||
/* 70 */ volatile VecFx32 mUnk_70;
|
||||
|
||||
@@ -67,7 +67,7 @@ struct SaveMiscAdvManager {
|
||||
/* 28 */ u16 unk_28;
|
||||
/* 2A */ u16 postDate;
|
||||
/* 2C */ union {
|
||||
Vec2b stampPositions[StampType_Max];
|
||||
Vec2bCpp stampPositions[StampType_Max];
|
||||
u16 stampPos[StampType_Max];
|
||||
};
|
||||
/* 54 */ s8 obtainedLetters[LetterType_Max];
|
||||
@@ -327,7 +327,7 @@ struct SaveFile_00000_2600_Data {
|
||||
/* 00 */ u8 unk_00;
|
||||
/* 01 */ u8 unk_01;
|
||||
/* 02 */ u8 unk_02;
|
||||
/* 03 */ Vec2b unk_03[61];
|
||||
/* 03 */ Vec2bCpp unk_03[61];
|
||||
/* 7E */ u16 unk_7E;
|
||||
/* 80 */
|
||||
};
|
||||
|
||||
@@ -399,6 +399,10 @@ public:
|
||||
return this->mLoadedOverlays[OverlaySlot_8] == OverlayIndex_FldAjito;
|
||||
}
|
||||
|
||||
bool IsASR() {
|
||||
return this->mLoadedOverlays[OverlaySlot_9] == OverlayIndex_ASR;
|
||||
}
|
||||
|
||||
void Load(OverlaySlot slot, OverlayIndex index);
|
||||
void LoadIfNotLoaded(OverlaySlot slot, OverlayIndex index);
|
||||
void Unload(OverlaySlot slot);
|
||||
|
||||
@@ -1073,7 +1073,7 @@ struct UnkDataStruct4_14_2 {
|
||||
/* 12C */
|
||||
};
|
||||
|
||||
struct UnkStruct_SceneChange1;
|
||||
struct EntranceInfo;
|
||||
struct UnkDataStruct4 {
|
||||
/* 00 (vtable) */
|
||||
/* 04 */ u16 mUnk_04;
|
||||
@@ -1097,7 +1097,7 @@ struct UnkDataStruct4 {
|
||||
|
||||
void func_ov024_020d2518();
|
||||
void func_ov024_020d251c();
|
||||
void func_ov024_020d2520(UnkStruct_SceneChange1 *param1);
|
||||
void func_ov024_020d2520(EntranceInfo *param1);
|
||||
void func_ov024_020d2538(u32 sceneIndex, u8 roomIndex, UnkDataStruct4_14_2 *param3);
|
||||
void func_ov024_020d2564();
|
||||
void func_ov024_020d258c(u32 sceneIndex, u8 roomIndex);
|
||||
|
||||
@@ -68,18 +68,23 @@ public:
|
||||
~UnkStruct_027e0960();
|
||||
|
||||
// overlay 0
|
||||
void func_ov000_0205a11c();
|
||||
void func_ov000_0205a120();
|
||||
void func_ov000_0205a160();
|
||||
void func_ov000_0205a164();
|
||||
void func_ov000_0205a1a4();
|
||||
void func_ov000_0205a1fc(u8 nEntries);
|
||||
void func_ov000_0205a288(unk32 index, const ZMBEntryRALB *pEntry);
|
||||
void func_ov000_0205a2a4(volatile unk32 index, ZMBRALBPoint *pPoint);
|
||||
void func_ov000_0205a2c8();
|
||||
UnkStruct_027e0960_TableEntry *func_ov000_0205a390(u8 param1);
|
||||
UnkStruct_027e0960_TableEntry *func_ov000_0205a3fc(VecFx32 param1, unk32 param4);
|
||||
|
||||
static UnkStruct_027e0960 *Create();
|
||||
|
||||
// overlay 1
|
||||
void func_ov000_0205a11c();
|
||||
void func_ov000_0205a120();
|
||||
void func_ov000_0205a160();
|
||||
void func_ov000_0205a164();
|
||||
|
||||
static void Destroy();
|
||||
};
|
||||
|
||||
// path manager?
|
||||
extern UnkStruct_027e0960 *data_027e0960;
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/UnkStruct_0204a060.hpp"
|
||||
#include "Unknown/UnkStruct_027e09a0.hpp"
|
||||
#include "files.h"
|
||||
#include "global.h"
|
||||
#include "iterator.hpp"
|
||||
#include "types.h"
|
||||
@@ -16,57 +17,87 @@ class UnkStruct_027e09a4;
|
||||
|
||||
#define ROOM_INDEX_NONE 0xFF
|
||||
|
||||
struct UnkStruct_SceneChange1 {
|
||||
/* 00 */ unk32 mSceneIndex;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk16 mUnk_08;
|
||||
/* 0A */ u8 mRoomIndex;
|
||||
/* 0B */ u8 mSpawnIndex;
|
||||
/* 0C */ bool mIsCS;
|
||||
/* 0D */ u8 mUnk_0D;
|
||||
/* 0E */ u8 mCutsceneIndex;
|
||||
/* 0F */ u8 mUnk_0F;
|
||||
/* 10 */ u8 mUnk_10;
|
||||
/* 11 */ u8 mUnk_11;
|
||||
/* 12 */ u16 mUnk_12;
|
||||
struct EntranceInfo {
|
||||
/* 00 */ s32 sceneIndex;
|
||||
/* 04 */ unk32 unk_04;
|
||||
/* 08 */ unk16 unk_08;
|
||||
/* 0A */ u8 roomIndex;
|
||||
/* 0B */ u8 spawnIndex;
|
||||
/* 0C */ bool isCS;
|
||||
/* 0D */ u8 unk_0D;
|
||||
/* 0E */ u8 csIndex;
|
||||
/* 0F */ u8 unk_0F;
|
||||
/* 10 */ u8 unk_10;
|
||||
/* 11 */ u8 unk_11;
|
||||
/* 12 */ u16 unk_12;
|
||||
/* 14 */
|
||||
|
||||
UnkStruct_SceneChange1() {
|
||||
this->mSceneIndex = SceneIndex_Max;
|
||||
this->mUnk_04 = 0;
|
||||
this->mUnk_08 = 0;
|
||||
this->mRoomIndex = ROOM_INDEX_NONE;
|
||||
this->mSpawnIndex = 0;
|
||||
this->mIsCS = false;
|
||||
this->mUnk_0D = 0;
|
||||
this->mCutsceneIndex = CutsceneIndex_None;
|
||||
this->mUnk_0F = 0;
|
||||
this->mUnk_10 = 0;
|
||||
EntranceInfo() {}
|
||||
|
||||
EntranceInfo(bool isCS) {
|
||||
this->sceneIndex = SceneIndex_Max;
|
||||
this->unk_04 = 0;
|
||||
this->unk_08 = 0;
|
||||
this->roomIndex = ROOM_INDEX_NONE;
|
||||
this->spawnIndex = 0;
|
||||
this->isCS = isCS;
|
||||
this->unk_0D = 0;
|
||||
this->csIndex = CutsceneIndex_None;
|
||||
this->unk_0F = 0;
|
||||
this->unk_10 = 0;
|
||||
}
|
||||
|
||||
UnkStruct_SceneChange1(CutsceneParamsEntry *pEntry, bool nextIsCS) {
|
||||
EntranceInfo(CutsceneParamsEntry *pEntry, bool isCS) {
|
||||
u8 sceneIndex = pEntry->mSceneIndex;
|
||||
u8 cutsceneIndex = pEntry->mCutsceneIndex;
|
||||
u8 spawnIndex = pEntry->mSpawnIndex;
|
||||
u8 roomIndex = pEntry->mRoomIndex;
|
||||
|
||||
this->mSceneIndex = sceneIndex;
|
||||
this->mUnk_04 = 0;
|
||||
this->mUnk_08 = 0;
|
||||
this->mRoomIndex = roomIndex;
|
||||
this->mSpawnIndex = spawnIndex;
|
||||
this->mIsCS = nextIsCS;
|
||||
this->mUnk_0D = 0;
|
||||
this->mCutsceneIndex = cutsceneIndex;
|
||||
this->mUnk_0F = 0;
|
||||
this->mUnk_10 = 0;
|
||||
this->sceneIndex = sceneIndex;
|
||||
this->unk_04 = 0;
|
||||
this->unk_08 = 0;
|
||||
this->roomIndex = roomIndex;
|
||||
this->spawnIndex = spawnIndex;
|
||||
this->isCS = isCS;
|
||||
this->unk_0D = 0;
|
||||
this->csIndex = cutsceneIndex;
|
||||
this->unk_0F = 0;
|
||||
this->unk_10 = 0;
|
||||
}
|
||||
|
||||
UnkStruct_SceneChange1(const UnkStruct_SceneChange1 *pSource) {
|
||||
MI_CpuCopy32((void *) pSource, this, sizeof(UnkStruct_SceneChange1));
|
||||
EntranceInfo(const ZMBEntryWARP *pEntry) {
|
||||
SceneIndex sceneIndex = data_027e09a0->GetSceneIndexFromName(pEntry->destName);
|
||||
u8 unk_04 = pEntry->unk_01;
|
||||
s32 cutsceneIndex = CutsceneIndex_None;
|
||||
|
||||
if (pEntry->unk_14 != 0 || pEntry->unk_15 != 0) {
|
||||
cutsceneIndex = func_ov000_020a7840(pEntry->unk_14, pEntry->unk_15);
|
||||
}
|
||||
|
||||
u8 unk_10 = pEntry->unk_17;
|
||||
u8 unk_00 = pEntry->unk_00;
|
||||
u8 spawnIndex = pEntry->spawnIndex;
|
||||
u8 roomIndex = pEntry->roomIndex;
|
||||
|
||||
this->sceneIndex = sceneIndex;
|
||||
this->unk_04 = unk_04;
|
||||
this->unk_08 = 0;
|
||||
this->roomIndex = roomIndex;
|
||||
this->spawnIndex = spawnIndex;
|
||||
this->isCS = false;
|
||||
this->unk_0D = unk_00;
|
||||
this->csIndex = cutsceneIndex;
|
||||
this->unk_0F = 0;
|
||||
this->unk_10 = unk_10;
|
||||
}
|
||||
|
||||
UnkStruct_SceneChange1(s32) {}
|
||||
EntranceInfo(const EntranceInfo *pSource) {
|
||||
MI_CpuCopy32((void *) pSource, this, sizeof(EntranceInfo));
|
||||
}
|
||||
|
||||
EntranceInfo(const EntranceInfo &refSource) {
|
||||
MI_CpuCopy32((void *) &refSource, this, sizeof(EntranceInfo));
|
||||
}
|
||||
};
|
||||
|
||||
class UnkStruct_WarpUnk1_24 : public UnkStruct_0204a060_Base3 {
|
||||
@@ -109,8 +140,8 @@ public:
|
||||
/* 00 (base) */
|
||||
/* 24 */ UnkStruct_WarpUnk1_24 mUnk_24;
|
||||
/* 50 */ UnkStruct_WarpUnk1_50 mUnk_50;
|
||||
/* 78 */ UnkStruct_SceneChange1 mUnk_78; // current scene?
|
||||
/* 8C */ UnkStruct_SceneChange1 mUnk_8C; // next scene
|
||||
/* 78 */ EntranceInfo mCurEntrance;
|
||||
/* 8C */ EntranceInfo mNextEntrance;
|
||||
/* A0 */ UnkStruct_WarpUnk1_A0 mUnk_A0;
|
||||
/* B4 */ unk32 mSpawnTransitionType; // the behavior of Link when entering a new scene
|
||||
/* B8 */
|
||||
@@ -142,8 +173,8 @@ public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */ Iterator<UnkStruct_027e09a4_54_04> mUnk_04;
|
||||
/* 0C */ wchar_t mUnk_0C[8];
|
||||
/* 1C */ UnkStruct_SceneChange1 mUnk_1C;
|
||||
/* 30 */ unk16 mUnk_30;
|
||||
/* 1C */ EntranceInfo mUnk_1C;
|
||||
/* 30 */ u16 mUnk_30;
|
||||
/* 32 */ bool mUnk_32;
|
||||
/* 33 */ unk8 mUnk_33;
|
||||
/* 34 */
|
||||
@@ -186,8 +217,8 @@ public:
|
||||
|
||||
class UnkStruct_027e09a4 : public AutoInstance<UnkStruct_027e09a4> {
|
||||
public:
|
||||
/* 00 */ UnkStruct_SceneChange1 mUnk_00; // the infos of the current area, this isn't saved when you save the game
|
||||
/* 14 */ UnkStruct_SceneChange1 mUnk_14;
|
||||
/* 00 */ EntranceInfo mUnk_00; // the infos of the current area, this isn't saved when you save the game
|
||||
/* 14 */ EntranceInfo mUnk_14;
|
||||
/* 28 */ unk32 mUnk_28;
|
||||
/* 2C */ UnkStruct_027e09a4_2C mUnk_2C;
|
||||
/* 40 */ UnkStruct_027e09a4_2C mUnk_40;
|
||||
@@ -200,15 +231,15 @@ public:
|
||||
/* 68 */
|
||||
|
||||
bool IsCutscene() {
|
||||
return this->mUnk_00.mIsCS == true;
|
||||
return this->mUnk_00.isCS == true;
|
||||
}
|
||||
|
||||
bool IsNotCutscene() {
|
||||
return this->mUnk_00.mIsCS != true;
|
||||
return this->mUnk_00.isCS != true;
|
||||
}
|
||||
|
||||
u8 CurrentCSIndex() {
|
||||
return this->mUnk_00.mCutsceneIndex;
|
||||
return this->mUnk_00.csIndex;
|
||||
}
|
||||
|
||||
bool UnkCheck(unk32 sceneIndex) {
|
||||
@@ -245,31 +276,31 @@ public:
|
||||
}
|
||||
|
||||
SceneIndex CurrentSceneIndex() {
|
||||
return this->mUnk_00.mSceneIndex;
|
||||
return this->mUnk_00.sceneIndex;
|
||||
}
|
||||
|
||||
bool IsDarkRealm() {
|
||||
return this->mUnk_00.mSceneIndex <= SceneIndex_t_eviltrain3 && this->mUnk_00.mSceneIndex >= SceneIndex_t_eviltrain;
|
||||
return this->mUnk_00.sceneIndex <= SceneIndex_t_eviltrain3 && this->mUnk_00.sceneIndex >= SceneIndex_t_eviltrain;
|
||||
}
|
||||
|
||||
bool IsDungeonTower() {
|
||||
return this->mUnk_00.mSceneIndex == SceneIndex_d_main;
|
||||
return this->mUnk_00.sceneIndex == SceneIndex_d_main;
|
||||
}
|
||||
|
||||
bool IsPirate() {
|
||||
return this->mUnk_00.mSceneIndex == SceneIndex_f_pirate;
|
||||
return this->mUnk_00.sceneIndex == SceneIndex_f_pirate;
|
||||
}
|
||||
|
||||
bool IsWater3() {
|
||||
return this->mUnk_00.mSceneIndex == SceneIndex_f_water3;
|
||||
return this->mUnk_00.sceneIndex == SceneIndex_f_water3;
|
||||
}
|
||||
|
||||
bool IsSnowdriftStation() {
|
||||
return this->mUnk_00.mSceneIndex == SceneIndex_f_kakushi1;
|
||||
return this->mUnk_00.sceneIndex == SceneIndex_f_kakushi1;
|
||||
}
|
||||
|
||||
bool IsPassenger() {
|
||||
return this->mUnk_00.mSceneIndex == SceneIndex_f_passenger;
|
||||
return this->mUnk_00.sceneIndex == SceneIndex_f_passenger;
|
||||
}
|
||||
|
||||
UnkStruct_027e09a4(unk32 param1);
|
||||
@@ -282,7 +313,7 @@ public:
|
||||
|
||||
// overlay 0
|
||||
unk8 func_ov000_02070bd0(unk32 csIndex, unk32 param2);
|
||||
UnkStruct_SceneChange1 *func_ov000_02070560();
|
||||
EntranceInfo *func_ov000_02070560();
|
||||
void func_ov000_020707a8(void *param1);
|
||||
void func_ov000_02070834(void *param1);
|
||||
void func_ov000_0207087c(unk32 param1);
|
||||
@@ -291,18 +322,18 @@ public:
|
||||
void func_ov000_02070a4c(unk32 param1);
|
||||
unk32 func_ov000_02070554();
|
||||
UnkStruct_WarpUnk1_A0 *func_ov000_02070538();
|
||||
bool func_ov000_02070a9c(UnkStruct_SceneChange1 *param1);
|
||||
bool func_ov000_02072154(UnkStruct_SceneChange1 *param1, unk32 param2);
|
||||
bool func_ov000_02070a9c(EntranceInfo *param1);
|
||||
bool func_ov000_02072154(EntranceInfo *param1, unk32 param2);
|
||||
bool func_ov000_0207056c();
|
||||
void func_ov000_020705e8(SaveFile *param1, unk32 param2);
|
||||
|
||||
// overlay 1
|
||||
void func_ov001_020b662c();
|
||||
void func_ov001_020b66dc();
|
||||
void func_ov001_020b6758(const UnkStruct_SceneChange1 *param1, bool param2);
|
||||
void func_ov001_020b6758(const EntranceInfo *param1, bool param2);
|
||||
void func_ov001_020b68a4(bool param1, bool param2, bool param3);
|
||||
void func_ov001_020b6924(const UnkStruct_SceneChange1 *param1, bool param2);
|
||||
void func_ov001_020b69b4(const UnkStruct_SceneChange1 *param1, bool param2);
|
||||
void func_ov001_020b6924(const EntranceInfo *param1, bool param2);
|
||||
void func_ov001_020b69b4(const EntranceInfo *param1, bool param2);
|
||||
|
||||
static UnkStruct_027e09a4 *Create(unk32 param1);
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "math.hpp"
|
||||
#include "types.h"
|
||||
|
||||
#include "Actor/Actor.hpp"
|
||||
#include "MapObject/MapObjectManager.hpp"
|
||||
#include "Render/ModelRender.hpp"
|
||||
#include "Save/SaveFile.hpp"
|
||||
@@ -58,6 +59,7 @@ public:
|
||||
/* 14 */ unk32 mUnk_14;
|
||||
/* 18 */
|
||||
|
||||
UnkStruct_ov001_020c40f4(int) {}
|
||||
UnkStruct_ov001_020c40f4() {
|
||||
this->mUnk_0E = -1;
|
||||
this->mUnk_0F = 0;
|
||||
@@ -145,15 +147,35 @@ public:
|
||||
~UnkStruct_027e0cd8_0C_Base_148_02();
|
||||
};
|
||||
|
||||
// UnkStruct_ov001_020c2a40 ?
|
||||
class UnkStruct_027e0cd8_0C_Base_154_00 {
|
||||
public:
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x14);
|
||||
/* 14 */
|
||||
typedef u16 UnkFlags1;
|
||||
enum UnkFlags1_ {
|
||||
UnkFlags1_None = 0,
|
||||
UnkFlags1_1 = 1,
|
||||
UnkFlags1_2 = 2,
|
||||
UnkFlags1_3 = 3,
|
||||
UnkFlags1_4 = 4,
|
||||
UnkFlags1_5 = 5,
|
||||
UnkFlags1_6 = 6,
|
||||
UnkFlags1_7 = 7,
|
||||
UnkFlags1_Max = 8,
|
||||
};
|
||||
|
||||
UnkStruct_027e0cd8_0C_Base_154_00(const UnkStruct_027e0cd8_0C_Base_154_00 &ref) {
|
||||
MI_CpuCopy32((void *) &ref, this, sizeof(UnkStruct_027e0cd8_0C_Base_154_00));
|
||||
}
|
||||
typedef u16 UnkFlags2;
|
||||
enum UnkFlags2_ {
|
||||
UnkFlags2_None = 0,
|
||||
UnkFlags2_0 = 0,
|
||||
UnkFlags2_1 = 1,
|
||||
UnkFlags2_2 = 2,
|
||||
UnkFlags2_3 = 3,
|
||||
UnkFlags2_4 = 4,
|
||||
UnkFlags2_5 = 5,
|
||||
UnkFlags2_6 = 6,
|
||||
UnkFlags2_7 = 7,
|
||||
UnkFlags2_8 = 8,
|
||||
UnkFlags2_9 = 9,
|
||||
UnkFlags2_10 = 10,
|
||||
UnkFlags2_11 = 11,
|
||||
UnkFlags2_Max = 12,
|
||||
};
|
||||
|
||||
class UnkStruct_027e0cd8_0C_Base {
|
||||
@@ -171,7 +193,7 @@ public:
|
||||
};
|
||||
/* 088 */ UnkStruct_027e0cd8_0C_Base_88 mUnk_088;
|
||||
/* 098 */ UnkStruct_027e0cd8_0C_Base_98 *mUnk_098;
|
||||
/* 09C */ Vec2s mUnk_09C;
|
||||
/* 09C */ Vec2us mUnk_09C;
|
||||
/* 0A0 */ unk32 mUnk_0A0;
|
||||
/* 0A4 */ unk32 mUnk_0A4;
|
||||
/* 0A8 */ unk32 mUnk_0A8;
|
||||
@@ -179,14 +201,17 @@ public:
|
||||
/* 0AC */ bool mUnk_0AD;
|
||||
/* 0AC */ bool mUnk_0AE;
|
||||
/* 0AC */ bool mUnk_0AF;
|
||||
/* 0B0 */ unk32 mUnk_0B0;
|
||||
/* 0B0 */ u8 mUnk_0B0;
|
||||
/* 0B1 */ u8 mUnk_0B1;
|
||||
/* 0B2 */ u8 mUnk_0B2;
|
||||
/* 0B3 */ u8 mUnk_0B3;
|
||||
/* 0B4 */ ZeldaObjectList *mUnk_0B4;
|
||||
/* 0B8 */ ZeldaObjectList *mUnk_0B8[8]; // map objects
|
||||
/* 0D8 */ ZeldaObjectList *mUnk_0D8;
|
||||
/* 0DC */ ZeldaObjectList *mUnk_0DC[8]; // actors
|
||||
/* 0FC */ unk32 mUnk_0FC;
|
||||
/* 100 */ volatile BOOL mIsCS;
|
||||
/* 104 */ unk16 mUnk_104;
|
||||
/* 104 */ UnkFlags1 mUnk_104;
|
||||
/* 108 */ unk32 mUnk_108;
|
||||
/* 10C */ unk32 mUnk_10C;
|
||||
/* 110 */ unk32 mUnk_110;
|
||||
@@ -195,18 +220,18 @@ public:
|
||||
/* 11C */ unk32 mUnk_11C;
|
||||
/* 120 */ unk32 mUnk_120;
|
||||
/* 124 */ unk32 mUnk_124;
|
||||
/* 128 */ u16 mUnk_128;
|
||||
/* 128 */ UnkFlags2 mUnk_128;
|
||||
/* 12A */ bool mUnk_12A;
|
||||
/* 12B */ bool mUnk_12B;
|
||||
/* 12C */ bool mUnk_12C;
|
||||
/* 12D */ bool mUnk_12D;
|
||||
/* 12E */ bool mUnk_12E;
|
||||
/* 130 */ unk32 mUnk_130;
|
||||
/* 134 */ unk32 mUnk_134;
|
||||
/* 138 */ unk32 mUnk_138;
|
||||
/* 13C */ FixedVector<UnkStruct_ov001_020c40f4> mUnk_13C;
|
||||
/* 148 */ CustomVector<UnkStruct_027e0cd8_0C_Base_148_00_Base *> mUnk_148;
|
||||
/* 154 */ CustomVector<UnkStruct_027e0cd8_0C_Base_154_00> mUnk_154;
|
||||
/* 130 */ ZMBSectionROMB *mpROMB;
|
||||
/* 134 */ ZMBSectionCAME *mpCAME;
|
||||
/* 138 */ ZMBSectionCMPT *mpCMPT;
|
||||
/* 13C */ FixedVector<UnkStruct_ov001_020c40f4> mUnk_13C; // related to player
|
||||
/* 148 */ CustomVector<UnkStruct_027e0cd8_0C_Base_148_00_Base *> mUnk_148; // related to "arrange" stuff
|
||||
/* 154 */ CustomVector<EntranceInfo> mUnk_154; // exit list?
|
||||
/* 160 */
|
||||
|
||||
UnkStruct_027e0cd8_0C_Base(UnkStruct_027e0cd8 *param1);
|
||||
@@ -217,43 +242,43 @@ public:
|
||||
/* 10 */ virtual void vfunc_10();
|
||||
/* 14 */ virtual void vfunc_14();
|
||||
/* 18 */ virtual void vfunc_18();
|
||||
/* 1C */ virtual void vfunc_1C(const UnkStruct_SceneChange1 *param1, bool param2, bool param3);
|
||||
/* 1C */ virtual void vfunc_1C(const EntranceInfo *param1, bool param2, bool param3);
|
||||
/* 20 */ virtual void vfunc_20();
|
||||
/* 24 */ virtual void vfunc_24();
|
||||
/* 28 */ virtual fx32 vfunc_28(VecFx32 *param1, unk32 param2, unk32 param3);
|
||||
/* 2C */ virtual void vfunc_2C();
|
||||
/* 30 */ virtual void LoadSceneModel(const UnkStruct_SceneChange1 *param1);
|
||||
/* 34 */ virtual void vfunc_34(unk32 param1);
|
||||
/* 30 */ virtual void LoadSceneModel(const EntranceInfo *param1);
|
||||
/* 34 */ virtual void ZMB_ParseROMB(ZMBSectionROMB *pROMB);
|
||||
/* 38 */ virtual void vfunc_38();
|
||||
/* 3C */ virtual void vfunc_3C();
|
||||
/* 40 */ virtual void vfunc_40(u8 spawnIndex);
|
||||
|
||||
// itcm
|
||||
fx32 func_01ffedf4(Vec2b *pPos);
|
||||
fx32 func_01ffedf4(Vec2bCpp *pPos);
|
||||
|
||||
// overlay 0
|
||||
unk32 func_ov000_02080180(void *param1);
|
||||
void func_ov000_020801b0(Vec2b *param1, unk32 param2, unk32 param3);
|
||||
void func_ov000_020801b0(Vec2bCpp *param1, unk32 param2, unk32 param3);
|
||||
bool func_ov000_020802ec(u16 param1, VecFx32 *param2);
|
||||
void func_ov000_020803ec(u16 param1);
|
||||
void func_ov000_0208053c(u16 param1);
|
||||
bool func_ov000_02080658(unk32 param1, UnkStruct_SceneChange1 *param2);
|
||||
void func_ov000_020808f4(void *param1, void *param2, unk32 param3);
|
||||
bool func_ov000_02080658(unk32 param1, EntranceInfo *param2);
|
||||
void func_ov000_020808f4(void *param1, void *param2, u8 param3);
|
||||
unk32 func_ov000_02080a44();
|
||||
void func_ov000_02080a5c(VecFx32 *param1);
|
||||
void func_ov000_02080a78(VecFx32 *param1);
|
||||
|
||||
// overlay 1
|
||||
void func_ov001_020b85d0(const UnkStruct_SceneChange1 *param1);
|
||||
void func_ov001_020b85d0(const EntranceInfo *param1);
|
||||
void func_ov001_020b88c0(unk32 param1);
|
||||
void func_ov001_020b88ec();
|
||||
const UnkStruct_ov001_020c40f4 *func_ov001_020b8a5c(unk32 spawnIndex, unk32 param1);
|
||||
void func_ov001_020b8aec();
|
||||
void func_ov001_020b8b94(ZMBEntryARAB *pARAB);
|
||||
void func_ov001_020b8c30(const UnkStruct_027e0cd8_0C_Base_154_00 ¶m1);
|
||||
void func_ov001_020b8c30(const EntranceInfo ¶m1);
|
||||
void *func_ov001_020b8c80(unk32 param1);
|
||||
void func_ov001_020b8c90(unk32 param1);
|
||||
void func_ov001_020b8c98(unk32 param1);
|
||||
void func_ov001_020b8c90(ZMBSectionCMPT *pCMPT);
|
||||
void func_ov001_020b8c98(ZMBSectionCAME *pCAME);
|
||||
void func_ov001_020b8db8();
|
||||
void func_ov001_020b8e24();
|
||||
void func_ov001_020b8e54();
|
||||
@@ -275,7 +300,7 @@ public:
|
||||
/* 10 */ virtual void vfunc_10() override;
|
||||
/* 14 */ virtual void vfunc_14() override;
|
||||
/* 18 */ virtual void vfunc_18() override;
|
||||
/* 1C */ virtual void vfunc_1C(const UnkStruct_SceneChange1 *param1, bool param2, bool param3) override;
|
||||
/* 1C */ virtual void vfunc_1C(const EntranceInfo *param1, bool param2, bool param3) override;
|
||||
/* 20 */ virtual void vfunc_20() override;
|
||||
/* 24 */ virtual void vfunc_24() override;
|
||||
/* 28 */ virtual fx32 vfunc_28(VecFx32 *param1, unk32 param2, unk32 param3) override;
|
||||
@@ -316,8 +341,15 @@ public:
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0C */ UnkStruct_027e0cd8_04_0C *mUnk_0C;
|
||||
/* 10 */ u8 mUnk_10;
|
||||
/* 11 */ u8 mUnk_11;
|
||||
/* 12 */ STRUCT_PAD(0x12, 0x40);
|
||||
/* 10 */ u8 mUnk_11;
|
||||
/* 12 */ u8 mUnk_12;
|
||||
/* 12 */ u8 mUnk_13;
|
||||
/* 14 */ u8 mUnk_14;
|
||||
/* 14 */ u8 mUnk_15;
|
||||
/* 16 */ u8 mUnk_16;
|
||||
/* 16 */ u8 mUnk_17;
|
||||
/* 18 */ Vec2p mUnk_18;
|
||||
/* 20 */ STRUCT_PAD(0x20, 0x40);
|
||||
/* 40 */ u8 mUnk_40[1][10]; // at least one
|
||||
STRUCT_PAD(0x4C, 0xB4);
|
||||
/* B4 */
|
||||
@@ -327,6 +359,10 @@ public:
|
||||
|
||||
void func_ov000_02081354(const CourseListEntry *pEntry, const UnkStruct_func_ov000_020702a8 *pUnk1,
|
||||
SaveFile_00000_0000_Data_184 *param3, bool param4);
|
||||
void func_ov000_02081874(u16 nEntries);
|
||||
void func_ov000_020819a4(const UnkStruct_func_ov000_020702a8 *pUnk1);
|
||||
void func_ov000_020818d0(CourseListRoomEntry *param1, unk32 param2, unk32 param3, unk32 param4, unk32 param5);
|
||||
void func_ov000_0208199c(SceneIndex sceneIndex, void *param2, unk32 param3);
|
||||
};
|
||||
|
||||
class UnkStruct_027e0cd8_10 : public UnkDataStruct4 {
|
||||
@@ -374,15 +410,16 @@ public:
|
||||
bool func_ov000_02082124();
|
||||
bool func_ov000_02081c28();
|
||||
void func_ov000_02081ca0();
|
||||
bool func_ov000_02081edc(u16 param1);
|
||||
|
||||
// overlay 1
|
||||
void func_ov001_020b7830(const UnkStruct_SceneChange1 *param1);
|
||||
void func_ov001_020b7830(const EntranceInfo *param1);
|
||||
void func_ov001_020b7a7c();
|
||||
void func_ov001_020b7b38(const CourseListEntry *pEntry, const UnkStruct_func_ov000_020702a8 *pUnk1);
|
||||
void func_ov001_020b7c08(const UnkStruct_SceneChange1 *param1, const UnkStruct_WarpUnk1_A0 *param2);
|
||||
void func_ov001_020b7d64(const UnkStruct_SceneChange1 *param1);
|
||||
void func_ov001_020b7c08(const EntranceInfo *param1, const UnkStruct_WarpUnk1_A0 *param2);
|
||||
void func_ov001_020b7d64(const EntranceInfo *param1);
|
||||
void func_ov001_020b7e50();
|
||||
void func_ov001_020b7e68(const UnkStruct_SceneChange1 *param1, bool param2);
|
||||
void func_ov001_020b7e68(const EntranceInfo *param1, bool param2);
|
||||
void func_ov001_020b803c();
|
||||
bool func_ov001_020b80fc(SceneIndex sceneIndex);
|
||||
void func_ov001_020b8120(SceneIndex sceneIndex);
|
||||
|
||||
@@ -397,6 +397,8 @@ class UnkStruct_027e0ce0_1C {
|
||||
public:
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x0C);
|
||||
/* 0C */ MapObjectProfile_Derived2_20_Base *mUnk_0C;
|
||||
|
||||
void func_ov001_020bd0a4(bool param1);
|
||||
};
|
||||
|
||||
// PlayerManager?
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#include "System/SysNew.hpp"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_SceneChange1;
|
||||
class EntranceInfo;
|
||||
|
||||
class UnkStruct_ov018_020c5ac0 {
|
||||
public:
|
||||
@@ -63,10 +63,10 @@ public:
|
||||
void func_ov001_020bd87c(void);
|
||||
void func_ov001_020bd8dc(void);
|
||||
void func_ov001_020bd8ac(void);
|
||||
void func_ov001_020bd970(UnkStruct_SceneChange1 *param1);
|
||||
void func_ov001_020bd970(EntranceInfo *param1);
|
||||
void func_ov001_020bde5c(void);
|
||||
void func_ov001_020bde04(UnkStruct_SceneChange1 *param1);
|
||||
void func_ov001_020bde4c(const UnkStruct_SceneChange1 *param1);
|
||||
void func_ov001_020bde04(EntranceInfo *param1);
|
||||
void func_ov001_020bde4c(const EntranceInfo *param1);
|
||||
|
||||
// overlay 18
|
||||
UnkStruct_ov018_020c5ac0 *func_ov018_020c5718(void);
|
||||
|
||||
+298
-67
@@ -1,5 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "Actor/ActorId.hpp"
|
||||
#include "Actor/ActorRef.hpp"
|
||||
#include "Map/MapObjectId.hpp"
|
||||
#include "types.h"
|
||||
|
||||
@@ -11,11 +13,13 @@ extern "C" {
|
||||
|
||||
typedef u32 FileType;
|
||||
enum FileType_ {
|
||||
FileType_ZOB = 'BLOZ',
|
||||
FileType_ZTB = '1BTZ',
|
||||
FileType_ZMB = '1BMZ',
|
||||
FileType_CIB = 'ZCIB',
|
||||
FileType_CLB = 'ZCLB',
|
||||
FileType_ZOB = 'BLOZ',
|
||||
FileType_ZTB = '1BTZ',
|
||||
FileType_ZAB = 'ZCAB',
|
||||
FileType_ZMBv1 = 'ZMB1',
|
||||
FileType_ZMBv2 = 'ZMB2',
|
||||
FileType_CIB = 'ZCIB',
|
||||
FileType_CLB = 'ZCLB',
|
||||
};
|
||||
|
||||
typedef struct FileInfos {
|
||||
@@ -23,6 +27,55 @@ typedef struct FileInfos {
|
||||
/* 04 */ size_t size;
|
||||
} FileInfos;
|
||||
|
||||
// .cib
|
||||
typedef struct CourseInitEntry {
|
||||
/* 00 */ const char name[16];
|
||||
/* 10 */ STRUCT_PAD(0x10, 0x24);
|
||||
} CourseInitEntry; // size = 0x24
|
||||
|
||||
typedef struct CourseInitHeader {
|
||||
/* 00 */ FileType type; // always "ZCIB"
|
||||
/* 04 */ size_t nSize;
|
||||
/* 08 */ u32 nEntries;
|
||||
/* 0C */ u32 nEntries2; // same value as above?
|
||||
} CourseInitHeader; // size = 0x10
|
||||
|
||||
// .clb
|
||||
typedef struct CourseListRoomEntry {
|
||||
/* 00 */ u8 roomIndex;
|
||||
/* 01 */ u8 mapPaintIndex;
|
||||
/* 02 */ u16 unk_02;
|
||||
} CourseListRoomEntry; // size = 0x08
|
||||
|
||||
typedef struct CourseListEntry {
|
||||
/* 00 */ const char name[16];
|
||||
/* 10 */ unk32 unk_10;
|
||||
/* 14 */ u8 numRooms;
|
||||
/* 15 */ unk8 unk_15;
|
||||
/* 16 */ unk8 titleCardMsgIndex;
|
||||
/* 17 */ u8 saveCourseIndex;
|
||||
/* 18 */ u8 unk_18;
|
||||
/* 19 */ u8 unk_19;
|
||||
/* 1A */ u8 unk_1A;
|
||||
/* 1B */ u8 unk_1B;
|
||||
/* 1C */ u8 unk_1C;
|
||||
/* 1D */ u8 unk_1D;
|
||||
/* 1E */ u8 unk_1E;
|
||||
/* 1F */ u8 unk_1F;
|
||||
/* 20 */ u8 defaultMapPaintIndex;
|
||||
/* 21 */ s8 unk_21; // scene index but unknown purpose
|
||||
/* 22 */ unk8 unk_22; // pad?
|
||||
/* 23 */ unk8 unk_23; // pad?
|
||||
/* 24 */ CourseListRoomEntry roomEntries[];
|
||||
} CourseListEntry; // size >= 0x28
|
||||
|
||||
typedef struct CourseListHeader {
|
||||
/* 00 */ FileType type; // always "ZCIB"
|
||||
/* 04 */ size_t nSize;
|
||||
/* 08 */ u32 nEntries;
|
||||
/* 0C */ u32 nEntries2; // same value as above?
|
||||
} CourseListHeader; // size = 0x10
|
||||
|
||||
// .zob
|
||||
typedef struct ZOBHeader {
|
||||
/* 00 */ FileType type; // always "ZOLB"
|
||||
@@ -51,7 +104,7 @@ typedef struct ZTBHeader {
|
||||
/* 00 */ u32 magic; // 'MTRB'
|
||||
/* 04 */ FileType type; // always "ZTB1"
|
||||
/* 08 */ size_t nSize;
|
||||
/* 0C */ u32 nEntries;
|
||||
/* 0C */ u32 nSections;
|
||||
/* 10 */ u8 unused[0x10];
|
||||
} ZTBHeader; // size = 0x20
|
||||
|
||||
@@ -129,35 +182,90 @@ extern BOOL ZTB_ParseGRRL(FileInfos *pFileInfos, UnkDataStruct4 *pDst, ZTBSectio
|
||||
extern BOOL ZTB_ParseSTAB(FileInfos *pFileInfos, UnkDataStruct4 *pDst, ZTBSectionSTAB *pSTAB);
|
||||
extern BOOL ZTB_ParseLDMK(FileInfos *pFileInfos, UnkDataStruct4 *pDst, ZTBSectionLDMK *pLDMK);
|
||||
|
||||
// .zab
|
||||
typedef u32 ZABSectionType;
|
||||
enum ZABSectionType_ {
|
||||
ZABSectionType_CABM = 'CABM',
|
||||
ZABSectionType_CABI = 'CABI',
|
||||
};
|
||||
|
||||
typedef struct ZABHeader {
|
||||
/* 00 */ FileType type; // always "ZCAB" (probably "Zelda Course Arrange Binary"?)
|
||||
/* 04 */ size_t nSize;
|
||||
/* 08 */ u32 nSections;
|
||||
/* 0C */ unk32 unk_0C;
|
||||
} ZABHeader; // size = 0x10
|
||||
|
||||
typedef struct ZABEntryCABM {
|
||||
/* 00 */ u8 unk_00;
|
||||
/* 01 */ u8 unk_01;
|
||||
/* 02 */ u8 unk_02;
|
||||
/* 03 */ s8 unk_03;
|
||||
/* 04 */ u32 unk_04;
|
||||
} ZABEntryCABM; // size = 0x08
|
||||
|
||||
typedef struct ZABSectionHeader {
|
||||
/* 00 */ ZABSectionType type;
|
||||
/* 04 */ size_t nSize;
|
||||
/* 08 */ u8 unk_08;
|
||||
/* 09 */ u8 unk_09;
|
||||
/* 0A */ u8 unk_0A;
|
||||
/* 0B */ u8 unk_0B;
|
||||
/* 0C */ u8 unk_0C;
|
||||
/* 0D */ u8 unk_0D;
|
||||
/* 0E */ u16 nEntries;
|
||||
} ZABSectionHeader; // size = 0x10
|
||||
|
||||
typedef struct ZABSectionCABM {
|
||||
/* 00 */ ZABSectionHeader header;
|
||||
/* 10 */ ZABEntryCABM entries[];
|
||||
} ZABSectionCABM;
|
||||
|
||||
typedef struct ZABSectionCABI {
|
||||
/* 00 */ ZABSectionHeader header;
|
||||
/* 10 */ // unknown
|
||||
} ZABSectionCABI;
|
||||
|
||||
struct UnkStruct_027e0cd8_04;
|
||||
struct UnkStruct_func_ov000_020702a8;
|
||||
|
||||
extern BOOL ZAB_ParseFile(FileInfos *pFileInfos, u32 sceneIndex, UnkStruct_027e0cd8_04 *pDst, const CourseListEntry *pEntry,
|
||||
const UnkStruct_func_ov000_020702a8 *pUnk1, BOOL param6);
|
||||
extern BOOL ZAB_ParseCAMB(FileInfos *pFileInfos, ZABSectionCABM *pCABM, u32 sceneIndex, UnkStruct_027e0cd8_04 *pDst,
|
||||
const CourseListEntry *pEntry, const UnkStruct_func_ov000_020702a8 *pUnk1, BOOL param6);
|
||||
extern BOOL ZAB_ParseCABI(FileInfos *pFileInfos, ZABSectionCABI *pCABI, BOOL param3);
|
||||
extern BOOL ZAB_GetRoomEntry(FileInfos *pFileInfos, u8 param2, const CourseListEntry *pEntry, CourseListRoomEntry *param4);
|
||||
|
||||
// .zmb
|
||||
typedef u32 ZMBSectionType;
|
||||
enum ZMBSectionType_ {
|
||||
ZMBSectionType_LDLB = 'LDLB', // related to script triggers
|
||||
ZMBSectionType_ROMB = 'ROMB', // unknown
|
||||
ZMBSectionType_ROOB = 'ROOM', // room settings
|
||||
ZMBSectionType_ARAB = 'ARAB', // locations? (?)
|
||||
ZMBSectionType_RALB = 'RALB', // paths?
|
||||
ZMBSectionType_WARP = 'WARP', // exits?
|
||||
ZMBSectionType_CAME = 'CAME', // camera settings?
|
||||
ZMBSectionType_PLYR = 'PLYR', // player entrances?
|
||||
ZMBSectionType_MPOB = 'MPOB', // map object list, parameters are stored here
|
||||
ZMBSectionType_NPCA = 'NPCA', // actor list, same as above
|
||||
ZMBSectionType_ROMB = 'ROMB', // unknown
|
||||
ZMBSectionType_ROOM = 'ROOM', // room settings
|
||||
ZMBSectionType_LDLB = 'LDLB', // related to script triggers
|
||||
ZMBSectionType_MapObjects = 'MPOB', // map object list, parameters are stored here
|
||||
ZMBSectionType_ARAB = 'ARAB', // locations? (?)
|
||||
ZMBSectionType_RALB = 'RALB', // paths?
|
||||
ZMBSectionType_NPCA = 'NPCA', // actor list, same as above
|
||||
ZMBSectionType_PLYR = 'PLYR', // player entrances?
|
||||
ZMBSectionType_WARP = 'WARP', // exits?
|
||||
ZMBSectionType_CAME = 'CAME', // camera settings?
|
||||
ZMBSectionType_CMPT = 'CMPT', // ?
|
||||
};
|
||||
|
||||
typedef struct ZMBFileInfos {
|
||||
/* 00 */ void *pFile;
|
||||
/* 04 */ size_t size;
|
||||
/* 08 */ unk16 unk_08;
|
||||
/* 0A */ unk16 unk_0A;
|
||||
/* 0C */ unk16 unk_0C;
|
||||
/* 10 */ unk16 unk_10;
|
||||
/* 14 */ unk16 unk_14;
|
||||
} ZMBFileInfos;
|
||||
/* 0E */ s16 unk_0E;
|
||||
} ZMBFileInfos; // size = 0x10
|
||||
|
||||
typedef struct ZMBHeader {
|
||||
/* 00 */ u32 magic; // 'MAPB'
|
||||
/* 04 */ FileType type; // always "ZMB1"
|
||||
/* 08 */ size_t nSize;
|
||||
/* 0C */ u32 nEntries;
|
||||
/* 0C */ u32 nSections;
|
||||
/* 10 */ u8 unused[0x10];
|
||||
} ZMBHeader; // size = 0x20
|
||||
|
||||
@@ -169,18 +277,68 @@ typedef struct ZMBSectionHeader {
|
||||
/* 0B */ u8 unk_0B;
|
||||
} ZMBSectionHeader; // size = 0x0C
|
||||
|
||||
typedef struct ZMBEntryRALB {
|
||||
typedef struct ZMBSectionROMB {
|
||||
/* 00 */ ZMBSectionHeader header;
|
||||
/* 0C */
|
||||
} ZMBSectionROMB;
|
||||
|
||||
typedef struct ZMBEntryROOM {
|
||||
/* 00 */ u8 unk_00;
|
||||
/* 01 */ u8 unk_01;
|
||||
/* 02 */ u8 unk_02;
|
||||
/* 03 */ u8 unk_03;
|
||||
/* 04 */ unk32 unk_04;
|
||||
} ZMBEntryRALB; // size = 0x08
|
||||
/* 04 */ u8 unk_04;
|
||||
/* 05 */ u8 unk_05;
|
||||
/* 06 */ u8 unk_06;
|
||||
/* 07 */ u8 unk_07;
|
||||
/* 08 */ u32 unk_08;
|
||||
/* 0C */ u8 unk_0C;
|
||||
/* 0D */ union {
|
||||
u8 unk_0D;
|
||||
bool unk_0D_bool;
|
||||
};
|
||||
/* 0E */ u8 unk_0E;
|
||||
/* 0F */ u8 unk_0F;
|
||||
/* 10 */ u16 unk_10;
|
||||
/* 12 */ unk16 unk_12; // pad
|
||||
} ZMBEntryROOM; // size = 0x14
|
||||
|
||||
typedef struct ZMBSectionRALB {
|
||||
typedef struct ZMBSectionROOM {
|
||||
/* 00 */ ZMBSectionHeader header;
|
||||
/* 0C */ ZMBEntryRALB entries[];
|
||||
} ZMBSectionRALB;
|
||||
/* 0C */ ZMBEntryROOM entries[];
|
||||
} ZMBSectionROOM;
|
||||
|
||||
typedef struct ZMBEntryLBLB {
|
||||
/* 00 */ u8 unk_00;
|
||||
/* 01 */ u8 unk_01;
|
||||
/* 02 */ u8 unk_02;
|
||||
/* 03 */ u8 unk_03;
|
||||
/* 04 */ u16 unk_04;
|
||||
/* 06 */ unk16 unk_06;
|
||||
} ZMBEntryLBLB; // size = 0x08
|
||||
|
||||
typedef struct ZMBSectionLDLB {
|
||||
/* 00 */ ZMBSectionHeader header;
|
||||
/* 0C */ ZMBEntryLBLB entries[];
|
||||
} ZMBSectionLDLB;
|
||||
|
||||
typedef struct ZMBMapObjEntry {
|
||||
/* 00 */ u32 id;
|
||||
/* 04 */ Vec2b pos;
|
||||
/* 06 */ u16 angle;
|
||||
/* 08 */ u16 params[4];
|
||||
/* 10 */ u16 unk_10[2];
|
||||
/* 14 */ unk32 unk_14;
|
||||
/* 18 */ u8 unk_18;
|
||||
/* 19 */ u8 unk_19;
|
||||
/* 1A */ u8 unk_1A;
|
||||
/* 1B */ u8 unk_1B;
|
||||
} ZMBMapObjEntry; // size = 0x1C
|
||||
|
||||
typedef struct ZMBSectionMapObjectList {
|
||||
/* 00 */ ZMBSectionHeader header;
|
||||
/* 0C */ ZMBMapObjEntry entries[];
|
||||
} ZMBSectionMapObjectList;
|
||||
|
||||
typedef struct ZMBEntryARAB {
|
||||
/* 00 */ u8 unk_00;
|
||||
@@ -195,57 +353,130 @@ typedef struct ZMBEntryARAB {
|
||||
/* 0F */ unk8 unk_0F;
|
||||
} ZMBEntryARAB; // size = 0x10
|
||||
|
||||
struct UnkStruct_027e0cd8_0C_Base;
|
||||
typedef struct ZMBSectionARAB {
|
||||
/* 00 */ ZMBSectionHeader header;
|
||||
/* 0C */ ZMBEntryARAB entries[];
|
||||
} ZMBSectionARAB;
|
||||
|
||||
extern BOOL ZMB_ParseFile(ZMBFileInfos *pFileInfos, UnkStruct_027e0cd8_0C_Base *pDst, BOOL param3);
|
||||
// ZMBPathPoint?
|
||||
typedef struct ZMBRALBPoint {
|
||||
/* 00 */ u8 unk_00;
|
||||
/* 01 */ u8 unk_01;
|
||||
/* 02 */ fx16 angle;
|
||||
/* 04 */ VecFx32 pos;
|
||||
/* 10 */ unk16 unk_10;
|
||||
/* 12 */ u16 unk_12;
|
||||
/* 14 */ unk32 unk_14;
|
||||
} ZMBRALBPoint; // size = 0x18
|
||||
|
||||
// .cib
|
||||
typedef struct CourseInitEntry {
|
||||
/* 00 */ const char name[16];
|
||||
/* 10 */ STRUCT_PAD(0x10, 0x24);
|
||||
} CourseInitEntry; // size = 0x24
|
||||
|
||||
typedef struct CourseInitHeader {
|
||||
/* 00 */ FileType type; // always "ZCIB"
|
||||
/* 04 */ size_t nSize;
|
||||
/* 08 */ u32 nEntries;
|
||||
/* 0C */ u32 nEntries2; // same value as above?
|
||||
} CourseInitHeader; // size = 0x10
|
||||
|
||||
// .clb
|
||||
typedef struct CourseListRoomEntry {
|
||||
/* 00 */ u8 roomIndex;
|
||||
/* 01 */ u8 mapPaintIndex;
|
||||
// ZMBPathEntry?
|
||||
typedef struct ZMBEntryRALB {
|
||||
/* 00 */ u8 unk_00;
|
||||
/* 01 */ u8 numPoints;
|
||||
/* 02 */ u8 unk_02;
|
||||
/* 03 */ u8 unk_03;
|
||||
} CourseListRoomEntry; // size = 0x08
|
||||
/* 04 */ unk32 unk_04;
|
||||
} ZMBEntryRALB; // size = 0x08
|
||||
|
||||
typedef struct CourseListEntry {
|
||||
/* 00 */ const char name[16];
|
||||
/* 10 */ unk32 unk_10;
|
||||
/* 14 */ unk8 numRooms;
|
||||
/* 15 */ unk8 unk_15;
|
||||
/* 16 */ unk8 titleCardMsgIndex;
|
||||
/* 17 */ u8 saveCourseIndex;
|
||||
/* 18 */ u8 unk_18;
|
||||
/* 19 */ u8 unk_19;
|
||||
/* 1A */ u8 unk_1A;
|
||||
/* 1B */ u8 unk_1B;
|
||||
typedef struct ZMBSectionRALB {
|
||||
/* 00 */ ZMBSectionHeader header;
|
||||
/* 0C */ ZMBEntryRALB entries[];
|
||||
} ZMBSectionRALB;
|
||||
|
||||
typedef struct ZMBActorEntry {
|
||||
/* 00 */ u32 id;
|
||||
/* 04 */ struct {
|
||||
u16 x, y;
|
||||
} pos;
|
||||
/* 08 */ s8 unk_08;
|
||||
/* 08 */ s8 unk_09;
|
||||
/* 0A */ u16 angle;
|
||||
/* 0C */ u16 params[4];
|
||||
/* 14 */ u16 unk_14[2];
|
||||
/* 18 */ u32 unk_18;
|
||||
/* 1C */ u8 unk_1C;
|
||||
/* 1D */ u8 unk_1D;
|
||||
/* 1E */ u8 unk_1E;
|
||||
/* 1F */ u8 unk_1F;
|
||||
/* 20 */ u8 defaultMapPaintIndex;
|
||||
/* 21 */ s8 unk_21; // scene index but unknown purpose
|
||||
/* 24 */ CourseListRoomEntry roomEntries[];
|
||||
} CourseListEntry; // size >= 0x28
|
||||
} ZMBActorEntry; // size = 0x20
|
||||
|
||||
typedef struct CourseListHeader {
|
||||
/* 00 */ FileType type; // always "ZCIB"
|
||||
/* 04 */ size_t nSize;
|
||||
/* 08 */ u32 nEntries;
|
||||
/* 0C */ u32 nEntries2; // same value as above?
|
||||
} CourseListHeader; // size = 0x10
|
||||
typedef struct ZMBSectionActorList {
|
||||
/* 00 */ ZMBSectionHeader header;
|
||||
/* 0C */ ZMBActorEntry entries[];
|
||||
} ZMBSectionActorList;
|
||||
|
||||
typedef struct ZMBEntryPLYR {
|
||||
/* 00 */ VecFx32 unk_00;
|
||||
/* 0C */ u16 unk_0C;
|
||||
/* 0E */ u8 unk_0E;
|
||||
/* 0F */ u8 unk_0F;
|
||||
/* 10 */ u8 unk_10;
|
||||
/* 11 */ u8 unk_11;
|
||||
/* 12 */ u8 unk_12;
|
||||
/* 13 */ u8 unk_13;
|
||||
} ZMBEntryPLYR; // size = 0x14
|
||||
|
||||
typedef struct ZMBSectionPLYR {
|
||||
/* 00 */ ZMBSectionHeader header;
|
||||
/* 0C */ ZMBEntryPLYR entries[];
|
||||
} ZMBSectionPLYR;
|
||||
|
||||
typedef struct ZMBEntryWARP {
|
||||
/* 00 */ u8 unk_00;
|
||||
/* 01 */ u8 unk_01;
|
||||
/* 02 */ u8 roomIndex;
|
||||
/* 03 */ u8 spawnIndex;
|
||||
/* 04 */ const char destName[16];
|
||||
/* 14 */ u8 unk_14;
|
||||
/* 15 */ u8 unk_15;
|
||||
/* 16 */ u8 unk_16;
|
||||
/* 17 */ u8 unk_17;
|
||||
} ZMBEntryWARP; // size = 0x18
|
||||
|
||||
typedef struct ZMBSectionWARP {
|
||||
/* 00 */ ZMBSectionHeader header;
|
||||
/* 0C */ ZMBEntryWARP entries[];
|
||||
} ZMBSectionWARP;
|
||||
|
||||
typedef struct ZMBEntryCAME {
|
||||
/* 00 */ fx32 unk_00;
|
||||
/* 04 */ VecFx32 unk_04;
|
||||
/* 10 */ s16 unk_10;
|
||||
/* 12 */ s16 unk_12;
|
||||
/* 14 */ unk32 unk_14[2]; // pad
|
||||
} ZMBEntryCAME; // size = 0x1C
|
||||
|
||||
typedef struct ZMBSectionCAME {
|
||||
/* 00 */ ZMBSectionHeader header;
|
||||
/* 0C */ ZMBEntryCAME entries[];
|
||||
} ZMBSectionCAME;
|
||||
|
||||
typedef struct ZMBEntryCMPT {
|
||||
/* 04 */ VecFx32 unk_00;
|
||||
/* 10 */ u8 unk_0C;
|
||||
/* 12 */ u8 unk_0D;
|
||||
/* 14 */ unk16 unk_0E; // pad
|
||||
} ZMBEntryCMPT; // size = 0x10
|
||||
|
||||
typedef struct ZMBSectionCMPT {
|
||||
/* 00 */ ZMBSectionHeader header;
|
||||
/* 0C */ ZMBEntryCMPT entries[];
|
||||
} ZMBSectionCMPT;
|
||||
|
||||
struct UnkStruct_027e0cd8_0C_Base;
|
||||
|
||||
extern BOOL ZMB_ParseFile(ZMBFileInfos *pFileInfos, UnkStruct_027e0cd8_0C_Base *pDst, bool param3);
|
||||
extern BOOL ZMB_ParseROMB(ZMBFileInfos *pFileInfos, ZMBSectionROMB *pROMB, UnkStruct_027e0cd8_0C_Base *pDst);
|
||||
extern BOOL ZMB_ParseLDLB(ZMBFileInfos *pFileInfos, ZMBSectionLDLB *pLDLB, UnkStruct_027e0cd8_0C_Base *pDst);
|
||||
extern BOOL ZMB_ParseARAB(ZMBFileInfos *pFileInfos, ZMBSectionARAB *pARAB, UnkStruct_027e0cd8_0C_Base *pDst);
|
||||
extern BOOL ZMB_ParseRALB(ZMBFileInfos *pFileInfos, ZMBSectionRALB *pRALB, UnkStruct_027e0cd8_0C_Base *pDst);
|
||||
extern BOOL ZMB_ParseWARP(ZMBFileInfos *pFileInfos, ZMBSectionWARP *pWARP, UnkStruct_027e0cd8_0C_Base *pDst);
|
||||
extern BOOL ZMB_ParseMapObjList(ZMBFileInfos *pFileInfos, ZMBSectionMapObjectList *pMapObjs, UnkStruct_027e0cd8_0C_Base *pDst);
|
||||
extern BOOL ZMB_ParseActorList(ZMBFileInfos *pFileInfos, ZMBSectionActorList *pNPCA, UnkStruct_027e0cd8_0C_Base *pDst);
|
||||
extern BOOL ZMB_ParseROOM(ZMBFileInfos *pFileInfos, ZMBSectionROOM *pROOM, UnkStruct_027e0cd8_0C_Base *pDst);
|
||||
extern BOOL ZMB_ParsePLYR(ZMBFileInfos *pFileInfos, ZMBSectionPLYR *pPLYR, UnkStruct_027e0cd8_0C_Base *pDst);
|
||||
extern BOOL ZMB_ParseCAME(ZMBFileInfos *pFileInfos, ZMBSectionCAME *pCAME, UnkStruct_027e0cd8_0C_Base *pDst);
|
||||
extern BOOL ZMB_ParseCMPT(ZMBFileInfos *pFileInfos, ZMBSectionCMPT *pCMPT, UnkStruct_027e0cd8_0C_Base *pDst);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
|
||||
+4
-1
@@ -11,11 +11,14 @@
|
||||
*/
|
||||
|
||||
#define GET_FLAG(arr, pos) (((arr)[((u32) (pos)) >> 5] & (1 << ((pos) & 0x1F))) != 0)
|
||||
#define GET_FLAG2(var, pos) ((var) & (1 << pos))
|
||||
#define SET_FLAG(arr, pos) ((arr)[((u32) (pos)) >> 5] |= 1 << ((pos) & 0x1F))
|
||||
#define UNSET_FLAG(arr, pos) ((arr)[((u32) (pos)) >> 5] &= ~(1 << ((pos) & 0x1F)))
|
||||
#define FLAG(index, pos) (((index) << 5) | ((pos) & 0x1F))
|
||||
|
||||
#define GET_FLAG2(var, pos) (((var) & (1 << (pos))) != 0)
|
||||
#define SET_FLAG2(var, pos) ((var) |= 1 << (pos))
|
||||
#define UNSET_FLAG2(var, pos) ((var) &= ~(1 << (pos)))
|
||||
|
||||
#define GET_FLAG_ALT(arr, pos) (((arr)[(pos) >> 5] & (1 << ((0x1F - ((pos) & 0x1F))))) != 0)
|
||||
#define SET_FLAG_ALT(arr, pos) ((arr)[(pos) >> 5] |= 1 << ((0x1F - ((pos) & 0x1F))))
|
||||
#define UNSET_FLAG_ALT(arr, pos) ((arr)[(pos) >> 5] &= ~(1 << ((0x1F - ((pos) & 0x1F)))))
|
||||
|
||||
+15
-11
@@ -160,6 +160,10 @@ union Vec2us {
|
||||
x = X;
|
||||
y = Y;
|
||||
}
|
||||
Vec2us(Vec2us *pFrom) {
|
||||
x = pFrom->x;
|
||||
y = pFrom->y;
|
||||
}
|
||||
};
|
||||
|
||||
#define Vec2us_CopyAdd(a, b, dst) Vec2_CopyAdd(Vec2us, a, b, dst)
|
||||
@@ -204,7 +208,7 @@ static inline void Vec2us_Copy(const Vec2us *a, Vec2us *dst) {
|
||||
#endif
|
||||
}
|
||||
|
||||
union Vec2b {
|
||||
union Vec2bCpp {
|
||||
struct {
|
||||
/* 0 */ u8 x;
|
||||
/* 2 */ u8 y;
|
||||
@@ -212,24 +216,24 @@ union Vec2b {
|
||||
};
|
||||
u8 coords[2];
|
||||
|
||||
void operator=(const Vec2b &from) {
|
||||
void operator=(const Vec2bCpp &from) {
|
||||
this->x = from.x;
|
||||
this->y = from.y;
|
||||
}
|
||||
|
||||
Vec2b() {}
|
||||
Vec2b(u8 X, u8 Y) {
|
||||
Vec2bCpp() {}
|
||||
Vec2bCpp(u8 X, u8 Y) {
|
||||
x = X;
|
||||
y = Y;
|
||||
}
|
||||
};
|
||||
|
||||
#define Vec2b_CopyAdd(a, b, dst) Vec2_CopyAdd(Vec2b, a, b, dst)
|
||||
#define Vec2b_CopySub(a, b, dst) Vec2_CopySub(Vec2b, a, b, dst)
|
||||
#define Vec2b_CopyAdd(a, b, dst) Vec2_CopyAdd(Vec2bCpp, a, b, dst)
|
||||
#define Vec2b_CopySub(a, b, dst) Vec2_CopySub(Vec2bCpp, a, b, dst)
|
||||
#define Vec2b_Set(a, dst) Vec2_Set(a, dst)
|
||||
|
||||
static inline void Vec2b_Clear(Vec2b *dst) {
|
||||
Vec2b empty;
|
||||
static inline void Vec2b_Clear(Vec2bCpp *dst) {
|
||||
Vec2bCpp empty;
|
||||
empty.x = 0;
|
||||
empty.y = 0;
|
||||
|
||||
@@ -241,7 +245,7 @@ static inline void Vec2b_Clear(Vec2b *dst) {
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline void Vec2b_Add(const Vec2b *a, const Vec2b *b, Vec2b *dst) {
|
||||
static inline void Vec2b_Add(const Vec2bCpp *a, const Vec2bCpp *b, Vec2bCpp *dst) {
|
||||
u8 x = a->x + b->x;
|
||||
u8 y = a->y + b->y;
|
||||
|
||||
@@ -249,7 +253,7 @@ static inline void Vec2b_Add(const Vec2b *a, const Vec2b *b, Vec2b *dst) {
|
||||
dst->y = y;
|
||||
}
|
||||
|
||||
static inline void Vec2b_Sub(const Vec2b *a, const Vec2b *b, Vec2b *dst) {
|
||||
static inline void Vec2b_Sub(const Vec2bCpp *a, const Vec2bCpp *b, Vec2bCpp *dst) {
|
||||
u8 x = a->x - b->x;
|
||||
u8 y = a->y - b->y;
|
||||
|
||||
@@ -257,7 +261,7 @@ static inline void Vec2b_Sub(const Vec2b *a, const Vec2b *b, Vec2b *dst) {
|
||||
dst->y = y;
|
||||
}
|
||||
|
||||
static inline void Vec2b_Copy(const Vec2b *a, Vec2b *dst) {
|
||||
static inline void Vec2b_Copy(const Vec2bCpp *a, Vec2bCpp *dst) {
|
||||
#if __MWERKS__
|
||||
dst->coords = a->coords;
|
||||
#else
|
||||
|
||||
+37
-4
@@ -9,6 +9,7 @@
|
||||
|
||||
#include <compressed_pair.hpp>
|
||||
#include <msl_unk.hpp>
|
||||
#include <mem.h>
|
||||
|
||||
#define TAG_UNK 0
|
||||
|
||||
@@ -195,7 +196,7 @@ namespace std {
|
||||
return alloc().max_size();
|
||||
}
|
||||
|
||||
size_t capacity() const {
|
||||
volatile size_t capacity() const {
|
||||
return capacity_.first();
|
||||
}
|
||||
|
||||
@@ -207,10 +208,19 @@ namespace std {
|
||||
size_ = n;
|
||||
}
|
||||
|
||||
void move_construct_to_end(iterator begin, iterator end);
|
||||
void move_construct_to_end(iterator begin, iterator end) {
|
||||
for (iterator it = this->end(); begin < end; begin++) {
|
||||
new(it) T(*begin);
|
||||
it++;
|
||||
size_++;
|
||||
}
|
||||
}
|
||||
|
||||
//! TODO: probably a fake match?
|
||||
void reallocate_copy(size_t n) {
|
||||
__vec_deleter<T, Allocator> tmp(alloc());
|
||||
UnkMSLStruct1 unk = UnkMSLStruct1();
|
||||
UnkMSLStruct1 unk2 = UnkMSLStruct1();
|
||||
__vec_deleter<T, Allocator> tmp;
|
||||
tmp.allocate(n);
|
||||
tmp.move_construct_to_end(begin(), end());
|
||||
optimize_after_moved_from();
|
||||
@@ -219,6 +229,29 @@ namespace std {
|
||||
swap(size_, tmp.size_);
|
||||
}
|
||||
|
||||
void move_construct_to_end_alt(iterator begin, iterator end) {
|
||||
move_construct_to_end_alt(begin, end, UnkMSLStruct1());
|
||||
}
|
||||
|
||||
void move_construct_to_end_alt(iterator begin, iterator end, UnkMSLStruct1) {
|
||||
size_t diff = end - begin;
|
||||
memcpy(this->end(), begin, sizeof(T) * diff);
|
||||
memset(begin, 0, sizeof(T) * diff);
|
||||
size_ += diff;
|
||||
}
|
||||
|
||||
//! TODO: non-matching (stack issues :)))))
|
||||
void reallocate_copy_alt(size_t n) {
|
||||
UnkMSLStruct1 unk2 = UnkMSLStruct1();
|
||||
__vec_deleter<T, Allocator> tmp;
|
||||
tmp.allocate(n);
|
||||
tmp.move_construct_to_end_alt(begin(), end());
|
||||
optimize_after_moved_from();
|
||||
swap(cap(), tmp.cap());
|
||||
swap(data_, tmp.data_);
|
||||
swap(size_, tmp.size_);
|
||||
}
|
||||
|
||||
void reserve(size_t n) {
|
||||
if (n > cap()) {
|
||||
reallocate_copy(n);
|
||||
@@ -465,7 +498,7 @@ namespace std {
|
||||
typedef _Constructor::const_iterator const_iterator;
|
||||
|
||||
vector() {}
|
||||
~vector() { }
|
||||
~vector() {}
|
||||
|
||||
void push_back(const_reference x) {
|
||||
_Constructor::push_back(x);
|
||||
|
||||
@@ -53,7 +53,15 @@ extern "C" {
|
||||
#define MUL_FX32(a, b) (fx32)((((s64) (a)) * ((s64) (b)) + 0x800) >> FX32_SHIFT)
|
||||
#define DIV_FX32(a, b) (((a) << FX32_SHIFT) / (b))
|
||||
|
||||
// some kind of angle conversion? only used for angle values so far
|
||||
#define MUL_FX32_FX64(a, b) (fx32)(((((a) * (b)) + 0x80000000000LL) >> 32))
|
||||
#define UNK_FX_OPERATION_1(a) (MUL_FX32_FX64((u64) (a), 0xB60B60B60BLL) >> FX32_SHIFT)
|
||||
|
||||
#define MUL_FX32_U(a, b) (fx32)((((u64) (a)) * ((u64) (b)) + 0x800) >> FX32_SHIFT)
|
||||
#define UNK_FX_OPERATION_2(a) MUL_FX32_U((u64) (a), FLOAT_TO_FX32(1.2f))
|
||||
|
||||
#define DEG_TO_ANG(n) ((n) * 0x10000 / 360)
|
||||
#define DEG_TO_ANG_ALT(n) DEG_TO_ANG((u64) (n))
|
||||
#define SIN(n) (gSinCosTable[2 * ((n) >> 4)])
|
||||
#define COS(n) (gSinCosTable[2 * ((n) >> 4) + 1])
|
||||
|
||||
@@ -82,6 +90,15 @@ static inline void Vec2p_Copy(const Vec2p *src, Vec2p *dst) {
|
||||
#endif
|
||||
}
|
||||
|
||||
typedef union Vec2b {
|
||||
struct {
|
||||
/* 0 */ u8 x;
|
||||
/* 4 */ u8 y;
|
||||
/* 8 */
|
||||
};
|
||||
u8 coords[2];
|
||||
} Vec2b;
|
||||
|
||||
typedef struct Mat2p {
|
||||
/* 00 */ Vec2p xColumn;
|
||||
/* 08 */ Vec2p yColumn;
|
||||
|
||||
@@ -34,7 +34,7 @@ typedef volatile s8 vs8;
|
||||
typedef volatile f32 vf32;
|
||||
typedef volatile f64 vf64;
|
||||
|
||||
typedef u32 BOOL;
|
||||
typedef s32 BOOL;
|
||||
|
||||
#define ATTRIBUTE_ALIGN(x) __attribute__((aligned(x)))
|
||||
|
||||
|
||||
@@ -21,11 +21,11 @@ ActorProfileUnkSWOB::ActorProfileUnkSWOB() :
|
||||
ActorUnkSWOB::ActorUnkSWOB() {}
|
||||
|
||||
bool ActorUnkSWOB::vfunc_18(unk32 param1) {
|
||||
this->mUnk_9E = this->mUnk_5C.mUnk_1C_0;
|
||||
this->mUnk_9E = this->mUnk_5C.mUnk_1A[1];
|
||||
this->mUnk_94 = this->mUnk_5C.mParams[1];
|
||||
this->mUnk_98 = this->mUnk_5C.mParams[2];
|
||||
this->mUnk_A0 = this->mUnk_9E + this->mUnk_5C.mParams[0];
|
||||
this->mUnk_A2 = this->mUnk_5C.mUnk_18.y;
|
||||
this->mUnk_A2 = this->mUnk_5C.mUnk_18[1];
|
||||
this->mUnk_9C = this->mUnk_9E;
|
||||
|
||||
if (this->func_ov000_02098a60(0)) {
|
||||
@@ -73,9 +73,9 @@ void ActorUnkSWOB::func_ov000_0209aa30(void) {
|
||||
case 3:
|
||||
data_ov000_020b5214.func_ov000_0206db44(0xA3);
|
||||
|
||||
s16 unk_78 = this->mUnk_5C.mUnk_1C_0;
|
||||
s16 unk_78 = this->mUnk_5C.mUnk_1A[1];
|
||||
if (unk_78 > 0) {
|
||||
data_027e0cd8->func_ov000_02081d7c((s16) (unk_78 - 1), this->mUnk_5C.mUnk_18.y, true);
|
||||
data_027e0cd8->func_ov000_02081d7c((s16) (unk_78 - 1), this->mUnk_5C.mUnk_18[1], true);
|
||||
}
|
||||
break;
|
||||
case 2: {
|
||||
|
||||
@@ -30,11 +30,11 @@ ActorUnkSWTM::~ActorUnkSWTM() {
|
||||
|
||||
// https://decomp.me/scratch/qkP8m
|
||||
bool ActorUnkSWTM::vfunc_18(unk32 param1) {
|
||||
this->mUnk_9E = this->mUnk_5C.mUnk_1C_0;
|
||||
this->mUnk_9E = this->mUnk_5C.mUnk_1A[1];
|
||||
this->mUnk_98 = this->mUnk_5C.mParams[2];
|
||||
this->mUnk_A4 = this->mUnk_5C.mParams[1] * 30;
|
||||
this->mUnk_A0 = this->mUnk_9E + this->mUnk_5C.mParams[0];
|
||||
this->mUnk_A2 = this->mUnk_5C.mUnk_18.y;
|
||||
this->mUnk_A2 = this->mUnk_5C.mUnk_18[1];
|
||||
this->mUnk_9C = this->mUnk_9E;
|
||||
|
||||
if (this->func_ov000_02098a60(0)) {
|
||||
|
||||
@@ -69,11 +69,11 @@ void Actor_Derived1::vfunc_1C() {
|
||||
}
|
||||
|
||||
bool Actor_Derived1::func_ov000_020a8db0() {
|
||||
return data_027e0cd8->func_ov000_02081e30(this->mUnk_5C.mUnk_1A, this->mUnk_5C.mUnk_18.x);
|
||||
return data_027e0cd8->func_ov000_02081e30(this->mUnk_5C.mUnk_1A[0], this->mUnk_5C.mUnk_18[0]);
|
||||
}
|
||||
|
||||
bool Actor_Derived1::func_ov000_020a8dd0() {
|
||||
return data_027e0cd8->func_ov000_02081e30(this->mUnk_5C.mUnk_1C_0, this->mUnk_5C.mUnk_18.y);
|
||||
return data_027e0cd8->func_ov000_02081e30(this->mUnk_5C.mUnk_1A[1], this->mUnk_5C.mUnk_18[1]);
|
||||
}
|
||||
|
||||
// non-matching
|
||||
|
||||
@@ -826,7 +826,7 @@ CutsceneParamsEntry *Cutscene_GetParamEntry(s32 csIndex) {
|
||||
return (CutsceneParamsEntry *) &gCSParamsEntries[csIndex];
|
||||
}
|
||||
|
||||
s32 func_ov000_020a7840(unk32 param1) {}
|
||||
s32 func_ov000_020a7840(unk32 param1, unk32 param2) {}
|
||||
|
||||
bool Cutscene_IsAdventureFlagSet(s32 csIndex) {
|
||||
CutsceneParamsEntry *pEntry = Cutscene_GetParamEntry(csIndex);
|
||||
|
||||
@@ -21,7 +21,7 @@ MapObject::MapObject() {
|
||||
this->mUnk_10 = NULL;
|
||||
this->mUnk_16 = -1;
|
||||
this->mFlags[0] = 0;
|
||||
this->mUnk_20.func_ov000_0209c7c8();
|
||||
this->mUnk_20.Init();
|
||||
*(u32 *) &this->mUnk_38 = 0;
|
||||
|
||||
UnkStruct_ov000_020b5d34 *ptr1 = &data_ov000_020b5d34;
|
||||
@@ -54,7 +54,7 @@ bool MapObject::vfunc_00() {
|
||||
|
||||
void MapObject::vfunc_04() {}
|
||||
|
||||
void MapObject::func_ov000_0209d0bc(Vec2b *param1, MapObject *thisx) {
|
||||
void MapObject::func_ov000_0209d0bc(Vec2bCpp *param1, MapObject *thisx) {
|
||||
VecFx32 pos;
|
||||
Vec2p out;
|
||||
|
||||
@@ -71,13 +71,13 @@ void MapObject::func_ov000_0209d0bc(Vec2b *param1, MapObject *thisx) {
|
||||
|
||||
bool MapObject::func_ov000_0209d114() {
|
||||
bool result[2];
|
||||
MapObject::func_ov000_0209d0bc((Vec2b *) &result, this);
|
||||
MapObject::func_ov000_0209d0bc((Vec2bCpp *) &result, this);
|
||||
return result[0];
|
||||
}
|
||||
|
||||
bool MapObject::func_ov000_0209d12c() {
|
||||
bool result[2];
|
||||
MapObject::func_ov000_0209d0bc((Vec2b *) &result, this);
|
||||
MapObject::func_ov000_0209d0bc((Vec2bCpp *) &result, this);
|
||||
return result[1];
|
||||
}
|
||||
|
||||
@@ -145,9 +145,9 @@ void MapObject::func_ov000_0209d2c4(unk32 param1, bool param2) {
|
||||
data_027e0cd8->func_ov000_02081d7c(this->mUnk_20.mUnk_0A[param1], this->mUnk_20.mUnk_08[param1], param2);
|
||||
}
|
||||
|
||||
void MapObject::func_ov000_0209d2f0(unk32 param1, unk32 param2, Vec2b *param3) {
|
||||
void MapObject::func_ov000_0209d2f0(unk32 param1, unk32 param2, Vec2bCpp *param3) {
|
||||
UnkStruct_027e0cd8_0C_Base *temp_r5 = data_027e0cd8->mUnk_0C;
|
||||
Vec2b sp0(0, 0);
|
||||
Vec2bCpp sp0(0, 0);
|
||||
|
||||
sp0.x = this->mUnk_3A.x;
|
||||
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
#include "MapObject/MapObjectManager.hpp"
|
||||
#include "Unknown/UnkStruct_027e0cd8.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b5d34.hpp"
|
||||
|
||||
MapObject *MapObjectManager::AllocateMapObject(MapObjectId mapObjId, Vec2b param2, u16 param3, unk32 param4, u8 param5) {
|
||||
s16 *pUnkPos = &this->mUnk_0C[param2.y][param2.x];
|
||||
|
||||
if (*pUnkPos >= 0) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
MapObject **ppTable = this->mMapObjTable;
|
||||
|
||||
while (ppTable != this->mMapObjTableEnd && *ppTable != NULL ? true : false) {
|
||||
ppTable++;
|
||||
}
|
||||
|
||||
if (ppTable != this->mMapObjTableEnd) {
|
||||
VecFx32 sp14;
|
||||
|
||||
UnkStruct_MapObjCreateData spawnData;
|
||||
spawnData.raw_pos = 0;
|
||||
spawnData.unk_00 = 0x1000;
|
||||
spawnData.pos.x = param2.x;
|
||||
spawnData.pos.y = param2.y;
|
||||
|
||||
data_027e0cd8->mUnk_0C->func_ov000_020808f4(&sp14, (void *) ¶m2, param5);
|
||||
|
||||
UnkStruct_ov000_020b5d34_00 args;
|
||||
args.mUnk_00 = (unk32 *) &spawnData;
|
||||
args.mUnk_04 = (MapObject_20 *) param4;
|
||||
args.mUnk_08 = &sp14;
|
||||
args.mUnk_0C = (s16 *) ¶m3;
|
||||
|
||||
data_ov000_020b5d34.mUnk_00 = &args;
|
||||
MapObject *pMapObj = data_ov000_020b5d34.CreateMapObject(mapObjId);
|
||||
*ppTable = pMapObj;
|
||||
|
||||
if (pMapObj->vfunc_00()) {
|
||||
// init was successful, proceed and return the pointer
|
||||
|
||||
// this seems to set map object table index in an array that uses tile pos to figure out which map obj it is
|
||||
*pUnkPos = ppTable - this->mMapObjTable;
|
||||
|
||||
MapObject **ppNext = ppTable + 1;
|
||||
if (ppNext <= this->mUnk_08) {
|
||||
ppNext = this->mUnk_08;
|
||||
}
|
||||
|
||||
this->mUnk_08 = ppNext;
|
||||
return pMapObj;
|
||||
} else {
|
||||
// init failed, destroy the new map object and return NULL
|
||||
delete pMapObj;
|
||||
*ppTable = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
@@ -35,12 +35,12 @@ MapObjectMiniBlocks::MapObjectMiniBlocks() {
|
||||
|
||||
bool MapObjectMiniBlocks::vfunc_00(void) {
|
||||
GET_PROFILE(MapObjectProfileMiniBlocks)
|
||||
->func_ov000_0209ccd8(this->mUnk_20.mUnk_00[1], data_ov000_020af574[this->mUnk_20.mUnk_00[1]]);
|
||||
->func_ov000_0209ccd8(this->mUnk_20.mParams[1], data_ov000_020af574[this->mUnk_20.mParams[1]]);
|
||||
UnkStruct_027e0cd8_0C_Base *pUnkStruct_027e0cd8_0C = data_027e0cd8->mUnk_0C;
|
||||
u8 uVar6;
|
||||
|
||||
if (this->mUnk_20.mUnk_00[1] != MiniBlocksVariant_BLKF) {
|
||||
Vec2b vec(this->mUnk_3A.x, this->mUnk_3A.y);
|
||||
if (this->mUnk_20.mParams[1] != MiniBlocksVariant_BLKF) {
|
||||
Vec2bCpp vec(this->mUnk_3A.x, this->mUnk_3A.y);
|
||||
this->mPos.y = pUnkStruct_027e0cd8_0C->func_01ffedf4(&vec);
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ bool MapObjectMiniBlocks::vfunc_00(void) {
|
||||
vec.z = FLOAT_TO_FX32(0.0f);
|
||||
uVar6 = 0;
|
||||
|
||||
switch (this->mUnk_20.mUnk_00[0]) {
|
||||
switch (this->mUnk_20.mParams[0]) {
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
@@ -64,7 +64,7 @@ bool MapObjectMiniBlocks::vfunc_00(void) {
|
||||
uVar6 = 2;
|
||||
break;
|
||||
default:
|
||||
if (this->mUnk_20.mUnk_00[1] == MiniBlocksVariant_BLKF) {
|
||||
if (this->mUnk_20.mParams[1] == MiniBlocksVariant_BLKF) {
|
||||
vec.x = FLOAT_TO_FX32(0.0f);
|
||||
vec.y = FLOAT_TO_FX32(0.0f);
|
||||
vec.z = -FLOAT_TO_FX32(0.375f);
|
||||
@@ -76,12 +76,12 @@ bool MapObjectMiniBlocks::vfunc_00(void) {
|
||||
break;
|
||||
}
|
||||
|
||||
BMDSectionModel *pSectionModel = GET_PROFILE(MapObjectProfileMiniBlocks)->vfunc_1C(this->mUnk_20.mUnk_00[1])->mUnk_50;
|
||||
BMDSectionModel *pSectionModel = GET_PROFILE(MapObjectProfileMiniBlocks)->vfunc_1C(this->mUnk_20.mParams[1])->mUnk_50;
|
||||
this->mUnk_40.vfunc_08(G3d_GetModelVariantPtr(pSectionModel, uVar6));
|
||||
|
||||
unk32 var_r0_2;
|
||||
unk32 var_r0;
|
||||
switch (this->mUnk_20.mUnk_00[0]) {
|
||||
switch (this->mUnk_20.mParams[0]) {
|
||||
case 1:
|
||||
case 6:
|
||||
case 8:
|
||||
|
||||
@@ -18,10 +18,10 @@ void MapObject_20::func_ov000_0209c7ac(MapObjectId mapObjId) {
|
||||
data_ov000_020b5d3c[UnkStruct_ov000_020b5d34::func_ov000_0209c718(mapObjId)] = NULL;
|
||||
}
|
||||
|
||||
void MapObject_20::func_ov000_0209c7c8() {
|
||||
void MapObject_20::Init() {
|
||||
this->mUnk_16 = 0;
|
||||
this->mUnk_10 = 0;
|
||||
MI_CpuFill32(0, this->mUnk_00, sizeof(this->mUnk_00));
|
||||
MI_CpuFill32(0, this->mParams, sizeof(this->mParams));
|
||||
MI_CpuFill16(0, this->mUnk_08, sizeof(this->mUnk_08));
|
||||
MI_CpuFill16(0, this->mUnk_0A, sizeof(this->mUnk_0A));
|
||||
this->mUnk_14 = -1;
|
||||
|
||||
@@ -99,7 +99,7 @@ MapObjectSwitchStep::MapObjectSwitchStep() :
|
||||
}
|
||||
|
||||
MapObjectSwitchStep::~MapObjectSwitchStep() {
|
||||
if (this->mUnk_20.mUnk_00[0] == 2) {
|
||||
if (this->mUnk_20.mParams[0] == 2) {
|
||||
this->func_ov000_0209e11c(0, 1);
|
||||
this->func_ov000_0209d2c4(0, false);
|
||||
}
|
||||
@@ -118,7 +118,7 @@ bool MapObjectSwitchStep::vfunc_00(void) {
|
||||
this->func_ov000_0209e11c(0, 1);
|
||||
}
|
||||
|
||||
if (data_027e09a4->mUnk_00.mSceneIndex >= SceneIndex_battle01 && data_027e09a4->mUnk_00.mSceneIndex < SceneIndex_Max) {
|
||||
if (data_027e09a4->mUnk_00.sceneIndex >= SceneIndex_battle01 && data_027e09a4->mUnk_00.sceneIndex < SceneIndex_Max) {
|
||||
MapObjectSwitchStep_data_020b6118.func_ov000_0205fc20(0x78, 0x0C, NULL, NULL);
|
||||
SET_FLAG(this->mFlags, MapObjFlag_5);
|
||||
}
|
||||
@@ -160,8 +160,8 @@ void MapObjectSwitchStep::func_ov000_0209e11c(unk32 param1, unk32 param2) {
|
||||
this->mUnk_EA = 1;
|
||||
}
|
||||
|
||||
if (this->mUnk_20.mUnk_00[0] == 2) {
|
||||
this->mUnk_E6 = this->mUnk_20.mUnk_00[1];
|
||||
if (this->mUnk_20.mParams[0] == 2) {
|
||||
this->mUnk_E6 = this->mUnk_20.mParams[1];
|
||||
this->mUnk_E4 = 0;
|
||||
}
|
||||
|
||||
@@ -203,7 +203,7 @@ void MapObjectSwitchStep::vfunc_18(s8 *param1, s8 param2) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (data_027e09a4->mUnk_00.mSceneIndex >= SceneIndex_battle01 && data_027e09a4->mUnk_00.mSceneIndex < SceneIndex_Max) {
|
||||
if (data_027e09a4->mUnk_00.sceneIndex >= SceneIndex_battle01 && data_027e09a4->mUnk_00.sceneIndex < SceneIndex_Max) {
|
||||
Vec2s sp10;
|
||||
stack_struct sp8;
|
||||
u32 sp4;
|
||||
|
||||
@@ -27,9 +27,9 @@ struct UnkStruct_ov000_020ab1ac {
|
||||
};
|
||||
extern UnkStruct_ov000_020ab1ac data_ov000_020ab1ac[30];
|
||||
|
||||
const u32 data_ov001_020c2638[] = {ActorId_FOMC, ActorId_FOMA, ActorId_FOMB, ActorId_FOPD, ActorId_FOMR};
|
||||
const u16 data_ov001_020c2624[] = {0x01AE, 0x01AF, 0x01B0, 0x01B1, 0x01B2};
|
||||
const u16 data_ov001_020c262e[] = {0x01CB, 0x01CC, 0x01CD, 0x01CE, 0x01CF};
|
||||
const ActorId data_ov001_020c2638[] = {ActorId_FOMC, ActorId_FOMA, ActorId_FOMB, ActorId_FOPD, ActorId_FOMR};
|
||||
const u16 data_ov001_020c2624[] = {0x01AE, 0x01AF, 0x01B0, 0x01B1, 0x01B2};
|
||||
const u16 data_ov001_020c262e[] = {0x01CB, 0x01CC, 0x01CD, 0x01CE, 0x01CF};
|
||||
|
||||
THUMB_BEGIN
|
||||
|
||||
@@ -95,7 +95,7 @@ void ActorManager::func_ov001_020bb018(ZOBHeader *pHeader) {
|
||||
int aligned0A = ALIGN_NEXT(unk_0A, 8);
|
||||
int aligned08 = ALIGN_NEXT(unk_08, 8);
|
||||
|
||||
int iVar5 = data_027e09a0->func_ov000_020702a8(data_027e09a4->mUnk_00.mSceneIndex)->mUnk_20;
|
||||
int iVar5 = data_027e09a0->func_ov000_020702a8(data_027e09a4->CurrentSceneIndex())->mUnk_20;
|
||||
|
||||
s32 allocCount;
|
||||
if (data_027e09a4->mUnk_60 == 0) {
|
||||
@@ -121,7 +121,7 @@ void ActorManager::func_ov001_020bb018(ZOBHeader *pHeader) {
|
||||
unk32 iVar5;
|
||||
|
||||
if (data_027e09a4->IsLand() != 0) {
|
||||
iVar5 = data_027e09a4->mUnk_00.mSceneIndex;
|
||||
iVar5 = data_027e09a4->CurrentSceneIndex();
|
||||
|
||||
if (iVar5 == SceneIndex_f_rabbit) {
|
||||
this->mUnk_34 = 0xFFFFECCD; // ~0x1332
|
||||
@@ -196,7 +196,7 @@ void ActorManager::func_ov001_020bb018(ZOBHeader *pHeader) {
|
||||
}
|
||||
}
|
||||
|
||||
if (data_027e09a4->UnkCheck(data_027e09a4->mUnk_00.mSceneIndex)) {
|
||||
if (data_027e09a4->UnkCheck(data_027e09a4->CurrentSceneIndex())) {
|
||||
func_ov071_0215e8d4();
|
||||
}
|
||||
|
||||
@@ -209,7 +209,7 @@ void ActorManager::func_ov001_020bb018(ZOBHeader *pHeader) {
|
||||
void ActorManager::func_ov001_020bb414() {
|
||||
func_ov001_020ba59c(&data_0204999c);
|
||||
|
||||
if (data_027e09a4->UnkCheck(data_027e09a4->mUnk_00.mSceneIndex)) {
|
||||
if (data_027e09a4->UnkCheck(data_027e09a4->CurrentSceneIndex())) {
|
||||
this->func_ov001_020bb844();
|
||||
}
|
||||
|
||||
@@ -241,7 +241,7 @@ void ActorManager::func_ov001_020bb488() {
|
||||
data_027e0cf4->func_ov021_020f8cdc();
|
||||
}
|
||||
|
||||
if (data_027e09a4->UnkCheck(data_027e09a4->mUnk_00.mSceneIndex)) {
|
||||
if (data_027e09a4->UnkCheck(data_027e09a4->CurrentSceneIndex())) {
|
||||
data_027e0d70->func_ov071_0215e8f8();
|
||||
}
|
||||
}
|
||||
@@ -261,7 +261,7 @@ void ActorManager::func_ov001_020bb548() {
|
||||
i++;
|
||||
}
|
||||
|
||||
unk32 value = data_027e09a4->mUnk_00.mSceneIndex;
|
||||
unk32 value = data_027e09a4->CurrentSceneIndex();
|
||||
if (data_027e09a4->UnkCheck(value)) {
|
||||
data_027e0d70->func_ov071_0215e9ac();
|
||||
|
||||
@@ -307,7 +307,7 @@ void ActorManager::func_ov001_020bb630() {
|
||||
}
|
||||
}
|
||||
|
||||
void ActorManager::func_ov001_020bb6b0(UnkStruct_SceneChange1 *param1) {
|
||||
void ActorManager::func_ov001_020bb6b0(EntranceInfo *param1) {
|
||||
ActorProfile **piVar1 = data_ov000_020b539c_eur.func_ov000_02073dc();
|
||||
ActorProfile **piVar2 = data_ov000_020b539c_eur.func_ov000_02073e8();
|
||||
|
||||
@@ -318,8 +318,8 @@ void ActorManager::func_ov001_020bb6b0(UnkStruct_SceneChange1 *param1) {
|
||||
for (int i = 0; i < ARRAY_LEN(data_ov000_020ab1ac); i++) {
|
||||
UnkStruct_ov000_020ab1ac *pEntry = &data_ov000_020ab1ac[i];
|
||||
|
||||
if (pEntry->mUnk_00 == iVar5->mActorId && pEntry->mUnk_04 == param1->mSceneIndex &&
|
||||
pEntry->mUnk_08 == param1->mRoomIndex) {
|
||||
if (pEntry->mUnk_00 == iVar5->mActorId && pEntry->mUnk_04 == param1->sceneIndex &&
|
||||
pEntry->mUnk_08 == param1->roomIndex) {
|
||||
(*piVar1)->mUnk_39 = 1;
|
||||
(*piVar1)->vfunc_08();
|
||||
}
|
||||
@@ -331,10 +331,10 @@ void ActorManager::func_ov001_020bb6b0(UnkStruct_SceneChange1 *param1) {
|
||||
}
|
||||
}
|
||||
|
||||
bool ActorManager::func_ov001_020bb728(s32 param1) {
|
||||
UnkStruct_SceneChange1 *piVar1 = data_027e09a4->func_ov000_02070560();
|
||||
bool ActorManager::func_ov001_020bb728(ActorId actorId) {
|
||||
EntranceInfo *piVar1 = data_027e09a4->func_ov000_02070560();
|
||||
|
||||
if (piVar1->mSceneIndex != SceneIndex_f_water || piVar1->mRoomIndex != 0) {
|
||||
if (piVar1->sceneIndex != SceneIndex_f_water || piVar1->roomIndex != 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -342,7 +342,7 @@ bool ActorManager::func_ov001_020bb728(s32 param1) {
|
||||
int value;
|
||||
int value2;
|
||||
|
||||
if (param1 == data_ov001_020c2638[i]) {
|
||||
if (actorId == data_ov001_020c2638[i]) {
|
||||
value = data_ov001_020c2624[i] & 0x1F;
|
||||
value2 = data_027e09b8->mAdventureFlags[(u32) data_ov001_020c2624[i] >> 5];
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ void ItemManager::func_ov001_020bb9f8() {
|
||||
this->mTearsAmount = 0;
|
||||
}
|
||||
|
||||
CourseListEntry *pEntry = data_027e09a0->GetCourseEntry(data_027e09a4->mUnk_00.mSceneIndex);
|
||||
CourseListEntry *pEntry = data_027e09a0->GetCourseEntry(data_027e09a4->CurrentSceneIndex());
|
||||
|
||||
if (pEntry->saveCourseIndex < SaveCourseIndex_Max) {
|
||||
this->mKeyAmount = gSaveManager.mUnk_000->unk_030[pEntry->saveCourseIndex].keyAmount;
|
||||
|
||||
@@ -26,7 +26,7 @@ inline bool Test3(s32 val) {
|
||||
bool ret = true;
|
||||
|
||||
if (!Test2(val)) {
|
||||
if (*((volatile unk32 *) &data_027e09a4->mUnk_00.mSceneIndex) != 36) {
|
||||
if (*((volatile unk32 *) &data_027e09a4->mUnk_00.sceneIndex) != 36) {
|
||||
ret = false;
|
||||
}
|
||||
}
|
||||
@@ -36,11 +36,11 @@ inline bool Test3(s32 val) {
|
||||
|
||||
// https://decomp.me/scratch/svwnb
|
||||
bool PassengerManager::func_ov001_020bf870() {
|
||||
s32 sceneIndex = data_027e09a4->mUnk_00.mSceneIndex;
|
||||
s32 sceneIndex = data_027e09a4->mUnk_00.sceneIndex;
|
||||
bool ret = true;
|
||||
|
||||
if (!Test3(sceneIndex)) {
|
||||
if (*((volatile unk32 *) &data_027e09a4->mUnk_00.mSceneIndex) != 37) {
|
||||
if (*((volatile unk32 *) &data_027e09a4->mUnk_00.sceneIndex) != 37) {
|
||||
ret = false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,7 +69,9 @@ UnkStruct_027e09a4 *UnkStruct_027e09a4::Create(unk32 param1) {
|
||||
return new(HeapIndex_1) UnkStruct_027e09a4(param1);
|
||||
}
|
||||
|
||||
UnkStruct_027e09a4::UnkStruct_027e09a4(unk32 param1) {
|
||||
UnkStruct_027e09a4::UnkStruct_027e09a4(unk32 param1) :
|
||||
mUnk_00(false),
|
||||
mUnk_14(false) {
|
||||
this->mUnk_28 = 0;
|
||||
this->mUnk_54 = NULL;
|
||||
this->mpWarpUnk1 = NULL;
|
||||
@@ -108,7 +110,7 @@ UnkStruct_027e09a4::UnkStruct_027e09a4(unk32 param1) {
|
||||
|
||||
void UnkStruct_027e09a4::func_ov001_020b662c() {
|
||||
UnkStruct_WarpUnk1 *ptr = this->mpWarpUnk1;
|
||||
ptr->mUnk_78 = this->mUnk_00;
|
||||
ptr->mCurEntrance = this->mUnk_00;
|
||||
this->mUnk_14 = this->mUnk_00;
|
||||
this->func_ov001_020b6758(&this->mUnk_00, false);
|
||||
}
|
||||
@@ -144,7 +146,7 @@ void UnkStruct_027e09a4::func_ov001_020b66dc() {
|
||||
UnkStruct_027e09a0::Destroy();
|
||||
}
|
||||
|
||||
void UnkStruct_027e09a4::func_ov001_020b6758(const UnkStruct_SceneChange1 *param1, bool param2) {
|
||||
void UnkStruct_027e09a4::func_ov001_020b6758(const EntranceInfo *param1, bool param2) {
|
||||
OverlayIndex index;
|
||||
unk32 unk_10;
|
||||
|
||||
@@ -191,7 +193,7 @@ void UnkStruct_027e09a4::func_ov001_020b6758(const UnkStruct_SceneChange1 *param
|
||||
}
|
||||
|
||||
if (this->IsCutscene()) {
|
||||
data_027e09b8->func_ov001_020b76c0(param1->mCutsceneIndex);
|
||||
data_027e09b8->func_ov001_020b76c0(param1->csIndex);
|
||||
}
|
||||
|
||||
this->mUnk_54->func_ov001_020b6fa0(this->GetCurrentCourseEntry());
|
||||
@@ -223,16 +225,16 @@ void UnkStruct_027e09a4::func_ov001_020b68a4(bool param1, bool param2, bool para
|
||||
UnkStruct_027e095c::Destroy();
|
||||
}
|
||||
|
||||
void UnkStruct_027e09a4::func_ov001_020b6924(const UnkStruct_SceneChange1 *param1, bool param2) {
|
||||
void UnkStruct_027e09a4::func_ov001_020b6924(const EntranceInfo *param1, bool param2) {
|
||||
unk32 iVar5;
|
||||
unk32 iVar6;
|
||||
u8 cVar1;
|
||||
u8 cVar2;
|
||||
|
||||
iVar6 = this->GetCurrentCourseEntry()->unk_10;
|
||||
iVar5 = data_027e09a0->GetCourseEntry(param1->mSceneIndex)->unk_10;
|
||||
iVar5 = data_027e09a0->GetCourseEntry(param1->sceneIndex)->unk_10;
|
||||
cVar1 = data_027e09a0->GetCourseEntry(this->CurrentSceneIndex())->unk_1C;
|
||||
cVar2 = data_027e09a0->GetCourseEntry(param1->mSceneIndex)->unk_1C;
|
||||
cVar2 = data_027e09a0->GetCourseEntry(param1->sceneIndex)->unk_1C;
|
||||
|
||||
this->func_ov001_020b69b4(param1, param2);
|
||||
this->func_ov001_020b68a4(data_ov000_020b21c4[iVar5] != data_ov000_020b21c4[iVar6],
|
||||
@@ -240,7 +242,7 @@ void UnkStruct_027e09a4::func_ov001_020b6924(const UnkStruct_SceneChange1 *param
|
||||
this->func_ov001_020b6758(param1, param2);
|
||||
}
|
||||
|
||||
void UnkStruct_027e09a4::func_ov001_020b69b4(const UnkStruct_SceneChange1 *param1, bool param2) {
|
||||
void UnkStruct_027e09a4::func_ov001_020b69b4(const EntranceInfo *param1, bool param2) {
|
||||
VecFx32 vec1;
|
||||
VecFx32 vec2;
|
||||
unk32 local_34;
|
||||
@@ -253,7 +255,7 @@ void UnkStruct_027e09a4::func_ov001_020b69b4(const UnkStruct_SceneChange1 *param
|
||||
for (int i = 0; i < ARRAY_LEN(data_ov001_020c25d4); i++) {
|
||||
SceneIndex sceneIndex = data_ov001_020c25d4[i];
|
||||
|
||||
if (sceneIndex == param1->mSceneIndex) {
|
||||
if (sceneIndex == param1->sceneIndex) {
|
||||
bVar1 = true;
|
||||
index = i;
|
||||
}
|
||||
@@ -285,11 +287,11 @@ void UnkStruct_027e09a4::func_ov001_020b69b4(const UnkStruct_SceneChange1 *param
|
||||
this->mUnk_2C.mUnk_10 = this->func_ov000_02070538()->mUnk_12;
|
||||
} else {
|
||||
if (this->GetCurrentCourseEntry()->unk_10 == 4) {
|
||||
switch (param1->mSceneIndex) {
|
||||
switch (param1->sceneIndex) {
|
||||
case SceneIndex_d_water27:
|
||||
case SceneIndex_f_forest2:
|
||||
case SceneIndex_f_snow2:
|
||||
switch (param1->mSceneIndex) {
|
||||
switch (param1->sceneIndex) {
|
||||
case SceneIndex_d_water27:
|
||||
this->mUnk_2C.mSceneIndex = SceneIndex_t_area2;
|
||||
local_34 = 0x0D;
|
||||
@@ -414,8 +416,7 @@ DECL_INSTANCE_DTOR(UnkStruct_027e095c, data_027e095c);
|
||||
DECL_INSTANCE_DTOR(UnkStruct_027e0958, data_027e0958);
|
||||
DECL_INSTANCE_DTOR(UnkStruct_027e0954, data_027e0954);
|
||||
|
||||
UnkStruct_027e09a4_54_Base::UnkStruct_027e09a4_54_Base(unk32 *param1) :
|
||||
mUnk_1C((s32) 0) {
|
||||
UnkStruct_027e09a4_54_Base::UnkStruct_027e09a4_54_Base(unk32 *param1) {
|
||||
this->mUnk_04.Clear();
|
||||
this->mUnk_0C[0] = L'\0';
|
||||
this->mUnk_0C[7] = L'\0';
|
||||
@@ -448,8 +449,8 @@ void UnkStruct_027e09a4_54_Base::vfunc_0C() {
|
||||
}
|
||||
|
||||
void UnkStruct_027e09a4_54_Base::func_ov001_020b6fa0(CourseListEntry *pCourseEntry) {
|
||||
if (this->mUnk_1C.mIsCS == true) {
|
||||
data_0204a110.func_02018d78(Cutscene_GetParamEntry(this->mUnk_1C.mCutsceneIndex)->mUnk_14);
|
||||
if (this->mUnk_1C.isCS == true) {
|
||||
data_0204a110.func_02018d78(Cutscene_GetParamEntry(this->mUnk_1C.csIndex)->mUnk_14);
|
||||
} else {
|
||||
if (data_027e09a4->mUnk_60 == 0) {
|
||||
if (data_027e09a4->IsDarkRealm()) {
|
||||
@@ -489,7 +490,9 @@ UnkStruct_WarpUnk1_24::UnkStruct_WarpUnk1_24() {
|
||||
this->mUnk_2A = false;
|
||||
}
|
||||
|
||||
UnkStruct_WarpUnk1::UnkStruct_WarpUnk1() {
|
||||
UnkStruct_WarpUnk1::UnkStruct_WarpUnk1() :
|
||||
mCurEntrance(false),
|
||||
mNextEntrance(false) {
|
||||
this->mSpawnTransitionType = 0;
|
||||
this->mUnk_A0.mUnk_04.x = 0;
|
||||
this->mUnk_A0.mUnk_04.y = 0;
|
||||
@@ -525,8 +528,8 @@ bool UnkStruct_WarpUnk1::func_ov001_020b7144() {
|
||||
this->mUnk_A0.mUnk_12 = func_ov026_02106564(NULL);
|
||||
}
|
||||
|
||||
this->mUnk_A0.mSceneIndex = this->mUnk_78.mSceneIndex;
|
||||
this->mUnk_A0.mRoomIndex = this->mUnk_78.mRoomIndex;
|
||||
this->mUnk_A0.mSceneIndex = this->mCurEntrance.sceneIndex;
|
||||
this->mUnk_A0.mRoomIndex = this->mCurEntrance.roomIndex;
|
||||
|
||||
switch (this->mSpawnTransitionType) {
|
||||
case 0x04:
|
||||
@@ -540,8 +543,8 @@ bool UnkStruct_WarpUnk1::func_ov001_020b7144() {
|
||||
iVar9 = true;
|
||||
break;
|
||||
default:
|
||||
if (((this->mUnk_78.mSceneIndex != this->mUnk_8C.mSceneIndex) || (this->mUnk_8C.mIsCS == true) ||
|
||||
(this->mUnk_78.mIsCS == true))) {
|
||||
if (((this->mCurEntrance.sceneIndex != this->mNextEntrance.sceneIndex) || (this->mNextEntrance.isCS == true) ||
|
||||
(this->mCurEntrance.isCS == true))) {
|
||||
iVar9 = true;
|
||||
} else {
|
||||
iVar9 = false;
|
||||
@@ -550,18 +553,18 @@ bool UnkStruct_WarpUnk1::func_ov001_020b7144() {
|
||||
}
|
||||
|
||||
data_ov000_020b50c0.func_ov000_0206a014();
|
||||
this->mUnk_78 = this->mUnk_8C;
|
||||
this->mCurEntrance = this->mNextEntrance;
|
||||
|
||||
if (iVar9) {
|
||||
data_027e09a4->func_ov001_020b6924(&this->mUnk_8C, this->mSpawnTransitionType == 2);
|
||||
data_027e09a4->func_ov001_020b6924(&this->mNextEntrance, this->mSpawnTransitionType == 2);
|
||||
} else {
|
||||
data_027e0cd8->func_ov001_020b7c08(&this->mUnk_8C, &this->mUnk_A0);
|
||||
data_027e0cd8->func_ov001_020b7c08(&this->mNextEntrance, &this->mUnk_A0);
|
||||
}
|
||||
|
||||
uVar8 = 0;
|
||||
bVar2 = false;
|
||||
|
||||
data_027e0cd8->mUnk_0C->func_ov001_020b8a5c(this->mUnk_8C.mSpawnIndex, 0);
|
||||
data_027e0cd8->mUnk_0C->func_ov001_020b8a5c(this->mNextEntrance.spawnIndex, 0);
|
||||
|
||||
this->Detach();
|
||||
this->mUnk_0C = false;
|
||||
@@ -573,7 +576,7 @@ bool UnkStruct_WarpUnk1::func_ov001_020b7144() {
|
||||
LinkListImpl::Detach((LinkListNode *) ((u8 *) &this->mUnk_50 + 4));
|
||||
this->mUnk_50.mUnk_0C = false;
|
||||
|
||||
if (this->mUnk_8C.mIsCS == true) {
|
||||
if (this->mNextEntrance.isCS == true) {
|
||||
this->Detach();
|
||||
this->mUnk_0C = false;
|
||||
} else {
|
||||
|
||||
@@ -67,12 +67,12 @@ UnkStruct_027e0cd8::~UnkStruct_027e0cd8() {
|
||||
DELETE(this->mUnk_08);
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8::func_ov001_020b7830(const UnkStruct_SceneChange1 *param1) {
|
||||
void UnkStruct_027e0cd8::func_ov001_020b7830(const EntranceInfo *param1) {
|
||||
CourseListEntry *pEntry;
|
||||
UnkStruct_func_ov000_020702a8 *pUnk1;
|
||||
|
||||
pEntry = data_027e09a0->GetCourseEntry(param1->mSceneIndex);
|
||||
pUnk1 = data_027e09a0->func_ov000_020702a8(param1->mSceneIndex);
|
||||
pEntry = data_027e09a0->GetCourseEntry(param1->sceneIndex);
|
||||
pUnk1 = data_027e09a0->func_ov000_020702a8(param1->sceneIndex);
|
||||
|
||||
wchar_t sp80[16];
|
||||
sp80[0] = L'\0';
|
||||
@@ -83,7 +83,7 @@ void UnkStruct_027e0cd8::func_ov001_020b7830(const UnkStruct_SceneChange1 *param
|
||||
sp70.func_020154ec("MCS");
|
||||
|
||||
bool isCS = true;
|
||||
if (param1->mIsCS != true) {
|
||||
if (param1->isCS != true) {
|
||||
isCS = false;
|
||||
}
|
||||
|
||||
@@ -119,7 +119,7 @@ void UnkStruct_027e0cd8::func_ov001_020b7830(const UnkStruct_SceneChange1 *param
|
||||
}
|
||||
}
|
||||
|
||||
this->func_ov001_020b8120(param1->mSceneIndex);
|
||||
this->func_ov001_020b8120(param1->sceneIndex);
|
||||
|
||||
if (pEntry->unk_21 != -1) {
|
||||
wchar_t sp30[16];
|
||||
@@ -135,12 +135,12 @@ void UnkStruct_027e0cd8::func_ov001_020b7830(const UnkStruct_SceneChange1 *param
|
||||
this->func_ov001_020b7b38(pEntry, pUnk1);
|
||||
}
|
||||
|
||||
UnkStruct_SceneChange1 sceneChange(param1);
|
||||
if (sceneChange.mRoomIndex != 0xFF) {
|
||||
func_ov000_02081520(&sp4, this->mUnk_04, sceneChange.mRoomIndex);
|
||||
EntranceInfo sceneChange(param1);
|
||||
if (sceneChange.roomIndex != 0xFF) {
|
||||
func_ov000_02081520(&sp4, this->mUnk_04, sceneChange.roomIndex);
|
||||
func_ov000_020814ec(this->mUnk_04, &sp4);
|
||||
} else {
|
||||
sceneChange.mRoomIndex = this->mUnk_04->mUnk_40[this->mUnk_04->mUnk_10][this->mUnk_04->mUnk_11];
|
||||
sceneChange.roomIndex = this->mUnk_04->mUnk_40[this->mUnk_04->mUnk_10][this->mUnk_04->mUnk_11];
|
||||
}
|
||||
|
||||
this->func_ov001_020b7d64(&sceneChange);
|
||||
@@ -203,22 +203,22 @@ void UnkStruct_027e0cd8::func_ov001_020b7b38(const CourseListEntry *pEntry, cons
|
||||
}
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8::func_ov001_020b7c08(const UnkStruct_SceneChange1 *param1, const UnkStruct_WarpUnk1_A0 *param2) {
|
||||
UnkStruct_SceneChange1 sceneChange(param1);
|
||||
void UnkStruct_027e0cd8::func_ov001_020b7c08(const EntranceInfo *param1, const UnkStruct_WarpUnk1_A0 *param2) {
|
||||
EntranceInfo sceneChange(param1);
|
||||
Vec2s sp4;
|
||||
|
||||
if (this->mUnk_30 == param1->mSceneIndex && DSProt_DetectNotFlashcart(NULL) != 0) {
|
||||
if (this->mUnk_30 == param1->sceneIndex && DSProt_DetectNotFlashcart(NULL) != 0) {
|
||||
data_ov084_02164690 = &sceneChange;
|
||||
}
|
||||
|
||||
if (!this->func_ov000_02082124() &&
|
||||
(param1->mSceneIndex < SceneIndex_tekiya00 || param1->mSceneIndex > SceneIndex_tekiya09)) {
|
||||
(param1->sceneIndex < SceneIndex_tekiya00 || param1->sceneIndex > SceneIndex_tekiya09)) {
|
||||
#if IS_JP
|
||||
VecFx32_Copy(¶m2->mUnk_04, &this->mUnk_24);
|
||||
#endif
|
||||
|
||||
if (param1->mSceneIndex == SceneIndex_f_water) {
|
||||
switch (param1->mRoomIndex) {
|
||||
if (param1->sceneIndex == SceneIndex_f_water) {
|
||||
switch (param1->roomIndex) {
|
||||
case 1:
|
||||
this->mUnk_24.x = 0x16000;
|
||||
this->mUnk_24.z = 0xFFFF6000;
|
||||
@@ -240,7 +240,7 @@ void UnkStruct_027e0cd8::func_ov001_020b7c08(const UnkStruct_SceneChange1 *param
|
||||
}
|
||||
} else {
|
||||
#if IS_JP
|
||||
if (param1->mSceneIndex == SceneIndex_f_snow2 && param1->mRoomIndex == 2) {
|
||||
if (param1->sceneIndex == SceneIndex_f_snow2 && param1->roomIndex == 2) {
|
||||
this->mUnk_24.x = 0xFFFFF000;
|
||||
this->mUnk_24.z = 0xFFFF0000;
|
||||
}
|
||||
@@ -253,15 +253,15 @@ void UnkStruct_027e0cd8::func_ov001_020b7c08(const UnkStruct_SceneChange1 *param
|
||||
this->func_ov001_020b803c();
|
||||
this->func_ov001_020b7e50();
|
||||
|
||||
if (sceneChange.mRoomIndex != ROOM_INDEX_NONE) {
|
||||
if (this->mUnk_30 == sceneChange.mSceneIndex && DSProt_DetectNotEmulator(func_ov084_0216122c) == 0) {
|
||||
if (sceneChange.roomIndex != ROOM_INDEX_NONE) {
|
||||
if (this->mUnk_30 == sceneChange.sceneIndex && DSProt_DetectNotEmulator(func_ov084_0216122c) == 0) {
|
||||
func_ov084_021612ac();
|
||||
}
|
||||
|
||||
func_ov000_02081520(&sp4, this->mUnk_04, sceneChange.mRoomIndex);
|
||||
func_ov000_02081520(&sp4, this->mUnk_04, sceneChange.roomIndex);
|
||||
func_ov000_020814ec(this->mUnk_04, &sp4);
|
||||
} else {
|
||||
sceneChange.mRoomIndex = this->mUnk_04->mUnk_40[this->mUnk_04->mUnk_10][this->mUnk_04->mUnk_11];
|
||||
sceneChange.roomIndex = this->mUnk_04->mUnk_40[this->mUnk_04->mUnk_10][this->mUnk_04->mUnk_11];
|
||||
}
|
||||
|
||||
this->func_ov001_020b7d64(&sceneChange);
|
||||
@@ -276,7 +276,7 @@ void UnkStruct_027e0cd8::func_ov001_020b7c08(const UnkStruct_SceneChange1 *param
|
||||
}
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8::func_ov001_020b7d64(const UnkStruct_SceneChange1 *param1) {
|
||||
void UnkStruct_027e0cd8::func_ov001_020b7d64(const EntranceInfo *param1) {
|
||||
UnkStruct_027e0cd8_04_0C *iVar7;
|
||||
u32 temp_r1;
|
||||
u16 uVar5;
|
||||
@@ -286,7 +286,7 @@ void UnkStruct_027e0cd8::func_ov001_020b7d64(const UnkStruct_SceneChange1 *param
|
||||
|
||||
iVar7 = this->mUnk_04->mUnk_0C;
|
||||
|
||||
switch (data_027e09a0->GetCourseEntry(param1->mSceneIndex)->unk_10) {
|
||||
switch (data_027e09a0->GetCourseEntry(param1->sceneIndex)->unk_10) {
|
||||
case 0:
|
||||
case 1:
|
||||
case 3:
|
||||
@@ -331,9 +331,9 @@ void UnkStruct_027e0cd8::func_ov001_020b7e50() {
|
||||
DELETE(this->mUnk_0C);
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8::func_ov001_020b7e68(const UnkStruct_SceneChange1 *param1, bool param2) {
|
||||
void UnkStruct_027e0cd8::func_ov001_020b7e68(const EntranceInfo *param1, bool param2) {
|
||||
if (this->mUnk_10 != NULL) {
|
||||
this->mUnk_10->func_ov024_020d2520((UnkStruct_SceneChange1 *) param1);
|
||||
this->mUnk_10->func_ov024_020d2520((EntranceInfo *) param1);
|
||||
}
|
||||
|
||||
data_ov000_020b504c.func_ov001_020be92c(this->mUnk_04->mUnk_0C);
|
||||
@@ -352,7 +352,7 @@ void UnkStruct_027e0cd8::func_ov001_020b7e68(const UnkStruct_SceneChange1 *param
|
||||
data_ov024_020d8660->func_ov024_020c4ba0();
|
||||
}
|
||||
|
||||
unk32 unk_10 = data_027e09a0->GetCourseEntry(param1->mSceneIndex)->unk_10;
|
||||
unk32 unk_10 = data_027e09a0->GetCourseEntry(param1->sceneIndex)->unk_10;
|
||||
|
||||
if (data_027e09a4->mUnk_60 == 1) {
|
||||
for (int i = 0; i < 4; i++) {
|
||||
@@ -362,21 +362,21 @@ void UnkStruct_027e0cd8::func_ov001_020b7e68(const UnkStruct_SceneChange1 *param
|
||||
}
|
||||
} else if (unk_10 == 2 || unk_10 == 4) {
|
||||
UnkStruct_027e0ce0 *ptr = data_027e0ce0;
|
||||
const UnkStruct_ov001_020c40f4 *arg = this->mUnk_0C->func_ov001_020b8a5c(param1->mSpawnIndex, 0x00);
|
||||
const UnkStruct_ov001_020c40f4 *arg = this->mUnk_0C->func_ov001_020b8a5c(param1->spawnIndex, 0x00);
|
||||
ptr->func_ov001_020bc6e8(arg);
|
||||
} else {
|
||||
UnkStruct_027e0cd8_0C_Base *temp_pUnkC = this->mUnk_0C;
|
||||
u32 temp_unk118 = temp_pUnkC->mUnk_118;
|
||||
u8 temp_spawn = param1->mSpawnIndex;
|
||||
u8 temp_spawn = param1->spawnIndex;
|
||||
UnkStruct_027e0ce0 *ptr = data_027e0ce0;
|
||||
|
||||
const UnkStruct_ov001_020c40f4 *spC = temp_pUnkC->func_ov001_020b8a5c(param1->mSpawnIndex, 0);
|
||||
const UnkStruct_ov001_020c40f4 *spC = temp_pUnkC->func_ov001_020b8a5c(param1->spawnIndex, 0);
|
||||
|
||||
ptr->func_ov001_020bc6fc(spC, temp_pUnkC->func_ov001_020b8a5c(temp_spawn, 1), temp_pUnkC->mUnk_11C, temp_unk118);
|
||||
}
|
||||
|
||||
data_027e09bc->func_ov000_020771c8();
|
||||
unk32 iVar7 = data_027e09a0->GetCourseEntry(param1->mSceneIndex)->unk_10;
|
||||
unk32 iVar7 = data_027e09a0->GetCourseEntry(param1->sceneIndex)->unk_10;
|
||||
data_027e09c0->func_ov000_0207da40();
|
||||
this->mUnk_0C->vfunc_08();
|
||||
|
||||
@@ -390,7 +390,7 @@ void UnkStruct_027e0cd8::func_ov001_020b7e68(const UnkStruct_SceneChange1 *param
|
||||
if (data_027e09a4->mUnk_60 == 0) {
|
||||
SaveManager_00 *ptr = gSaveManager.mUnk_000;
|
||||
u16 auStack_18[2];
|
||||
data_027e09a0->func_ov000_02070310(param1->mSceneIndex, param1->mRoomIndex, &auStack_18);
|
||||
data_027e09a0->func_ov000_02070310(param1->sceneIndex, param1->roomIndex, &auStack_18);
|
||||
|
||||
if (auStack_18[1] < 0x100) {
|
||||
SET_FLAG(ptr->unk_004.unk_0C, auStack_18[1]);
|
||||
|
||||
@@ -67,7 +67,7 @@ UnkStruct_027e0cd8_0C_Base::UnkStruct_027e0cd8_0C_Base(UnkStruct_027e0cd8 *param
|
||||
mUnk_084_00(0),
|
||||
mUnk_084_01(0),
|
||||
mUnk_098(0),
|
||||
mUnk_09C(¶m1->mUnk_00),
|
||||
mUnk_09C((Vec2us *) ¶m1->mUnk_00),
|
||||
mUnk_0AC(false),
|
||||
mUnk_0AD(false),
|
||||
mUnk_0AE(false),
|
||||
@@ -89,9 +89,9 @@ UnkStruct_027e0cd8_0C_Base::UnkStruct_027e0cd8_0C_Base(UnkStruct_027e0cd8 *param
|
||||
mUnk_12C(false),
|
||||
mUnk_12D(false),
|
||||
mUnk_12E(false),
|
||||
mUnk_130(0),
|
||||
mUnk_134(0),
|
||||
mUnk_138(0) {
|
||||
mpROMB(NULL),
|
||||
mpCAME(NULL),
|
||||
mpCMPT(NULL) {
|
||||
Vec2s local_30;
|
||||
VecFx32 sp18;
|
||||
VecFx32 spC;
|
||||
@@ -123,7 +123,7 @@ UnkStruct_027e0cd8_0C_Base::UnkStruct_027e0cd8_0C_Base(UnkStruct_027e0cd8 *param
|
||||
|
||||
this->mUnk_13C.Init(data_ov001_020c40f4, 0x40);
|
||||
|
||||
Vec2s_Copy(&this->mUnk_09C, &local_30);
|
||||
Vec2s_Copy((Vec2s *) &this->mUnk_09C, &local_30);
|
||||
gpMapObjManager->func_ov001_020baea0(&local_30);
|
||||
data_027e095c->func_ov000_020592a0();
|
||||
}
|
||||
@@ -132,9 +132,9 @@ UnkStruct_027e0cd8_0C_Base::~UnkStruct_027e0cd8_0C_Base() {
|
||||
data_027e095c->func_ov000_020592ec();
|
||||
gpMapObjManager->func_ov001_020baf28();
|
||||
DELETE(this->mUnk_098);
|
||||
this->mUnk_130 = 0;
|
||||
this->mUnk_138 = 0;
|
||||
this->mUnk_134 = 0;
|
||||
this->mpROMB = NULL;
|
||||
this->mpCMPT = NULL;
|
||||
this->mpCAME = NULL;
|
||||
this->mUnk_154.clear();
|
||||
this->func_ov001_020b8aec();
|
||||
}
|
||||
@@ -143,36 +143,36 @@ void UnkStruct_027e0cd8_0C_Base::vfunc_38() {}
|
||||
|
||||
void UnkStruct_027e0cd8_0C_Base::vfunc_08() {}
|
||||
|
||||
void UnkStruct_027e0cd8_0C_Base::func_ov001_020b85d0(const UnkStruct_SceneChange1 *param1) {
|
||||
this->mIsCS = param1->mIsCS;
|
||||
void UnkStruct_027e0cd8_0C_Base::func_ov001_020b85d0(const EntranceInfo *param1) {
|
||||
this->mIsCS = param1->isCS;
|
||||
|
||||
wchar_t local_c8[2];
|
||||
local_c8[0] = L'\0';
|
||||
local_c8[sizeof(local_c8) / 2 - 1] = L'\0';
|
||||
snprintf((char *) local_c8, sizeof(local_c8), "M%02d", param1->mRoomIndex);
|
||||
snprintf((char *) local_c8, sizeof(local_c8), "M%02d", param1->roomIndex);
|
||||
this->mUnk_084[0] = local_c8[0];
|
||||
this->mUnk_084[1] = local_c8[1];
|
||||
|
||||
CourseListEntry *pEntry = data_027e09a0->GetCourseEntry(param1->mSceneIndex);
|
||||
CourseListEntry *pEntry = data_027e09a0->GetCourseEntry(param1->sceneIndex);
|
||||
|
||||
wchar_t local_34[16];
|
||||
local_34[0] = L'\0';
|
||||
local_34[sizeof(local_34) / 2 - 1] = L'\0';
|
||||
snprintf((char *) local_34, sizeof(local_34), "Map/%s/map%02d.bin", pEntry->name, param1->mRoomIndex);
|
||||
snprintf((char *) local_34, sizeof(local_34), "Map/%s/map%02d.bin", pEntry->name, param1->roomIndex);
|
||||
|
||||
this->mUnk_004.~UnkSystem3();
|
||||
this->mUnk_004.mUnk_00 = local_34;
|
||||
this->mUnk_004.func_0201541c((char *) local_c8, 0x10);
|
||||
this->LoadSceneModel(param1);
|
||||
|
||||
snprintf((char *) local_34, sizeof(local_34), "%s:zcb/%s_%02d.zcb", local_c8, pEntry->name, param1->mRoomIndex);
|
||||
snprintf((char *) local_34, sizeof(local_34), "%s:zcb/%s_%02d.zcb", local_c8, pEntry->name, param1->roomIndex);
|
||||
UnkFileSystem3 local_44((char *) local_34);
|
||||
data_027e09c0->func_ov001_020be3dc(&local_44, this);
|
||||
|
||||
wchar_t local_64[16];
|
||||
local_64[0] = L'\0';
|
||||
local_64[sizeof(local_64) / 2 - 1] = L'\0';
|
||||
snprintf((char *) local_64, sizeof(local_64), "%s:zmb/%s_%02d.zmb", local_c8, pEntry->name, param1->mRoomIndex);
|
||||
snprintf((char *) local_64, sizeof(local_64), "%s:zmb/%s_%02d.zmb", local_c8, pEntry->name, param1->roomIndex);
|
||||
UnkFileSystem3 local_74((char *) local_64);
|
||||
local_74.vfunc_08(0x10);
|
||||
|
||||
@@ -180,53 +180,53 @@ void UnkStruct_027e0cd8_0C_Base::func_ov001_020b85d0(const UnkStruct_SceneChange
|
||||
zmbFileInfos.pFile = local_74.mpFile;
|
||||
zmbFileInfos.size = local_74.mFileSize;
|
||||
zmbFileInfos.unk_08 = 0;
|
||||
zmbFileInfos.unk_0A = 0;
|
||||
zmbFileInfos.unk_0C = 0;
|
||||
zmbFileInfos.unk_10 = 0;
|
||||
zmbFileInfos.unk_14 = 0;
|
||||
zmbFileInfos.unk_0E = 0;
|
||||
ZMB_ParseFile(&zmbFileInfos, this, true);
|
||||
|
||||
gpMapObjManager->func_ov001_020bade0();
|
||||
gpActorManager->func_ov001_020bb630();
|
||||
|
||||
if (param1->mIsCS == false) {
|
||||
gpActorManager->func_ov001_020bb6b0((UnkStruct_SceneChange1 *) param1);
|
||||
if (param1->isCS == false) {
|
||||
gpActorManager->func_ov001_020bb6b0((EntranceInfo *) param1);
|
||||
}
|
||||
|
||||
data_027e095c->func_ov000_020592a0();
|
||||
|
||||
u32 isCs = this->mIsCS;
|
||||
snprintf((char *) local_34, sizeof(local_34), "%s:zob/motype_%02d_%1d.zob", local_c8, param1->mRoomIndex, isCs);
|
||||
snprintf((char *) local_34, sizeof(local_34), "%s:zob/motype_%02d_%1d.zob", local_c8, param1->roomIndex, isCs);
|
||||
UnkFileSystem3 local_94((char *) local_34);
|
||||
this->mUnk_0B4 = (ZeldaObjectList *) local_94.vfunc_08(sizeof(ZOBHeader));
|
||||
gpMapObjManager->func_ov001_020bae40(this->mUnk_0B4);
|
||||
for (int i = 0; i < ARRAY_LEN(this->mUnk_0B8); i++) {
|
||||
// i + 2 because 0 is the default one and 1 is the cutscene one
|
||||
snprintf((char *) local_34, sizeof(local_34), "%s:zob/motype_%02d_%1d.zob", local_c8, param1->mRoomIndex, i + 2);
|
||||
snprintf((char *) local_34, sizeof(local_34), "%s:zob/motype_%02d_%1d.zob", local_c8, param1->roomIndex, i + 2);
|
||||
UnkFileSystem3 local_a4((char *) local_34);
|
||||
this->mUnk_0B8[i] = (ZeldaObjectList *) local_a4.vfunc_08(sizeof(ZOBHeader));
|
||||
}
|
||||
|
||||
isCs = this->mIsCS;
|
||||
snprintf((char *) local_34, sizeof(local_34), "%s:zob/npctype_%02d_%1d.zob", local_c8, param1->mRoomIndex, isCs);
|
||||
snprintf((char *) local_34, sizeof(local_34), "%s:zob/npctype_%02d_%1d.zob", local_c8, param1->roomIndex, isCs);
|
||||
UnkFileSystem3 local_b4((char *) local_34);
|
||||
this->mUnk_0D8 = (ZeldaObjectList *) local_b4.vfunc_08(sizeof(ZOBHeader));
|
||||
gpActorManager->func_ov001_020bb7b0(this->mUnk_0D8);
|
||||
for (int i = 0; i < ARRAY_LEN(this->mUnk_0DC); i++) {
|
||||
// i + 2 because 0 is the default one and 1 is the cutscene one
|
||||
snprintf((char *) local_34, sizeof(local_34), "%s:zob/npctype_%02d_%1d.zob", local_c8, param1->mRoomIndex, i + 2);
|
||||
snprintf((char *) local_34, sizeof(local_34), "%s:zob/npctype_%02d_%1d.zob", local_c8, param1->roomIndex, i + 2);
|
||||
UnkFileSystem3 local_c4((char *) local_34);
|
||||
this->mUnk_0DC[i] = (ZeldaObjectList *) local_c4.vfunc_08(sizeof(ZOBHeader));
|
||||
}
|
||||
|
||||
data_027e09b0->func_ov000_02072cc4(0x0000, 0x7FFF);
|
||||
ZMB_ParseFile(&zmbFileInfos, this, false);
|
||||
this->vfunc_40(param1->mSpawnIndex);
|
||||
this->vfunc_40(param1->spawnIndex);
|
||||
|
||||
if (param1->mSceneIndex == SceneIndex_t_area1) {
|
||||
if (param1->sceneIndex == SceneIndex_t_area1) {
|
||||
if (GET_FLAG(data_027e09b8->mAdventureFlags, AdventureFlag_ObtainedSnowSource)) {
|
||||
this->mUnk_110 = 0x0A;
|
||||
}
|
||||
} else if (param1->mSceneIndex == SceneIndex_t_area3) {
|
||||
} else if (param1->sceneIndex == SceneIndex_t_area3) {
|
||||
if (GET_FLAG(data_027e09b8->mAdventureFlags, AdventureFlag_ObtainedFireSource)) {
|
||||
this->mUnk_110 = 0x10;
|
||||
this->mUnk_114 = 0x1F;
|
||||
@@ -236,8 +236,8 @@ void UnkStruct_027e0cd8_0C_Base::func_ov001_020b85d0(const UnkStruct_SceneChange
|
||||
this->func_ov001_020b8db8();
|
||||
this->func_ov001_020b8e24();
|
||||
|
||||
if (param1->mIsCS == true) {
|
||||
this->mUnk_114 = Cutscene_GetParamEntry(param1->mCutsceneIndex)->mUnk_0E;
|
||||
if (param1->isCS == true) {
|
||||
this->mUnk_114 = Cutscene_GetParamEntry(param1->csIndex)->mUnk_0E;
|
||||
}
|
||||
|
||||
data_027e09ac->func_ov000_020726f0(this->mUnk_114, 0x00, 0x00);
|
||||
@@ -263,20 +263,20 @@ void UnkStruct_027e0cd8_0C_Base::func_ov001_020b88ec() {
|
||||
}
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8_0C_Base::LoadSceneModel(const UnkStruct_SceneChange1 *param1) {
|
||||
const char *pName = data_027e09a0->GetCourseEntry(param1->mSceneIndex)->name;
|
||||
void UnkStruct_027e0cd8_0C_Base::LoadSceneModel(const EntranceInfo *param1) {
|
||||
const char *pName = data_027e09a0->GetCourseEntry(param1->sceneIndex)->name;
|
||||
|
||||
wchar_t local_40[20];
|
||||
local_40[0] = L'\0';
|
||||
local_40[sizeof(local_40) / 2 - 1] = L'\0';
|
||||
snprintf((char *) local_40, sizeof(local_40), "%s:nsbmd/%s_%02d.nsbmd", this->mUnk_084, pName, param1->mRoomIndex);
|
||||
snprintf((char *) local_40, sizeof(local_40), "%s:nsbmd/%s_%02d.nsbmd", this->mUnk_084, pName, param1->roomIndex);
|
||||
UnkFileSystem3 local_50((char *) local_40);
|
||||
|
||||
wchar_t local_78[20];
|
||||
local_78[0] = L'\0';
|
||||
local_78[sizeof(local_78) / 2 - 1] = L'\0';
|
||||
const char *path = "Map/%s/map%02d.nsbtx";
|
||||
snprintf((char *) local_78, sizeof(local_78), path, pName, param1->mRoomIndex);
|
||||
snprintf((char *) local_78, sizeof(local_78), path, pName, param1->roomIndex);
|
||||
|
||||
this->mUnk_070.vfunc_0C();
|
||||
this->mUnk_070.mUnk_04 = (char *) local_78;
|
||||
@@ -289,9 +289,9 @@ void UnkStruct_027e0cd8_0C_Base::LoadSceneModel(const UnkStruct_SceneChange1 *pa
|
||||
this->mSceneRender.vfunc_08(pModel);
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8_0C_Base::vfunc_1C(const UnkStruct_SceneChange1 *param1, bool param2, bool param3) {
|
||||
SceneIndex sceneIndex = param1->mSceneIndex;
|
||||
u8 roomIndex = param1->mRoomIndex;
|
||||
void UnkStruct_027e0cd8_0C_Base::vfunc_1C(const EntranceInfo *param1, bool param2, bool param3) {
|
||||
SceneIndex sceneIndex = param1->sceneIndex;
|
||||
u8 roomIndex = param1->roomIndex;
|
||||
|
||||
if (param2 != 0) {
|
||||
if (param3 == 0) {
|
||||
@@ -352,7 +352,7 @@ void UnkStruct_027e0cd8_0C_Base::func_ov001_020b8b94(ZMBEntryARAB *pARAB) {
|
||||
this->mUnk_148.push_back(ptr);
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8_0C_Base::func_ov001_020b8c30(const UnkStruct_027e0cd8_0C_Base_154_00 ¶m1) {
|
||||
void UnkStruct_027e0cd8_0C_Base::func_ov001_020b8c30(const EntranceInfo ¶m1) {
|
||||
this->mUnk_154.push_back(param1);
|
||||
}
|
||||
|
||||
@@ -360,16 +360,16 @@ void *UnkStruct_027e0cd8_0C_Base::func_ov001_020b8c80(unk32 param1) {
|
||||
return (void *) &data_ov001_020c2a40[param1 - 0x3C];
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8_0C_Base::func_ov001_020b8c90(unk32 param1) {
|
||||
this->mUnk_138 = param1;
|
||||
void UnkStruct_027e0cd8_0C_Base::func_ov001_020b8c90(ZMBSectionCMPT *pCMPT) {
|
||||
this->mpCMPT = pCMPT;
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8_0C_Base::func_ov001_020b8c98(unk32 param1) {
|
||||
this->mUnk_134 = param1;
|
||||
void UnkStruct_027e0cd8_0C_Base::func_ov001_020b8c98(ZMBSectionCAME *pCAME) {
|
||||
this->mpCAME = pCAME;
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8_0C_Base::vfunc_34(unk32 param1) {
|
||||
this->mUnk_130 = param1;
|
||||
void UnkStruct_027e0cd8_0C_Base::ZMB_ParseROMB(ZMBSectionROMB *pROMB) {
|
||||
this->mpROMB = pROMB;
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8_0C_Base::vfunc_40(u8 spawnIndex) {
|
||||
|
||||
@@ -0,0 +1,157 @@
|
||||
#include "Unknown/UnkStruct_027e0cd8.hpp"
|
||||
#include "files.h"
|
||||
|
||||
BOOL ZAB_ParseFile(FileInfos *pFileInfos, u32 sceneIndex, UnkStruct_027e0cd8_04 *pDst, const CourseListEntry *pEntry,
|
||||
const UnkStruct_func_ov000_020702a8 *pUnk1, BOOL param6) {
|
||||
int i;
|
||||
ZABHeader *pHeader = (ZABHeader *) pFileInfos->pFile;
|
||||
ZABSectionHeader *pSection = (ZABSectionHeader *) ((u8 *) pHeader + sizeof(ZABHeader));
|
||||
|
||||
for (i = 0; i < pHeader->nSections; i++) {
|
||||
switch (pSection->type) {
|
||||
case ZABSectionType_CABM:
|
||||
ZAB_ParseCAMB(pFileInfos, (ZABSectionCABM *) pSection, sceneIndex, pDst, pEntry, pUnk1, param6);
|
||||
break;
|
||||
case ZABSectionType_CABI:
|
||||
ZAB_ParseCABI(pFileInfos, (ZABSectionCABI *) pSection, param6);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
pSection = (ZABSectionHeader *) ((u8 *) pSection + pSection->nSize);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
BOOL ZAB_ParseCAMB(FileInfos *pFileInfos, ZABSectionCABM *pCABM, u32 sceneIndex, UnkStruct_027e0cd8_04 *pDst,
|
||||
const CourseListEntry *pEntry, const UnkStruct_func_ov000_020702a8 *pUnk1, BOOL param6) {
|
||||
u8 params[2];
|
||||
u8 uVar4[2];
|
||||
u8 unk_04[2];
|
||||
u8 unk_02[2];
|
||||
u8 unk_00[2];
|
||||
Vec2p sp44;
|
||||
s32 sp24;
|
||||
s32 sp20;
|
||||
u8 entry_unk_00;
|
||||
u8 entry_unk_01;
|
||||
u8 entry_unk_02;
|
||||
s8 entry_unk_03;
|
||||
u32 entry_unk_04;
|
||||
CourseListRoomEntry sp3A;
|
||||
CourseListRoomEntry local;
|
||||
int i;
|
||||
|
||||
if (!param6) {
|
||||
unk_04[0] = pCABM->header.unk_08;
|
||||
unk_04[1] = pCABM->header.unk_09;
|
||||
*(u16 *) &pDst->mUnk_12 = *(u16 *) &unk_04;
|
||||
|
||||
unk_02[0] = pCABM->header.unk_08;
|
||||
unk_02[1] = pCABM->header.unk_09;
|
||||
*(u16 *) &pDst->mUnk_10 = *(u16 *) &unk_02;
|
||||
|
||||
unk_00[0] = pCABM->header.unk_0A;
|
||||
unk_00[1] = pCABM->header.unk_0B;
|
||||
*(u16 *) &pDst->mUnk_14 = *(u16 *) &unk_00;
|
||||
|
||||
if (pCABM->header.unk_0C == 0) {
|
||||
params[0] = 1;
|
||||
} else {
|
||||
pDst->mUnk_01 = true;
|
||||
params[0] = pCABM->header.unk_0C;
|
||||
}
|
||||
|
||||
if (pCABM->header.unk_0D == 0) {
|
||||
params[1] = 1;
|
||||
} else {
|
||||
pDst->mUnk_01 = true;
|
||||
params[1] = pCABM->header.unk_0D;
|
||||
}
|
||||
|
||||
*(u16 *) &pDst->mUnk_16 = *(u16 *) params;
|
||||
|
||||
if (pDst->mUnk_01) {
|
||||
sp44.x = 0;
|
||||
sp44.y = 0;
|
||||
|
||||
*(u16 *) uVar4 = *(u16 *) &pDst->mUnk_16;
|
||||
|
||||
if (uVar4[0] > uVar4[1]) {
|
||||
sp44.y = (SUBSCREEN_HEIGHT / (uVar4[0] * 2)) * (uVar4[0] - uVar4[1]);
|
||||
} else if (uVar4[0] < uVar4[1]) {
|
||||
sp44.x = (SUBSCREEN_WIDTH / (uVar4[1] * 2)) * (uVar4[1] - ((u8 *) uVar4)[0]);
|
||||
}
|
||||
|
||||
pDst->mUnk_18 = sp44;
|
||||
}
|
||||
}
|
||||
|
||||
pDst->func_ov000_02081874(pCABM->header.nEntries);
|
||||
sp24 = 0x80000000;
|
||||
sp20 = 0x7FFFFFFF;
|
||||
|
||||
for (i = 0; i < pCABM->header.nEntries; i++) {
|
||||
entry_unk_00 = pCABM->entries[i].unk_00;
|
||||
entry_unk_01 = pCABM->entries[i].unk_01;
|
||||
entry_unk_02 = pCABM->entries[i].unk_02;
|
||||
entry_unk_03 = pCABM->entries[i].unk_03;
|
||||
entry_unk_04 = pCABM->entries[i].unk_04;
|
||||
|
||||
ZAB_GetRoomEntry(pFileInfos, entry_unk_00, pEntry, &sp3A);
|
||||
|
||||
*(u16 *) &local = *(u16 *) &sp3A;
|
||||
local.unk_02 = sp3A.unk_02;
|
||||
|
||||
if (local.unk_02 >= 0x100 && local.unk_02 != 0xFFFF) {
|
||||
local.unk_02 = 0xFFFF;
|
||||
}
|
||||
|
||||
if (local.mapPaintIndex >= 0x78 && local.mapPaintIndex != 0xFF) {
|
||||
local.mapPaintIndex = 0xFF;
|
||||
}
|
||||
|
||||
if (param6 == 0) {
|
||||
pDst->func_ov000_020818d0(&local, entry_unk_01, entry_unk_02, entry_unk_03, entry_unk_04);
|
||||
} else {
|
||||
pDst->func_ov000_0208199c(sceneIndex, &local, entry_unk_03);
|
||||
}
|
||||
|
||||
if (entry_unk_03 != 0) {
|
||||
if (entry_unk_03 < sp20) {
|
||||
sp20 = entry_unk_03;
|
||||
}
|
||||
|
||||
if (entry_unk_03 > sp24) {
|
||||
sp24 = entry_unk_03;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pDst->func_ov000_020819a4(pUnk1);
|
||||
|
||||
if (sp24 != 0x80000000) {
|
||||
pDst->mUnk_04 = sp24;
|
||||
pDst->mUnk_08 = sp20;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
BOOL ZAB_ParseCABI(FileInfos *pFileInfos, ZABSectionCABI *pCABI, BOOL param3) {
|
||||
return true;
|
||||
}
|
||||
|
||||
BOOL ZAB_GetRoomEntry(FileInfos *pFileInfos, u8 param2, const CourseListEntry *pEntry, CourseListRoomEntry *param4) {
|
||||
for (int i = 0; i < pEntry->numRooms; i++) {
|
||||
if (param2 == pEntry->roomEntries[i].roomIndex) {
|
||||
*param4 = pEntry->roomEntries[i];
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
param4->roomIndex = ROOM_INDEX_NONE;
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,676 @@
|
||||
#include "Actor/ActorManager.hpp"
|
||||
#include "MapObject/MapObjectManager.hpp"
|
||||
#include "Physics/AABB.hpp"
|
||||
#include "System/OverlayManager.hpp"
|
||||
#include "Unknown/UnkStruct_027e0960.hpp"
|
||||
#include "Unknown/UnkStruct_027e09a4.hpp"
|
||||
#include "Unknown/UnkStruct_027e09b8.hpp"
|
||||
#include "Unknown/UnkStruct_027e0cd8.hpp"
|
||||
#include "Unknown/UnkStruct_027e0ce0.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b5d34.hpp"
|
||||
#include "files.h"
|
||||
|
||||
extern AABB data_027e0c90;
|
||||
extern int data_ov089_02171540;
|
||||
|
||||
extern "C" fx32 func_ov000_02080068(fx32 x);
|
||||
extern "C" fx32 func_ov000_02080080(fx32 x);
|
||||
extern "C" void func_ov089_02165b18(void *);
|
||||
extern "C" fx32 func_ov000_020775d8(fx32);
|
||||
|
||||
extern "C" BOOL ZMB_020ba350(ZMBFileInfos *pFileInfos, u8 param2, UnkStruct_027e0cd8_0C_Base *pDst);
|
||||
extern "C" void ZMB_020ba388(CustomVector<EntranceInfo> *pVector, size_t param2);
|
||||
extern "C" void ZMB_020ba408(CustomVector<UnkStruct_027e0cd8_0C_Base_148_00_Base *> *pVector, size_t param2);
|
||||
|
||||
BOOL ZMB_ParseFile(ZMBFileInfos *pFileInfos, UnkStruct_027e0cd8_0C_Base *pDst, bool param3) {
|
||||
bool isVersion2;
|
||||
ZMBHeader *pHeader;
|
||||
ZMBSectionHeader *pSection;
|
||||
|
||||
pHeader = (ZMBHeader *) pFileInfos->pFile;
|
||||
|
||||
if (pHeader->type != FileType_ZMBv1 && pHeader->type == FileType_ZMBv2) {
|
||||
isVersion2 = true;
|
||||
} else {
|
||||
isVersion2 = false;
|
||||
}
|
||||
|
||||
pSection = (ZMBSectionHeader *) ((u8 *) pHeader + sizeof(ZMBHeader));
|
||||
|
||||
for (int i = 0; i < pHeader->nSections; i++, pSection = (ZMBSectionHeader *) ((u8 *) pSection + pSection->nSize)) {
|
||||
if (isVersion2 == true) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (param3) {
|
||||
switch (pSection->type) {
|
||||
case ZMBSectionType_ROMB:
|
||||
ZMB_ParseROMB(pFileInfos, (ZMBSectionROMB *) pSection, pDst);
|
||||
break;
|
||||
case ZMBSectionType_ROOM:
|
||||
ZMB_ParseROOM(pFileInfos, (ZMBSectionROOM *) pSection, pDst);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
switch (pSection->type) {
|
||||
case ZMBSectionType_LDLB:
|
||||
ZMB_ParseLDLB(pFileInfos, (ZMBSectionLDLB *) pSection, pDst);
|
||||
break;
|
||||
case ZMBSectionType_MapObjects:
|
||||
ZMB_ParseMapObjList(pFileInfos, (ZMBSectionMapObjectList *) pSection, pDst);
|
||||
break;
|
||||
case ZMBSectionType_ARAB:
|
||||
ZMB_ParseARAB(pFileInfos, (ZMBSectionARAB *) pSection, pDst);
|
||||
break;
|
||||
case ZMBSectionType_RALB:
|
||||
ZMB_ParseRALB(pFileInfos, (ZMBSectionRALB *) pSection, pDst);
|
||||
break;
|
||||
case ZMBSectionType_NPCA:
|
||||
ZMB_ParseActorList(pFileInfos, (ZMBSectionActorList *) pSection, pDst);
|
||||
break;
|
||||
case ZMBSectionType_PLYR:
|
||||
ZMB_ParsePLYR(pFileInfos, (ZMBSectionPLYR *) pSection, pDst);
|
||||
break;
|
||||
case ZMBSectionType_WARP:
|
||||
ZMB_ParseWARP(pFileInfos, (ZMBSectionWARP *) pSection, pDst);
|
||||
break;
|
||||
case ZMBSectionType_CAME:
|
||||
ZMB_ParseCAME(pFileInfos, (ZMBSectionCAME *) pSection, pDst);
|
||||
break;
|
||||
case ZMBSectionType_CMPT:
|
||||
ZMB_ParseCMPT(pFileInfos, (ZMBSectionCMPT *) pSection, pDst);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
BOOL ZMB_ParseROMB(ZMBFileInfos *pFileInfos, ZMBSectionROMB *pSection, UnkStruct_027e0cd8_0C_Base *pDst) {
|
||||
pDst->ZMB_ParseROMB(pSection);
|
||||
return true;
|
||||
}
|
||||
|
||||
BOOL ZMB_ParseLDLB(ZMBFileInfos *pFileInfos, ZMBSectionLDLB *pSection, UnkStruct_027e0cd8_0C_Base *pDst) {
|
||||
pDst->mUnk_104 = UnkFlags1_None;
|
||||
bool isCs = data_027e09a4->mUnk_00.isCS;
|
||||
|
||||
for (u16 i = 0; i < pSection->header.nEntries; i++) {
|
||||
ZMBEntryLBLB *pEntry = &pSection->entries[i];
|
||||
|
||||
if (!(pEntry->unk_01 != 0xFF && isCs != pEntry->unk_01) &&
|
||||
!(pEntry->unk_04 != 0 && !data_027e0cd8->func_ov000_02081e30(pEntry->unk_04, pEntry->unk_03))) {
|
||||
u8 unk_00 = pEntry->unk_00;
|
||||
|
||||
if (pEntry->unk_02 != 0) {
|
||||
SET_FLAG2(pDst->mUnk_104, unk_00);
|
||||
} else {
|
||||
UNSET_FLAG2(pDst->mUnk_104, unk_00);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (data_027e09a4->CurrentSceneIndex() - SceneIndex_t_area0 <= 1 && GET_FLAG2(pDst->mUnk_104, UnkFlags1_6)) {
|
||||
if (data_027e0cd8->func_ov001_020b80fc(data_027e09a4->CurrentSceneIndex())) {
|
||||
UNSET_FLAG2(pDst->mUnk_104, UnkFlags1_6);
|
||||
SET_FLAG2(pDst->mUnk_104, UnkFlags1_7);
|
||||
} else {
|
||||
SET_FLAG2(pDst->mUnk_104, UnkFlags1_6);
|
||||
UNSET_FLAG2(pDst->mUnk_104, UnkFlags1_7);
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < UnkFlags1_Max; i++) {
|
||||
if (GET_FLAG2(pDst->mUnk_104, i)) {
|
||||
pDst->func_ov001_020b88c0(i);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
BOOL ZMB_ParseARAB(ZMBFileInfos *pFileInfos, ZMBSectionARAB *pSection, UnkStruct_027e0cd8_0C_Base *pDst) {
|
||||
size_t capacity = pDst->mUnk_148.capacity();
|
||||
|
||||
if (pSection->header.nEntries > capacity) {
|
||||
ZMB_020ba408(&pDst->mUnk_148, pSection->header.nEntries);
|
||||
}
|
||||
|
||||
for (u16 i = 0; i < pSection->header.nEntries; i++) {
|
||||
pDst->func_ov001_020b8b94(&pSection->entries[i]);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
BOOL ZMB_ParseRALB(ZMBFileInfos *pFileInfos, ZMBSectionRALB *pSection, UnkStruct_027e0cd8_0C_Base *pDst) {
|
||||
u32 nEntries = pSection->header.nEntries;
|
||||
if (nEntries == 0) {
|
||||
return true;
|
||||
}
|
||||
|
||||
data_027e0960->func_ov000_0205a1fc(nEntries);
|
||||
|
||||
u8 *offset = (u8 *) pSection->entries;
|
||||
|
||||
for (u8 i = 0; i < nEntries; i++) {
|
||||
ZMBEntryRALB *pEntry = (ZMBEntryRALB *) offset;
|
||||
u8 numPoints = pEntry->numPoints;
|
||||
|
||||
data_027e0960->func_ov000_0205a288(i, pEntry);
|
||||
|
||||
offset += sizeof(ZMBEntryRALB);
|
||||
|
||||
for (u8 j = 0; j < numPoints; j++) {
|
||||
ZMBRALBPoint *pPoint = (ZMBRALBPoint *) offset;
|
||||
|
||||
pPoint->angle = UNK_FX_OPERATION_1(INT_TO_FX32(pPoint->angle));
|
||||
|
||||
if (data_027e09a4->CurrentSceneIndex() != SceneIndex_b_flame &&
|
||||
data_027e09a4->CurrentSceneIndex() != SceneIndex_tekiya08) {
|
||||
fx32 y = pPoint->pos.y;
|
||||
pPoint->pos.y = 0x7FFFEFFF;
|
||||
pPoint->pos.y = y + pDst->vfunc_28(&pPoint->pos, 0, 0);
|
||||
}
|
||||
|
||||
data_027e0960->func_ov000_0205a2a4(i, pPoint);
|
||||
offset += pPoint->unk_12;
|
||||
}
|
||||
}
|
||||
|
||||
data_027e0960->func_ov000_0205a2c8();
|
||||
data_027e0960->func_ov000_0205a1a4();
|
||||
return true;
|
||||
}
|
||||
|
||||
BOOL ZMB_ParseWARP(ZMBFileInfos *pFileInfos, ZMBSectionWARP *pSection, UnkStruct_027e0cd8_0C_Base *pDst) {
|
||||
if (pSection->header.nEntries + 8 > pDst->mUnk_154.cap()) {
|
||||
ZMB_020ba388(&pDst->mUnk_154, pSection->header.nEntries + 8);
|
||||
}
|
||||
|
||||
for (u16 i = 0; i < pSection->header.nEntries; i++) {
|
||||
ZMBEntryWARP *pEntry = &pSection->entries[i];
|
||||
|
||||
if (ZMB_020ba350(pFileInfos, pEntry->unk_16, pDst)) {
|
||||
pDst->func_ov001_020b8c30(EntranceInfo(pEntry));
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// https://decomp.me/scratch/DThHL
|
||||
BOOL ZMB_ParseMapObjList(ZMBFileInfos *pFileInfos, ZMBSectionMapObjectList *pSection, UnkStruct_027e0cd8_0C_Base *pDst) {
|
||||
for (u16 i = 0; i < pSection->header.nEntries; i++) {
|
||||
ZMBMapObjEntry *pEntry = &pSection->entries[i];
|
||||
|
||||
struct {
|
||||
u16 angle;
|
||||
Vec2b pos;
|
||||
} allocData;
|
||||
|
||||
allocData.pos.x = pEntry->pos.x;
|
||||
allocData.pos.y = pEntry->pos.y;
|
||||
|
||||
MapObject_20 local_30;
|
||||
local_30.Init();
|
||||
|
||||
for (int j = 0; j < ARRAY_LEN(pEntry->params); j++) {
|
||||
local_30.mParams[j] = pEntry->params[j];
|
||||
}
|
||||
|
||||
for (int j = 0; j < ARRAY_LEN(pEntry->unk_10); j++) {
|
||||
local_30.mUnk_08[j] = (pEntry->unk_10[j] >> 12) & 0xF;
|
||||
local_30.mUnk_0A[j] = (pEntry->unk_10[j] & 0xFFF);
|
||||
}
|
||||
|
||||
local_30.mUnk_10 = pEntry->unk_14;
|
||||
|
||||
if (pEntry->unk_19 == 0) {
|
||||
local_30.mUnk_16 = false;
|
||||
} else {
|
||||
local_30.mUnk_16 = true;
|
||||
}
|
||||
|
||||
local_30.mUnk_17 = pEntry->unk_18;
|
||||
|
||||
MapObjectProfile *pProfile = data_ov000_020b5d34.GetProfileFromId(pEntry->id);
|
||||
|
||||
if (pProfile == NULL) {
|
||||
continue;
|
||||
}
|
||||
|
||||
switch (pProfile->func_ov000_0209c8e4(&local_30)) {
|
||||
case 0:
|
||||
local_30.mUnk_14 = pFileInfos->unk_08;
|
||||
pFileInfos->unk_08++;
|
||||
break;
|
||||
case 1:
|
||||
local_30.mUnk_14 = pFileInfos->unk_0A;
|
||||
pFileInfos->unk_0A++;
|
||||
break;
|
||||
case 2:
|
||||
local_30.mUnk_14 = pFileInfos->unk_0C;
|
||||
pFileInfos->unk_0C++;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (ZMB_020ba350(pFileInfos, pEntry->unk_18, pDst)) {
|
||||
allocData.angle = UNK_FX_OPERATION_1(INT_TO_FX32(pEntry->angle));
|
||||
gpMapObjManager->AllocateMapObject(pEntry->id, allocData.pos, allocData.angle, (int) &local_30, 1);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
BOOL ZMB_ParseActorList(ZMBFileInfos *pFileInfos, ZMBSectionActorList *pSection, UnkStruct_027e0cd8_0C_Base *pDst) {
|
||||
s32 xMod16;
|
||||
s32 yMod16;
|
||||
Vec2us somePos;
|
||||
|
||||
somePos = pDst->mUnk_09C;
|
||||
|
||||
for (u16 i = 0; i < pSection->header.nEntries; i++) {
|
||||
ZMBActorEntry *pEntry = &pSection->entries[i];
|
||||
|
||||
s32 posX = (u8) (pEntry->pos.x / 16);
|
||||
s32 posY = (u8) (pEntry->pos.y / 16);
|
||||
|
||||
xMod16 = (u8) (pEntry->pos.x % 16);
|
||||
yMod16 = (u8) (pEntry->pos.y % 16);
|
||||
|
||||
if (posX < somePos.x && posY < somePos.y) {
|
||||
bool iVar6 = data_027e0cd8->func_ov000_02081edc(pFileInfos->unk_0E);
|
||||
|
||||
if (ZMB_020ba350(pFileInfos, pEntry->unk_1C, pDst)) {
|
||||
ActorProfile *pProfile = data_ov000_020b539c_eur.GetProfileFromId(pEntry->id);
|
||||
|
||||
if (pProfile == NULL) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!iVar6 || pProfile->mUnk_15) {
|
||||
VecFx32 local_24;
|
||||
local_24.x = func_ov000_02080068(posX);
|
||||
local_24.x += MUL_FX32(INT_TO_FX32(xMod16), 256);
|
||||
|
||||
local_24.z = func_ov000_02080080(posY);
|
||||
local_24.z += MUL_FX32(INT_TO_FX32(yMod16), 256);
|
||||
|
||||
local_24.y = 0x7FFFEFFF;
|
||||
local_24.y = pDst->vfunc_28(&local_24, 0x01, 0x00);
|
||||
|
||||
u8 bStack_40[2];
|
||||
bStack_40[0] = posX;
|
||||
bStack_40[1] = posY;
|
||||
unk32 value = pDst->func_ov000_02080180(bStack_40);
|
||||
|
||||
if (value == 0x14 || value == 0x47) {
|
||||
local_24.y = 0;
|
||||
}
|
||||
|
||||
local_24.y += UNK_FX_OPERATION_2(INT_TO_FX32(pEntry->unk_08));
|
||||
|
||||
ActorParams actorParams;
|
||||
actorParams.mUnk_28.Reset();
|
||||
actorParams.func_ov000_020975f8();
|
||||
actorParams.mInitialPos.x = local_24.x;
|
||||
actorParams.mInitialPos.y = local_24.y;
|
||||
actorParams.mInitialPos.z = local_24.z;
|
||||
|
||||
for (int j = 0; j < ARRAY_LEN(pEntry->params); j++) {
|
||||
actorParams.mParams[j] = pEntry->params[j];
|
||||
}
|
||||
|
||||
for (int j = 0; j < ARRAY_LEN(pEntry->unk_14); j++) {
|
||||
actorParams.mUnk_18[j] = (pEntry->unk_14[j] >> 12) & 0x0F;
|
||||
actorParams.mUnk_1A[j] = (pEntry->unk_14[j] & 0xFFF);
|
||||
}
|
||||
|
||||
actorParams.mUnk_0E = pEntry->unk_09;
|
||||
actorParams.mUnk_20 = pEntry->unk_18;
|
||||
|
||||
if (pEntry->unk_1D == 0) {
|
||||
actorParams.mUnk_0F = false;
|
||||
} else {
|
||||
actorParams.mUnk_0F = true;
|
||||
}
|
||||
|
||||
actorParams.mInitialAngle = UNK_FX_OPERATION_1(INT_TO_FX32(pEntry->angle));
|
||||
actorParams.mUnk_24 = pFileInfos->unk_0E;
|
||||
actorParams.mUnk_26_0 = pEntry->unk_1C;
|
||||
|
||||
if (!ActorManager::func_ov001_020bb728(pEntry->id)) {
|
||||
data_ov000_020b539c_eur.func_ov000_02097444(pEntry->id, &actorParams, 0x00);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pFileInfos->unk_0E++;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
BOOL ZMB_ParseROOM(ZMBFileInfos *pFileInfos, ZMBSectionROOM *pSection, UnkStruct_027e0cd8_0C_Base *pDst) {
|
||||
for (u16 i = 0; i < pSection->header.nEntries; i++) {
|
||||
ZMBEntryROOM *pEntry = &pSection->entries[i];
|
||||
|
||||
pDst->mUnk_108 = pEntry->unk_00;
|
||||
|
||||
if (pEntry->unk_01 == 0xFF) {
|
||||
pDst->mUnk_110 = 0xFF;
|
||||
} else {
|
||||
pDst->mUnk_110 = pEntry->unk_01;
|
||||
}
|
||||
|
||||
if (pEntry->unk_06 == 0xFF) {
|
||||
pDst->mUnk_10C = data_027e09a4->mUnk_54->mUnk_30;
|
||||
} else {
|
||||
pDst->mUnk_10C = pEntry->unk_06;
|
||||
}
|
||||
|
||||
u8 var_r1_3 = pEntry->unk_07;
|
||||
if (pEntry->unk_07 == 0xFF) {
|
||||
switch (data_027e09a4->GetCurrentCourseEntry()->unk_10) {
|
||||
case 0x00:
|
||||
var_r1_3 = 0x00;
|
||||
break;
|
||||
case 0x02:
|
||||
case 0x04:
|
||||
var_r1_3 = 0x02;
|
||||
break;
|
||||
case 0x05:
|
||||
var_r1_3 = 0x0F;
|
||||
break;
|
||||
default:
|
||||
var_r1_3 = 0x01;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
var_r1_3 = pEntry->unk_07;
|
||||
}
|
||||
|
||||
pDst->mUnk_114 = var_r1_3;
|
||||
|
||||
fx32 var_r7 = UNK_FX_OPERATION_2(INT_TO_FX32(pEntry->unk_02));
|
||||
|
||||
switch (pEntry->unk_03) {
|
||||
case 1:
|
||||
data_027e0cd8->mUnk_16 = true;
|
||||
break;
|
||||
case 2:
|
||||
data_027e0cd8->mUnk_16 = false;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
pDst->mUnk_0B0 = pEntry->unk_04;
|
||||
pDst->mUnk_0B2 = pEntry->unk_04;
|
||||
pDst->mUnk_0B1 = pEntry->unk_05;
|
||||
pDst->mUnk_0B3 = pEntry->unk_05;
|
||||
pDst->mUnk_0FC = pEntry->unk_08;
|
||||
pDst->mUnk_118 = pEntry->unk_0C;
|
||||
|
||||
switch (data_027e09a4->CurrentSceneIndex()) {
|
||||
case SceneIndex_b_deago:
|
||||
if (data_027e09b8->HasAdventureFlag(AdventureFlag_WatchedStavenPostBattleCS) &&
|
||||
!data_027e09b8->HasAdventureFlag(AdventureFlag_WatchedMalladusOnTOSSummitCS)) {
|
||||
pDst->mUnk_118 = 0x01;
|
||||
}
|
||||
break;
|
||||
case SceneIndex_d_main_s:
|
||||
if (data_027e09b8->HasAdventureFlag(AdventureFlag_WatchedStavenPostBattleCS) &&
|
||||
!data_027e09b8->HasAdventureFlag(AdventureFlag_WatchedMalladusOnTOSSummitCS)) {
|
||||
pDst->mUnk_118 = 0x01;
|
||||
}
|
||||
break;
|
||||
case SceneIndex_d_main:
|
||||
if (data_027e09a4->func_ov000_02070560()->roomIndex == 20 &&
|
||||
!data_027e09b8->HasAdventureFlag(AdventureFlag_WatchedStavenPostBattleCS)) {
|
||||
pDst->mUnk_118 = 0x01;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (pEntry->unk_0D == 0xFF) {
|
||||
UNSET_FLAG2(pDst->mUnk_128, UnkFlags2_1);
|
||||
} else {
|
||||
SET_FLAG2(pDst->mUnk_128, UnkFlags2_1);
|
||||
pDst->mUnk_0AF = pEntry->unk_0D_bool;
|
||||
}
|
||||
|
||||
if (pEntry->unk_10 & 0x001) {
|
||||
SET_FLAG2(pDst->mUnk_128, UnkFlags2_0);
|
||||
} else {
|
||||
UNSET_FLAG2(pDst->mUnk_128, UnkFlags2_0);
|
||||
}
|
||||
|
||||
if (pEntry->unk_10 & 0x002) {
|
||||
SET_FLAG2(pDst->mUnk_128, UnkFlags2_5);
|
||||
} else {
|
||||
UNSET_FLAG2(pDst->mUnk_128, UnkFlags2_5);
|
||||
}
|
||||
|
||||
if (pEntry->unk_10 & 0x004) {
|
||||
SET_FLAG2(pDst->mUnk_128, UnkFlags2_6);
|
||||
} else {
|
||||
UNSET_FLAG2(pDst->mUnk_128, UnkFlags2_6);
|
||||
}
|
||||
|
||||
if (pEntry->unk_10 & 0x008) {
|
||||
SET_FLAG2(pDst->mUnk_128, UnkFlags2_8);
|
||||
var_r7 += FLOAT_TO_FX32(1.2f);
|
||||
} else {
|
||||
UNSET_FLAG2(pDst->mUnk_128, UnkFlags2_8);
|
||||
}
|
||||
|
||||
if (pEntry->unk_10 & 0x010) {
|
||||
SET_FLAG2(pDst->mUnk_128, UnkFlags2_2);
|
||||
} else {
|
||||
UNSET_FLAG2(pDst->mUnk_128, UnkFlags2_2);
|
||||
}
|
||||
|
||||
if (pEntry->unk_10 & 0x020) {
|
||||
SET_FLAG2(pDst->mUnk_128, UnkFlags2_3);
|
||||
} else {
|
||||
UNSET_FLAG2(pDst->mUnk_128, UnkFlags2_3);
|
||||
}
|
||||
|
||||
if (pEntry->unk_10 & 0x040) {
|
||||
SET_FLAG2(pDst->mUnk_128, UnkFlags2_4);
|
||||
} else {
|
||||
UNSET_FLAG2(pDst->mUnk_128, UnkFlags2_4);
|
||||
}
|
||||
|
||||
if (pEntry->unk_10 & 0x080) {
|
||||
SET_FLAG2(pDst->mUnk_128, UnkFlags2_7);
|
||||
} else {
|
||||
UNSET_FLAG2(pDst->mUnk_128, UnkFlags2_7);
|
||||
}
|
||||
|
||||
if (pEntry->unk_10 & 0x100) {
|
||||
SET_FLAG2(pDst->mUnk_128, UnkFlags2_9);
|
||||
} else {
|
||||
UNSET_FLAG2(pDst->mUnk_128, UnkFlags2_9);
|
||||
}
|
||||
|
||||
if (pEntry->unk_10 & 0x200) {
|
||||
SET_FLAG2(pDst->mUnk_128, UnkFlags2_10);
|
||||
} else {
|
||||
UNSET_FLAG2(pDst->mUnk_128, UnkFlags2_10);
|
||||
}
|
||||
|
||||
pDst->mUnk_11C = pEntry->unk_0E + 1;
|
||||
|
||||
if (pEntry->unk_0F == 0) {
|
||||
UNSET_FLAG2(pDst->mUnk_128, UnkFlags2_11);
|
||||
} else {
|
||||
SET_FLAG2(pDst->mUnk_128, UnkFlags2_11);
|
||||
}
|
||||
|
||||
data_027e0c90.max.y = pDst->mUnk_0A4 + var_r7;
|
||||
}
|
||||
|
||||
if (data_027e09a4->IsLand() || data_027e09a4->GetCurrentCourseEntry()->unk_10 == 0x05) {
|
||||
if (GET_FLAG2(pDst->mUnk_128, UnkFlags2_4)) {
|
||||
data_02049ba0.Unload(OverlaySlot_12);
|
||||
} else if (GET_FLAG2(pDst->mUnk_128, UnkFlags2_2) || data_027e09a4->CurrentSceneIndex() == SceneIndex_b_flame ||
|
||||
data_027e09a4->CurrentSceneIndex() == SceneIndex_tekiya08 ||
|
||||
data_027e09a4->CurrentSceneIndex() == SceneIndex_battle03 ||
|
||||
data_027e09a4->CurrentSceneIndex() == SceneIndex_battle05 ||
|
||||
data_027e09a4->CurrentSceneIndex() == SceneIndex_battle09 ||
|
||||
data_027e09a4->CurrentSceneIndex() == SceneIndex_battle11) {
|
||||
data_02049ba0.LoadIfNotLoaded(OverlaySlot_12, OverlayIndex_MapLava);
|
||||
} else if (GET_FLAG2(pDst->mUnk_128, UnkFlags2_3)) {
|
||||
data_02049ba0.LoadIfNotLoaded(OverlaySlot_12, OverlayIndex_MapWater);
|
||||
} else {
|
||||
data_02049ba0.Unload(OverlaySlot_12);
|
||||
}
|
||||
}
|
||||
|
||||
data_027e0ce0->mUnk_1C->func_ov001_020bd0a4(GET_FLAG2(pDst->mUnk_128, UnkFlags2_11));
|
||||
|
||||
if (GET_FLAG2(pDst->mUnk_128, UnkFlags2_9) ? true : false) {
|
||||
data_02049ba0.Unload(OverlaySlot_10);
|
||||
data_02049ba0.LoadIfNotLoaded(OverlaySlot_9, OverlayIndex_ASR);
|
||||
func_ov089_02165b18(&data_ov089_02171540);
|
||||
} else if (gOverlayManager.IsASR()) {
|
||||
data_02049ba0.LoadIfNotLoaded(OverlaySlot_9, OverlayIndex_Land2);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
BOOL ZMB_ParsePLYR(ZMBFileInfos *pFileInfos, ZMBSectionPLYR *pSection, UnkStruct_027e0cd8_0C_Base *pDst) {
|
||||
for (u16 i = 0; i < pSection->header.nEntries; i++) {
|
||||
ZMBEntryPLYR *pEntry = &pSection->entries[i];
|
||||
|
||||
if (ZMB_020ba350(pFileInfos, pEntry->unk_11, pDst)) {
|
||||
s32 unk_00 = ROUND_FX32(pEntry->unk_00.x);
|
||||
s32 unk_08 = ROUND_FX32(pEntry->unk_00.z);
|
||||
|
||||
s32 tile_x = unk_00 / 16;
|
||||
s32 tile_z = unk_08 / 16;
|
||||
|
||||
s32 xMod16 = unk_00 % 16;
|
||||
s32 zMod16 = unk_08 % 16;
|
||||
|
||||
fx32 z = func_ov000_02080080(tile_z);
|
||||
z += MUL_FX32(INT_TO_FX32(zMod16), 256);
|
||||
|
||||
fx32 x = func_ov000_02080068(tile_x);
|
||||
x += MUL_FX32(INT_TO_FX32(xMod16), 256);
|
||||
|
||||
VecFx32 local_20;
|
||||
local_20.x = x;
|
||||
local_20.y = 0x7FFFEFFF;
|
||||
local_20.z = z;
|
||||
|
||||
fx16 unk_0C = (u16) UNK_FX_OPERATION_1(INT_TO_FX32(pEntry->unk_0C));
|
||||
u8 unk_0E = pEntry->unk_0E;
|
||||
u8 unk_12;
|
||||
u8 unk_0F = pEntry->unk_0F;
|
||||
u8 unk_10 = pEntry->unk_10;
|
||||
unk_12 = pEntry->unk_12;
|
||||
|
||||
if (unk_12 != 0) {
|
||||
local_20.y = pEntry->unk_00.y;
|
||||
}
|
||||
|
||||
UnkStruct_ov001_020c40f4 unkData(0); //! TODO: solve ctor oddities
|
||||
unkData.mUnk_00 = local_20;
|
||||
unkData.mUnk_0C = unk_0C;
|
||||
unkData.mUnk_0E = unk_0E;
|
||||
unkData.mUnk_0F = unk_12;
|
||||
unkData.mUnk_10 = unk_0F;
|
||||
unkData.mUnk_14 = unk_10;
|
||||
|
||||
UnkStruct_ov001_020c40f4 *pEnd = pDst->mUnk_13C.end();
|
||||
UnkStruct_ov001_020c40f4 *new_var = &unkData;
|
||||
if (pEnd != NULL) {
|
||||
pEnd->mUnk_00 = new_var->mUnk_00;
|
||||
pEnd->mUnk_0C = new_var->mUnk_0C;
|
||||
pEnd->mUnk_0E = new_var->mUnk_0E;
|
||||
pEnd->mUnk_0F = new_var->mUnk_0F;
|
||||
pEnd->mUnk_10 = new_var->mUnk_10;
|
||||
pEnd->mUnk_14 = new_var->mUnk_14;
|
||||
}
|
||||
|
||||
pDst->mUnk_13C.grow_by(1);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
BOOL ZMB_ParseCAME(ZMBFileInfos *pFileInfos, ZMBSectionCAME *pSection, UnkStruct_027e0cd8_0C_Base *pDst) {
|
||||
for (u16 i = 0; i < pSection->header.nEntries; i++) {
|
||||
ZMBEntryCAME *pEntry = &pSection->entries[i];
|
||||
|
||||
pEntry->unk_00 = func_ov000_020775d8(pEntry->unk_00);
|
||||
|
||||
VecFx32 vec;
|
||||
VecFx32_Copy(&pEntry->unk_04, &vec);
|
||||
|
||||
pEntry->unk_04.y += pDst->vfunc_28(&vec, 0x01, 0x00);
|
||||
pEntry->unk_10 = UNK_FX_OPERATION_1(INT_TO_FX32(pEntry->unk_10));
|
||||
pEntry->unk_12 = UNK_FX_OPERATION_1(INT_TO_FX32(pEntry->unk_12));
|
||||
}
|
||||
|
||||
pDst->func_ov001_020b8c98(pSection);
|
||||
return true;
|
||||
}
|
||||
|
||||
BOOL ZMB_ParseCMPT(ZMBFileInfos *pFileInfos, ZMBSectionCMPT *pSection, UnkStruct_027e0cd8_0C_Base *pDst) {
|
||||
for (u16 i = 0; i < pSection->header.nEntries; i++) {
|
||||
ZMBEntryCMPT *pEntry = &pSection->entries[i];
|
||||
|
||||
if (pEntry->unk_0D != 0) {
|
||||
VecFx32 vec;
|
||||
VecFx32_Copy(&pEntry->unk_00, &vec);
|
||||
pEntry->unk_00.y += pDst->vfunc_28(&vec, 0x01, 0x00);
|
||||
}
|
||||
}
|
||||
|
||||
pDst->func_ov001_020b8c90(pSection);
|
||||
return true;
|
||||
}
|
||||
|
||||
BOOL ZMB_020ba350(ZMBFileInfos *pFileInfos, u8 param2, UnkStruct_027e0cd8_0C_Base *pDst) {
|
||||
BOOL isCS = pDst->mIsCS;
|
||||
|
||||
if (param2 == 0xFF) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (param2 < 2) {
|
||||
return (param2 == isCS);
|
||||
}
|
||||
|
||||
if (GET_FLAG2(pDst->mUnk_104, (u8) (param2 - 2))) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void ZMB_020ba388(CustomVector<EntranceInfo> *pVector, size_t param2) {
|
||||
pVector->reallocate_copy(param2);
|
||||
}
|
||||
|
||||
void ZMB_020ba408(CustomVector<UnkStruct_027e0cd8_0C_Base_148_00_Base *> *pVector, size_t param2) {
|
||||
pVector->reallocate_copy_alt(param2);
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ bool ActorUnkOBPC::vfunc_18(unk32 param1) {
|
||||
}
|
||||
|
||||
bool ActorUnkOBPC::func_ov024_020d6f74(void) {
|
||||
if (this->mUnk_5C.mUnk_1C_0 != 0) {
|
||||
if (this->mUnk_5C.mUnk_1A[1] != 0) {
|
||||
return this->func_ov000_02098a60(1);
|
||||
}
|
||||
|
||||
|
||||
@@ -458,7 +458,7 @@ bool AdventureModeManager::func_ov024_020c5dac() {
|
||||
|
||||
bool AdventureModeManager::func_ov024_020c5ecc() {
|
||||
if (data_ov026_02138d10->func_ov026_020e13f4() != 0 && data_027e09b8->func_01ffd420() == 0 &&
|
||||
func_ov024_020d5304(data_027e09a4->mUnk_00.mSceneIndex) &&
|
||||
func_ov024_020d5304(data_027e09a4->mUnk_00.sceneIndex) &&
|
||||
(data_ov024_020d8660 == NULL || data_ov024_020d8660->mUnk_00 == NULL) && this->func_ov024_020c6a20() != 0 &&
|
||||
data_ov026_0213f590.func_ov026_020f7cc0() == 0) {
|
||||
return true;
|
||||
@@ -515,7 +515,7 @@ bool AdventureModeManager::func_ov024_020c60f4() {
|
||||
}
|
||||
|
||||
bool AdventureModeManager::func_ov024_020c623c() {
|
||||
u32 scene = data_027e09a4->mUnk_00.mSceneIndex;
|
||||
u32 scene = data_027e09a4->mUnk_00.sceneIndex;
|
||||
|
||||
if ((gOverlayManager.IsMapA6() && ActorUnkTUTO::func_ov037_02120a64() != 0) ||
|
||||
(data_027e09a4->GetCurrentCourseEntry()->unk_10 == 6 && scene == SceneIndex_f_trnnpc) ||
|
||||
@@ -911,7 +911,7 @@ void AdventureModeManager::func_ov024_020c6d2c(unk32 param1) {
|
||||
|
||||
bool AdventureModeManager::func_ov024_020c6d64() {
|
||||
if (data_027e09a4 != NULL && data_ov000_020b64f8 != NULL) {
|
||||
if (data_027e09a4->IsCutscene() && Cutscene_GetParamEntry(data_027e09a4->mUnk_00.mCutsceneIndex)->mUnk_18 == 1) {
|
||||
if (data_027e09a4->IsCutscene() && Cutscene_GetParamEntry(data_027e09a4->mUnk_00.csIndex)->mUnk_18 == 1) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -928,8 +928,8 @@ void AdventureModeManager::func_ov024_020c6db8(unk32 param1) {
|
||||
}
|
||||
|
||||
bool AdventureModeManager::func_ov024_020c6dec() {
|
||||
if (this->mUnk_1CC.sceneIndex == data_027e09a4->mUnk_00.mSceneIndex) {
|
||||
if (this->mUnk_1CC.sceneIndex == data_027e09a4->mUnk_00.mSceneIndex) {
|
||||
if (this->mUnk_1CC.sceneIndex == data_027e09a4->mUnk_00.sceneIndex) {
|
||||
if (this->mUnk_1CC.sceneIndex == data_027e09a4->mUnk_00.sceneIndex) {
|
||||
if (this->mUnk_1CC.unk_04 == data_027e0cd8->func_ov000_02081d5c()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -109,8 +109,8 @@ u16 *MiscAdvManager::GetStampDate(unk32 index) {
|
||||
return (u16 *) &this->mStampDates[index];
|
||||
}
|
||||
|
||||
Vec2b *MiscAdvManager::GetStampPos(unk32 index) {
|
||||
return (Vec2b *) &this->mStampPositions[index];
|
||||
Vec2bCpp *MiscAdvManager::GetStampPos(unk32 index) {
|
||||
return (Vec2bCpp *) &this->mStampPositions[index];
|
||||
}
|
||||
|
||||
void MiscAdvManager::func_ov024_020d64b4(s8 param1, unk32 param2, const u16 *param3) {
|
||||
|
||||
@@ -267,7 +267,7 @@ bool PassengerManager::CanCompleteTrip() {
|
||||
bool result = false;
|
||||
|
||||
if (this->mPassenger.mActorId != ActorId_None && this->mPassenger.mUnk_04 == 0 &&
|
||||
data_027e09a4->mUnk_00.mSceneIndex != SceneIndex_t_minigame) {
|
||||
data_027e09a4->CurrentSceneIndex() != SceneIndex_t_minigame) {
|
||||
result = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -28,8 +28,8 @@ void UnkDataStruct4::func_ov024_020d2518() {}
|
||||
|
||||
void UnkDataStruct4::func_ov024_020d251c() {}
|
||||
|
||||
void UnkDataStruct4::func_ov024_020d2520(UnkStruct_SceneChange1 *param1) {
|
||||
this->func_ov024_020d2538(param1->mSceneIndex, param1->mRoomIndex, NULL);
|
||||
void UnkDataStruct4::func_ov024_020d2520(EntranceInfo *param1) {
|
||||
this->func_ov024_020d2538(param1->sceneIndex, param1->roomIndex, NULL);
|
||||
}
|
||||
|
||||
void UnkDataStruct4::func_ov024_020d2538(u32 sceneIndex, u8 roomIndex, UnkDataStruct4_14_2 *param3) {
|
||||
|
||||
@@ -8,7 +8,7 @@ BOOL ZTB_ParseFile(FileInfos *pFileInfos, UnkDataStruct4 *pDst) {
|
||||
ZTBHeader *pHeader = (ZTBHeader *) pFileInfos->pFile;
|
||||
ZTBSectionHeader *pSection = (ZTBSectionHeader *) ((u8 *) pHeader + sizeof(ZTBHeader));
|
||||
|
||||
for (int i = 0; i < pHeader->nEntries; i++) {
|
||||
for (int i = 0; i < pHeader->nSections; i++) {
|
||||
switch (pSection->type) {
|
||||
case ZTBSectionType_GRDB:
|
||||
ZTB_ParseGRDB(pFileInfos, pDst, (ZTBSectionGRDB *) pSection);
|
||||
|
||||
@@ -25,7 +25,7 @@ GameModeTitleScreen::~GameModeTitleScreen() {
|
||||
|
||||
void GameModeTitleScreen::vfunc_08() {
|
||||
this->GameModeBase::vfunc_08();
|
||||
UnkStruct_SceneChange1 stack(Cutscene_GetParamEntry(CutsceneIndex_TitleScreen), true);
|
||||
EntranceInfo stack(Cutscene_GetParamEntry(CutsceneIndex_TitleScreen), true);
|
||||
data_027e09a4->func_ov000_020707a8(&stack);
|
||||
}
|
||||
|
||||
|
||||
@@ -182,7 +182,7 @@ void ActorRupee::func_ov031_020e9068() {
|
||||
}
|
||||
}
|
||||
|
||||
if (this->mUnk_5C.mUnk_24 >= 0 && this->mUnk_5C.mUnk_1A != 0) {
|
||||
if (this->mUnk_5C.mUnk_24 >= 0 && this->mUnk_5C.mUnk_1A[0] != 0) {
|
||||
this->func_ov000_02098a88(0, 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
#include "Unknown/UnkStruct_027e0cd8.hpp"
|
||||
|
||||
extern "C" void func_01ffedac(Vec2b *, VecFx32 *);
|
||||
extern "C" void func_01ffedac(Vec2bCpp *, VecFx32 *);
|
||||
|
||||
DECL_PROFILE(ActorProfileUnkNORE);
|
||||
|
||||
@@ -17,7 +17,7 @@ ActorProfileUnkNORE::ActorProfileUnkNORE() :
|
||||
ActorUnkNORE::ActorUnkNORE() {}
|
||||
|
||||
bool ActorUnkNORE::vfunc_18(unk32 param1) {
|
||||
Vec2b local_vec;
|
||||
Vec2bCpp local_vec;
|
||||
|
||||
UnkStruct_027e0cd8_0C_Base *unk_obj = data_027e0cd8->mUnk_0C;
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ bool ActorUnkSWON::vfunc_18(unk32 param1) {
|
||||
}
|
||||
this->func_ov000_020984d0();
|
||||
this->func_ov000_020984f0();
|
||||
if (this->mUnk_5C.mUnk_1C_0) {
|
||||
if (this->mUnk_5C.mUnk_1A[1]) {
|
||||
this->func_ov000_02098a88(0x1, 0x1);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -73,10 +73,10 @@ bool MapObjectChestBase::vfunc_00() {
|
||||
|
||||
UnkStruct_027e0cd8_0C_Base *pUVar2 = data_027e0cd8->mUnk_0C;
|
||||
|
||||
if (this->mUnk_20.mUnk_00[3] == 1) {
|
||||
if (this->mUnk_20.mParams[3] == 1) {
|
||||
this->mPos.x += 0x7FC;
|
||||
|
||||
Vec2b sp48(this->mUnk_3A.x, this->mUnk_3A.y);
|
||||
Vec2bCpp sp48(this->mUnk_3A.x, this->mUnk_3A.y);
|
||||
pUVar2->func_ov000_020801b0(&sp48, 7, 1);
|
||||
|
||||
sp48.x++;
|
||||
@@ -84,7 +84,7 @@ bool MapObjectChestBase::vfunc_00() {
|
||||
}
|
||||
|
||||
this->vfunc_38(this->vfunc_3C(), 1);
|
||||
this->mItemId = this->mUnk_20.mUnk_00[0];
|
||||
this->mItemId = this->mUnk_20.mParams[0];
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -98,11 +98,11 @@ void MapObjectChestBase::vfunc_04() {
|
||||
VecFx32 local_44;
|
||||
VecFx32 sp18;
|
||||
VecFx32 spC;
|
||||
Vec2b local_5e;
|
||||
Vec2b local_62;
|
||||
Vec2b local_64;
|
||||
Vec2b local_66;
|
||||
Vec2b local_68;
|
||||
Vec2bCpp local_5e;
|
||||
Vec2bCpp local_62;
|
||||
Vec2bCpp local_64;
|
||||
Vec2bCpp local_66;
|
||||
Vec2bCpp local_68;
|
||||
Vec2us local_6c;
|
||||
|
||||
pUVar5 = data_027e0cd8->mUnk_0C;
|
||||
@@ -129,22 +129,22 @@ void MapObjectChestBase::vfunc_04() {
|
||||
|
||||
local_68.x = this->mUnk_3A.x;
|
||||
local_68.y = this->mUnk_3A.y;
|
||||
iVar2 = pUVar5->func_01ffedf4((Vec2b *) &local_68);
|
||||
iVar2 = pUVar5->func_01ffedf4((Vec2bCpp *) &local_68);
|
||||
|
||||
if (this->mUnk_20.mUnk_00[3] == 1) {
|
||||
Vec2b temp_r0(this->mUnk_3A.x, this->mUnk_3A.y);
|
||||
if (this->mUnk_20.mParams[3] == 1) {
|
||||
Vec2bCpp temp_r0(this->mUnk_3A.x, this->mUnk_3A.y);
|
||||
temp_r0.x--;
|
||||
|
||||
if (pUVar5->func_01ffedf4((Vec2b *) &temp_r0) > iVar2 || gpMapObjManager->func_01fff498(local_5e) != NULL) {
|
||||
if (pUVar5->func_01ffedf4((Vec2bCpp *) &temp_r0) > iVar2 || gpMapObjManager->func_01fff498(local_5e) != NULL) {
|
||||
sp48.x -= FLOAT_TO_FX32(0.5f);
|
||||
}
|
||||
|
||||
temp_r0.x += 3;
|
||||
if (pUVar5->func_01ffedf4((Vec2b *) &temp_r0) > iVar2 || gpMapObjManager->func_01fff498(local_5e) != NULL) {
|
||||
if (pUVar5->func_01ffedf4((Vec2bCpp *) &temp_r0) > iVar2 || gpMapObjManager->func_01fff498(local_5e) != NULL) {
|
||||
sp3C.x += FLOAT_TO_FX32(0.5f);
|
||||
}
|
||||
} else {
|
||||
Vec2b temp_r0(this->mUnk_3A.x, this->mUnk_3A.y);
|
||||
Vec2bCpp temp_r0(this->mUnk_3A.x, this->mUnk_3A.y);
|
||||
temp_r0.x--;
|
||||
temp_r0.y += 2;
|
||||
// local_5e.y = this->mUnk_3A.y + (this->mUnk_3A.x - 1);
|
||||
@@ -168,7 +168,7 @@ void MapObjectChestBase::vfunc_04() {
|
||||
sp48.z -= FLOAT_TO_FX32(0.5f);
|
||||
}
|
||||
|
||||
if (data_027e09a4->mUnk_00.mSceneIndex == SceneIndex_d_flame) {
|
||||
if (data_027e09a4->CurrentSceneIndex() == SceneIndex_d_flame) {
|
||||
local_64.x = this->mUnk_3A.x;
|
||||
local_66.y = this->mUnk_3A.y;
|
||||
|
||||
|
||||
@@ -82,12 +82,12 @@ MapObjectDoorBase::MapObjectDoorBase() :
|
||||
void MapObjectDoorBase::func_ov031_020fbf10(bool param1, bool param2) {
|
||||
if (this->IsOrientedVertically()) {
|
||||
this->mPos.z += FLOAT_TO_FX32(0.5f);
|
||||
Vec2b local_16(1, 2);
|
||||
Vec2bCpp local_16(1, 2);
|
||||
this->func_ov000_0209d2f0(5, 1, &local_16);
|
||||
|
||||
} else {
|
||||
this->mPos.x += FLOAT_TO_FX32(0.5f);
|
||||
Vec2b local_18(2, 1);
|
||||
Vec2bCpp local_18(2, 1);
|
||||
this->func_ov000_0209d2f0(5, 1, &local_18);
|
||||
}
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@ bool MapObjectDoorClick::vfunc_00(void) {
|
||||
this->mUnk_8D = false;
|
||||
this->mUnk_88 = false;
|
||||
this->mUnk_78 = 10;
|
||||
this->mUnk_A4 = this->mUnk_20.mUnk_00[1];
|
||||
this->mUnk_A4 = this->mUnk_20.mParams[1];
|
||||
this->vfunc2_10();
|
||||
|
||||
local_1c.x = -0x1000;
|
||||
@@ -70,9 +70,9 @@ bool MapObjectDoorClick::vfunc_00(void) {
|
||||
local_28.x = 0x1000;
|
||||
local_28.z = 0x266;
|
||||
|
||||
unk32 value = ((this->mUnk_20.mUnk_00[2] & 0xFF) << 8) | 0x21C07006;
|
||||
unk32 value = ((this->mUnk_20.mParams[2] & 0xFF) << 8) | 0x21C07006;
|
||||
unk32 uVar2;
|
||||
if (this->mUnk_20.mUnk_00[3] == 0) {
|
||||
if (this->mUnk_20.mParams[3] == 0) {
|
||||
uVar2 = 0x1B;
|
||||
} else {
|
||||
uVar2 = 0x1C;
|
||||
@@ -273,7 +273,7 @@ void MapObjectDoorClick::vfunc_5C(unk32 param1, unk32 param2) {
|
||||
|
||||
break;
|
||||
case 8:
|
||||
if (this->mUnk_20.mUnk_00[2] & 0xFF) {
|
||||
if (this->mUnk_20.mParams[2] & 0xFF) {
|
||||
this->MapObjectDoorBase::vfunc_5C(param1, param2);
|
||||
this->func_ov031_020fcf0c(1);
|
||||
this->mUnk_10 = this->vfunc2_14();
|
||||
@@ -405,7 +405,7 @@ void MapObjectDoorClick::vfunc_78(void) {
|
||||
}
|
||||
|
||||
void MapObjectDoorClick::vfunc2_10(void) {
|
||||
unk32 index = this->mUnk_20.mUnk_00[0];
|
||||
unk32 index = this->mUnk_20.mParams[0];
|
||||
this->mUnk_94.vfunc_08(GetModelFromProfile2<MapObjectProfileDoorClick>(index, data_ov031_02110c1c[index]));
|
||||
}
|
||||
|
||||
|
||||
@@ -64,21 +64,21 @@ void MapObjectDoorDangerSpawn::vfunc_04(void) {
|
||||
UnkStruct_027e0cd8_0C_Base *ptr;
|
||||
VecFx32 auStack_20;
|
||||
|
||||
if (this->mUnk_20.mUnk_00[1] == 2) {
|
||||
if (this->mUnk_20.mParams[1] == 2) {
|
||||
this->mUnk_6C = 0;
|
||||
|
||||
ptr = data_027e0cd8->mUnk_0C;
|
||||
ptr->func_ov000_0208053c(this->mUnk_20.mUnk_00[0]);
|
||||
ptr->func_ov000_020803ec(this->mUnk_20.mUnk_00[0]);
|
||||
ptr->func_ov000_0208053c(this->mUnk_20.mParams[0]);
|
||||
ptr->func_ov000_020803ec(this->mUnk_20.mParams[0]);
|
||||
this->vfunc_5C(2, 1);
|
||||
return;
|
||||
}
|
||||
|
||||
if (this->mUnk_20.mUnk_00[1] == 3) {
|
||||
if (this->mUnk_20.mParams[1] == 3) {
|
||||
this->mUnk_8C = 0;
|
||||
}
|
||||
|
||||
if (this->mUnk_20.mUnk_00[1] == 4) {
|
||||
if (this->mUnk_20.mParams[1] == 4) {
|
||||
if (this->func_ov000_0209d29c(0) != 0) {
|
||||
this->mUnk_6C = 0;
|
||||
this->MapObjectDoorBase::vfunc_5C(2, 1);
|
||||
@@ -114,10 +114,10 @@ void MapObjectDoorDangerSpawn::vfunc_04(void) {
|
||||
}
|
||||
|
||||
if (run) {
|
||||
data_027e0cd8->mUnk_0C->func_ov000_0208053c(this->mUnk_20.mUnk_00[0]);
|
||||
data_027e0cd8->mUnk_0C->func_ov000_0208053c(this->mUnk_20.mParams[0]);
|
||||
}
|
||||
#else
|
||||
data_027e0cd8->mUnk_0C->func_ov000_0208053c(this->mUnk_20.mUnk_00[0]);
|
||||
data_027e0cd8->mUnk_0C->func_ov000_0208053c(this->mUnk_20.mParams[0]);
|
||||
#endif
|
||||
|
||||
ptr = data_027e0cd8->mUnk_0C;
|
||||
@@ -125,7 +125,7 @@ void MapObjectDoorDangerSpawn::vfunc_04(void) {
|
||||
if (this->func_ov031_020fdec8()) {
|
||||
this->mUnk_A2 = true;
|
||||
this->mUnk_8C = 0;
|
||||
ptr->func_ov000_020803ec(this->mUnk_20.mUnk_00[0]);
|
||||
ptr->func_ov000_020803ec(this->mUnk_20.mParams[0]);
|
||||
this->vfunc_5C(0, 0);
|
||||
|
||||
UnkStruct_027e09bc_0C *uVar5 = data_027e09bc->mUnk_0C;
|
||||
@@ -148,7 +148,7 @@ void MapObjectDoorDangerSpawn::vfunc2_08(void) {
|
||||
data_027e09bc->mUnk_0C->func_ov000_02078230(0);
|
||||
}
|
||||
|
||||
data_ov000_020b51b8.func_ov000_0206c96c(data_ov031_02110c00[this->mUnk_20.mUnk_00[3]]);
|
||||
data_ov000_020b51b8.func_ov000_0206c96c(data_ov031_02110c00[this->mUnk_20.mParams[3]]);
|
||||
}
|
||||
|
||||
struct UnkStruct_Copy {
|
||||
@@ -229,7 +229,7 @@ void MapObjectDoorDangerSpawn::vfunc_08(void) {
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (this->mUnk_20.mUnk_00[1] == 4 && this->func_ov000_0209d29c(0) != 0) {
|
||||
if (this->mUnk_20.mParams[1] == 4 && this->func_ov000_0209d29c(0) != 0) {
|
||||
if (this->func_ov000_0209d29c(1) != 0) {
|
||||
return;
|
||||
}
|
||||
@@ -364,7 +364,7 @@ void MapObjectDoorDangerSpawn::vfunc_5C(unk32 param1, unk32 param2) {
|
||||
this->MapObjectDoorBase::vfunc_5C(param1, param2);
|
||||
|
||||
var_r6 = 1;
|
||||
temp_r8 = data_027e09a4->mUnk_00.mSceneIndex;
|
||||
temp_r8 = data_027e09a4->CurrentSceneIndex();
|
||||
|
||||
if (param2 != 0 && (temp_r8 - SceneIndex_tekiya00) > 4) {
|
||||
var_r6 = 0;
|
||||
@@ -378,7 +378,7 @@ void MapObjectDoorDangerSpawn::vfunc_5C(unk32 param1, unk32 param2) {
|
||||
}
|
||||
|
||||
if (var_r6 != 0) {
|
||||
data_ov000_020b51b8.func_ov000_0206c9a8(data_ov031_02110c00[this->mUnk_20.mUnk_00[3]], 0, 0x7F, 0);
|
||||
data_ov000_020b51b8.func_ov000_0206c9a8(data_ov031_02110c00[this->mUnk_20.mParams[3]], 0, 0x7F, 0);
|
||||
}
|
||||
|
||||
break;
|
||||
@@ -388,7 +388,7 @@ void MapObjectDoorDangerSpawn::vfunc_5C(unk32 param1, unk32 param2) {
|
||||
this->func_ov000_0209d2c4(0, false);
|
||||
|
||||
if (param2 == 0) {
|
||||
(*ptr)->mUnk_0C->func_ov000_0208053c(this->mUnk_20.mUnk_00[0]);
|
||||
(*ptr)->mUnk_0C->func_ov000_0208053c(this->mUnk_20.mParams[0]);
|
||||
}
|
||||
|
||||
if (param2 == 0) {
|
||||
@@ -407,7 +407,7 @@ bool MapObjectDoorDangerSpawn::vfunc_64(void) {
|
||||
unk32 var_r0;
|
||||
bool var_r5;
|
||||
|
||||
switch (this->mUnk_20.mUnk_00[1]) {
|
||||
switch (this->mUnk_20.mParams[1]) {
|
||||
case 1:
|
||||
case 4:
|
||||
if (MapObjectDoorBase::vfunc_64()) {
|
||||
@@ -415,15 +415,15 @@ bool MapObjectDoorDangerSpawn::vfunc_64(void) {
|
||||
}
|
||||
|
||||
pUVar4 = data_027e0cd8->mUnk_0C;
|
||||
if (!pUVar4->func_ov000_020802ec(this->mUnk_20.mUnk_00[0], data_027e0ce0->func_01fff148(0))) {
|
||||
if (!pUVar4->func_ov000_020802ec(this->mUnk_20.mParams[0], data_027e0ce0->func_01fff148(0))) {
|
||||
return true;
|
||||
}
|
||||
|
||||
var_r0 = 0;
|
||||
var_r5 = false;
|
||||
|
||||
if (this->mUnk_20.mUnk_00[0] != 0) {
|
||||
var_r0 = gpActorManager->func_ov000_020970c8(this->mUnk_20.mUnk_00[0], NULL);
|
||||
if (this->mUnk_20.mParams[0] != 0) {
|
||||
var_r0 = gpActorManager->func_ov000_020970c8(this->mUnk_20.mParams[0], NULL);
|
||||
} else {
|
||||
var_r0 = gpActorManager->func_ov000_0209704c();
|
||||
}
|
||||
@@ -443,7 +443,7 @@ bool MapObjectDoorDangerSpawn::vfunc_64(void) {
|
||||
bool MapObjectDoorDangerSpawn::vfunc_68(void) {
|
||||
UnkStruct_027e0cd8_0C_Base *pUVar2 = data_027e0cd8->mUnk_0C;
|
||||
|
||||
if (this->mUnk_20.mUnk_00[2] == 1) {
|
||||
if (this->mUnk_20.mParams[2] == 1) {
|
||||
if (func_ov000_0209d29c(1)) {
|
||||
return true;
|
||||
}
|
||||
@@ -453,9 +453,9 @@ bool MapObjectDoorDangerSpawn::vfunc_68(void) {
|
||||
}
|
||||
}
|
||||
|
||||
if (this->mUnk_20.mUnk_00[0] != 0) {
|
||||
if (gpActorManager->func_ov000_020970c8(this->mUnk_20.mUnk_00[0], &this->mUnk_A4) == 0) {
|
||||
pUVar2->func_ov000_0208053c(this->mUnk_20.mUnk_00[0]);
|
||||
if (this->mUnk_20.mParams[0] != 0) {
|
||||
if (gpActorManager->func_ov000_020970c8(this->mUnk_20.mParams[0], &this->mUnk_A4) == 0) {
|
||||
pUVar2->func_ov000_0208053c(this->mUnk_20.mParams[0]);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -468,12 +468,12 @@ bool MapObjectDoorDangerSpawn::vfunc_68(void) {
|
||||
bool MapObjectDoorDangerSpawn::vfunc_6C(void) {
|
||||
UnkStruct_027e0cd8_0C_Base *pUVar5;
|
||||
|
||||
switch (this->mUnk_20.mUnk_00[1]) {
|
||||
switch (this->mUnk_20.mParams[1]) {
|
||||
case 1:
|
||||
case 4:
|
||||
pUVar5 = data_027e0cd8->mUnk_0C;
|
||||
|
||||
if (this->mUnk_20.mUnk_00[2] == 1) {
|
||||
if (this->mUnk_20.mParams[2] == 1) {
|
||||
if (this->func_ov000_0209d29c(1) != 0) {
|
||||
return false;
|
||||
}
|
||||
@@ -483,8 +483,8 @@ bool MapObjectDoorDangerSpawn::vfunc_6C(void) {
|
||||
}
|
||||
}
|
||||
|
||||
if (this->mUnk_20.mUnk_00[0] != 0) {
|
||||
if (gpActorManager->func_ov000_020970c8(this->mUnk_20.mUnk_00[0], NULL) == 0) {
|
||||
if (this->mUnk_20.mParams[0] != 0) {
|
||||
if (gpActorManager->func_ov000_020970c8(this->mUnk_20.mParams[0], NULL) == 0) {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
@@ -493,8 +493,8 @@ bool MapObjectDoorDangerSpawn::vfunc_6C(void) {
|
||||
}
|
||||
}
|
||||
|
||||
if (pUVar5->func_ov000_020802ec(this->mUnk_20.mUnk_00[0], data_027e0ce0->func_01fff148(0))) {
|
||||
pUVar5->func_ov000_020803ec(this->mUnk_20.mUnk_00[0]);
|
||||
if (pUVar5->func_ov000_020802ec(this->mUnk_20.mParams[0], data_027e0ce0->func_01fff148(0))) {
|
||||
pUVar5->func_ov000_020803ec(this->mUnk_20.mParams[0]);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -503,12 +503,12 @@ bool MapObjectDoorDangerSpawn::vfunc_6C(void) {
|
||||
break;
|
||||
}
|
||||
|
||||
if (this->mUnk_20.mUnk_00[1] == 3) {
|
||||
if (this->mUnk_20.mParams[1] == 3) {
|
||||
if (this->func_ov000_0209d29c(0) != 0) {
|
||||
u16 uVar4 = this->mUnk_20.mUnk_00[0];
|
||||
u16 uVar4 = this->mUnk_20.mParams[0];
|
||||
|
||||
if (uVar4 != 0 && gpActorManager->func_ov000_020970c8(uVar4, 0) != 0) {
|
||||
data_027e0cd8->mUnk_0C->func_ov000_020803ec(this->mUnk_20.mUnk_00[0]);
|
||||
data_027e0cd8->mUnk_0C->func_ov000_020803ec(this->mUnk_20.mParams[0]);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -524,10 +524,10 @@ bool MapObjectDoorDangerSpawn::func_ov031_020fdec8(void) {
|
||||
VecFx32 *uVar3;
|
||||
int iVar1;
|
||||
|
||||
switch (this->mUnk_20.mUnk_00[1]) {
|
||||
switch (this->mUnk_20.mParams[1]) {
|
||||
case 1:
|
||||
case 4:
|
||||
if (this->mUnk_20.mUnk_00[2] == 1) {
|
||||
if (this->mUnk_20.mParams[2] == 1) {
|
||||
if (this->func_ov000_0209d29c(1) != 0) {
|
||||
return false;
|
||||
}
|
||||
@@ -537,8 +537,8 @@ bool MapObjectDoorDangerSpawn::func_ov031_020fdec8(void) {
|
||||
}
|
||||
}
|
||||
|
||||
if (this->mUnk_20.mUnk_00[0] != 0) {
|
||||
if (gpActorManager->func_ov000_020970c8(this->mUnk_20.mUnk_00[0], 0) == 0) {
|
||||
if (this->mUnk_20.mParams[0] != 0) {
|
||||
if (gpActorManager->func_ov000_020970c8(this->mUnk_20.mParams[0], 0) == 0) {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
@@ -548,9 +548,9 @@ bool MapObjectDoorDangerSpawn::func_ov031_020fdec8(void) {
|
||||
}
|
||||
|
||||
pUVar4 = data_027e0cd8->mUnk_0C;
|
||||
uVar3 = (VecFx32 *) &pUVar4->func_ov001_020b8a5c(data_027e09a4->func_ov000_02070560()->mSpawnIndex, 0)->mUnk_00;
|
||||
uVar3 = (VecFx32 *) &pUVar4->func_ov001_020b8a5c(data_027e09a4->func_ov000_02070560()->spawnIndex, 0)->mUnk_00;
|
||||
|
||||
if (pUVar4->func_ov000_020802ec(this->mUnk_20.mUnk_00[0], uVar3)) {
|
||||
if (pUVar4->func_ov000_020802ec(this->mUnk_20.mParams[0], uVar3)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -41,12 +41,12 @@ bool MapObjectDoorSwitch::vfunc_00(void) {
|
||||
this->mUnk_094.vfunc_08(this->GetModel());
|
||||
this->func_ov031_020fbf10(true, true);
|
||||
|
||||
if (this->mUnk_20.mUnk_00[3] == 1) {
|
||||
if (this->mUnk_20.mParams[3] == 1) {
|
||||
this->mUnk_8F = false;
|
||||
}
|
||||
|
||||
#if IS_JP
|
||||
if (this->mUnk_20.mUnk_00[2] == 1) {
|
||||
if (this->mUnk_20.mParams[2] == 1) {
|
||||
this->mUnk_141 = true;
|
||||
}
|
||||
#endif
|
||||
@@ -91,7 +91,7 @@ bool MapObjectDoorSwitch::vfunc_00(void) {
|
||||
}
|
||||
|
||||
void MapObjectDoorSwitch::vfunc_08(void) {
|
||||
if (this->mUnk_20.mUnk_00[3] == 2 && data_027e09b8->func_01ffd420()) {
|
||||
if (this->mUnk_20.mParams[3] == 2 && data_027e09b8->func_01ffd420()) {
|
||||
this->MapObjectDoorBase::vfunc_08();
|
||||
} else if (this->mUnk_16 == 5 && this->vfunc_6C()) {
|
||||
this->vfunc_5C(0, 0);
|
||||
|
||||
@@ -29,7 +29,7 @@ bool MapObjectDoorTouch::vfunc_00(void) {
|
||||
|
||||
void MapObjectDoorTouch::vfunc2_10(void) {
|
||||
MapObjectProfileDoorTouch *p = GET_PROFILE(MapObjectProfileDoorTouch);
|
||||
unk32 index = this->mUnk_20.mUnk_00[0];
|
||||
unk32 index = this->mUnk_20.mParams[0];
|
||||
this->mUnk_94.vfunc_08(GetModelFromProfile2<MapObjectProfileDoorTouch>(index, data_ov031_02110c3c[index]));
|
||||
}
|
||||
|
||||
|
||||
@@ -888,7 +888,7 @@ void PlayerGet::vfunc_10(unk32 param1, unk32 param2) {
|
||||
break;
|
||||
case ItemId_RecruitUniform2:
|
||||
case ItemId_EngineerUniform:
|
||||
if (data_027e09a4->mUnk_00.mSceneIndex == SceneIndex_f_first) {
|
||||
if (data_027e09a4->CurrentSceneIndex() == SceneIndex_f_first) {
|
||||
this->mUnk_28->func_ov058_02152a24();
|
||||
}
|
||||
break;
|
||||
@@ -897,7 +897,7 @@ void PlayerGet::vfunc_10(unk32 param1, unk32 param2) {
|
||||
}
|
||||
|
||||
if (this->mUnk_54.mUnk_00.type_index == REF_TYPE_INDEX(ActorRefType_0, 0x1000)) {
|
||||
Vec2b stack;
|
||||
Vec2bCpp stack;
|
||||
stack.x = this->mUnk_54.mUnk_00.type_index;
|
||||
stack.y = this->mUnk_54.mUnk_00.unk_id;
|
||||
|
||||
|
||||
@@ -12,7 +12,8 @@
|
||||
extern "C" void func_ov000_0205ca74(unk32);
|
||||
extern "C" void func_ov000_0205d65c(void *, VecFx32 *, VecFx32 *, u32);
|
||||
|
||||
PlayerSceneChange::PlayerSceneChange() {
|
||||
PlayerSceneChange::PlayerSceneChange() :
|
||||
mUnk_54(false) {
|
||||
this->mUnk_68 = this->mUnk_2C->mUnk_14C;
|
||||
this->mUnk_6C = -1;
|
||||
|
||||
@@ -77,16 +78,16 @@ extern "C" void func_01ff930c(UnkStruct_ov000_0208f820_40 *, unk16, unk32);
|
||||
// https://decomp.me/scratch/c7PhN
|
||||
void PlayerSceneChange::vfunc_0C(UnkStruct_PlayerGet_vfunc_0C_param1 *param1) {
|
||||
const fx16 *pSinCosTable = gSinCosTable;
|
||||
Vec2b stack4;
|
||||
Vec2bCpp stack4;
|
||||
s16 stack3;
|
||||
Vec2b stack2;
|
||||
Vec2bCpp stack2;
|
||||
UnkStackStruct1 stack;
|
||||
|
||||
switch (param1->mUnk_04) {
|
||||
case 0x3C: {
|
||||
int iVar19 = data_027e0cd8->mUnk_0C->func_ov000_02080658((this->mUnk_2C->mUnk_148 >> 16) & 0x3F, &this->mUnk_54);
|
||||
if (iVar19 != 0 && this->mUnk_28->mUnk_94 != 0 && func_ov096_02179c14()) {
|
||||
this->mUnk_54.mUnk_10 = 1;
|
||||
this->mUnk_54.unk_10 = 1;
|
||||
}
|
||||
|
||||
switch (this->mUnk_68) {
|
||||
@@ -301,7 +302,7 @@ void PlayerSceneChange::vfunc_0C(UnkStruct_PlayerGet_vfunc_0C_param1 *param1) {
|
||||
this->mUnk_68 = data_027e09a4->func_ov000_02070554();
|
||||
}
|
||||
|
||||
SceneIndex eScene = data_027e09a4->mUnk_00.mSceneIndex;
|
||||
SceneIndex eScene = data_027e09a4->CurrentSceneIndex();
|
||||
if (eScene == SceneIndex_tekiya07) {
|
||||
this->mUnk_68 = 0x18;
|
||||
} else {
|
||||
|
||||
@@ -9,7 +9,7 @@ struct UnkStruct {
|
||||
|
||||
extern "C" void func_01ffecdc(int, void *);
|
||||
|
||||
MapObject *MapObjectManager::func_01fff498(Vec2b param1) {
|
||||
MapObject *MapObjectManager::func_01fff498(Vec2bCpp param1) {
|
||||
if (this->mUnk_0C[param1.y][param1.x] < 0) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -173,6 +173,7 @@ config.libs = [
|
||||
Object("000_Second/Actor/ActorUnkSWTM.cpp"),
|
||||
Object("000_Second/Actor/ActorEventIcon.cpp"),
|
||||
Object("000_Second/Actor/ActorUnkEFIK.cpp"),
|
||||
Object("000_Second/MapObject/MapObjectManager_000.cpp"),
|
||||
Object("000_Second/MapObject/MapObjectProfile.cpp"),
|
||||
Object("000_Second/MapObject/MapObjectProfile_Derived2_20.cpp"),
|
||||
Object("000_Second/MapObject/MapObject.cpp"),
|
||||
|
||||
Reference in New Issue
Block a user