mirror of
https://github.com/zeldaret/st
synced 2026-05-23 06:54:21 -04:00
Misc Stuff 5 (#63)
* name item 31 to 34 * name item 25 to 29 * decompile PassengerManager (95%) * started cargo manager * local attribute * passenger/cargo manager ov001 functions * name item manager functions * fix build issues & more docs on 027e0cd8 * format
This commit is contained in:
+1
-1
@@ -17,7 +17,7 @@ AccessModifierOffset: -4
|
||||
|
||||
AlignConsecutiveAssignments: Consecutive
|
||||
AlignEscapedNewlines: LeftWithLastLine
|
||||
AlignTrailingComments: Leave
|
||||
AlignTrailingComments: true
|
||||
|
||||
BreakConstructorInitializers: AfterColon
|
||||
|
||||
|
||||
@@ -113,9 +113,9 @@ data_027e0cec kind:bss addr:0x027e0cec
|
||||
data_027e0cf0 kind:bss addr:0x027e0cf0
|
||||
data_027e0cf4 kind:bss addr:0x027e0cf4
|
||||
data_027e0cf8 kind:bss addr:0x027e0cf8
|
||||
data_027e0cfc kind:bss addr:0x027e0cfc
|
||||
gpPassengerManager kind:bss addr:0x027e0cfc
|
||||
data_027e0d00 kind:bss addr:0x027e0d00
|
||||
data_027e0d04 kind:bss addr:0x027e0d04
|
||||
gpCargoManager kind:bss addr:0x027e0d04
|
||||
data_027e0d08 kind:bss addr:0x027e0d08
|
||||
data_027e0d0c kind:bss addr:0x027e0d0c
|
||||
data_027e0d10 kind:bss addr:0x027e0d10
|
||||
|
||||
@@ -154,7 +154,7 @@ func_01ffd218 kind:function(arm,size=0x38) addr:0x01ffd218
|
||||
func_01ffd250 kind:function(arm,size=0x44) addr:0x01ffd250
|
||||
func_01ffd294 kind:function(arm,size=0x11c) addr:0x01ffd294
|
||||
func_01ffd3b0 kind:function(arm,size=0x28) addr:0x01ffd3b0
|
||||
func_01ffd3d8 kind:function(arm,size=0x28) addr:0x01ffd3d8
|
||||
_ZN18UnkStruct_027e09a413func_01ffd3d8Ev kind:function(arm,size=0x28) addr:0x01ffd3d8
|
||||
_ZN18UnkStruct_027e09a413func_01ffd400Ev kind:function(arm,size=0x20) addr:0x01ffd400
|
||||
_ZN18UnkStruct_027e09b813func_01ffd420Ev kind:function(arm,size=0x1c) addr:0x01ffd420
|
||||
func_01ffd43c kind:function(arm,size=0x60) addr:0x01ffd43c
|
||||
|
||||
@@ -335,10 +335,10 @@ func_ov000_0205c87c kind:function(arm,size=0xc) addr:0x0205c87c
|
||||
func_ov000_0205c888 kind:function(arm,size=0xc) addr:0x0205c888
|
||||
func_ov000_0205c894 kind:function(arm,size=0x5c) addr:0x0205c894
|
||||
func_ov000_0205c8f0 kind:function(arm,size=0x14) addr:0x0205c8f0
|
||||
func_ov000_0205c904 kind:function(arm,size=0x14) addr:0x0205c904
|
||||
_ZN18UnkStruct_027e0ce019func_ov000_0205c904Ev kind:function(arm,size=0x14) addr:0x0205c904
|
||||
func_ov000_0205c918 kind:function(arm,size=0x14) addr:0x0205c918
|
||||
func_ov000_0205c92c kind:function(arm,size=0x18) addr:0x0205c92c
|
||||
func_ov000_0205c944 kind:function(arm,size=0x10) addr:0x0205c944
|
||||
_ZN18UnkStruct_027e0d0019func_ov000_0205c944Ev kind:function(arm,size=0x10) addr:0x0205c944
|
||||
func_ov000_0205c954 kind:function(arm,size=0x18) addr:0x0205c954
|
||||
func_ov000_0205c96c kind:function(arm,size=0x18) addr:0x0205c96c
|
||||
func_ov000_0205c984 kind:function(arm,size=0x14) addr:0x0205c984
|
||||
@@ -2228,7 +2228,7 @@ func_ov000_02096a9c kind:function(arm,size=0x58) addr:0x02096a9c
|
||||
func_ov000_02096af4 kind:function(arm,size=0x28) addr:0x02096af4
|
||||
func_ov000_02096b1c kind:function(arm,size=0x78) addr:0x02096b1c
|
||||
func_ov000_02096b94 kind:function(arm,size=0x14) addr:0x02096b94
|
||||
func_ov000_02096ba8 kind:function(arm,size=0x24) addr:0x02096ba8
|
||||
_ZN9Passenger5ResetEv kind:function(arm,size=0x24) addr:0x02096ba8
|
||||
func_ov000_02096bcc kind:function(arm,size=0x48) addr:0x02096bcc
|
||||
_ZN12SaveInfoSub5C1Ev kind:function(arm,size=0x14) addr:0x02096c14
|
||||
func_ov000_02096c28 kind:function(arm,size=0x20) addr:0x02096c28
|
||||
@@ -2992,25 +2992,25 @@ func_ov000_020a84a8 kind:function(arm,size=0x7c) addr:0x020a84a8
|
||||
func_ov000_020a8524 kind:function(arm,size=0x48) addr:0x020a8524
|
||||
func_ov000_020a856c kind:function(arm,size=0x50) addr:0x020a856c
|
||||
func_ov000_020a85bc kind:function(thumb,size=0x80) addr:0x020a85bc
|
||||
_ZN11ItemManager19func_ov000_020a863cEj kind:function(arm,size=0x20) addr:0x020a863c
|
||||
_ZN11ItemManager19func_ov000_020a865cEj kind:function(arm,size=0x24) addr:0x020a865c
|
||||
_ZN11ItemManager19func_ov000_020a8680Ev kind:function(arm,size=0x24) addr:0x020a8680
|
||||
_ZN11ItemManager7SetFlagEj kind:function(arm,size=0x20) addr:0x020a863c
|
||||
_ZN11ItemManager9ClearFlagEj kind:function(arm,size=0x24) addr:0x020a865c
|
||||
_ZN11ItemManager17HasRecruitUniformEv kind:function(arm,size=0x24) addr:0x020a8680
|
||||
_ZN11ItemManager19func_ov000_020a86a4Ev kind:function(arm,size=0x2c) addr:0x020a86a4
|
||||
_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
|
||||
_ZN11ItemManager13GetItemAmountEj kind:function(arm,size=0x58) addr:0x020a86d0
|
||||
_ZN11ItemManager17GetQuiverCapacityEv kind:function(arm,size=0x20) addr:0x020a8728
|
||||
_ZN11ItemManager18GetBombBagCapacityEv kind:function(arm,size=0x20) addr:0x020a8748
|
||||
_ZN11ItemManager10GiveRupeesEibb 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
|
||||
_ZN11ItemManager19func_ov000_020a8854Ev kind:function(arm,size=0x38) addr:0x020a8854
|
||||
_ZN11ItemManager19func_ov000_020a888cEj kind:function(arm,size=0x3c) addr:0x020a888c
|
||||
_ZN11ItemManager19func_ov000_020a88c8Ev kind:function(arm,size=0x2c) addr:0x020a88c8
|
||||
_ZN11ItemManager19func_ov000_020a88f4Ev kind:function(arm,size=0x2c) addr:0x020a88f4
|
||||
_ZN11ItemManager19func_ov000_020a8920Ev kind:function(arm,size=0x28) addr:0x020a8920
|
||||
_ZN11ItemManager19func_ov000_020a8948Ev kind:function(arm,size=0x2c) addr:0x020a8948
|
||||
_ZN11ItemManager13GiveSmallKeysEi kind:function(arm,size=0x24) addr:0x020a87c8
|
||||
_ZN11ItemManager10GiveArrowsEi kind:function(arm,size=0x34) addr:0x020a87ec
|
||||
_ZN11ItemManager9GiveBombsEi kind:function(arm,size=0x34) addr:0x020a8820
|
||||
_ZN11ItemManager18TryEquipForcedItemEv kind:function(arm,size=0x38) addr:0x020a8854
|
||||
_ZN11ItemManager10GivePotionEj kind:function(arm,size=0x3c) addr:0x020a888c
|
||||
_ZN11ItemManager9HasPotionEv kind:function(arm,size=0x2c) addr:0x020a88c8
|
||||
_ZN11ItemManager15HasPurplePotionEv kind:function(arm,size=0x2c) addr:0x020a88f4
|
||||
_ZN11ItemManager18RemovePurplePotionEv kind:function(arm,size=0x28) addr:0x020a8920
|
||||
_ZN11ItemManager15PotionSlotsFullEv kind:function(arm,size=0x2c) addr:0x020a8948
|
||||
_ZN11ItemManager19func_ov000_020a8974Ej kind:function(arm,size=0x10) addr:0x020a8974
|
||||
_ZN11ItemManager19func_ov000_020a8984Ei kind:function(arm,size=0x38) addr:0x020a8984
|
||||
_ZN11ItemManager19GetEquippedItemFlagEi kind:function(arm,size=0x38) addr:0x020a8984
|
||||
_ZN11ItemManager19func_ov000_020a89bcEv kind:function(thumb,size=0x18) addr:0x020a89bc
|
||||
_ZN11ItemManager19func_ov000_020a89d4Ev kind:function(arm,size=0x38) addr:0x020a89d4
|
||||
_ZN11ItemManager19func_ov000_020a8a0cEv kind:function(arm,size=0x50) addr:0x020a8a0c
|
||||
|
||||
@@ -12,3 +12,10 @@ src/001_SceneInit/Actor/ActorManager_001.cpp:
|
||||
|
||||
src/001_SceneInit/Item/ItemManager_001.cpp:
|
||||
.text start:0x020bb9f8 end:0x020bba54
|
||||
|
||||
src/001_SceneInit/CargoManager_001.cpp:
|
||||
complete
|
||||
.text start:0x020bf800 end:0x020bf870
|
||||
|
||||
src/001_SceneInit/PassengerManager_001.cpp:
|
||||
.text start:0x020bf870 end:0x020bfa50
|
||||
|
||||
@@ -2026,7 +2026,7 @@ from:0x020bf64a kind:thumb_call_arm to:0x02011f3c module:main
|
||||
from:0x020bf65c kind:thumb_call to:0x02058c48 module:overlay(0)
|
||||
from:0x020bf670 kind:thumb_call_arm to:0x02011f3c module:main
|
||||
from:0x020bf682 kind:thumb_call_arm to:0x02011f3c module:main
|
||||
from:0x020bf694 kind:load to:0x020d7625 module:overlay(24)
|
||||
from:0x020bf694 kind:load to:0x020d7624 add:0x1 module:overlay(24)
|
||||
from:0x020bf698 kind:load to:0x020d766c module:overlay(24)
|
||||
from:0x020bf6ac kind:thumb_call_arm to:0x02012000 module:main
|
||||
from:0x020bf6ba kind:thumb_call_arm to:0x02012000 module:main
|
||||
|
||||
@@ -387,20 +387,20 @@ func_ov001_020bf768 kind:function(thumb,size=0x50) addr:0x020bf768
|
||||
func_ov001_020bf7b8 kind:function(thumb,size=0x2e) addr:0x020bf7b8
|
||||
func_ov001_020bf7e8 kind:function(thumb,size=0xc) addr:0x020bf7e8
|
||||
func_ov001_020bf7f4 kind:function(thumb,size=0xc) addr:0x020bf7f4
|
||||
func_ov001_020bf800 kind:function(thumb,size=0x22) addr:0x020bf800
|
||||
func_ov001_020bf824 kind:function(thumb,size=0xc) addr:0x020bf824
|
||||
func_ov001_020bf830 kind:function(thumb,size=0x28) addr:0x020bf830
|
||||
func_ov001_020bf858 kind:function(thumb,size=0xc) addr:0x020bf858
|
||||
func_ov001_020bf864 kind:function(thumb,size=0xc) addr:0x020bf864
|
||||
func_ov001_020bf870 kind:function(thumb,size=0x44) addr:0x020bf870
|
||||
func_ov001_020bf8b4 kind:function(thumb,size=0x24) addr:0x020bf8b4
|
||||
func_ov001_020bf8d8 kind:function(thumb,size=0xc) addr:0x020bf8d8
|
||||
func_ov001_020bf8e4 kind:function(thumb,size=0x28) addr:0x020bf8e4
|
||||
func_ov001_020bf90c kind:function(thumb,size=0x2) addr:0x020bf90c
|
||||
func_ov001_020bf910 kind:function(thumb,size=0x10c) addr:0x020bf910
|
||||
func_ov001_020bfa1c kind:function(thumb,size=0x1c) addr:0x020bfa1c
|
||||
func_ov001_020bfa38 kind:function(thumb,size=0xc) addr:0x020bfa38
|
||||
func_ov001_020bfa44 kind:function(thumb,size=0xc) addr:0x020bfa44
|
||||
_ZN12CargoManagerC1Ev kind:function(thumb,size=0x22) addr:0x020bf800
|
||||
_ZN12CargoManagerD1Ev kind:function(thumb,size=0xc) addr:0x020bf824
|
||||
_ZN12CargoManager19func_ov001_020bf830Ev kind:function(thumb,size=0x28) addr:0x020bf830
|
||||
_ZN12CargoManager11SetInstanceEPS_ kind:function(thumb,size=0xc) addr:0x020bf858
|
||||
_ZN12CargoManager13ClearInstanceEv kind:function(thumb,size=0xc) addr:0x020bf864
|
||||
_ZN16PassengerManager19func_ov001_020bf870Ev kind:function(thumb,size=0x44) addr:0x020bf870
|
||||
_ZN16PassengerManagerC1Ev kind:function(thumb,size=0x24) addr:0x020bf8b4
|
||||
_ZN16PassengerManagerD1Ev kind:function(thumb,size=0xc) addr:0x020bf8d8
|
||||
_ZN16PassengerManager19func_ov001_020bf8e4Ev kind:function(thumb,size=0x28) addr:0x020bf8e4
|
||||
_ZN16PassengerManager19func_ov001_020bf90cEv kind:function(thumb,size=0x2) addr:0x020bf90c
|
||||
_ZN16PassengerManager19func_ov001_020bf910Ev kind:function(thumb,size=0x10c) addr:0x020bf910
|
||||
_ZN16PassengerManager19func_ov001_020bfa1cEv kind:function(thumb,size=0x1c) addr:0x020bfa1c
|
||||
_ZN16PassengerManager11SetInstanceEPS_ kind:function(thumb,size=0xc) addr:0x020bfa38
|
||||
_ZN16PassengerManager13ClearInstanceEv kind:function(thumb,size=0xc) addr:0x020bfa44
|
||||
func_ov001_020bfa50 kind:function(thumb,size=0xc2) addr:0x020bfa50
|
||||
func_ov001_020bfb14 kind:function(thumb,size=0xc) addr:0x020bfb14
|
||||
func_ov001_020bfb20 kind:function(thumb,size=0x1a0) addr:0x020bfb20
|
||||
|
||||
@@ -4,3 +4,8 @@
|
||||
.ctor start:0x020c3ee0 end:0x020c3eec kind:rodata align:4
|
||||
.data start:0x020c3f00 end:0x020c3f60 kind:data align:32
|
||||
.bss start:0x020c3f60 end:0x020c4840 kind:bss align:32
|
||||
|
||||
src/017_CourseExec/CargoManager_017.cpp:
|
||||
complete
|
||||
.text start:0x020be9cc end:0x020becd8
|
||||
.rodata start:0x020c3dc0 end:0x020c3dec
|
||||
|
||||
@@ -375,7 +375,7 @@ from:0x020beb2c kind:arm_call to:0x020cd3e0 module:overlay(24)
|
||||
from:0x020beb44 kind:load to:0x027e09a4 module:dtcm
|
||||
from:0x020beb48 kind:load to:0x020c3dc0 module:overlay(17)
|
||||
from:0x020beb4c kind:load to:0x020d8698 module:overlay(24)
|
||||
from:0x020beb50 kind:load to:0x020c3dc4 module:overlay(17)
|
||||
from:0x020beb50 kind:load to:0x020c3dc0 add:0x4 module:overlay(17)
|
||||
from:0x020beb78 kind:arm_call to:0x0205c944 module:overlay(0)
|
||||
from:0x020beb7c kind:arm_call to:0x020d4d10 module:overlay(24)
|
||||
from:0x020beba4 kind:arm_call to:0x0205c944 module:overlay(0)
|
||||
@@ -386,11 +386,11 @@ from:0x020bebd0 kind:arm_call to:0x020cd3f0 module:overlay(24)
|
||||
from:0x020bebd8 kind:load to:0x020d8698 module:overlay(24)
|
||||
from:0x020bec04 kind:arm_call to:0x020bec6c module:overlay(17)
|
||||
from:0x020bec10 kind:arm_call to:0x020cd3d0 module:overlay(24)
|
||||
from:0x020bec18 kind:load to:0x020c3dc2 module:overlay(17)
|
||||
from:0x020bec18 kind:load to:0x020c3dc0 add:0x2 module:overlay(17)
|
||||
from:0x020bec1c kind:load to:0x020d8698 module:overlay(24)
|
||||
from:0x020bec50 kind:arm_call to:0x020bec6c module:overlay(17)
|
||||
from:0x020bec5c kind:arm_call to:0x020cd3d0 module:overlay(24)
|
||||
from:0x020bec64 kind:load to:0x020c3dc3 module:overlay(17)
|
||||
from:0x020bec64 kind:load to:0x020c3dc0 add:0x3 module:overlay(17)
|
||||
from:0x020bec68 kind:load to:0x020d8698 module:overlay(24)
|
||||
from:0x020beca8 kind:arm_call to:0x01ffd3d8 module:itcm
|
||||
from:0x020becc8 kind:arm_call to:0x02106aa8 module:overlay(26)
|
||||
|
||||
@@ -40,15 +40,15 @@ func_ov017_020be2ec kind:function(arm,size=0x148) addr:0x020be2ec
|
||||
func_ov017_020be434 kind:function(arm,size=0x18) addr:0x020be434
|
||||
func_ov017_020be44c kind:function(arm,size=0x45c) addr:0x020be44c
|
||||
func_ov017_020be8a8 kind:function(arm,size=0x124) addr:0x020be8a8
|
||||
func_ov017_020be9cc kind:function(arm,size=0x18) addr:0x020be9cc
|
||||
func_ov017_020be9e4 kind:function(arm,size=0x30) addr:0x020be9e4
|
||||
func_ov017_020bea14 kind:function(arm,size=0x140) addr:0x020bea14
|
||||
func_ov017_020beb54 kind:function(arm,size=0x30) addr:0x020beb54
|
||||
func_ov017_020beb84 kind:function(arm,size=0x58) addr:0x020beb84
|
||||
func_ov017_020bebdc kind:function(arm,size=0x44) addr:0x020bebdc
|
||||
func_ov017_020bec20 kind:function(arm,size=0x4c) addr:0x020bec20
|
||||
func_ov017_020bec6c kind:function(arm,size=0x30) addr:0x020bec6c
|
||||
func_ov017_020bec9c kind:function(arm,size=0x3c) addr:0x020bec9c
|
||||
_ZN12CargoManager8DoUpdateEv kind:function(arm,size=0x18) addr:0x020be9cc
|
||||
_ZN12CargoManager15IsNotUsingTimerEi kind:function(arm,size=0x30) addr:0x020be9e4
|
||||
_ZN12CargoManager6UpdateEv kind:function(arm,size=0x140) addr:0x020bea14
|
||||
_ZN12CargoManager5ResetEv kind:function(arm,size=0x30) addr:0x020beb54
|
||||
_ZN12CargoManager4InitEii kind:function(arm,size=0x58) addr:0x020beb84
|
||||
_ZN12CargoManager19func_ov017_020bebdcEv kind:function(arm,size=0x44) addr:0x020bebdc
|
||||
_ZN12CargoManager19func_ov017_020bec20Ev kind:function(arm,size=0x4c) addr:0x020bec20
|
||||
_ZN12CargoManager12RemoveAmountEi kind:function(arm,size=0x30) addr:0x020bec6c
|
||||
_ZN12CargoManager19func_ov017_020bec9cEv kind:function(arm,size=0x3c) addr:0x020bec9c
|
||||
func_ov017_020becd8 kind:function(arm,size=0x148) addr:0x020becd8
|
||||
func_ov017_020bee20 kind:function(arm,size=0x44) addr:0x020bee20
|
||||
func_ov017_020bee64 kind:function(arm,size=0x20) addr:0x020bee64
|
||||
@@ -167,10 +167,7 @@ func_ov017_020c3bc0 kind:function(arm,size=0xa4) addr:0x020c3bc0
|
||||
func_ov017_020c3c64 kind:function(arm,size=0x40) addr:0x020c3c64
|
||||
func_ov017_020c3ca4 kind:function(arm,size=0xf4) addr:0x020c3ca4
|
||||
func_ov017_020c3d98 kind:function(arm,size=0x28) addr:0x020c3d98
|
||||
data_ov017_020c3dc0 kind:data(any) addr:0x020c3dc0
|
||||
data_ov017_020c3dc2 kind:data(any) addr:0x020c3dc2
|
||||
data_ov017_020c3dc3 kind:data(any) addr:0x020c3dc3
|
||||
data_ov017_020c3dc4 kind:data(any) addr:0x020c3dc4
|
||||
sCargoInfos kind:data(byte[42]) addr:0x020c3dc0 local
|
||||
data_ov017_020c3dec kind:data(any) addr:0x020c3dec
|
||||
__sinit_ov017_020c3e24 kind:function(arm,size=0x6c) addr:0x020c3e24
|
||||
__sinit_ov017_020c3e90 kind:function(arm,size=0x38) addr:0x020c3e90
|
||||
|
||||
@@ -5,6 +5,14 @@
|
||||
.data start:0x020d7b60 end:0x020d8660 kind:data align:32
|
||||
.bss start:0x020d8660 end:0x020d8720 kind:bss align:32
|
||||
|
||||
src/024_MainGame/PassengerManager.cpp:
|
||||
.text start:0x020d4120 end:0x020d46b4
|
||||
.rodata start:0x020d75a4 end:0x020d7624
|
||||
|
||||
src/024_MainGame/CargoManager_024.cpp:
|
||||
complete
|
||||
.text start:0x020d58b4 end:0x020d5938
|
||||
|
||||
src/024_MainGame/MiscAdvManager.cpp:
|
||||
.text start:0x020d62b4 end:0x020d6650
|
||||
|
||||
|
||||
@@ -2175,9 +2175,9 @@ from:0x020d4094 kind:load to:0x020d7578 module:overlay(24)
|
||||
from:0x020d40ec kind:arm_call_thumb to:0x020d3d98 module:overlay(24)
|
||||
from:0x020d414c kind:load to:0x020d75a4 module:overlay(24)
|
||||
from:0x020d4154 kind:arm_call to:0x020d4120 module:overlay(24)
|
||||
from:0x020d4170 kind:load to:0x020d75a8 module:overlay(24)
|
||||
from:0x020d4170 kind:load to:0x020d75a4 add:0x4 module:overlay(24)
|
||||
from:0x020d4178 kind:arm_call to:0x020d4120 module:overlay(24)
|
||||
from:0x020d4194 kind:load to:0x020d75aa module:overlay(24)
|
||||
from:0x020d4194 kind:load to:0x020d75a4 add:0x6 module:overlay(24)
|
||||
from:0x020d41a8 kind:arm_call to:0x02011f3c module:main
|
||||
from:0x020d41b4 kind:arm_call_thumb to:0x020bf8b4 module:overlay(1)
|
||||
from:0x020d41ec kind:arm_call to:0x020d4228 module:overlay(24)
|
||||
@@ -2241,7 +2241,7 @@ from:0x020d48b8 kind:load to:0x020d765c module:overlay(24)
|
||||
from:0x020d48bc kind:load to:0x020d764c module:overlay(24)
|
||||
from:0x020d48c0 kind:load to:0x020d763c module:overlay(24)
|
||||
from:0x020d48c4 kind:load to:0x020d762c module:overlay(24)
|
||||
from:0x020d48d4 kind:load to:0x020d7625 module:overlay(24)
|
||||
from:0x020d48d4 kind:load to:0x020d7624 add:0x1 module:overlay(24)
|
||||
from:0x020d4904 kind:arm_call to:0x020d5174 module:overlay(24)
|
||||
from:0x020d4910 kind:arm_call_thumb to:0x020589e4 module:overlay(0)
|
||||
from:0x020d4954 kind:arm_call to:0x020d4f08 module:overlay(24)
|
||||
|
||||
@@ -351,11 +351,11 @@ func_ov024_020cd348 kind:function(arm,size=0x10) addr:0x020cd348
|
||||
func_ov024_020cd358 kind:function(arm,size=0x10) addr:0x020cd358
|
||||
_ZN18UnkStruct_020d869819func_ov024_020cd368Ebb kind:function(arm,size=0x3c) addr:0x020cd368
|
||||
func_ov024_020cd3a4 kind:function(arm,size=0x2c) addr:0x020cd3a4
|
||||
func_ov024_020cd3d0 kind:function(arm,size=0x10) addr:0x020cd3d0
|
||||
func_ov024_020cd3e0 kind:function(arm,size=0x10) addr:0x020cd3e0
|
||||
func_ov024_020cd3f0 kind:function(arm,size=0x10) addr:0x020cd3f0
|
||||
_ZN18UnkStruct_020d869819func_ov024_020cd3d0Ev kind:function(arm,size=0x10) addr:0x020cd3d0
|
||||
_ZN18UnkStruct_020d869819func_ov024_020cd3e0Ei kind:function(arm,size=0x10) addr:0x020cd3e0
|
||||
_ZN18UnkStruct_020d869819func_ov024_020cd3f0Ei kind:function(arm,size=0x10) addr:0x020cd3f0
|
||||
func_ov024_020cd400 kind:function(arm,size=0x10) addr:0x020cd400
|
||||
func_ov024_020cd410 kind:function(arm,size=0x10) addr:0x020cd410
|
||||
_ZN18UnkStruct_020d869819func_ov024_020cd410Ev kind:function(arm,size=0x10) addr:0x020cd410
|
||||
func_ov024_020cd420 kind:function(arm,size=0x38) addr:0x020cd420
|
||||
_ZN18UnkStruct_020d869819func_ov024_020cd458Eji kind:function(arm,size=0x4c) addr:0x020cd458
|
||||
func_ov024_020cd4a4 kind:function(arm,size=0x40) addr:0x020cd4a4
|
||||
@@ -567,7 +567,7 @@ func_ov024_020d3d80 kind:function(thumb,size=0x18) addr:0x020d3d80
|
||||
_ZN21UnkStruct_027e0ce0_3419func_ov024_020d3d98Eii kind:function(thumb,size=0x10) addr:0x020d3d98
|
||||
func_ov024_020d3da8 kind:function(thumb,size=0x16) addr:0x020d3da8
|
||||
func_ov024_020d3dc0 kind:function(thumb,size=0xa) addr:0x020d3dc0
|
||||
func_ov024_020d3dcc kind:function(thumb,size=0x20) addr:0x020d3dcc
|
||||
_ZN21UnkStruct_027e0ce0_3419func_ov024_020d3dccEv kind:function(thumb,size=0x20) addr:0x020d3dcc
|
||||
func_ov024_020d3dec kind:function(arm,size=0x20) addr:0x020d3dec
|
||||
func_ov024_020d3e0c kind:function(arm,size=0x24) addr:0x020d3e0c
|
||||
func_ov024_020d3e30 kind:function(arm,size=0x38) addr:0x020d3e30
|
||||
@@ -579,33 +579,33 @@ func_ov024_020d3fc8 kind:function(arm,size=0x40) addr:0x020d3fc8
|
||||
func_ov024_020d4008 kind:function(arm,size=0x44) addr:0x020d4008
|
||||
func_ov024_020d404c kind:function(arm,size=0x4c) addr:0x020d404c
|
||||
func_ov024_020d4098 kind:function(arm,size=0x88) addr:0x020d4098
|
||||
func_ov024_020d4120 kind:function(arm,size=0x30) addr:0x020d4120
|
||||
func_ov024_020d4150 kind:function(arm,size=0x24) addr:0x020d4150
|
||||
func_ov024_020d4174 kind:function(arm,size=0x24) addr:0x020d4174
|
||||
func_ov024_020d4198 kind:function(arm,size=0x24) addr:0x020d4198
|
||||
func_ov024_020d41bc kind:function(arm,size=0x38) addr:0x020d41bc
|
||||
func_ov024_020d41f4 kind:function(arm,size=0x34) addr:0x020d41f4
|
||||
func_ov024_020d4228 kind:function(arm,size=0x30) addr:0x020d4228
|
||||
func_ov024_020d4258 kind:function(arm,size=0x30) addr:0x020d4258
|
||||
func_ov024_020d4288 kind:function(arm,size=0x7c) addr:0x020d4288
|
||||
func_ov024_020d4304 kind:function(arm,size=0x28) addr:0x020d4304
|
||||
func_ov024_020d432c kind:function(arm,size=0x50) addr:0x020d432c
|
||||
func_ov024_020d437c kind:function(arm,size=0x34) addr:0x020d437c
|
||||
func_ov024_020d43b0 kind:function(arm,size=0x3c) addr:0x020d43b0
|
||||
func_ov024_020d43ec kind:function(arm,size=0x48) addr:0x020d43ec
|
||||
func_ov024_020d4434 kind:function(arm,size=0x54) addr:0x020d4434
|
||||
func_ov024_020d4488 kind:function(arm,size=0x8) addr:0x020d4488
|
||||
func_ov024_020d4490 kind:function(arm,size=0x30) addr:0x020d4490
|
||||
func_ov024_020d44c0 kind:function(arm,size=0x3c) addr:0x020d44c0
|
||||
func_ov024_020d44fc kind:function(arm,size=0x24) addr:0x020d44fc
|
||||
func_ov024_020d4520 kind:function(arm,size=0x8) addr:0x020d4520
|
||||
func_ov024_020d4528 kind:function(arm,size=0x2c) addr:0x020d4528
|
||||
func_ov024_020d4554 kind:function(arm,size=0x10) addr:0x020d4554
|
||||
func_ov024_020d4564 kind:function(arm,size=0x4c) addr:0x020d4564
|
||||
func_ov024_020d45b0 kind:function(arm,size=0x14) addr:0x020d45b0
|
||||
func_ov024_020d45c4 kind:function(arm,size=0x1c) addr:0x020d45c4
|
||||
func_ov024_020d45e0 kind:function(arm,size=0x5c) addr:0x020d45e0
|
||||
func_ov024_020d463c kind:function(arm,size=0x78) addr:0x020d463c
|
||||
_ZN16PassengerManager21GetPassengerInfoIndexEj kind:function(arm,size=0x30) addr:0x020d4120
|
||||
_ZN16PassengerManager12GetBoardFlagEj kind:function(arm,size=0x24) addr:0x020d4150
|
||||
_ZN16PassengerManager11GetFailFlagEj kind:function(arm,size=0x24) addr:0x020d4174
|
||||
_ZN16PassengerManager6CreateEv kind:function(arm,size=0x24) addr:0x020d4198
|
||||
_ZN16PassengerManager19func_ov024_020d41bcEP16UnkStruct_Param1 kind:function(arm,size=0x38) addr:0x020d41bc
|
||||
_ZN16PassengerManager19func_ov024_020d41f4EP16UnkStruct_Param1 kind:function(arm,size=0x34) addr:0x020d41f4
|
||||
_ZN16PassengerManager19func_ov024_020d4228Ev kind:function(arm,size=0x30) addr:0x020d4228
|
||||
_ZN16PassengerManager19func_ov024_020d4258Ev kind:function(arm,size=0x30) addr:0x020d4258
|
||||
_ZN16PassengerManager13TryBoardTrainEjjj kind:function(arm,size=0x7c) addr:0x020d4288
|
||||
_ZN16PassengerManager8TryResetEv kind:function(arm,size=0x28) addr:0x020d4304
|
||||
_ZN16PassengerManager21TryResetAtDestinationEv kind:function(arm,size=0x50) addr:0x020d432c
|
||||
_ZN16PassengerManager18ReachedDestinationEjj kind:function(arm,size=0x34) addr:0x020d437c
|
||||
_ZN16PassengerManager21TrySetCaughtByPiratesEv kind:function(arm,size=0x3c) addr:0x020d43b0
|
||||
_ZN16PassengerManager23CaughtByPiratesTryResetEv kind:function(arm,size=0x48) addr:0x020d43ec
|
||||
_ZN16PassengerManager13GiveHappinessEi kind:function(arm,size=0x54) addr:0x020d4434
|
||||
_ZN16PassengerManager12GetHappinessEv kind:function(arm,size=0x8) addr:0x020d4488
|
||||
_ZN16PassengerManager16GetHappinessCondEv kind:function(arm,size=0x30) addr:0x020d4490
|
||||
_ZN16PassengerManager15CanCompleteTripEv kind:function(arm,size=0x3c) addr:0x020d44c0
|
||||
_ZN16PassengerManager17IsCaughtByPiratesEv kind:function(arm,size=0x24) addr:0x020d44fc
|
||||
_ZN16PassengerManager10GetActorIdEv kind:function(arm,size=0x8) addr:0x020d4520
|
||||
_ZN16PassengerManager11GetInstanceEv kind:function(arm,size=0x2c) addr:0x020d4528
|
||||
_ZN16PassengerManager19func_ov024_020d4554Ev kind:function(arm,size=0x10) addr:0x020d4554
|
||||
_ZN16PassengerManager5ResetEv kind:function(arm,size=0x4c) addr:0x020d4564
|
||||
_ZN16PassengerManager11IsDateUnsetEv kind:function(arm,size=0x14) addr:0x020d45b0
|
||||
_ZN16PassengerManager7GetDateEv kind:function(arm,size=0x1c) addr:0x020d45c4
|
||||
_ZN16PassengerManager14GetRandomIndexEji kind:function(arm,size=0x5c) addr:0x020d45e0
|
||||
_ZN16PassengerManager13SetFailedFlagEv kind:function(arm,size=0x78) addr:0x020d463c
|
||||
func_ov024_020d46b4 kind:function(arm,size=0x10) addr:0x020d46b4
|
||||
func_ov024_020d46c4 kind:function(arm,size=0x70) addr:0x020d46c4
|
||||
func_ov024_020d4734 kind:function(arm,size=0x60) addr:0x020d4734
|
||||
@@ -623,8 +623,8 @@ func_ov024_020d4ab4 kind:function(arm,size=0x40) addr:0x020d4ab4
|
||||
func_ov024_020d4af4 kind:function(arm,size=0xa8) addr:0x020d4af4
|
||||
func_ov024_020d4b9c kind:function(arm,size=0x5c) addr:0x020d4b9c
|
||||
func_ov024_020d4bf8 kind:function(arm,size=0xc8) addr:0x020d4bf8
|
||||
func_ov024_020d4cc0 kind:function(arm,size=0x50) addr:0x020d4cc0
|
||||
func_ov024_020d4d10 kind:function(arm,size=0x34) addr:0x020d4d10
|
||||
_ZN18UnkStruct_027e0d0019func_ov024_020d4cc0Ei kind:function(arm,size=0x50) addr:0x020d4cc0
|
||||
_ZN18UnkStruct_027e0d0019func_ov024_020d4d10Ev kind:function(arm,size=0x34) addr:0x020d4d10
|
||||
func_ov024_020d4d44 kind:function(arm,size=0x28) addr:0x020d4d44
|
||||
func_ov024_020d4d6c kind:function(arm,size=0x8c) addr:0x020d4d6c
|
||||
func_ov024_020d4df8 kind:function(arm,size=0x44) addr:0x020d4df8
|
||||
@@ -653,11 +653,11 @@ func_ov024_020d54f0 kind:function(arm,size=0x4) addr:0x020d54f0
|
||||
func_ov024_020d54f4 kind:function(arm,size=0x138) addr:0x020d54f4
|
||||
func_ov024_020d562c kind:function(arm,size=0x240) addr:0x020d562c
|
||||
func_ov024_020d586c kind:function(arm,size=0x48) addr:0x020d586c
|
||||
func_ov024_020d58b4 kind:function(arm,size=0x24) addr:0x020d58b4
|
||||
func_ov024_020d58d8 kind:function(arm,size=0x14) addr:0x020d58d8
|
||||
func_ov024_020d58ec kind:function(arm,size=0x14) addr:0x020d58ec
|
||||
func_ov024_020d5900 kind:function(arm,size=0x1c) addr:0x020d5900
|
||||
func_ov024_020d591c kind:function(arm,size=0x1c) addr:0x020d591c
|
||||
_ZN12CargoManager6CreateEv kind:function(arm,size=0x24) addr:0x020d58b4
|
||||
_ZN12CargoManager8SetCargoEii kind:function(arm,size=0x14) addr:0x020d58d8
|
||||
_ZN12CargoManager16GetTypeAndAmountEPiS0_ kind:function(arm,size=0x14) addr:0x020d58ec
|
||||
_ZN12CargoManager19func_ov024_020d5900Ev kind:function(arm,size=0x1c) addr:0x020d5900
|
||||
_ZN12CargoManager19func_ov024_020d591cEv kind:function(arm,size=0x1c) addr:0x020d591c
|
||||
func_ov024_020d5938 kind:function(arm,size=0x40) addr:0x020d5938
|
||||
func_ov024_020d5978 kind:function(arm,size=0x18) addr:0x020d5978
|
||||
func_ov024_020d5990 kind:function(arm,size=0x16c) addr:0x020d5990
|
||||
@@ -742,10 +742,8 @@ data_ov024_020d7570 kind:data(any) addr:0x020d7570
|
||||
data_ov024_020d7578 kind:data(any) addr:0x020d7578
|
||||
data_ov024_020d7588 kind:data(any) addr:0x020d7588
|
||||
data_ov024_020d7598 kind:data(any) addr:0x020d7598 ambiguous
|
||||
data_ov024_020d75a4 kind:data(any) addr:0x020d75a4
|
||||
data_ov024_020d75a8 kind:data(any) addr:0x020d75a8
|
||||
data_ov024_020d75aa kind:data(any) addr:0x020d75aa
|
||||
data_ov024_020d7625 kind:data(any) addr:0x020d7625
|
||||
sPassengerInfos kind:data(any) addr:0x020d75a4
|
||||
data_ov024_020d7624 kind:data(any) addr:0x020d7624
|
||||
data_ov024_020d762c kind:data(any) addr:0x020d762c
|
||||
data_ov024_020d763c kind:data(any) addr:0x020d763c
|
||||
data_ov024_020d764c kind:data(any) addr:0x020d764c
|
||||
|
||||
@@ -1122,7 +1122,7 @@ func_ov026_02106a84 kind:function(arm,size=0x4) addr:0x02106a84
|
||||
func_ov026_02106a88 kind:function(arm,size=0x4) addr:0x02106a88
|
||||
func_ov026_02106a8c kind:function(arm,size=0x8) addr:0x02106a8c
|
||||
func_ov026_02106a94 kind:function(arm,size=0x14) addr:0x02106a94
|
||||
func_ov026_02106aa8 kind:function(arm,size=0x14) addr:0x02106aa8
|
||||
_ZN25UnkStruct_027e0cd8_0c_16019func_ov026_02106aa8Ev kind:function(arm,size=0x14) addr:0x02106aa8
|
||||
func_ov026_02106abc kind:function(arm,size=0x84) addr:0x02106abc
|
||||
func_ov026_02106b40 kind:function(arm,size=0x4c) addr:0x02106b40
|
||||
func_ov026_02106b8c kind:function(arm,size=0x64) addr:0x02106b8c
|
||||
|
||||
@@ -113,9 +113,9 @@ data_027e0cec kind:bss addr:0x027e0cec
|
||||
data_027e0cf0 kind:bss addr:0x027e0cf0
|
||||
data_027e0cf4 kind:bss addr:0x027e0cf4
|
||||
data_027e0cf8 kind:bss addr:0x027e0cf8
|
||||
data_027e0cfc kind:bss addr:0x027e0cfc
|
||||
gpPassengerManager kind:bss addr:0x027e0cfc
|
||||
data_027e0d00 kind:bss addr:0x027e0d00
|
||||
data_027e0d04 kind:bss addr:0x027e0d04
|
||||
gpCargoManager kind:bss addr:0x027e0d04
|
||||
data_027e0d08 kind:bss addr:0x027e0d08
|
||||
data_027e0d0c kind:bss addr:0x027e0d0c
|
||||
data_027e0d10 kind:bss addr:0x027e0d10
|
||||
|
||||
@@ -154,7 +154,7 @@ func_01ffd218 kind:function(arm,size=0x38) addr:0x01ffd218
|
||||
func_01ffd250 kind:function(arm,size=0x44) addr:0x01ffd250
|
||||
func_01ffd294 kind:function(arm,size=0x11c) addr:0x01ffd294
|
||||
func_01ffd3b0 kind:function(arm,size=0x28) addr:0x01ffd3b0
|
||||
func_01ffd3d8 kind:function(arm,size=0x28) addr:0x01ffd3d8
|
||||
_ZN18UnkStruct_027e09a413func_01ffd3d8Ev kind:function(arm,size=0x28) addr:0x01ffd3d8
|
||||
_ZN18UnkStruct_027e09a413func_01ffd400Ev kind:function(arm,size=0x20) addr:0x01ffd400
|
||||
_ZN18UnkStruct_027e09b813func_01ffd420Ev kind:function(arm,size=0x1c) addr:0x01ffd420
|
||||
func_01ffd43c kind:function(arm,size=0x60) addr:0x01ffd43c
|
||||
|
||||
@@ -335,15 +335,15 @@ func_ov000_0205de04 kind:function(arm,size=0xc) addr:0x0205de04
|
||||
func_ov000_0205de10 kind:function(arm,size=0xc) addr:0x0205de10
|
||||
func_ov000_0205de1c kind:function(arm,size=0x5c) addr:0x0205de1c
|
||||
func_ov000_0205de78 kind:function(arm,size=0x14) addr:0x0205de78
|
||||
func_ov000_0205de8c kind:function(arm,size=0x14) addr:0x0205de8c
|
||||
_ZN18UnkStruct_027e0ce019func_ov000_0205c904Ev kind:function(arm,size=0x14) addr:0x0205de8c
|
||||
func_ov000_0205dea0 kind:function(arm,size=0x14) addr:0x0205dea0
|
||||
func_ov000_0205deb4 kind:function(arm,size=0x18) addr:0x0205deb4
|
||||
func_ov000_0205decc kind:function(arm,size=0x10) addr:0x0205decc
|
||||
_ZN18UnkStruct_027e0d0019func_ov000_0205c944Ev kind:function(arm,size=0x10) addr:0x0205decc
|
||||
func_ov000_0205dedc kind:function(arm,size=0x18) addr:0x0205dedc
|
||||
func_ov000_0205def4 kind:function(arm,size=0x18) addr:0x0205def4
|
||||
func_ov000_0205df0c kind:function(arm,size=0x14) addr:0x0205df0c
|
||||
func_ov000_0205c984 kind:function(arm,size=0x14) addr:0x0205df0c
|
||||
func_ov000_0205df20 kind:function(arm,size=0x1c) addr:0x0205df20
|
||||
func_ov000_0205df3c kind:function(arm,size=0x1c) addr:0x0205df3c
|
||||
func_ov000_0205c9b4 kind:function(arm,size=0x1c) addr:0x0205df3c
|
||||
func_ov000_0205df58 kind:function(arm,size=0x48) addr:0x0205df58
|
||||
func_ov000_0205dfa0 kind:function(arm,size=0x1c) addr:0x0205dfa0
|
||||
func_ov000_0205dfbc kind:function(arm,size=0x40) addr:0x0205dfbc
|
||||
@@ -2226,7 +2226,7 @@ func_ov000_02098250 kind:function(arm,size=0x58) addr:0x02098250
|
||||
func_ov000_020982a8 kind:function(arm,size=0x28) addr:0x020982a8
|
||||
func_ov000_020982d0 kind:function(arm,size=0x78) addr:0x020982d0
|
||||
func_ov000_02098348 kind:function(arm,size=0x14) addr:0x02098348
|
||||
func_ov000_0209835c kind:function(arm,size=0x24) addr:0x0209835c
|
||||
_ZN9Passenger5ResetEv kind:function(arm,size=0x24) addr:0x0209835c
|
||||
func_ov000_02098380 kind:function(arm,size=0x48) addr:0x02098380
|
||||
_ZN12SaveInfoSub5C1Ev kind:function(arm,size=0x14) addr:0x020983c8
|
||||
func_ov000_020983dc kind:function(arm,size=0x20) addr:0x020983dc
|
||||
@@ -2991,25 +2991,25 @@ func_ov000_020a9ca8 kind:function(arm,size=0x7c) addr:0x020a9ca8
|
||||
func_ov000_020a9d24 kind:function(arm,size=0x48) addr:0x020a9d24
|
||||
func_ov000_020a9d6c kind:function(arm,size=0x50) addr:0x020a9d6c
|
||||
func_ov000_020a9dbc kind:function(thumb,size=0x80) addr:0x020a9dbc
|
||||
_ZN11ItemManager19func_ov000_020a863cEj kind:function(arm,size=0x20) addr:0x020a9e3c
|
||||
_ZN11ItemManager19func_ov000_020a865cEj kind:function(arm,size=0x24) addr:0x020a9e5c
|
||||
_ZN11ItemManager19func_ov000_020a8680Ev kind:function(arm,size=0x24) addr:0x020a9e80
|
||||
_ZN11ItemManager7SetFlagEj kind:function(arm,size=0x20) addr:0x020a9e3c
|
||||
_ZN11ItemManager9ClearFlagEj kind:function(arm,size=0x24) addr:0x020a9e5c
|
||||
_ZN11ItemManager17HasRecruitUniformEv kind:function(arm,size=0x24) addr:0x020a9e80
|
||||
_ZN11ItemManager19func_ov000_020a86a4Ev kind:function(arm,size=0x2c) addr:0x020a9ea4
|
||||
_ZN11ItemManager19func_ov000_020a86d0Ej kind:function(arm,size=0x58) addr:0x020a9ed0
|
||||
_ZN11ItemManager19func_ov000_020a8728Ev kind:function(arm,size=0x20) addr:0x020a9f28
|
||||
_ZN11ItemManager19func_ov000_020a8748Ev kind:function(arm,size=0x20) addr:0x020a9f48
|
||||
_ZN11ItemManager13GetItemAmountEj kind:function(arm,size=0x58) addr:0x020a9ed0
|
||||
_ZN11ItemManager17GetQuiverCapacityEv kind:function(arm,size=0x20) addr:0x020a9f28
|
||||
_ZN11ItemManager18GetBombBagCapacityEv kind:function(arm,size=0x20) addr:0x020a9f48
|
||||
_ZN11ItemManager10GiveRupeesEibb kind:function(arm,size=0x60) addr:0x020a9f68
|
||||
_ZN11ItemManager19func_ov000_020a87c8Ei kind:function(arm,size=0x24) addr:0x020a9fc8
|
||||
_ZN11ItemManager19func_ov000_020a87ecEi kind:function(arm,size=0x34) addr:0x020a9fec
|
||||
_ZN11ItemManager19func_ov000_020a8820Ei kind:function(arm,size=0x34) addr:0x020aa020
|
||||
_ZN11ItemManager19func_ov000_020a8854Ev kind:function(arm,size=0x38) addr:0x020aa054
|
||||
_ZN11ItemManager19func_ov000_020a888cEj kind:function(arm,size=0x3c) addr:0x020aa08c
|
||||
_ZN11ItemManager19func_ov000_020a88c8Ev kind:function(arm,size=0x2c) addr:0x020aa0c8
|
||||
_ZN11ItemManager19func_ov000_020a88f4Ev kind:function(arm,size=0x2c) addr:0x020aa0f4
|
||||
_ZN11ItemManager19func_ov000_020a8920Ev kind:function(arm,size=0x28) addr:0x020aa120
|
||||
_ZN11ItemManager19func_ov000_020a8948Ev kind:function(arm,size=0x2c) addr:0x020aa148
|
||||
_ZN11ItemManager13GiveSmallKeysEi kind:function(arm,size=0x24) addr:0x020a9fc8
|
||||
_ZN11ItemManager10GiveArrowsEi kind:function(arm,size=0x34) addr:0x020a9fec
|
||||
_ZN11ItemManager9GiveBombsEi kind:function(arm,size=0x34) addr:0x020aa020
|
||||
_ZN11ItemManager18TryEquipForcedItemEv kind:function(arm,size=0x38) addr:0x020aa054
|
||||
_ZN11ItemManager10GivePotionEj kind:function(arm,size=0x3c) addr:0x020aa08c
|
||||
_ZN11ItemManager9HasPotionEv kind:function(arm,size=0x2c) addr:0x020aa0c8
|
||||
_ZN11ItemManager15HasPurplePotionEv kind:function(arm,size=0x2c) addr:0x020aa0f4
|
||||
_ZN11ItemManager18RemovePurplePotionEv kind:function(arm,size=0x28) addr:0x020aa120
|
||||
_ZN11ItemManager15PotionSlotsFullEv kind:function(arm,size=0x2c) addr:0x020aa148
|
||||
_ZN11ItemManager19func_ov000_020a8974Ej kind:function(arm,size=0x10) addr:0x020aa174
|
||||
_ZN11ItemManager19func_ov000_020a8984Ei kind:function(arm,size=0x38) addr:0x020aa184
|
||||
_ZN11ItemManager19GetEquippedItemFlagEi kind:function(arm,size=0x38) addr:0x020aa184
|
||||
_ZN11ItemManager19func_ov000_020a89bcEv kind:function(thumb,size=0x18) addr:0x020aa1bc
|
||||
_ZN11ItemManager19func_ov000_020a89d4Ev kind:function(arm,size=0x38) addr:0x020aa1d4
|
||||
_ZN11ItemManager19func_ov000_020a8a0cEv kind:function(arm,size=0x50) addr:0x020aa20c
|
||||
|
||||
@@ -12,3 +12,10 @@ src/001_SceneInit/Actor/ActorManager_001.cpp:
|
||||
|
||||
src/001_SceneInit/Item/ItemManager_001.cpp:
|
||||
.text start:0x020bd240 end:0x020bd29c
|
||||
|
||||
src/001_SceneInit/CargoManager_001.cpp:
|
||||
complete
|
||||
.text start:0x020c1054 end:0x020c10c4
|
||||
|
||||
src/001_SceneInit/PassengerManager_001.cpp:
|
||||
.text start:0x020c10c4 end:0x020c12a4
|
||||
|
||||
@@ -2029,7 +2029,7 @@ from:0x020c0e9e kind:thumb_call_arm to:0x02011f3c module:main
|
||||
from:0x020c0eb0 kind:thumb_call to:0x0205a1c8 module:overlay(0)
|
||||
from:0x020c0ec4 kind:thumb_call_arm to:0x02011f3c module:main
|
||||
from:0x020c0ed6 kind:thumb_call_arm to:0x02011f3c module:main
|
||||
from:0x020c0ee8 kind:load to:0x020d8fc9 module:overlay(24)
|
||||
from:0x020c0ee8 kind:load to:0x020d8fc8 add:0x1 module:overlay(24)
|
||||
from:0x020c0eec kind:load to:0x020d9010 module:overlay(24)
|
||||
from:0x020c0f00 kind:thumb_call_arm to:0x02012000 module:main
|
||||
from:0x020c0f0e kind:thumb_call_arm to:0x02012000 module:main
|
||||
|
||||
@@ -387,20 +387,20 @@ func_ov001_020c0fbc kind:function(thumb,size=0x50) addr:0x020c0fbc
|
||||
func_ov001_020c100c kind:function(thumb,size=0x2e) addr:0x020c100c
|
||||
func_ov001_020c103c kind:function(thumb,size=0xc) addr:0x020c103c
|
||||
func_ov001_020c1048 kind:function(thumb,size=0xc) addr:0x020c1048
|
||||
func_ov001_020c1054 kind:function(thumb,size=0x22) addr:0x020c1054
|
||||
func_ov001_020c1078 kind:function(thumb,size=0xc) addr:0x020c1078
|
||||
func_ov001_020c1084 kind:function(thumb,size=0x28) addr:0x020c1084
|
||||
func_ov001_020c10ac kind:function(thumb,size=0xc) addr:0x020c10ac
|
||||
func_ov001_020c10b8 kind:function(thumb,size=0xc) addr:0x020c10b8
|
||||
func_ov001_020c10c4 kind:function(thumb,size=0x44) addr:0x020c10c4
|
||||
func_ov001_020c1108 kind:function(thumb,size=0x24) addr:0x020c1108
|
||||
func_ov001_020c112c kind:function(thumb,size=0xc) addr:0x020c112c
|
||||
func_ov001_020c1138 kind:function(thumb,size=0x28) addr:0x020c1138
|
||||
func_ov001_020c1160 kind:function(thumb,size=0x2) addr:0x020c1160
|
||||
func_ov001_020c1164 kind:function(thumb,size=0x10c) addr:0x020c1164
|
||||
func_ov001_020c1270 kind:function(thumb,size=0x1c) addr:0x020c1270
|
||||
func_ov001_020c128c kind:function(thumb,size=0xc) addr:0x020c128c
|
||||
func_ov001_020c1298 kind:function(thumb,size=0xc) addr:0x020c1298
|
||||
_ZN12CargoManagerC1Ev kind:function(thumb,size=0x22) addr:0x020c1054
|
||||
_ZN12CargoManagerD1Ev kind:function(thumb,size=0xc) addr:0x020c1078
|
||||
_ZN12CargoManager19func_ov001_020bf830Ev kind:function(thumb,size=0x28) addr:0x020c1084
|
||||
_ZN12CargoManager11SetInstanceEPS_ kind:function(thumb,size=0xc) addr:0x020c10ac
|
||||
_ZN12CargoManager13ClearInstanceEv kind:function(thumb,size=0xc) addr:0x020c10b8
|
||||
_ZN16PassengerManager19func_ov001_020bf870Ev kind:function(thumb,size=0x44) addr:0x020c10c4
|
||||
_ZN16PassengerManagerC1Ev kind:function(thumb,size=0x24) addr:0x020c1108
|
||||
_ZN16PassengerManagerD1Ev kind:function(thumb,size=0xc) addr:0x020c112c
|
||||
_ZN16PassengerManager19func_ov001_020bf8e4Ev kind:function(thumb,size=0x28) addr:0x020c1138
|
||||
_ZN16PassengerManager19func_ov001_020bf90cEv kind:function(thumb,size=0x2) addr:0x020c1160
|
||||
_ZN16PassengerManager19func_ov001_020bf910Ev kind:function(thumb,size=0x10c) addr:0x020c1164
|
||||
_ZN16PassengerManager19func_ov001_020bfa1cEv kind:function(thumb,size=0x1c) addr:0x020c1270
|
||||
_ZN16PassengerManager11SetInstanceEPS_ kind:function(thumb,size=0xc) addr:0x020c128c
|
||||
_ZN16PassengerManager13ClearInstanceEv kind:function(thumb,size=0xc) addr:0x020c1298
|
||||
func_ov001_020c12a4 kind:function(thumb,size=0xc2) addr:0x020c12a4
|
||||
func_ov001_020c1368 kind:function(thumb,size=0xc) addr:0x020c1368
|
||||
func_ov001_020c1374 kind:function(thumb,size=0x1a0) addr:0x020c1374
|
||||
|
||||
@@ -4,3 +4,8 @@
|
||||
.ctor start:0x020c570c end:0x020c5718 kind:rodata align:4
|
||||
.data start:0x020c5720 end:0x020c5780 kind:data align:32
|
||||
.bss start:0x020c5780 end:0x020c6060 kind:bss align:32
|
||||
|
||||
src/017_CourseExec/CargoManager_017.cpp:
|
||||
complete
|
||||
.text start:0x020c01f8 end:0x020c0504
|
||||
.rodata start:0x020c55ec end:0x020c5618
|
||||
|
||||
@@ -375,22 +375,22 @@ from:0x020c0358 kind:arm_call to:0x020cec30 module:overlay(24)
|
||||
from:0x020c0370 kind:load to:0x027e09a4 module:dtcm
|
||||
from:0x020c0374 kind:load to:0x020c55ec module:overlay(17)
|
||||
from:0x020c0378 kind:load to:0x020da038 module:overlay(24)
|
||||
from:0x020c037c kind:load to:0x020c55f0 module:overlay(17)
|
||||
from:0x020c037c kind:load to:0x020c55ec add:0x4 module:overlay(17)
|
||||
from:0x020c03a4 kind:arm_call to:0x0205decc module:overlay(0)
|
||||
from:0x020c03a8 kind:arm_call to:0x020d6688 module:overlay(24)
|
||||
from:0x020c03d0 kind:arm_call to:0x0205decc module:overlay(0)
|
||||
from:0x020c03d8 kind:arm_call to:0x020d6688 module:overlay(24)
|
||||
from:0x020c03e4 kind:arm_call to:0x020d6638 module:overlay(24)
|
||||
from:0x020c03f0 kind:arm_call to:0x020cec60 module:overlays(20,24)
|
||||
from:0x020c03f0 kind:arm_call to:0x020cec60 module:overlay(24)
|
||||
from:0x020c03fc kind:arm_call to:0x020cec40 module:overlay(24)
|
||||
from:0x020c0404 kind:load to:0x020da038 module:overlay(24)
|
||||
from:0x020c0430 kind:arm_call to:0x020c0498 module:overlay(17)
|
||||
from:0x020c043c kind:arm_call to:0x020cec20 module:overlay(24)
|
||||
from:0x020c0444 kind:load to:0x020c55ee module:overlay(17)
|
||||
from:0x020c0444 kind:load to:0x020c55ec add:0x2 module:overlay(17)
|
||||
from:0x020c0448 kind:load to:0x020da038 module:overlay(24)
|
||||
from:0x020c047c kind:arm_call to:0x020c0498 module:overlay(17)
|
||||
from:0x020c0488 kind:arm_call to:0x020cec20 module:overlay(24)
|
||||
from:0x020c0490 kind:load to:0x020c55ef module:overlay(17)
|
||||
from:0x020c0490 kind:load to:0x020c55ec add:0x3 module:overlay(17)
|
||||
from:0x020c0494 kind:load to:0x020da038 module:overlay(24)
|
||||
from:0x020c04d4 kind:arm_call to:0x01ffd3d8 module:itcm
|
||||
from:0x020c04f4 kind:arm_call to:0x02108d04 module:overlay(26)
|
||||
|
||||
@@ -40,15 +40,15 @@ func_ov017_020bfb18 kind:function(arm,size=0x148) addr:0x020bfb18
|
||||
func_ov017_020bfc60 kind:function(arm,size=0x18) addr:0x020bfc60
|
||||
func_ov017_020bfc78 kind:function(arm,size=0x45c) addr:0x020bfc78
|
||||
func_ov017_020c00d4 kind:function(arm,size=0x124) addr:0x020c00d4
|
||||
func_ov017_020c01f8 kind:function(arm,size=0x18) addr:0x020c01f8
|
||||
func_ov017_020c0210 kind:function(arm,size=0x30) addr:0x020c0210
|
||||
func_ov017_020c0240 kind:function(arm,size=0x140) addr:0x020c0240
|
||||
func_ov017_020c0380 kind:function(arm,size=0x30) addr:0x020c0380
|
||||
func_ov017_020c03b0 kind:function(arm,size=0x58) addr:0x020c03b0
|
||||
func_ov017_020c0408 kind:function(arm,size=0x44) addr:0x020c0408
|
||||
func_ov017_020c044c kind:function(arm,size=0x4c) addr:0x020c044c
|
||||
func_ov017_020c0498 kind:function(arm,size=0x30) addr:0x020c0498
|
||||
func_ov017_020c04c8 kind:function(arm,size=0x3c) addr:0x020c04c8
|
||||
_ZN12CargoManager8DoUpdateEv kind:function(arm,size=0x18) addr:0x020c01f8
|
||||
_ZN12CargoManager15IsNotUsingTimerEi kind:function(arm,size=0x30) addr:0x020c0210
|
||||
_ZN12CargoManager6UpdateEv kind:function(arm,size=0x140) addr:0x020c0240
|
||||
_ZN12CargoManager5ResetEv kind:function(arm,size=0x30) addr:0x020c0380
|
||||
_ZN12CargoManager4InitEii kind:function(arm,size=0x58) addr:0x020c03b0
|
||||
_ZN12CargoManager19func_ov017_020bebdcEv kind:function(arm,size=0x44) addr:0x020c0408
|
||||
_ZN12CargoManager19func_ov017_020bec20Ev kind:function(arm,size=0x4c) addr:0x020c044c
|
||||
_ZN12CargoManager12RemoveAmountEi kind:function(arm,size=0x30) addr:0x020c0498
|
||||
_ZN12CargoManager19func_ov017_020bec9cEv kind:function(arm,size=0x3c) addr:0x020c04c8
|
||||
func_ov017_020c0504 kind:function(arm,size=0x148) addr:0x020c0504
|
||||
func_ov017_020c064c kind:function(arm,size=0x44) addr:0x020c064c
|
||||
func_ov017_020c0690 kind:function(arm,size=0x20) addr:0x020c0690
|
||||
@@ -167,10 +167,7 @@ func_ov017_020c53ec kind:function(arm,size=0xa4) addr:0x020c53ec
|
||||
func_ov017_020c5490 kind:function(arm,size=0x40) addr:0x020c5490
|
||||
func_ov017_020c54d0 kind:function(arm,size=0xf4) addr:0x020c54d0
|
||||
func_ov017_020c55c4 kind:function(arm,size=0x28) addr:0x020c55c4
|
||||
data_ov017_020c55ec kind:data(any) addr:0x020c55ec
|
||||
data_ov017_020c55ee kind:data(any) addr:0x020c55ee
|
||||
data_ov017_020c55ef kind:data(any) addr:0x020c55ef
|
||||
data_ov017_020c55f0 kind:data(any) addr:0x020c55f0
|
||||
sCargoInfos kind:data(byte[42]) addr:0x020c55ec local
|
||||
data_ov017_020c5618 kind:data(any) addr:0x020c5618
|
||||
__sinit_ov017_020c5650 kind:function(arm,size=0x6c) addr:0x020c5650
|
||||
__sinit_ov017_020c56bc kind:function(arm,size=0x38) addr:0x020c56bc
|
||||
|
||||
@@ -5,6 +5,14 @@
|
||||
.data start:0x020d9500 end:0x020da000 kind:data align:32
|
||||
.bss start:0x020da000 end:0x020da0c0 kind:bss align:32
|
||||
|
||||
src/024_MainGame/PassengerManager.cpp:
|
||||
.text start:0x020d5a74 end:0x020d6008
|
||||
.rodata start:0x020d8f48 end:0x020d8fc8
|
||||
|
||||
src/024_MainGame/CargoManager_024.cpp:
|
||||
complete
|
||||
.text start:0x020d7258 end:0x020d72dc
|
||||
|
||||
src/024_MainGame/MiscAdvManager.cpp:
|
||||
.text start:0x020d7c58 end:0x020d7ff4
|
||||
|
||||
|
||||
@@ -2180,9 +2180,9 @@ from:0x020d59e8 kind:load to:0x020d8f1c module:overlay(24)
|
||||
from:0x020d5a40 kind:arm_call_thumb to:0x020d56ec module:overlay(24)
|
||||
from:0x020d5aa0 kind:load to:0x020d8f48 module:overlay(24)
|
||||
from:0x020d5aa8 kind:arm_call to:0x020d5a74 module:overlay(24)
|
||||
from:0x020d5ac4 kind:load to:0x020d8f4c module:overlay(24)
|
||||
from:0x020d5ac4 kind:load to:0x020d8f48 add:0x4 module:overlay(24)
|
||||
from:0x020d5acc kind:arm_call to:0x020d5a74 module:overlay(24)
|
||||
from:0x020d5ae8 kind:load to:0x020d8f4e module:overlay(24)
|
||||
from:0x020d5ae8 kind:load to:0x020d8f48 add:0x6 module:overlay(24)
|
||||
from:0x020d5afc kind:arm_call to:0x02011f3c module:main
|
||||
from:0x020d5b08 kind:arm_call_thumb to:0x020c1108 module:overlay(1)
|
||||
from:0x020d5b40 kind:arm_call to:0x020d5b7c module:overlay(24)
|
||||
@@ -2246,7 +2246,7 @@ from:0x020d620c kind:load to:0x020d9000 module:overlay(24)
|
||||
from:0x020d6210 kind:load to:0x020d8ff0 module:overlay(24)
|
||||
from:0x020d6214 kind:load to:0x020d8fe0 module:overlay(24)
|
||||
from:0x020d6218 kind:load to:0x020d8fd0 module:overlay(24)
|
||||
from:0x020d6228 kind:load to:0x020d8fc9 module:overlay(24)
|
||||
from:0x020d6228 kind:load to:0x020d8fc8 add:0x1 module:overlay(24)
|
||||
from:0x020d6258 kind:arm_call to:0x020d6b18 module:overlay(24)
|
||||
from:0x020d6264 kind:arm_call_thumb to:0x02059f64 module:overlay(0)
|
||||
from:0x020d62a8 kind:arm_call to:0x020d68ac module:overlay(24)
|
||||
|
||||
@@ -351,11 +351,11 @@ func_ov024_020ceb98 kind:function(arm,size=0x10) addr:0x020ceb98
|
||||
func_ov024_020ceba8 kind:function(arm,size=0x10) addr:0x020ceba8
|
||||
_ZN18UnkStruct_020d869819func_ov024_020cd368Ebb kind:function(arm,size=0x3c) addr:0x020cebb8
|
||||
func_ov024_020cebf4 kind:function(arm,size=0x2c) addr:0x020cebf4
|
||||
func_ov024_020cec20 kind:function(arm,size=0x10) addr:0x020cec20
|
||||
func_ov024_020cec30 kind:function(arm,size=0x10) addr:0x020cec30
|
||||
func_ov024_020cec40 kind:function(arm,size=0x10) addr:0x020cec40
|
||||
_ZN18UnkStruct_020d869819func_ov024_020cd3d0Ev kind:function(arm,size=0x10) addr:0x020cec20
|
||||
_ZN18UnkStruct_020d869819func_ov024_020cd3e0Ei kind:function(arm,size=0x10) addr:0x020cec30
|
||||
_ZN18UnkStruct_020d869819func_ov024_020cd3f0Ei kind:function(arm,size=0x10) addr:0x020cec40
|
||||
func_ov024_020cec50 kind:function(arm,size=0x10) addr:0x020cec50
|
||||
func_ov024_020cec60 kind:function(arm,size=0x10) addr:0x020cec60
|
||||
_ZN18UnkStruct_020d869819func_ov024_020cd410Ev kind:function(arm,size=0x10) addr:0x020cec60
|
||||
func_ov024_020cec70 kind:function(arm,size=0x38) addr:0x020cec70
|
||||
_ZN18UnkStruct_020d869819func_ov024_020cd458Eji kind:function(arm,size=0x4c) addr:0x020ceca8
|
||||
func_ov024_020cecf4 kind:function(arm,size=0x40) addr:0x020cecf4
|
||||
@@ -567,7 +567,7 @@ func_ov024_020d56d4 kind:function(thumb,size=0x18) addr:0x020d56d4
|
||||
_ZN21UnkStruct_027e0ce0_3419func_ov024_020d3d98Eii kind:function(thumb,size=0x10) addr:0x020d56ec
|
||||
func_ov024_020d56fc kind:function(thumb,size=0x16) addr:0x020d56fc
|
||||
func_ov024_020d5714 kind:function(thumb,size=0xa) addr:0x020d5714
|
||||
func_ov024_020d5720 kind:function(thumb,size=0x20) addr:0x020d5720
|
||||
_ZN21UnkStruct_027e0ce0_3419func_ov024_020d3dccEv kind:function(thumb,size=0x20) addr:0x020d5720
|
||||
func_ov024_020d5740 kind:function(arm,size=0x20) addr:0x020d5740
|
||||
func_ov024_020d5760 kind:function(arm,size=0x24) addr:0x020d5760
|
||||
func_ov024_020d5784 kind:function(arm,size=0x38) addr:0x020d5784
|
||||
@@ -579,33 +579,33 @@ func_ov024_020d591c kind:function(arm,size=0x40) addr:0x020d591c
|
||||
func_ov024_020d595c kind:function(arm,size=0x44) addr:0x020d595c
|
||||
func_ov024_020d59a0 kind:function(arm,size=0x4c) addr:0x020d59a0
|
||||
func_ov024_020d59ec kind:function(arm,size=0x88) addr:0x020d59ec
|
||||
func_ov024_020d5a74 kind:function(arm,size=0x30) addr:0x020d5a74
|
||||
func_ov024_020d5aa4 kind:function(arm,size=0x24) addr:0x020d5aa4
|
||||
func_ov024_020d5ac8 kind:function(arm,size=0x24) addr:0x020d5ac8
|
||||
func_ov024_020d5aec kind:function(arm,size=0x24) addr:0x020d5aec
|
||||
func_ov024_020d5b10 kind:function(arm,size=0x38) addr:0x020d5b10
|
||||
func_ov024_020d5b48 kind:function(arm,size=0x34) addr:0x020d5b48
|
||||
func_ov024_020d5b7c kind:function(arm,size=0x30) addr:0x020d5b7c
|
||||
func_ov024_020d5bac kind:function(arm,size=0x30) addr:0x020d5bac
|
||||
func_ov024_020d5bdc kind:function(arm,size=0x7c) addr:0x020d5bdc
|
||||
func_ov024_020d5c58 kind:function(arm,size=0x28) addr:0x020d5c58
|
||||
func_ov024_020d5c80 kind:function(arm,size=0x50) addr:0x020d5c80
|
||||
func_ov024_020d5cd0 kind:function(arm,size=0x34) addr:0x020d5cd0
|
||||
func_ov024_020d5d04 kind:function(arm,size=0x3c) addr:0x020d5d04
|
||||
func_ov024_020d5d40 kind:function(arm,size=0x48) addr:0x020d5d40
|
||||
func_ov024_020d5d88 kind:function(arm,size=0x54) addr:0x020d5d88
|
||||
func_ov024_020d5ddc kind:function(arm,size=0x8) addr:0x020d5ddc
|
||||
func_ov024_020d5de4 kind:function(arm,size=0x30) addr:0x020d5de4
|
||||
func_ov024_020d5e14 kind:function(arm,size=0x3c) addr:0x020d5e14
|
||||
func_ov024_020d5e50 kind:function(arm,size=0x24) addr:0x020d5e50
|
||||
func_ov024_020d5e74 kind:function(arm,size=0x8) addr:0x020d5e74
|
||||
func_ov024_020d5e7c kind:function(arm,size=0x2c) addr:0x020d5e7c
|
||||
func_ov024_020d5ea8 kind:function(arm,size=0x10) addr:0x020d5ea8
|
||||
func_ov024_020d5eb8 kind:function(arm,size=0x4c) addr:0x020d5eb8
|
||||
func_ov024_020d5f04 kind:function(arm,size=0x14) addr:0x020d5f04
|
||||
func_ov024_020d5f18 kind:function(arm,size=0x1c) addr:0x020d5f18
|
||||
func_ov024_020d5f34 kind:function(arm,size=0x5c) addr:0x020d5f34
|
||||
func_ov024_020d5f90 kind:function(arm,size=0x78) addr:0x020d5f90
|
||||
_ZN16PassengerManager21GetPassengerInfoIndexEj kind:function(arm,size=0x30) addr:0x020d5a74
|
||||
_ZN16PassengerManager12GetBoardFlagEj kind:function(arm,size=0x24) addr:0x020d5aa4
|
||||
_ZN16PassengerManager11GetFailFlagEj kind:function(arm,size=0x24) addr:0x020d5ac8
|
||||
_ZN16PassengerManager6CreateEv kind:function(arm,size=0x24) addr:0x020d5aec
|
||||
_ZN16PassengerManager19func_ov024_020d41bcEP16UnkStruct_Param1 kind:function(arm,size=0x38) addr:0x020d5b10
|
||||
_ZN16PassengerManager19func_ov024_020d41f4EP16UnkStruct_Param1 kind:function(arm,size=0x34) addr:0x020d5b48
|
||||
_ZN16PassengerManager19func_ov024_020d4228Ev kind:function(arm,size=0x30) addr:0x020d5b7c
|
||||
_ZN16PassengerManager19func_ov024_020d4258Ev kind:function(arm,size=0x30) addr:0x020d5bac
|
||||
_ZN16PassengerManager13TryBoardTrainEjjj kind:function(arm,size=0x7c) addr:0x020d5bdc
|
||||
_ZN16PassengerManager8TryResetEv kind:function(arm,size=0x28) addr:0x020d5c58
|
||||
_ZN16PassengerManager21TryResetAtDestinationEv kind:function(arm,size=0x50) addr:0x020d5c80
|
||||
_ZN16PassengerManager18ReachedDestinationEjj kind:function(arm,size=0x34) addr:0x020d5cd0
|
||||
_ZN16PassengerManager21TrySetCaughtByPiratesEv kind:function(arm,size=0x3c) addr:0x020d5d04
|
||||
_ZN16PassengerManager23CaughtByPiratesTryResetEv kind:function(arm,size=0x48) addr:0x020d5d40
|
||||
_ZN16PassengerManager13GiveHappinessEi kind:function(arm,size=0x54) addr:0x020d5d88
|
||||
_ZN16PassengerManager12GetHappinessEv kind:function(arm,size=0x8) addr:0x020d5ddc
|
||||
_ZN16PassengerManager16GetHappinessCondEv kind:function(arm,size=0x30) addr:0x020d5de4
|
||||
_ZN16PassengerManager15CanCompleteTripEv kind:function(arm,size=0x3c) addr:0x020d5e14
|
||||
_ZN16PassengerManager17IsCaughtByPiratesEv kind:function(arm,size=0x24) addr:0x020d5e50
|
||||
_ZN16PassengerManager10GetActorIdEv kind:function(arm,size=0x8) addr:0x020d5e74
|
||||
_ZN16PassengerManager11GetInstanceEv kind:function(arm,size=0x2c) addr:0x020d5e7c
|
||||
_ZN16PassengerManager19func_ov024_020d4554Ev kind:function(arm,size=0x10) addr:0x020d5ea8
|
||||
_ZN16PassengerManager5ResetEv kind:function(arm,size=0x4c) addr:0x020d5eb8
|
||||
_ZN16PassengerManager11IsDateUnsetEv kind:function(arm,size=0x14) addr:0x020d5f04
|
||||
_ZN16PassengerManager7GetDateEv kind:function(arm,size=0x1c) addr:0x020d5f18
|
||||
_ZN16PassengerManager14GetRandomIndexEji kind:function(arm,size=0x5c) addr:0x020d5f34
|
||||
_ZN16PassengerManager13SetFailedFlagEv kind:function(arm,size=0x78) addr:0x020d5f90
|
||||
func_ov024_020d6008 kind:function(arm,size=0x10) addr:0x020d6008
|
||||
func_ov024_020d6018 kind:function(arm,size=0x70) addr:0x020d6018
|
||||
func_ov024_020d6088 kind:function(arm,size=0x60) addr:0x020d6088
|
||||
@@ -623,8 +623,8 @@ func_ov024_020d6408 kind:function(arm,size=0x40) addr:0x020d6408
|
||||
func_ov024_020d6448 kind:function(arm,size=0xcc) addr:0x020d6448
|
||||
func_ov024_020d6514 kind:function(arm,size=0x5c) addr:0x020d6514
|
||||
func_ov024_020d6570 kind:function(arm,size=0xc8) addr:0x020d6570
|
||||
func_ov024_020d6638 kind:function(arm,size=0x50) addr:0x020d6638
|
||||
func_ov024_020d6688 kind:function(arm,size=0x34) addr:0x020d6688
|
||||
_ZN18UnkStruct_027e0d0019func_ov024_020d4cc0Ei kind:function(arm,size=0x50) addr:0x020d6638
|
||||
_ZN18UnkStruct_027e0d0019func_ov024_020d4d10Ev kind:function(arm,size=0x34) addr:0x020d6688
|
||||
func_ov024_020d66bc kind:function(arm,size=0x54) addr:0x020d66bc
|
||||
func_ov024_020d6710 kind:function(arm,size=0x8c) addr:0x020d6710
|
||||
func_ov024_020d679c kind:function(arm,size=0x44) addr:0x020d679c
|
||||
@@ -653,11 +653,11 @@ func_ov024_020d6e94 kind:function(arm,size=0x4) addr:0x020d6e94
|
||||
func_ov024_020d6e98 kind:function(arm,size=0x138) addr:0x020d6e98
|
||||
func_ov024_020d6fd0 kind:function(arm,size=0x240) addr:0x020d6fd0
|
||||
func_ov024_020d7210 kind:function(arm,size=0x48) addr:0x020d7210
|
||||
func_ov024_020d7258 kind:function(arm,size=0x24) addr:0x020d7258
|
||||
func_ov024_020d727c kind:function(arm,size=0x14) addr:0x020d727c
|
||||
func_ov024_020d7290 kind:function(arm,size=0x14) addr:0x020d7290
|
||||
func_ov024_020d72a4 kind:function(arm,size=0x1c) addr:0x020d72a4
|
||||
func_ov024_020d72c0 kind:function(arm,size=0x1c) addr:0x020d72c0
|
||||
_ZN12CargoManager6CreateEv kind:function(arm,size=0x24) addr:0x020d7258
|
||||
_ZN12CargoManager8SetCargoEii kind:function(arm,size=0x14) addr:0x020d727c
|
||||
_ZN12CargoManager16GetTypeAndAmountEPiS0_ kind:function(arm,size=0x14) addr:0x020d7290
|
||||
_ZN12CargoManager19func_ov024_020d5900Ev kind:function(arm,size=0x1c) addr:0x020d72a4
|
||||
_ZN12CargoManager19func_ov024_020d591cEv kind:function(arm,size=0x1c) addr:0x020d72c0
|
||||
func_ov024_020d72dc kind:function(arm,size=0x40) addr:0x020d72dc
|
||||
func_ov024_020d731c kind:function(arm,size=0x18) addr:0x020d731c
|
||||
func_ov024_020d7334 kind:function(arm,size=0x16c) addr:0x020d7334
|
||||
@@ -742,10 +742,8 @@ data_ov024_020d8f14 kind:data(any) addr:0x020d8f14
|
||||
data_ov024_020d8f1c kind:data(any) addr:0x020d8f1c
|
||||
data_ov024_020d8f2c kind:data(any) addr:0x020d8f2c
|
||||
data_ov024_020d8f3c kind:data(any) addr:0x020d8f3c ambiguous
|
||||
data_ov024_020d8f48 kind:data(any) addr:0x020d8f48
|
||||
data_ov024_020d8f4c kind:data(any) addr:0x020d8f4c
|
||||
data_ov024_020d8f4e kind:data(any) addr:0x020d8f4e
|
||||
data_ov024_020d8fc9 kind:data(any) addr:0x020d8fc9
|
||||
sPassengerInfos kind:data(any) addr:0x020d8f48
|
||||
data_ov024_020d8fc8 kind:data(any) addr:0x020d8fc8
|
||||
data_ov024_020d8fd0 kind:data(any) addr:0x020d8fd0
|
||||
data_ov024_020d8fe0 kind:data(any) addr:0x020d8fe0
|
||||
data_ov024_020d8ff0 kind:data(any) addr:0x020d8ff0
|
||||
|
||||
@@ -1127,7 +1127,7 @@ func_ov026_02108ce0 kind:function(arm,size=0x4) addr:0x02108ce0
|
||||
func_ov026_02108ce4 kind:function(arm,size=0x4) addr:0x02108ce4
|
||||
func_ov026_02108ce8 kind:function(arm,size=0x8) addr:0x02108ce8
|
||||
func_ov026_02108cf0 kind:function(arm,size=0x14) addr:0x02108cf0
|
||||
func_ov026_02108d04 kind:function(arm,size=0x14) addr:0x02108d04
|
||||
_ZN25UnkStruct_027e0cd8_0c_16019func_ov026_02106aa8Ev kind:function(arm,size=0x14) addr:0x02108d04
|
||||
func_ov026_02108d18 kind:function(arm,size=0x84) addr:0x02108d18
|
||||
func_ov026_02108d9c kind:function(arm,size=0x4c) addr:0x02108d9c
|
||||
func_ov026_02108de8 kind:function(arm,size=0x64) addr:0x02108de8
|
||||
|
||||
@@ -26,9 +26,9 @@ public:
|
||||
/* A4 */ u32 mUnk_A4;
|
||||
/* A8 */ u32 mUnk_A8;
|
||||
/* AC */ bool mUnk_AC;
|
||||
/* AC */ unk8 mUnk_AD; // pad?
|
||||
/* AC */ unk8 mUnk_AE; // pad?
|
||||
/* AC */ unk8 mUnk_AF; // pad?
|
||||
/* AC */ unk8 mUnk_AD; // pad?
|
||||
/* AC */ unk8 mUnk_AE; // pad?
|
||||
/* AC */ unk8 mUnk_AF; // pad?
|
||||
/* B0 */ ActorUnkSWTM_B0 mUnk_B0[5]; // unused?
|
||||
/* C4 */
|
||||
|
||||
|
||||
@@ -17,20 +17,20 @@ enum CutsceneIndex_ {
|
||||
/* 8 */ CutsceneIndex_WalkingToSpiritTower,
|
||||
/* 9 */ CutsceneIndex_FirstAnjeanMeeting,
|
||||
/* 10 */ CutsceneIndex_FirstPhantomPossession,
|
||||
/* 11 */ CutsceneIndex_ForestTempleCompleted_01, // Altar appearing in boss room
|
||||
/* 12 */ CutsceneIndex_ForestTempleCompleted_02, // Forest Realm Spirit Tracks restoring
|
||||
/* 13 */ CutsceneIndex_ForestTempleCompleted_03, // First part of Spirit Tower split re-attatching
|
||||
/* 14 */ CutsceneIndex_BlizzardTempleCompleted_01, // Altar appearing in boss room
|
||||
/* 15 */ CutsceneIndex_BlizzardTempleCompleted_02, // Snow Realm Spirit Tracks restoring
|
||||
/* 16 */ CutsceneIndex_BlizzardTempleCompleted_03, // Second part of Spirit Tower split re-attatching
|
||||
/* 17 */ CutsceneIndex_MarineTempleCompleted_01, // Altar appearing in boss room
|
||||
/* 18 */ CutsceneIndex_MarineTempleCompleted_02, // Ocean Realm Spirit Tracks restoring
|
||||
/* 19 */ CutsceneIndex_MarineTempleCompleted_03, // Third part of Spirit Tower split re-attatching
|
||||
/* 11 */ CutsceneIndex_ForestTempleCompleted_01, // Altar appearing in boss room
|
||||
/* 12 */ CutsceneIndex_ForestTempleCompleted_02, // Forest Realm Spirit Tracks restoring
|
||||
/* 13 */ CutsceneIndex_ForestTempleCompleted_03, // First part of Spirit Tower split re-attatching
|
||||
/* 14 */ CutsceneIndex_BlizzardTempleCompleted_01, // Altar appearing in boss room
|
||||
/* 15 */ CutsceneIndex_BlizzardTempleCompleted_02, // Snow Realm Spirit Tracks restoring
|
||||
/* 16 */ CutsceneIndex_BlizzardTempleCompleted_03, // Second part of Spirit Tower split re-attatching
|
||||
/* 17 */ CutsceneIndex_MarineTempleCompleted_01, // Altar appearing in boss room
|
||||
/* 18 */ CutsceneIndex_MarineTempleCompleted_02, // Ocean Realm Spirit Tracks restoring
|
||||
/* 19 */ CutsceneIndex_MarineTempleCompleted_03, // Third part of Spirit Tower split re-attatching
|
||||
/* 20 */ CutsceneIndex_StavenInTOSAfterFireGlyph_01, // Staven appearing in ToS
|
||||
/* 21 */ CutsceneIndex_StavenInTOSAfterFireGlyph_02, // Zelda and Link falling inside tower's lobby
|
||||
/* 22 */ CutsceneIndex_MountainTempleCompleted_01, // Altar appearing in boss room
|
||||
/* 23 */ CutsceneIndex_MountainTempleCompleted_02, // Fire Realm Spirit Tracks restoring
|
||||
/* 24 */ CutsceneIndex_MountainTempleCompleted_03, // Fourth part of Spirit Tower split re-attatching
|
||||
/* 22 */ CutsceneIndex_MountainTempleCompleted_01, // Altar appearing in boss room
|
||||
/* 23 */ CutsceneIndex_MountainTempleCompleted_02, // Fire Realm Spirit Tracks restoring
|
||||
/* 24 */ CutsceneIndex_MountainTempleCompleted_03, // Fourth part of Spirit Tower split re-attatching
|
||||
/* 25 */ CutsceneIndex_StavenPreBattle,
|
||||
/* 26 */ CutsceneIndex_StavenPostBattle,
|
||||
/* 27 */ CutsceneIndex_MalladusOnTOSSummit_01, // Malladus appearing
|
||||
|
||||
@@ -63,11 +63,11 @@ class FileSelectMicTest : public GameModeManagerBase_104 {
|
||||
public:
|
||||
/* 000 (base) */
|
||||
/* 01C */ FSMicTestState mState;
|
||||
/* 020 */ UnkSystem2_UnkSubSystem5 mUnk_020; // "mic test" string
|
||||
/* 020 */ UnkSystem2_UnkSubSystem5 mUnk_020; // "mic test" string
|
||||
/* 258 */ UnkStruct_ov019_020d24c8_28_258 mUnk_258; // "mic test" background
|
||||
/* 270 */ UnkStruct_ov019_020d24c8_28_270 mUnk_270; // microphone level display (green to red bars + background)
|
||||
/* 304 */ UnkStruct_ov019_020d24c8_28_304 mUnk_304; // "go back" arrow
|
||||
/* 3F8 */ UnkSystem2_UnkSubSystem5 mUnk_3F8; // "please face the mic" string
|
||||
/* 3F8 */ UnkSystem2_UnkSubSystem5 mUnk_3F8; // "please face the mic" string
|
||||
/* 630 */ bool mUnk_630;
|
||||
/* 631 */ unk8 mUnk_631;
|
||||
/* 632 */ unk8 mUnk_632;
|
||||
|
||||
@@ -51,20 +51,20 @@ public:
|
||||
/* 0008 */ UnkStruct_ov019_020d24c8_28_258 mUnk_008;
|
||||
|
||||
// message speed
|
||||
/* 0020 */ UnkSystem2_UnkSubSystem5 mUnk_020; // label
|
||||
/* 0258 */ UnkSystem2_UnkSubSystem5 mUnk_258; // current string
|
||||
/* 0020 */ UnkSystem2_UnkSubSystem5 mUnk_020; // label
|
||||
/* 0258 */ UnkSystem2_UnkSubSystem5 mUnk_258; // current string
|
||||
/* 0490 */ UnkSystem2_UnkSubSystem1_Derived1 mUnk_490; // left arrow
|
||||
/* 04F0 */ UnkSystem2_UnkSubSystem1_Derived1 mUnk_4F0; // right arrow
|
||||
|
||||
// sound settings
|
||||
/* 0550 */ UnkSystem2_UnkSubSystem5 mUnk_550; // label
|
||||
/* 0788 */ UnkSystem2_UnkSubSystem5 mUnk_788; // current string
|
||||
/* 0550 */ UnkSystem2_UnkSubSystem5 mUnk_550; // label
|
||||
/* 0788 */ UnkSystem2_UnkSubSystem5 mUnk_788; // current string
|
||||
/* 09C0 */ UnkSystem2_UnkSubSystem1_Derived1 mUnk_9C0; // left arrow
|
||||
/* 0A20 */ UnkSystem2_UnkSubSystem1_Derived1 mUnk_A20; // right arrow
|
||||
|
||||
// handedness
|
||||
/* 0A80 */ UnkSystem2_UnkSubSystem5 mUnk_A80; // label
|
||||
/* 0CB8 */ UnkSystem2_UnkSubSystem5 mUnk_CB8; // current type string
|
||||
/* 0A80 */ UnkSystem2_UnkSubSystem5 mUnk_A80; // label
|
||||
/* 0CB8 */ UnkSystem2_UnkSubSystem5 mUnk_CB8; // current type string
|
||||
/* 0EF0 */ UnkSystem2_UnkSubSystem1_Derived1 mUnk_EF0; // left arrow
|
||||
/* 0F50 */ UnkSystem2_UnkSubSystem1_Derived1 mUnk_F50; // right arrow
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ public:
|
||||
|
||||
// data_02044018 vtable
|
||||
/* 00 */ virtual ~GameModeBase();
|
||||
/* 08 */ virtual void vfunc_08(); // Init
|
||||
/* 08 */ virtual void vfunc_08(); // Init
|
||||
/* 0C */ virtual void vfunc_0C() = 0; // Update
|
||||
/* 10 */ virtual void vfunc_10();
|
||||
/* 14 */ virtual void vfunc_14();
|
||||
|
||||
+118
-118
@@ -100,124 +100,124 @@ enum ItemFlag_ {
|
||||
typedef s32 ItemId;
|
||||
typedef s16 ItemId_s16;
|
||||
enum ItemId_ {
|
||||
/* 0xFF */ ItemId_None = -1,
|
||||
/* 0x00 */ ItemId_Nothing = 0,
|
||||
/* 0x01 */ ItemId_NormalShield = 1,
|
||||
/* 0x02 */ ItemId_NormalSword = 2,
|
||||
/* 0x03 */ ItemId_Whirlwind = 3,
|
||||
/* 0x04 */ ItemId_BombBag = 4,
|
||||
/* 0x05 */ ItemId_NormalBow = 5,
|
||||
/* 0x06 */ ItemId_Boomerang = 6,
|
||||
/* 0x07 */ ItemId_Whip = 7,
|
||||
/* 0x08 */ ItemId_SandRod = 8,
|
||||
/* 0x09 */ ItemId_9 = 9,
|
||||
/* 0x0A */ ItemId_NormalKey = 10,
|
||||
/* 0x0B */ ItemId_BossKey = 11,
|
||||
/* 0x0C */ ItemId_GreenRupee = 12,
|
||||
/* 0x0D */ ItemId_BlueRupee = 13,
|
||||
/* 0x0E */ ItemId_RedRupee = 14,
|
||||
/* 0x0F */ ItemId_BigGreenRupee = 15,
|
||||
/* 0x10 */ ItemId_BigRedRupee = 16,
|
||||
/* 0x11 */ ItemId_BigGoldRupee = 17,
|
||||
/* 0x12 */ ItemId_ForceGem_18 = 18, // kidnapped papuchia man
|
||||
/* 0x13 */ ItemId_ForceGem_19 = 19, // ice for fish seller
|
||||
/* 0x14 */ ItemId_ForceGem_20 = 20, // goron lava house ice
|
||||
/* 0x15 */ ItemId_ForestGlyph = 21,
|
||||
/* 0x16 */ ItemId_SnowGlyph = 22,
|
||||
/* 0x17 */ ItemId_OceanGlyph = 23,
|
||||
/* 0x18 */ ItemId_FireGlyph = 24,
|
||||
/* 0x19 */ ItemId_25 = 25, // glyph after forest restoration song
|
||||
/* 0x1A */ ItemId_26 = 26, // glyph after restoration song
|
||||
/* 0x1B */ ItemId_27 = 27, // glyph after restoration song
|
||||
/* 0x1C */ ItemId_28 = 28, // glyph after restoration song
|
||||
/* 0x1D */ ItemId_29 = 29, // glyph after restoration song
|
||||
/* 0x1E */ ItemId_FinalTrack = 30, // unlocks the endgame portal
|
||||
/* 0x1F */ ItemId_31 = 31,
|
||||
/* 0x20 */ ItemId_32 = 32,
|
||||
/* 0x21 */ ItemId_33 = 33,
|
||||
/* 0x22 */ ItemId_34 = 34,
|
||||
/* 0x23 */ ItemId_ForceGem_35 = 35, // rightmost fire gem
|
||||
/* 0x24 */ ItemId_ForceGem_36 = 36, // right snow gem
|
||||
/* 0x25 */ ItemId_ForceGem_37 = 37, // top fire gem
|
||||
/* 0x26 */ ItemId_RecruitUniform = 38,
|
||||
/* 0x27 */ ItemId_PostmasterLetter = 39,
|
||||
/* 0x28 */ ItemId_HeartContainer = 40,
|
||||
/* 0x29 */ ItemId_QuiverMedium = 41,
|
||||
/* 0x2A */ ItemId_BombBagMedium = 42,
|
||||
/* 0x2B */ ItemId_ForceGem_43 = 43, // one of rightmost forest
|
||||
/* 0x2C */ ItemId_ForceGem_44 = 44, // the other rightmost forest, but more middle than top
|
||||
/* 0x2D */ ItemId_ForceGem_45 = 45, // the bottom-rightmost forest
|
||||
/* 0x2E */ ItemId_ForceGem_46 = 46, // the top-rightmost fire
|
||||
/* 0x2F */ ItemId_ForceGem_47 = 47, // the center forest
|
||||
/* 0x30 */ ItemId_ForceGem_48 = 48, // the middle-left forest
|
||||
/* 0x31 */ ItemId_ForceGem_49 = 49, // the below middle-left forest
|
||||
/* 0x32 */ ItemId_ForceGem_50 = 50,
|
||||
/* 0x33 */ ItemId_ForceGem_51 = 51,
|
||||
/* 0x34 */ ItemId_ForceGem_52 = 52,
|
||||
/* 0x35 */ ItemId_ForceGem_53 = 53,
|
||||
/* 0x36 */ ItemId_ForceGem_54 = 54,
|
||||
/* 0x37 */ ItemId_ForceGem_55 = 55,
|
||||
/* 0x38 */ ItemId_ForceGem_56 = 56,
|
||||
/* 0x39 */ ItemId_ForceGem_57 = 57,
|
||||
/* 0x3A */ ItemId_ForceGem_58 = 58,
|
||||
/* 0x3B */ ItemId_ForceGem_59 = 59,
|
||||
/* 0x3C */ ItemId_ForceGem_60 = 60,
|
||||
/* 0x3D */ ItemId_ForceGem_61 = 61,
|
||||
/* 0x3E */ ItemId_PanFlute = 62,
|
||||
/* 0x3F */ ItemId_StampBook = 63,
|
||||
/* 0x40 */ ItemId_LightBow = 64,
|
||||
/* 0x41 */ ItemId_LokomoSword = 65,
|
||||
/* 0x42 */ ItemId_TenPriceCard = 66,
|
||||
/* 0x43 */ ItemId_RedPotion = 67,
|
||||
/* 0x44 */ ItemId_PurplePotion = 68,
|
||||
/* 0x45 */ ItemId_YellowPotion = 69,
|
||||
/* 0x46 */ ItemId_DemonFossil = 70,
|
||||
/* 0x47 */ ItemId_StalfosSkull = 71,
|
||||
/* 0x48 */ ItemId_StarFragment = 72,
|
||||
/* 0x49 */ ItemId_BeeLarvae = 73,
|
||||
/* 0x4A */ ItemId_WoodHeart = 74,
|
||||
/* 0x4B */ ItemId_DarkPearlLoop = 75,
|
||||
/* 0x4C */ ItemId_WhitePearlLoop = 76,
|
||||
/* 0x4D */ ItemId_RutoCrown = 77,
|
||||
/* 0x4E */ ItemId_DragonScale = 78,
|
||||
/* 0x4F */ ItemId_PirateNecklace = 79,
|
||||
/* 0x50 */ ItemId_PalaceDish = 80,
|
||||
/* 0x51 */ ItemId_GoronAmber = 81,
|
||||
/* 0x52 */ ItemId_MysticJade = 82,
|
||||
/* 0x53 */ ItemId_AncientCoin = 83,
|
||||
/* 0x54 */ ItemId_PricelessStone = 84,
|
||||
/* 0x55 */ ItemId_RegalRing = 85,
|
||||
/* 0x56 */ ItemId_ArrowsRefill = 86,
|
||||
/* 0x57 */ ItemId_BombsRefill = 87,
|
||||
/* 0x58 */ ItemId_SoldOutSign = 88,
|
||||
/* 0x59 */ ItemId_AncientShield = 89,
|
||||
/* 0x5A */ ItemId_QuiverLarge = 90,
|
||||
/* 0x5B */ ItemId_BombBagLarge = 91,
|
||||
/* 0x5C */ ItemId_RandCommonTreasure = 92,
|
||||
/* 0x5D */ ItemId_RandUncommonTreasure = 93,
|
||||
/* 0x5E */ ItemId_RandRareTreasure = 94,
|
||||
/* 0x5F */ ItemId_RandLegendaryTreasure = 95,
|
||||
/* 0x60 */ ItemId_TearLight = 96,
|
||||
/* 0x61 */ ItemId_LightCompass = 97,
|
||||
/* 0x62 */ ItemId_ScrollSpinAttack = 98,
|
||||
/* 0x63 */ ItemId_ScrollBeam = 99,
|
||||
/* 0x64 */ ItemId_LinebeckLetter = 100,
|
||||
/* 0x65 */ ItemId_PanFluteSong_101 = 101,
|
||||
/* 0x66 */ ItemId_PanFluteSong_102 = 102,
|
||||
/* 0x67 */ ItemId_PanFluteSong_103 = 103,
|
||||
/* 0x68 */ ItemId_PanFluteSong_104 = 104,
|
||||
/* 0x69 */ ItemId_PanFluteSong_105 = 105,
|
||||
/* 0x6A */ ItemId_RabbitNet = 106,
|
||||
/* 0x6B */ ItemId_BeedleCard = 107,
|
||||
/* 0x6C */ ItemId_SilverCard = 108,
|
||||
/* 0x6D */ ItemId_GoldCard = 109,
|
||||
/* 0x6E */ ItemId_PlatinumCard = 110,
|
||||
/* 0x6F */ ItemId_DiamondCard = 111,
|
||||
/* 0x70 */ ItemId_FreebieCard = 112,
|
||||
/* 0x71 */ ItemId_QuintupleCard = 113,
|
||||
/* 0x72 */ ItemId_CarbenLetter = 114,
|
||||
/* 0x73 */ ItemId_RecruitUniform2 = 115,
|
||||
/* 0x74 */ ItemId_EngineerUniform = 116,
|
||||
/* 0xFF */ ItemId_None = -1,
|
||||
/* 0x00 */ ItemId_Nothing = 0,
|
||||
/* 0x01 */ ItemId_NormalShield = 1,
|
||||
/* 0x02 */ ItemId_NormalSword = 2,
|
||||
/* 0x03 */ ItemId_Whirlwind = 3,
|
||||
/* 0x04 */ ItemId_BombBag = 4,
|
||||
/* 0x05 */ ItemId_NormalBow = 5,
|
||||
/* 0x06 */ ItemId_Boomerang = 6,
|
||||
/* 0x07 */ ItemId_Whip = 7,
|
||||
/* 0x08 */ ItemId_SandRod = 8,
|
||||
/* 0x09 */ ItemId_9 = 9,
|
||||
/* 0x0A */ ItemId_NormalKey = 10,
|
||||
/* 0x0B */ ItemId_BossKey = 11,
|
||||
/* 0x0C */ ItemId_GreenRupee = 12,
|
||||
/* 0x0D */ ItemId_BlueRupee = 13,
|
||||
/* 0x0E */ ItemId_RedRupee = 14,
|
||||
/* 0x0F */ ItemId_BigGreenRupee = 15,
|
||||
/* 0x10 */ ItemId_BigRedRupee = 16,
|
||||
/* 0x11 */ ItemId_BigGoldRupee = 17,
|
||||
/* 0x12 */ ItemId_ForceGem_18 = 18, // kidnapped papuchia man
|
||||
/* 0x13 */ ItemId_ForceGem_19 = 19, // ice for fish seller
|
||||
/* 0x14 */ ItemId_ForceGem_20 = 20, // goron lava house ice
|
||||
/* 0x15 */ ItemId_ForestGlyph = 21,
|
||||
/* 0x16 */ ItemId_SnowGlyph = 22,
|
||||
/* 0x17 */ ItemId_OceanGlyph = 23,
|
||||
/* 0x18 */ ItemId_FireGlyph = 24,
|
||||
/* 0x19 */ ItemId_RestoredForestGlyph = 25, // glyph after forest restoration song
|
||||
/* 0x1A */ ItemId_RestoredSnowGlyph = 26, // glyph after restoration song
|
||||
/* 0x1B */ ItemId_RestoredOceanGlyph = 27, // glyph after restoration song
|
||||
/* 0x1C */ ItemId_RestoredFireGlyph = 28, // glyph after restoration song
|
||||
/* 0x1D */ ItemId_RestoredDesertOceanGlyph = 29, // glyph after restoration song
|
||||
/* 0x1E */ ItemId_FinalTrack = 30, // unlocks the endgame portal
|
||||
/* 0x1F */ ItemId_SpiritTrain = 31,
|
||||
/* 0x20 */ ItemId_TrainCannon = 32,
|
||||
/* 0x21 */ ItemId_SpiritTrainCar = 33,
|
||||
/* 0x22 */ ItemId_TrainWagon = 34,
|
||||
/* 0x23 */ ItemId_ForceGem_35 = 35, // rightmost fire gem
|
||||
/* 0x24 */ ItemId_ForceGem_36 = 36, // right snow gem
|
||||
/* 0x25 */ ItemId_ForceGem_37 = 37, // top fire gem
|
||||
/* 0x26 */ ItemId_RecruitUniform = 38,
|
||||
/* 0x27 */ ItemId_PostmasterLetter = 39,
|
||||
/* 0x28 */ ItemId_HeartContainer = 40,
|
||||
/* 0x29 */ ItemId_QuiverMedium = 41,
|
||||
/* 0x2A */ ItemId_BombBagMedium = 42,
|
||||
/* 0x2B */ ItemId_ForceGem_43 = 43, // one of rightmost forest
|
||||
/* 0x2C */ ItemId_ForceGem_44 = 44, // the other rightmost forest, but more middle than top
|
||||
/* 0x2D */ ItemId_ForceGem_45 = 45, // the bottom-rightmost forest
|
||||
/* 0x2E */ ItemId_ForceGem_46 = 46, // the top-rightmost fire
|
||||
/* 0x2F */ ItemId_ForceGem_47 = 47, // the center forest
|
||||
/* 0x30 */ ItemId_ForceGem_48 = 48, // the middle-left forest
|
||||
/* 0x31 */ ItemId_ForceGem_49 = 49, // the below middle-left forest
|
||||
/* 0x32 */ ItemId_ForceGem_50 = 50,
|
||||
/* 0x33 */ ItemId_ForceGem_51 = 51,
|
||||
/* 0x34 */ ItemId_ForceGem_52 = 52,
|
||||
/* 0x35 */ ItemId_ForceGem_53 = 53,
|
||||
/* 0x36 */ ItemId_ForceGem_54 = 54,
|
||||
/* 0x37 */ ItemId_ForceGem_55 = 55,
|
||||
/* 0x38 */ ItemId_ForceGem_56 = 56,
|
||||
/* 0x39 */ ItemId_ForceGem_57 = 57,
|
||||
/* 0x3A */ ItemId_ForceGem_58 = 58,
|
||||
/* 0x3B */ ItemId_ForceGem_59 = 59,
|
||||
/* 0x3C */ ItemId_ForceGem_60 = 60,
|
||||
/* 0x3D */ ItemId_ForceGem_61 = 61,
|
||||
/* 0x3E */ ItemId_PanFlute = 62,
|
||||
/* 0x3F */ ItemId_StampBook = 63,
|
||||
/* 0x40 */ ItemId_LightBow = 64,
|
||||
/* 0x41 */ ItemId_LokomoSword = 65,
|
||||
/* 0x42 */ ItemId_TenPriceCard = 66,
|
||||
/* 0x43 */ ItemId_RedPotion = 67,
|
||||
/* 0x44 */ ItemId_PurplePotion = 68,
|
||||
/* 0x45 */ ItemId_YellowPotion = 69,
|
||||
/* 0x46 */ ItemId_DemonFossil = 70,
|
||||
/* 0x47 */ ItemId_StalfosSkull = 71,
|
||||
/* 0x48 */ ItemId_StarFragment = 72,
|
||||
/* 0x49 */ ItemId_BeeLarvae = 73,
|
||||
/* 0x4A */ ItemId_WoodHeart = 74,
|
||||
/* 0x4B */ ItemId_DarkPearlLoop = 75,
|
||||
/* 0x4C */ ItemId_WhitePearlLoop = 76,
|
||||
/* 0x4D */ ItemId_RutoCrown = 77,
|
||||
/* 0x4E */ ItemId_DragonScale = 78,
|
||||
/* 0x4F */ ItemId_PirateNecklace = 79,
|
||||
/* 0x50 */ ItemId_PalaceDish = 80,
|
||||
/* 0x51 */ ItemId_GoronAmber = 81,
|
||||
/* 0x52 */ ItemId_MysticJade = 82,
|
||||
/* 0x53 */ ItemId_AncientCoin = 83,
|
||||
/* 0x54 */ ItemId_PricelessStone = 84,
|
||||
/* 0x55 */ ItemId_RegalRing = 85,
|
||||
/* 0x56 */ ItemId_ArrowsRefill = 86,
|
||||
/* 0x57 */ ItemId_BombsRefill = 87,
|
||||
/* 0x58 */ ItemId_SoldOutSign = 88,
|
||||
/* 0x59 */ ItemId_AncientShield = 89,
|
||||
/* 0x5A */ ItemId_QuiverLarge = 90,
|
||||
/* 0x5B */ ItemId_BombBagLarge = 91,
|
||||
/* 0x5C */ ItemId_RandCommonTreasure = 92,
|
||||
/* 0x5D */ ItemId_RandUncommonTreasure = 93,
|
||||
/* 0x5E */ ItemId_RandRareTreasure = 94,
|
||||
/* 0x5F */ ItemId_RandLegendaryTreasure = 95,
|
||||
/* 0x60 */ ItemId_TearLight = 96,
|
||||
/* 0x61 */ ItemId_LightCompass = 97,
|
||||
/* 0x62 */ ItemId_ScrollSpinAttack = 98,
|
||||
/* 0x63 */ ItemId_ScrollBeam = 99,
|
||||
/* 0x64 */ ItemId_LinebeckLetter = 100,
|
||||
/* 0x65 */ ItemId_PanFluteSong_101 = 101,
|
||||
/* 0x66 */ ItemId_PanFluteSong_102 = 102,
|
||||
/* 0x67 */ ItemId_PanFluteSong_103 = 103,
|
||||
/* 0x68 */ ItemId_PanFluteSong_104 = 104,
|
||||
/* 0x69 */ ItemId_PanFluteSong_105 = 105,
|
||||
/* 0x6A */ ItemId_RabbitNet = 106,
|
||||
/* 0x6B */ ItemId_BeedleCard = 107,
|
||||
/* 0x6C */ ItemId_SilverCard = 108,
|
||||
/* 0x6D */ ItemId_GoldCard = 109,
|
||||
/* 0x6E */ ItemId_PlatinumCard = 110,
|
||||
/* 0x6F */ ItemId_DiamondCard = 111,
|
||||
/* 0x70 */ ItemId_FreebieCard = 112,
|
||||
/* 0x71 */ ItemId_QuintupleCard = 113,
|
||||
/* 0x72 */ ItemId_CarbenLetter = 114,
|
||||
/* 0x73 */ ItemId_RecruitUniform2 = 115,
|
||||
/* 0x74 */ ItemId_EngineerUniform = 116,
|
||||
};
|
||||
|
||||
#define MAX_TREASURE 99
|
||||
|
||||
@@ -24,15 +24,15 @@ public:
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
|
||||
/* 00 */ virtual void vfunc_00(); //! TODO: name symbol func_ov000_020667d8
|
||||
/* 04 */ virtual void vfunc_04(); //! TODO: name symbol func_ov000_020667f4
|
||||
/* 08 */ virtual void vfunc_08(); //! TODO: name symbol func_ov000_020673c8
|
||||
/* 0C */ virtual void vfunc_0c(); //! TODO: name symbol func_ov000_02067434
|
||||
/* 10 */ virtual void vfunc_10(); //! TODO: name symbol func_ov000_02067474
|
||||
/* 14 */ virtual void vfunc_14(); //! TODO: name symbol func_ov000_02066dfc
|
||||
/* 18 */ virtual void vfunc_18(); //! TODO: name symbol func_ov000_020669d8
|
||||
/* 1C */ virtual void vfunc_1c(); //! TODO: name symbol func_ov000_02067234
|
||||
/* 20 */ virtual void vfunc_20(); //! TODO: name symbol func_ov000_0206723c
|
||||
/* 00 */ virtual void vfunc_00(); //! TODO: name symbol func_ov000_020667d8
|
||||
/* 04 */ virtual void vfunc_04(); //! TODO: name symbol func_ov000_020667f4
|
||||
/* 08 */ virtual void vfunc_08(); //! TODO: name symbol func_ov000_020673c8
|
||||
/* 0C */ virtual void vfunc_0c(); //! TODO: name symbol func_ov000_02067434
|
||||
/* 10 */ virtual void vfunc_10(); //! TODO: name symbol func_ov000_02067474
|
||||
/* 14 */ virtual void vfunc_14(); //! TODO: name symbol func_ov000_02066dfc
|
||||
/* 18 */ virtual void vfunc_18(); //! TODO: name symbol func_ov000_020669d8
|
||||
/* 1C */ virtual void vfunc_1c(); //! TODO: name symbol func_ov000_02067234
|
||||
/* 20 */ virtual void vfunc_20(); //! TODO: name symbol func_ov000_0206723c
|
||||
/* 24 */ virtual ~UnkStruct_ItemManager_20_14(); //! TODO: name symbols func_ov000_020672ac, func_ov000_020672f4
|
||||
|
||||
UnkStruct_ItemManager_20_14();
|
||||
@@ -58,12 +58,12 @@ class ItemManager : public SysObject {
|
||||
public:
|
||||
/* 00 */ ItemFlag mEquippedItem;
|
||||
/* 04 */ ItemFlag mForcedItem;
|
||||
/* 08 */ u32 mUnk_08[2]; // inventory items bitfield & collection/equipment bitfield
|
||||
/* 08 */ u32 mFlags[2]; // inventory items bitfield & collection/equipment bitfield
|
||||
/* 10 */ u16 mNumRupees;
|
||||
/* 12 */ u16 mUnk_12; // "toggle bitfield"
|
||||
/* 12 */ u16 mUnk_12; // "toggle bitfield"
|
||||
/* 14 */ u16 mItemRestrictions; // bitfield
|
||||
/* 16 */ u8 mTearsAmount; // number of tears of light
|
||||
/* 17 */ u8 mKeyAmount; // number of small keys
|
||||
/* 16 */ u8 mTearsAmount; // number of tears of light
|
||||
/* 17 */ u8 mKeyAmount; // number of small keys
|
||||
/* 18 */ UpgradeCapacity mQuiverCapacity;
|
||||
/* 19 */ UpgradeCapacity mBombBagCapacity;
|
||||
/* 1A */ u8 mArrowAmount;
|
||||
@@ -80,25 +80,25 @@ public:
|
||||
ItemManager();
|
||||
~ItemManager();
|
||||
|
||||
void func_ov000_020a863c(ItemFlag itemFlag);
|
||||
void func_ov000_020a865c(ItemFlag itemFlag);
|
||||
bool func_ov000_020a8680();
|
||||
void SetFlag(ItemFlag itemFlag);
|
||||
void ClearFlag(ItemFlag itemFlag);
|
||||
bool HasRecruitUniform();
|
||||
unk32 func_ov000_020a86a4();
|
||||
u32 func_ov000_020a86d0(ItemFlag itemFlag);
|
||||
u8 func_ov000_020a8728();
|
||||
u8 func_ov000_020a8748();
|
||||
u32 GetItemAmount(ItemFlag itemFlag);
|
||||
u8 GetQuiverCapacity();
|
||||
u8 GetBombBagCapacity();
|
||||
void GiveRupees(s32 amount, bool param2, bool param3);
|
||||
void func_ov000_020a87c8(s32 amount);
|
||||
void func_ov000_020a87ec(s32 amount);
|
||||
void func_ov000_020a8820(s32 amount);
|
||||
bool func_ov000_020a8854();
|
||||
void func_ov000_020a888c(PotionType type);
|
||||
bool func_ov000_020a88c8();
|
||||
bool func_ov000_020a88f4();
|
||||
void func_ov000_020a8920();
|
||||
bool func_ov000_020a8948();
|
||||
void GiveSmallKeys(s32 amount);
|
||||
void GiveArrows(s32 amount);
|
||||
void GiveBombs(s32 amount);
|
||||
bool TryEquipForcedItem();
|
||||
void GivePotion(PotionType type);
|
||||
bool HasPotion();
|
||||
bool HasPurplePotion();
|
||||
void RemovePurplePotion();
|
||||
bool PotionSlotsFull();
|
||||
static UnkStruct_ov000_020afc48 *func_ov000_020a8974(ItemFlag itemFlag);
|
||||
static ItemFlag func_ov000_020a8984(ItemId itemId);
|
||||
static ItemFlag GetEquippedItemFlag(ItemId itemId);
|
||||
void func_ov000_020a89bc();
|
||||
bool func_ov000_020a89d4();
|
||||
bool func_ov000_020a8a0c();
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
#pragma once
|
||||
|
||||
#include "types.h"
|
||||
|
||||
enum CargoType_ {
|
||||
CargoType_None = -1,
|
||||
CargoType_MegaIce,
|
||||
CargoType_Wood,
|
||||
CargoType_Iron,
|
||||
CargoType_Fish,
|
||||
CargoType_Cuccos,
|
||||
CargoType_Vessel,
|
||||
CargoType_DarkOre,
|
||||
CargoType_Max,
|
||||
};
|
||||
|
||||
class Cargo {
|
||||
public:
|
||||
/* 00 */ unk32 mType;
|
||||
/* 04 */ unk32 mAmount;
|
||||
/* 08 */ u32 mDecayTimer;
|
||||
/* 0C */
|
||||
|
||||
Cargo() {
|
||||
this->Clear();
|
||||
}
|
||||
|
||||
void Set(unk32 type, unk32 amount) {
|
||||
this->mType = type;
|
||||
this->mAmount = amount;
|
||||
this->mDecayTimer = 0;
|
||||
}
|
||||
|
||||
void Clear() {
|
||||
this->mType = CargoType_None;
|
||||
this->mAmount = 0;
|
||||
this->mDecayTimer = 0;
|
||||
}
|
||||
};
|
||||
|
||||
class CargoManager : public AutoInstance<CargoManager> {
|
||||
public:
|
||||
/* 00 */ Cargo mCargo;
|
||||
/* 0C */ Cargo mCargo2;
|
||||
/* 18 */ unk32 mUnk_18; // invicibility timer?
|
||||
/* 1C */ bool mUnk_1C;
|
||||
/* 20 */
|
||||
|
||||
// overlay 1
|
||||
CargoManager();
|
||||
~CargoManager();
|
||||
|
||||
void func_ov001_020bf830();
|
||||
|
||||
static void SetInstance(CargoManager *pInstance);
|
||||
static bool ClearInstance();
|
||||
static void Destroy(); // func_ov001_020bf428
|
||||
|
||||
// overlay 17
|
||||
void Update();
|
||||
void Reset();
|
||||
void Init(unk32 type, unk32 amount);
|
||||
void func_ov017_020bebdc();
|
||||
void func_ov017_020bec20();
|
||||
void RemoveAmount(unk32 decr);
|
||||
bool func_ov017_020bec9c();
|
||||
|
||||
static void DoUpdate();
|
||||
static bool IsNotUsingTimer(unk32 type);
|
||||
|
||||
// overlay 24
|
||||
void SetCargo(unk32 type, unk32 amount);
|
||||
void GetTypeAndAmount(unk32 *pType, unk32 *pAmount);
|
||||
void func_ov024_020d5900();
|
||||
void func_ov024_020d591c();
|
||||
|
||||
static CargoManager *Create();
|
||||
};
|
||||
|
||||
extern CargoManager *gpCargoManager;
|
||||
@@ -11,16 +11,16 @@
|
||||
|
||||
enum LetterType_ {
|
||||
/* -1 */ LetterType_None = -1,
|
||||
/* 0 */ LetterType_MetPostmanFirst = 0, // AdventureFlag_MetPostmanFirstLetter
|
||||
/* 1 */ LetterType_ReceivedZeldas = 1, // AdventureFlag_ReceivedZeldasLetter
|
||||
/* 2 */ LetterType_ReceivedAlfonzos = 2, // AdventureFlag_ReceivedAlfonzosLetter
|
||||
/* 3 */ LetterType_ReceivedRussells = 3, // AdventureFlag_ReceivedRussellsLetter
|
||||
/* 4 */ LetterType_ObtainedLinebecks = 4, // AdventureFlag_ObtainedLinebecksLetter
|
||||
/* 5 */ LetterType_ReceivedBeedlesFirst = 5, // AdventureFlag_ReceivedBeedlesFirstLetter
|
||||
/* 6 */ LetterType_Unk_03E = 6, // AdventureFlag_Unk_03E
|
||||
/* 7 */ LetterType_Unk_03F = 7, // AdventureFlag_Unk_03F
|
||||
/* 8 */ LetterType_Unk_040 = 8, // AdventureFlag_Unk_040
|
||||
/* 9 */ LetterType_Unk_041 = 9, // AdventureFlag_Unk_041
|
||||
/* 0 */ LetterType_MetPostmanFirst = 0, // AdventureFlag_MetPostmanFirstLetter
|
||||
/* 1 */ LetterType_ReceivedZeldas = 1, // AdventureFlag_ReceivedZeldasLetter
|
||||
/* 2 */ LetterType_ReceivedAlfonzos = 2, // AdventureFlag_ReceivedAlfonzosLetter
|
||||
/* 3 */ LetterType_ReceivedRussells = 3, // AdventureFlag_ReceivedRussellsLetter
|
||||
/* 4 */ LetterType_ObtainedLinebecks = 4, // AdventureFlag_ObtainedLinebecksLetter
|
||||
/* 5 */ LetterType_ReceivedBeedlesFirst = 5, // AdventureFlag_ReceivedBeedlesFirstLetter
|
||||
/* 6 */ LetterType_Unk_03E = 6, // AdventureFlag_Unk_03E
|
||||
/* 7 */ LetterType_Unk_03F = 7, // AdventureFlag_Unk_03F
|
||||
/* 8 */ LetterType_Unk_040 = 8, // AdventureFlag_Unk_040
|
||||
/* 9 */ LetterType_Unk_041 = 9, // AdventureFlag_Unk_041
|
||||
/* 10 */ LetterType_Unk_042 = 10, // AdventureFlag_Unk_042
|
||||
/* 11 */ LetterType_Unk_043 = 11, // AdventureFlag_Unk_043
|
||||
/* 12 */ LetterType_Unk_044 = 12, // AdventureFlag_Unk_044
|
||||
@@ -69,16 +69,16 @@ public:
|
||||
/* 68 */ s8 mObtainedStamps[StampType_Max];
|
||||
/* 7C */ u8 mLastRandomNum;
|
||||
/* 7D */ u8 mRandomNum;
|
||||
/* 7E */ s8 mNumPriceCards; // current amount of price cards
|
||||
/* 7E */ s8 mNumPriceCards; // current amount of price cards
|
||||
/* 7F */ s8 mNumPostedPriceCards; // current amount of posted price cards
|
||||
/* 80 */ unk8 mUnk_80;
|
||||
/* 81 */ unk8 mUnk_81; // pad?
|
||||
/* 82 */ unk8 mUnk_82; // pad?
|
||||
/* 83 */ unk8 mUnk_83; // pad?
|
||||
/* 81 */ unk8 mUnk_81; // pad?
|
||||
/* 82 */ unk8 mUnk_82; // pad?
|
||||
/* 83 */ unk8 mUnk_83; // pad?
|
||||
/* 84 */ unk32 mLettersRead; // bitfield
|
||||
/* 88 */ unk32 mStampsFlag; // bitfield, related to the checkmarks from the stampbook
|
||||
/* 8C */ unk16 mSongs; // bitfield
|
||||
/* 8E */ unk16 mUnk_8E; // pad?
|
||||
/* 88 */ unk32 mStampsFlag; // bitfield, related to the checkmarks from the stampbook
|
||||
/* 8C */ unk16 mSongs; // bitfield
|
||||
/* 8E */ unk16 mUnk_8E; // pad?
|
||||
/* 90 */
|
||||
|
||||
MiscAdvManager();
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
#pragma once
|
||||
|
||||
#include "Actor/ActorId.hpp"
|
||||
#include "Save/AdventureFlags.hpp"
|
||||
#include "Unknown/UnkStruct_027e09a4.hpp"
|
||||
#include "types.h"
|
||||
|
||||
enum HappinessLevel_ {
|
||||
HappinessLevel_0,
|
||||
HappinessLevel_1,
|
||||
HappinessLevel_2,
|
||||
HappinessLevel_3,
|
||||
HappinessLevel_4,
|
||||
HappinessLevel_5,
|
||||
};
|
||||
|
||||
struct UnkStruct_Param1 {
|
||||
ActorId actorId;
|
||||
s16 mUnk_04;
|
||||
SceneIndex_Half sceneIndex;
|
||||
u8 roomIndex;
|
||||
unk32 mUnk_0C;
|
||||
unk32 happiness;
|
||||
u16 mUnk_14;
|
||||
};
|
||||
|
||||
class Passenger {
|
||||
public:
|
||||
/* 00 */ ActorId mActorId;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ SceneIndex mSceneIndex;
|
||||
/* 0C */ u8 mRoomIndex;
|
||||
/* 10 */ unk32 mHappiness;
|
||||
|
||||
Passenger();
|
||||
void Reset();
|
||||
};
|
||||
|
||||
class PassengerManager : public AutoInstance<PassengerManager> {
|
||||
public:
|
||||
/* 00 */ Passenger mPassenger;
|
||||
/* 14 */ Passenger mPassenger2;
|
||||
/* 28 */ u16 mDate;
|
||||
/* 2A */ unk16 mUnk_2A;
|
||||
/* 2C */ unk32 mUnk_2C;
|
||||
/* 30 */ unk32 mUnk_30;
|
||||
/* 34 */
|
||||
|
||||
// overlay 1
|
||||
PassengerManager();
|
||||
~PassengerManager();
|
||||
|
||||
void func_ov001_020bf8e4();
|
||||
void func_ov001_020bf90c();
|
||||
void func_ov001_020bf910();
|
||||
bool func_ov001_020bfa1c();
|
||||
|
||||
static bool func_ov001_020bf870();
|
||||
static void SetInstance(PassengerManager *pInstance); // func_ov001_020bfa38
|
||||
static bool ClearInstance(); // func_ov001_020bfa44
|
||||
|
||||
// overlay 24
|
||||
void func_ov024_020d41bc(UnkStruct_Param1 *pActorId);
|
||||
void func_ov024_020d41f4(UnkStruct_Param1 *param1);
|
||||
void func_ov024_020d4228();
|
||||
void func_ov024_020d4258();
|
||||
bool TryBoardTrain(ActorId actorId, SceneIndex sceneIndex, u32 roomIndex);
|
||||
bool TryReset();
|
||||
bool TryResetAtDestination();
|
||||
bool ReachedDestination(SceneIndex sceneIndex, u32 roomIndex);
|
||||
bool TrySetCaughtByPirates();
|
||||
bool CaughtByPiratesTryReset();
|
||||
void GiveHappiness(unk32 amount);
|
||||
unk32 GetHappiness();
|
||||
unk32 GetHappinessCond();
|
||||
bool CanCompleteTrip();
|
||||
bool IsCaughtByPirates();
|
||||
ActorId GetActorId();
|
||||
PassengerManager *GetInstance();
|
||||
void func_ov024_020d4554();
|
||||
void Reset();
|
||||
bool IsDateUnset();
|
||||
s16 GetDate();
|
||||
u32 GetRandomIndex(u32 arg1, s32 arg2);
|
||||
void SetFailedFlag();
|
||||
|
||||
static u32 GetPassengerInfoIndex(ActorId actorId);
|
||||
static AdventureFlag GetBoardFlag(ActorId actorId);
|
||||
static AdventureFlag GetFailFlag(ActorId actorId);
|
||||
static PassengerManager *Create();
|
||||
};
|
||||
|
||||
extern PassengerManager *gpPassengerManager;
|
||||
@@ -13,8 +13,8 @@ public:
|
||||
/* 00 */ MapObject **mMapObjTable;
|
||||
/* 04 */ MapObject **mMapObjTableEnd;
|
||||
/* 08 */ MapObject **mUnk_08; // pointer to first available slot?
|
||||
/* 0C */ s16 **mUnk_0C; // unknown table
|
||||
/* 10 */ void **mUnk_10; // unknown table end
|
||||
/* 0C */ s16 **mUnk_0C; // unknown table
|
||||
/* 10 */ void **mUnk_10; // unknown table end
|
||||
/* 14 */ void *mUnk_14;
|
||||
/* 18 */ unk16 mUnk_18;
|
||||
/* 1A */ unk16 mUnk_1A;
|
||||
@@ -35,7 +35,7 @@ public:
|
||||
void func_ov000_0209c3e8();
|
||||
void func_ov000_0209c444();
|
||||
|
||||
void SetInstance(); // func_ov001_020baf4c
|
||||
void SetInstance(); // func_ov001_020baf4c
|
||||
void ClearInstance(); // func_ov001_020baf58
|
||||
|
||||
static void func_ov000_0209c490();
|
||||
|
||||
@@ -11,7 +11,7 @@ public:
|
||||
/* 00 (base) */
|
||||
/* 40 */ UnkSystem6_Derived2 mUnk_40;
|
||||
/* 48 */ unk8 mUnk_48;
|
||||
/* 49 */ unk8 mUnk_49; // pad?
|
||||
/* 49 */ unk8 mUnk_49; // pad?
|
||||
/* 4A */ unk16 mUnk_4A; // pad?
|
||||
/* 4C */
|
||||
|
||||
|
||||
+12
-12
@@ -70,16 +70,16 @@ typedef enum BMGFileIndex {
|
||||
} BMGFileIndex;
|
||||
|
||||
struct SectionBase {
|
||||
/* 00 */ u32 tag; // "INF1", "DAT1", ...
|
||||
/* 00 */ u32 tag; // "INF1", "DAT1", ...
|
||||
/* 04 */ u32 size; // the size of the section
|
||||
/* 08 */
|
||||
};
|
||||
|
||||
struct BMGHeader {
|
||||
/* 00 */ char magic[8]; // always "MESGbmg1"
|
||||
/* 08 */ u32 fileSize; // the size of the BMG file
|
||||
/* 00 */ char magic[8]; // always "MESGbmg1"
|
||||
/* 08 */ u32 fileSize; // the size of the BMG file
|
||||
/* 0C */ u32 numSections; // the number of sections (INF1, DAT1, ...)
|
||||
/* 10 */ u8 encoding; // see `BMGEncoding`
|
||||
/* 10 */ u8 encoding; // see `BMGEncoding`
|
||||
/* 11 */ u8 unk_11[0x0F]; // alignment padding?
|
||||
/* 20 */
|
||||
};
|
||||
@@ -112,9 +112,9 @@ enum InstrType {
|
||||
};
|
||||
|
||||
struct InstrShowMsg {
|
||||
/* 01 */ u8 bmgFileIndex; // index into sBMGFiles
|
||||
/* 02 */ u16 msgIndex; // index of INF1 entry
|
||||
/* 04 */ s16 nextIndex; // index of FLW1 entry, 0xFFFF stops the conversation
|
||||
/* 01 */ u8 bmgFileIndex; // index into sBMGFiles
|
||||
/* 02 */ u16 msgIndex; // index of INF1 entry
|
||||
/* 04 */ s16 nextIndex; // index of FLW1 entry, 0xFFFF stops the conversation
|
||||
/* 06 */ s16 nextBMGFileIndex; // index into sBMGFiles
|
||||
/* 08 */
|
||||
};
|
||||
@@ -122,15 +122,15 @@ struct InstrShowMsg {
|
||||
struct InstrBranch {
|
||||
/* 01 */ u8 mUnk_01;
|
||||
/* 02 */ u16 funcIndex; // index of the query function to run
|
||||
/* 04 */ u16 funcArg; // the argument to use in the function
|
||||
/* 06 */ u16 flwEntry; // the index of the second section table to be used next in the conversation.
|
||||
/* 04 */ u16 funcArg; // the argument to use in the function
|
||||
/* 06 */ u16 flwEntry; // the index of the second section table to be used next in the conversation.
|
||||
/* 08 */
|
||||
};
|
||||
|
||||
struct InstrEvent {
|
||||
/* 01 */ u8 funcIndex; // index of the query function to run
|
||||
/* 02 */ u16 flwEntry; // the index of the second section table to be used next in the conversation.
|
||||
/* 04 */ u32 funcArg; // the argument to use in the function
|
||||
/* 04 */ u32 funcArg; // the argument to use in the function
|
||||
/* 08 */
|
||||
};
|
||||
|
||||
@@ -188,8 +188,8 @@ struct BMGFileInfo {
|
||||
/* 0C */ SectionFLI1 *pFLI1; // pointer to the message flow index table (FLI -> flow index table)
|
||||
/* 10 */ SectionDAT1 *pDAT1; // pointer to the data (DAT -> data)
|
||||
/* 14 */ BMGHeader *mUnk_14; // same as pHeader (?)
|
||||
/* 18 */ s16 mUnk_18; // stores `func_020372F0`->param_3 value (currently undetermined purpose)
|
||||
/* 1A */ s16 groupId; // stores the group id
|
||||
/* 18 */ s16 mUnk_18; // stores `func_020372F0`->param_3 value (currently undetermined purpose)
|
||||
/* 1A */ s16 groupId; // stores the group id
|
||||
/* 1C */
|
||||
};
|
||||
|
||||
|
||||
@@ -165,8 +165,8 @@ public:
|
||||
/* 068 */ unk32 mUnk_68;
|
||||
/* 06C */ unk32 mUnk_6C; // scale
|
||||
/* 070 */ unk16 mUnk_70; // angle/rotation
|
||||
/* 070 */ u8 mUnk_72; // probably bools
|
||||
/* 070 */ u8 mUnk_73; // probably bools
|
||||
/* 070 */ u8 mUnk_72; // probably bools
|
||||
/* 070 */ u8 mUnk_73; // probably bools
|
||||
/* 074 */ UnkStruct_PlayerGet_74 mUnk_74;
|
||||
/* 08C */ UnkSystem4 mUnk_8C;
|
||||
/* 0EC */ UnkStruct_PlayerGet_ec mUnk_EC[4];
|
||||
|
||||
@@ -18,7 +18,7 @@ class TouchControl {
|
||||
public:
|
||||
/* 00 */ u16 mSpeed;
|
||||
/* 02 */ u16 mTimeBetweenTouches; // gets set to mTimeSinceTouch when touching the screen
|
||||
/* 04 */ u16 mTimeSinceTouch; // increases by mSpeed every frame
|
||||
/* 04 */ u16 mTimeSinceTouch; // increases by mSpeed every frame
|
||||
/* 06 */ u16 mRepeatStart;
|
||||
/* 08 */ u16 mRepeatLoop;
|
||||
// mRepeatTimer starts at mRepeatStart, decreases by mSpeed while touching the screen.
|
||||
|
||||
@@ -12,7 +12,7 @@ enum AdventureFlag_ {
|
||||
/* 0x002 */ AdventureFlag_ObtainedSpiritTrain = FLAG(0, 2),
|
||||
/* 0x003 */ AdventureFlag_ObtainedRecruitSword = FLAG(0, 3),
|
||||
/* 0x004 */ AdventureFlag_ObtainedForestSource = FLAG(0, 4),
|
||||
/* 0x005 */ AdventureFlag_ObtainedSnowSource = FLAG(0, 5), // gets rid of the blizzard
|
||||
/* 0x005 */ AdventureFlag_ObtainedSnowSource = FLAG(0, 5), // gets rid of the blizzard
|
||||
/* 0x006 */ AdventureFlag_ObtainedOceanSource = FLAG(0, 6),
|
||||
/* 0x007 */ AdventureFlag_ObtainedFireSource = FLAG(0, 7),
|
||||
/* 0x008 */ AdventureFlag_CompletedForestRestorationSong = FLAG(0, 8),
|
||||
@@ -22,31 +22,31 @@ enum AdventureFlag_ {
|
||||
/* 0x00C */ AdventureFlag_CompletedSandRestorationSong = FLAG(0, 12),
|
||||
/* 0x00D */ AdventureFlag_OpenedDarkRealmPortal = FLAG(0, 13),
|
||||
/* 0x00E */ AdventureFlag_TalkedToDovokLostWoods = FLAG(0, 14),
|
||||
/* 0x00F */ AdventureFlag_ObtainedForestGlyph = FLAG(0, 15), // unlocks track map
|
||||
/* 0x00F */ AdventureFlag_ObtainedForestGlyph = FLAG(0, 15), // unlocks track map
|
||||
/* 0x010 */ AdventureFlag_ObtainedSnowGlyph = FLAG(0, 16),
|
||||
/* 0x011 */ AdventureFlag_ObtainedOceanGlyph = FLAG(0, 17),
|
||||
/* 0x012 */ AdventureFlag_ObtainedFireGlyph = FLAG(0, 18),
|
||||
/* 0x013 */ AdventureFlag_Unk_013 = FLAG(0, 19),
|
||||
/* 0x014 */ AdventureFlag_CompletedSwordTutorial = FLAG(0, 20),
|
||||
/* 0x015 */ AdventureFlag_PlayedHyruleGuardGetLostText =
|
||||
FLAG(0, 21), // hyrule castle guard tells Link to get lost (before Cole shows up)
|
||||
FLAG(0, 21), // hyrule castle guard tells Link to get lost (before Cole shows up)
|
||||
/* 0x016 */ AdventureFlag_HyruleGuardMovesAfterCole =
|
||||
FLAG(0, 22), // hyrule castle guard moves out of the way of stairs leading to throne room
|
||||
FLAG(0, 22), // hyrule castle guard moves out of the way of stairs leading to throne room
|
||||
/* 0x017 */ AdventureFlag_WatchedHyruleGuardColeCS =
|
||||
FLAG(0, 23), // hyrule castle intro Cole walks into throne room cs over
|
||||
FLAG(0, 23), // hyrule castle intro Cole walks into throne room cs over
|
||||
/* 0x018 */ AdventureFlag_ObtainedEngineerCertificate = FLAG(0, 24),
|
||||
/* 0x019 */ AdventureFlag_WatchedZeldasBedroomFirstCS = FLAG(0, 25), // zelda bedroom conversation pre-spirit zelda
|
||||
/* 0x019 */ AdventureFlag_WatchedZeldasBedroomFirstCS = FLAG(0, 25), // zelda bedroom conversation pre-spirit zelda
|
||||
/* 0x01A */ AdventureFlag_WatchedSpiritTowerSplitCS = FLAG(0, 26),
|
||||
/* 0x01B */ AdventureFlag_MayscoreLostWoodsHintBranches = FLAG(0, 27),
|
||||
/* 0x01C */ AdventureFlag_MayscoreLostWoodsHint4thTree = FLAG(0, 28),
|
||||
/* 0x01D */ AdventureFlag_TalkedToYamahikoFirstTime =
|
||||
FLAG(0, 29), // talk to yellow guy (?) in Mayascore for the first time
|
||||
FLAG(0, 29), // talk to yellow guy (?) in Mayascore for the first time
|
||||
/* 0x01E */ AdventureFlag_EnteredForestTemple = FLAG(0, 30),
|
||||
/* 0x01F */ AdventureFlag_ObtainedTrainCannon = FLAG(0, 31), // set after alfonzo text, but before cannon exits garage
|
||||
/* 0x01F */ AdventureFlag_ObtainedTrainCannon = FLAG(0, 31), // set after alfonzo text, but before cannon exits garage
|
||||
|
||||
/* 0x020 */ AdventureFlag_Unk_020 = FLAG(1, 0),
|
||||
/* 0x020 */ AdventureFlag_ObtainedSpiritTrainCar = FLAG(1, 0),
|
||||
/* 0x021 */ AdventureFlag_ObtainedTrainWagon = FLAG(1, 1),
|
||||
/* 0x022 */ AdventureFlag_MetAnjeanFirstTime = FLAG(1, 2), // loads the train in ToS
|
||||
/* 0x022 */ AdventureFlag_MetAnjeanFirstTime = FLAG(1, 2), // loads the train in ToS
|
||||
/* 0x023 */ AdventureFlag_Unk_023 = FLAG(1, 3),
|
||||
/* 0x024 */ AdventureFlag_FleeFirstPhantomTOS = FLAG(1, 4), // zelda text after first phantom spawns
|
||||
/* 0x025 */ AdventureFlag_SpawnFirstPhantomTOS = FLAG(1, 5),
|
||||
|
||||
@@ -51,7 +51,7 @@ public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */ u16 mUnk_04;
|
||||
/* 04 */ u16 mUnk_06;
|
||||
/* 08 */ u16 mUnk_08; // 220
|
||||
/* 08 */ u16 mUnk_08; // 220
|
||||
/* 08 */ bool mUnk_0A; // 222
|
||||
/* 08 */ bool mUnk_0B; // 223
|
||||
/* 0C */ bool mUnk_0C; // 224
|
||||
|
||||
@@ -364,7 +364,7 @@ public:
|
||||
#define BTN_ID_RAIL_MAP_OCEAN_LOST_AT_SEA_STATION 0x77
|
||||
#define BTN_ID_RAIL_MAP_SNOW_SLIPPERY_STATION 0x78
|
||||
|
||||
#define BTN_ID_SHOP_QUIT 0x81 // quit shop
|
||||
#define BTN_ID_SHOP_QUIT 0x81 // quit shop
|
||||
#define BTN_ID_SHOP_RETURN 0x82 // quit item preview
|
||||
#define BTN_ID_SHOP_BUY 0x83
|
||||
#define BTN_ID_SHOP_ITEM_1 0x84
|
||||
@@ -478,9 +478,9 @@ public:
|
||||
/* 14 */ Vec2s mPos; // image position (among other things)
|
||||
/* 18 */ STRUCT_PAD(0x18, 0x24);
|
||||
/* 24 */ Vec2us mPosOffset; // used to shift the button when selected
|
||||
/* 28 */ bool mUnk_28; // selected highlight effect when set to true
|
||||
/* 29 */ bool mUnk_29; // related to having the button selected
|
||||
/* 2A */ bool mUnk_2A; // disables button action
|
||||
/* 28 */ bool mUnk_28; // selected highlight effect when set to true
|
||||
/* 29 */ bool mUnk_29; // related to having the button selected
|
||||
/* 2A */ bool mUnk_2A; // disables button action
|
||||
/* 2A */ bool mUnk_2B;
|
||||
/* 2C */ bool mUnk_2C;
|
||||
/* 2D */ unk8 mUnk_2D;
|
||||
@@ -524,9 +524,9 @@ public:
|
||||
class UnkSystem2_UnkSubSystem1_Derived2 : public UnkSystem2_UnkSubSystem1_Base {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 30 */ void *mUnk_30; // related to the background texture draw (idle)
|
||||
/* 30 */ void *mUnk_30; // related to the background texture draw (idle)
|
||||
/* 34 */ UnkSystem2_UnkSubSystem7 mUnk_34; // related to the texture draw
|
||||
/* 38 */ unk16 mUnk_38; // related to the texture draw
|
||||
/* 38 */ unk16 mUnk_38; // related to the texture draw
|
||||
/* 3C */ Vec2us mUnk_3A; // overlaid elements position (text, icons etc...), relative to background position
|
||||
/* 40 */ unk16 mUnk_3E;
|
||||
/* 40 */ unk32 mUnk_40;
|
||||
@@ -637,8 +637,8 @@ class UnkSystem2_UnkSubSystem5_Base {
|
||||
public:
|
||||
/* 000 (vtable) */
|
||||
/* 004 */ wchar_t *mpString; // in this context it points to the player's name
|
||||
/* 008 */ unk16 mUnk_008; // UnkSystem2_UnkSubSystem5()'s param1
|
||||
/* 00A */ unk16 mUnk_00A; // UnkSystem2_UnkSubSystem5()'s param2
|
||||
/* 008 */ unk16 mUnk_008; // UnkSystem2_UnkSubSystem5()'s param1
|
||||
/* 00A */ unk16 mUnk_00A; // UnkSystem2_UnkSubSystem5()'s param2
|
||||
/* 00C */ void *mUnk_00C;
|
||||
/* 010 */ UnkSystem2_UnkSubSystem5_Base_10 mUnk_010;
|
||||
/* 130 */ STRUCT_PAD(0x130, 0x140);
|
||||
@@ -823,7 +823,7 @@ public:
|
||||
/* 4C */ unk32 mUnk_4C;
|
||||
/* 50 */ unk32 mUnk_50;
|
||||
/* 54 */ unk32 mUnk_54;
|
||||
/* 58 */ unk32 mUnk_58; // another timer?
|
||||
/* 58 */ unk32 mUnk_58; // another timer?
|
||||
/* 5C */ Vec2us mUnk_5C; // position of the animated texture
|
||||
/* 60 */ unk32 mUnk_60;
|
||||
/* 64 */ unk32 mUnk_64;
|
||||
|
||||
@@ -22,7 +22,7 @@ public:
|
||||
// data_02043f78
|
||||
/* 00 */ virtual ~UnkFileSystem1(); // func_02015518 && func_0201551c && func_02015528
|
||||
/* 08 */ virtual void *vfunc_08(unk32 param1) = 0;
|
||||
/* 0C */ virtual void vfunc_0C(void); // func_0201552c
|
||||
/* 0C */ virtual void vfunc_0C(void); // func_0201552c
|
||||
/* 10 */ virtual size_t vfunc_10(unk32 param1); // func_02015534
|
||||
/* 14 */
|
||||
};
|
||||
@@ -49,7 +49,7 @@ class UnkFileSystem2_10 {
|
||||
public:
|
||||
/* 00 */ void *mpFile;
|
||||
|
||||
UnkFileSystem2_10(); // func_02015380
|
||||
UnkFileSystem2_10(); // func_02015380
|
||||
~UnkFileSystem2_10(); // func_020153c4
|
||||
};
|
||||
|
||||
@@ -64,7 +64,7 @@ public:
|
||||
UnkFileSystem4(const char *param1, unk32 param2, unk32 param3, unk32 param4); // func_02015628
|
||||
|
||||
// data_02043f24
|
||||
/* 00 */ virtual ~UnkFileSystem4() override; // func_02015644 && func_02015650
|
||||
/* 00 */ virtual ~UnkFileSystem4() override; // func_02015644 && func_02015650
|
||||
/* 08 */ virtual void *vfunc_08(unk32 param1) override; // func_02015664
|
||||
};
|
||||
|
||||
@@ -77,7 +77,7 @@ public:
|
||||
UnkFileSystem1(param1) {}
|
||||
|
||||
// data_02043f40
|
||||
/* 00 */ virtual ~UnkFileSystem3() override; // func_0201568c && func_02015698
|
||||
/* 00 */ virtual ~UnkFileSystem3() override; // func_0201568c && func_02015698
|
||||
/* 08 */ virtual void *vfunc_08(unk32 param1) override; // func_020156ac
|
||||
};
|
||||
|
||||
@@ -90,8 +90,8 @@ public:
|
||||
UnkFileSystem2(const char *param1, unk32 param2); // func_020156c8
|
||||
|
||||
// data_02043f5c
|
||||
/* 00 */ virtual ~UnkFileSystem2() override; // func_020156f4 && func_02015708
|
||||
/* 08 */ virtual void *vfunc_08(unk32 param1) override; // func_02015724
|
||||
/* 0C */ virtual void vfunc_0C(void) override; // func_02015750
|
||||
/* 00 */ virtual ~UnkFileSystem2() override; // func_020156f4 && func_02015708
|
||||
/* 08 */ virtual void *vfunc_08(unk32 param1) override; // func_02015724
|
||||
/* 0C */ virtual void vfunc_0C(void) override; // func_02015750
|
||||
/* 10 */ virtual size_t vfunc_10(unk32 param1) override; // func_02015758
|
||||
};
|
||||
|
||||
@@ -16,9 +16,9 @@ public:
|
||||
// members 00 04 and 08 are used in data_ov000_020b1d74 to figure out which overlay to load next in slot 1
|
||||
class UnkStruct_0204a088 : public UnkStruct_0204a088_Base {
|
||||
public:
|
||||
/* 000 */ unk32 mUnk_00; // current index
|
||||
/* 000 */ unk32 mUnk_04; // prev index
|
||||
/* 000 */ unk32 mUnk_08; // next index
|
||||
/* 000 */ unk32 mUnk_00; // current index
|
||||
/* 000 */ unk32 mUnk_04; // prev index
|
||||
/* 000 */ unk32 mUnk_08; // next index
|
||||
/* 00C */ FileSelectManager_UnkDrawBase mUnk_0C[23]; // 23 possible overlays
|
||||
/* 120 */ u16 mUnk_120;
|
||||
/* 122 */ unk16 mUnk_122;
|
||||
|
||||
@@ -1,11 +1,16 @@
|
||||
#pragma once
|
||||
|
||||
#include "Item/Item.hpp"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_020d8698 {
|
||||
public:
|
||||
void func_ov024_020cd458(ItemFlag itemFlag, unk32 param2);
|
||||
void func_ov024_020cd368(bool param1, bool param2);
|
||||
void func_ov024_020cd3d0();
|
||||
void func_ov024_020cd3e0(unk32 param1);
|
||||
void func_ov024_020cd3f0(unk32 param1);
|
||||
void func_ov024_020cd410();
|
||||
};
|
||||
|
||||
extern UnkStruct_020d8698 *data_ov024_020d8698;
|
||||
|
||||
@@ -16,6 +16,7 @@ naming scheme:
|
||||
- f_xxx: "F" for "Field" -> normal gameplay area (also known as a "land" area)
|
||||
*/
|
||||
typedef u32 SceneIndex;
|
||||
typedef u16 SceneIndex_Half;
|
||||
enum SceneIndex_ {
|
||||
/* 0 */ SceneIndex_test_trn = 0x00, //
|
||||
/* 1 */ SceneIndex_test_trn2 = 0x01, //
|
||||
@@ -172,8 +173,8 @@ struct UnkStruct_SceneChange1 {
|
||||
this->mUnk_04 = 0;
|
||||
this->mUnk_08 = 0;
|
||||
this->mRoomIndex = 0xFF; // this changes when you enter a house, it's not clear if it has another purpose yet
|
||||
this->mSpawnIndex = 0; // changing this then saving will change your spawn location after opening the save again
|
||||
// (not the area)
|
||||
this->mSpawnIndex = 0; // changing this then saving will change your spawn location after opening the save again
|
||||
// (not the area)
|
||||
this->mNextIsCS = false;
|
||||
this->mUnk_0D = 0;
|
||||
this->mCutsceneIndex = CutsceneIndex_None;
|
||||
@@ -254,6 +255,7 @@ public:
|
||||
|
||||
~UnkStruct_027e09a4();
|
||||
|
||||
unk32 func_01ffd3d8();
|
||||
UnkStruct_func_01ffd400 *func_01ffd400();
|
||||
|
||||
unk8 func_ov000_02070bd0(unk32 csIndex, unk32 param2);
|
||||
|
||||
@@ -9,6 +9,11 @@
|
||||
|
||||
class MapObject_20;
|
||||
|
||||
class UnkStruct_027e0cd8_0c_160 {
|
||||
public:
|
||||
bool func_ov026_02106aa8();
|
||||
};
|
||||
|
||||
class UnkStruct_027e0cd8_0c {
|
||||
public:
|
||||
/* 000 (vtable) */
|
||||
@@ -69,7 +74,12 @@ public:
|
||||
/* 0DC */ ZeldaObjectList *mUnk_DC[8];
|
||||
/* 0FC */ STRUCT_PAD(0xFC, 0x128);
|
||||
/* 128 */ u16 mUnk_128;
|
||||
/* 12A */ STRUCT_PAD(0x12A, 0x160);
|
||||
/* 160 */ UnkStruct_027e0cd8_0c_160 *mUnk_160;
|
||||
/* 164 */ STRUCT_PAD(0x164, 0x1E0);
|
||||
/* 1E0 */
|
||||
|
||||
// data_ov031_02112a0c
|
||||
/* 00 */ virtual void vfunc_00();
|
||||
/* 04 */ virtual void vfunc_04();
|
||||
/* 08 */ virtual void vfunc_08();
|
||||
@@ -97,12 +107,32 @@ public:
|
||||
Vec3p *func_ov001_020b8a5c(unk32 spawnIndex, unk32 param1);
|
||||
};
|
||||
|
||||
class UnkStruct_027e0cd8_04_0C {
|
||||
public:
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x50);
|
||||
/* 50 */
|
||||
|
||||
UnkStruct_027e0cd8_04_0C();
|
||||
};
|
||||
|
||||
class UnkStruct_027e0cd8_04 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0C */ UnkStruct_027e0cd8_04_0C *mUnk_0C;
|
||||
/* 10 */
|
||||
/* B4 */
|
||||
|
||||
UnkStruct_027e0cd8_04();
|
||||
};
|
||||
|
||||
class UnkStruct_027e0cd8 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 *mUnk_04;
|
||||
/* 04 */ UnkStruct_027e0cd8_04 *mUnk_04; // stage flags
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0C */ UnkStruct_027e0cd8_0c *mUnk_0C;
|
||||
/* 0C */ UnkStruct_027e0cd8_0c *mUnk_0C; // related to train?
|
||||
/* 10 */ MapObjectManager *mUnk_10;
|
||||
/* 14 */ STRUCT_PAD(0x14, 0x4C);
|
||||
/* 4C */
|
||||
|
||||
@@ -24,6 +24,7 @@ public:
|
||||
|
||||
void func_ov024_020d3d98(unk32 param1, unk32 param2);
|
||||
void func_ov024_020d3ee8(unk32 param1, u16 param2, unk32 param3);
|
||||
unk32 func_ov024_020d3dcc();
|
||||
|
||||
void func_ov110_02185d3c(ItemId itemId);
|
||||
};
|
||||
@@ -46,7 +47,7 @@ public:
|
||||
/* 24 */ unk32 mUnk_24;
|
||||
/* 28 */ ItemManager *mUnk_28;
|
||||
/* 2C */ ItemManager *mUnk_2C; // same as above
|
||||
/* 30 */ unk32 *mUnk_30; // ?
|
||||
/* 30 */ unk32 *mUnk_30; // ?
|
||||
/* 34 */ UnkStruct_027e0ce0_34 *mUnk_34;
|
||||
/* 38 */ unk32 *mUnk_38; // pointer to data_027e0478 when on the train
|
||||
/* 3C */ unk32 mUnk_3C;
|
||||
@@ -60,6 +61,8 @@ public:
|
||||
void func_ov000_0208bbd4(unk32 param1, Vec3p *param2, u16 param3);
|
||||
|
||||
void func_ov000_0208bbd4(unk32 param1, Vec3p *param2, void *param3);
|
||||
|
||||
static UnkStruct_027e0ce0_34 *func_ov000_0205c904();
|
||||
};
|
||||
|
||||
extern UnkStruct_027e0ce0 *data_027e0ce0;
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_027e0d00 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
|
||||
UnkStruct_027e0d00();
|
||||
~UnkStruct_027e0d00();
|
||||
|
||||
void func_ov024_020d4cc0(unk32 type);
|
||||
void func_ov024_020d4d10();
|
||||
|
||||
static UnkStruct_027e0d00 *func_ov000_0205c944();
|
||||
};
|
||||
|
||||
extern UnkStruct_027e0d00 *data_027e0d00;
|
||||
@@ -27,14 +27,14 @@ public:
|
||||
void func_ov000_020669dc();
|
||||
unk32 func_ov000_02066a08(UnkStruct5 *param1);
|
||||
|
||||
/* 00 */ virtual void vfunc_00(unk32 param1); // func_ov000_020667d8
|
||||
/* 04 */ virtual void vfunc_04(); // func_ov000_020667f4
|
||||
/* 08 */ virtual void vfunc_08(unk32 param1); // func_ov000_020669cc
|
||||
/* 0C */ virtual unk32 vfunc_0C(); // func_ov000_020669d0
|
||||
/* 10 */ virtual unk32 vfunc_10(u16 *param1); // func_ov000_02066a5c
|
||||
/* 14 */ virtual unk32 vfunc_14(void *param1); // func_ov000_02066dfc
|
||||
/* 18 */ virtual void vfunc_18(); // func_ov000_020669d8
|
||||
/* 1C */ virtual unk32 vfunc_1C(u32 param1, unk32 param2, unk32 param3); // func_ov000_02067234
|
||||
/* 00 */ virtual void vfunc_00(unk32 param1); // func_ov000_020667d8
|
||||
/* 04 */ virtual void vfunc_04(); // func_ov000_020667f4
|
||||
/* 08 */ virtual void vfunc_08(unk32 param1); // func_ov000_020669cc
|
||||
/* 0C */ virtual unk32 vfunc_0C(); // func_ov000_020669d0
|
||||
/* 10 */ virtual unk32 vfunc_10(u16 *param1); // func_ov000_02066a5c
|
||||
/* 14 */ virtual unk32 vfunc_14(void *param1); // func_ov000_02066dfc
|
||||
/* 18 */ virtual void vfunc_18(); // func_ov000_020669d8
|
||||
/* 1C */ virtual unk32 vfunc_1C(u32 param1, unk32 param2, unk32 param3); // func_ov000_02067234
|
||||
/* 20 */ virtual unk32 vfunc_20(unk32 param1, unk32 param2, unk32 param3); // func_ov000_0206723c
|
||||
/* 24 */
|
||||
};
|
||||
@@ -54,9 +54,9 @@ public:
|
||||
void func_ov000_0206738c();
|
||||
|
||||
/* 08 */ virtual void vfunc_08(unk32 param1) override; // func_ov000_020673c8
|
||||
/* 0C */ virtual unk32 vfunc_0C() override; // func_ov000_02067434
|
||||
/* 0C */ virtual unk32 vfunc_0C() override; // func_ov000_02067434
|
||||
/* 10 */ virtual unk32 vfunc_10(u16 *param1) override; // func_ov000_02067474
|
||||
/* 24 */ virtual ~UnkSystem1_ov000_Derived1(); // func_ov000_020672ac & func_ov000_020672f4
|
||||
/* 24 */ virtual ~UnkSystem1_ov000_Derived1(); // func_ov000_020672ac & func_ov000_020672f4
|
||||
};
|
||||
|
||||
// data_ov000_020b489c
|
||||
@@ -66,8 +66,8 @@ public:
|
||||
|
||||
UnkSystem1_ov000_Derived2(unk32 param1, unk32 param2);
|
||||
|
||||
/* 08 */ virtual void vfunc_08(unk32 param1) override; // func_ov000_0209fbec
|
||||
/* 0C */ virtual unk32 vfunc_0C() override; // func_ov000_0209fcdc
|
||||
/* 08 */ virtual void vfunc_08(unk32 param1) override; // func_ov000_0209fbec
|
||||
/* 0C */ virtual unk32 vfunc_0C() override; // func_ov000_0209fcdc
|
||||
/* 24 */ virtual ~UnkSystem1_ov000_Derived2() override; // func_ov000_0209fb18 & func_ov000_0209fb5c
|
||||
};
|
||||
|
||||
@@ -78,9 +78,9 @@ public:
|
||||
|
||||
UnkSystem1_ov010(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2);
|
||||
|
||||
/* 08 */ virtual void vfunc_08(unk32 param1) override; // func_ov010_020b8844
|
||||
/* 08 */ virtual void vfunc_08(unk32 param1) override; // func_ov010_020b8844
|
||||
/* 1C */ virtual unk32 vfunc_1C(u32 param1, unk32 param2, unk32 param3) override; // func_ov010_020b8878
|
||||
/* 24 */ virtual ~UnkSystem1_ov010() override; // func_ov010_020b65f0
|
||||
/* 24 */ virtual ~UnkSystem1_ov010() override; // func_ov010_020b65f0
|
||||
};
|
||||
|
||||
class UnkSystem1_ov010_Derived1 : public UnkSystem1_ov010 {
|
||||
@@ -107,7 +107,7 @@ public:
|
||||
|
||||
UnkSystem1_ov016_Derived1(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2);
|
||||
/* 24 */ virtual ~UnkSystem1_ov016_Derived1() override; // func_ov016_020b7664
|
||||
/* 2C */ virtual void vfunc_2C(); // func_ov016_020b776c
|
||||
/* 2C */ virtual void vfunc_2C(); // func_ov016_020b776c
|
||||
};
|
||||
|
||||
// data_ov019_020d1e00
|
||||
@@ -128,7 +128,7 @@ public:
|
||||
/* 14 */ SaveFile *mUnk_14;
|
||||
/* 18 */ unk16 mUnk_18;
|
||||
/* 1A */ unk8 mUnk_1A; // bool?
|
||||
/* 1B */ u8 mUnk_1B; // bool?
|
||||
/* 1B */ u8 mUnk_1B; // bool?
|
||||
/* 1C */
|
||||
|
||||
UnkSystem1_ov019_Derived1();
|
||||
@@ -138,10 +138,10 @@ public:
|
||||
unk32 func_ov019_020c5540(bool param1, unk16 param2);
|
||||
void func_ov019_020c5590(unk32 param1, unk32 param2, unk32 param3);
|
||||
|
||||
/* 08 */ virtual void vfunc_08(unk32 param1) override; // func_ov019_020c523c
|
||||
/* 1C */ virtual unk32 vfunc_1C(u32 param1, unk32 param2, unk32 param3) override; // func_ov019_020c5284
|
||||
/* 08 */ virtual void vfunc_08(unk32 param1) override; // func_ov019_020c523c
|
||||
/* 1C */ virtual unk32 vfunc_1C(u32 param1, unk32 param2, unk32 param3) override; // func_ov019_020c5284
|
||||
/* 20 */ virtual unk32 vfunc_20(unk32 param1, unk32 param2, unk32 param3) override; // func_ov019_020c5430
|
||||
/* 24 */ WEAK virtual ~UnkSystem1_ov019_Derived1() override {} // func_ov019_020c5614
|
||||
/* 24 */ WEAK virtual ~UnkSystem1_ov019_Derived1() override {} // func_ov019_020c5614
|
||||
};
|
||||
|
||||
class UnkSystem1_ov019_2 : public UnkSystem1_ov000_Derived1 {
|
||||
@@ -167,9 +167,9 @@ public:
|
||||
UnkSystem1_ov019_Derived2();
|
||||
|
||||
// data_ov019_020d2440 vtable
|
||||
/* 08 */ virtual void vfunc_08(unk32 param1) override; // func_ov019_020d035c
|
||||
/* 08 */ virtual void vfunc_08(unk32 param1) override; // func_ov019_020d035c
|
||||
/* 1C */ virtual unk32 vfunc_1C(u32 param1, unk32 param2, unk32 param3) override; // func_ov019_020d03a4
|
||||
/* 24 */ WEAK virtual ~UnkSystem1_ov019_Derived2() override {} // func_ov019_020d0594
|
||||
/* 24 */ WEAK virtual ~UnkSystem1_ov019_Derived2() override {} // func_ov019_020d0594
|
||||
};
|
||||
|
||||
class UnkSystem1_ov019_3 : public UnkSystem1_ov000_Derived1 {
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@ enum FileType {
|
||||
// .zob
|
||||
typedef struct ZeldaObjectList {
|
||||
/* 00 */ FileType type; // always "ZOLB"
|
||||
/* 04 */ unk32 nSize; // file size?
|
||||
/* 04 */ unk32 nSize; // file size?
|
||||
/* 08 */ unk16 unk_08;
|
||||
/* 0A */ unk16 unk_0a;
|
||||
/* 0C */ u16 nEntries; // number of entries
|
||||
|
||||
@@ -11,6 +11,9 @@
|
||||
#define ARM _Pragma("thumb off")
|
||||
#define THUMB _Pragma("thumb on")
|
||||
|
||||
#define THUMB_BEGIN _Pragma("thumb on")
|
||||
#define THUMB_END _Pragma("thumb off")
|
||||
|
||||
// `override` was added in C++11 before the DS, so we only use the keyword to indicate overriden functions
|
||||
#define override
|
||||
|
||||
|
||||
@@ -67,6 +67,17 @@ typedef s32 unk32;
|
||||
|
||||
DECL_PTMF(PTMF);
|
||||
typedef void (*UnkCallback)(u16 param1);
|
||||
|
||||
template <typename T> class AutoInstance {
|
||||
public:
|
||||
AutoInstance() {
|
||||
T::SetInstance((T *) this);
|
||||
}
|
||||
|
||||
~AutoInstance() {
|
||||
T::ClearInstance();
|
||||
}
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
@@ -71,13 +71,13 @@ static double
|
||||
ln2_hi = 6.93147180369123816490e-01, /* 3fe62e42 fee00000 */
|
||||
ln2_lo = 1.90821492927058770002e-10, /* 3dea39ef 35793c76 */
|
||||
two54 = 1.80143985094819840000e+16, /* 43500000 00000000 */
|
||||
Lg1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */
|
||||
Lg2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */
|
||||
Lg3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */
|
||||
Lg4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */
|
||||
Lg5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */
|
||||
Lg6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */
|
||||
Lg7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */
|
||||
Lg1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */
|
||||
Lg2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */
|
||||
Lg3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */
|
||||
Lg4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */
|
||||
Lg5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */
|
||||
Lg6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */
|
||||
Lg7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */
|
||||
|
||||
static double zero = 0.0;
|
||||
|
||||
@@ -105,7 +105,7 @@ double x;
|
||||
return (x - x) / zero;
|
||||
} /* log(-#) = NaN */
|
||||
k -= 54;
|
||||
x *= two54; /* subnormal number, scale up x */
|
||||
x *= two54; /* subnormal number, scale up x */
|
||||
hx = __HI(x); /* high word of x */
|
||||
}
|
||||
if (hx >= 0x7ff00000) {
|
||||
|
||||
@@ -83,7 +83,7 @@ double x;
|
||||
return (x - x) / zero;
|
||||
} /* log(-#) = NaN */
|
||||
k -= 54;
|
||||
x *= two54; /* subnormal number, scale up x */
|
||||
x *= two54; /* subnormal number, scale up x */
|
||||
hx = __HI(x); /* high word of x */
|
||||
}
|
||||
if (hx >= 0x7ff00000) {
|
||||
|
||||
+24
-24
@@ -75,31 +75,31 @@ static double
|
||||
{
|
||||
0.0,
|
||||
1.35003920212974897128e-08,
|
||||
}, /* 0x3E4CFDEB, 0x43CFD006 */
|
||||
}, /* 0x3E4CFDEB, 0x43CFD006 */
|
||||
zero = 0.0, one = 1.0, two = 2.0, two53 = 9007199254740992.0, /* 0x43400000, 0x00000000 */
|
||||
big = 1.0e300, tiny = 1.0e-300,
|
||||
/* poly coefs for (3/2)*(log(x)-2s-2/3*s**3 */
|
||||
L1 = 5.99999999999994648725e-01, /* 0x3FE33333, 0x33333303 */
|
||||
L2 = 4.28571428578550184252e-01, /* 0x3FDB6DB6, 0xDB6FABFF */
|
||||
L3 = 3.33333329818377432918e-01, /* 0x3FD55555, 0x518F264D */
|
||||
L4 = 2.72728123808534006489e-01, /* 0x3FD17460, 0xA91D4101 */
|
||||
L5 = 2.30660745775561754067e-01, /* 0x3FCD864A, 0x93C9DB65 */
|
||||
L6 = 2.06975017800338417784e-01, /* 0x3FCA7E28, 0x4A454EEF */
|
||||
P1 = 1.66666666666666019037e-01, /* 0x3FC55555, 0x5555553E */
|
||||
L1 = 5.99999999999994648725e-01, /* 0x3FE33333, 0x33333303 */
|
||||
L2 = 4.28571428578550184252e-01, /* 0x3FDB6DB6, 0xDB6FABFF */
|
||||
L3 = 3.33333329818377432918e-01, /* 0x3FD55555, 0x518F264D */
|
||||
L4 = 2.72728123808534006489e-01, /* 0x3FD17460, 0xA91D4101 */
|
||||
L5 = 2.30660745775561754067e-01, /* 0x3FCD864A, 0x93C9DB65 */
|
||||
L6 = 2.06975017800338417784e-01, /* 0x3FCA7E28, 0x4A454EEF */
|
||||
P1 = 1.66666666666666019037e-01, /* 0x3FC55555, 0x5555553E */
|
||||
P2 = -2.77777777770155933842e-03, /* 0xBF66C16C, 0x16BEBD93 */
|
||||
P3 = 6.61375632143793436117e-05, /* 0x3F11566A, 0xAF25DE2C */
|
||||
P3 = 6.61375632143793436117e-05, /* 0x3F11566A, 0xAF25DE2C */
|
||||
P4 = -1.65339022054652515390e-06, /* 0xBEBBBD41, 0xC5D26BF1 */
|
||||
P5 = 4.13813679705723846039e-08, /* 0x3E663769, 0x72BEA4D0 */
|
||||
lg2 = 6.93147180559945286227e-01, /* 0x3FE62E42, 0xFEFA39EF */
|
||||
lg2_h = 6.93147182464599609375e-01, /* 0x3FE62E43, 0x00000000 */
|
||||
P5 = 4.13813679705723846039e-08, /* 0x3E663769, 0x72BEA4D0 */
|
||||
lg2 = 6.93147180559945286227e-01, /* 0x3FE62E42, 0xFEFA39EF */
|
||||
lg2_h = 6.93147182464599609375e-01, /* 0x3FE62E43, 0x00000000 */
|
||||
lg2_l = -1.90465429995776804525e-09, /* 0xBE205C61, 0x0CA86C39 */
|
||||
ovt = 8.0085662595372944372e-0017, /* -(1024-log2(ovfl+.5ulp)) */
|
||||
cp = 9.61796693925975554329e-01, /* 0x3FEEC709, 0xDC3A03FD =2/(3ln2) */
|
||||
cp_h = 9.61796700954437255859e-01, /* 0x3FEEC709, 0xE0000000 =(float)cp */
|
||||
cp = 9.61796693925975554329e-01, /* 0x3FEEC709, 0xDC3A03FD =2/(3ln2) */
|
||||
cp_h = 9.61796700954437255859e-01, /* 0x3FEEC709, 0xE0000000 =(float)cp */
|
||||
cp_l = -7.02846165095275826516e-09, /* 0xBE3E2FE0, 0x145B01F5 =tail of cp_h*/
|
||||
ivln2 = 1.44269504088896338700e+00, /* 0x3FF71547, 0x652B82FE =1/ln2 */
|
||||
ivln2_h = 1.44269502162933349609e+00, /* 0x3FF71547, 0x60000000 =24b 1/ln2*/
|
||||
ivln2_l = 1.92596299112661746887e-08; /* 0x3E54AE0B, 0xF85DDF44 =1/ln2 tail*/
|
||||
ivln2 = 1.44269504088896338700e+00, /* 0x3FF71547, 0x652B82FE =1/ln2 */
|
||||
ivln2_h = 1.44269502162933349609e+00, /* 0x3FF71547, 0x60000000 =24b 1/ln2*/
|
||||
ivln2_l = 1.92596299112661746887e-08; /* 0x3E54AE0B, 0xF85DDF44 =1/ln2 tail*/
|
||||
|
||||
#ifdef __STDC__
|
||||
double __ieee754_pow(double x, double y)
|
||||
@@ -165,7 +165,7 @@ double x, y;
|
||||
|
||||
/* y is +-inf */
|
||||
if (((ix - 0x3ff00000) | lx) == 0) {
|
||||
return y - y; /* inf**+-1 is NaN */
|
||||
return y - y; /* inf**+-1 is NaN */
|
||||
} else if (ix >= 0x3ff00000) { /* (|x|>1)**+-inf = inf,0 */
|
||||
return (hy >= 0) ? y : zero;
|
||||
} else { /* (|x|<1)**-,+inf = inf,0 */
|
||||
@@ -184,7 +184,7 @@ double x, y;
|
||||
return x * x; /* y is 2 */
|
||||
}
|
||||
if (hy == 0x3fe00000) { /* y is 0.5 */
|
||||
if (hx >= 0) { /* x >= +0 */
|
||||
if (hx >= 0) { /* x >= +0 */
|
||||
return sqrt(x);
|
||||
}
|
||||
}
|
||||
@@ -218,7 +218,7 @@ double x, y;
|
||||
}
|
||||
|
||||
/* |y| is big */
|
||||
if (iy > 0x41e00000) { /* if |y| > 2**31 */
|
||||
if (iy > 0x41e00000) { /* if |y| > 2**31 */
|
||||
if (iy > 0x43f00000) { /* if |y| > 2**64, must o/uflow */
|
||||
if (ix <= 0x3fefffff) {
|
||||
return (hy < 0) ? big * big : tiny * tiny;
|
||||
@@ -315,17 +315,17 @@ double x, y;
|
||||
z = p_l + p_h;
|
||||
j = __HI(z);
|
||||
i = __LO(z);
|
||||
if (j >= 0x40900000) { /* z >= 1024 */
|
||||
if (j >= 0x40900000) { /* z >= 1024 */
|
||||
if (((j - 0x40900000) | i) != 0) { /* if z > 1024 */
|
||||
return s * big * big; /* overflow */
|
||||
return s * big * big; /* overflow */
|
||||
} else {
|
||||
if (p_l + ovt > z - p_h) {
|
||||
return s * big * big; /* overflow */
|
||||
}
|
||||
}
|
||||
} else if ((j & 0x7fffffff) >= 0x4090cc00) { /* z <= -1075 */
|
||||
if (((j - 0xc090cc00) | i) != 0) { /* z < -1075 */
|
||||
return s * tiny * tiny; /* underflow */
|
||||
if (((j - 0xc090cc00) | i) != 0) { /* z < -1075 */
|
||||
return s * tiny * tiny; /* underflow */
|
||||
} else {
|
||||
if (p_l <= z - p_h) {
|
||||
return s * tiny * tiny; /* underflow */
|
||||
|
||||
@@ -41,7 +41,7 @@ double x;
|
||||
i1 = __LO(x);
|
||||
j0 = ((i0 >> 20) & 0x7ff) - 0x3ff;
|
||||
if (j0 < 20) {
|
||||
if (j0 < 0) { /* raise inexact if x != 0 */
|
||||
if (j0 < 0) { /* raise inexact if x != 0 */
|
||||
if (huge + x > 0.0) { /* return 0*sign(x) if |x|<1 */
|
||||
if (i0 < 0) {
|
||||
i0 = 0x80000000;
|
||||
|
||||
@@ -27,7 +27,7 @@ double ldexp(double x, int n) {
|
||||
hx = __HI(x);
|
||||
lx = __LO(x);
|
||||
k = (hx & 0x7ff00000) >> 20; /* extract exponent */
|
||||
if (k == 0) { /* 0 or subnormal x */
|
||||
if (k == 0) { /* 0 or subnormal x */
|
||||
if ((lx | (hx & 0x7fffffff)) == 0) {
|
||||
return x; /* +-0 */
|
||||
}
|
||||
@@ -51,7 +51,7 @@ double ldexp(double x, int n) {
|
||||
return x;
|
||||
}
|
||||
if (k <= -54) {
|
||||
if (n > 50000) { /* in case integer overflow in n+k */
|
||||
if (n > 50000) { /* in case integer overflow in n+k */
|
||||
return big * copysign(big, x); /*overflow*/
|
||||
} else {
|
||||
return tiny * copysign(tiny, x); /*underflow*/
|
||||
|
||||
@@ -2,18 +2,18 @@
|
||||
|
||||
#include "types.h"
|
||||
|
||||
#define BTN_A (1 << 0) // 0x0001
|
||||
#define BTN_B (1 << 1) // 0x0002
|
||||
#define BTN_A (1 << 0) // 0x0001
|
||||
#define BTN_B (1 << 1) // 0x0002
|
||||
#define BTN_SELECT (1 << 2) // 0x0004
|
||||
#define BTN_START (1 << 3) // 0x0008
|
||||
#define BTN_START (1 << 3) // 0x0008
|
||||
#define BTN_DRIGHT (1 << 4) // 0x0010
|
||||
#define BTN_DLEFT (1 << 5) // 0x0020
|
||||
#define BTN_DUP (1 << 6) // 0x0040
|
||||
#define BTN_DDOWN (1 << 7) // 0x0080
|
||||
#define BTN_R (1 << 8) // 0x0100
|
||||
#define BTN_L (1 << 9) // 0x0200
|
||||
#define BTN_X (1 << 10) // 0x0400
|
||||
#define BTN_Y (1 << 11) // 0x0800
|
||||
#define BTN_DLEFT (1 << 5) // 0x0020
|
||||
#define BTN_DUP (1 << 6) // 0x0040
|
||||
#define BTN_DDOWN (1 << 7) // 0x0080
|
||||
#define BTN_R (1 << 8) // 0x0100
|
||||
#define BTN_L (1 << 9) // 0x0200
|
||||
#define BTN_X (1 << 10) // 0x0400
|
||||
#define BTN_Y (1 << 11) // 0x0800
|
||||
|
||||
#define CHECK_BUTTON_COMBO(value, btn) ((value) & (btn))
|
||||
|
||||
|
||||
@@ -12,4 +12,4 @@ typedef struct OSContext {
|
||||
/* 0x44 */ char unk_40[0x20];
|
||||
} OSContext; // Size: 0x64
|
||||
|
||||
#endif // NITROSDK_OS_CONTEXT_H
|
||||
#endif // NITROSDK_OS_CONTEXT_H
|
||||
|
||||
@@ -6,7 +6,7 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct Font_UnkStruct1 {
|
||||
/* 00 */ void *mpFINF; // pointer to the FINF section of the FNTR file
|
||||
/* 00 */ void *mpFINF; // pointer to the FINF section of the FNTR file
|
||||
/* 04 */ void *mUnk_04; // pointer to a function
|
||||
/* 08 */
|
||||
} Font_UnkStruct1;
|
||||
|
||||
@@ -5,8 +5,8 @@ typedef void (*G3d_CallbackFunction)(struct G3d_RenderState_ *);
|
||||
|
||||
typedef struct G3d_NameList_ {
|
||||
/* 00 */ u8 dummy;
|
||||
/* 01 */ u8 numElmnts; // number of elements
|
||||
/* 02 */ u16 size; // size of this NameList in bytes
|
||||
/* 01 */ u8 numElmnts; // number of elements
|
||||
/* 02 */ u16 size; // size of this NameList in bytes
|
||||
/* 04 */ u16 dummy2;
|
||||
/* 06 */ u16 ofsHeader; // offset to the G3d_NameList_Header
|
||||
/* 08 */ void *entry[1]; // variable size
|
||||
@@ -44,31 +44,31 @@ typedef struct G3d_Animation_ {
|
||||
/* 00 */ u8 mUnk_00[0x10];
|
||||
/* 10 */ struct G3d_Animation_ *next; // next animation in the list
|
||||
/* 14 */ u8 mUnk_14[0x5];
|
||||
/* 19 */ u8 numElmnts; // number of elements in the elementBinds array
|
||||
/* 19 */ u8 numElmnts; // number of elements in the elementBinds array
|
||||
/* 1A */ u16 elementBinds[1]; // each bit corresponds to a bone/material and determines whether an animation exists for it
|
||||
/* 1C */
|
||||
} G3d_Animation;
|
||||
|
||||
// Structure representing the NSBMD model file
|
||||
typedef struct G3d_Model_ {
|
||||
/* 00 */ u32 size; // size of the model in bytes
|
||||
/* 04 */ u32 offSbc; // offset of the SBC commands list
|
||||
/* 08 */ u32 offMat; // offset of the material list
|
||||
/* 0C */ u32 offMesh; // offset of the mesh list
|
||||
/* 00 */ u32 size; // size of the model in bytes
|
||||
/* 04 */ u32 offSbc; // offset of the SBC commands list
|
||||
/* 08 */ u32 offMat; // offset of the material list
|
||||
/* 0C */ u32 offMesh; // offset of the mesh list
|
||||
/* 10 */ u32 offInvBMtx; // offset of the InvBindMatrix list
|
||||
/* 14 */ u8 dummy1;
|
||||
/* 15 */ u8 scalingHandler; // Determines which of the G3d_gScaleHandlers to use for this model
|
||||
/* 16 */ u8 textureHandler; // Determines which of the G3d_gTextureHandlers to use for this model
|
||||
/* 17 */ u8 numBones; // number of nodes
|
||||
/* 18 */ u8 numMat; // number of materials
|
||||
/* 19 */ u8 numMesh; // number of meshes
|
||||
/* 17 */ u8 numBones; // number of nodes
|
||||
/* 18 */ u8 numMat; // number of materials
|
||||
/* 19 */ u8 numMesh; // number of meshes
|
||||
/* 1A */ u8 dummy2[2];
|
||||
/* 1C */ q20 upScale;
|
||||
/* 20 */ q20 downScale;
|
||||
/* 24 */ u16 numVertex; // number of vertices
|
||||
/* 26 */ u16 numPolygon; // number of polygons
|
||||
/* 28 */ u16 numTriangle; // number of triangles
|
||||
/* 2A */ u16 numQuad; // number of quads
|
||||
/* 24 */ u16 numVertex; // number of vertices
|
||||
/* 26 */ u16 numPolygon; // number of polygons
|
||||
/* 28 */ u16 numTriangle; // number of triangles
|
||||
/* 2A */ u16 numQuad; // number of quads
|
||||
/* 2C */ q4 boundingBoxMin[3]; // bounding box lower vertex
|
||||
/* 32 */ q4 boundingBoxMax[3]; // bounding box upper vertex
|
||||
/* 38 */ u8 dummy3[8];
|
||||
@@ -108,11 +108,11 @@ typedef struct G3d_RenderObject_ {
|
||||
/* 1C */ void *mUnk_1C;
|
||||
/* 20 */ G3d_CallbackFunction callbackFunction;
|
||||
/* 24 */ u8 callbackIdx; // index of the callbackFunction in the callback array of G3d_RenderState
|
||||
/* 25 */ u8 mUnk_25; // related to callback
|
||||
/* 25 */ u8 mUnk_25; // related to callback
|
||||
/* 26 */ u16 dummy_;
|
||||
/* 28 */ G3d_CallbackFunction callbackInitFunc; // initializes the G3d_RenderState callback array
|
||||
/* 2C */ void *modelRender; // pointer to the ModelRender that is rendering this model
|
||||
/* 30 */ u8 *unkCommandsList; // if not null, this command list is used instead of the one in the model
|
||||
/* 2C */ void *modelRender; // pointer to the ModelRender that is rendering this model
|
||||
/* 30 */ u8 *unkCommandsList; // if not null, this command list is used instead of the one in the model
|
||||
/* 34 */ G3d_BoneMtxStruct *cacheJntAnm;
|
||||
/* 38 */ void *cacheMatAnm;
|
||||
/* 3C */ u32 matAnimBindMap[2];
|
||||
|
||||
@@ -32,11 +32,11 @@ typedef enum {
|
||||
} G3d_RenderStateFlag;
|
||||
|
||||
typedef struct G3d_RenderState_ {
|
||||
/* 00 */ u8 *currentCmd; // current command being processed
|
||||
/* 04 */ G3d_RenderObject *renderObj; // current render object being processed
|
||||
/* 08 */ u32 flag; // G3d_RenderStateFlag
|
||||
/* 00 */ u8 *currentCmd; // current command being processed
|
||||
/* 04 */ G3d_RenderObject *renderObj; // current render object being processed
|
||||
/* 08 */ u32 flag; // G3d_RenderStateFlag
|
||||
/* 0C */ G3d_CallbackFunction callbackFuncs[32]; // callback function for each SBC command
|
||||
/* 8C */ u8 callbackSegment[32]; // determines at which segment of the SBC command to invoke the callback
|
||||
/* 8C */ u8 callbackSegment[32]; // determines at which segment of the SBC command to invoke the callback
|
||||
/* AC */ u8 currentBoneId;
|
||||
/* AD */ u8 currentMaterialId;
|
||||
/* AE */ u8 currentBoneMtxId;
|
||||
|
||||
+15
-15
@@ -248,7 +248,7 @@ void G3d_SBCRender_007(G3d_RenderState *renderState, u32 opCode) {
|
||||
FlushGfxQueue();
|
||||
|
||||
REG_GFX_FIFO = 0x151110; // MTX_MODE | MTX_PUSH | MTX_IDENTITY
|
||||
REG_GFX_FIFO = 0; // MTX_MODE = Projection
|
||||
REG_GFX_FIFO = 0; // MTX_MODE = Projection
|
||||
|
||||
REG_GFX_FIFO = 0;
|
||||
|
||||
@@ -278,18 +278,18 @@ void G3d_SBCRender_007(G3d_RenderState *renderState, u32 opCode) {
|
||||
scaleVec->z = Vec3p_Length((Vec3p *) ¤tMtx.zColumn);
|
||||
|
||||
if (data_027e0208.flags & 1) {
|
||||
REG_GFX_FIFO = 0x171012; // MTX_POP | MTX_MODE | MTX_LOAD_4x3
|
||||
REG_GFX_FIFO = 0x171012; // MTX_POP | MTX_MODE | MTX_LOAD_4x3
|
||||
Stream32(&funcArgs[1], ®_GFX_FIFO, 8); // MTX_MODE = Position
|
||||
Stream32(func_0200c270(), ®_GFX_FIFO, 0x30);
|
||||
|
||||
REG_GFX_FIFO = 0x1b19; // MTX_MULT_4x3 | MTX_SCALE
|
||||
REG_GFX_FIFO = 0x1b19; // MTX_MULT_4x3 | MTX_SCALE
|
||||
Stream32(&funcArgs[3], ®_GFX_FIFO, 0x3c); // Identity MTX
|
||||
} else if (data_027e0208.flags & 2) {
|
||||
REG_GFX_FIFO = 0x171012; // MTX_POP | MTX_MODE | MTX_LOAD_4x3
|
||||
REG_GFX_FIFO = 0x171012; // MTX_POP | MTX_MODE | MTX_LOAD_4x3
|
||||
Stream32(&funcArgs[1], ®_GFX_FIFO, 8); // MTX_MODE = Position
|
||||
Stream32(func_0200c198(), ®_GFX_FIFO, 0x30);
|
||||
|
||||
REG_GFX_FIFO = 0x1b19; // MTX_MULT_4x3 | MTX_SCALE
|
||||
REG_GFX_FIFO = 0x1b19; // MTX_MULT_4x3 | MTX_SCALE
|
||||
Stream32(&funcArgs[3], ®_GFX_FIFO, 0x3c); // Identity MTX
|
||||
} else {
|
||||
Stream32(&funcArgs, ®_GFX_FIFO, 0x48); // MTX_POP | MTX_MODE | MTX_LOAD_4x3 | MTX_SCALE
|
||||
@@ -386,7 +386,7 @@ void G3d_SBCRender_008(G3d_RenderState *renderState, u32 opCode) {
|
||||
FlushGfxQueue();
|
||||
|
||||
REG_GFX_FIFO = 0x151110; // MTX_MODE | MTX_PUSH | MTX_IDENTITY
|
||||
REG_GFX_FIFO = 0; // MTX_MODE = Projection
|
||||
REG_GFX_FIFO = 0; // MTX_MODE = Projection
|
||||
|
||||
REG_GFX_FIFO = 0;
|
||||
|
||||
@@ -428,18 +428,18 @@ void G3d_SBCRender_008(G3d_RenderState *renderState, u32 opCode) {
|
||||
}
|
||||
|
||||
if (data_027e0208.flags & 1) {
|
||||
REG_GFX_FIFO = 0x171012; // MTX_POP | MTX_MODE | MTX_LOAD_4x3
|
||||
REG_GFX_FIFO = 0x171012; // MTX_POP | MTX_MODE | MTX_LOAD_4x3
|
||||
Stream32(&funcArgs[1], ®_GFX_FIFO, 8); // MTX_MODE = Position
|
||||
Stream32(func_0200c270(), ®_GFX_FIFO, 0x30);
|
||||
|
||||
REG_GFX_FIFO = 0x1b19; // MTX_MULT_4x3 | MTX_SCALE
|
||||
REG_GFX_FIFO = 0x1b19; // MTX_MULT_4x3 | MTX_SCALE
|
||||
Stream32(&funcArgs[3], ®_GFX_FIFO, 0x3c); // Identity MTX
|
||||
} else if (data_027e0208.flags & 2) {
|
||||
REG_GFX_FIFO = 0x171012; // MTX_POP | MTX_MODE | MTX_LOAD_4x3
|
||||
REG_GFX_FIFO = 0x171012; // MTX_POP | MTX_MODE | MTX_LOAD_4x3
|
||||
Stream32(&funcArgs[1], ®_GFX_FIFO, 8); // MTX_MODE = Position
|
||||
Stream32(func_0200c198(), ®_GFX_FIFO, 0x30);
|
||||
|
||||
REG_GFX_FIFO = 0x1b19; // MTX_MULT_4x3 | MTX_SCALE
|
||||
REG_GFX_FIFO = 0x1b19; // MTX_MULT_4x3 | MTX_SCALE
|
||||
Stream32(&funcArgs[3], ®_GFX_FIFO, 0x3c); // Identity MTX
|
||||
} else {
|
||||
Stream32(&funcArgs, ®_GFX_FIFO, 0x48); // MTX_POP | MTX_MODE | MTX_LOAD_4x3 | MTX_SCALE
|
||||
@@ -750,11 +750,11 @@ void G3d_SBCRender_00C(G3d_RenderState *renderState, u32) {
|
||||
|
||||
if (data_027e0208.flags & 1) {
|
||||
G3d_MtxMult33_inline((const Mat3p *) &data_027e0208.mUnk_04C); // MTX_MULT_3x3
|
||||
G3d_MtxMult33_inline(&gGeomMatrix); // MTX_MULT_3x3
|
||||
G3d_MtxMult33_inline(&m); // MTX_MULT_3x3
|
||||
G3d_MtxMult33_inline(&gGeomMatrix); // MTX_MULT_3x3
|
||||
G3d_MtxMult33_inline(&m); // MTX_MULT_3x3
|
||||
} else if (data_027e0208.flags & 2) {
|
||||
G3d_MtxMult33_inline((const Mat3p *) &data_027e0208.mUnk_04C); // MTX_MULT_3x3
|
||||
G3d_MtxMult33_inline(&m); // MTX_MULT_3x3
|
||||
G3d_MtxMult33_inline(&m); // MTX_MULT_3x3
|
||||
} else {
|
||||
G3d_MtxMult33_inline(&m); // MTX_MULT_3x3
|
||||
}
|
||||
@@ -877,8 +877,8 @@ void G3d_SBCRender_00D(G3d_RenderState *renderState, u32) {
|
||||
|
||||
if (data_027e0208.flags & 1) {
|
||||
PushGeometryCommand(0x1c, &gGeomTranslation, 3); // MTX_TRANS
|
||||
G3d_MtxMult33_inline(&gGeomMatrix); // MTX_MULT_3x3
|
||||
G3d_MtxMult43_inline(&m); // MTX_MULT_4x3
|
||||
G3d_MtxMult33_inline(&gGeomMatrix); // MTX_MULT_3x3
|
||||
G3d_MtxMult43_inline(&m); // MTX_MULT_4x3
|
||||
|
||||
} else if (data_027e0208.flags & 2) {
|
||||
G3d_MtxMult43_inline(&m);
|
||||
|
||||
@@ -44,9 +44,9 @@ extern void __rethrow(void);
|
||||
extern char __throw_catch_compare(const u8 *throwtype, const u8 *catchtype, s32 *offset_result);
|
||||
|
||||
#define DTORARG_TYPE short
|
||||
#define DTORARG_PARTIAL (0) // destroy non-virtual bases
|
||||
#define DTORARG_PARTIAL (0) // destroy non-virtual bases
|
||||
#define DTORARG_COMPLETE (-1) // destroy all bases
|
||||
#define DTORARG_DELETE (1) // destroy all bases and delete object
|
||||
#define DTORARG_DELETE (1) // destroy all bases and delete object
|
||||
|
||||
#define DTORCALL_COMPLETE(dtor, objptr) (((void (*)(void *, DTORARG_TYPE)) dtor)(objptr, DTORARG_COMPLETE))
|
||||
#define DTORCALL_PARTIAL(dtor, objptr) (((void (*)(void *, DTORARG_TYPE)) dtor)(objptr, DTORARG_PARTIAL))
|
||||
|
||||
@@ -14,35 +14,32 @@ const u8 gBombBagCapacities[UpgradeCapacity_Max] = {
|
||||
CAPACITY_BOMB_BAG_TIER_3,
|
||||
};
|
||||
|
||||
// SetInventoryFlag?
|
||||
ARM void ItemManager::func_ov000_020a863c(ItemFlag itemFlag) {
|
||||
SET_FLAG(this->mUnk_08, itemFlag);
|
||||
ARM void ItemManager::SetFlag(ItemFlag itemFlag) {
|
||||
SET_FLAG(this->mFlags, itemFlag);
|
||||
}
|
||||
|
||||
// removeEquipmentItem
|
||||
ARM void ItemManager::func_ov000_020a865c(ItemFlag itemFlag) {
|
||||
UNSET_FLAG(this->mUnk_08, itemFlag);
|
||||
ARM void ItemManager::ClearFlag(ItemFlag itemFlag) {
|
||||
UNSET_FLAG(this->mFlags, itemFlag);
|
||||
}
|
||||
|
||||
ARM bool ItemManager::func_ov000_020a8680() {
|
||||
return GET_FLAG(this->mUnk_08, ItemFlag_RecruitUniform) && (this->mUnk_12 & 1);
|
||||
ARM bool ItemManager::HasRecruitUniform() {
|
||||
return GET_FLAG(this->mFlags, ItemFlag_RecruitUniform) && (this->mUnk_12 & 1);
|
||||
}
|
||||
|
||||
ARM unk32 ItemManager::func_ov000_020a86a4() {
|
||||
if (GET_FLAG(this->mUnk_08, ItemFlag_AncientShield) && (this->mUnk_12 & 2)) {
|
||||
if (GET_FLAG(this->mFlags, ItemFlag_AncientShield) && (this->mUnk_12 & 2)) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (GET_FLAG(this->mUnk_08, ItemFlag_Shield)) {
|
||||
if (GET_FLAG(this->mFlags, ItemFlag_Shield)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
// getItemAmmo
|
||||
ARM u32 ItemManager::func_ov000_020a86d0(ItemFlag itemFlag) {
|
||||
bool canUse = GET_FLAG(this->mUnk_08, itemFlag);
|
||||
ARM u32 ItemManager::GetItemAmount(ItemFlag itemFlag) {
|
||||
bool canUse = GET_FLAG(this->mFlags, itemFlag);
|
||||
|
||||
switch (itemFlag) {
|
||||
case ItemFlag_Bow:
|
||||
@@ -56,18 +53,16 @@ ARM u32 ItemManager::func_ov000_020a86d0(ItemFlag itemFlag) {
|
||||
return canUse;
|
||||
}
|
||||
|
||||
// getMaxArrows
|
||||
ARM u8 ItemManager::func_ov000_020a8728() {
|
||||
if (GET_FLAG(this->mUnk_08, ItemFlag_Bow) == 0) {
|
||||
ARM u8 ItemManager::GetQuiverCapacity() {
|
||||
if (GET_FLAG(this->mFlags, ItemFlag_Bow) == 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return gQuiverCapacities[this->mQuiverCapacity];
|
||||
}
|
||||
|
||||
// getMaxBombs
|
||||
ARM u8 ItemManager::func_ov000_020a8748() {
|
||||
if (GET_FLAG(this->mUnk_08, ItemFlag_Bombs) == 0) {
|
||||
ARM u8 ItemManager::GetBombBagCapacity() {
|
||||
if (GET_FLAG(this->mFlags, ItemFlag_Bombs) == 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -91,8 +86,7 @@ ARM void ItemManager::GiveRupees(s32 amount, bool param2, bool param3) {
|
||||
}
|
||||
}
|
||||
|
||||
// addKeys
|
||||
ARM void ItemManager::func_ov000_020a87c8(s32 amount) {
|
||||
ARM void ItemManager::GiveSmallKeys(s32 amount) {
|
||||
s32 newAmount = this->mKeyAmount + amount;
|
||||
|
||||
if (newAmount > MAX_KEYS) {
|
||||
@@ -104,9 +98,8 @@ ARM void ItemManager::func_ov000_020a87c8(s32 amount) {
|
||||
this->mKeyAmount = newAmount;
|
||||
}
|
||||
|
||||
// gainArrows
|
||||
ARM void ItemManager::func_ov000_020a87ec(s32 amount) {
|
||||
s32 maxArrows = this->func_ov000_020a8728();
|
||||
ARM void ItemManager::GiveArrows(s32 amount) {
|
||||
s32 maxArrows = this->GetQuiverCapacity();
|
||||
s32 newAmount = this->mArrowAmount + amount;
|
||||
|
||||
if (newAmount > maxArrows) {
|
||||
@@ -118,9 +111,8 @@ ARM void ItemManager::func_ov000_020a87ec(s32 amount) {
|
||||
this->mArrowAmount = newAmount;
|
||||
}
|
||||
|
||||
// gainBombs
|
||||
ARM void ItemManager::func_ov000_020a8820(s32 amount) {
|
||||
s32 maxBombs = this->func_ov000_020a8748();
|
||||
ARM void ItemManager::GiveBombs(s32 amount) {
|
||||
s32 maxBombs = this->GetBombBagCapacity();
|
||||
s32 newAmount = this->mBombAmount + amount;
|
||||
|
||||
if (newAmount > maxBombs) {
|
||||
@@ -132,7 +124,7 @@ ARM void ItemManager::func_ov000_020a8820(s32 amount) {
|
||||
this->mBombAmount = newAmount;
|
||||
}
|
||||
|
||||
ARM bool ItemManager::func_ov000_020a8854() {
|
||||
ARM bool ItemManager::TryEquipForcedItem() {
|
||||
if (this->mForcedItem != ItemFlag_None) {
|
||||
this->mEquippedItem = this->mForcedItem;
|
||||
this->mForcedItem = ItemFlag_None;
|
||||
@@ -143,8 +135,7 @@ ARM bool ItemManager::func_ov000_020a8854() {
|
||||
return false;
|
||||
}
|
||||
|
||||
// gainPotion
|
||||
ARM void ItemManager::func_ov000_020a888c(PotionType type) {
|
||||
ARM void ItemManager::GivePotion(PotionType type) {
|
||||
switch (type) {
|
||||
case PotionType_Red:
|
||||
case PotionType_Purple:
|
||||
@@ -161,8 +152,7 @@ ARM void ItemManager::func_ov000_020a888c(PotionType type) {
|
||||
}
|
||||
}
|
||||
|
||||
// hasPotion
|
||||
ARM bool ItemManager::func_ov000_020a88c8() {
|
||||
ARM bool ItemManager::HasPotion() {
|
||||
for (u32 i = 0; i < ARRAY_LEN(this->mPotions); i++) {
|
||||
if (this->mPotions[i] != PotionType_None) {
|
||||
return true;
|
||||
@@ -172,8 +162,7 @@ ARM bool ItemManager::func_ov000_020a88c8() {
|
||||
return false;
|
||||
}
|
||||
|
||||
// hasPurplePotion
|
||||
ARM bool ItemManager::func_ov000_020a88f4() {
|
||||
ARM bool ItemManager::HasPurplePotion() {
|
||||
for (u32 i = 0; i < ARRAY_LEN(this->mPotions); i++) {
|
||||
if (this->mPotions[i] == PotionType_Purple) {
|
||||
return true;
|
||||
@@ -183,8 +172,7 @@ ARM bool ItemManager::func_ov000_020a88f4() {
|
||||
return false;
|
||||
}
|
||||
|
||||
// removePurplePotion
|
||||
ARM void ItemManager::func_ov000_020a8920() {
|
||||
ARM void ItemManager::RemovePurplePotion() {
|
||||
for (s32 i = ARRAY_LEN(this->mPotions) - 1; i >= 0; i--) {
|
||||
if (this->mPotions[i] == PotionType_Purple) {
|
||||
this->mPotions[i] = PotionType_None;
|
||||
@@ -193,13 +181,13 @@ ARM void ItemManager::func_ov000_020a8920() {
|
||||
}
|
||||
}
|
||||
|
||||
// potionInventoryFull
|
||||
ARM bool ItemManager::func_ov000_020a8948() {
|
||||
ARM bool ItemManager::PotionSlotsFull() {
|
||||
for (u32 i = 0; i < ARRAY_LEN(this->mPotions); i++) {
|
||||
if (this->mPotions[i] == PotionType_None) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -207,8 +195,7 @@ ARM UnkStruct_ov000_020afc48 *ItemManager::func_ov000_020a8974(ItemFlag itemFlag
|
||||
return &data_ov000_020afc48[itemFlag];
|
||||
}
|
||||
|
||||
// GetEquipItemFlag?
|
||||
ARM ItemFlag ItemManager::func_ov000_020a8984(ItemId itemId) {
|
||||
ARM ItemFlag ItemManager::GetEquippedItemFlag(ItemId itemId) {
|
||||
ItemFlag itemFlag;
|
||||
|
||||
for (itemFlag = 0; itemFlag < ItemFlag_EQUIP_COUNT; itemFlag++) {
|
||||
@@ -238,8 +225,7 @@ ARM bool ItemManager::func_ov000_020a89d4() {
|
||||
|
||||
ARM bool ItemManager::func_ov000_020a8a0c() {
|
||||
if (this->mUnk_20 == NULL || this->mEquippedItem == ItemFlag_None ||
|
||||
IS_ITEM_RESTRICTED(this->mItemRestrictions, this->mEquippedItem) ||
|
||||
this->func_ov000_020a86d0(this->mEquippedItem) == 0) {
|
||||
IS_ITEM_RESTRICTED(this->mItemRestrictions, this->mEquippedItem) || this->GetItemAmount(this->mEquippedItem) == 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -28,16 +28,16 @@ const u32 data_ov000_020af58c[] = {
|
||||
GIModel_litB, // ItemId_SnowGlyph
|
||||
GIModel_litC, // ItemId_OceanGlyph
|
||||
GIModel_litD, // ItemId_FireGlyph
|
||||
GIModel_litA, // ItemId_25
|
||||
GIModel_litB, // ItemId_26
|
||||
GIModel_litC, // ItemId_27
|
||||
GIModel_litD, // ItemId_28
|
||||
GIModel_litC, // ItemId_29
|
||||
GIModel_litA, // ItemId_RestoredForestGlyph
|
||||
GIModel_litB, // ItemId_RestoredSnowGlyph
|
||||
GIModel_litC, // ItemId_RestoredOceanGlyph
|
||||
GIModel_litD, // ItemId_RestoredFireGlyph
|
||||
GIModel_litC, // ItemId_RestoredDesertOceanGlyph
|
||||
GIModel_litA, // ItemId_FinalTrack
|
||||
GIModel_None, // ItemId_31
|
||||
GIModel_None, // ItemId_32
|
||||
GIModel_None, // ItemId_33
|
||||
GIModel_None, // ItemId_34
|
||||
GIModel_None, // ItemId_SpiritTrain
|
||||
GIModel_None, // ItemId_TrainCannon
|
||||
GIModel_None, // ItemId_SpiritTrainCar
|
||||
GIModel_None, // ItemId_TrainWagon
|
||||
GIModel_frcY, // ItemId_ForceGem_35
|
||||
GIModel_frcY, // ItemId_ForceGem_36
|
||||
GIModel_frcY, // ItemId_ForceGem_37
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
#include "MainGame/CargoManager.hpp"
|
||||
#include "Unknown/UnkStruct_027e09a4.hpp"
|
||||
#include "global.h"
|
||||
|
||||
THUMB_BEGIN
|
||||
|
||||
CargoManager::CargoManager() {
|
||||
this->mUnk_18 = 0;
|
||||
this->mUnk_1C = 0;
|
||||
}
|
||||
|
||||
CargoManager::~CargoManager() {}
|
||||
|
||||
void CargoManager::func_ov001_020bf830() {
|
||||
if (this->mCargo.mAmount == 0 && data_027e09a4->func_01ffd3d8() == 0) {
|
||||
this->mCargo.mType = CargoType_None;
|
||||
}
|
||||
|
||||
this->mUnk_18 = 0;
|
||||
this->mUnk_1C = 0;
|
||||
}
|
||||
|
||||
void CargoManager::SetInstance(CargoManager *pInstance) {
|
||||
gpCargoManager = pInstance;
|
||||
}
|
||||
|
||||
bool CargoManager::ClearInstance() {
|
||||
gpCargoManager = NULL;
|
||||
//! @bug: missing return
|
||||
}
|
||||
|
||||
THUMB_END
|
||||
@@ -0,0 +1,90 @@
|
||||
#include "MainGame/PassengerManager.hpp"
|
||||
|
||||
THUMB_BEGIN
|
||||
|
||||
inline bool Test(s32 val) {
|
||||
bool ret = false;
|
||||
|
||||
if (val > 18 || val >= 16) {
|
||||
ret = true;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
inline bool Test2(s32 val) {
|
||||
bool ret = true;
|
||||
|
||||
if (val != 15 && !Test(val)) {
|
||||
ret = false;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
inline bool Test3(s32 val) {
|
||||
bool ret = true;
|
||||
|
||||
if (!Test2(val)) {
|
||||
if (*((volatile unk32 *) &data_027e09a4->mSceneIndex) != 36) {
|
||||
ret = false;
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
// https://decomp.me/scratch/svwnb
|
||||
bool PassengerManager::func_ov001_020bf870() {
|
||||
s32 sceneIndex = data_027e09a4->mSceneIndex;
|
||||
bool ret = true;
|
||||
|
||||
if (!Test3(sceneIndex)) {
|
||||
if (*((volatile unk32 *) &data_027e09a4->mSceneIndex) != 37) {
|
||||
ret = false;
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
PassengerManager::PassengerManager() {
|
||||
this->mDate = 0;
|
||||
this->mUnk_2C = -1;
|
||||
this->mUnk_30 = -1;
|
||||
}
|
||||
|
||||
PassengerManager::~PassengerManager() {}
|
||||
|
||||
void PassengerManager::func_ov001_020bf8e4() {
|
||||
this->func_ov001_020bf910();
|
||||
|
||||
if (this->CanCompleteTrip() && this->func_ov001_020bf870()) {
|
||||
this->SetFailedFlag();
|
||||
this->Reset();
|
||||
}
|
||||
}
|
||||
|
||||
void PassengerManager::func_ov001_020bf90c() {}
|
||||
|
||||
void PassengerManager::func_ov001_020bf910() {}
|
||||
|
||||
// non-matching
|
||||
bool PassengerManager::func_ov001_020bfa1c() {
|
||||
volatile u16 date[2];
|
||||
u16 date2;
|
||||
date[1] = date[0] = this->GetDate();
|
||||
|
||||
return !((date2 << 0x1B) & 1);
|
||||
}
|
||||
|
||||
void PassengerManager::SetInstance(PassengerManager *pInstance) {
|
||||
gpPassengerManager = pInstance;
|
||||
}
|
||||
|
||||
bool PassengerManager::ClearInstance() {
|
||||
gpPassengerManager = NULL;
|
||||
//! @bug missing return
|
||||
}
|
||||
|
||||
THUMB_END
|
||||
@@ -0,0 +1,180 @@
|
||||
#include "MainGame/CargoManager.hpp"
|
||||
#include "Save/AdventureFlags.hpp"
|
||||
#include "Unknown/UnkStruct_020d8698.hpp"
|
||||
#include "Unknown/UnkStruct_027e09a4.hpp"
|
||||
#include "Unknown/UnkStruct_027e0cd8.hpp"
|
||||
#include "Unknown/UnkStruct_027e0ce0.hpp"
|
||||
#include "Unknown/UnkStruct_027e0d00.hpp"
|
||||
|
||||
struct CargoInfos {
|
||||
/* 00 */ u16 timerMax;
|
||||
/* 02 */ s8 amountDecr;
|
||||
/* 03 */ s8 amountDamageDecr;
|
||||
/* 04 */ s16 amount;
|
||||
/* 06 */
|
||||
};
|
||||
|
||||
static const CargoInfos sCargoInfos[] = {
|
||||
{
|
||||
// CargoType_MegaIce
|
||||
.timerMax = 600,
|
||||
.amountDecr = 1,
|
||||
.amountDamageDecr = 3,
|
||||
.amount = 5,
|
||||
},
|
||||
{
|
||||
// CargoType_Wood
|
||||
.timerMax = 0,
|
||||
.amountDecr = 3,
|
||||
.amountDamageDecr = 3,
|
||||
.amount = 5,
|
||||
},
|
||||
{
|
||||
// CargoType_Iron
|
||||
.timerMax = 0,
|
||||
.amountDecr = 3,
|
||||
.amountDamageDecr = 3,
|
||||
.amount = 5,
|
||||
},
|
||||
{
|
||||
// CargoType_Fish
|
||||
.timerMax = 900,
|
||||
.amountDecr = 3,
|
||||
.amountDamageDecr = 3,
|
||||
.amount = 5,
|
||||
},
|
||||
{
|
||||
// CargoType_Cuccos
|
||||
.timerMax = 0,
|
||||
.amountDecr = 1,
|
||||
.amountDamageDecr = 1,
|
||||
.amount = 1,
|
||||
},
|
||||
{
|
||||
// CargoType_Vessel
|
||||
.timerMax = 0,
|
||||
.amountDecr = 1,
|
||||
.amountDamageDecr = 1,
|
||||
.amount = 0,
|
||||
},
|
||||
{
|
||||
// CargoType_DarkOre
|
||||
.timerMax = 900,
|
||||
.amountDecr = 1,
|
||||
.amountDamageDecr = 3,
|
||||
.amount = 5,
|
||||
},
|
||||
};
|
||||
|
||||
void CargoManager::DoUpdate() {
|
||||
gpCargoManager->Update();
|
||||
}
|
||||
|
||||
bool CargoManager::IsNotUsingTimer(unk32 type) {
|
||||
if (type == CargoType_None) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (sCargoInfos[type].timerMax == 0) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void CargoManager::Update() {
|
||||
if (UnkStruct_027e0ce0::func_ov000_0205c904()->func_ov024_020d3dcc() == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!CargoManager::IsNotUsingTimer(this->mCargo.mType)) {
|
||||
if (this->mCargo.mType != CargoType_None && this->mCargo.mAmount != 0) {
|
||||
//! TODO: fake match?
|
||||
unk32 type = *((volatile unk32 *) &this->mCargo.mType);
|
||||
|
||||
if (type == CargoType_DarkOre) {
|
||||
if (this->func_ov017_020bec9c()) {
|
||||
this->mCargo.mDecayTimer++;
|
||||
}
|
||||
} else if (type == CargoType_MegaIce || type == CargoType_Fish) {
|
||||
// the timer won't increase if we are in snow realm
|
||||
if (data_027e09a4->func_01ffd400()->mUnk_1B & 0x20) {
|
||||
this->mCargo.mDecayTimer++;
|
||||
}
|
||||
} else {
|
||||
this->mCargo.mDecayTimer++;
|
||||
}
|
||||
|
||||
if (this->mCargo.mDecayTimer >= sCargoInfos[this->mCargo.mType].timerMax) {
|
||||
this->RemoveAmount(1);
|
||||
this->mCargo.mDecayTimer = 0;
|
||||
data_ov024_020d8698->func_ov024_020cd3f0(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (this->mCargo.mAmount <= sCargoInfos[this->mCargo.mType].amount) {
|
||||
data_ov024_020d8698->func_ov024_020cd3e0(1);
|
||||
} else {
|
||||
data_ov024_020d8698->func_ov024_020cd3e0(0);
|
||||
}
|
||||
|
||||
if (this->mUnk_18 > 0) {
|
||||
this->mUnk_18--;
|
||||
}
|
||||
}
|
||||
|
||||
void CargoManager::Reset() {
|
||||
this->mCargo.Clear();
|
||||
this->mCargo2.Clear();
|
||||
UnkStruct_027e0d00::func_ov000_0205c944()->func_ov024_020d4d10();
|
||||
}
|
||||
|
||||
void CargoManager::Init(unk32 type, unk32 amount) {
|
||||
this->mCargo.Set(type, amount);
|
||||
this->mCargo2.Set(type, amount);
|
||||
|
||||
UnkStruct_027e0d00 *pUnkStruct_027e0d00 = UnkStruct_027e0d00::func_ov000_0205c944();
|
||||
pUnkStruct_027e0d00->func_ov024_020d4d10();
|
||||
pUnkStruct_027e0d00->func_ov024_020d4cc0(this->mCargo.mType);
|
||||
|
||||
data_ov024_020d8698->func_ov024_020cd410();
|
||||
data_ov024_020d8698->func_ov024_020cd3f0(1);
|
||||
}
|
||||
|
||||
void CargoManager::func_ov017_020bebdc() {
|
||||
if (this->mCargo.mType > CargoType_None && this->mCargo.mType < CargoType_Max) {
|
||||
this->RemoveAmount(sCargoInfos[this->mCargo.mType].amountDecr);
|
||||
data_ov024_020d8698->func_ov024_020cd3d0();
|
||||
}
|
||||
}
|
||||
|
||||
void CargoManager::func_ov017_020bec20() {
|
||||
if (this->mCargo.mType > CargoType_None && this->mCargo.mType < CargoType_Max) {
|
||||
this->mUnk_18 = 0x1E;
|
||||
this->RemoveAmount(sCargoInfos[this->mCargo.mType].amountDamageDecr);
|
||||
data_ov024_020d8698->func_ov024_020cd3d0();
|
||||
}
|
||||
}
|
||||
|
||||
void CargoManager::RemoveAmount(unk32 decr) {
|
||||
unk32 prevAmount = this->mCargo.mAmount;
|
||||
|
||||
if (prevAmount >= decr) {
|
||||
this->mCargo.mAmount = prevAmount - decr;
|
||||
} else {
|
||||
this->mCargo.mAmount = 0;
|
||||
}
|
||||
|
||||
if (prevAmount > 0 && this->mCargo.mAmount == 0) {
|
||||
this->mUnk_1C = true;
|
||||
}
|
||||
}
|
||||
|
||||
bool CargoManager::func_ov017_020bec9c() {
|
||||
if (data_027e09a4->func_01ffd3d8() != 0) {
|
||||
return data_027e0cd8->mUnk_0C->mUnk_160->func_ov026_02106aa8();
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
@@ -24,7 +24,7 @@ ARM UnkSubStruct9::UnkSubStruct9(stack_struct1 param1) :
|
||||
mUnk_614(0x89, 0x07),
|
||||
mUnk_68C(0x89, 0x08),
|
||||
mUnk_704(0x89, 0x09) {
|
||||
// Vec2s stack;
|
||||
// Vec2s stack;
|
||||
void *stack;
|
||||
if (this->mSaveSlotIndex == 0) {
|
||||
this->mUnk_004.func_ov000_020633c0(0x40, 0x89, 0x02, 0x1F, 0x89, 0x00);
|
||||
@@ -32,7 +32,7 @@ ARM UnkSubStruct9::UnkSubStruct9(stack_struct1 param1) :
|
||||
this->mUnk_77C.y = 0;
|
||||
} else if (this->mSaveSlotIndex == 1) {
|
||||
this->mUnk_004.func_ov000_020633c0(0x41, 0x89, 0x01, 0x1F, 0x89, 0x01);
|
||||
UnkStruct_ov019_020d24c8_28_258 local_40(0x89, 0x02); // sp28
|
||||
UnkStruct_ov019_020d24c8_28_258 local_40(0x89, 0x02); // sp28
|
||||
UnkStruct_ov019_020d24c8_28_258 local_58(0x89, 0x01); // sp10
|
||||
|
||||
s16 temp_r2 = local_58.mPos.x - local_40.mPos.x;
|
||||
|
||||
@@ -282,7 +282,7 @@ ARM void FileSelectMain::func_ov019_020c6e3c() {
|
||||
Vec2p auStack_50[2];
|
||||
Vec2s local_44;
|
||||
Vec2us auStack_60[2]; // c e
|
||||
Vec2us local_64; // 4 6
|
||||
Vec2us local_64; // 4 6
|
||||
int fileIndex;
|
||||
|
||||
fileIndex = this->mSaveSlotIndex == 0;
|
||||
@@ -977,7 +977,7 @@ ARM void FileSelectMain::func_ov019_020c7dc8() {
|
||||
unk32 var_r10;
|
||||
unk32 var_r2;
|
||||
unk32 var_r1;
|
||||
Vec2p local_48; // sp8 spC
|
||||
Vec2p local_48; // sp8 spC
|
||||
Vec2us sp10_sp12[2]; // sp4 sp6 sp10 sp12
|
||||
|
||||
if (this->mState == FileSelectState_ChooseModeToContactMode) {
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
#include "MainGame/CargoManager.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
|
||||
CargoManager *CargoManager::Create() {
|
||||
return new(HeapIndex_1) CargoManager();
|
||||
}
|
||||
|
||||
void CargoManager::SetCargo(unk32 type, unk32 amount) {
|
||||
this->mCargo.Set(type, amount);
|
||||
this->func_ov024_020d5900();
|
||||
}
|
||||
|
||||
void CargoManager::GetTypeAndAmount(unk32 *pType, unk32 *pAmount) {
|
||||
volatile Cargo *pCargo = &this->mCargo2;
|
||||
|
||||
unk32 type = pCargo->mType;
|
||||
unk32 amount = pCargo->mAmount;
|
||||
|
||||
*pType = type;
|
||||
*pAmount = amount;
|
||||
}
|
||||
|
||||
void CargoManager::func_ov024_020d5900() {
|
||||
this->mCargo2 = this->mCargo;
|
||||
}
|
||||
|
||||
void CargoManager::func_ov024_020d591c() {
|
||||
this->mCargo = this->mCargo2;
|
||||
}
|
||||
@@ -0,0 +1,357 @@
|
||||
#include "MainGame/PassengerManager.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/UnkStruct_02049bac.hpp"
|
||||
#include "Unknown/UnkStruct_027e09b8.hpp"
|
||||
|
||||
extern "C" SceneIndex func_ov000_0205c984();
|
||||
extern "C" u32 func_ov000_0205c9b4();
|
||||
|
||||
struct PassengerInfos {
|
||||
ActorId actorId;
|
||||
AdventureFlag_Half flagBoard;
|
||||
AdventureFlag_Half flagFail;
|
||||
};
|
||||
|
||||
static const PassengerInfos sPassengerInfos[] = {
|
||||
{
|
||||
.actorId = ActorId_SYWA,
|
||||
.flagBoard = AdventureFlag_CarbenBoardsTrain,
|
||||
.flagFail = AdventureFlag_FailedCarbenTrainRide,
|
||||
},
|
||||
{
|
||||
.actorId = ActorId_WAMA,
|
||||
.flagBoard = AdventureFlag_WadatsumiBoardsTrain,
|
||||
.flagFail = AdventureFlag_FailedWadatsumiTrainRide,
|
||||
},
|
||||
{
|
||||
.actorId = ActorId_FOMA,
|
||||
.flagBoard = AdventureFlag_MorrisBoardsTrain,
|
||||
.flagFail = AdventureFlag_FailedMorrisTrainRide,
|
||||
},
|
||||
{
|
||||
.actorId = ActorId_FOMB,
|
||||
.flagBoard = AdventureFlag_MashBoardsTrain,
|
||||
.flagFail = AdventureFlag_FailedMashTrainRide,
|
||||
},
|
||||
{
|
||||
.actorId = ActorId_FOMC,
|
||||
.flagBoard = AdventureFlag_YamahikoBoardsTrain,
|
||||
.flagFail = AdventureFlag_FailedYamahikoTrainRide,
|
||||
},
|
||||
{
|
||||
.actorId = ActorId_FOPD,
|
||||
.flagBoard = AdventureFlag_Unk_1B1,
|
||||
.flagFail = AdventureFlag_Unk_1C9,
|
||||
},
|
||||
{
|
||||
.actorId = ActorId_FOMR,
|
||||
.flagBoard = AdventureFlag_DovokBoardsTrain,
|
||||
.flagFail = AdventureFlag_FailedDovokTrainRide,
|
||||
},
|
||||
{
|
||||
.actorId = ActorId_YKAP,
|
||||
.flagBoard = AdventureFlag_KofuBoardsTrain,
|
||||
.flagFail = AdventureFlag_FailedKofuTrainRide,
|
||||
},
|
||||
{
|
||||
.actorId = ActorId_GORP,
|
||||
.flagBoard = AdventureFlag_GoronAdultBoardsTrain,
|
||||
.flagFail = AdventureFlag_FailedGoronAdultTrainRide,
|
||||
},
|
||||
{
|
||||
.actorId = ActorId_GOCP,
|
||||
.flagBoard = AdventureFlag_ChildGoronBoardsTrain,
|
||||
.flagFail = AdventureFlag_FailedChildGoronTrainRide,
|
||||
},
|
||||
{
|
||||
.actorId = ActorId_YKCP,
|
||||
.flagBoard = AdventureFlag_NokoBoardsTrain,
|
||||
.flagFail = AdventureFlag_FailedNokoTrainRide,
|
||||
},
|
||||
{
|
||||
.actorId = ActorId_TMNA,
|
||||
.flagBoard = AdventureFlag_FerrusBoardsTrainToOutset,
|
||||
.flagFail = AdventureFlag_FailedFerrusTrainRideToOutset,
|
||||
},
|
||||
{
|
||||
.actorId = ActorId_TMNP,
|
||||
.flagBoard = AdventureFlag_FerrusBoardsTrainToMarineTemple,
|
||||
.flagFail = AdventureFlag_FailedFerrusTrainRideToMarineTemple,
|
||||
},
|
||||
{
|
||||
.actorId = ActorId_CAWB,
|
||||
.flagBoard = AdventureFlag_MonaBoardsTrain,
|
||||
.flagFail = AdventureFlag_FailedMonaTrainRide,
|
||||
},
|
||||
{
|
||||
.actorId = ActorId_NCCA,
|
||||
.flagBoard = AdventureFlag_JoeBoardsTrain,
|
||||
.flagFail = AdventureFlag_FailedJoeTrainRide,
|
||||
},
|
||||
{
|
||||
.actorId = ActorId_CRFP,
|
||||
.flagBoard = AdventureFlag_KenzoBoardsTrainToBuildFence,
|
||||
.flagFail = AdventureFlag_FailedKenzoTrainRideToAnouki,
|
||||
},
|
||||
};
|
||||
|
||||
u32 PassengerManager::GetPassengerInfoIndex(ActorId actorId) {
|
||||
for (u32 i = 0; i < ARRAY_LEN(sPassengerInfos); i++) {
|
||||
if (actorId == sPassengerInfos[i].actorId) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
AdventureFlag PassengerManager::GetBoardFlag(ActorId actorId) {
|
||||
u32 index = PassengerManager::GetPassengerInfoIndex(actorId);
|
||||
|
||||
if (index != -1) {
|
||||
return sPassengerInfos[index].flagBoard;
|
||||
}
|
||||
|
||||
return AdventureFlag_Nothing;
|
||||
}
|
||||
|
||||
AdventureFlag PassengerManager::GetFailFlag(ActorId actorId) {
|
||||
u32 index = PassengerManager::GetPassengerInfoIndex(actorId);
|
||||
|
||||
if (index != -1) {
|
||||
return sPassengerInfos[index].flagFail;
|
||||
}
|
||||
|
||||
return AdventureFlag_Nothing;
|
||||
}
|
||||
|
||||
PassengerManager *PassengerManager::Create() {
|
||||
return new(HeapIndex_1) PassengerManager();
|
||||
}
|
||||
|
||||
// non-matching
|
||||
void PassengerManager::func_ov024_020d41bc(UnkStruct_Param1 *param1) {
|
||||
ActorId actorId = param1->actorId;
|
||||
s16 mUnk_04 = param1->mUnk_04;
|
||||
|
||||
s16 sceneIndex = param1->sceneIndex;
|
||||
this->mPassenger.mActorId = actorId;
|
||||
this->mPassenger.mUnk_04 = mUnk_04;
|
||||
|
||||
u8 roomIndex = param1->roomIndex;
|
||||
unk32 happiness = param1->happiness;
|
||||
u16 mUnk_14 = param1->mUnk_14;
|
||||
|
||||
this->mPassenger.mSceneIndex = sceneIndex;
|
||||
this->mPassenger.mRoomIndex = roomIndex;
|
||||
this->mPassenger.mHappiness = happiness;
|
||||
this->mDate = mUnk_14;
|
||||
|
||||
this->func_ov024_020d4228();
|
||||
}
|
||||
|
||||
void PassengerManager::func_ov024_020d41f4(UnkStruct_Param1 *param1) {
|
||||
param1->actorId = this->mPassenger2.mActorId;
|
||||
param1->mUnk_04 = this->mPassenger2.mUnk_04;
|
||||
param1->sceneIndex = this->mPassenger2.mSceneIndex;
|
||||
param1->roomIndex = this->mPassenger2.mRoomIndex;
|
||||
param1->happiness = this->mPassenger2.mHappiness;
|
||||
param1->mUnk_14 = this->mDate;
|
||||
}
|
||||
|
||||
void PassengerManager::func_ov024_020d4228() {
|
||||
this->mPassenger2.mActorId = this->mPassenger.mActorId;
|
||||
this->mPassenger2.mUnk_04 = this->mPassenger.mUnk_04;
|
||||
this->mPassenger2.mSceneIndex = this->mPassenger.mSceneIndex;
|
||||
this->mPassenger2.mRoomIndex = this->mPassenger.mRoomIndex;
|
||||
this->mPassenger2.mHappiness = this->mPassenger.mHappiness;
|
||||
}
|
||||
|
||||
void PassengerManager::func_ov024_020d4258() {
|
||||
this->mPassenger.mActorId = this->mPassenger2.mActorId;
|
||||
this->mPassenger.mUnk_04 = this->mPassenger2.mUnk_04;
|
||||
this->mPassenger.mSceneIndex = this->mPassenger2.mSceneIndex;
|
||||
this->mPassenger.mRoomIndex = this->mPassenger2.mRoomIndex;
|
||||
this->mPassenger.mHappiness = this->mPassenger2.mHappiness;
|
||||
}
|
||||
|
||||
bool PassengerManager::TryBoardTrain(ActorId actorId, SceneIndex sceneIndex, u32 roomIndex) {
|
||||
if (!this->CanCompleteTrip() && !this->IsCaughtByPirates()) {
|
||||
this->mPassenger.mActorId = actorId;
|
||||
this->mPassenger.mUnk_04 = 0;
|
||||
this->mPassenger.mSceneIndex = sceneIndex;
|
||||
this->mPassenger.mRoomIndex = roomIndex;
|
||||
this->mPassenger.mHappiness = HappinessLevel_5;
|
||||
this->func_ov024_020d4228();
|
||||
|
||||
if (this->mPassenger.mActorId == ActorId_OLDS) {
|
||||
this->func_ov024_020d4554();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool PassengerManager::TryReset() {
|
||||
if (this->CanCompleteTrip()) {
|
||||
this->Reset();
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool PassengerManager::TryResetAtDestination() {
|
||||
if (this->CanCompleteTrip()) {
|
||||
if (this->ReachedDestination(func_ov000_0205c984(), func_ov000_0205c9b4())) {
|
||||
this->Reset();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool PassengerManager::ReachedDestination(SceneIndex sceneIndex, u32 roomIndex) {
|
||||
if (this->mPassenger.mRoomIndex == 0xFF) {
|
||||
return this->mPassenger.mSceneIndex == sceneIndex;
|
||||
}
|
||||
|
||||
return this->mPassenger.mSceneIndex == sceneIndex && this->mPassenger.mRoomIndex == roomIndex;
|
||||
}
|
||||
|
||||
bool PassengerManager::TrySetCaughtByPirates() {
|
||||
if (this->CanCompleteTrip()) {
|
||||
SET_FLAG(data_027e09b8->mAdventureFlags, AdventureFlag_Unk_2CC);
|
||||
this->mPassenger.mUnk_04 = 1;
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool PassengerManager::CaughtByPiratesTryReset() {
|
||||
if (this->IsCaughtByPirates()) {
|
||||
UNSET_FLAG(data_027e09b8->mAdventureFlags, AdventureFlag_Unk_2CC);
|
||||
this->SetFailedFlag();
|
||||
this->Reset();
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void PassengerManager::GiveHappiness(unk32 amount) {
|
||||
if (this->CanCompleteTrip() || this->IsCaughtByPirates()) {
|
||||
if (this->mPassenger.mHappiness != HappinessLevel_0) {
|
||||
unk32 newHappiness = this->mPassenger.mHappiness + amount;
|
||||
|
||||
if (newHappiness > HappinessLevel_5) {
|
||||
newHappiness = HappinessLevel_5;
|
||||
} else if (newHappiness < HappinessLevel_0) {
|
||||
newHappiness = HappinessLevel_0;
|
||||
}
|
||||
|
||||
this->mPassenger.mHappiness = newHappiness;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
unk32 PassengerManager::GetHappiness() {
|
||||
return this->mPassenger.mHappiness;
|
||||
}
|
||||
|
||||
unk32 PassengerManager::GetHappinessCond() {
|
||||
if (!this->CanCompleteTrip() && !this->IsCaughtByPirates()) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
return this->mPassenger.mHappiness;
|
||||
}
|
||||
|
||||
bool PassengerManager::CanCompleteTrip() {
|
||||
bool result = false;
|
||||
|
||||
if (this->mPassenger.mActorId != ActorId_None && this->mPassenger.mUnk_04 == 0 &&
|
||||
data_027e09a4->mSceneIndex != SceneIndex_t_minigame) {
|
||||
result = true;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
bool PassengerManager::IsCaughtByPirates() {
|
||||
if (this->mPassenger.mActorId != ActorId_None && this->mPassenger.mUnk_04 == 1) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
ActorId PassengerManager::GetActorId() {
|
||||
return this->mPassenger.mActorId;
|
||||
}
|
||||
|
||||
PassengerManager *PassengerManager::GetInstance() {
|
||||
PassengerManager *pPassengerManager = this;
|
||||
|
||||
if (!this->CanCompleteTrip() && !this->IsCaughtByPirates()) {
|
||||
pPassengerManager = NULL;
|
||||
}
|
||||
|
||||
return pPassengerManager;
|
||||
}
|
||||
|
||||
void PassengerManager::func_ov024_020d4554() {
|
||||
this->mUnk_2C = -1;
|
||||
this->mUnk_30 = -1;
|
||||
}
|
||||
|
||||
void PassengerManager::Reset() {
|
||||
if (this->mPassenger.mActorId == ActorId_OLDS) {
|
||||
//! TODO: fake match
|
||||
volatile u16 date[2];
|
||||
date[0] = this->GetDate();
|
||||
u16 date2 = date[0];
|
||||
date[1] = date2;
|
||||
this->mDate = date2;
|
||||
}
|
||||
|
||||
this->mPassenger.Reset();
|
||||
this->mPassenger2.Reset();
|
||||
}
|
||||
|
||||
bool PassengerManager::IsDateUnset() {
|
||||
return this->mDate == 0;
|
||||
}
|
||||
|
||||
s16 PassengerManager::GetDate() {
|
||||
u16 date;
|
||||
data_02049bac.func_02014a34(&date);
|
||||
return date;
|
||||
}
|
||||
|
||||
// non-matching
|
||||
u32 PassengerManager::GetRandomIndex(u32 arg1, s32 arg2) {
|
||||
u64 factor = 0x5D588B656C078965;
|
||||
u64 addend = 0x00269EC3;
|
||||
|
||||
u64 seed = (u32) arg2;
|
||||
u64 seed2 = addend + (factor * seed);
|
||||
|
||||
u32 thing = seed2 >> 32;
|
||||
|
||||
return thing % arg1;
|
||||
}
|
||||
|
||||
void PassengerManager::SetFailedFlag() {
|
||||
if (this->mPassenger.mActorId != ActorId_OLDS) {
|
||||
AdventureFlag flagBoard = PassengerManager::GetBoardFlag(this->mPassenger.mActorId);
|
||||
AdventureFlag flagFail = PassengerManager::GetFailFlag(this->mPassenger.mActorId);
|
||||
|
||||
UNSET_FLAG(data_027e09b8->mAdventureFlags, flagBoard);
|
||||
SET_FLAG(data_027e09b8->mAdventureFlags, flagFail);
|
||||
}
|
||||
}
|
||||
@@ -213,7 +213,7 @@ ARM ItemId MapObjectChestBase::func_ov031_021037d0() {
|
||||
|
||||
this->vfunc_38(7, 0);
|
||||
|
||||
if ((u32) this->mItemId - ItemId_RedPotion <= 2 && data_027e0ce0->mUnk_2C->func_ov000_020a8948()) {
|
||||
if ((u32) this->mItemId - ItemId_RedPotion <= 2 && data_027e0ce0->mUnk_2C->PotionSlotsFull()) {
|
||||
return ItemId_BigGreenRupee;
|
||||
}
|
||||
|
||||
|
||||
@@ -98,7 +98,7 @@ ARM void MapObjectDoorKey::vfunc_5C(unk32 param1, unk32 param2) {
|
||||
switch (this->mUnk_16) {
|
||||
case 3:
|
||||
if (param2 == 0) {
|
||||
data_027e0ce0->mUnk_2C->func_ov000_020a87c8(-1);
|
||||
data_027e0ce0->mUnk_2C->GiveSmallKeys(-1);
|
||||
}
|
||||
|
||||
UNSET_FLAG(this->mFlags, MapObjFlag_9);
|
||||
|
||||
@@ -177,7 +177,7 @@ ARM bool ActorUnkSHIT::func_ov036_0211d2dc(void) {
|
||||
|
||||
switch (this->mItemId) {
|
||||
case ItemId_NormalShield:
|
||||
if (GET_FLAG(pIVar4->mUnk_08, ItemFlag_Shield)) {
|
||||
if (GET_FLAG(pIVar4->mFlags, ItemFlag_Shield)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -185,7 +185,7 @@ ARM bool ActorUnkSHIT::func_ov036_0211d2dc(void) {
|
||||
case ItemId_RedPotion:
|
||||
case ItemId_PurplePotion:
|
||||
case ItemId_YellowPotion:
|
||||
if (pIVar4->func_ov000_020a8948()) {
|
||||
if (pIVar4->PotionSlotsFull()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -231,26 +231,26 @@ ARM bool ActorUnkSHIT::func_ov036_0211d2dc(void) {
|
||||
|
||||
break;
|
||||
case ItemId_BombsRefill:
|
||||
if (!GET_FLAG(pIVar4->mUnk_08, ItemFlag_Bombs)) {
|
||||
if (!GET_FLAG(pIVar4->mFlags, ItemFlag_Bombs)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
{
|
||||
u8 amount = pIVar4->mBombAmount;
|
||||
if (amount >= pIVar4->func_ov000_020a8748()) {
|
||||
if (amount >= pIVar4->GetBombBagCapacity()) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
case ItemId_ArrowsRefill:
|
||||
if (!GET_FLAG(pIVar4->mUnk_08, ItemFlag_Bow)) {
|
||||
if (!GET_FLAG(pIVar4->mFlags, ItemFlag_Bow)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
{
|
||||
u8 amount = pIVar4->mArrowAmount;
|
||||
if (amount >= pIVar4->func_ov000_020a8728()) {
|
||||
if (amount >= pIVar4->GetQuiverCapacity()) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -258,7 +258,7 @@ ARM bool ActorUnkSHIT::func_ov036_0211d2dc(void) {
|
||||
break;
|
||||
case ItemId_QuiverMedium:
|
||||
case ItemId_QuiverLarge:
|
||||
if (!GET_FLAG(pIVar4->mUnk_08, ItemFlag_Bow)) {
|
||||
if (!GET_FLAG(pIVar4->mFlags, ItemFlag_Bow)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -324,10 +324,10 @@ ARM void ActorUnkSHIT::func_ov036_0211d570(unk32 param1) {
|
||||
this->mUnk_2D3 = true;
|
||||
break;
|
||||
case ItemId_BombsRefill:
|
||||
pIVar4->func_ov000_020a8820(10);
|
||||
pIVar4->GiveBombs(10);
|
||||
break;
|
||||
case ItemId_ArrowsRefill:
|
||||
pIVar4->func_ov000_020a87ec(10);
|
||||
pIVar4->GiveArrows(10);
|
||||
break;
|
||||
case ItemId_QuiverMedium:
|
||||
case ItemId_QuiverLarge:
|
||||
|
||||
+258
-258
@@ -73,7 +73,7 @@ static inline s16 GetItemFlag(ItemId itemId) {
|
||||
ARM bool ItemManager::func_ov110_02184a40(ItemId itemId) {
|
||||
switch (itemId) {
|
||||
case ItemId_NormalKey:
|
||||
this->func_ov000_020a87c8(1);
|
||||
this->GiveSmallKeys(1);
|
||||
break;
|
||||
case ItemId_GreenRupee:
|
||||
this->GiveRupees(1, true, true);
|
||||
@@ -102,7 +102,7 @@ ARM bool ItemManager::func_ov110_02184a40(ItemId itemId) {
|
||||
this->mQuiverCapacity++;
|
||||
}
|
||||
|
||||
this->mArrowAmount = this->func_ov000_020a8728();
|
||||
this->mArrowAmount = this->GetQuiverCapacity();
|
||||
break;
|
||||
case ItemId_BombBagMedium:
|
||||
case ItemId_BombBagLarge:
|
||||
@@ -110,22 +110,22 @@ ARM bool ItemManager::func_ov110_02184a40(ItemId itemId) {
|
||||
this->mBombBagCapacity++;
|
||||
}
|
||||
|
||||
this->mBombAmount = this->func_ov000_020a8748();
|
||||
this->mBombAmount = this->GetBombBagCapacity();
|
||||
break;
|
||||
case ItemId_RedPotion:
|
||||
this->func_ov000_020a888c(PotionType_Red);
|
||||
this->GivePotion(PotionType_Red);
|
||||
break;
|
||||
case ItemId_PurplePotion:
|
||||
this->func_ov000_020a888c(PotionType_Purple);
|
||||
this->GivePotion(PotionType_Purple);
|
||||
break;
|
||||
case ItemId_YellowPotion:
|
||||
this->func_ov000_020a888c(PotionType_Yellow);
|
||||
this->GivePotion(PotionType_Yellow);
|
||||
break;
|
||||
case ItemId_ArrowsRefill:
|
||||
this->func_ov000_020a87ec(10);
|
||||
this->GiveArrows(10);
|
||||
break;
|
||||
case ItemId_BombsRefill:
|
||||
this->func_ov000_020a8820(10);
|
||||
this->GiveBombs(10);
|
||||
break;
|
||||
case ItemId_TearLight:
|
||||
if (this->mTearsAmount >= 3) {
|
||||
@@ -135,10 +135,10 @@ ARM bool ItemManager::func_ov110_02184a40(ItemId itemId) {
|
||||
}
|
||||
break;
|
||||
default:
|
||||
ItemFlag itemFlag = ItemManager::func_ov000_020a8984(itemId);
|
||||
ItemFlag itemFlag = ItemManager::GetEquippedItemFlag(itemId);
|
||||
|
||||
if (itemFlag != ItemFlag_None) {
|
||||
this->func_ov000_020a863c(itemFlag);
|
||||
this->SetFlag(itemFlag);
|
||||
|
||||
switch (itemFlag) {
|
||||
case ItemFlag_Bombs:
|
||||
@@ -161,7 +161,7 @@ ARM bool ItemManager::func_ov110_02184a40(ItemId itemId) {
|
||||
itemFlag = GetItemFlag(itemId);
|
||||
|
||||
if (itemFlag != ItemFlag_None) {
|
||||
this->func_ov000_020a863c(itemFlag);
|
||||
this->SetFlag(itemFlag);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -178,7 +178,7 @@ ARM bool ItemManager::func_ov110_02184a40(ItemId itemId) {
|
||||
data_ov000_020b6510->func_ov000_020aa0ac(itemId);
|
||||
gpMiscAdvManager->GiveLetterOrPriceCard(itemId);
|
||||
|
||||
if (!GET_FLAG(this->mUnk_08, ItemFlag_LokomoSword) && itemId == ItemId_TearLight &&
|
||||
if (!GET_FLAG(this->mFlags, ItemFlag_LokomoSword) && itemId == ItemId_TearLight &&
|
||||
this->mTearsAmount == MAX_TEARS_OF_LIGHT && (gOverlayManager.mLoadedOverlays[OverlaySlot_8] == OverlayIndex_Tower)) {
|
||||
return true;
|
||||
}
|
||||
@@ -188,244 +188,244 @@ ARM bool ItemManager::func_ov110_02184a40(ItemId itemId) {
|
||||
|
||||
// BMG IDs
|
||||
static const u32 sBMGItemMap[] = {
|
||||
BMG_ID(BMGGroup_maingame, 0x01), // ItemId_Nothing
|
||||
BMG_ID(BMGGroup_maingame, 0x02), // ItemId_NormalShield
|
||||
BMG_ID(BMGGroup_castle, 0xD6), // ItemId_NormalSword
|
||||
BMG_ID(BMGGroup_dungeon, 0x7A), // ItemId_Whirlwind
|
||||
BMG_ID(BMGGroup_maingame, 0x03), // ItemId_BombBag
|
||||
BMG_ID(BMGGroup_dungeon, 0x7B), // ItemId_NormalBow
|
||||
BMG_ID(BMGGroup_dungeon, 0x7C), // ItemId_Boomerang
|
||||
BMG_ID(BMGGroup_dungeon, 0x7D), // ItemId_Whip
|
||||
BMG_ID(BMGGroup_dungeon, 0x7E), // ItemId_SandRod
|
||||
BMG_ID(BMGGroup_maingame, 0x04), // ItemId_9
|
||||
BMG_ID(BMGGroup_maingame, 0x05), // ItemId_NormalKey
|
||||
BMG_ID(BMGGroup_maingame, 0x06), // ItemId_BossKey
|
||||
BMG_ID(BMGGroup_maingame, 0x07), // ItemId_GreenRupee
|
||||
BMG_ID(BMGGroup_maingame, 0x08), // ItemId_BlueRupee
|
||||
BMG_ID(BMGGroup_maingame, 0x09), // ItemId_RedRupee
|
||||
BMG_ID(BMGGroup_maingame, 0x0A), // ItemId_BigGreenRupee
|
||||
BMG_ID(BMGGroup_maingame, 0x0B), // ItemId_BigRedRupee
|
||||
BMG_ID(BMGGroup_maingame, 0x0C), // ItemId_BigGoldRupee
|
||||
BMG_ID(BMGGroup_maingame, 0x0D), // ItemId_ForceGem_18
|
||||
BMG_ID(BMGGroup_maingame, 0x0E), // ItemId_ForceGem_19
|
||||
BMG_ID(BMGGroup_maingame, 0x0F), // ItemId_ForceGem_20
|
||||
BMG_ID(BMGGroup_tower, 0x00), // ItemId_ForestGlyph
|
||||
BMG_ID(BMGGroup_tower, 0x01), // ItemId_SnowGlyph
|
||||
BMG_ID(BMGGroup_tower, 0x02), // ItemId_OceanGlyph
|
||||
BMG_ID(BMGGroup_tower, 0x03), // ItemId_FireGlyph
|
||||
BMG_ID(BMGGroup_forest, 0xEB), // ItemId_25
|
||||
BMG_ID(BMGGroup_snow, 0x00), // ItemId_26
|
||||
BMG_ID(BMGGroup_water, 0x00), // ItemId_27
|
||||
BMG_ID(BMGGroup_flame_fld, 0x8E), // ItemId_28
|
||||
BMG_ID(BMGGroup_desert, 0x48), // ItemId_29
|
||||
BMG_ID(BMGGroup_maingame, 0x10), // ItemId_FinalTrack
|
||||
BMG_ID(BMGGroup_maingame, 0x11), // ItemId_31
|
||||
BMG_ID(BMGGroup_maingame, 0x12), // ItemId_32
|
||||
BMG_ID(BMGGroup_maingame, 0x13), // ItemId_33
|
||||
BMG_ID(BMGGroup_maingame, 0x14), // ItemId_34
|
||||
BMG_ID(BMGGroup_maingame, 0x15), // ItemId_ForceGem_35
|
||||
BMG_ID(BMGGroup_maingame, 0x16), // ItemId_ForceGem_36
|
||||
BMG_ID(BMGGroup_maingame, 0x17), // ItemId_ForceGem_37
|
||||
BMG_ID(BMGGroup_castle, 0xD7), // ItemId_RecruitUniform
|
||||
BMG_ID(BMGGroup_maingame, 0x18), // ItemId_PostmasterLetter
|
||||
BMG_ID(BMGGroup_maingame, 0x19), // ItemId_HeartContainer
|
||||
BMG_ID(BMGGroup_maingame, 0x1A), // ItemId_QuiverMedium
|
||||
BMG_ID(BMGGroup_maingame, 0x1B), // ItemId_BombBagMedium
|
||||
BMG_ID(BMGGroup_maingame, 0x1C), // ItemId_ForceGem_43
|
||||
BMG_ID(BMGGroup_maingame, 0x1D), // ItemId_ForceGem_44
|
||||
BMG_ID(BMGGroup_maingame, 0x1E), // ItemId_ForceGem_45
|
||||
BMG_ID(BMGGroup_maingame, 0x1F), // ItemId_ForceGem_46
|
||||
BMG_ID(BMGGroup_maingame, 0x20), // ItemId_ForceGem_47
|
||||
BMG_ID(BMGGroup_maingame, 0x21), // ItemId_ForceGem_48
|
||||
BMG_ID(BMGGroup_maingame, 0x22), // ItemId_ForceGem_49
|
||||
BMG_ID(BMGGroup_maingame, 0x23), // ItemId_ForceGem_50
|
||||
BMG_ID(BMGGroup_maingame, 0x24), // ItemId_ForceGem_51
|
||||
BMG_ID(BMGGroup_maingame, 0x25), // ItemId_ForceGem_52
|
||||
BMG_ID(BMGGroup_maingame, 0x26), // ItemId_ForceGem_53
|
||||
BMG_ID(BMGGroup_maingame, 0x27), // ItemId_ForceGem_54
|
||||
BMG_ID(BMGGroup_maingame, 0x28), // ItemId_ForceGem_55
|
||||
BMG_ID(BMGGroup_maingame, 0x29), // ItemId_ForceGem_56
|
||||
BMG_ID(BMGGroup_maingame, 0x2A), // ItemId_ForceGem_57
|
||||
BMG_ID(BMGGroup_maingame, 0x2B), // ItemId_ForceGem_58
|
||||
BMG_ID(BMGGroup_maingame, 0x2C), // ItemId_ForceGem_59
|
||||
BMG_ID(BMGGroup_maingame, 0x2D), // ItemId_ForceGem_60
|
||||
BMG_ID(BMGGroup_maingame, 0x2E), // ItemId_ForceGem_61
|
||||
BMG_ID(BMGGroup_maingame, 0x2F), // ItemId_PanFlute
|
||||
BMG_ID(BMGGroup_village, 0xF7), // ItemId_StampBook
|
||||
BMG_ID(BMGGroup_dungeon, 0x7F), // ItemId_LightBow
|
||||
BMG_ID(BMGGroup_maingame, 0x30), // ItemId_LokomoSword
|
||||
BMG_ID(BMGGroup_maingame, 0x31), // ItemId_TenPriceCard
|
||||
BMG_ID(BMGGroup_maingame, 0x32), // ItemId_RedPotion
|
||||
BMG_ID(BMGGroup_maingame, 0x33), // ItemId_PurplePotion
|
||||
BMG_ID(BMGGroup_maingame, 0x34), // ItemId_YellowPotion
|
||||
BMG_ID(BMGGroup_maingame, 0x35), // ItemId_DemonFossil
|
||||
BMG_ID(BMGGroup_maingame, 0x36), // ItemId_StalfosSkull
|
||||
BMG_ID(BMGGroup_maingame, 0x37), // ItemId_StarFragment
|
||||
BMG_ID(BMGGroup_maingame, 0x38), // ItemId_BeeLarvae
|
||||
BMG_ID(BMGGroup_maingame, 0x39), // ItemId_WoodHeart
|
||||
BMG_ID(BMGGroup_maingame, 0x3A), // ItemId_DarkPearlLoop
|
||||
BMG_ID(BMGGroup_maingame, 0x3B), // ItemId_WhitePearlLoop
|
||||
BMG_ID(BMGGroup_maingame, 0x3C), // ItemId_RutoCrown
|
||||
BMG_ID(BMGGroup_maingame, 0x3D), // ItemId_DragonScale
|
||||
BMG_ID(BMGGroup_maingame, 0x3E), // ItemId_PirateNecklace
|
||||
BMG_ID(BMGGroup_maingame, 0x3F), // ItemId_PalaceDish
|
||||
BMG_ID(BMGGroup_maingame, 0x40), // ItemId_GoronAmber
|
||||
BMG_ID(BMGGroup_maingame, 0x41), // ItemId_MysticJade
|
||||
BMG_ID(BMGGroup_maingame, 0x42), // ItemId_AncientCoin
|
||||
BMG_ID(BMGGroup_maingame, 0x43), // ItemId_PricelessStone
|
||||
BMG_ID(BMGGroup_maingame, 0x44), // ItemId_RegalRing
|
||||
BMG_ID(BMGGroup_maingame, 0x45), // ItemId_ArrowsRefill
|
||||
BMG_ID(BMGGroup_maingame, 0x46), // ItemId_BombsRefill
|
||||
BMG_ID(BMGGroup_maingame, 0x47), // ItemId_SoldOutSign
|
||||
BMG_ID(BMGGroup_village, 0xF8), // ItemId_AncientShield
|
||||
BMG_ID(BMGGroup_maingame, 0x48), // ItemId_QuiverLarge
|
||||
BMG_ID(BMGGroup_maingame, 0x49), // ItemId_BombBagLarge
|
||||
BMG_ID(BMGGroup_maingame, 0x4A), // ItemId_RandCommonTreasure
|
||||
BMG_ID(BMGGroup_maingame, 0x4B), // ItemId_RandUncommonTreasure
|
||||
BMG_ID(BMGGroup_maingame, 0x4C), // ItemId_RandRareTreasure
|
||||
BMG_ID(BMGGroup_maingame, 0x4D), // ItemId_RandLegendaryTreasure
|
||||
BMG_ID(BMGGroup_tower, 0x04), // ItemId_TearLight
|
||||
BMG_ID(BMGGroup_tower, 0x05), // ItemId_LightCompass
|
||||
BMG_ID(BMGGroup_maingame, 0x4E), // ItemId_ScrollSpinAttack
|
||||
BMG_ID(BMGGroup_maingame, 0x4F), // ItemId_ScrollBeam
|
||||
BMG_ID(BMGGroup_village, 0xF9), // ItemId_LinebeckLetter
|
||||
BMG_ID(BMGGroup_forest, 0xEC), // ItemId_PanFluteSong_101
|
||||
BMG_ID(BMGGroup_dungeon, 0x80), // ItemId_PanFluteSong_102
|
||||
BMG_ID(BMGGroup_water, 0x01), // ItemId_PanFluteSong_103
|
||||
BMG_ID(BMGGroup_village, 0xFA), // ItemId_PanFluteSong_104
|
||||
BMG_ID(BMGGroup_snow, 0x01), // ItemId_PanFluteSong_105
|
||||
BMG_ID(BMGGroup_maingame, 0x50), // ItemId_RabbitNet
|
||||
BMG_ID(BMGGroup_maingame, 0x51), // ItemId_BeedleCard
|
||||
BMG_ID(BMGGroup_maingame, 0x52), // ItemId_SilverCard
|
||||
BMG_ID(BMGGroup_maingame, 0x53), // ItemId_GoldCard
|
||||
BMG_ID(BMGGroup_maingame, 0x54), // ItemId_PlatinumCard
|
||||
BMG_ID(BMGGroup_maingame, 0x55), // ItemId_DiamondCard
|
||||
BMG_ID(BMGGroup_maingame, 0x56), // ItemId_FreebieCard
|
||||
BMG_ID(BMGGroup_maingame, 0x57), // ItemId_QuintupleCard
|
||||
BMG_ID(BMGGroup_maingame, 0x58), // ItemId_CarbenLetter
|
||||
BMG_ID(BMGGroup_maingame, 0x59), // ItemId_RecruitUniform2
|
||||
BMG_ID(BMGGroup_maingame, 0x5A), // ItemId_EngineerUniform
|
||||
BMG_ID(BMGGroup_maingame, 0x01), // ItemId_Nothing
|
||||
BMG_ID(BMGGroup_maingame, 0x02), // ItemId_NormalShield
|
||||
BMG_ID(BMGGroup_castle, 0xD6), // ItemId_NormalSword
|
||||
BMG_ID(BMGGroup_dungeon, 0x7A), // ItemId_Whirlwind
|
||||
BMG_ID(BMGGroup_maingame, 0x03), // ItemId_BombBag
|
||||
BMG_ID(BMGGroup_dungeon, 0x7B), // ItemId_NormalBow
|
||||
BMG_ID(BMGGroup_dungeon, 0x7C), // ItemId_Boomerang
|
||||
BMG_ID(BMGGroup_dungeon, 0x7D), // ItemId_Whip
|
||||
BMG_ID(BMGGroup_dungeon, 0x7E), // ItemId_SandRod
|
||||
BMG_ID(BMGGroup_maingame, 0x04), // ItemId_9
|
||||
BMG_ID(BMGGroup_maingame, 0x05), // ItemId_NormalKey
|
||||
BMG_ID(BMGGroup_maingame, 0x06), // ItemId_BossKey
|
||||
BMG_ID(BMGGroup_maingame, 0x07), // ItemId_GreenRupee
|
||||
BMG_ID(BMGGroup_maingame, 0x08), // ItemId_BlueRupee
|
||||
BMG_ID(BMGGroup_maingame, 0x09), // ItemId_RedRupee
|
||||
BMG_ID(BMGGroup_maingame, 0x0A), // ItemId_BigGreenRupee
|
||||
BMG_ID(BMGGroup_maingame, 0x0B), // ItemId_BigRedRupee
|
||||
BMG_ID(BMGGroup_maingame, 0x0C), // ItemId_BigGoldRupee
|
||||
BMG_ID(BMGGroup_maingame, 0x0D), // ItemId_ForceGem_18
|
||||
BMG_ID(BMGGroup_maingame, 0x0E), // ItemId_ForceGem_19
|
||||
BMG_ID(BMGGroup_maingame, 0x0F), // ItemId_ForceGem_20
|
||||
BMG_ID(BMGGroup_tower, 0x00), // ItemId_ForestGlyph
|
||||
BMG_ID(BMGGroup_tower, 0x01), // ItemId_SnowGlyph
|
||||
BMG_ID(BMGGroup_tower, 0x02), // ItemId_OceanGlyph
|
||||
BMG_ID(BMGGroup_tower, 0x03), // ItemId_FireGlyph
|
||||
BMG_ID(BMGGroup_forest, 0xEB), // ItemId_RestoredForestGlyph
|
||||
BMG_ID(BMGGroup_snow, 0x00), // ItemId_RestoredSnowGlyph
|
||||
BMG_ID(BMGGroup_water, 0x00), // ItemId_RestoredOceanGlyph
|
||||
BMG_ID(BMGGroup_flame_fld, 0x8E), // ItemId_RestoredFireGlyph
|
||||
BMG_ID(BMGGroup_desert, 0x48), // ItemId_RestoredDesertOceanGlyph
|
||||
BMG_ID(BMGGroup_maingame, 0x10), // ItemId_FinalTrack
|
||||
BMG_ID(BMGGroup_maingame, 0x11), // ItemId_SpiritTrain
|
||||
BMG_ID(BMGGroup_maingame, 0x12), // ItemId_TrainCannon
|
||||
BMG_ID(BMGGroup_maingame, 0x13), // ItemId_SpiritTrainCar
|
||||
BMG_ID(BMGGroup_maingame, 0x14), // ItemId_TrainWagon
|
||||
BMG_ID(BMGGroup_maingame, 0x15), // ItemId_ForceGem_35
|
||||
BMG_ID(BMGGroup_maingame, 0x16), // ItemId_ForceGem_36
|
||||
BMG_ID(BMGGroup_maingame, 0x17), // ItemId_ForceGem_37
|
||||
BMG_ID(BMGGroup_castle, 0xD7), // ItemId_RecruitUniform
|
||||
BMG_ID(BMGGroup_maingame, 0x18), // ItemId_PostmasterLetter
|
||||
BMG_ID(BMGGroup_maingame, 0x19), // ItemId_HeartContainer
|
||||
BMG_ID(BMGGroup_maingame, 0x1A), // ItemId_QuiverMedium
|
||||
BMG_ID(BMGGroup_maingame, 0x1B), // ItemId_BombBagMedium
|
||||
BMG_ID(BMGGroup_maingame, 0x1C), // ItemId_ForceGem_43
|
||||
BMG_ID(BMGGroup_maingame, 0x1D), // ItemId_ForceGem_44
|
||||
BMG_ID(BMGGroup_maingame, 0x1E), // ItemId_ForceGem_45
|
||||
BMG_ID(BMGGroup_maingame, 0x1F), // ItemId_ForceGem_46
|
||||
BMG_ID(BMGGroup_maingame, 0x20), // ItemId_ForceGem_47
|
||||
BMG_ID(BMGGroup_maingame, 0x21), // ItemId_ForceGem_48
|
||||
BMG_ID(BMGGroup_maingame, 0x22), // ItemId_ForceGem_49
|
||||
BMG_ID(BMGGroup_maingame, 0x23), // ItemId_ForceGem_50
|
||||
BMG_ID(BMGGroup_maingame, 0x24), // ItemId_ForceGem_51
|
||||
BMG_ID(BMGGroup_maingame, 0x25), // ItemId_ForceGem_52
|
||||
BMG_ID(BMGGroup_maingame, 0x26), // ItemId_ForceGem_53
|
||||
BMG_ID(BMGGroup_maingame, 0x27), // ItemId_ForceGem_54
|
||||
BMG_ID(BMGGroup_maingame, 0x28), // ItemId_ForceGem_55
|
||||
BMG_ID(BMGGroup_maingame, 0x29), // ItemId_ForceGem_56
|
||||
BMG_ID(BMGGroup_maingame, 0x2A), // ItemId_ForceGem_57
|
||||
BMG_ID(BMGGroup_maingame, 0x2B), // ItemId_ForceGem_58
|
||||
BMG_ID(BMGGroup_maingame, 0x2C), // ItemId_ForceGem_59
|
||||
BMG_ID(BMGGroup_maingame, 0x2D), // ItemId_ForceGem_60
|
||||
BMG_ID(BMGGroup_maingame, 0x2E), // ItemId_ForceGem_61
|
||||
BMG_ID(BMGGroup_maingame, 0x2F), // ItemId_PanFlute
|
||||
BMG_ID(BMGGroup_village, 0xF7), // ItemId_StampBook
|
||||
BMG_ID(BMGGroup_dungeon, 0x7F), // ItemId_LightBow
|
||||
BMG_ID(BMGGroup_maingame, 0x30), // ItemId_LokomoSword
|
||||
BMG_ID(BMGGroup_maingame, 0x31), // ItemId_TenPriceCard
|
||||
BMG_ID(BMGGroup_maingame, 0x32), // ItemId_RedPotion
|
||||
BMG_ID(BMGGroup_maingame, 0x33), // ItemId_PurplePotion
|
||||
BMG_ID(BMGGroup_maingame, 0x34), // ItemId_YellowPotion
|
||||
BMG_ID(BMGGroup_maingame, 0x35), // ItemId_DemonFossil
|
||||
BMG_ID(BMGGroup_maingame, 0x36), // ItemId_StalfosSkull
|
||||
BMG_ID(BMGGroup_maingame, 0x37), // ItemId_StarFragment
|
||||
BMG_ID(BMGGroup_maingame, 0x38), // ItemId_BeeLarvae
|
||||
BMG_ID(BMGGroup_maingame, 0x39), // ItemId_WoodHeart
|
||||
BMG_ID(BMGGroup_maingame, 0x3A), // ItemId_DarkPearlLoop
|
||||
BMG_ID(BMGGroup_maingame, 0x3B), // ItemId_WhitePearlLoop
|
||||
BMG_ID(BMGGroup_maingame, 0x3C), // ItemId_RutoCrown
|
||||
BMG_ID(BMGGroup_maingame, 0x3D), // ItemId_DragonScale
|
||||
BMG_ID(BMGGroup_maingame, 0x3E), // ItemId_PirateNecklace
|
||||
BMG_ID(BMGGroup_maingame, 0x3F), // ItemId_PalaceDish
|
||||
BMG_ID(BMGGroup_maingame, 0x40), // ItemId_GoronAmber
|
||||
BMG_ID(BMGGroup_maingame, 0x41), // ItemId_MysticJade
|
||||
BMG_ID(BMGGroup_maingame, 0x42), // ItemId_AncientCoin
|
||||
BMG_ID(BMGGroup_maingame, 0x43), // ItemId_PricelessStone
|
||||
BMG_ID(BMGGroup_maingame, 0x44), // ItemId_RegalRing
|
||||
BMG_ID(BMGGroup_maingame, 0x45), // ItemId_ArrowsRefill
|
||||
BMG_ID(BMGGroup_maingame, 0x46), // ItemId_BombsRefill
|
||||
BMG_ID(BMGGroup_maingame, 0x47), // ItemId_SoldOutSign
|
||||
BMG_ID(BMGGroup_village, 0xF8), // ItemId_AncientShield
|
||||
BMG_ID(BMGGroup_maingame, 0x48), // ItemId_QuiverLarge
|
||||
BMG_ID(BMGGroup_maingame, 0x49), // ItemId_BombBagLarge
|
||||
BMG_ID(BMGGroup_maingame, 0x4A), // ItemId_RandCommonTreasure
|
||||
BMG_ID(BMGGroup_maingame, 0x4B), // ItemId_RandUncommonTreasure
|
||||
BMG_ID(BMGGroup_maingame, 0x4C), // ItemId_RandRareTreasure
|
||||
BMG_ID(BMGGroup_maingame, 0x4D), // ItemId_RandLegendaryTreasure
|
||||
BMG_ID(BMGGroup_tower, 0x04), // ItemId_TearLight
|
||||
BMG_ID(BMGGroup_tower, 0x05), // ItemId_LightCompass
|
||||
BMG_ID(BMGGroup_maingame, 0x4E), // ItemId_ScrollSpinAttack
|
||||
BMG_ID(BMGGroup_maingame, 0x4F), // ItemId_ScrollBeam
|
||||
BMG_ID(BMGGroup_village, 0xF9), // ItemId_LinebeckLetter
|
||||
BMG_ID(BMGGroup_forest, 0xEC), // ItemId_PanFluteSong_101
|
||||
BMG_ID(BMGGroup_dungeon, 0x80), // ItemId_PanFluteSong_102
|
||||
BMG_ID(BMGGroup_water, 0x01), // ItemId_PanFluteSong_103
|
||||
BMG_ID(BMGGroup_village, 0xFA), // ItemId_PanFluteSong_104
|
||||
BMG_ID(BMGGroup_snow, 0x01), // ItemId_PanFluteSong_105
|
||||
BMG_ID(BMGGroup_maingame, 0x50), // ItemId_RabbitNet
|
||||
BMG_ID(BMGGroup_maingame, 0x51), // ItemId_BeedleCard
|
||||
BMG_ID(BMGGroup_maingame, 0x52), // ItemId_SilverCard
|
||||
BMG_ID(BMGGroup_maingame, 0x53), // ItemId_GoldCard
|
||||
BMG_ID(BMGGroup_maingame, 0x54), // ItemId_PlatinumCard
|
||||
BMG_ID(BMGGroup_maingame, 0x55), // ItemId_DiamondCard
|
||||
BMG_ID(BMGGroup_maingame, 0x56), // ItemId_FreebieCard
|
||||
BMG_ID(BMGGroup_maingame, 0x57), // ItemId_QuintupleCard
|
||||
BMG_ID(BMGGroup_maingame, 0x58), // ItemId_CarbenLetter
|
||||
BMG_ID(BMGGroup_maingame, 0x59), // ItemId_RecruitUniform2
|
||||
BMG_ID(BMGGroup_maingame, 0x5A), // ItemId_EngineerUniform
|
||||
};
|
||||
|
||||
// Adventure Flags
|
||||
static const AdventureFlag sAdvFlagItemMap[] = {
|
||||
AdventureFlag_Nothing, // ItemId_Nothing
|
||||
AdventureFlag_Nothing, // ItemId_NormalShield
|
||||
AdventureFlag_ObtainedRecruitSword, // ItemId_NormalSword
|
||||
AdventureFlag_Nothing, // ItemId_Whirlwind
|
||||
AdventureFlag_Nothing, // ItemId_BombBag
|
||||
AdventureFlag_ObtainedBowAndArrows, // ItemId_NormalBow
|
||||
AdventureFlag_Nothing, // ItemId_Boomerang
|
||||
AdventureFlag_ObtainedWhip, // ItemId_Whip
|
||||
AdventureFlag_ObtainedSandWand, // ItemId_SandRod
|
||||
AdventureFlag_Nothing, // ItemId_9
|
||||
AdventureFlag_Nothing, // ItemId_NormalKey
|
||||
AdventureFlag_Nothing, // ItemId_BossKey
|
||||
AdventureFlag_Nothing, // ItemId_GreenRupee
|
||||
AdventureFlag_Nothing, // ItemId_BlueRupee
|
||||
AdventureFlag_Nothing, // ItemId_RedRupee
|
||||
AdventureFlag_Nothing, // ItemId_BigGreenRupee
|
||||
AdventureFlag_Nothing, // ItemId_BigRedRupee
|
||||
AdventureFlag_Nothing, // ItemId_BigGoldRupee
|
||||
AdventureFlag_ObtainedWadatsumiForceGem, // ItemId_ForceGem_18
|
||||
AdventureFlag_ObtainedNiboshiForceGem, // ItemId_ForceGem_19
|
||||
AdventureFlag_Nothing, // ItemId_Nothing
|
||||
AdventureFlag_Nothing, // ItemId_NormalShield
|
||||
AdventureFlag_ObtainedRecruitSword, // ItemId_NormalSword
|
||||
AdventureFlag_Nothing, // ItemId_Whirlwind
|
||||
AdventureFlag_Nothing, // ItemId_BombBag
|
||||
AdventureFlag_ObtainedBowAndArrows, // ItemId_NormalBow
|
||||
AdventureFlag_Nothing, // ItemId_Boomerang
|
||||
AdventureFlag_ObtainedWhip, // ItemId_Whip
|
||||
AdventureFlag_ObtainedSandWand, // ItemId_SandRod
|
||||
AdventureFlag_Nothing, // ItemId_9
|
||||
AdventureFlag_Nothing, // ItemId_NormalKey
|
||||
AdventureFlag_Nothing, // ItemId_BossKey
|
||||
AdventureFlag_Nothing, // ItemId_GreenRupee
|
||||
AdventureFlag_Nothing, // ItemId_BlueRupee
|
||||
AdventureFlag_Nothing, // ItemId_RedRupee
|
||||
AdventureFlag_Nothing, // ItemId_BigGreenRupee
|
||||
AdventureFlag_Nothing, // ItemId_BigRedRupee
|
||||
AdventureFlag_Nothing, // ItemId_BigGoldRupee
|
||||
AdventureFlag_ObtainedWadatsumiForceGem, // ItemId_ForceGem_18
|
||||
AdventureFlag_ObtainedNiboshiForceGem, // ItemId_ForceGem_19
|
||||
AdventureFlag_ObtainedGoronAdultMegaIceForceGem, // ItemId_ForceGem_20
|
||||
AdventureFlag_ObtainedForestGlyph, // ItemId_ForestGlyph
|
||||
AdventureFlag_ObtainedSnowGlyph, // ItemId_SnowGlyph
|
||||
AdventureFlag_ObtainedOceanGlyph, // ItemId_OceanGlyph
|
||||
AdventureFlag_ObtainedFireGlyph, // ItemId_FireGlyph
|
||||
AdventureFlag_CompletedForestRestorationSong, // ItemId_25
|
||||
AdventureFlag_CompletedOceanRestorationSong, // ItemId_26
|
||||
AdventureFlag_CompletedSnowRestorationSong, // ItemId_27
|
||||
AdventureFlag_CompletedFireRestorationSong, // ItemId_28
|
||||
AdventureFlag_CompletedSandRestorationSong, // ItemId_29
|
||||
AdventureFlag_OpenedDarkRealmPortal, // ItemId_FinalTrack
|
||||
AdventureFlag_ObtainedSpiritTrain, // ItemId_31
|
||||
AdventureFlag_ObtainedTrainCannon, // ItemId_32
|
||||
AdventureFlag_Unk_020, // ItemId_33
|
||||
AdventureFlag_ObtainedTrainWagon, // ItemId_34
|
||||
AdventureFlag_ObtainedFerrusForceGem2, // ItemId_ForceGem_35
|
||||
AdventureFlag_ObtainedKofuForceGem, // ItemId_ForceGem_36
|
||||
AdventureFlag_ObtainedChildGoronForceGem, // ItemId_ForceGem_37
|
||||
AdventureFlag_Nothing, // ItemId_RecruitUniform
|
||||
AdventureFlag_Nothing, // ItemId_PostmasterLetter
|
||||
AdventureFlag_Nothing, // ItemId_HeartContainer
|
||||
AdventureFlag_Nothing, // ItemId_QuiverMedium
|
||||
AdventureFlag_Nothing, // ItemId_BombBagMedium
|
||||
AdventureFlag_ObtainedLuciaForceGem, // ItemId_ForceGem_43
|
||||
AdventureFlag_ObtainedOrcaForceGem, // ItemId_ForceGem_44
|
||||
AdventureFlag_ObtainedCarbenForceGem, // ItemId_ForceGem_45
|
||||
AdventureFlag_ObtainedRaelForceGem, // ItemId_ForceGem_46
|
||||
AdventureFlag_ObtainedJoeForceGem, // ItemId_ForceGem_47
|
||||
AdventureFlag_ObtainedMonaForceGem, // ItemId_ForceGem_48
|
||||
AdventureFlag_ObtainedHarryForceGem, // ItemId_ForceGem_49
|
||||
AdventureFlag_ObtainedMashForceGem, // ItemId_ForceGem_50
|
||||
AdventureFlag_ObtainedFerrusForceGem1, // ItemId_ForceGem_51
|
||||
AdventureFlag_ObtainedYekoForceGem, // ItemId_ForceGem_52
|
||||
AdventureFlag_ObtainedNokoForceGem, // ItemId_ForceGem_53
|
||||
AdventureFlag_ObtainedGoronAdultAnoukiForceGem, // ItemId_ForceGem_54
|
||||
AdventureFlag_ObtainedSteemForceGem, // ItemId_ForceGem_55
|
||||
AdventureFlag_ObtainedLinebeckForceGem, // ItemId_ForceGem_56
|
||||
AdventureFlag_ObtainedAnjeanDesertForceGem, // ItemId_ForceGem_57
|
||||
AdventureFlag_Unk_0A7, // ItemId_ForceGem_58
|
||||
AdventureFlag_Unk_0A8, // ItemId_ForceGem_59
|
||||
AdventureFlag_Unk_0A9, // ItemId_ForceGem_60
|
||||
AdventureFlag_Unk_0AA, // ItemId_ForceGem_61
|
||||
AdventureFlag_Nothing, // ItemId_PanFlute
|
||||
AdventureFlag_Nothing, // ItemId_StampBook
|
||||
AdventureFlag_ObtainedBowOfLight, // ItemId_LightBow
|
||||
AdventureFlag_Unk_0B1, // ItemId_LokomoSword
|
||||
AdventureFlag_Nothing, // ItemId_TenPriceCard
|
||||
AdventureFlag_Nothing, // ItemId_RedPotion
|
||||
AdventureFlag_Nothing, // ItemId_PurplePotion
|
||||
AdventureFlag_Nothing, // ItemId_YellowPotion
|
||||
AdventureFlag_Nothing, // ItemId_DemonFossil
|
||||
AdventureFlag_Nothing, // ItemId_StalfosSkull
|
||||
AdventureFlag_Nothing, // ItemId_StarFragment
|
||||
AdventureFlag_Nothing, // ItemId_BeeLarvae
|
||||
AdventureFlag_Nothing, // ItemId_WoodHeart
|
||||
AdventureFlag_Nothing, // ItemId_DarkPearlLoop
|
||||
AdventureFlag_Nothing, // ItemId_WhitePearlLoop
|
||||
AdventureFlag_Nothing, // ItemId_RutoCrown
|
||||
AdventureFlag_Nothing, // ItemId_DragonScale
|
||||
AdventureFlag_Nothing, // ItemId_PirateNecklace
|
||||
AdventureFlag_Nothing, // ItemId_PalaceDish
|
||||
AdventureFlag_Nothing, // ItemId_GoronAmber
|
||||
AdventureFlag_Nothing, // ItemId_MysticJade
|
||||
AdventureFlag_Nothing, // ItemId_AncientCoin
|
||||
AdventureFlag_Nothing, // ItemId_PricelessStone
|
||||
AdventureFlag_Nothing, // ItemId_RegalRing
|
||||
AdventureFlag_Nothing, // ItemId_ArrowsRefill
|
||||
AdventureFlag_Nothing, // ItemId_BombsRefill
|
||||
AdventureFlag_Nothing, // ItemId_SoldOutSign
|
||||
AdventureFlag_Nothing, // ItemId_AncientShield
|
||||
AdventureFlag_Nothing, // ItemId_QuiverLarge
|
||||
AdventureFlag_Nothing, // ItemId_BombBagLarge
|
||||
AdventureFlag_Nothing, // ItemId_RandCommonTreasure
|
||||
AdventureFlag_Nothing, // ItemId_RandUncommonTreasure
|
||||
AdventureFlag_Nothing, // ItemId_RandRareTreasure
|
||||
AdventureFlag_Nothing, // ItemId_RandLegendaryTreasure
|
||||
AdventureFlag_Nothing, // ItemId_TearLight
|
||||
AdventureFlag_ObtainedCompassOfLight, // ItemId_LightCompass
|
||||
AdventureFlag_Nothing, // ItemId_ScrollSpinAttack
|
||||
AdventureFlag_Nothing, // ItemId_ScrollBeam
|
||||
AdventureFlag_ObtainedLinebecksLetter, // ItemId_LinebeckLetter
|
||||
AdventureFlag_Nothing, // ItemId_PanFluteSong_101
|
||||
AdventureFlag_Nothing, // ItemId_PanFluteSong_102
|
||||
AdventureFlag_Nothing, // ItemId_PanFluteSong_103
|
||||
AdventureFlag_Nothing, // ItemId_PanFluteSong_104
|
||||
AdventureFlag_Nothing, // ItemId_PanFluteSong_105
|
||||
AdventureFlag_ObtainedRabbitNet, // ItemId_RabbitNet
|
||||
AdventureFlag_ObtainedBeedlePointsCard, // ItemId_BeedleCard
|
||||
AdventureFlag_Unk_18E, // ItemId_SilverCard
|
||||
AdventureFlag_Unk_18F, // ItemId_GoldCard
|
||||
AdventureFlag_Unk_190, // ItemId_PlatinumCard
|
||||
AdventureFlag_Unk_191, // ItemId_DiamondCard
|
||||
AdventureFlag_ObtainedBeedleFreebieCard, // ItemId_FreebieCard
|
||||
AdventureFlag_ObtainedForestGlyph, // ItemId_ForestGlyph
|
||||
AdventureFlag_ObtainedSnowGlyph, // ItemId_SnowGlyph
|
||||
AdventureFlag_ObtainedOceanGlyph, // ItemId_OceanGlyph
|
||||
AdventureFlag_ObtainedFireGlyph, // ItemId_FireGlyph
|
||||
AdventureFlag_CompletedForestRestorationSong, // ItemId_RestoredForestGlyph
|
||||
AdventureFlag_CompletedOceanRestorationSong, // ItemId_RestoredSnowGlyph
|
||||
AdventureFlag_CompletedSnowRestorationSong, // ItemId_RestoredOceanGlyph
|
||||
AdventureFlag_CompletedFireRestorationSong, // ItemId_RestoredFireGlyph
|
||||
AdventureFlag_CompletedSandRestorationSong, // ItemId_RestoredDesertOceanGlyph
|
||||
AdventureFlag_OpenedDarkRealmPortal, // ItemId_FinalTrack
|
||||
AdventureFlag_ObtainedSpiritTrain, // ItemId_SpiritTrain
|
||||
AdventureFlag_ObtainedTrainCannon, // ItemId_TrainCannon
|
||||
AdventureFlag_ObtainedSpiritTrainCar, // ItemId_SpiritTrainCar
|
||||
AdventureFlag_ObtainedTrainWagon, // ItemId_TrainWagon
|
||||
AdventureFlag_ObtainedFerrusForceGem2, // ItemId_ForceGem_35
|
||||
AdventureFlag_ObtainedKofuForceGem, // ItemId_ForceGem_36
|
||||
AdventureFlag_ObtainedChildGoronForceGem, // ItemId_ForceGem_37
|
||||
AdventureFlag_Nothing, // ItemId_RecruitUniform
|
||||
AdventureFlag_Nothing, // ItemId_PostmasterLetter
|
||||
AdventureFlag_Nothing, // ItemId_HeartContainer
|
||||
AdventureFlag_Nothing, // ItemId_QuiverMedium
|
||||
AdventureFlag_Nothing, // ItemId_BombBagMedium
|
||||
AdventureFlag_ObtainedLuciaForceGem, // ItemId_ForceGem_43
|
||||
AdventureFlag_ObtainedOrcaForceGem, // ItemId_ForceGem_44
|
||||
AdventureFlag_ObtainedCarbenForceGem, // ItemId_ForceGem_45
|
||||
AdventureFlag_ObtainedRaelForceGem, // ItemId_ForceGem_46
|
||||
AdventureFlag_ObtainedJoeForceGem, // ItemId_ForceGem_47
|
||||
AdventureFlag_ObtainedMonaForceGem, // ItemId_ForceGem_48
|
||||
AdventureFlag_ObtainedHarryForceGem, // ItemId_ForceGem_49
|
||||
AdventureFlag_ObtainedMashForceGem, // ItemId_ForceGem_50
|
||||
AdventureFlag_ObtainedFerrusForceGem1, // ItemId_ForceGem_51
|
||||
AdventureFlag_ObtainedYekoForceGem, // ItemId_ForceGem_52
|
||||
AdventureFlag_ObtainedNokoForceGem, // ItemId_ForceGem_53
|
||||
AdventureFlag_ObtainedGoronAdultAnoukiForceGem, // ItemId_ForceGem_54
|
||||
AdventureFlag_ObtainedSteemForceGem, // ItemId_ForceGem_55
|
||||
AdventureFlag_ObtainedLinebeckForceGem, // ItemId_ForceGem_56
|
||||
AdventureFlag_ObtainedAnjeanDesertForceGem, // ItemId_ForceGem_57
|
||||
AdventureFlag_Unk_0A7, // ItemId_ForceGem_58
|
||||
AdventureFlag_Unk_0A8, // ItemId_ForceGem_59
|
||||
AdventureFlag_Unk_0A9, // ItemId_ForceGem_60
|
||||
AdventureFlag_Unk_0AA, // ItemId_ForceGem_61
|
||||
AdventureFlag_Nothing, // ItemId_PanFlute
|
||||
AdventureFlag_Nothing, // ItemId_StampBook
|
||||
AdventureFlag_ObtainedBowOfLight, // ItemId_LightBow
|
||||
AdventureFlag_Unk_0B1, // ItemId_LokomoSword
|
||||
AdventureFlag_Nothing, // ItemId_TenPriceCard
|
||||
AdventureFlag_Nothing, // ItemId_RedPotion
|
||||
AdventureFlag_Nothing, // ItemId_PurplePotion
|
||||
AdventureFlag_Nothing, // ItemId_YellowPotion
|
||||
AdventureFlag_Nothing, // ItemId_DemonFossil
|
||||
AdventureFlag_Nothing, // ItemId_StalfosSkull
|
||||
AdventureFlag_Nothing, // ItemId_StarFragment
|
||||
AdventureFlag_Nothing, // ItemId_BeeLarvae
|
||||
AdventureFlag_Nothing, // ItemId_WoodHeart
|
||||
AdventureFlag_Nothing, // ItemId_DarkPearlLoop
|
||||
AdventureFlag_Nothing, // ItemId_WhitePearlLoop
|
||||
AdventureFlag_Nothing, // ItemId_RutoCrown
|
||||
AdventureFlag_Nothing, // ItemId_DragonScale
|
||||
AdventureFlag_Nothing, // ItemId_PirateNecklace
|
||||
AdventureFlag_Nothing, // ItemId_PalaceDish
|
||||
AdventureFlag_Nothing, // ItemId_GoronAmber
|
||||
AdventureFlag_Nothing, // ItemId_MysticJade
|
||||
AdventureFlag_Nothing, // ItemId_AncientCoin
|
||||
AdventureFlag_Nothing, // ItemId_PricelessStone
|
||||
AdventureFlag_Nothing, // ItemId_RegalRing
|
||||
AdventureFlag_Nothing, // ItemId_ArrowsRefill
|
||||
AdventureFlag_Nothing, // ItemId_BombsRefill
|
||||
AdventureFlag_Nothing, // ItemId_SoldOutSign
|
||||
AdventureFlag_Nothing, // ItemId_AncientShield
|
||||
AdventureFlag_Nothing, // ItemId_QuiverLarge
|
||||
AdventureFlag_Nothing, // ItemId_BombBagLarge
|
||||
AdventureFlag_Nothing, // ItemId_RandCommonTreasure
|
||||
AdventureFlag_Nothing, // ItemId_RandUncommonTreasure
|
||||
AdventureFlag_Nothing, // ItemId_RandRareTreasure
|
||||
AdventureFlag_Nothing, // ItemId_RandLegendaryTreasure
|
||||
AdventureFlag_Nothing, // ItemId_TearLight
|
||||
AdventureFlag_ObtainedCompassOfLight, // ItemId_LightCompass
|
||||
AdventureFlag_Nothing, // ItemId_ScrollSpinAttack
|
||||
AdventureFlag_Nothing, // ItemId_ScrollBeam
|
||||
AdventureFlag_ObtainedLinebecksLetter, // ItemId_LinebeckLetter
|
||||
AdventureFlag_Nothing, // ItemId_PanFluteSong_101
|
||||
AdventureFlag_Nothing, // ItemId_PanFluteSong_102
|
||||
AdventureFlag_Nothing, // ItemId_PanFluteSong_103
|
||||
AdventureFlag_Nothing, // ItemId_PanFluteSong_104
|
||||
AdventureFlag_Nothing, // ItemId_PanFluteSong_105
|
||||
AdventureFlag_ObtainedRabbitNet, // ItemId_RabbitNet
|
||||
AdventureFlag_ObtainedBeedlePointsCard, // ItemId_BeedleCard
|
||||
AdventureFlag_Unk_18E, // ItemId_SilverCard
|
||||
AdventureFlag_Unk_18F, // ItemId_GoldCard
|
||||
AdventureFlag_Unk_190, // ItemId_PlatinumCard
|
||||
AdventureFlag_Unk_191, // ItemId_DiamondCard
|
||||
AdventureFlag_ObtainedBeedleFreebieCard, // ItemId_FreebieCard
|
||||
AdventureFlag_ObtainedBeedleQuintuplePointsCard, // ItemId_QuintupleCard
|
||||
AdventureFlag_ReceivedCarbensLetter, // ItemId_CarbenLetter
|
||||
AdventureFlag_Nothing, // ItemId_RecruitUniform2
|
||||
AdventureFlag_Nothing, // ItemId_EngineerUniform
|
||||
AdventureFlag_ReceivedCarbensLetter, // ItemId_CarbenLetter
|
||||
AdventureFlag_Nothing, // ItemId_RecruitUniform2
|
||||
AdventureFlag_Nothing, // ItemId_EngineerUniform
|
||||
};
|
||||
|
||||
// non-matching
|
||||
@@ -514,7 +514,7 @@ ARM void PlayerGet::vfunc_0c(UnkStruct_PlayerGet_vfunc_0c_param1 *param1) {
|
||||
case ItemId_BombBag:
|
||||
case ItemId_BombBagMedium:
|
||||
case ItemId_BombBagLarge:
|
||||
if (GET_FLAG(pItemManager->mUnk_08, ItemFlag_Bombs) == 0) {
|
||||
if (GET_FLAG(pItemManager->mFlags, ItemFlag_Bombs) == 0) {
|
||||
itemId = ItemId_BombBag;
|
||||
} else if (pItemManager->mBombBagCapacity == UpgradeCapacity_Tier1) {
|
||||
itemId = ItemId_BombBagMedium;
|
||||
@@ -525,7 +525,7 @@ ARM void PlayerGet::vfunc_0c(UnkStruct_PlayerGet_vfunc_0c_param1 *param1) {
|
||||
case ItemId_NormalBow:
|
||||
case ItemId_QuiverMedium:
|
||||
case ItemId_QuiverLarge:
|
||||
if (GET_FLAG(pItemManager->mUnk_08, ItemFlag_Bow) == 0) {
|
||||
if (GET_FLAG(pItemManager->mFlags, ItemFlag_Bow) == 0) {
|
||||
itemId = ItemId_NormalBow;
|
||||
} else if (pItemManager->mQuiverCapacity == UpgradeCapacity_Tier1) {
|
||||
itemId = ItemId_QuiverMedium;
|
||||
@@ -679,11 +679,11 @@ ARM void PlayerGet::vfunc_0c(UnkStruct_PlayerGet_vfunc_0c_param1 *param1) {
|
||||
this->mUnk_73 = 0;
|
||||
|
||||
switch (this->mUnk_54.mItemId) {
|
||||
case ItemId_25:
|
||||
case ItemId_26:
|
||||
case ItemId_27:
|
||||
case ItemId_28:
|
||||
case ItemId_29:
|
||||
case ItemId_RestoredForestGlyph:
|
||||
case ItemId_RestoredSnowGlyph:
|
||||
case ItemId_RestoredOceanGlyph:
|
||||
case ItemId_RestoredFireGlyph:
|
||||
case ItemId_RestoredDesertOceanGlyph:
|
||||
data_ov000_020b51b8.func_ov000_0206c96c(data_027e0cd8->mUnk_0C->func_ov000_02080a44());
|
||||
this->mUnk_73 = 1;
|
||||
break;
|
||||
@@ -777,11 +777,11 @@ ARM void PlayerGet::vfunc_10(unk32 param1, unk32 param2) {
|
||||
case ItemId_FireGlyph:
|
||||
var_r1 = 0x68;
|
||||
break;
|
||||
case ItemId_25:
|
||||
case ItemId_26:
|
||||
case ItemId_27:
|
||||
case ItemId_28:
|
||||
case ItemId_29:
|
||||
case ItemId_RestoredForestGlyph:
|
||||
case ItemId_RestoredSnowGlyph:
|
||||
case ItemId_RestoredOceanGlyph:
|
||||
case ItemId_RestoredFireGlyph:
|
||||
case ItemId_RestoredDesertOceanGlyph:
|
||||
case ItemId_PanFluteSong_101:
|
||||
case ItemId_PanFluteSong_102:
|
||||
case ItemId_PanFluteSong_103:
|
||||
@@ -1022,13 +1022,13 @@ THUMB void UnkStruct_027e0ce0_34::func_ov110_02185d3c(ItemId itemId) {
|
||||
u16 auStack_18[2];
|
||||
|
||||
switch (itemId) {
|
||||
case ItemId_31:
|
||||
case ItemId_SpiritTrain:
|
||||
this->func_ov024_020d3d98(0, 0);
|
||||
this->mUnk_2C = 1;
|
||||
this->mUnk_00 = 0;
|
||||
this->mUnk_10 = 0;
|
||||
break;
|
||||
case ItemId_33:
|
||||
case ItemId_SpiritTrainCar:
|
||||
this->func_ov024_020d3d98(2, 0);
|
||||
this->mUnk_2C = 2;
|
||||
this->mUnk_04 = 2;
|
||||
|
||||
@@ -186,6 +186,14 @@ config.libs = [
|
||||
[
|
||||
Object("001_SceneInit/Actor/ActorManager_001.cpp"),
|
||||
Object("001_SceneInit/Item/ItemManager_001.cpp"),
|
||||
Object("001_SceneInit/CargoManager_001.cpp"),
|
||||
Object("001_SceneInit/PassengerManager_001.cpp"),
|
||||
]
|
||||
),
|
||||
GameLib(
|
||||
"Overlay 17",
|
||||
[
|
||||
Object("017_CourseExec/CargoManager_017.cpp"),
|
||||
]
|
||||
),
|
||||
GameLib(
|
||||
@@ -233,6 +241,8 @@ config.libs = [
|
||||
GameLib(
|
||||
"Overlay 24",
|
||||
[
|
||||
Object("024_MainGame/PassengerManager.cpp"),
|
||||
Object("024_MainGame/CargoManager_024.cpp"),
|
||||
Object("024_MainGame/MiscAdvManager.cpp"),
|
||||
Object("024_MainGame/Actor/ActorUnkOBPC.cpp"),
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user