summaryrefslogtreecommitdiff
path: root/include/SDK/DWC/gamespy/darray.h
diff options
context:
space:
mode:
authorRevo <projectrevotpp@hotmail.com>2020-10-31 18:29:54 -0400
committerGitHub <noreply@github.com>2020-10-31 18:29:54 -0400
commitb78fc344a7db4386fc086e96107ed9f5f6cf45ae (patch)
treec93cb32ab858dae70b15b1c4943ee8e771dadbde /include/SDK/DWC/gamespy/darray.h
parentf13fcff4a5f496e8bc1fa4ff759698d9ac37c478 (diff)
parent9ba8186ce645c468f66eed98034db0127f3e3199 (diff)
Merge pull request #154 from mparisi20/master
decompile code_801DCE6C.o, move gamespy, and add standard C system headers
Diffstat (limited to 'include/SDK/DWC/gamespy/darray.h')
-rw-r--r--include/SDK/DWC/gamespy/darray.h40
1 files changed, 40 insertions, 0 deletions
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