Decompiling SWHT (#138)

* feat: update

* feat: improve matching (98%)

* feat: match multiflags

* style: remove outdated comments
This commit is contained in:
Alessevan
2026-08-21 11:54:39 -04:00
committed by GitHub
parent 2d4deebb84
commit fd3a2340e3
13 changed files with 415 additions and 62 deletions
+1 -1
View File
@@ -56,7 +56,7 @@ public:
/* 05 */ unk8 mUnk_05;
/* 06 */ unk8 mUnk_06;
/* 07 */ unk8 mUnk_07;
/* 08 */ unk32 mUnk_08;
/* 08 */ u32 mUnk_08;
/* 0C */
MapObject_10_Base(); // func_ov000_0207c018
+31 -16
View File
@@ -1,39 +1,54 @@
//! TODO: This file was generated automatically and might contain errors
#pragma once
#include "MapObject/MapObject.hpp"
#include "MapObject/MapObjectProfile.hpp"
#include "MapObject_ov031.hpp"
#include "global.h"
#include "types.h"
enum MapObjUnkSWHTState_ {
MapObjUnkSWHTState_0 = 0,
MapObjUnkSWHTState_1 = 1,
MapObjUnkSWHTState_Max
};
class MapObjectUnkSWHT : public MapObject {
public:
/* 00 (base) */
/* 40 */
/* 000 (base) */
/* 040 */ u32 mUnk_040;
/* 044 */ unk32 mUnk_044;
/* 048 */ unk32 mUnk_048;
/* 04C */ unk32 mUnk_04C;
/* 050 */ unk32 mUnk_050;
/* 054 */ ModelRender mUnk_054;
/* 0B4 */ UnkSystem5 mUnk_0B4;
/* 0D4 */ unk32 mUnk_0D4;
/* 0D8 */ STRUCT_PAD(0x0D8, 0x0F4);
/* 0F4 */ UnkSystem7 mUnk_0F4;
/* 0F8 */ unk32 mUnk_0F8;
/* 0FC */ unk32 mUnk_0FC;
/* 100 */
MapObjectUnkSWHT();
/* 00 */ virtual bool vfunc_00() override;
/* 08 */ virtual void vfunc_08() override;
/* 0C */ virtual void vfunc_0C() override;
/* 14 */ virtual void vfunc_14() override;
/* 1C */ virtual bool vfunc_1C(ActorRef param1, unk32 param2, VecFx32 *param3) override;
/* 30 */ virtual ~MapObjectUnkSWHT() override;
void func_ov031_02101be8(void);
void func_ov031_02101ce8(void);
void func_ov031_02101dd8(void);
void func_ov031_02101e1c(void);
void func_ov031_02101f88(void);
void func_ov031_02101f94(void);
void func_ov031_02101fb4(void);
void func_ov031_021020ec(void);
void func_ov031_021021c0(void);
void func_ov031_021023b0(void);
void func_ov031_02101dd8();
bool func_ov031_021020ec();
void func_ov031_021021c0(unk16 state, unk32 param2);
void func_ov031_021023b0();
};
class MapObjectProfileUnkSWHT : public MapObjectProfile {
class MapObjectProfileUnkSWHT : public MapObjectProfilePot_Base {
public:
/* 00 (base) */
MapObjectProfileUnkSWHT();
~MapObjectProfileUnkSWHT();
/* 0C */ virtual MapObject *Create();
+1 -1
View File
@@ -78,7 +78,7 @@ public:
void func_ov000_020a0000(UnkStruct_PlayerGet_ec *param1, void *param2, unk32 *param3, VecFx32 *param4, unk32 param5);
void func_ov000_020a00d4(UnkStruct_PlayerGet_ec *param1, unk32 param2, unk32 param3, unk32 param4, VecFx32 *param5,
unk32 param6);
void func_ov000_020a0110(UnkStruct_PlayerGet_ec *param1);
void func_ov000_020a0110(UnkSystem7 *param1);
void func_ov000_020a0140(UnkSystem7 *param1, VecFx32 *param2);
void func_ov000_020a0220(void *param1, void *param2);
+3 -1
View File
@@ -37,4 +37,6 @@
#define GET_FLAGS_IMPL2(N, ...) GET_FLAGS_##N(__VA_ARGS__)
#define GET_FLAGS_IMPL(N, ...) GET_FLAGS_IMPL2(N, __VA_ARGS__)
#define GET_FLAGS(...) GET_FLAGS_IMPL(VA_NARGS(__VA_ARGS__), __VA_ARGS__)
#define SET_FLAGS(arr, ...) (*(arr) = GET_FLAGS_IMPL(VA_NARGS(__VA_ARGS__), __VA_ARGS__))
#define INIT_FLAGS(arr, ...) (*(arr) = GET_FLAGS_IMPL(VA_NARGS(__VA_ARGS__), __VA_ARGS__))
#define SET_FLAGS(arr, ...) (*(arr) |= GET_FLAGS_IMPL(VA_NARGS(__VA_ARGS__), __VA_ARGS__))
#define UNSET_FLAGS(arr, ...) (*(arr) &= ~(GET_FLAGS_IMPL(VA_NARGS(__VA_ARGS__), __VA_ARGS__)))