mirror of
https://github.com/zeldaret/st
synced 2026-07-05 21:39:16 -04:00
Decompiling MLCK actor (#99)
* feat: begin decompiling mlck actor * feat: improvements * feat: save changes as a commit not as a stash eheh * feat: improvements * feat: better match for constructor * style: remove dead code * refactor: switch to fields to bool and use != 0 for unk32
This commit is contained in:
@@ -962,7 +962,7 @@ func_ov000_0206f70c kind:function(arm,size=0x48) addr:0x0206f70c
|
||||
func_ov000_0206f754 kind:function(arm,size=0x24) addr:0x0206f754
|
||||
_ZN24UnkStruct_ov000_020b52b419func_ov000_0206f778Eiii kind:function(arm,size=0x1f0) addr:0x0206f778
|
||||
func_ov000_0206f968 kind:function(arm,size=0x18) addr:0x0206f968
|
||||
func_ov000_0206f980 kind:function(arm,size=0x14) addr:0x0206f980
|
||||
_ZN24UnkStruct_ov000_020b52e819func_ov000_0206f980Ei kind:function(arm,size=0x14) addr:0x0206f980
|
||||
func_ov000_0206f994 kind:function(arm,size=0xc) addr:0x0206f994
|
||||
func_ov000_0206f9a0 kind:function(arm,size=0x128) addr:0x0206f9a0
|
||||
func_ov000_0206fac8 kind:function(arm,size=0x1c) addr:0x0206fac8
|
||||
|
||||
@@ -168,6 +168,7 @@ src/031_Land/Actor/ActorUnkMLCK.cpp:
|
||||
.text start:0x020fab5c end:0x020fb2ac
|
||||
.init start:0x02111988 end:0x021119fc
|
||||
.ctor start:0x02112800 end:0x02112804
|
||||
.data start:0x02114d28 end:0x02114e1c
|
||||
.bss start:0x02116f9c end:0x02116fe8
|
||||
|
||||
src/031_Land/Actor/ActorUnkCLLT.cpp:
|
||||
|
||||
@@ -3772,7 +3772,7 @@ from:0x020fab98 kind:arm_call to:0x0209767c module:overlay(0)
|
||||
from:0x020fabb0 kind:load to:0x02114d4c add:0x8 module:overlay(31)
|
||||
from:0x020fabbc kind:arm_call to:0x02098388 module:overlay(0)
|
||||
from:0x020fabc4 kind:arm_call to:0x02061648 module:overlay(0)
|
||||
from:0x020fac58 kind:load to:0x02114d3c module:overlay(31)
|
||||
from:0x020fac58 kind:load to:0x02114d34 module:overlay(31) add:0x8
|
||||
from:0x020fac5c kind:load to:0x02114d70 add:0x8 module:overlay(31)
|
||||
from:0x020fac60 kind:load to:0x02114dec add:0x8 module:overlay(31)
|
||||
from:0x020fac9c kind:arm_call to:0x01fff350 module:itcm
|
||||
|
||||
@@ -73,9 +73,9 @@ func_ov031_020d98bc kind:function(arm,size=0x1c) addr:0x020d98bc
|
||||
func_ov031_020d98d8 kind:function(arm,size=0x1c) addr:0x020d98d8
|
||||
func_ov031_020d98f4 kind:function(arm,size=0x2c) addr:0x020d98f4
|
||||
func_ov031_020d9920 kind:function(arm,size=0x2c) addr:0x020d9920
|
||||
func_ov031_020d994c kind:function(arm,size=0x10) addr:0x020d994c
|
||||
_ZN18UnkStruct_027e0d3419func_ov031_020d994cEv kind:function(arm,size=0x10) addr:0x020d994c
|
||||
func_ov031_020d995c kind:function(arm,size=0x10) addr:0x020d995c
|
||||
func_ov031_020d996c kind:function(arm,size=0x10) addr:0x020d996c
|
||||
_ZN18UnkStruct_027e0d3419func_ov031_020d996cEv kind:function(arm,size=0x10) addr:0x020d996c
|
||||
func_ov031_020d997c kind:function(arm,size=0x30) addr:0x020d997c
|
||||
func_ov031_020d99ac kind:function(arm,size=0x10) addr:0x020d99ac
|
||||
func_ov031_020d99bc kind:function(arm,size=0x10) addr:0x020d99bc
|
||||
@@ -1205,24 +1205,24 @@ _ZN19ActorProfileUnkMLCK10GetProfileEv kind:function(arm,size=0xc) addr:0x020fab
|
||||
_ZN19ActorProfileUnkMLCK6CreateEv kind:function(arm,size=0x24) addr:0x020fab68
|
||||
_ZN19ActorProfileUnkMLCKC1Ev kind:function(arm,size=0x28) addr:0x020fab8c
|
||||
_ZN12ActorUnkMLCKC1Ev kind:function(arm,size=0xb0) addr:0x020fabb4
|
||||
_ZN12ActorUnkMLCK19func_ov031_020fac64Ev kind:function(arm,size=0xd8) addr:0x020fac64
|
||||
_ZN12ActorUnkMLCK19func_ov031_020fad3cEv kind:function(arm,size=0x4c) addr:0x020fad3c
|
||||
_ZN12ActorUnkMLCK19func_ov031_020fad88Ev kind:function(arm,size=0x20) addr:0x020fad88
|
||||
_ZN12ActorUnkMLCK19func_ov031_020fada8Ev kind:function(arm,size=0xc) addr:0x020fada8
|
||||
_ZN12ActorUnkMLCK19func_ov031_020fadb4Ev kind:function(arm,size=0x54) addr:0x020fadb4
|
||||
_ZN12ActorUnkMLCK19func_ov031_020fae08Ev kind:function(arm,size=0x18) addr:0x020fae08
|
||||
_ZN12ActorUnkMLCK19func_ov031_020fae20Ev kind:function(arm,size=0x90) addr:0x020fae20
|
||||
_ZN12ActorUnkMLCK8vfunc_18Ei kind:function(arm,size=0xd8) addr:0x020fac64
|
||||
_ZN12ActorUnkMLCK8vfunc_64Ei kind:function(arm,size=0x4c) addr:0x020fad3c
|
||||
_ZN12ActorUnkMLCK8vfunc_54Eii kind:function(arm,size=0x20) addr:0x020fad88
|
||||
_ZN12ActorUnkMLCK8vfunc_58Ev kind:function(arm,size=0xc) addr:0x020fada8
|
||||
_ZN12ActorUnkMLCK8vfunc_5CEv kind:function(arm,size=0x54) addr:0x020fadb4
|
||||
_ZN12ActorUnkMLCK8vfunc_60Ev kind:function(arm,size=0x18) addr:0x020fae08
|
||||
_ZN12ActorUnkMLCK8vfunc_68Ev kind:function(arm,size=0x90) addr:0x020fae20
|
||||
_ZN12ActorUnkMLCK19func_ov031_020faeb0Ev kind:function(arm,size=0x4) addr:0x020faeb0
|
||||
_ZN12ActorUnkMLCK19func_ov031_020faeb4Ev kind:function(arm,size=0x50) addr:0x020faeb4
|
||||
_ZN12ActorUnkMLCK19func_ov031_020faf04Ev kind:function(arm,size=0x20) addr:0x020faf04
|
||||
_ZN12ActorUnkMLCK8vfunc_6CEv kind:function(arm,size=0x50) addr:0x020faeb4
|
||||
_ZN12ActorUnkMLCK8vfunc_70Ev kind:function(arm,size=0x20) addr:0x020faf04
|
||||
_ZN12ActorUnkMLCK19func_ov031_020faf24Ev kind:function(arm,size=0x1e0) addr:0x020faf24
|
||||
_ZN12ActorUnkMLCK19func_ov031_020fb104Ev kind:function(arm,size=0x18) addr:0x020fb104
|
||||
_ZN12ActorUnkMLCK19func_ov031_020fb11cEv kind:function(arm,size=0x68) addr:0x020fb11c
|
||||
_ZN12ActorUnkMLCK19func_ov031_020fb184Ev kind:function(arm,size=0x2c) addr:0x020fb184
|
||||
_ZN12ActorUnkMLCK19func_ov031_020fb1b0Ev kind:function(arm,size=0x1c) addr:0x020fb1b0
|
||||
_ZN12ActorUnkMLCK19func_ov031_020fb1ccEv kind:function(arm,size=0x1c) addr:0x020fb1cc
|
||||
_ZN12ActorUnkMLCK19func_ov031_020fb1e8Ev kind:function(arm,size=0x1c) addr:0x020fb1e8
|
||||
_ZN12ActorUnkMLCK19func_ov031_020fb204Ev kind:function(arm,size=0x4c) addr:0x020fb204
|
||||
_ZN18ActorUnkMLCK_B4_0019func_ov031_020fb184Ev kind:function(arm,size=0x2c) addr:0x020fb184
|
||||
_ZN15ActorUnkMLCK_D89vfunc2_00Ev kind:function(arm,size=0x1c) addr:0x020fb1b0
|
||||
_ZN15ActorUnkMLCK_D89vfunc2_04Ev kind:function(arm,size=0x1c) addr:0x020fb1cc
|
||||
_ZN12ActorUnkMLCK19func_ov031_020fb1e8EP18ActorUnkMLCK_B4_00 kind:function(arm,size=0x1c) addr:0x020fb1e8
|
||||
_ZN12ActorUnkMLCK19func_ov031_020fb204Ei kind:function(arm,size=0x4c) addr:0x020fb204
|
||||
_ZN12ActorUnkMLCKD0Ev kind:function(arm,size=0x28) addr:0x020fb250
|
||||
_ZN12ActorUnkMLCKD2Ev kind:function(arm,size=0x20) addr:0x020fb278
|
||||
_ZN19ActorProfileUnkMLCKD1Ev kind:function(arm,size=0x14) addr:0x020fb298
|
||||
@@ -2401,10 +2401,10 @@ _ZTV25ActorProfileRedPotionDrop kind:data(any) addr:0x02114c80
|
||||
_ZTV20ActorProfileBombDrop kind:data(any) addr:0x02114ca4
|
||||
_ZTV13ActorItemDrop kind:data(any) addr:0x02114cc8
|
||||
data_ov031_02114d28 kind:data(any) addr:0x02114d28
|
||||
data_ov031_02114d3c kind:data(any) addr:0x02114d3c
|
||||
_ZTV19data_ov031_02114d4c kind:data(any) addr:0x02114d4c
|
||||
_ZTV19data_ov031_02114d70 kind:data(any) addr:0x02114d70
|
||||
_ZTV19data_ov031_02114dec kind:data(any) addr:0x02114dec
|
||||
_ZTV15ActorUnkMLCK_D8 kind:data(any) addr:0x02114d34
|
||||
_ZTV19ActorProfileUnkMLCK kind:data(any) addr:0x02114d4c
|
||||
_ZTV12ActorUnkMLCK kind:data(any) addr:0x02114d70
|
||||
_ZTV15ActorUnkMLCK_94 kind:data(any) addr:0x02114dec
|
||||
_ZTV19data_ov031_02114e1c kind:data(any) addr:0x02114e1c
|
||||
_ZTV19data_ov031_02114e40 kind:data(any) addr:0x02114e40
|
||||
_ZTV19data_ov031_02114eac kind:data(any) addr:0x02114eac
|
||||
|
||||
@@ -1204,24 +1204,24 @@ _ZN19ActorProfileUnkMLCK10GetProfileEv kind:function(arm,size=0xc) addr:0x020fc5
|
||||
_ZN19ActorProfileUnkMLCK6CreateEv kind:function(arm,size=0x24) addr:0x020fc5c0
|
||||
_ZN19ActorProfileUnkMLCKC1Ev kind:function(arm,size=0x28) addr:0x020fc5e4
|
||||
_ZN12ActorUnkMLCKC1Ev kind:function(arm,size=0xb0) addr:0x020fc60c
|
||||
_ZN12ActorUnkMLCK19func_ov031_020fac64Ev kind:function(arm,size=0xd8) addr:0x020fc6bc
|
||||
_ZN12ActorUnkMLCK19func_ov031_020fad3cEv kind:function(arm,size=0x4c) addr:0x020fc794
|
||||
_ZN12ActorUnkMLCK19func_ov031_020fad88Ev kind:function(arm,size=0x20) addr:0x020fc7e0
|
||||
_ZN12ActorUnkMLCK19func_ov031_020fada8Ev kind:function(arm,size=0xc) addr:0x020fc800
|
||||
_ZN12ActorUnkMLCK19func_ov031_020fadb4Ev kind:function(arm,size=0x54) addr:0x020fc80c
|
||||
_ZN12ActorUnkMLCK19func_ov031_020fae08Ev kind:function(arm,size=0x18) addr:0x020fc860
|
||||
_ZN12ActorUnkMLCK19func_ov031_020fae20Ev kind:function(arm,size=0x90) addr:0x020fc878
|
||||
_ZN12ActorUnkMLCK8vfunc_18Ei kind:function(arm,size=0xd8) addr:0x020fc6bc
|
||||
_ZN12ActorUnkMLCK8vfunc_64Ei kind:function(arm,size=0x4c) addr:0x020fc794
|
||||
_ZN12ActorUnkMLCK8vfunc_54Eii kind:function(arm,size=0x20) addr:0x020fc7e0
|
||||
_ZN12ActorUnkMLCK8vfunc_58Ev kind:function(arm,size=0xc) addr:0x020fc800
|
||||
_ZN12ActorUnkMLCK8vfunc_5CEv kind:function(arm,size=0x54) addr:0x020fc80c
|
||||
_ZN12ActorUnkMLCK8vfunc_60Ev kind:function(arm,size=0x18) addr:0x020fc860
|
||||
_ZN12ActorUnkMLCK8vfunc_68Ev kind:function(arm,size=0x90) addr:0x020fc878
|
||||
_ZN12ActorUnkMLCK19func_ov031_020faeb0Ev kind:function(arm,size=0x4) addr:0x020fc908
|
||||
_ZN12ActorUnkMLCK19func_ov031_020faeb4Ev kind:function(arm,size=0x50) addr:0x020fc90c
|
||||
_ZN12ActorUnkMLCK19func_ov031_020faf04Ev kind:function(arm,size=0x20) addr:0x020fc95c
|
||||
_ZN12ActorUnkMLCK8vfunc_6CEv kind:function(arm,size=0x50) addr:0x020fc90c
|
||||
_ZN12ActorUnkMLCK8vfunc_70Ev kind:function(arm,size=0x20) addr:0x020fc95c
|
||||
_ZN12ActorUnkMLCK19func_ov031_020faf24Ev kind:function(arm,size=0x1e0) addr:0x020fc97c
|
||||
_ZN12ActorUnkMLCK19func_ov031_020fb104Ev kind:function(arm,size=0x18) addr:0x020fcb5c
|
||||
_ZN12ActorUnkMLCK19func_ov031_020fb11cEv kind:function(arm,size=0x68) addr:0x020fcb74
|
||||
_ZN12ActorUnkMLCK19func_ov031_020fb184Ev kind:function(arm,size=0x2c) addr:0x020fcbdc
|
||||
_ZN12ActorUnkMLCK19func_ov031_020fb1b0Ev kind:function(arm,size=0x1c) addr:0x020fcc08
|
||||
_ZN12ActorUnkMLCK19func_ov031_020fb1ccEv kind:function(arm,size=0x1c) addr:0x020fcc24
|
||||
_ZN12ActorUnkMLCK19func_ov031_020fb1e8Ev kind:function(arm,size=0x1c) addr:0x020fcc40
|
||||
_ZN12ActorUnkMLCK19func_ov031_020fb204Ev kind:function(arm,size=0x4c) addr:0x020fcc5c
|
||||
_ZN18ActorUnkMLCK_B4_0019func_ov031_020fb184Ev kind:function(arm,size=0x2c) addr:0x020fcbdc
|
||||
_ZN15ActorUnkMLCK_D89vfunc2_00Ev kind:function(arm,size=0x1c) addr:0x020fcc08
|
||||
_ZN15ActorUnkMLCK_D89vfunc2_04Ev kind:function(arm,size=0x1c) addr:0x020fcc24
|
||||
_ZN12ActorUnkMLCK19func_ov031_020fb1e8EP18ActorUnkMLCK_B4_00 kind:function(arm,size=0x1c) addr:0x020fcc40
|
||||
_ZN12ActorUnkMLCK19func_ov031_020fb204Ei kind:function(arm,size=0x4c) addr:0x020fcc5c
|
||||
_ZN12ActorUnkMLCKD0Ev kind:function(arm,size=0x28) addr:0x020fcca8
|
||||
_ZN12ActorUnkMLCKD2Ev kind:function(arm,size=0x20) addr:0x020fccd0
|
||||
_ZN19ActorProfileUnkMLCKD1Ev kind:function(arm,size=0x14) addr:0x020fccf0
|
||||
|
||||
+107
-28
@@ -1,49 +1,128 @@
|
||||
//! TODO: This file was generated automatically and might contain errors
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "Actor/Actor.hpp"
|
||||
#include "Actor/ActorProfile.hpp"
|
||||
#include "FileSelect/FileSelectUnkDraw.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class ActorUnkMLCK_C4 : public Actor_C4 {
|
||||
public:
|
||||
ActorUnkMLCK_C4(Actor *param1);
|
||||
class ActorUnkMLCK;
|
||||
|
||||
/* 00 */ virtual bool vfunc_00(ActorRef ref, unk32 param2) override;
|
||||
/* 04 */ virtual void vfunc_04() override;
|
||||
/* 08 */ virtual void vfunc_08() override;
|
||||
/* 0C */ virtual void vfunc_0C(unk32 param1) override;
|
||||
class ActorUnkMLCK_94 : FileSelectManager_UnkDrawBase {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 0C */
|
||||
|
||||
// /* 00 */ virtual ~ActorUnkMLCK_94() override; // func_ov031_020fb2fc & func_ov031_020fb2ac
|
||||
/* 10 */ virtual void vfunc_10(unk32 param1, unk32 param2) override; // func_ov031_020fb2ec
|
||||
/* 1C */ virtual void vfunc_1C(unk32 param1) override; // func_ov031_020fb2dc
|
||||
/* 20 */ virtual void vfunc_20(unk32 param1, unk32 param2) override; // func_ov031_020fb2cc
|
||||
/* 24 */ virtual void vfunc_24() override; // func_ov031_020fb2bc
|
||||
};
|
||||
|
||||
class ActorUnkMLCK : public Actor {
|
||||
class ActorUnkMLCK_D8 {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */ bool mUnk_04;
|
||||
/* 05 */ bool mUnk_05;
|
||||
/* 08 */ ActorUnkMLCK *mUnk_08;
|
||||
/* 0C */
|
||||
|
||||
ActorUnkMLCK_D8(ActorUnkMLCK *actor) :
|
||||
mUnk_04(true),
|
||||
mUnk_05(true),
|
||||
mUnk_08(actor) {}
|
||||
|
||||
/* 00 */ virtual void vfunc2_00() override; // func_ov031_020fb1b0
|
||||
/* 04 */ virtual void vfunc2_04() override; // func_ov031_020fb1cc
|
||||
};
|
||||
|
||||
class ActorUnkMLCK_B4_00 {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0C */ u16 mUnk_0C;
|
||||
/* 0E */ u16 mUnk_0E;
|
||||
/* 10 */ u16 mUnk_10;
|
||||
/* 12 */ u16 mUnk_12;
|
||||
/* 14 */
|
||||
|
||||
/* 00 */ virtual void vfunc_00();
|
||||
/* 04 */ virtual bool vfunc_04();
|
||||
/* 08 */ virtual void vfunc_08();
|
||||
|
||||
void func_ov031_020fb184();
|
||||
};
|
||||
|
||||
class ActorUnkMLCK_B4 {
|
||||
public:
|
||||
/* 00 */ ActorUnkMLCK_B4_00 *mUnk_00;
|
||||
/* 04 */
|
||||
};
|
||||
|
||||
class Actor_ov102_02184950 : public Actor {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 94 */
|
||||
|
||||
/* 20 */ virtual void vfunc_20() override; // func_ov102_02184644
|
||||
/* 24 */ virtual void vfunc_24() override; // func_ov102_021847d4
|
||||
|
||||
/* 54 */ virtual void vfunc_54(unk32 param1, unk32 param2) override;
|
||||
/* 58 */ virtual void vfunc_58() override;
|
||||
/* 5C */ virtual void vfunc_5C() override;
|
||||
/* 60 */ virtual void vfunc_60() override;
|
||||
/* 64 */ virtual void vfunc_64(unk32 param1) override;
|
||||
/* 68 */ virtual void vfunc_68() override;
|
||||
/* 6C */ virtual void vfunc_6C() override;
|
||||
/* 70 */ virtual void vfunc_70() override;
|
||||
};
|
||||
|
||||
class ActorUnkMLCK : public Actor_ov102_02184950 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 94 */ ActorUnkMLCK_94 mUnk_94;
|
||||
/* A0 */ ActorUnkMLCK_B4 mUnk_A0[0x5];
|
||||
/* B4 */ ActorUnkMLCK_B4 *mUnk_B4;
|
||||
/* B8 */ unk32 mUnk_B8;
|
||||
/* BC */ unk32 mUnk_BC;
|
||||
/* C0 */ u16 mUnk_C0;
|
||||
/* C2 */ u16 mUnk_C2;
|
||||
/* C4 */ ActorUnkMLCK_B4_00 *mUnk_C4;
|
||||
/* C8 */ unk32 mUnk_C8;
|
||||
/* CC */ unk32 mUnk_CC;
|
||||
/* D0 */ unk16 mUnk_D0;
|
||||
/* D0 */ unk16 mUnk_D2;
|
||||
/* D0 */ unk16 mUnk_D4;
|
||||
/* D0 */ unk16 mUnk_D6;
|
||||
/* D8 */ ActorUnkMLCK_D8 mUnk_D8;
|
||||
/* E4 */ ActorUnkMLCK_D8 mUnk_E4;
|
||||
/* F0 */ bool mUnk_F0;
|
||||
/* F1 */ bool mUnk_F1;
|
||||
/* F2 */ bool mUnk_F2;
|
||||
/* F2 */ bool mUnk_F3;
|
||||
/* F4 */ unk32 mUnk_F4;
|
||||
|
||||
ActorUnkMLCK();
|
||||
|
||||
/* 18 */ virtual bool vfunc_18(unk32 param1) override; // func_ov031_020fac64
|
||||
/* 4C */ virtual ~ActorUnkMLCK() override;
|
||||
/* 54 */ virtual void vfunc_54(unk32 param1, unk32 param2) override; // func_ov031_020fad88
|
||||
/* 58 */ virtual void vfunc_58() override; // func_ov031_020fada8
|
||||
/* 5C */ virtual void vfunc_5C() override; // func_ov031_020fadb4
|
||||
/* 60 */ virtual void vfunc_60() override; // func_ov031_020fae08
|
||||
/* 64 */ virtual void vfunc_64(unk32 param1) override; // func_ov031_020fad3c
|
||||
/* 68 */ virtual void vfunc_68() override; // func_ov031_020fae20
|
||||
/* 6C */ virtual void vfunc_6C() override; // func_ov031_020faeb4
|
||||
/* 70 */ virtual void vfunc_70() override; // func_ov031_020faf04
|
||||
|
||||
void func_ov031_020fac64(void);
|
||||
void func_ov031_020fad3c(void);
|
||||
void func_ov031_020fad88(void);
|
||||
void func_ov031_020fada8(void);
|
||||
void func_ov031_020fadb4(void);
|
||||
void func_ov031_020fae08(void);
|
||||
void func_ov031_020fae20(void);
|
||||
void func_ov031_020faeb0(void);
|
||||
void func_ov031_020faeb4(void);
|
||||
void func_ov031_020faf04(void);
|
||||
void func_ov031_020faf24(void);
|
||||
void func_ov031_020fb104(void);
|
||||
void func_ov031_020fb11c(void);
|
||||
void func_ov031_020fb184(void);
|
||||
void func_ov031_020fb1b0(void);
|
||||
void func_ov031_020fb1cc(void);
|
||||
void func_ov031_020fb1e8(void);
|
||||
void func_ov031_020fb204(void);
|
||||
void func_ov031_020faeb0();
|
||||
void func_ov031_020faf24();
|
||||
void func_ov031_020fb104();
|
||||
void func_ov031_020fb11c();
|
||||
void func_ov031_020fb1e8(ActorUnkMLCK_B4_00 *param1);
|
||||
bool func_ov031_020fb204(unk32 param1);
|
||||
};
|
||||
|
||||
class ActorProfileUnkMLCK : public ActorProfile {
|
||||
|
||||
@@ -636,10 +636,17 @@ public:
|
||||
bool func_ov024_020ca280();
|
||||
};
|
||||
|
||||
class AdventureModeManager_194_0C {
|
||||
public:
|
||||
/* 00 (base) */ STRUCT_PAD(0x00, 0xC4);
|
||||
/* C4 */ u8 mUnk_C4;
|
||||
/* C8 */
|
||||
};
|
||||
|
||||
class AdventureModeManager_194 : public FileSelectManager_UnkDrawBase {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 0C */ unk32 mUnk_0C;
|
||||
/* 0C */ AdventureModeManager_194_0C *mUnk_0C;
|
||||
/* 10 */ STRUCT_PAD(0x10, 0x48);
|
||||
/* 48 */
|
||||
|
||||
@@ -991,7 +998,7 @@ public:
|
||||
void func_ov024_020c6c60();
|
||||
void func_ov024_020c6cd4();
|
||||
bool func_ov024_020c6ce4();
|
||||
unk32 func_ov024_020c6d04();
|
||||
AdventureModeManager_194_0C *func_ov024_020c6d04();
|
||||
void func_ov024_020c6d10();
|
||||
void func_ov024_020c6d20(unk32 param1);
|
||||
void func_ov024_020c6d2c(unk32 param1);
|
||||
|
||||
@@ -17,9 +17,12 @@ public:
|
||||
UnkStruct_027e0d34();
|
||||
~UnkStruct_027e0d34();
|
||||
|
||||
// overlay 31
|
||||
bool func_ov031_020d97e4();
|
||||
bool func_ov031_020d97f4();
|
||||
void func_ov031_020d9844();
|
||||
void func_ov031_020d994c();
|
||||
void func_ov031_020d996c();
|
||||
bool TryItemGive(ItemId itemId);
|
||||
};
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
#include "Actor/ActorUnkMLCK.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
@@ -15,6 +16,9 @@ public:
|
||||
|
||||
UnkStruct_ov000_020b52e8();
|
||||
~UnkStruct_ov000_020b52e8();
|
||||
|
||||
// overlay 0
|
||||
ActorUnkMLCK_B4_00 *func_ov000_0206f980(unk32 param1);
|
||||
};
|
||||
|
||||
extern UnkStruct_ov000_020b52e8 data_ov000_020b52e8;
|
||||
|
||||
@@ -889,7 +889,7 @@ bool AdventureModeManager::func_ov024_020c6ce4() {
|
||||
return false;
|
||||
}
|
||||
|
||||
unk32 AdventureModeManager::func_ov024_020c6d04() {
|
||||
AdventureModeManager_194_0C *AdventureModeManager::func_ov024_020c6d04() {
|
||||
return this->mUnk_194->mUnk_0C;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,17 @@
|
||||
//! TODO: This file was generated automatically and might contain errors
|
||||
|
||||
#include "Actor/ActorUnkMLCK.hpp"
|
||||
|
||||
#include "Actor/ActorManager.hpp"
|
||||
#include "MainGame/AdventureMode.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/UnkStruct_0204a088.hpp"
|
||||
#include "Unknown/UnkStruct_027e09b8.hpp"
|
||||
#include "Unknown/UnkStruct_027e0ce0.hpp"
|
||||
#include "Unknown/UnkStruct_027e0d34.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b51b8.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b52e8.hpp"
|
||||
|
||||
extern "C" unk32 data_ov031_02110bec[];
|
||||
extern "C" unk32 data_ov031_02112ad4;
|
||||
|
||||
DECL_PROFILE(ActorProfileUnkMLCK);
|
||||
|
||||
@@ -12,26 +22,246 @@ Actor *ActorProfileUnkMLCK::Create() {
|
||||
ActorProfileUnkMLCK::ActorProfileUnkMLCK() :
|
||||
ActorProfile(ActorId_MLCK) {}
|
||||
|
||||
ActorUnkMLCK::ActorUnkMLCK() {}
|
||||
// non-matching
|
||||
ActorUnkMLCK::ActorUnkMLCK() :
|
||||
mUnk_B4(mUnk_A0),
|
||||
mUnk_BC(0x4),
|
||||
mUnk_C0(0x0),
|
||||
mUnk_C2(0x0),
|
||||
mUnk_C4(NULL),
|
||||
mUnk_C8(0x0),
|
||||
mUnk_CC(-1),
|
||||
mUnk_D0(0x0),
|
||||
mUnk_D2(0x0),
|
||||
mUnk_D4(0x0),
|
||||
mUnk_D6(0x0),
|
||||
mUnk_D8(this),
|
||||
mUnk_E4(this),
|
||||
mUnk_F0(false),
|
||||
mUnk_F1(false),
|
||||
mUnk_F2(false),
|
||||
mUnk_F3(true),
|
||||
mUnk_F4(-1) {}
|
||||
|
||||
void ActorUnkMLCK::func_ov031_020fac64(void) {}
|
||||
void ActorUnkMLCK::func_ov031_020fad3c(void) {}
|
||||
void ActorUnkMLCK::func_ov031_020fad88(void) {}
|
||||
void ActorUnkMLCK::func_ov031_020fada8(void) {}
|
||||
void ActorUnkMLCK::func_ov031_020fadb4(void) {}
|
||||
void ActorUnkMLCK::func_ov031_020fae08(void) {}
|
||||
void ActorUnkMLCK::func_ov031_020fae20(void) {}
|
||||
void ActorUnkMLCK::func_ov031_020faeb0(void) {}
|
||||
void ActorUnkMLCK::func_ov031_020faeb4(void) {}
|
||||
void ActorUnkMLCK::func_ov031_020faf04(void) {}
|
||||
void ActorUnkMLCK::func_ov031_020faf24(void) {}
|
||||
void ActorUnkMLCK::func_ov031_020fb104(void) {}
|
||||
void ActorUnkMLCK::func_ov031_020fb11c(void) {}
|
||||
void ActorUnkMLCK::func_ov031_020fb184(void) {}
|
||||
void ActorUnkMLCK::func_ov031_020fb1b0(void) {}
|
||||
void ActorUnkMLCK::func_ov031_020fb1cc(void) {}
|
||||
void ActorUnkMLCK::func_ov031_020fb1e8(void) {}
|
||||
void ActorUnkMLCK::func_ov031_020fb204(void) {}
|
||||
bool ActorUnkMLCK::vfunc_18(unk32 param1) {
|
||||
this->mUnk_B8 = this->mUnk_5C.mParams[0];
|
||||
|
||||
struct {
|
||||
void *ptr;
|
||||
unk32 actorId;
|
||||
unk32 param;
|
||||
} local_9c;
|
||||
local_9c.actorId = ActorId_MLCK;
|
||||
local_9c.param = this->mUnk_5C.mParams[0];
|
||||
local_9c.ptr = &data_ov031_02112ad4;
|
||||
Actor **lppActor = gpActorManager->func_01fff350(&local_9c, gpActorManager->mActorTable);
|
||||
|
||||
if (gpActorManager->mUnk_08 != lppActor) {
|
||||
return false;
|
||||
}
|
||||
void *param = this;
|
||||
if (param != NULL) {
|
||||
param = &this->mUnk_94;
|
||||
}
|
||||
data_0204a088->func_ov000_020611dc(param, 0x9);
|
||||
bool var1 = true;
|
||||
if (!((u16) gpMiscAdvManager->mSongs & (1 << this->mUnk_B8))) {
|
||||
var1 = false;
|
||||
}
|
||||
bool var2;
|
||||
if (var1 == false) {
|
||||
var2 = false;
|
||||
} else {
|
||||
var2 = true;
|
||||
}
|
||||
|
||||
this->mUnk_B4 = this->mUnk_A0;
|
||||
this->mUnk_F2 = var2;
|
||||
this->vfunc_64(0x0);
|
||||
return true;
|
||||
}
|
||||
|
||||
void ActorUnkMLCK::vfunc_54(unk32 param1, unk32 param2) {
|
||||
if (param2 != 0) {
|
||||
return;
|
||||
}
|
||||
this->vfunc_64(0x1);
|
||||
}
|
||||
|
||||
void ActorUnkMLCK::vfunc_58() {
|
||||
this->mUnk_F0 = true;
|
||||
}
|
||||
|
||||
void ActorUnkMLCK::vfunc_5C() {
|
||||
if (!this->mUnk_F1 || !this->mUnk_F0) {
|
||||
return;
|
||||
}
|
||||
data_027e0d34->func_ov031_020d994c();
|
||||
data_ov000_020b51b8.func_ov000_0206d274(data_ov031_02110bec[this->mUnk_B8]);
|
||||
this->mUnk_F0 = false;
|
||||
}
|
||||
|
||||
void ActorUnkMLCK::vfunc_60() {
|
||||
this->vfunc_64(0x0);
|
||||
}
|
||||
|
||||
// non-matching
|
||||
void ActorUnkMLCK::vfunc_64(unk32 param1) {
|
||||
this->mUnk_BC = param1;
|
||||
this->mUnk_C2 = 0xFFFF;
|
||||
this->mUnk_C0 = 0x0;
|
||||
if (param1 != 0x1) {
|
||||
return;
|
||||
}
|
||||
|
||||
this->mUnk_F1 = false;
|
||||
this->mUnk_C4 = data_ov000_020b52e8.func_ov000_0206f980(this->mUnk_B8);
|
||||
this->mUnk_C4->func_ov031_020fb184();
|
||||
}
|
||||
|
||||
void ActorUnkMLCK::vfunc_68() {
|
||||
if (data_0204a088->mUnk_04 != -1 || data_0204a088->mUnk_08 != -1) {
|
||||
return;
|
||||
}
|
||||
if (this->mUnk_F2) {
|
||||
data_ov000_020b51b8.func_ov000_0206d274(0x83);
|
||||
GetAdventureModeManager()->func_ov024_020c6d04()->mUnk_C4 = 0x1;
|
||||
GetAdventureModeManager()->func_ov024_020c6d10();
|
||||
this->vfunc_64(0x2);
|
||||
return;
|
||||
}
|
||||
this->vfunc_6C();
|
||||
}
|
||||
|
||||
void ActorUnkMLCK::func_ov031_020faeb0() {}
|
||||
|
||||
void ActorUnkMLCK::vfunc_6C() {
|
||||
if (this->mUnk_5C.mUnk_1A[0] != 0x0) {
|
||||
this->func_ov000_02098a88(0x0, 0x1);
|
||||
}
|
||||
for (ActorUnkMLCK_B4 *ptr = this->mUnk_A0; ptr != this->mUnk_B4; ++ptr) {
|
||||
ptr->mUnk_00->vfunc_00();
|
||||
}
|
||||
}
|
||||
|
||||
void ActorUnkMLCK::vfunc_70() {
|
||||
if (this->mUnk_5C.mUnk_1A[0] == 0x0) {
|
||||
return;
|
||||
}
|
||||
this->func_ov000_02098a88(0x0, 0x0);
|
||||
}
|
||||
|
||||
// non-matching
|
||||
void ActorUnkMLCK::func_ov031_020faf24() {
|
||||
UnkStackStruct1 stack;
|
||||
if (this->mUnk_C0 != 0xF) {
|
||||
return;
|
||||
}
|
||||
if (!this->mUnk_F2) {
|
||||
return;
|
||||
}
|
||||
bool var1 = this->func_ov031_020fb204(this->mUnk_B8);
|
||||
bool var9 = true;
|
||||
bool var = data_0204a088->func_ov000_020611fc(0x1);
|
||||
|
||||
GetAdventureModeManager()->func_ov024_020c6d10();
|
||||
|
||||
func_ov000_02072fd0(&stack);
|
||||
|
||||
stack.mUnk_00 = 0x1;
|
||||
stack.mUnk_3A = 0x0;
|
||||
stack.mUnk_3B = 0x0;
|
||||
|
||||
VecFx32_Copy(data_027e0ce0->func_01fff148(0x0), &stack.mUnk_0C);
|
||||
|
||||
this->mUnk_F4 = data_027e09b8->func_ov000_02073388(&stack, 0x0);
|
||||
|
||||
this->mUnk_D8.mUnk_04 = true;
|
||||
this->mUnk_D8.mUnk_05 = var1;
|
||||
ActorUnk_vfunc_B0 actor = ActorUnk_vfunc_B0();
|
||||
actor.mUnk_0C = (u16) (this->mUnk_B8 + 0x28) | 0x10000;
|
||||
actor.mUnk_00 = 0x1;
|
||||
actor.mUnk_14 = 0x0;
|
||||
actor.mUnk_32 = 0x0;
|
||||
|
||||
VecFx32_Copy(data_027e0ce0->func_01fff148(0x0), &actor.mUnk_34);
|
||||
actor.mUnk_04 = (unk32) & this->mUnk_D8;
|
||||
|
||||
data_027e09b8->func_ov000_02073470(&actor, 0x0);
|
||||
|
||||
if (!var) {
|
||||
if (var) {
|
||||
var9 = false;
|
||||
}
|
||||
this->mUnk_E4.mUnk_04 = false;
|
||||
this->mUnk_E4.mUnk_05 = var9;
|
||||
ActorUnk_vfunc_B0 actor2 = ActorUnk_vfunc_B0();
|
||||
actor2.mUnk_00 = 0x1;
|
||||
actor2.mUnk_0C = (u16) (this->mUnk_B8 + 0x88) | 0x10000;
|
||||
actor2.mUnk_14 = 0x0;
|
||||
actor2.mUnk_32 = 0x0;
|
||||
|
||||
VecFx32_Copy(data_027e0ce0->func_01fff148(0x0), &actor2.mUnk_34);
|
||||
actor2.mUnk_04 = (unk32) & this->mUnk_E4;
|
||||
|
||||
data_027e09b8->func_ov000_02073470(&actor2, 0x0);
|
||||
}
|
||||
|
||||
this->mUnk_F0 = false;
|
||||
this->mUnk_F1 = true;
|
||||
}
|
||||
|
||||
void ActorUnkMLCK::func_ov031_020fb104() {
|
||||
this->vfunc_64(0x3);
|
||||
}
|
||||
|
||||
void ActorUnkMLCK::func_ov031_020fb11c() {
|
||||
this->vfunc_6C();
|
||||
data_027e0d34->func_ov031_020d996c();
|
||||
this->vfunc_64(0x0);
|
||||
for (ActorUnkMLCK_B4 *ptr = this->mUnk_A0; ptr != this->mUnk_B4; ++ptr) {
|
||||
ptr->mUnk_00->vfunc_08();
|
||||
}
|
||||
}
|
||||
|
||||
void ActorUnkMLCK_B4_00::func_ov031_020fb184() {
|
||||
this->mUnk_04 = 0x0;
|
||||
this->mUnk_08 = -1;
|
||||
this->mUnk_0E = 0xFFFF;
|
||||
this->mUnk_0C = 0x0;
|
||||
this->mUnk_12 = 0xFFFF;
|
||||
this->mUnk_10 = 0x0;
|
||||
}
|
||||
|
||||
void ActorUnkMLCK_D8::vfunc2_00() {
|
||||
if (!this->mUnk_04) {
|
||||
return;
|
||||
}
|
||||
this->mUnk_08->func_ov031_020fb104();
|
||||
}
|
||||
|
||||
void ActorUnkMLCK_D8::vfunc2_04() {
|
||||
if (!this->mUnk_05) {
|
||||
return;
|
||||
}
|
||||
this->mUnk_08->func_ov031_020fb11c();
|
||||
}
|
||||
|
||||
void ActorUnkMLCK::func_ov031_020fb1e8(ActorUnkMLCK_B4_00 *param1) {
|
||||
if (this->mUnk_B4 != NULL) {
|
||||
this->mUnk_B4->mUnk_00 = param1;
|
||||
}
|
||||
++this->mUnk_B4;
|
||||
}
|
||||
|
||||
bool ActorUnkMLCK::func_ov031_020fb204(unk32 param1) {
|
||||
for (ActorUnkMLCK_B4 *ptr = this->mUnk_A0; ptr != this->mUnk_B4; ++ptr) {
|
||||
if (ptr->mUnk_00->vfunc_04()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
ActorUnkMLCK::~ActorUnkMLCK() {}
|
||||
ActorProfileUnkMLCK::~ActorProfileUnkMLCK() {}
|
||||
|
||||
Reference in New Issue
Block a user