yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
room_layout.h
Go to the documentation of this file.
1#ifndef YAZE_APP_ZELDA3_DUNGEON_ROOM_LAYOUT_H
2#define YAZE_APP_ZELDA3_DUNGEON_ROOM_LAYOUT_H
3
4#include <vector>
5
6#include "absl/status/status.h"
7#include "absl/status/statusor.h"
8#include "app/rom.h"
10
11namespace yaze::zelda3 {
12
14 public:
15 RoomLayout() = default;
16 explicit RoomLayout(Rom* rom) : rom_(rom) {}
17
18 void set_rom(Rom* rom) { rom_ = rom; }
19
20 absl::Status LoadLayout(int layout_id);
21
22 const std::vector<RoomObject>& GetObjects() const { return objects_; }
23
24 private:
25 absl::StatusOr<int> GetLayoutAddress(int layout_id) const;
26
27 Rom* rom_ = nullptr;
28 std::vector<RoomObject> objects_;
29};
30
31} // namespace yaze::zelda3
32
33#endif // YAZE_APP_ZELDA3_DUNGEON_ROOM_LAYOUT_H
The Rom class is used to load, save, and modify Rom data.
Definition rom.h:71
std::vector< RoomObject > objects_
Definition room_layout.h:28
void set_rom(Rom *rom)
Definition room_layout.h:18
const std::vector< RoomObject > & GetObjects() const
Definition room_layout.h:22
absl::StatusOr< int > GetLayoutAddress(int layout_id) const
absl::Status LoadLayout(int layout_id)
Zelda 3 specific classes and functions.