Shipwright/soh/soh/Enhancements/randomizer/randomizer_item_tracker.h
Malkierian 0a1e70ebaa
Test Tracker Rework Breakout (#3180)
* Fix indentation for `actualItemtrackerItemMap`.

Abstract equipment, quest item, and song checking for the item tracker.

* Simplify `HasSong`

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>

* Rename `HasEqItem` to `HasEquipment`.

---------

Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2023-09-13 10:09:45 +02:00

50 lines
1.1 KiB
C++

#pragma once
#include <string>
#include <vector>
#include <cstdint>
#include <libultraship/libultraship.h>
void DrawItemAmmo(int itemId);
typedef struct ItemTrackerItem {
uint32_t id;
std::string name;
std::string nameFaded;
uint32_t data;
void (*drawFunc)(ItemTrackerItem);
} ItemTrackerItem;
bool HasSong(ItemTrackerItem);
bool HasQuestItem(ItemTrackerItem);
bool HasEquipment(ItemTrackerItem);
#define ITEM_TRACKER_ITEM(id, data, drawFunc) \
{ \
id, #id, #id "_Faded", data, drawFunc \
}
typedef struct ItemTrackerDungeon {
uint32_t id;
std::vector<uint32_t> items;
} ItemTrackerDungeon;
class ItemTrackerSettingsWindow : public LUS::GuiWindow {
public:
using GuiWindow::GuiWindow;
protected:
void InitElement() override {};
void DrawElement() override;
void UpdateElement() override {};
};
class ItemTrackerWindow : public LUS::GuiWindow {
public:
using GuiWindow::GuiWindow;
protected:
void InitElement() override;
void DrawElement() override;
void UpdateElement() override {};
};