1
Fork 0
mirror of https://github.com/redstrate/Kawari.git synced 2025-07-12 08:47:45 +00:00

Complete navmesh generation

Still no idea if it's actually correct yet, but the function calls
pass.
This commit is contained in:
Joshua Goins 2025-07-09 20:37:11 -04:00
parent 5bea7f9b34
commit b6a445cc34

View file

@ -15,7 +15,8 @@ use physis::{
resource::{Resource, SqPackResource}, resource::{Resource, SqPackResource},
}; };
use recastnavigation_sys::{ use recastnavigation_sys::{
CreateContext, dtCreateNavMeshData, dtNavMeshCreateParams, rcAllocCompactHeightfield, CreateContext, DT_SUCCESS, dtAllocNavMesh, dtCreateNavMeshData, dtNavMesh_addTile,
dtNavMesh_init, dtNavMeshCreateParams, dtNavMeshParams, rcAllocCompactHeightfield,
rcAllocContourSet, rcAllocHeightfield, rcAllocPolyMesh, rcAllocPolyMeshDetail, rcAllocContourSet, rcAllocHeightfield, rcAllocPolyMesh, rcAllocPolyMeshDetail,
rcBuildCompactHeightfield, rcBuildContours, rcBuildContoursFlags_RC_CONTOUR_TESS_WALL_EDGES, rcBuildCompactHeightfield, rcBuildContours, rcBuildContoursFlags_RC_CONTOUR_TESS_WALL_EDGES,
rcBuildDistanceField, rcBuildPolyMesh, rcBuildPolyMeshDetail, rcBuildRegions, rcCalcGridSize, rcBuildDistanceField, rcBuildPolyMesh, rcBuildPolyMeshDetail, rcBuildRegions, rcCalcGridSize,
@ -373,6 +374,21 @@ fn setup(
)); ));
assert!(out_data != null_mut()); assert!(out_data != null_mut());
assert!(out_data_size > 0); assert!(out_data_size > 0);
let navmesh_params = dtNavMeshParams {
orig: [0.0; 3],
tileWidth: 100.0,
tileHeight: 100.0,
maxTiles: 1000,
maxPolys: 1000,
};
let navmesh = dtAllocNavMesh();
assert!(dtNavMesh_init(navmesh, &navmesh_params) == DT_SUCCESS);
assert!(
dtNavMesh_addTile(navmesh, out_data, out_data_size, 0, 0, null_mut()) == DT_SUCCESS
);
} }
// camera // camera