mirror of
https://github.com/zeldaret/ph
synced 2026-05-27 16:13:04 -04:00
Decomp ActorRupee
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -5,26 +5,25 @@
|
||||
#include "System/Random.hpp"
|
||||
|
||||
extern "C" {
|
||||
void func_01ff9bc4(Vec3p *a, Vec3p *b, Vec3p *sum);
|
||||
void func_ov00_0207a1c8(bool *param_1, unk32 param_2, Vec3p *param_3);
|
||||
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_ov05_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_ov00_020d7ad4(u32 *param1, u32 param2);
|
||||
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_ov14_021589d8;
|
||||
extern u32 data_ov00_020e9370[];
|
||||
extern u32 data_ov00_020eec9c[];
|
||||
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_ov14_021589f4 = ActorType_UnkClass(0x3bb, 0xeeb);
|
||||
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() {
|
||||
@@ -44,7 +43,7 @@ bool ActorRupee::vfunc_08() {
|
||||
|
||||
mRupeeId = mUnk_020.mUnk_00[0];
|
||||
|
||||
dVar5 = func_ov14_0213b70c(mRupeeId) ? *data_ov14_021589d8 : FLOAT_TO_Q20(0.666);
|
||||
dVar5 = func_ov14_0213b70c(mRupeeId) ? *data_ov014_021589d8 : FLOAT_TO_Q20(0.666);
|
||||
iVar7 = (s32) dVar5 >> 1;
|
||||
|
||||
mHitbox.pos.x = 0;
|
||||
@@ -105,7 +104,7 @@ void ActorRupee::Move() {
|
||||
s32 size;
|
||||
|
||||
ApplyGravity();
|
||||
func_01ff9bc4(&mPos, &mVel, &mPos); // Vec3p::Add()
|
||||
Vec3p_Add(&mPos, &mVel, &mPos); // Vec3p::Add()
|
||||
mUnk_09c.mUnk_3 = 1;
|
||||
size = mMaxFall = mUnk_08c.size - 1;
|
||||
|
||||
@@ -164,7 +163,6 @@ void ActorRupee::func_ov14_0213b204(unk32 param1) {
|
||||
mUnk_130 = param1;
|
||||
}
|
||||
|
||||
extern "C" void _ZN11ItemManager10GiveRupeesEsb(ItemManager *implicit, u16 amount, unk32 param2);
|
||||
void ActorRupee::Update(bool param1) {
|
||||
ItemId cutsceneItemId;
|
||||
s32 uVar3;
|
||||
@@ -185,9 +183,9 @@ void ActorRupee::Update(bool param1) {
|
||||
func_ov14_0213b204(3);
|
||||
}
|
||||
} else {
|
||||
ItemManager *pItem = gItemManager;
|
||||
rupeeValue = GetRupeeValue(mRupeeId);
|
||||
pItem->GiveRupees(rupeeValue, false); // giverupees
|
||||
ItemManager *pItemMgr = gItemManager;
|
||||
rupeeValue = GetRupeeValue(mRupeeId);
|
||||
pItemMgr->GiveRupees(rupeeValue, false);
|
||||
uVar3 = -1;
|
||||
|
||||
switch (mRupeeId) {
|
||||
@@ -197,7 +195,7 @@ void ActorRupee::Update(bool param1) {
|
||||
default: break;
|
||||
}
|
||||
|
||||
func_ov00_020d7ad4(data_ov00_020eec9c, uVar3);
|
||||
func_ov000_020d7ad4(data_ov000_020eec9c, uVar3);
|
||||
Kill();
|
||||
}
|
||||
}
|
||||
@@ -265,14 +263,14 @@ void ActorRupee::vfunc_14(u32 param1) {
|
||||
if (func_ov00_020c313c(param1)) {
|
||||
Update(false);
|
||||
}
|
||||
func_ov00_0207a1c8(&mUnk_0a4.mUnk_00, param1, &mPos);
|
||||
func_ov000_0207a1c8(&mUnk_0a4.mUnk_00, param1, &mPos);
|
||||
}
|
||||
|
||||
void ActorRupee::vfunc_18(u32 param1) {
|
||||
if (func_ov00_020c313c(param1)) {
|
||||
Update(true);
|
||||
}
|
||||
func_ov00_0207a1c8(&mUnk_0a4.mUnk_00, param1, &mPos);
|
||||
func_ov000_0207a1c8(&mUnk_0a4.mUnk_00, param1, &mPos);
|
||||
}
|
||||
|
||||
#define VFUNC20_COND (param1 ? mUnk_0a4.mUnk_01 : mUnk_0a4.mUnk_00)
|
||||
@@ -284,7 +282,7 @@ void ActorRupee::vfunc_20(bool param1) {
|
||||
|
||||
void ActorRupee::func_ov14_0213b5f4(RupeeId id, unk32 param2, Vec3p *param3, bool param4) {
|
||||
Actor_UnkStruct_012 unk_class;
|
||||
static const u32 data_ov14_02153e28[] = {
|
||||
static const u32 data_ov014_02153e28[] = {
|
||||
// sRupeePalettes
|
||||
0x9, // RupeeId_Green
|
||||
0xA, // RupeeId_Blue
|
||||
@@ -297,11 +295,11 @@ void ActorRupee::func_ov14_0213b5f4(RupeeId id, unk32 param2, Vec3p *param3, boo
|
||||
};
|
||||
|
||||
func_ov14_0213b6a4(id, &unk_class);
|
||||
func_0202bc38(param2, param3, data_ov14_02153e28[id], &unk_class, 0);
|
||||
func_0202bc38(param2, param3, data_ov014_02153e28[id], &unk_class, 0);
|
||||
|
||||
if (param4) {
|
||||
u32 var = func_ov14_0213b70c(id) ? 0x4cd : 0x400;
|
||||
func_ov05_02102c2c(&data_ov00_020e9370[0], 0, param3, var, var, 0, 0x1f, 0, 1, 1);
|
||||
func_ov005_02102c2c(&data_ov000_020e9370[0], 0, param3, var, var, 0, 0x1f, 0, 1, 1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -311,13 +309,13 @@ void ActorRupee::func_ov14_0213b6a4(RupeeId id, Actor_UnkStruct_012 *param2) {
|
||||
if (func_ov14_0213b70c(id)) {
|
||||
param2->mUnk_08 = 2;
|
||||
param2->mUnk_0c = 2;
|
||||
param2->mUnk_14 = data_ov14_021589f4.unk_00;
|
||||
param2->mUnk_18 = data_ov14_021589f4.unk_04;
|
||||
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 = 0x2aa;
|
||||
param2->mUnk_18 = 0xaa8;
|
||||
param2->mUnk_14 = FLOAT_TO_Q21(0.333);
|
||||
param2->mUnk_18 = FLOAT_TO_Q19(0.333);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user