mirror of
https://github.com/zeldaret/ph
synced 2026-05-23 06:54:18 -04:00
Decompile more of AdventureFlags.cpp (#118)
* fix flags getters and associated relocs * explicit ARM and improve existing matches * match CopyTo * document a bit the flag system and progress on unmatched functions * remaining bottom functions * func_ov00_02097810 params and name fix * fix build issues * move flag base definition to its own file * document item flags --------- Co-authored-by: Yanis002 <Yanis002@users.noreply.github.com> Co-authored-by: Aetias <aetias@outlook.com>
This commit is contained in:
@@ -3113,33 +3113,33 @@ from:0x02097c00 kind:arm_call to:0x020990a4 module:overlay(0)
|
||||
from:0x02097c14 kind:load to:0x0209907c module:overlay(0)
|
||||
from:0x02097c24 kind:arm_call to:0x02097cf8 module:overlay(0)
|
||||
from:0x02097c30 kind:arm_call to:0x02097760 module:overlay(0)
|
||||
from:0x02097c4c kind:load to:0x020e3155 module:overlay(0)
|
||||
from:0x02097c64 kind:load to:0x020e3154 module:overlay(0)
|
||||
from:0x02097c7c kind:load to:0x020e3156 module:overlay(0)
|
||||
from:0x02097c94 kind:load to:0x020e314e module:overlay(0)
|
||||
from:0x02097cac kind:load to:0x020e314c module:overlay(0)
|
||||
from:0x02097cc4 kind:load to:0x020e3144 module:overlay(0)
|
||||
from:0x02097cdc kind:load to:0x020e3140 module:overlay(0)
|
||||
from:0x02097cf4 kind:load to:0x020e3150 module:overlay(0)
|
||||
from:0x02097d0c kind:load to:0x020e313c module:overlay(0)
|
||||
from:0x02097c4c kind:load to:0x020e310c add:0x49 module:overlay(0)
|
||||
from:0x02097c64 kind:load to:0x020e310c add:0x48 module:overlay(0)
|
||||
from:0x02097c7c kind:load to:0x020e310c add:0x4a module:overlay(0)
|
||||
from:0x02097c94 kind:load to:0x020e310c add:0x42 module:overlay(0)
|
||||
from:0x02097cac kind:load to:0x020e310c add:0x40 module:overlay(0)
|
||||
from:0x02097cc4 kind:load to:0x020e310c add:0x38 module:overlay(0)
|
||||
from:0x02097cdc kind:load to:0x020e310c add:0x34 module:overlay(0)
|
||||
from:0x02097cf4 kind:load to:0x020e310c add:0x44 module:overlay(0)
|
||||
from:0x02097d0c kind:load to:0x020e310c add:0x30 module:overlay(0)
|
||||
from:0x02097d90 kind:load to:0x020e310c module:overlay(0)
|
||||
from:0x02097d94 kind:load to:0x020e3110 module:overlay(0)
|
||||
from:0x02097d98 kind:load to:0x020e3114 module:overlay(0)
|
||||
from:0x02097d9c kind:load to:0x020e3118 module:overlay(0)
|
||||
from:0x02097da0 kind:load to:0x020e311c module:overlay(0)
|
||||
from:0x02097da4 kind:load to:0x020e311e module:overlay(0)
|
||||
from:0x02097da8 kind:load to:0x020e311f module:overlay(0)
|
||||
from:0x02097dac kind:load to:0x020e3120 module:overlay(0)
|
||||
from:0x02097db0 kind:load to:0x020e3121 module:overlay(0)
|
||||
from:0x02097e34 kind:load to:0x020e3124 module:overlay(0)
|
||||
from:0x02097e38 kind:load to:0x020e3128 module:overlay(0)
|
||||
from:0x02097e3c kind:load to:0x020e312c module:overlay(0)
|
||||
from:0x02097e40 kind:load to:0x020e3130 module:overlay(0)
|
||||
from:0x02097e44 kind:load to:0x020e3134 module:overlay(0)
|
||||
from:0x02097e48 kind:load to:0x020e3136 module:overlay(0)
|
||||
from:0x02097e4c kind:load to:0x020e3137 module:overlay(0)
|
||||
from:0x02097e50 kind:load to:0x020e3138 module:overlay(0)
|
||||
from:0x02097e54 kind:load to:0x020e3139 module:overlay(0)
|
||||
from:0x02097d94 kind:load to:0x020e310c add:0x04 module:overlay(0)
|
||||
from:0x02097d98 kind:load to:0x020e310c add:0x08 module:overlay(0)
|
||||
from:0x02097d9c kind:load to:0x020e310c add:0x0c module:overlay(0)
|
||||
from:0x02097da0 kind:load to:0x020e310c add:0x10 module:overlay(0)
|
||||
from:0x02097da4 kind:load to:0x020e310c add:0x12 module:overlay(0)
|
||||
from:0x02097da8 kind:load to:0x020e310c add:0x13 module:overlay(0)
|
||||
from:0x02097dac kind:load to:0x020e310c add:0x14 module:overlay(0)
|
||||
from:0x02097db0 kind:load to:0x020e310c add:0x15 module:overlay(0)
|
||||
from:0x02097e34 kind:load to:0x020e310c add:0x18 module:overlay(0)
|
||||
from:0x02097e38 kind:load to:0x020e310c add:0x1c module:overlay(0)
|
||||
from:0x02097e3c kind:load to:0x020e310c add:0x20 module:overlay(0)
|
||||
from:0x02097e40 kind:load to:0x020e310c add:0x24 module:overlay(0)
|
||||
from:0x02097e44 kind:load to:0x020e310c add:0x28 module:overlay(0)
|
||||
from:0x02097e48 kind:load to:0x020e310c add:0x2a module:overlay(0)
|
||||
from:0x02097e4c kind:load to:0x020e310c add:0x2b module:overlay(0)
|
||||
from:0x02097e50 kind:load to:0x020e310c add:0x2c module:overlay(0)
|
||||
from:0x02097e54 kind:load to:0x020e310c add:0x2d module:overlay(0)
|
||||
from:0x02097e68 kind:load to:0x020e310c module:overlay(0)
|
||||
from:0x02097e78 kind:load to:0x02098114 module:overlay(0)
|
||||
from:0x02097e84 kind:arm_call to:0x02097e6c module:overlay(0)
|
||||
|
||||
@@ -201,8 +201,8 @@ func_ov000_0207b1fc kind:function(thumb,size=0x7c) addr:0x0207b1fc
|
||||
func_ov000_0207b278 kind:function(thumb,size=0x10) addr:0x0207b278
|
||||
_ZN15Struct_027e0db019func_ov000_0207b288Ei kind:function(thumb,size=0x3c) addr:0x0207b288
|
||||
func_ov000_0207b2c4 kind:function(thumb,size=0x2c) addr:0x0207b2c4
|
||||
func_ov000_0207b2f0 kind:function(thumb,size=0x44) addr:0x0207b2f0
|
||||
func_ov000_0207b334 kind:function(thumb,size=0x44) addr:0x0207b334
|
||||
_ZN15Struct_027e0db019func_ov000_0207b2f0Eib kind:function(thumb,size=0x44) addr:0x0207b2f0
|
||||
_ZN15Struct_027e0db019func_ov000_0207b334Ei kind:function(thumb,size=0x44) addr:0x0207b334
|
||||
_ZN15Struct_027e0db019func_ov000_0207b378Ei kind:function(arm,size=0xc4) addr:0x0207b378
|
||||
_ZN15Struct_027e0db019func_ov000_0207b43cEv kind:function(arm,size=0xf4) addr:0x0207b43c
|
||||
func_ov000_0207b530 kind:function(thumb,size=0x2c) addr:0x0207b530
|
||||
@@ -1275,7 +1275,7 @@ _ZN7MapData8GetFlag3Ej kind:function(arm,size=0x20) addr:0x0209759c
|
||||
_ZN7MapData8SetFlag4Ejb kind:function(arm,size=0x4c) addr:0x020975bc
|
||||
_ZN7MapData8GetFlag4Ej kind:function(arm,size=0x20) addr:0x02097608
|
||||
_ZN14AdventureFlags6ExistsEv kind:function(arm,size=0x1c) addr:0x02097628
|
||||
_ZN14AdventureFlags6CopyToEPi kind:function(arm,size=0x30) addr:0x02097644
|
||||
_ZN14AdventureFlags6CopyToEP9FlagsData kind:function(arm,size=0x30) addr:0x02097644
|
||||
_ZN14AdventureFlags18func_ov00_02097674Ev kind:function(arm,size=0x10) addr:0x02097674
|
||||
_ZN14AdventureFlags18func_ov00_02097684Ev kind:function(arm,size=0x10) addr:0x02097684
|
||||
_ZN14AdventureFlags4LoadEv kind:function(arm,size=0x34) addr:0x02097694
|
||||
@@ -1285,14 +1285,14 @@ _ZN14AdventureFlags18func_ov00_02097738Ev kind:function(arm,size=0x18) addr:0x02
|
||||
_ZN14AdventureFlags18func_ov00_02097750Ev kind:function(arm,size=0x10) addr:0x02097750
|
||||
_ZN14AdventureFlags3GetEj kind:function(arm,size=0x3c) addr:0x02097760
|
||||
_ZN14AdventureFlags3SetEjb kind:function(arm,size=0x74) addr:0x0209779c
|
||||
_ZN14AdventureFlags18func_Ov00_02097810Ei kind:function(arm,size=0x158) addr:0x02097810
|
||||
_ZN14AdventureFlags18func_ov00_02097810Ei kind:function(arm,size=0x158) addr:0x02097810
|
||||
_ZN14AdventureFlags18func_ov00_02097968Ei kind:function(arm,size=0xdc) addr:0x02097968
|
||||
_ZN14AdventureFlags18func_ov00_02097a44Eii kind:function(arm,size=0x158) addr:0x02097a44
|
||||
_ZN14AdventureFlags18func_ov00_02097b9cEi kind:function(arm,size=0x10) addr:0x02097b9c
|
||||
_ZN14AdventureFlags18func_ov00_02097bacEv kind:function(arm,size=0x10) addr:0x02097bac
|
||||
_ZN14AdventureFlags18func_ov00_02097bbcEv kind:function(arm,size=0x10) addr:0x02097bbc
|
||||
_ZN14AdventureFlags18func_ov00_02097bccEv kind:function(arm,size=0x10) addr:0x02097bcc
|
||||
_ZN14AdventureFlags18func_ov00_02097bccEi kind:function(arm,size=0x2c) addr:0x02097bdc
|
||||
_ZN14AdventureFlags18func_ov00_02097bccEi kind:function(arm,size=0x10) addr:0x02097bcc
|
||||
_ZN14AdventureFlags18func_ov00_02097bccEP10astruct_23 kind:function(arm,size=0x2c) addr:0x02097bdc
|
||||
_ZN14AdventureFlags18func_ov00_02097c08Ev kind:function(arm,size=0x10) addr:0x02097c08
|
||||
_ZN14AdventureFlags20Get_FlagsUnk_30_FlagEi kind:function(arm,size=0x20) addr:0x02097c18
|
||||
_ZN14AdventureFlags15Get_FlagsUnk_49Ei kind:function(arm,size=0x18) addr:0x02097c38
|
||||
@@ -1323,9 +1323,9 @@ _ZN14AdventureFlags18func_ov00_020980acEv kind:function(arm,size=0x10) addr:0x02
|
||||
_ZN14AdventureFlags18func_ov00_020980bcEi kind:function(arm,size=0x14) addr:0x020980bc
|
||||
_ZN8FlagsUnkD1Ev kind:function(arm,size=0x24) addr:0x020980d0
|
||||
_ZN9FlagsUnk2D1Ev kind:function(arm,size=0x4) addr:0x020980f4
|
||||
_Z19func_ov000_020980f8P15CutsceneHandler kind:function(arm,size=0x4) addr:0x020980f8
|
||||
_Z19func_ov000_020980fcP15CutsceneHandler kind:function(arm,size=0x18) addr:0x020980fc
|
||||
_Z19func_ov000_02098114P15CutsceneHandler kind:function(arm,size=0x3c) addr:0x02098114
|
||||
_ZN15CutsceneHandler19func_ov000_020980f8Ev kind:function(arm,size=0x4) addr:0x020980f8
|
||||
_ZN15CutsceneHandler19func_ov000_020980fcEiiPPv kind:function(arm,size=0x18) addr:0x020980fc
|
||||
_ZN15CutsceneHandler19func_ov000_02098114Ev kind:function(arm,size=0x3c) addr:0x02098114
|
||||
_ZN15CutsceneHandler12SkipCutsceneEi kind:function(arm,size=0x68) addr:0x02098150
|
||||
_ZN15CutsceneHandler19func_ov000_020981b8EPi kind:function(arm,size=0x408) addr:0x020981b8
|
||||
_ZN15CutsceneHandler19func_ov000_020985c0Ev kind:function(arm,size=0x4) addr:0x020985c0
|
||||
@@ -1346,17 +1346,17 @@ func_ov000_02098b60 kind:function(arm,size=0x18) addr:0x02098b60
|
||||
func_ov000_02098b78 kind:function(arm,size=0x18) addr:0x02098b78
|
||||
func_ov000_02098b90 kind:function(arm,size=0x70) addr:0x02098b90
|
||||
func_ov000_02098c00 kind:function(arm,size=0x48) addr:0x02098c00
|
||||
func_ov000_02098c48 kind:function(arm,size=0x20) addr:0x02098c48
|
||||
func_ov000_02098c68 kind:function(arm,size=0xb8) addr:0x02098c68
|
||||
func_ov000_02098d20 kind:function(arm,size=0x14) addr:0x02098d20
|
||||
_ZN17AdventureFlags_4419func_ov000_02098c48Ei kind:function(arm,size=0x20) addr:0x02098c48
|
||||
_ZN17AdventureFlags_4419func_ov000_02098c68Ev kind:function(arm,size=0xb8) addr:0x02098c68
|
||||
_ZN17AdventureFlags_4419func_ov000_02098d20Ev kind:function(arm,size=0x14) addr:0x02098d20
|
||||
func_ov000_02098d34 kind:function(arm,size=0x1d0) addr:0x02098d34
|
||||
func_ov000_02098f04 kind:function(arm,size=0xa0) addr:0x02098f04
|
||||
func_ov000_02098fa4 kind:function(arm,size=0x80) addr:0x02098fa4
|
||||
func_ov000_02099024 kind:function(arm,size=0x48) addr:0x02099024
|
||||
_ZN17AdventureFlags_4419func_ov000_02098fa4Ei kind:function(arm,size=0x80) addr:0x02098fa4
|
||||
_ZN17AdventureFlags_4419func_ov000_02099024Ev kind:function(arm,size=0x48) addr:0x02099024
|
||||
func_ov000_0209906c kind:function(arm,size=0x4) addr:0x0209906c
|
||||
func_ov000_02099070 kind:function(arm,size=0xc) addr:0x02099070
|
||||
func_ov000_0209907c kind:function(arm,size=0x28) addr:0x0209907c
|
||||
func_ov000_020990a4 kind:function(arm,size=0x148) addr:0x020990a4
|
||||
_ZN17AdventureFlags_4419func_ov000_0209907cEv kind:function(arm,size=0x28) addr:0x0209907c
|
||||
_ZN17AdventureFlags_4419func_ov000_020990a4EP10astruct_23 kind:function(arm,size=0x148) addr:0x020990a4
|
||||
func_ov000_020991ec kind:function(arm,size=0x2ec) addr:0x020991ec
|
||||
func_ov000_020994d8 kind:function(arm,size=0x14) addr:0x020994d8
|
||||
func_ov000_020994ec kind:function(arm,size=0x48) addr:0x020994ec
|
||||
|
||||
@@ -3113,33 +3113,33 @@ from:0x02097ba0 kind:arm_call to:0x02099044 module:overlay(0)
|
||||
from:0x02097bb4 kind:load to:0x0209901c module:overlay(0)
|
||||
from:0x02097bc4 kind:arm_call to:0x02097c98 module:overlay(0)
|
||||
from:0x02097bd0 kind:arm_call to:0x02097700 module:overlay(0)
|
||||
from:0x02097bec kind:load to:0x020e30f5 module:overlay(0)
|
||||
from:0x02097c04 kind:load to:0x020e30f4 module:overlay(0)
|
||||
from:0x02097c1c kind:load to:0x020e30f6 module:overlay(0)
|
||||
from:0x02097c34 kind:load to:0x020e30ee module:overlay(0)
|
||||
from:0x02097c4c kind:load to:0x020e30ec module:overlay(0)
|
||||
from:0x02097c64 kind:load to:0x020e30e4 module:overlay(0)
|
||||
from:0x02097c7c kind:load to:0x020e30e0 module:overlay(0)
|
||||
from:0x02097c94 kind:load to:0x020e30f0 module:overlay(0)
|
||||
from:0x02097cac kind:load to:0x020e30dc module:overlay(0)
|
||||
from:0x02097bec kind:load to:0x020e30ac add:0x49 module:overlay(0)
|
||||
from:0x02097c04 kind:load to:0x020e30ac add:0x48 module:overlay(0)
|
||||
from:0x02097c1c kind:load to:0x020e30ac add:0x4a module:overlay(0)
|
||||
from:0x02097c34 kind:load to:0x020e30ac add:0x42 module:overlay(0)
|
||||
from:0x02097c4c kind:load to:0x020e30ac add:0x40 module:overlay(0)
|
||||
from:0x02097c64 kind:load to:0x020e30ac add:0x38 module:overlay(0)
|
||||
from:0x02097c7c kind:load to:0x020e30ac add:0x34 module:overlay(0)
|
||||
from:0x02097c94 kind:load to:0x020e30ac add:0x44 module:overlay(0)
|
||||
from:0x02097cac kind:load to:0x020e30ac add:0x30 module:overlay(0)
|
||||
from:0x02097d30 kind:load to:0x020e30ac module:overlay(0)
|
||||
from:0x02097d34 kind:load to:0x020e30b0 module:overlay(0)
|
||||
from:0x02097d38 kind:load to:0x020e30b4 module:overlay(0)
|
||||
from:0x02097d3c kind:load to:0x020e30b8 module:overlay(0)
|
||||
from:0x02097d40 kind:load to:0x020e30bc module:overlay(0)
|
||||
from:0x02097d44 kind:load to:0x020e30be module:overlay(0)
|
||||
from:0x02097d48 kind:load to:0x020e30bf module:overlay(0)
|
||||
from:0x02097d4c kind:load to:0x020e30c0 module:overlay(0)
|
||||
from:0x02097d50 kind:load to:0x020e30c1 module:overlay(0)
|
||||
from:0x02097dd4 kind:load to:0x020e30c4 module:overlay(0)
|
||||
from:0x02097dd8 kind:load to:0x020e30c8 module:overlay(0)
|
||||
from:0x02097ddc kind:load to:0x020e30cc module:overlay(0)
|
||||
from:0x02097de0 kind:load to:0x020e30d0 module:overlay(0)
|
||||
from:0x02097de4 kind:load to:0x020e30d4 module:overlay(0)
|
||||
from:0x02097de8 kind:load to:0x020e30d6 module:overlay(0)
|
||||
from:0x02097dec kind:load to:0x020e30d7 module:overlay(0)
|
||||
from:0x02097df0 kind:load to:0x020e30d8 module:overlay(0)
|
||||
from:0x02097df4 kind:load to:0x020e30d9 module:overlay(0)
|
||||
from:0x02097d34 kind:load to:0x020e30ac add:0x04 module:overlay(0)
|
||||
from:0x02097d38 kind:load to:0x020e30ac add:0x08 module:overlay(0)
|
||||
from:0x02097d3c kind:load to:0x020e30ac add:0x0c module:overlay(0)
|
||||
from:0x02097d40 kind:load to:0x020e30ac add:0x10 module:overlay(0)
|
||||
from:0x02097d44 kind:load to:0x020e30ac add:0x12 module:overlay(0)
|
||||
from:0x02097d48 kind:load to:0x020e30ac add:0x13 module:overlay(0)
|
||||
from:0x02097d4c kind:load to:0x020e30ac add:0x14 module:overlay(0)
|
||||
from:0x02097d50 kind:load to:0x020e30ac add:0x15 module:overlay(0)
|
||||
from:0x02097dd4 kind:load to:0x020e30ac add:0x18 module:overlay(0)
|
||||
from:0x02097dd8 kind:load to:0x020e30ac add:0x1c module:overlay(0)
|
||||
from:0x02097ddc kind:load to:0x020e30ac add:0x20 module:overlay(0)
|
||||
from:0x02097de0 kind:load to:0x020e30ac add:0x24 module:overlay(0)
|
||||
from:0x02097de4 kind:load to:0x020e30ac add:0x28 module:overlay(0)
|
||||
from:0x02097de8 kind:load to:0x020e30ac add:0x2a module:overlay(0)
|
||||
from:0x02097dec kind:load to:0x020e30ac add:0x2b module:overlay(0)
|
||||
from:0x02097df0 kind:load to:0x020e30ac add:0x2c module:overlay(0)
|
||||
from:0x02097df4 kind:load to:0x020e30ac add:0x2d module:overlay(0)
|
||||
from:0x02097e08 kind:load to:0x020e30ac module:overlay(0)
|
||||
from:0x02097e18 kind:load to:0x020980b4 module:overlay(0)
|
||||
from:0x02097e24 kind:arm_call to:0x02097e0c module:overlay(0)
|
||||
|
||||
@@ -201,8 +201,8 @@ func_ov000_0207b1fc kind:function(thumb,size=0x7c) addr:0x0207b19c
|
||||
func_ov000_0207b278 kind:function(thumb,size=0x10) addr:0x0207b218
|
||||
_ZN15Struct_027e0db019func_ov000_0207b288Ei kind:function(thumb,size=0x3c) addr:0x0207b228
|
||||
func_ov000_0207b2c4 kind:function(thumb,size=0x2c) addr:0x0207b264
|
||||
func_ov000_0207b2f0 kind:function(thumb,size=0x44) addr:0x0207b290
|
||||
func_ov000_0207b334 kind:function(thumb,size=0x44) addr:0x0207b2d4
|
||||
_ZN15Struct_027e0db019func_ov000_0207b2f0Eib kind:function(thumb,size=0x44) addr:0x0207b290
|
||||
_ZN15Struct_027e0db019func_ov000_0207b334Ei kind:function(thumb,size=0x44) addr:0x0207b2d4
|
||||
_ZN15Struct_027e0db019func_ov000_0207b378Ei kind:function(arm,size=0xc4) addr:0x0207b318
|
||||
_ZN15Struct_027e0db019func_ov000_0207b43cEv kind:function(arm,size=0xf4) addr:0x0207b3dc
|
||||
func_ov000_0207b530 kind:function(thumb,size=0x2c) addr:0x0207b4d0
|
||||
@@ -1275,7 +1275,7 @@ _ZN7MapData8GetFlag3Ej kind:function(arm,size=0x20) addr:0x0209753c
|
||||
_ZN7MapData8SetFlag4Ejb kind:function(arm,size=0x4c) addr:0x0209755c
|
||||
_ZN7MapData8GetFlag4Ej kind:function(arm,size=0x20) addr:0x020975a8
|
||||
_ZN14AdventureFlags6ExistsEv kind:function(arm,size=0x1c) addr:0x020975c8
|
||||
_ZN14AdventureFlags6CopyToEPi kind:function(arm,size=0x30) addr:0x020975e4
|
||||
_ZN14AdventureFlags6CopyToEP9FlagsData kind:function(arm,size=0x30) addr:0x020975e4
|
||||
_ZN14AdventureFlags18func_ov00_02097674Ev kind:function(arm,size=0x10) addr:0x02097614
|
||||
_ZN14AdventureFlags18func_ov00_02097684Ev kind:function(arm,size=0x10) addr:0x02097624
|
||||
_ZN14AdventureFlags4LoadEv kind:function(arm,size=0x34) addr:0x02097634
|
||||
@@ -1285,14 +1285,14 @@ _ZN14AdventureFlags18func_ov00_02097738Ev kind:function(arm,size=0x18) addr:0x02
|
||||
_ZN14AdventureFlags18func_ov00_02097750Ev kind:function(arm,size=0x10) addr:0x020976f0
|
||||
_ZN14AdventureFlags3GetEj kind:function(arm,size=0x3c) addr:0x02097700
|
||||
_ZN14AdventureFlags3SetEjb kind:function(arm,size=0x74) addr:0x0209773c
|
||||
_ZN14AdventureFlags18func_Ov00_02097810Ei kind:function(arm,size=0x158) addr:0x020977b0
|
||||
_ZN14AdventureFlags18func_ov00_02097810Ei kind:function(arm,size=0x158) addr:0x020977b0
|
||||
_ZN14AdventureFlags18func_ov00_02097968Ei kind:function(arm,size=0xdc) addr:0x02097908
|
||||
_ZN14AdventureFlags18func_ov00_02097a44Eii kind:function(arm,size=0x158) addr:0x020979e4
|
||||
_ZN14AdventureFlags18func_ov00_02097b9cEi kind:function(arm,size=0x10) addr:0x02097b3c
|
||||
_ZN14AdventureFlags18func_ov00_02097bacEv kind:function(arm,size=0x10) addr:0x02097b4c
|
||||
_ZN14AdventureFlags18func_ov00_02097bbcEv kind:function(arm,size=0x10) addr:0x02097b5c
|
||||
_ZN14AdventureFlags18func_ov00_02097bccEv kind:function(arm,size=0x10) addr:0x02097b6c
|
||||
_ZN14AdventureFlags18func_ov00_02097bccEi kind:function(arm,size=0x2c) addr:0x02097b7c
|
||||
_ZN14AdventureFlags18func_ov00_02097bccEi kind:function(arm,size=0x10) addr:0x02097b6c
|
||||
_ZN14AdventureFlags18func_ov00_02097bccEP10astruct_23 kind:function(arm,size=0x2c) addr:0x02097b7c
|
||||
_ZN14AdventureFlags18func_ov00_02097c08Ev kind:function(arm,size=0x10) addr:0x02097ba8
|
||||
_ZN14AdventureFlags20Get_FlagsUnk_30_FlagEi kind:function(arm,size=0x20) addr:0x02097bb8
|
||||
_ZN14AdventureFlags15Get_FlagsUnk_49Ei kind:function(arm,size=0x18) addr:0x02097bd8
|
||||
@@ -1323,9 +1323,9 @@ _ZN14AdventureFlags18func_ov00_020980acEv kind:function(arm,size=0x10) addr:0x02
|
||||
_ZN14AdventureFlags18func_ov00_020980bcEi kind:function(arm,size=0x14) addr:0x0209805c
|
||||
_ZN8FlagsUnkD1Ev kind:function(arm,size=0x24) addr:0x02098070
|
||||
_ZN9FlagsUnk2D1Ev kind:function(arm,size=0x4) addr:0x02098094
|
||||
_Z19func_ov000_020980f8P15CutsceneHandler kind:function(arm,size=0x4) addr:0x02098098
|
||||
_Z19func_ov000_020980fcP15CutsceneHandler kind:function(arm,size=0x18) addr:0x0209809c
|
||||
_Z19func_ov000_02098114P15CutsceneHandler kind:function(arm,size=0x3c) addr:0x020980b4
|
||||
_ZN15CutsceneHandler19func_ov000_020980f8Ev kind:function(arm,size=0x4) addr:0x02098098
|
||||
_ZN15CutsceneHandler19func_ov000_020980fcEiiPPv kind:function(arm,size=0x18) addr:0x0209809c
|
||||
_ZN15CutsceneHandler19func_ov000_02098114Ev kind:function(arm,size=0x3c) addr:0x020980b4
|
||||
_ZN15CutsceneHandler12SkipCutsceneEi kind:function(arm,size=0x68) addr:0x020980f0
|
||||
_ZN15CutsceneHandler19func_ov000_020981b8EPi kind:function(arm,size=0x408) addr:0x02098158
|
||||
_ZN15CutsceneHandler19func_ov000_020985c0Ev kind:function(arm,size=0x4) addr:0x02098560
|
||||
@@ -1346,17 +1346,17 @@ func_ov000_02098b60 kind:function(arm,size=0x18) addr:0x02098b00
|
||||
func_ov000_02098b78 kind:function(arm,size=0x18) addr:0x02098b18
|
||||
func_ov000_02098b90 kind:function(arm,size=0x70) addr:0x02098b30
|
||||
func_ov000_02098c00 kind:function(arm,size=0x48) addr:0x02098ba0
|
||||
func_ov000_02098c48 kind:function(arm,size=0x20) addr:0x02098be8
|
||||
func_ov000_02098c68 kind:function(arm,size=0xb8) addr:0x02098c08
|
||||
func_ov000_02098d20 kind:function(arm,size=0x14) addr:0x02098cc0
|
||||
_ZN17AdventureFlags_4419func_ov000_02098c48Ei kind:function(arm,size=0x20) addr:0x02098be8
|
||||
_ZN17AdventureFlags_4419func_ov000_02098c68Ev kind:function(arm,size=0xb8) addr:0x02098c08
|
||||
_ZN17AdventureFlags_4419func_ov000_02098d20Ev kind:function(arm,size=0x14) addr:0x02098cc0
|
||||
func_ov000_02098d34 kind:function(arm,size=0x1d0) addr:0x02098cd4
|
||||
func_ov000_02098f04 kind:function(arm,size=0xa0) addr:0x02098ea4
|
||||
func_ov000_02098fa4 kind:function(arm,size=0x80) addr:0x02098f44
|
||||
func_ov000_02099024 kind:function(arm,size=0x48) addr:0x02098fc4
|
||||
_ZN17AdventureFlags_4419func_ov000_02098fa4Ei kind:function(arm,size=0x80) addr:0x02098f44
|
||||
_ZN17AdventureFlags_4419func_ov000_02099024Ev kind:function(arm,size=0x48) addr:0x02098fc4
|
||||
func_ov000_0209906c kind:function(arm,size=0x4) addr:0x0209900c
|
||||
func_ov000_02099070 kind:function(arm,size=0xc) addr:0x02099010
|
||||
func_ov000_0209907c kind:function(arm,size=0x28) addr:0x0209901c
|
||||
func_ov000_020990a4 kind:function(arm,size=0x148) addr:0x02099044
|
||||
_ZN17AdventureFlags_4419func_ov000_0209907cEv kind:function(arm,size=0x28) addr:0x0209901c
|
||||
_ZN17AdventureFlags_4419func_ov000_020990a4EP10astruct_23 kind:function(arm,size=0x148) addr:0x02099044
|
||||
func_ov000_020991ec kind:function(arm,size=0x2ec) addr:0x0209918c
|
||||
func_ov000_020994d8 kind:function(arm,size=0x14) addr:0x02099478
|
||||
func_ov000_020994ec kind:function(arm,size=0x48) addr:0x0209948c
|
||||
|
||||
@@ -43,6 +43,12 @@ public:
|
||||
/* 88 */ s32 mUnk_88;
|
||||
/* 8c */
|
||||
|
||||
void SetFlags(s32 value) {
|
||||
mFlags1 &= value;
|
||||
mFlags2 &= value;
|
||||
}
|
||||
|
||||
void func_ov000_020980f8();
|
||||
s32 func_ov000_020980fc(unk32 param1, unk32 param2, void **param3);
|
||||
bool func_ov000_02098114();
|
||||
bool SkipCutscene(s32 param1);
|
||||
|
||||
+70
-69
@@ -1,5 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
#include "flags.h"
|
||||
#include "types.h"
|
||||
|
||||
#define MAX_POTIONS 2
|
||||
@@ -7,86 +8,86 @@
|
||||
typedef s32 ItemFlag;
|
||||
enum ItemFlag_ {
|
||||
ItemFlag_None = -1,
|
||||
/* 0x00 */ ItemFlag_OshusSword = 0,
|
||||
/* 0x01 */ ItemFlag_WoodenShield = 1,
|
||||
/* 0x02 */ ItemFlag_Boomerang = 2,
|
||||
/* 0x03 */ ItemFlag_Shovel = 3,
|
||||
/* 0x04 */ ItemFlag_BombBag = 4,
|
||||
/* 0x05 */ ItemFlag_Bow = 5,
|
||||
/* 0x06 */ ItemFlag_GrapplingHook = 6,
|
||||
/* 0x07 */ ItemFlag_BombchuBag = 7,
|
||||
/* 0x08 */ ItemFlag_Hammer = 8,
|
||||
/* 0x09 */ ItemFlag_PotionA = 9,
|
||||
/* 0x0a */ ItemFlag_PotionB = 10,
|
||||
/* 0x00 */ ItemFlag_OshusSword = FLAG(0, 0),
|
||||
/* 0x01 */ ItemFlag_WoodenShield = FLAG(0, 1),
|
||||
/* 0x02 */ ItemFlag_Boomerang = FLAG(0, 2),
|
||||
/* 0x03 */ ItemFlag_Shovel = FLAG(0, 3),
|
||||
/* 0x04 */ ItemFlag_BombBag = FLAG(0, 4),
|
||||
/* 0x05 */ ItemFlag_Bow = FLAG(0, 5),
|
||||
/* 0x06 */ ItemFlag_GrapplingHook = FLAG(0, 6),
|
||||
/* 0x07 */ ItemFlag_BombchuBag = FLAG(0, 7),
|
||||
/* 0x08 */ ItemFlag_Hammer = FLAG(0, 8),
|
||||
/* 0x09 */ ItemFlag_PotionA = FLAG(0, 9),
|
||||
/* 0x0a */ ItemFlag_PotionB = FLAG(0, 10),
|
||||
ItemFlag_EQUIP_START = ItemFlag_OshusSword,
|
||||
ItemFlag_EQUIP_END = ItemFlag_PotionB + 1,
|
||||
ItemFlag_EQUIP_COUNT = ItemFlag_EQUIP_END - ItemFlag_EQUIP_START,
|
||||
|
||||
/* 0x14 */ ItemFlag_SpiritOfCourage = 20,
|
||||
/* 0x15 */ ItemFlag_SpiritOfPower = 21,
|
||||
/* 0x16 */ ItemFlag_SpiritOfWisdom = 22,
|
||||
/* 0x17 */ ItemFlag_CourageLv1 = 23,
|
||||
/* 0x18 */ ItemFlag_PowerLv1 = 24,
|
||||
/* 0x19 */ ItemFlag_WisdomLv1 = 25,
|
||||
/* 0x14 */ ItemFlag_SpiritOfCourage = FLAG(0, 20),
|
||||
/* 0x15 */ ItemFlag_SpiritOfPower = FLAG(0, 21),
|
||||
/* 0x16 */ ItemFlag_SpiritOfWisdom = FLAG(0, 22),
|
||||
/* 0x17 */ ItemFlag_CourageLv1 = FLAG(0, 23),
|
||||
/* 0x18 */ ItemFlag_PowerLv1 = FLAG(0, 24),
|
||||
/* 0x19 */ ItemFlag_WisdomLv1 = FLAG(0, 25),
|
||||
ItemFlag_FAIRY_LV1 = ItemFlag_CourageLv1,
|
||||
/* 0x1a */ ItemFlag_CourageLv2 = 26,
|
||||
/* 0x1b */ ItemFlag_PowerLv2 = 27,
|
||||
/* 0x1c */ ItemFlag_WisdomLv2 = 28,
|
||||
/* 0x1a */ ItemFlag_CourageLv2 = FLAG(0, 26),
|
||||
/* 0x1b */ ItemFlag_PowerLv2 = FLAG(0, 27),
|
||||
/* 0x1c */ ItemFlag_WisdomLv2 = FLAG(0, 28),
|
||||
ItemFlag_FAIRY_LV2 = ItemFlag_CourageLv2,
|
||||
|
||||
/* 0x20 */ ItemFlag_Hourglass = 32,
|
||||
/* 0x21 */ ItemFlag_SeaChartSW = 33,
|
||||
/* 0x22 */ ItemFlag_SeaChartNW = 34,
|
||||
/* 0x23 */ ItemFlag_SeaChartSE = 35,
|
||||
/* 0x24 */ ItemFlag_SeaChartNE = 36,
|
||||
/* 0x25 */ ItemFlag_PhantomSword = 37,
|
||||
/* 0x26 */ ItemFlag_SunKey = 38,
|
||||
/* 0x27 */ ItemFlag_Unk_39 = 39,
|
||||
/* 0x28 */ ItemFlag_FishingRod = 40,
|
||||
/* 0x29 */ ItemFlag_Cannon = 41,
|
||||
/* 0x2a */ ItemFlag_KingsKey = 42,
|
||||
/* 0x2b */ ItemFlag_GhostKey = 43,
|
||||
/* 0x2c */ ItemFlag_SalvageArm = 44,
|
||||
/* 0x20 */ ItemFlag_Hourglass = FLAG(1, 0),
|
||||
/* 0x21 */ ItemFlag_SeaChartSW = FLAG(1, 1),
|
||||
/* 0x22 */ ItemFlag_SeaChartNW = FLAG(1, 2),
|
||||
/* 0x23 */ ItemFlag_SeaChartSE = FLAG(1, 3),
|
||||
/* 0x24 */ ItemFlag_SeaChartNE = FLAG(1, 4),
|
||||
/* 0x25 */ ItemFlag_PhantomSword = FLAG(1, 5),
|
||||
/* 0x26 */ ItemFlag_SunKey = FLAG(1, 6),
|
||||
/* 0x27 */ ItemFlag_Unk_39 = FLAG(1, 7),
|
||||
/* 0x28 */ ItemFlag_FishingRod = FLAG(1, 8),
|
||||
/* 0x29 */ ItemFlag_Cannon = FLAG(1, 9),
|
||||
/* 0x2a */ ItemFlag_KingsKey = FLAG(1, 10),
|
||||
/* 0x2b */ ItemFlag_GhostKey = FLAG(1, 11),
|
||||
/* 0x2c */ ItemFlag_SalvageArm = FLAG(1, 12),
|
||||
|
||||
/* 0x2d */ ItemFlag_SwordsmansScroll = 45,
|
||||
/* 0x2e */ ItemFlag_CycloneSlate = 46,
|
||||
/* 0x2f */ ItemFlag_BigCatchLure = 47,
|
||||
/* 0x2d */ ItemFlag_SwordsmansScroll = FLAG(1, 13),
|
||||
/* 0x2e */ ItemFlag_CycloneSlate = FLAG(1, 14),
|
||||
/* 0x2f */ ItemFlag_BigCatchLure = FLAG(1, 15),
|
||||
|
||||
/* 0x60 */ ItemFlag_TreasureChart1 = 96,
|
||||
/* 0x61 */ ItemFlag_TreasureChart2 = 97,
|
||||
/* 0x62 */ ItemFlag_TreasureChart3 = 98,
|
||||
/* 0x63 */ ItemFlag_TreasureChart4 = 99,
|
||||
/* 0x64 */ ItemFlag_TreasureChart5 = 100,
|
||||
/* 0x65 */ ItemFlag_TreasureChart6 = 101,
|
||||
/* 0x66 */ ItemFlag_TreasureChart7 = 102,
|
||||
/* 0x67 */ ItemFlag_TreasureChart8 = 103,
|
||||
/* 0x68 */ ItemFlag_TreasureChart9 = 104,
|
||||
/* 0x69 */ ItemFlag_TreasureChart10 = 105,
|
||||
/* 0x6a */ ItemFlag_TreasureChart11 = 106,
|
||||
/* 0x6b */ ItemFlag_TreasureChart12 = 107,
|
||||
/* 0x6c */ ItemFlag_TreasureChart13 = 108,
|
||||
/* 0x6d */ ItemFlag_TreasureChart14 = 109,
|
||||
/* 0x6e */ ItemFlag_TreasureChart15 = 110,
|
||||
/* 0x6f */ ItemFlag_TreasureChart16 = 111,
|
||||
/* 0x70 */ ItemFlag_TreasureChart17 = 112,
|
||||
/* 0x71 */ ItemFlag_TreasureChart18 = 113,
|
||||
/* 0x72 */ ItemFlag_TreasureChart19 = 114,
|
||||
/* 0x73 */ ItemFlag_TreasureChart20 = 115,
|
||||
/* 0x74 */ ItemFlag_TreasureChart21 = 116,
|
||||
/* 0x75 */ ItemFlag_TreasureChart22 = 117,
|
||||
/* 0x76 */ ItemFlag_TreasureChart23 = 118,
|
||||
/* 0x77 */ ItemFlag_TreasureChart24 = 119,
|
||||
/* 0x78 */ ItemFlag_TreasureChart25 = 120,
|
||||
/* 0x79 */ ItemFlag_TreasureChart26 = 121,
|
||||
/* 0x7a */ ItemFlag_TreasureChart27 = 122,
|
||||
/* 0x7b */ ItemFlag_TreasureChart28 = 123,
|
||||
/* 0x7c */ ItemFlag_TreasureChart29 = 124,
|
||||
/* 0x7d */ ItemFlag_TreasureChart30 = 125,
|
||||
/* 0x7e */ ItemFlag_TreasureChart31 = 126,
|
||||
/* 0x7f */ ItemFlag_TreasureChart32 = 127,
|
||||
/* 0x60 */ ItemFlag_TreasureChart1 = FLAG(3, 0),
|
||||
/* 0x61 */ ItemFlag_TreasureChart2 = FLAG(3, 1),
|
||||
/* 0x62 */ ItemFlag_TreasureChart3 = FLAG(3, 2),
|
||||
/* 0x63 */ ItemFlag_TreasureChart4 = FLAG(3, 3),
|
||||
/* 0x64 */ ItemFlag_TreasureChart5 = FLAG(3, 4),
|
||||
/* 0x65 */ ItemFlag_TreasureChart6 = FLAG(3, 5),
|
||||
/* 0x66 */ ItemFlag_TreasureChart7 = FLAG(3, 6),
|
||||
/* 0x67 */ ItemFlag_TreasureChart8 = FLAG(3, 7),
|
||||
/* 0x68 */ ItemFlag_TreasureChart9 = FLAG(3, 8),
|
||||
/* 0x69 */ ItemFlag_TreasureChart10 = FLAG(3, 9),
|
||||
/* 0x6a */ ItemFlag_TreasureChart11 = FLAG(3, 10),
|
||||
/* 0x6b */ ItemFlag_TreasureChart12 = FLAG(3, 11),
|
||||
/* 0x6c */ ItemFlag_TreasureChart13 = FLAG(3, 12),
|
||||
/* 0x6d */ ItemFlag_TreasureChart14 = FLAG(3, 13),
|
||||
/* 0x6e */ ItemFlag_TreasureChart15 = FLAG(3, 14),
|
||||
/* 0x6f */ ItemFlag_TreasureChart16 = FLAG(3, 15),
|
||||
/* 0x70 */ ItemFlag_TreasureChart17 = FLAG(3, 16),
|
||||
/* 0x71 */ ItemFlag_TreasureChart18 = FLAG(3, 17),
|
||||
/* 0x72 */ ItemFlag_TreasureChart19 = FLAG(3, 18),
|
||||
/* 0x73 */ ItemFlag_TreasureChart20 = FLAG(3, 19),
|
||||
/* 0x74 */ ItemFlag_TreasureChart21 = FLAG(3, 20),
|
||||
/* 0x75 */ ItemFlag_TreasureChart22 = FLAG(3, 21),
|
||||
/* 0x76 */ ItemFlag_TreasureChart23 = FLAG(3, 22),
|
||||
/* 0x77 */ ItemFlag_TreasureChart24 = FLAG(3, 23),
|
||||
/* 0x78 */ ItemFlag_TreasureChart25 = FLAG(3, 24),
|
||||
/* 0x79 */ ItemFlag_TreasureChart26 = FLAG(3, 25),
|
||||
/* 0x7a */ ItemFlag_TreasureChart27 = FLAG(3, 26),
|
||||
/* 0x7b */ ItemFlag_TreasureChart28 = FLAG(3, 27),
|
||||
/* 0x7c */ ItemFlag_TreasureChart29 = FLAG(3, 28),
|
||||
/* 0x7d */ ItemFlag_TreasureChart30 = FLAG(3, 29),
|
||||
/* 0x7e */ ItemFlag_TreasureChart31 = FLAG(3, 30),
|
||||
/* 0x7f */ ItemFlag_TreasureChart32 = FLAG(3, 31),
|
||||
ItemFlag_TREASURE_CHART_START = ItemFlag_TreasureChart1,
|
||||
|
||||
ItemFlag_COUNT = 128,
|
||||
ItemFlag_COUNT = FLAG(4, 0),
|
||||
};
|
||||
|
||||
typedef s32 ItemId;
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#include "Map/Course.hpp"
|
||||
#include "Map/MapBase.hpp"
|
||||
#include "Physics/AABB.hpp"
|
||||
#include "Save/AdventureFlags.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
|
||||
struct MapManager_Unk1 {
|
||||
@@ -245,6 +246,7 @@ public:
|
||||
Vec3p *param_8);
|
||||
bool func_ov00_02086a84(s32 *param_2, Vec3p *param_3, Vec3p *param_4, s32 param_5, s32 param_6, unk32 param_7,
|
||||
Vec3p *param_8, Vec3p *param_9);
|
||||
void func_ov000_02098d34(FlagsUnk2 *param1);
|
||||
|
||||
MapManager();
|
||||
~MapManager();
|
||||
|
||||
@@ -22,7 +22,7 @@ public:
|
||||
/* 0x00 */ u8 mUnk_00[2];
|
||||
/* 0x02 */ u8 mUnk_02;
|
||||
/* 0x03 */ u8 mUnk_03;
|
||||
/* 0x04 */ u8 mUnk_04; // halts actors and hides the item menu
|
||||
/* 0x04 */ bool mUnk_04; // halts actors and hides the item menu
|
||||
/* 0x05 */ u8 mUnk_05;
|
||||
/* 0x06 */ unk16 mUnk_06;
|
||||
/* 0x08 */ UnkStruct_020397f8 *mUnk_08;
|
||||
|
||||
@@ -92,6 +92,8 @@ struct Struct_027e0db0 {
|
||||
/* 0x04 */ unk32 mUnk_04;
|
||||
|
||||
void func_ov000_0207b288(GameModeId modeId);
|
||||
void func_ov000_0207b2f0(unk32 param_1, bool param_2);
|
||||
void func_ov000_0207b334(unk32 param_1);
|
||||
void func_ov000_0207b378(unk32 param_1);
|
||||
void func_ov000_0207b43c();
|
||||
};
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
#include "flags.h"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
@@ -9,52 +10,47 @@
|
||||
|
||||
typedef u32 AdventureFlag;
|
||||
enum AdventureFlag_ {
|
||||
/* 0x09 */ AdventureFlag_SWSeaChart = 9,
|
||||
/* 0x0a */ AdventureFlag_NWSeaChart = 10,
|
||||
/* 0x0b */ AdventureFlag_SESeaChart = 11,
|
||||
/* 0x0c */ AdventureFlag_NESeaChart = 12,
|
||||
/* 0x0009 */ AdventureFlag_SWSeaChart = FLAG(0, 9),
|
||||
/* 0x000A */ AdventureFlag_NWSeaChart = FLAG(0, 10),
|
||||
/* 0x000B */ AdventureFlag_SESeaChart = FLAG(0, 11),
|
||||
/* 0x000C */ AdventureFlag_NESeaChart = FLAG(0, 12),
|
||||
/* 0x0013 */ AdventureFlag_Hourglass = FLAG(0, 19),
|
||||
/* 0x0016 */ AdventureFlag_SunKey = FLAG(0, 22),
|
||||
/* 0x0017 */ AdventureFlag_Unk_23 = FLAG(0, 23),
|
||||
/* 0x001D */ AdventureFlag_Unk_29 = FLAG(0, 29),
|
||||
/* 0x001E */ AdventureFlag_Unk_30 = FLAG(0, 30),
|
||||
/* 0x001F */ AdventureFlag_Unk_31 = FLAG(0, 31),
|
||||
|
||||
/* 0x13 */ AdventureFlag_Hourglass = 19,
|
||||
/* 0x002B */ AdventureFlag_FishingRod = FLAG(1, 11),
|
||||
/* 0x0030 */ AdventureFlag_Cannon = FLAG(1, 16),
|
||||
/* 0x0033 */ AdventureFlag_RegalNecklace = FLAG(1, 19),
|
||||
|
||||
/* 0x16 */ AdventureFlag_SunKey = 22,
|
||||
/* 0x17 */ AdventureFlag_Unk_23 = 23,
|
||||
/* 0x007A */ AdventureFlag_CourageCrest = FLAG(3, 26),
|
||||
/* 0x007D */ AdventureFlag_Azurine = FLAG(3, 29),
|
||||
/* 0x007E */ AdventureFlag_Crimsonine = FLAG(3, 30),
|
||||
/* 0x007F */ AdventureFlag_Aquanine = FLAG(3, 31),
|
||||
|
||||
/* 0x2b */ AdventureFlag_FishingRod = 43,
|
||||
/* 0x0080 */ AdventureFlag_Unk_128 = FLAG(4, 0),
|
||||
/* 0x008C */ AdventureFlag_SalvageArm = FLAG(4, 12),
|
||||
|
||||
/* 0x30 */ AdventureFlag_Cannon = 48,
|
||||
/* 0x00A2 */ AdvantureFlag_HerosNewClothes = FLAG(5, 2),
|
||||
/* 0x00A3 */ AdvantureFlag_Kaleidoscope = FLAG(5, 3),
|
||||
/* 0x00A4 */ AdventureFlag_GuardNotebook = FLAG(5, 4),
|
||||
/* 0x00A7 */ AdventureFlag_WoodHeart = FLAG(5, 7),
|
||||
/* 0x00B6 */ AdventureFlag_SpawnFinalPhantoms = FLAG(5, 22),
|
||||
|
||||
/* 0x33 */ AdventureFlag_RegalNecklace = 51,
|
||||
/* 0x0126 */ AdventureFlag_ReceivedGoldenChimney = FLAG(9, 6),
|
||||
/* 0x0127 */ AdventureFlag_ReceivedGoldenHandrail = FLAG(9, 7),
|
||||
/* 0x0128 */ AdventureFlag_ReceivedGoldenCannon = FLAG(9, 8),
|
||||
/* 0x0129 */ AdventureFlag_ReceivedGoldenHull = FLAG(9, 9),
|
||||
/* 0x0137 */ AdventureFlag_FrogGlyph_MercayIsland = FLAG(9, 23),
|
||||
/* 0x0138 */ AdventureFlag_FrogGlyph_MolidaIsland = FLAG(9, 24),
|
||||
/* 0x0139 */ AdventureFlag_FrogGlyph_BannanIsland = FLAG(9, 25),
|
||||
/* 0x013A */ AdventureFlag_FrogGlyph_DeeEssIsland = FLAG(9, 26),
|
||||
/* 0x013B */ AdventureFlag_FrogGlyph_IsleOfFrost = FLAG(9, 27),
|
||||
/* 0x013C */ AdventureFlag_FrogGlyph_NorthEast = FLAG(9, 28),
|
||||
|
||||
/* 0x7a */ AdventureFlag_CourageCrest = 122,
|
||||
|
||||
/* 0x7d */ AdventureFlag_Azurine = 125,
|
||||
/* 0x7e */ AdventureFlag_Crimsonine = 126,
|
||||
/* 0x7f */ AdventureFlag_Aquanine = 127,
|
||||
/* 0x80 */ AdventureFlag_Unk_128 = 128,
|
||||
|
||||
/* 0x8c */ AdventureFlag_SalvageArm = 140,
|
||||
|
||||
/* 0xa2 */ AdvantureFlag_HerosNewClothes = 162,
|
||||
/* 0xa3 */ AdvantureFlag_Kaleidoscope = 163,
|
||||
/* 0xa4 */ AdventureFlag_GuardNotebook = 164,
|
||||
|
||||
/* 0xa7 */ AdventureFlag_WoodHeart = 167,
|
||||
|
||||
/* 0xb6 */ AdventureFlag_SpawnFinalPhantoms = 182,
|
||||
|
||||
/* 0x126 */ AdventureFlag_ReceivedGoldenChimney = 294,
|
||||
/* 0x127 */ AdventureFlag_ReceivedGoldenHandrail = 295,
|
||||
/* 0x128 */ AdventureFlag_ReceivedGoldenCannon = 296,
|
||||
/* 0x129 */ AdventureFlag_ReceivedGoldenHull = 297,
|
||||
|
||||
/* 0x137 */ AdventureFlag_FrogGlyph_MercayIsland = 311,
|
||||
/* 0x138 */ AdventureFlag_FrogGlyph_MolidaIsland = 312,
|
||||
/* 0x139 */ AdventureFlag_FrogGlyph_BannanIsland = 313,
|
||||
/* 0x13a */ AdventureFlag_FrogGlyph_DeeEssIsland = 314,
|
||||
/* 0x13b */ AdventureFlag_FrogGlyph_IsleOfFrost = 315,
|
||||
/* 0x13c */ AdventureFlag_FrogGlyph_NorthEast = 316,
|
||||
|
||||
/* 0x187 */ AdventureFlag_COUNT = 391,
|
||||
/* 0x0187 */ AdventureFlag_COUNT = FLAG(12, 7),
|
||||
};
|
||||
|
||||
struct UnkStruct_027e0d38_UnkC {
|
||||
@@ -96,46 +92,92 @@ struct FlagsUnk {
|
||||
/* 38 */ unk32 mUnk_38;
|
||||
/* 3c */ unk16 mUnk_3c;
|
||||
/* 3e */ unk16 mUnk_3e;
|
||||
/* 40 */ unk16 mUnk_40;
|
||||
/* 42 */ unk16 mUnk_42;
|
||||
/* 40 */ u16 mUnk_40;
|
||||
/* 42 */ u16 mUnk_42;
|
||||
/* 44 */ unk32 mUnk_44;
|
||||
/* 48 */ unk8 mUnk_48;
|
||||
/* 49 */ unk8 mUnk_49;
|
||||
/* 4a */ unk8 mUnk_4a;
|
||||
/* 48 */ u8 mUnk_48;
|
||||
/* 49 */ u8 mUnk_49;
|
||||
/* 4a */ u8 mUnk_4a;
|
||||
/* 4b */ unk8 mUnk_4b;
|
||||
/* 4c */
|
||||
|
||||
~FlagsUnk();
|
||||
};
|
||||
|
||||
void func_ov000_020980f8();
|
||||
struct FlagsData {
|
||||
/* 00 */ u32 data[16];
|
||||
/* 40 */
|
||||
};
|
||||
|
||||
struct astruct_23 {
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0c */ unk32 mUnk_0c;
|
||||
/* 10 */ unk32 mUnk_10;
|
||||
/* 14 */ unk8 mUnk_14;
|
||||
/* 15 */ unk8 mUnk_15;
|
||||
/* 16 */ bool mUnk_16;
|
||||
/* 17 */ unk8 mUnk_17;
|
||||
/* 18 */ unk8 mUnk_18;
|
||||
/* 19 */ unk8 mUnk_19;
|
||||
/* 1a */ unk16 mUnk_1a;
|
||||
/* 1c */ unk16 mUnk_1c;
|
||||
/* 1e */ unk8 mUnk_1e;
|
||||
/* 1f */ unk8 mUnk_1f;
|
||||
/* 20 */ unk8 mUnk_20[0x94 - 0x20];
|
||||
/* 94 */ unk32 mUnk_94;
|
||||
/* 98 */ unk16 mUnk_98;
|
||||
/* 9a */ unk16 mUnk_9a;
|
||||
/* 9c */ unk16 mUnk_9c;
|
||||
/* 9e */ unk8 mUnk_9e;
|
||||
/* 9f */ unk8 mUnk_9f;
|
||||
/* a0 */ unk32 mUnk_a0;
|
||||
/* a4 */ unk32 mUnk_a4;
|
||||
/* a8 */ unk32 mUnk_a8;
|
||||
/* ac */ unk32 mUnk_ac;
|
||||
/* b0 */
|
||||
|
||||
astruct_23();
|
||||
~astruct_23();
|
||||
};
|
||||
|
||||
struct AdventureFlags_44 {
|
||||
void func_ov000_02099024();
|
||||
bool func_ov000_02098c48(s32 param1);
|
||||
bool func_ov000_02098c68();
|
||||
bool func_ov000_02098d20();
|
||||
bool func_ov000_02098fa4(s32 param1);
|
||||
bool func_ov000_020990a4(astruct_23 *param1);
|
||||
s32 func_ov000_0209907c();
|
||||
};
|
||||
|
||||
class AdventureFlags : public SysObject {
|
||||
public:
|
||||
/* 00 */ unk32 mFlags[16];
|
||||
/* 00 */ FlagsData mFlags;
|
||||
/* 40 */ CutsceneHandler *mCutsceneHandler;
|
||||
/* 44 */ void *mUnk_44;
|
||||
/* 44 */ AdventureFlags_44 *mUnk_44;
|
||||
/* 48 */
|
||||
|
||||
static bool Exists();
|
||||
void CopyTo(unk32 *flags);
|
||||
void CopyTo(FlagsData *flags);
|
||||
void func_ov00_02097674();
|
||||
s32 func_ov00_02097684();
|
||||
s32 func_ov00_02097684(unk32 param1, unk32 param2, void **param3);
|
||||
void Load();
|
||||
void func_ov00_020976c8();
|
||||
void func_ov00_02097700();
|
||||
bool func_ov00_02097738();
|
||||
unk8 func_ov00_02097750();
|
||||
bool func_ov00_02097750();
|
||||
bool Get(AdventureFlag flag);
|
||||
void Set(AdventureFlag flag, bool value);
|
||||
void func_Ov00_02097810(s32 param1);
|
||||
void func_ov00_02097810(s32 param1, astruct_23 *param2);
|
||||
unk32 func_ov00_02097968(unk32 param1);
|
||||
unk32 func_ov00_02097a44(unk32 param1, s32 param2);
|
||||
bool func_ov00_02097b9c(s32 param1);
|
||||
bool func_ov00_02097bac();
|
||||
bool func_ov00_02097bbc();
|
||||
bool func_ov00_02097bcc();
|
||||
bool func_ov00_02097bcc(s32 param2);
|
||||
bool func_ov00_02097bcc(s32 param1);
|
||||
bool func_ov00_02097bcc(astruct_23 *param1);
|
||||
s32 func_ov00_02097c08();
|
||||
bool Get_FlagsUnk_30_Flag(s32 index);
|
||||
u8 Get_FlagsUnk_49(s32 index);
|
||||
@@ -173,7 +215,7 @@ public:
|
||||
void func_ov004_0210453c();
|
||||
bool func_ov004_0210455c(s32 param1);
|
||||
void func_ov004_021046c8(unk32 param1);
|
||||
void func_ov004_021046d4();
|
||||
void func_ov004_021046d4(s32 param1);
|
||||
};
|
||||
|
||||
extern AdventureFlags *gAdventureFlags;
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
#pragma once
|
||||
|
||||
#include "types.h"
|
||||
|
||||
/**
|
||||
* Flags value format:
|
||||
* - 0x001F: 0000 0000 0001 1111 -> the shift value to read or write the flag's bit
|
||||
* - 0xFFE0: 1111 1111 1110 0000 -> index of the value in the array
|
||||
*
|
||||
* `FLAG` is a macro that allows you to get the final value from the index and the slot number.
|
||||
*/
|
||||
|
||||
#define GET_FLAG(arr, pos) (((arr)[((u32) (pos)) >> 5] & (1 << ((pos) & 0x1f))) != 0)
|
||||
#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, slot) (((index) << 5) | ((slot) & 0x1F))
|
||||
@@ -1,10 +1,6 @@
|
||||
#ifndef PH_GLOBAL_H
|
||||
#define PH_GLOBAL_H
|
||||
|
||||
#define GET_FLAG(arr, pos) (((1 << ((pos) & 0x1f)) & (arr)[((u32) (pos)) >> 5]) != 0)
|
||||
#define SET_FLAG(arr, pos) ((arr)[((u32) (pos)) >> 5] |= 1 << ((pos) & 0x1f))
|
||||
#define RESET_FLAG(arr, pos) ((arr)[((u32) (pos)) >> 5] &= ~(1 << ((pos) & 0x1f)))
|
||||
|
||||
#define ARRAY_LEN_U(arr) (u32)((sizeof(arr) / sizeof(*arr)))
|
||||
#define ARRAY_LEN(arr) (s32)(sizeof(arr) / sizeof(*arr))
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
#include "Save/AdventureFlags.hpp"
|
||||
#include "System/OverlayManager.hpp"
|
||||
#include "Unknown/UnkStruct_020eec68.hpp"
|
||||
#include "flags.h"
|
||||
|
||||
static const char *sShipPartTypes[] = {"anc", "bow", "hul", "can", "dco", "pdl", "fnl", "brg"};
|
||||
|
||||
@@ -408,7 +409,7 @@ THUMB void ItemManager::SetTreasureSalvaged(u32 index) {
|
||||
}
|
||||
|
||||
THUMB void ItemManager::RemoveItem(ItemFlag item) {
|
||||
RESET_FLAG(mItemFlags.flags, item);
|
||||
UNSET_FLAG(mItemFlags.flags, item);
|
||||
if (item >= ItemFlag_EQUIP_START && item <= ItemFlag_EQUIP_END) {
|
||||
(*mAmmo)[item] = 0;
|
||||
}
|
||||
@@ -993,7 +994,7 @@ ARM void ItemManager::func_ov00_020ae4dc(s32 param1) {
|
||||
ARM void ItemManager::SetPotion(u32 index, Potion potion) {
|
||||
mPotions[index] = potion;
|
||||
if (potion == Potion_None) {
|
||||
RESET_FLAG(mItemFlags.flags, index + ItemFlag_PotionA);
|
||||
UNSET_FLAG(mItemFlags.flags, index + ItemFlag_PotionA);
|
||||
} else {
|
||||
SET_FLAG(mItemFlags.flags, index + ItemFlag_PotionA);
|
||||
}
|
||||
|
||||
@@ -1,135 +1,326 @@
|
||||
#include "Save/AdventureFlags.hpp"
|
||||
#include "Cutscene/CutsceneHandler.hpp"
|
||||
#include "DTCM/UnkStruct_027e0c54.hpp"
|
||||
#include "Map/MapManager.hpp"
|
||||
#include "Message/MessageManager.hpp"
|
||||
#include "Message/MsgProc.hpp"
|
||||
|
||||
extern void func_ov000_020980f8(CutsceneHandler *cutsceneHandler);
|
||||
extern unk32 func_ov000_020980fc(CutsceneHandler *cutsceneHandler);
|
||||
extern bool func_ov000_02098114(CutsceneHandler *cutsceneHandler);
|
||||
extern u8 data_ov000_020e310c[];
|
||||
extern u8 data_ov000_020e313c[];
|
||||
extern u8 data_ov000_020e3140[];
|
||||
extern u8 data_ov000_020e3144[];
|
||||
extern u8 data_ov000_020e314c[];
|
||||
extern u8 data_ov000_020e314e[];
|
||||
extern u8 data_ov000_020e3150[];
|
||||
extern u8 data_ov000_020e3154[];
|
||||
extern u8 data_ov000_020e3155[];
|
||||
extern u8 data_ov000_020e3156[];
|
||||
extern unk32 data_027e0dbc;
|
||||
extern "C" void func_ov000_0207ba94(unk32 *, u32);
|
||||
extern "C" void *func_ov040_021834cc();
|
||||
extern "C" void *func_ov035_02183200();
|
||||
|
||||
bool AdventureFlags::Exists() {
|
||||
extern FlagsUnk data_ov000_020e310c[];
|
||||
extern FlagsData data_ov000_020eaac4;
|
||||
|
||||
ARM bool AdventureFlags::Exists() {
|
||||
return gAdventureFlags != NULL;
|
||||
}
|
||||
|
||||
void AdventureFlags::CopyTo(unk32 *flags) {}
|
||||
|
||||
void AdventureFlags::func_ov00_02097674() {
|
||||
func_ov000_020980f8(this->mCutsceneHandler);
|
||||
ARM void AdventureFlags::CopyTo(FlagsData *flags) {
|
||||
*flags = this->mFlags;
|
||||
}
|
||||
|
||||
s32 AdventureFlags::func_ov00_02097684() {
|
||||
return func_ov000_020980fc(this->mCutsceneHandler);
|
||||
ARM void AdventureFlags::func_ov00_02097674() {
|
||||
this->mCutsceneHandler->func_ov000_020980f8();
|
||||
}
|
||||
|
||||
void AdventureFlags::Load() {}
|
||||
void AdventureFlags::func_ov00_020976c8() {}
|
||||
void AdventureFlags::func_ov00_02097700() {}
|
||||
bool AdventureFlags::func_ov00_02097738() {}
|
||||
unk8 AdventureFlags::func_ov00_02097750() {}
|
||||
bool AdventureFlags::Get(AdventureFlag flag) {}
|
||||
void AdventureFlags::Set(AdventureFlag flag, bool value) {}
|
||||
void AdventureFlags::func_Ov00_02097810(s32 param1) {}
|
||||
unk32 AdventureFlags::func_ov00_02097968(unk32 param1) {}
|
||||
unk32 AdventureFlags::func_ov00_02097a44(unk32 param1, s32 param2) {}
|
||||
bool AdventureFlags::func_ov00_02097b9c(s32 param1) {}
|
||||
bool AdventureFlags::func_ov00_02097bac() {}
|
||||
bool AdventureFlags::func_ov00_02097bbc() {}
|
||||
bool AdventureFlags::func_ov00_02097bcc() {}
|
||||
bool AdventureFlags::func_ov00_02097bcc(s32 param2) {}
|
||||
s32 AdventureFlags::func_ov00_02097c08() {}
|
||||
|
||||
bool AdventureFlags::Get_FlagsUnk_30_Flag(s32 index) {
|
||||
unk32 unk30 = this->Get_FlagsUnk_30(index);
|
||||
|
||||
return this->Get(unk30);
|
||||
ARM s32 AdventureFlags::func_ov00_02097684(unk32 param1, unk32 param2, void **param3) {
|
||||
return this->mCutsceneHandler->func_ov000_020980fc(param1, param2, param3);
|
||||
}
|
||||
|
||||
u8 AdventureFlags::Get_FlagsUnk_49(s32 index) {
|
||||
return data_ov000_020e3155[index * 0x4C];
|
||||
ARM void AdventureFlags::Load() {
|
||||
this->mFlags = data_ov000_020eaac4;
|
||||
}
|
||||
|
||||
u8 AdventureFlags::Get_FlagsUnk_48(s32 index) {
|
||||
return data_ov000_020e3154[index * 0x4C];
|
||||
ARM void AdventureFlags::func_ov00_020976c8() {
|
||||
this->mCutsceneHandler->SetFlags(~1);
|
||||
this->mCutsceneHandler->func_ov000_02098658();
|
||||
this->mUnk_44->func_ov000_02099024();
|
||||
}
|
||||
|
||||
u8 AdventureFlags::Get_FlagsUnk_4a(s32 index) {
|
||||
return data_ov000_020e3156[index * 0x4C];
|
||||
ARM void AdventureFlags::func_ov00_02097700() {
|
||||
this->mCutsceneHandler->SetFlags(~1);
|
||||
this->mCutsceneHandler->func_ov000_02098658();
|
||||
this->mUnk_44->func_ov000_02099024();
|
||||
}
|
||||
|
||||
u16 AdventureFlags::Get_FlagsUnk_42(s32 index) {
|
||||
return *(u16 *) (data_ov000_020e314e + index * 0x4C);
|
||||
ARM bool AdventureFlags::func_ov00_02097738() {
|
||||
return this->mCutsceneHandler->mFlags1 & 1;
|
||||
}
|
||||
|
||||
u16 AdventureFlags::Get_FlagsUnk_40(s32 index) {
|
||||
return *(unk16 *) (data_ov000_020e314c + index * 0x4C);
|
||||
ARM bool AdventureFlags::func_ov00_02097750() {
|
||||
return gMessageManager.mUnk_04;
|
||||
}
|
||||
|
||||
unk32 AdventureFlags::Get_FlagsUnk_38(s32 index) {
|
||||
return *(unk32 *) (data_ov000_020e3144 + index * 0x4C);
|
||||
ARM bool AdventureFlags::Get(AdventureFlag flag) {
|
||||
if ((s32) flag >= AdventureFlag_COUNT || (s32) flag <= 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return GET_FLAG(this->mFlags.data, flag);
|
||||
}
|
||||
|
||||
unk32 AdventureFlags::Get_FlagsUnk_34(s32 index) {
|
||||
return *(unk32 *) (data_ov000_020e3140 + index * 0x4C);
|
||||
ARM void AdventureFlags::Set(AdventureFlag flag, bool value) {
|
||||
if ((s32) flag < AdventureFlag_COUNT) {
|
||||
if (value) {
|
||||
func_ov000_0207ba94(&data_027e0dbc, flag);
|
||||
}
|
||||
|
||||
if (value) {
|
||||
SET_FLAG(this->mFlags.data, flag);
|
||||
} else {
|
||||
UNSET_FLAG(this->mFlags.data, flag);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
unk32 AdventureFlags::Get_FlagsUnk_44(s32 index) {
|
||||
return *(unk32 *) (data_ov000_020e3150 + index * 0x4C);
|
||||
ARM void AdventureFlags::func_ov00_02097810(s32 param1, astruct_23 *param2) {}
|
||||
|
||||
// non-matching
|
||||
ARM unk32 AdventureFlags::func_ov00_02097968(unk32 param1) {
|
||||
if (this->Get_FlagsUnk_30_Flag(param1)) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
astruct_23 aStack_c0;
|
||||
aStack_c0.mUnk_16 = data_027e0db0.mUnk_04 > 0;
|
||||
|
||||
FlagsUnk2 FStack_d8;
|
||||
FStack_d8.mUnk_00.mUnk_00 = 0x47;
|
||||
FStack_d8.mUnk_04.mUnk_00 = 0;
|
||||
FStack_d8.mUnk_04.mUnk_04 = 0;
|
||||
FStack_d8.mUnk_04.mUnk_08 = -2;
|
||||
FStack_d8.mUnk_04.mUnk_0c = 0;
|
||||
FStack_d8.mUnk_04.mUnk_0e = -1;
|
||||
FStack_d8.mUnk_04.mUnk_0f = 0;
|
||||
FStack_d8.mUnk_04.mUnk_10 = 0;
|
||||
FStack_d8.mUnk_04.mUnk_11 = 0;
|
||||
aStack_c0.mUnk_00 = param1;
|
||||
|
||||
aStack_c0.mUnk_0c = AdventureFlags::Get_FlagsUnk_00(param1, &FStack_d8);
|
||||
gMapManager->func_ov000_02098d34(&FStack_d8);
|
||||
}
|
||||
|
||||
unk32 AdventureFlags::Get_FlagsUnk_30(s32 index) {
|
||||
return *(unk32 *) (data_ov000_020e313c + index * 0x4C);
|
||||
ARM unk32 AdventureFlags::func_ov00_02097a44(unk32 param1, s32 param2) {}
|
||||
|
||||
ARM bool AdventureFlags::func_ov00_02097b9c(s32 param1) {
|
||||
return this->mUnk_44->func_ov000_02098c48(param1);
|
||||
}
|
||||
|
||||
bool AdventureFlags::Get_FlagsUnk_00(s32 index, FlagsUnk2 *result) {}
|
||||
bool AdventureFlags::Get_FlagsUnk_18(s32 index, FlagsUnk2 *result) {}
|
||||
|
||||
FlagsUnk *AdventureFlags::Get_FlagsUnk(s32 index) {
|
||||
return (FlagsUnk *) (data_ov000_020e310c + index * 0x4C);
|
||||
ARM bool AdventureFlags::func_ov00_02097bac() {
|
||||
return this->mUnk_44->func_ov000_02098c68();
|
||||
}
|
||||
|
||||
bool AdventureFlags::func_ov00_02097e6c() {
|
||||
return func_ov000_02098114(this->mCutsceneHandler);
|
||||
ARM bool AdventureFlags::func_ov00_02097bbc() {
|
||||
return this->mUnk_44->func_ov000_02098d20();
|
||||
}
|
||||
|
||||
bool AdventureFlags::func_ov00_02097e7c() {
|
||||
bool bVar1;
|
||||
ARM bool AdventureFlags::func_ov00_02097bcc(s32 param1) {
|
||||
return this->mUnk_44->func_ov000_02098fa4(param1);
|
||||
}
|
||||
|
||||
bVar1 = this->func_ov00_02097e6c();
|
||||
if (bVar1) {
|
||||
bVar1 = this->mCutsceneHandler->SkipCutscene(0);
|
||||
return bVar1;
|
||||
ARM bool AdventureFlags::func_ov00_02097bcc(astruct_23 *param1) {
|
||||
if (this->func_ov00_02097738()) {
|
||||
return this->mUnk_44->func_ov000_020990a4(param1);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool AdventureFlags::func_ov00_02097ea4() {
|
||||
bool bVar1;
|
||||
ARM s32 AdventureFlags::func_ov00_02097c08() {
|
||||
return this->mUnk_44->func_ov000_0209907c();
|
||||
}
|
||||
|
||||
bVar1 = this->func_ov00_02097e6c();
|
||||
if (bVar1) {
|
||||
bVar1 = this->mCutsceneHandler->SkipCutscene(1);
|
||||
return bVar1;
|
||||
ARM bool AdventureFlags::Get_FlagsUnk_30_Flag(s32 index) {
|
||||
return this->Get(this->Get_FlagsUnk_30(index));
|
||||
}
|
||||
|
||||
ARM u8 AdventureFlags::Get_FlagsUnk_49(s32 index) {
|
||||
return data_ov000_020e310c[index].mUnk_49;
|
||||
}
|
||||
|
||||
ARM u8 AdventureFlags::Get_FlagsUnk_48(s32 index) {
|
||||
return data_ov000_020e310c[index].mUnk_48;
|
||||
}
|
||||
|
||||
ARM u8 AdventureFlags::Get_FlagsUnk_4a(s32 index) {
|
||||
return data_ov000_020e310c[index].mUnk_4a;
|
||||
}
|
||||
|
||||
ARM u16 AdventureFlags::Get_FlagsUnk_42(s32 index) {
|
||||
return data_ov000_020e310c[index].mUnk_42;
|
||||
}
|
||||
|
||||
ARM u16 AdventureFlags::Get_FlagsUnk_40(s32 index) {
|
||||
return data_ov000_020e310c[index].mUnk_40;
|
||||
}
|
||||
|
||||
ARM unk32 AdventureFlags::Get_FlagsUnk_38(s32 index) {
|
||||
return data_ov000_020e310c[index].mUnk_38;
|
||||
}
|
||||
|
||||
ARM unk32 AdventureFlags::Get_FlagsUnk_34(s32 index) {
|
||||
return data_ov000_020e310c[index].mUnk_34;
|
||||
}
|
||||
|
||||
ARM unk32 AdventureFlags::Get_FlagsUnk_44(s32 index) {
|
||||
return data_ov000_020e310c[index].mUnk_44;
|
||||
}
|
||||
|
||||
ARM unk32 AdventureFlags::Get_FlagsUnk_30(s32 index) {
|
||||
return data_ov000_020e310c[index].mUnk_30;
|
||||
}
|
||||
|
||||
ARM bool AdventureFlags::Get_FlagsUnk_00(s32 index, FlagsUnk2 *result) {
|
||||
result->mUnk_00 = data_ov000_020e310c[index].mUnk_00.mUnk_00;
|
||||
result->mUnk_04.mUnk_00 = data_ov000_020e310c[index].mUnk_00.mUnk_04.mUnk_00;
|
||||
result->mUnk_04.mUnk_04 = data_ov000_020e310c[index].mUnk_00.mUnk_04.mUnk_04;
|
||||
result->mUnk_04.mUnk_08 = data_ov000_020e310c[index].mUnk_00.mUnk_04.mUnk_08;
|
||||
result->mUnk_04.mUnk_0c = data_ov000_020e310c[index].mUnk_00.mUnk_04.mUnk_0c;
|
||||
result->mUnk_04.mUnk_0e = data_ov000_020e310c[index].mUnk_00.mUnk_04.mUnk_0e;
|
||||
result->mUnk_04.mUnk_0f = data_ov000_020e310c[index].mUnk_00.mUnk_04.mUnk_0f;
|
||||
result->mUnk_04.mUnk_10 = data_ov000_020e310c[index].mUnk_00.mUnk_04.mUnk_10;
|
||||
result->mUnk_04.mUnk_11 = data_ov000_020e310c[index].mUnk_00.mUnk_04.mUnk_11;
|
||||
return true;
|
||||
}
|
||||
|
||||
ARM bool AdventureFlags::Get_FlagsUnk_18(s32 index, FlagsUnk2 *result) {
|
||||
result->mUnk_00 = data_ov000_020e310c[index].mUnk_18.mUnk_00;
|
||||
result->mUnk_04.mUnk_00 = data_ov000_020e310c[index].mUnk_18.mUnk_04.mUnk_00;
|
||||
result->mUnk_04.mUnk_04 = data_ov000_020e310c[index].mUnk_18.mUnk_04.mUnk_04;
|
||||
result->mUnk_04.mUnk_08 = data_ov000_020e310c[index].mUnk_18.mUnk_04.mUnk_08;
|
||||
result->mUnk_04.mUnk_0c = data_ov000_020e310c[index].mUnk_18.mUnk_04.mUnk_0c;
|
||||
result->mUnk_04.mUnk_0e = data_ov000_020e310c[index].mUnk_18.mUnk_04.mUnk_0e;
|
||||
result->mUnk_04.mUnk_0f = data_ov000_020e310c[index].mUnk_18.mUnk_04.mUnk_0f;
|
||||
result->mUnk_04.mUnk_10 = data_ov000_020e310c[index].mUnk_18.mUnk_04.mUnk_10;
|
||||
result->mUnk_04.mUnk_11 = data_ov000_020e310c[index].mUnk_18.mUnk_04.mUnk_11;
|
||||
return true;
|
||||
}
|
||||
|
||||
ARM FlagsUnk *AdventureFlags::Get_FlagsUnk(s32 index) {
|
||||
return &data_ov000_020e310c[index];
|
||||
}
|
||||
|
||||
ARM bool AdventureFlags::func_ov00_02097e6c() {
|
||||
return this->mCutsceneHandler->func_ov000_02098114();
|
||||
}
|
||||
|
||||
ARM bool AdventureFlags::func_ov00_02097e7c() {
|
||||
if (this->func_ov00_02097e6c()) {
|
||||
return this->mCutsceneHandler->SkipCutscene(0);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
unk32 AdventureFlags::func_ov00_02097ecc() {}
|
||||
void *AdventureFlags::func_ov00_02097f8c() {}
|
||||
void *AdventureFlags::func_ov00_02097fac() {}
|
||||
void *AdventureFlags::func_ov00_02097fd0() {}
|
||||
void AdventureFlags::func_ov00_02097ff4(bool param1, bool param2) {}
|
||||
unk32 AdventureFlags::func_ov00_02098058() {}
|
||||
bool AdventureFlags::func_ov00_02098064(unk32 param1) {}
|
||||
bool AdventureFlags::func_ov00_02098074(unk32 param1, unk16 param2, unk32 param3, unk32 param4, bool param5) {}
|
||||
bool AdventureFlags::func_ov00_0209809c() {}
|
||||
bool AdventureFlags::func_ov00_020980ac() {}
|
||||
void AdventureFlags::func_ov00_020980bc(s32 param1) {}
|
||||
|
||||
ARM bool AdventureFlags::func_ov00_02097ea4() {
|
||||
if (this->func_ov00_02097e6c()) {
|
||||
return this->mCutsceneHandler->SkipCutscene(1);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
ARM unk32 AdventureFlags::func_ov00_02097ecc() {
|
||||
u32 *pFlags = (u32 *) data_ov000_020eaac4.data;
|
||||
u32 index;
|
||||
|
||||
if (GET_FLAG(pFlags, AdventureFlag_Unk_30) && !GET_FLAG(pFlags, AdventureFlag_Unk_31)) {
|
||||
index = AdventureFlags::Get_FlagsUnk_30(0x20);
|
||||
|
||||
if (!GET_FLAG(pFlags, index)) {
|
||||
return 0x20;
|
||||
}
|
||||
|
||||
return 0x21;
|
||||
}
|
||||
|
||||
if (GET_FLAG(pFlags, AdventureFlag_Unk_29) && !GET_FLAG(pFlags, AdventureFlag_Unk_30)) {
|
||||
index = AdventureFlags::Get_FlagsUnk_30(0x1F);
|
||||
|
||||
if (!GET_FLAG(pFlags, index)) {
|
||||
return 0x1F;
|
||||
}
|
||||
|
||||
return 0x21;
|
||||
}
|
||||
|
||||
if (GET_FLAG(pFlags, AdventureFlag_SWSeaChart) && !GET_FLAG(pFlags, AdventureFlag_Unk_29)) {
|
||||
index = AdventureFlags::Get_FlagsUnk_30(0x1E);
|
||||
|
||||
if (!GET_FLAG(pFlags, index)) {
|
||||
return 0x1E;
|
||||
}
|
||||
|
||||
return 0x21;
|
||||
}
|
||||
|
||||
return 0x21;
|
||||
}
|
||||
|
||||
ARM void *AdventureFlags::func_ov00_02097f8c() {
|
||||
if (this->mCutsceneHandler->mUnk_80 != NULL) {
|
||||
return func_ov040_021834cc();
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
// non-matching
|
||||
ARM void *AdventureFlags::func_ov00_02097fac() {
|
||||
void *piVar1 = this->func_ov00_02097f8c();
|
||||
|
||||
if (piVar1 != NULL) {
|
||||
return func_ov035_02183200();
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
// non-matching
|
||||
ARM void *AdventureFlags::func_ov00_02097fd0() {
|
||||
this->func_ov00_02097c08();
|
||||
this->func_ov00_02097fac();
|
||||
}
|
||||
|
||||
ARM void AdventureFlags::func_ov00_02097ff4(bool param1, bool param2) {
|
||||
if (param1) {
|
||||
data_027e0db0.func_ov000_0207b2f0(0, param2 && data_027e0c54.mUnk_0);
|
||||
} else {
|
||||
data_027e0db0.func_ov000_0207b334(0);
|
||||
}
|
||||
|
||||
u32 uVar2 = this->mCutsceneHandler->mFlags2;
|
||||
if (param1) {
|
||||
uVar2 |= 2;
|
||||
} else {
|
||||
uVar2 &= ~2;
|
||||
}
|
||||
|
||||
this->mCutsceneHandler->mFlags2 = uVar2;
|
||||
}
|
||||
|
||||
ARM unk32 AdventureFlags::func_ov00_02098058() {
|
||||
return this->mCutsceneHandler->mCutsceneTimer1;
|
||||
}
|
||||
|
||||
ARM bool AdventureFlags::func_ov00_02098064(unk32 param1) {
|
||||
return this->mCutsceneHandler->func_ov000_02098694(param1);
|
||||
}
|
||||
|
||||
ARM bool AdventureFlags::func_ov00_02098074(unk32 param1, unk16 param2, unk32 param3, unk32 param4, bool param5) {
|
||||
return this->mCutsceneHandler->func_ov000_020987c4(param1, param2, param3, param4, param5);
|
||||
}
|
||||
|
||||
ARM bool AdventureFlags::func_ov00_0209809c() {
|
||||
return this->mCutsceneHandler->func_ov000_02098834();
|
||||
}
|
||||
|
||||
ARM bool AdventureFlags::func_ov00_020980ac() {
|
||||
return this->mCutsceneHandler->func_ov000_02098860();
|
||||
}
|
||||
|
||||
ARM void AdventureFlags::func_ov00_020980bc(s32 param1) {
|
||||
this->mCutsceneHandler->mFreeze += param1;
|
||||
}
|
||||
|
||||
@@ -2,4 +2,3 @@
|
||||
|
||||
FlagsUnk::~FlagsUnk() {}
|
||||
FlagsUnk2::~FlagsUnk2() {}
|
||||
void FlagsUnk::func_ov000_020980f8() {}
|
||||
|
||||
@@ -8,4 +8,4 @@ void AdventureFlags::func_ov004_021044f8(s32 param1) {}
|
||||
void AdventureFlags::func_ov004_0210453c() {}
|
||||
bool AdventureFlags::func_ov004_0210455c(s32 param1) {}
|
||||
void AdventureFlags::func_ov004_021046c8(unk32 param1) {}
|
||||
void AdventureFlags::func_ov004_021046d4() {}
|
||||
void AdventureFlags::func_ov004_021046d4(s32 param1) {}
|
||||
|
||||
Reference in New Issue
Block a user