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:
Yanis
2026-10-08 03:35:12 +02:00
committed by GitHub
parent 2c723299b7
commit 89dedbb3d1
86 changed files with 746 additions and 458 deletions
+2 -3
View File
@@ -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 */
+1 -1
View File
@@ -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);
+2 -1
View File
@@ -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 {
+64
View File
@@ -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();
}
};
+1 -1
View File
@@ -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);
};
+1 -1
View File
@@ -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);
};