summaryrefslogtreecommitdiffstats
path: root/stone_soup/crawl-ref/source/invent.h
diff options
context:
space:
mode:
Diffstat (limited to 'stone_soup/crawl-ref/source/invent.h')
-rw-r--r--stone_soup/crawl-ref/source/invent.h93
1 files changed, 93 insertions, 0 deletions
diff --git a/stone_soup/crawl-ref/source/invent.h b/stone_soup/crawl-ref/source/invent.h
new file mode 100644
index 0000000000..624e603fc1
--- /dev/null
+++ b/stone_soup/crawl-ref/source/invent.h
@@ -0,0 +1,93 @@
+/*
+ * File: invent.cc
+ * Summary: Functions for inventory related commands.
+ * Written by: Linley Henzell
+ *
+ * Change History (most recent first):
+ *
+ * <1> -/--/-- LRH Created
+ */
+
+
+#ifndef INVENT_H
+#define INVENT_H
+
+#include <stddef.h>
+#include <vector>
+#include "menu.h"
+
+#define PROMPT_ABORT -1
+#define PROMPT_GOT_SPECIAL -2
+
+struct SelItem
+{
+ int slot;
+ int quantity;
+ const item_def *item;
+
+ SelItem() : slot(0), quantity(0), item(NULL) { }
+ SelItem( int s, int q, const item_def *it = NULL )
+ : slot(s), quantity(q), item(it)
+ {
+ }
+};
+
+
+int prompt_invent_item( const char *prompt, int type_expect,
+ bool must_exist = true,
+ bool allow_auto_list = true,
+ bool allow_easy_quit = true,
+ const char other_valid_char = '\0',
+ int *const count = NULL );
+
+std::vector<SelItem> select_items( std::vector<item_def*> &items,
+ const char *title );
+
+std::vector<SelItem> prompt_invent_items(
+ const char *prompt,
+ int type_expect,
+ std::string (*titlefn)( int menuflags,
+ const std::string &oldt )
+ = NULL,
+ bool allow_auto_list = true,
+ bool allow_easy_quit = true,
+ const char other_valid_char = '\0',
+ std::vector<text_pattern> *filter = NULL,
+ Menu::selitem_tfn fn = NULL );
+
+
+// last updated 12may2000 {dlb}
+/* ***********************************************************************
+ * called from: invent - ouch - shopping
+ * *********************************************************************** */
+unsigned char invent( int item_class_inv, bool show_price );
+
+unsigned char invent_select(int item_class_inv,
+ int select_flags = MF_NOSELECT,
+ std::string (*titlefn)( int menuflags,
+ const std::string &oldt )
+ = NULL,
+ std::vector<SelItem> *sels = NULL,
+ std::vector<text_pattern> *filter = NULL,
+ Menu::selitem_tfn fn = NULL );
+
+// last updated 24may2000 {dlb}
+/* ***********************************************************************
+ * called from: acr - command - food - item_use - items - spl-book - spells1
+ * *********************************************************************** */
+unsigned char get_invent(int invent_type);
+
+bool in_inventory(const item_def &i);
+
+// last updated 12may2000 {dlb}
+/* ***********************************************************************
+ * called from: acr
+ * *********************************************************************** */
+void list_commands(bool wizard);
+
+std::string item_class_name(int type, bool terse = false);
+
+void populate_item_menu( Menu *menu, const std::vector<item_def> &items,
+ void (*callback)(MenuEntry *me) );
+
+#endif