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/Map | |
| 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/Map')
| -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 |
4 files changed, 64 insertions, 5 deletions
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); +} |
