ActorRefill OK

This commit is contained in:
Aetias
2025-05-29 08:51:28 +02:00
parent 0b6e5d042b
commit 2c27f6cb3d
9 changed files with 61 additions and 74 deletions
+1 -1
View File
@@ -146,7 +146,7 @@ func_ov000_0207a038 kind:function(thumb,size=0x102) addr:0x207a038
_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
_ZN19Actor_UnkStruct_0a419func_ov000_0207a1c8EiP5Vec3p kind:function(arm,size=0xcc) addr:0x207a1c8
func_ov000_0207a294 kind:function(thumb,size=0x44) addr:0x207a294
func_ov000_0207a2d8 kind:function(arm,size=0x10) addr:0x207a2d8
func_ov000_0207a2e8 kind:function(thumb,size=0x14) addr:0x207a2e8
@@ -14,6 +14,7 @@ src/14_Land/Actor/ActorRupee.cpp:
.bss start:0x0215b1f4 end:0x0215b214
src/14_Land/Actor/Player/ActorRefill.cpp:
complete
.text start:0x02134e24 end:0x02135940
.init start:0x02154c14 end:0x02154d24
.ctor start:0x021558ec end:0x021558f0
+17 -17
View File
@@ -1672,7 +1672,7 @@ __sinit_ov014_02154b34 kind:function(arm,size=0x38) addr:0x2154b34
__sinit_ov014_02154b6c kind:function(arm,size=0x38) addr:0x2154b6c
__sinit_ov014_02154ba4 kind:function(arm,size=0x38) addr:0x2154ba4
__sinit_ov014_02154bdc kind:function(arm,size=0x38) addr:0x2154bdc
__sinit_ActorRefill.cpp kind:function(arm,size=0x110) addr:0x2154c14
__sinit_ActorRefill.cpp kind:function(arm,size=0x110) addr:0x2154c14 local
__sinit_ov014_02154d24 kind:function(arm,size=0x1d8) addr:0x2154d24
__sinit_ov014_02154efc kind:function(arm,size=0x40) addr:0x2154efc
__sinit_ov014_02154f3c kind:function(arm,size=0x40) addr:0x2154f3c
@@ -1846,14 +1846,14 @@ data_ov014_02157768 kind:data(any) addr:0x2157768
data_ov014_0215777c kind:data(any) addr:0x215777c
data_ov014_02157790 kind:data(any) addr:0x2157790
data_ov014_02157824 kind:data(any) addr:0x2157824
data_ov014_021578b0 kind:data(any) addr:0x21578b0
data_ov014_021578b4 kind:data(any) addr:0x21578b4
data_ov014_021578b8 kind:data(any) addr:0x21578b8
data_ov014_021578bc kind:data(any) addr:0x21578bc
data_ov014_021578c0 kind:data(any) addr:0x21578c0
data_ov014_021578c4 kind:data(any) addr:0x21578c4
data_ov014_021578c8 kind:data(any) addr:0x21578c8
data_ov014_021578cc kind:data(any) addr:0x21578cc
@570 kind:data(any) addr:0x21578b0 local
@569 kind:data(any) addr:0x21578b4 local
@568 kind:data(any) addr:0x21578b8 local
@567 kind:data(any) addr:0x21578bc local
@566 kind:data(any) addr:0x21578c0 local
@565 kind:data(any) addr:0x21578c4 local
@564 kind:data(any) addr:0x21578c8 local
@563 kind:data(any) addr:0x21578cc local
sShipTypes kind:data(any) addr:0x21578d0 local
_ZTV9ActorLSTM kind:data(any) addr:0x21578f0
_ZTV15ActorRefillTime kind:data(any) addr:0x21579b0
@@ -2196,15 +2196,15 @@ data_ov014_0215af6c kind:bss addr:0x215af6c
data_ov014_0215af74 kind:bss addr:0x215af74
data_ov014_0215af80 kind:bss addr:0x215af80
data_ov014_0215af88 kind:bss addr:0x215af88
@363 kind:bss addr:0x215af94
_ZN19ActorRefillBombchus5gTypeE kind:bss addr:0x215afa0
@361 kind:bss addr:0x215afb4
_ZN15ActorRefillTime5gTypeE kind:bss addr:0x215afc0
@364 kind:bss addr:0x215afd4
@363 kind:bss addr:0x215af94 local
_ZN16ActorRefillBombs5gTypeE kind:bss addr:0x215afa0
@361 kind:bss addr:0x215afb4 local
_ZN19ActorRefillBombchus5gTypeE kind:bss addr:0x215afc0
@364 kind:bss addr:0x215afd4 local
_ZN17ActorRefillArrows5gTypeE kind:bss addr:0x215afe0
@360 kind:bss addr:0x215aff4
_ZN16ActorRefillBombs5gTypeE kind:bss addr:0x215b000
@362 kind:bss addr:0x215b014
@360 kind:bss addr:0x215aff4 local
_ZN15ActorRefillTime5gTypeE kind:bss addr:0x215b000
@362 kind:bss addr:0x215b014 local
_ZN9ActorLSTM5gTypeE kind:bss addr:0x215b020
data_ov014_0215b034 kind:bss addr:0x215b034
data_ov014_0215b040 kind:bss addr:0x215b040
+1 -1
View File
@@ -146,7 +146,7 @@ func_ov000_0207a038 kind:function(thumb,size=0x102) addr:0x2079fd8
_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
_ZN19Actor_UnkStruct_0a419func_ov000_0207a1c8EiP5Vec3p kind:function(arm,size=0xcc) addr:0x207a168
func_ov000_0207a294 kind:function(thumb,size=0x44) addr:0x207a234
func_ov000_0207a2d8 kind:function(arm,size=0x10) addr:0x207a278
func_ov000_0207a2e8 kind:function(thumb,size=0x14) addr:0x207a288
@@ -14,6 +14,7 @@ src/14_Land/Actor/ActorRupee.cpp:
.bss start:0x0215b154 end:0x0215b174
src/14_Land/Actor/Player/ActorRefill.cpp:
complete
.text start:0x02134d80 end:0x0213589c
.init start:0x02154b70 end:0x02154c80
.ctor start:0x02155848 end:0x0215584c
+17 -17
View File
@@ -1672,7 +1672,7 @@ __sinit_ov014_02154b34 kind:function(arm,size=0x38) addr:0x2154a90
__sinit_ov014_02154b6c kind:function(arm,size=0x38) addr:0x2154ac8
__sinit_ov014_02154ba4 kind:function(arm,size=0x38) addr:0x2154b00
__sinit_ov014_02154bdc kind:function(arm,size=0x38) addr:0x2154b38
__sinit_ActorRefill.cpp kind:function(arm,size=0x110) addr:0x2154b70
__sinit_ActorRefill.cpp kind:function(arm,size=0x110) addr:0x2154b70 local
__sinit_ov014_02154d24 kind:function(arm,size=0x1d8) addr:0x2154c80
__sinit_ov014_02154efc kind:function(arm,size=0x40) addr:0x2154e58
__sinit_ov014_02154f3c kind:function(arm,size=0x40) addr:0x2154e98
@@ -1846,14 +1846,14 @@ data_ov014_02157768 kind:data(any) addr:0x21576c8
data_ov014_0215777c kind:data(any) addr:0x21576dc
data_ov014_02157790 kind:data(any) addr:0x21576f0
data_ov014_02157824 kind:data(any) addr:0x2157784
data_ov014_021578b0 kind:data(any) addr:0x2157810
data_ov014_021578b4 kind:data(any) addr:0x2157814
data_ov014_021578b8 kind:data(any) addr:0x2157818
data_ov014_021578bc kind:data(any) addr:0x215781c
data_ov014_021578c0 kind:data(any) addr:0x2157820
data_ov014_021578c4 kind:data(any) addr:0x2157824
data_ov014_021578c8 kind:data(any) addr:0x2157828
data_ov014_021578cc kind:data(any) addr:0x215782c
@570 kind:data(any) addr:0x2157810 local
@569 kind:data(any) addr:0x2157814 local
@568 kind:data(any) addr:0x2157818 local
@567 kind:data(any) addr:0x215781c local
@566 kind:data(any) addr:0x2157820 local
@565 kind:data(any) addr:0x2157824 local
@564 kind:data(any) addr:0x2157828 local
@563 kind:data(any) addr:0x215782c local
sShipTypes kind:data(any) addr:0x2157830 local
_ZTV9ActorLSTM kind:data(any) addr:0x2157850
_ZTV15ActorRefillTime kind:data(any) addr:0x2157910
@@ -2196,15 +2196,15 @@ data_ov014_0215af6c kind:bss addr:0x215aecc
data_ov014_0215af74 kind:bss addr:0x215aed4
data_ov014_0215af80 kind:bss addr:0x215aee0
data_ov014_0215af88 kind:bss addr:0x215aee8
@363 kind:bss addr:0x215aef4
_ZN19ActorRefillBombchus5gTypeE kind:bss addr:0x215af00
@361 kind:bss addr:0x215af14
_ZN15ActorRefillTime5gTypeE kind:bss addr:0x215af20
@364 kind:bss addr:0x215af34
@363 kind:bss addr:0x215aef4 local
_ZN16ActorRefillBombs5gTypeE kind:bss addr:0x215af00
@361 kind:bss addr:0x215af14 local
_ZN19ActorRefillBombchus5gTypeE kind:bss addr:0x215af20
@364 kind:bss addr:0x215af34 local
_ZN17ActorRefillArrows5gTypeE kind:bss addr:0x215af40
@360 kind:bss addr:0x215af54
_ZN16ActorRefillBombs5gTypeE kind:bss addr:0x215af60
@362 kind:bss addr:0x215af74
@360 kind:bss addr:0x215af54 local
_ZN15ActorRefillTime5gTypeE kind:bss addr:0x215af60
@362 kind:bss addr:0x215af74 local
_ZN9ActorLSTM5gTypeE kind:bss addr:0x215af80
data_ov014_0215b034 kind:bss addr:0x215af94
data_ov014_0215b040 kind:bss addr:0x215afa0
+1 -1
View File
@@ -19,4 +19,4 @@ struct Random {
}
};
extern Random *gRandom;
extern Random gRandom;
+5 -6
View File
@@ -5,7 +5,6 @@
#include "System/Random.hpp"
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);
@@ -71,9 +70,9 @@ bool ActorRupee::vfunc_08() {
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));
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);
@@ -263,14 +262,14 @@ void ActorRupee::vfunc_14(u32 param1) {
if (func_ov00_020c313c(param1)) {
Update(false);
}
func_ov000_0207a1c8(&mUnk_0a4.mUnk_00, param1, &mPos);
mUnk_0a4.func_ov000_0207a1c8(param1, &mPos);
}
void ActorRupee::vfunc_18(u32 param1) {
if (func_ov00_020c313c(param1)) {
Update(true);
}
func_ov000_0207a1c8(&mUnk_0a4.mUnk_00, param1, &mPos);
mUnk_0a4.func_ov000_0207a1c8(param1, &mPos);
}
#define VFUNC20_COND (param1 ? mUnk_0a4.mUnk_01 : mUnk_0a4.mUnk_00)
+17 -31
View File
@@ -134,16 +134,11 @@ ARM void ActorRefill::vfunc_14(u32 param1) {
}
break;
case 2:
#define ROTATE_RIGHT(x, n) ((x >> n) | (x << (32 - n)))
temp_r0_4 = mActiveFrames;
temp_r1 = (u32) temp_r0_4 >> 31;
if ((temp_r1 + ROTATE_RIGHT((temp_r0_4 << 29) - temp_r1, 29)) < 4) {
var_r0 = 0;
if (mActiveFrames % 8 < 4) {
mUnk_164 = 0;
} else {
var_r0 = 31;
mUnk_164 = 31;
}
mUnk_164 = var_r0;
if (this->func_ov00_020c2c0c()) {
this->func_ov014_02135364(4);
} else if (this->func_ov00_020c2d54()) {
@@ -209,17 +204,17 @@ ARM void ActorRefill::vfunc_20(bool param1) {
sp18.mUnk_18 = 0x1000;
sp18.mUnk_02 = mUnk_164;
func_0202bc38(param1, &mPos, mUnk_15c, &sp18, 0);
func_ov005_02102c2c(&data_ov000_020e9370[0], 0, &mPos, 0x400, 0, mUnk_164, 0, 0, 1, 0);
func_ov005_02102c2c(&data_ov000_020e9370[0], 0, &mPos, 0x400, 0x400, 0, mUnk_164, 0, 0, 1);
}
}
extern unk32 data_027e0e58;
extern unk32 *data_027e0e58;
extern "C" void func_ov000_0207c1b0(unk32 *param1, unk32 param2, Vec3p *param3, unk32 param4, unk32 param5, unk32 param6);
ARM void ActorRefill::func_ov014_02135474() {
s32 iVar1 = mUnk_130;
if (iVar1 != 4 && iVar1 != 5) {
func_ov000_0207c1b0(&data_027e0e58, 0x241, &mPos, 2, 0, 0);
func_ov000_0207c1b0(&data_027e0e58, 0x242, &mPos, 2, 0, 0);
func_ov000_0207c1b0(data_027e0e58, 0x241, &mPos, 2, 0, 0);
func_ov000_0207c1b0(data_027e0e58, 0x242, &mPos, 2, 0, 0);
mAlive = false;
}
}
@@ -269,7 +264,6 @@ ARM ActorRefillTime::ActorRefillTime() :
ARM ActorRefillTime::~ActorRefillTime() {}
ARM bool ActorRefillTime::vfunc_08() {
if (!ActorRefill::vfunc_08()) {
return false;
}
@@ -281,7 +275,7 @@ ARM bool ActorRefillTime::vfunc_08() {
case 0:
case 1:
case 3:
s32 temp_ip = gRandom->Next(10);
s32 temp_ip = gRandom.Next(10);
if (temp_ip >= 9) {
mUnk_158 = 30;
} else if (temp_ip >= 6) {
@@ -291,14 +285,10 @@ ARM bool ActorRefillTime::vfunc_08() {
}
break;
}
if (mUnk_158 != -0x1E) {
if (mUnk_158 == -0xF) {
mUnk_15c = 0x48;
} else {
mUnk_15c = 0x47;
}
} else {
mUnk_15c = 0x49;
switch (mUnk_158) {
case 15: mUnk_15c = 0x45; break;
case 30: mUnk_15c = 0x46; break;
default: mUnk_15c = 0x44; break;
}
return true;
}
@@ -327,7 +317,7 @@ ARM bool ActorLSTM::vfunc_08() {
case 0:
case 1:
case 3:
s32 temp_ip = gRandom->Next(10);
s32 temp_ip = gRandom.Next(10);
if (temp_ip >= 9) {
mUnk_158 = -30;
} else if (temp_ip >= 6) {
@@ -337,14 +327,10 @@ ARM bool ActorLSTM::vfunc_08() {
}
break;
}
if (mUnk_158 != -0x1E) {
if (mUnk_158 == -0xF) {
mUnk_15c = 0x48;
} else {
mUnk_15c = 0x47;
}
} else {
mUnk_15c = 0x49;
switch (mUnk_158) {
case -15: mUnk_15c = 0x48; break;
case -30: mUnk_15c = 0x49; break;
default: mUnk_15c = 0x47; break;
}
return true;
}