ActorSwitchObject OK (#130)

* Map symbol in Game

* ActorSwitchObject OK

* Mark ActorSwitchObject as complete

* Document `mTrapActors`

* Fix FilterActorBase

* Fix regressions
This commit is contained in:
Aetias
2025-07-25 15:59:54 +02:00
committed by GitHub
parent dda45d5574
commit 8ad6359c7d
33 changed files with 519 additions and 347 deletions
+2 -1
View File
@@ -21,6 +21,7 @@ src/00_Core/Actor/ActorSpawner.cpp:
.text start:0x020c3f9c end:0x020c42d8
src/00_Core/Actor/Dungeon/ActorSwitchObject.cpp:
complete
.text start:0x0208fa70 end:0x020903a8
.init start:0x020df678 end:0x020df6b8
.ctor start:0x020e1ec4 end:0x020e1ec8
@@ -95,7 +96,7 @@ src/00_Core/Map/MapManager.cpp:
.rodata start:0x020d88f0 end:0x020d8aa8
.init start:0x020df4cc end:0x020df640
.ctor start:0x020e1ebc end:0x020e1ec0
.data start:0x020e24c4 end:0x020e253c
.data start:0x020e2484 end:0x020e253c
.sbss start:0x020ec964 end:0x020ec9d4
src/00_Core/Player/LinkStateBase.cpp:
+7 -7
View File
@@ -7513,7 +7513,7 @@ from:0x020c1a2c kind:load to:0x027e0fc8 module:dtcm
from:0x020c1ae4 kind:arm_call to:0x020c3180 module:overlay(0)
from:0x020c1b58 kind:arm_call to:0x020c37ec module:overlay(0)
from:0x020c1b64 kind:load to:0x027e0fe4 module:dtcm
from:0x020c1b68 kind:load to:0x020e71e8 module:overlay(0)
from:0x020c1b68 kind:load to:0x020e71e0 add:8 module:overlay(0)
from:0x020c1c18 kind:load to:0x027e0e60 module:dtcm
from:0x020c1c1c kind:load to:0x02084be0 module:overlay(0)
from:0x020c1c3c kind:arm_call to:0x02084b38 module:overlay(0)
@@ -11057,20 +11057,20 @@ from:0x020df5f4 kind:load to:0x020e24a4 module:overlay(0)
from:0x020df5f8 kind:load to:0x020e24c8 module:overlay(0)
from:0x020df5fc kind:load to:0x02086cd0 module:overlay(0)
from:0x020df600 kind:load to:0x020ec964 module:overlay(0)
from:0x020df604 kind:load to:0x020e24d0 module:overlay(0)
from:0x020df604 kind:load to:0x020e24c8 add:0x8 module:overlay(0)
from:0x020df608 kind:load to:0x020ec970 module:overlay(0)
from:0x020df60c kind:load to:0x020e24d8 module:overlay(0)
from:0x020df60c kind:load to:0x020e24c8 add:0x10 module:overlay(0)
from:0x020df610 kind:load to:0x020ec97c module:overlay(0)
from:0x020df614 kind:load to:0x020e24e0 module:overlay(0)
from:0x020df614 kind:load to:0x020e24c8 add:0x18 module:overlay(0)
from:0x020df618 kind:load to:0x020ec988 module:overlay(0)
from:0x020df61c kind:load to:0x020e24e8 module:overlay(0)
from:0x020df620 kind:load to:0x0207dd9c module:overlay(0)
from:0x020df624 kind:load to:0x020ec994 module:overlay(0)
from:0x020df628 kind:load to:0x020e24f0 module:overlay(0)
from:0x020df628 kind:load to:0x020e24e8 add:0x8 module:overlay(0)
from:0x020df62c kind:load to:0x020ec9a0 module:overlay(0)
from:0x020df630 kind:load to:0x020e24f8 module:overlay(0)
from:0x020df630 kind:load to:0x020e24e8 add:0x10 module:overlay(0)
from:0x020df634 kind:load to:0x020ec9ac module:overlay(0)
from:0x020df638 kind:load to:0x020e2500 module:overlay(0)
from:0x020df638 kind:load to:0x020e24e8 add:0x18 module:overlay(0)
from:0x020df63c kind:load to:0x020ec9b8 module:overlay(0)
from:0x020df650 kind:arm_call to:0x0203eba8 module:main
from:0x020df660 kind:arm_call to:0x0204f8d4 module:main
+45 -45
View File
@@ -274,7 +274,7 @@ _ZN6Course13SetCourseNameEPc kind:function(arm,size=0x10) addr:0x0207ca68
_ZN6Course18func_ov00_0207ca78Eici kind:function(arm,size=0x30) addr:0x0207ca78
_ZN6Course18func_ov00_0207caa8EiPiPc kind:function(arm,size=0x88) addr:0x0207caa8
_ZN6Course18func_ov00_0207cb30Ei kind:function(arm,size=0x4c) addr:0x0207cb30
_ZN6Course14FindMapGridPosEP5Vec2bPS_j kind:function(arm,size=0x5c) addr:0x0207cb7c
_ZN6Course14FindMapGridPosEj kind:function(arm,size=0x5c) addr:0x0207cb7c
_ZN6Course13FindMapCenterEi kind:function(arm,size=0x10) addr:0x0207cbd8
_ZN6Course18func_ov00_0207cbe8Ei kind:function(arm,size=0x3c) addr:0x0207cbe8
_ZN6Course18func_ov00_0207cc24Ei kind:function(arm,size=0x48) addr:0x0207cc24
@@ -336,10 +336,10 @@ _ZN7MapBase18func_ov00_0207e28cEi kind:function(arm,size=0x1b8) addr:0x0207e28c
_ZN7MapBase8vfunc_b4Ev kind:function(arm,size=0x28) addr:0x0207e444
_ZN7MapBase8vfunc_48Ev kind:function(arm,size=0x1c) addr:0x0207e46c
_ZN7MapBase8vfunc_50Ev kind:function(arm,size=0x8) addr:0x0207e488
_ZN7MapBase8vfunc_54EP5Vec2b kind:function(arm,size=0x8) addr:0x0207e490
_ZN7MapBase8vfunc_58EP5Vec2bi kind:function(arm,size=0x8) addr:0x0207e498
_ZN7MapBase8vfunc_54EP7TilePos kind:function(arm,size=0x8) addr:0x0207e490
_ZN7MapBase8vfunc_58EP7TilePosi kind:function(arm,size=0x8) addr:0x0207e498
_ZN7MapBase8vfunc_5cEv kind:function(arm,size=0x8) addr:0x0207e4a0
_ZN7MapBase8vfunc_60EP5Vec2b kind:function(arm,size=0x8) addr:0x0207e4a8
_ZN7MapBase8vfunc_60EP7TilePos kind:function(arm,size=0x8) addr:0x0207e4a8
_ZN7MapBase8vfunc_64Ev kind:function(arm,size=0x8) addr:0x0207e4b0
_ZN7MapBase8vfunc_68EP5Vec3pb kind:function(arm,size=0x488) addr:0x0207e4b8
_ZN7MapBase18func_ov00_0207e940EPc kind:function(arm,size=0x28) addr:0x0207e940
@@ -358,22 +358,22 @@ _ZN7MapBase8vfunc_a0Ev kind:function(arm,size=0x4) addr:0x0207f338
_ZN7MapBase8vfunc_a4EPc kind:function(arm,size=0x8) addr:0x0207f33c
_ZN7MapBase8vfunc_a8Ev kind:function(arm,size=0x4) addr:0x0207f344
_ZN7MapBase8vfunc_acEv kind:function(arm,size=0x4) addr:0x0207f348
_ZN7MapBase8vfunc_78EP5Vec2b kind:function(arm,size=0x8) addr:0x0207f34c
_ZN7MapBase8vfunc_78EP7TilePos kind:function(arm,size=0x8) addr:0x0207f34c
_ZN7MapBase8vfunc_7cEiPiiPs kind:function(arm,size=0x8) addr:0x0207f354
_ZN7MapBase8vfunc_80Ev kind:function(arm,size=0x8) addr:0x0207f35c
_ZN7MapBase8vfunc_84Ei kind:function(arm,size=0x28) addr:0x0207f364
_ZN7MapBase18func_ov00_0207f38cEPi kind:function(arm,size=0x38) addr:0x0207f38c
_ZN7MapBase8vfunc_90EP5Vec2bi kind:function(arm,size=0xdc) addr:0x0207f3c4
_ZN7MapBase8vfunc_90EP7TilePosi kind:function(arm,size=0xdc) addr:0x0207f3c4
_ZN7MapBase8vfunc_94Ev kind:function(arm,size=0x4) addr:0x0207f4a0
_ZN7MapBase18func_ov00_0207f4a4EP5Vec2si kind:function(arm,size=0x98) addr:0x0207f4a4
_ZN7MapBase18func_ov00_0207f53cEP5Vec2sPS_P5Vec3p kind:function(arm,size=0x4c) addr:0x0207f53c
_ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi kind:function(arm,size=0xa8) addr:0x0207f588
_ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P7TilePosi kind:function(arm,size=0xa8) addr:0x0207f588
_ZN7MapBase18func_ov00_0207f630EP5Vec2sP5Vec3p kind:function(arm,size=0x64) addr:0x0207f630
_ZN7MapBase13GetTileStartXEi kind:function(arm,size=0xc) addr:0x0207f694
_ZN7MapBase13GetTileStartZEi kind:function(arm,size=0xc) addr:0x0207f6a0
_ZN7MapBase11GetTileEndXEi kind:function(arm,size=0x10) addr:0x0207f6ac
_ZN7MapBase11GetTileEndZEi kind:function(arm,size=0x10) addr:0x0207f6bc
_ZN7MapBase13GetTileBoundsEP5Vec2bP4AABB kind:function(arm,size=0xac) addr:0x0207f6cc
_ZN7MapBase13GetTileBoundsEP7TilePosP4AABB kind:function(arm,size=0xac) addr:0x0207f6cc
_ZN7MapBase15GetClampedTileXEi kind:function(arm,size=0x28) addr:0x0207f778
_ZN7MapBase15GetClampedTileYEi kind:function(arm,size=0x28) addr:0x0207f7a0
_ZN7MapBase8GetTileXEi kind:function(arm,size=0x10) addr:0x0207f7c8
@@ -418,8 +418,8 @@ _ZN7MapBase10AddUnk_130Ei kind:function(arm,size=0xe8) addr:0x020808d0
_ZN7MapBase18func_ov00_020809b8Ei kind:function(arm,size=0xc0) addr:0x020809b8
_ZN7MapBase18func_ov00_02080a78EP5Vec3p kind:function(arm,size=0x58) addr:0x02080a78
_ZN12MapBase_Unk218func_ov00_02080ad0EPP11TriggerBaseS2_ kind:function(arm,size=0x54) addr:0x02080ad0
_ZN7MapBase18func_ov00_02080b24EP5Vec2b kind:function(arm,size=0x1e4) addr:0x02080b24
_ZN7MapBase18func_ov00_02080d08Ei kind:function(arm,size=0x6c) addr:0x02080d08
_ZN7MapBase18func_ov00_02080b24EP7TilePos kind:function(arm,size=0x1e4) addr:0x02080b24
_ZN7MapBase18func_ov00_02080d08EP7TilePos kind:function(arm,size=0x6c) addr:0x02080d08
_ZN7MapBase8vfunc_bcEv kind:function(arm,size=0x4) addr:0x02080d74
_ZN7MapBase8vfunc_98Eiii kind:function(arm,size=0x4) addr:0x02080d78
_ZN7MapBase8vfunc_c0Ev kind:function(arm,size=0x4) addr:0x02080d7c
@@ -535,7 +535,7 @@ _ZN10MapManager17GetCurrentMapPosXEv kind:function(arm,size=0xc) addr:0x02082d28
_ZN10MapManager17GetCurrentMapPosYEv kind:function(arm,size=0xc) addr:0x02082d34
_ZN10MapManager18func_ov00_02082d40Ev kind:function(arm,size=0x34) addr:0x02082d40
_ZN10MapManager18func_ov00_02082d74Ei kind:function(arm,size=0x10) addr:0x02082d74
_ZN10MapManager18func_ov00_02082d84EP5Vec2bPiS2_ kind:function(arm,size=0x98) addr:0x02082d84
_ZN10MapManager18func_ov00_02082d84EP7TilePosPiS2_ kind:function(arm,size=0x98) addr:0x02082d84
_ZN10MapManager18func_ov00_02082e1cEPiS0_ kind:function(arm,size=0x250) addr:0x02082e1c
_ZN10MapManager18func_ov00_0208306cEPiS0_ kind:function(arm,size=0xf0) addr:0x0208306c
_ZN10MapManager18func_ov00_0208315cEPiS0_ kind:function(arm,size=0xe8) addr:0x0208315c
@@ -566,7 +566,7 @@ _ZN10MapManager12GetMapCenterEP5Vec3p kind:function(arm,size=0x20) addr:0x020834
_ZN10MapManager18func_ov00_0208346cEP4AABB kind:function(arm,size=0x50) addr:0x0208346c
_ZN10MapManager18func_ov00_020834bcEP5Vec3pii kind:function(arm,size=0x68) addr:0x020834bc
_ZN10MapManager18func_ov00_02083524EP5Vec3pii kind:function(arm,size=0x3c) addr:0x02083524
_ZN10MapManager18func_ov00_02083560EP5Vec2bPS_j kind:function(arm,size=0x10) addr:0x02083560
_ZN10MapManager18func_ov00_02083560Ej kind:function(arm,size=0x10) addr:0x02083560
_ZN10MapManager18func_ov00_02083570Ehh kind:function(arm,size=0x18) addr:0x02083570
_ZN10MapManager18func_ov00_02083588Ev kind:function(arm,size=0x1c) addr:0x02083588
_ZN10MapManager18func_ov00_020835a4Ev kind:function(arm,size=0x10) addr:0x020835a4
@@ -601,37 +601,37 @@ _ZN10MapManager18func_ov00_020839b4Ei kind:function(arm,size=0x10) addr:0x020839
_ZN10MapManager18func_ov00_020839c4Ei kind:function(arm,size=0x10) addr:0x020839c4
_ZN10MapManager18func_ov00_020839d4Ei kind:function(arm,size=0x24) addr:0x020839d4
_ZN10MapManager18func_ov00_020839f8Ei kind:function(arm,size=0x24) addr:0x020839f8
_ZN10MapManager18func_ov00_02083a1cEP5Vec2bPS_P5Vec3p kind:function(arm,size=0x38) addr:0x02083a1c
_ZN10MapManager18func_ov00_02083a54EP5Vec2bPS_P5Vec3pii kind:function(arm,size=0x130) addr:0x02083a54
_ZN10MapManager18func_ov00_02083a1cEP5Vec3p kind:function(arm,size=0x38) addr:0x02083a1c
_ZN10MapManager18func_ov00_02083a54EP5Vec3pii kind:function(arm,size=0x130) addr:0x02083a54
_ZN10MapManager13GetTileStartXEi kind:function(arm,size=0x28) addr:0x02083b84
_ZN10MapManager13GetTileStartZEi kind:function(arm,size=0x28) addr:0x02083bac
_ZN10MapManager11GetTileEndXEi kind:function(arm,size=0x28) addr:0x02083bd4
_ZN10MapManager11GetTileEndZEi kind:function(arm,size=0x28) addr:0x02083bfc
_ZN10MapManager18func_ov00_02083c24Ei kind:function(arm,size=0x2c) addr:0x02083c24
_ZN10MapManager18func_ov00_02083c50Ei kind:function(arm,size=0x2c) addr:0x02083c50
_ZN10MapManager18func_ov00_02083c7cEP5Vec3p5Vec2b kind:function(arm,size=0x6c) addr:0x02083c7c
_ZN10MapManager18func_ov00_02083ce8EP5Vec3p5Vec2bij kind:function(arm,size=0x14c) addr:0x02083ce8
_ZN10MapManager18func_ov00_02083c7cEP5Vec3p7TilePos kind:function(arm,size=0x6c) addr:0x02083c7c
_ZN10MapManager18func_ov00_02083ce8EP5Vec3p7TilePosij kind:function(arm,size=0x14c) addr:0x02083ce8
_ZN10MapManager18func_ov00_02083e34Ecci kind:function(arm,size=0x24) addr:0x02083e34
_ZN10MapManager16MapData_vfunc_60EP5Vec2b kind:function(arm,size=0x18) addr:0x02083e58
_ZN10MapManager18func_ov00_02083e70EP5Vec2b kind:function(arm,size=0x70) addr:0x02083e70
_ZN10MapManager16MapData_vfunc_60EP7TilePos kind:function(arm,size=0x18) addr:0x02083e58
_ZN10MapManager18func_ov00_02083e70EP7TilePos kind:function(arm,size=0x70) addr:0x02083e70
_ZN10MapManager16MapData_vfunc_68EP5Vec3pb kind:function(arm,size=0x18) addr:0x02083ee0
_ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_b kind:function(arm,size=0x4c) addr:0x02083ef8
_ZN10MapManager18func_ov00_02083f44EP5Vec3pb kind:function(arm,size=0x3c) addr:0x02083f44
_ZN10MapManager16MapData_vfunc_6cEiii kind:function(arm,size=0x18) addr:0x02083f80
_ZN10MapManager16MapData_vfunc_70EP5Vec3p kind:function(arm,size=0x18) addr:0x02083f98
_ZN10MapManager18func_ov00_02083fb0EPjPS_P5Vec3p kind:function(arm,size=0x74) addr:0x02083fb0
_ZN10MapManager18GetTileWorldBoundsEP5Vec2bP4AABB kind:function(arm,size=0x64) addr:0x02084024
_ZN10MapManager16MapData_vfunc_54EP5Vec2b kind:function(arm,size=0x18) addr:0x02084088
_ZN10MapManager18GetTileWorldBoundsEP7TilePosP4AABB kind:function(arm,size=0x64) addr:0x02084024
_ZN10MapManager16MapData_vfunc_54EP7TilePos kind:function(arm,size=0x18) addr:0x02084088
_ZN10MapManager18func_ov00_020840a0Ehh kind:function(arm,size=0x24) addr:0x020840a0
_ZN10MapManager16MapData_vfunc_78EP5Vec2b kind:function(arm,size=0x18) addr:0x020840c4
_ZN10MapManager18func_ov00_020840dcEP5Vec2b kind:function(arm,size=0x24) addr:0x020840dc
_ZN10MapManager16MapData_vfunc_78EP7TilePos kind:function(arm,size=0x18) addr:0x020840c4
_ZN10MapManager18func_ov00_020840dcEP7TilePos kind:function(arm,size=0x24) addr:0x020840dc
_ZN10MapManager18func_ov00_02084100EPiPS_ kind:function(arm,size=0x14) addr:0x02084100
_ZN10MapManager17GetMapData_Unk_48Ev kind:function(arm,size=0xc) addr:0x02084114
_ZN10MapManager17GetMapData_Unk_4cEv kind:function(arm,size=0xc) addr:0x02084120
_ZN10MapManager18func_ov00_0208412cEv kind:function(arm,size=0x10) addr:0x0208412c
_ZN10MapManager18func_ov00_0208413cEi kind:function(arm,size=0x10) addr:0x0208413c
_ZN10MapManager16MapData_vfunc_58EP5Vec2bi kind:function(arm,size=0x18) addr:0x0208414c
_ZN10MapManager18func_ov00_02084164EP5Vec2b kind:function(arm,size=0x1a8) addr:0x02084164
_ZN10MapManager16MapData_vfunc_58EP7TilePosi kind:function(arm,size=0x18) addr:0x0208414c
_ZN10MapManager18func_ov00_02084164EP7TilePos kind:function(arm,size=0x1a8) addr:0x02084164
_ZN10MapManager17GetMapData_Unk_0aEv kind:function(arm,size=0xc) addr:0x0208430c
_ZN10MapManager17GetMapData_Unk_0bEv kind:function(arm,size=0xc) addr:0x02084318
_ZN10MapManager16MapData_vfunc_a4EPc kind:function(arm,size=0x18) addr:0x02084324
@@ -686,7 +686,7 @@ _ZN10MapManager18func_ov00_02085c60EP5Vec3pPiS2_j kind:function(arm,size=0x3e4)
_ZN10MapManager18func_ov00_02086044EP5Vec3pS1_i kind:function(arm,size=0x240) addr:0x02086044
_ZN10MapManager18func_ov00_02086284EPiP5Vec3pS2_itS2_S2_ kind:function(arm,size=0x800) addr:0x02086284
_ZN10MapManager18func_ov00_02086a84EPiP5Vec3pS2_iiiS2_S2_ kind:function(arm,size=0x24c) addr:0x02086a84
func_ov000_02086cd0 kind:function(arm,size=0x4) addr:0x02086cd0
_ZN15MapManager_Unk1D1Ev kind:function(arm,size=0x4) addr:0x02086cd0
func_ov000_02086cd4 kind:function(arm,size=0xd4) addr:0x02086cd4
func_ov000_02086da8 kind:function(arm,size=0xd8) addr:0x02086da8
func_ov000_02086e80 kind:function(arm,size=0x20) addr:0x02086e80
@@ -2184,7 +2184,7 @@ _ZN13PlayerControl18func_ov00_020aeef8Ev kind:function(arm,size=0x38) addr:0x020
_ZN13PlayerControl18func_ov00_020aef30Ev kind:function(thumb,size=0x38) addr:0x020aef30
_ZN13PlayerControl9UpdateAimEv kind:function(thumb,size=0x94) addr:0x020aef68
_ZN13PlayerControl14GetFollowActorEv kind:function(arm,size=0x20) addr:0x020aeffc
_ZN13PlayerControl18func_ov00_020af01cEP5Vec2b kind:function(arm,size=0x28) addr:0x020af01c
_ZN13PlayerControl18func_ov00_020af01cEP7TilePos kind:function(arm,size=0x28) addr:0x020af01c
_ZN13PlayerControl9SetUnk_80Ev kind:function(arm,size=0xc) addr:0x020af044
_ZN13PlayerControl13StopFollowingEv kind:function(arm,size=0x1c) addr:0x020af050
_ZN13PlayerControl18func_ov00_020af06cEv kind:function(arm,size=0x22c) addr:0x020af06c
@@ -2833,19 +2833,19 @@ _ZN5Actor8vfunc_b0Ev kind:function(arm,size=0x4) addr:0x020c322c
_ZN5Actor10GetLinkPosEP5Vec3p kind:function(arm,size=0x60) addr:0x020c3230
_ZN5Actor15GetLinkDummyPosEP5Vec3p kind:function(arm,size=0x98) addr:0x020c3290
_ZN19Actor_UnkStruct_09cC2Ev kind:function(arm,size=0x20) addr:0x020c3328
_Z19func_ov000_020c3348P17ActorSpawnOptions kind:function(arm,size=0x24) addr:0x020c3348
_ZN17ActorSpawnOptions19func_ov000_020c3348Ev kind:function(arm,size=0x24) addr:0x020c3348
func_ov000_020c336c kind:function(thumb,size=0x1a) addr:0x020c336c
func_ov000_020c3388 kind:function(thumb,size=0x28) addr:0x020c3388
func_ov000_020c33b0 kind:function(thumb,size=0x24) addr:0x020c33b0
_ZN12ActorManager11DeleteActorEjb kind:function(arm,size=0xb0) addr:0x020c33d4
_ZN12ActorManager18func_ov00_020c3484EP8ActorRefPS_i kind:function(arm,size=0xf8) addr:0x020c3484
_ZN12ActorManager18func_ov00_020c3484Ei kind:function(arm,size=0xf8) addr:0x020c3484
_ZN12ActorManager14Actor_vfunc_10Ej kind:function(arm,size=0x5c) addr:0x020c357c
_ZN12ActorManager13FindActorByIdEi kind:function(arm,size=0x9c) addr:0x020c35d8
_ZN12ActorManager8GetActorEP8ActorRef kind:function(arm,size=0x40) addr:0x020c3674
_ZN11FilterActor6FilterEP5Actor kind:function(arm,size=0x138) addr:0x020c36b4
_ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList kind:function(arm,size=0xa8) addr:0x020c37ec
_ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j kind:function(arm,size=0x68) addr:0x020c3894
_ZN12ActorManager22FindNearestActorOfTypeEP8ActorRefPS_jP5Vec3p kind:function(arm,size=0x90) addr:0x020c38fc
_ZN12ActorManager15FindActorByTypeEj kind:function(arm,size=0x68) addr:0x020c3894
_ZN12ActorManager22FindNearestActorOfTypeEjP5Vec3p kind:function(arm,size=0x90) addr:0x020c38fc
_ZN12ActorManager18func_ov00_020c398cEj kind:function(arm,size=0x10) addr:0x020c398c
_ZN12ActorManager18func_ov00_020c399cEjP8Cylinder kind:function(arm,size=0x10) addr:0x020c399c
_ZN12ActorManager18func_ov00_020c39acEiPKjb kind:function(arm,size=0x180) addr:0x020c39ac
@@ -3610,11 +3610,11 @@ func_ov000_020d7524 kind:function(arm,size=0x68) addr:0x020d7524
func_ov000_020d758c kind:function(arm,size=0x3c) addr:0x020d758c
func_ov000_020d75c8 kind:function(arm,size=0x14) addr:0x020d75c8
func_ov000_020d75dc kind:function(arm,size=0x208) addr:0x020d75dc
func_ov000_020d77e4 kind:function(arm,size=0x9c) addr:0x020d77e4
_ZN18UnkStruct_020eec9c19func_ov000_020d77e4Ei kind:function(arm,size=0x9c) addr:0x020d77e4
func_ov000_020d7880 kind:function(arm,size=0x20) addr:0x020d7880
func_ov000_020d78a0 kind:function(arm,size=0x1e4) addr:0x020d78a0
func_ov000_020d7a84 kind:function(arm,size=0x50) addr:0x020d7a84
func_ov000_020d7ad4 kind:function(arm,size=0x4c) addr:0x020d7ad4
_ZN18UnkStruct_020eec9c19func_ov000_020d7ad4Ei kind:function(arm,size=0x4c) addr:0x020d7ad4
func_ov000_020d7b20 kind:function(arm,size=0x40) addr:0x020d7b20
func_ov000_020d7b60 kind:function(arm,size=0x20) addr:0x020d7b60
func_ov000_020d7b80 kind:function(arm,size=0xec) addr:0x020d7b80
@@ -3940,7 +3940,7 @@ __sinit_ov000_020df4a4 kind:function(arm,size=0x14) addr:0x020df4a4
__sinit_ov000_020df4b8 kind:function(arm,size=0x14) addr:0x020df4b8
__sinit_ov000_020df4cc kind:function(arm,size=0x174) addr:0x020df4cc
__sinit_ov000_020df640 kind:function(arm,size=0x38) addr:0x020df640
__sinit_ActorSwitchObject.cpp kind:function(arm,size=0x40) addr:0x020df678
__sinit_ActorSwitchObject.cpp kind:function(arm,size=0x40) addr:0x020df678 local
__sinit_ov000_020df6b8 kind:function(arm,size=0x40) addr:0x020df6b8
__sinit_ActorEventIcon.cpp kind:function(arm,size=0x40) addr:0x020df6f8 local
__sinit_ov000_020df738 kind:function(arm,size=0x38) addr:0x020df738
@@ -3996,7 +3996,7 @@ __sinit_ov000_020e1e74 kind:function(arm,size=0x14) addr:0x020e1e74
.p__sinit_ov000_020df4b8 kind:data(word) addr:0x020e1eb8
.p__sinit_ov000_020df4cc kind:data(word) addr:0x020e1ebc
.p__sinit_ov000_020df640 kind:data(word) addr:0x020e1ec0
.p__sinit_ov000_020df678 kind:data(word) addr:0x020e1ec4
.p__sinit_ActorSwitchObject.cpp kind:data(word) addr:0x020e1ec4 local
.p__sinit_ov000_020df6b8 kind:data(word) addr:0x020e1ec8
.p__sinit_ActorEventIcon.cpp kind:data(word) addr:0x020e1ecc local
.p__sinit_ov000_020df738 kind:data(word) addr:0x020e1ed0
@@ -4096,7 +4096,7 @@ data_ov000_020e2494 kind:data(any) addr:0x020e2494
data_ov000_020e2498 kind:data(any) addr:0x020e2498
data_ov000_020e249c kind:data(any) addr:0x020e249c
data_ov000_020e24a0 kind:data(any) addr:0x020e24a0
data_ov000_020e24a4 kind:data(any) addr:0x020e24a4
sShipParts kind:data(any) addr:0x020e24a4 local
data_ov000_020e24c4 kind:data(any) addr:0x020e24c4
data_ov000_020e24c8 kind:data(any) addr:0x020e24c8
data_ov000_020e24cc kind:data(any) addr:0x020e24cc
@@ -5129,7 +5129,7 @@ data_ov000_020e71b4 kind:data(any) addr:0x020e71b4
data_ov000_020e71b8 kind:data(any) addr:0x020e71b8
data_ov000_020e71bc kind:data(any) addr:0x020e71bc
sShipTypes kind:data(any) addr:0x020e71c0
_ZTV17KillPickupsFilter kind:data(any) addr:0x020e71e8
_ZTV17KillPickupsFilter kind:data(any) addr:0x020e71e0
_ZTV5Actor kind:data(any) addr:0x020e71f4
@1038 kind:data(any) addr:0x020e72a8 local
@1037 kind:data(any) addr:0x020e72ac local
@@ -5891,21 +5891,21 @@ data_ov000_020ec864 kind:bss addr:0x020ec864
data_ov000_020ec8a4 kind:bss addr:0x020ec8a4
data_ov000_020ec8e4 kind:bss addr:0x020ec8e4
data_ov000_020ec924 kind:bss addr:0x020ec924
data_ov000_020ec964 kind:bss addr:0x020ec964
data_ov000_020ec970 kind:bss addr:0x020ec970
data_ov000_020ec97c kind:bss addr:0x020ec97c
data_ov000_020ec988 kind:bss addr:0x020ec988
data_ov000_020ec994 kind:bss addr:0x020ec994
data_ov000_020ec9a0 kind:bss addr:0x020ec9a0
data_ov000_020ec9ac kind:bss addr:0x020ec9ac
data_ov000_020ec9b8 kind:bss addr:0x020ec9b8
@2243 kind:bss addr:0x020ec964 local
@2246 kind:bss addr:0x020ec970 local
@2249 kind:bss addr:0x020ec97c local
@2252 kind:bss addr:0x020ec988 local
@2254 kind:bss addr:0x020ec994 local
@2257 kind:bss addr:0x020ec9a0 local
@2260 kind:bss addr:0x020ec9ac local
@2263 kind:bss addr:0x020ec9b8 local
data_ov000_020ec9c8 kind:bss addr:0x020ec9c8
data_ov000_020ec9d4 kind:bss addr:0x020ec9d4
data_ov000_020ec9d6 kind:bss addr:0x020ec9d6
data_ov000_020ec9d8 kind:bss addr:0x020ec9d8
data_ov000_020ecd50 kind:bss addr:0x020ecd50
data_ov000_020ecd58 kind:bss addr:0x020ecd58
data_ov000_020ecd64 kind:bss addr:0x020ecd64
@1240 kind:bss addr:0x020ecd64 local
_ZN17ActorSwitchObject5gTypeE kind:bss addr:0x020ecd70
data_ov000_020ecd84 kind:bss addr:0x020ecd84
data_ov000_020ecd90 kind:bss addr:0x020ecd90
+2 -1
View File
@@ -21,6 +21,7 @@ src/00_Core/Actor/ActorSpawner.cpp:
.text start:0x020c3f3c end:0x020c4278
src/00_Core/Actor/Dungeon/ActorSwitchObject.cpp:
complete
.text start:0x0208fa10 end:0x02090348
.init start:0x020df618 end:0x020df658
.ctor start:0x020e1e64 end:0x020e1e68
@@ -95,7 +96,7 @@ src/00_Core/Map/MapManager.cpp:
.rodata start:0x020d8890 end:0x020d8a48
.init start:0x020df46c end:0x020df5e0
.ctor start:0x020e1e5c end:0x020e1e60
.data start:0x020e2464 end:0x020e24dc
.data start:0x020e2424 end:0x020e24dc
.sbss start:0x020ec904 end:0x020ec974
src/00_Core/Player/LinkStateBase.cpp:
+7 -7
View File
@@ -7513,7 +7513,7 @@ from:0x020c19cc kind:load to:0x027e0fc8 module:dtcm
from:0x020c1a84 kind:arm_call to:0x020c3120 module:overlay(0)
from:0x020c1af8 kind:arm_call to:0x020c378c module:overlay(0)
from:0x020c1b04 kind:load to:0x027e0fe4 module:dtcm
from:0x020c1b08 kind:load to:0x020e7188 module:overlay(0)
from:0x020c1b08 kind:load to:0x020e7180 add:8 module:overlay(0)
from:0x020c1bb8 kind:load to:0x027e0e60 module:dtcm
from:0x020c1bbc kind:load to:0x02084b80 module:overlay(0)
from:0x020c1bdc kind:arm_call to:0x02084ad8 module:overlay(0)
@@ -11057,20 +11057,20 @@ from:0x020df594 kind:load to:0x020e2444 module:overlay(0)
from:0x020df598 kind:load to:0x020e2468 module:overlay(0)
from:0x020df59c kind:load to:0x02086c70 module:overlay(0)
from:0x020df5a0 kind:load to:0x020ec904 module:overlay(0)
from:0x020df5a4 kind:load to:0x020e2470 module:overlay(0)
from:0x020df5a4 kind:load to:0x020e2468 add:0x8 module:overlay(0)
from:0x020df5a8 kind:load to:0x020ec910 module:overlay(0)
from:0x020df5ac kind:load to:0x020e2478 module:overlay(0)
from:0x020df5ac kind:load to:0x020e2468 add:0x10 module:overlay(0)
from:0x020df5b0 kind:load to:0x020ec91c module:overlay(0)
from:0x020df5b4 kind:load to:0x020e2480 module:overlay(0)
from:0x020df5b4 kind:load to:0x020e2468 add:0x18 module:overlay(0)
from:0x020df5b8 kind:load to:0x020ec928 module:overlay(0)
from:0x020df5bc kind:load to:0x020e2488 module:overlay(0)
from:0x020df5c0 kind:load to:0x0207dd3c module:overlay(0)
from:0x020df5c4 kind:load to:0x020ec934 module:overlay(0)
from:0x020df5c8 kind:load to:0x020e2490 module:overlay(0)
from:0x020df5c8 kind:load to:0x020e2488 add:0x8 module:overlay(0)
from:0x020df5cc kind:load to:0x020ec940 module:overlay(0)
from:0x020df5d0 kind:load to:0x020e2498 module:overlay(0)
from:0x020df5d0 kind:load to:0x020e2488 add:0x10 module:overlay(0)
from:0x020df5d4 kind:load to:0x020ec94c module:overlay(0)
from:0x020df5d8 kind:load to:0x020e24a0 module:overlay(0)
from:0x020df5d8 kind:load to:0x020e2488 add:0x18 module:overlay(0)
from:0x020df5dc kind:load to:0x020ec958 module:overlay(0)
from:0x020df5f0 kind:arm_call to:0x0203eb64 module:main
from:0x020df600 kind:arm_call to:0x0204f890 module:main
+62 -62
View File
@@ -82,7 +82,7 @@ func_ov000_02078b0c kind:function(thumb,size=0x34) addr:0x02078aac
_ZN18UnkStruct_027e0d3819func_ov000_02078b40Ev kind:function(arm,size=0x24) addr:0x02078ae0
_ZN18UnkStruct_027e0d3819func_ov000_02078b64Ev kind:function(arm,size=0x24) addr:0x02078b04
_ZN18UnkStruct_027e0d3819func_ov000_02078b88Ev kind:function(arm,size=0x3c) addr:0x02078b28
func_ov000_02078bc4 kind:function(thumb,size=0x2c) addr:0x02078b64
_Z19func_ov000_02078bc4i kind:function(thumb,size=0x2c) addr:0x02078b64
_ZN9FlagsUnk219func_ov000_02078bf0EPS_ kind:function(thumb,size=0x11c) addr:0x02078b90
func_ov000_02078d0c kind:function(thumb,size=0x24) addr:0x02078cac
func_ov000_02078d30 kind:function(thumb,size=0x24) addr:0x02078cd0
@@ -95,7 +95,7 @@ func_ov000_02078f80 kind:function(arm,size=0x2c) addr:0x02078f20
func_ov000_02078fac kind:function(arm,size=0x14) addr:0x02078f4c
func_ov000_02078fc0 kind:function(arm,size=0x14) addr:0x02078f60
func_ov000_02078fd4 kind:function(arm,size=0x14) addr:0x02078f74
func_ov000_02078fe8 kind:function(arm,size=0x14) addr:0x02078f88
_Z19func_ov000_02078fe8Pi kind:function(arm,size=0x14) addr:0x02078f88
func_ov000_02078ffc kind:function(arm,size=0xc) addr:0x02078f9c
func_ov000_02079008 kind:function(arm,size=0x1c) addr:0x02078fa8
func_ov000_02079024 kind:function(arm,size=0x128) addr:0x02078fc4
@@ -109,8 +109,8 @@ func_ov000_02079470 kind:function(arm,size=0x210) addr:0x02079410
func_ov000_02079680 kind:function(arm,size=0xfc) addr:0x02079620
func_ov000_0207977c kind:function(arm,size=0xfc) addr:0x0207971c
func_ov000_02079878 kind:function(arm,size=0x20) addr:0x02079818
func_ov000_02079898 kind:function(arm,size=0x24) addr:0x02079838
func_ov000_020798bc kind:function(arm,size=0x2c) addr:0x0207985c
_Z19func_ov000_02079898Piii kind:function(arm,size=0x24) addr:0x02079838
_Z19func_ov000_020798bcPii kind:function(arm,size=0x2c) addr:0x0207985c
func_ov000_020798e8 kind:function(arm,size=0x40) addr:0x02079888
func_ov000_02079928 kind:function(arm,size=0x124) addr:0x020798c8
func_ov000_02079a4c kind:function(arm,size=0x44) addr:0x020799ec
@@ -274,7 +274,7 @@ _ZN6Course13SetCourseNameEPc kind:function(arm,size=0x10) addr:0x0207ca08
_ZN6Course18func_ov00_0207ca78Eici kind:function(arm,size=0x30) addr:0x0207ca18
_ZN6Course18func_ov00_0207caa8EiPiPc kind:function(arm,size=0x88) addr:0x0207ca48
_ZN6Course18func_ov00_0207cb30Ei kind:function(arm,size=0x4c) addr:0x0207cad0
_ZN6Course14FindMapGridPosEP5Vec2bPS_j kind:function(arm,size=0x5c) addr:0x0207cb1c
_ZN6Course14FindMapGridPosEj kind:function(arm,size=0x5c) addr:0x0207cb1c
_ZN6Course13FindMapCenterEi kind:function(arm,size=0x10) addr:0x0207cb78
_ZN6Course18func_ov00_0207cbe8Ei kind:function(arm,size=0x3c) addr:0x0207cb88
_ZN6Course18func_ov00_0207cc24Ei kind:function(arm,size=0x48) addr:0x0207cbc4
@@ -283,7 +283,7 @@ _ZN6Course14GetMCSFilePathEiii kind:function(arm,size=0xf0) addr:0x0207cc24
_ZN6Course14GetMRCFilePathEiii kind:function(arm,size=0xac) addr:0x0207cd14
_ZN6Course18func_ov00_0207ce20EiiPci kind:function(arm,size=0x2c) addr:0x0207cdc0
_ZN6Course18func_ov00_0207ce4cEiiiPci kind:function(arm,size=0x5b8) addr:0x0207cdec
_ZN6Course18func_ov00_0207d404Eiii kind:function(arm,size=0x78) addr:0x0207d3a4
_ZN6Course18func_ov00_0207d404Eiiii kind:function(arm,size=0x78) addr:0x0207d3a4
_ZN6Course22IsCurrentMapInMainGridEv kind:function(arm,size=0x14) addr:0x0207d41c
_ZN6Course12IsInMainGridEii kind:function(arm,size=0x54) addr:0x0207d430
_ZN6Course15IsMapInMainGridEj kind:function(arm,size=0x34) addr:0x0207d484
@@ -313,7 +313,7 @@ _ZN6Course15SetMapDataFlag2Eib kind:function(arm,size=0x20) addr:0x0207d8c4
_ZN6Course15GetMapDataFlag2Ei kind:function(arm,size=0x18) addr:0x0207d8e4
_ZN6Course15SetMapDataFlag3Eib kind:function(arm,size=0x20) addr:0x0207d8fc
_ZN6Course15GetMapDataFlag3Ei kind:function(arm,size=0x18) addr:0x0207d91c
_ZN6Course15SetMapDataFlag4Eii kind:function(arm,size=0x20) addr:0x0207d934
_ZN6Course15SetMapDataFlag4Eib kind:function(arm,size=0x20) addr:0x0207d934
_ZN6Course15GetMapDataFlag4Ei kind:function(arm,size=0x18) addr:0x0207d954
_ZN6Course11FindMapDataEj kind:function(arm,size=0x48) addr:0x0207d96c
_ZN6Course18FindCurrentMapDataEv kind:function(arm,size=0x24) addr:0x0207d9b4
@@ -330,18 +330,18 @@ _ZN7MapBase18func_ov00_0207de68Ei kind:function(arm,size=0x20) addr:0x0207de08
_ZN7MapBase18func_ov00_0207de88Ev kind:function(arm,size=0x18) addr:0x0207de28
_ZN7MapBase18func_ov00_0207dea0Eb kind:function(arm,size=0x1c0) addr:0x0207de40
_ZN7MapBase8vfunc_b0Eii kind:function(arm,size=0x2c) addr:0x0207e000
_ZN7MapBase18func_ov00_0207e08cEii kind:function(arm,size=0x64) addr:0x0207e02c
_ZN7MapBase18func_ov00_0207e08cEPii kind:function(arm,size=0x64) addr:0x0207e02c
_ZN7MapBase18func_ov00_0207e0f0Ei kind:function(arm,size=0x19c) addr:0x0207e090
_ZN7MapBase18func_ov00_0207e28cEi kind:function(arm,size=0x1b8) addr:0x0207e22c
_ZN7MapBase8vfunc_b4Ev kind:function(arm,size=0x28) addr:0x0207e3e4
_ZN7MapBase8vfunc_48Ev kind:function(arm,size=0x1c) addr:0x0207e40c
_ZN7MapBase8vfunc_50Ev kind:function(arm,size=0x8) addr:0x0207e428
_ZN7MapBase8vfunc_54Ev kind:function(arm,size=0x8) addr:0x0207e430
_ZN7MapBase8vfunc_58Ev kind:function(arm,size=0x8) addr:0x0207e438
_ZN7MapBase8vfunc_54EP7TilePos kind:function(arm,size=0x8) addr:0x0207e430
_ZN7MapBase8vfunc_58EP7TilePosi kind:function(arm,size=0x8) addr:0x0207e438
_ZN7MapBase8vfunc_5cEv kind:function(arm,size=0x8) addr:0x0207e440
_ZN7MapBase8vfunc_60Ev kind:function(arm,size=0x8) addr:0x0207e448
_ZN7MapBase8vfunc_60EP7TilePos kind:function(arm,size=0x8) addr:0x0207e448
_ZN7MapBase8vfunc_64Ev kind:function(arm,size=0x8) addr:0x0207e450
_ZN7MapBase8vfunc_68Eii kind:function(arm,size=0x488) addr:0x0207e458
_ZN7MapBase8vfunc_68EP5Vec3pb kind:function(arm,size=0x488) addr:0x0207e458
_ZN7MapBase18func_ov00_0207e940EPc kind:function(arm,size=0x28) addr:0x0207e8e0
_ZN7MapBase18func_ov00_0207e968Ev kind:function(arm,size=0x4) addr:0x0207e908
_ZN7MapBase18func_ov00_0207e96cEv kind:function(arm,size=0x4) addr:0x0207e90c
@@ -355,25 +355,25 @@ _ZN7MapBase8vfunc_88Ev kind:function(arm,size=0x8) addr:0x0207f2c4
_ZN7MapBase8vfunc_8cEv kind:function(arm,size=0x8) addr:0x0207f2cc
_ZN7MapBase8vfunc_9cEv kind:function(arm,size=0x4) addr:0x0207f2d4
_ZN7MapBase8vfunc_a0Ev kind:function(arm,size=0x4) addr:0x0207f2d8
_ZN7MapBase8vfunc_a4Ev kind:function(arm,size=0x8) addr:0x0207f2dc
_ZN7MapBase8vfunc_a4EPc kind:function(arm,size=0x8) addr:0x0207f2dc
_ZN7MapBase8vfunc_a8Ev kind:function(arm,size=0x4) addr:0x0207f2e4
_ZN7MapBase8vfunc_acEv kind:function(arm,size=0x4) addr:0x0207f2e8
_ZN7MapBase8vfunc_78Ev kind:function(arm,size=0x8) addr:0x0207f2ec
_ZN7MapBase8vfunc_7cEv kind:function(arm,size=0x8) addr:0x0207f2f4
_ZN7MapBase8vfunc_78EP7TilePos kind:function(arm,size=0x8) addr:0x0207f2ec
_ZN7MapBase8vfunc_7cEiPiiPs kind:function(arm,size=0x8) addr:0x0207f2f4
_ZN7MapBase8vfunc_80Ev kind:function(arm,size=0x8) addr:0x0207f2fc
_ZN7MapBase8vfunc_84Ei kind:function(arm,size=0x28) addr:0x0207f304
_ZN7MapBase18func_ov00_0207f38cEi kind:function(arm,size=0x38) addr:0x0207f32c
_ZN7MapBase8vfunc_90EP5Vec2bi kind:function(arm,size=0xdc) addr:0x0207f364
_ZN7MapBase18func_ov00_0207f38cEPi kind:function(arm,size=0x38) addr:0x0207f32c
_ZN7MapBase8vfunc_90EP7TilePosi kind:function(arm,size=0xdc) addr:0x0207f364
_ZN7MapBase8vfunc_94Ev kind:function(arm,size=0x4) addr:0x0207f440
_ZN7MapBase18func_ov00_0207f4a4EP5Vec2si kind:function(arm,size=0x98) addr:0x0207f444
_ZN7MapBase18func_ov00_0207f53cEP5Vec2sPS_P5Vec3p kind:function(arm,size=0x4c) addr:0x0207f4dc
_ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P5Vec2bi kind:function(arm,size=0xa8) addr:0x0207f528
_ZN7MapBase18func_ov00_0207f588EP5Vec2sPS_P7TilePosi kind:function(arm,size=0xa8) addr:0x0207f528
_ZN7MapBase18func_ov00_0207f630EP5Vec2sP5Vec3p kind:function(arm,size=0x64) addr:0x0207f5d0
_ZN7MapBase13GetTileStartXEi kind:function(arm,size=0xc) addr:0x0207f634
_ZN7MapBase13GetTileStartZEi kind:function(arm,size=0xc) addr:0x0207f640
_ZN7MapBase11GetTileEndXEi kind:function(arm,size=0x10) addr:0x0207f64c
_ZN7MapBase11GetTileEndZEi kind:function(arm,size=0x10) addr:0x0207f65c
_ZN7MapBase13GetTileBoundsEP5Vec2bP4AABB kind:function(arm,size=0xac) addr:0x0207f66c
_ZN7MapBase13GetTileBoundsEP7TilePosP4AABB kind:function(arm,size=0xac) addr:0x0207f66c
_ZN7MapBase15GetClampedTileXEi kind:function(arm,size=0x28) addr:0x0207f718
_ZN7MapBase15GetClampedTileYEi kind:function(arm,size=0x28) addr:0x0207f740
_ZN7MapBase8GetTileXEi kind:function(arm,size=0x10) addr:0x0207f768
@@ -406,22 +406,22 @@ _ZN7MapBase18func_ov00_0208008cEj kind:function(arm,size=0x10) addr:0x0208002c
_ZN7MapBase7AddExitEP4Exit kind:function(arm,size=0xa4) addr:0x0208003c
_ZN7MapBase18func_ov00_02080140EP4Exit kind:function(arm,size=0x1e4) addr:0x020800e0
_ZN12MapBase_Unk118func_ov00_02080324Eiii kind:function(arm,size=0x78) addr:0x020802c4
_ZN7MapBase8FindExitEiP4Exit kind:function(arm,size=0xd0) addr:0x0208033c
_ZN7MapBase8FindExitEjP4Exit kind:function(arm,size=0xd0) addr:0x0208033c
_ZN7MapBase18AddCameraViewpointEP15CameraViewpoint kind:function(arm,size=0xa4) addr:0x0208040c
_ZN7MapBase19FindViewpoint_Unk_4EcP15CameraViewpoint kind:function(arm,size=0xc0) addr:0x020804b0
_ZN7MapBase19FindViewpoint_Unk_0EiP15CameraViewpoint kind:function(arm,size=0xb8) addr:0x02080570
_ZN7MapBase19GetCurrentViewpointEP15CameraViewpointi kind:function(arm,size=0xf8) addr:0x02080628
_ZN7MapBase26GetCurrentViewpoint_Unk_00Ei kind:function(arm,size=0x54) addr:0x02080720
_ZN7MapBase8vfunc_b8Ev kind:function(arm,size=0x50) addr:0x02080774
_ZN7MapBase18func_ov00_02080824Eii kind:function(arm,size=0xac) addr:0x020807c4
_ZN7MapBase18func_ov00_02080824EjPc kind:function(arm,size=0xac) addr:0x020807c4
_ZN7MapBase10AddUnk_130Ei kind:function(arm,size=0xe8) addr:0x02080870
_ZN7MapBase18func_ov00_020809b8Ei kind:function(arm,size=0xc0) addr:0x02080958
_ZN7MapBase18func_ov00_02080a78EP5Vec3p kind:function(arm,size=0x58) addr:0x02080a18
_ZN12MapBase_Unk218func_ov00_02080ad0EPP11TriggerBaseS2_ kind:function(arm,size=0x54) addr:0x02080a70
_ZN7MapBase18func_ov00_02080b24EP5Vec2b kind:function(arm,size=0x1e4) addr:0x02080ac4
_ZN7MapBase18func_ov00_02080d08Ei kind:function(arm,size=0x6c) addr:0x02080ca8
_ZN7MapBase18func_ov00_02080b24EP7TilePos kind:function(arm,size=0x1e4) addr:0x02080ac4
_ZN7MapBase18func_ov00_02080d08EP7TilePos kind:function(arm,size=0x6c) addr:0x02080ca8
_ZN7MapBase8vfunc_bcEv kind:function(arm,size=0x4) addr:0x02080d14
_ZN7MapBase8vfunc_98Ev kind:function(arm,size=0x4) addr:0x02080d18
_ZN7MapBase8vfunc_98Eiii kind:function(arm,size=0x4) addr:0x02080d18
_ZN7MapBase8vfunc_c0Ev kind:function(arm,size=0x4) addr:0x02080d1c
_ZN7MapBase22TriggerOfType_vfunc_10Ei kind:function(arm,size=0x5c) addr:0x02080d20
_ZN11TriggerBase8vfunc_10Ev kind:function(arm,size=0x8) addr:0x02080d7c
@@ -535,7 +535,7 @@ _ZN10MapManager17GetCurrentMapPosXEv kind:function(arm,size=0xc) addr:0x02082cc8
_ZN10MapManager17GetCurrentMapPosYEv kind:function(arm,size=0xc) addr:0x02082cd4
_ZN10MapManager18func_ov00_02082d40Ev kind:function(arm,size=0x34) addr:0x02082ce0
_ZN10MapManager18func_ov00_02082d74Ei kind:function(arm,size=0x10) addr:0x02082d14
_ZN10MapManager18func_ov00_02082d84EP5Vec2bPiS2_ kind:function(arm,size=0x98) addr:0x02082d24
_ZN10MapManager18func_ov00_02082d84EP7TilePosPiS2_ kind:function(arm,size=0x98) addr:0x02082d24
_ZN10MapManager18func_ov00_02082e1cEPiS0_ kind:function(arm,size=0x250) addr:0x02082dbc
_ZN10MapManager18func_ov00_0208306cEPiS0_ kind:function(arm,size=0xf0) addr:0x0208300c
_ZN10MapManager18func_ov00_0208315cEPiS0_ kind:function(arm,size=0xe8) addr:0x020830fc
@@ -566,7 +566,7 @@ _ZN10MapManager12GetMapCenterEP5Vec3p kind:function(arm,size=0x20) addr:0x020833
_ZN10MapManager18func_ov00_0208346cEP4AABB kind:function(arm,size=0x50) addr:0x0208340c
_ZN10MapManager18func_ov00_020834bcEP5Vec3pii kind:function(arm,size=0x68) addr:0x0208345c
_ZN10MapManager18func_ov00_02083524EP5Vec3pii kind:function(arm,size=0x3c) addr:0x020834c4
_ZN10MapManager18func_ov00_02083560EP5Vec2bPS_j kind:function(arm,size=0x10) addr:0x02083500
_ZN10MapManager18func_ov00_02083560Ej kind:function(arm,size=0x10) addr:0x02083500
_ZN10MapManager18func_ov00_02083570Ehh kind:function(arm,size=0x18) addr:0x02083510
_ZN10MapManager18func_ov00_02083588Ev kind:function(arm,size=0x1c) addr:0x02083528
_ZN10MapManager18func_ov00_020835a4Ev kind:function(arm,size=0x10) addr:0x02083544
@@ -601,37 +601,37 @@ _ZN10MapManager18func_ov00_020839b4Ei kind:function(arm,size=0x10) addr:0x020839
_ZN10MapManager18func_ov00_020839c4Ei kind:function(arm,size=0x10) addr:0x02083964
_ZN10MapManager18func_ov00_020839d4Ei kind:function(arm,size=0x24) addr:0x02083974
_ZN10MapManager18func_ov00_020839f8Ei kind:function(arm,size=0x24) addr:0x02083998
_ZN10MapManager18func_ov00_02083a1cEP5Vec2bPS_P5Vec3p kind:function(arm,size=0x38) addr:0x020839bc
_ZN10MapManager18func_ov00_02083a54EP5Vec2bPS_P5Vec3pii kind:function(arm,size=0x130) addr:0x020839f4
_ZN10MapManager18func_ov00_02083a1cEP5Vec3p kind:function(arm,size=0x38) addr:0x020839bc
_ZN10MapManager18func_ov00_02083a54EP5Vec3pii kind:function(arm,size=0x130) addr:0x020839f4
_ZN10MapManager13GetTileStartXEi kind:function(arm,size=0x28) addr:0x02083b24
_ZN10MapManager13GetTileStartZEi kind:function(arm,size=0x28) addr:0x02083b4c
_ZN10MapManager11GetTileEndXEi kind:function(arm,size=0x28) addr:0x02083b74
_ZN10MapManager11GetTileEndZEi kind:function(arm,size=0x28) addr:0x02083b9c
_ZN10MapManager18func_ov00_02083c24Ei kind:function(arm,size=0x2c) addr:0x02083bc4
_ZN10MapManager18func_ov00_02083c50Ei kind:function(arm,size=0x2c) addr:0x02083bf0
_ZN10MapManager18func_ov00_02083c7cEP5Vec3p5Vec2b kind:function(arm,size=0x6c) addr:0x02083c1c
_ZN10MapManager18func_ov00_02083ce8EP5Vec3p5Vec2bij kind:function(arm,size=0x14c) addr:0x02083c88
_ZN10MapManager18func_ov00_02083c7cEP5Vec3p7TilePos kind:function(arm,size=0x6c) addr:0x02083c1c
_ZN10MapManager18func_ov00_02083ce8EP5Vec3p7TilePosij kind:function(arm,size=0x14c) addr:0x02083c88
_ZN10MapManager18func_ov00_02083e34Ecci kind:function(arm,size=0x24) addr:0x02083dd4
_ZN10MapManager16MapData_vfunc_60EP5Vec2b kind:function(arm,size=0x18) addr:0x02083df8
_ZN10MapManager18func_ov00_02083e70EP5Vec2b kind:function(arm,size=0x70) addr:0x02083e10
_ZN10MapManager16MapData_vfunc_60EP7TilePos kind:function(arm,size=0x18) addr:0x02083df8
_ZN10MapManager18func_ov00_02083e70EP7TilePos kind:function(arm,size=0x70) addr:0x02083e10
_ZN10MapManager16MapData_vfunc_68EP5Vec3pb kind:function(arm,size=0x18) addr:0x02083e80
_ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_b kind:function(arm,size=0x4c) addr:0x02083e98
_ZN10MapManager18func_ov00_02083f44EP5Vec3pb kind:function(arm,size=0x3c) addr:0x02083ee4
_ZN10MapManager16MapData_vfunc_6cEiii kind:function(arm,size=0x18) addr:0x02083f20
_ZN10MapManager16MapData_vfunc_70EP5Vec3p kind:function(arm,size=0x18) addr:0x02083f38
_ZN10MapManager18func_ov00_02083fb0EPjPS_P5Vec3p kind:function(arm,size=0x74) addr:0x02083f50
_ZN10MapManager18GetTileWorldBoundsEP5Vec2bP4AABB kind:function(arm,size=0x64) addr:0x02083fc4
_ZN10MapManager16MapData_vfunc_54EP5Vec2b kind:function(arm,size=0x18) addr:0x02084028
_ZN10MapManager18GetTileWorldBoundsEP7TilePosP4AABB kind:function(arm,size=0x64) addr:0x02083fc4
_ZN10MapManager16MapData_vfunc_54EP7TilePos kind:function(arm,size=0x18) addr:0x02084028
_ZN10MapManager18func_ov00_020840a0Ehh kind:function(arm,size=0x24) addr:0x02084040
_ZN10MapManager16MapData_vfunc_78EP5Vec2b kind:function(arm,size=0x18) addr:0x02084064
_ZN10MapManager18func_ov00_020840dcEP5Vec2b kind:function(arm,size=0x24) addr:0x0208407c
_ZN10MapManager16MapData_vfunc_78EP7TilePos kind:function(arm,size=0x18) addr:0x02084064
_ZN10MapManager18func_ov00_020840dcEP7TilePos kind:function(arm,size=0x24) addr:0x0208407c
_ZN10MapManager18func_ov00_02084100EPiPS_ kind:function(arm,size=0x14) addr:0x020840a0
_ZN10MapManager17GetMapData_Unk_48Ev kind:function(arm,size=0xc) addr:0x020840b4
_ZN10MapManager17GetMapData_Unk_4cEv kind:function(arm,size=0xc) addr:0x020840c0
_ZN10MapManager18func_ov00_0208412cEv kind:function(arm,size=0x10) addr:0x020840cc
_ZN10MapManager18func_ov00_0208413cEi kind:function(arm,size=0x10) addr:0x020840dc
_ZN10MapManager16MapData_vfunc_58EP5Vec2bi kind:function(arm,size=0x18) addr:0x020840ec
_ZN10MapManager18func_ov00_02084164EP5Vec2b kind:function(arm,size=0x1a8) addr:0x02084104
_ZN10MapManager16MapData_vfunc_58EP7TilePosi kind:function(arm,size=0x18) addr:0x020840ec
_ZN10MapManager18func_ov00_02084164EP7TilePos kind:function(arm,size=0x1a8) addr:0x02084104
_ZN10MapManager17GetMapData_Unk_0aEv kind:function(arm,size=0xc) addr:0x020842ac
_ZN10MapManager17GetMapData_Unk_0bEv kind:function(arm,size=0xc) addr:0x020842b8
_ZN10MapManager16MapData_vfunc_a4EPc kind:function(arm,size=0x18) addr:0x020842c4
@@ -686,7 +686,7 @@ _ZN10MapManager18func_ov00_02085c60EP5Vec3pPiS2_j kind:function(arm,size=0x3e4)
_ZN10MapManager18func_ov00_02086044EP5Vec3pS1_i kind:function(arm,size=0x240) addr:0x02085fe4
_ZN10MapManager18func_ov00_02086284EPiP5Vec3pS2_itS2_S2_ kind:function(arm,size=0x800) addr:0x02086224
_ZN10MapManager18func_ov00_02086a84EPiP5Vec3pS2_iiiS2_S2_ kind:function(arm,size=0x24c) addr:0x02086a24
func_ov000_02086cd0 kind:function(arm,size=0x4) addr:0x02086c70
_ZN15MapManager_Unk1D1Ev kind:function(arm,size=0x4) addr:0x02086c70
func_ov000_02086cd4 kind:function(arm,size=0xd4) addr:0x02086c74
func_ov000_02086da8 kind:function(arm,size=0xd8) addr:0x02086d48
func_ov000_02086e80 kind:function(arm,size=0x20) addr:0x02086e20
@@ -1091,7 +1091,7 @@ func_ov000_0209394c kind:function(arm,size=0xc) addr:0x020938ec
func_ov000_02093958 kind:function(arm,size=0x10) addr:0x020938f8
func_ov000_02093968 kind:function(arm,size=0x78) addr:0x02093908
func_ov000_020939e0 kind:function(arm,size=0x3c) addr:0x02093980
func_ov000_02093a1c kind:function(arm,size=0x20) addr:0x020939bc
_Z19func_ov000_02093a1cPjPii kind:function(arm,size=0x20) addr:0x020939bc
func_ov000_02093a3c kind:function(arm,size=0x10) addr:0x020939dc
func_ov000_02093a4c kind:function(arm,size=0x10) addr:0x020939ec
func_ov000_02093a5c kind:function(arm,size=0x94) addr:0x020939fc
@@ -1235,8 +1235,8 @@ func_ov000_02095fe0 kind:function(arm,size=0x180) addr:0x02095f80
func_ov000_02096160 kind:function(arm,size=0x98) addr:0x02096100
func_ov000_020961f8 kind:function(arm,size=0x24) addr:0x02096198
func_ov000_0209621c kind:function(arm,size=0x108) addr:0x020961bc
func_ov000_02096324 kind:function(arm,size=0xf4) addr:0x020962c4
func_ov000_02096418 kind:function(arm,size=0xb4) addr:0x020963b8
_Z19func_ov000_02096324PiS_ kind:function(arm,size=0xf4) addr:0x020962c4
_Z19func_ov000_02096418Pi kind:function(arm,size=0xb4) addr:0x020963b8
func_ov000_020964cc kind:function(arm,size=0xf4) addr:0x0209646c
func_ov000_020965c0 kind:function(arm,size=0x1ec) addr:0x02096560
func_ov000_020967ac kind:function(arm,size=0x250) addr:0x0209674c
@@ -2184,7 +2184,7 @@ _ZN13PlayerControl18func_ov00_020aeef8Ev kind:function(arm,size=0x38) addr:0x020
_ZN13PlayerControl18func_ov00_020aef30Ev kind:function(thumb,size=0x38) addr:0x020aeed0
_ZN13PlayerControl9UpdateAimEv kind:function(thumb,size=0x94) addr:0x020aef08
_ZN13PlayerControl14GetFollowActorEv kind:function(arm,size=0x20) addr:0x020aef9c
_ZN13PlayerControl18func_ov00_020af01cEP5Vec2b kind:function(arm,size=0x28) addr:0x020aefbc
_ZN13PlayerControl18func_ov00_020af01cEP7TilePos kind:function(arm,size=0x28) addr:0x020aefbc
_ZN13PlayerControl9SetUnk_80Ev kind:function(arm,size=0xc) addr:0x020aefe4
_ZN13PlayerControl13StopFollowingEv kind:function(arm,size=0x1c) addr:0x020aeff0
_ZN13PlayerControl18func_ov00_020af06cEv kind:function(arm,size=0x22c) addr:0x020af00c
@@ -2833,19 +2833,19 @@ _ZN5Actor8vfunc_b0Ev kind:function(arm,size=0x4) addr:0x020c31cc
_ZN5Actor10GetLinkPosEP5Vec3p kind:function(arm,size=0x60) addr:0x020c31d0
_ZN5Actor15GetLinkDummyPosEP5Vec3p kind:function(arm,size=0x98) addr:0x020c3230
_ZN19Actor_UnkStruct_09cC2Ev kind:function(arm,size=0x20) addr:0x020c32c8
_Z19func_ov000_020c3348P17ActorSpawnOptions kind:function(arm,size=0x24) addr:0x020c32e8
_ZN17ActorSpawnOptions19func_ov000_020c3348Ev kind:function(arm,size=0x24) addr:0x020c32e8
func_ov000_020c336c kind:function(thumb,size=0x1a) addr:0x020c330c
func_ov000_020c3388 kind:function(thumb,size=0x28) addr:0x020c3328
func_ov000_020c33b0 kind:function(thumb,size=0x24) addr:0x020c3350
_ZN12ActorManager11DeleteActorEjb kind:function(arm,size=0xb0) addr:0x020c3374
_ZN12ActorManager18func_ov00_020c3484EP8ActorRefPS_i kind:function(arm,size=0xf8) addr:0x020c3424
_ZN12ActorManager18func_ov00_020c3484Ei kind:function(arm,size=0xf8) addr:0x020c3424
_ZN12ActorManager14Actor_vfunc_10Ej kind:function(arm,size=0x5c) addr:0x020c351c
_ZN12ActorManager13FindActorByIdEi kind:function(arm,size=0x9c) addr:0x020c3578
_ZN12ActorManager8GetActorEP8ActorRef kind:function(arm,size=0x40) addr:0x020c3614
_ZN11FilterActor6FilterEP5Actor kind:function(arm,size=0x138) addr:0x020c3654
_ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList kind:function(arm,size=0xa8) addr:0x020c378c
_ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j kind:function(arm,size=0x68) addr:0x020c3834
_ZN12ActorManager22FindNearestActorOfTypeEP8ActorRefPS_jP5Vec3p kind:function(arm,size=0x90) addr:0x020c389c
_ZN12ActorManager15FindActorByTypeEj kind:function(arm,size=0x68) addr:0x020c3834
_ZN12ActorManager22FindNearestActorOfTypeEjP5Vec3p kind:function(arm,size=0x90) addr:0x020c389c
_ZN12ActorManager18func_ov00_020c398cEj kind:function(arm,size=0x10) addr:0x020c392c
_ZN12ActorManager18func_ov00_020c399cEjP8Cylinder kind:function(arm,size=0x10) addr:0x020c393c
_ZN12ActorManager18func_ov00_020c39acEiPKjb kind:function(arm,size=0x180) addr:0x020c394c
@@ -3610,11 +3610,11 @@ func_ov000_020d7524 kind:function(arm,size=0x68) addr:0x020d74c4
func_ov000_020d758c kind:function(arm,size=0x3c) addr:0x020d752c
func_ov000_020d75c8 kind:function(arm,size=0x14) addr:0x020d7568
func_ov000_020d75dc kind:function(arm,size=0x208) addr:0x020d757c
func_ov000_020d77e4 kind:function(arm,size=0x9c) addr:0x020d7784
_ZN18UnkStruct_020eec9c19func_ov000_020d77e4Ei kind:function(arm,size=0x9c) addr:0x020d7784
func_ov000_020d7880 kind:function(arm,size=0x20) addr:0x020d7820
func_ov000_020d78a0 kind:function(arm,size=0x1e4) addr:0x020d7840
func_ov000_020d7a84 kind:function(arm,size=0x50) addr:0x020d7a24
func_ov000_020d7ad4 kind:function(arm,size=0x4c) addr:0x020d7a74
_ZN18UnkStruct_020eec9c19func_ov000_020d7ad4Ei kind:function(arm,size=0x4c) addr:0x020d7a74
func_ov000_020d7b20 kind:function(arm,size=0x40) addr:0x020d7ac0
func_ov000_020d7b60 kind:function(arm,size=0x20) addr:0x020d7b00
func_ov000_020d7b80 kind:function(arm,size=0xec) addr:0x020d7b20
@@ -3940,7 +3940,7 @@ __sinit_ov000_020df4a4 kind:function(arm,size=0x14) addr:0x020df444
__sinit_ov000_020df4b8 kind:function(arm,size=0x14) addr:0x020df458
__sinit_ov000_020df4cc kind:function(arm,size=0x174) addr:0x020df46c
__sinit_ov000_020df640 kind:function(arm,size=0x38) addr:0x020df5e0
__sinit_ActorSwitchObject.cpp kind:function(arm,size=0x40) addr:0x020df618
__sinit_ActorSwitchObject.cpp kind:function(arm,size=0x40) addr:0x020df618 local
__sinit_ov000_020df6b8 kind:function(arm,size=0x40) addr:0x020df658
__sinit_ActorEventIcon.cpp kind:function(arm,size=0x40) addr:0x020df698 local
__sinit_ov000_020df738 kind:function(arm,size=0x38) addr:0x020df6d8
@@ -3996,7 +3996,7 @@ __sinit_ov000_020e1e74 kind:function(arm,size=0x14) addr:0x020e1e14
.p__sinit_ov000_020df4b8 kind:data(word) addr:0x020e1e58
.p__sinit_ov000_020df4cc kind:data(word) addr:0x020e1e5c
.p__sinit_ov000_020df640 kind:data(word) addr:0x020e1e60
.p__sinit_ov000_020df678 kind:data(word) addr:0x020e1e64
.p__sinit_ActorSwitchObject.cpp kind:data(word) addr:0x020e1e64 local
.p__sinit_ov000_020df6b8 kind:data(word) addr:0x020e1e68
.p__sinit_ActorEventIcon.cpp kind:data(word) addr:0x020e1e6c local
.p__sinit_ov000_020df738 kind:data(word) addr:0x020e1e70
@@ -4096,7 +4096,7 @@ data_ov000_020e2494 kind:data(any) addr:0x020e2434
data_ov000_020e2498 kind:data(any) addr:0x020e2438
data_ov000_020e249c kind:data(any) addr:0x020e243c
data_ov000_020e24a0 kind:data(any) addr:0x020e2440
data_ov000_020e24a4 kind:data(any) addr:0x020e2444
sShipParts kind:data(any) addr:0x020e2444 local
data_ov000_020e24c4 kind:data(any) addr:0x020e2464
data_ov000_020e24c8 kind:data(any) addr:0x020e2468
data_ov000_020e24cc kind:data(any) addr:0x020e246c
@@ -5129,7 +5129,7 @@ data_ov000_020e71b4 kind:data(any) addr:0x020e7154
data_ov000_020e71b8 kind:data(any) addr:0x020e7158
data_ov000_020e71bc kind:data(any) addr:0x020e715c
sShipTypes kind:data(any) addr:0x020e7160
_ZTV17KillPickupsFilter kind:data(any) addr:0x020e7188
_ZTV17KillPickupsFilter kind:data(any) addr:0x020e7180
_ZTV5Actor kind:data(any) addr:0x020e7194
@1038 kind:data(any) addr:0x020e7248 local
@1037 kind:data(any) addr:0x020e724c local
@@ -5891,21 +5891,21 @@ data_ov000_020ec864 kind:bss addr:0x020ec804
data_ov000_020ec8a4 kind:bss addr:0x020ec844
data_ov000_020ec8e4 kind:bss addr:0x020ec884
data_ov000_020ec924 kind:bss addr:0x020ec8c4
data_ov000_020ec964 kind:bss addr:0x020ec904
data_ov000_020ec970 kind:bss addr:0x020ec910
data_ov000_020ec97c kind:bss addr:0x020ec91c
data_ov000_020ec988 kind:bss addr:0x020ec928
data_ov000_020ec994 kind:bss addr:0x020ec934
data_ov000_020ec9a0 kind:bss addr:0x020ec940
data_ov000_020ec9ac kind:bss addr:0x020ec94c
data_ov000_020ec9b8 kind:bss addr:0x020ec958
@2243 kind:bss addr:0x020ec904 local
@2246 kind:bss addr:0x020ec910 local
@2249 kind:bss addr:0x020ec91c local
@2252 kind:bss addr:0x020ec928 local
@2254 kind:bss addr:0x020ec934 local
@2257 kind:bss addr:0x020ec940 local
@2260 kind:bss addr:0x020ec94c local
@2263 kind:bss addr:0x020ec958 local
data_ov000_020ec9c8 kind:bss addr:0x020ec968
data_ov000_020ec9d4 kind:bss addr:0x020ec974
data_ov000_020ec9d6 kind:bss addr:0x020ec976
data_ov000_020ec9d8 kind:bss addr:0x020ec978
data_ov000_020ecd50 kind:bss addr:0x020eccf0
data_ov000_020ecd58 kind:bss addr:0x020eccf8
data_ov000_020ecd64 kind:bss addr:0x020ecd04
@1240 kind:bss addr:0x020ecd04 local
_ZN17ActorSwitchObject5gTypeE kind:bss addr:0x020ecd10
data_ov000_020ecd84 kind:bss addr:0x020ecd24
data_ov000_020ecd90 kind:bss addr:0x020ecd30
+5 -5
View File
@@ -41,7 +41,7 @@ _ZN10MapManager7DestroyEv kind:function(thumb,size=0x24) addr:0x02101f68
_ZN10MapManager17LoadMapTexSpritesEi kind:function(thumb,size=0x254) addr:0x02101f8c
_ZN10MapManager19func_ov004_02102260Ev kind:function(thumb,size=0x2) addr:0x021021e0
_ZN10MapManager19func_ov004_02102264EPiPc kind:function(thumb,size=0x260) addr:0x021021e4
_ZN10MapManager19func_ov004_021024c4Eiii kind:function(thumb,size=0x114) addr:0x02102444
_ZN10MapManager19func_ov004_021024c4EP9FlagsUnk2bb kind:function(thumb,size=0x114) addr:0x02102444
_ZN10MapManager19func_ov004_021025d8Ev kind:function(thumb,size=0x10) addr:0x02102558
func_ov004_021025e8 kind:function(thumb,size=0x34) addr:0x02102568
func_ov004_0210261c kind:function(arm,size=0x4) addr:0x0210259c
@@ -51,7 +51,7 @@ func_ov004_021026cc kind:function(thumb,size=0x24) addr:0x0210264c
func_ov004_021026f0 kind:function(thumb,size=0x4c) addr:0x02102670
func_ov004_0210273c kind:function(thumb,size=0xc) addr:0x021026bc
func_ov004_02102748 kind:function(thumb,size=0x26) addr:0x021026c8
_Z19func_ov004_02102770Pi kind:function(thumb,size=0x44) addr:0x021026f0
_ZN18UnkStruct_027e0f6c19func_ov004_02102770Ev kind:function(thumb,size=0x44) addr:0x021026f0
func_ov004_021027b4 kind:function(arm,size=0x28) addr:0x02102734
func_ov004_021027dc kind:function(arm,size=0x4) addr:0x0210275c
func_ov004_021027e0 kind:function(arm,size=0x14) addr:0x02102760
@@ -72,7 +72,7 @@ func_ov004_02102aa0 kind:function(thumb,size=0x38) addr:0x02102a20
func_ov004_02102ad8 kind:function(thumb,size=0x1e) addr:0x02102a58
func_ov004_02102af8 kind:function(thumb,size=0x6) addr:0x02102a78
func_ov004_02102b00 kind:function(thumb,size=0x28) addr:0x02102a80
func_ov004_02102b28 kind:function(thumb,size=0x54) addr:0x02102aa8
_ZN18UnkStruct_027e0f6819func_ov004_02102b28Ev kind:function(thumb,size=0x54) addr:0x02102aa8
func_ov004_02102b7c kind:function(arm,size=0x14) addr:0x02102afc
func_ov004_02102b90 kind:function(arm,size=0x14) addr:0x02102b10
func_ov004_02102ba4 kind:function(arm,size=0x44) addr:0x02102b24
@@ -86,7 +86,7 @@ func_ov004_02102da4 kind:function(thumb,size=0x44) addr:0x02102d24
func_ov004_02102de8 kind:function(thumb,size=0x2) addr:0x02102d68
func_ov004_02102dec kind:function(thumb,size=0x2c) addr:0x02102d6c
func_ov004_02102e18 kind:function(thumb,size=0x24) addr:0x02102d98
func_ov004_02102e3c kind:function(thumb,size=0x1c) addr:0x02102dbc
_ZN18UnkStruct_027e0f7819func_ov004_02102e3cEv kind:function(thumb,size=0x1c) addr:0x02102dbc
func_ov004_02102e58 kind:function(thumb,size=0x5ec) addr:0x02102dd8
func_ov004_02103444 kind:function(thumb,size=0xb8) addr:0x021033c4
func_ov004_021034fc kind:function(thumb,size=0xbc) addr:0x0210347c
@@ -203,7 +203,7 @@ func_ov004_021069c4 kind:function(thumb,size=0x31c) addr:0x02106944
func_ov004_02106ce0 kind:function(thumb,size=0x80) addr:0x02106c60
func_ov004_02106d60 kind:function(thumb,size=0x44) addr:0x02106ce0
func_ov004_02106da4 kind:function(thumb,size=0x12) addr:0x02106d24
func_ov004_02106db8 kind:function(thumb,size=0x50) addr:0x02106d38
_ZN14MessageManager19func_ov004_02106db8Ev kind:function(thumb,size=0x50) addr:0x02106d38
func_ov004_02106e08 kind:function(thumb,size=0x1bc) addr:0x02106d88
func_ov004_02106fc4 kind:function(thumb,size=0xc) addr:0x02106f44
func_ov004_02106fd0 kind:function(thumb,size=0x154) addr:0x02106f50
+1 -1
View File
@@ -665,7 +665,7 @@ func_ov012_0212b31c kind:function(arm,size=0x20) addr:0x0212b29c
func_ov012_0212b33c kind:function(arm,size=0xc) addr:0x0212b2bc
func_ov012_0212b348 kind:function(arm,size=0x8) addr:0x0212b2c8
func_ov012_0212b350 kind:function(arm,size=0x8) addr:0x0212b2d0
func_ov012_0212b358 kind:function(arm,size=0xf8) addr:0x0212b2d8
_ZN18UnkStruct_0212b358C1Ejj kind:function(arm,size=0xf8) addr:0x0212b2d8
func_ov012_0212b450 kind:function(arm,size=0x88) addr:0x0212b3d0
func_ov012_0212b4d8 kind:function(arm,size=0x90) addr:0x0212b458
func_ov012_0212b568 kind:function(arm,size=0x94) addr:0x0212b4e8
+6 -6
View File
@@ -253,7 +253,7 @@ func_ov015_02128b9c kind:function(arm,size=0x90) addr:0x02128b1c
func_ov015_02128c2c kind:function(arm,size=0x140) addr:0x02128bac
func_ov015_02128d6c kind:function(arm,size=0x20) addr:0x02128cec
func_ov015_02128d8c kind:function(arm,size=0x4c) addr:0x02128d0c
func_ov015_02128dd8 kind:function(arm,size=0xac) addr:0x02128d58
_ZN18UnkStruct_02128dd8C1Ejj kind:function(arm,size=0xac) addr:0x02128d58
func_ov015_02128e84 kind:function(arm,size=0xcc) addr:0x02128e04
func_ov015_02128f50 kind:function(arm,size=0xd4) addr:0x02128ed0
func_ov015_02129024 kind:function(arm,size=0x220) addr:0x02128fa4
@@ -287,10 +287,10 @@ func_ov015_02129b30 kind:function(arm,size=0x8) addr:0x02129ab0
func_ov015_02129b38 kind:function(arm,size=0x18) addr:0x02129ab8
func_ov015_02129b50 kind:function(arm,size=0xb4) addr:0x02129ad0
func_ov015_02129c04 kind:function(arm,size=0x10) addr:0x02129b84
func_ov015_02129c14 kind:function(arm,size=0x10) addr:0x02129b94
func_ov015_02129c24 kind:function(arm,size=0x10) addr:0x02129ba4
func_ov015_02129c34 kind:function(arm,size=0x10) addr:0x02129bb4
func_ov015_02129c44 kind:function(arm,size=0x10) addr:0x02129bc4
_ZN7MapBase19func_ov015_02129c14Ev kind:function(arm,size=0x10) addr:0x02129b94
_ZN7MapBase19func_ov015_02129c24EP5Vec3pS1_ kind:function(arm,size=0x10) addr:0x02129ba4
_ZN7MapBase19func_ov015_02129c34Ei kind:function(arm,size=0x10) addr:0x02129bb4
_ZN7MapBase19func_ov015_02129c44Ei kind:function(arm,size=0x10) addr:0x02129bc4
func_ov015_02129c54 kind:function(arm,size=0x50) addr:0x02129bd4
func_ov015_02129ca4 kind:function(arm,size=0x44) addr:0x02129c24
func_ov015_02129ce8 kind:function(arm,size=0xac) addr:0x02129c68
@@ -1986,7 +1986,7 @@ func_ov015_021847bc kind:function(arm,size=0x7c) addr:0x0218473c
func_ov015_02184838 kind:function(arm,size=0xa4) addr:0x021847b8
func_ov015_021848dc kind:function(arm,size=0x8c) addr:0x0218485c
func_ov015_02184968 kind:function(arm,size=0x3c) addr:0x021848e8
func_ov015_021849a4 kind:function(arm,size=0x1c) addr:0x02184924
_Z19func_ov015_021849a4Pi kind:function(arm,size=0x1c) addr:0x02184924
func_ov015_021849c0 kind:function(arm,size=0x1c) addr:0x02184940
func_ov015_021849dc kind:function(arm,size=0x10) addr:0x0218495c
func_ov015_021849ec kind:function(arm,size=0x54) addr:0x0218496c
+2 -2
View File
@@ -1,6 +1,6 @@
func_ov017_0215b4a0 kind:function(arm,size=0x2c) addr:0x0215b400
_ZN18UnkStruct_0215b4a0C1Ejj kind:function(arm,size=0x2c) addr:0x0215b400
func_ov017_0215b4cc kind:function(arm,size=0x1c) addr:0x0215b42c
func_ov017_0215b4e8 kind:function(thumb,size=0xf0) addr:0x0215b448
_ZN18UnkStruct_0215b4e8C1Ejj kind:function(thumb,size=0xf0) addr:0x0215b448
func_ov017_0215b5d8 kind:function(thumb,size=0x94) addr:0x0215b538
func_ov017_0215b66c kind:function(thumb,size=0x9c) addr:0x0215b5cc
func_ov017_0215b708 kind:function(thumb,size=0x5c) addr:0x0215b668
+3 -3
View File
@@ -78,13 +78,13 @@ public:
/* c4 */
void DeleteActor(u32 index, bool param2);
static void func_ov00_020c3484(ActorRef *ref, ActorManager *actorMgr, unk32 param3);
ActorRef func_ov00_020c3484(unk32 param3);
void Actor_vfunc_10(u32 param1);
Actor *FindActorById(s32 id);
Actor *GetActor(ActorRef *ref);
s32 FilterActors(FilterActorBase *filter, ActorList *filteredActors);
static void FindActorByType(ActorRef *ref, ActorManager *actorMgr, ActorTypeId type);
static void FindNearestActorOfType(ActorRef *ref, ActorManager *actorMgr, ActorTypeId type, Vec3p *pos);
ActorRef FindActorByType(ActorTypeId type);
ActorRef FindNearestActorOfType(ActorTypeId type, Vec3p *pos);
bool func_ov00_020c398c(u32 index);
void func_ov00_020c399c(u32 index, Cylinder *cylinder);
Actor *func_ov00_020c39ac(s32 index, const ActorTypeId *actorTypes, bool param3);
+3 -1
View File
@@ -8,7 +8,9 @@ struct ActorRef {
/* 4 */ s32 index;
/* 8 */
inline ActorRef() {}
inline ActorRef() {
Reset();
}
inline ActorRef(s32 id, s32 index) :
id(id),
index(index) {}
+6
View File
@@ -19,6 +19,12 @@ struct ActorSpawnOptions {
/* 24 */ unk32 mUnk_24;
/* 28 */ unk32 mUnk_28;
/* 2c */
void func_ov000_020c3348();
inline ActorSpawnOptions() :
mUnk_1c(-1, -1) {
func_ov000_020c3348();
}
};
class ActorSpawner : public SysObject {
+9 -2
View File
@@ -17,7 +17,7 @@ public:
/* 164 */ unk32 mUnk_164;
/* 168 */ unk32 mUnk_168;
/* 16c */ u32 mUnk_16c;
/* 170 */ ActorRef mUnk_170[5];
/* 170 */ ActorRef mTrapActors[5];
/* 198 */
/* 00 */ virtual ~ActorSwitchObject() override;
@@ -27,10 +27,17 @@ public:
/* 18 */ virtual void vfunc_18(u32 param1) override;
/* b4 */
inline ActorSwitchObject() :
mUnk_158(0),
mUnk_15c(0),
mUnk_160(0),
mUnk_164(0),
mUnk_168(0) {}
static ActorSwitchObject *Create();
bool func_ov000_0208fc10(s32 param1);
void func_ov000_0208fc7c();
bool func_ov000_0208fcb4();
unk32 func_ov000_0208fcb4();
void func_ov000_0208fef8();
void func_ov000_0209032c();
};
-10
View File
@@ -20,14 +20,4 @@ public:
class FilterActorReturn {
public:
/* 00 */ ActorRef refs[20];
inline FilterActorReturn() {
ActorRef *ref = refs;
ActorRef *end;
do {
end = &refs[20];
ref->Reset();
ref++;
} while (ref < end);
}
};
+6 -5
View File
@@ -5,6 +5,7 @@
#include "Map/Course_Unk_c8.hpp"
#include "Map/MapData.hpp"
#include "Map/TilePos.hpp"
#include "Physics/AABB.hpp"
#include "System/SysNew.hpp"
@@ -32,11 +33,11 @@ public:
/* 004 */ CourseType mType;
/* 008 */ unk32 mUnk_008;
/* 00c */ char mName[0x10];
/* 01c */ Vec2b mCurrMapPos; // position in the map grid
/* 01e */ Vec2b mUnk_01e;
/* 01c */ TilePos mCurrMapPos; // position in the map grid
/* 01e */ TilePos mUnk_01e;
/* 020 */ u8 mMapGrid[10][10];
/* 084 */ Vec2b mMainGrid; // part of the grid where you can walk off screen to another map
/* 086 */ Vec2b mMainGridSize;
/* 084 */ TilePos mMainGrid; // part of the grid where you can walk off screen to another map
/* 086 */ TilePos mMainGridSize;
/* 088 */ s32 mScreenMapOffsetX;
/* 08c */ s32 mScreenMapOffsetY;
/* 090 */ unk32 mUnk_090;
@@ -68,7 +69,7 @@ public:
void func_ov00_0207ca78(unk32 param_2, unk8 param_3, unk32 param_4);
bool func_ov00_0207caa8(s32 param_2, unk32 *param_3, unk8 *param_4);
unk32 func_ov00_0207cb30(s32 param_2);
static void FindMapGridPos(Vec2b *pos, Course *param_2, u32 map);
TilePos FindMapGridPos(u32 map);
Vec3p *FindMapCenter(unk32 map);
void func_ov00_0207cbe8(s32 param_2);
unk8 func_ov00_0207cc24(s32 param_2);
+9 -9
View File
@@ -135,22 +135,22 @@ public:
/* 48 */ virtual void vfunc_48();
/* 4c */ virtual s32 vfunc_4c();
/* 50 */ virtual unk32 vfunc_50();
/* 54 */ virtual unk32 vfunc_54(Vec2b *param_1);
/* 58 */ virtual unk32 vfunc_58(Vec2b *param_1, int param_2);
/* 54 */ virtual unk32 vfunc_54(TilePos *param_1);
/* 58 */ virtual unk32 vfunc_58(TilePos *param_1, int param_2);
/* 5c */ virtual unk32 vfunc_5c();
/* 60 */ virtual unk32 vfunc_60(Vec2b *param_1);
/* 60 */ virtual unk32 vfunc_60(TilePos *param_1);
/* 64 */ virtual unk32 vfunc_64();
/* 68 */ virtual unk32 vfunc_68(Vec3p *param_1, bool param_2);
/* 6c */ virtual unk8 vfunc_6c(unk32 param_2, unk32 param_3, unk32 param_4);
/* 70 */ virtual unk32 vfunc_70(Vec3p *param_2);
/* 74 */ virtual unk32 *vfunc_74(Vec3p *param_2);
/* 78 */ virtual unk32 *vfunc_78(Vec2b *param_1);
/* 78 */ virtual unk32 *vfunc_78(TilePos *param_1);
/* 7c */ virtual s32 vfunc_7c(s32 param_1, unk32 *param_2, s32 param_3, short param_4[4]);
/* 80 */ virtual unk32 vfunc_80();
/* 84 */ virtual void vfunc_84(unk32 param_2);
/* 88 */ virtual unk32 vfunc_88();
/* 8c */ virtual unk32 vfunc_8c();
/* 90 */ virtual unk8 vfunc_90(Vec2b *param_2, unk32 param_3);
/* 90 */ virtual unk8 vfunc_90(TilePos *param_2, unk32 param_3);
/* 94 */ virtual void vfunc_94();
/* 98 */ virtual void vfunc_98(unk32 param_2, unk32 param_3, unk32 param_4);
/* 9c */ virtual void vfunc_9c();
@@ -183,13 +183,13 @@ public:
bool func_ov00_0207f38c(s32 *param_2);
void func_ov00_0207f4a4(Vec2s *param_2, unk32 param_3);
static void func_ov00_0207f53c(Vec2s *param_1, MapBase *param_2, Vec3p *param_3);
static void func_ov00_0207f588(Vec2s *param_1, MapBase *param_2, Vec2b *param_3, unk32 param_4);
static void func_ov00_0207f588(Vec2s *param_1, MapBase *param_2, TilePos *param_3, unk32 param_4);
void func_ov00_0207f630(Vec2s *param_2, Vec3p *param_3);
unk8 GetTileStartX(unk32 x);
unk8 GetTileStartZ(unk32 z);
s32 GetTileEndX(unk32 x);
s32 GetTileEndZ(unk32 z);
void GetTileBounds(Vec2b *tilePos, AABB *bounds);
void GetTileBounds(TilePos *tilePos, AABB *bounds);
s32 GetClampedTileX(s32 worldX);
s32 GetClampedTileY(s32 worldZ);
unk8 GetTileX(s32 worldX);
@@ -227,8 +227,8 @@ public:
bool AddUnk_130(s32 param_2);
bool func_ov00_020809b8(s32 param_2);
unk8 func_ov00_02080a78(Vec3p *param_2);
unk8 func_ov00_02080b24(Vec2b *param_2);
void func_ov00_02080d08(Vec2b *param_2);
unk8 func_ov00_02080b24(TilePos *param_2);
void func_ov00_02080d08(TilePos *param_2);
bool TriggerOfType_vfunc_10(unk32 type);
void func_ov00_02080de4();
unk8 func_ov00_02080de8(unk32 param_2);
+28 -14
View File
@@ -16,6 +16,9 @@ struct MapManager_Unk1 {
/* 4 */ unk32 mUnk_4;
/* 8 */
inline MapManager_Unk1(unk32 unk0, unk32 unk4) :
mUnk_0(unk0),
mUnk_4(unk4) {}
~MapManager_Unk1();
};
@@ -24,9 +27,20 @@ struct MapManager_Unk2 {
/* 4 */ unk32 mUnk_4;
/* 8 */
inline MapManager_Unk2(unk32 unk0, unk32 unk4) :
mUnk_0(unk0),
mUnk_4(unk4) {}
~MapManager_Unk2();
};
struct MapManager_Unk3 {
/* 0 */ unk32 mUnk_0;
/* 4 */
inline MapManager_Unk3(unk32 unk0) :
mUnk_0(unk0) {}
};
struct UnkStruct_0208210c_param3 {
/* 000 */ unk32 mUnk_00;
/* 004 */ unk8 mUnk_04;
@@ -117,7 +131,7 @@ public:
u8 GetCurrentMapPosY();
u8 func_ov00_02082d40();
u32 func_ov00_02082d74(unk32 param_2);
void func_ov00_02082d84(Vec2b *param_2, s32 *param_3, s32 *param_4);
void func_ov00_02082d84(TilePos *param_2, s32 *param_3, s32 *param_4);
bool func_ov00_02082e1c(s32 *param_2, s32 *param_3);
void func_ov00_0208306c(s32 *param_2, s32 *param_3);
void func_ov00_0208315c(s32 *param_2, s32 *param_3);
@@ -148,7 +162,7 @@ public:
void func_ov00_0208346c(AABB *param_2);
void func_ov00_020834bc(Vec3p *param_2, unk32 param_3, unk32 param_4);
void func_ov00_02083524(Vec3p *param_2, unk32 param_3, unk32 param_4);
static void func_ov00_02083560(Vec2b *param_1, MapManager *param_2, u32 param_3);
TilePos func_ov00_02083560(u32 param_3);
u8 func_ov00_02083570(u8 param_2, u8 param_3);
unk32 func_ov00_02083588();
unk32 func_ov00_020835a4();
@@ -183,37 +197,37 @@ public:
bool func_ov00_020839c4(s32 param_2);
s32 func_ov00_020839d4(s32 param_2);
s32 func_ov00_020839f8(s32 param_2);
static void func_ov00_02083a1c(Vec2b *param_1, MapManager *param_2, Vec3p *param_3);
static void func_ov00_02083a54(Vec2b *param_1, MapManager *param_2, Vec3p *param_3, s32 param_4, unk32 param_5);
TilePos func_ov00_02083a1c(Vec3p *param_3);
TilePos func_ov00_02083a54(Vec3p *param_3, s32 param_4, unk32 param_5);
s32 GetTileStartX(unk32 x);
s32 GetTileStartZ(unk32 z);
s32 GetTileEndX(unk32 x);
s32 GetTileEndZ(unk32 z);
s32 func_ov00_02083c24(unk32 x);
s32 func_ov00_02083c50(unk32 z);
void func_ov00_02083c7c(Vec3p *param_2, Vec2b param_3);
void func_ov00_02083ce8(Vec3p *param_2, Vec2b param_3, s32 param_4, u32 param_5);
void func_ov00_02083c7c(Vec3p *param_2, TilePos param_3);
void func_ov00_02083ce8(Vec3p *param_2, TilePos param_3, s32 param_4, u32 param_5);
s32 func_ov00_02083e34(unk8 param_2, unk8 param_3, unk32 param_4);
unk32 MapData_vfunc_60(Vec2b *param_1);
bool func_ov00_02083e70(Vec2b *param_2);
unk32 MapData_vfunc_60(TilePos *param_1);
bool func_ov00_02083e70(TilePos *param_2);
unk32 MapData_vfunc_68(Vec3p *param_1, bool param_2);
s32 func_ov00_02083ef8(Vec3p *param_2, Vec3p *param_3, bool param_4);
unk32 func_ov00_02083f44(Vec3p *param_2, bool param_3);
unk8 MapData_vfunc_6c(unk32 param_2, unk32 param_3, unk32 param_4);
unk32 MapData_vfunc_70(Vec3p *param_2);
static void func_ov00_02083fb0(u32 *param_1, MapManager *param_2, Vec3p *param_3);
void GetTileWorldBounds(Vec2b *tile, AABB *tileBounds);
unk32 MapData_vfunc_54(Vec2b *a);
void GetTileWorldBounds(TilePos *tile, AABB *tileBounds);
unk32 MapData_vfunc_54(TilePos *a);
unk32 func_ov00_020840a0(u8 param_2, u8 param_3);
unk32 *MapData_vfunc_78(Vec2b *param_1);
unk32 func_ov00_020840dc(Vec2b *param_1);
unk32 *MapData_vfunc_78(TilePos *param_1);
unk32 func_ov00_020840dc(TilePos *param_1);
static unk8 func_ov00_02084100(unk32 *param_1, MapManager *param_2);
unk32 GetMapData_Unk_48();
unk32 GetMapData_Unk_4c();
unk32 func_ov00_0208412c();
void func_ov00_0208413c(unk32 param_2);
unk8 MapData_vfunc_58(Vec2b *param_1, int param_2);
s32 func_ov00_02084164(Vec2b *param_2);
unk8 MapData_vfunc_58(TilePos *param_1, int param_2);
s32 func_ov00_02084164(TilePos *param_2);
u8 GetMapData_Unk_0a();
u8 GetMapData_Unk_0b();
unk8 MapData_vfunc_a4(unk8 *param_1);
+17
View File
@@ -0,0 +1,17 @@
#pragma once
#include "global.h"
#include "types.h"
class TilePos {
public:
u8 x;
u8 y;
inline TilePos() :
x(0),
y(0) {}
inline TilePos(u8 x, u8 y) :
x(x),
y(y) {}
};
+5 -3
View File
@@ -1,13 +1,15 @@
#pragma once
#include "global.h"
#include "nds/math.h"
#include "types.h"
#include <nds/math.h>
#include "Actor/Actor.hpp"
#include "Actor/ActorManager.hpp"
#include "Debug/DebugHierarchy.hpp"
#include "Item/Item.hpp"
#include "Map/TilePos.hpp"
#include "Player/TouchControl.hpp"
#include "Player/TouchGesture.hpp"
@@ -57,7 +59,7 @@ public:
/* 84 */ ActorRef mFollowRef;
/* 8c */ ActorRef mNextFollowRef;
/* 94 */ ActorRef mLastFollowRef;
/* 9c */ Vec2b mUnk_9c;
/* 9c */ TilePos mUnk_9c;
/* 9e */ unk8 mUnk_9e[2];
/* a0 */ void *mFollowObject;
/* a4 */ q20 mFollowDist;
@@ -78,7 +80,7 @@ public:
void func_ov00_020aef30();
void UpdateAim();
Actor *GetFollowActor();
bool func_ov00_020af01c(Vec2b *param1);
bool func_ov00_020af01c(TilePos *param1);
void SetUnk_80();
void StopFollowing();
void func_ov00_020af06c();
+1
View File
@@ -38,6 +38,7 @@ public:
void func_ov000_020d77e4(unk32);
unk32 func_ov000_020d7f18(unk32);
void func_ov000_020d7ad4(unk32);
void func_ov008_0211337c();
};
-6
View File
@@ -50,12 +50,6 @@ bool Approach(unk32 *src, unk32 dest, unk32 step);
bool Approach_thunk(unk32 *src, unk32 dest, unk32 step);
extern q4 gSinCosTable[];
typedef struct {
/* 0 */ u8 x;
/* 1 */ u8 y;
/* 2 */
} Vec2b;
typedef struct {
/* 0 */ s16 x;
/* 1 */ s16 y;
+1 -2
View File
@@ -1004,8 +1004,7 @@ ARM void Actor::GetLinkPos(Vec3p *result) {
}
ARM void Actor::GetLinkDummyPos(Vec3p *result) {
ActorRef dummyRef;
ActorManager::FindActorByType(&dummyRef, gActorManager, ActorTypeId_PlayerDummy);
ActorRef dummyRef = gActorManager->FindActorByType(ActorTypeId_PlayerDummy);
ActorPlayerDummy *dummy = (ActorPlayerDummy *) gActorManager->GetActor(&dummyRef);
if (dummy != NULL && dummy->mUnk_16e == 0) {
*result = dummy->mPos;
+21 -17
View File
@@ -45,17 +45,17 @@ ARM void ActorManager::DeleteActor(u32 index, bool param2) {
return;
}
ARM void ActorManager::func_ov00_020c3484(ActorRef *ref, ActorManager *actorMgr, unk32 param3) {
ref->Reset();
ARM ActorRef ActorManager::func_ov00_020c3484(unk32 param3) {
ActorRef ref;
if (data_027e103c->mUnk_24 == 0) {
return;
return ref;
}
q20 minDistance = 0x7fffffff;
Actor **actorIter = actorMgr->mActorTable;
Actor **actorIter = this->mActorTable;
u8 unkByte = data_02056be4[data_027e077c.GetUnk0()];
bool unk1 = (unkByte & 1) != 0;
Actor **actorTableEnd = actorIter + actorMgr->mMaxActorIndex;
Actor **actorTableEnd = actorIter + this->mMaxActorIndex;
for (; actorIter < actorTableEnd; actorIter++) {
Actor *actor = *actorIter;
@@ -65,7 +65,7 @@ ARM void ActorManager::func_ov00_020c3484(ActorRef *ref, ActorManager *actorMgr,
if ((*actorIter)->IsHitboxTouched(false)) {
q20 distance = (*actorIter)->DistanceToLink();
if (distance < minDistance) {
*ref = (*actorIter)->mRef;
ref = (*actorIter)->mRef;
minDistance = distance;
}
}
@@ -73,6 +73,7 @@ ARM void ActorManager::func_ov00_020c3484(ActorRef *ref, ActorManager *actorMgr,
}
}
}
return ref;
}
ARM void ActorManager::Actor_vfunc_10(u32 param1) {
@@ -217,39 +218,42 @@ ARM s32 ActorManager::FilterActors(FilterActorBase *filter, ActorList *filteredA
return numApplied;
}
ARM void ActorManager::FindActorByType(ActorRef *ref, ActorManager *actorMgr, ActorTypeId type) {
ref->Reset();
ARM ActorRef ActorManager::FindActorByType(ActorTypeId type) {
ActorRef ref;
Actor **actorIter = actorMgr->mActorTable;
Actor **actorTableEnd = actorIter + actorMgr->mMaxActorIndex;
Actor **actorIter = this->mActorTable;
Actor **actorTableEnd = actorIter + this->mMaxActorIndex;
for (; actorIter < actorTableEnd; actorIter++) {
Actor *actor = *actorIter;
if (actor != NULL && actor->mAlive && type == actor->mType) {
*ref = actor->mRef;
return;
ref = actor->mRef;
return ref;
}
}
return ref;
}
ARM void ActorManager::FindNearestActorOfType(ActorRef *ref, ActorManager *actorMgr, ActorTypeId type, Vec3p *pos) {
ref->Reset();
ARM ActorRef ActorManager::FindNearestActorOfType(ActorTypeId type, Vec3p *pos) {
ActorRef ref;
q20 minDistance = 0x7fffffff;
Actor **actorIter = actorMgr->mActorTable;
Actor **actorTableEnd = actorIter + actorMgr->mMaxActorIndex;
Actor **actorIter = this->mActorTable;
Actor **actorTableEnd = actorIter + this->mMaxActorIndex;
for (; actorIter < actorTableEnd; actorIter++) {
Actor *actor = *actorIter;
if (actor != NULL && actor->mAlive && type == actor->mType) {
q20 distance = Vec3p_Distance(&actor->mPos, pos);
if (distance < minDistance) {
*ref = (*actorIter)->mRef;
ref = (*actorIter)->mRef;
minDistance = distance;
}
}
}
return ref;
}
ARM bool ActorManager::func_ov00_020c398c(u32 index) {
+167 -11
View File
@@ -1,22 +1,34 @@
#include "Actor/Dungeon/ActorSwitchObject.hpp"
#include "Actor/ActorManager.hpp"
#include "Actor/ActorSpawner.hpp"
#include "Map/MapManager.hpp"
#include "Player/PlayerBase.hpp"
#include "System/Random.hpp"
#include "Unknown/UnkStruct_020eec9c.hpp"
#include <nds/math.h>
#pragma section sbss begin
ActorType ActorSwitchObject::gType = ActorType(ActorTypeId_SwitchObject, (ActorCreateFunc) ActorSwitchObject::Create, NULL);
#pragma section sbss end
ActorSwitchObject *ActorSwitchObject::Create() {}
extern u32 **data_027e0fe0[];
ARM ActorSwitchObject *ActorSwitchObject::Create() {
return new(*data_027e0fe0[0], 4) ActorSwitchObject();
}
bool ActorSwitchObject::Init() {
ARM bool ActorSwitchObject::Init() {
Actor::Init();
this->func_ov000_0208fc7c();
this->mUnk_130 = 0;
return true;
}
bool ActorSwitchObject::vfunc_0c() {
ARM bool ActorSwitchObject::vfunc_0c() {
return this->func_ov00_020c1bfc(0) ? this->func_ov000_0208fc10(1) : this->func_ov000_0208fc10(0);
}
void ActorSwitchObject::vfunc_14(u32 param1) {
ARM void ActorSwitchObject::vfunc_14(u32 param1) {
bool bVar1;
u32 uVar2;
u32 uVar3;
@@ -69,11 +81,11 @@ void ActorSwitchObject::vfunc_14(u32 param1) {
return;
}
void ActorSwitchObject::vfunc_18(u32 param1) {
ARM void ActorSwitchObject::vfunc_18(u32 param1) {
this->vfunc_14(param1);
}
bool ActorSwitchObject::func_ov000_0208fc10(s32 param1) {
ARM bool ActorSwitchObject::func_ov000_0208fc10(s32 param1) {
this->mUnk_130 = param1;
switch (param1) {
@@ -95,7 +107,7 @@ bool ActorSwitchObject::func_ov000_0208fc10(s32 param1) {
return true;
}
void ActorSwitchObject::func_ov000_0208fc7c() {
ARM void ActorSwitchObject::func_ov000_0208fc7c() {
this->mUnk_158 = this->mUnk_020.mUnk_00[1];
this->mUnk_15c = this->mUnk_020.mUnk_00[2];
this->mUnk_164 = this->mUnk_020.mUnk_0a[1];
@@ -104,14 +116,158 @@ void ActorSwitchObject::func_ov000_0208fc7c() {
this->mUnk_160 = this->mUnk_164;
}
bool ActorSwitchObject::func_ov000_0208fcb4() {}
void ActorSwitchObject::func_ov000_0208fef8() {}
ARM unk32 ActorSwitchObject::func_ov000_0208fcb4() {
switch (mUnk_15c) {
case 1:
if ((mUnk_160 > mUnk_164) && (mUnk_160 < mUnk_168)) {
for (s32 i = mUnk_164; i < mUnk_160; i++) {
if (!gMapManager->func_ov00_02084be0(i, mUnk_16c)) {
mUnk_160 = (s32) mUnk_164;
return 0;
}
}
}
if (gMapManager->func_ov00_02084be0(mUnk_160, mUnk_16c)) {
for (s32 i = mUnk_160 + 1; i < mUnk_168; i++) {
if (gMapManager->func_ov00_02084be0(i, mUnk_16c)) {
mUnk_160 = mUnk_164;
return 0;
}
}
if (mUnk_160 < mUnk_168) {
mUnk_160 += 1;
}
}
return mUnk_160 == mUnk_168;
case 2:
if (gMapManager->func_ov00_02084be0(mUnk_160, mUnk_16c) != 0) {
bool var_r8 = false;
for (s32 i = mUnk_160 + 1; i < mUnk_168; i++) {
if (gMapManager->func_ov00_02084be0(i, mUnk_16c)) {
mUnk_160 = mUnk_164;
var_r8 = true;
}
}
if (!var_r8) {
mUnk_160 += 1;
}
}
bool var_r6_3 = true;
for (s32 i = mUnk_164; i < mUnk_168; i++) {
if (gMapManager->func_ov00_02084be0(i, mUnk_16c) == 0) {
var_r6_3 = false;
break;
}
}
if (var_r6_3) {
return mUnk_160 == mUnk_168 ? 1 : 2;
}
return 0;
default:
for (s32 i = 0; i < mUnk_020.mUnk_00[0]; i++) {
if (gMapManager->func_ov00_02084be0(mUnk_164 + i, mUnk_16c) == 0) {
return 0;
}
}
return 1;
}
}
void ActorSwitchObject::func_ov000_0209032c() {
ARM void ActorSwitchObject::func_ov000_0208fef8() {
if (mUnk_130 == 1) {
return;
}
switch (mUnk_020.mUnk_00[3]) {
case 1:
data_ov000_020eec9c.func_ov000_020d77e4(0xb);
return;
case 2:
data_ov000_020eec9c.func_ov000_020d77e4(0xb);
Vec3p playerPos = {gPlayerPos.x, gPlayerPos.y, gPlayerPos.z};
Vec3p snakeSpawnCenter = {gPlayerPos.x, gPlayerPos.y + FLOAT_TO_Q20(3.0), gPlayerPos.z};
Vec3p snakeSpawnPos;
ActorSpawnOptions spawnOptions;
s32 failedSpawns = 0;
for (u32 i = 0; i < ARRAY_LEN(mTrapActors); i++) {
if (mTrapActors[i].id != -1) {
Actor *temp_r0_2 = gActorManager->GetActor(&mTrapActors[i]);
if ((temp_r0_2 != NULL) && (temp_r0_2->mType == ActorTypeId_Rope)) {
continue;
}
mTrapActors[i].Reset();
}
snakeSpawnPos.z = (gRandom.Next(0, 11) - 5) << 12;
snakeSpawnPos.y = 0;
snakeSpawnPos.x = (gRandom.Next(0, 11) - 5) << 12;
Vec3p_Add(&snakeSpawnPos, &snakeSpawnCenter, &snakeSpawnPos);
if (failedSpawns < 10) {
TilePos tilePos = gMapManager->func_ov00_02083a1c(&snakeSpawnPos);
// BUG: Should be Vec3p_Distance(&snakeSpawnCenter, &snakeSpawnPos)
if ((Vec3p_Distance(&playerPos, &snakeSpawnPos) < FLOAT_TO_Q20(2.0)) ||
(gMapManager->func_ov00_02083e70(&tilePos) != 0)) {
i -= 1;
failedSpawns += 1;
continue;
}
if (gMapManager->MapData_vfunc_78(&tilePos) != NULL) {
continue;
}
if (gMapManager->func_ov00_02084164(&tilePos) == 0) {
i -= 1;
failedSpawns += 1;
continue;
}
switch (gMapManager->MapData_vfunc_54(&tilePos)) {
case 0x5:
case 0x6:
case 0x14:
case 0x17:
case 0x1b:
case 0x1c:
case 0x1d:
case 0x1e:
case 0x1f:
case 0x2b:
case 0x37:
case 0x46:
case 0x47:
case 0x48:
case 0x4e:
case 0x4f:
i -= 1;
failedSpawns += 1;
continue;
default:
ActorRef ref = gActorManager->FindNearestActorOfType(ActorTypeId_PushBlock, &snakeSpawnPos);
if (ref.id == -1) {
break;
}
Actor *temp_r0_5 = gActorManager->GetActor(&ref);
if (temp_r0_5 == NULL) {
break;
}
Vec3p sp24 = {temp_r0_5->mPos.x, temp_r0_5->mPos.y, temp_r0_5->mPos.z};
sp24.y = snakeSpawnPos.y;
if (Vec3p_Distance(&sp24, &snakeSpawnPos) < FLOAT_TO_Q20(1.5)) {
i -= 1;
failedSpawns += 1;
continue;
}
break;
}
}
gActorSpawner->Spawn(ActorTypeId_Rope, &snakeSpawnPos, &spawnOptions, &mTrapActors[i]);
}
return;
}
}
ARM void ActorSwitchObject::func_ov000_0209032c() {
unk32 i;
for (i = this->mUnk_164; i < this->mUnk_168; i++) {
gMapManager->func_ov00_02084b38(i, this->mUnk_16c, 0);
}
}
ActorSwitchObject::~ActorSwitchObject() {}
ARM ActorSwitchObject::~ActorSwitchObject() {}
+1 -1
View File
@@ -6,7 +6,7 @@ char *Course::SetCourseName(char *src) {}
void Course::func_ov00_0207ca78(unk32 param_2, unk8 param_3, unk32 param_4) {}
bool Course::func_ov00_0207caa8(s32 param_2, unk32 *param_3, unk8 *param_4) {}
unk32 Course::func_ov00_0207cb30(s32 param_2) {}
void Course::FindMapGridPos(Vec2b *pos, Course *param_2, u32 map) {}
TilePos Course::FindMapGridPos(u32 map) {}
Vec3p *Course::FindMapCenter(unk32 map) {}
void Course::func_ov00_0207cbe8(s32 param_2) {}
unk8 Course::func_ov00_0207cc24(s32 param_2) {}
+9 -9
View File
@@ -18,10 +18,10 @@ s32 MapBase::func_ov00_0207e28c(s32 param_2) {}
void MapBase::vfunc_b4() {}
void MapBase::vfunc_48() {}
unk32 MapBase::vfunc_50() {}
unk32 MapBase::vfunc_54(Vec2b *param_1) {}
unk32 MapBase::vfunc_58(Vec2b *param_1, int param_2) {}
unk32 MapBase::vfunc_54(TilePos *param_1) {}
unk32 MapBase::vfunc_58(TilePos *param_1, int param_2) {}
unk32 MapBase::vfunc_5c() {}
unk32 MapBase::vfunc_60(Vec2b *param_1) {}
unk32 MapBase::vfunc_60(TilePos *param_1) {}
unk32 MapBase::vfunc_64() {}
unk32 MapBase::vfunc_68(Vec3p *param_1, bool param_2) {}
unk8 MapBase::func_ov00_0207e940(unk8 *param_1) {}
@@ -40,22 +40,22 @@ void MapBase::vfunc_a0() {}
unk32 MapBase::vfunc_a4(unk8 *param_1) {}
void MapBase::vfunc_a8() {}
void MapBase::vfunc_ac() {}
unk32 *MapBase::vfunc_78(Vec2b *param_1) {}
unk32 *MapBase::vfunc_78(TilePos *param_1) {}
s32 MapBase::vfunc_7c(s32 param_1, unk32 *param_2, s32 param_3, short param_4[4]) {}
unk32 MapBase::vfunc_80() {}
void MapBase::vfunc_84(unk32 param_2) {}
bool MapBase::func_ov00_0207f38c(s32 *param_2) {}
unk8 MapBase::vfunc_90(Vec2b *param_2, unk32 param_3) {}
unk8 MapBase::vfunc_90(TilePos *param_2, unk32 param_3) {}
void MapBase::vfunc_94() {}
void MapBase::func_ov00_0207f4a4(Vec2s *param_2, unk32 param_3) {}
void MapBase::func_ov00_0207f53c(Vec2s *param_1, MapBase *param_2, Vec3p *param_3) {}
void MapBase::func_ov00_0207f588(Vec2s *param_1, MapBase *param_2, Vec2b *param_3, unk32 param_4) {}
void MapBase::func_ov00_0207f588(Vec2s *param_1, MapBase *param_2, TilePos *param_3, unk32 param_4) {}
void MapBase::func_ov00_0207f630(Vec2s *param_2, Vec3p *param_3) {}
unk8 MapBase::GetTileStartX(unk32 x) {}
unk8 MapBase::GetTileStartZ(unk32 z) {}
s32 MapBase::GetTileEndX(unk32 x) {}
s32 MapBase::GetTileEndZ(unk32 z) {}
void MapBase::GetTileBounds(Vec2b *tilePos, AABB *bounds) {}
void MapBase::GetTileBounds(TilePos *tilePos, AABB *bounds) {}
s32 MapBase::GetClampedTileX(s32 worldX) {}
s32 MapBase::GetClampedTileY(s32 worldZ) {}
unk8 MapBase::GetTileX(s32 worldX) {}
@@ -100,8 +100,8 @@ bool MapBase::AddUnk_130(s32 param_2) {}
bool MapBase::func_ov00_020809b8(s32 param_2) {}
unk8 MapBase::func_ov00_02080a78(Vec3p *param_2) {}
void MapBase_Unk2::func_ov00_02080ad0(TriggerBase **param_2, TriggerBase **param_3) {}
unk8 MapBase::func_ov00_02080b24(Vec2b *param_2) {}
void MapBase::func_ov00_02080d08(Vec2b *param_2) {}
unk8 MapBase::func_ov00_02080b24(TilePos *param_2) {}
void MapBase::func_ov00_02080d08(TilePos *param_2) {}
void MapBase::vfunc_bc() {}
void MapBase::vfunc_98(unk32 param_2, unk32 param_3, unk32 param_4) {}
void MapBase::vfunc_c0() {}
+78 -91
View File
@@ -20,7 +20,8 @@
#include "Save/AdventureFlags.hpp"
#include "Unknown/UnkStruct_02037750.hpp"
#include "Unknown/UnkStruct_020eec68.hpp"
#include "stdio.h"
#include <stdio.h>
extern bool func_01ffbe78(Vec3p *param1, Vec3p *param2, Vec3p *param3, Vec4p *param4);
@@ -46,7 +47,6 @@ extern void func_ov000_0208ed74(AABB *param_1, Vec3p *param_2);
extern void func_ov000_02093a1c(u32 *param_1, unk32 *param_2, unk32 param_3);
extern void func_ov000_02096324(unk32 *param_1, unk32 *param_2);
extern s32 *func_ov000_02096418(s32 *param_1);
extern void func_ov000_020c3348(ActorSpawnOptions *param_1);
extern void func_ov015_021849a4(unk32 *param_1);
// extern MapBase *func_ov018_0215b4a0(MapBase *param_1, unk32 param_2, unk32 param_3);
@@ -135,14 +135,10 @@ extern UnkStruct_0202e894 *data_027e0ce4;
extern unk32 *data_027e0d3c;
extern UnkStruct_027e0f68 *data_027e0f68;
extern unk32 *data_027e0f70;
extern unk32 data_ov000_020e24a4;
extern unk32 data_ov000_020e24b4;
extern unk32 data_ov000_020e24c4;
extern MapManager_Unk2 data_ov000_020e24c8[];
extern MapManager_Unk2 data_ov000_020e24e8[];
extern unk32 data_ov015_02190458;
// static char *gShipParts[8] = {"anc", "bow", "hul", "can", "dco", "pdl", "fnl", "brg"};
static char *sShipParts[8] = {"anc", "bow", "hul", "can", "dco", "pdl", "fnl", "brg"};
MapManager::MapManager() {
/*MapManager_Unk1 *object;
@@ -189,6 +185,20 @@ MapManager::MapManager() {
return;*/
}
static const MapManager_Unk3 data_ov000_020e24c4(0x5fff);
static const MapManager_Unk1 data_ov000_020e24c8[4] = {
MapManager_Unk1(0, 0x60),
MapManager_Unk1(0, 0),
MapManager_Unk1(0x80, 0x60),
MapManager_Unk1(0x80, 0),
};
static const MapManager_Unk2 data_ov000_020e24e8[4] = {
MapManager_Unk2(-FLOAT_TO_Q20(128.0), -FLOAT_TO_Q20(96.0)),
MapManager_Unk2(-FLOAT_TO_Q20(128.0), -FLOAT_TO_Q20(96.0)),
MapManager_Unk2(-FLOAT_TO_Q20(128.0), -FLOAT_TO_Q20(96.0)),
MapManager_Unk2(-FLOAT_TO_Q20(128.0), -FLOAT_TO_Q20(96.0)),
};
MapManager::~MapManager() {}
ARM void MapManager::GetCourseDungeonProgress(CourseProgress *param_2) {
@@ -560,14 +570,13 @@ ARM void MapManager::func_ov00_02082af4() {
}
ARM bool MapManager::func_ov00_02082b3c(FlagsUnk2 *param_2) {
Vec2b mapGridPos;
u8 entranceId;
bool cmp;
ActorManager *actorManager;
u16 var1;
u32 var2;
Course::FindMapGridPos(&mapGridPos, this->mCourse, param_2->mUnk_04.mUnk_0e);
TilePos mapGridPos = this->mCourse->FindMapGridPos(param_2->mUnk_04.mUnk_0e);
if (mapGridPos.x != this->GetCurrentMapPosX() || mapGridPos.y != this->GetCurrentMapPosY() ||
(param_2->mUnk_04.mUnk_00.y == 1 && data_027e0d38->mUnk_14 == 1) || param_2->mUnk_04.mUnk_11 != 0) {
@@ -629,7 +638,7 @@ ARM u32 MapManager::func_ov00_02082d74(unk32 param_2) {
return func_ov000_02078bc4(param_2);
}
ARM void MapManager::func_ov00_02082d84(Vec2b *param_2, s32 *param_3, s32 *param_4) {
ARM void MapManager::func_ov00_02082d84(TilePos *param_2, s32 *param_3, s32 *param_4) {
s32 mapWidth = this->GetMapWidth();
u32 uVar3 = CoDivide64By32(0x100000, mapWidth << 0xc);
s32 mapHeight = this->GetMapHeight();
@@ -646,7 +655,6 @@ ARM bool MapManager::func_ov00_02082e1c(s32 *param_2, s32 *param_3) {
Vec2p mapScreenPos;
u8 uVar8;
Vec3p local_28;
Vec2b local_4a;
Vec3p local_4c;
Course *course;
bool bVar1;
@@ -678,10 +686,10 @@ ARM bool MapManager::func_ov00_02082e1c(s32 *param_2, s32 *param_3) {
if (!this->mCourse->GetMapScreenPos(bVar1, &mapScreenPos.x, &mapScreenPos.y)) {
this->mCourse->GetMapScreenPos(uVar8, &mapScreenPos.x, &mapScreenPos.y);
Course::FindMapGridPos(&local_4a, this->mCourse, uVar8);
MapManager::func_ov00_02083a54(&local_4a, this, &local_28, local_4a.x, local_4a.y);
uVar8 = this->mCourse->GetScreenMapCellSizeX();
lVar3 = (int) ((u32) local_4c.x << 0xc) * (int) uVar8 + 0x800;
TilePos local_4a = this->mCourse->FindMapGridPos(uVar8);
local_4a = this->func_ov00_02083a54(&local_28, local_4a.x, local_4a.y);
uVar8 = this->mCourse->GetScreenMapCellSizeX();
lVar3 = (int) ((u32) local_4c.x << 0xc) * (int) uVar8 + 0x800;
*param_2 = mapScreenPos.y + ((int) (((u32) lVar3 >> 0xc | (int) (lVar3 >> 0x20) * 0x100000) + 0x800) >> 0xc);
uVar8 = this->mCourse->GetScreenMapCellSizeY();
} else {
@@ -713,7 +721,7 @@ ARM bool MapManager::func_ov00_02082e1c(s32 *param_2, s32 *param_3) {
}
ARM void MapManager::func_ov00_0208306c(s32 *param_2, s32 *param_3) {
Vec2b auStack_2c[18];
TilePos auStack_2c[18];
Vec3p local_1c;
Vec3p local_28;
unk32 pMVar1;
@@ -726,8 +734,8 @@ ARM void MapManager::func_ov00_0208306c(s32 *param_2, s32 *param_3) {
pMVar1 = -2;
}
local_1c = gPlayerPos;
this->func_ov00_02083a1c(auStack_2c, this, &local_1c);
local_1c = gPlayerPos;
auStack_2c[0] = this->func_ov00_02083a1c(&local_1c);
this->func_ov00_02082d84(auStack_2c, param_2, param_3);
if (pMVar3 == -3 || pMVar3 == pMVar1) {
@@ -916,8 +924,8 @@ ARM void MapManager::func_ov00_02083524(Vec3p *param_2, unk32 param_3, unk32 par
param_2->z = mapCenter->z;
}
ARM void MapManager::func_ov00_02083560(Vec2b *param_1, MapManager *param_2, u32 param_3) {
param_2->mCourse->FindMapGridPos(param_1, param_2->mCourse, param_3);
ARM TilePos MapManager::func_ov00_02083560(u32 param_3) {
return this->mCourse->FindMapGridPos(param_3);
}
ARM u8 MapManager::func_ov00_02083570(u8 param_2, u8 param_3) {
@@ -1120,47 +1128,31 @@ ARM s32 MapManager::func_ov00_020839f8(s32 param_2) {
return this->mMap->GetClampedTileY(param_2 - this->GetMapCenterZ());
}
ARM void MapManager::func_ov00_02083a1c(Vec2b *param_1, MapManager *param_2, Vec3p *param_3) {
s8 x = param_2->func_ov00_020839f8(param_3->z);
s8 y = param_2->func_ov00_020839d4(param_3->x);
param_1->x = y;
param_1->y = x;
ARM TilePos MapManager::func_ov00_02083a1c(Vec3p *param_3) {
s8 y = this->func_ov00_020839f8(param_3->z);
s8 x = this->func_ov00_020839d4(param_3->x);
return TilePos(x, y);
}
ARM void MapManager::func_ov00_02083a54(Vec2b *param_1, MapManager *param_2, Vec3p *param_3, s32 param_4, unk32 param_5) {
unk8 uVar2;
unk8 uVar3;
s32 iVar4;
ARM TilePos MapManager::func_ov00_02083a54(Vec3p *param_3, s32 param_4, unk32 param_5) {
Vec3p VStack_20;
u32 uVar5;
Vec3p *piVar6;
Vec3p local_2c;
Vec3p local_38;
if (param_2->GetCourseData_Unk_25c() != 0) {
uVar5 = (param_4 == -1 || param_5 == 0xffffffff) ? param_2->func_ov00_02082d08()
: uVar5 = param_2->mCourse->mMapGrid[param_4][param_5];
if (this->GetCourseData_Unk_25c() != 0) {
uVar5 = (param_4 == -1 || param_5 == 0xffffffff) ? this->func_ov00_02082d08()
: uVar5 = this->mCourse->mMapGrid[param_4][param_5];
if (param_2->IsMapInMainGrid(uVar5)) {
param_2->func_ov00_02083524(&VStack_20, param_4, param_5);
if (this->IsMapInMainGrid(uVar5)) {
this->func_ov00_02083524(&VStack_20, param_4, param_5);
local_38 = *param_3;
Vec3p_Sub(&local_38, &VStack_20, &local_2c);
uVar2 = param_2->mMap->GetClampedTileY(local_2c.z);
uVar3 = param_2->mMap->GetClampedTileX(local_2c.x);
param_1->x = uVar3;
param_1->y = uVar2;
return;
return TilePos(this->mMap->GetClampedTileX(local_2c.x), this->mMap->GetClampedTileY(local_2c.z));
}
uVar2 = param_2->func_ov00_020839f8(param_3->z);
uVar3 = param_2->func_ov00_020839d4(param_3->x);
param_1->x = uVar3;
param_1->y = uVar2;
return;
return TilePos(this->func_ov00_020839d4(param_3->x), this->func_ov00_020839f8(param_3->z));
}
uVar2 = param_2->func_ov00_020839f8(param_3->z);
uVar3 = param_2->func_ov00_020839d4(param_3->x);
param_1->x = uVar3;
param_1->y = uVar2;
return TilePos(this->func_ov00_020839d4(param_3->x), this->func_ov00_020839f8(param_3->z));
}
ARM s32 MapManager::GetTileStartX(unk32 x) {
@@ -1187,7 +1179,7 @@ ARM s32 MapManager::func_ov00_02083c50(unk32 z) {
return this->GetMapCenterZ() + this->mMap->GetTileStartZ(z) + 0x800;
}
ARM void MapManager::func_ov00_02083c7c(Vec3p *param_2, Vec2b param_3) {
ARM void MapManager::func_ov00_02083c7c(Vec3p *param_2, TilePos param_3) {
Vec3p local_28;
param_2->x = this->func_ov00_02083c24(param_3.x);
@@ -1196,13 +1188,13 @@ ARM void MapManager::func_ov00_02083c7c(Vec3p *param_2, Vec2b param_3) {
param_2->y = this->MapData_vfunc_68(&local_28, true);
}
ARM void MapManager::func_ov00_02083ce8(Vec3p *param_2, Vec2b param_3, s32 param_4, u32 param_5) {
ARM void MapManager::func_ov00_02083ce8(Vec3p *param_2, TilePos param_3, s32 param_4, u32 param_5) {
u32 uVar2;
u8 uVar3;
u8 uVar4;
Vec3p local_2c;
Vec3p local_38;
Vec2b local_8;
TilePos local_8;
if (GetCourseData_Unk_25c()) {
if (param_4 == -1 || param_5 == -1) {
@@ -1229,17 +1221,17 @@ ARM void MapManager::func_ov00_02083ce8(Vec3p *param_2, Vec2b param_3, s32 param
}
ARM s32 MapManager::func_ov00_02083e34(unk8 param_2, unk8 param_3, unk32 param_4) {
Vec2b local_8;
TilePos local_8;
local_8.x = param_2;
local_8.y = param_3;
return this->mMap->vfunc_60(&local_8);
}
ARM unk32 MapManager::MapData_vfunc_60(Vec2b *param_1) {
ARM unk32 MapManager::MapData_vfunc_60(TilePos *param_1) {
return this->mMap->vfunc_60(param_1);
}
ARM bool MapManager::func_ov00_02083e70(Vec2b *param_2) {
ARM bool MapManager::func_ov00_02083e70(TilePos *param_2) {
switch (this->MapData_vfunc_54(param_2)) {
case 0x1b:
case 0x2b:
@@ -1268,7 +1260,7 @@ ARM s32 MapManager::func_ov00_02083ef8(Vec3p *param_2, Vec3p *param_3, bool para
ARM unk32 MapManager::func_ov00_02083f44(Vec3p *param_2, bool param_3) {
q20 x = param_2->x;
q20 z = param_2->z;
Vec3p local_18 = {x, data_ov000_020e24a4, z};
Vec3p local_18 = {x, data_ov000_020e24c4.mUnk_0, z};
return this->func_ov00_02083ef8(param_2, &local_18, param_3);
}
@@ -1299,7 +1291,7 @@ ARM void MapManager::func_ov00_02083fb0(u32 *param_1, MapManager *param_2, Vec3p
*param_1 = 0;
}
void MapManager::GetTileWorldBounds(Vec2b *tile, AABB *tileBounds) {
void MapManager::GetTileWorldBounds(TilePos *tile, AABB *tileBounds) {
int iVar1;
Vec3p local_20;
@@ -1312,24 +1304,24 @@ void MapManager::GetTileWorldBounds(Vec2b *tile, AABB *tileBounds) {
Vec3p_Add(&tileBounds->max, &local_20, &tileBounds->max);
}
unk32 MapManager::MapData_vfunc_54(Vec2b *param_1) {
unk32 MapManager::MapData_vfunc_54(TilePos *param_1) {
return this->mMap->vfunc_54(param_1);
}
ARM unk32 MapManager::func_ov00_020840a0(u8 param_2, u8 param_3) {
// Correct param types?
Vec2b vec;
TilePos vec;
vec.x = param_2;
vec.y = param_3;
return this->mMap->vfunc_54(&vec);
}
// Returns UnkStruct_02085594*
unk32 *MapManager::MapData_vfunc_78(Vec2b *param_1) {
unk32 *MapManager::MapData_vfunc_78(TilePos *param_1) {
return this->mMap->vfunc_78(param_1);
}
unk32 MapManager::func_ov00_020840dc(Vec2b *param_1) {
unk32 MapManager::func_ov00_020840dc(TilePos *param_1) {
UnkStruct_02037750 *piVar1; // placeholder struct until I can find the real struct
piVar1 = (UnkStruct_02037750 *) this->MapData_vfunc_78(param_1);
@@ -1362,11 +1354,11 @@ void MapManager::func_ov00_0208413c(unk32 param_2) {
this->mMap->func_ov00_0207f948(param_2);
}
unk8 MapManager::MapData_vfunc_58(Vec2b *param_1, int param_2) {
unk8 MapManager::MapData_vfunc_58(TilePos *param_1, int param_2) {
this->mMap->vfunc_58(param_1, param_2);
}
ARM s32 MapManager::func_ov00_02084164(Vec2b *param_2) {
ARM s32 MapManager::func_ov00_02084164(TilePos *param_2) {
if (this->mMap->vfunc_58(param_2, 7) != 0) {
return 0;
}
@@ -1802,9 +1794,6 @@ u8 MapManager::func_ov00_02084a50() {
void MapManager::SpawnNPC(Vec3p *pos, unk32 param_3, unk32 param_4) {
ActorSpawnOptions actorSpawnOptions;
actorSpawnOptions.mUnk_1c.id = -1;
actorSpawnOptions.mUnk_1c.index = -1;
func_ov000_020c3348(&actorSpawnOptions);
actorSpawnOptions.mUnk_24 = param_3;
actorSpawnOptions.mUnk_28 = param_4;
gActorSpawner->Spawn(ActorTypeId_EVIC, pos, &actorSpawnOptions, NULL);
@@ -1954,9 +1943,9 @@ u8 MapManager::GetMapData_Unk_09() {
ARM void MapManager::func_ov00_02084d24(unk8 param_2, unk8 param_3, unk16 param_4) {
// Matches, but param types unsure.
// param_2 and param_3 aren't both part of a Vec2b *
// param_2 and param_3 aren't both part of a TilePos *
// param_4 short or int?
Vec2b vec;
TilePos vec;
vec.x = param_2;
vec.y = param_3;
this->mMap->vfunc_90(&vec, param_4);
@@ -2021,11 +2010,11 @@ unk32 MapManager::func_ov00_02084ebc(Vec3p *param_2) {
int *piVar1;
int iVar2;
unk32 dVar3; // dword
Vec2b auStack_18[4]; // undefined type
TilePos auStack_18[4]; // undefined type
u32 uStack_14;
this->func_ov00_02083a1c(auStack_18, this, param_2);
piVar1 = (int *) this->MapData_vfunc_78(auStack_18);
auStack_18[0] = this->func_ov00_02083a1c(param_2);
piVar1 = (int *) this->MapData_vfunc_78(auStack_18);
if (piVar1 != (int *) 0x0) {
// iVar2 = (**(code **) (*piVar1 + 0x1c))();
if (iVar2 < 0x39) {
@@ -2288,13 +2277,12 @@ ARM unk32 MapManager::func_ov00_02085594(Vec3p *param_2) {
unk32 dVar3;
unk32 uVar4;
bool bVar5;
Vec2b local_28;
u32 uStack_24;
Vec3p VStack_20;
this->func_ov00_02083a1c(&local_28, this, param_2);
piVar1 = (UnkStruct_02085594 *) this->MapData_vfunc_78(&local_28);
bVar5 = true;
TilePos local_28 = this->func_ov00_02083a1c(param_2);
piVar1 = (UnkStruct_02085594 *) this->MapData_vfunc_78(&local_28);
bVar5 = true;
if (piVar1 != NULL) {
*param_2 = piVar1->mUnk_14;
switch (piVar1->vfunc_1c()) {
@@ -2359,10 +2347,9 @@ ARM unk32 MapManager::func_ov00_02085594(Vec3p *param_2) {
ARM unk32 MapManager::func_ov00_0208583c(MapManager *param_1, Vec3p *param_2, unk32 param_3) {
UnkStruct_02085594 *piVar1;
Vec2b auStack_10;
param_1->func_ov00_02083a1c(&auStack_10, param_1, param_2);
piVar1 = (UnkStruct_02085594 *) param_1->MapData_vfunc_78(&auStack_10);
TilePos auStack_10 = param_1->func_ov00_02083a1c(param_2);
piVar1 = (UnkStruct_02085594 *) param_1->MapData_vfunc_78(&auStack_10);
if (piVar1 == NULL) {
return -1;
}
@@ -2382,17 +2369,17 @@ unk32 MapManager::func_ov00_020858b0(MapManager *param_1, Vec3p *param_2, unk32
UnkStruct_02085594 *piVar5;
int playerPosY;
unk32 local_38;
Vec2b local_28;
TilePos local_28;
if (param_3 == 1) {
func_ov000_02088000(data_027e0f64->mUnk_4, 7);
} else {
func_ov000_02088000(data_027e0f64->mUnk_4, 6);
}
mapWidth = param_1->GetMapWidth();
mapHeight = param_1->GetMapHeight();
local_38 = -1;
param_1->func_ov00_02083a1c(&local_28, param_1, param_2);
mapWidth = param_1->GetMapWidth();
mapHeight = param_1->GetMapHeight();
local_38 = -1;
local_28 = param_1->func_ov00_02083a1c(param_2);
playerPosY = gPlayerPos.y;
for (u8 x = local_28.x - 1; x <= (int) (local_28.x + 1); x++) {
if ((x > -1) && (x < mapWidth)) {
@@ -2420,9 +2407,9 @@ s32 MapManager::func_ov00_02085a34(Vec3p *param_2, s32 param_3) {
u32 uVar4;
u32 uVar5;
u32 uVar6;
Vec2b uStack_2c;
Vec2b auStack_2a[2];
Vec2b aVStack_28[2];
TilePos uStack_2c;
TilePos auStack_2a[2];
TilePos aVStack_28[2];
unk16 auStack_24[4];
unk32 auStack_1c[4];
unk32 uStack_18;
@@ -2433,8 +2420,8 @@ s32 MapManager::func_ov00_02085a34(Vec3p *param_2, s32 param_3) {
if (param_3 != 2 && param_3 != 3) {
return -1;
}
this->func_ov00_02083a1c(auStack_2a, this, param_2);
piVar1 = (UnkStruct_02085594 *) this->MapData_vfunc_78(auStack_2a);
auStack_2a[0] = this->func_ov00_02083a1c(param_2);
piVar1 = (UnkStruct_02085594 *) this->MapData_vfunc_78(auStack_2a);
if (piVar1 == NULL) {
return -1;
}
@@ -2448,8 +2435,8 @@ s32 MapManager::func_ov00_02085a34(Vec3p *param_2, s32 param_3) {
iVar2 = piVar1->vfunc_38(param_3);
return iVar2;
}
this->func_ov00_02083a1c(aVStack_28, this, param_2);
iVar2 = this->func_ov00_02084ebc(param_2);
aVStack_28[0] = this->func_ov00_02083a1c(param_2);
iVar2 = this->func_ov00_02084ebc(param_2);
if (iVar2 == 0) {
return -1;
}
@@ -2658,7 +2645,7 @@ unk8 MapManager::func_ov00_02086044(Vec3p *param_2, Vec3p *param_3, unk32 param_
int *piVar9;
Vec3p *pVVar10;
int iVar11;
Vec2b local_c6;
TilePos local_c6;
unk32 auStack_c4[4];
Vec3p iStack_c0;
Vec3p local_b0;
+2 -4
View File
@@ -1,4 +1,5 @@
#include "Player/LinkStateMove.hpp"
#include "Unknown/UnkStruct_020eec9c.hpp"
unk32 LinkStateMove::data_ov000_020e56f0 = 0x800;
@@ -19,9 +20,6 @@ THUMB void LinkStateMove::CreateDebugHierarchy() {
debugHierarchy->GetChildNode(1, description, id, &data_ov000_020e56f0, 8, 0, 0x1000, 0);
}
extern u32 data_ov000_020eec9c;
extern "C" void func_ov000_020d77e4(void *param1, s32 param2);
ARM void LinkStateMove::OnStateEnter() {
this->mUnk_0c = 0;
this->mUnk_10 = 0;
@@ -36,7 +34,7 @@ ARM void LinkStateMove::OnStateEnter() {
shield->UpdateInUse(1);
PlayerBase::GetEquipSword()->func_ov000_020c06b0(-1);
func_ov000_020d77e4(&data_ov000_020eec9c, 0xD);
data_ov000_020eec9c.func_ov000_020d77e4(0xD);
}
ARM void LinkStateMove::OnStateLeave(s32 param1) {
+8 -13
View File
@@ -14,6 +14,7 @@
#include "Player/PlayerBase.hpp"
#include "Player/PlayerLinkBase.hpp"
#include "Save/AdventureFlags.hpp"
#include "Unknown/UnkStruct_020eec9c.hpp"
static char *sShipTypes[] = {"brg", "anc", "pdl", "hul", "can", "dco", "bow", "fnl"};
@@ -66,7 +67,7 @@ ARM Actor *PlayerControl::GetFollowActor() {
return gActorManager->GetActor(&mFollowRef);
}
ARM bool PlayerControl::func_ov00_020af01c(Vec2b *param1) {
ARM bool PlayerControl::func_ov00_020af01c(TilePos *param1) {
if (mFollowing) {
*param1 = mUnk_9c;
return true;
@@ -300,8 +301,7 @@ ARM void PlayerControl::func_ov00_020af6e4(Vec3p *param1, s32 param3, s32 param4
mFollowRef.Reset();
}
Vec2b unk;
MapManager::func_ov00_02083a1c(&unk, gMapManager, param1);
TilePos unk = gMapManager->func_ov00_02083a1c(param1);
mUnk_9c = unk;
mFollowing = true;
mUnk_80 = false;
@@ -376,8 +376,7 @@ ARM bool PlayerControl::func_ov00_020af778() {
}
}
} else {
ActorRef ref;
ActorManager::func_ov00_020c3484(&ref, gActorManager, 0);
ActorRef ref = gActorManager->func_ov00_020c3484(0);
mNextFollowRef = ref;
if (mTouchDuration == 0) {
mLastFollowRef = mNextFollowRef;
@@ -475,9 +474,8 @@ ARM void PlayerControl::func_ov00_020afb6c() {
iVar7 = 2;
}
} else {
local_3c.y = gPlayerPos.y;
Vec2b local_44 = mUnk_9c;
gMapManager->func_ov00_02083c7c(&local_3c, local_44);
local_3c.y = gPlayerPos.y;
gMapManager->func_ov00_02083c7c(&local_3c, mUnk_9c);
iVar2 = 2;
iVar7 = 3;
}
@@ -721,8 +719,7 @@ ARM bool PlayerControl::func_ov00_020b05e8(Vec3p *param1) {
VStack_1c.z += MUL_Q20(COS(gPlayerAngle), FLOAT_TO_Q20(0.25));
}
Vec2b VStack_20;
MapManager::func_ov00_02083a1c(&VStack_20, gMapManager, &VStack_1c);
TilePos VStack_20 = gMapManager->func_ov00_02083a1c(&VStack_1c);
VStack_1c.x += (gMapManager->func_ov00_02083c24(VStack_20.x) - VStack_1c.x) / 2;
VStack_1c.z += (gMapManager->func_ov00_02083c50(VStack_20.y) - VStack_1c.z) / 2;
Vec3p_Sub(&VStack_1c, playerPos, param1);
@@ -1032,11 +1029,9 @@ ARM bool PlayerControl::IsNotTouching() {
return !mTouch;
}
extern u32 data_ov000_020eec9c[];
extern "C" void func_ov000_020d77e4(u32 *param1, u32 param2);
ARM bool PlayerControl::IsTouchingFast() {
if (this->CheckTouchFast(1)) {
func_ov000_020d77e4(data_ov000_020eec9c, 0x17);
data_ov000_020eec9c.func_ov000_020d77e4(0x17);
return true;
}
return false;
+2 -3
View File
@@ -3,12 +3,12 @@
#include "Map/MapManager.hpp"
#include "Player/PlayerLinkBase.hpp"
#include "System/Random.hpp"
#include "Unknown/UnkStruct_020eec9c.hpp"
extern "C" {
void func_0202bc38(unk32 param_1, Vec3p *param_2, u32 param_3, Actor_UnkStruct_012 *param_4, bool);
void func_ov005_02102c2c(u32 *param_1, int param_2, Vec3p *param_3, int param_4, int param_5, u32 param_6, int param_7,
char param_8, char param_9, char param_10);
void func_ov000_020d7ad4(u32 *param1, u32 param2);
}
u16 GetRupeeValue(RupeeId id);
@@ -16,7 +16,6 @@ static char *gShipParts[8] = {"anc", "bow", "hul", "can", "dco", "pdl", "fnl", "
extern u32 *data_ov014_021589d8;
extern u32 data_ov000_020e9370[];
extern u32 data_ov000_020eec9c[];
extern u32 **data_027e0fe0[];
ActorType ActorRupee::gType = ActorType(ActorTypeId_Rupee, (ActorCreateFunc) ActorRupee::Create, NULL);
@@ -200,7 +199,7 @@ void ActorRupee::Update(bool param1) {
break;
}
func_ov000_020d7ad4(data_ov000_020eec9c, uVar3);
data_ov000_020eec9c.func_ov000_020d7ad4(uVar3);
Kill();
}
}
+2 -3
View File
@@ -4,6 +4,7 @@
#include "DTCM/UnkStruct_027e103c.hpp"
#include "Item/ItemManager.hpp"
#include "System/Random.hpp"
#include "Unknown/UnkStruct_020eec9c.hpp"
static char *sShipTypes[8] = {"anc", "bow", "hul", "can", "dco", "pdl", "fnl", "brg"};
@@ -75,8 +76,6 @@ ARM bool ActorRefill::Init() {
return true;
}
extern unk32 data_ov000_020eec9c;
extern "C" void func_ov000_020d7ad4(unk32 *param1, unk32 param2);
ARM void ActorRefill::vfunc_14(u32 param1) {
s32 temp_r0_4;
s32 temp_r6;
@@ -118,7 +117,7 @@ ARM void ActorRefill::vfunc_14(u32 param1) {
ItemManager *itemManager = gItemManager;
itemManager->GiveAmmo(this->GetAmmoItem(), mUnk_158);
}
func_ov000_020d7ad4(&data_ov000_020eec9c, 0x100);
data_ov000_020eec9c.func_ov000_020d7ad4(0x100);
this->func_ov014_02135364(3);
} else {
temp_r0_3 = mUnk_130;
+2 -3
View File
@@ -237,7 +237,6 @@ ARM void MessageManager::func_0203690c(unk32 param_2) {
UnkStruct_020397f8 *unk_28_0;
UnkStruct_020397f8 *unk_28_2;
UnkStruct_02038aa0 *pSVar4;
ActorRef actorRef;
Actor *pActor;
bool iVar1;
bool iVar2;
@@ -319,8 +318,8 @@ ARM void MessageManager::func_0203690c(unk32 param_2) {
this->func_02036bbc();
if (this->mUnk_10 != 0) {
ActorManager::FindActorByType(&actorRef, gActorManager, data_0205691c[this->mUnk_10]);
pActor = gActorManager->GetActor(&actorRef);
ActorRef actorRef = gActorManager->FindActorByType(data_0205691c[this->mUnk_10]);
pActor = gActorManager->GetActor(&actorRef);
if (pActor != NULL) {
data_027e0ffc.func_ov000_020cec60(data_02056918[this->mUnk_10], &pActor->mPos, pActor, 0);