Basic pathfinding
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
|
||||
void *_bzHeapNew(i32 startCapacity, i32 stride, i32 weightOffset);
|
||||
void _bzHeapFree(void *heap);
|
||||
void _bzHeapReset(void *heap);
|
||||
|
||||
i32 _bzHeapSize(void *heap);
|
||||
bool _bzHeapIsEmpty(void *heap);
|
||||
@@ -14,14 +15,15 @@ i32 _bzHeapPushTmpIdx(void *heap);
|
||||
|
||||
#define bzHeapNew(T, n) (T *) ((T *)_bzHeapNew((n), sizeof(T), offsetof(T, weight)))
|
||||
#define bzHeapFree(heap) _bzHeapFree((void *) (heap))
|
||||
#define bzHeapReset(heap) _bzHeapReset((void *) (heap))
|
||||
|
||||
#define bzHeapSize(heap) _bzHeapSize((void *) (heap))
|
||||
#define bzHeapIsEmpty(heap) _bzHeapIsEmpty((void *) (heap))
|
||||
#define bzHeapPop(heap) ((heap)[_bzHeapPop((void *) (heap))])
|
||||
#define bzHeapPush(heap, item) do { \
|
||||
void *h = (void *) (heap); \
|
||||
(heap)[_bzHeapPushTmpIdx(h)] = (item); \
|
||||
_bzHeapPush(h); \
|
||||
#define bzHeapPush(heap, ...) do { \
|
||||
void *h = (void *) (heap); \
|
||||
(heap)[_bzHeapPushTmpIdx(h)] = (__VA_ARGS__); \
|
||||
_bzHeapPush(h); \
|
||||
} while(0)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user