yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
dungeon_room_edit.h
Go to the documentation of this file.
1#ifndef YAZE_APP_EDITOR_DUNGEON_DUNGEON_ROOM_EDIT_H_
2#define YAZE_APP_EDITOR_DUNGEON_DUNGEON_ROOM_EDIT_H_
3
4#include "absl/status/status.h"
5
6namespace yaze::zelda3 {
7class Room;
8}
9
10namespace yaze::editor {
11
30
33 int value;
34 int index = 0; // Only staircase fields have multiple slots (0-3).
35};
36
41
42// A batch validates every request before any target room is changed.
43absl::Status ValidateRoomMetadataEdit(const RoomMetadataEdit& edit);
44
45// Validates the edited field before changing the room. Limits describe the
46// existing supported authoring controls, not every raw value a hack may load.
47// Unrelated values are preserved; undo must use Room::RestoreMetadataSnapshot
48// to restore historical values even if they are outside the authoring range.
49absl::Status ApplyRoomMetadataEdit(zelda3::Room& room,
50 const RoomMetadataEdit& edit);
51
52} // namespace yaze::editor
53
54#endif // YAZE_APP_EDITOR_DUNGEON_DUNGEON_ROOM_EDIT_H_
Editors are the view controllers for the application.
absl::Status ValidateRoomMetadataEdit(const RoomMetadataEdit &edit)
absl::Status ApplyRoomMetadataEdit(zelda3::Room &room, const RoomMetadataEdit &edit)
Zelda 3 specific classes and functions.