Files
tp/include/d/d_path.h
T
Niklas Bauer c3213e0c67 f_op work (#3008)
* f_op debug 1

* f_op debug 2

* f_op debug 3

* f_op debug 4

* f_op debug 5

* f_op_debug fix build

* f_op linking

* remove goto in fopac_create

* fix regressions

* fix regressions

* pr comments

* f_op debug 6

* f_op debug 7

* f_op debug 8

* f_op debug 9

* f_op debug 10

* f_op work, linking, symbols, heap

* regressions 1

* regressions 2

* pr comments
2025-12-30 14:22:38 +02:00

40 lines
1.0 KiB
C++

#ifndef D_D_PATH_H
#define D_D_PATH_H
#include "dolphin/types.h"
#include "dolphin/mtx.h"
class cBgS_PolyInfo;
struct cXyz;
struct dPnt {
/* 0x0 */ u8 mArg1;
/* 0x1 */ u8 mArg2;
/* 0x2 */ u8 mArg3;
/* 0x3 */ u8 mArg0;
/* 0x4 */ Vec m_position;
}; // Size: 0x10
struct dPath {
/* 0x0 */ u16 m_num;
/* 0x2 */ u16 m_nextID;
/* 0x4 */ u8 field_0x4;
/* 0x5 */ bool m_closed;
/* 0x6 */ u8 field_0x6;
/* 0x7 */ u8 field_0x7;
/* 0x8 */ dPnt* m_points;
};
inline BOOL dPath_ChkClose(const dPath* i_path) { return i_path->m_closed & 1; }
dPath* dPath_GetRoomPath(int path_index, int room_no);
dPath* dPath_GetNextRoomPath(dPath const* i_path, int room_no);
dPnt* dPath_GetPnt(dPath const* i_path, int pnt_index);
#if !PLATFORM_GCN // Fakematch due to differing return type on non-GCN platforms
int dPath_GetPolyRoomPathVec(cBgS_PolyInfo const& poly, cXyz* p_pathVec, int* param_2);
#else
u8 dPath_GetPolyRoomPathVec(cBgS_PolyInfo const& poly, cXyz* p_pathVec, int* param_2);
#endif
#endif /* D_D_PATH_H */