1#ifndef YAZE_APP_ZELDA3_DUNGEON_CUSTOM_COLLISION_H
2#define YAZE_APP_ZELDA3_DUNGEON_CUSTOM_COLLISION_H
11#include "absl/status/status.h"
12#include "absl/status/statusor.h"
19 std::array<uint8_t, 64 * 64>
tiles{};
26 return offset <
tiles.size() &&
31 if (offset >=
tiles.size()) {
40 if (offset >=
tiles.size()) {
48 for (
size_t offset = 0; offset <
tiles.size(); ++offset) {
60 for (
size_t offset = 0; offset <
tiles.size(); ++offset) {
80 std::vector<CustomCollisionTileEntry>
tiles;
97 const std::vector<CustomCollisionRoomEntry>& rooms);
99absl::StatusOr<std::vector<CustomCollisionRoomEntry>>
The Rom class is used to load, save, and modify Rom data. This is a generic SNES ROM container and do...
absl::StatusOr< std::vector< CustomCollisionRoomEntry > > LoadCustomCollisionRoomsFromJsonString(const std::string &json_content)
absl::StatusOr< std::string > DumpCustomCollisionRoomsToJsonString(const std::vector< CustomCollisionRoomEntry > &rooms)
absl::StatusOr< CustomCollisionMap > LoadCustomCollisionMap(Rom *rom, int room_id)
absl::StatusOr< std::string > DumpCustomCollisionSourceFromRom(Rom *rom)
bool HasOverrides() const
std::array< uint8_t, 64 *64 > tiles
bool operator==(const CustomCollisionMap &other) const
std::bitset< 64 *64 > overrides
bool HasOverride(size_t offset) const
void SetOverride(size_t offset, uint8_t tile)
void ClearOverride(size_t offset)
std::vector< CustomCollisionTileEntry > tiles