2021-03-28 22:49:05 +02:00
|
|
|
#ifndef D_D_PATH_H
|
|
|
|
|
#define D_D_PATH_H
|
|
|
|
|
|
2023-05-12 12:10:14 -07:00
|
|
|
#include "dolphin/types.h"
|
2025-03-30 18:45:59 -04:00
|
|
|
#include "mtx.h"
|
2021-03-28 22:49:05 +02:00
|
|
|
|
2023-05-12 12:10:14 -07:00
|
|
|
class cBgS_PolyInfo;
|
|
|
|
|
struct cXyz;
|
2025-03-30 18:45:59 -04:00
|
|
|
|
|
|
|
|
struct dPnt {
|
|
|
|
|
/* 0x0 */ u8 mArg1;
|
|
|
|
|
/* 0x1 */ u8 field_0x1;
|
|
|
|
|
/* 0x2 */ u8 field_0x2;
|
|
|
|
|
/* 0x3 */ u8 mArg0;
|
|
|
|
|
/* 0x4 */ Vec m_position;
|
|
|
|
|
}; // Size: 0x10
|
2022-10-03 15:26:26 -07:00
|
|
|
|
|
|
|
|
struct dPath {
|
2022-10-03 15:26:26 -07:00
|
|
|
/* 0x0 */ u16 m_num;
|
|
|
|
|
/* 0x2 */ u16 m_nextID;
|
|
|
|
|
/* 0x4 */ u8 field_0x4;
|
2024-04-26 22:20:26 -04:00
|
|
|
/* 0x5 */ bool m_closed;
|
2022-10-03 15:26:26 -07:00
|
|
|
/* 0x6 */ u8 field_0x6;
|
2025-02-19 15:43:26 -08:00
|
|
|
/* 0x7 */ u8 field_0x7;
|
2025-03-30 18:45:59 -04:00
|
|
|
/* 0x8 */ dPnt* m_points;
|
2022-10-03 15:26:26 -07:00
|
|
|
};
|
|
|
|
|
|
2025-07-11 19:00:18 +00:00
|
|
|
inline BOOL dPath_ChkClose(const dPath* i_path) { return i_path->m_closed & 1; }
|
2022-10-15 15:32:34 -06:00
|
|
|
|
2022-10-03 15:26:26 -07:00
|
|
|
dPath* dPath_GetRoomPath(int path_index, int room_no);
|
2023-10-25 13:16:56 -07:00
|
|
|
dPath* dPath_GetNextRoomPath(dPath const* i_path, int room_no);
|
2025-03-30 18:45:59 -04:00
|
|
|
dPnt* dPath_GetPnt(dPath const* i_path, int pnt_index);
|
2023-05-09 01:10:22 +03:00
|
|
|
u8 dPath_GetPolyRoomPathVec(cBgS_PolyInfo const& poly, cXyz* p_pathVec, int* param_2);
|
2022-06-29 13:19:09 -07:00
|
|
|
|
2021-03-28 22:49:05 +02:00
|
|
|
#endif /* D_D_PATH_H */
|