mirror of
https://github.com/zeldaret/st
synced 2026-05-23 06:54:21 -04:00
Decompile ActorManager_001.cpp (#31)
* started ActorManager_001.cpp * create, ctor, dtor * prog * fix build * fix build issues * progress * struct comments * match ClearInstance
This commit is contained in:
@@ -155,7 +155,7 @@ func_01ffd250 kind:function(arm,size=0x44) addr:0x01ffd250
|
||||
func_01ffd294 kind:function(arm,size=0x11c) addr:0x01ffd294
|
||||
func_01ffd3b0 kind:function(arm,size=0x28) addr:0x01ffd3b0
|
||||
func_01ffd3d8 kind:function(arm,size=0x28) addr:0x01ffd3d8
|
||||
func_01ffd400 kind:function(arm,size=0x20) addr:0x01ffd400
|
||||
_ZN18UnkStruct_027e09a413func_01ffd400Ev kind:function(arm,size=0x20) addr:0x01ffd400
|
||||
_ZN18UnkStruct_027e09b813func_01ffd420Ev kind:function(arm,size=0x1c) addr:0x01ffd420
|
||||
func_01ffd43c kind:function(arm,size=0x60) addr:0x01ffd43c
|
||||
func_01ffd49c kind:function(arm,size=0x1a4) addr:0x01ffd49c
|
||||
|
||||
@@ -189,9 +189,9 @@ func_ov000_02059168 kind:function(arm,size=0x28) addr:0x02059168
|
||||
func_ov000_02059190 kind:function(arm,size=0x3c) addr:0x02059190
|
||||
_ZN29UnkStruct_ov000_020b4ec4_BaseC2Ev kind:function(arm,size=0x20) addr:0x020591cc
|
||||
_ZN26UnkStruct_StackTitleScreenC1EPKci kind:function(arm,size=0x54) addr:0x020591ec
|
||||
_ZN26UnkStruct_StackTitleScreen19func_ov000_02059240Ev kind:function(arm,size=0x30) addr:0x02059240
|
||||
_ZN26UnkStruct_StackTitleScreenD1Ev kind:function(arm,size=0x30) addr:0x02059240
|
||||
_ZN26UnkStruct_StackTitleScreen19func_ov000_02059270EiPci kind:function(arm,size=0x18) addr:0x02059270
|
||||
func_ov000_02059288 kind:function(arm,size=0x18) addr:0x02059288
|
||||
_ZN26UnkStruct_StackTitleScreen19func_ov000_02059288EiPci kind:function(arm,size=0x18) addr:0x02059288
|
||||
func_ov000_020592a0 kind:function(thumb,size=0x4c) addr:0x020592a0
|
||||
func_ov000_020592ec kind:function(thumb,size=0x70) addr:0x020592ec
|
||||
func_ov000_0205935c kind:function(thumb,size=0xc) addr:0x0205935c
|
||||
@@ -986,7 +986,7 @@ func_ov000_02070134 kind:function(arm,size=0x14) addr:0x02070134
|
||||
func_ov000_02070148 kind:function(arm,size=0x1c) addr:0x02070148
|
||||
func_ov000_02070164 kind:function(arm,size=0xfc) addr:0x02070164
|
||||
func_ov000_02070260 kind:function(arm,size=0x3c) addr:0x02070260
|
||||
func_ov000_0207029c kind:function(arm,size=0xc) addr:0x0207029c
|
||||
_ZN18UnkStruct_027e09a019func_ov000_0207029cEi kind:function(arm,size=0xc) addr:0x0207029c
|
||||
func_ov000_020702a8 kind:function(arm,size=0x14) addr:0x020702a8
|
||||
func_ov000_020702bc kind:function(arm,size=0x40) addr:0x020702bc
|
||||
func_ov000_020702fc kind:function(arm,size=0x14) addr:0x020702fc
|
||||
@@ -1000,7 +1000,7 @@ _ZN18UnkStruct_027e09a4D1Ev kind:function(arm,size=0x44) addr:0x020704f4
|
||||
func_ov000_02070538 kind:function(arm,size=0xc) addr:0x02070538
|
||||
func_ov000_02070544 kind:function(arm,size=0x10) addr:0x02070544
|
||||
func_ov000_02070554 kind:function(arm,size=0xc) addr:0x02070554
|
||||
func_ov000_02070560 kind:function(arm,size=0xc) addr:0x02070560
|
||||
_ZN18UnkStruct_027e09a419func_ov000_02070560Ev kind:function(arm,size=0xc) addr:0x02070560
|
||||
func_ov000_0207056c kind:function(arm,size=0x14) addr:0x0207056c
|
||||
func_ov000_02070580 kind:function(arm,size=0x1c) addr:0x02070580
|
||||
func_ov000_0207059c kind:function(arm,size=0x4c) addr:0x0207059c
|
||||
@@ -2244,7 +2244,7 @@ func_ov000_02096cc8 kind:function(arm,size=0x24) addr:0x02096cc8
|
||||
func_ov000_02096cec kind:function(arm,size=0x14) addr:0x02096cec
|
||||
func_ov000_02096d00 kind:function(arm,size=0x68) addr:0x02096d00
|
||||
func_ov000_02096d68 kind:function(arm,size=0xdc) addr:0x02096d68
|
||||
func_ov000_02096e44 kind:function(arm,size=0x6c) addr:0x02096e44
|
||||
_ZN12ActorManager19func_ov000_02096e44Ei kind:function(arm,size=0x6c) addr:0x02096e44
|
||||
func_ov000_02096eb0 kind:function(arm,size=0x38) addr:0x02096eb0
|
||||
func_ov000_02096ee8 kind:function(arm,size=0x164) addr:0x02096ee8
|
||||
func_ov000_0209704c kind:function(arm,size=0x7c) addr:0x0209704c
|
||||
@@ -2252,11 +2252,11 @@ func_ov000_020970c8 kind:function(arm,size=0xc4) addr:0x020970c8
|
||||
func_ov000_0209718c kind:function(arm,size=0xb8) addr:0x0209718c
|
||||
func_ov000_02097244 kind:function(arm,size=0x44) addr:0x02097244
|
||||
func_ov000_02097288 kind:function(arm,size=0x154) addr:0x02097288
|
||||
func_ov000_020973dc kind:function(arm,size=0xc) addr:0x020973dc
|
||||
func_ov000_020973e8 kind:function(arm,size=0xc) addr:0x020973e8
|
||||
_ZN24UnkStruct_ov000_020b539c18func_ov000_02073dcEv kind:function(arm,size=0xc) addr:0x020973dc
|
||||
_ZN24UnkStruct_ov000_020b539c18func_ov000_02073e8Ev kind:function(arm,size=0xc) addr:0x020973e8
|
||||
func_ov000_020973f4 kind:function(arm,size=0x50) addr:0x020973f4
|
||||
func_ov000_02097444 kind:function(arm,size=0x98) addr:0x02097444
|
||||
func_ov000_020974dc kind:function(arm,size=0x4c) addr:0x020974dc
|
||||
_ZN24UnkStruct_ov000_020b539c19func_ov000_020974dcEj kind:function(arm,size=0x4c) addr:0x020974dc
|
||||
func_ov000_02097528 kind:function(arm,size=0x20) addr:0x02097528
|
||||
func_ov000_02097548 kind:function(arm,size=0x78) addr:0x02097548
|
||||
func_ov000_020975c0 kind:function(arm,size=0x1c) addr:0x020975c0
|
||||
|
||||
@@ -7,3 +7,5 @@
|
||||
|
||||
src/001_SceneInit/Actor/ActorManager_001.cpp:
|
||||
.text start:0x020baf64 end:0x020bb87c
|
||||
.rodata start:0x020c2624 end:0x020c264c
|
||||
.data start:0x020c2b3c end:0x020c2c70
|
||||
|
||||
@@ -2349,7 +2349,7 @@ from:0x020c1524 kind:load to:0x020c3508 module:overlay(1)
|
||||
from:0x020c1590 kind:load to:0x020c4701 module:overlay(1)
|
||||
from:0x020c159c kind:load to:0x020c2550 module:overlay(1)
|
||||
from:0x020c1608 kind:load to:0x020c4701 module:overlay(1)
|
||||
from:0x020c1614 kind:load to:0x020c2628 module:overlay(1)
|
||||
from:0x020c1614 kind:load to:0x020c2624 add:4 module:overlay(1)
|
||||
from:0x020c1680 kind:load to:0x020c4701 module:overlay(1)
|
||||
from:0x020c168c kind:load to:0x020c273c module:overlay(1)
|
||||
from:0x020c16f8 kind:load to:0x020c4701 module:overlay(1)
|
||||
|
||||
@@ -177,14 +177,14 @@ _ZN12ActorManager6CreateEv kind:function(thumb,size=0x16) addr:0x020baf64
|
||||
_ZN12ActorManagerC1Ev kind:function(thumb,size=0x46) addr:0x020baf7c
|
||||
_ZN12ActorManagerD1Ev kind:function(thumb,size=0x18) addr:0x020bafc4
|
||||
_ZN12ActorManager19func_ov001_020bafdcEv kind:function(thumb,size=0x3c) addr:0x020bafdc
|
||||
_ZN12ActorManager19func_ov001_020bb018Ei kind:function(thumb,size=0x3fc) addr:0x020bb018
|
||||
_ZN12ActorManager19func_ov001_020bb414Ev kind:function(thumb,size=0x74) addr:0x020bb414
|
||||
_ZN12ActorManager19func_ov001_020bb018EP36UnkStruct_func_ov001_020bb018_param2 kind:function(thumb,size=0x3fc) addr:0x020bb018
|
||||
_ZN12ActorManager19func_ov001_020bb414EPS_ kind:function(thumb,size=0x74) addr:0x020bb414
|
||||
_ZN12ActorManager19func_ov001_020bb488Ev kind:function(thumb,size=0xc0) addr:0x020bb488
|
||||
_ZN12ActorManager19func_ov001_020bb548Ev kind:function(thumb,size=0xe8) addr:0x020bb548
|
||||
_ZN12ActorManager19func_ov001_020bb630Ev kind:function(thumb,size=0x80) addr:0x020bb630
|
||||
_ZN12ActorManager19func_ov001_020bb6b0EPi kind:function(thumb,size=0x78) addr:0x020bb6b0
|
||||
_ZN12ActorManager19func_ov001_020bb728Ei kind:function(thumb,size=0x88) addr:0x020bb728
|
||||
_ZN12ActorManager19func_ov001_020bb7b0Ei kind:function(thumb,size=0x40) addr:0x020bb7b0
|
||||
_ZN12ActorManager19func_ov001_020bb7b0EP15ZeldaObjectList kind:function(thumb,size=0x40) addr:0x020bb7b0
|
||||
_ZN12ActorManager19func_ov001_020bb7f0Ev kind:function(thumb,size=0x34) addr:0x020bb7f0
|
||||
_ZN12ActorManager19func_ov001_020bb824Ev kind:function(thumb,size=0x20) addr:0x020bb824
|
||||
_ZN12ActorManager19func_ov001_020bb844Ev kind:function(thumb,size=0x20) addr:0x020bb844
|
||||
@@ -473,7 +473,6 @@ data_ov001_020c25c0 kind:data(any) addr:0x020c25c0
|
||||
data_ov001_020c25d4 kind:data(any) addr:0x020c25d4
|
||||
data_ov001_020c25fc kind:data(any) addr:0x020c25fc
|
||||
data_ov001_020c2624 kind:data(any) addr:0x020c2624
|
||||
data_ov001_020c2628 kind:data(any) addr:0x020c2628
|
||||
data_ov001_020c262e kind:data(any) addr:0x020c262e
|
||||
data_ov001_020c2638 kind:data(any) addr:0x020c2638
|
||||
data_ov001_020c264c kind:data(any) addr:0x020c264c
|
||||
|
||||
@@ -443,9 +443,9 @@ func_ov021_020f879c kind:function(arm,size=0x18) addr:0x020f879c
|
||||
func_ov021_020f87b4 kind:function(arm,size=0x64) addr:0x020f87b4
|
||||
func_ov021_020f8818 kind:function(arm,size=0x28) addr:0x020f8818
|
||||
func_ov021_020f8840 kind:function(arm,size=0x458) addr:0x020f8840
|
||||
func_ov021_020f8c98 kind:function(arm,size=0x44) addr:0x020f8c98
|
||||
func_ov021_020f8cdc kind:function(arm,size=0x44) addr:0x020f8cdc
|
||||
func_ov021_020f8d20 kind:function(arm,size=0x48) addr:0x020f8d20
|
||||
_ZN18UnkStruct_027e0cf4D1Ev kind:function(arm,size=0x44) addr:0x020f8c98
|
||||
_ZN18UnkStruct_027e0cf419func_ov021_020f8cdcEv kind:function(arm,size=0x44) addr:0x020f8cdc
|
||||
_ZN18UnkStruct_027e0cf419func_ov021_020f8d20Ev kind:function(arm,size=0x48) addr:0x020f8d20
|
||||
func_ov021_020f8d68 kind:function(arm,size=0x334) addr:0x020f8d68
|
||||
func_ov021_020f909c kind:function(arm,size=0x48) addr:0x020f909c
|
||||
func_ov021_020f90e4 kind:function(arm,size=0x150) addr:0x020f90e4
|
||||
|
||||
@@ -249,7 +249,7 @@ func_ov060_0215e974 kind:function(arm,size=0xc) addr:0x0215e974
|
||||
func_ov060_0215e980 kind:function(arm,size=0x24) addr:0x0215e980
|
||||
func_ov060_0215e9a4 kind:function(arm,size=0x28) addr:0x0215e9a4
|
||||
func_ov060_0215e9cc kind:function(arm,size=0xc4) addr:0x0215e9cc
|
||||
func_ov060_0215ea90 kind:function(arm,size=0x6c) addr:0x0215ea90
|
||||
_ZN18UnkStruct_027e0d70D1Ev kind:function(arm,size=0x6c) addr:0x0215ea90
|
||||
func_ov060_0215eafc kind:function(arm,size=0x14) addr:0x0215eafc
|
||||
func_ov060_0215eb10 kind:function(arm,size=0x14) addr:0x0215eb10
|
||||
func_ov060_0215eb24 kind:function(arm,size=0x20) addr:0x0215eb24
|
||||
|
||||
@@ -253,7 +253,7 @@ func_ov068_0215e7e4 kind:function(arm,size=0xb0) addr:0x0215e7e4
|
||||
func_ov068_0215e894 kind:function(arm,size=0xc) addr:0x0215e894
|
||||
func_ov068_0215e8a0 kind:function(arm,size=0x28) addr:0x0215e8a0
|
||||
func_ov068_0215e8c8 kind:function(arm,size=0x30) addr:0x0215e8c8
|
||||
func_ov068_0215e8f8 kind:function(arm,size=0x14) addr:0x0215e8f8
|
||||
_ZN18UnkStruct_027e0d7019func_ov068_0215e8f8Ev kind:function(arm,size=0x14) addr:0x0215e8f8
|
||||
func_ov068_0215e90c kind:function(arm,size=0xc) addr:0x0215e90c
|
||||
func_ov068_0215e918 kind:function(arm,size=0x28) addr:0x0215e918
|
||||
func_ov068_0215e940 kind:function(arm,size=0x54) addr:0x0215e940
|
||||
|
||||
@@ -265,10 +265,10 @@ func_ov071_0215e7fc kind:function(arm,size=0xd8) addr:0x0215e7fc
|
||||
func_ov071_0215e8d4 kind:function(arm,size=0x24) addr:0x0215e8d4
|
||||
func_ov071_0215e8f8 kind:function(arm,size=0x70) addr:0x0215e8f8
|
||||
func_ov071_0215e968 kind:function(arm,size=0x44) addr:0x0215e968
|
||||
func_ov071_0215e9ac kind:function(arm,size=0x68) addr:0x0215e9ac
|
||||
_ZN18UnkStruct_027e0d7019func_ov071_0215e9acEv kind:function(arm,size=0x68) addr:0x0215e9ac
|
||||
func_ov071_0215ea14 kind:function(arm,size=0x7c) addr:0x0215ea14
|
||||
func_ov071_0215ea90 kind:function(arm,size=0x38) addr:0x0215ea90
|
||||
func_ov071_0215eac8 kind:function(arm,size=0x50) addr:0x0215eac8
|
||||
_ZN18UnkStruct_027e0d7019func_ov071_0215eac8Ev kind:function(arm,size=0x50) addr:0x0215eac8
|
||||
func_ov071_0215eb18 kind:function(arm,size=0xc) addr:0x0215eb18
|
||||
func_ov071_0215eb24 kind:function(arm,size=0x27c) addr:0x0215eb24
|
||||
func_ov071_0215eda0 kind:function(arm,size=0x50) addr:0x0215eda0
|
||||
|
||||
@@ -606,7 +606,7 @@ _Z9SysDeletePv kind:function(arm,size=0x6c) addr:0x02011ea4
|
||||
_Z13func_02011f10i kind:function(arm,size=0x20) addr:0x02011f10
|
||||
_Z13func_02011f30i kind:function(arm,size=0xc) addr:0x02011f30
|
||||
_Znwmjj kind:function(arm,size=0xb8) addr:0x02011f3c
|
||||
_ZN9SysObjectdlEPv kind:function(arm,size=0xc) addr:0x02011ff4
|
||||
_ZdlPv kind:function(arm,size=0xc) addr:0x02011ff4
|
||||
_ZN9SysObjectdaEPv kind:function(arm,size=0xc) addr:0x02012000
|
||||
func_0201200c kind:function(arm,size=0x15c) addr:0x0201200c
|
||||
func_02012168 kind:function(arm,size=0x198) addr:0x02012168
|
||||
|
||||
@@ -155,7 +155,7 @@ func_01ffd250 kind:function(arm,size=0x44) addr:0x01ffd250
|
||||
func_01ffd294 kind:function(arm,size=0x11c) addr:0x01ffd294
|
||||
func_01ffd3b0 kind:function(arm,size=0x28) addr:0x01ffd3b0
|
||||
func_01ffd3d8 kind:function(arm,size=0x28) addr:0x01ffd3d8
|
||||
func_01ffd400 kind:function(arm,size=0x20) addr:0x01ffd400
|
||||
_ZN18UnkStruct_027e09a413func_01ffd400Ev kind:function(arm,size=0x20) addr:0x01ffd400
|
||||
_ZN18UnkStruct_027e09b813func_01ffd420Ev kind:function(arm,size=0x1c) addr:0x01ffd420
|
||||
func_01ffd43c kind:function(arm,size=0x60) addr:0x01ffd43c
|
||||
func_01ffd49c kind:function(arm,size=0x1a4) addr:0x01ffd49c
|
||||
|
||||
@@ -189,9 +189,9 @@ func_ov000_0205a6e8 kind:function(arm,size=0x28) addr:0x0205a6e8
|
||||
func_ov000_0205a710 kind:function(arm,size=0x3c) addr:0x0205a710
|
||||
_ZN29UnkStruct_ov000_020b4ec4_BaseC2Ev kind:function(arm,size=0x20) addr:0x0205a74c
|
||||
_ZN26UnkStruct_StackTitleScreenC1EPKci kind:function(arm,size=0x54) addr:0x0205a76c
|
||||
_ZN26UnkStruct_StackTitleScreen19func_ov000_02059240Ev kind:function(arm,size=0x30) addr:0x0205a7c0
|
||||
_ZN26UnkStruct_StackTitleScreenD1Ev kind:function(arm,size=0x30) addr:0x0205a7c0
|
||||
_ZN26UnkStruct_StackTitleScreen19func_ov000_02059270EiPci kind:function(arm,size=0x18) addr:0x0205a7f0
|
||||
func_ov000_0205a808 kind:function(arm,size=0x18) addr:0x0205a808
|
||||
_ZN26UnkStruct_StackTitleScreen19func_ov000_02059288EiPci kind:function(arm,size=0x18) addr:0x0205a808
|
||||
func_ov000_0205a820 kind:function(thumb,size=0x46) addr:0x0205a820
|
||||
func_ov000_0205a868 kind:function(thumb,size=0x7c) addr:0x0205a868
|
||||
func_ov000_0205a8e4 kind:function(thumb,size=0xc) addr:0x0205a8e4
|
||||
@@ -987,7 +987,7 @@ func_ov000_020717ec kind:function(arm,size=0x14) addr:0x020717ec
|
||||
func_ov000_02071800 kind:function(arm,size=0x1c) addr:0x02071800
|
||||
func_ov000_02070164 kind:function(arm,size=0xfc) addr:0x0207181c
|
||||
func_ov000_02071918 kind:function(arm,size=0x3c) addr:0x02071918
|
||||
func_ov000_02071954 kind:function(arm,size=0xc) addr:0x02071954
|
||||
_ZN18UnkStruct_027e09a019func_ov000_0207029cEi kind:function(arm,size=0xc) addr:0x02071954
|
||||
func_ov000_02071960 kind:function(arm,size=0x14) addr:0x02071960
|
||||
func_ov000_02071974 kind:function(arm,size=0x40) addr:0x02071974
|
||||
func_ov000_020719b4 kind:function(arm,size=0x14) addr:0x020719b4
|
||||
@@ -1001,7 +1001,7 @@ _ZN18UnkStruct_027e09a4D1Ev kind:function(arm,size=0x44) addr:0x02071bac
|
||||
func_ov000_02071bf0 kind:function(arm,size=0xc) addr:0x02071bf0
|
||||
func_ov000_02071bfc kind:function(arm,size=0x10) addr:0x02071bfc
|
||||
func_ov000_02071c0c kind:function(arm,size=0xc) addr:0x02071c0c
|
||||
func_ov000_02071c18 kind:function(arm,size=0xc) addr:0x02071c18
|
||||
_ZN18UnkStruct_027e09a419func_ov000_02070560Ev kind:function(arm,size=0xc) addr:0x02071c18
|
||||
func_ov000_02071c24 kind:function(arm,size=0x14) addr:0x02071c24
|
||||
func_ov000_02071c38 kind:function(arm,size=0x1c) addr:0x02071c38
|
||||
func_ov000_02071c54 kind:function(arm,size=0x4c) addr:0x02071c54
|
||||
@@ -2242,7 +2242,7 @@ func_ov000_0209847c kind:function(arm,size=0x24) addr:0x0209847c
|
||||
func_ov000_020984a0 kind:function(arm,size=0x14) addr:0x020984a0
|
||||
func_ov000_020984b4 kind:function(arm,size=0x68) addr:0x020984b4
|
||||
func_ov000_0209851c kind:function(arm,size=0xdc) addr:0x0209851c
|
||||
func_ov000_020985f8 kind:function(arm,size=0x6c) addr:0x020985f8
|
||||
_ZN12ActorManager19func_ov000_02096e44Ei kind:function(arm,size=0x6c) addr:0x020985f8
|
||||
func_ov000_02098664 kind:function(arm,size=0x38) addr:0x02098664
|
||||
func_ov000_0209869c kind:function(arm,size=0x164) addr:0x0209869c
|
||||
func_ov000_02098800 kind:function(arm,size=0x7c) addr:0x02098800
|
||||
@@ -2250,11 +2250,11 @@ func_ov000_0209887c kind:function(arm,size=0xc4) addr:0x0209887c
|
||||
func_ov000_02098940 kind:function(arm,size=0xb8) addr:0x02098940
|
||||
func_ov000_020989f8 kind:function(arm,size=0x44) addr:0x020989f8
|
||||
func_ov000_02098a3c kind:function(arm,size=0x154) addr:0x02098a3c
|
||||
func_ov000_02098b90 kind:function(arm,size=0xc) addr:0x02098b90
|
||||
func_ov000_02098b9c kind:function(arm,size=0xc) addr:0x02098b9c
|
||||
_ZN24UnkStruct_ov000_020b539c18func_ov000_02073dcEv kind:function(arm,size=0xc) addr:0x02098b90
|
||||
_ZN24UnkStruct_ov000_020b539c18func_ov000_02073e8Ev kind:function(arm,size=0xc) addr:0x02098b9c
|
||||
func_ov000_02098ba8 kind:function(arm,size=0x50) addr:0x02098ba8
|
||||
func_ov000_02098bf8 kind:function(arm,size=0x98) addr:0x02098bf8
|
||||
func_ov000_02098c90 kind:function(arm,size=0x4c) addr:0x02098c90
|
||||
_ZN24UnkStruct_ov000_020b539c19func_ov000_020974dcEj kind:function(arm,size=0x4c) addr:0x02098c90
|
||||
func_ov000_02098cdc kind:function(arm,size=0x20) addr:0x02098cdc
|
||||
func_ov000_02098cfc kind:function(arm,size=0x78) addr:0x02098cfc
|
||||
func_ov000_02098d74 kind:function(arm,size=0x1c) addr:0x02098d74
|
||||
|
||||
@@ -7,3 +7,5 @@
|
||||
|
||||
src/001_SceneInit/Actor/ActorManager_001.cpp:
|
||||
.text start:0x020bc7ac end:0x020bd0c4
|
||||
.rodata start:0x020c3e78 end:0x020c3ea0
|
||||
.data start:0x020c437c end:0x020c44b0
|
||||
|
||||
@@ -2352,7 +2352,7 @@ from:0x020c2d78 kind:load to:0x020c4d5c module:overlay(1)
|
||||
from:0x020c2de4 kind:load to:0x020c5f41 module:overlay(1)
|
||||
from:0x020c2df0 kind:load to:0x020c3da4 module:overlay(1)
|
||||
from:0x020c2e5c kind:load to:0x020c5f41 module:overlay(1)
|
||||
from:0x020c2e68 kind:load to:0x020c3e7c module:overlay(1)
|
||||
from:0x020c2e68 kind:load to:0x020c3e78 add:4 module:overlay(1)
|
||||
from:0x020c2ed4 kind:load to:0x020c5f41 module:overlay(1)
|
||||
from:0x020c2ee0 kind:load to:0x020c3f90 module:overlay(1)
|
||||
from:0x020c2f4c kind:load to:0x020c5f41 module:overlay(1)
|
||||
|
||||
@@ -177,14 +177,14 @@ _ZN12ActorManager6CreateEv kind:function(thumb,size=0x16) addr:0x020bc7ac
|
||||
_ZN12ActorManagerC1Ev kind:function(thumb,size=0x46) addr:0x020bc7c4
|
||||
_ZN12ActorManagerD1Ev kind:function(thumb,size=0x18) addr:0x020bc80c
|
||||
_ZN12ActorManager19func_ov001_020bafdcEv kind:function(thumb,size=0x3c) addr:0x020bc824
|
||||
_ZN12ActorManager19func_ov001_020bb018Ei kind:function(thumb,size=0x3fc) addr:0x020bc860
|
||||
_ZN12ActorManager19func_ov001_020bb414Ev kind:function(thumb,size=0x74) addr:0x020bcc5c
|
||||
_ZN12ActorManager19func_ov001_020bb018EP36UnkStruct_func_ov001_020bb018_param2 kind:function(thumb,size=0x3fc) addr:0x020bc860
|
||||
_ZN12ActorManager19func_ov001_020bb414EPS_ kind:function(thumb,size=0x74) addr:0x020bcc5c
|
||||
_ZN12ActorManager19func_ov001_020bb488Ev kind:function(thumb,size=0xc0) addr:0x020bccd0
|
||||
_ZN12ActorManager19func_ov001_020bb548Ev kind:function(thumb,size=0xe8) addr:0x020bcd90
|
||||
_ZN12ActorManager19func_ov001_020bb630Ev kind:function(thumb,size=0x80) addr:0x020bce78
|
||||
_ZN12ActorManager19func_ov001_020bb6b0EPi kind:function(thumb,size=0x78) addr:0x020bcef8
|
||||
_ZN12ActorManager19func_ov001_020bb728Ei kind:function(thumb,size=0x88) addr:0x020bcf70
|
||||
_ZN12ActorManager19func_ov001_020bb7b0Ei kind:function(thumb,size=0x40) addr:0x020bcff8
|
||||
_ZN12ActorManager19func_ov001_020bb7b0EP15ZeldaObjectList kind:function(thumb,size=0x40) addr:0x020bcff8
|
||||
_ZN12ActorManager19func_ov001_020bb7f0Ev kind:function(thumb,size=0x34) addr:0x020bd038
|
||||
_ZN12ActorManager19func_ov001_020bb824Ev kind:function(thumb,size=0x20) addr:0x020bd06c
|
||||
_ZN12ActorManager19func_ov001_020bb844Ev kind:function(thumb,size=0x20) addr:0x020bd08c
|
||||
@@ -472,7 +472,6 @@ data_ov001_020c3e14 kind:data(any) addr:0x020c3e14
|
||||
data_ov001_020c3e28 kind:data(any) addr:0x020c3e28
|
||||
data_ov001_020c3e50 kind:data(any) addr:0x020c3e50
|
||||
data_ov001_020c3e78 kind:data(any) addr:0x020c3e78
|
||||
data_ov001_020c3e7c kind:data(any) addr:0x020c3e7c
|
||||
data_ov001_020c3e82 kind:data(any) addr:0x020c3e82
|
||||
data_ov001_020c3e8c kind:data(any) addr:0x020c3e8c
|
||||
data_ov001_020c3ea0 kind:data(any) addr:0x020c3ea0
|
||||
|
||||
@@ -443,9 +443,9 @@ func_ov021_020fa134 kind:function(arm,size=0x18) addr:0x020fa134
|
||||
func_ov021_020fa14c kind:function(arm,size=0x64) addr:0x020fa14c
|
||||
func_ov021_020fa1b0 kind:function(arm,size=0x28) addr:0x020fa1b0
|
||||
func_ov021_020fa1d8 kind:function(arm,size=0x458) addr:0x020fa1d8
|
||||
func_ov021_020fa630 kind:function(arm,size=0x44) addr:0x020fa630
|
||||
func_ov021_020fa674 kind:function(arm,size=0x44) addr:0x020fa674
|
||||
func_ov021_020fa6b8 kind:function(arm,size=0x48) addr:0x020fa6b8
|
||||
_ZN18UnkStruct_027e0cf4D1Ev kind:function(arm,size=0x44) addr:0x020fa630
|
||||
_ZN18UnkStruct_027e0cf419func_ov021_020f8cdcEv kind:function(arm,size=0x44) addr:0x020fa674
|
||||
_ZN18UnkStruct_027e0cf419func_ov021_020f8d20Ev kind:function(arm,size=0x48) addr:0x020fa6b8
|
||||
func_ov021_020fa700 kind:function(arm,size=0x334) addr:0x020fa700
|
||||
func_ov021_020faa34 kind:function(arm,size=0x48) addr:0x020faa34
|
||||
func_ov021_020faa7c kind:function(arm,size=0x150) addr:0x020faa7c
|
||||
|
||||
@@ -249,7 +249,7 @@ func_ov060_021606b4 kind:function(arm,size=0xc) addr:0x021606b4
|
||||
func_ov060_021606c0 kind:function(arm,size=0x24) addr:0x021606c0
|
||||
func_ov060_021606e4 kind:function(arm,size=0x28) addr:0x021606e4
|
||||
func_ov060_0216070c kind:function(arm,size=0xc4) addr:0x0216070c
|
||||
func_ov060_021607d0 kind:function(arm,size=0x6c) addr:0x021607d0
|
||||
_ZN18UnkStruct_027e0d70D1Ev kind:function(arm,size=0x6c) addr:0x021607d0
|
||||
func_ov060_0216083c kind:function(arm,size=0x14) addr:0x0216083c
|
||||
func_ov060_02160850 kind:function(arm,size=0x14) addr:0x02160850
|
||||
func_ov060_02160864 kind:function(arm,size=0x20) addr:0x02160864
|
||||
|
||||
@@ -257,7 +257,7 @@ func_ov068_02160848 kind:function(arm,size=0xb0) addr:0x02160848
|
||||
func_ov068_021608f8 kind:function(arm,size=0xc) addr:0x021608f8
|
||||
func_ov068_02160904 kind:function(arm,size=0x28) addr:0x02160904
|
||||
func_ov068_0216092c kind:function(arm,size=0x30) addr:0x0216092c
|
||||
func_ov068_0216095c kind:function(arm,size=0x14) addr:0x0216095c
|
||||
_ZN18UnkStruct_027e0d7019func_ov068_0215e8f8Ev kind:function(arm,size=0x14) addr:0x0216095c
|
||||
func_ov068_02160970 kind:function(arm,size=0xc) addr:0x02160970
|
||||
func_ov068_0216097c kind:function(arm,size=0x28) addr:0x0216097c
|
||||
func_ov068_021609a4 kind:function(arm,size=0x54) addr:0x021609a4
|
||||
|
||||
@@ -266,10 +266,10 @@ func_ov071_021609e8 kind:function(arm,size=0xd8) addr:0x021609e8
|
||||
func_ov071_02160ac0 kind:function(arm,size=0x24) addr:0x02160ac0
|
||||
func_ov071_02160ae4 kind:function(arm,size=0x70) addr:0x02160ae4
|
||||
func_ov071_02160b54 kind:function(arm,size=0x44) addr:0x02160b54
|
||||
func_ov071_02160b98 kind:function(arm,size=0x68) addr:0x02160b98
|
||||
_ZN18UnkStruct_027e0d7019func_ov071_0215e9acEv kind:function(arm,size=0x68) addr:0x02160b98
|
||||
func_ov071_02160c00 kind:function(arm,size=0x7c) addr:0x02160c00
|
||||
func_ov071_02160c7c kind:function(arm,size=0x38) addr:0x02160c7c
|
||||
func_ov071_02160cb4 kind:function(arm,size=0x50) addr:0x02160cb4
|
||||
_ZN18UnkStruct_027e0d7019func_ov071_0215eac8Ev kind:function(arm,size=0x50) addr:0x02160cb4
|
||||
func_ov071_02160d04 kind:function(arm,size=0xc) addr:0x02160d04
|
||||
func_ov071_02160d10 kind:function(arm,size=0x27c) addr:0x02160d10
|
||||
func_ov071_02160f8c kind:function(arm,size=0x50) addr:0x02160f8c
|
||||
|
||||
@@ -606,7 +606,7 @@ _Z9SysDeletePv kind:function(arm,size=0x6c) addr:0x02011ea4
|
||||
_Z13func_02011f10i kind:function(arm,size=0x20) addr:0x02011f10
|
||||
_Z13func_02011f30i kind:function(arm,size=0xc) addr:0x02011f30
|
||||
_Znwmjj kind:function(arm,size=0xb8) addr:0x02011f3c
|
||||
_ZN9SysObjectdlEPv kind:function(arm,size=0xc) addr:0x02011ff4
|
||||
_ZdlPv kind:function(arm,size=0xc) addr:0x02011ff4
|
||||
_ZN9SysObjectdaEPv kind:function(arm,size=0xc) addr:0x02012000
|
||||
func_0201200c kind:function(arm,size=0x15c) addr:0x0201200c
|
||||
func_02012168 kind:function(arm,size=0x198) addr:0x02012168
|
||||
|
||||
+4
-4
@@ -79,11 +79,11 @@ Each overlay is tied to an index which is used to access the overlay in two diff
|
||||
`068` | FldAjito | `056` | |
|
||||
`069` | FldRabbit | `057` | |
|
||||
`070` | Dungeon | `031` | |
|
||||
`071` | Tower | `033` | |
|
||||
`071` | Tower | `033` | `8` |
|
||||
`072` | TowerLobby | `034` | |
|
||||
`073` | BossDeago | `040` | |
|
||||
`074` | BossLast1 | `041` | |
|
||||
`075` | BossLast2 | `042` | |
|
||||
`073` | BossDeago | `040` | `8` |
|
||||
`074` | BossLast1 | `041` | `8` |
|
||||
`075` | BossLast2 | `042` | `8` |
|
||||
`076` | DgnLv1 | `071` | |
|
||||
`077` | DgnForest | `043` | |
|
||||
`078` | BossForest | `035` | |
|
||||
|
||||
+42
-33
@@ -5,6 +5,7 @@
|
||||
#include "Actor/ActorType.hpp"
|
||||
#include "Physics/Cylinder.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "flags.h"
|
||||
#include "global.h"
|
||||
#include "nitro/math.h"
|
||||
#include "types.h"
|
||||
@@ -32,42 +33,46 @@ public:
|
||||
/* 00 */ Actor_5c_Base mUnk_00[3];
|
||||
/* 30 */ ActorType *mUnk_30;
|
||||
/* 34 */
|
||||
|
||||
ActorType **func_ov000_02073dc();
|
||||
ActorType **func_ov000_02073e8();
|
||||
ActorType *func_ov000_020974dc(u32 id);
|
||||
};
|
||||
|
||||
typedef u32 ActorFlags;
|
||||
enum ActorFlag_ {
|
||||
ActorFlag_Alive,
|
||||
ActorFlag_Visible,
|
||||
ActorFlag_2,
|
||||
ActorFlag_Active, // stops updating if false
|
||||
ActorFlag_4,
|
||||
ActorFlag_5,
|
||||
ActorFlag_6,
|
||||
ActorFlag_7,
|
||||
ActorFlag_Grabbed,
|
||||
ActorFlag_9,
|
||||
ActorFlag_Interacting, // set when player interacts with actor
|
||||
ActorFlag_11,
|
||||
ActorFlag_12,
|
||||
ActorFlag_13,
|
||||
ActorFlag_14,
|
||||
ActorFlag_15,
|
||||
ActorFlag_16,
|
||||
ActorFlag_17,
|
||||
ActorFlag_18,
|
||||
ActorFlag_19,
|
||||
ActorFlag_20,
|
||||
ActorFlag_21,
|
||||
ActorFlag_22,
|
||||
ActorFlag_23,
|
||||
ActorFlag_24,
|
||||
ActorFlag_25,
|
||||
ActorFlag_26,
|
||||
ActorFlag_27,
|
||||
ActorFlag_28,
|
||||
ActorFlag_29,
|
||||
ActorFlag_30,
|
||||
ActorFlag_31,
|
||||
ActorFlag_Alive = FLAG(0, 0),
|
||||
ActorFlag_Visible = FLAG(0, 1),
|
||||
ActorFlag_2 = FLAG(0, 2),
|
||||
ActorFlag_Active = FLAG(0, 3), // stops updating if false
|
||||
ActorFlag_4 = FLAG(0, 4),
|
||||
ActorFlag_5 = FLAG(0, 5),
|
||||
ActorFlag_6 = FLAG(0, 6),
|
||||
ActorFlag_7 = FLAG(0, 7),
|
||||
ActorFlag_Grabbed = FLAG(0, 8),
|
||||
ActorFlag_9 = FLAG(0, 9),
|
||||
ActorFlag_Interacting = FLAG(0, 10), // set when player interacts with actor
|
||||
ActorFlag_11 = FLAG(0, 11),
|
||||
ActorFlag_12 = FLAG(0, 12),
|
||||
ActorFlag_13 = FLAG(0, 13),
|
||||
ActorFlag_14 = FLAG(0, 14),
|
||||
ActorFlag_15 = FLAG(0, 15),
|
||||
ActorFlag_16 = FLAG(0, 16),
|
||||
ActorFlag_17 = FLAG(0, 17),
|
||||
ActorFlag_18 = FLAG(0, 18),
|
||||
ActorFlag_19 = FLAG(0, 19),
|
||||
ActorFlag_20 = FLAG(0, 20),
|
||||
ActorFlag_21 = FLAG(0, 21),
|
||||
ActorFlag_22 = FLAG(0, 22),
|
||||
ActorFlag_23 = FLAG(0, 23),
|
||||
ActorFlag_24 = FLAG(0, 24),
|
||||
ActorFlag_25 = FLAG(0, 25),
|
||||
ActorFlag_26 = FLAG(0, 26),
|
||||
ActorFlag_27 = FLAG(0, 27),
|
||||
ActorFlag_28 = FLAG(0, 28),
|
||||
ActorFlag_29 = FLAG(0, 29),
|
||||
ActorFlag_30 = FLAG(0, 30),
|
||||
ActorFlag_31 = FLAG(0, 31),
|
||||
};
|
||||
|
||||
class Actor : public SysObject {
|
||||
@@ -94,7 +99,7 @@ public:
|
||||
/* 50 */ volatile u16 mUnk_50;
|
||||
/* 52 */ u16 mUnk_52;
|
||||
/* 54 */ unk32 mUnk_54;
|
||||
/* 58 */ ActorFlags mFlags;
|
||||
/* 58 */ ActorFlags mFlags[1];
|
||||
/* 5c */ Actor_5c mUnk_5c;
|
||||
/* 6c */ u16 mUnk_6c; // actor user id?
|
||||
/* 6e */ u16 mUnk_6e;
|
||||
@@ -138,6 +143,10 @@ public:
|
||||
|
||||
unk32 func_01fff5d0(unk32 param1, unk32 param2);
|
||||
|
||||
void ResetFlags() {
|
||||
*(u32 *) this->mFlags = 0;
|
||||
}
|
||||
|
||||
Actor();
|
||||
void func_ov000_0209848c(ActorType *param1);
|
||||
void func_ov000_020984b0();
|
||||
|
||||
@@ -1,47 +1,67 @@
|
||||
#pragma once
|
||||
|
||||
#include "Actor/ActorUnk_ov000_020a8bb0.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/Common.hpp"
|
||||
#include "files.h"
|
||||
#include "types.h"
|
||||
|
||||
class ActorManager {
|
||||
struct UnkStruct_func_ov001_020bb018_param2 {
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x08);
|
||||
/* 08 */ u16 mUnk_08;
|
||||
/* 08 */ u16 mUnk_0A;
|
||||
};
|
||||
|
||||
class ActorManager : public SysObject {
|
||||
public:
|
||||
/* 00 */ Actor **mActorTable;
|
||||
/* 04 */ Actor **mActorTableEnd;
|
||||
/* 08 */ Actor **mUnk_08;
|
||||
/* 0c */ unk16 mActorCount;
|
||||
/* 0e */ unk16 mNextActorId;
|
||||
/* 10 */ unk8 mUnk_10[0x14 - 0x10];
|
||||
/* 14 */ unk32 mUnk_14;
|
||||
/* 18 */ unk32 mUnk_18;
|
||||
/* 1c */ unk8 mUnk_1c[0x24 - 0x1c];
|
||||
/* 10 */ unk8 mUnk_10;
|
||||
/* 10 */ unk8 mUnk_11;
|
||||
/* 10 */ unk8 mUnk_12;
|
||||
/* 10 */ unk8 mUnk_13;
|
||||
/* 14 */ UnkStruct_ov019_020d24c8_28_258_00 mUnk_14;
|
||||
/* 1c */ unk32 mUnk_1c;
|
||||
/* 20 */ unk8 mUnk_20;
|
||||
/* 21 */ unk8 mUnk_21;
|
||||
/* 22 */ unk8 mUnk_22;
|
||||
/* 23 */ unk8 mUnk_23;
|
||||
/* 24 */ unk32 mUnk_24;
|
||||
/* 28 */ unk32 mUnk_28;
|
||||
/* 2c */ unk32 mUnk_2c;
|
||||
/* 30 */ unk16 mUnk_30;
|
||||
/* 32 */ unk8 mUnk_32[0x34 - 0x32];
|
||||
/* 32 */ unk8 mUnk_32;
|
||||
/* 33 */ unk8 mUnk_33;
|
||||
/* 34 */ unk32 mUnk_34;
|
||||
/* 38 */
|
||||
|
||||
ActorManager();
|
||||
~ActorManager();
|
||||
static void SetInstance(ActorManager *instance);
|
||||
static void ClearInstance();
|
||||
static void Create();
|
||||
static void Destroy();
|
||||
|
||||
ActorUnk_ov000_020a8bb0 *func_01fff3b4(unk32 param1);
|
||||
|
||||
void func_ov000_02096e44(int index);
|
||||
|
||||
int ClearInstance();
|
||||
void func_ov001_020bafdc();
|
||||
void func_ov001_020bb018(s32 param1);
|
||||
void func_ov001_020bb414();
|
||||
void func_ov001_020bb018(UnkStruct_func_ov001_020bb018_param2 *param1);
|
||||
void func_ov001_020bb488();
|
||||
void func_ov001_020bb548();
|
||||
void func_ov001_020bb630();
|
||||
void func_ov001_020bb6b0(s32 *param1);
|
||||
static bool func_ov001_020bb728(s32 param1);
|
||||
void func_ov001_020bb7b0(s32 param1);
|
||||
void func_ov001_020bb7b0(ZeldaObjectList *pObjList);
|
||||
void func_ov001_020bb7f0();
|
||||
|
||||
static void SetInstance(ActorManager *instance);
|
||||
static ActorManager *Create();
|
||||
static void Destroy();
|
||||
static void func_ov001_020bb414(ActorManager *instance);
|
||||
static bool func_ov001_020bb728(s32 param1);
|
||||
static void func_ov001_020bb824();
|
||||
static void func_ov001_020bb844();
|
||||
|
||||
ActorUnk_ov000_020a8bb0 *func_01fff3b4(unk32 param1);
|
||||
};
|
||||
|
||||
extern ActorManager *gActorManager;
|
||||
|
||||
@@ -23,7 +23,7 @@ public:
|
||||
/* 2c */ unk32 mUnk_2c;
|
||||
/* 30 */ unk32 mUnk_30;
|
||||
/* 34 */ unk32 mUnk_34;
|
||||
/* 38 */ unk8 mUnk_38;
|
||||
/* 38 */ u8 mUnk_38;
|
||||
/* 39 */ unk8 mUnk_39;
|
||||
/* 3a */
|
||||
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
#pragma once
|
||||
|
||||
#include "types.h"
|
||||
|
||||
enum MapObjectId {
|
||||
#define DEFINE_MAP_OBJECT_TYPE(id, name) MapObjectId_##name = id,
|
||||
#include "Map/MapObjectTypeTable.inl"
|
||||
#undef DEFINE_MAP_OBJECT_TYPE
|
||||
};
|
||||
@@ -0,0 +1,265 @@
|
||||
// IMPORTANT: Map Object types must be sorted by ID!
|
||||
|
||||
// DEFINE_MAP_OBJECT_TYPE(id, name)
|
||||
DEFINE_MAP_OBJECT_TYPE('ACDS', ACDS)
|
||||
DEFINE_MAP_OBJECT_TYPE('ACFR', ACFR)
|
||||
DEFINE_MAP_OBJECT_TYPE('ACSN', ACSN)
|
||||
DEFINE_MAP_OBJECT_TYPE('ACVC', ACVC)
|
||||
DEFINE_MAP_OBJECT_TYPE('ACWT', ACWT)
|
||||
DEFINE_MAP_OBJECT_TYPE('ARWL', ARWL)
|
||||
DEFINE_MAP_OBJECT_TYPE('BBFL', BBFL)
|
||||
DEFINE_MAP_OBJECT_TYPE('BFFL', BFFL)
|
||||
DEFINE_MAP_OBJECT_TYPE('BFSP', BFSP)
|
||||
DEFINE_MAP_OBJECT_TYPE('BKCT', BKCT)
|
||||
DEFINE_MAP_OBJECT_TYPE('BLCC', BLCC)
|
||||
DEFINE_MAP_OBJECT_TYPE('BLCE', BLCE)
|
||||
DEFINE_MAP_OBJECT_TYPE('BLCK', BLCK)
|
||||
DEFINE_MAP_OBJECT_TYPE('BLCM', BLCM)
|
||||
DEFINE_MAP_OBJECT_TYPE('BLHL', BLHL)
|
||||
DEFINE_MAP_OBJECT_TYPE('BLKF', BLKF)
|
||||
DEFINE_MAP_OBJECT_TYPE('BLRB', BLRB)
|
||||
DEFINE_MAP_OBJECT_TYPE('BLSR', BLSR)
|
||||
DEFINE_MAP_OBJECT_TYPE('BLT3', BLT3)
|
||||
DEFINE_MAP_OBJECT_TYPE('BLT4', BLT4)
|
||||
DEFINE_MAP_OBJECT_TYPE('BLVC', BLVC)
|
||||
DEFINE_MAP_OBJECT_TYPE('BMFL', BMFL)
|
||||
DEFINE_MAP_OBJECT_TYPE('BREX', BREX)
|
||||
DEFINE_MAP_OBJECT_TYPE('BRGL', BRGL)
|
||||
DEFINE_MAP_OBJECT_TYPE('BRGS', BRGS)
|
||||
DEFINE_MAP_OBJECT_TYPE('BRGW', BRGW)
|
||||
DEFINE_MAP_OBJECT_TYPE('BRLI', BRLI)
|
||||
DEFINE_MAP_OBJECT_TYPE('CHAI', CHAI)
|
||||
DEFINE_MAP_OBJECT_TYPE('CLMN', CLMN)
|
||||
DEFINE_MAP_OBJECT_TYPE('CRLL', CRLL)
|
||||
DEFINE_MAP_OBJECT_TYPE('CRWL', CRWL)
|
||||
DEFINE_MAP_OBJECT_TYPE('CSTL', CSTL)
|
||||
DEFINE_MAP_OBJECT_TYPE('CTPT', CTPT)
|
||||
DEFINE_MAP_OBJECT_TYPE('DFNC', DFNC)
|
||||
DEFINE_MAP_OBJECT_TYPE('DNGN', DNGN)
|
||||
DEFINE_MAP_OBJECT_TYPE('DOPA', DOPA)
|
||||
DEFINE_MAP_OBJECT_TYPE('DRBK', DRBK)
|
||||
DEFINE_MAP_OBJECT_TYPE('DRBR', DRBR)
|
||||
DEFINE_MAP_OBJECT_TYPE('DRCG', DRCG)
|
||||
DEFINE_MAP_OBJECT_TYPE('DRCK', DRCK)
|
||||
DEFINE_MAP_OBJECT_TYPE('DRDS', DRDS)
|
||||
DEFINE_MAP_OBJECT_TYPE('DRHS', DRHS)
|
||||
DEFINE_MAP_OBJECT_TYPE('DRKY', DRKY)
|
||||
DEFINE_MAP_OBJECT_TYPE('DRMC', DRMC)
|
||||
DEFINE_MAP_OBJECT_TYPE('DRRS', DRRS)
|
||||
DEFINE_MAP_OBJECT_TYPE('DRSN', DRSN)
|
||||
DEFINE_MAP_OBJECT_TYPE('DRST', DRST)
|
||||
DEFINE_MAP_OBJECT_TYPE('DRSW', DRSW)
|
||||
DEFINE_MAP_OBJECT_TYPE('DRTC', DRTC)
|
||||
DEFINE_MAP_OBJECT_TYPE('DRTW', DRTW)
|
||||
DEFINE_MAP_OBJECT_TYPE('DRTY', DRTY)
|
||||
DEFINE_MAP_OBJECT_TYPE('DRVC', DRVC)
|
||||
DEFINE_MAP_OBJECT_TYPE('DRVT', DRVT)
|
||||
DEFINE_MAP_OBJECT_TYPE('EBRD', EBRD)
|
||||
DEFINE_MAP_OBJECT_TYPE('EFRF', EFRF)
|
||||
DEFINE_MAP_OBJECT_TYPE('EFRS', EFRS)
|
||||
DEFINE_MAP_OBJECT_TYPE('ETDK', ETDK)
|
||||
DEFINE_MAP_OBJECT_TYPE('ETET', ETET)
|
||||
DEFINE_MAP_OBJECT_TYPE('ETMW', ETMW)
|
||||
DEFINE_MAP_OBJECT_TYPE('ETNL', ETNL)
|
||||
DEFINE_MAP_OBJECT_TYPE('ETNM', ETNM)
|
||||
DEFINE_MAP_OBJECT_TYPE('ETNS', ETNS)
|
||||
DEFINE_MAP_OBJECT_TYPE('ETSD', ETSD)
|
||||
DEFINE_MAP_OBJECT_TYPE('ETSW', ETSW)
|
||||
DEFINE_MAP_OBJECT_TYPE('ETTV', ETTV)
|
||||
DEFINE_MAP_OBJECT_TYPE('ETUS', ETUS)
|
||||
DEFINE_MAP_OBJECT_TYPE('ETWP', ETWP)
|
||||
DEFINE_MAP_OBJECT_TYPE('ETYG', ETYG)
|
||||
DEFINE_MAP_OBJECT_TYPE('EXIT', EXIT)
|
||||
DEFINE_MAP_OBJECT_TYPE('FLSP', FLSP)
|
||||
DEFINE_MAP_OBJECT_TYPE('FNCE', FNCE)
|
||||
DEFINE_MAP_OBJECT_TYPE('FRA1', FRA1)
|
||||
DEFINE_MAP_OBJECT_TYPE('FRAI', FRAI)
|
||||
DEFINE_MAP_OBJECT_TYPE('FRAM', FRAM)
|
||||
DEFINE_MAP_OBJECT_TYPE('FRSH', FRSH)
|
||||
DEFINE_MAP_OBJECT_TYPE('FRWL', FRWL)
|
||||
DEFINE_MAP_OBJECT_TYPE('FSCT', FSCT)
|
||||
DEFINE_MAP_OBJECT_TYPE('FSFR', FSFR)
|
||||
DEFINE_MAP_OBJECT_TYPE('FSFS', FSFS)
|
||||
DEFINE_MAP_OBJECT_TYPE('FSSN', FSSN)
|
||||
DEFINE_MAP_OBJECT_TYPE('FSSV', FSSV)
|
||||
DEFINE_MAP_OBJECT_TYPE('FST0', FST0)
|
||||
DEFINE_MAP_OBJECT_TYPE('FST1', FST1)
|
||||
DEFINE_MAP_OBJECT_TYPE('FST2', FST2)
|
||||
DEFINE_MAP_OBJECT_TYPE('FST3', FST3)
|
||||
DEFINE_MAP_OBJECT_TYPE('FSVC', FSVC)
|
||||
DEFINE_MAP_OBJECT_TYPE('FSWT', FSWT)
|
||||
DEFINE_MAP_OBJECT_TYPE('GATE', GATE)
|
||||
DEFINE_MAP_OBJECT_TYPE('GBDR', GBDR)
|
||||
DEFINE_MAP_OBJECT_TYPE('GELG', GELG)
|
||||
DEFINE_MAP_OBJECT_TYPE('GRSG', GRSG)
|
||||
DEFINE_MAP_OBJECT_TYPE('GRSS', GRSS)
|
||||
DEFINE_MAP_OBJECT_TYPE('GRSV', GRSV)
|
||||
DEFINE_MAP_OBJECT_TYPE('GSST', GSST)
|
||||
DEFINE_MAP_OBJECT_TYPE('GTCT', GTCT)
|
||||
DEFINE_MAP_OBJECT_TYPE('GTMT', GTMT)
|
||||
DEFINE_MAP_OBJECT_TYPE('GTRB', GTRB)
|
||||
DEFINE_MAP_OBJECT_TYPE('GTRK', GTRK)
|
||||
DEFINE_MAP_OBJECT_TYPE('GTSN', GTSN)
|
||||
DEFINE_MAP_OBJECT_TYPE('GTTN', GTTN)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOF0', HOF0)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOF1', HOF1)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOL0', HOL0)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOL1', HOL1)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOL2', HOL2)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOLB', HOLB)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOS0', HOS0)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOS1', HOS1)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOSB', HOSB)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOSO', HOSO)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOST', HOST)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOT0', HOT0)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOT1', HOT1)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOT2', HOT2)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOUS', HOUS)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOV0', HOV0)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOV1', HOV1)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOW0', HOW0)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOW1', HOW1)
|
||||
DEFINE_MAP_OBJECT_TYPE('ICEB', ICEB)
|
||||
DEFINE_MAP_OBJECT_TYPE('ICGR', ICGR)
|
||||
DEFINE_MAP_OBJECT_TYPE('ITFL', ITFL)
|
||||
DEFINE_MAP_OBJECT_TYPE('KNBN', KNBN)
|
||||
DEFINE_MAP_OBJECT_TYPE('LEVS', LEVS)
|
||||
DEFINE_MAP_OBJECT_TYPE('LTRW', LTRW)
|
||||
DEFINE_MAP_OBJECT_TYPE('LTST', LTST)
|
||||
DEFINE_MAP_OBJECT_TYPE('LVCM', LVCM)
|
||||
DEFINE_MAP_OBJECT_TYPE('LVVT', LVVT)
|
||||
DEFINE_MAP_OBJECT_TYPE('MBBS', MBBS)
|
||||
DEFINE_MAP_OBJECT_TYPE('MBRB', MBRB)
|
||||
DEFINE_MAP_OBJECT_TYPE('MBRG', MBRG)
|
||||
DEFINE_MAP_OBJECT_TYPE('MTFS', MTFS)
|
||||
DEFINE_MAP_OBJECT_TYPE('MTGT', MTGT)
|
||||
DEFINE_MAP_OBJECT_TYPE('MTIC', MTIC)
|
||||
DEFINE_MAP_OBJECT_TYPE('MTIR', MTIR)
|
||||
DEFINE_MAP_OBJECT_TYPE('MTJR', MTJR)
|
||||
DEFINE_MAP_OBJECT_TYPE('MTOR', MTOR)
|
||||
DEFINE_MAP_OBJECT_TYPE('MTWD', MTWD)
|
||||
DEFINE_MAP_OBJECT_TYPE('MTWR', MTWR)
|
||||
DEFINE_MAP_OBJECT_TYPE('MZFE', MZFE)
|
||||
DEFINE_MAP_OBJECT_TYPE('MZTR', MZTR)
|
||||
DEFINE_MAP_OBJECT_TYPE('NPST', NPST)
|
||||
DEFINE_MAP_OBJECT_TYPE('OJTH', OJTH)
|
||||
DEFINE_MAP_OBJECT_TYPE('PLCT', PLCT)
|
||||
DEFINE_MAP_OBJECT_TYPE('PLFM', PLFM)
|
||||
DEFINE_MAP_OBJECT_TYPE('PLFR', PLFR)
|
||||
DEFINE_MAP_OBJECT_TYPE('PLV2', PLV2)
|
||||
DEFINE_MAP_OBJECT_TYPE('PRSH', PRSH)
|
||||
DEFINE_MAP_OBJECT_TYPE('RCFL', RCFL)
|
||||
DEFINE_MAP_OBJECT_TYPE('RDSD', RDSD)
|
||||
DEFINE_MAP_OBJECT_TYPE('RKAG', RKAG)
|
||||
DEFINE_MAP_OBJECT_TYPE('RLFL', RLFL)
|
||||
DEFINE_MAP_OBJECT_TYPE('RLSG', RLSG)
|
||||
DEFINE_MAP_OBJECT_TYPE('RNBO', RNBO)
|
||||
DEFINE_MAP_OBJECT_TYPE('RPFL', RPFL)
|
||||
DEFINE_MAP_OBJECT_TYPE('SAND', SAND)
|
||||
DEFINE_MAP_OBJECT_TYPE('SBDE', SBDE)
|
||||
DEFINE_MAP_OBJECT_TYPE('SHWB', SHWB)
|
||||
DEFINE_MAP_OBJECT_TYPE('SKBN', SKBN)
|
||||
DEFINE_MAP_OBJECT_TYPE('SKDI', SKDI)
|
||||
DEFINE_MAP_OBJECT_TYPE('SKFR', SKFR)
|
||||
DEFINE_MAP_OBJECT_TYPE('SKSN', SKSN)
|
||||
DEFINE_MAP_OBJECT_TYPE('SKVC', SKVC)
|
||||
DEFINE_MAP_OBJECT_TYPE('SKWT', SKWT)
|
||||
DEFINE_MAP_OBJECT_TYPE('SPTB', SPTB)
|
||||
DEFINE_MAP_OBJECT_TYPE('STAL', STAL)
|
||||
DEFINE_MAP_OBJECT_TYPE('STAT', STAT)
|
||||
DEFINE_MAP_OBJECT_TYPE('STDE', STDE)
|
||||
DEFINE_MAP_OBJECT_TYPE('STDS', STDS)
|
||||
DEFINE_MAP_OBJECT_TYPE('STIR', STIR)
|
||||
DEFINE_MAP_OBJECT_TYPE('STNE', STNE)
|
||||
DEFINE_MAP_OBJECT_TYPE('STSD', STSD)
|
||||
DEFINE_MAP_OBJECT_TYPE('STSF', STSF)
|
||||
DEFINE_MAP_OBJECT_TYPE('STSH', STSH)
|
||||
DEFINE_MAP_OBJECT_TYPE('STSP', STSP)
|
||||
DEFINE_MAP_OBJECT_TYPE('STSS', STSS)
|
||||
DEFINE_MAP_OBJECT_TYPE('STSV', STSV)
|
||||
DEFINE_MAP_OBJECT_TYPE('SWBR', SWBR)
|
||||
DEFINE_MAP_OBJECT_TYPE('SWCB', SWCB)
|
||||
DEFINE_MAP_OBJECT_TYPE('SWCR', SWCR)
|
||||
DEFINE_MAP_OBJECT_TYPE('SWEY', SWEY)
|
||||
DEFINE_MAP_OBJECT_TYPE('SWHT', SWHT)
|
||||
DEFINE_MAP_OBJECT_TYPE('SWRA', SWRA)
|
||||
DEFINE_MAP_OBJECT_TYPE('SWST', SWST)
|
||||
DEFINE_MAP_OBJECT_TYPE('SWSW', SWSW)
|
||||
DEFINE_MAP_OBJECT_TYPE('SWWN', SWWN)
|
||||
DEFINE_MAP_OBJECT_TYPE('TATZ', TATZ)
|
||||
DEFINE_MAP_OBJECT_TYPE('TBSD', TBSD)
|
||||
DEFINE_MAP_OBJECT_TYPE('TBSF', TBSF)
|
||||
DEFINE_MAP_OBJECT_TYPE('TBSS', TBSS)
|
||||
DEFINE_MAP_OBJECT_TYPE('TCBT', TCBT)
|
||||
DEFINE_MAP_OBJECT_TYPE('TDBP', TDBP)
|
||||
DEFINE_MAP_OBJECT_TYPE('TDBR', TDBR)
|
||||
DEFINE_MAP_OBJECT_TYPE('TDDR', TDDR)
|
||||
DEFINE_MAP_OBJECT_TYPE('THAW', THAW)
|
||||
DEFINE_MAP_OBJECT_TYPE('TMDE', TMDE)
|
||||
DEFINE_MAP_OBJECT_TYPE('TMFR', TMFR)
|
||||
DEFINE_MAP_OBJECT_TYPE('TMSB', TMSB)
|
||||
DEFINE_MAP_OBJECT_TYPE('TMSN', TMSN)
|
||||
DEFINE_MAP_OBJECT_TYPE('TMWT', TMWT)
|
||||
DEFINE_MAP_OBJECT_TYPE('TOWN', TOWN)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRBB', TRBB)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRBF', TRBF)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRBL', TRBL)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRBM', TRBM)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRBR', TRBR)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRCC', TRCC)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRDA', TRDA)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRDR', TRDR)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRDT', TRDT)
|
||||
DEFINE_MAP_OBJECT_TYPE('TREE', TREE)
|
||||
DEFINE_MAP_OBJECT_TYPE('TREP', TREP)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRES', TRES)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRET', TRET)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRFI', TRFI)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRFO', TRFO)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRFS', TRFS)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRFV', TRFV)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRGE', TRGE)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRGM', TRGM)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRGW', TRGW)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRH0', TRH0)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRH1', TRH1)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRH2', TRH2)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRH3', TRH3)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRLS', TRLS)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRMA', TRMA)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRMR', TRMR)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRPI', TRPI)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRPT', TRPT)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRRA', TRRA)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRRC', TRRC)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRRD', TRRD)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRRS', TRRS)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRRW', TRRW)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRSA', TRSA)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRSD', TRSD)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRSH', TRSH)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRSN', TRSN)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRSR', TRSR)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRSS', TRSS)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRST', TRST)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRSW', TRSW)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRTF', TRTF)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRTS', TRTS)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRWA', TRWA)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRWS', TRWS)
|
||||
DEFINE_MAP_OBJECT_TYPE('TSUB', TSUB)
|
||||
DEFINE_MAP_OBJECT_TYPE('TWGS', TWGS)
|
||||
DEFINE_MAP_OBJECT_TYPE('TWPG', TWPG)
|
||||
DEFINE_MAP_OBJECT_TYPE('WDST', WDST)
|
||||
DEFINE_MAP_OBJECT_TYPE('WHSW', WHSW)
|
||||
DEFINE_MAP_OBJECT_TYPE('WLM0', WLM0)
|
||||
DEFINE_MAP_OBJECT_TYPE('WLM1', WLM1)
|
||||
DEFINE_MAP_OBJECT_TYPE('WLM2', WLM2)
|
||||
DEFINE_MAP_OBJECT_TYPE('WLM3', WLM3)
|
||||
DEFINE_MAP_OBJECT_TYPE('WLM4', WLM4)
|
||||
DEFINE_MAP_OBJECT_TYPE('WLM5', WLM5)
|
||||
DEFINE_MAP_OBJECT_TYPE('WLM6', WLM6)
|
||||
DEFINE_MAP_OBJECT_TYPE('WLM7', WLM7)
|
||||
DEFINE_MAP_OBJECT_TYPE('WLMS', WLMS)
|
||||
DEFINE_MAP_OBJECT_TYPE('ZDPF', ZDPF)
|
||||
@@ -27,7 +27,6 @@ enum HeapIndex_ {
|
||||
|
||||
class SysObject {
|
||||
public:
|
||||
static void operator delete(void *ptr);
|
||||
static void operator delete[](void *ptr);
|
||||
};
|
||||
|
||||
@@ -75,6 +74,8 @@ public:
|
||||
void func_02013014();
|
||||
void func_02013070();
|
||||
|
||||
void func_ov001_020ba588(unk32 param1, unk32 param2);
|
||||
|
||||
void func_ov018_020c4980();
|
||||
void func_ov018_020c4a5c();
|
||||
};
|
||||
|
||||
@@ -233,10 +233,19 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class UnkStruct_ov019_020d24c8_28_258 {
|
||||
public:
|
||||
struct UnkStruct_ov019_020d24c8_28_258_00 {
|
||||
/* 00 */ void *mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
|
||||
UnkStruct_ov019_020d24c8_28_258_00() {}
|
||||
UnkStruct_ov019_020d24c8_28_258_00(void *param1, unk32 param2) :
|
||||
mUnk_00(param1),
|
||||
mUnk_04(param2) {}
|
||||
void func_ov000_0205fc20(unk32 param1, unk32 param2, void *param3, void *param4);
|
||||
};
|
||||
|
||||
class UnkStruct_ov019_020d24c8_28_258 : public UnkStruct_ov019_020d24c8_28_258_00 {
|
||||
public:
|
||||
/* 08 */ unk16 mUnk_08;
|
||||
/* 0A */ union { //! TODO: figure out
|
||||
Vec2s mPos;
|
||||
@@ -257,8 +266,7 @@ public:
|
||||
};
|
||||
|
||||
UnkStruct_ov019_020d24c8_28_258(unk32 param1, unk32 param2) :
|
||||
mUnk_00(0),
|
||||
mUnk_04(0) {
|
||||
UnkStruct_ov019_020d24c8_28_258_00(NULL, 0) {
|
||||
this->UnknownAction(param1, param2);
|
||||
}
|
||||
|
||||
@@ -267,8 +275,6 @@ public:
|
||||
this->mUnk_12 = param1;
|
||||
this->mUnk_14 = param2;
|
||||
}
|
||||
|
||||
void func_ov000_0205fc20(unk32 param1, unk32 param2, void *param3, void *param4);
|
||||
};
|
||||
|
||||
#define BTN_ID_NONE -1
|
||||
@@ -844,3 +850,14 @@ public:
|
||||
unk32 func_ov000_02060c28(void);
|
||||
void func_ov000_02060bd8(unk32 param1);
|
||||
};
|
||||
|
||||
struct UnkStruct_StackTitleScreen {
|
||||
/* 00 */ unk32 pad[5];
|
||||
/* 14 */
|
||||
|
||||
UnkStruct_StackTitleScreen(const char *path, unk32 param1);
|
||||
~UnkStruct_StackTitleScreen();
|
||||
|
||||
void func_ov000_02059270(unk32 param1, char *param2, unk32 param3);
|
||||
void func_ov000_02059288(unk32 param1, char *param2, unk32 param3);
|
||||
};
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
struct UnkStruct_func_ov000_0207029c {
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x1D);
|
||||
/* 20 */ u8 mUnk_1D;
|
||||
};
|
||||
|
||||
struct UnkStruct_func_ov000_020702a8 {
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x20);
|
||||
/* 20 */ unk16 mUnk_20;
|
||||
};
|
||||
|
||||
class UnkStruct_027e09a0 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
|
||||
UnkStruct_027e09a0();
|
||||
~UnkStruct_027e09a0();
|
||||
|
||||
UnkStruct_func_ov000_0207029c *func_ov000_0207029c(unk32 param1);
|
||||
UnkStruct_func_ov000_020702a8 *func_ov000_020702a8(unk32 param1);
|
||||
};
|
||||
|
||||
extern UnkStruct_027e09a0 *data_027e09a0;
|
||||
@@ -1,15 +1,65 @@
|
||||
#pragma once
|
||||
|
||||
#include "System/SysNew.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
struct UnkStruct_027e09a4_58_78 {
|
||||
unk32 mUnk_00;
|
||||
unk32 mUnk_04;
|
||||
unk8 mUnk_08;
|
||||
unk8 mUnk_09;
|
||||
u8 mUnk_0A;
|
||||
};
|
||||
|
||||
struct UnkStruct_func_01ffd400 {
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x10);
|
||||
/* 1B */ unk32 mUnk_10;
|
||||
/* 1B */ unk32 mUnk_14;
|
||||
/* 1B */ unk8 mUnk_18;
|
||||
/* 1B */ unk8 mUnk_19;
|
||||
/* 1B */ unk8 mUnk_1A;
|
||||
/* 1B */ u8 mUnk_1B;
|
||||
};
|
||||
|
||||
class UnkStruct_027e09a4 : public SysObject {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0C */ u8 mUnk_0C;
|
||||
/* 0D */ STRUCT_PAD(0x0D, 0x60);
|
||||
/* 60 */ unk32 mUnk_60;
|
||||
|
||||
bool UnkCheck(unk32 value) {
|
||||
switch (value) {
|
||||
case 0x03:
|
||||
case 0x13:
|
||||
case 0x42:
|
||||
case 0x5A:
|
||||
case 0x5B:
|
||||
case 0x5D:
|
||||
case 0x63:
|
||||
return true;
|
||||
case 0x5C:
|
||||
case 0x5E:
|
||||
case 0x5F:
|
||||
case 0x60:
|
||||
case 0x61:
|
||||
case 0x62:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
~UnkStruct_027e09a4();
|
||||
|
||||
UnkStruct_func_01ffd400 *func_01ffd400();
|
||||
|
||||
unk8 func_ov000_02070bd0(unk32, unk32);
|
||||
UnkStruct_027e09a4_58_78 *func_ov000_02070560();
|
||||
void func_ov000_020707a8(void *param1);
|
||||
void func_ov000_02070834(void *param1);
|
||||
void func_ov000_0207087c(unk32 param1);
|
||||
|
||||
@@ -1,10 +1,70 @@
|
||||
#pragma once
|
||||
|
||||
#include "files.h"
|
||||
#include "nitro/math.h"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_027e0cd8_0c {
|
||||
public:
|
||||
/* 000 (vtable) */
|
||||
/* 004 */ unk32 *mUnk_04;
|
||||
/* 008 */ unk32 *mUnk_08;
|
||||
/* 00c */ unk32 mUnk_0c;
|
||||
/* 010 */ unk32 *mUnk_10;
|
||||
/* 014 */ unk32 *mUnk_14;
|
||||
/* 018 */ unk32 mUnk_18;
|
||||
/* 01c */ unk32 *mUnk_1c;
|
||||
/* 020 */ unk32 mUnk_20;
|
||||
/* 024 */ unk32 *mUnk_24;
|
||||
/* 028 */ unk32 mUnk_28;
|
||||
/* 02c */ unk32 *mUnk_2c;
|
||||
/* 030 */ unk32 mUnk_30;
|
||||
/* 034 */ unk32 *mUnk_34;
|
||||
/* 038 */ unk32 mUnk_38;
|
||||
/* 03c */ unk32 mUnk_3c;
|
||||
/* 040 */ unk32 mUnk_40;
|
||||
/* 044 */ unk32 mUnk_44;
|
||||
/* 048 */ unk32 mUnk_48;
|
||||
/* 04c */ unk32 mUnk_4c;
|
||||
/* 050 */ unk32 mUnk_50;
|
||||
/* 054 */ unk32 mUnk_54;
|
||||
/* 058 */ unk32 mUnk_58;
|
||||
/* 05c */ unk32 mUnk_5c;
|
||||
/* 060 */ unk32 mUnk_60;
|
||||
/* 064 */ unk32 mUnk_64;
|
||||
/* 068 */ unk32 mUnk_68;
|
||||
/* 06c */ unk32 mUnk_6c;
|
||||
/* 070 */ unk32 *mUnk_70;
|
||||
/* 074 */ unk32 *mUnk_74;
|
||||
/* 078 */ unk32 *mUnk_78;
|
||||
/* 07c */ unk32 mUnk_7c;
|
||||
/* 080 */ unk32 mUnk_80;
|
||||
/* 084 */ unk32 mUnk_84;
|
||||
/* 088 */ unk32 *mUnk_88;
|
||||
/* 08c */ unk32 *mUnk_8c;
|
||||
/* 090 */ unk32 mUnk_90;
|
||||
/* 094 */ unk32 mUnk_94;
|
||||
/* 098 */ unk32 mUnk_98;
|
||||
/* 09c */ unk32 mUnk_9c;
|
||||
/* 0a0 */ unk32 mUnk_a0;
|
||||
/* 0a4 */ unk32 mUnk_a4;
|
||||
/* 0a8 */ unk32 mUnk_a8;
|
||||
/* 0ac */ unk32 mUnk_ac;
|
||||
/* 0b0 */ unk32 mUnk_b0;
|
||||
/* 0b4 */ ZeldaObjectList *mUnk_b4;
|
||||
/* 0b8 */ ZeldaObjectList *mUnk_b8;
|
||||
/* 0bc */ ZeldaObjectList *mUnk_bc;
|
||||
/* 0c0 */ ZeldaObjectList *mUnk_c0;
|
||||
/* 0c4 */ ZeldaObjectList *mUnk_c4;
|
||||
/* 0c8 */ ZeldaObjectList *mUnk_c8;
|
||||
/* 0cc */ ZeldaObjectList *mUnk_cc;
|
||||
/* 0d0 */ ZeldaObjectList *mUnk_d0;
|
||||
/* 0d4 */ ZeldaObjectList *mUnk_d4;
|
||||
/* 0d8 */ ZeldaObjectList *mUnk_d8;
|
||||
/* 0dc */ ZeldaObjectList *mUnk_dc[8];
|
||||
/* 0fc */ STRUCT_PAD(0xFC, 0x128);
|
||||
/* 128 */ u16 mUnk_128;
|
||||
|
||||
/* 00 */ virtual void vfunc_00();
|
||||
/* 04 */ virtual void vfunc_04();
|
||||
/* 08 */ virtual void vfunc_08();
|
||||
@@ -24,7 +84,7 @@ public:
|
||||
class UnkStruct_027e0cd8 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 04 */ unk32 *mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0c */ UnkStruct_027e0cd8_0c *mUnk_0c;
|
||||
/* 10 */
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
#pragma once
|
||||
|
||||
#include "System/SysNew.hpp"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_027e0cf4 : public SysObject {
|
||||
public:
|
||||
~UnkStruct_027e0cf4();
|
||||
void func_ov021_020f8cdc();
|
||||
void func_ov021_020f8d20();
|
||||
};
|
||||
|
||||
// gBattleGame?
|
||||
extern UnkStruct_027e0cf4 *data_027e0cf4;
|
||||
@@ -0,0 +1,14 @@
|
||||
#pragma once
|
||||
|
||||
#include "System/SysNew.hpp"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_027e0d70 : public SysObject {
|
||||
public:
|
||||
~UnkStruct_027e0d70();
|
||||
void func_ov068_0215e8f8();
|
||||
void func_ov071_0215e9ac();
|
||||
void func_ov071_0215eac8();
|
||||
};
|
||||
|
||||
extern UnkStruct_027e0d70 *data_027e0d70;
|
||||
@@ -0,0 +1,19 @@
|
||||
#pragma once
|
||||
|
||||
#include "Map/MapObjectId.hpp"
|
||||
#include "types.h"
|
||||
|
||||
enum FileType {
|
||||
FileType_ZOB = 'BLOZ',
|
||||
};
|
||||
|
||||
// .zob
|
||||
typedef struct ZeldaObjectList {
|
||||
/* 00 */ FileType type; // always "ZOLB"
|
||||
/* 04 */ unk32 nSize; // file size?
|
||||
/* 08 */ unk16 unk_08;
|
||||
/* 0a */ unk16 unk_0a;
|
||||
/* 0c */ u16 nEntries; // number of entries
|
||||
/* 0e */ unk16 unk_0e;
|
||||
/* 10 */ u32 aIdList[]; // actor id or map object id
|
||||
} ZeldaObjectList;
|
||||
@@ -14,3 +14,15 @@
|
||||
#define SET_FLAG(arr, pos) ((arr)[((u32) (pos)) >> 5] |= 1 << ((pos) & 0x1F))
|
||||
#define UNSET_FLAG(arr, pos) ((arr)[((u32) (pos)) >> 5] &= ~(1 << ((pos) & 0x1F)))
|
||||
#define FLAG(index, pos) (((index) << 5) | ((pos) & 0x1F))
|
||||
|
||||
//! TODO: improve or remove? idk
|
||||
#define VA_NARGS_IMPL(_1, _2, _3, _4, N, ...) N
|
||||
#define VA_NARGS(...) VA_NARGS_IMPL(__VA_ARGS__, 4, 3, 2, 1)
|
||||
#define GET_FLAGS_1(f1) (1 << (f1))
|
||||
#define GET_FLAGS_2(f1, f2) GET_FLAGS_1(f1) | (1 << (f2))
|
||||
#define GET_FLAGS_3(f1, f2, f3) GET_FLAGS_2(f1, f2) | (1 << (f3))
|
||||
#define GET_FLAGS_4(f1, f2, f3, f4) GET_FLAGS_3(f1, f2, f3) | (1 << (f4))
|
||||
#define GET_FLAGS_IMPL2(N, ...) GET_FLAGS_##N(__VA_ARGS__)
|
||||
#define GET_FLAGS_IMPL(N, ...) GET_FLAGS_IMPL2(N, __VA_ARGS__)
|
||||
#define GET_FLAGS(...) GET_FLAGS_IMPL(VA_NARGS(__VA_ARGS__), __VA_ARGS__)
|
||||
#define SET_FLAGS(arr, ...) (*(u32 *) arr = GET_FLAGS_IMPL(VA_NARGS(__VA_ARGS__), __VA_ARGS__))
|
||||
|
||||
@@ -47,4 +47,8 @@
|
||||
#define SUBSCREEN_WIDTH 256
|
||||
#define SUBSCREEN_HEIGHT 192
|
||||
|
||||
#define ALIGN_PREV(X, N) ((X) & ~((N) - 1))
|
||||
#define ALIGN_NEXT(X, N) ALIGN_PREV(((X) + (N) - 1), N)
|
||||
#define ALIGN(X, N) ((X + N) & ~N)
|
||||
|
||||
#endif
|
||||
|
||||
@@ -16,7 +16,7 @@ ARM Actor::Actor() {
|
||||
this->mUnk_50 = 0;
|
||||
this->mUnk_52 = 0;
|
||||
this->mUnk_54 = 0;
|
||||
this->mFlags = 0;
|
||||
this->ResetFlags();
|
||||
this->mUnk_84 = 0;
|
||||
this->mUnk_5c.func_ov000_020975f8();
|
||||
this->mRef.Reset();
|
||||
@@ -24,7 +24,7 @@ ARM Actor::Actor() {
|
||||
Copy256(&data_ov000_020b539c.mUnk_00, &this->mUnk_5c, sizeof(data_ov000_020b539c.mUnk_00));
|
||||
this->mPrevPos = this->mPos = this->mUnk_5c.mUnk_00;
|
||||
this->mAngle = this->mUnk_5c.mUnk_0c;
|
||||
this->mFlags = (1 << ActorFlag_Alive) | (1 << ActorFlag_Visible) | (1 << ActorFlag_Active) | (1 << ActorFlag_14);
|
||||
SET_FLAGS(this->mFlags, ActorFlag_Alive, ActorFlag_Visible, ActorFlag_Active, ActorFlag_14);
|
||||
this->mUnk_44 = 0xFF;
|
||||
this->mUnk_46 = 0;
|
||||
this->func_ov000_0209862c(0);
|
||||
@@ -67,9 +67,9 @@ ARM unk32 Actor::vfunc_34() {
|
||||
}
|
||||
|
||||
ARM void Actor::func_ov000_020984d0() {
|
||||
UNSET_FLAG(&this->mFlags, ActorFlag_Alive);
|
||||
UNSET_FLAG(this->mFlags, ActorFlag_Alive);
|
||||
|
||||
if (GET_FLAG(&this->mFlags, ActorFlag_16)) {
|
||||
if (GET_FLAG(this->mFlags, ActorFlag_16)) {
|
||||
this->func_ov000_020984f0();
|
||||
}
|
||||
}
|
||||
@@ -116,12 +116,12 @@ ARM unk32 Actor::vfunc_38(unk32 param1) {
|
||||
|
||||
var_r3 = param1 >> 16;
|
||||
|
||||
if (GET_FLAG(&this->mFlags, ActorFlag_Grabbed)) {
|
||||
if (GET_FLAG(this->mFlags, ActorFlag_Grabbed)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
SET_FLAG(&this->mFlags, ActorFlag_Grabbed);
|
||||
stack_c = this->mFlags;
|
||||
SET_FLAG(this->mFlags, ActorFlag_Grabbed);
|
||||
stack_c = this->mFlags[0];
|
||||
|
||||
switch (stack_c) {
|
||||
case 0x100:
|
||||
@@ -142,12 +142,12 @@ ARM unk32 Actor::vfunc_38(unk32 param1) {
|
||||
|
||||
// non-matching
|
||||
ARM bool Actor::vfunc_3c(unk32 param2, Vec3p *param3) {
|
||||
if (!GET_FLAG(&this->mFlags, ActorFlag_Grabbed)) {
|
||||
if (!GET_FLAG(this->mFlags, ActorFlag_Grabbed)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
this->mVel = *param3;
|
||||
UNSET_FLAG(&this->mFlags, ActorFlag_Grabbed);
|
||||
UNSET_FLAG(this->mFlags, ActorFlag_Grabbed);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -61,7 +61,7 @@ ARM ActorUnk_ov000_020a8bb0::~ActorUnk_ov000_020a8bb0() {}
|
||||
|
||||
ARM bool ActorUnk_ov000_020a8bb0::vfunc_18(unk32 param1) {
|
||||
if (this->mUnk_70 == 0 && this->func_ov000_020a8dd0() != 0) {
|
||||
UNSET_FLAG(&this->mFlags, ActorFlag_Alive);
|
||||
UNSET_FLAG(this->mFlags, ActorFlag_Alive);
|
||||
}
|
||||
|
||||
if (this->mUnk_0b0 & 8) {
|
||||
@@ -165,7 +165,7 @@ ARM void ActorUnk_ov000_020a8bb0::vfunc_60() {
|
||||
}
|
||||
|
||||
ARM bool ActorUnk_ov000_020a8bb0::vfunc_64() {
|
||||
return GET_FLAG(&this->mFlags, ActorFlag_Interacting);
|
||||
return GET_FLAG(this->mFlags, ActorFlag_Interacting);
|
||||
}
|
||||
|
||||
ARM void ActorUnk_ov000_020a8bb0::func_ov000_020a8ff4() {}
|
||||
@@ -173,7 +173,7 @@ ARM void ActorUnk_ov000_020a8bb0::func_ov000_020a8ff4() {}
|
||||
ARM void ActorUnk_ov000_020a8bb0::vfunc_6c() {}
|
||||
|
||||
ARM void ActorUnk_ov000_020a8bb0::vfunc_68() {
|
||||
UNSET_FLAG(&this->mFlags, ActorFlag_Interacting);
|
||||
UNSET_FLAG(this->mFlags, ActorFlag_Interacting);
|
||||
this->func_ov000_020a9200();
|
||||
this->vfunc_ac();
|
||||
this->mUnk_0b0 &= ~0x01;
|
||||
|
||||
@@ -1,20 +1,412 @@
|
||||
#include "Actor/ActorManager.hpp"
|
||||
#include "System/OverlayManager.hpp"
|
||||
#include "Unknown/UnkMemFuncs.h"
|
||||
#include "Unknown/UnkStruct_027e09a0.hpp"
|
||||
#include "Unknown/UnkStruct_027e09a4.hpp"
|
||||
#include "Unknown/UnkStruct_027e09b8.hpp"
|
||||
#include "Unknown/UnkStruct_027e0cd8.hpp"
|
||||
#include "Unknown/UnkStruct_027e0cf4.hpp"
|
||||
#include "Unknown/UnkStruct_027e0d70.hpp"
|
||||
#include "flags.h"
|
||||
#include "global.h"
|
||||
|
||||
THUMB void ActorManager::Create() {}
|
||||
THUMB ActorManager::ActorManager() {}
|
||||
THUMB ActorManager::~ActorManager() {}
|
||||
THUMB void ActorManager::func_ov001_020bafdc() {}
|
||||
THUMB void ActorManager::func_ov001_020bb018(s32 param1) {}
|
||||
THUMB void ActorManager::func_ov001_020bb414() {}
|
||||
THUMB void ActorManager::func_ov001_020bb488() {}
|
||||
THUMB void ActorManager::func_ov001_020bb548() {}
|
||||
THUMB void ActorManager::func_ov001_020bb630() {}
|
||||
THUMB void ActorManager::func_ov001_020bb6b0(s32 *param1) {}
|
||||
THUMB bool ActorManager::func_ov001_020bb728(s32 param1) {}
|
||||
THUMB void ActorManager::func_ov001_020bb7b0(s32 param1) {}
|
||||
THUMB void ActorManager::func_ov001_020bb7f0() {}
|
||||
THUMB void ActorManager::func_ov001_020bb824() {}
|
||||
THUMB void ActorManager::func_ov001_020bb844() {}
|
||||
THUMB void ActorManager::SetInstance(ActorManager *instance) {}
|
||||
THUMB void ActorManager::ClearInstance() {}
|
||||
extern "C" {
|
||||
void func_ov000_020977e4();
|
||||
void func_ov001_020ba59c(void *);
|
||||
void func_ov021_020f8818();
|
||||
void func_ov031_020ea100();
|
||||
void func_ov071_0215e8d4();
|
||||
unk32 func_01ffd3b0();
|
||||
unk32 func_01ffd3d8();
|
||||
}
|
||||
|
||||
struct UnkStruct_ov000_020ab1ac {
|
||||
/* 00 */ u32 mUnk_00;
|
||||
/* 04 */ u32 mUnk_04;
|
||||
/* 08 */ u8 mUnk_08;
|
||||
/* 09 */ u8 pad[3];
|
||||
/* 0C */
|
||||
};
|
||||
extern UnkStruct_ov000_020ab1ac data_ov000_020ab1ac[30];
|
||||
|
||||
const u32 data_ov001_020c2638[] = {ActorId_FOMC, ActorId_FOMA, ActorId_FOMB, ActorId_FOPD, ActorId_FOMR};
|
||||
const u16 data_ov001_020c2624[] = {0x01AE, 0x01AF, 0x01B0, 0x01B1, 0x01B2};
|
||||
const u16 data_ov001_020c262e[] = {0x01CB, 0x01CC, 0x01CD, 0x01CE, 0x01CF};
|
||||
|
||||
THUMB ActorManager *ActorManager::Create() {
|
||||
return new(1, 4) ActorManager();
|
||||
}
|
||||
|
||||
THUMB ActorManager::ActorManager() {
|
||||
this->SetInstance(this);
|
||||
this->mUnk_20 = 0;
|
||||
this->mUnk_21 = 0;
|
||||
this->mUnk_22 = 0;
|
||||
this->mUnk_23 = 0;
|
||||
this->mUnk_32 = 0;
|
||||
this->mActorTable = NULL;
|
||||
this->mActorTableEnd = NULL;
|
||||
this->mUnk_08 = NULL;
|
||||
this->mActorCount = 0;
|
||||
this->mNextActorId = 0;
|
||||
this->mUnk_10 = 0;
|
||||
this->mUnk_14.mUnk_00 = NULL;
|
||||
this->mUnk_14.mUnk_04 = 0;
|
||||
this->mUnk_24 = 0;
|
||||
this->mUnk_28 = 0;
|
||||
this->mUnk_2c = 0;
|
||||
this->mUnk_30 = 0;
|
||||
this->mUnk_34 = 0;
|
||||
}
|
||||
|
||||
THUMB ActorManager::~ActorManager() {
|
||||
if (this->mActorTable != NULL) {
|
||||
delete this->mActorTable;
|
||||
}
|
||||
|
||||
this->ClearInstance();
|
||||
}
|
||||
|
||||
THUMB void ActorManager::func_ov001_020bafdc() {
|
||||
Actor **ppActorTable = this->mActorTable;
|
||||
|
||||
while (ppActorTable != this->mUnk_08) {
|
||||
Actor *pActor = *ppActorTable;
|
||||
|
||||
if (pActor != NULL) {
|
||||
// alive and uninitialized?
|
||||
if (GET_FLAG(pActor->mFlags, ActorFlag_Alive) && !GET_FLAG(pActor->mFlags, ActorFlag_4)) {
|
||||
pActor->vfunc_1c();
|
||||
SET_FLAG(pActor->mFlags, ActorFlag_4);
|
||||
}
|
||||
}
|
||||
|
||||
ppActorTable++;
|
||||
}
|
||||
}
|
||||
|
||||
// https://decomp.me/scratch/UywfM
|
||||
THUMB void ActorManager::func_ov001_020bb018(UnkStruct_func_ov001_020bb018_param2 *param1) {
|
||||
u16 unk_0A = param1->mUnk_0A;
|
||||
u16 unk_08 = param1->mUnk_08;
|
||||
|
||||
this->mActorCount = 0;
|
||||
this->mNextActorId = 0;
|
||||
this->mUnk_10 = 0;
|
||||
this->mUnk_34 = 0;
|
||||
|
||||
int aligned0A = ALIGN_NEXT(unk_0A, 8);
|
||||
int aligned08 = ALIGN_NEXT(unk_08, 8);
|
||||
|
||||
int iVar5 = data_027e09a0->func_ov000_020702a8(data_027e09a4->mUnk_00)->mUnk_20;
|
||||
|
||||
s32 allocCount;
|
||||
if (data_027e09a4->mUnk_60 == 0) {
|
||||
allocCount = aligned0A + 0x40;
|
||||
} else {
|
||||
allocCount = aligned0A + 0x80;
|
||||
}
|
||||
|
||||
if (this->mActorTable != NULL) {
|
||||
delete this->mActorTable;
|
||||
}
|
||||
|
||||
this->mActorTable = (Actor **) ::operator new(allocCount * 4, HeapIndex_1);
|
||||
this->mActorTableEnd = this->mActorTable + allocCount * 4;
|
||||
|
||||
size_t iVar9 = ((this->mActorTable + allocCount * 4) - this->mActorTable);
|
||||
Fill32(0, this->mActorTable, (iVar9 * 4));
|
||||
this->mUnk_08 = this->mActorTable;
|
||||
data_0204999c.func_ov001_020ba588(aligned08 + iVar5, 0x100);
|
||||
|
||||
// it's 2 when we are on the title screen and 0 during normal gameplay, is it the game mode ?
|
||||
if (data_027e09a4->mUnk_60 != 2) {
|
||||
unk32 iVar5;
|
||||
|
||||
if (func_01ffd3b0() != 0) {
|
||||
iVar5 = data_027e09a4->mUnk_00;
|
||||
|
||||
if (iVar5 == 0x3E) {
|
||||
this->mUnk_34 = 0xFFFFECCD; // ~0x1332
|
||||
}
|
||||
|
||||
this->mUnk_14.func_ov000_0205fc20(0x5D, 0x22, NULL, 0);
|
||||
|
||||
{
|
||||
UnkStruct_StackTitleScreen auStack_28("Npc/Tex.bin", 1);
|
||||
auStack_28.func_ov000_02059270(0x07, "zdf_sw_trace", 0x39200000);
|
||||
auStack_28.func_ov000_02059270(0x08, "zdf_sword02", 0x19150000);
|
||||
auStack_28.func_ov000_02059270(0x0A, "whip", 0x28000000);
|
||||
|
||||
auStack_28.func_ov000_02059270(0x0C, "rupy0", 0x2D200000);
|
||||
auStack_28.func_ov000_02059288(0x0D, "rupy1", 0x0C);
|
||||
auStack_28.func_ov000_02059288(0x0E, "rupy2", 0x0C);
|
||||
auStack_28.func_ov000_02059288(0x0F, "rupy3", 0x0C);
|
||||
|
||||
auStack_28.func_ov000_02059270(0x10, "life0", 0x2D200000);
|
||||
auStack_28.func_ov000_02059270(0x1D, "arrow", 0x2D200000);
|
||||
auStack_28.func_ov000_02059270(0x1E, "bomb", 0x2D200000);
|
||||
auStack_28.func_ov000_02059270(0x1F, "drug", 0x2D200000);
|
||||
auStack_28.func_ov000_02059270(0x20, "drop0", 0x2D200000);
|
||||
auStack_28.func_ov000_02059270(0x21, "drop1", 0x2D200000);
|
||||
auStack_28.func_ov000_02059270(0x22, "drop2", 0x2D200000);
|
||||
auStack_28.func_ov000_02059270(0x23, "drop3", 0x2D200000);
|
||||
auStack_28.func_ov000_02059270(0x24, "drop4", 0x2D200000);
|
||||
auStack_28.func_ov000_02059270(0x25, "drop5", 0x2D200000);
|
||||
|
||||
UnkStruct_func_ov000_0207029c *ptr = data_027e09a0->func_ov000_0207029c(iVar5);
|
||||
if ((ptr->mUnk_1D - 1) == 1) {
|
||||
auStack_28.func_ov000_02059270(0x38, "mic_0", 0x35B00000);
|
||||
auStack_28.func_ov000_02059270(0x39, "mic_1", 0x35B00000);
|
||||
auStack_28.func_ov000_02059270(0x3A, "mic_on", 0x35B00000);
|
||||
auStack_28.func_ov000_02059270(0x3B, "mic_ok", 0x35B00000);
|
||||
auStack_28.func_ov000_02059270(0x3C, "mic_ng", 0x35B00000);
|
||||
}
|
||||
|
||||
if (gOverlayManager.mLoadedOverlays[OverlaySlot_8] == OverlayIndex_BossDeago) {
|
||||
auStack_28.func_ov000_02059270(0x09, "bdga_chain", 0x28000000);
|
||||
}
|
||||
|
||||
if (gOverlayManager.mLoadedOverlays[OverlaySlot_8] == OverlayIndex_BossLast1) {
|
||||
auStack_28.func_ov000_02059270(0x0B, "kimrat", 0x28000000);
|
||||
}
|
||||
}
|
||||
|
||||
if (gOverlayManager.mLoadedOverlays[OverlaySlot_8] == OverlayIndex_Tower) {
|
||||
UnkStruct_StackTitleScreen auStack_3c("Screen/tex2d.bin", 1);
|
||||
auStack_3c.func_ov000_02059270(0x34, "baloon", 0x28a00000);
|
||||
auStack_3c.func_ov000_02059270(0x35, "dot", 0x28000000);
|
||||
}
|
||||
|
||||
if (gOverlayManager.mLoadedOverlays[OverlaySlot_8] == OverlayIndex_BossDeago) {
|
||||
UnkStruct_StackTitleScreen auStack_50("Screen/tex2d.bin", 1);
|
||||
auStack_50.func_ov000_02059270(0x30, "deagohit", 0x29200000);
|
||||
auStack_50.func_ov000_02059270(0x31, "deagotarget", 0x29200000);
|
||||
}
|
||||
|
||||
if (gOverlayManager.mLoadedOverlays[OverlaySlot_8] == OverlayIndex_BossLast2) {
|
||||
UnkStruct_StackTitleScreen auStack_64("Screen/tex2d.bin", 1);
|
||||
auStack_64.func_ov000_02059270(0x32, "zeldahit", 0x29200000);
|
||||
auStack_64.func_ov000_02059270(0x33, "zeldatarget", 0x2D200000);
|
||||
}
|
||||
} else if (func_01ffd3d8() != 0) {
|
||||
UnkStruct_StackTitleScreen auStack_78("Npc/Tex.bin", 1);
|
||||
auStack_78.func_ov000_02059270(0x12, "rupy0", 0x2D200000);
|
||||
auStack_78.func_ov000_02059288(0x13, "rupy1", 0x12);
|
||||
auStack_78.func_ov000_02059288(0x14, "rupy2", 0x12);
|
||||
|
||||
auStack_78.func_ov000_02059270(0x11, "life1", 0x2D200000);
|
||||
}
|
||||
}
|
||||
|
||||
if (data_027e09a4->UnkCheck(data_027e09a4->mUnk_00)) {
|
||||
func_ov071_0215e8d4();
|
||||
}
|
||||
|
||||
// 1 for battle mode
|
||||
if (data_027e09a4->mUnk_60 == 1) {
|
||||
func_ov021_020f8818();
|
||||
}
|
||||
}
|
||||
|
||||
THUMB void ActorManager::func_ov001_020bb414(ActorManager *instance) {
|
||||
func_ov001_020ba59c(&data_0204999c);
|
||||
|
||||
if (data_027e09a4->UnkCheck(data_027e09a4->mUnk_00)) {
|
||||
instance->func_ov001_020bb844();
|
||||
}
|
||||
|
||||
if (instance->mActorTable != 0) {
|
||||
delete instance->mActorTable;
|
||||
}
|
||||
|
||||
instance->mActorTable = NULL;
|
||||
instance->mActorTableEnd = NULL;
|
||||
}
|
||||
|
||||
THUMB void ActorManager::func_ov001_020bb488() {
|
||||
if (data_027e09a4->mUnk_0C != 1) {
|
||||
switch (data_027e09a4->func_01ffd400()->mUnk_10) {
|
||||
case 0x00:
|
||||
case 0x01:
|
||||
case 0x03:
|
||||
case 0x06:
|
||||
if (data_027e0cd8->mUnk_0c->mUnk_128 & 0x800) {
|
||||
func_ov031_020ea100();
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (data_027e09a4->mUnk_60 == 1) {
|
||||
data_027e0cf4->func_ov021_020f8cdc();
|
||||
}
|
||||
|
||||
if (data_027e09a4->UnkCheck(data_027e09a4->mUnk_00)) {
|
||||
data_027e0d70->func_ov068_0215e8f8();
|
||||
}
|
||||
}
|
||||
|
||||
THUMB void ActorManager::func_ov001_020bb548() {
|
||||
Actor **ppActorTable = this->mActorTable;
|
||||
int i = 0;
|
||||
|
||||
while (ppActorTable < this->mUnk_08) {
|
||||
Actor *pActor = *ppActorTable;
|
||||
|
||||
if (pActor != NULL && pActor->vfunc_34() != 0) {
|
||||
this->func_ov000_02096e44(i);
|
||||
}
|
||||
|
||||
ppActorTable++;
|
||||
i++;
|
||||
}
|
||||
|
||||
unk32 value = data_027e09a4->mUnk_00;
|
||||
if (data_027e09a4->UnkCheck(value)) {
|
||||
data_027e0d70->func_ov071_0215e9ac();
|
||||
|
||||
if (data_027e09a4->UnkCheck(value)) {
|
||||
data_027e0d70->func_ov071_0215eac8();
|
||||
}
|
||||
}
|
||||
|
||||
if (data_027e09a4->mUnk_60 == 1) {
|
||||
ActorManager::func_ov001_020bb824();
|
||||
}
|
||||
}
|
||||
|
||||
THUMB void ActorManager::func_ov001_020bb630() {
|
||||
ActorType **piVar2 = data_ov000_020b539c.func_ov000_02073dc();
|
||||
ActorType **piVar3 = data_ov000_020b539c.func_ov000_02073e8();
|
||||
|
||||
while (piVar2 != piVar3) {
|
||||
ActorType *iVar4 = *piVar2;
|
||||
|
||||
if (iVar4 != NULL) {
|
||||
bool run_vfunc_08 = false;
|
||||
|
||||
if (iVar4->mUnk_38 != 0) {
|
||||
run_vfunc_08 = true;
|
||||
} else {
|
||||
if (iVar4->mActorId == ActorId_BSFC && data_027e09a4->func_01ffd400()->mUnk_1B & 0x10) {
|
||||
run_vfunc_08 = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (run_vfunc_08) {
|
||||
(*piVar2)->vfunc_08();
|
||||
}
|
||||
}
|
||||
|
||||
piVar2++;
|
||||
piVar3 = data_ov000_020b539c.func_ov000_02073e8();
|
||||
}
|
||||
|
||||
if (data_027e09a4->mUnk_60 == 1) {
|
||||
data_027e0cf4->func_ov021_020f8d20();
|
||||
}
|
||||
}
|
||||
|
||||
THUMB void ActorManager::func_ov001_020bb6b0(s32 *param1) {
|
||||
ActorType **piVar1 = data_ov000_020b539c.func_ov000_02073dc();
|
||||
ActorType **piVar2 = data_ov000_020b539c.func_ov000_02073e8();
|
||||
|
||||
while (piVar1 != piVar2) {
|
||||
ActorType *iVar5 = *piVar1;
|
||||
|
||||
if (iVar5 != NULL && iVar5->mUnk_38 == 0) {
|
||||
for (int i = 0; i < ARRAY_LEN(data_ov000_020ab1ac); i++) {
|
||||
UnkStruct_ov000_020ab1ac *pEntry = &data_ov000_020ab1ac[i];
|
||||
|
||||
if (pEntry->mUnk_00 == iVar5->mActorId && pEntry->mUnk_04 == ((UnkStruct_027e09a4_58_78 *) param1)->mUnk_00 &&
|
||||
pEntry->mUnk_08 == ((UnkStruct_027e09a4_58_78 *) param1)->mUnk_0A) {
|
||||
(*piVar1)->mUnk_39 = 1;
|
||||
(*piVar1)->vfunc_08();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
piVar1++;
|
||||
piVar2 = data_ov000_020b539c.func_ov000_02073e8();
|
||||
}
|
||||
}
|
||||
|
||||
THUMB bool ActorManager::func_ov001_020bb728(s32 param1) {
|
||||
UnkStruct_027e09a4_58_78 *piVar1 = data_027e09a4->func_ov000_02070560();
|
||||
|
||||
if (piVar1->mUnk_00 != 0x2C || piVar1->mUnk_0A != 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
for (u32 i = 0; i < 5; i++) {
|
||||
int value;
|
||||
int value2;
|
||||
|
||||
if (param1 == data_ov001_020c2638[i]) {
|
||||
value = data_ov001_020c2624[i] & 0x1F;
|
||||
value2 = data_027e09b8->mUnk_14[(u32) data_ov001_020c2624[i] >> 5];
|
||||
|
||||
if ((1 << value) & value2) {
|
||||
value = data_ov001_020c262e[i] & 0x1F;
|
||||
value2 = data_027e09b8->mUnk_14[(u32) data_ov001_020c262e[i] >> 5];
|
||||
|
||||
if (!((1 << value) & value2)) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
THUMB void ActorManager::func_ov001_020bb7b0(ZeldaObjectList *pObjList) {
|
||||
for (s32 i = 0; i < pObjList->nEntries; i++) {
|
||||
u32 id = pObjList->aIdList[i];
|
||||
ActorType *pActorType = data_ov000_020b539c.func_ov000_020974dc(id);
|
||||
|
||||
if (!this->func_ov001_020bb728(id) && pActorType != NULL) {
|
||||
pActorType->vfunc_08();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
THUMB void ActorManager::func_ov001_020bb7f0() {
|
||||
ActorType **ptr1 = data_ov000_020b539c.func_ov000_02073dc();
|
||||
ActorType **ptr2 = data_ov000_020b539c.func_ov000_02073e8();
|
||||
|
||||
while (ptr1 != ptr2) {
|
||||
if (*ptr1 != NULL) {
|
||||
func_ov000_020977e4();
|
||||
}
|
||||
|
||||
ptr1++;
|
||||
ptr2 = data_ov000_020b539c.func_ov000_02073e8();
|
||||
}
|
||||
}
|
||||
|
||||
THUMB void ActorManager::func_ov001_020bb824() {
|
||||
if (data_027e0cf4 != NULL) {
|
||||
delete data_027e0cf4;
|
||||
}
|
||||
}
|
||||
|
||||
THUMB void ActorManager::func_ov001_020bb844() {
|
||||
if (data_027e0d70 != NULL) {
|
||||
delete data_027e0d70;
|
||||
}
|
||||
}
|
||||
|
||||
THUMB void ActorManager::SetInstance(ActorManager *instance) {
|
||||
gActorManager = instance;
|
||||
}
|
||||
|
||||
THUMB int ActorManager::ClearInstance() {
|
||||
gActorManager = NULL;
|
||||
//! @bug: the function expects a return value (though it seems unused)
|
||||
}
|
||||
|
||||
@@ -39,15 +39,6 @@ static const Vec2s data_ov025_020c5ae8(0x0100, 0x0080);
|
||||
static const Vec2us data_ov025_020c5ae0(0x0100, 0x0080);
|
||||
#endif
|
||||
|
||||
struct UnkStruct_StackTitleScreen {
|
||||
/* 00 */ unk32 pad[5];
|
||||
/* 14 */
|
||||
|
||||
UnkStruct_StackTitleScreen(const char *path, unk32 param1);
|
||||
void func_ov000_02059270(unk32 param1, char *param2, unk32 param3);
|
||||
void func_ov000_02059240();
|
||||
};
|
||||
|
||||
TitleScreen::TitleScreen() :
|
||||
mState(TitleScreenState_None),
|
||||
mShowUI(false),
|
||||
@@ -65,9 +56,10 @@ TitleScreen::TitleScreen() :
|
||||
size_t len = strlen((char *) acStack_54);
|
||||
strncpy((char *) acStack_54 + len, path, sizeof(acStack_54) - len - 1);
|
||||
|
||||
UnkStruct_StackTitleScreen auStack_68((char *) acStack_54, 1);
|
||||
auStack_68.func_ov000_02059270(0x3E, "title", 0x32500000);
|
||||
auStack_68.func_ov000_02059240();
|
||||
{
|
||||
UnkStruct_StackTitleScreen auStack_68((char *) acStack_54, 1);
|
||||
auStack_68.func_ov000_02059270(0x3E, "title", 0x32500000);
|
||||
}
|
||||
|
||||
data_0204aeac.func_0201c494(3);
|
||||
this->mUnk_218.func_0201effc(0x0F, 1, 0x1F);
|
||||
|
||||
@@ -79,7 +79,7 @@ ARM bool ActorRupee::vfunc_18(unk32 param1) {
|
||||
if (this->func_ov031_020e9d54()) {
|
||||
this->mUnk_30 = &data_ov031_02113478;
|
||||
this->mUnk_34 = &data_ov031_02113478;
|
||||
SET_FLAG(&this->mFlags, ActorFlag_12);
|
||||
SET_FLAG(this->mFlags, ActorFlag_12);
|
||||
}
|
||||
|
||||
if (this->mUnk_80 >= 0) {
|
||||
@@ -199,7 +199,7 @@ ARM void ActorRupee::func_ov031_020e9108() {
|
||||
this->mVel.y = vel.y + 0x9A + 0x100;
|
||||
this->mVel.z = vel.z - 0xCD;
|
||||
|
||||
SET_FLAG(&this->mFlags, ActorFlag_Visible);
|
||||
SET_FLAG(this->mFlags, ActorFlag_Visible);
|
||||
}
|
||||
|
||||
ARM void ActorRupee::func_ov031_020e91a8() {
|
||||
@@ -229,7 +229,7 @@ ARM void ActorRupee::func_ov031_020e9234() {
|
||||
this->mVel.x = 0;
|
||||
this->mVel.y = 0;
|
||||
this->mVel.z = 0;
|
||||
SET_FLAG(&this->mFlags, ActorFlag_Visible);
|
||||
SET_FLAG(this->mFlags, ActorFlag_Visible);
|
||||
}
|
||||
|
||||
ARM void ActorRupee::func_ov031_020e9254() {
|
||||
@@ -328,7 +328,7 @@ ARM void ActorRupee::func_ov031_020e9450() {
|
||||
this->mPrevPos = this->mPos;
|
||||
Vec3p_Add(&this->mPos, &this->mVel, &this->mPos);
|
||||
|
||||
if (!GET_FLAG(&this->mFlags, ActorFlag_5)) {
|
||||
if (!GET_FLAG(this->mFlags, ActorFlag_5)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -348,7 +348,7 @@ ARM void ActorRupee::func_ov031_020e94d4() {
|
||||
this->mUnk_4a = 0;
|
||||
this->mUnk_44 = 0;
|
||||
this->mUnk_9c.func_ov000_02097bec();
|
||||
UNSET_FLAG(&this->mFlags, ActorFlag_Visible);
|
||||
UNSET_FLAG(this->mFlags, ActorFlag_Visible);
|
||||
}
|
||||
|
||||
ARM void ActorRupee::func_ov031_020e951c() {
|
||||
@@ -422,7 +422,7 @@ ARM void ActorRupee::func_ov031_020e9638() {
|
||||
this->mVel.x = 0;
|
||||
this->mVel.y = 0;
|
||||
this->mVel.z = 0;
|
||||
UNSET_FLAG(&this->mFlags, ActorFlag_Visible);
|
||||
UNSET_FLAG(this->mFlags, ActorFlag_Visible);
|
||||
this->mUnk_c4.mUnk_04 = 0;
|
||||
|
||||
if (this->mUnk_6e == 2) {
|
||||
@@ -452,7 +452,7 @@ ARM void ActorRupee::func_ov031_020e970c() {
|
||||
this->mVel.x = 0;
|
||||
this->mVel.y = 0;
|
||||
this->mVel.z = 0;
|
||||
SET_FLAG(&this->mFlags, ActorFlag_Visible);
|
||||
SET_FLAG(this->mFlags, ActorFlag_Visible);
|
||||
this->mUnk_4a = 1;
|
||||
this->mUnk_52 = -1;
|
||||
this->mUnk_50 = 0;
|
||||
@@ -752,7 +752,7 @@ ARM void ActorRupee::func_ov031_020e9d94() {
|
||||
u32 temp_r1;
|
||||
|
||||
if (this->func_ov031_020e9e5c()) {
|
||||
SET_FLAG(&this->mFlags, ActorFlag_Visible);
|
||||
SET_FLAG(this->mFlags, ActorFlag_Visible);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -777,9 +777,9 @@ ARM void ActorRupee::func_ov031_020e9d94() {
|
||||
temp_r1 = temp_r0 >> 0x1F;
|
||||
|
||||
if ((this->mUnk_94 & 7) < 4) {
|
||||
UNSET_FLAG(&this->mFlags, ActorFlag_Visible);
|
||||
UNSET_FLAG(this->mFlags, ActorFlag_Visible);
|
||||
} else {
|
||||
SET_FLAG(&this->mFlags, ActorFlag_Visible);
|
||||
SET_FLAG(this->mFlags, ActorFlag_Visible);
|
||||
}
|
||||
|
||||
if (this->mUnk_94 < this->mUnk_96) {
|
||||
|
||||
@@ -351,12 +351,12 @@ ARM void PlayerGet::vfunc_0c(UnkStruct_PlayerGet_vfunc_0c_param1 *param1) {
|
||||
|
||||
iVar10 = gActorManager->func_01fff3b4(*(u32 *) this->mUnk_54.mUnk_00);
|
||||
|
||||
if (iVar10 == 0) {
|
||||
if (iVar10 == NULL) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (iVar10->func_01fff458() == ActorId_NormalShield) {
|
||||
UNSET_FLAG(&(iVar10->mFlags), ActorFlag_Visible);
|
||||
UNSET_FLAG(iVar10->mFlags, ActorFlag_Visible);
|
||||
iVar10->mUnk_4a = 0;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -95,7 +95,7 @@ ARM void *operator new(unsigned long length, u32 id, u32 idLength) {
|
||||
return pvVar1;
|
||||
}
|
||||
|
||||
ARM void SysObject::operator delete(void *ptr) {
|
||||
ARM void operator delete(void *ptr) {
|
||||
SysDelete(ptr);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ INDENT = " " * 4
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description="Add new header")
|
||||
parser.add_argument("--suffix", "-s", dest="suffix", help="Suffix")
|
||||
parser.add_argument("--suffix", "-s", dest="suffix", help="Suffix", required=True)
|
||||
parser.add_argument("--pointer", "-p", dest="pointer", help="Make the symbol a pointer", action="store_true", default=False)
|
||||
parser.add_argument("--base", "-b", dest="base", help="Add a base class", action="store_true", default=False)
|
||||
args = parser.parse_args()
|
||||
|
||||
Reference in New Issue
Block a user