1#ifndef YAZE_APP_ZELDA3_DUNGEON_OBJECT_PARSER_H
2#define YAZE_APP_ZELDA3_DUNGEON_OBJECT_PARSER_H
7#include "absl/status/status.h"
8#include "absl/status/statusor.h"
100 absl::StatusOr<std::vector<gfx::TileInfo>>
ParseObject(int16_t object_id);
144 absl::StatusOr<std::vector<gfx::TileInfo>>
ParseSubtype1(int16_t object_id);
149 absl::StatusOr<std::vector<gfx::TileInfo>>
ParseSubtype2(int16_t object_id);
154 absl::StatusOr<std::vector<gfx::TileInfo>>
ParseSubtype3(int16_t object_id);
163 absl::StatusOr<std::vector<gfx::TileInfo>>
ReadTileData(
int address,
The Rom class is used to load, save, and modify Rom data.
Direct ROM parser for dungeon objects.
absl::StatusOr< ObjectSubtypeInfo > GetObjectSubtype(int16_t object_id)
Get object subtype information.
absl::StatusOr< ObjectRoutineInfo > ParseObjectRoutine(int16_t object_id)
Parse object routine data.
absl::StatusOr< ObjectSizeInfo > ParseObjectSize(int16_t object_id, uint8_t size_byte)
Parse object size and orientation.
absl::StatusOr< std::vector< gfx::TileInfo > > ParseSubtype2(int16_t object_id)
Parse subtype 2 objects (0x100-0x1FF)
absl::StatusOr< std::vector< gfx::TileInfo > > ParseObject(int16_t object_id)
Parse object data directly from ROM.
absl::StatusOr< std::vector< gfx::TileInfo > > ParseSubtype1(int16_t object_id)
Parse subtype 1 objects (0x00-0xFF)
absl::StatusOr< std::vector< gfx::TileInfo > > ParseSubtype3(int16_t object_id)
Parse subtype 3 objects (0x200+)
absl::StatusOr< std::vector< gfx::TileInfo > > ReadTileData(int address, int tile_count)
Read tile data from ROM.
ObjectDrawInfo GetObjectDrawInfo(int16_t object_id) const
Get draw routine information for an object.
int DetermineSubtype(int16_t object_id) const
Determine object subtype from ID.
Main namespace for the application.
Draw routine information for object rendering.
Object routine information.
bool is_orientation_dependent
Object size and orientation information.
Object subtype information.