Kinematic movement + path following

This commit is contained in:
2023-11-18 08:12:58 +01:00
parent 5cbb7b6c94
commit 03b5959eae
6 changed files with 75 additions and 7 deletions

View File

@@ -130,7 +130,7 @@ static bool indexContains(BzSpatialGridIndex index, i32 x, i32 y) {
return x >= index.minX && x <= index.maxX && y >= index.minY && y <= index.maxY;
}
BzSpatialGridID bzSpatialGridUpdate(BzSpatialGrid *grid, BzSpatialGridID id, f32 posX, f32 posY, f32 sizeX, f32 sizeY) {
void bzSpatialGridUpdate(BzSpatialGrid *grid, BzSpatialGridID id, f32 posX, f32 posY, f32 sizeX, f32 sizeY) {
BzSpatialGridEntry *entry = bzObjectPoolGetObject(grid->entriesPool, id);
BZ_ASSERT(entry && entry->id == id);
@@ -140,7 +140,7 @@ BzSpatialGridID bzSpatialGridUpdate(BzSpatialGrid *grid, BzSpatialGridID id, f32
oldIndex.minY == newIndex.minY &&
oldIndex.maxX == newIndex.maxX &&
oldIndex.maxY == newIndex.maxY) {
return id;
return;
}
for (i32 y = oldIndex.minY; y <= oldIndex.maxY; y++) {
@@ -159,7 +159,6 @@ BzSpatialGridID bzSpatialGridUpdate(BzSpatialGrid *grid, BzSpatialGridID id, f32
}
entry->index = newIndex;
return id;
}
void bzSpatialGridRemove(BzSpatialGrid *grid, BzSpatialGridID id) {
BzSpatialGridEntry *entry = bzObjectPoolGetObject(grid->entriesPool, id);

View File

@@ -45,7 +45,7 @@ void bzSpatialGridDestroy(BzSpatialGrid *grid);
void *bzSpatialGridGetData(const BzSpatialGrid *grid, BzSpatialGridID id);
BzSpatialGridID bzSpatialGridInsert(BzSpatialGrid *grid, void *data, f32 posX, f32 posY, f32 sizeX, f32 sizeY);
BzSpatialGridID bzSpatialGridUpdate(BzSpatialGrid *grid, BzSpatialGridID id, f32 posX, f32 posY, f32 sizeX, f32 sizeY);
void bzSpatialGridUpdate(BzSpatialGrid *grid, BzSpatialGridID id, f32 posX, f32 posY, f32 sizeX, f32 sizeY);
void bzSpatialGridRemove(BzSpatialGrid *grid, BzSpatialGridID id);
BzSpatialGridIter bzSpatialGridIter(BzSpatialGrid *grid, f32 posX, f32 posY, f32 sizeX, f32 sizeY);