mirror of
https://github.com/zeldaret/st
synced 2026-08-25 23:53:59 -04:00
Decompile overlay 101 (#118)
* delink the overlay * ItemManager_101 OK * UnkStruct_027e0ce0_40_101 OK * PlayerLinkActor_A0_1C_101 OK * UnkStruct_027e09a4_54_101 OK * UnkStruct_027e0cd8_0C_101 OK and MapObjectProfile_Derived6_101 OK
This commit is contained in:
@@ -38,7 +38,8 @@ ModelRender_Derived4::ModelRender_Derived4(PlayerCharacter character, unk32 para
|
||||
this->func_ov000_0208c058(this->mUnk_7C[1]);
|
||||
}
|
||||
|
||||
PlayerActorBase::PlayerActorBase(PlayerCharacter character, unk32 param2, unk32 param3, UnkStruct_027e0ce0_40 *param4) :
|
||||
PlayerActorBase::PlayerActorBase(PlayerCharacter character, unk32 param2, ItemManager *pItemMgr,
|
||||
UnkStruct_027e0ce0_40 *param4) :
|
||||
mPos(0, 0, 0),
|
||||
mPrevPos(0, 0, 0),
|
||||
mVel(0, 0, 0),
|
||||
@@ -52,7 +53,7 @@ PlayerActorBase::PlayerActorBase(PlayerCharacter character, unk32 param2, unk32
|
||||
mCharacter(character),
|
||||
mUnk_4C(param2),
|
||||
mUnk_50(param2, this->mUnk_44),
|
||||
mUnk_54(param3),
|
||||
mUnk_54(pItemMgr),
|
||||
mUnk_58(param4) {
|
||||
this->mUnk_5C.mUnk_04 = 0;
|
||||
this->mUnk_5C.mUnk_10 = &this->mUnk_5C.mUnk_08;
|
||||
|
||||
@@ -5,12 +5,13 @@
|
||||
#include "Unknown/UnkStruct_027e0cd8.hpp"
|
||||
#include "Unknown/UnkStruct_027e0d34.hpp"
|
||||
|
||||
PlayerLinkActor::PlayerLinkActor(unk32 param1, unk32 param2, UnkStruct_027e0ce0_40 *param3, bool *param4) :
|
||||
PlayerActorBase(PlayerCharacter_Link, param1, param2, param3),
|
||||
PlayerLinkActor::PlayerLinkActor(unk32 param1, ItemManager *pItemMgr, UnkStruct_027e0ce0_40 *param3,
|
||||
UnkStruct_027e0ce0_40_150 *param4) :
|
||||
PlayerActorBase(PlayerCharacter_Link, param1, pItemMgr, param3),
|
||||
mUnk_094(param4),
|
||||
mUnk_098(0),
|
||||
mUnk_09C(new(HeapIndex_1) PlayerLinkActor_9C(param3, *(u32 *) &this->mUnk_50, this->mCharacter)),
|
||||
mUnk_0A0(new(HeapIndex_1) PlayerLinkActor_A0(param2, param3, this, this->mUnk_09C)),
|
||||
mUnk_0A0(new(HeapIndex_1) PlayerLinkActor_A0(pItemMgr, param3, this, this->mUnk_09C)),
|
||||
mUnk_0A4(this, this->mUnk_0A0),
|
||||
mUnk_0B0(-1),
|
||||
mUnk_0B4(false),
|
||||
@@ -45,7 +46,7 @@ PlayerLinkActor::~PlayerLinkActor() {
|
||||
delete this->mUnk_09C;
|
||||
}
|
||||
|
||||
void PlayerLinkActor::func_ov001_020bcb60(unk32 param1) {
|
||||
void PlayerLinkActor::func_ov001_020bcb60(UnkStruct_027e0ce0_40_328 *param1) {
|
||||
this->mUnk_098 = param1;
|
||||
this->mUnk_09C->mUnk_0F4 = param1;
|
||||
}
|
||||
@@ -79,8 +80,8 @@ void PlayerLinkActor::func_ov001_020bcbd0(VecFx32 *pVec) {
|
||||
this->mUnk_0A0->func_ov000_0209378c());
|
||||
|
||||
bool uVar1 = false;
|
||||
if (this->mUnk_094 != 0) {
|
||||
uVar1 = *this->mUnk_094;
|
||||
if (this->mUnk_094 != NULL) {
|
||||
uVar1 = this->mUnk_094->mUnk_00;
|
||||
}
|
||||
|
||||
this->mUnk_0A0->func_ov001_020bd388(uVar1, this->mUnk_0B6);
|
||||
|
||||
@@ -24,39 +24,11 @@ extern int data_ov089_02171540;
|
||||
|
||||
static UnkStruct_ov001_020c40f4 data_ov001_020c40f4[0x40];
|
||||
|
||||
struct UnkStruct_ov001_020c2a40 {
|
||||
/* 00 */ unk32 unk_00;
|
||||
/* 04 */ unk32 unk_04;
|
||||
/* 08 */ unk16 unk_08;
|
||||
/* 0A */ u8 unk_0A;
|
||||
/* 0B */ u8 unk_0B;
|
||||
/* 0C */ u8 unk_0C;
|
||||
/* 0D */ u8 unk_0D;
|
||||
/* 0E */ u8 unk_0E;
|
||||
/* 0F */ u8 unk_0F;
|
||||
/* 10 */ u8 unk_10;
|
||||
/* 11 */ STRUCT_PAD(0x11, 0x14); // pad?
|
||||
/* 14 */
|
||||
|
||||
UnkStruct_ov001_020c2a40(unk32 param1, unk32 param2, unk16 param3, unk8 param4, unk8 param5, unk8 param6, unk8 param7) {
|
||||
this->unk_00 = param1;
|
||||
this->unk_04 = param2;
|
||||
this->unk_08 = param3;
|
||||
this->unk_0A = param4;
|
||||
this->unk_0B = param5;
|
||||
this->unk_0C = param6;
|
||||
this->unk_0D = param7;
|
||||
this->unk_0E = 0x2B;
|
||||
this->unk_0F = 0;
|
||||
this->unk_10 = 0;
|
||||
}
|
||||
};
|
||||
|
||||
static const UnkStruct_ov001_020c2a40 data_ov001_020c2a40[] = {
|
||||
UnkStruct_ov001_020c2a40(0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C),
|
||||
UnkStruct_ov001_020c2a40(0x29, 0x00, 0x00, 0x0B, 0x01, 0x00, 0x3D),
|
||||
UnkStruct_ov001_020c2a40(0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E),
|
||||
UnkStruct_ov001_020c2a40(0x04, 0x00, 0x00, 0x00, 0xFA, 0x00, 0x3F),
|
||||
static const EntranceInfo data_ov001_020c2a40[] = {
|
||||
EntranceInfo(SceneIndex_f_bridge, 0x00, 0x00, 0, 0, false, 0x3C),
|
||||
EntranceInfo(SceneIndex_f_htown, 0x00, 0x00, 11, 1, false, 0x3D),
|
||||
EntranceInfo(SceneIndex_f_tetsuo, 0x00, 0x00, 0, 0, false, 0x3E),
|
||||
EntranceInfo(SceneIndex_t_area0, 0x00, 0x00, 0, 0xFA, false, 0x3F),
|
||||
};
|
||||
|
||||
// https://decomp.me/scratch/JcRNn
|
||||
@@ -356,8 +328,8 @@ void UnkStruct_027e0cd8_0C_Base::func_ov001_020b8c30(const EntranceInfo ¶m1)
|
||||
this->mUnk_154.push_back(param1);
|
||||
}
|
||||
|
||||
void *UnkStruct_027e0cd8_0C_Base::func_ov001_020b8c80(unk32 param1) {
|
||||
return (void *) &data_ov001_020c2a40[param1 - 0x3C];
|
||||
const EntranceInfo *UnkStruct_027e0cd8_0C_Base::func_ov001_020b8c80(unk32 param1) {
|
||||
return &data_ov001_020c2a40[param1 - 0x3C];
|
||||
}
|
||||
|
||||
void UnkStruct_027e0cd8_0C_Base::func_ov001_020b8c90(ZMBSectionCMPT *pCMPT) {
|
||||
|
||||
@@ -37,7 +37,7 @@ UnkStruct_027e0ce0 *UnkStruct_027e0ce0::Create() {
|
||||
UnkStruct_027e0ce0::UnkStruct_027e0ce0() :
|
||||
mUnk_02(false),
|
||||
mUnk_03(false),
|
||||
mUnk_04(NULL),
|
||||
mEquippedItem(ItemFlag_Nothing),
|
||||
mUnk_08(false),
|
||||
mUnk_0C(this),
|
||||
mUnk_1C(new(HeapIndex_1) UnkStruct_027e0ce0_1C()),
|
||||
@@ -100,9 +100,9 @@ void UnkStruct_027e0ce0::func_ov001_020bc524(bool param1) {
|
||||
this->mUnk_24->func_ov021_020eaa08(this->mUnk_20);
|
||||
} else {
|
||||
if (data_027e09a4->IsTrain()) {
|
||||
this->mUnk_03 = false;
|
||||
this->mUnk_04 = NULL;
|
||||
this->mUnk_38 = &data_027e0478.train;
|
||||
this->mUnk_03 = false;
|
||||
this->mEquippedItem = ItemFlag_Nothing;
|
||||
this->mUnk_38 = &data_027e0478.train;
|
||||
new(this->mUnk_38) UnkStruct_027e0ce0_38(0);
|
||||
this->mUnk_38->func_ov026_020dc8f0();
|
||||
} else {
|
||||
@@ -111,7 +111,7 @@ void UnkStruct_027e0ce0::func_ov001_020bc524(bool param1) {
|
||||
this->func_ov000_0208a2c4(0x0C, 0);
|
||||
}
|
||||
|
||||
this->mUnk_04 = NULL;
|
||||
this->mEquippedItem = ItemFlag_Nothing;
|
||||
} else if (this->mHealth == 0) {
|
||||
this->func_ov000_0208a2c4(0x01, 0);
|
||||
}
|
||||
@@ -120,7 +120,7 @@ void UnkStruct_027e0ce0::func_ov001_020bc524(bool param1) {
|
||||
this->mUnk_3C = new(HeapIndex_1) UnkStruct_027e0ce0_3C();
|
||||
} else {
|
||||
this->mUnk_40 = &data_027e0478.land;
|
||||
new(this->mUnk_40) UnkStruct_027e0ce0_40(param1, this->mUnk_20, &this->mUnk_04, this->mUnk_28);
|
||||
new(this->mUnk_40) UnkStruct_027e0ce0_40(param1, this->mUnk_20, &this->mEquippedItem, this->mUnk_28);
|
||||
uVar3 = this->mUnk_40;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user