summaryrefslogtreecommitdiff
path: root/src/device_allocation.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/device_allocation.cc')
-rw-r--r--src/device_allocation.cc26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/device_allocation.cc b/src/device_allocation.cc
new file mode 100644
index 00000000..f97de2ec
--- /dev/null
+++ b/src/device_allocation.cc
@@ -0,0 +1,26 @@
+#include "device_allocation.h"
+
+int compare_device_allocation(device_allocation *a, device_allocation *b)
+{
+ return SGLIB_NUMERIC_COMPARATOR(a->tval, b->tval);
+}
+
+SGLIB_DEFINE_LIST_FUNCTIONS(device_allocation, compare_device_allocation, next);
+
+void device_allocation_init(device_allocation *device_allocation, byte tval)
+{
+ assert(device_allocation != NULL);
+
+ device_allocation->tval = tval;
+ device_allocation->rarity = 0;
+ range_init(&device_allocation->base_level, 0, 0);
+ range_init(&device_allocation->max_level, 0, 0);
+ device_allocation->next = NULL;
+}
+
+device_allocation *device_allocation_new(byte tval)
+{
+ device_allocation *d = new device_allocation;
+ device_allocation_init(d, tval);
+ return d;
+}