diff options
| author | Aetias <144526980+AetiasHax@users.noreply.github.com> | 2025-07-31 21:22:55 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-31 21:22:55 +0200 |
| commit | 82f54b2f075e7f6612b80edf52b37bb6377e0d49 (patch) | |
| tree | 93550aa10732bc050088b5773ce3ea0d09f6e0dc /include | |
| parent | 8ad6359c7d3c7afcbddd7d450b7fa4b9764255b6 (diff) | |
EquipBombchu (#131)
* Map symbol in Game
* EquipBombchu 12%
* EquipBombchu 53%
* EquipBombchu 71%
* configure: Don't verify dsd version if `--dsd` specified
* EquipBombchu 89%
* Fix regression
Diffstat (limited to 'include')
| -rw-r--r-- | include/Actor/Actor.hpp | 3 | ||||
| -rw-r--r-- | include/Actor/ActorType.hpp | 2 | ||||
| -rw-r--r-- | include/Actor/Navi/ActorNavi.hpp | 7 | ||||
| -rw-r--r-- | include/Actor/Player/ActorBlast.hpp | 2 | ||||
| -rw-r--r-- | include/Actor/Player/ActorBomb.hpp | 2 | ||||
| -rw-r--r-- | include/Actor/Player/ActorRope.hpp | 2 | ||||
| -rw-r--r-- | include/DTCM/UnkStruct_027e0de4.hpp | 10 | ||||
| -rw-r--r-- | include/DTCM/UnkStruct_027e0f6c.hpp | 45 | ||||
| -rw-r--r-- | include/DTCM/UnkStruct_027e103c.hpp | 2 | ||||
| -rw-r--r-- | include/Item/ItemManager.hpp | 14 | ||||
| -rw-r--r-- | include/Map/MapBase.hpp | 2 | ||||
| -rw-r--r-- | include/Map/MapManager.hpp | 60 | ||||
| -rw-r--r-- | include/Map/MapOverworld.hpp | 2 | ||||
| -rw-r--r-- | include/Map/TilePos.hpp | 5 | ||||
| -rw-r--r-- | include/Player/EquipBombchu.hpp | 52 | ||||
| -rw-r--r-- | include/Player/EquipItem.hpp | 6 | ||||
| -rw-r--r-- | include/Render/ModelRender.hpp | 6 | ||||
| -rw-r--r-- | include/Unknown/UnkStruct_020e9360.hpp | 2 | ||||
| -rw-r--r-- | include/Unknown/UnkStruct_ov000_020beba8.hpp | 20 | ||||
| -rw-r--r-- | include/Unknown/UnkStruct_ov000_020c0c08.hpp | 23 | ||||
| -rw-r--r-- | include/Unknown/UnkStruct_ov000_020e9c88.hpp | 10 |
21 files changed, 217 insertions, 60 deletions
diff --git a/include/Actor/Actor.hpp b/include/Actor/Actor.hpp index b58c39c8..77a943a4 100644 --- a/include/Actor/Actor.hpp +++ b/include/Actor/Actor.hpp @@ -12,6 +12,7 @@ #include "Physics/Transform.hpp" #include "Player/EquipBoomerang.hpp" #include "System/SysNew.hpp" +#include "Unknown/UnkStruct_ov000_020beba8.hpp" struct Actor_UnkStruct_012 { /* 00 */ u16 mUnk_00; @@ -48,7 +49,7 @@ struct Actor_UnkStruct_09c { /* 0 */ u16 mUnk_0; /* 2 */ unk8 mUnk_2; /* 3 */ unk8 mUnk_3; - /* 4 */ unk32 mUnk_4; + /* 4 */ UnkStruct_ov000_020beba8 *mUnk_4; /* 8 */ Actor_UnkStruct_09c(); diff --git a/include/Actor/ActorType.hpp b/include/Actor/ActorType.hpp index 30f2b0d1..b5ba6685 100644 --- a/include/Actor/ActorType.hpp +++ b/include/Actor/ActorType.hpp @@ -36,6 +36,7 @@ enum ActorTypeId_ { ActorTypeId_Arrow = 'ARRW', ActorTypeId_Blast = 'BLST', ActorTypeId_Bomb = 'BOMB', + ActorTypeId_Bombchu = 'BMTY', ActorTypeId_GrapplingHook = 'ROPE', ActorTypeId_PlayerDummy = 'PLDM', @@ -85,6 +86,7 @@ enum ActorTypeId_ { ActorTypeId_FLTB = 'FLTB', ActorTypeId_FLTM = 'FLTM', ActorTypeId_FORC = 'FORC', + ActorTypeId_PWBS = 'PWBS', ActorTypeId_SBEM = 'SBEM', ActorTypeId_STNE = 'STNE', ActorTypeId_TARU = 'TARU', diff --git a/include/Actor/Navi/ActorNavi.hpp b/include/Actor/Navi/ActorNavi.hpp index 1a15e666..44027971 100644 --- a/include/Actor/Navi/ActorNavi.hpp +++ b/include/Actor/Navi/ActorNavi.hpp @@ -2,6 +2,7 @@ #include "Actor/Navi/ActorNaviBase.hpp" #include "Unknown/UnkStruct_ov000_020beba8.hpp" +#include "Unknown/UnkStruct_ov000_020c0c08.hpp" class UnkStruct_ov000_020b8110 : public UnkStruct_ov000_020beba8 { public: @@ -10,7 +11,7 @@ public: /* 00 */ virtual ~UnkStruct_ov000_020b8110() override; /* 08 */ virtual void vfunc_08(unk16 *param1) override; - /* 14 */ virtual void vfunc_14(u16 *param1) override; + /* 14 */ virtual bool vfunc_14(u16 *param1) override; /* 18 */ virtual void vfunc_18(s32 *param1) override; /* 1c */ @@ -23,8 +24,8 @@ public: /* 000 (base) */ /* 294 */ ModelRender mUnk_294; - /* 2f0 */ void *mUnk_2f0; - /* 2f4 */ unk8 mUnk_2f4[0x40]; + /* 2f0 */ UnkStruct_ov000_020c0c08 mUnk_2f0; + /* 314 */ UnkStruct_ov000_020c0c08_04 mUnk_314; /* 334 */ Vec3p mUnk_334; /* 340 */ unk16 mUnk_340; /* 342 */ unk8 mUnk_342[0x2]; diff --git a/include/Actor/Player/ActorBlast.hpp b/include/Actor/Player/ActorBlast.hpp index 431cc1d7..4b546b6f 100644 --- a/include/Actor/Player/ActorBlast.hpp +++ b/include/Actor/Player/ActorBlast.hpp @@ -54,6 +54,6 @@ class ActorBlast_Unk1 : public UnkStruct_ov000_020beba8 { /* 70 */ /* 00 */ virtual ~ActorBlast_Unk1(); - /* 10 */ virtual void vfunc_10(s32 *param1); + /* 10 */ virtual bool vfunc_10(s32 *param1); /* 18 */ }; diff --git a/include/Actor/Player/ActorBomb.hpp b/include/Actor/Player/ActorBomb.hpp index 3817a73e..2c1cd196 100644 --- a/include/Actor/Player/ActorBomb.hpp +++ b/include/Actor/Player/ActorBomb.hpp @@ -16,7 +16,7 @@ public: /* 00 */ virtual ~ActorBomb_Unk1() override; /* 08 */ virtual void vfunc_0c(unk16 *param1) override; - /* 0c */ virtual void vfunc_10(s32 *param1) override; + /* 0c */ virtual bool vfunc_10(s32 *param1) override; /* 18 */ }; diff --git a/include/Actor/Player/ActorRope.hpp b/include/Actor/Player/ActorRope.hpp index 245a7851..65e7fa50 100644 --- a/include/Actor/Player/ActorRope.hpp +++ b/include/Actor/Player/ActorRope.hpp @@ -15,7 +15,7 @@ public: /* 00 */ virtual ~ActorRope_Unk_0219a3b0() override; /* 08 */ virtual void vfunc_08(unk16 *param1) override; - /* 10 */ virtual void vfunc_10(s32 *param1) override; + /* 10 */ virtual bool vfunc_10(s32 *param1) override; /* 1c */ inline ActorRope_Unk_0219a3b0() : diff --git a/include/DTCM/UnkStruct_027e0de4.hpp b/include/DTCM/UnkStruct_027e0de4.hpp new file mode 100644 index 00000000..d834b193 --- /dev/null +++ b/include/DTCM/UnkStruct_027e0de4.hpp @@ -0,0 +1,10 @@ +#pragma once + +#include "global.h" +#include "types.h" + +struct UnkStruct_027e0de4 { + void func_ov000_0207bb1c(unk32 param1, void (*param2)(void *), void *param3); +}; + +extern UnkStruct_027e0de4 data_027e0de4; diff --git a/include/DTCM/UnkStruct_027e0f6c.hpp b/include/DTCM/UnkStruct_027e0f6c.hpp index 6bddc3ca..7608b75b 100644 --- a/include/DTCM/UnkStruct_027e0f6c.hpp +++ b/include/DTCM/UnkStruct_027e0f6c.hpp @@ -3,7 +3,52 @@ #include "global.h" #include "types.h" +class UnkStruct_027e0f6c_Unk_1 { +public: + /* 00 */ unk32 mUnk_00; + /* 04 */ unk32 mUnk_04; + /* 08 */ unk32 mUnk_08; + /* 0c */ unk32 mUnk_0c; + /* 10 */ + + UnkStruct_027e0f6c_Unk_1(); + ~UnkStruct_027e0f6c_Unk_1(); +}; + +class UnkStruct_027e0f6c_20 { +public: + /* 00 */ u16 mUnk_00; + /* 02 */ u16 mUnk_02; + /* 04 */ u16 mUnk_04; + /* 06 */ u16 mUnk_06; + /* 08 */ Vec3p mUnk_08; + /* 14 */ s32 mUnk_14; + /* 18 */ UnkStruct_027e0f6c_Unk_1 mUnk_18[3]; + /* 48 */ s32 mUnk_48; + /* 4c */ + + UnkStruct_027e0f6c_20 &operator=(const UnkStruct_027e0f6c_20 &other) { + u16 temp_r2 = other.mUnk_00; + mUnk_02 = other.mUnk_02; + mUnk_00 = temp_r2; + mUnk_04 = other.mUnk_04; + mUnk_06 = other.mUnk_06; + mUnk_08.x = other.mUnk_08.x; + mUnk_08.y = other.mUnk_08.y; + mUnk_08.z = other.mUnk_08.z; + mUnk_14 = other.mUnk_14; + mUnk_18[0] = other.mUnk_18[0]; + mUnk_18[1] = other.mUnk_18[1]; + mUnk_18[2] = other.mUnk_18[2]; + mUnk_48 = other.mUnk_48; + return *this; + } +}; + struct UnkStruct_027e0f6c { + /* 00 */ unk8 mUnk_00[0x20]; + /* 20 */ UnkStruct_027e0f6c_20 *mUnk_20; + void func_ov004_02102770(); }; diff --git a/include/DTCM/UnkStruct_027e103c.hpp b/include/DTCM/UnkStruct_027e103c.hpp index bb094ec1..dd04d064 100644 --- a/include/DTCM/UnkStruct_027e103c.hpp +++ b/include/DTCM/UnkStruct_027e103c.hpp @@ -139,7 +139,7 @@ struct UnkStruct_027e103c { void func_ov005_02104114(); void func_ov005_0210413c(); void func_ov005_02104160(); - void func_Ov005_0210418c(char param1); + void func_ov005_0210418c(char param1); }; extern UnkStruct_027e103c *data_027e103c; diff --git a/include/Item/ItemManager.hpp b/include/Item/ItemManager.hpp index 10a64427..2f552bb5 100644 --- a/include/Item/ItemManager.hpp +++ b/include/Item/ItemManager.hpp @@ -51,6 +51,12 @@ enum DungeonItemModelId_ { DungeonItemModelId_COUNT,
};
+struct ItemManager_Unk1 {
+ /* 00 */ char mUnk_00[0x10];
+ /* 10 */ unk32 mUnk_10[2];
+ /* 18 */
+};
+
class ItemManager : public SysObject {
public:
/* 000 */ ItemFlag mEquippedItem;
@@ -149,10 +155,10 @@ public: // Item model
void func_ov00_020ad528();
ItemModel *GetItemModel(ItemModelId id);
- void func_ov00_020ad538(unk32 param1) const;
- void func_ov00_020ad560(unk32 param1) const;
+ void *func_ov00_020ad538(const ItemManager_Unk1 *param1) const;
+ void *func_ov00_020ad560(const ItemManager_Unk1 *param1) const;
ItemModel *GetDungeonItemModel(DungeonItemModelId id);
- void func_ov00_020ad594(unk32 param1) const;
+ void *func_ov00_020ad594(const ItemManager_Unk1 *param1) const;
void LoadFanfareItem(ItemId id);
bool GetFanfareItemScale(Vec3p *pScale) const;
void LoadDungeonItemModels();
@@ -209,8 +215,6 @@ public: // Unknown
void func_ov00_020ae4dc(s32 param1);
- void func_ov000_020c0c44(void *);
- void func_ov000_020c0e5c(void *, unk32);
};
extern ItemManager *gItemManager;
diff --git a/include/Map/MapBase.hpp b/include/Map/MapBase.hpp index 286e6156..8decca85 100644 --- a/include/Map/MapBase.hpp +++ b/include/Map/MapBase.hpp @@ -141,7 +141,7 @@ public: /* 60 */ virtual unk32 vfunc_60(TilePos *param_1); /* 64 */ virtual unk32 vfunc_64(); /* 68 */ virtual unk32 vfunc_68(Vec3p *param_1, bool param_2); - /* 6c */ virtual unk8 vfunc_6c(unk32 param_2, unk32 param_3, unk32 param_4); + /* 6c */ virtual unk8 vfunc_6c(Vec3p *param_2, unk32 *param_3, Vec3p *param_4); /* 70 */ virtual unk32 vfunc_70(Vec3p *param_2); /* 74 */ virtual unk32 *vfunc_74(Vec3p *param_2); /* 78 */ virtual unk32 *vfunc_78(TilePos *param_1); diff --git a/include/Map/MapManager.hpp b/include/Map/MapManager.hpp index 9989f31f..56888ab1 100644 --- a/include/Map/MapManager.hpp +++ b/include/Map/MapManager.hpp @@ -8,8 +8,10 @@ #include "Map/Course.hpp" #include "Map/MapBase.hpp" #include "Physics/AABB.hpp" +#include "Physics/Sphere.hpp" #include "Save/AdventureFlags.hpp" #include "System/SysNew.hpp" +#include "Unknown/UnkStruct_ov000_020beba8.hpp" struct MapManager_Unk1 { /* 0 */ unk32 mUnk_0; @@ -65,6 +67,57 @@ struct UnkStruct_0208210c_param3 { /* 1c4 */ }; +struct UnkStruct { + /* 00 */ unk8 mUnk_00[0x24]; + /* 24 */ u16 mUnk_24; + /* 26 */ u16 mUnk_26; + /* 28 */ u16 mUnk_28; + /* 2a */ u16 mUnk_2a; + /* 2c */ u16 mUnk_2c; + /* 2e */ unk8 mUnk_2e; + /* 2f */ unk8 mUnk_2f; + /* 30 */ unk8 mUnk_30; + /* 31 */ unk8 mUnk_31; + /* 32 */ unk8 mUnk_32; + /* 33 */ unk8 mUnk_33; + /* 34 */ unk8 mUnk_34; + /* 35 */ unk8 mUnk_35; + /* 36 */ unk8 mUnk_36; + /* 37 */ unk8 mUnk_37; + /* 38 */ unk8 mUnk_38; + /* 3c */ Vec3p mUnk_3c; + /* 48 */ unk8 mUnk_48[0x6]; + /* 4e */ u8 mUnk_4e; + /* 4f */ u8 mUnk_4f; + /* 50 */ u8 mUnk_50; + /* 51 */ u8 mUnk_51; + /* 52 */ unk8 mUnk_52[0x6]; + /* 58 */ u8 mUnk_58; + /* 59 */ u8 mUnk_59; + /* 5a */ u8 mUnk_5a; + /* 5b */ u8 mUnk_5b; + /* 5c */ u8 mUnk_5c; + /* 5d */ u8 mUnk_5d; + /* 5e */ + + inline UnkStruct() : + mUnk_24(-1), + mUnk_26(-1), + mUnk_28(-1), + mUnk_2a(-1), + mUnk_2c(0), + mUnk_4e(0), + mUnk_4f(0), + mUnk_50(0), + mUnk_51(0), + mUnk_58(0), + mUnk_59(0), + mUnk_5a(0), + mUnk_5b(0), + mUnk_5c(0), + mUnk_5d(0) {} +}; + class MapManager : public SysObject { public: /* 00 */ Course *mCourse; @@ -79,8 +132,9 @@ public: /* 0f */ unk8 mUnk_0f; /* 10 */ - bool func_01ffbe78(Vec3p *param1, Vec3p *param2, Vec3p *param3, Vec4p *param4); - bool func_01ffbf5c(struct UnkStruct *param1, Vec3p *param2, Vec3p *param3, s32 length); + bool func_01ffbe78(Vec3p *param1, Vec3p *param2, Vec3p *param3, Sphere *param4); + bool func_01ffbf5c(struct UnkStruct *param1, Vec3p *param2, Vec3p *param3, s32 length, unk32 param5, unk32 param6, + UnkStruct_ov000_020beba8 *param7, unk32 param8); bool func_01ffc118(s32 *param1, Vec3p *param2, Vec3p *param3, s32 param4, s32 *param5, u32 param6, s32 *param7); bool func_01ffd1e0(s32 *param1, Vec3p *param2, Vec3p *param3, s32 param4, s32 *param5, u32 param6, s32 *param7); @@ -213,7 +267,7 @@ public: unk32 MapData_vfunc_68(Vec3p *param_1, bool param_2); s32 func_ov00_02083ef8(Vec3p *param_2, Vec3p *param_3, bool param_4); unk32 func_ov00_02083f44(Vec3p *param_2, bool param_3); - unk8 MapData_vfunc_6c(unk32 param_2, unk32 param_3, unk32 param_4); + unk8 MapData_vfunc_6c(Vec3p *param_2, unk32 *param_3, Vec3p *param_4); unk32 MapData_vfunc_70(Vec3p *param_2); static void func_ov00_02083fb0(u32 *param_1, MapManager *param_2, Vec3p *param_3); void GetTileWorldBounds(TilePos *tile, AABB *tileBounds); diff --git a/include/Map/MapOverworld.hpp b/include/Map/MapOverworld.hpp index 2fda60af..5e00b782 100644 --- a/include/Map/MapOverworld.hpp +++ b/include/Map/MapOverworld.hpp @@ -12,7 +12,7 @@ public: /* 00 (base) */ /* 24 */ - MapOverworld_Unk1(u32 param1, u8 *param2, unk32 param3); + MapOverworld_Unk1(u32 param1, ItemModel *param2, unk32 param3); }; class MapOverworld : public MapBase { diff --git a/include/Map/TilePos.hpp b/include/Map/TilePos.hpp index 419361d9..46f32076 100644 --- a/include/Map/TilePos.hpp +++ b/include/Map/TilePos.hpp @@ -11,7 +11,12 @@ public: inline TilePos() : x(0), y(0) {} + inline TilePos(bool) {} inline TilePos(u8 x, u8 y) : x(x), y(y) {} }; + +inline bool operator==(TilePos a, TilePos b) { + return (a.x == b.x && a.y == b.y); +} diff --git a/include/Player/EquipBombchu.hpp b/include/Player/EquipBombchu.hpp index c2e924b5..34a7ce61 100644 --- a/include/Player/EquipBombchu.hpp +++ b/include/Player/EquipBombchu.hpp @@ -3,28 +3,24 @@ #include "types.h"
#include "Actor/Actor.hpp"
+#include "Map/TilePos.hpp"
#include "Player/EquipItem.hpp"
#include "Render/ModelRender.hpp"
#include "Unknown/UnkStruct_ov000_020beba8.hpp"
-struct EquipBombchu_Unk1 {
- /* 0 */ unk8 mUnk_0;
- /* 1 */ unk8 mUnk_1;
- /* 2 */
-
- EquipBombchu_Unk1();
-};
-
class EquipBombchu_Unk_02198d00 : public UnkStruct_ov000_020beba8 {
public:
/* 0 (base) */
- /* c */
+ /* 0c */ unk8 mUnk_0c[4];
+ /* 10 */ TilePos mUnk_10;
+ /* 12 (padding) */
+ /* 14 */ Vec3p mUnk_14;
+ /* 20 */
- /* 00 */ virtual ~EquipBombchu_Unk_02198d00() override;
- /* 08 */ virtual void vfunc_08(unk16 *param1) override;
+ /* 08 */ virtual bool vfunc_08(UnkStruct_ov000_020beba8_08 *param1) override;
/* 0c */ virtual void vfunc_0c(unk16 *param1) override;
- /* 10 */ virtual void vfunc_10(s32 *param1) override;
- /* 14 */ virtual void vfunc_14(u16 *param1) override;
+ /* 10 */ virtual bool vfunc_10(s32 *param1) override;
+ /* 14 */ virtual bool vfunc_14(u16 *param1, s32 param2) override;
/* 1c */
inline EquipBombchu_Unk_02198d00() :
@@ -38,18 +34,16 @@ public: /* 00 (base) */
/* 09 */ u8 mUnk_09[3];
- /* 0c */ ActorRef mUnk_0c;
- /* 0c */ u8 mUnk_14[0x4];
- /* 18 */ u32 mUnk_18;
- /* 1c */ EquipBombchu_Unk1 *mUnk_1c;
+ /* 0c */ ActorRef mBombchuRef;
+ /* 14 */ unk32 mUnk_14;
+ /* 18 */ s32 mUnk_18;
+ /* 1c */ TilePos *mUnk_1c;
/* 20 */ Vec3p mUnk_20;
- /* 2c */ void *mUnk_2c;
- /* 30 */ u32 mUnk_30;
- /* 34 */ u32 mUnk_34;
+ /* 2c */ Vec3p mUnk_2c;
/* 38 */ Vec3p mUnk_38;
- /* 44 */ u16 mUnk_44;
- /* 46 */ u8 mUnk_46;
- /* 47 */ char mUnk_47;
+ /* 44 */ s16 mUnk_44;
+ /* 46 */ bool mUnk_46;
+ /* 47 */ bool mUnk_47;
/* 48 */ bool mUnk_48;
/* 49 */ unk8 mUnk_49[3];
/* 4c */
@@ -69,19 +63,17 @@ public: void func_ov014_0213eba4();
void func_ov014_0213ec40();
void func_ov014_0213ec64();
- Actor *func_ov014_0213ed74();
+ Actor *func_ov014_0213ed74() const;
void *func_ov014_0213ed94(s32 param1);
void func_ov014_0213eda0();
- void func_ov058_02199220();
void func_ov058_02199228();
- void func_ov058_02199264();
void func_ov058_0219926c();
bool CheckUsable(unk32 param1) const;
Actor *func_ov058_02199400();
bool func_ov058_02199498(Vec3p *vec);
- void func_ov058_02199ef0(unk16 param1);
- void func_ov058_02199fd8(u32 param1);
- unk32 func_ov058_0219a084(unk16 param1);
- bool func_ov058_0219a3b4(unk16 param1);
+ unk32 func_ov058_02199ef0(TilePos param1);
+ unk32 func_ov058_02199fd8(TilePos param1);
+ unk32 func_ov058_0219a084(TilePos param1);
+ bool func_ov058_0219a3b4(TilePos param1);
};
diff --git a/include/Player/EquipItem.hpp b/include/Player/EquipItem.hpp index 79165634..bf0ce569 100644 --- a/include/Player/EquipItem.hpp +++ b/include/Player/EquipItem.hpp @@ -10,8 +10,8 @@ class EquipItem : public SysObject {
public:
/* 0 (vtable) */
- /* 4 */ u16 mUnk_00;
- /* 6 */ u16 mUnk_04;
+ /* 4 */ s16 mUnk_04;
+ /* 6 */ u16 mUnk_06;
/* 8 */ bool mInUse;
/* 9 */
@@ -40,6 +40,6 @@ public: Vec3p *GetPlayerPos();
void func_ov000_020be99c(Vec3p *param1);
- void func_ov000_020be9e4(s32 param1, s32 param2, s32 param3, s16 param4);
+ void func_ov000_020be9e4(Vec3p param3, s16 param4);
s16 GetAmmo() const;
};
diff --git a/include/Render/ModelRender.hpp b/include/Render/ModelRender.hpp index a9242578..8c8bd394 100644 --- a/include/Render/ModelRender.hpp +++ b/include/Render/ModelRender.hpp @@ -6,6 +6,7 @@ #include <nds/math.h> #include "System/SysNew.hpp" +#include "Unknown/UnkStruct_ov000_020c0c08.hpp" class ItemModel; @@ -31,7 +32,7 @@ public: /* 18 */ virtual void SetTranslation(Vec3p *translation); /* 1c */ virtual void PushGeometryCommands(); /* 20 */ virtual void vfunc_20(); - /* 24 */ virtual void vfunc_24(unk32 param1); + /* 24 */ virtual void vfunc_24(UnkStruct_ov000_020c0c08 *param1); /* 28 */ virtual void vfunc_28(); /* 2c */ virtual void vfunc_2c(); /* 30 */ virtual void vfunc_30(); @@ -40,7 +41,7 @@ public: /* 3c */ virtual void vfunc_3c(); /* 40 */ - ModelRender(); + ModelRender(unk32 param1); void *func_ov000_020a9624(s32 param1); void func_ov000_020a98e8(unk32 param1); void func_ov000_020a990c(unk32 param1); @@ -48,4 +49,5 @@ public: void func_ov000_020a9960(unk32 param1); void func_ov000_020a9998(unk32 param1, unk32 param2); void func_ov000_020a99c0(); + void func_ov000_020b413c(unk16 param1, Vec3p *param2); }; diff --git a/include/Unknown/UnkStruct_020e9360.hpp b/include/Unknown/UnkStruct_020e9360.hpp index 19c16094..f0744891 100644 --- a/include/Unknown/UnkStruct_020e9360.hpp +++ b/include/Unknown/UnkStruct_020e9360.hpp @@ -10,6 +10,8 @@ public: /* 0f */ unk8 mUnk_0f; UnkStruct_020e9360(); + + unk32 func_ov000_02079e68(unk32 param1); }; extern UnkStruct_020e9360 data_ov000_020e9360; diff --git a/include/Unknown/UnkStruct_ov000_020beba8.hpp b/include/Unknown/UnkStruct_ov000_020beba8.hpp index f9bbcead..4cf4bbbb 100644 --- a/include/Unknown/UnkStruct_ov000_020beba8.hpp +++ b/include/Unknown/UnkStruct_ov000_020beba8.hpp @@ -3,7 +3,17 @@ #include "global.h" #include "types.h" -class UnkStruct_ov000_020beba8 { +#include "System/SysNew.hpp" + +#include <nds/math.h> + +struct UnkStruct_ov000_020beba8_08 { + /* 00 */ u16 mUnk_00; + /* 04 */ Vec3p mUnk_04; + /* 10 */ +}; + +class UnkStruct_ov000_020beba8 : public SysObject { public: /* 0 (vtable) */ /* 4 */ unk32 mUnk_4; @@ -11,12 +21,14 @@ public: /* c */ /* 00 */ virtual ~UnkStruct_ov000_020beba8(); - /* 08 */ virtual void vfunc_08(unk16 *param1); + /* 08 */ virtual bool vfunc_08(UnkStruct_ov000_020beba8_08 *param1); /* 0c */ virtual void vfunc_0c(unk16 *param1); - /* 10 */ virtual void vfunc_10(s32 *param1); - /* 14 */ virtual void vfunc_14(u16 *param1); + /* 10 */ virtual bool vfunc_10(s32 *param1); + /* 14 */ virtual bool vfunc_14(u16 *param1, s32 param2); /* 18 */ virtual void vfunc_18(s32 *param1); /* 1c */ UnkStruct_ov000_020beba8(unk32 param1); + + bool func_ov014_02124034(UnkStruct_ov000_020beba8_08 *param1); }; diff --git a/include/Unknown/UnkStruct_ov000_020c0c08.hpp b/include/Unknown/UnkStruct_ov000_020c0c08.hpp index 69054538..ec253a46 100644 --- a/include/Unknown/UnkStruct_ov000_020c0c08.hpp +++ b/include/Unknown/UnkStruct_ov000_020c0c08.hpp @@ -6,16 +6,33 @@ #include "System/SysNew.hpp" #include "Unknown/UnkStruct_0202e1a0.hpp" +struct UnkStruct_ov000_020c0c08_04 { + /* 00 */ unk32 mUnk_00; + /* 04 */ unk32 mUnk_04; + /* 08 */ char *mUnk_08; + /* 0c */ unk8 mUnk_0c[0x4]; + /* 10 */ unk32 mUnk_10; + /* 14 */ unk32 mUnk_14; + /* 18 */ unk8 mUnk_18[0x8]; + /* 20 */ +}; + +class ItemModel; + class UnkStruct_ov000_020c0c08 : public SysObject { public: /* 00 (vtable) */ - /* 04 */ unk32 mUnk_04; - /* 08 */ u8 *mUnk_08; + /* 04 */ UnkStruct_ov000_020c0c08_04 *mUnk_04; + /* 08 */ ItemModel *mUnk_08; /* 0c */ UnkStruct_0202e1a0 mUnk_0c; /* 24 */ /* 00 */ virtual ~UnkStruct_ov000_020c0c08(); /* 08 */ - UnkStruct_ov000_020c0c08(unk32 param1, u8 *param2); + UnkStruct_ov000_020c0c08(UnkStruct_ov000_020c0c08_04 *param1, ItemModel *param2); + + void func_ov000_020c0c44(void *); + void func_ov000_020c0e04(); + void func_ov000_020c0e5c(unk32); }; diff --git a/include/Unknown/UnkStruct_ov000_020e9c88.hpp b/include/Unknown/UnkStruct_ov000_020e9c88.hpp new file mode 100644 index 00000000..ff60bd78 --- /dev/null +++ b/include/Unknown/UnkStruct_ov000_020e9c88.hpp @@ -0,0 +1,10 @@ +#pragma once + +#include "global.h" +#include "types.h" + +struct UnkStruct_ov000_020e9c88 { + void func_ov000_0207b89c(s32 param2, Vec3p *param3, void (*param4)(void *), void *param5); +}; + +extern UnkStruct_ov000_020e9c88 data_ov000_020e9c88; |
