mirror of
https://github.com/zeldaret/st
synced 2026-10-09 13:56:17 -04:00
Match ActorBomb (#158)
* actor prog from overlay 0 * fix build issues * ActorBomb OK for eur * ActorBomb OK for eur1, usa and jp * fix regressions
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
#include "Actor/ActorRef.hpp"
|
||||
#include "Map/MapObjectId.hpp"
|
||||
#include "MapObject/MapObjectProfile.hpp"
|
||||
#include "MapObject/MapObjectRef.hpp"
|
||||
#include "Physics/Cylinder.hpp"
|
||||
#include "Render/ModelRender.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
@@ -134,9 +135,7 @@ public:
|
||||
/* 1C */ MapObjFlags mFlags[1];
|
||||
/* 1E */ unk16 mUnk_1E;
|
||||
/* 20 */ MapObject_20 mUnk_20; // parameters
|
||||
/* 38 */ unk8 mUnk_38;
|
||||
/* 39 */ unk8 mUnk_39;
|
||||
/* 3A */ Vec2bCpp mUnk_3A;
|
||||
/* 38 */ MapObjRef mRef;
|
||||
/* 3C */ MapObjectProfile *mpProfile;
|
||||
/* 40 */
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ public:
|
||||
|
||||
// data_ov031_02115844
|
||||
/* 00 */ virtual ~MapObjectTreasureSpawned_74() override {}
|
||||
/* 1C */ virtual void vfunc_1C(UnkSystem4_vfunc_1C *param1) override;
|
||||
/* 1C */ virtual void vfunc_1C(G3d_RenderState *param1) override;
|
||||
|
||||
void func_ov000_0209dde0(void);
|
||||
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
#pragma once
|
||||
|
||||
#include "MapObject/MapObject.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b34c4.hpp"
|
||||
#include "files.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "math.hpp"
|
||||
|
||||
struct MapObject;
|
||||
|
||||
typedef void (*UnkCallback_func_01fff4cc)(void *, void *);
|
||||
|
||||
struct UnkStruct_MapObjCreateData {
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
#pragma once
|
||||
|
||||
#include "MapObject/MapObjectManager.hpp"
|
||||
#include "global.h"
|
||||
#include "math.hpp"
|
||||
#include "types.h"
|
||||
|
||||
struct MapObject;
|
||||
|
||||
struct MapObjRef {
|
||||
union {
|
||||
struct {
|
||||
union {
|
||||
struct {
|
||||
/* 00 */ u8 unk_00;
|
||||
/* 01 */ u8 unk_01;
|
||||
};
|
||||
u16 unk_00_u16;
|
||||
};
|
||||
/* 02 */ Vec2b unk_02;
|
||||
/* 04 */
|
||||
};
|
||||
u32 data;
|
||||
};
|
||||
|
||||
MapObjRef() {}
|
||||
|
||||
MapObjRef(u32 value) {
|
||||
this->data = value;
|
||||
}
|
||||
|
||||
void Reset() {
|
||||
this->data = 0;
|
||||
}
|
||||
|
||||
const bool operator==(const MapObjRef &other) const {
|
||||
return other.data == this->data;
|
||||
}
|
||||
|
||||
const bool operator!=(const MapObjRef &other) const {
|
||||
return !(*this == other);
|
||||
}
|
||||
|
||||
void operator=(const MapObjRef &other) {
|
||||
this->data = other.data;
|
||||
}
|
||||
|
||||
const u32 Get32() const {
|
||||
return this->data;
|
||||
}
|
||||
|
||||
Vec2bCpp &GetUnk02() {
|
||||
return *(Vec2bCpp *) &this->unk_02;
|
||||
}
|
||||
};
|
||||
|
||||
// for arrays
|
||||
struct MapObjRefElem {
|
||||
MapObjRef ref;
|
||||
|
||||
MapObjRefElem() {
|
||||
this->ref.Reset();
|
||||
}
|
||||
};
|
||||
@@ -20,7 +20,7 @@ public:
|
||||
|
||||
// data_ov000_020b36e0
|
||||
/* 00 */ virtual ~MapObjectSwitchStep_40() override {}
|
||||
/* 1C */ virtual void vfunc_1C(UnkSystem4_vfunc_1C *param1) override;
|
||||
/* 1C */ virtual void vfunc_1C(G3d_RenderState *param1) override;
|
||||
|
||||
void func_ov000_0209dde0(void);
|
||||
};
|
||||
|
||||
@@ -20,7 +20,7 @@ public:
|
||||
MapObjectUnkSWSW_40(G3d_Model *pModel);
|
||||
|
||||
// data_ov032_021227ac
|
||||
/* 1C */ virtual void vfunc_1C(UnkSystem4_vfunc_1C *param1) override;
|
||||
/* 1C */ virtual void vfunc_1C(G3d_RenderState *param1) override;
|
||||
|
||||
void func_ov032_021210a0(fx32 param1);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user