Decompile 031_Land/Actor/ActorRupee.cpp (#3)

* delink ActorRupee and match few functions

* add missing functions, mangle names and match func_ov031_020e9d54

* random stuff (literally)

* decomp more of ActorRupee

* rng stuff (thanks to aetias)

* decomp more of ActorRupee (36%)

* sync symbols

* format

* random: fixed wrong function call in configure.py

* decomp more of ActorRupee (51%)

* add actor ids and move them to their own header + small docs on actor class

* format

* improvements and small progress

* progress

* progress

* sync eur with jp

* fix build issues

* missed a file
This commit is contained in:
Yanis
2025-08-04 13:33:17 +02:00
committed by GitHub
parent 8d16ba5dc9
commit e80f625b50
31 changed files with 2007 additions and 171 deletions
+3
View File
@@ -17,3 +17,6 @@ libs/cpp/src/__register_global_object.c:
complete
.text start:0x0203ce74 end:0x0203ce94
.bss start:0x02051ad4 end:0x02051ad8
src/Main/func_02017ea4.cpp:
.text start:0x02017ea4 end:0x02017f38
+2 -2
View File
@@ -200,7 +200,7 @@ func_01fff2a8 kind:function(arm,size=0x24) addr:0x01fff2a8
func_01fff2cc kind:function(arm,size=0x30) addr:0x01fff2cc
func_01fff2fc kind:function(arm,size=0x54) addr:0x01fff2fc
func_01fff350 kind:function(arm,size=0x64) addr:0x01fff350
func_01fff3b4 kind:function(arm,size=0x8c) addr:0x01fff3b4
_ZN18UnkStruct_027e0ce413func_01fff3b4Ei kind:function(arm,size=0x8c) addr:0x01fff3b4
func_01fff440 kind:function(arm,size=0x18) addr:0x01fff440
func_01fff458 kind:function(arm,size=0xc) addr:0x01fff458
func_01fff464 kind:function(arm,size=0x34) addr:0x01fff464
@@ -209,7 +209,7 @@ func_01fff4cc kind:function(arm,size=0x54) addr:0x01fff4cc
func_01fff520 kind:function(arm,size=0x64) addr:0x01fff520
func_01fff584 kind:function(arm,size=0xc) addr:0x01fff584
func_01fff590 kind:function(arm,size=0x40) addr:0x01fff590
func_01fff5d0 kind:function(arm,size=0x3c) addr:0x01fff5d0
_ZN10ActorRupee13func_01fff5d0Eii kind:function(arm,size=0x3c) addr:0x01fff5d0
func_01fff60c kind:function(arm,size=0x8c) addr:0x01fff60c
func_01fff698 kind:function(arm,size=0x38) addr:0x01fff698
func_01fff6d0 kind:function(arm,size=0x74) addr:0x01fff6d0
+9 -9
View File
@@ -1061,7 +1061,7 @@ func_ov000_02071934 kind:function(arm,size=0x60) addr:0x02071934
func_ov000_02071994 kind:function(arm,size=0x1c) addr:0x02071994
func_ov000_020719b0 kind:function(arm,size=0xc4) addr:0x020719b0
func_ov000_02071a74 kind:function(arm,size=0xbc) addr:0x02071a74
func_ov000_02071b30 kind:function(arm,size=0xa4) addr:0x02071b30
_ZN18UnkStruct_027e09a819func_ov000_02071b30EiP5Vec3pi kind:function(arm,size=0xa4) addr:0x02071b30
func_ov000_02071bd4 kind:function(arm,size=0x90) addr:0x02071bd4
func_ov000_02071c64 kind:function(arm,size=0x2c) addr:0x02071c64
func_ov000_02071c90 kind:function(arm,size=0xa4) addr:0x02071c90
@@ -2263,7 +2263,7 @@ func_ov000_020975c0 kind:function(arm,size=0x1c) addr:0x020975c0
func_ov000_020975dc kind:function(arm,size=0x1c) addr:0x020975dc
_ZN8Actor_5c19func_ov000_020975f8Ev kind:function(arm,size=0x78) addr:0x020975f8
func_ov000_02097670 kind:function(arm,size=0xc) addr:0x02097670
func_ov000_0209767c kind:function(arm,size=0xa8) addr:0x0209767c
_ZN23ActorUnk_ov000_0209767cC2Ej kind:function(arm,size=0xa8) addr:0x0209767c
func_ov000_02097724 kind:function(arm,size=0x28) addr:0x02097724
func_ov000_0209774c kind:function(arm,size=0x8) addr:0x0209774c
func_ov000_02097754 kind:function(arm,size=0x7c) addr:0x02097754
@@ -2289,8 +2289,8 @@ func_ov000_02097a88 kind:function(arm,size=0x70) addr:0x02097a88
func_ov000_02097af8 kind:function(arm,size=0x70) addr:0x02097af8
func_ov000_02097b68 kind:function(arm,size=0x1c) addr:0x02097b68
func_ov000_02097b84 kind:function(arm,size=0x34) addr:0x02097b84
func_ov000_02097bb8 kind:function(arm,size=0x34) addr:0x02097bb8
func_ov000_02097bec kind:function(arm,size=0x28) addr:0x02097bec
_ZN8Actor_9cC1Ev kind:function(arm,size=0x34) addr:0x02097bb8
_ZN8Actor_9c19func_ov000_02097becEv kind:function(arm,size=0x28) addr:0x02097bec
func_ov000_02097c14 kind:function(arm,size=0xc) addr:0x02097c14
func_ov000_02097c20 kind:function(arm,size=0x80) addr:0x02097c20
func_ov000_02097ca0 kind:function(arm,size=0x7c) addr:0x02097ca0
@@ -2311,7 +2311,7 @@ func_ov000_020982c0 kind:function(arm,size=0x18) addr:0x020982c0
func_ov000_020982d8 kind:function(arm,size=0x80) addr:0x020982d8
func_ov000_02098358 kind:function(arm,size=0x14) addr:0x02098358
func_ov000_0209836c kind:function(arm,size=0x1c) addr:0x0209836c
_ZN5ActorC1Ev kind:function(arm,size=0xe8) addr:0x02098388
_ZN5ActorC2Ev kind:function(arm,size=0xe8) addr:0x02098388
_ZN5ActorD1Ev kind:function(arm,size=0x4) addr:0x02098470
_ZN5ActorD0Ev kind:function(arm,size=0x14) addr:0x02098474
_ZN5ActorD2Ev kind:function(arm,size=0x4) addr:0x02098488
@@ -2342,7 +2342,7 @@ func_ov000_02098778 kind:function(arm,size=0x88) addr:0x02098778
func_ov000_02098800 kind:function(arm,size=0x38) addr:0x02098800
func_ov000_02098838 kind:function(arm,size=0x28) addr:0x02098838
func_ov000_02098860 kind:function(arm,size=0xb0) addr:0x02098860
func_ov000_02098910 kind:function(arm,size=0xd0) addr:0x02098910
_ZN5Actor19func_ov000_02098910Eii kind:function(arm,size=0xd0) addr:0x02098910
func_ov000_020989e0 kind:function(arm,size=0x38) addr:0x020989e0
func_ov000_02098a18 kind:function(arm,size=0x48) addr:0x02098a18
func_ov000_02098a60 kind:function(arm,size=0x28) addr:0x02098a60
@@ -2672,14 +2672,14 @@ func_ov000_0209fea0 kind:function(arm,size=0xc) addr:0x0209fea0
func_ov000_0209feac kind:function(arm,size=0x78) addr:0x0209feac
func_ov000_0209ff24 kind:function(arm,size=0x28) addr:0x0209ff24
func_ov000_0209ff4c kind:function(arm,size=0x40) addr:0x0209ff4c
func_ov000_0209ff8c kind:function(arm,size=0x74) addr:0x0209ff8c
_ZN18UnkStruct_027e0cec19func_ov000_0209ff8cEP22UnkStruct_PlayerGet_eciP5Vec3pi kind:function(arm,size=0x74) addr:0x0209ff8c
func_ov000_020a0000 kind:function(arm,size=0xa0) addr:0x020a0000
func_ov000_020a00a0 kind:function(arm,size=0x34) addr:0x020a00a0
func_ov000_020a00d4 kind:function(arm,size=0x3c) addr:0x020a00d4
func_ov000_020a0110 kind:function(arm,size=0x30) addr:0x020a0110
func_ov000_020a0140 kind:function(arm,size=0xe0) addr:0x020a0140
func_ov000_020a0220 kind:function(arm,size=0xb4) addr:0x020a0220
func_ov000_020a02d4 kind:function(arm,size=0x30) addr:0x020a02d4
_ZN22UnkStruct_PlayerGet_ecD1Ev kind:function(arm,size=0x30) addr:0x020a02d4
func_ov000_020a0304 kind:function(arm,size=0x30) addr:0x020a0304
func_ov000_020a0334 kind:function(arm,size=0x38) addr:0x020a0334
func_ov000_020a036c kind:function(arm,size=0x20) addr:0x020a036c
@@ -2999,7 +2999,7 @@ _ZN11ItemManager19func_ov000_020a86a4Ev kind:function(arm,size=0x2c) addr:0x020a
_ZN11ItemManager19func_ov000_020a86d0Ej kind:function(arm,size=0x58) addr:0x020a86d0
_ZN11ItemManager19func_ov000_020a8728Ev kind:function(arm,size=0x20) addr:0x020a8728
_ZN11ItemManager19func_ov000_020a8748Ev kind:function(arm,size=0x20) addr:0x020a8748
func_ov000_020a8768 kind:function(arm,size=0x60) addr:0x020a8768
_ZN11ItemManager19func_ov000_020a8768Eiii kind:function(arm,size=0x60) addr:0x020a8768
_ZN11ItemManager19func_ov000_020a87c8Ei kind:function(arm,size=0x24) addr:0x020a87c8
_ZN11ItemManager19func_ov000_020a87ecEi kind:function(arm,size=0x34) addr:0x020a87ec
_ZN11ItemManager19func_ov000_020a8820Ei kind:function(arm,size=0x34) addr:0x020a8820
+1 -1
View File
@@ -75,7 +75,7 @@ func_ov017_020bf894 kind:function(arm,size=0x60) addr:0x020bf894
func_ov017_020bf8f4 kind:function(arm,size=0x44) addr:0x020bf8f4
func_ov017_020bf938 kind:function(arm,size=0x64) addr:0x020bf938
func_ov017_020bf99c kind:function(arm,size=0x2c) addr:0x020bf99c
func_ov017_020bf9c8 kind:function(arm,size=0x88) addr:0x020bf9c8
_ZN10ActorRupee19func_ov017_020bf9c8EP27UnkStruct_func_01fff3b4_ret kind:function(arm,size=0x88) addr:0x020bf9c8
func_ov017_020bfa50 kind:function(arm,size=0x84) addr:0x020bfa50
func_ov017_020bfad4 kind:function(arm,size=0x44) addr:0x020bfad4
func_ov017_020bfb18 kind:function(arm,size=0x238) addr:0x020bfb18
@@ -5,3 +5,6 @@
.data start:0x021128a0 end:0x02116380 kind:data align:32
.bss start:0x02116380 end:0x02118fc0 kind:bss align:32
src/031_Land/Actor/ActorRupee.cpp:
.text start:0x020e8cb8 end:0x020ea018
.data start:0x02113488 end:0x02113520
+3 -3
View File
@@ -1766,14 +1766,14 @@ from:0x020e8cc0 kind:load to:0x021166e8 module:overlay(31)
from:0x020e8cd4 kind:arm_call to:0x02011f3c module:main
from:0x020e8ce0 kind:arm_call to:0x020e8da8 module:overlay(31)
from:0x020e8cf4 kind:arm_call to:0x0209767c module:overlay(0)
from:0x020e8d28 kind:load to:0x021134a8 module:overlay(31)
from:0x020e8d28 kind:load to:0x021134a0 add:8 module:overlay(31)
from:0x020e8d54 kind:arm_call to:0x020975f8 module:overlay(0)
from:0x020e8d94 kind:arm_call to:0x020973f4 module:overlay(0)
from:0x020e8da0 kind:load to:0x020b539c module:overlay(0)
from:0x020e8db0 kind:arm_call to:0x02098388 module:overlay(0)
from:0x020e8dd8 kind:arm_call to:0x02097bb8 module:overlay(0)
from:0x020e8dec kind:arm_call to:0x020e9ef0 module:overlay(31)
from:0x020e8e14 kind:load to:0x021134cc module:overlay(31)
from:0x020e8e14 kind:load to:0x021134c4 add:8 module:overlay(31)
from:0x020e8e28 kind:arm_call to:0x020e9d54 module:overlay(31)
from:0x020e8e64 kind:arm_call to:0x02098a60 module:overlay(0)
from:0x020e8e94 kind:arm_call to:0x020e9904 module:overlay(31)
@@ -1872,7 +1872,7 @@ from:0x020e9d4c kind:load to:0x02113468 module:overlay(31)
from:0x020e9d9c kind:arm_call to:0x020e9e5c module:overlay(31)
from:0x020e9e54 kind:arm_call to:0x020984d0 module:overlay(0)
from:0x020e9f04 kind:arm_call to:0x020f6284 module:overlay(31)
from:0x020e9f24 kind:load to:0x02113490 module:overlay(31)
from:0x020e9f24 kind:load to:0x02113488 add:8 module:overlay(31)
from:0x020e9f4c kind:arm_call to:0x020e9904 module:overlay(31)
from:0x020e9f5c kind:arm_call to:0x020f62e4 module:overlay(31)
from:0x020e9f7c kind:arm_call to:0x020e9904 module:overlay(31)
+56 -56
View File
@@ -556,55 +556,55 @@ func_ov031_020e8c08 kind:function(arm,size=0x44) addr:0x020e8c08
func_ov031_020e8c4c kind:function(arm,size=0x28) addr:0x020e8c4c
func_ov031_020e8c74 kind:function(arm,size=0x30) addr:0x020e8c74
func_ov031_020e8ca4 kind:function(arm,size=0x14) addr:0x020e8ca4
func_ov031_020e8cb8 kind:function(arm,size=0xc) addr:0x020e8cb8
func_ov031_020e8cc4 kind:function(arm,size=0x24) addr:0x020e8cc4
func_ov031_020e8ce8 kind:function(arm,size=0x44) addr:0x020e8ce8
func_ov031_020e8d2c kind:function(arm,size=0x7c) addr:0x020e8d2c
func_ov031_020e8da8 kind:function(arm,size=0x74) addr:0x020e8da8
func_ov031_020e8e1c kind:function(arm,size=0x1d0) addr:0x020e8e1c
func_ov031_020e8fec kind:function(arm,size=0x7c) addr:0x020e8fec
func_ov031_020e9068 kind:function(arm,size=0xa0) addr:0x020e9068
func_ov031_020e9108 kind:function(arm,size=0xa0) addr:0x020e9108
func_ov031_020e91a8 kind:function(arm,size=0x8c) addr:0x020e91a8
func_ov031_020e9234 kind:function(arm,size=0x20) addr:0x020e9234
func_ov031_020e9254 kind:function(arm,size=0x8c) addr:0x020e9254
func_ov031_020e92e0 kind:function(arm,size=0x30) addr:0x020e92e0
func_ov031_020e9310 kind:function(arm,size=0x118) addr:0x020e9310
func_ov031_020e9428 kind:function(arm,size=0x4) addr:0x020e9428
func_ov031_020e942c kind:function(arm,size=0x4) addr:0x020e942c
func_ov031_020e9430 kind:function(arm,size=0x4) addr:0x020e9430
func_ov031_020e9434 kind:function(arm,size=0x4) addr:0x020e9434
func_ov031_020e9438 kind:function(arm,size=0x18) addr:0x020e9438
func_ov031_020e9450 kind:function(arm,size=0x84) addr:0x020e9450
func_ov031_020e94d4 kind:function(arm,size=0x48) addr:0x020e94d4
func_ov031_020e951c kind:function(arm,size=0x7c) addr:0x020e951c
func_ov031_020e9598 kind:function(arm,size=0x14) addr:0x020e9598
func_ov031_020e95ac kind:function(arm,size=0x4) addr:0x020e95ac
func_ov031_020e95b0 kind:function(arm,size=0x10) addr:0x020e95b0
func_ov031_020e95c0 kind:function(arm,size=0x50) addr:0x020e95c0
func_ov031_020e9610 kind:function(arm,size=0x14) addr:0x020e9610
func_ov031_020e9624 kind:function(arm,size=0x14) addr:0x020e9624
func_ov031_020e9638 kind:function(arm,size=0x84) addr:0x020e9638
func_ov031_020e96bc kind:function(arm,size=0x50) addr:0x020e96bc
func_ov031_020e970c kind:function(arm,size=0x34) addr:0x020e970c
func_ov031_020e9740 kind:function(arm,size=0xf8) addr:0x020e9740
func_ov031_020e9838 kind:function(arm,size=0x8c) addr:0x020e9838
func_ov031_020e98c4 kind:function(arm,size=0x40) addr:0x020e98c4
func_ov031_020e9904 kind:function(arm,size=0x54) addr:0x020e9904
func_ov031_020e9958 kind:function(arm,size=0x230) addr:0x020e9958
func_ov031_020e9b88 kind:function(arm,size=0x60) addr:0x020e9b88
func_ov031_020e9be8 kind:function(arm,size=0x44) addr:0x020e9be8
func_ov031_020e9c2c kind:function(arm,size=0x128) addr:0x020e9c2c
func_ov031_020e9d54 kind:function(arm,size=0x40) addr:0x020e9d54
func_ov031_020e9d94 kind:function(arm,size=0xc8) addr:0x020e9d94
func_ov031_020e9e5c kind:function(arm,size=0x94) addr:0x020e9e5c
func_ov031_020e9ef0 kind:function(arm,size=0x38) addr:0x020e9ef0
func_ov031_020e9f28 kind:function(arm,size=0x44) addr:0x020e9f28
func_ov031_020e9f6c kind:function(arm,size=0x20) addr:0x020e9f6c
func_ov031_020e9f8c kind:function(arm,size=0x28) addr:0x020e9f8c
func_ov031_020e9fb4 kind:function(arm,size=0x1c) addr:0x020e9fb4
func_ov031_020e9fd0 kind:function(arm,size=0x20) addr:0x020e9fd0
func_ov031_020e9ff0 kind:function(arm,size=0x28) addr:0x020e9ff0
_ZN10ActorRupee19func_ov031_020e8cb8Ev kind:function(arm,size=0xc) addr:0x020e8cb8
_ZN14ActorRupeeBase6CreateEv kind:function(arm,size=0x24) addr:0x020e8cc4
_ZN14ActorRupeeBaseC1Ev kind:function(arm,size=0x44) addr:0x020e8ce8
_ZN10ActorRupee19func_ov031_020e8d2cEv kind:function(arm,size=0x7c) addr:0x020e8d2c
_ZN10ActorRupeeC1Ev kind:function(arm,size=0x74) addr:0x020e8da8
_ZN10ActorRupee8vfunc_18Ev kind:function(arm,size=0x1d0) addr:0x020e8e1c
_ZN10ActorRupee19func_ov031_020e8fecEv kind:function(arm,size=0x7c) addr:0x020e8fec
_ZN10ActorRupee19func_ov031_020e9068Ev kind:function(arm,size=0xa0) addr:0x020e9068
_ZN10ActorRupee19func_ov031_020e9108Ev kind:function(arm,size=0xa0) addr:0x020e9108
_ZN10ActorRupee19func_ov031_020e91a8Ev kind:function(arm,size=0x8c) addr:0x020e91a8
_ZN10ActorRupee19func_ov031_020e9234Ev kind:function(arm,size=0x20) addr:0x020e9234
_ZN10ActorRupee19func_ov031_020e9254Ev kind:function(arm,size=0x8c) addr:0x020e9254
_ZN10ActorRupee19func_ov031_020e92e0Ev kind:function(arm,size=0x30) addr:0x020e92e0
_ZN10ActorRupee19func_ov031_020e9310Ev kind:function(arm,size=0x118) addr:0x020e9310
_ZN10ActorRupee19func_ov031_020e9428Ev kind:function(arm,size=0x4) addr:0x020e9428
_ZN10ActorRupee19func_ov031_020e942cEv kind:function(arm,size=0x4) addr:0x020e942c
_ZN10ActorRupee19func_ov031_020e9430Ev kind:function(arm,size=0x4) addr:0x020e9430
_ZN10ActorRupee19func_ov031_020e9434Ev kind:function(arm,size=0x4) addr:0x020e9434
_ZN10ActorRupee19func_ov031_020e9438Ev kind:function(arm,size=0x18) addr:0x020e9438
_ZN10ActorRupee19func_ov031_020e9450Ev kind:function(arm,size=0x84) addr:0x020e9450
_ZN10ActorRupee19func_ov031_020e94d4Ev kind:function(arm,size=0x48) addr:0x020e94d4
_ZN10ActorRupee19func_ov031_020e951cEv kind:function(arm,size=0x7c) addr:0x020e951c
_ZN10ActorRupee19func_ov031_020e9598Ev kind:function(arm,size=0x14) addr:0x020e9598
_ZN10ActorRupee19func_ov031_020e95acEv kind:function(arm,size=0x4) addr:0x020e95ac
_ZN10ActorRupee19func_ov031_020e95b0Ev kind:function(arm,size=0x10) addr:0x020e95b0
_ZN10ActorRupee19func_ov031_020e95c0Ev kind:function(arm,size=0x50) addr:0x020e95c0
_ZN10ActorRupee19func_ov031_020e9610Ev kind:function(arm,size=0x14) addr:0x020e9610
_ZN10ActorRupee19func_ov031_020e9624Ev kind:function(arm,size=0x14) addr:0x020e9624
_ZN10ActorRupee19func_ov031_020e9638Ev kind:function(arm,size=0x84) addr:0x020e9638
_ZN10ActorRupee19func_ov031_020e96bcEv kind:function(arm,size=0x50) addr:0x020e96bc
_ZN10ActorRupee19func_ov031_020e970cEv kind:function(arm,size=0x34) addr:0x020e970c
_ZN10ActorRupee19func_ov031_020e9740Ev kind:function(arm,size=0xf8) addr:0x020e9740
_ZN10ActorRupee19func_ov031_020e9838Ev kind:function(arm,size=0x8c) addr:0x020e9838
_ZN10ActorRupee19func_ov031_020e98c4Ev kind:function(arm,size=0x40) addr:0x020e98c4
_ZN10ActorRupee19func_ov031_020e9904Ei kind:function(arm,size=0x54) addr:0x020e9904
_ZN10ActorRupee8vfunc_20Ev kind:function(arm,size=0x230) addr:0x020e9958
_ZN10ActorRupee19func_ov031_020e9b88Ev kind:function(arm,size=0x60) addr:0x020e9b88
_ZN10ActorRupee19func_ov031_020e9be8Ev kind:function(arm,size=0x44) addr:0x020e9be8
_ZN10ActorRupee8vfunc_2cEv kind:function(arm,size=0x128) addr:0x020e9c2c
_ZN10ActorRupee19func_ov031_020e9d54Ev kind:function(arm,size=0x40) addr:0x020e9d54
_ZN10ActorRupee19func_ov031_020e9d94Ev kind:function(arm,size=0xc8) addr:0x020e9d94
_ZN10ActorRupee19func_ov031_020e9e5cEv kind:function(arm,size=0x94) addr:0x020e9e5c
_ZN8Actor_c4C1EP5Actor kind:function(arm,size=0x38) addr:0x020e9ef0
_ZN8Actor_c48vfunc_00Eii kind:function(arm,size=0x44) addr:0x020e9f28
_ZN8Actor_c48vfunc_04Ev kind:function(arm,size=0x20) addr:0x020e9f6c
_ZN8Actor_c48vfunc_0cEi kind:function(arm,size=0x28) addr:0x020e9f8c
_ZN8Actor_c48vfunc_08Ev kind:function(arm,size=0x1c) addr:0x020e9fb4
_ZN10ActorRupeeD1Ev kind:function(arm,size=0x20) addr:0x020e9fd0
_ZN10ActorRupeeD0Ev kind:function(arm,size=0x28) addr:0x020e9ff0
func_ov031_020ea018 kind:function(arm,size=0x14) addr:0x020ea018
func_ov031_020ea02c kind:function(thumb,size=0x8) addr:0x020ea02c
func_ov031_020ea034 kind:function(thumb,size=0x4) addr:0x020ea034
@@ -1003,11 +1003,11 @@ func_ov031_020f61f0 kind:function(arm,size=0x50) addr:0x020f61f0
func_ov031_020f6240 kind:function(arm,size=0x14) addr:0x020f6240
func_ov031_020f6254 kind:function(arm,size=0x1c) addr:0x020f6254
func_ov031_020f6270 kind:function(arm,size=0x14) addr:0x020f6270
func_ov031_020f6284 kind:function(arm,size=0x60) addr:0x020f6284
_ZN13Actor_c4_BaseC2EPvi kind:function(arm,size=0x60) addr:0x020f6284
func_ov031_020f62e4 kind:function(arm,size=0x90) addr:0x020f62e4
func_ov031_020f6374 kind:function(arm,size=0x8) addr:0x020f6374
func_ov031_020f637c kind:function(arm,size=0x8) addr:0x020f637c
func_ov031_020f6384 kind:function(arm,size=0x8) addr:0x020f6384
_ZN8Actor_c419func_ov031_020f6374Ev kind:function(arm,size=0x8) addr:0x020f6374
_ZN8Actor_c419func_ov031_020f637cEv kind:function(arm,size=0x8) addr:0x020f637c
_ZN8Actor_c419func_ov031_020f6384Ei kind:function(arm,size=0x8) addr:0x020f6384
func_ov031_020f638c kind:function(arm,size=0x4c) addr:0x020f638c
func_ov031_020f63d8 kind:function(arm,size=0x14) addr:0x020f63d8
func_ov031_020f63ec kind:function(arm,size=0x5c) addr:0x020f63ec
@@ -2289,9 +2289,9 @@ data_ov031_021133f0 kind:data(any) addr:0x021133f0
data_ov031_02113414 kind:data(any) addr:0x02113414
data_ov031_02113468 kind:data(any) addr:0x02113468
data_ov031_02113478 kind:data(any) addr:0x02113478
data_ov031_02113490 kind:data(any) addr:0x02113490
data_ov031_021134a8 kind:data(any) addr:0x021134a8
data_ov031_021134cc kind:data(any) addr:0x021134cc
_ZTV8Actor_c4 kind:data(any) addr:0x02113488
_ZTV14ActorRupeeBase kind:data(any) addr:0x021134a0
_ZTV10ActorRupee kind:data(any) addr:0x021134c4
data_ov031_02113520 kind:data(any) addr:0x02113520
data_ov031_02113588 kind:data(any) addr:0x02113588
data_ov031_021135f0 kind:data(any) addr:0x021135f0
+3
View File
@@ -17,3 +17,6 @@ libs/cpp/src/__register_global_object.c:
complete
.text start:0x0203e3a4 end:0x0203e3c4
.bss start:0x02053054 end:0x02053058
src/Main/func_02017ea4.cpp:
.text start:0x02017e3c end:0x02017ed0
+3 -3
View File
@@ -97,7 +97,7 @@ func_01ffb618 kind:function(arm,size=0x2c) addr:0x01ffb618
func_01ffb644 kind:function(arm,size=0x28) addr:0x01ffb644
func_01ffb66c kind:function(arm,size=0x3c) addr:0x01ffb66c
func_01ffb6a8 kind:function(arm,size=0x3c) addr:0x01ffb6a8
func_01ffb6e4 kind:function(arm,size=0x30) addr:0x01ffb6e4
Vec3p_Add kind:function(arm,size=0x30) addr:0x01ffb6e4
func_01ffb714 kind:function(arm,size=0x30) addr:0x01ffb714
Vec3p_Dot kind:function(arm,size=0x3c) addr:0x01ffb744
func_01ffb780 kind:function(arm,size=0x80) addr:0x01ffb780
@@ -200,7 +200,7 @@ func_01fff2a8 kind:function(arm,size=0x24) addr:0x01fff2a8
func_01fff2cc kind:function(arm,size=0x30) addr:0x01fff2cc
func_01fff2fc kind:function(arm,size=0x54) addr:0x01fff2fc
func_01fff350 kind:function(arm,size=0x64) addr:0x01fff350
func_01fff3b4 kind:function(arm,size=0x8c) addr:0x01fff3b4
_ZN18UnkStruct_027e0ce413func_01fff3b4Ei kind:function(arm,size=0x8c) addr:0x01fff3b4
func_01fff440 kind:function(arm,size=0x18) addr:0x01fff440
func_01fff458 kind:function(arm,size=0xc) addr:0x01fff458
func_01fff464 kind:function(arm,size=0x34) addr:0x01fff464
@@ -209,7 +209,7 @@ func_01fff4cc kind:function(arm,size=0x54) addr:0x01fff4cc
func_01fff520 kind:function(arm,size=0x64) addr:0x01fff520
func_01fff584 kind:function(arm,size=0xc) addr:0x01fff584
func_01fff590 kind:function(arm,size=0x40) addr:0x01fff590
func_01fff5d0 kind:function(arm,size=0x3c) addr:0x01fff5d0
_ZN10ActorRupee13func_01fff5d0Eii kind:function(arm,size=0x3c) addr:0x01fff5d0
func_01fff60c kind:function(arm,size=0x8c) addr:0x01fff60c
func_01fff698 kind:function(arm,size=0x38) addr:0x01fff698
func_01fff6d0 kind:function(arm,size=0x74) addr:0x01fff6d0
+14 -14
View File
@@ -1062,7 +1062,7 @@ func_ov000_02072fec kind:function(arm,size=0x60) addr:0x02072fec
func_ov000_0207304c kind:function(arm,size=0x1c) addr:0x0207304c
func_ov000_02073068 kind:function(arm,size=0xc4) addr:0x02073068
func_ov000_0207312c kind:function(arm,size=0xbc) addr:0x0207312c
func_ov000_020731e8 kind:function(arm,size=0xa4) addr:0x020731e8
_ZN18UnkStruct_027e09a819func_ov000_02071b30EiP5Vec3pi kind:function(arm,size=0xa4) addr:0x020731e8
func_ov000_0207328c kind:function(arm,size=0x90) addr:0x0207328c
func_ov000_0207331c kind:function(arm,size=0x2c) addr:0x0207331c
func_ov000_02073348 kind:function(arm,size=0xa4) addr:0x02073348
@@ -2260,7 +2260,7 @@ func_ov000_02098cfc kind:function(arm,size=0x78) addr:0x02098cfc
func_ov000_02098d74 kind:function(arm,size=0x1c) addr:0x02098d74
func_ov000_02098d90 kind:function(arm,size=0x1c) addr:0x02098d90
func_ov000_02098dac kind:function(arm,size=0x78) addr:0x02098dac
func_ov000_02098e24 kind:function(arm,size=0xa8) addr:0x02098e24
_ZN23ActorUnk_ov000_0209767cC2Ej kind:function(arm,size=0xa8) addr:0x02098e24
func_ov000_02098ecc kind:function(arm,size=0x28) addr:0x02098ecc
func_ov000_02098ef4 kind:function(arm,size=0x8) addr:0x02098ef4
func_ov000_02098efc kind:function(arm,size=0x7c) addr:0x02098efc
@@ -2286,8 +2286,8 @@ func_ov000_02099230 kind:function(arm,size=0x70) addr:0x02099230
func_ov000_020992a0 kind:function(arm,size=0x70) addr:0x020992a0
func_ov000_02099310 kind:function(arm,size=0x1c) addr:0x02099310
func_ov000_0209932c kind:function(arm,size=0x34) addr:0x0209932c
func_ov000_02099360 kind:function(arm,size=0x34) addr:0x02099360
func_ov000_02099394 kind:function(arm,size=0x28) addr:0x02099394
_ZN8Actor_9cC1Ev kind:function(arm,size=0x34) addr:0x02099360
_ZN8Actor_9c19func_ov000_02097becEv kind:function(arm,size=0x28) addr:0x02099394
func_ov000_020993bc kind:function(arm,size=0xc) addr:0x020993bc
func_ov000_020993c8 kind:function(arm,size=0x80) addr:0x020993c8
func_ov000_02099448 kind:function(arm,size=0x7c) addr:0x02099448
@@ -2308,10 +2308,10 @@ func_ov000_02099a68 kind:function(arm,size=0x18) addr:0x02099a68
func_ov000_02099a80 kind:function(arm,size=0x80) addr:0x02099a80
func_ov000_02099b00 kind:function(arm,size=0x14) addr:0x02099b00
func_ov000_02099b14 kind:function(arm,size=0x1c) addr:0x02099b14
func_ov000_02099b30 kind:function(arm,size=0xe8) addr:0x02099b30
_ZN5ActorC2Ev kind:function(arm,size=0xe8) addr:0x02099b30
func_ov000_02099c18 kind:function(arm,size=0x4) addr:0x02099c18
func_ov000_02099c1c kind:function(arm,size=0x14) addr:0x02099c1c
func_ov000_02099c30 kind:function(arm,size=0x4) addr:0x02099c30
_ZN5ActorD2Ev kind:function(arm,size=0x4) addr:0x02099c30
func_ov000_02099c34 kind:function(arm,size=0x1c) addr:0x02099c34
func_ov000_02099c50 kind:function(arm,size=0x8) addr:0x02099c50
func_ov000_02099c58 kind:function(arm,size=0x4) addr:0x02099c58
@@ -2321,7 +2321,7 @@ func_ov000_02099c64 kind:function(arm,size=0x4) addr:0x02099c64
func_ov000_02099c68 kind:function(arm,size=0x4) addr:0x02099c68
func_ov000_02099c6c kind:function(arm,size=0x4) addr:0x02099c6c
func_ov000_02099c70 kind:function(arm,size=0x8) addr:0x02099c70
func_ov000_02099c78 kind:function(arm,size=0x20) addr:0x02099c78
_ZN5Actor19func_ov000_020984d0Ev kind:function(arm,size=0x20) addr:0x02099c78
func_ov000_02099c98 kind:function(arm,size=0x28) addr:0x02099c98
func_ov000_02099cc0 kind:function(arm,size=0x24) addr:0x02099cc0
func_ov000_02099ce4 kind:function(arm,size=0x18) addr:0x02099ce4
@@ -2337,13 +2337,13 @@ func_ov000_02099e5c kind:function(arm,size=0x48) addr:0x02099e5c
func_ov000_02099ea4 kind:function(arm,size=0x7c) addr:0x02099ea4
func_ov000_02099f20 kind:function(arm,size=0x88) addr:0x02099f20
func_ov000_02099fa8 kind:function(arm,size=0x38) addr:0x02099fa8
func_ov000_02099fe0 kind:function(arm,size=0x28) addr:0x02099fe0
func_ov000_02098838 kind:function(arm,size=0x28) addr:0x02099fe0
func_ov000_0209a008 kind:function(arm,size=0xb0) addr:0x0209a008
func_ov000_0209a0b8 kind:function(arm,size=0xd0) addr:0x0209a0b8
_ZN5Actor19func_ov000_02098910Eii kind:function(arm,size=0xd0) addr:0x0209a0b8
func_ov000_0209a188 kind:function(arm,size=0x38) addr:0x0209a188
func_ov000_0209a1c0 kind:function(arm,size=0x48) addr:0x0209a1c0
func_ov000_0209a208 kind:function(arm,size=0x28) addr:0x0209a208
func_ov000_0209a230 kind:function(arm,size=0x2c) addr:0x0209a230
_ZN10ActorRupee19func_ov000_02098a88Eii kind:function(arm,size=0x2c) addr:0x0209a230
func_ov000_0209a25c kind:function(arm,size=0x74) addr:0x0209a25c
func_ov000_0209a2d0 kind:function(arm,size=0x64) addr:0x0209a2d0
func_ov000_0209a334 kind:function(arm,size=0x1a8) addr:0x0209a334
@@ -2670,14 +2670,14 @@ func_ov000_020a1678 kind:function(arm,size=0xc) addr:0x020a1678
func_ov000_020a1684 kind:function(arm,size=0x78) addr:0x020a1684
func_ov000_020a16fc kind:function(arm,size=0x28) addr:0x020a16fc
func_ov000_020a1724 kind:function(arm,size=0x40) addr:0x020a1724
func_ov000_020a1764 kind:function(arm,size=0x74) addr:0x020a1764
_ZN18UnkStruct_027e0cec19func_ov000_0209ff8cEP22UnkStruct_PlayerGet_eciP5Vec3pi kind:function(arm,size=0x74) addr:0x020a1764
func_ov000_020a17d8 kind:function(arm,size=0xa0) addr:0x020a17d8
func_ov000_020a1878 kind:function(arm,size=0x34) addr:0x020a1878
func_ov000_020a18ac kind:function(arm,size=0x3c) addr:0x020a18ac
func_ov000_020a18e8 kind:function(arm,size=0x30) addr:0x020a18e8
_ZN18UnkStruct_027e0cec19func_ov000_020a0110EP22UnkStruct_PlayerGet_ec kind:function(arm,size=0x30) addr:0x020a18e8
func_ov000_020a1918 kind:function(arm,size=0xe0) addr:0x020a1918
func_ov000_020a19f8 kind:function(arm,size=0xb4) addr:0x020a19f8
func_ov000_020a1aac kind:function(arm,size=0x30) addr:0x020a1aac
_ZN22UnkStruct_PlayerGet_ecD1Ev kind:function(arm,size=0x30) addr:0x020a1aac
func_ov000_020a1adc kind:function(arm,size=0x30) addr:0x020a1adc
func_ov000_020a1b0c kind:function(arm,size=0x38) addr:0x020a1b0c
func_ov000_020a1b44 kind:function(arm,size=0x20) addr:0x020a1b44
@@ -2998,7 +2998,7 @@ func_ov000_020a9ea4 kind:function(arm,size=0x2c) addr:0x020a9ea4
func_ov000_020a9ed0 kind:function(arm,size=0x58) addr:0x020a9ed0
func_ov000_020a9f28 kind:function(arm,size=0x20) addr:0x020a9f28
func_ov000_020a9f48 kind:function(arm,size=0x20) addr:0x020a9f48
func_ov000_020a9f68 kind:function(arm,size=0x60) addr:0x020a9f68
_ZN11ItemManager19func_ov000_020a8768Eiii kind:function(arm,size=0x60) addr:0x020a9f68
func_ov000_020a9fc8 kind:function(arm,size=0x24) addr:0x020a9fc8
func_ov000_020a9fec kind:function(arm,size=0x34) addr:0x020a9fec
func_ov000_020aa020 kind:function(arm,size=0x34) addr:0x020aa020
+2 -2
View File
@@ -74,8 +74,8 @@ func_ov017_020c0fd4 kind:function(arm,size=0xec) addr:0x020c0fd4
func_ov017_020c10c0 kind:function(arm,size=0x60) addr:0x020c10c0
func_ov017_020c1120 kind:function(arm,size=0x44) addr:0x020c1120
func_ov017_020c1164 kind:function(arm,size=0x64) addr:0x020c1164
func_ov017_020c11c8 kind:function(arm,size=0x2c) addr:0x020c11c8
func_ov017_020c11f4 kind:function(arm,size=0x88) addr:0x020c11f4
func_ov017_020bf99c kind:function(arm,size=0x2c) addr:0x020c11c8
_ZN10ActorRupee19func_ov017_020bf9c8EP27UnkStruct_func_01fff3b4_ret kind:function(arm,size=0x88) addr:0x020c11f4
func_ov017_020c127c kind:function(arm,size=0x84) addr:0x020c127c
func_ov017_020c1300 kind:function(arm,size=0x44) addr:0x020c1300
func_ov017_020c1344 kind:function(arm,size=0x238) addr:0x020c1344
@@ -5,3 +5,6 @@
.data start:0x02114640 end:0x02118120 kind:data align:32
.bss start:0x02118120 end:0x0211ad60 kind:bss align:32
src/031_Land/Actor/ActorRupee.cpp:
.text start:0x020ea6a4 end:0x020eba04
.data start:0x02115228 end:0x021152c0
+3 -3
View File
@@ -1767,14 +1767,14 @@ from:0x020ea6ac kind:load to:0x02118488 module:overlay(31)
from:0x020ea6c0 kind:arm_call to:0x02011f3c module:main
from:0x020ea6cc kind:arm_call to:0x020ea794 module:overlay(31)
from:0x020ea6e0 kind:arm_call to:0x02098e24 module:overlay(0)
from:0x020ea714 kind:load to:0x02115248 module:overlay(31)
from:0x020ea714 kind:load to:0x02115240 add:8 module:overlay(31)
from:0x020ea740 kind:arm_call to:0x02098dac module:overlay(0)
from:0x020ea780 kind:arm_call to:0x02098ba8 module:overlay(0)
from:0x020ea78c kind:load to:0x020b6ba4 module:overlay(0)
from:0x020ea79c kind:arm_call to:0x02099b30 module:overlay(0)
from:0x020ea7c4 kind:arm_call to:0x02099360 module:overlay(0)
from:0x020ea7d8 kind:arm_call to:0x020eb8dc module:overlay(31)
from:0x020ea800 kind:load to:0x0211526c module:overlay(31)
from:0x020ea800 kind:load to:0x02115264 add:8 module:overlay(31)
from:0x020ea814 kind:arm_call to:0x020eb740 module:overlay(31)
from:0x020ea850 kind:arm_call to:0x0209a208 module:overlay(0)
from:0x020ea880 kind:arm_call to:0x020eb2f0 module:overlay(31)
@@ -1873,7 +1873,7 @@ from:0x020eb738 kind:load to:0x02115208 module:overlay(31)
from:0x020eb788 kind:arm_call to:0x020eb848 module:overlay(31)
from:0x020eb840 kind:arm_call to:0x02099c78 module:overlay(0)
from:0x020eb8f0 kind:arm_call to:0x020f7d24 module:overlay(31)
from:0x020eb910 kind:load to:0x02115230 module:overlay(31)
from:0x020eb910 kind:load to:0x02115228 add:8 module:overlay(31)
from:0x020eb938 kind:arm_call to:0x020eb2f0 module:overlay(31)
from:0x020eb948 kind:arm_call to:0x020f7d84 module:overlay(31)
from:0x020eb968 kind:arm_call to:0x020eb2f0 module:overlay(31)
+61 -61
View File
@@ -65,7 +65,7 @@ func_ov031_020db194 kind:function(arm,size=0x10) addr:0x020db194
func_ov031_020db1a4 kind:function(arm,size=0x10) addr:0x020db1a4
func_ov031_020db1b4 kind:function(arm,size=0x10) addr:0x020db1b4
func_ov031_020db1c4 kind:function(arm,size=0x10) addr:0x020db1c4
func_ov031_020db1d4 kind:function(arm,size=0x10) addr:0x020db1d4
func_ov031_020d9834 kind:function(arm,size=0x10) addr:0x020db1d4
func_ov031_020db1e4 kind:function(arm,size=0x10) addr:0x020db1e4
func_ov031_020db1f4 kind:function(arm,size=0x34) addr:0x020db1f4
func_ov031_020db228 kind:function(arm,size=0x34) addr:0x020db228
@@ -554,55 +554,55 @@ func_ov031_020ea5f4 kind:function(arm,size=0x44) addr:0x020ea5f4
func_ov031_020ea638 kind:function(arm,size=0x28) addr:0x020ea638
func_ov031_020ea660 kind:function(arm,size=0x30) addr:0x020ea660
func_ov031_020ea690 kind:function(arm,size=0x14) addr:0x020ea690
func_ov031_020ea6a4 kind:function(arm,size=0xc) addr:0x020ea6a4
func_ov031_020ea6b0 kind:function(arm,size=0x24) addr:0x020ea6b0
func_ov031_020ea6d4 kind:function(arm,size=0x44) addr:0x020ea6d4
func_ov031_020ea718 kind:function(arm,size=0x7c) addr:0x020ea718
func_ov031_020ea794 kind:function(arm,size=0x74) addr:0x020ea794
func_ov031_020ea808 kind:function(arm,size=0x1d0) addr:0x020ea808
func_ov031_020ea9d8 kind:function(arm,size=0x7c) addr:0x020ea9d8
func_ov031_020eaa54 kind:function(arm,size=0xa0) addr:0x020eaa54
func_ov031_020eaaf4 kind:function(arm,size=0xa0) addr:0x020eaaf4
func_ov031_020eab94 kind:function(arm,size=0x8c) addr:0x020eab94
func_ov031_020eac20 kind:function(arm,size=0x20) addr:0x020eac20
func_ov031_020eac40 kind:function(arm,size=0x8c) addr:0x020eac40
func_ov031_020eaccc kind:function(arm,size=0x30) addr:0x020eaccc
func_ov031_020eacfc kind:function(arm,size=0x118) addr:0x020eacfc
func_ov031_020eae14 kind:function(arm,size=0x4) addr:0x020eae14
func_ov031_020eae18 kind:function(arm,size=0x4) addr:0x020eae18
func_ov031_020eae1c kind:function(arm,size=0x4) addr:0x020eae1c
func_ov031_020eae20 kind:function(arm,size=0x4) addr:0x020eae20
func_ov031_020eae24 kind:function(arm,size=0x18) addr:0x020eae24
func_ov031_020eae3c kind:function(arm,size=0x84) addr:0x020eae3c
func_ov031_020eaec0 kind:function(arm,size=0x48) addr:0x020eaec0
func_ov031_020eaf08 kind:function(arm,size=0x7c) addr:0x020eaf08
func_ov031_020eaf84 kind:function(arm,size=0x14) addr:0x020eaf84
func_ov031_020eaf98 kind:function(arm,size=0x4) addr:0x020eaf98
func_ov031_020eaf9c kind:function(arm,size=0x10) addr:0x020eaf9c
func_ov031_020eafac kind:function(arm,size=0x50) addr:0x020eafac
func_ov031_020eaffc kind:function(arm,size=0x14) addr:0x020eaffc
func_ov031_020eb010 kind:function(arm,size=0x14) addr:0x020eb010
func_ov031_020eb024 kind:function(arm,size=0x84) addr:0x020eb024
func_ov031_020eb0a8 kind:function(arm,size=0x50) addr:0x020eb0a8
func_ov031_020eb0f8 kind:function(arm,size=0x34) addr:0x020eb0f8
func_ov031_020eb12c kind:function(arm,size=0xf8) addr:0x020eb12c
func_ov031_020eb224 kind:function(arm,size=0x8c) addr:0x020eb224
func_ov031_020eb2b0 kind:function(arm,size=0x40) addr:0x020eb2b0
func_ov031_020eb2f0 kind:function(arm,size=0x54) addr:0x020eb2f0
func_ov031_020eb344 kind:function(arm,size=0x230) addr:0x020eb344
func_ov031_020eb574 kind:function(arm,size=0x60) addr:0x020eb574
func_ov031_020eb5d4 kind:function(arm,size=0x44) addr:0x020eb5d4
func_ov031_020eb618 kind:function(arm,size=0x128) addr:0x020eb618
func_ov031_020eb740 kind:function(arm,size=0x40) addr:0x020eb740
func_ov031_020eb780 kind:function(arm,size=0xc8) addr:0x020eb780
func_ov031_020eb848 kind:function(arm,size=0x94) addr:0x020eb848
func_ov031_020eb8dc kind:function(arm,size=0x38) addr:0x020eb8dc
func_ov031_020eb914 kind:function(arm,size=0x44) addr:0x020eb914
func_ov031_020eb958 kind:function(arm,size=0x20) addr:0x020eb958
func_ov031_020eb978 kind:function(arm,size=0x28) addr:0x020eb978
func_ov031_020eb9a0 kind:function(arm,size=0x1c) addr:0x020eb9a0
func_ov031_020eb9bc kind:function(arm,size=0x20) addr:0x020eb9bc
func_ov031_020eb9dc kind:function(arm,size=0x28) addr:0x020eb9dc
_ZN10ActorRupee19func_ov031_020e8cb8Ev kind:function(arm,size=0xc) addr:0x020ea6a4
_ZN14ActorRupeeBase6CreateEv kind:function(arm,size=0x24) addr:0x020ea6b0
_ZN14ActorRupeeBaseC1Ev kind:function(arm,size=0x44) addr:0x020ea6d4
_ZN10ActorRupee19func_ov031_020e8d2cEv kind:function(arm,size=0x7c) addr:0x020ea718
_ZN10ActorRupeeC1Ev kind:function(arm,size=0x74) addr:0x020ea794
_ZN10ActorRupee8vfunc_18Ev kind:function(arm,size=0x1d0) addr:0x020ea808
_ZN10ActorRupee19func_ov031_020e8fecEv kind:function(arm,size=0x7c) addr:0x020ea9d8
_ZN10ActorRupee19func_ov031_020e9068Ev kind:function(arm,size=0xa0) addr:0x020eaa54
_ZN10ActorRupee19func_ov031_020e9108Ev kind:function(arm,size=0xa0) addr:0x020eaaf4
_ZN10ActorRupee19func_ov031_020e91a8Ev kind:function(arm,size=0x8c) addr:0x020eab94
_ZN10ActorRupee19func_ov031_020e9234Ev kind:function(arm,size=0x20) addr:0x020eac20
_ZN10ActorRupee19func_ov031_020e9254Ev kind:function(arm,size=0x8c) addr:0x020eac40
_ZN10ActorRupee19func_ov031_020e92e0Ev kind:function(arm,size=0x30) addr:0x020eaccc
_ZN10ActorRupee19func_ov031_020e9310Ev kind:function(arm,size=0x118) addr:0x020eacfc
_ZN10ActorRupee19func_ov031_020e9428Ev kind:function(arm,size=0x4) addr:0x020eae14
_ZN10ActorRupee19func_ov031_020e942cEv kind:function(arm,size=0x4) addr:0x020eae18
_ZN10ActorRupee19func_ov031_020e9430Ev kind:function(arm,size=0x4) addr:0x020eae1c
_ZN10ActorRupee19func_ov031_020e9434Ev kind:function(arm,size=0x4) addr:0x020eae20
_ZN10ActorRupee19func_ov031_020e9438Ev kind:function(arm,size=0x18) addr:0x020eae24
_ZN10ActorRupee19func_ov031_020e9450Ev kind:function(arm,size=0x84) addr:0x020eae3c
_ZN10ActorRupee19func_ov031_020e94d4Ev kind:function(arm,size=0x48) addr:0x020eaec0
_ZN10ActorRupee19func_ov031_020e951cEv kind:function(arm,size=0x7c) addr:0x020eaf08
_ZN10ActorRupee19func_ov031_020e9598Ev kind:function(arm,size=0x14) addr:0x020eaf84
_ZN10ActorRupee19func_ov031_020e95acEv kind:function(arm,size=0x4) addr:0x020eaf98
_ZN10ActorRupee19func_ov031_020e95b0Ev kind:function(arm,size=0x10) addr:0x020eaf9c
_ZN10ActorRupee19func_ov031_020e95c0Ev kind:function(arm,size=0x50) addr:0x020eafac
_ZN10ActorRupee19func_ov031_020e9610Ev kind:function(arm,size=0x14) addr:0x020eaffc
_ZN10ActorRupee19func_ov031_020e9624Ev kind:function(arm,size=0x14) addr:0x020eb010
_ZN10ActorRupee19func_ov031_020e9638Ev kind:function(arm,size=0x84) addr:0x020eb024
_ZN10ActorRupee19func_ov031_020e96bcEv kind:function(arm,size=0x50) addr:0x020eb0a8
_ZN10ActorRupee19func_ov031_020e970cEv kind:function(arm,size=0x34) addr:0x020eb0f8
_ZN10ActorRupee19func_ov031_020e9740Ev kind:function(arm,size=0xf8) addr:0x020eb12c
_ZN10ActorRupee19func_ov031_020e9838Ev kind:function(arm,size=0x8c) addr:0x020eb224
_ZN10ActorRupee19func_ov031_020e98c4Ev kind:function(arm,size=0x40) addr:0x020eb2b0
_ZN10ActorRupee19func_ov031_020e9904Ei kind:function(arm,size=0x54) addr:0x020eb2f0
_ZN10ActorRupee8vfunc_20Ev kind:function(arm,size=0x230) addr:0x020eb344
_ZN10ActorRupee19func_ov031_020e9b88Ev kind:function(arm,size=0x60) addr:0x020eb574
_ZN10ActorRupee19func_ov031_020e9be8Ev kind:function(arm,size=0x44) addr:0x020eb5d4
_ZN10ActorRupee8vfunc_2cEv kind:function(arm,size=0x128) addr:0x020eb618
_ZN10ActorRupee19func_ov031_020e9d54Ev kind:function(arm,size=0x40) addr:0x020eb740
_ZN10ActorRupee19func_ov031_020e9d94Ev kind:function(arm,size=0xc8) addr:0x020eb780
_ZN10ActorRupee19func_ov031_020e9e5cEv kind:function(arm,size=0x94) addr:0x020eb848
_ZN8Actor_c4C1EP5Actor kind:function(arm,size=0x38) addr:0x020eb8dc
_ZN8Actor_c48vfunc_00Eii kind:function(arm,size=0x44) addr:0x020eb914
_ZN8Actor_c48vfunc_04Ev kind:function(arm,size=0x20) addr:0x020eb958
_ZN8Actor_c48vfunc_0cEi kind:function(arm,size=0x28) addr:0x020eb978
_ZN8Actor_c48vfunc_08Ev kind:function(arm,size=0x1c) addr:0x020eb9a0
_ZN10ActorRupeeD1Ev kind:function(arm,size=0x20) addr:0x020eb9bc
_ZN10ActorRupeeD0Ev kind:function(arm,size=0x28) addr:0x020eb9dc
func_ov031_020eba04 kind:function(arm,size=0x14) addr:0x020eba04
func_ov031_020eba18 kind:function(thumb,size=0x8) addr:0x020eba18
func_ov031_020eba20 kind:function(thumb,size=0x4) addr:0x020eba20
@@ -1001,11 +1001,11 @@ func_ov031_020f7c90 kind:function(arm,size=0x50) addr:0x020f7c90
func_ov031_020f7ce0 kind:function(arm,size=0x14) addr:0x020f7ce0
func_ov031_020f7cf4 kind:function(arm,size=0x1c) addr:0x020f7cf4
func_ov031_020f7d10 kind:function(arm,size=0x14) addr:0x020f7d10
func_ov031_020f7d24 kind:function(arm,size=0x60) addr:0x020f7d24
func_ov031_020f7d84 kind:function(arm,size=0x90) addr:0x020f7d84
func_ov031_020f7e14 kind:function(arm,size=0x8) addr:0x020f7e14
func_ov031_020f7e1c kind:function(arm,size=0x8) addr:0x020f7e1c
func_ov031_020f7e24 kind:function(arm,size=0x8) addr:0x020f7e24
_ZN13Actor_c4_BaseC2EPvi kind:function(arm,size=0x60) addr:0x020f7d24
_ZN8Actor_c419func_ov031_020f62e4Ei kind:function(arm,size=0x90) addr:0x020f7d84
_ZN8Actor_c419func_ov031_020f6374Ev kind:function(arm,size=0x8) addr:0x020f7e14
_ZN8Actor_c419func_ov031_020f637cEv kind:function(arm,size=0x8) addr:0x020f7e1c
_ZN8Actor_c419func_ov031_020f6384Ei kind:function(arm,size=0x8) addr:0x020f7e24
func_ov031_020f7e2c kind:function(arm,size=0x4c) addr:0x020f7e2c
func_ov031_020f7e78 kind:function(arm,size=0x14) addr:0x020f7e78
func_ov031_020f7e8c kind:function(arm,size=0x5c) addr:0x020f7e8c
@@ -1780,11 +1780,11 @@ func_ov031_0210ca3c kind:function(arm,size=0x90) addr:0x0210ca3c
func_ov031_0210cacc kind:function(arm,size=0x9c) addr:0x0210cacc
func_ov031_0210cb68 kind:function(arm,size=0x90) addr:0x0210cb68
func_ov031_0210cbf8 kind:function(arm,size=0xc0) addr:0x0210cbf8
func_ov031_0210ccb8 kind:function(arm,size=0xc8) addr:0x0210ccb8
func_ov031_0210af50 kind:function(arm,size=0xc8) addr:0x0210ccb8
func_ov031_0210cd80 kind:function(arm,size=0x10) addr:0x0210cd80
func_ov031_0210cd90 kind:function(arm,size=0x84) addr:0x0210cd90
func_ov031_0210ce14 kind:function(arm,size=0x38) addr:0x0210ce14
func_ov031_0210ce4c kind:function(arm,size=0x60) addr:0x0210ce4c
_Z19func_ov031_0210b0e4ti kind:function(arm,size=0x60) addr:0x0210ce4c
func_ov031_0210ceac kind:function(arm,size=0x38) addr:0x0210ceac
func_ov031_0210cee4 kind:function(arm,size=0x70) addr:0x0210cee4
func_ov031_0210cf54 kind:function(arm,size=0xe0) addr:0x0210cf54
@@ -2263,9 +2263,9 @@ data_ov031_02115190 kind:data(any) addr:0x02115190
data_ov031_021151b4 kind:data(any) addr:0x021151b4
data_ov031_02115208 kind:data(any) addr:0x02115208
data_ov031_02115218 kind:data(any) addr:0x02115218
data_ov031_02115230 kind:data(any) addr:0x02115230
data_ov031_02115248 kind:data(any) addr:0x02115248
data_ov031_0211526c kind:data(any) addr:0x0211526c
_ZTV8Actor_c4 kind:data(any) addr:0x02115228
_ZTV14ActorRupeeBase kind:data(any) addr:0x02115240
_ZTV10ActorRupee kind:data(any) addr:0x02115264
data_ov031_021152c0 kind:data(any) addr:0x021152c0
data_ov031_02115328 kind:data(any) addr:0x02115328
data_ov031_02115390 kind:data(any) addr:0x02115390
@@ -2524,7 +2524,7 @@ data_ov031_02118380 kind:bss addr:0x02118380
data_ov031_02118458 kind:bss addr:0x02118458
data_ov031_02118478 kind:bss addr:0x02118478
data_ov031_0211847c kind:bss addr:0x0211847c
data_ov031_02118488 kind:bss addr:0x02118488
data_ov031_021166e8 kind:bss addr:0x02118488
data_ov031_021184c4 kind:bss addr:0x021184c4
data_ov031_021184cc kind:bss addr:0x021184cc
data_ov031_021184d8 kind:bss addr:0x021184d8
+5 -5
View File
@@ -605,8 +605,8 @@ func_02011e10 kind:function(arm,size=0x94) addr:0x02011e10
func_02011ea4 kind:function(arm,size=0x6c) addr:0x02011ea4
func_02011f10 kind:function(arm,size=0x20) addr:0x02011f10
func_02011f30 kind:function(arm,size=0xc) addr:0x02011f30
func_02011f3c kind:function(arm,size=0xb8) addr:0x02011f3c
func_02011ff4 kind:function(arm,size=0xc) addr:0x02011ff4
_ZN9SysObjectnwEmjj kind:function(arm,size=0xb8) addr:0x02011f3c
_ZN9SysObjectdlEPv kind:function(arm,size=0xc) addr:0x02011ff4
func_02012000 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
@@ -889,8 +889,8 @@ func_02017c04 kind:function(arm,size=0x40) addr:0x02017c04
func_02017c44 kind:function(arm,size=0xd8) addr:0x02017c44
func_02017d1c kind:function(arm,size=0x108) addr:0x02017d1c
func_02017e24 kind:function(arm,size=0x18) addr:0x02017e24
func_02017e3c kind:function(arm,size=0x40) addr:0x02017e3c
func_02017e7c kind:function(arm,size=0x54) addr:0x02017e7c
func_02017ea4 kind:function(arm,size=0x40) addr:0x02017e3c
func_02017ee4 kind:function(arm,size=0x54) addr:0x02017e7c
func_02017ed0 kind:function(arm,size=0x1c) addr:0x02017ed0
func_02017eec kind:function(arm,size=0x38) addr:0x02017eec
func_02017f24 kind:function(arm,size=0x84) addr:0x02017f24
@@ -2766,7 +2766,7 @@ data_0204b12c kind:bss addr:0x0204b12c
data_0204b150 kind:bss addr:0x0204b150
data_0204b154 kind:bss addr:0x0204b154
data_0204b15c kind:bss addr:0x0204b15c
data_0204b164 kind:bss addr:0x0204b164
gRandom kind:bss addr:0x0204b164
data_0204b17c kind:bss addr:0x0204b17c
data_0204b480 kind:bss addr:0x0204b480
data_0204b484 kind:bss addr:0x0204b484
+18 -7
View File
@@ -1,5 +1,6 @@
#pragma once
#include "Actor/ActorId.hpp"
#include "System/SysNew.hpp"
#include "global.h"
#include "nitro/math.h"
@@ -12,6 +13,7 @@ public:
/* 0e */ unk16 mUnk_0e; // padding?
/* 10 */
Actor_5c() {};
void func_ov000_020975f8();
};
@@ -44,13 +46,13 @@ public:
/* 10 */ Vec3p mPrevPos;
/* 1c */ Vec3p mVel;
/* 28 */ u16 mAngle;
/* 28 */ unk16 mUnk_2a;
/* 2a */ unk16 mUnk_2a;
/* 2c */ unk32 mUnk_2c; // gravity?
/* 30 */ unk32 *mUnk_30;
/* 34 */ unk32 *mUnk_34;
/* 38 */ unk32 *mUnk_38;
/* 3c */ unk32 mUnk_3c;
/* 40 */ unk32 mUnk_40;
/* 40 */ void *mUnk_40; // pointer to `Actor_c4`
/* 44 */ u16 mUnk_44;
/* 46 */ unk16 mUnk_46;
/* 48 */ unk16 mUnk_48;
@@ -58,22 +60,25 @@ public:
/* 4a */ unk8 mUnk_4b;
/* 4c */ unk16 mUnk_4c;
/* 4e */ s16 mUnk_4e;
/* 50 */ unk16 mUnk_50;
/* 52 */ unk16 mUnk_52;
/* 50 */ volatile u16 mUnk_50;
/* 52 */ u16 mUnk_52;
/* 54 */ unk32 mUnk_54;
/* 58 */ unk32 mUnk_58;
/* 5c */ Actor_5c mUnk_5c;
/* 6c */ unk32 mUnk_6c;
/* 6c */ u16 mUnk_6c; // actor user id?
/* 6e */ u16 mUnk_6e;
/* 70 */ unk32 mUnk_70;
/* 74 */ unk32 mUnk_74;
/* 74 */ unk16 mUnk_74;
/* 76 */ u16 mUnk_76;
/* 78 */ unk32 mUnk_78;
/* 7c */ unk32 mUnk_7c;
/* 80 */ unk16 mUnk_80;
/* 80 */ s16 mUnk_80;
/* 80 */ unk16 mUnk_82;
/* 84 */ unk32 mUnk_84;
/* 88 */ unk32 mUnk_88;
/* 8c */ unk32 mUnk_8c;
/* 90 */ UnkStruct_ov000_020b539c_30 *mUnk_90;
/* 94 */
/* 00 */ virtual void vfunc_00(Vec3p *param1);
/* 04 */ virtual bool vfunc_04();
@@ -108,6 +113,7 @@ public:
unk32 func_ov000_020984c8();
void func_ov000_020984d0();
void func_ov000_020984f0();
unk32 func_ov000_02098910(unk32 param1, unk32 param2);
s32 func_ov000_02098518(unk32 *param1);
void func_ov000_0209853c();
@@ -117,6 +123,11 @@ public:
s32 func_ov000_02098584();
s32 func_ov000_020985f0(void *param1);
void func_ov000_0209862c(unk32 param1);
void func_ov000_020973f4(UnkStruct_ov000_020b539c *param1, ActorId param2, Actor_5c param3);
void func_ov000_020989e0();
void func_ov017_020bf5c4(Vec3p *param1, unk32 param2, unk32 param3, unk32 param4, unk32 param5);
};
extern UnkStruct_ov000_020b539c data_ov000_020b539c;
+530
View File
@@ -0,0 +1,530 @@
#pragma once
#include "types.h"
typedef u32 ActorId;
enum ActorId_ {
ActorId_AJAI = 'AJAI',
ActorId_AJBS = 'AJBS',
ActorId_AJCR = 'AJCR',
ActorId_AJEM = 'AJEM',
ActorId_AJET = 'AJET',
ActorId_AJMN = 'AJMN',
ActorId_AJNP = 'AJNP',
ActorId_AJSP = 'AJSP',
ActorId_AJTM = 'AJTM',
ActorId_ALEV = 'ALEV',
ActorId_AROW = 'AROW',
ActorId_ASBA = 'ASBA',
ActorId_ASYU = 'ASYU',
ActorId_ATTG = 'ATTG',
ActorId_BAEY = 'BAEY',
ActorId_BAFO = 'BAFO',
ActorId_BANI = 'BANI',
ActorId_BAPH = 'BAPH',
ActorId_BBLE = 'BBLE',
ActorId_BDBA = 'BDBA',
ActorId_BDEA = 'BDEA',
ActorId_BDEM = 'BDEM',
ActorId_BDGA = 'BDGA',
ActorId_BDLB = 'BDLB',
ActorId_TreasureBee = 'BEEE',
ActorId_BeeHive = 'BEEH',
ActorId_BFFN = 'BFFN',
ActorId_BGOK = 'BGOK',
ActorId_BKST = 'BKST',
ActorId_BLBL = 'BLBL',
ActorId_BLBR = 'BLBR',
ActorId_BLJF = 'BLJF',
ActorId_BLON = 'BLON',
ActorId_BLST = 'BLST',
ActorId_BMHN = 'BMHN',
ActorId_BMOC = 'BMOC',
ActorId_BOMB = 'BOMB',
ActorId_BPAP = 'BPAP',
ActorId_BPBS = 'BPBS',
ActorId_BROW = 'BROW',
ActorId_BSFC = 'BSFC',
ActorId_BSKM = 'BSKM',
ActorId_BSTG = 'BSTG',
ActorId_BTIR = 'BTIR',
ActorId_CAGE = 'CAGE',
ActorId_CAMA = 'CAMA',
ActorId_CAMB = 'CAMB',
ActorId_CAMS = 'CAMS',
ActorId_CAMY = 'CAMY',
ActorId_CANS = 'CANS',
ActorId_CASE = 'CASE',
ActorId_CASL = 'CASL',
ActorId_CAST = 'CAST',
ActorId_CAWA = 'CAWA',
ActorId_CAWB = 'CAWB',
ActorId_ChuChu = 'CHUC',
ActorId_CLBT = 'CLBT',
ActorId_CLLT = 'CLLT',
ActorId_CLZN = 'CLZN',
ActorId_CNBL = 'CNBL',
ActorId_COMM = 'COMM',
ActorId_CRCH = 'CRCH',
ActorId_CRFP = 'CRFP',
ActorId_CRFT = 'CRFT',
ActorId_CROW = 'CROW',
ActorId_CTFS = 'CTFS',
ActorId_DGPC = 'DGPC',
ActorId_DKCB = 'DKCB',
ActorId_DKCL = 'DKCL',
ActorId_DKTR = 'DKTR',
ActorId_DLPN = 'DLPN',
ActorId_DLTG = 'DLTG',
ActorId_DMCH = 'DMCH',
ActorId_DMEQ = 'DMEQ',
ActorId_DMET = 'DMET',
ActorId_DMFR = 'DMFR',
ActorId_DMFT = 'DMFT',
ActorId_DMGM = 'DMGM',
ActorId_DMGN = 'DMGN',
ActorId_DMMM = 'DMMM',
ActorId_DMMS = 'DMMS',
ActorId_DMMT = 'DMMT',
ActorId_DMPK = 'DMPK',
ActorId_DMPS = 'DMPS',
ActorId_DMSS = 'DMSS',
ActorId_DMST = 'DMST',
ActorId_DMT2 = 'DMT2',
ActorId_DMTR = 'DMTR',
ActorId_DMWS = 'DMWS',
ActorId_DMWT = 'DMWT',
ActorId_DMZS = 'DMZS',
ActorId_DSBB = 'DSBB',
ActorId_DSBH = 'DSBH',
ActorId_DSBN = 'DSBN',
ActorId_DSDS = 'DSDS',
ActorId_DSFR = 'DSFR',
ActorId_DSSN = 'DSSN',
ActorId_DSVC = 'DSVC',
ActorId_DSWT = 'DSWT',
ActorId_E3GL = 'E3GL',
ActorId_E3LV = 'E3LV',
ActorId_E3ST = 'E3ST',
ActorId_E3TT = 'E3TT',
ActorId_EFIK = 'EFIK',
ActorId_EFOC = 'EFOC',
ActorId_EFR2 = 'EFR2',
ActorId_EFR3 = 'EFR3',
ActorId_EFRI = 'EFRI',
ActorId_EFRL = 'EFRL',
ActorId_EFRP = 'EFRP',
ActorId_EFSB = 'EFSB',
ActorId_EFSC = 'EFSC',
ActorId_EFW2 = 'EFW2',
ActorId_EFW3 = 'EFW3',
ActorId_EFWI = 'EFWI',
ActorId_EFWL = 'EFWL',
ActorId_EFWV = 'EFWV',
ActorId_ELVT = 'ELVT',
ActorId_ENGE = 'ENGE',
ActorId_EVCH = 'EVCH',
ActorId_EVIC = 'EVIC',
ActorId_EWHI = 'EWHI',
ActorId_FBBF = 'FBBF',
ActorId_FBBH = 'FBBH',
ActorId_FBCH = 'FBCH',
ActorId_FBRD = 'FBRD',
ActorId_FBRG = 'FBRG',
ActorId_FBSC = 'FBSC',
ActorId_FCHL = 'FCHL',
ActorId_FDKY = 'FDKY',
ActorId_FIBB = 'FIBB',
ActorId_FIFI = 'FIFI',
ActorId_FIMA = 'FIMA',
ActorId_FIML = 'FIML',
ActorId_FIRB = 'FIRB',
ActorId_FKTR = 'FKTR',
ActorId_FLCT = 'FLCT',
ActorId_FLDK = 'FLDK',
ActorId_FLEN = 'FLEN',
ActorId_FMAS = 'FMAS',
ActorId_FMLS = 'FMLS',
ActorId_FOFA = 'FOFA',
ActorId_FOMA = 'FOMA',
ActorId_FOMB = 'FOMB',
ActorId_FOMC = 'FOMC',
ActorId_FOMD = 'FOMD',
ActorId_FOMR = 'FOMR',
ActorId_FOMS = 'FOMS',
ActorId_FOMY = 'FOMY',
ActorId_FOPD = 'FOPD',
ActorId_FRBS = 'FRBS',
ActorId_FRTN = 'FRTN',
ActorId_FSIR = 'FSIR',
ActorId_FSSF = 'FSSF',
ActorId_FSST = 'FSST',
ActorId_FTRN = 'FTRN',
ActorId_GHOS = 'GHOS',
ActorId_GOCA = 'GOCA',
ActorId_GOCB = 'GOCB',
ActorId_GOCP = 'GOCP',
ActorId_GOKI = 'GOKI',
ActorId_GORK = 'GORK',
ActorId_GORM = 'GORM',
ActorId_GORP = 'GORP',
ActorId_GORS = 'GORS',
ActorId_GORY = 'GORY',
ActorId_GOVT = 'GOVT',
ActorId_GRCF = 'GRCF',
ActorId_GRCM = 'GRCM',
ActorId_GTTG = 'GTTG',
ActorId_GYAM = 'GYAM',
ActorId_HAMN = 'HAMN',
ActorId_HELA = 'HELA',
ActorId_Heart = 'HERT',
ActorId_HLMG = 'HLMG',
ActorId_HYSW = 'HYSW',
ActorId_IBBA = 'IBBA',
ActorId_IBSP = 'IBSP',
ActorId_ICBA = 'ICBA',
ActorId_ICBB = 'ICBB',
ActorId_ICBS = 'ICBS',
ActorId_ITBM = 'ITBM',
ActorId_ITSC = 'ITSC',
ActorId_ITTD = 'ITTD',
ActorId_ITWP = 'ITWP',
ActorId_IWTS = 'IWTS',
ActorId_JOLN = 'JOLN',
ActorId_KETH = 'KETH',
ActorId_KEYB = 'KEYB',
ActorId_KEYN = 'KEYN',
ActorId_KEYT = 'KEYT',
ActorId_KGDB = 'KGDB',
ActorId_KGDN = 'KGDN',
ActorId_KIMA = 'KIMA',
ActorId_KIMB = 'KIMB',
ActorId_KLTR = 'KLTR',
ActorId_KMOH = 'KMOH',
ActorId_KMOS = 'KMOS',
ActorId_KMSO = 'KMSO',
ActorId_KOAT = 'KOAT',
ActorId_KOCH = 'KOCH',
ActorId_KOKO = 'KOKO',
ActorId_KOTA = 'KOTA',
ActorId_KURI = 'KURI',
ActorId_L2MT = 'L2MT',
ActorId_L2V1 = 'L2V1',
ActorId_L2V2 = 'L2V2',
ActorId_LAVA = 'LAVA',
ActorId_LBCK = 'LBCK',
ActorId_LBRC = 'LBRC',
ActorId_LikeLike = 'LIKE',
ActorId_LIRA = 'LIRA',
ActorId_LOCK = 'LOCK',
ActorId_LVBD = 'LVBD',
ActorId_LVOF = 'LVOF',
ActorId_LZET = 'LZET',
ActorId_MABC = 'MABC',
ActorId_MABL = 'MABL',
ActorId_MAFI = 'MAFI',
ActorId_MAGR = 'MAGR',
ActorId_MARG = 'MARG',
ActorId_MATR = 'MATR',
ActorId_MBCC = 'MBCC',
ActorId_MDYG = 'MDYG',
ActorId_MGAJ = 'MGAJ',
ActorId_MIFR = 'MIFR',
ActorId_MKUR = 'MKUR',
ActorId_MLCK = 'MLCK',
ActorId_MNCB = 'MNCB',
ActorId_MOCT = 'MOCT',
ActorId_MRD2 = 'MRD2',
ActorId_MRDA = 'MRDA',
ActorId_MRDL = 'MRDL',
ActorId_MRDO = 'MRDO',
ActorId_MTFB = 'MTFB',
ActorId_MTFL = 'MTFL',
ActorId_MTWP = 'MTWP',
ActorId_MZCT = 'MZCT',
ActorId_NAVI = 'NAVI',
ActorId_NCCA = 'NCCA',
ActorId_NCCB = 'NCCB',
ActorId_NCCS = 'NCCS',
ActorId_NCMB = 'NCMB',
ActorId_NCWA = 'NCWA',
ActorId_NFSP = 'NFSP',
ActorId_NICO = 'NICO',
ActorId_NITF = 'NITF',
ActorId_NLTR = 'NLTR',
ActorId_NORE = 'NORE',
ActorId_NPWC = 'NPWC',
ActorId_NSHD = 'NSHD',
ActorId_NSSW = 'NSSW',
ActorId_NSTN = 'NSTN',
ActorId_NTTZ = 'NTTZ',
ActorId_NTUB = 'NTUB',
ActorId_OBPC = 'OBPC',
ActorId_OCGS = 'OCGS',
ActorId_OCTA = 'OCTA',
ActorId_OCTG = 'OCTG',
ActorId_OCTS = 'OCTS',
ActorId_OCTW = 'OCTW',
ActorId_OCWS = 'OCWS',
ActorId_OFSW = 'OFSW',
ActorId_OLDM = 'OLDM',
ActorId_OLDS = 'OLDS',
ActorId_PASS = 'PASS',
ActorId_PBK2 = 'PBK2',
ActorId_PBSP = 'PBSP',
ActorId_PCTG = 'PCTG',
ActorId_PHEY = 'PHEY',
ActorId_PHTM = 'PHTM',
ActorId_PLSR = 'PLSR',
ActorId_PMST = 'PMST',
ActorId_PMTB = 'PMTB',
ActorId_PMTC = 'PMTC',
ActorId_PMTD = 'PMTD',
ActorId_PostBox = 'POST',
ActorId_PPPM = 'PPPM',
ActorId_PRPL = 'PRPL',
ActorId_PRPP = 'PRPP',
ActorId_PRSP = 'PRSP',
ActorId_PSBK = 'PSBK',
ActorId_PSBL = 'PSBL',
ActorId_PSBS = 'PSBS',
ActorId_PSEM = 'PSEM',
ActorId_PSNP = 'PSNP',
ActorId_PSWB = 'PSWB',
ActorId_PTMN = 'PTMN',
ActorId_QKSD = 'QKSD',
ActorId_QKTG = 'QKTG',
ActorId_RAT0 = 'RAT0',
ActorId_RB1F = 'RB1F',
ActorId_RB1T = 'RB1T',
ActorId_RBD2 = 'RBD2',
ActorId_RBDS = 'RBDS',
ActorId_RBFR = 'RBFR',
ActorId_RBL1 = 'RBL1',
ActorId_RBL2 = 'RBL2',
ActorId_RBLS = 'RBLS',
ActorId_RBNT = 'RBNT',
ActorId_RBRP = 'RBRP',
ActorId_RBRT = 'RBRT',
ActorId_RBSN = 'RBSN',
ActorId_RBVC = 'RBVC',
ActorId_RBWS = 'RBWS',
ActorId_RBWT = 'RBWT',
ActorId_RCFO = 'RCFO',
ActorId_RCHU = 'RCHU',
ActorId_RCMS = 'RCMS',
ActorId_RCSG = 'RCSG',
ActorId_RLST = 'RLST',
ActorId_RMA0 = 'RMA0',
ActorId_RMA1 = 'RMA1',
ActorId_RMA2 = 'RMA2',
ActorId_RMA3 = 'RMA3',
ActorId_RMAJ = 'RMAJ',
ActorId_RMBC = 'RMBC',
ActorId_RMBD = 'RMBD',
ActorId_RMC0 = 'RMC0',
ActorId_RMC1 = 'RMC1',
ActorId_RMC2 = 'RMC2',
ActorId_RMC3 = 'RMC3',
ActorId_RMC4 = 'RMC4',
ActorId_RMC5 = 'RMC5',
ActorId_RMC6 = 'RMC6',
ActorId_RMDO = 'RMDO',
ActorId_RMDS = 'RMDS',
ActorId_RMF0 = 'RMF0',
ActorId_RMF1 = 'RMF1',
ActorId_RMFK = 'RMFK',
ActorId_RML0 = 'RML0',
ActorId_RML1 = 'RML1',
ActorId_RML2 = 'RML2',
ActorId_RML3 = 'RML3',
ActorId_RMLF = 'RMLF',
ActorId_RMM0 = 'RMM0',
ActorId_RMM1 = 'RMM1',
ActorId_RMM2 = 'RMM2',
ActorId_RMM3 = 'RMM3',
ActorId_RMM4 = 'RMM4',
ActorId_RMS0 = 'RMS0',
ActorId_RMS1 = 'RMS1',
ActorId_RMS2 = 'RMS2',
ActorId_RMS3 = 'RMS3',
ActorId_RMS4 = 'RMS4',
ActorId_RMS5 = 'RMS5',
ActorId_RMSD = 'RMSD',
ActorId_RMSF = 'RMSF',
ActorId_RMSS = 'RMSS',
ActorId_RMST = 'RMST',
ActorId_RMSV = 'RMSV',
ActorId_RMSW = 'RMSW',
ActorId_RMT0 = 'RMT0',
ActorId_RMT1 = 'RMT1',
ActorId_RMT2 = 'RMT2',
ActorId_RMT3 = 'RMT3',
ActorId_RMT4 = 'RMT4',
ActorId_RMTB = 'RMTB',
ActorId_RMTE = 'RMTE',
ActorId_RMTG = 'RMTG',
ActorId_RMTR = 'RMTR',
ActorId_RMTZ = 'RMTZ',
ActorId_RMV0 = 'RMV0',
ActorId_RMV1 = 'RMV1',
ActorId_RMVD = 'RMVD',
ActorId_RMVF = 'RMVF',
ActorId_RMVS = 'RMVS',
ActorId_RMVT = 'RMVT',
ActorId_RMVV = 'RMVV',
ActorId_RMVW = 'RMVW',
ActorId_RMW0 = 'RMW0',
ActorId_RMW1 = 'RMW1',
ActorId_RNTN = 'RNTN',
ActorId_ROCK = 'ROCK',
ActorId_RPMT = 'RPMT',
ActorId_Rupee = 'RUPE',
ActorId_RYAW = 'RYAW',
ActorId_SCCN = 'SCCN',
ActorId_SEAT = 'SEAT',
ActorId_SEFS = 'SEFS',
ActorId_SGMG = 'SGMG',
ActorId_SHDL = 'SHDL',
ActorId_SHIT = 'SHIT',
ActorId_SIRO = 'SIRO',
ActorId_SIRS = 'SIRS',
ActorId_SKDO = 'SKDO',
ActorId_SMCT = 'SMCT',
ActorId_SNMA = 'SNMA',
ActorId_SNMB = 'SNMB',
ActorId_SNOW = 'SNOW',
ActorId_SNST = 'SNST',
ActorId_SOGB = 'SOGB',
ActorId_SOGC = 'SOGC',
ActorId_SOLB = 'SOLB',
ActorId_SOLC = 'SOLC',
ActorId_SOLD = 'SOLD',
ActorId_SOLF = 'SOLF',
ActorId_SOLG = 'SOLG',
ActorId_SOLT = 'SOLT',
ActorId_SPAR = 'SPAR',
ActorId_SPBM = 'SPBM',
ActorId_SPDR = 'SPDR',
ActorId_SPID = 'SPID',
ActorId_SPTG = 'SPTG',
ActorId_SPTR = 'SPTR',
ActorId_SPTT = 'SPTT',
ActorId_SRNM = 'SRNM',
ActorId_SRSL = 'SRSL',
ActorId_SRST = 'SRST',
ActorId_SSFC = 'SSFC',
ActorId_STCT = 'STCT',
ActorId_STFB = 'STFB',
ActorId_STFH = 'STFH',
ActorId_STLF = 'STLF',
ActorId_STLW = 'STLW',
ActorId_STTG = 'STTG',
ActorId_STWH = 'STWH',
ActorId_SWBM = 'SWBM',
ActorId_SWCH = 'SWCH',
ActorId_SWDS = 'SWDS',
ActorId_SWHI = 'SWHI',
ActorId_SWOB = 'SWOB',
ActorId_SWON = 'SWON',
ActorId_SWTM = 'SWTM',
ActorId_SYDE = 'SYDE',
ActorId_SYDL = 'SYDL',
ActorId_SYDS = 'SYDS',
ActorId_SYFI = 'SYFI',
ActorId_SYFO = 'SYFO',
ActorId_SYIL = 'SYIL',
ActorId_SYIS = 'SYIS',
ActorId_SYOL = 'SYOL',
ActorId_SYOS = 'SYOS',
ActorId_SYRN = 'SYRN',
ActorId_SYSL = 'SYSL',
ActorId_SYSN = 'SYSN',
ActorId_SYSS = 'SYSS',
ActorId_SYWA = 'SYWA',
ActorId_SYWL = 'SYWL',
ActorId_SYWS = 'SYWS',
ActorId_SZKL = 'SZKL',
ActorId_SZKU = 'SZKU',
ActorId_SZRD = 'SZRD',
ActorId_TBRD = 'TBRD',
ActorId_TCAM = 'TCAM',
ActorId_TCOW = 'TCOW',
ActorId_TDKT = 'TDKT',
ActorId_TEHT = 'TEHT',
ActorId_Beedle = 'TERY',
ActorId_TEVT = 'TEVT',
ActorId_TFAT = 'TFAT',
ActorId_TGTZ = 'TGTZ',
ActorId_THER = 'THER',
ActorId_TKYT = 'TKYT',
ActorId_TLKT = 'TLKT',
ActorId_TMNA = 'TMNA',
ActorId_TMNC = 'TMNC',
ActorId_TMNP = 'TMNP',
ActorId_TPDO = 'TPDO',
ActorId_TRAP = 'TRAP',
ActorId_TRBC = 'TRBC',
ActorId_TRCB = 'TRCB',
ActorId_TRER = 'TRER',
ActorId_TRIC = 'TRIC',
ActorId_TRLY = 'TRLY',
ActorId_TRRL = 'TRRL',
ActorId_TRSG = 'TRSG',
ActorId_TRSP = 'TRSP',
ActorId_TRTT = 'TRTT',
ActorId_TRUP = 'TRUP',
ActorId_TSCN = 'TSCN',
ActorId_TSLB = 'TSLB',
ActorId_TSMT = 'TSMT',
ActorId_TTET = 'TTET',
ActorId_TTFT = 'TTFT',
ActorId_TTKB = 'TTKB',
ActorId_TTUT = 'TTUT',
ActorId_TUTO = 'TUTO',
ActorId_TVLR = 'TVLR',
ActorId_VCCH = 'VCCH',
ActorId_VCFT = 'VCFT',
ActorId_VLCR = 'VLCR',
ActorId_VOLV = 'VOLV',
ActorId_VRGN = 'VRGN',
ActorId_WAMA = 'WAMA',
ActorId_WAWA = 'WAWA',
ActorId_WAWB = 'WAWB',
ActorId_WAWC = 'WAWC',
ActorId_WAWS = 'WAWS',
ActorId_WAWY = 'WAWY',
ActorId_WBEF = 'WBEF',
ActorId_WBN2 = 'WBN2',
ActorId_WBPS = 'WBPS',
ActorId_WBTN = 'WBTN',
ActorId_WCAS = 'WCAS',
ActorId_WDBA = 'WDBA',
ActorId_WDRD = 'WDRD',
ActorId_WHMA = 'WHMA',
ActorId_WIDR = 'WIDR',
ActorId_WIDT = 'WIDT',
ActorId_WKTR = 'WKTR',
ActorId_WPBD = 'WPBD',
ActorId_WPCH = 'WPCH',
ActorId_WPCL = 'WPCL',
ActorId_WTBS = 'WTBS',
ActorId_WTH2 = 'WTH2',
ActorId_WTH3 = 'WTH3',
ActorId_WTTH = 'WTTH',
ActorId_WWFS = 'WWFS',
ActorId_YKAP = 'YKAP',
ActorId_YKCP = 'YKCP',
ActorId_YKEP = 'YKEP',
ActorId_YUKI = 'YUKI',
ActorId_YUKY = 'YUKY',
ActorId_YWIS = 'YWIS',
ActorId_ZELD = 'ZELD',
ActorId_ZLBB = 'ZLBB',
ActorId_ZLBS = 'ZLBS',
ActorId_ZLSL = 'ZLSL',
ActorId_ZLSN = 'ZLSN',
ActorId_ZLSS = 'ZLSS',
ActorId_ZSRS = 'ZSRS',
ActorId_ZSTG = 'ZSTG',
};
+153
View File
@@ -0,0 +1,153 @@
#pragma once
#include "Actor/Actor.hpp"
#include "Actor/ActorUnk_ov000_0209767c.hpp"
#include "Player/PlayerGet.hpp"
#include "Unknown/UnkStruct_027e0ce4.hpp"
#include "types.h"
typedef u32 RupeeId;
enum RupeeId_ {
/* 0 */ RupeeId_Green,
/* 1 */ RupeeId_Blue,
/* 2 */ RupeeId_Red,
/* 3 */ RupeeId_BigGreen,
/* 4 */ RupeeId_BigRed,
/* 5 */ RupeeId_Gold,
/* 6 */ RupeeId_6,
/* 7 */ RupeeId_7,
};
class Actor_9c {
public:
/* 00 (vtable) */
/* 04 */
/* 00 */ virtual void vfunc_00(); // corresponds to func_ov000_02097c14
/* 04 */ virtual void vfunc_04(); // corresponds to func_ov000_02097c20
/* 08 */
Actor_9c();
void func_ov000_02097bec();
};
class Actor_c4_Base {
public:
Actor_c4_Base(void *param1, unk32 param2);
};
class Actor_c4 : public Actor_c4_Base {
public:
/* 00 (vtable) */
/* 04 */ unk32 mUnk_04;
/* 08 */ unk16 mUnk_08;
/* 08 */ unk16 mUnk_0a;
/* 0c */ unk16 mUnk_0c;
/* 0c */ unk16 mUnk_0e;
/* 10 */ unk16 mUnk_10;
/* 10 */ unk16 mUnk_12;
/* 14 */ unk32 mUnk_14;
/* 18 */ unk32 mUnk_18;
/* 1c */ unk32 mUnk_1c;
/* 20 */ Actor *mUnk_20;
/* 24 */
/* 00 */ virtual unk32 vfunc_00(unk32 param1, unk32 param2);
/* 04 */ virtual void vfunc_04();
/* 08 */ virtual void vfunc_08();
/* 0c */ virtual void vfunc_0c(unk32 param1);
/* 10 */
Actor_c4(Actor *param1);
void func_ov031_020f637c();
void func_ov031_020f6374();
void func_ov031_020f6384(unk32 param1);
unk32 func_ov031_020f62e4(unk32 param1);
};
class ActorRupee : public Actor {
public:
/* 00 (base) */
/* 94 */ u16 mUnk_94;
/* 96 */ u16 mUnk_96;
/* 98 */ u16 mUnk_98;
/* 9a */ u16 mUnk_9a;
/* 9c */ Actor_9c mUnk_9c;
/* a0 */ unk32 mUnk_a0;
/* a4 */ unk32 mUnk_a4;
/* a8 */ unk32 mUnk_a8;
/* ac */ unk32 mUnk_ac;
/* b0 */ unk32 mUnk_b0;
/* b4 */ unk32 mUnk_b4;
/* b8 */ unk32 mUnk_b8;
/* bc */ unk32 mUnk_bc;
/* c0 */ unk32 mUnk_c0;
/* c4 */ Actor_c4 mUnk_c4;
/* e8 */ unk32 mUnk_e8;
/* ec */ s16 mUnk_ec;
/* f0 */ UnkStruct_PlayerGet_ec mUnk_f0;
/* f4 */ bool mUnk_f4;
/* f5 */ unk8 mUnk_f5;
/* f6 */ unk8 mUnk_f6;
/* f7 */ unk8 mUnk_f7;
/* f8 */
ActorRupee();
/* 18 */ virtual unk32 vfunc_18() override;
/* 20 */ virtual void vfunc_20() override;
/* 2c */ virtual void vfunc_2c(unk32 param1) override;
/* 4c */ virtual ~ActorRupee() override;
void func_ov000_02098a88(unk32 param1, unk32 param2);
void func_ov017_020bf9c8(UnkStruct_func_01fff3b4_ret *param1);
UnkStruct_ov000_020b539c_30 *func_ov031_020e8cb8();
void func_ov031_020e8d2c(Vec3p *param1);
void func_ov031_020e8fec();
void func_ov031_020e9068();
void func_ov031_020e9108();
void func_ov031_020e91a8();
void func_ov031_020e9234();
void func_ov031_020e9254();
void func_ov031_020e92e0();
void func_ov031_020e9310();
void func_ov031_020e9428();
void func_ov031_020e942c();
void func_ov031_020e9430();
void func_ov031_020e9434();
void func_ov031_020e9438();
void func_ov031_020e9450();
void func_ov031_020e94d4();
void func_ov031_020e951c();
void func_ov031_020e9598();
void func_ov031_020e95ac();
void func_ov031_020e95b0();
void func_ov031_020e95c0();
void func_ov031_020e9610();
void func_ov031_020e9624();
void func_ov031_020e9638();
void func_ov031_020e96bc();
void func_ov031_020e970c();
void func_ov031_020e9740();
void func_ov031_020e9838();
void func_ov031_020e98c4();
void func_ov031_020e9904(unk32 param1);
void func_ov031_020e9b88();
void func_ov031_020e9be8();
bool func_ov031_020e9d54();
void func_ov031_020e9d94();
bool func_ov031_020e9e5c();
unk32 func_01fff5d0(unk32 param1, unk32 param2);
};
class ActorRupeeBase : public ActorUnk_ov000_0209767c {
public:
/* 00 (base) */
ActorRupeeBase();
/* 0c */ virtual Actor *Create();
};
+36
View File
@@ -0,0 +1,36 @@
#pragma once
#include "Actor/Actor.hpp"
#include "System/SysNew.hpp"
#include "types.h"
class ActorUnk_ov000_0209767c : public SysObject {
public:
/* 00 (vtable) */
/* 04 */ unk32 mUnk_04;
/* 08 */ unk32 mUnk_08;
/* 0c */ unk32 mUnk_0c;
/* 10 */ unk32 mUnk_10;
ActorUnk_ov000_0209767c(u32 actorId);
/* 00 */ virtual void vfunc_00() = 0;
/* 04 */ virtual void vfunc_04() = 0;
/* 08 */ virtual void vfunc_08() = 0;
/* 0c */ virtual Actor *Create() = 0;
/* 10 */ virtual void vfunc_10();
/* 14 */ virtual void vfunc_14();
/* 18 */ virtual void vfunc_18();
/* 1c */ virtual void vfunc_1c();
/* 20 */ virtual void vfunc_20();
/* 24 */ virtual void vfunc_24();
/* 28 */ virtual void vfunc_28() = 0;
/* 2c */ virtual void vfunc_2c() = 0;
/* 30 */ virtual void vfunc_30() = 0;
/* 34 */ virtual void vfunc_34() = 0;
/* 38 */ virtual void vfunc_38() = 0;
/* 3c */ virtual void vfunc_3c() = 0;
/* 40 */ virtual void vfunc_40() = 0;
/* 44 */ virtual void vfunc_44() = 0;
/* 48 */
};
+1
View File
@@ -34,6 +34,7 @@ public:
unk32 func_ov000_020a86a4();
u32 func_ov000_020a86d0(ItemFlag itemFlag);
u8 func_ov000_020a8728();
void func_ov000_020a8768(unk32 param1, unk32 param2, unk32 param3);
u8 func_ov000_020a8748();
void func_ov000_020a87c8(s32 amount);
void func_ov000_020a87ec(s32 amount);
+134
View File
@@ -0,0 +1,134 @@
#pragma once
#include "global.h"
#include "types.h"
#include "Unknown/UnkStruct_027e0ce0.hpp"
#include "Unknown/UnkStruct_ov000_0208f820.hpp"
class UnkStruct_ov110_021861ec {
public:
/* 00 */ Vec3p mUnk_00;
/* 08 */ unk32 mUnk_0c;
/* 08 */ unk32 mUnk_10;
/* 14 */
ARM UnkStruct_ov110_021861ec(q20 x, q20 y, q20 z) {
this->mUnk_00.x = x;
this->mUnk_00.y = y;
this->mUnk_00.z = z;
}
};
struct UnkStruct_PlayerGet_64 {
UnkStruct_PlayerGet_64(unk32 param1, unk32 param2);
};
class UnkStruct_PlayerGet_74_base : public SysObject {
public:
/* 00 (vtable) */
/* 00 */ virtual void vfunc_00();
/* 04 */ virtual void vfunc_04() /* = 0 */;
/* 08 */ virtual void vfunc_08() /* = 0 */;
/* 0c */ virtual void vfunc_0c() /* = 0 */;
/* 10 */ virtual void vfunc_10() /* = 0 */;
/* 14 */ virtual void vfunc_14() /* = 0 */;
/* 18 */ virtual void vfunc_18() /* = 0 */;
/* 1c */ virtual void vfunc_1c() /* = 0 */;
/* 20 */ virtual void vfunc_20() /* = 0 */;
/* 24 */
UnkStruct_PlayerGet_74_base();
};
class UnkStruct_PlayerGet_74 : public UnkStruct_PlayerGet_74_base {
public:
/* 00 (base) */
/* 00 */ virtual void vfunc_00() override;
UnkStruct_PlayerGet_74() {}
};
class UnkStruct_PlayerGet_8c {
public:
UnkStruct_PlayerGet_8c(unk32 param1);
};
class UnkStruct_PlayerGet_ec {
public:
/* 00 */ unk32 mUnk_00;
/* 04 */
UnkStruct_PlayerGet_ec(unk32 param1) {
this->mUnk_00 = param1;
}
~UnkStruct_PlayerGet_ec();
};
class PlayerGet : public UnkStruct_ov000_0208f820 {
public:
/* 00 (base) */
/* 48 */ unk32 mUnk_48;
/* 4c */ unk32 mUnk_4c;
/* 50 */ unk32 mUnk_50;
/* 54 */ unk32 mUnk_54;
/* 58 */ unk32 mUnk_58;
/* 5c */ unk32 mUnk_5c;
/* 60 */ unk32 mUnk_60;
/* 64 */ UnkStruct_PlayerGet_64 mUnk_64;
/* 68 */ unk32 mUnk_68;
/* 6c */ unk32 mUnk_6c;
/* 70 */ unk16 mUnk_70;
/* 70 */ unk8 mUnk_72;
/* 70 */ unk8 mUnk_73;
/* 74 */ UnkStruct_PlayerGet_74 mUnk_74;
/* 78 */ unk32 mUnk_78;
/* 7c */ unk32 mUnk_7c;
/* 80 */ unk32 mUnk_80;
/* 84 */ unk32 mUnk_84;
/* 88 */ UnkStruct_ov000_0208f820 *mUnk_88;
/* 8c */ UnkStruct_PlayerGet_8c mUnk_8c;
/* 90 */ unk32 mUnk_90;
/* 94 */ unk32 mUnk_94;
/* 98 */ unk32 mUnk_98;
/* 9c */ unk32 mUnk_9c;
/* a0 */ unk32 mUnk_a0;
/* a4 */ unk32 mUnk_a4;
/* a8 */ unk32 mUnk_a8;
/* ac */ unk32 mUnk_ac;
/* b0 */ unk32 mUnk_b0;
/* b4 */ unk32 mUnk_b4;
/* b8 */ unk32 mUnk_b8;
/* bc */ unk32 mUnk_bc;
/* c0 */ unk32 mUnk_c0;
/* c4 */ unk32 mUnk_c4;
/* c8 */ unk32 mUnk_c8;
/* cc */ unk32 mUnk_cc;
/* d0 */ unk32 mUnk_d0;
/* d4 */ unk32 mUnk_d4;
/* d8 */ unk32 mUnk_d8;
/* dc */ unk32 mUnk_dc;
/* e0 */ unk32 mUnk_e0;
/* e4 */ unk32 mUnk_e4;
/* e8 */ unk32 mUnk_e8;
/* ec */ UnkStruct_PlayerGet_ec mUnk_ec[4];
/* f0 */
/* 04 */ virtual ~PlayerGet() override;
/* 0c */ virtual void vfunc_0c() override;
/* 10 */ virtual void vfunc_10() override;
/* 18 */ virtual void vfunc_18(unk32 param1, unk32 param2, unk32 param3) override;
void func_ov110_02184dac(unk32 param1, unk32 param2, unk32 param3);
PlayerGet();
static unk32 func_ov110_02185da4(unk32 param1);
// Japanese version only
bool func_ov110_02186b8c();
};
extern const UnkStruct_ov110_021861ec data_ov110_021861ec;
+27
View File
@@ -0,0 +1,27 @@
#pragma once
#include "global.h"
#include "types.h"
struct Random {
/* 00 */ u64 mRandomValue;
/* 08 */ u64 mFactor;
/* 10 */ u64 mAddend;
/* 18 */
/**
* Generate a random number from 0 (inclusive) to `max` (exclusive)
*/
u32 Next(u64 min, u64 max) {
mRandomValue = mAddend + mFactor * mRandomValue;
u64 result;
if ((max - min) == 0x100000000) {
result = mRandomValue;
} else {
result = (mRandomValue >> 32) * (max - min);
}
return (result >> 32) + min;
}
};
extern Random gRandom;
+11
View File
@@ -0,0 +1,11 @@
#pragma once
#include "nitro/math.h"
#include "types.h"
class UnkStruct_027e09a8 {
public:
void func_ov000_02071b30(unk32 param1, Vec3p *pPos, unk32 param3);
};
extern UnkStruct_027e09a8 *data_027e09a8;
+23
View File
@@ -1,9 +1,32 @@
#pragma once
#include "nitro/math.h"
#include "types.h"
class UnkStruct_027e0cd8_0c {
public:
/* 00 */ virtual void vfunc_00();
/* 04 */ virtual void vfunc_04();
/* 08 */ virtual void vfunc_08();
/* 0c */ virtual void vfunc_0c();
/* 10 */ virtual void vfunc_10();
/* 14 */ virtual void vfunc_14();
/* 18 */ virtual void vfunc_18();
/* 1c */ virtual void vfunc_1c();
/* 20 */ virtual void vfunc_20();
/* 24 */ virtual void vfunc_24();
/* 28 */ virtual q20 vfunc_28(Vec3p *param1, unk32 param2, unk32 param3);
/* 2c */ virtual void vfunc_2c();
};
class UnkStruct_027e0cd8 {
public:
/* 00 */ unk32 mUnk_00;
/* 04 */ unk32 mUnk_04;
/* 08 */ unk32 mUnk_08;
/* 0c */ UnkStruct_027e0cd8_0c *mUnk_0c;
/* 10 */
void func_ov000_02081ecc(unk16 param1, unk32 param2);
};
+4 -4
View File
@@ -10,10 +10,10 @@
class UnkStruct_027e0ce0 {
public:
/* 00 */ unk8 mHealth;
/* 04 */ unk8 mHealthMax;
/* 02 */ unk32 mUnk_02;
/* 03 */ unk32 mUnk_03;
/* 04 */ unk32 mUnk_04;
/* 01 */ unk8 mHealthMax;
/* 02 */ unk8 mUnk_02;
/* 03 */ unk8 mUnk_03;
/* 04 */ unk32 *mUnk_04;
/* 08 */ unk32 *mUnk_08;
/* 0c */ unk32 *mUnk_0c;
/* 10 */ unk32 *mUnk_10;
+16
View File
@@ -0,0 +1,16 @@
#pragma once
#include "nitro/math.h"
#include "types.h"
struct UnkStruct_func_01fff3b4_ret {
/* 00 */ unk8 mUnk_00[0xE8];
/* e8 */ Vec3p mPos;
};
class UnkStruct_027e0ce4 {
public:
UnkStruct_func_01fff3b4_ret *func_01fff3b4(unk32 param1);
};
extern UnkStruct_027e0ce4 *data_027e0ce4;
+13
View File
@@ -0,0 +1,13 @@
#pragma once
#include "Player/PlayerGet.hpp"
#include "nitro/math.h"
#include "types.h"
class UnkStruct_027e0cec {
public:
void func_ov000_0209ff8c(UnkStruct_PlayerGet_ec *param1, unk32 param2, Vec3p *param3, unk32 param4);
void func_ov000_020a0110(UnkStruct_PlayerGet_ec *param1);
};
extern UnkStruct_027e0cec *data_027e0cec;
@@ -0,0 +1,70 @@
#pragma once
#include "global.h"
#include "types.h"
#include "System/SysNew.hpp"
#include "nitro/math.h"
struct UnkStruct_ov000_0208f820_14 {
/* 00 */ unk8 mUnk_00[0x6C];
/* 6c */ unk32 mUnk_6c;
/* 70 */ u16 mUnk_70;
/* 72 */ unk16 mUnk_72;
/* 74 */ unk32 mUnk_74;
/* 78 */ unk32 mUnk_78;
/* 7c */ unk32 mUnk_7c;
/* 80 */ unk32 mUnk_80;
/* 84 */ unk32 mUnk_84;
/* 88 */ unk32 mUnk_88;
/* 8c */ unk32 mUnk_8c;
/* 90 */
};
struct UnkStruct_ov000_0208f820_28_54 {
/* 00 */ unk8 mUnk_00[0x12];
/* 12 */ u16 mUnk_12;
};
struct UnkStruct_ov000_0208f820_28 {
/* 00 */ unk8 mUnk_00[0x54];
/* 54 */ UnkStruct_ov000_0208f820_28_54 *mUnk_54;
/* 58 */
};
class UnkStruct_ov000_0208f820 : public SysObject {
public:
/* 00 (vtable) */
/* 04 */ unk32 mUnk_04;
/* 08 */ unk32 mUnk_08;
/* 0c */ unk32 mUnk_0c;
/* 10 */ unk32 mUnk_10;
/* 14 */ UnkStruct_ov000_0208f820_14 *mUnk_14;
/* 18 */ unk8 mUnk_18;
/* 18 */ unk8 mUnk_19;
/* 18 */ unk8 mUnk_1a;
/* 18 */ unk8 mUnk_1b;
/* 1c */ unk32 mUnk_1c;
/* 20 */ unk32 mUnk_20;
/* 24 */ unk32 mUnk_24;
/* 28 */ UnkStruct_ov000_0208f820_28 *mUnk_28;
/* 2c */ unk32 mUnk_2c;
/* 30 */ unk32 mUnk_30;
/* 34 */ Vec3p *mUnk_34;
/* 38 */ unk32 mUnk_38;
/* 3c */ unk32 mUnk_3c;
/* 40 */ unk32 mUnk_40;
/* 44 */ unk32 mUnk_44;
/* 48 */
/* 00 */ virtual void vfunc_00();
/* 04 */ virtual ~UnkStruct_ov000_0208f820();
/* 0c */ virtual void vfunc_0c();
/* 10 */ virtual void vfunc_10();
/* 14 */ virtual void vfunc_14();
/* 18 */ virtual void vfunc_18();
/* 1c */ virtual void vfunc_1c();
/* 20 */
UnkStruct_ov000_0208f820();
};
+789
View File
@@ -0,0 +1,789 @@
#include "Actor/ActorRupee.hpp"
#include "System/Random.hpp"
#include "Unknown/UnkStruct_027e09a8.hpp"
#include "Unknown/UnkStruct_027e0cd8.hpp"
#include "Unknown/UnkStruct_027e0ce0.hpp"
#include "Unknown/UnkStruct_027e0cec.hpp"
extern "C" unk32 func_01ffd420(unk32 *);
extern "C" void func_01ffedac(u16 *, Vec3p *);
extern "C" void func_01fff05c(u32 *, UnkStruct_027e0cd8_0c *, Vec3p *);
extern "C" unk32 func_02017158();
extern "C" void func_ov000_02098838();
extern "C" void func_ov017_020bf99c();
extern "C" void func_ov031_0210acd4(u8);
extern "C" unk32 func_ov031_0210af50(u16, unk32 *);
extern void func_ov031_0210b0e4(u16, unk32);
extern "C" unk32 func_ov031_020d9834(unk32 *);
extern UnkStruct_ov000_020b539c_30 data_ov031_021166e8;
extern unk32 *data_027e09b8;
extern unk32 *data_027e0d34;
ARM UnkStruct_ov000_020b539c_30 *ActorRupee::func_ov031_020e8cb8() {
return &data_ov031_021166e8;
}
ARM Actor *ActorRupeeBase::Create() {
return new(2, 4) ActorRupee();
}
ARM ActorRupeeBase::ActorRupeeBase() :
ActorUnk_ov000_0209767c(ActorId_Rupee) {
this->mUnk_04 = 0;
this->mUnk_08 = 0x556;
this->mUnk_0c = 0;
this->mUnk_10 = 0x556;
}
// non-matching
ARM void ActorRupee::func_ov031_020e8d2c(Vec3p *param1) {
Actor_5c uStack_4c;
uStack_4c.func_ov000_020975f8();
uStack_4c.mUnk_00 = *param1;
uStack_4c.mUnk_0c = 0;
this->func_ov000_020973f4(&data_ov000_020b539c, ActorId_Rupee, uStack_4c);
}
ARM ActorRupee::ActorRupee() :
mUnk_94(0),
mUnk_96(0),
mUnk_98(0),
mUnk_9a(6),
mUnk_bc(0),
mUnk_c0(0),
mUnk_c4(this),
mUnk_e8(0),
mUnk_f0(0),
mUnk_f4(false) {
this->mUnk_a0 = 0x13100;
this->mUnk_40 = &this->mUnk_c4;
}
ARM unk32 ActorRupee::vfunc_18() {}
ARM void ActorRupee::func_ov031_020e8fec() {
switch (this->mUnk_6c) {
case RupeeId_Green:
data_027e09a8->func_ov000_02071b30(0x73, &this->mPos, 0);
break;
case RupeeId_Blue:
data_027e09a8->func_ov000_02071b30(0x74, &this->mPos, 0);
break;
case RupeeId_Red:
data_027e09a8->func_ov000_02071b30(0x75, &this->mPos, 0);
break;
default:
break;
}
}
// non-matching (regalloc)
ARM void ActorRupee::func_ov031_020e9068() {
bool var_r4 = false;
switch (this->mUnk_6c) {
case RupeeId_BigGreen:
case RupeeId_BigRed:
case RupeeId_Gold:
this->func_ov031_020e9904(5);
break;
default: {
ItemManager *pItemManager = data_027e0ce0->mUnk_2c;
pItemManager->func_ov000_020a8768(func_02017158(), 0, 1);
var_r4 = true;
break;
}
}
if (this->mUnk_80 >= 0 && this->mUnk_76 != 0) {
this->func_ov000_02098a88(0, 1);
}
this->func_ov031_020e8fec();
if (var_r4) {
this->func_ov000_020984d0();
}
}
// https://decomp.me/scratch/FZsEE
ARM void ActorRupee::func_ov031_020e9108() {
this->mVel.x = gRandom.Next(-0xCD, 0x19B);
this->mVel.y = gRandom.Next(0, 0x19A);
this->mVel.z = gRandom.Next(-0xCD, 0x19B);
this->mUnk_58 |= 0x02;
}
ARM void ActorRupee::func_ov031_020e91a8() {
u32 sp0;
if (this->mUnk_50 < this->mUnk_52) {
this->mUnk_50++;
}
this->func_ov031_020e9b88();
if (!(this->mUnk_46 & 0x03)) {
return;
}
func_01fff05c(&sp0, data_027e0cd8->mUnk_0c, &this->mPos);
if (((sp0 >> 5) & 0x03) == 2) {
this->func_ov000_020984d0();
return;
}
this->func_ov031_020e9904(2);
}
ARM void ActorRupee::func_ov031_020e9234() {
this->mVel.x = 0;
this->mVel.y = 0;
this->mVel.z = 0;
this->mUnk_58 |= 0x02;
}
ARM void ActorRupee::func_ov031_020e9254() {
u32 sp0;
if (this->mUnk_50 < this->mUnk_52) {
this->mUnk_50++;
}
this->func_ov031_020e9be8();
if (!(this->mUnk_46 & 0x03)) {
return;
}
func_01fff05c(&sp0, data_027e0cd8->mUnk_0c, &this->mPos);
if (((sp0 >> 5) & 0x03) == 2) {
this->func_ov000_020984d0();
return;
}
this->func_ov031_020e9904(2);
}
ARM void ActorRupee::func_ov031_020e92e0() {
this->mVel.x = 0;
this->mVel.y = 0;
this->mVel.z = 0;
if (this->mUnk_96 - this->mUnk_94 > 180) {
this->mUnk_96 = 180;
this->mUnk_94 = 0;
}
}
// non-matching
ARM void ActorRupee::func_ov031_020e9310() {
u32 sp0;
if (this->mUnk_50 < this->mUnk_52) {
this->mUnk_50++;
}
switch (this->mUnk_ec) {
case 0:
if (data_027e0cd8->mUnk_0c->vfunc_28(&this->mPos, 1, 0) < this->mPos.y) {
this->mUnk_ec++;
}
break;
case 1:
this->func_ov031_020e9be8();
if (this->mUnk_46 & 3) {
this->mVel.x = 0;
this->mVel.y = 0;
this->mVel.z = 0;
func_01fff05c(&sp0, data_027e0cd8->mUnk_0c, &this->mPos);
if (((sp0 >> 5) & 3) != 2) {
this->mUnk_ec = 0;
} else {
this->func_ov000_020984d0();
}
}
break;
default:
break;
}
this->mUnk_44 = 3;
this->func_ov000_02098910(0, 0x10);
if (this->mUnk_46 & 3) {
return;
}
this->func_ov031_020e9904(1);
}
ARM void ActorRupee::func_ov031_020e9428() {}
ARM void ActorRupee::func_ov031_020e942c() {}
ARM void ActorRupee::func_ov031_020e9430() {}
ARM void ActorRupee::func_ov031_020e9434() {}
ARM void ActorRupee::func_ov031_020e9438() {
func_ov017_020bf99c();
this->mUnk_9c.func_ov000_02097bec();
}
ARM void ActorRupee::func_ov031_020e9450() {
this->func_ov017_020bf9c8(data_027e0ce4->func_01fff3b4(this->mUnk_bc));
this->mPrevPos = this->mPos;
Vec3p_Add(&this->mPos, &this->mVel, &this->mPos);
if (!(this->mUnk_58 & 0x20)) {
return;
}
this->mVel.x = 0;
this->mVel.y = 0;
this->mVel.z = 0;
this->mUnk_a0 |= 0x1000;
this->func_ov031_020e9904(0);
}
ARM void ActorRupee::func_ov031_020e94d4() {
this->mUnk_52 = -1;
this->mUnk_50 = 0;
this->mVel.x = 0;
this->mVel.y = 0;
this->mVel.z = 0;
this->mUnk_4a = 0;
this->mUnk_44 = 0;
this->mUnk_9c.func_ov000_02097bec();
this->mUnk_58 &= ~0x02;
}
ARM void ActorRupee::func_ov031_020e951c() {
s32 var_r1;
if (func_01ffd420(data_027e09b8) != 0) {
return;
}
var_r1 = -1;
switch (this->mUnk_6c) {
case RupeeId_Gold:
var_r1 = 0x11;
break;
case RupeeId_BigGreen:
var_r1 = 0x0F;
break;
case RupeeId_BigRed:
var_r1 = 0x10;
break;
default:
break;
}
if (var_r1 != -1 && func_ov031_020d9834(data_027e0d34) == 0) {
return;
}
this->func_ov000_020984d0();
}
ARM void ActorRupee::func_ov031_020e9598() {
this->mVel.x = 0;
this->mVel.y = 0;
this->mVel.z = 0;
}
ARM void ActorRupee::func_ov031_020e95ac() {}
ARM void ActorRupee::func_ov031_020e95b0() {
this->mVel.x = 0;
this->mVel.z = 0;
}
ARM void ActorRupee::func_ov031_020e95c0() {
UnkStruct_func_01fff3b4_ret *temp_r0;
temp_r0 = data_027e0ce4->func_01fff3b4(this->mUnk_c0);
if (temp_r0 == NULL) {
this->func_ov031_020e9904(0);
return;
}
this->mPos = temp_r0->mPos;
}
ARM void ActorRupee::func_ov031_020e9610() {
this->mVel.x = 0;
this->mVel.y = 0;
this->mVel.z = 0;
}
ARM void ActorRupee::func_ov031_020e9624() {
this->mUnk_9a = 0x14;
this->mUnk_98 = 0x00;
}
ARM void ActorRupee::func_ov031_020e9638() {
this->mVel.x = 0;
this->mVel.y = 0;
this->mVel.z = 0;
this->mUnk_58 &= ~0x02;
this->mUnk_c4.mUnk_04 = 0;
if (this->mUnk_6e == 2) {
this->mUnk_4a = 1;
data_027e0cec->func_ov000_0209ff8c(&this->mUnk_f0, 0xD00C, &this->mPos, 2);
} else {
this->mUnk_4a = 0;
}
this->mPos.y -= FLOAT_TO_Q20(1.2);
}
// non-matching
ARM void ActorRupee::func_ov031_020e96bc() {
u16 sp0;
func_01ffedac(&sp0, &this->mPos);
if (func_ov031_0210af50(sp0, NULL) == 0) {
return;
}
this->func_ov031_020e9904(0xB);
}
ARM void ActorRupee::func_ov031_020e970c() {
this->mVel.x = 0;
this->mVel.y = 0;
this->mVel.z = 0;
this->mUnk_58 |= 0x02;
this->mUnk_4a = 1;
this->mUnk_52 = -1;
this->mUnk_50 = 0;
}
// non-matching
ARM void ActorRupee::func_ov031_020e9740() {
u16 sp0;
unk32 sp4;
unk32 *psp4;
s32 temp_r2;
UnkStruct_027e0cd8_0c *temp_r0;
func_01ffedac(&sp0, &this->mPos);
sp4 = 0;
if (func_ov031_0210af50(sp0, &sp4) != 0) {
temp_r0 = data_027e0cd8->mUnk_0c;
temp_r2 = (sp4 - 0x800) + temp_r0->vfunc_28(&this->mPos, 0, 0);
if (this->mPos.y != temp_r2) {
this->mPos.y = temp_r2;
this->mUnk_52 = -1;
this->mUnk_50 = 0;
} else if (this->mUnk_50 == 8) {
this->func_ov031_020e9904(0xC);
}
} else {
temp_r0 = data_027e0cd8->mUnk_0c;
this->mPos.y = temp_r0->vfunc_28(&this->mUnk_5c.mUnk_00, 0, 0);
this->func_ov031_020e9904(0xC);
}
if (this->mUnk_50 < this->mUnk_52) {
this->mUnk_50++;
}
}
// non-matching
ARM void ActorRupee::func_ov031_020e9838() {
u16 sp2;
func_01ffedac(&sp2, &this->mPos);
this->mUnk_c4.mUnk_04 = 1;
func_ov031_0210b0e4(sp2, 0);
func_ov031_0210acd4(sp2);
func_ov031_0210acd4(sp2);
data_027e0cec->func_ov000_020a0110(&this->mUnk_f0);
}
// non-matching
ARM void ActorRupee::func_ov031_020e98c4() {
u16 sp0;
func_01ffedac(&sp0, &this->mPos);
func_ov031_0210b0e4(sp0, 1);
this->func_ov031_020e9904(1);
}
typedef void (*UnkCallback_ov031_02113520)(void *);
struct UnkStruct_ov031_02113520 {
/* 00 */ UnkCallback_ov031_02113520 mUnk_00;
/* 04 */ unk32 mUnk_04;
/* 08 */
};
extern UnkStruct_ov031_02113520 data_ov031_02113520[13];
// non-matching
ARM void ActorRupee::func_ov031_020e9904(unk32 param1) {
this->mUnk_4c = param1;
this->mUnk_52 = -1;
this->mUnk_50 = 0;
this->mUnk_ec = 0;
u32 uVar1 = data_ov031_02113520[this->mUnk_4c].mUnk_04;
UnkCallback_ov031_02113520 pcVar2;
if (!(uVar1 & 1)) {
pcVar2 = data_ov031_02113520[this->mUnk_4c].mUnk_00;
} else {
pcVar2 = (UnkCallback_ov031_02113520) (((u32) this + uVar1 >> 1) + &data_ov031_02113520[this->mUnk_4c]);
}
pcVar2(this);
}
extern "C" void func_01fff17c(unk16 *, UnkStruct_027e0ce0 *, unk32);
extern "C" void func_02018114(unk16 *, unk32);
typedef void (*UnkCallback_vfunc_20)(Vec3p *);
struct UnkStruct_ov031_02113588 {
/* 00 */ UnkCallback_vfunc_20 callback;
/* 04 */ unk32 mUnk_04;
/* 08 */
};
extern UnkStruct_ov031_02113588 data_ov031_02113588[13];
// non-matching
ARM void ActorRupee::vfunc_20() {
short sVar1;
unk16 uVar2;
unk16 uVar3;
int iVar4;
u32 uVar5;
UnkCallback_vfunc_20 pcVar6;
int iVar7;
int iVar8;
unk16 uStack_16;
unk16 uStack_18;
unk16 uStack_1a;
short sStack_1c;
u16 uStack_1e;
u16 uStack_20;
Vec3p test;
uStack_1a = 0;
uVar2 = 0x666;
uStack_16 = 0xFB33;
uStack_18 = uVar2;
func_01fff17c(&sStack_1c, data_027e0ce0, 0);
func_02018114(&uStack_1a, sStack_1c);
this->mUnk_c4.mUnk_08 = uStack_1a;
this->mUnk_c4.mUnk_0a = uStack_18;
this->mUnk_c4.mUnk_0c = uStack_16;
uStack_1a = 0;
uStack_18 = 0x666;
uStack_16 = 0;
this->mUnk_c4.mUnk_0e = 0;
this->mUnk_c4.mUnk_10 = 0x666;
sVar1 = this->mUnk_4c;
test = this->mPos;
if (sVar1 != 5) {
iVar4 = (int) (short) this->mUnk_4c;
}
this->mUnk_c4.mUnk_12 = 0;
this->mPrevPos = test;
uVar3 = uVar2;
if ((sVar1 != 5 && iVar4 != 10) && iVar4 != 0xb) {
if ((sVar1 != 6) && ((u16) this->mUnk_98 < (u16) this->mUnk_9a)) {
this->mUnk_98++;
}
uVar3 = uStack_18;
if ((u16) this->mUnk_9a <= (u16) this->mUnk_98) {
this->mUnk_3c = (unk32) & this->mUnk_9c;
uStack_18 = uVar2;
this->func_ov000_020989e0();
uVar3 = uStack_18;
if ((this->mUnk_a4 & 0x3ffff) != 0) {
sVar1 = *(short *) &this->mUnk_b8;
switch (mUnk_b8) {
case 0x08:
case 0x10:
if ((this->mUnk_a8 & 0x100) != 0) {
this->func_ov031_020e9068();
uVar3 = uStack_18;
}
break;
case 0x0C:
this->mUnk_bc = this->mUnk_a8;
this->mUnk_a0 &= 0xffffefff;
this->func_ov031_020e9904(6);
uVar3 = uStack_18;
break;
default:
break;
}
}
}
}
uStack_18 = uVar3;
iVar4 = (int) (short) this->mUnk_4c;
// uVar5 = *(u32 *) (data_ov031_0211358c[iVar4 * 8]);
if (!(uVar5 & 1)) {
data_ov031_02113588[iVar4 * 2].callback(NULL);
} else {
this->vfunc_00(NULL);
// pcVar6 = *(code **) (*(int *) ((int) &this->vtable + ((int) uVar5 >> 1)) + (&data_ov031_02113588)[iVar4 * 2]);
}
// (*pcVar6)();
if ((this->mUnk_80 < 0) && (this->mUnk_4c != 5)) {
this->func_ov031_020e9d94();
}
if (this->mUnk_6e != 0) {
sVar1 = this->mUnk_4c;
if (!(sVar1 != 10 && sVar1 != 0xb && sVar1 != 0xc)) {
func_01ffedac(&uStack_1e, &this->mPos);
func_ov031_0210b0e4(uStack_1e, 0);
} else {
func_01ffedac(&uStack_20, &this->mPos);
func_ov031_0210b0e4(uStack_20, 1);
}
}
}
ARM void ActorRupee::func_ov031_020e9b88() {
func_ov000_02098838();
Vec3p_Add(&this->mPos, &this->mVel, &this->mPos);
if (this->mUnk_5c.mUnk_00.y < this->mPos.y + this->mVel.y) {
this->mUnk_44 = 0x9C;
} else {
this->mUnk_44 = 0x9F;
}
if (this->func_ov000_02098910(0, 0x10) != 0) {
this->mVel.x = 0;
this->mVel.z = 0;
}
}
ARM void ActorRupee::func_ov031_020e9be8() {
func_ov000_02098838();
Vec3p_Add(&this->mPos, &this->mVel, &this->mPos);
if (this->mVel.y < 0) {
this->mUnk_44 = 3;
this->func_ov000_02098910(0, 0x10);
}
}
extern "C" void func_ov000_0205c1f0(unk32 *, unk16);
extern unk32 data_ov031_02110aa0[];
extern unk32 data_ov031_02113468[];
extern "C" void func_ov000_0205c204(unk32 *, Vec3p *, unk32, unk32, unk32);
// non-matching
ARM void ActorRupee::vfunc_2c(unk32 param1) {
Vec3p iStack_18;
Vec3p iStack_28;
unk32 auStack_30[4];
s32 uVar2;
if (this->func_01fff5d0(param1, 0) == 0) {
return;
}
func_ov000_0205c1f0(auStack_30, data_ov031_02110aa0[this->mUnk_6c]);
iStack_18 = this->mPos;
if (!this->func_ov031_020e9d54()) {
iStack_18.y += 0x800;
func_ov000_0205c204(auStack_30, &iStack_18, 0xB0A, 0x0A, 0x1F);
uVar2 = 0x333;
} else {
iStack_18.y += data_ov031_02113468[2];
func_ov000_0205c204(auStack_30, &iStack_18, data_ov031_02113468[1], data_ov031_02113468[1], 0x1F);
uVar2 = 0x4CD;
}
if (this->mUnk_4c != 9) {
iStack_28.x = this->mPos.x;
iStack_28.y = this->mPos.y + 0x80;
iStack_28.z = this->mPos.z;
this->func_ov017_020bf5c4(&iStack_28, uVar2, uVar2, 0x1F, 0);
}
}
ARM bool ActorRupee::func_ov031_020e9d54() {
switch (this->mUnk_6c) {
case RupeeId_BigGreen:
case RupeeId_BigRed:
case RupeeId_Gold:
case RupeeId_7:
return true;
default:
break;
}
return false;
}
// non-matching
ARM void ActorRupee::func_ov031_020e9d94() {
s32 temp_r0_2;
s32 var_r0;
s32 var_r1;
bool var_r1_2;
u16 temp_r0;
u32 temp_r1;
if (this->func_ov031_020e9e5c()) {
this->mUnk_58 |= 2;
return;
}
if (!this->mUnk_f4) {
if (this->mUnk_94 < this->mUnk_96) {
this->mUnk_94++;
var_r1 = 0;
} else {
var_r1 = 1;
}
if (var_r1 == 0) {
return;
}
this->mUnk_f4 = 1;
this->mUnk_96 = 0x3C;
this->mUnk_94 = 0;
return;
}
temp_r0 = this->mUnk_94;
temp_r1 = temp_r0 >> 0x1F;
if ((this->mUnk_94 & 7) < 4) {
this->mUnk_58 &= ~2;
} else {
this->mUnk_58 |= 2;
}
if (this->mUnk_94 < this->mUnk_96) {
var_r1_2 = 0;
this->mUnk_94++;
} else {
var_r1_2 = 1;
}
if (var_r1_2 == 0) {
return;
}
this->func_ov000_020984d0();
}
// non-matching (and awful...)
ARM bool ActorRupee::func_ov031_020e9e5c() {
short sVar1;
bool bVar8;
bool bVar2;
bool bVar3;
bool bVar4;
bool bVar5;
bool bVar6;
bool bVar7;
sVar1 = this->mUnk_4c;
bVar6 = true;
bVar5 = true;
bVar4 = true;
bVar3 = true;
bVar2 = true;
bVar7 = true;
bVar8 = true;
if ((sVar1 != 6 && sVar1 != 7)) {
bVar2 = false;
}
if ((!bVar2) && (sVar1 != 3)) {
bVar8 = false;
}
if ((!bVar8) && (sVar1 != 8)) {
bVar3 = false;
}
if ((!bVar3) && (sVar1 != 9)) {
bVar4 = false;
}
if ((!bVar4) && (sVar1 != 10)) {
bVar5 = false;
}
if ((!bVar5) && (sVar1 != 0xb)) {
bVar6 = false;
}
if (!(bVar6) && (sVar1 != 0xc)) {
bVar7 = false;
}
return bVar7;
}
#define GET_ACTOR_RUPEE(pActor) ((ActorRupee *) (pActor))
ARM Actor_c4::Actor_c4(Actor *param1) :
Actor_c4_Base(&param1->mUnk_8c, 0) {
this->mUnk_20 = param1;
this->mUnk_04 = 1;
}
// non-matching
ARM unk32 Actor_c4::vfunc_00(unk32 param1, unk32 param2) {
if (param2 != 0) {
ActorRupee *pRupee = GET_ACTOR_RUPEE(this->mUnk_20);
pRupee->mUnk_c0 = param2;
pRupee->func_ov031_020e9904(7);
}
return this->func_ov031_020f62e4(param2);
}
ARM void Actor_c4::vfunc_04() {
GET_ACTOR_RUPEE(this->mUnk_20)->func_ov031_020e9904(8);
this->func_ov031_020f6374();
}
ARM void Actor_c4::vfunc_0c(unk32 param1) {
GET_ACTOR_RUPEE(this->mUnk_20)->func_ov031_020e9904(1);
this->func_ov031_020f6384(param1);
}
ARM void Actor_c4::vfunc_08() {
GET_ACTOR_RUPEE(this->mUnk_20)->func_ov031_020e9068();
this->func_ov031_020f637c();
}
ARM ActorRupee::~ActorRupee() {}
+10
View File
@@ -0,0 +1,10 @@
#include "System/Random.hpp"
#include "types.h"
ARM extern "C" void func_02017ea4(u16 *param1) {
*param1 = gRandom.Next(0, 0x100000000) >> 16;
}
ARM extern "C" void func_02017ee4(u16 *param1) {
*param1 = gRandom.Next(0, 4) << 14;
}
+1 -1
View File
@@ -436,7 +436,7 @@ def add_download_tool_builds(n: ninja_syntax.Writer, project: Project):
rule="phony",
outputs="download_tools",
)
n.newline
n.newline()
def add_extract_build(n: ninja_syntax.Writer, project: Project):