mirror of
https://github.com/zeldaret/ph
synced 2026-07-30 07:45:36 -04:00
Merge remote-tracking branch 'upstream/main' into match_actor_rupee
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
|
||||
#include "Actor/ActorNavi.hpp"
|
||||
#include "Item/Item.hpp"
|
||||
#include "Map/MapManager.hpp"
|
||||
#include "Player/EquipItem.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "System/OverlayManager.hpp"
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "lib/math.h"
|
||||
|
||||
#include "System/SysNew.hpp"
|
||||
|
||||
class CameraViewpoint : public SysObject {
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk8 mUnk_04;
|
||||
/* 05 */ unk8 mUnk_05[3];
|
||||
/* 08 */ Vec3p mPos;
|
||||
/* 14 */ unk16 mUnk_14;
|
||||
/* 16 */ unk16 mUnk_16;
|
||||
/* 18 */ unk16 mUnk_18[2];
|
||||
/* 1c */
|
||||
};
|
||||
@@ -0,0 +1,112 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "Map/Course_Unk_c8.hpp"
|
||||
#include "Map/MapData.hpp"
|
||||
#include "Physics/AABB.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
|
||||
typedef unk32 CourseType;
|
||||
enum CourseType_ {
|
||||
CourseType_Normal = 0,
|
||||
CourseType_Dungeon = 1,
|
||||
CourseType_Sea = 2,
|
||||
CourseType_TempleOfTheOceanKing = 3,
|
||||
CourseType_Battle = 4,
|
||||
};
|
||||
|
||||
struct CourseProgress {
|
||||
/* 0 */ unk32 flags;
|
||||
/* 4 */ s8 numKeys;
|
||||
/* 5 */ bool blueWarpOpen;
|
||||
/* 6 */
|
||||
};
|
||||
|
||||
class Course : public SysObject {
|
||||
/* 000 */ unk32 mIndex;
|
||||
/* 004 */ CourseType mType;
|
||||
/* 008 */ unk32 mUnk_008;
|
||||
/* 00c */ char mName[0x10];
|
||||
/* 01c */ Vec2b mCurrMapPos; // position in the map grid
|
||||
/* 01e */ unk8 mUnk_01e;
|
||||
/* 01f */ unk8 mUnk_01f;
|
||||
/* 020 */ unk8 mMapGrid[10][10];
|
||||
/* 084 */ Vec2b mMainGrid; // part of the grid where you can walk off screen to another map
|
||||
/* 086 */ Vec2b mMainGridSize;
|
||||
/* 088 */ s32 mScreenMapOffsetX;
|
||||
/* 08c */ s32 mScreenMapOffsetY;
|
||||
/* 090 */ unk32 mUnk_090;
|
||||
/* 094 */ unk32 mUnk_094;
|
||||
/* 098 */ AABB mBounds;
|
||||
/* 0b0 */ s8 mNumMaps;
|
||||
/* 0b1 */ unk8 mUnk_0b1;
|
||||
/* 0b2 */ unk8 mUnk_0b2;
|
||||
/* 0b3 */ unk8 mUnk_0b3;
|
||||
/* 0b4 */ unk32 mUnk_0b4;
|
||||
/* 0b8 */ unk32 mUnk_0b8;
|
||||
/* 0bc */ unk32 mUnk_0bc;
|
||||
/* 0c0 */ unk32 mUnk_0c0;
|
||||
/* 0c4 */ unk32 mUnk_0c4;
|
||||
/* 0c8 */ Course_Unk_c8 *mUnk_0c8;
|
||||
/* 0cc */ MapData *mMapData[100];
|
||||
/* 25c */ bool mUnk_25c;
|
||||
/* 25d */ bool mBlueWarpOpen;
|
||||
/* 25e */ unk8 mUnk_25e;
|
||||
/* 25f */ unk8 mUnk_25f;
|
||||
/* 260 */ unk32 mNumKeys;
|
||||
/* 260 */ unk32 mFlags0[1];
|
||||
/* 268 */ unk32 mFlags1[1]; // knows which doors are open in a dungeon
|
||||
/* 26c */
|
||||
|
||||
void GetDungeonProgress(CourseProgress *param_2);
|
||||
void func_ov00_0207ca28(s32 param_2, unk32 param_3, unk32 param_4);
|
||||
char* SetCourseName(char *src);
|
||||
void func_ov00_0207ca78(unk32 param_2, unk8 param_3, unk32 param_4);
|
||||
bool func_ov00_0207caa8(s32 param_2, unk32 *param_3, unk8 *param_4);
|
||||
unk32 func_ov00_0207cb30(s32 param_2);
|
||||
static void FindMapGridPos(Vec2b *pos, Course *param_2, u32 map);
|
||||
Vec3p* FindMapCenter(unk32 map);
|
||||
void func_ov00_0207cbe8(s32 param_2);
|
||||
unk8 func_ov00_0207cc24(s32 param_2);
|
||||
unk32 FindMapData_Unk_08(unk32 map);
|
||||
void GetMCSFilePath(unk32 buf, s32 fileIndex, unk32 fileType);
|
||||
void GetMRCFilePath(unk32 param_2, unk32 buf, unk32 param_4);
|
||||
void func_ov00_0207ce20(unk32 param_2, unk32 param_3, char *param_4, unk32 param_5);
|
||||
void func_ov00_0207ce4c(s32 param_2, s32 param_3, unk32 param_4, char *param_5, unk32 param_6);
|
||||
bool func_ov00_0207d404(s32 param_2, unk32 param_3, unk32 param_4);
|
||||
bool IsCurrentMapInMainGrid();
|
||||
bool IsInMainGrid(s32 x, s32 y);
|
||||
bool IsMapInMainGrid(u32 map);
|
||||
bool GetMapScreenPos(s32 map, s32 *x, s32 *y);
|
||||
u32 GetScreenMapCellSizeX();
|
||||
u32 GetScreenMapCellSizeY();
|
||||
unk32 Get_Unk_c8_00();
|
||||
unk32 Get_Unk_c8_04();
|
||||
bool IsAdjacentMapOnMainGrid(unk32 dir);
|
||||
bool HasGridMap(s32 x, s32 y);
|
||||
unk8 GetAdjacentMap(unk32 dir);
|
||||
u32 GetAdjacentMapX(s32 ir);
|
||||
u32 GetAdjacentMapY(s32 dir);
|
||||
u16 FindCurrentMapData_Unk_04();
|
||||
u32 FindMapData_Unk_04(unk32 param_2);
|
||||
unk32 FindMapData_Unk_0c(unk32 map);
|
||||
void func_ov00_0207d7bc();
|
||||
void SetFlag0(u32 index, bool value);
|
||||
bool GetFlag0(u32 index);
|
||||
void SetFlag1(u32 index, bool value);
|
||||
bool SetFlag1(u32 index);
|
||||
void SetMapDataFlag0(unk32 index, bool value);
|
||||
bool GetMapDataFlag0(unk32 param_2);
|
||||
void SetMapDataFlag1(unk32 param_2, bool param_3);
|
||||
bool GetMapDataFlag1(unk32 param_2);
|
||||
void SetMapDataFlag2(unk32 param_2, bool param_3);
|
||||
bool GetMapDataFlag2(unk32 param_2);
|
||||
void SetMapDataFlag3(unk32 param_2, bool param_3);
|
||||
bool GetMapDataFlag3(unk32 param_2);
|
||||
void SetMapDataFlag4(unk32 param_2, unk32 param_3);
|
||||
bool GetMapDataFlag4(unk32 param_2);
|
||||
MapData* FindMapData(u32 map);
|
||||
MapData* FindCurrentMapData();
|
||||
};
|
||||
@@ -0,0 +1,19 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "System/SysNew.hpp"
|
||||
|
||||
class Course_Unk_c8 : public SysObject {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0c */ unk8 mUnk_0c;
|
||||
/* 0d */ unk8 mUnk_0d[3];
|
||||
/* 10 */ void *mUnk_10;
|
||||
/* 14 */ s32 mUnk_14;
|
||||
/* 18 */ u32 mUnk_18;
|
||||
/* 1c */
|
||||
};
|
||||
@@ -0,0 +1,17 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "lib/math.h"
|
||||
|
||||
#include "System/SysNew.hpp"
|
||||
|
||||
class Entrance : public SysObject {
|
||||
/* 00 */ Vec3p mPos;
|
||||
/* 0c */ unk16 mAngle;
|
||||
/* 0e */ s8 mUnk_0e;
|
||||
/* 0f */ unk8 mUnk_0f;
|
||||
/* 10 */ s32 mUnk_10;
|
||||
/* 14 */
|
||||
};
|
||||
@@ -0,0 +1,21 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "System/SysNew.hpp"
|
||||
|
||||
class Exit : public SysObject {
|
||||
/* 00 */ unk32 mDestCourse;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0c */ unk32 mUnk_0c;
|
||||
/* 10 */ unk16 mUnk_10;
|
||||
/* 12 */ unk8 mDestMap;
|
||||
/* 13 */ unk8 mDestEntrance;
|
||||
/* 14 */ unk8 mUnk_14;
|
||||
/* 15 */ unk8 mUnk_15;
|
||||
/* 16 */ unk8 mUnk_16;
|
||||
/* 17 */ unk8 mUnk_17;
|
||||
/* 18 */
|
||||
};
|
||||
@@ -0,0 +1,237 @@
|
||||
#pragma once
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "lib/math.h"
|
||||
|
||||
#include "Map/Course.hpp"
|
||||
#include "Map/Entrance.hpp"
|
||||
#include "Map/TriggerBase.hpp"
|
||||
#include "Map/Exit.hpp"
|
||||
#include "Map/CameraViewpoint.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
|
||||
#define MAX_ENTRANCES 0x40
|
||||
#define MAX_TRIGGERS 0x40
|
||||
#define MAX_EXITS 0x40
|
||||
#define MAX_VIEWPOINTS 8
|
||||
#define MAX_MAP_UNK_130 0x20
|
||||
|
||||
struct MapBase_Unk_180 {
|
||||
/* 0 */ unk32 mUnk_0;
|
||||
/* 4 */
|
||||
|
||||
~MapBase_Unk_180();
|
||||
};
|
||||
|
||||
struct MapBase_Unk1 {
|
||||
/* 00 */ s32 mUnk_00;
|
||||
/* 04 */ Exit mExit_04;
|
||||
/* 1c */ Exit mExit_1c;
|
||||
/* 34 */
|
||||
|
||||
void func_ov00_02080324(s32 param_2, s32 param_3, s32 param_4);
|
||||
};
|
||||
|
||||
struct MapBase_Unk2 {
|
||||
/* 00 */ TriggerBase **mTrigger;
|
||||
/* 04 */ Vec3p mVec;
|
||||
/* 10 */
|
||||
|
||||
void func_ov00_02080ad0(TriggerBase **param_2, TriggerBase **param_3);
|
||||
};
|
||||
|
||||
class MapBase : public SysObject {
|
||||
public:
|
||||
/* 000 (vtable) */
|
||||
/* 004 */ unk8 mUnk_004;
|
||||
/* 005 */ unk8 mUnk_005;
|
||||
/* 006 */ unk8 mUnk_006;
|
||||
/* 007 */ unk8 mUnk_007;
|
||||
/* 008 */ unk8 mUnk_008;
|
||||
/* 009 */ unk8 mUnk_009;
|
||||
/* 00a */ unk8 mUnk_00a;
|
||||
/* 00b */ unk8 mUnk_00b;
|
||||
/* 00c */ unk8 mUnk_00c;
|
||||
/* 00d */ unk8 mUnk_00d;
|
||||
/* 00e */ unk8 mUnk_00e;
|
||||
/* 00f */ unk8 mUnk_00f;
|
||||
/* 010 */ unk8 mUnk_010;
|
||||
/* 011 */ unk8 mUnk_011;
|
||||
/* 012 */ unk8 mUnk_012;
|
||||
/* 013 */ unk8 mUnk_013;
|
||||
/* 014 */ unk8 mUnk_014;
|
||||
/* 015 */ unk8 mUnk_015;
|
||||
/* 016 */ unk8 mUnk_016[2];
|
||||
/* 018 */ unk8 mUnk_018[2];
|
||||
/* 01a */ unk8 mUnk_01a;
|
||||
/* 01b */ unk8 mUnk_01b;
|
||||
/* 01c */ unk8 mUnk_01c;
|
||||
/* 01d */ unk8 mUnk_01d;
|
||||
/* 01e */ unk8 mUnk_01e;
|
||||
/* 01f */ unk8 mUnk_01f;
|
||||
/* 020 */ unk32 mUnk_020;
|
||||
/* 024 */ unk32 mUnk_024;
|
||||
/* 028 */ s16 mUnk_028;
|
||||
/* 02a */ s16 mUnk_02a;
|
||||
/* 02c */ unk16 mUnk_02c;
|
||||
/* 02e */ unk16 mUnk_02e;
|
||||
/* 030 */ s16 mUnk_030;
|
||||
/* 032 */ unk8 mUnk_032[2];
|
||||
/* 034 */ unk32 mUnk_034;
|
||||
/* 038 */ unk32 mUnk_038;
|
||||
/* 03c */ unk32 mUnk_03c;
|
||||
/* 040 */ unk32 mUnk_040;
|
||||
/* 044 */ unk32 mUnk_044;
|
||||
/* 048 */ u32 mUnk_048;
|
||||
/* 04c */ unk32 mUnk_04c;
|
||||
/* 050 */ unk8 mUnk_050[0x80];
|
||||
/* 0d0 */ Vec3p mUnk_0d0;
|
||||
/* 0dc */ Vec3p mUnk_0dc;
|
||||
/* 0e8 */ Vec3p mUnk_0e8;
|
||||
/* 0f4 */ Vec3p mUnk_0f4;
|
||||
/* 100 */ std::vector<Entrance> mEntrances;
|
||||
/* 10c */ std::vector<TriggerBase*> mTriggers;
|
||||
/* 118 */ std::vector<Exit> mExits;
|
||||
/* 124 */ std::vector<CameraViewpoint> mViewpoints;
|
||||
/* 130 */ std::vector<TriggerBase*> mUnk_130;
|
||||
/* 13c */ unk32 mUnk_13c;
|
||||
/* 140 */ unk32 mUnk_140;
|
||||
/* 144 */ void *mUnk_144;
|
||||
/* 148 */ s32 mUnk_148;
|
||||
/* 14c */ s32 mUnk_14c;
|
||||
/* 150 */ unk32 mUnk_150;
|
||||
/* 154 */ unk32 mUnk_154;
|
||||
/* 158 */ unk8 mUnk_158[8];
|
||||
/* 160 */ unk32 mUnk_160;
|
||||
/* 164 */ unk8 mUnk_164[0x1c];
|
||||
/* 180 */ MapBase_Unk_180 mUnk_180[2];
|
||||
/* 188 */ unk8 mUnk_188[0x14];
|
||||
/* 19c */ unk32 mUnk_19c;
|
||||
/* 1a0 */ unk8 mUnk_1a0[0xc];
|
||||
/* 1ac */ s16 mUnk_1ac;
|
||||
/* 1ae */ unk8 mUnk_1ae[2];
|
||||
/* 1b0 */
|
||||
|
||||
/* 00 */ virtual ~MapBase();
|
||||
/* 08 */ virtual void vfunc_08(u32 param_2, u32 param_3, Course *param_4);
|
||||
/* 0c */ virtual void vfunc_0c(Course *param_2);
|
||||
/* 10 */ virtual void vfunc_10();
|
||||
/* 14 */ virtual void vfunc_14();
|
||||
/* 18 */ virtual void vfunc_18();
|
||||
/* 1c */ virtual void vfunc_1c(bool param_2);
|
||||
/* 20 */ virtual void vfunc_20(s32 param_2);
|
||||
/* 24 */ virtual void vfunc_24();
|
||||
/* 28 */ virtual void vfunc_28(s32 param_2);
|
||||
/* 2c */ virtual void vfunc_2c();
|
||||
/* 30 */ virtual void vfunc_30(s32 param_2);
|
||||
/* 34 */ virtual bool vfunc_34(char *param_2);
|
||||
/* 38 */ virtual void vfunc_38();
|
||||
/* 3c */ virtual void vfunc_3c();
|
||||
/* 40 */ virtual void vfunc_40();
|
||||
/* 44 */ virtual void vfunc_44();
|
||||
/* 48 */ virtual void vfunc_48();
|
||||
/* 4c */ virtual void vfunc_4c() = 0;
|
||||
/* 50 */ virtual unk32 vfunc_50();
|
||||
/* 54 */ virtual unk32 vfunc_54();
|
||||
/* 58 */ virtual unk32 vfunc_58();
|
||||
/* 5c */ virtual unk32 vfunc_5c();
|
||||
/* 60 */ virtual unk32 vfunc_60();
|
||||
/* 64 */ virtual unk32 vfunc_64();
|
||||
/* 68 */ virtual unk8 vfunc_68(unk32 param_2, unk32 param_3);
|
||||
/* 6c */ virtual unk8 vfunc_6c(unk32 param_2, unk32 param_3, unk32 param_4);
|
||||
/* 70 */ virtual unk32 vfunc_70(Vec3p *param_2);
|
||||
/* 74 */ virtual s32* vfunc_74(Vec3p *param_2);
|
||||
/* 78 */ virtual unk32 vfunc_78();
|
||||
/* 7c */ virtual unk32 vfunc_7c();
|
||||
/* 80 */ virtual unk32 vfunc_80();
|
||||
/* 84 */ virtual void vfunc_84(unk32 param_2);
|
||||
/* 88 */ virtual unk32 vfunc_88();
|
||||
/* 8c */ virtual unk32 vfunc_8c();
|
||||
/* 90 */ virtual unk8 vfunc_90(unk32 param_2, unk32 param_3, unk32 param_4);
|
||||
/* 94 */ virtual void vfunc_94();
|
||||
/* 98 */ virtual void vfunc_98();
|
||||
/* 9c */ virtual void vfunc_9c();
|
||||
/* a0 */ virtual void vfunc_a0();
|
||||
/* a4 */ virtual unk32 vfunc_a4();
|
||||
/* a8 */ virtual void vfunc_a8();
|
||||
/* ac */ virtual void vfunc_ac();
|
||||
/* b0 */ virtual unk8 vfunc_b0(unk32 param_2, unk32 param_3);
|
||||
/* b4 */ virtual void vfunc_b4();
|
||||
/* b8 */ virtual unk32 vfunc_b8();
|
||||
/* bc */ virtual void vfunc_bc();
|
||||
/* c0 */ virtual void vfunc_c0();
|
||||
/* c4 */
|
||||
|
||||
void SetBounds(unk32 map, unk32 course);
|
||||
void GetMapFilePath(char *courseName, unk32 num1, unk32 buf);
|
||||
void func_ov00_0207ddf8(bool param_2);
|
||||
void func_ov00_0207de68(unk32 param_2);
|
||||
void func_ov00_0207de88();
|
||||
void func_ov00_0207dea0(bool param_2);
|
||||
bool func_ov00_0207e08c(unk32 param_2, unk32 param_3);
|
||||
s32 func_ov00_0207e0f0(unk32 param_2);
|
||||
s32 func_ov00_0207e28c(unk32 param_2);
|
||||
static unk8 func_ov00_0207e940(unk8 *param_1);
|
||||
static unk8 func_ov00_0207e968();
|
||||
static unk8 func_ov00_0207e96c();
|
||||
static unk8 func_ov00_0207f100();
|
||||
bool func_ov00_0207f104(unk32 param_2, unk32 param_3);
|
||||
unk32 func_ov00_0207f1f4(Vec3p *param_2, unk32 *param_3);
|
||||
unk8 func_ov00_0207f38c(unk32 param_2);
|
||||
void func_ov00_0207f4a4(Vec2s *param_2, unk32 param_3);
|
||||
static void func_ov00_0207f53c(Vec2s *param_1, MapBase *param_2, Vec3p *param_3);
|
||||
static void func_ov00_0207f588(Vec2s *param_1, MapBase *param_2, Vec2b *param_3, unk32 param_4);
|
||||
void func_ov00_0207f630(Vec2s *param_2, Vec3p *param_3);
|
||||
unk8 GetTileStartX(unk32 x);
|
||||
unk8 GetTileStartZ(unk32 z);
|
||||
s32 GetTileEndX(unk32 x);
|
||||
s32 GetTileEndZ(unk32 z);
|
||||
void GetTileBounds(Vec2b *tilePos, AABB *bounds);
|
||||
unk8 GetClampedTileX(unk32 worldX);
|
||||
unk8 GetClampedTileY(unk32 worldZ);
|
||||
unk8 GetTileX(unk32 worldX);
|
||||
unk8 GetTileY(unk32 worldZ);
|
||||
bool IsInBounds(Vec3p *tileWorldPos);
|
||||
s32 AddEntrance(Entrance *param_2);
|
||||
unk8 FindEntrance(unk32 id);
|
||||
unk8 func_ov00_0207f924(unk32 param_2);
|
||||
unk8 func_ov00_0207f934();
|
||||
unk8 func_ov00_0207f948(unk32 param_2);
|
||||
void AddTrigger(TriggerParams *param_2);
|
||||
s32 GetTriggerBoundingBox(unk32 param_2, AABB *param_3);
|
||||
unk8 GetTriggerBoundingBoxes(unk32 param_2, AABB *param_3, unk32 param_4);
|
||||
unk32 GetOverlappingTrigger(Vec3p *param_2);
|
||||
unk8 FindTrigger(unk32 type);
|
||||
unk8 GetOverlappingTriggers(Vec3p *param_2, TriggerBase * *triggers, unk32 capacity);
|
||||
bool IsTriggerTypeOverlapped(unk32 type, Vec3p *param_3);
|
||||
bool AnyTrigger_func_0c(unk32 type);
|
||||
unk8 Trigger_vfunc_08();
|
||||
bool AddTrigger(unk32 param_2);
|
||||
bool func_ov00_0207ff88(unk32 param_2);
|
||||
void func_ov00_0208005c(s32 param_2, s32 param_3, unk32 param_4);
|
||||
void func_ov00_0208006c(unk32 param_2, s32 param_3);
|
||||
void func_ov00_0208007c(s32 param_2, s32 param_3);
|
||||
void func_ov00_0208008c(u32 param_2);
|
||||
unk8 AddExit(Exit *param_2);
|
||||
unk8 func_ov00_02080140(Exit *param_2);
|
||||
bool FindExit(unk32 param_2, Exit *param_3);
|
||||
unk8 AddCameraViewpoint(CameraViewpoint *param_2);
|
||||
bool FindViewpoint_Unk_4(unk8 id, CameraViewpoint *param_3);
|
||||
bool FindViewpoint_Unk_0(unk32 param_2, CameraViewpoint *param_3);
|
||||
void GetCurrentViewpoint(CameraViewpoint *param_2, unk32 param_3);
|
||||
unk8 GetCurrentViewpoint_Unk_00(s32 param_2);
|
||||
bool func_ov00_02080824(unk32 param_2, unk32 param_3);
|
||||
bool AddUnk_130(unk32 param_2);
|
||||
bool func_ov00_020809b8(unk32 param_2);
|
||||
unk8 func_ov00_02080a78(Vec3p *param_2);
|
||||
unk8 func_ov00_02080b24(Vec2b *param_2);
|
||||
void func_ov00_02080d08(unk32 param_2);
|
||||
bool TriggerOfType_vfunc_10(unk32 type);
|
||||
void func_ov00_02080de4();
|
||||
unk8 func_ov00_02080de8(unk32 param_2);
|
||||
void func_ov00_02080edc();
|
||||
};
|
||||
@@ -0,0 +1,28 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "lib/math.h"
|
||||
|
||||
#include "System/SysNew.hpp"
|
||||
|
||||
class MapData : public SysObject {
|
||||
public:
|
||||
/* 00 */ char mUnk_00;
|
||||
/* 01 */ s8 mMap;
|
||||
/* 02 */ unk16 mUnk_02;
|
||||
/* 04 */ u16 mUnk_04;
|
||||
/* 06 */ unk8 mUnk_06[2];
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0c */ unk32 mUnk_0c;
|
||||
/* 10 */ unk8 mUnk_10[4];
|
||||
/* 14 */ Vec3p mCenter;
|
||||
/* 20 */ unk32 mFlags0[1];
|
||||
/* 24 */ unk32 mFlags1[8];
|
||||
/* 44 */ unk32 mFlags2[2];
|
||||
/* 4c */ unk32 mFlags3[1];
|
||||
/* 50 */ unk32 mUnk_50;
|
||||
/* 54 */ unk32 mUnk_54;
|
||||
/* 58 */
|
||||
};
|
||||
@@ -0,0 +1,243 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "lib/math.h"
|
||||
|
||||
#include "Map/Course.hpp"
|
||||
#include "Map/MapBase.hpp"
|
||||
#include "Physics/AABB.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
|
||||
struct MapManager_Unk1 {
|
||||
/* 0 */ unk32 mUnk_0;
|
||||
/* 4 */ unk32 mUnk_4;
|
||||
/* 8 */
|
||||
|
||||
~MapManager_Unk1();
|
||||
};
|
||||
|
||||
struct MapManager_Unk2 {
|
||||
/* 0 */ unk32 mUnk_0;
|
||||
/* 4 */ unk32 mUnk_4;
|
||||
/* 8 */
|
||||
|
||||
~MapManager_Unk2();
|
||||
};
|
||||
|
||||
class MapManager : public SysObject {
|
||||
public:
|
||||
/* 00 */ Course *mCourse;
|
||||
/* 04 */ MapBase *mMap;
|
||||
/* 08 */ unk8 mUnk_08;
|
||||
/* 09 */ unk8 mUnk_09;
|
||||
/* 0a */ unk8 mUnk_0a;
|
||||
/* 0b */ unk8 mUnk_0b;
|
||||
/* 0c */ unk8 mUnk_0c;
|
||||
/* 0d */ unk8 mUnk_0d;
|
||||
/* 0e */ unk8 mUnk_0e;
|
||||
/* 0f */ unk8 mUnk_0f;
|
||||
/* 10 */
|
||||
|
||||
void func_ov00_020820ec(unk32 *param_2);
|
||||
void func_ov00_020820fc(s32 param_2, unk32 param_3, unk32 param_4);
|
||||
unk8 func_ov00_0208210c(unk32 param_2, unk32 param_3);
|
||||
unk8 func_ov00_0208230c(unk32 param_2);
|
||||
unk8 func_ov00_02082348(unk32 param_2);
|
||||
void func_ov00_020823a4(unk32 param_2);
|
||||
unk8 func_ov00_020823b4();
|
||||
bool func_ov00_020823c4(unk32 *param_2, s32 param_3);
|
||||
s32 func_ov00_020823d4(s32 param_2);
|
||||
s32 func_ov00_020823e4(s32 param_2);
|
||||
unk8 MapData_vfunc_b4();
|
||||
unk8 MapData_vfunc_9c();
|
||||
s32 func_ov00_02082424();
|
||||
unk8 func_ov00_02082454(unk32 param_2, unk32 param_3);
|
||||
unk8 func_ov00_02082494(unk32 param_2);
|
||||
unk8 func_ov00_020824cc(unk32 param_2);
|
||||
unk8 func_ov00_02082504();
|
||||
unk8 * func_ov00_02082538();
|
||||
void func_ov00_02082594();
|
||||
void func_ov00_020825ac();
|
||||
s32 GetCourseFilePath(char *courseName, char *buf);
|
||||
unk8 func_ov00_020825e4(unk32 param_2, unk32 param_3);
|
||||
unk8 func_ov00_02082614(unk32 param_2, unk32 param_3);
|
||||
unk8 MapData_vfunc_b0();
|
||||
void func_ov00_02082650(s32 param_2, s32 param_3, unk32 param_4);
|
||||
void func_ov00_02082660(s32 param_2, s32 param_3);
|
||||
void func_ov00_02082670(unk32 param_2, s32 param_3);
|
||||
void func_ov00_02082680(unk32 param_2, unk32 param_3);
|
||||
unk8 func_ov00_020826a0(unk32 param_2, unk32 param_3, unk32 param_4);
|
||||
unk8 CreateMap(unk32 mapType, unk32 param_3, unk32 param_4);
|
||||
unk8 DestroyMap();
|
||||
unk8 MapData_vfunc_44();
|
||||
static unk8 func_ov00_02082808();
|
||||
unk8 MapData_vfunc_7c();
|
||||
unk8 MapData_vfunc_84();
|
||||
bool func_ov00_020828f8(s32 *param_2);
|
||||
unk8 GetCourseData_Unk_b0();
|
||||
s32 func_ov00_02082914(unk32 param_2);
|
||||
unk8 func_ov00_02082acc();
|
||||
unk32 * func_ov00_02082adc();
|
||||
unk8 func_ov00_02082af4();
|
||||
bool func_ov00_02082b3c(s32 param_2);
|
||||
unk8 func_ov00_02082d08();
|
||||
unk8 GetCourseData_Unk_1c();
|
||||
unk8 GetCourseData_Unk_1d();
|
||||
unk8 func_ov00_02082d40();
|
||||
u32 func_ov00_02082d74(unk32 param_2);
|
||||
static unk8 func_ov00_02082d84();
|
||||
bool func_ov00_02082e1c(s32 *param_2, s32 *param_3);
|
||||
static unk8 func_ov00_0208306c();
|
||||
void func_ov00_0208315c(s32 *param_2, s32 *param_3);
|
||||
void func_ov00_02083244(u32 param_2, s32 *param_3, s32 *param_4, s32 *param_5);
|
||||
void func_ov00_02083298(u32 param_2, s32 *param_3, s32 *param_4, s32 *param_5);
|
||||
unk8 GetCourseData_Unk_25c();
|
||||
bool func_ov00_02083318(unk32 param_2);
|
||||
static unk8 func_ov00_02083328();
|
||||
unk8 GetCourseData_Unk_86();
|
||||
unk8 GetCourseData_Unk_87();
|
||||
unk8 Get_MapData_Unk28();
|
||||
unk8 Get_MapData_Unk2a();
|
||||
static unk8 func_ov00_02083374();
|
||||
static unk8 func_ov00_02083384();
|
||||
unk8 GetCourseMinX();
|
||||
unk8 GetCourseMinZ();
|
||||
unk8 GetCourseMaxX();
|
||||
unk8 GetCourseMaxZ();
|
||||
unk8 func_ov00_020833c4();
|
||||
unk8 func_ov00_020833d0();
|
||||
unk8 func_ov00_020833dc();
|
||||
unk8 func_ov00_020833e8();
|
||||
unk8 Get_MapData_Unk_d0();
|
||||
unk8 Get_MapData_Unk_d8();
|
||||
unk8 GetMapData_Unk_dc(Vec3p *param_2);
|
||||
unk8 GetMapData_Unk_e8(Vec3p *param_2);
|
||||
unk8 GetMapData_Unk_d0(Vec3p *param_2);
|
||||
unk8 func_ov00_0208346c(AABB *param_2);
|
||||
unk8 func_ov00_020834bc(Vec3p *param_2, unk32 param_3, unk32 param_4);
|
||||
unk8 func_ov00_02083524(Vec3p *param_2, unk32 param_3, unk32 param_4);
|
||||
static void func_ov00_02083560(unk32 param_1, MapManager *param_2, u32 param_3);
|
||||
unk8 func_ov00_02083570(unk32 param_2, unk32 param_3);
|
||||
unk32 func_ov00_02083588();
|
||||
unk32 func_ov00_020835a4();
|
||||
unk32 func_ov00_020835b4();
|
||||
unk8 func_ov00_020835c4(unk32 param_2, unk32 param_3);
|
||||
bool func_ov00_020835e4(s32 param_2, unk32 *param_3, unk32 *param_4);
|
||||
unk32 func_ov00_020835f4(s32 param_2);
|
||||
void func_ov00_02083604(s32 param_2);
|
||||
unk8 func_ov00_02083614(s32 param_2);
|
||||
bool GetEntrancePos(Vec3p *param_2, unk32 entranceId);
|
||||
bool func_ov00_02083664(Vec3p *param_2, unk32 entranceId);
|
||||
s32 func_ov00_020836bc(u32 param_2, unk32 *param_3);
|
||||
u32 func_ov00_020836cc(u32 param_2, AABB *param_3, u32 param_4);
|
||||
unk8 func_ov00_020836dc(unk32 param_2, unk32 param_3);
|
||||
bool func_ov00_02083770(u32 param_2, unk32 param_3);
|
||||
bool func_ov00_02083780(unk32 param_2);
|
||||
bool func_ov00_02083790(unk32 param_2);
|
||||
unk8 func_ov00_02083840(unk32 param_2);
|
||||
bool func_ov00_020838c8(s32 param_2);
|
||||
bool func_ov00_020838d8(s32 param_2);
|
||||
bool func_ov00_020838e8(u32 param_2, unk32 *param_3);
|
||||
char func_ov00_020838f8(unk32 *param_2);
|
||||
bool func_ov00_02083908(char param_2, unk32 *param_3);
|
||||
void func_ov00_02083918(s32 param_2, s32 *param_3);
|
||||
void func_ov00_02083928(unk8 *param_2, s32 param_3);
|
||||
unk32 func_ov00_02083938(s32 param_2);
|
||||
unk8 Set_MapData_Unk_16(unk8 value, unk32 index);
|
||||
void func_ov00_02083958(s32 param_2);
|
||||
void func_ov00_02083968(u32 param_2, unk8 *param_3);
|
||||
bool func_ov00_02083978(unk32 param_2, Vec3p *param_3);
|
||||
bool func_ov00_020839b4(s32 param_2);
|
||||
bool func_ov00_020839c4(s32 param_2);
|
||||
static unk8 func_ov00_020839d4();
|
||||
static unk8 func_ov00_020839f8();
|
||||
static void func_ov00_02083a1c(unk32 param_1, MapManager *param_2, Vec3p *param_3);
|
||||
static unk8 func_ov00_02083a54(unk32 param_1, MapManager *param_2, unk32 param_3, unk32 param_4, unk32 param_5);
|
||||
static unk8 func_ov00_02083b84();
|
||||
static unk8 func_ov00_02083bac();
|
||||
static unk8 func_ov00_02083bd4();
|
||||
static unk8 func_ov00_02083bfc();
|
||||
unk8 func_ov00_02083c24(unk32 param_2);
|
||||
unk8 func_ov00_02083c50(unk32 param_2);
|
||||
unk8 func_ov00_02083c7c(Vec3p *param_2, unk32 param_3);
|
||||
static unk8 func_ov00_02083ce8(unk8 param_1, unk8 param_2, unk8 param_3, unk8 param_4, unk32 param_5);
|
||||
unk8 func_ov00_02083e34(unk8 param_2, unk8 param_3, unk32 param_4);
|
||||
unk8 MapData_vfunc_60();
|
||||
static unk8 func_ov00_02083e70();
|
||||
unk8 MapData_vfunc_68();
|
||||
void func_ov00_02083ef8(Vec3p *param_2, Vec3p *param_3);
|
||||
void func_ov00_02083f44(Vec3p *param_2);
|
||||
unk8 MapData_vfunc_6c();
|
||||
unk8 MapData_vfunc_70();
|
||||
static unk8 func_ov00_02083fb0(unk32 param_1, MapManager *param_2, unk32 param_3);
|
||||
void func_ov00_02084024(unk32 param_2, AABB *param_3);
|
||||
unk8 MapData_vfunc_54();
|
||||
unk8 func_ov00_020840a0(unk8 param_2, unk8 param_3, unk32 param_4);
|
||||
unk8 MapData_vfunc_78();
|
||||
static unk8 func_ov00_020840dc();
|
||||
static unk8 func_ov00_02084100(unk32 param_1, MapManager *param_2);
|
||||
unk8 GetMapData_Unk_48();
|
||||
unk8 GetMapData_Unk_4c();
|
||||
unk32 func_ov00_0208412c();
|
||||
void func_ov00_0208413c(unk32 param_2);
|
||||
unk8 MapData_vfunc_58();
|
||||
static unk8 func_ov00_02084164();
|
||||
unk8 GetMapData_Unk_0a();
|
||||
unk8 GetMapData_Unk_0b();
|
||||
unk8 MapData_vfunc_a4();
|
||||
unk8 func_ov00_0208433c(Vec3p *param_2, unk32 param_3);
|
||||
static unk8 func_ov00_0208439c();
|
||||
void func_ov00_020843ec(s32 *param_2);
|
||||
unk8 GetMapData_Unk_38();
|
||||
unk8 func_ov00_020846a4();
|
||||
static unk8 func_ov00_02084700();
|
||||
unk8 func_ov00_02084740();
|
||||
unk8 func_ov00_020847e0();
|
||||
unk8 func_ov00_020847f0();
|
||||
bool func_ov00_02084838();
|
||||
bool func_ov00_020848b8();
|
||||
void func_ov00_02084924(u32 param_2);
|
||||
static unk8 func_ov00_02084934();
|
||||
unk8 GetMapData_Unk_06();
|
||||
unk8 GetMapData_Unk_07();
|
||||
unk8 func_ov00_0208499c();
|
||||
unk8 func_ov00_020849c0();
|
||||
unk8 func_ov00_020849dc();
|
||||
static bool func_ov00_020849f8(unk32 param_1);
|
||||
unk8 func_ov00_02084a50();
|
||||
void SpawnNPC(Vec3p *param_2, unk32 param_3, unk32 param_4);
|
||||
bool func_ov00_02084ac4(u32 actorId);
|
||||
unk8 SetNumKeys(unk32 keys);
|
||||
unk8 GetNumKeys();
|
||||
unk8 SetCourseData_Unk_25c(unk8 param_2);
|
||||
unk8 GetCourseData_Unk_25d();
|
||||
unk8 func_ov00_02084b38(unk32 param_2, unk32 param_3, unk32 param_4);
|
||||
bool func_ov00_02084be0(unk32 param_2, unk32 param_3);
|
||||
void func_ov00_02084c5c(unk32 param_2, unk32 param_3);
|
||||
bool func_ov00_02084c6c(unk32 param_2);
|
||||
unk8 func_ov00_02084c7c(unk32 param_2);
|
||||
unk8 func_ov00_02084c94(unk32 param_2);
|
||||
unk8 func_ov00_02084cb0(unk32 param_2);
|
||||
unk8 func_ov00_02084cc8(unk32 param_2);
|
||||
unk8 func_ov00_02084ce4(unk32 param_2);
|
||||
unk8 func_ov00_02084cfc(unk32 param_2);
|
||||
unk8 GetMapData_Unk_09();
|
||||
unk8 func_ov00_02084d24(unk8 param_2, unk8 param_3, unk32 param_4);
|
||||
s32 func_ov00_02084d4c(unk32 param_2, unk32 param_3, Vec3p *param_4);
|
||||
unk8 func_ov00_02084ebc(unk32 param_2);
|
||||
s32 func_ov00_02085108(s32 *param_2);
|
||||
static unk8 func_ov00_0208527c();
|
||||
static unk8 func_ov00_020853fc();
|
||||
static unk8 func_ov00_02085594();
|
||||
static void func_ov00_0208583c(unk32 param_1, Vec3p *param_2, unk32 param_3);
|
||||
static unk8 func_ov00_020858b0();
|
||||
s32 func_ov00_02085a34(unk32 param_2, unk32 param_3);
|
||||
unk8 func_ov00_02085c60(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5);
|
||||
unk8 func_ov00_02086044(unk32 param_2, unk32 param_3, unk32 param_4);
|
||||
bool func_ov00_02086284(s32 *param_2, Vec3p *param_3, Vec3p *param_4, s32 param_5, u16 param_6, Vec3p *param_7, Vec3p *param_8);
|
||||
bool func_ov00_02086a84(s32 *param_2, Vec3p *param_3, Vec3p *param_4, s32 param_5, s32 param_6, unk32 param_7, Vec3p *param_8, Vec3p *param_9);
|
||||
};
|
||||
|
||||
extern MapManager *gMapManager;
|
||||
@@ -0,0 +1,13 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "Physics/AABB.hpp"
|
||||
#include "Map/TriggerBase.hpp"
|
||||
|
||||
class TriggerAABB : public TriggerBase {
|
||||
/* 00 (base) */
|
||||
/* 14 */ AABB mAABB;
|
||||
/* 2c */
|
||||
};
|
||||
@@ -0,0 +1,20 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "Map/TriggerAABB.hpp"
|
||||
|
||||
class TriggerAABB_Unk1 : public TriggerAABB {
|
||||
/* 00 (base) */
|
||||
/* 2c */ unk8 mUnk_2c;
|
||||
/* 2d */ unk8 mUnk_2d[3];
|
||||
/* 30 */ void *mUnk_30;
|
||||
/* 34 */ unk8 mUnk_34;
|
||||
/* 35 */ unk8 mUnk_35;
|
||||
/* 36 */ unk8 mUnk_36[2];
|
||||
/* 38 */ unk32 mUnk_38;
|
||||
/* 3c */ unk32 mUnk_3c;
|
||||
/* 40 */ unk32 mUnk_40;
|
||||
/* 44 */
|
||||
};
|
||||
@@ -0,0 +1,13 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "Map/TriggerAABB.hpp"
|
||||
|
||||
class TriggerAABB_Unk2 : public TriggerAABB {
|
||||
/* 00 (base) */
|
||||
/* 2c */ unk32 mUnk_2c;
|
||||
/* 30 */ unk8 mUnk_30[0x2c][4]; // non-documented class which inherits from base class
|
||||
/* e0 */
|
||||
};
|
||||
@@ -0,0 +1,40 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "System/SysNew.hpp"
|
||||
|
||||
struct TriggerParams {
|
||||
/* 0 */ s8 id;
|
||||
/* 1 */ unk8 zMin;
|
||||
/* 2 */ unk8 zMax;
|
||||
/* 3 */ unk8 xMin;
|
||||
/* 4 */ unk8 xMax;
|
||||
/* 5 */ bool isAABB_Unk1;
|
||||
/* 6 */ s8 mUnk_6;
|
||||
/* 7 */ s8 mUnk_7;
|
||||
/* 8 */ s8 mUnk_8;
|
||||
/* 9 */ bool isAABB_Unk2;
|
||||
/* a */ bool isSphere;
|
||||
/* b */
|
||||
};
|
||||
|
||||
class TriggerBase : public SysObject {
|
||||
/* 00 (vtable) */
|
||||
/* 04 */ unk8 mUnk_04;
|
||||
/* 05 */ u8 mId;
|
||||
/* 06 */ unk8 mUnk_06[2];
|
||||
/* 08 */ u32 mUnk_08;
|
||||
/* 0c */ u32 mUnk_0c;
|
||||
/* 10 */ u32 mUnk_10;
|
||||
/* 14 */
|
||||
|
||||
/* 00 */ virtual ~TriggerBase();
|
||||
/* 08 */ void vfunc_08();
|
||||
/* 0c */ unk32 vfunc_0c();
|
||||
/* 10 */ unk32 vfunc_10();
|
||||
/* 14 */ bool Overlaps();
|
||||
/* 18 */ bool GetBoundingBox();
|
||||
/* 1c */
|
||||
};
|
||||
@@ -0,0 +1,14 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "Physics/Sphere.hpp"
|
||||
#include "Map/TriggerBase.hpp"
|
||||
|
||||
class TriggerSphere : public TriggerBase {
|
||||
/* 00 (base) */
|
||||
/* 14 */ Sphere mSphere;
|
||||
/* 24 */ s32 mHeight;
|
||||
/* 28 */
|
||||
};
|
||||
@@ -42,4 +42,5 @@ public:
|
||||
bool func_ov00_0207aeac();
|
||||
void UpdateConditionally(TouchState *state, u16 speed);
|
||||
void func_ov00_0207af38(u16 speed, bool param2);
|
||||
~TouchControl();
|
||||
};
|
||||
|
||||
@@ -13,6 +13,18 @@ typedef s16 q4;
|
||||
|
||||
#define ROUND_Q20(n) (((s32)(n) + 0x800) >> 12)
|
||||
|
||||
typedef struct {
|
||||
/* 0 */ s8 x;
|
||||
/* 1 */ s8 y;
|
||||
/* 2 */
|
||||
} Vec2b;
|
||||
|
||||
typedef struct {
|
||||
/* 0 */ s16 x;
|
||||
/* 1 */ s16 y;
|
||||
/* 2 */
|
||||
} Vec2s;
|
||||
|
||||
typedef struct {
|
||||
/* 0 */ q20 x;
|
||||
/* 4 */ q20 y;
|
||||
|
||||
Reference in New Issue
Block a user