mirror of
https://github.com/zeldaret/ph
synced 2026-07-08 13:46:28 -04:00
ActorSwitchObject OK (#130)
* Map symbol in Game * ActorSwitchObject OK * Mark ActorSwitchObject as complete * Document `mTrapActors` * Fix FilterActorBase * Fix regressions
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
|
||||
#include "Map/Course_Unk_c8.hpp"
|
||||
#include "Map/MapData.hpp"
|
||||
#include "Map/TilePos.hpp"
|
||||
#include "Physics/AABB.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
|
||||
@@ -32,11 +33,11 @@ public:
|
||||
/* 004 */ CourseType mType;
|
||||
/* 008 */ unk32 mUnk_008;
|
||||
/* 00c */ char mName[0x10];
|
||||
/* 01c */ Vec2b mCurrMapPos; // position in the map grid
|
||||
/* 01e */ Vec2b mUnk_01e;
|
||||
/* 01c */ TilePos mCurrMapPos; // position in the map grid
|
||||
/* 01e */ TilePos mUnk_01e;
|
||||
/* 020 */ u8 mMapGrid[10][10];
|
||||
/* 084 */ Vec2b mMainGrid; // part of the grid where you can walk off screen to another map
|
||||
/* 086 */ Vec2b mMainGridSize;
|
||||
/* 084 */ TilePos mMainGrid; // part of the grid where you can walk off screen to another map
|
||||
/* 086 */ TilePos mMainGridSize;
|
||||
/* 088 */ s32 mScreenMapOffsetX;
|
||||
/* 08c */ s32 mScreenMapOffsetY;
|
||||
/* 090 */ unk32 mUnk_090;
|
||||
@@ -68,7 +69,7 @@ public:
|
||||
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);
|
||||
TilePos FindMapGridPos(u32 map);
|
||||
Vec3p *FindMapCenter(unk32 map);
|
||||
void func_ov00_0207cbe8(s32 param_2);
|
||||
unk8 func_ov00_0207cc24(s32 param_2);
|
||||
|
||||
@@ -135,22 +135,22 @@ public:
|
||||
/* 48 */ virtual void vfunc_48();
|
||||
/* 4c */ virtual s32 vfunc_4c();
|
||||
/* 50 */ virtual unk32 vfunc_50();
|
||||
/* 54 */ virtual unk32 vfunc_54(Vec2b *param_1);
|
||||
/* 58 */ virtual unk32 vfunc_58(Vec2b *param_1, int param_2);
|
||||
/* 54 */ virtual unk32 vfunc_54(TilePos *param_1);
|
||||
/* 58 */ virtual unk32 vfunc_58(TilePos *param_1, int param_2);
|
||||
/* 5c */ virtual unk32 vfunc_5c();
|
||||
/* 60 */ virtual unk32 vfunc_60(Vec2b *param_1);
|
||||
/* 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);
|
||||
/* 70 */ virtual unk32 vfunc_70(Vec3p *param_2);
|
||||
/* 74 */ virtual unk32 *vfunc_74(Vec3p *param_2);
|
||||
/* 78 */ virtual unk32 *vfunc_78(Vec2b *param_1);
|
||||
/* 78 */ virtual unk32 *vfunc_78(TilePos *param_1);
|
||||
/* 7c */ virtual s32 vfunc_7c(s32 param_1, unk32 *param_2, s32 param_3, short param_4[4]);
|
||||
/* 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(Vec2b *param_2, unk32 param_3);
|
||||
/* 90 */ virtual unk8 vfunc_90(TilePos *param_2, unk32 param_3);
|
||||
/* 94 */ virtual void vfunc_94();
|
||||
/* 98 */ virtual void vfunc_98(unk32 param_2, unk32 param_3, unk32 param_4);
|
||||
/* 9c */ virtual void vfunc_9c();
|
||||
@@ -183,13 +183,13 @@ public:
|
||||
bool func_ov00_0207f38c(s32 *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);
|
||||
static void func_ov00_0207f588(Vec2s *param_1, MapBase *param_2, TilePos *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);
|
||||
void GetTileBounds(TilePos *tilePos, AABB *bounds);
|
||||
s32 GetClampedTileX(s32 worldX);
|
||||
s32 GetClampedTileY(s32 worldZ);
|
||||
unk8 GetTileX(s32 worldX);
|
||||
@@ -227,8 +227,8 @@ public:
|
||||
bool AddUnk_130(s32 param_2);
|
||||
bool func_ov00_020809b8(s32 param_2);
|
||||
unk8 func_ov00_02080a78(Vec3p *param_2);
|
||||
unk8 func_ov00_02080b24(Vec2b *param_2);
|
||||
void func_ov00_02080d08(Vec2b *param_2);
|
||||
unk8 func_ov00_02080b24(TilePos *param_2);
|
||||
void func_ov00_02080d08(TilePos *param_2);
|
||||
bool TriggerOfType_vfunc_10(unk32 type);
|
||||
void func_ov00_02080de4();
|
||||
unk8 func_ov00_02080de8(unk32 param_2);
|
||||
|
||||
+28
-14
@@ -16,6 +16,9 @@ struct MapManager_Unk1 {
|
||||
/* 4 */ unk32 mUnk_4;
|
||||
/* 8 */
|
||||
|
||||
inline MapManager_Unk1(unk32 unk0, unk32 unk4) :
|
||||
mUnk_0(unk0),
|
||||
mUnk_4(unk4) {}
|
||||
~MapManager_Unk1();
|
||||
};
|
||||
|
||||
@@ -24,9 +27,20 @@ struct MapManager_Unk2 {
|
||||
/* 4 */ unk32 mUnk_4;
|
||||
/* 8 */
|
||||
|
||||
inline MapManager_Unk2(unk32 unk0, unk32 unk4) :
|
||||
mUnk_0(unk0),
|
||||
mUnk_4(unk4) {}
|
||||
~MapManager_Unk2();
|
||||
};
|
||||
|
||||
struct MapManager_Unk3 {
|
||||
/* 0 */ unk32 mUnk_0;
|
||||
/* 4 */
|
||||
|
||||
inline MapManager_Unk3(unk32 unk0) :
|
||||
mUnk_0(unk0) {}
|
||||
};
|
||||
|
||||
struct UnkStruct_0208210c_param3 {
|
||||
/* 000 */ unk32 mUnk_00;
|
||||
/* 004 */ unk8 mUnk_04;
|
||||
@@ -117,7 +131,7 @@ public:
|
||||
u8 GetCurrentMapPosY();
|
||||
u8 func_ov00_02082d40();
|
||||
u32 func_ov00_02082d74(unk32 param_2);
|
||||
void func_ov00_02082d84(Vec2b *param_2, s32 *param_3, s32 *param_4);
|
||||
void func_ov00_02082d84(TilePos *param_2, s32 *param_3, s32 *param_4);
|
||||
bool func_ov00_02082e1c(s32 *param_2, s32 *param_3);
|
||||
void func_ov00_0208306c(s32 *param_2, s32 *param_3);
|
||||
void func_ov00_0208315c(s32 *param_2, s32 *param_3);
|
||||
@@ -148,7 +162,7 @@ public:
|
||||
void func_ov00_0208346c(AABB *param_2);
|
||||
void func_ov00_020834bc(Vec3p *param_2, unk32 param_3, unk32 param_4);
|
||||
void func_ov00_02083524(Vec3p *param_2, unk32 param_3, unk32 param_4);
|
||||
static void func_ov00_02083560(Vec2b *param_1, MapManager *param_2, u32 param_3);
|
||||
TilePos func_ov00_02083560(u32 param_3);
|
||||
u8 func_ov00_02083570(u8 param_2, u8 param_3);
|
||||
unk32 func_ov00_02083588();
|
||||
unk32 func_ov00_020835a4();
|
||||
@@ -183,37 +197,37 @@ public:
|
||||
bool func_ov00_020839c4(s32 param_2);
|
||||
s32 func_ov00_020839d4(s32 param_2);
|
||||
s32 func_ov00_020839f8(s32 param_2);
|
||||
static void func_ov00_02083a1c(Vec2b *param_1, MapManager *param_2, Vec3p *param_3);
|
||||
static void func_ov00_02083a54(Vec2b *param_1, MapManager *param_2, Vec3p *param_3, s32 param_4, unk32 param_5);
|
||||
TilePos func_ov00_02083a1c(Vec3p *param_3);
|
||||
TilePos func_ov00_02083a54(Vec3p *param_3, s32 param_4, unk32 param_5);
|
||||
s32 GetTileStartX(unk32 x);
|
||||
s32 GetTileStartZ(unk32 z);
|
||||
s32 GetTileEndX(unk32 x);
|
||||
s32 GetTileEndZ(unk32 z);
|
||||
s32 func_ov00_02083c24(unk32 x);
|
||||
s32 func_ov00_02083c50(unk32 z);
|
||||
void func_ov00_02083c7c(Vec3p *param_2, Vec2b param_3);
|
||||
void func_ov00_02083ce8(Vec3p *param_2, Vec2b param_3, s32 param_4, u32 param_5);
|
||||
void func_ov00_02083c7c(Vec3p *param_2, TilePos param_3);
|
||||
void func_ov00_02083ce8(Vec3p *param_2, TilePos param_3, s32 param_4, u32 param_5);
|
||||
s32 func_ov00_02083e34(unk8 param_2, unk8 param_3, unk32 param_4);
|
||||
unk32 MapData_vfunc_60(Vec2b *param_1);
|
||||
bool func_ov00_02083e70(Vec2b *param_2);
|
||||
unk32 MapData_vfunc_60(TilePos *param_1);
|
||||
bool func_ov00_02083e70(TilePos *param_2);
|
||||
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);
|
||||
unk32 MapData_vfunc_70(Vec3p *param_2);
|
||||
static void func_ov00_02083fb0(u32 *param_1, MapManager *param_2, Vec3p *param_3);
|
||||
void GetTileWorldBounds(Vec2b *tile, AABB *tileBounds);
|
||||
unk32 MapData_vfunc_54(Vec2b *a);
|
||||
void GetTileWorldBounds(TilePos *tile, AABB *tileBounds);
|
||||
unk32 MapData_vfunc_54(TilePos *a);
|
||||
unk32 func_ov00_020840a0(u8 param_2, u8 param_3);
|
||||
unk32 *MapData_vfunc_78(Vec2b *param_1);
|
||||
unk32 func_ov00_020840dc(Vec2b *param_1);
|
||||
unk32 *MapData_vfunc_78(TilePos *param_1);
|
||||
unk32 func_ov00_020840dc(TilePos *param_1);
|
||||
static unk8 func_ov00_02084100(unk32 *param_1, MapManager *param_2);
|
||||
unk32 GetMapData_Unk_48();
|
||||
unk32 GetMapData_Unk_4c();
|
||||
unk32 func_ov00_0208412c();
|
||||
void func_ov00_0208413c(unk32 param_2);
|
||||
unk8 MapData_vfunc_58(Vec2b *param_1, int param_2);
|
||||
s32 func_ov00_02084164(Vec2b *param_2);
|
||||
unk8 MapData_vfunc_58(TilePos *param_1, int param_2);
|
||||
s32 func_ov00_02084164(TilePos *param_2);
|
||||
u8 GetMapData_Unk_0a();
|
||||
u8 GetMapData_Unk_0b();
|
||||
unk8 MapData_vfunc_a4(unk8 *param_1);
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class TilePos {
|
||||
public:
|
||||
u8 x;
|
||||
u8 y;
|
||||
|
||||
inline TilePos() :
|
||||
x(0),
|
||||
y(0) {}
|
||||
inline TilePos(u8 x, u8 y) :
|
||||
x(x),
|
||||
y(y) {}
|
||||
};
|
||||
Reference in New Issue
Block a user