mirror of
https://github.com/zeldaret/st
synced 2026-08-22 06:44:36 -04:00
Misc things (#30)
* match random init * UnkSystem2_UnkSubSystem1_Derived1 related docs * match func_ov031_020e9108 and FileSelect_UnkClass7::vfunc_00 * improve func_02017ea4 * rename next functions * actor rupee improvements * update gitignore * fix broken match * fileselectmain improvements * fix broken match * more misc progress * fix build issues * fix regressions
This commit is contained in:
+14
-3
@@ -9,20 +9,27 @@
|
||||
#include "nitro/math.h"
|
||||
#include "types.h"
|
||||
|
||||
class Actor_5c {
|
||||
class Actor_5c_Base {
|
||||
public:
|
||||
/* 00 */ Vec3p mUnk_00;
|
||||
/* 0c */ s16 mUnk_0c;
|
||||
/* 0e */ unk16 mUnk_0e; // padding?
|
||||
/* 10 */
|
||||
|
||||
Actor_5c_Base() {};
|
||||
};
|
||||
|
||||
class Actor_5c : public Actor_5c_Base {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
|
||||
Actor_5c() {};
|
||||
void func_ov000_020975f8();
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_020b539c {
|
||||
public:
|
||||
/* 00 */ Actor_5c mUnk_00[3];
|
||||
/* 00 */ Actor_5c_Base mUnk_00[3];
|
||||
/* 30 */ ActorType *mUnk_30;
|
||||
/* 34 */
|
||||
};
|
||||
@@ -113,7 +120,7 @@ public:
|
||||
/* 0c */ virtual unk8 vfunc_0c();
|
||||
/* 10 */ virtual void vfunc_10();
|
||||
/* 14 */ virtual void vfunc_14();
|
||||
/* 18 */ virtual unk32 vfunc_18(unk32 param1);
|
||||
/* 18 */ virtual bool vfunc_18(unk32 param1);
|
||||
/* 1c */ virtual void vfunc_1c();
|
||||
/* 20 */ virtual void vfunc_20();
|
||||
/* 24 */ virtual void vfunc_24();
|
||||
@@ -153,9 +160,13 @@ public:
|
||||
s32 func_ov000_020985f0(void *param1);
|
||||
void func_ov000_0209862c(unk32 param1);
|
||||
|
||||
void func_ov000_020973f4(UnkStruct_ov000_020b539c *param1, ActorId param2, Actor_5c *param3, unk32 param4);
|
||||
void func_ov000_020973f4(UnkStruct_ov000_020b539c *param1, ActorId param2, Actor_5c *param3);
|
||||
void func_ov000_020973f4(UnkStruct_ov000_020b539c *param1, ActorId param2, Actor_5c param3);
|
||||
void func_ov000_020989e0();
|
||||
|
||||
unk32 func_ov000_02098a60(unk32 param1);
|
||||
|
||||
void func_ov017_020bf5c4(Vec3p *param1, unk32 param2, unk32 param3, unk32 param4, unk32 param5);
|
||||
};
|
||||
|
||||
|
||||
@@ -32,6 +32,11 @@ public:
|
||||
void func_ov000_02097bec();
|
||||
};
|
||||
|
||||
struct Actor_c4_stack {
|
||||
unk32 param1;
|
||||
unk32 param2;
|
||||
};
|
||||
|
||||
class Actor_c4_Base {
|
||||
public:
|
||||
Actor_c4_Base(void *param1, unk32 param2);
|
||||
@@ -53,7 +58,7 @@ public:
|
||||
/* 20 */ Actor *mUnk_20;
|
||||
/* 24 */
|
||||
|
||||
/* 00 */ virtual unk32 vfunc_00(unk32 param1, unk32 param2);
|
||||
/* 00 */ virtual unk32 vfunc_00(Actor_c4_stack param1, unk32 param2);
|
||||
/* 04 */ virtual void vfunc_04();
|
||||
/* 08 */ virtual void vfunc_08();
|
||||
/* 0c */ virtual void vfunc_0c(unk32 param1);
|
||||
@@ -63,7 +68,7 @@ public:
|
||||
void func_ov031_020f637c();
|
||||
void func_ov031_020f6374();
|
||||
void func_ov031_020f6384(unk32 param1);
|
||||
unk32 func_ov031_020f62e4(unk32 param1);
|
||||
unk32 func_ov031_020f62e4(unk32 param1, unk32 param2);
|
||||
};
|
||||
|
||||
class ActorRupee : public Actor {
|
||||
@@ -95,7 +100,7 @@ public:
|
||||
|
||||
ActorRupee();
|
||||
|
||||
/* 18 */ virtual unk32 vfunc_18() override;
|
||||
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
|
||||
/* 20 */ virtual void vfunc_20() override;
|
||||
/* 2c */ virtual void vfunc_2c(unk32 param1) override;
|
||||
/* 4c */ virtual ~ActorRupee() override;
|
||||
@@ -104,7 +109,7 @@ public:
|
||||
|
||||
void func_ov017_020bf9c8(ActorUnk_ov000_020a8bb0 *param1);
|
||||
|
||||
void func_ov031_020e8d2c(Vec3p *param1);
|
||||
void func_ov031_020e8d2c(Vec3p *param1, u8 param2, unk32 param3, unk32 param4);
|
||||
void func_ov031_020e8fec();
|
||||
void func_ov031_020e9068();
|
||||
void func_ov031_020e9108();
|
||||
|
||||
@@ -109,14 +109,11 @@ public:
|
||||
/* 11c */ unk32 mUnk_11c;
|
||||
|
||||
/* 14 */ virtual void vfunc_14() override;
|
||||
/* 18 */ virtual unk32 vfunc_18(unk32 param1) override;
|
||||
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
|
||||
/* 1c */ virtual void vfunc_1c() override;
|
||||
/* 20 */ virtual void vfunc_20() override;
|
||||
/* 24 */ virtual void vfunc_24() override;
|
||||
/* 2c */ virtual void vfunc_2c(unk32 param1) override;
|
||||
/* 40 */ virtual void vfunc_40() override;
|
||||
/* 44 */ virtual void vfunc_44() override;
|
||||
/* 48 */ virtual void vfunc_48() override;
|
||||
/* 4c */ virtual ~ActorUnk_ov000_020a8bb0();
|
||||
/* 54 */ virtual void vfunc_54(unk32 param1);
|
||||
/* 54 */ virtual void vfunc_58(unk32 param1) = 0;
|
||||
|
||||
@@ -14,18 +14,20 @@
|
||||
extern const unk16 data_ov019_020d1bb0[];
|
||||
extern "C" void func_ov001_020bd6a8();
|
||||
|
||||
// related to UnkStructSub2 but unsure how
|
||||
class FileSelect_UnkClass7_04 {
|
||||
public:
|
||||
/* 000 */ UnkSubStruct19 mUnk_000[30];
|
||||
/* E10 */ Vec2us mUnk_E10[30];
|
||||
/* E88 */
|
||||
};
|
||||
|
||||
class FileSelect_UnkClass7 {
|
||||
public:
|
||||
class Sub5 {
|
||||
public:
|
||||
u16 one;
|
||||
u16 two;
|
||||
};
|
||||
|
||||
/* 0000 (vtable) */
|
||||
/* 0004 */ UnkSubStruct19 mUnk_0004[30];
|
||||
/* 0E14 */ Sub5 mUnk_0E14[30];
|
||||
/* 0004 */ FileSelect_UnkClass7_04 mUnk_004;
|
||||
/* 0E8C */
|
||||
|
||||
FileSelect_UnkClass7();
|
||||
|
||||
// data_ov019_020d22a8 vtable
|
||||
/* 00 */ virtual void vfunc_00();
|
||||
@@ -51,18 +53,17 @@ public:
|
||||
/* 0028 */ unk8 mUnk_0029;
|
||||
/* 0028 */ unk8 mUnk_002A;
|
||||
/* 0028 */ unk8 mUnk_002B;
|
||||
/* 002C */ UnkStructSub2 mUnk_002C;
|
||||
/* 007C */ STRUCT_PAD(0x30, 0xEB8);
|
||||
/* 002C */ FileSelect_UnkClass7 mUnk_002C;
|
||||
/* 0EB8 */ UnkSystem3 mUnk_0EB8;
|
||||
/* 0EC4 */ UnkSystem3 mUnk_0EC4;
|
||||
/* 0ED0 */ UnkSystem3 mUnk_0ED0;
|
||||
/* 0EDC */ UnkSystem3 mUnk_0EDC;
|
||||
/* 0EE8 */ UnkSystem3 mUnk_0EE8;
|
||||
/* 0EF4 */ UnkSystem5 mUnk_0EF4;
|
||||
/* 0F30 */ UnkSystem5 mUnk_0F30;
|
||||
/* 0F6C */ UnkSystem5 mUnk_0F6C;
|
||||
/* 0FA8 */ UnkSystem5 mUnk_0FA8;
|
||||
/* 0FE4 */ UnkSystem5 mUnk_0FE4;
|
||||
/* 0EF4 */ UnkResult mUnk_0EF4;
|
||||
/* 0F30 */ UnkResult mUnk_0F30;
|
||||
/* 0F6C */ UnkResult mUnk_0F6C;
|
||||
/* 0FA8 */ UnkResult mUnk_0FA8;
|
||||
/* 0FE4 */ UnkResult mUnk_0FE4;
|
||||
/* 1020 */
|
||||
|
||||
GameModeLinkListNode *GetNode() {
|
||||
@@ -143,12 +144,12 @@ public:
|
||||
/* 00 */ u16 mUnk_02;
|
||||
/* 04 */ u16 mUnk_04[2];
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0C */ unk32 mUnk_0C;
|
||||
/* 0C */ volatile unk32 mUnk_0C;
|
||||
/* 10 */ unk32 mUnk_10;
|
||||
/* 14 */ unk32 mUnk_14;
|
||||
/* 18 */ unk32 mUnk_18;
|
||||
/* 1C */ Vec2s mUnk_1C;
|
||||
/* 20 */ unk32 mUnk_20;
|
||||
/* 20 */ volatile unk32 mUnk_20;
|
||||
};
|
||||
|
||||
class UnkStruct_ov019_020d1e94 {
|
||||
|
||||
@@ -72,7 +72,6 @@ public:
|
||||
// upper "select file"
|
||||
/* 0100 */ UnkSystem2_UnkSubSystem1_Derived1 mUnk_0100;
|
||||
/* 0160 */ UnkSystem2_UnkSubSystem3 mUnk_0160;
|
||||
/* 0164 */ UnkSystem2_UnkSubSystem5 mUnk_0164;
|
||||
/* 039C */ UnkSystem2_UnkSubSystem9 mUnk_039C;
|
||||
|
||||
/* 03E0 */ FileSlotIterator mUnk_03E0;
|
||||
@@ -82,7 +81,6 @@ public:
|
||||
/* 0488 */ UnkSystem2_UnkSubSystem1_Derived2 mUnk_0488;
|
||||
/* 04E8 */ unk8 mUnk_04E8[0x38];
|
||||
/* 0520 */ UnkSystem2_UnkSubSystem3 mUnk_0520;
|
||||
/* 0524 */ UnkSystem2_UnkSubSystem5 mUnk_0524;
|
||||
/* 075C */ UnkSystem2_UnkSubSystem9 mUnk_075C;
|
||||
|
||||
/* 07A0 */ UnkSystem2_UnkSubSystem9 mUnk_07A0;
|
||||
@@ -90,20 +88,17 @@ public:
|
||||
// "copy" button
|
||||
/* 07E4 */ UnkSystem2_UnkSubSystem1_Derived1 mUnk_07E4;
|
||||
/* 0844 */ UnkSystem2_UnkSubSystem3 mUnk_0844;
|
||||
/* 0848 */ UnkSystem2_UnkSubSystem5 mUnk_0848;
|
||||
/* 0A80 */ UnkSystem2_UnkSubSystem9 mUnk_0A80;
|
||||
|
||||
// "erase" button
|
||||
/* 0AC4 */ UnkSystem2_UnkSubSystem1_Derived1 mUnk_0AC4;
|
||||
/* 0B24 */ UnkSystem2_UnkSubSystem3 mUnk_0B24;
|
||||
/* 0B28 */ UnkSystem2_UnkSubSystem5 mUnk_0B28;
|
||||
/* 0D60 */ UnkSystem2_UnkSubSystem9 mUnk_0D60;
|
||||
|
||||
// "adventure" button
|
||||
/* 0DA4 */ UnkSystem2_UnkSubSystem1_Derived2 mUnk_0DA4;
|
||||
/* 0E04 */ unk8 mUnk_0E04[0x38];
|
||||
/* 0E3C */ UnkSystem2_UnkSubSystem3 mUnk_0E3C;
|
||||
/* 0E40 */ UnkSystem2_UnkSubSystem5 mUnk_0E40;
|
||||
/* 1078 */ UnkSystem2_UnkSubSystem9 mUnk_1078;
|
||||
|
||||
// adventure mode animated sword icon
|
||||
@@ -115,7 +110,6 @@ public:
|
||||
/* 11BC */ UnkSystem2_UnkSubSystem1_Derived2 mUnk_11BC;
|
||||
/* 121C */ unk8 mUnk_121C[0x38];
|
||||
/* 1254 */ UnkSystem2_UnkSubSystem3 mUnk_1254;
|
||||
/* 1258 */ UnkSystem2_UnkSubSystem5 mUnk_1258;
|
||||
/* 1490 */ UnkSystem2_UnkSubSystem9 mUnk_1490;
|
||||
|
||||
// battle mode animated sword icon
|
||||
@@ -127,14 +121,12 @@ public:
|
||||
/* 15D4 */ UnkSystem2_UnkSubSystem1_Derived2 mUnk_15D4;
|
||||
/* 1634 */ unk8 mUnk_1634[0x38];
|
||||
/* 166C */ UnkSystem2_UnkSubSystem3 mUnk_166C;
|
||||
/* 1670 */ UnkSystem2_UnkSubSystem5 mUnk_1670;
|
||||
/* 18A8 */ UnkSystem2_UnkSubSystem9 mUnk_18A8;
|
||||
|
||||
// "options" button
|
||||
/* 18EC */ UnkSystem2_UnkSubSystem1_Derived2 mUnk_18EC;
|
||||
/* 194C */ unk8 mUnk_194C[0x38];
|
||||
/* 1984 */ UnkSystem2_UnkSubSystem3 mUnk_1984;
|
||||
/* 1988 */ UnkSystem2_UnkSubSystem5 mUnk_1988;
|
||||
/* 1BC0 */ UnkSystem2_UnkSubSystem9 mUnk_1BC0;
|
||||
|
||||
/* 1C04 */ UnkSystem1_ov019_Derived3 mUnk_1C04;
|
||||
|
||||
@@ -52,10 +52,10 @@ public:
|
||||
/* A4 */ UnkSystem2_UnkSubSystem8 mUnk_0A4;
|
||||
/* F4 */
|
||||
|
||||
UnkStruct_ov019_020d24c8_28_304(unk32 param1, unk32 param2, unk32 param3, unk32 param4, unk32 param5, unk32 param6) :
|
||||
mUnk_044(param1, param2, param3, param4, param5, param6),
|
||||
UnkStruct_ov019_020d24c8_28_304(unk32 buttonID, unk32 param2, unk32 param3, unk32 param4, unk32 param5, unk32 param6) :
|
||||
mUnk_044(buttonID, param2, param3, param4, param5, param6),
|
||||
mUnk_0A4(&mUnk_044) {}
|
||||
void func_0201e874(unk32 param1, void *param2, void *param3, unk32 param4);
|
||||
void func_0201e874(unk32 buttonID, void *param2, void *param3, unk32 param4);
|
||||
};
|
||||
|
||||
// defines the mic test screen (0x022e9b84)
|
||||
|
||||
@@ -108,7 +108,6 @@ public:
|
||||
// "options" string
|
||||
/* 10A8 */ UnkSystem2_UnkSubSystem1_Derived1 mUnk_10A8;
|
||||
/* 1108 */ UnkSystem2_UnkSubSystem3 mUnk_1108;
|
||||
/* 110C */ UnkSystem2_UnkSubSystem5 mUnk_110C;
|
||||
/* 1344 */ UnkSystem2_UnkSubSystem9 mUnk_1344;
|
||||
|
||||
// "mic test" button
|
||||
@@ -116,21 +115,18 @@ public:
|
||||
/* 13E8 */ unk8 mUnk_13E8[0x38];
|
||||
/* 1420 */ UnkSystem2_UnkSubSystem8 mUnk_1420;
|
||||
/* 1470 */ UnkSystem2_UnkSubSystem3 mUnk_1470;
|
||||
/* 1474 */ UnkSystem2_UnkSubSystem5 mUnk_1474;
|
||||
|
||||
// "ok" button
|
||||
/* 16AC */ UnkSystem2_UnkSubSystem1_Derived2 mUnk_16AC;
|
||||
/* 170C */ unk8 mUnk_170C[0x38];
|
||||
/* 1744 */ UnkSystem2_UnkSubSystem8 mUnk_1744;
|
||||
/* 1794 */ UnkSystem2_UnkSubSystem3 mUnk_1794;
|
||||
/* 1798 */ UnkSystem2_UnkSubSystem5 mUnk_1798;
|
||||
|
||||
// "cancel" button
|
||||
/* 19D0 */ UnkSystem2_UnkSubSystem1_Derived2 mUnk_19D0;
|
||||
/* 1A30 */ unk8 mUnk_1A30[0x38];
|
||||
/* 1A68 */ UnkSystem2_UnkSubSystem8 mUnk_1A68;
|
||||
/* 1AB8 */ UnkSystem2_UnkSubSystem3 mUnk_1AB8;
|
||||
/* 1ABC */ UnkSystem2_UnkSubSystem5 mUnk_1ABC;
|
||||
|
||||
/* 1CF4 */ unk8 mUnk_1CF4;
|
||||
/* 1CF5 */ bool mUnk_1CF5;
|
||||
|
||||
@@ -29,7 +29,6 @@ public:
|
||||
/* 68C */ UnkSubStruct19 mUnk_68C; // fire dungeon icon
|
||||
/* 704 */ UnkSubStruct19 mUnk_704; // desert dungeon icon
|
||||
/* 77C */ Vec2us mUnk_77C;
|
||||
// int pad[10];
|
||||
/* 780 */
|
||||
|
||||
struct stack_struct2 {
|
||||
|
||||
@@ -149,8 +149,8 @@ public:
|
||||
/* 104 */ GameModeManagerBase_104 mUnk_104;
|
||||
/* 120 */ Input mButtons;
|
||||
/* 126 */ TouchControl mTouchControl;
|
||||
/* 148 */ unk32 mUnk_148;
|
||||
/* 14C */ unk32 mUnk_14C;
|
||||
/* 148 */ unk32 mNextButtonID;
|
||||
/* 14C */ unk32 mButtonID;
|
||||
/* 150 */ bool mUnk_150;
|
||||
/* 150 */ unk8 mUnk_151;
|
||||
/* 150 */ unk8 mUnk_152;
|
||||
|
||||
+48
-10
@@ -1,26 +1,64 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "nitro/math.h"
|
||||
#include "types.h"
|
||||
|
||||
struct Random {
|
||||
/* 00 */ u64 mRandomValue;
|
||||
/* 00 */ u16 mRandomValue[4];
|
||||
/* 08 */ u64 mFactor;
|
||||
/* 10 */ u64 mAddend;
|
||||
/* 18 */
|
||||
|
||||
/**
|
||||
* Generate a random number from 0 (inclusive) to `max` (exclusive)
|
||||
* @brief Gets the seed's value
|
||||
*/
|
||||
u32 Next(u64 min, u64 max) {
|
||||
mRandomValue = mAddend + mFactor * mRandomValue;
|
||||
u64 result;
|
||||
if ((max - min) == 0x100000000) {
|
||||
result = mRandomValue;
|
||||
} else {
|
||||
result = (mRandomValue >> 32) * (max - min);
|
||||
u64 GetRandomValue() {
|
||||
return *(u64 *) this->mRandomValue;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Updates the seed's value
|
||||
*/
|
||||
void UpdateRandomValue() {
|
||||
*(u64 *) this->mRandomValue = this->mAddend + (this->mFactor * this->GetRandomValue());
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Generates a random number as a u16
|
||||
*/
|
||||
u16 Next16() {
|
||||
this->UpdateRandomValue();
|
||||
return this->GetRandomValue() >> 48;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Generates a random number from 0 (inclusive) to `max` (exclusive) as a u32
|
||||
*/
|
||||
u32 Next32(u64 min, u64 max) {
|
||||
this->UpdateRandomValue();
|
||||
return (((this->GetRandomValue() >> 32) * (max - min)) >> 32) + min;
|
||||
}
|
||||
|
||||
u32 ConditionalNext32(u32 value) {
|
||||
this->UpdateRandomValue();
|
||||
|
||||
u64 result = this->GetRandomValue() >> 32;
|
||||
|
||||
if (value != 0) {
|
||||
result = (result * value) >> 32;
|
||||
}
|
||||
return (result >> 32) + min;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
Vec2us &NextPos(u16 xMax, u16 yMax) {
|
||||
Vec2us pos;
|
||||
|
||||
pos.x = this->Next32(0, xMax);
|
||||
pos.y = this->Next32(0, yMax);
|
||||
|
||||
return pos;
|
||||
}
|
||||
|
||||
void Init();
|
||||
|
||||
+328
-100
@@ -101,13 +101,18 @@ public:
|
||||
}
|
||||
|
||||
if (doSetPos) {
|
||||
Vec2us local_4c_copy;
|
||||
Vec2us local_4c;
|
||||
func_0201e8d4(&local_4c_copy, this);
|
||||
local_4c.x = local_4c_copy.y;
|
||||
local_4c.y = local_4c_copy.x;
|
||||
pPos->x = local_4c.x;
|
||||
pPos->y = local_4c.y;
|
||||
func_0201e8d4(&local_4c, this);
|
||||
|
||||
u16 x = local_4c.x;
|
||||
u16 y = local_4c.y;
|
||||
|
||||
// necessary to flip r1 and r2
|
||||
pPos->x = 0;
|
||||
pPos->y = 0;
|
||||
|
||||
pPos->x = x;
|
||||
pPos->y = y;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -162,22 +167,304 @@ public:
|
||||
}
|
||||
|
||||
if (doSetPos) {
|
||||
Vec2us local_4c_copy;
|
||||
Vec2us local_4c;
|
||||
func_0201e8d4(&local_4c_copy, this);
|
||||
local_4c.x = local_4c_copy.y;
|
||||
local_4c.y = local_4c_copy.x;
|
||||
pPos->x = local_4c.x;
|
||||
pPos->y = local_4c.y;
|
||||
func_0201e8d4(&local_4c, this);
|
||||
|
||||
u16 x = local_4c.x;
|
||||
u16 y = local_4c.y;
|
||||
|
||||
// necessary to flip r1 and r2
|
||||
pPos->x = 0;
|
||||
pPos->y = 0;
|
||||
|
||||
pPos->x = x;
|
||||
pPos->y = y;
|
||||
}
|
||||
}
|
||||
|
||||
void UnkOperations3() {
|
||||
int test;
|
||||
int iVar1;
|
||||
|
||||
if (this->mUnk_08 != 0) {
|
||||
iVar1 = this->mUnk_08 - this->mUnk_0D;
|
||||
this->mUnk_08 = CLAMP(iVar1, 0, 0xFFFF);
|
||||
} else {
|
||||
if (this->mUnk_0A) {
|
||||
if (this->mUnk_04 < this->mUnk_06) {
|
||||
iVar1 = this->mUnk_04 + this->mUnk_0D;
|
||||
|
||||
if (iVar1 > this->mUnk_06) {
|
||||
iVar1 = this->mUnk_06;
|
||||
} else if (iVar1 < 0) {
|
||||
iVar1 = 0;
|
||||
}
|
||||
|
||||
this->mUnk_04 = iVar1;
|
||||
this->vfunc_00();
|
||||
|
||||
if (this->mUnk_04 >= this->mUnk_06) {
|
||||
this->mUnk_10 = this->mUnk_18;
|
||||
this->mUnk_0A = false;
|
||||
this->mUnk_0C = true;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (this->mUnk_0B && this->mUnk_04 != 0) {
|
||||
int iVar1 = this->mUnk_04 - this->mUnk_0D;
|
||||
|
||||
if (iVar1 > this->mUnk_06) {
|
||||
iVar1 = this->mUnk_06;
|
||||
} else if (iVar1 < 0) {
|
||||
iVar1 = 0;
|
||||
}
|
||||
|
||||
this->mUnk_04 = iVar1;
|
||||
this->vfunc_04();
|
||||
|
||||
if (this->mUnk_04 == 0) {
|
||||
this->mUnk_10 = this->mUnk_14;
|
||||
this->mUnk_0B = false;
|
||||
this->mUnk_0C = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
class UnkStruct_ov019_020d24c8_28_258 {
|
||||
public:
|
||||
/* 00 */ void *mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk16 mUnk_08;
|
||||
/* 0A */ union { //! TODO: figure out
|
||||
Vec2s mPos;
|
||||
Vec2us mPosU;
|
||||
};
|
||||
/* 0E */ unk16 mUnk_0E;
|
||||
/* 10 */ unk16 mUnk_10;
|
||||
/* 12 */ unk16 mUnk_12;
|
||||
/* 14 */ unk16 mUnk_14;
|
||||
/* 16 */ unk16 mUnk_16;
|
||||
/* 18 */
|
||||
|
||||
UnkStruct_ov019_020d24c8_28_258() {
|
||||
this->mUnk_00 = NULL;
|
||||
this->mUnk_04 = 0;
|
||||
this->mPos.x = 0;
|
||||
this->mPos.y = 0;
|
||||
};
|
||||
|
||||
UnkStruct_ov019_020d24c8_28_258(unk32 param1, unk32 param2) :
|
||||
mUnk_00(0),
|
||||
mUnk_04(0) {
|
||||
this->UnknownAction(param1, param2);
|
||||
}
|
||||
|
||||
void UnknownAction(unk32 param1, unk32 param2) {
|
||||
this->func_ov000_0205fc20(param1, param2, &this->mPos, &this->mUnk_0E);
|
||||
this->mUnk_12 = param1;
|
||||
this->mUnk_14 = param2;
|
||||
}
|
||||
|
||||
void func_ov000_0205fc20(unk32 param1, unk32 param2, void *param3, void *param4);
|
||||
};
|
||||
|
||||
#define BTN_ID_NONE -1
|
||||
#define BTN_ID_ITEM 0x03
|
||||
#define BTN_ID_RETURN 0x05
|
||||
|
||||
#define BTN_ID_TRAIN_ROUTE_GO 0x0E
|
||||
#define BTN_ID_TRAIN_ROUTE_CANCEL 0x0F
|
||||
#define BTN_ID_TRAIN_ROUTE_QUIT 0x10
|
||||
#define BTN_ID_TRAIN_LEVER 0x11
|
||||
#define BTN_ID_TRAIN_ROPE 0x15
|
||||
|
||||
#define BTN_ID_MAP_MEMO 0x1A
|
||||
#define BTN_ID_MAP_ERASE 0x1B
|
||||
|
||||
#define BTN_ID_PAUSE_CONTINUE 0x28
|
||||
#define BTN_ID_PAUSE_SAVE_AND_QUIT 0x29
|
||||
|
||||
#define BTN_ID_MENU_OPEN 0x2D
|
||||
#define BTN_ID_MENU_ROUTE 0x2E
|
||||
#define BTN_ID_MENU_CLOSE_BOTTOM 0x2F
|
||||
#define BTN_ID_MENU_WHIRLWIND 0x30
|
||||
#define BTN_ID_MENU_BOOMERANG 0x31
|
||||
#define BTN_ID_MENU_WHIP 0x32
|
||||
#define BTN_ID_MENU_BOW 0x33
|
||||
#define BTN_ID_MENU_BOMBS 0x34
|
||||
#define BTN_ID_MENU_SAND_ROD 0x35
|
||||
#define BTN_ID_MENU_POTION_SLOT_1 0x36
|
||||
#define BTN_ID_MENU_POTION_SLOT_2 0x37
|
||||
#define BTN_ID_MENU_SAVE 0x38
|
||||
#define BTN_ID_MENU_MAP 0x39
|
||||
#define BTN_ID_MENU_COLLECTION 0x3A
|
||||
#define BTN_ID_MENU_RAIL_MAP 0x3B
|
||||
#define BTN_ID_MENU_PAN_FLUTE 0x3C
|
||||
#define BTN_ID_MENU_CLOSE_TOP 0x3D
|
||||
|
||||
#define BTN_ID_FILE_SELECT_FILE_1 0x40
|
||||
#define BTN_ID_FILE_SELECT_FILE_2 0x41
|
||||
#define BTN_ID_FILE_SELECT_42 0x42 // unused file 3 probably
|
||||
#define BTN_ID_FILE_SELECT_START 0x43
|
||||
#define BTN_ID_FILE_SELECT_COPY 0x44
|
||||
#define BTN_ID_FILE_SELECT_ERASE 0x45
|
||||
#define BTN_ID_FILE_SELECT_ADVENTURE 0x46
|
||||
#define BTN_ID_FILE_SELECT_BATTLE 0x47
|
||||
#define BTN_ID_FILE_SELECT_CONTACT_MODE 0x48
|
||||
#define BTN_ID_FILE_SELECT_OPTIONS 0x49
|
||||
#define BTN_ID_FILE_SELECT_CONFIRM 0x4A
|
||||
#define BTN_ID_FILE_SELECT_MIC_TEST 0x4B
|
||||
#define BTN_ID_FILE_SELECT_MESG_SPEED_LEFT_ARROW 0x4C
|
||||
#define BTN_ID_FILE_SELECT_MESG_SPEED_RIGHT_ARROW 0x4D
|
||||
#define BTN_ID_FILE_SELECT_SOUND_SETTINGS_LEFT_ARROW 0x4E
|
||||
#define BTN_ID_FILE_SELECT_SOUND_SETTINGS_RIGHT_ARROW 0x4F
|
||||
#define BTN_ID_FILE_SELECT_HANDEDNESS_LEFT_ARROW 0x50
|
||||
#define BTN_ID_FILE_SELECT_HANDEDNESS_RIGHT_ARROW 0x51
|
||||
#define BTN_ID_FILE_SELECT_NEW_FILE_CONFIRM 0x57
|
||||
#define BTN_ID_FILE_SELECT_NEW_FILE_RETURN 0x58
|
||||
|
||||
#define BTN_ID_RAIL_MAP_FOREST_MAYSCORE 0x5D
|
||||
#define BTN_ID_RAIL_MAP_FOREST_OUTSET_VILLAGE 0x5E
|
||||
#define BTN_ID_RAIL_MAP_SNOW_ANOUKI_VILLAGE 0x5F
|
||||
#define BTN_ID_RAIL_MAP_OCEAN_PAPUZIA_VILLAGE 0x60
|
||||
#define BTN_ID_RAIL_MAP_FIRE_GORON_VILLAGE 0x61
|
||||
#define BTN_ID_RAIL_MAP_TOWER_OF_SPIRITS 0x62
|
||||
#define BTN_ID_RAIL_MAP_WOODED_TEMPLE 0x63
|
||||
#define BTN_ID_RAIL_MAP_SNOW_BLIZZARD_TEMPLE 0x64
|
||||
#define BTN_ID_RAIL_MAP_MARINE_TEMPLE 0x65
|
||||
#define BTN_ID_RAIL_MAP_MOUNTAIN_TEMPLE 0x66
|
||||
#define BTN_ID_RAIL_MAP_DESERT_TEMPLE 0x67
|
||||
#define BTN_ID_RAIL_MAP_FOREST_WOODLAND_SANCTUARY 0x68
|
||||
#define BTN_ID_RAIL_MAP_SNOW_SNOWFALL_SANCTUARY 0x69
|
||||
#define BTN_ID_RAIL_MAP_OCEAN_ISLAND_SANCTUARY 0x6A
|
||||
#define BTN_ID_RAIL_MAP_OCEAN_DUNE_SANCTUARY 0x6B
|
||||
#define BTN_ID_RAIL_MAP_FOREST_HYRULE_CASTLE 0x6C
|
||||
#define BTN_ID_RAIL_MAP_SNOW_BRIDGE_WORKERS_HOUSE 0x6D
|
||||
#define BTN_ID_RAIL_MAP_SNOW_ICY_SPRING 0x6E
|
||||
#define BTN_ID_RAIL_MAP_FOREST_TRADING_POST 0x6F
|
||||
#define BTN_ID_RAIL_MAP_FOREST_RABBIT_HAVEN 0x70
|
||||
#define BTN_ID_RAIL_MAP_OCEAN_PIRATE_HIDEOUT 0x71
|
||||
#define BTN_ID_RAIL_MAP_FIRE_GORON_TARGET_RANGE 0x72
|
||||
#define BTN_ID_RAIL_MAP_FIRE_DARK_ORE_MINE 0x73
|
||||
#define BTN_ID_RAIL_MAP_SNOW_SNOWDRIFT_STATION 0x74
|
||||
#define BTN_ID_RAIL_MAP_FIRE_DISORIENTATION_STATION 0x75
|
||||
#define BTN_ID_RAIL_MAP_FIRE_ENDS_OF_THE_EARTH_STATION 0x76
|
||||
#define BTN_ID_RAIL_MAP_OCEAN_LOST_AT_SEA_STATION 0x77
|
||||
#define BTN_ID_RAIL_MAP_SNOW_SLIPPERY_STATION 0x78
|
||||
|
||||
#define BTN_ID_SHOP_QUIT 0x81 // quit shop
|
||||
#define BTN_ID_SHOP_RETURN 0x82 // quit item preview
|
||||
#define BTN_ID_SHOP_BUY 0x83
|
||||
#define BTN_ID_SHOP_ITEM_1 0x84
|
||||
#define BTN_ID_SHOP_ITEM_2 0x85
|
||||
#define BTN_ID_SHOP_ITEM_3 0x86
|
||||
#define BTN_ID_SHOP_ITEM_4 0x87
|
||||
#define BTN_ID_SHOP_ITEM_5 0x88
|
||||
|
||||
#define BTN_ID_COLLECTION_TO_TRAIN_PARTS 0x99
|
||||
#define BTN_ID_COLLECTION_TO_TREASURES 0x9A
|
||||
#define BTN_ID_COLLECTION_TO_LETTERS 0x9B
|
||||
#define BTN_ID_COLLECTION_TO_STAMPS 0x9C
|
||||
#define BTN_ID_COLLECTION_FLIP_SCREENS 0x9D
|
||||
#define BTN_ID_COLLECTION_SWORD 0x9E
|
||||
#define BTN_ID_COLLECTION_SHIELD 0x9F
|
||||
#define BTN_ID_COLLECTION_BOMB_BAG 0xA0
|
||||
#define BTN_ID_COLLECTION_QUIVER 0xA1
|
||||
#define BTN_ID_COLLECTION_CLOTHES 0xA2
|
||||
#define BTN_ID_COLLECTION_BOW_OF_LIGHT 0xA3
|
||||
#define BTN_ID_COLLECTION_A4 0xA4 // most likely the other scroll
|
||||
#define BTN_ID_COLLECTION_GREAT_SPIN_ATTACK 0xA5
|
||||
#define BTN_ID_COLLECTION_ENGINEER_CERTIFICATE 0xA6
|
||||
#define BTN_ID_COLLECTION_BEEDLE_CARD 0xA7
|
||||
#define BTN_ID_COLLECTION_RABBIT_NET 0xAA
|
||||
#define BTN_ID_COLLECTION_COMPASS_OF_LIGHT 0xAB
|
||||
#define BTN_ID_COLLECTION_PRIZE_POSTCARDS 0xAC
|
||||
#define BTN_ID_COLLECTION_PAN_FLUTE 0xAD
|
||||
#define BTN_ID_COLLECTION_FOREST_SOURCE 0xAE
|
||||
#define BTN_ID_COLLECTION_SNOW_SOURCE 0xAF
|
||||
#define BTN_ID_COLLECTION_OCEAN_SOURCE 0xB0
|
||||
#define BTN_ID_COLLECTION_FIRE_SOURCE 0xB1
|
||||
#define BTN_ID_COLLECTION_SAND_SOURCE 0xB2
|
||||
#define BTN_ID_COLLECTION_SONG_OF_AWAKENING 0xB3
|
||||
#define BTN_ID_COLLECTION_SONG_OF_HEALING 0xB4
|
||||
#define BTN_ID_COLLECTION_SONG_OF_BIRDS 0xB5
|
||||
#define BTN_ID_COLLECTION_SONG_OF_LIGHT 0xB6
|
||||
#define BTN_ID_COLLECTION_SONG_OF_DISCOVERY 0xB7
|
||||
#define BTN_ID_COLLECTION_RETURN 0xB8
|
||||
|
||||
#define BTN_ID_TRAIN_PARTS_TRAIN 0x99
|
||||
#define BTN_ID_TRAIN_PARTS_CANNON 0x9A
|
||||
#define BTN_ID_TRAIN_PARTS_CAR 0x9B
|
||||
#define BTN_ID_TRAIN_PARTS_WAGON 0x9C
|
||||
#define BTN_ID_TRAIN_PARTS_CHOICE_1 0x9D
|
||||
#define BTN_ID_TRAIN_PARTS_CHOICE_2 0x9E
|
||||
#define BTN_ID_TRAIN_PARTS_CHOICE_3 0x9F
|
||||
#define BTN_ID_TRAIN_PARTS_RETURN 0xB8
|
||||
|
||||
#define BTN_ID_TREASURES_DEMON_FOSSIL 0x9D
|
||||
#define BTN_ID_TREASURES_STALFOS_SKULL 0x9E
|
||||
#define BTN_ID_TREASURES_STAR_FRAGMENT 0x9F
|
||||
#define BTN_ID_TREASURES_BEE_LARVAE 0xA0
|
||||
#define BTN_ID_TREASURES_WOOD_HEART 0xA1
|
||||
#define BTN_ID_TREASURES_DARK_PEARL_LOOP 0xA2
|
||||
#define BTN_ID_TREASURES_WHITE_PEARL_LOOP 0xA3
|
||||
#define BTN_ID_TREASURES_RUTO_CROWN 0xA4
|
||||
#define BTN_ID_TREASURES_DRAGON_SCALE 0xA5
|
||||
#define BTN_ID_TREASURES_PIRATE_NECKLACE 0xA6
|
||||
#define BTN_ID_TREASURES_PALACE_DISH 0xA7
|
||||
#define BTN_ID_TREASURES_GORON_AMBER 0xA8
|
||||
#define BTN_ID_TREASURES_MYSTIC_JADE 0xA9
|
||||
#define BTN_ID_TREASURES_ANCIENT_COIN 0xAA
|
||||
#define BTN_ID_TREASURES_PRICELESS_STONE 0xAB
|
||||
#define BTN_ID_TREASURES_REGAL_RING 0xAC
|
||||
#define BTN_ID_TREASURES_RETURN 0xB8
|
||||
|
||||
#define BTN_ID_STAMPS_PAGE_LEFT 0x99
|
||||
#define BTN_ID_STAMPS_PAGE_RIGHT 0x9A
|
||||
#define BTN_ID_STAMPS_RETURN 0xB8
|
||||
|
||||
#define BTN_ID_LETTERS_CHOICE_1 0x99
|
||||
#define BTN_ID_LETTERS_CHOICE_2 0x9A
|
||||
#define BTN_ID_LETTERS_CHOICE_3 0x9B
|
||||
#define BTN_ID_LETTERS_CHOICE_4 0x9C
|
||||
#define BTN_ID_LETTERS_ARROW_RIGHT 0x9E
|
||||
#define BTN_ID_LETTERS_ARROW_LEFT 0x9F
|
||||
#define BTN_ID_LETTERS_MAP 0xA0
|
||||
#define BTN_ID_LETTERS_RAIL_MAP 0xA1
|
||||
#define BTN_ID_LETTERS_RETURN 0xB8
|
||||
|
||||
#define BTN_ID_CONTACT_MODE_EXCHANGE 0x99
|
||||
#define BTN_ID_CONTACT_MODE_DEMON_FOSSIL 0x9B
|
||||
#define BTN_ID_CONTACT_MODE_STALFOS_SKULL 0x9C
|
||||
#define BTN_ID_CONTACT_MODE_STAR_FRAGMENT 0x9D
|
||||
#define BTN_ID_CONTACT_MODE_BEE_LARVAE 0x9E
|
||||
#define BTN_ID_CONTACT_MODE_WOOD_HEART 0x9F
|
||||
#define BTN_ID_CONTACT_MODE_DARK_PEARL_LOOP 0xA0
|
||||
#define BTN_ID_CONTACT_MODE_WHITE_PEARL_LOOP 0xA1
|
||||
#define BTN_ID_CONTACT_MODE_RUTO_CROWN 0xA2
|
||||
#define BTN_ID_CONTACT_MODE_DRAGON_SCALE 0xA3
|
||||
#define BTN_ID_CONTACT_MODE_PIRATE_NECKLACE 0xA4
|
||||
#define BTN_ID_CONTACT_MODE_PALACE_DISH 0xA5
|
||||
#define BTN_ID_CONTACT_MODE_GORON_AMBER 0xA6
|
||||
#define BTN_ID_CONTACT_MODE_MYSTIC_JADE 0xA7
|
||||
#define BTN_ID_CONTACT_MODE_ANCIENT_COIN 0xA8
|
||||
#define BTN_ID_CONTACT_MODE_PRICELESS_STONE 0xA9
|
||||
#define BTN_ID_CONTACT_MODE_REGAL_RING 0xAA
|
||||
#define BTN_ID_CONTACT_MODE_RETURN 0xB8
|
||||
|
||||
#define BTN_ID_BATTLE_MENU_RETURN 0xB9
|
||||
#define BTN_ID_BATTLE_MENU_CREATE_GROUP 0xBA
|
||||
#define BTN_ID_BATTLE_MENU_JOIN_GROUP 0xBB
|
||||
#define BTN_ID_BATTLE_MENU_PLAYER_LIST 0xBD
|
||||
|
||||
class UnkSystem2_UnkSubSystem1_Base {
|
||||
public:
|
||||
/* 04 */ GameModeLinkList<UnkSystem2_UnkSubSystem1_Base> mUnk_04;
|
||||
/* 0C */ void *mUnk_0C;
|
||||
/* 10 */ unk32 mUnk_10;
|
||||
/* 10 */ unk32 mButtonID;
|
||||
/* 14 */ Vec2s mPos; // image position (among other things)
|
||||
/* 18 */ STRUCT_PAD(0x18, 0x24);
|
||||
/* 24 */ Vec2us mPosOffset; // used to shift the button when selected
|
||||
@@ -202,24 +489,12 @@ public:
|
||||
class UnkSystem2_UnkSubSystem1_Derived1 : public UnkSystem2_UnkSubSystem1_Base {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 30 */ void *mUnk_30; // related to the background texture draw (idle)
|
||||
/* 34 */ unk32 mUnk_34; // related to the texture draw
|
||||
/* 38 */ unk16 mUnk_38; // related to the texture draw
|
||||
/* 3C */ Vec2us mUnk_3A; // overlaid elements position (text, icons etc...), relative to background position
|
||||
/* 40 */ unk16 mUnk_3E;
|
||||
/* 40 */ unk32 mUnk_40;
|
||||
/* 44 */ unk32 mUnk_44;
|
||||
/* 48 */ void *mUnk_48; // related to the background texture draw (selected)
|
||||
/* 4C */ unk32 mUnk_4C;
|
||||
/* 50 */ unk16 mUnk_50; // related to the texture draw
|
||||
/* 50 */ unk16 mUnk_52;
|
||||
/* 54 */ unk32 mUnk_54;
|
||||
/* 58 */ unk32 mUnk_58;
|
||||
/* 5C */ unk32 mUnk_5C;
|
||||
/* 30 */ UnkStruct_ov019_020d24c8_28_258 mUnk_30; // idle
|
||||
/* 48 */ UnkStruct_ov019_020d24c8_28_258 mUnk_48; // selected
|
||||
/* 60 */
|
||||
|
||||
UnkSystem2_UnkSubSystem1_Derived1();
|
||||
UnkSystem2_UnkSubSystem1_Derived1(unk32 param1, unk32 param2, unk32 param3, unk32 param4, unk32 param5, unk32 param6);
|
||||
UnkSystem2_UnkSubSystem1_Derived1(unk32 buttonID, unk32 param2, unk32 param3, unk32 param4, unk32 param5, unk32 param6);
|
||||
void func_ov000_020633c0(unk32 param1, unk32 param2, unk32 param3, unk32 param4, unk32 param5, unk32 param6);
|
||||
|
||||
// data_ov000_020b1efc vtable
|
||||
@@ -264,16 +539,6 @@ public:
|
||||
/* 0C */ virtual void vfunc_0C() override;
|
||||
};
|
||||
|
||||
class UnkSystem2_UnkSubSystem3 {
|
||||
public:
|
||||
/* 00 */ UnkSystem2_UnkSubSystem1_Base *mUnk_00;
|
||||
/* 04 */
|
||||
|
||||
UnkSystem2_UnkSubSystem3(UnkSystem2_UnkSubSystem1_Base *param1, unk32 param2, unk32 param3, unk32 param4);
|
||||
|
||||
void func_ov000_02062f30();
|
||||
};
|
||||
|
||||
class UnkSystem2_UnkSubSystem5_Base_10 {
|
||||
public:
|
||||
/* 000 (vtable) */
|
||||
@@ -392,6 +657,16 @@ public:
|
||||
/* 04 */
|
||||
};
|
||||
|
||||
class UnkSystem2_UnkSubSystem3 {
|
||||
public:
|
||||
/* 00 */ UnkSystem2_UnkSubSystem1_Base *mUnk_00;
|
||||
/* 04 */ UnkSystem2_UnkSubSystem5 mUnk_04;
|
||||
|
||||
UnkSystem2_UnkSubSystem3(UnkSystem2_UnkSubSystem1_Base *param1, unk32 param2, unk32 param3, unk32 param4);
|
||||
|
||||
void func_ov000_02062f30();
|
||||
};
|
||||
|
||||
class UnkSystem2_UnkSubSystem8_Base {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
@@ -480,22 +755,6 @@ public:
|
||||
~UnkSystem4();
|
||||
};
|
||||
|
||||
class UnkSystem5 {
|
||||
public:
|
||||
/* 00 */ char *mUnk_00;
|
||||
/* 04 */ char *mUnk_04;
|
||||
/* 08 */ char *mUnk_08;
|
||||
/* 10 */ UnkSystem4 mUnk_0F00;
|
||||
/* 20 */ UnkSystem4 mUnk_0F10;
|
||||
/* 30 */ UnkSystem4 mUnk_0F20;
|
||||
/* 40 */
|
||||
|
||||
UnkSystem5() {}
|
||||
~UnkSystem5() {}
|
||||
void func_020171e4();
|
||||
void func_02017520(const char *nscrPath, const char *ncgrPath, const char *nclrPath);
|
||||
};
|
||||
|
||||
class UnkStruct2 {
|
||||
public:
|
||||
/* 00 */ unk8 pad[0x10];
|
||||
@@ -514,53 +773,12 @@ struct UnkResult {
|
||||
UnkSystem4 mUnk_1C;
|
||||
UnkSystem4 mUnk_2C;
|
||||
|
||||
UnkResult();
|
||||
UnkResult(const char *path);
|
||||
};
|
||||
UnkResult(const char *path, const char *param2, const char *param3);
|
||||
~UnkResult() {}
|
||||
|
||||
class UnkStruct_ov019_020d24c8_28_258 {
|
||||
public:
|
||||
/* 00 */ void *mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk16 mUnk_08;
|
||||
/* 0A */ union { //! TODO: figure out
|
||||
Vec2s mPos;
|
||||
Vec2us mPosU;
|
||||
};
|
||||
/* 0E */ unk16 mUnk_0E;
|
||||
/* 10 */ unk16 mUnk_10;
|
||||
/* 12 */ unk16 mUnk_12;
|
||||
/* 14 */ unk16 mUnk_14;
|
||||
/* 16 */ unk16 mUnk_16;
|
||||
/* 18 */
|
||||
|
||||
UnkStruct_ov019_020d24c8_28_258() {
|
||||
this->mUnk_00 = NULL;
|
||||
this->mUnk_04 = 0;
|
||||
this->mPos.x = 0;
|
||||
this->mPos.y = 0;
|
||||
};
|
||||
|
||||
UnkStruct_ov019_020d24c8_28_258(unk32 param1, unk32 param2) :
|
||||
mUnk_00(0),
|
||||
mUnk_04(0) {
|
||||
this->UnknownAction(param1, param2);
|
||||
}
|
||||
|
||||
void UnknownAction(unk32 param1, unk32 param2) {
|
||||
this->func_ov000_0205fc20(param1, param2, &this->mPos, &this->mUnk_0E);
|
||||
this->mUnk_12 = param1;
|
||||
this->mUnk_14 = param2;
|
||||
}
|
||||
|
||||
void func_ov000_0205fc20(unk32 param1, unk32 param2, void *param3, void *param4);
|
||||
};
|
||||
|
||||
class UnkStructSub2 {
|
||||
public:
|
||||
UnkStructSub2();
|
||||
|
||||
/* 00 */ virtual void vfunc_00();
|
||||
/* 04 */ virtual void vfunc_04();
|
||||
void func_02017520(const char *nscrPath, const char *ncgrPath, const char *nclrPath);
|
||||
};
|
||||
|
||||
// used to draw the swords from the adventure and battle buttons
|
||||
@@ -580,7 +798,7 @@ public:
|
||||
/* 29 */ unk8 mUnk_29;
|
||||
/* 2A */ unk8 mUnk_2A;
|
||||
/* 2B */ unk8 mUnk_2B;
|
||||
/* 2C */ UnkStructSub2 mUnk_2C;
|
||||
/* 2C */ unk32 mUnk_2C;
|
||||
/* 30 */ void *mUnk_30; // pointer to somewhere inside "CEBK"
|
||||
/* 34 */ void *mUnk_34;
|
||||
/* 38 */ unk32 mUnk_38;
|
||||
@@ -605,6 +823,14 @@ public:
|
||||
/* 78 */
|
||||
|
||||
UnkSubStruct19();
|
||||
UnkSubStruct19(unk32 param1, unk32 param2) {
|
||||
this->mUnk_6E = true;
|
||||
this->mUnk_70 = 0;
|
||||
this->mUnk_5C.x = 0;
|
||||
this->mUnk_5C.y = 0;
|
||||
this->mUnk_74 = 0;
|
||||
this->func_ov000_0206082c(param1, param2);
|
||||
}
|
||||
|
||||
void func_ov000_0206082c(unk32 param1, unk32 param2);
|
||||
void func_ov000_02060950();
|
||||
@@ -615,4 +841,6 @@ public:
|
||||
unk32 func_ov000_02060af8(void);
|
||||
void func_ov000_02060b50();
|
||||
void func_ov000_02060b64(void);
|
||||
unk32 func_ov000_02060c28(void);
|
||||
void func_ov000_02060bd8(unk32 param1);
|
||||
};
|
||||
|
||||
@@ -44,4 +44,7 @@
|
||||
|
||||
#define STRUCT_PAD(from, to) unsigned char _pad_##from[(to) - (from)]
|
||||
|
||||
#define SUBSCREEN_WIDTH 256
|
||||
#define SUBSCREEN_HEIGHT 192
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user