mirror of
https://github.com/zeldaret/ph
synced 2026-05-30 08:56:32 -04:00
Merge pull request #36 from Yanis42/match_actor_rupee
Match ``14_Land/Actor/ActorRupee.cpp`` (79%)
This commit is contained in:
@@ -73,7 +73,7 @@ data_027e06d8 kind:bss addr:0x27e06d8
|
||||
data_027e06e4 kind:bss addr:0x27e06e4
|
||||
data_027e0718 kind:bss addr:0x27e0718
|
||||
data_027e071c kind:bss addr:0x27e071c
|
||||
data_027e0764 kind:bss addr:0x27e0764
|
||||
gRandom kind:bss addr:0x27e0764
|
||||
data_027e077c kind:bss addr:0x27e077c
|
||||
data_027e080c kind:bss addr:0x27e080c
|
||||
data_027e081c kind:bss addr:0x27e081c
|
||||
|
||||
@@ -143,7 +143,7 @@ func_ov000_02079f3c kind:function(thumb,size=0x20) addr:0x2079f3c
|
||||
func_ov000_02079f5c kind:function(thumb,size=0xa0) addr:0x2079f5c
|
||||
func_ov000_02079ffc kind:function(thumb,size=0x3c) addr:0x2079ffc
|
||||
func_ov000_0207a038 kind:function(thumb,size=0x104) addr:0x207a038
|
||||
func_ov000_0207a13c kind:function(arm,size=0x4c) addr:0x207a13c
|
||||
_ZN19Actor_UnkStruct_012C1Ev kind:function(arm,size=0x4c) addr:0x207a13c
|
||||
_ZN19Actor_UnkStruct_0a4C1Eiiii kind:function(thumb,size=0x1c) addr:0x207a188
|
||||
func_ov000_0207a1a4 kind:function(arm,size=0x24) addr:0x207a1a4
|
||||
func_ov000_0207a1c8 kind:function(arm,size=0xcc) addr:0x207a1c8
|
||||
@@ -619,7 +619,7 @@ _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_i kind:function(arm,size=0x4c) add
|
||||
_ZN10MapManager18func_ov00_02083f44EP5Vec3p kind:function(arm,size=0x3c) addr:0x2083f44
|
||||
_ZN10MapManager16MapData_vfunc_6cEv kind:function(arm,size=0x18) addr:0x2083f80
|
||||
_ZN10MapManager16MapData_vfunc_70Ev kind:function(arm,size=0x18) addr:0x2083f98
|
||||
_ZN10MapManager18func_ov00_02083fb0EiPS_i kind:function(arm,size=0x74) addr:0x2083fb0
|
||||
_ZN10MapManager18func_ov00_02083fb0EPjPS_P5Vec3p kind:function(arm,size=0x74) addr:0x2083fb0
|
||||
_ZN10MapManager18func_ov00_02084024EiP4AABB kind:function(arm,size=0x64) addr:0x2084024
|
||||
_ZN10MapManager16MapData_vfunc_54Ev kind:function(arm,size=0x18) addr:0x2084088
|
||||
_ZN10MapManager18func_ov00_020840a0Ecci kind:function(arm,size=0x24) addr:0x20840a0
|
||||
@@ -2147,7 +2147,7 @@ _ZN11ItemManager8GiveItemEi kind:function(thumb,size=0x59c) addr:0x20adcdc
|
||||
_ZN11ItemManager13GiveEquipItemEit kind:function(thumb,size=0x48) addr:0x20ae278
|
||||
_ZN11ItemManager13UnequipPotionEv kind:function(thumb,size=0x14) addr:0x20ae2c0
|
||||
_ZNK11ItemManager12GetMaxRupeesEv kind:function(arm,size=0xc) addr:0x20ae2d4
|
||||
_ZN11ItemManager10GiveRupeesEsb kind:function(arm,size=0x70) addr:0x20ae2e0
|
||||
_ZN11ItemManager10GiveRupeesEib kind:function(arm,size=0x70) addr:0x20ae2e0
|
||||
_ZNK11ItemManager10GetNumKeysEv kind:function(arm,size=0x18) addr:0x20ae350
|
||||
_ZN11ItemManager8GiveKeysEj kind:function(thumb,size=0x28) addr:0x20ae368
|
||||
_ZNK11ItemManager15GetEquippedItemEv kind:function(arm,size=0x18) addr:0x20ae390
|
||||
@@ -2577,7 +2577,7 @@ func_ov000_020bcc78 kind:function(arm,size=0x50) addr:0x20bcc78
|
||||
func_ov000_020bccc8 kind:function(arm,size=0xf0) addr:0x20bccc8
|
||||
func_ov000_020bcdb8 kind:function(arm,size=0x34) addr:0x20bcdb8
|
||||
func_ov000_020bcdec kind:function(arm,size=0x5c) addr:0x20bcdec
|
||||
func_ov000_020bce48 kind:function(arm,size=0x80) addr:0x20bce48
|
||||
_ZN14PlayerLinkBase18func_ov00_020bce48Ei kind:function(arm,size=0x80) addr:0x20bce48
|
||||
func_ov000_020bcec8 kind:function(arm,size=0x34) addr:0x20bcec8
|
||||
func_ov000_020bcefc kind:function(arm,size=0x30) addr:0x20bcefc
|
||||
func_ov000_020bcf2c kind:function(arm,size=0x24) addr:0x20bcf2c
|
||||
@@ -2920,7 +2920,7 @@ func_ov000_020c56d8 kind:function(arm,size=0x9c) addr:0x20c56d8
|
||||
func_ov000_020c5774 kind:function(arm,size=0x88) addr:0x20c5774
|
||||
func_ov000_020c57fc kind:function(arm,size=0x128) addr:0x20c57fc
|
||||
func_ov000_020c5924 kind:function(arm,size=0x100) addr:0x20c5924
|
||||
func_ov000_020c5a24 kind:function(arm,size=0x38) addr:0x20c5a24
|
||||
_Z13GetRupeeValuej kind:function(arm,size=0x38) addr:0x20c5a24
|
||||
func_ov000_020c5a5c kind:function(arm,size=0xd8) addr:0x20c5a5c
|
||||
func_ov000_020c5b34 kind:function(arm,size=0xb8) addr:0x20c5b34
|
||||
func_ov000_020c5bec kind:function(arm,size=0x40) addr:0x20c5bec
|
||||
|
||||
@@ -3214,7 +3214,7 @@ from:0x0213ae80 kind:arm_call to:0x0202e9dc module:main
|
||||
from:0x0213ae8c kind:arm_call to:0x0213ae98 module:overlay(14)
|
||||
from:0x0213ae94 kind:load to:0x027e0fe0 module:dtcm
|
||||
from:0x0213aea0 kind:arm_call to:0x020c1554 module:overlay(0)
|
||||
from:0x0213aec8 kind:load to:0x021589e4 module:overlay(14)
|
||||
from:0x0213aec8 kind:load to:0x021589dc add:8 module:overlay(14)
|
||||
from:0x0213aee0 kind:arm_call to:0x0213b70c module:overlay(14)
|
||||
from:0x0213af70 kind:arm_call to:0x0213b204 module:overlay(14)
|
||||
from:0x0213afac kind:arm_call to:0x0213b204 module:overlay(14)
|
||||
|
||||
@@ -783,7 +783,7 @@ func_ov014_0213ae00 kind:function(arm,size=0x20) addr:0x213ae00
|
||||
func_ov014_0213ae20 kind:function(arm,size=0x28) addr:0x213ae20
|
||||
func_ov014_0213ae48 kind:function(arm,size=0x20) addr:0x213ae48
|
||||
_ZN10ActorRupee6CreateEv kind:function(arm,size=0x30) addr:0x213ae68
|
||||
_ZN10ActorRupeeC2Ev kind:function(arm,size=0x34) addr:0x213ae98
|
||||
_ZN10ActorRupeeC1Ev kind:function(arm,size=0x34) addr:0x213ae98
|
||||
_ZN10ActorRupee8vfunc_08Ev kind:function(arm,size=0x240) addr:0x213aecc
|
||||
_ZN10ActorRupee8vfunc_60Ev kind:function(arm,size=0x10) addr:0x213b10c
|
||||
_ZN10ActorRupee8vfunc_64Ev kind:function(arm,size=0x4) addr:0x213b11c
|
||||
@@ -793,9 +793,9 @@ _ZN10ActorRupee18func_ov14_0213b204Ei kind:function(arm,size=0x50) addr:0x213b20
|
||||
_ZN10ActorRupee6UpdateEb kind:function(arm,size=0x2c8) addr:0x213b254
|
||||
_ZN10ActorRupee8vfunc_14Ej kind:function(arm,size=0x38) addr:0x213b51c
|
||||
_ZN10ActorRupee8vfunc_18Ej kind:function(arm,size=0x38) addr:0x213b554
|
||||
_ZN10ActorRupee8vfunc_20Ei kind:function(arm,size=0x68) addr:0x213b58c
|
||||
_ZN10ActorRupee8vfunc_20Eb kind:function(arm,size=0x68) addr:0x213b58c
|
||||
_ZN10ActorRupee18func_ov14_0213b5f4EjiP5Vec3pb kind:function(arm,size=0xb0) addr:0x213b5f4
|
||||
_ZN10ActorRupee18func_ov14_0213b6a4EjPv kind:function(arm,size=0x68) addr:0x213b6a4
|
||||
_ZN10ActorRupee18func_ov14_0213b6a4EjP19Actor_UnkStruct_012 kind:function(arm,size=0x68) addr:0x213b6a4
|
||||
_ZN10ActorRupee18func_ov14_0213b70cEj kind:function(arm,size=0x3c) addr:0x213b70c
|
||||
_ZN10ActorRupeeD0Ev kind:function(arm,size=0x1c) addr:0x213b748
|
||||
_ZN10ActorRupeeD2Ev kind:function(arm,size=0x14) addr:0x213b764
|
||||
@@ -1684,7 +1684,7 @@ func_ov014_0215507c kind:function(arm,size=0x40) addr:0x215507c
|
||||
func_ov014_021550bc kind:function(arm,size=0x40) addr:0x21550bc
|
||||
func_ov014_021550fc kind:function(arm,size=0x40) addr:0x21550fc
|
||||
func_ov014_0215513c kind:function(arm,size=0x40) addr:0x215513c
|
||||
func_ov014_0215517c kind:function(arm,size=0x5c) addr:0x215517c
|
||||
__sinit_ActorRupee.cpp kind:function(arm,size=0x5c) addr:0x215517c
|
||||
func_ov014_021551d8 kind:function(arm,size=0x40) addr:0x21551d8
|
||||
func_ov014_02155218 kind:function(arm,size=0x38) addr:0x2155218
|
||||
func_ov014_02155250 kind:function(arm,size=0x3c) addr:0x2155250
|
||||
@@ -1902,7 +1902,9 @@ data_ov014_021589a8 kind:data(any) addr:0x21589a8
|
||||
data_ov014_021589ac kind:data(any) addr:0x21589ac
|
||||
data_ov014_021589b0 kind:data(any) addr:0x21589b0
|
||||
data_ov014_021589b4 kind:data(any) addr:0x21589b4
|
||||
_ZTV10ActorRupee kind:data(any) addr:0x21589e4
|
||||
data_ov014_021589d4 kind:data(any) addr:0x21589d4
|
||||
data_ov014_021589d8 kind:data(any) addr:0x21589d8
|
||||
_ZTV10ActorRupee kind:data(any) addr:0x21589dc
|
||||
data_ov014_02158aa0 kind:data(any) addr:0x2158aa0
|
||||
data_ov014_02158b60 kind:data(any) addr:0x2158b60
|
||||
data_ov014_02158b64 kind:data(any) addr:0x2158b64
|
||||
|
||||
@@ -73,7 +73,7 @@ data_027e06d8 kind:bss addr:0x27e06d8
|
||||
data_027e06e4 kind:bss addr:0x27e06e4
|
||||
data_027e0718 kind:bss addr:0x27e0718
|
||||
data_027e071c kind:bss addr:0x27e071c
|
||||
data_027e0764 kind:bss addr:0x27e0764
|
||||
gRandom kind:bss addr:0x27e0764
|
||||
data_027e077c kind:bss addr:0x27e077c
|
||||
data_027e080c kind:bss addr:0x27e080c
|
||||
data_027e081c kind:bss addr:0x27e081c
|
||||
|
||||
@@ -143,7 +143,7 @@ func_ov000_02079f3c kind:function(thumb,size=0x20) addr:0x2079edc
|
||||
func_ov000_02079f5c kind:function(thumb,size=0xa0) addr:0x2079efc
|
||||
func_ov000_02079ffc kind:function(thumb,size=0x3c) addr:0x2079f9c
|
||||
func_ov000_0207a038 kind:function(thumb,size=0x104) addr:0x2079fd8
|
||||
func_ov000_0207a13c kind:function(arm,size=0x4c) addr:0x207a0dc
|
||||
_ZN19Actor_UnkStruct_012C1Ev kind:function(arm,size=0x4c) addr:0x207a0dc
|
||||
_ZN19Actor_UnkStruct_0a4C1Eiiii kind:function(thumb,size=0x1c) addr:0x207a128
|
||||
func_ov000_0207a1a4 kind:function(arm,size=0x24) addr:0x207a144
|
||||
func_ov000_0207a1c8 kind:function(arm,size=0xcc) addr:0x207a168
|
||||
@@ -619,7 +619,7 @@ _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_i kind:function(arm,size=0x4c) add
|
||||
_ZN10MapManager18func_ov00_02083f44EP5Vec3p kind:function(arm,size=0x3c) addr:0x2083ee4
|
||||
_ZN10MapManager16MapData_vfunc_6cEv kind:function(arm,size=0x18) addr:0x2083f20
|
||||
_ZN10MapManager16MapData_vfunc_70Ev kind:function(arm,size=0x18) addr:0x2083f38
|
||||
_ZN10MapManager18func_ov00_02083fb0EiPS_i kind:function(arm,size=0x74) addr:0x2083f50
|
||||
_ZN10MapManager18func_ov00_02083fb0EPjPS_P5Vec3p kind:function(arm,size=0x74) addr:0x2083f50
|
||||
_ZN10MapManager18func_ov00_02084024EiP4AABB kind:function(arm,size=0x64) addr:0x2083fc4
|
||||
_ZN10MapManager16MapData_vfunc_54Ev kind:function(arm,size=0x18) addr:0x2084028
|
||||
_ZN10MapManager18func_ov00_020840a0Ecci kind:function(arm,size=0x24) addr:0x2084040
|
||||
@@ -2147,7 +2147,7 @@ _ZN11ItemManager8GiveItemEi kind:function(thumb,size=0x59c) addr:0x20adc7c
|
||||
_ZN11ItemManager13GiveEquipItemEit kind:function(thumb,size=0x48) addr:0x20ae218
|
||||
_ZN11ItemManager13UnequipPotionEv kind:function(thumb,size=0x14) addr:0x20ae260
|
||||
_ZNK11ItemManager12GetMaxRupeesEv kind:function(arm,size=0xc) addr:0x20ae274
|
||||
_ZN11ItemManager10GiveRupeesEsb kind:function(arm,size=0x70) addr:0x20ae280
|
||||
_ZN11ItemManager10GiveRupeesEib kind:function(arm,size=0x70) addr:0x20ae280
|
||||
_ZNK11ItemManager10GetNumKeysEv kind:function(arm,size=0x18) addr:0x20ae2f0
|
||||
_ZN11ItemManager8GiveKeysEj kind:function(thumb,size=0x28) addr:0x20ae308
|
||||
_ZNK11ItemManager15GetEquippedItemEv kind:function(arm,size=0x18) addr:0x20ae330
|
||||
@@ -2577,7 +2577,7 @@ func_ov000_020bcc78 kind:function(arm,size=0x50) addr:0x20bcc18
|
||||
func_ov000_020bccc8 kind:function(arm,size=0xf0) addr:0x20bcc68
|
||||
func_ov000_020bcdb8 kind:function(arm,size=0x34) addr:0x20bcd58
|
||||
func_ov000_020bcdec kind:function(arm,size=0x5c) addr:0x20bcd8c
|
||||
func_ov000_020bce48 kind:function(arm,size=0x80) addr:0x20bcde8
|
||||
_ZN14PlayerLinkBase18func_ov00_020bce48Ei kind:function(arm,size=0x80) addr:0x20bcde8
|
||||
func_ov000_020bcec8 kind:function(arm,size=0x34) addr:0x20bce68
|
||||
func_ov000_020bcefc kind:function(arm,size=0x30) addr:0x20bce9c
|
||||
func_ov000_020bcf2c kind:function(arm,size=0x24) addr:0x20bcecc
|
||||
@@ -2920,7 +2920,7 @@ func_ov000_020c56d8 kind:function(arm,size=0x9c) addr:0x20c5678
|
||||
func_ov000_020c5774 kind:function(arm,size=0x88) addr:0x20c5714
|
||||
func_ov000_020c57fc kind:function(arm,size=0x128) addr:0x20c579c
|
||||
func_ov000_020c5924 kind:function(arm,size=0x100) addr:0x20c58c4
|
||||
func_ov000_020c5a24 kind:function(arm,size=0x38) addr:0x20c59c4
|
||||
_Z13GetRupeeValuej kind:function(arm,size=0x38) addr:0x20c59c4
|
||||
func_ov000_020c5a5c kind:function(arm,size=0xd8) addr:0x20c59fc
|
||||
func_ov000_020c5b34 kind:function(arm,size=0xb8) addr:0x20c5ad4
|
||||
func_ov000_020c5bec kind:function(arm,size=0x40) addr:0x20c5b8c
|
||||
|
||||
@@ -3214,7 +3214,7 @@ from:0x0213addc kind:arm_call to:0x0202e9d8 module:main
|
||||
from:0x0213ade8 kind:arm_call to:0x0213adf4 module:overlay(14)
|
||||
from:0x0213adf0 kind:load to:0x027e0fe0 module:dtcm
|
||||
from:0x0213adfc kind:arm_call to:0x020c14f4 module:overlay(0)
|
||||
from:0x0213ae24 kind:load to:0x02158944 module:overlay(14)
|
||||
from:0x0213ae24 kind:load to:0x0215893c add:8 module:overlay(14)
|
||||
from:0x0213ae3c kind:arm_call to:0x0213b668 module:overlay(14)
|
||||
from:0x0213aecc kind:arm_call to:0x0213b160 module:overlay(14)
|
||||
from:0x0213af08 kind:arm_call to:0x0213b160 module:overlay(14)
|
||||
|
||||
@@ -783,7 +783,7 @@ func_ov014_0213ae00 kind:function(arm,size=0x20) addr:0x213ad5c
|
||||
func_ov014_0213ae20 kind:function(arm,size=0x28) addr:0x213ad7c
|
||||
func_ov014_0213ae48 kind:function(arm,size=0x20) addr:0x213ada4
|
||||
_ZN10ActorRupee6CreateEv kind:function(arm,size=0x30) addr:0x213adc4
|
||||
_ZN10ActorRupeeC2Ev kind:function(arm,size=0x34) addr:0x213adf4
|
||||
_ZN10ActorRupeeC1Ev kind:function(arm,size=0x34) addr:0x213adf4
|
||||
_ZN10ActorRupee8vfunc_08Ev kind:function(arm,size=0x240) addr:0x213ae28
|
||||
_ZN10ActorRupee8vfunc_60Ev kind:function(arm,size=0x10) addr:0x213b068
|
||||
_ZN10ActorRupee8vfunc_64Ev kind:function(arm,size=0x4) addr:0x213b078
|
||||
@@ -793,9 +793,9 @@ _ZN10ActorRupee18func_ov14_0213b204Ei kind:function(arm,size=0x50) addr:0x213b16
|
||||
_ZN10ActorRupee6UpdateEb kind:function(arm,size=0x2c8) addr:0x213b1b0
|
||||
_ZN10ActorRupee8vfunc_14Ej kind:function(arm,size=0x38) addr:0x213b478
|
||||
_ZN10ActorRupee8vfunc_18Ej kind:function(arm,size=0x38) addr:0x213b4b0
|
||||
_ZN10ActorRupee8vfunc_20Ei kind:function(arm,size=0x68) addr:0x213b4e8
|
||||
_ZN10ActorRupee8vfunc_20Eb kind:function(arm,size=0x68) addr:0x213b4e8
|
||||
_ZN10ActorRupee18func_ov14_0213b5f4EjiP5Vec3pb kind:function(arm,size=0xb0) addr:0x213b550
|
||||
_ZN10ActorRupee18func_ov14_0213b6a4EjPv kind:function(arm,size=0x68) addr:0x213b600
|
||||
_ZN10ActorRupee18func_ov14_0213b6a4EjP19Actor_UnkStruct_012 kind:function(arm,size=0x68) addr:0x213b600
|
||||
_ZN10ActorRupee18func_ov14_0213b70cEj kind:function(arm,size=0x3c) addr:0x213b668
|
||||
_ZN10ActorRupeeD0Ev kind:function(arm,size=0x1c) addr:0x213b6a4
|
||||
_ZN10ActorRupeeD2Ev kind:function(arm,size=0x14) addr:0x213b6c0
|
||||
@@ -1684,7 +1684,7 @@ func_ov014_0215507c kind:function(arm,size=0x40) addr:0x2154fd8
|
||||
func_ov014_021550bc kind:function(arm,size=0x40) addr:0x2155018
|
||||
func_ov014_021550fc kind:function(arm,size=0x40) addr:0x2155058
|
||||
func_ov014_0215513c kind:function(arm,size=0x40) addr:0x2155098
|
||||
func_ov014_0215517c kind:function(arm,size=0x5c) addr:0x21550d8
|
||||
__sinit_ActorRupee.cpp kind:function(arm,size=0x5c) addr:0x21550d8
|
||||
func_ov014_021551d8 kind:function(arm,size=0x40) addr:0x2155134
|
||||
func_ov014_02155218 kind:function(arm,size=0x38) addr:0x2155174
|
||||
func_ov014_02155250 kind:function(arm,size=0x3c) addr:0x21551ac
|
||||
@@ -1902,7 +1902,9 @@ data_ov014_021589a8 kind:data(any) addr:0x2158908
|
||||
data_ov014_021589ac kind:data(any) addr:0x215890c
|
||||
data_ov014_021589b0 kind:data(any) addr:0x2158910
|
||||
data_ov014_021589b4 kind:data(any) addr:0x2158914
|
||||
_ZTV10ActorRupee kind:data(any) addr:0x2158944
|
||||
data_ov014_021589d4 kind:data(any) addr:0x2158934
|
||||
data_ov014_021589d8 kind:data(any) addr:0x2158938
|
||||
_ZTV10ActorRupee kind:data(any) addr:0x215893c
|
||||
data_ov014_02158aa0 kind:data(any) addr:0x2158a00
|
||||
data_ov014_02158b60 kind:data(any) addr:0x2158ac0
|
||||
data_ov014_02158b64 kind:data(any) addr:0x2158ac4
|
||||
|
||||
+25
-6
@@ -13,8 +13,25 @@
|
||||
#include "Player/EquipBoomerang.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
|
||||
struct Actor_UnkStruct_012 {
|
||||
/* 00 */ u16 mUnk_00;
|
||||
/* 02 */ u8 mUnk_02;
|
||||
/* 03 */ u8 mUnk_03;
|
||||
/* 04 */ u32 mUnk_04;
|
||||
/* 08 */ u32 mUnk_08;
|
||||
/* 0c */ u32 mUnk_0c;
|
||||
/* 10 */ u8 mUnk_10;
|
||||
/* 11 */ u8 mUnk_11;
|
||||
/* 12 */ u8 mUnk_12[0x2];
|
||||
/* 14 */ u32 mUnk_14;
|
||||
/* 18 */ u32 mUnk_18;
|
||||
/* 1c */
|
||||
|
||||
Actor_UnkStruct_012();
|
||||
};
|
||||
|
||||
struct Actor_UnkStruct_020 {
|
||||
/* 00 */ unk16 mUnk_00[4];
|
||||
/* 00 */ u16 mUnk_00[4];
|
||||
/* 08 */ u8 mUnk_08[2];
|
||||
/* 0a */ u8 mUnk_0a[2];
|
||||
/* 0c */ unk8 mUnk_0c;
|
||||
@@ -28,7 +45,7 @@ struct Actor_UnkStruct_020 {
|
||||
};
|
||||
|
||||
struct Actor_UnkStruct_09c {
|
||||
/* 0 */ unk16 mUnk_0;
|
||||
/* 0 */ u16 mUnk_0;
|
||||
/* 2 */ unk8 mUnk_2;
|
||||
/* 3 */ unk8 mUnk_3;
|
||||
/* 4 */ unk32 mUnk_4;
|
||||
@@ -40,8 +57,8 @@ struct Actor_UnkStruct_09c {
|
||||
struct Actor_UnkStruct_0a4 {
|
||||
/* 00 */ bool mUnk_00;
|
||||
/* 01 */ bool mUnk_01;
|
||||
/* 01 */ bool mUnk_02;
|
||||
/* 01 */ bool mUnk_03;
|
||||
/* 02 */ bool mUnk_02;
|
||||
/* 03 */ bool mUnk_03;
|
||||
/* 04 */ Vec3p mUnk_04;
|
||||
/* 10 */ s32 mUnk_10;
|
||||
/* 14 */
|
||||
@@ -65,6 +82,8 @@ enum PlayerCollide_ {
|
||||
PlayerCollide_Shield = 0x4,
|
||||
PlayerCollide_Gongoron = 0x8,
|
||||
PlayerCollide_Hammer = 0x10,
|
||||
|
||||
PlayerCollide_PickupFlags = PlayerCollide_Hammer | PlayerCollide_Gongoron | PlayerCollide_Sword | PlayerCollide_Player,
|
||||
};
|
||||
|
||||
struct Knockback {
|
||||
@@ -118,7 +137,7 @@ public:
|
||||
/* 109 */ unk8 mUnk_109;
|
||||
/* 10a */ unk8 mUnk_10a[0x6];
|
||||
/* 110 */ unk8 mUnk_110;
|
||||
/* 111 */ unk8 mUnk_111;
|
||||
/* 111 */ bool mUnk_111;
|
||||
/* 112 */ unk8 mUnk_112;
|
||||
/* 113 */ unk8 mUnk_113;
|
||||
/* 114 */ unk8 mUnk_114;
|
||||
@@ -159,7 +178,7 @@ public:
|
||||
/* 14 */ virtual void vfunc_14(u32 param1);
|
||||
/* 18 */ virtual void vfunc_18(u32 param1);
|
||||
/* 1c */ virtual void vfunc_1c(u16 *param1);
|
||||
/* 20 */ virtual void vfunc_20(s32 param1);
|
||||
/* 20 */ virtual void vfunc_20(bool param1);
|
||||
/* 24 */ virtual void vfunc_24();
|
||||
/* 28 */ virtual void vfunc_28();
|
||||
/* 2c */ virtual s32 vfunc_2c();
|
||||
|
||||
@@ -6,7 +6,8 @@
|
||||
|
||||
#include "Actor/Actor.hpp"
|
||||
#include "Actor/ActorType.hpp"
|
||||
#include "Item/Item.hpp"
|
||||
#include "Item/ItemManager.hpp"
|
||||
#include "Player/PlayerLinkBase.hpp"
|
||||
|
||||
typedef u32 RupeeId;
|
||||
enum RupeeId_ {
|
||||
@@ -27,7 +28,7 @@ public:
|
||||
|
||||
/* 000 (base) */
|
||||
/* 158 */ RupeeId mRupeeId;
|
||||
/* 15c */ unk16 mUnk_15c;
|
||||
/* 15c */ u16 mUnk_15c;
|
||||
/* 15e */ unk16 mUnk_15e;
|
||||
/* 160 */
|
||||
|
||||
@@ -35,7 +36,7 @@ public:
|
||||
/* 08 */ virtual bool vfunc_08() override;
|
||||
/* 14 */ virtual void vfunc_14(u32 param1) override;
|
||||
/* 18 */ virtual void vfunc_18(u32 param1) override;
|
||||
/* 20 */ virtual void vfunc_20(s32 param1) override;
|
||||
/* 20 */ virtual void vfunc_20(bool param1) override;
|
||||
/* 60 */ virtual bool vfunc_60() override;
|
||||
/* 64 */ virtual void vfunc_64() override;
|
||||
/* b4 */
|
||||
@@ -47,6 +48,6 @@ public:
|
||||
void func_ov14_0213b204(unk32 param1);
|
||||
void Update(bool param1);
|
||||
static void func_ov14_0213b5f4(RupeeId id, unk32 param2, Vec3p *param3, bool param4);
|
||||
static void func_ov14_0213b6a4(RupeeId id, void *param2);
|
||||
static void func_ov14_0213b6a4(RupeeId id, Actor_UnkStruct_012 *param2);
|
||||
static bool func_ov14_0213b70c(RupeeId id);
|
||||
};
|
||||
|
||||
@@ -126,6 +126,18 @@ enum ActorTypeId_ {
|
||||
ActorTypeId_VLR0 = __ACTOR_TYPE_ID(V, L, R, 0),
|
||||
};
|
||||
|
||||
class ActorType_UnkClass {
|
||||
public:
|
||||
u32 unk_00;
|
||||
u32 unk_04;
|
||||
u32 unk_08;
|
||||
u32 unk_0C;
|
||||
u32 unk_10;
|
||||
ActorType_UnkClass(u32 unk_00, u32 unk_04) :
|
||||
unk_00(unk_00),
|
||||
unk_04(unk_04) {}
|
||||
};
|
||||
|
||||
class Actor;
|
||||
typedef Actor *(*ActorCreateFunc)();
|
||||
|
||||
|
||||
@@ -89,7 +89,8 @@ enum ItemFlag_ {
|
||||
|
||||
typedef s32 ItemId;
|
||||
enum ItemId_ {
|
||||
/* 0x00 */ ItemId_None = 0,
|
||||
/* -1 */ ItemId_None = -1,
|
||||
/* 0x00 */ ItemId_Nothing = 0,
|
||||
/* 0x01 */ ItemId_SmallKey = 1,
|
||||
/* 0x02 */ ItemId_GreenRupee = 2,
|
||||
/* 0x03 */ ItemId_OshusSword = 3,
|
||||
|
||||
@@ -314,7 +314,7 @@ public:
|
||||
|
||||
// Rupees
|
||||
s32 GetMaxRupees() const;
|
||||
void GiveRupees(s16 amount, bool param2);
|
||||
void GiveRupees(s32 amount, bool param2);
|
||||
|
||||
// Potion
|
||||
void SetPotion(u32 index, Potion potion);
|
||||
|
||||
@@ -171,7 +171,7 @@ public:
|
||||
void func_ov00_02083f44(Vec3p *param_2);
|
||||
unk8 MapData_vfunc_6c();
|
||||
unk8 MapData_vfunc_70();
|
||||
static unk8 func_ov00_02083fb0(unk32 param_1, MapManager *param_2, unk32 param_3);
|
||||
static unk8 func_ov00_02083fb0(u32 *param_1, MapManager *param_2, Vec3p *param_3);
|
||||
void func_ov00_02084024(unk32 param_2, AABB *param_3);
|
||||
unk8 MapData_vfunc_54();
|
||||
unk8 func_ov00_020840a0(unk8 param_2, unk8 param_3, unk32 param_4);
|
||||
|
||||
@@ -75,6 +75,7 @@ public:
|
||||
|
||||
bool func_ov00_020bbd80(s32 param1);
|
||||
void func_ov00_020bc854(Vec3p *param1);
|
||||
bool func_ov00_020bce48(ItemId cutsceneItemId); // PlayItemCutscene
|
||||
bool func_ov00_020bd304();
|
||||
bool GongoronCollidesWith(Cylinder *hitbox);
|
||||
s32 GetGrabActorId();
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
struct Random {
|
||||
/* 00 */ u64 mRandomValue;
|
||||
/* 08 */ u64 mFactor;
|
||||
/* 10 */ u64 mAddend;
|
||||
/* 18 */
|
||||
|
||||
/**
|
||||
* Generate a random number from 0 (inclusive) to `max` (exclusive)
|
||||
*/
|
||||
inline u32 Next(u32 max) {
|
||||
mRandomValue = mAddend + mFactor * mRandomValue;
|
||||
u64 result = (mRandomValue >> 32) * max;
|
||||
return result >> 32;
|
||||
}
|
||||
};
|
||||
|
||||
extern Random *gRandom;
|
||||
@@ -9,7 +9,9 @@ typedef s32 q20;
|
||||
typedef s16 q4;
|
||||
|
||||
#define INT_TO_Q20(n) ((s32) ((n) << 12))
|
||||
#define FLOAT_TO_Q21(n) ((s32) (((n) * 8192 + 1) / 4))
|
||||
#define FLOAT_TO_Q20(n) ((s32) (((n) * 8192 + 1) / 2))
|
||||
#define FLOAT_TO_Q19(n) ((s32) (((n) * 8192 + 1)))
|
||||
#define ROUND_Q20(n) (((s32) (n) + 0x800) >> 12)
|
||||
#define MUL_Q20(a, b) (q20)((((s64) (a)) * ((s64) (b)) + 0x800) >> 12)
|
||||
|
||||
|
||||
@@ -187,7 +187,7 @@ ARM void Actor::vfunc_1c(u16 *param1) {
|
||||
}
|
||||
}
|
||||
|
||||
ARM void Actor::vfunc_20(s32 param1) {}
|
||||
ARM void Actor::vfunc_20(bool param1) {}
|
||||
|
||||
ARM void Actor::SetUnk_129(bool value) {
|
||||
if (mUnk_128) mUnk_129 = value;
|
||||
@@ -957,3 +957,5 @@ Actor_UnkStruct_09c::Actor_UnkStruct_09c() {
|
||||
mUnk_3 = 0;
|
||||
mUnk_4 = 0;
|
||||
}
|
||||
|
||||
Actor_UnkStruct_012::Actor_UnkStruct_012() {}
|
||||
|
||||
@@ -379,7 +379,7 @@ extern "C" ItemModel *func_ov00_02079ffc(void *, const char *modelName, const ch
|
||||
extern "C" ItemModel *LoadTreasureItemFanfare(ItemModel **, s32 treasureType, bool, bool);
|
||||
static char *sDefaultItemModel = "key";
|
||||
static char *sItemModelNames[70] = {
|
||||
[ItemId_None] = "key",
|
||||
[ItemId_Nothing] = "key",
|
||||
[ItemId_SmallKey] = "key",
|
||||
[ItemId_GreenRupee] = "rupee_g",
|
||||
[ItemId_OshusSword] = "swA",
|
||||
@@ -794,7 +794,7 @@ THUMB void ItemManager::GiveItem(ItemId id) {
|
||||
this->GiveRupees(-50, true);
|
||||
} break;
|
||||
|
||||
case ItemId_None: break;
|
||||
case ItemId_Nothing: break;
|
||||
case ItemId_Unk_5: break;
|
||||
case ItemId_Unk_16: break;
|
||||
case ItemId_Unk_131: break;
|
||||
@@ -839,7 +839,7 @@ ARM s32 ItemManager::GetMaxRupees() const {
|
||||
extern void *data_027e103c;
|
||||
extern "C" s32 func_ov00_020cf374(void *param1, bool param2);
|
||||
extern "C" void func_ov05_02104004(void *param1);
|
||||
ARM void ItemManager::GiveRupees(s16 amount, bool param2) {
|
||||
ARM void ItemManager::GiveRupees(s32 amount, bool param2) {
|
||||
s32 newRupees = mNumRupees + amount;
|
||||
if (newRupees > this->GetMaxRupees()) {
|
||||
newRupees = this->GetMaxRupees();
|
||||
@@ -1020,7 +1020,7 @@ THUMB void ItemManager::PlayItemFanfareSfx(ItemId item) {
|
||||
sfx = SfxId_Fanfare_Rupoor;
|
||||
} break;
|
||||
|
||||
case ItemId_None:
|
||||
case ItemId_Nothing:
|
||||
case ItemId_HerosNewClothes: {
|
||||
sfx = SfxId_Fanfare_Nothing_2;
|
||||
} break;
|
||||
|
||||
@@ -131,7 +131,7 @@ s32 MapManager::func_ov00_02083ef8(Vec3p *param_2, Vec3p *param_3, unk32 param_4
|
||||
void MapManager::func_ov00_02083f44(Vec3p *param_2) {}
|
||||
unk8 MapManager::MapData_vfunc_6c() {}
|
||||
unk8 MapManager::MapData_vfunc_70() {}
|
||||
unk8 MapManager::func_ov00_02083fb0(unk32 param_1, MapManager *param_2, unk32 param_3) {}
|
||||
unk8 MapManager::func_ov00_02083fb0(u32 *param_1, MapManager *param_2, Vec3p *param_3) {}
|
||||
void MapManager::func_ov00_02084024(unk32 param_2, AABB *param_3) {}
|
||||
unk8 MapManager::MapData_vfunc_54() {}
|
||||
unk8 MapManager::func_ov00_020840a0(unk8 param_2, unk8 param_3, unk32 param_4) {}
|
||||
|
||||
@@ -1,20 +1,335 @@
|
||||
#include "Actor/ActorRupee.hpp"
|
||||
#include "Item/ItemManager.hpp"
|
||||
#include "Map/MapManager.hpp"
|
||||
#include "Player/PlayerLinkBase.hpp"
|
||||
#include "System/Random.hpp"
|
||||
|
||||
ActorType ActorRupee::gType;
|
||||
extern "C" {
|
||||
void func_ov000_0207a1c8(bool *param_1, unk32 param_2, Vec3p *param_3);
|
||||
void func_0202bc38(unk32 param_1, Vec3p *param_2, u32 param_3, Actor_UnkStruct_012 *param_4, bool);
|
||||
void func_ov005_02102c2c(u32 *param_1, int param_2, Vec3p *param_3, int param_4, int param_5, u32 param_6, int param_7,
|
||||
char param_8, char param_9, char param_10);
|
||||
void func_ov000_020d7ad4(u32 *param1, u32 param2);
|
||||
}
|
||||
u16 GetRupeeValue(RupeeId id);
|
||||
|
||||
char *gShipParts[8] = {"anc", "bow", "hul", "can", "dco", "pdl", "fnl", "brg"};
|
||||
|
||||
extern u32 *data_ov014_021589d8;
|
||||
extern u32 data_ov000_020e9370[];
|
||||
extern u32 data_ov000_020eec9c[];
|
||||
extern u32 **data_027e0fe0[];
|
||||
|
||||
ActorType ActorRupee::gType = ActorType(ActorTypeId_Rupee, (ActorCreateFunc) ActorRupee::Create, NULL);
|
||||
|
||||
#pragma section force_data begin
|
||||
ActorType_UnkClass data_ov014_021589f4 = ActorType_UnkClass(FLOAT_TO_Q21(0.4662), FLOAT_TO_Q19(0.4661));
|
||||
#pragma section force_data end
|
||||
|
||||
ActorRupee *ActorRupee::Create() {
|
||||
ActorRupee *newRupee = new(*data_027e0fe0[0], 4) ActorRupee();
|
||||
return newRupee;
|
||||
}
|
||||
|
||||
ActorRupee::ActorRupee() {
|
||||
mRupeeId = 8;
|
||||
mUnk_15c = 0;
|
||||
}
|
||||
|
||||
// https://decomp.me/scratch/1qjCc
|
||||
bool ActorRupee::vfunc_08() {
|
||||
u32 dVar5;
|
||||
u32 iVar7;
|
||||
|
||||
mRupeeId = mUnk_020.mUnk_00[0];
|
||||
|
||||
dVar5 = func_ov14_0213b70c(mRupeeId) ? *data_ov014_021589d8 : FLOAT_TO_Q20(0.666);
|
||||
iVar7 = (s32) dVar5 >> 1;
|
||||
|
||||
mHitbox.pos.x = 0;
|
||||
mHitbox.pos.y = iVar7;
|
||||
mHitbox.pos.z = 0;
|
||||
mHitbox.size = iVar7;
|
||||
mUnk_08c.pos = mHitbox.pos;
|
||||
mUnk_08c.size = mHitbox.size;
|
||||
mUnk_0a4.mUnk_04.x = 0;
|
||||
mUnk_0a4.mUnk_04.y = iVar7;
|
||||
mUnk_0a4.mUnk_04.z = 0;
|
||||
mUnk_0a4.mUnk_10 = iVar7 + FLOAT_TO_Q20(1.0);
|
||||
mUnk_09c.mUnk_0 &= 0xFFFFFF4F;
|
||||
mUnk_09c.mUnk_3 = 1;
|
||||
mMaxFall = mUnk_08c.size - 1;
|
||||
|
||||
if (mUnk_03c >= 0) {
|
||||
func_ov14_0213b204(1);
|
||||
} else {
|
||||
switch (mUnk_144) {
|
||||
case 0:
|
||||
mVel.x = 0;
|
||||
mVel.y = 0;
|
||||
mVel.z = 0;
|
||||
func_ov14_0213b204(0);
|
||||
break;
|
||||
case 1:
|
||||
q20 x = gRandom->Next(FLOAT_TO_Q20(0.1335));
|
||||
q20 y = gRandom->Next(FLOAT_TO_Q20(0.2));
|
||||
q20 z = gRandom->Next(FLOAT_TO_Q20(0.1335));
|
||||
|
||||
mVel.x = x - FLOAT_TO_Q20(0.0666);
|
||||
mVel.y = y + FLOAT_TO_Q20(0.3333);
|
||||
mVel.z = z - FLOAT_TO_Q20(0.0666);
|
||||
|
||||
func_ov14_0213b204(0);
|
||||
break;
|
||||
case 2:
|
||||
mVel.x = 0;
|
||||
mVel.y = FLOAT_TO_Q20(0.5);
|
||||
mVel.z = 0;
|
||||
func_ov14_0213b204(0);
|
||||
break;
|
||||
case 3: func_ov14_0213b204(5); break;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ActorRupee::vfunc_60() {
|
||||
return func_ov14_0213b70c(mRupeeId);
|
||||
}
|
||||
|
||||
ActorRupee *ActorRupee::Create() {}
|
||||
ActorRupee::ActorRupee() {}
|
||||
bool ActorRupee::vfunc_08() {}
|
||||
bool ActorRupee::vfunc_60() {}
|
||||
void ActorRupee::vfunc_64() {}
|
||||
void ActorRupee::Move() {}
|
||||
ItemId ActorRupee::GetRupeeCutsceneItemId() {}
|
||||
void ActorRupee::func_ov14_0213b204(unk32 param1) {}
|
||||
void ActorRupee::Update(bool param1) {}
|
||||
void ActorRupee::vfunc_14(u32 param1) {}
|
||||
void ActorRupee::vfunc_18(u32 param1) {}
|
||||
void ActorRupee::vfunc_20(s32 param1) {}
|
||||
void ActorRupee::func_ov14_0213b5f4(RupeeId id, unk32 param2, Vec3p *param3, bool param4) {}
|
||||
void ActorRupee::func_ov14_0213b6a4(RupeeId id, void *param2) {}
|
||||
bool ActorRupee::func_ov14_0213b70c(RupeeId id) {}
|
||||
|
||||
void ActorRupee::Move() {
|
||||
s32 size;
|
||||
|
||||
ApplyGravity();
|
||||
Vec3p_Add(&mPos, &mVel, &mPos); // Vec3p::Add()
|
||||
mUnk_09c.mUnk_3 = 1;
|
||||
size = mMaxFall = mUnk_08c.size - 1;
|
||||
|
||||
size += mUnk_014.y;
|
||||
if (size < mPos.y) {
|
||||
mUnk_09c.mUnk_0 = 0x49;
|
||||
} else {
|
||||
mUnk_09c.mUnk_0 = 0xcb;
|
||||
}
|
||||
|
||||
if (this->func_01fffd04(0)) {
|
||||
mVel.x = 0;
|
||||
mVel.z = 0;
|
||||
}
|
||||
}
|
||||
|
||||
ItemId ActorRupee::GetRupeeCutsceneItemId() {
|
||||
switch (mRupeeId) {
|
||||
case RupeeId_Green: return ItemId_None;
|
||||
|
||||
case RupeeId_Blue: return ItemId_None;
|
||||
|
||||
case RupeeId_Red: return ItemId_None;
|
||||
|
||||
case RupeeId_BigGreen: return ItemId_BigGreenRupee;
|
||||
|
||||
case RupeeId_BigRed: return ItemId_BigRedRupee;
|
||||
|
||||
case RupeeId_Gold: return ItemId_GoldRupee;
|
||||
|
||||
case RupeeId_Rupoor10: return ItemId_Rupoor10;
|
||||
|
||||
case RupeeId_Rupoor50: return ItemId_Rupoor50;
|
||||
|
||||
default: break;
|
||||
}
|
||||
|
||||
return ItemId_None;
|
||||
}
|
||||
|
||||
void ActorRupee::func_ov14_0213b204(unk32 param1) {
|
||||
switch (param1) {
|
||||
case 0: mVisible = true; break;
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
mVel.x = 0;
|
||||
mVel.y = 0;
|
||||
mVel.z = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
mActiveFrames = 0;
|
||||
mUnk_130 = param1;
|
||||
}
|
||||
|
||||
void ActorRupee::Update(bool param1) {
|
||||
ItemId cutsceneItemId;
|
||||
s32 uVar3;
|
||||
Vec3p local_1c;
|
||||
u32 local_20;
|
||||
u16 rupeeValue;
|
||||
|
||||
mPrevPos = mPos;
|
||||
IncreaseActiveFrames();
|
||||
|
||||
if ((mUnk_130 != 3) && (++mUnk_15c >= 6) && CollidesWithPlayer(PlayerCollide_PickupFlags)) {
|
||||
cutsceneItemId = GetRupeeCutsceneItemId();
|
||||
|
||||
if (cutsceneItemId >= 0) {
|
||||
if (gPlayerLink->func_ov00_020bce48(cutsceneItemId)) {
|
||||
Kill();
|
||||
} else {
|
||||
func_ov14_0213b204(3);
|
||||
}
|
||||
} else {
|
||||
ItemManager *pItemMgr = gItemManager;
|
||||
rupeeValue = GetRupeeValue(mRupeeId);
|
||||
pItemMgr->GiveRupees(rupeeValue, false);
|
||||
uVar3 = -1;
|
||||
|
||||
switch (mRupeeId) {
|
||||
case RupeeId_Green: uVar3 = 0xfa; break;
|
||||
case RupeeId_Blue: uVar3 = 0xfb; break;
|
||||
case RupeeId_Red: uVar3 = 0xfc; break;
|
||||
default: break;
|
||||
}
|
||||
|
||||
func_ov000_020d7ad4(data_ov000_020eec9c, uVar3);
|
||||
Kill();
|
||||
}
|
||||
}
|
||||
|
||||
if (!(mUnk_130 != 0 && mUnk_130 != 1 && mUnk_130 != 2)) {
|
||||
if (func_ov00_020c2c0c()) {
|
||||
func_ov14_0213b204(4);
|
||||
} else if (func_ov00_020c2d54()) {
|
||||
func_ov14_0213b204(5);
|
||||
}
|
||||
}
|
||||
|
||||
switch (mUnk_130) {
|
||||
case 0:
|
||||
Move();
|
||||
if (mUnk_111) {
|
||||
local_1c = mPos;
|
||||
MapManager::func_ov00_02083fb0(&local_20, gMapManager, &local_1c);
|
||||
if (((local_20 >> 5) & 3) == 2) {
|
||||
Kill();
|
||||
} else {
|
||||
func_ov14_0213b204(1);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
PlayerLinkBase *pLink = gPlayerLink;
|
||||
if (pLink->func_ov00_020bce48(GetRupeeCutsceneItemId())) {
|
||||
Kill();
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (param1) {
|
||||
mActiveFrames = 0;
|
||||
}
|
||||
if ((mUnk_03c < 0) && (mActiveFrames >= 180)) {
|
||||
func_ov14_0213b204(2);
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (param1) {
|
||||
mActiveFrames = 0;
|
||||
}
|
||||
if (mActiveFrames >= 60) {
|
||||
Kill();
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if (!func_ov00_020c2c70()) {
|
||||
func_ov14_0213b204(1);
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
if (!func_ov00_020c2de4()) {
|
||||
func_ov14_0213b204(1);
|
||||
}
|
||||
break;
|
||||
default: break;
|
||||
}
|
||||
|
||||
KillInBounds();
|
||||
}
|
||||
|
||||
void ActorRupee::vfunc_14(u32 param1) {
|
||||
if (func_ov00_020c313c(param1)) {
|
||||
Update(false);
|
||||
}
|
||||
func_ov000_0207a1c8(&mUnk_0a4.mUnk_00, param1, &mPos);
|
||||
}
|
||||
|
||||
void ActorRupee::vfunc_18(u32 param1) {
|
||||
if (func_ov00_020c313c(param1)) {
|
||||
Update(true);
|
||||
}
|
||||
func_ov000_0207a1c8(&mUnk_0a4.mUnk_00, param1, &mPos);
|
||||
}
|
||||
|
||||
#define VFUNC20_COND (param1 ? mUnk_0a4.mUnk_01 : mUnk_0a4.mUnk_00)
|
||||
void ActorRupee::vfunc_20(bool param1) {
|
||||
if (VFUNC20_COND && !(mUnk_130 == 2 && mActiveFrames % 8 < 4) && VFUNC20_COND) {
|
||||
func_ov14_0213b5f4(mRupeeId, param1, &mPos, true);
|
||||
}
|
||||
}
|
||||
|
||||
void ActorRupee::func_ov14_0213b5f4(RupeeId id, unk32 param2, Vec3p *param3, bool param4) {
|
||||
Actor_UnkStruct_012 unk_class;
|
||||
static const u32 data_ov014_02153e28[] = {
|
||||
// sRupeePalettes
|
||||
0x9, // RupeeId_Green
|
||||
0xA, // RupeeId_Blue
|
||||
0x8, // RupeeId_Red
|
||||
0x9, // RupeeId_BigGreen
|
||||
0x8, // RupeeId_BigRed
|
||||
0xB, // RupeeId_Gold
|
||||
0xC, // RupeeId_Rupoor10
|
||||
0xC, // RupeeId_Rupoor50
|
||||
};
|
||||
|
||||
func_ov14_0213b6a4(id, &unk_class);
|
||||
func_0202bc38(param2, param3, data_ov014_02153e28[id], &unk_class, 0);
|
||||
|
||||
if (param4) {
|
||||
u32 var = func_ov14_0213b70c(id) ? 0x4cd : 0x400;
|
||||
func_ov005_02102c2c(&data_ov000_020e9370[0], 0, param3, var, var, 0, 0x1f, 0, 1, 1);
|
||||
}
|
||||
}
|
||||
|
||||
void ActorRupee::func_ov14_0213b6a4(RupeeId id, Actor_UnkStruct_012 *param2) {
|
||||
param2->mUnk_04 = 3;
|
||||
|
||||
if (func_ov14_0213b70c(id)) {
|
||||
param2->mUnk_08 = 2;
|
||||
param2->mUnk_0c = 2;
|
||||
param2->mUnk_14 = data_ov014_021589f4.unk_00;
|
||||
param2->mUnk_18 = data_ov014_021589f4.unk_04;
|
||||
} else {
|
||||
param2->mUnk_08 = 2;
|
||||
param2->mUnk_0c = 2;
|
||||
param2->mUnk_14 = FLOAT_TO_Q21(0.333);
|
||||
param2->mUnk_18 = FLOAT_TO_Q19(0.333);
|
||||
}
|
||||
}
|
||||
|
||||
bool ActorRupee::func_ov14_0213b70c(RupeeId id) {
|
||||
switch (id) {
|
||||
case RupeeId_BigGreen:
|
||||
case RupeeId_BigRed:
|
||||
case RupeeId_Gold:
|
||||
case RupeeId_Rupoor50: return true;
|
||||
|
||||
default: break;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
ActorRupee::~ActorRupee() {}
|
||||
|
||||
Reference in New Issue
Block a user