yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
dungeon_state.h
Go to the documentation of this file.
1#ifndef YAZE_ZELDA3_DUNGEON_DUNGEON_STATE_H
2#define YAZE_ZELDA3_DUNGEON_DUNGEON_STATE_H
3
4#include <cstdint>
5
6namespace yaze {
7namespace zelda3 {
8
17 public:
18 virtual ~DungeonState() = default;
19
20 // Chest State
21 virtual bool IsChestOpen(int room_id, int chest_index) const = 0;
22 virtual bool IsBigChestOpen() const = 0;
23
24 // Door State
25 virtual bool IsDoorOpen(int room_id, int door_index) const = 0;
26 virtual bool IsDoorSwitchActive(int room_id) const = 0;
27
28 // Water Face State (Type 3 object 0xF80 active variant)
29 // Default false so implementations can opt in without breaking callers.
30 virtual bool IsWaterFaceActive(int room_id) const {
31 (void)room_id;
32 return false;
33 }
34
35 // Object State
36 virtual bool IsWallMoved(int room_id) const = 0;
37 virtual bool IsFloorBombable(int room_id) const = 0;
38 virtual bool IsRupeeFloorActive(int room_id) const = 0;
39
40 // General Flags
41 virtual bool IsCrystalSwitchBlue() const = 0;
42};
43
44} // namespace zelda3
45} // namespace yaze
46
47#endif // YAZE_ZELDA3_DUNGEON_DUNGEON_STATE_H
Interface for accessing dungeon game state.
virtual bool IsWaterFaceActive(int room_id) const
virtual bool IsFloorBombable(int room_id) const =0
virtual bool IsWallMoved(int room_id) const =0
virtual bool IsChestOpen(int room_id, int chest_index) const =0
virtual bool IsDoorSwitchActive(int room_id) const =0
virtual bool IsDoorOpen(int room_id, int door_index) const =0
virtual bool IsCrystalSwitchBlue() const =0
virtual bool IsRupeeFloorActive(int room_id) const =0
virtual ~DungeonState()=default
virtual bool IsBigChestOpen() const =0