yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
dungeon_pit_damage_view_model.h
Go to the documentation of this file.
1#ifndef YAZE_APP_EDITOR_DUNGEON_WORKSPACE_DUNGEON_PIT_DAMAGE_VIEW_MODEL_H_
2#define YAZE_APP_EDITOR_DUNGEON_WORKSPACE_DUNGEON_PIT_DAMAGE_VIEW_MODEL_H_
3
4#include <cstdint>
5#include <optional>
6
7#include "absl/status/status.h"
8
9namespace yaze::zelda3 {
10class PitDamageTable;
11} // namespace yaze::zelda3
12
13namespace yaze::editor {
14
16 bool table_available = false;
17 bool room_valid = false;
18 uint16_t room_id = 0;
19 bool deals_damage = false;
20 bool dirty = false;
21 std::optional<uint16_t> suggested_replacement_room;
22 std::optional<uint16_t> suggested_victim_room;
23};
24
26 const zelda3::PitDamageTable* table, int room_id,
27 uint16_t replacement_fallback, uint16_t victim_fallback);
28
30 uint16_t current_room_id,
31 uint16_t victim_room_id);
32
34 uint16_t current_room_id,
35 uint16_t replacement_room_id);
36
37} // namespace yaze::editor
38
39#endif // YAZE_APP_EDITOR_DUNGEON_WORKSPACE_DUNGEON_PIT_DAMAGE_VIEW_MODEL_H_
Editors are the view controllers for the application.
PitDamageMembershipState BuildPitDamageMembershipState(const zelda3::PitDamageTable *table, int room_id, uint16_t replacement_fallback, uint16_t victim_fallback)
absl::Status RemoveCurrentRoomFromPitDamage(zelda3::PitDamageTable *table, uint16_t current_room_id, uint16_t replacement_room_id)
absl::Status AddCurrentRoomToPitDamage(zelda3::PitDamageTable *table, uint16_t current_room_id, uint16_t victim_room_id)
Zelda 3 specific classes and functions.