#if !defined(LD_GAME_NAV_H_) #define LD_GAME_NAV_H_ #include "../core/types.h" #include "../core/macros.h" #define NAV_MAX_PATH 1024 #define NAV_MAX_CONNECTIONS 8 #define NAV_MAX_NODES 4096 typedef struct NavNode NavNode; typedef struct NavConnection NavConnection; struct NavConnection{ F32 Cost; U32 NodeIndex; }; struct NavNode { V2f pos; U8 connectionCount; NavConnection connections[NAV_MAX_CONNECTIONS]; }; typedef struct NavPath NavPath; struct NavPath { U32 nodeCount; U32 indexes[NAV_MAX_PATH]; }; typedef struct NavMesh NavMesh; struct NavMesh{ U32 nodeCount; NavNode nodes[NAV_MAX_NODES]; }; function NavPath Nav_Path(NavMesh mesh, U32 start, U32 end); #endif