Classes | |
| struct | PhysicalChestRecord |
| struct | PhysicalStreamInfo |
| struct | TorchSegment |
Functions | |
| bool | RoomUsesTrackCornerAliases (const std::vector< RoomObject > &objects) |
| uint8_t | Layer2ModeFromHeaderByte (uint8_t byte0) |
| bool | IsDarkRoomHeaderByte (uint8_t byte0) |
| const LayerMergeType & | LayerMergeFromHeaderByte (uint8_t byte0) |
| background2 | Background2FromHeaderByte (uint8_t byte0) |
| template<typename WriteColor > | |
| void | PopulateDungeonRenderPaletteRows (const gfx::SnesPalette &dungeon_palette, const gfx::SnesPalette *hud_palette, WriteColor write_color) |
| PhysicalStreamInfo | AnalyzePhysicalStream (const std::vector< int > &room_addresses, int room_id, int known_region_end=-1) |
| absl::Status | GetObjectPointerTablePc (const std::vector< uint8_t > &rom_data, int *table_pc) |
| uint32_t | ReadRoomObjectAddressSnes (const std::vector< uint8_t > &rom_data, int table_pc, int room_id) |
| int | ReadRoomObjectAddressPc (const std::vector< uint8_t > &rom_data, int table_pc, int room_id) |
| absl::StatusOr< PhysicalStreamInfo > | GetObjectStreamInfo (const std::vector< uint8_t > &rom_data, int room_id) |
| absl::Status | GetSpritePointerTablePc (const std::vector< uint8_t > &rom_data, int *table_pc) |
| int | ReadRoomSpriteAddressPc (const std::vector< uint8_t > &rom_data, int table_pc, int room_id) |
| absl::StatusOr< PhysicalStreamInfo > | GetSpriteStreamInfo (const std::vector< uint8_t > &rom_data, int room_id) |
| int | MeasureSpriteStreamSize (const std::vector< uint8_t > &rom_data, int sprite_address, int hard_end) |
| absl::Status | RelocateDungeonStream (Rom *rom, int room_id, DungeonStreamKind expected_kind, const DungeonStreamLayout &layout, std::vector< uint8_t > encoded_stream) |
| absl::StatusOr< bool > | DungeonStreamRequiresCopyOnWrite (const Rom &rom, int room_id, DungeonStreamKind expected_kind, const DungeonStreamLayout &layout, size_t replacement_size) |
| std::vector< TorchSegment > | ParseRomTorchSegments (const std::vector< uint8_t > &rom_data, int bytes_count) |
| std::vector< uint8_t > | EncodeTorchSegmentForRoom (int room_id, const Room &room) |
| absl::Status | ValidateSpecialObjectDrawLayerSelector (const RoomObject &object, int room_id, const char *object_type) |
| absl::Status | ValidateLightableTorchForSave (const RoomObject &object, int room_id) |
| bool | HalfOpenRangesOverlap (int first_begin, int first_end, int second_begin, int second_end) |
| absl::Status | ValidateBlocksLoaderPointerOperand (const std::vector< uint8_t > &rom_data, int operand_pc) |
| absl::Status | PreflightBlocksLoaderDestinations (const std::vector< uint8_t > &rom_data, std::array< int, 4 > *destination_pcs) |
| std::vector< PhysicalChestRecord > | ParsePhysicalRomChests (const std::vector< uint8_t > &rom_data, int cpos, int byte_length) |
| void | AppendChestRecord (std::vector< uint8_t > *bytes, uint16_t word, uint8_t item) |
| void | AppendEditedChestRecord (std::vector< uint8_t > *bytes, int room_id, const chest_data &chest) |
| int | ReadRoomPotItemAddressPc (const std::vector< uint8_t > &rom_data, int room_id) |
| absl::StatusOr< PhysicalStreamInfo > | GetPotItemStreamInfo (const std::vector< uint8_t > &rom_data, int room_id) |
Variables | |
| constexpr int | kTorchesMaxSize = 0x120 |
| constexpr int | kBlocksRegionSize = 0x80 |
| constexpr std::array< int, 4 > | kBlocksPointerSlots |
| bool yaze::zelda3::anonymous_namespace{room.cc}::RoomUsesTrackCornerAliases | ( | const std::vector< RoomObject > & | objects | ) |
Definition at line 42 of file room.cc.
References RoomUsesTrackCornerAliases().
Referenced by RoomUsesTrackCornerAliases().

| uint8_t yaze::zelda3::anonymous_namespace{room.cc}::Layer2ModeFromHeaderByte | ( | uint8_t | byte0 | ) |
Definition at line 47 of file room.cc.
References Layer2ModeFromHeaderByte().
Referenced by Background2FromHeaderByte(), Layer2ModeFromHeaderByte(), and LayerMergeFromHeaderByte().

| bool yaze::zelda3::anonymous_namespace{room.cc}::IsDarkRoomHeaderByte | ( | uint8_t | byte0 | ) |
Definition at line 51 of file room.cc.
References IsDarkRoomHeaderByte().
Referenced by Background2FromHeaderByte(), IsDarkRoomHeaderByte(), and LayerMergeFromHeaderByte().

| const LayerMergeType & yaze::zelda3::anonymous_namespace{room.cc}::LayerMergeFromHeaderByte | ( | uint8_t | byte0 | ) |
Definition at line 55 of file room.cc.
References IsDarkRoomHeaderByte(), Layer2ModeFromHeaderByte(), and LayerMergeFromHeaderByte().
Referenced by LayerMergeFromHeaderByte().

| background2 yaze::zelda3::anonymous_namespace{room.cc}::Background2FromHeaderByte | ( | uint8_t | byte0 | ) |
Definition at line 61 of file room.cc.
References Background2FromHeaderByte(), IsDarkRoomHeaderByte(), and Layer2ModeFromHeaderByte().
Referenced by Background2FromHeaderByte().

| void yaze::zelda3::anonymous_namespace{room.cc}::PopulateDungeonRenderPaletteRows | ( | const gfx::SnesPalette & | dungeon_palette, |
| const gfx::SnesPalette * | hud_palette, | ||
| WriteColor | write_color ) |
Definition at line 69 of file room.cc.
References PopulateDungeonRenderPaletteRows(), and yaze::gfx::SnesPalette::size().
Referenced by PopulateDungeonRenderPaletteRows().

| PhysicalStreamInfo yaze::zelda3::anonymous_namespace{room.cc}::AnalyzePhysicalStream | ( | const std::vector< int > & | room_addresses, |
| int | room_id, | ||
| int | known_region_end = -1 ) |
Definition at line 219 of file room.cc.
References yaze::zelda3::anonymous_namespace{room.cc}::PhysicalStreamInfo::address, AnalyzePhysicalStream(), yaze::zelda3::anonymous_namespace{room.cc}::PhysicalStreamInfo::physical_end, and yaze::zelda3::anonymous_namespace{room.cc}::PhysicalStreamInfo::shared.
Referenced by AnalyzePhysicalStream(), GetObjectStreamInfo(), GetPotItemStreamInfo(), and GetSpriteStreamInfo().

| absl::Status yaze::zelda3::anonymous_namespace{room.cc}::GetObjectPointerTablePc | ( | const std::vector< uint8_t > & | rom_data, |
| int * | table_pc ) |
Definition at line 267 of file room.cc.
References GetObjectPointerTablePc(), yaze::zelda3::kNumberOfRooms, yaze::zelda3::kRoomObjectPointer, and yaze::SnesToPc().
Referenced by GetObjectPointerTablePc(), and GetObjectStreamInfo().

| uint32_t yaze::zelda3::anonymous_namespace{room.cc}::ReadRoomObjectAddressSnes | ( | const std::vector< uint8_t > & | rom_data, |
| int | table_pc, | ||
| int | room_id ) |
Definition at line 290 of file room.cc.
References yaze::zelda3::kNumberOfRooms, and ReadRoomObjectAddressSnes().
Referenced by ReadRoomObjectAddressPc(), and ReadRoomObjectAddressSnes().

| int yaze::zelda3::anonymous_namespace{room.cc}::ReadRoomObjectAddressPc | ( | const std::vector< uint8_t > & | rom_data, |
| int | table_pc, | ||
| int | room_id ) |
Definition at line 304 of file room.cc.
References ReadRoomObjectAddressPc(), ReadRoomObjectAddressSnes(), and yaze::SnesToPc().
Referenced by GetObjectStreamInfo(), and ReadRoomObjectAddressPc().

| absl::StatusOr< PhysicalStreamInfo > yaze::zelda3::anonymous_namespace{room.cc}::GetObjectStreamInfo | ( | const std::vector< uint8_t > & | rom_data, |
| int | room_id ) |
Definition at line 314 of file room.cc.
References yaze::zelda3::anonymous_namespace{room.cc}::PhysicalStreamInfo::address, AnalyzePhysicalStream(), yaze::zelda3::GetDungeonObjectDataRegionEnd(), GetObjectPointerTablePc(), GetObjectStreamInfo(), yaze::zelda3::kNumberOfRooms, ReadRoomObjectAddressPc(), and RETURN_IF_ERROR.
Referenced by GetObjectStreamInfo().
| absl::Status yaze::zelda3::anonymous_namespace{room.cc}::GetSpritePointerTablePc | ( | const std::vector< uint8_t > & | rom_data, |
| int * | table_pc ) |
Definition at line 334 of file room.cc.
References GetSpritePointerTablePc(), yaze::zelda3::kNumberOfRooms, yaze::zelda3::kRoomsSpritePointer, and yaze::SnesToPc().
Referenced by GetSpritePointerTablePc(), and GetSpriteStreamInfo().

| int yaze::zelda3::anonymous_namespace{room.cc}::ReadRoomSpriteAddressPc | ( | const std::vector< uint8_t > & | rom_data, |
| int | table_pc, | ||
| int | room_id ) |
Definition at line 355 of file room.cc.
References yaze::zelda3::kNumberOfRooms, ReadRoomSpriteAddressPc(), and yaze::SnesToPc().
Referenced by GetSpriteStreamInfo(), and ReadRoomSpriteAddressPc().

| absl::StatusOr< PhysicalStreamInfo > yaze::zelda3::anonymous_namespace{room.cc}::GetSpriteStreamInfo | ( | const std::vector< uint8_t > & | rom_data, |
| int | room_id ) |
Definition at line 377 of file room.cc.
References yaze::zelda3::anonymous_namespace{room.cc}::PhysicalStreamInfo::address, AnalyzePhysicalStream(), GetSpritePointerTablePc(), GetSpriteStreamInfo(), yaze::zelda3::kNumberOfRooms, yaze::zelda3::kSpritesDataEndExclusive, ReadRoomSpriteAddressPc(), and RETURN_IF_ERROR.
Referenced by GetSpriteStreamInfo().

| int yaze::zelda3::anonymous_namespace{room.cc}::MeasureSpriteStreamSize | ( | const std::vector< uint8_t > & | rom_data, |
| int | sprite_address, | ||
| int | hard_end ) |
Definition at line 398 of file room.cc.
References MeasureSpriteStreamSize().
Referenced by MeasureSpriteStreamSize().

| absl::Status yaze::zelda3::anonymous_namespace{room.cc}::RelocateDungeonStream | ( | Rom * | rom, |
| int | room_id, | ||
| DungeonStreamKind | expected_kind, | ||
| const DungeonStreamLayout & | layout, | ||
| std::vector< uint8_t > | encoded_stream ) |
Definition at line 421 of file room.cc.
References yaze::zelda3::ApplyDungeonStreamWritePlan(), ASSIGN_OR_RETURN, yaze::zelda3::InventoryDungeonStreams(), yaze::zelda3::DungeonStreamLayout::kind, yaze::zelda3::PlanDungeonStreamWrites(), and RelocateDungeonStream().
Referenced by RelocateDungeonStream().

| absl::StatusOr< bool > yaze::zelda3::anonymous_namespace{room.cc}::DungeonStreamRequiresCopyOnWrite | ( | const Rom & | rom, |
| int | room_id, | ||
| DungeonStreamKind | expected_kind, | ||
| const DungeonStreamLayout & | layout, | ||
| size_t | replacement_size ) |
Definition at line 440 of file room.cc.
References yaze::zelda3::DungeonStreamInventory::aliases, ASSIGN_OR_RETURN, yaze::zelda3::DungeonStreamLayout::data_ranges, DungeonStreamRequiresCopyOnWrite(), yaze::zelda3::InventoryDungeonStreams(), yaze::zelda3::DungeonStreamInventory::issues, yaze::zelda3::DungeonStreamLayout::kind, yaze::zelda3::DungeonStreamInventory::layout, yaze::zelda3::DungeonStreamInventory::ok(), yaze::zelda3::DungeonStreamInventory::overlaps, yaze::zelda3::DungeonStreamLayout::pointer_count, and yaze::zelda3::DungeonStreamInventory::streams.
Referenced by DungeonStreamRequiresCopyOnWrite().

| std::vector< TorchSegment > yaze::zelda3::anonymous_namespace{room.cc}::ParseRomTorchSegments | ( | const std::vector< uint8_t > & | rom_data, |
| int | bytes_count ) |
Definition at line 2700 of file room.cc.
References yaze::zelda3::anonymous_namespace{room.cc}::TorchSegment::bytes, yaze::zelda3::kNumberOfRooms, yaze::zelda3::kTorchData, kTorchesMaxSize, ParseRomTorchSegments(), and yaze::zelda3::anonymous_namespace{room.cc}::TorchSegment::room_id.
Referenced by ParseRomTorchSegments().

| std::vector< uint8_t > yaze::zelda3::anonymous_namespace{room.cc}::EncodeTorchSegmentForRoom | ( | int | room_id, |
| const Room & | room ) |
Definition at line 2746 of file room.cc.
References yaze::zelda3::EncodeLightableTorchEntry(), EncodeTorchSegmentForRoom(), yaze::zelda3::Room::GetTileObjects(), yaze::zelda3::LightableTorchBytes::high, yaze::zelda3::LightableTorchBytes::low, yaze::zelda3::Nothing, and yaze::zelda3::Torch.
Referenced by EncodeTorchSegmentForRoom().

| absl::Status yaze::zelda3::anonymous_namespace{room.cc}::ValidateSpecialObjectDrawLayerSelector | ( | const RoomObject & | object, |
| int | room_id, | ||
| const char * | object_type ) |
Definition at line 2773 of file room.cc.
References ValidateSpecialObjectDrawLayerSelector().
Referenced by ValidateLightableTorchForSave(), and ValidateSpecialObjectDrawLayerSelector().

| absl::Status yaze::zelda3::anonymous_namespace{room.cc}::ValidateLightableTorchForSave | ( | const RoomObject & | object, |
| int | room_id ) |
Definition at line 2787 of file room.cc.
References RETURN_IF_ERROR, ValidateLightableTorchForSave(), and ValidateSpecialObjectDrawLayerSelector().
Referenced by ValidateLightableTorchForSave().

| bool yaze::zelda3::anonymous_namespace{room.cc}::HalfOpenRangesOverlap | ( | int | first_begin, |
| int | first_end, | ||
| int | second_begin, | ||
| int | second_end ) |
Definition at line 2961 of file room.cc.
References HalfOpenRangesOverlap().
Referenced by HalfOpenRangesOverlap(), and PreflightBlocksLoaderDestinations().

| absl::Status yaze::zelda3::anonymous_namespace{room.cc}::ValidateBlocksLoaderPointerOperand | ( | const std::vector< uint8_t > & | rom_data, |
| int | operand_pc ) |
Definition at line 2966 of file room.cc.
References ValidateBlocksLoaderPointerOperand().
Referenced by PreflightBlocksLoaderDestinations(), and ValidateBlocksLoaderPointerOperand().

| absl::Status yaze::zelda3::anonymous_namespace{room.cc}::PreflightBlocksLoaderDestinations | ( | const std::vector< uint8_t > & | rom_data, |
| std::array< int, 4 > * | destination_pcs ) |
Definition at line 2992 of file room.cc.
References HalfOpenRangesOverlap(), yaze::zelda3::kBlocksLength, kBlocksPointerSlots, kBlocksRegionSize, PreflightBlocksLoaderDestinations(), RETURN_IF_ERROR, yaze::SnesToPc(), and ValidateBlocksLoaderPointerOperand().
Referenced by PreflightBlocksLoaderDestinations().

| std::vector< PhysicalChestRecord > yaze::zelda3::anonymous_namespace{room.cc}::ParsePhysicalRomChests | ( | const std::vector< uint8_t > & | rom_data, |
| int | cpos, | ||
| int | byte_length ) |
Definition at line 3477 of file room.cc.
References yaze::zelda3::kChestTableRecordSize, and ParsePhysicalRomChests().
Referenced by ParsePhysicalRomChests().

| void yaze::zelda3::anonymous_namespace{room.cc}::AppendChestRecord | ( | std::vector< uint8_t > * | bytes, |
| uint16_t | word, | ||
| uint8_t | item ) |
Definition at line 3495 of file room.cc.
References AppendChestRecord().
Referenced by AppendChestRecord(), and AppendEditedChestRecord().

| void yaze::zelda3::anonymous_namespace{room.cc}::AppendEditedChestRecord | ( | std::vector< uint8_t > * | bytes, |
| int | room_id, | ||
| const chest_data & | chest ) |
Definition at line 3502 of file room.cc.
References AppendChestRecord(), and AppendEditedChestRecord().
Referenced by AppendEditedChestRecord().

| int yaze::zelda3::anonymous_namespace{room.cc}::ReadRoomPotItemAddressPc | ( | const std::vector< uint8_t > & | rom_data, |
| int | room_id ) |
Definition at line 3509 of file room.cc.
References yaze::zelda3::kNumberOfRooms, yaze::zelda3::kRoomItemsPointers, ReadRoomPotItemAddressPc(), and yaze::SnesToPc().
Referenced by GetPotItemStreamInfo(), and ReadRoomPotItemAddressPc().

| absl::StatusOr< PhysicalStreamInfo > yaze::zelda3::anonymous_namespace{room.cc}::GetPotItemStreamInfo | ( | const std::vector< uint8_t > & | rom_data, |
| int | room_id ) |
Definition at line 3529 of file room.cc.
References yaze::zelda3::anonymous_namespace{room.cc}::PhysicalStreamInfo::address, AnalyzePhysicalStream(), GetPotItemStreamInfo(), yaze::zelda3::kNumberOfRooms, yaze::zelda3::kRoomItemsDataEnd, yaze::zelda3::kRoomItemsPointers, and ReadRoomPotItemAddressPc().
Referenced by GetPotItemStreamInfo().

|
constexpr |
Definition at line 2692 of file room.cc.
Referenced by ParseRomTorchSegments().
|
constexpr |
Definition at line 2957 of file room.cc.
Referenced by PreflightBlocksLoaderDestinations().
|
constexpr |
Definition at line 2958 of file room.cc.
Referenced by PreflightBlocksLoaderDestinations().