diff options
Diffstat (limited to 'src/quark.cc')
-rw-r--r-- | src/quark.cc | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/src/quark.cc b/src/quark.cc deleted file mode 100644 index 45072ded..00000000 --- a/src/quark.cc +++ /dev/null @@ -1,96 +0,0 @@ -#include "quark.hpp" - -#include "z-util.h" - -#include <cassert> - -/* - * The number of quarks - */ -static s16b quark__num = 0; - - -/* - * The pointers to the quarks [QUARK_MAX] - */ -static cptr *quark__str = NULL; - - -/* - * Initialize the quark subsystem - */ -void quark_init() -{ - quark__num = 0; - quark__str = new cptr[QUARK_MAX]; - - for (int i = 0; i < QUARK_MAX; i++) { - quark__str[i] = nullptr; - } -} - - -/* -* We use a global array for all inscriptions to reduce the memory -* spent maintaining inscriptions. Of course, it is still possible -* to run out of inscription memory, especially if too many different -* inscriptions are used, but hopefully this will be rare. -* -* We use dynamic string allocation because otherwise it is necessary -* to pre-guess the amount of quark activity. We limit the total -* number of quarks, but this is much easier to "expand" as needed. -* -* Any two items with the same inscription will have the same "quark" -* index, which should greatly reduce the need for inscription space. -* -* Note that "quark zero" is NULL and should not be "dereferenced". -*/ - -/* -* Add a new "quark" to the set of quarks. -*/ -s16b quark_add(cptr str) -{ - assert(str != nullptr); - - int i; - - /* Look for an existing quark */ - for (i = 1; i < quark__num; i++) - { - /* Check for equality */ - if (streq(quark__str[i], str)) return (i); - } - - /* Paranoia -- Require room */ - if (quark__num == QUARK_MAX) return (0); - - /* New maximal quark */ - quark__num = i + 1; - - /* Add a new quark */ - quark__str[i] = strdup(str); - - /* Return the index */ - return (i); -} - - -/* -* This function looks up a quark -*/ -cptr quark_str(s16b i) -{ - cptr q; - - /* Verify */ - if ((i < 0) || (i >= quark__num)) i = 0; - - /* Access the quark */ - q = quark__str[i]; - - /* Return the quark */ - return (q); -} - - |