From 47a1bdea8872c79dd2cd7d75ca7f254b9ed13170 Mon Sep 17 00:00:00 2001 From: Max Date: Thu, 29 Oct 2020 14:27:37 -0400 Subject: match up to func_801DCFE4, add string.h and stdlib.h, add types.h to Makefile include path, and move GameSpy under DWC --- include/SDK/DWC/gamespy/darray.h | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 include/SDK/DWC/gamespy/darray.h (limited to 'include/SDK/DWC/gamespy/darray.h') diff --git a/include/SDK/DWC/gamespy/darray.h b/include/SDK/DWC/gamespy/darray.h new file mode 100644 index 0000000..5c7c170 --- /dev/null +++ b/include/SDK/DWC/gamespy/darray.h @@ -0,0 +1,40 @@ +#ifndef POKEREVO_DARRAY_H +#define POKEREVO_DARRAY_H + +#ifdef __cplusplus +extern "C" { +#endif + +typedef s32 (*CompareFunction)(const void *, const void *); +typedef BOOL (*MapFunction)(const void *, s32); +typedef void (*DtorFunction)(void *); + +typedef struct DArray { + s32 size; + s32 capacity; + u32 elemSz; + s32 growAmount; + DtorFunction elemDtor; + char *buf; +} DArray; + +DArray *ArrayNew(u32 elemSz, s32 initialCap, DtorFunction dtor); +void ArrayFree(DArray *d); +s32 ArrayLength(DArray *d); +void *ArrayNth(DArray *d, s32 n); +void ArrayAppend(DArray *d, void *elem); +void ArrayInsertSorted(DArray *d, void *elem, CompareFunction compar); +void ArrayRemoveAt(DArray *d, s32 n); +void ArrayDeleteAt(DArray *d, s32 n); +void ArrayReplaceAt(DArray *d, void *elem, s32 n); +void ArraySort(DArray *d, CompareFunction compar); +s32 ArraySearch(DArray *d, void *elem, CompareFunction cmp, s32 start, s32 doBinarySearch); +void ArrayMapBackwards(DArray *d, MapFunction map, s32 p3); +void *ArrayMapBackwards2(DArray *d, MapFunction map, s32 p3); +void ArrayClear(DArray *d); + +#ifdef __cplusplus +} +#endif + +#endif //POKEREVO_DARRAY_H -- cgit v1.2.3