summaryrefslogtreecommitdiff
path: root/src/store_info_type.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/store_info_type.hpp')
-rw-r--r--src/store_info_type.hpp29
1 files changed, 14 insertions, 15 deletions
diff --git a/src/store_info_type.hpp b/src/store_info_type.hpp
index 030afe91..78aa071e 100644
--- a/src/store_info_type.hpp
+++ b/src/store_info_type.hpp
@@ -1,32 +1,31 @@
#pragma once
#include "h-basic.h"
+#include "store_flag_set.hpp"
+#include "store_item.hpp"
-/**
- * Number of items to choose stock from
- */
-constexpr int STORE_CHOICES = 56;
+#include <vector>
/**
* Store descriptor.
*/
struct store_info_type
{
- const char *name; /* Name */
+ std::string name; /* Name */
+
+ std::vector<store_item> items; /* Table -- Legal item kinds */
- s16b table[STORE_CHOICES][2]; /* Table -- Legal item kinds */
- byte table_num; /* Number of items */
- s16b max_obj; /* Number of items this store can hold */
+ s16b max_obj = 0; /* Number of items this store can hold */
- u16b owners[4]; /* List of owners(refers to ow_info) */
+ std::vector<u16b> owners; /* List of owners; refers to ow_info */
- u16b actions[6]; /* Actions(refers to ba_info) */
+ std::vector<u16b> actions; /* Actions; refers to ba_info */
- byte d_attr; /* Default building attribute */
- char d_char; /* Default building character */
+ byte d_attr = 0; /* Default building attribute */
+ char d_char = '\0'; /* Default building character */
- byte x_attr; /* Desired building attribute */
- char x_char; /* Desired building character */
+ byte x_attr = 0; /* Desired building attribute */
+ char x_char = '\0'; /* Desired building character */
- u32b flags1; /* Flags */
+ store_flag_set flags; /* Flags */
};