27#ifndef ICB_ICON_LIST_MANAGER_H_INCLUDED
28#define ICB_ICON_LIST_MANAGER_H_INCLUDED
30#include "engines/icb/common/px_string.h"
31#include "engines/icb/string_vest.h"
32#include "engines/icb/p4.h"
33#include "engines/icb/icon_menu.h"
34#include "engines/icb/icon_list.h"
38#define ICON_LIST_MANAGER_LOG "icon_list_manager_log.txt"
40extern const char *global_icon_list_remora;
41extern const char *global_icon_list_inventory;
42extern const char *global_icon_list_arms;
45#define ICON_LIST_REMORA global_icon_list_remora
46#define ICON_LIST_INVENTORY global_icon_list_inventory
49#define ICON_LIST_NOT_FOUND (-1)
52#define ICON_LIST_MANAGER_MAX_LISTS 8
62 void ResetToScopeLevel(IconListScope eScope);
67 void ActivateIconMenu(
const char *pcListName, bool8 bAllowEscape, bool8 bDrawStatusIcons);
70 bool8 IsActive()
const {
return (g_oIconMenu->IsActive()); }
73 uint32 GetList(
const char *pcListName,
char *pNames[ICON_LIST_MAX_ICONS], uint32 *pnHashes, uint32 *pnCounts)
const;
76 void SetEmailArrived() { g_oIconMenu->SetEmailArrived(); }
79 void CycleInventoryLogic(
const _input &sKeyboardState)
const { g_oIconMenu->CycleIconMenu(sKeyboardState); }
82 bool8 IsHolding()
const {
return (g_oIconMenu->IsHolding()); }
83 void CycleHoldingLogic()
const { g_oIconMenu->CycleHoldingLogic(); }
86 inline const char *HoldingWhat()
const;
89 void AddIconToList(
const char *pcListName,
const char *pcIconName);
90 void AddIconToList(
const char *pcListName,
const char *pcIconName,
const uint32 nHash);
91 void RemoveIconFromList(
const char *pcListName,
const char *pcIconName);
92 uint32 GetItemCount(
const char *pcListName)
const;
93 bool8 Carrying(
const char *pcListName,
const char *pcItem)
const;
94 uint32 CarryingHowMany(
const char *pcListName,
const char *pcItem)
const;
95 bool8 ItemHeld()
const {
return (g_oIconMenu->IsHolding()); }
96 bool8 Holding(
const char *pcItem)
const;
97 void Drop() { g_oIconMenu->ClearSelection(); }
98 void SetListScope(
const char *pcListName, IconListScope eScope);
99 void DestroyList(
const char *pcListName);
100 void ResetList(
const char *pcListName);
103 _icon_list m_pListOfLists[ICON_LIST_MANAGER_MAX_LISTS];
111 int32 FindListByName(
const char *pcListName)
const;
114inline const char *_icon_list_manager::HoldingWhat()
const {
return (g_oIconMenu->GetLastSelection()); }
116extern _icon_list_manager *g_oIconListManager;
Definition: icon_list_manager.h:55
Definition: icon_list.h:65