mirror of
https://github.com/zeldaret/st
synced 2026-09-29 10:51:42 -04:00
Decompile overlay 102 (CourseExecLand) (#150)
* fix extra cflags not being used * decomp overlay 102 + mlck "ok" * fix build and match issues * type func_01fff350 param1 * add changes report (based on dtk-template) * docs * changes_fmt implicits * fix regressions * cleanup * ninja format * CourseExecLand.cpp -> UnkStruct_027e0ce0_40_102.cpp
This commit is contained in:
@@ -173,6 +173,10 @@ public:
|
||||
return isVertical;
|
||||
}
|
||||
|
||||
void Kill(void) {
|
||||
UNSET_FLAG(this->mFlags, MapObjFlag_Alive);
|
||||
}
|
||||
|
||||
MapObject();
|
||||
|
||||
MapObjectId GetMapObjectId();
|
||||
|
||||
@@ -34,10 +34,6 @@ class MapObjectDoorClick : public MapObjectDoorBase {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 94 */ UnkSystem6_Derived2 mUnk_94;
|
||||
/* 9C */ unk8 mUnk_9C; // bool?
|
||||
/* 9D */ unk8 mUnk_9D; // pad?
|
||||
/* 9E */ unk8 mUnk_9E; // pad?
|
||||
/* 9F */ unk8 mUnk_9F; // pad?
|
||||
/* A0 */ UnkStruct_PlayerGet_ec mUnk_A0;
|
||||
/* A0 */ unk32 mUnk_A4;
|
||||
/* A8 */ MapObject_10 mUnk_A8;
|
||||
|
||||
@@ -44,10 +44,6 @@ class MapObjectDoorDangerSpawn : public MapObjectDoorBase {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 94 */ UnkSystem6_Derived2 mUnk_94;
|
||||
/* 9C */ unk8 mUnk_9C;
|
||||
/* 9D */ unk8 mUnk_9D;
|
||||
/* 9E */ unk8 mUnk_9E;
|
||||
/* 9F */ unk8 mUnk_9F;
|
||||
/* A0 */ unk8 mUnk_A0;
|
||||
/* A1 */ bool mUnk_A1;
|
||||
/* A2 */ bool mUnk_A2;
|
||||
|
||||
@@ -23,10 +23,6 @@ class MapObjectDoorKey : public MapObjectDoorBase {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 94 */ UnkSystem6_Derived2 mUnk_94;
|
||||
/* 9C */ unk8 mUnk_9C;
|
||||
/* 9D */ unk8 mUnk_9D; // pad?
|
||||
/* 9E */ unk8 mUnk_9E; // pad?
|
||||
/* 9F */ unk8 mUnk_9F; // pad?
|
||||
/* A0 */ UnkStruct_PlayerGet_ec mUnk_A0;
|
||||
/* A4 */ bool mUnk_A4;
|
||||
/* A5 */ unk8 mUnk_A5; // pad?
|
||||
|
||||
@@ -10,9 +10,6 @@ class MapObjectMiniBlocks : public MapObject {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 40 */ UnkSystem6_Derived2 mUnk_40;
|
||||
/* 48 */ unk8 mUnk_48;
|
||||
/* 49 */ unk8 mUnk_49; // pad?
|
||||
/* 4A */ unk16 mUnk_4A; // pad?
|
||||
/* 4C */
|
||||
|
||||
MapObjectMiniBlocks();
|
||||
|
||||
@@ -5,26 +5,53 @@
|
||||
#include "MapObject/MapObject.hpp"
|
||||
#include "MapObject/MapObjectProfile.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
typedef MapObjState MapObjectUnkPTFLState;
|
||||
enum MapObjectUnkPTFLState_ {
|
||||
/* 0 */ MapObjectUnkPTFLState_0 = 0,
|
||||
/* 1 */ MapObjectUnkPTFLState_1 = 1,
|
||||
/* 2 */ MapObjectUnkPTFLState_2 = 2,
|
||||
/* 3 */ MapObjectUnkPTFLState_3 = 3,
|
||||
/* 4 */ MapObjectUnkPTFLState_4 = 4,
|
||||
};
|
||||
|
||||
class MapObjectUnkPTFL : public MapObject {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 40 */
|
||||
/* 40 */ unk32 mUnk_40;
|
||||
/* 44 */ u16 mUnk_44;
|
||||
/* 46 */ unk16 mUnk_46;
|
||||
/* 48 */ unk32 mUnk_48;
|
||||
/* 4C */ unk32 mUnk_4C;
|
||||
/* 50 */ unk32 mUnk_50;
|
||||
/* 54 */ fx16 mUnk_54;
|
||||
/* 56 */ volatile u16 mUnk_56;
|
||||
/* 58 */ volatile u16 mUnk_58;
|
||||
/* 5A */ u8 mUnk_5A;
|
||||
/* 5B */ bool mUnk_5B;
|
||||
/* 5C */ bool mUnk_5C;
|
||||
|
||||
MapObjectUnkPTFL();
|
||||
|
||||
/* 08 */ virtual void vfunc_08();
|
||||
/* 0C */ virtual void vfunc_0C();
|
||||
/* 0C */ virtual void vfunc_14();
|
||||
/* 30 */ virtual ~MapObjectUnkPTFL() override;
|
||||
|
||||
// overlay 70
|
||||
void func_ov070_0214ba34(void);
|
||||
void func_ov070_0214bb78(void);
|
||||
void func_ov070_0214bbd0(void);
|
||||
void func_ov070_0214bbd0(MapObjectUnkPTFLState state, bool param2);
|
||||
void func_ov070_0214bd48(void);
|
||||
void func_ov070_0214bd90(void);
|
||||
void func_ov070_0214bf58(void);
|
||||
void func_ov070_0214bf5c(void);
|
||||
void func_ov070_0214bf6c(void);
|
||||
bool func_ov070_0214bf5c(void);
|
||||
bool func_ov070_0214bf6c(void);
|
||||
void func_ov070_0214bfbc(void);
|
||||
|
||||
// overlay 102
|
||||
void func_ov102_0218419c();
|
||||
void func_ov102_021843b4();
|
||||
};
|
||||
|
||||
class MapObjectProfileUnkPTFL : public MapObjectProfile {
|
||||
|
||||
@@ -2,23 +2,47 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "Actor/ActorUnkSCCN.hpp"
|
||||
#include "MapObject/MapObject.hpp"
|
||||
#include "MapObject/MapObjectProfile.hpp"
|
||||
#include "global.h"
|
||||
#include "math.hpp"
|
||||
#include "types.h"
|
||||
|
||||
enum MapObjectUnkSANDState_ {
|
||||
/* 0 */ MapObjectUnkSANDState_0 = 0,
|
||||
/* 0 */ MapObjectUnkSANDState_1 = 1,
|
||||
};
|
||||
|
||||
class MapObjectUnkSAND_40 {
|
||||
public:
|
||||
/* 00 */ u8 mUnk_00;
|
||||
/* 01 */ u8 mUnk_01;
|
||||
/* 02 */ unk16 mUnk_02;
|
||||
/* 04 */ unk16 mUnk_04;
|
||||
/* 06 */
|
||||
|
||||
void func_ov102_021835c4(VecFx32 *param1);
|
||||
void func_ov102_021837a8(Vec2bCpp param1, VecFx32 *param2);
|
||||
};
|
||||
|
||||
class MapObjectUnkSAND : public MapObject {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 40 */
|
||||
/* 40 */ MapObjectUnkSAND_40 mUnk_40[2];
|
||||
/* 4C */ unk32 mUnk_4C;
|
||||
/* 50 */ ActorUnkSCCN_B8 mUnk_50;
|
||||
/* 60 */ VecFx32 mUnk_60;
|
||||
|
||||
MapObjectUnkSAND();
|
||||
|
||||
/* 08 */ virtual void vfunc_08();
|
||||
/* 0C */ virtual void vfunc_0C();
|
||||
/* 0C */ virtual void vfunc_14();
|
||||
/* 30 */ virtual ~MapObjectUnkSAND() override;
|
||||
|
||||
void func_ov031_0210acd4(void);
|
||||
void func_ov031_0210ad64(void);
|
||||
void func_ov031_0210ae00(void);
|
||||
void func_ov031_0210ae90(void);
|
||||
void func_ov031_0210af50(void);
|
||||
void func_ov031_0210b018(void);
|
||||
@@ -26,11 +50,13 @@ public:
|
||||
void func_ov031_0210b0ac(void);
|
||||
void func_ov031_0210b0e4(void);
|
||||
void func_ov031_0210b144(void);
|
||||
void func_ov031_0210b17c(void);
|
||||
void func_ov031_0210b1ec(void);
|
||||
void func_ov031_0210b2cc(void);
|
||||
void func_ov031_0210b32c(void);
|
||||
void func_ov031_0210b34c(void);
|
||||
|
||||
static unk32 func_ov031_0210ae00(Vec2bCpp param1, void *param2);
|
||||
static void func_ov031_0210b17c(MapObjectUnkSAND_40 *param1, unk32 param2);
|
||||
};
|
||||
|
||||
class MapObjectProfileUnkSAND : public MapObjectProfile_Derived6 {
|
||||
|
||||
@@ -19,8 +19,6 @@ class MapObjectUnkSKDI : public MapObject {
|
||||
public:
|
||||
/* 000 (base) */
|
||||
/* 040 */ UnkSystem6_Derived2 mUnk_040;
|
||||
/* 048 */ unk8 mUnk_048;
|
||||
/* 049 */ STRUCT_PAD(0x049, 0x04C);
|
||||
/* 04C */ ActorBomb_unk mUnk_04C[0x4];
|
||||
/* 07C */ unk32 mUnk_07C;
|
||||
/* 080 */ unk32 mUnk_080;
|
||||
|
||||
@@ -10,8 +10,6 @@ class MapObjectUnkSTAT : public MapObject {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 40 */ UnkSystem6_Derived2 mUnk_40;
|
||||
/* 48 */ unk8 mUnk_48;
|
||||
/* 49 */ STRUCT_PAD(0x49, 0x4C);
|
||||
/* 4C */ unk32 mUnk_4C;
|
||||
/* 50 */ unk32 mUnk_50;
|
||||
/* 54 */ unk32 mUnk_54;
|
||||
|
||||
Reference in New Issue
Block a user