yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
dungeon_chest_editor.h
Go to the documentation of this file.
1#ifndef YAZE_APP_EDITOR_DUNGEON_INSPECTORS_DUNGEON_CHEST_EDITOR_H_
2#define YAZE_APP_EDITOR_DUNGEON_INSPECTORS_DUNGEON_CHEST_EDITOR_H_
3
4#include <array>
5#include <cstddef>
6#include <cstdint>
7#include <optional>
8#include <string>
9
10namespace yaze::zelda3 {
11class Room;
12}
13
14namespace yaze::project {
15struct YazeProject;
16}
17
18namespace yaze::editor {
19
20class DungeonCanvasViewer;
21
23 int room_id = -1;
25 std::optional<size_t> last_canvas_selection;
26 std::array<char, 64> search{};
27 std::string error;
28};
29
30// Chest item IDs are receipt-table indices, not inventory slot values. Unknown
31// bytes retain their numeric identity; project item_receipt labels override defaults.
32std::string GetDungeonChestItemLabel(uint8_t item_id);
33std::string GetDungeonChestItemLabel(uint8_t item_id,
34 const project::YazeProject* project);
35
36// Shared chest authoring controls. Placement uses the canvas tool, and structural
37// edits keep the visual chest and its contents in one undoable operation.
38void DrawDungeonChestEditor(int room_id, zelda3::Room& room,
39 DungeonCanvasViewer& viewer);
40
41} // namespace yaze::editor
42
43#endif // YAZE_APP_EDITOR_DUNGEON_INSPECTORS_DUNGEON_CHEST_EDITOR_H_
Editors are the view controllers for the application.
std::string GetDungeonChestItemLabel(uint8_t item_id)
void DrawDungeonChestEditor(int room_id, zelda3::Room &room, DungeonCanvasViewer &viewer)
Zelda 3 specific classes and functions.
Modern project structure with comprehensive settings consolidation.
Definition project.h:287