mirror of
https://github.com/zeldaret/st
synced 2026-07-09 22:51:43 -04:00
Decompile ActorUnkAROW (83%) (#70)
* refactor: unknown arow actor to arrow
* refactor: rename ActorUnkArow_c4 and remove warning
* refactor: rename class in system files
* feat: match actorprofilearrow
* feat: progress decompilation
* feat: rename actor to ActorShotArrow
* feat: change mangled name
* feat: decompile some functions and mark unmatched functions as non-matching
* feat: progress
* feat: decompiling function 020f206c
* feat: change two fields for struct padding
* feat: remove non-matching comment on matched function
* feat: decompiling function 020f20bc
* refactor: fix .bss mangled names
* feat: decompiling 020f2134
* feat: decompiling func_ov031_020f2160
* feat: matching function func_ov031_020f21dc
* feat: use correct mangled names in jp version
* fix: change back arm9/delinks in eur version
* feat: non-matching function 020f1a64
* feat: decompile 020f2270
* feat: decompile function 020f2280
* feat: uncompile func_ov031_020f229c
* feat: match 020f22d4 add UnkSystem{4,5} as fields
* feat: reverse 020f2b8c
* feat: 020f2bbc
* feat: 020f2bec
* feat: 020f3304
* style: explicitly indicate floating values when using FLOAT_TO_Q20
* style: move external function to the top
* feat: begin of 020f3258
* feat: decompile 020f32c4
* feat: propagate mangled names changes to japan version
* feat: begin decompilation of func_ov031_020f370c
* feat: begin weird decompilation of func_ov031_020f3d4c
* feat: decompile function 020f3d04
* feat: better matching
* feat: matching function func_ov031_020f2214
* feat: decompile the function 020f3258
* feat: increase matched code
* feat: decompile function func_ov031_020f2794
* feat: decompile function func_ov031_020f18bc
* feat: decompile almost all func_ov031_020f195c
* feat: decompile 3/4 of func_ov031_020f173c
* refactor: change back function's return type to void
* feat: begin decompilation of func_ov031_020f1b04
* feat: advance decompilation of 020f1c7c
* feat: decompile 020f1e3c
* feat: decompile function func_ov031_020f1f54
* refactor: move func(Actor *) into ActorShotArrow class
* feat: introduce ActorShotArrow_194 thanks to Yanis002
* fix: use FX32 in macros over old Q20
* fix: praying magic behaviour
* revert: revert before build failure
* revert: remove all relocs.txt magic stuff
* revert: introduce back correct symbols
* revert: introduce back CORRECTLY correct symbols
* feat: rename vtable
* fix: wrong hex in comment
* feat: huge improvements
* fix: undefined 02081d7c
* fix: awful symbol name
* fix: part of mangled name in jp version
* fix: rest of the line disappeared
* fix: try to fix jp version
* fix: apply eur fix to jp
* feat: add function 020f374c
* fix: full match of 020f173c
* feat: move function in upperclass
* feat: change ActorRupee to use class function
* feat: try decompiling func_ov031_020f2ef0
* feat: improvements
* feat: improvements
* docs: add comment
* fix: build issues
* feat: improvements
* feat: improvements
* feat: forget inclusion of unkstruct
* feat: enhanced
* feat: some improvements
* style: better style
* feat: decompile function and cleanup
* refactor: remove .cache ??
* review
---------
Co-authored-by: Yanis002 <35189056+Yanis002@users.noreply.github.com>
This commit is contained in:
@@ -31,7 +31,6 @@ extern "C" void func_02097bb8(void);
|
||||
extern "C" void func_ov000_0205c1f0(unk32 *, unk16);
|
||||
extern "C" void func_ov000_0205c204(unk32 *, VecFx32 *, unk32, unk32, unk32);
|
||||
extern "C" void func_ov000_0208bc00(UnkStruct_027e0ce0 *, unk16, unk16 *);
|
||||
extern "C" void func_ov000_02098838();
|
||||
extern "C" void func_ov017_020bf99c(void);
|
||||
extern "C" void func_ov017_02097bec(Actor_9C *);
|
||||
|
||||
@@ -261,7 +260,7 @@ void ActorHeart::func_ov031_020ef2ec() {
|
||||
}
|
||||
|
||||
void ActorHeart::func_ov031_020ef2f8() {
|
||||
func_ov000_02098838();
|
||||
this->func_ov000_02098838();
|
||||
if (this->mVel.y > 0) {
|
||||
return;
|
||||
}
|
||||
@@ -437,14 +436,14 @@ ActorHeart_C4::ActorHeart_C4(Actor *param1) :
|
||||
this->mUnk_04 = 1;
|
||||
}
|
||||
|
||||
bool ActorHeart_C4::vfunc_00(ActorRef ref, unk32 param_3) {
|
||||
if (param_3 != 0) {
|
||||
bool ActorHeart_C4::vfunc_00(ActorRef ref, unk32 param3) {
|
||||
if (param3 != 0) {
|
||||
ActorHeart *pHeart = this->GetActorPtr<ActorHeart>();
|
||||
pHeart->mUnk_C4 = ref;
|
||||
pHeart->SetState(ActorHeartState_4);
|
||||
}
|
||||
|
||||
return this->Actor_C4::vfunc_00(ref, param_3);
|
||||
return this->Actor_C4::vfunc_00(ref, param3);
|
||||
}
|
||||
|
||||
void ActorHeart_C4::vfunc_04() {
|
||||
|
||||
@@ -526,20 +526,20 @@ void ActorItemDrop::func_ov031_020fa900() {
|
||||
}
|
||||
}
|
||||
|
||||
ActorItemDrop_C4::ActorItemDrop_C4(Actor *param_1) :
|
||||
Actor_C4(param_1) {
|
||||
this->mUnk_20 = param_1;
|
||||
ActorItemDrop_C4::ActorItemDrop_C4(Actor *param1) :
|
||||
Actor_C4(param1) {
|
||||
this->mUnk_20 = param1;
|
||||
this->mUnk_04 = 0x1;
|
||||
}
|
||||
|
||||
bool ActorItemDrop_C4::vfunc_00(ActorRef ref, unk32 param_2) {
|
||||
if (param_2 != 0) {
|
||||
bool ActorItemDrop_C4::vfunc_00(ActorRef ref, unk32 param2) {
|
||||
if (param2 != 0) {
|
||||
ActorItemDrop *actorDroppedItem = this->GetActorPtr<ActorItemDrop>();
|
||||
actorDroppedItem->mUnk_E0 = ref;
|
||||
actorDroppedItem->SetState(ActorItemDropState_4);
|
||||
}
|
||||
|
||||
return Actor_C4::vfunc_00(ref, param_2);
|
||||
return Actor_C4::vfunc_00(ref, param2);
|
||||
}
|
||||
|
||||
void ActorItemDrop_C4::vfunc_04() {
|
||||
@@ -547,9 +547,9 @@ void ActorItemDrop_C4::vfunc_04() {
|
||||
Actor_C4::vfunc_04();
|
||||
}
|
||||
|
||||
void ActorItemDrop_C4::vfunc_0C(unk32 param_1) {
|
||||
void ActorItemDrop_C4::vfunc_0C(unk32 param1) {
|
||||
this->GetActorPtr<ActorItemDrop>()->SetState(ActorItemDropState_1);
|
||||
Actor_C4::vfunc_0C(param_1);
|
||||
Actor_C4::vfunc_0C(param1);
|
||||
}
|
||||
|
||||
void ActorItemDrop_C4::vfunc_08() {
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
extern "C" void func_01ffedac(u16 *, VecFx32 *);
|
||||
extern "C" void func_01fff05c(u32 *, UnkStruct_027e0cd8_0c *, VecFx32 *);
|
||||
extern "C" unk32 func_02017158();
|
||||
extern "C" void func_ov000_02098838();
|
||||
extern "C" void func_ov017_020bf99c();
|
||||
extern "C" void func_ov031_0210acd4(u8);
|
||||
extern "C" unk32 func_ov031_0210af50(u16, unk32 *);
|
||||
@@ -639,7 +638,7 @@ void ActorRupee::vfunc_20() {
|
||||
}
|
||||
|
||||
void ActorRupee::func_ov031_020e9b88() {
|
||||
func_ov000_02098838();
|
||||
this->func_ov000_02098838();
|
||||
VecFx32_Add(&this->mPos, &this->mVel, &this->mPos);
|
||||
|
||||
if (this->mUnk_5C.mInitialPos.y < this->mPos.y + this->mVel.y) {
|
||||
@@ -655,7 +654,7 @@ void ActorRupee::func_ov031_020e9b88() {
|
||||
}
|
||||
|
||||
void ActorRupee::func_ov031_020e9be8() {
|
||||
func_ov000_02098838();
|
||||
this->func_ov000_02098838();
|
||||
VecFx32_Add(&this->mPos, &this->mVel, &this->mPos);
|
||||
|
||||
if (this->mVel.y < 0) {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,74 +0,0 @@
|
||||
//! TODO: This file was generated automatically and might contain errors
|
||||
|
||||
#include "Actor/ActorUnkAROW.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
|
||||
DECL_PROFILE(ActorProfileUnkAROW);
|
||||
|
||||
Actor *ActorProfileUnkAROW::Create() {
|
||||
return new(HeapIndex_2) ActorUnkAROW();
|
||||
}
|
||||
|
||||
ActorProfileUnkAROW::ActorProfileUnkAROW() :
|
||||
ActorProfile(ActorId_AROW) {}
|
||||
|
||||
ActorUnkAROW::ActorUnkAROW() {}
|
||||
|
||||
void ActorUnkAROW::func_ov031_020f1404(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f1608(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f173c(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f1868(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f1874(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f1878(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f18bc(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f1958(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f195c(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f1a64(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f1b04(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f1c24(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f1c7c(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f1dd4(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f1e3c(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f1f54(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f2010(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f206c(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f20bc(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f2134(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f2160(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f21dc(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f2214(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f2270(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f2280(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f229c(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f22d4(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f2310(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f2654(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f2794(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f28ac(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f2b8c(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f2bbc(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f2bec(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f2c08(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f2cac(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f2ef0(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f2f5c(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f2f9c(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f3000(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f311c(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f3210(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f3258(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f3288(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f32c4(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f32e0(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f3304(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f3310(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f33bc(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f370c(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f374c(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f38b0(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f3c38(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f3d04(void) {}
|
||||
void ActorUnkAROW::func_ov031_020f3d4c(void) {}
|
||||
|
||||
ActorUnkAROW::~ActorUnkAROW() {}
|
||||
ActorProfileUnkAROW::~ActorProfileUnkAROW() {}
|
||||
@@ -12,7 +12,7 @@ ActorProfileUnkSWON::ActorProfileUnkSWON() :
|
||||
|
||||
ActorUnkSWON::ActorUnkSWON() {}
|
||||
|
||||
bool ActorUnkSWON::vfunc_18(unk32 param_1) {
|
||||
bool ActorUnkSWON::vfunc_18(unk32 param1) {
|
||||
switch (this->mUnk_5C.mParams[0]) {
|
||||
case 0x0:
|
||||
if (!this->func_ov000_02098a60(0x1)) {
|
||||
|
||||
@@ -102,7 +102,9 @@ void ActorUnkMRD2::func_ov075_0215b4dc(void) {}
|
||||
void ActorUnkMRD2::func_ov075_0215b578(void) {}
|
||||
void ActorUnkMRD2::func_ov075_0215b914(void) {}
|
||||
void ActorUnkMRD2::func_ov075_0215bbe8(void) {}
|
||||
void ActorUnkMRD2::func_ov075_0215bbf0(void) {}
|
||||
bool ActorUnkMRD2::func_ov075_0215bbf0(ActorRef *param1, unk32 *param2) {
|
||||
return false;
|
||||
}
|
||||
void ActorUnkMRD2::func_ov075_0215bc50(void) {}
|
||||
void ActorUnkMRD2::func_ov075_0215bd40(void) {}
|
||||
void ActorUnkMRD2::func_ov075_0215bd50(void) {}
|
||||
|
||||
@@ -49,7 +49,7 @@ void ActorUnkIWTS::func_ov084_02152cd8(void) {}
|
||||
void ActorUnkIWTS::func_ov084_02152cec(void) {}
|
||||
void ActorUnkIWTS::func_ov084_02152d10(void) {}
|
||||
void ActorUnkIWTS::func_ov084_02153018(void) {}
|
||||
void ActorUnkIWTS::func_ov084_02153064(void) {}
|
||||
bool ActorUnkIWTS::func_ov084_02153064(ActorRef *, Mat4x3p **) {}
|
||||
void ActorUnkIWTS::func_ov084_021530d4(void) {}
|
||||
void ActorUnkIWTS::func_ov084_0215315c(void) {}
|
||||
void ActorUnkIWTS::func_ov084_02153194(void) {}
|
||||
|
||||
Reference in New Issue
Block a user