Draws dungeon objects to background buffers using game patterns. More...
#include <object_drawer.h>

Classes | |
| struct | DoorDef |
| struct | TileTrace |
| struct | TraceContext |
Public Member Functions | |
| ObjectDrawer (Rom *rom, int room_id, const uint8_t *room_gfx_buffer=nullptr) | |
| absl::Status | DrawObject (const RoomObject &object, gfx::BackgroundBuffer &bg1, gfx::BackgroundBuffer &bg2, const gfx::PaletteGroup &palette_group, const DungeonState *state=nullptr, gfx::BackgroundBuffer *layout_bg1=nullptr) |
| Draw a room object to background buffers. | |
| void | ResetChestIndex () |
| void | DrawDoor (const DoorDef &door, int door_index, gfx::BackgroundBuffer &bg1, gfx::BackgroundBuffer &bg2, const DungeonState *state=nullptr) |
| Draw a door to background buffers. | |
| void | DrawPotItem (uint8_t item_id, int x, int y, gfx::BackgroundBuffer &bg) |
| Draw a pot item visualization. | |
| absl::Status | DrawObjectList (const std::vector< RoomObject > &objects, gfx::BackgroundBuffer &bg1, gfx::BackgroundBuffer &bg2, const gfx::PaletteGroup &palette_group, const DungeonState *state=nullptr, gfx::BackgroundBuffer *layout_bg1=nullptr) |
| Draw all objects in a room. | |
| int | GetDrawRoutineId (int16_t object_id) const |
| Get draw routine ID for an object. | |
| int | GetDrawRoutineCount () const |
| Get the total number of registered draw routines. | |
| void | InitializeDrawRoutines () |
| Initialize draw routine registry Must be called before drawing objects. | |
| void | DrawTileToBitmap (gfx::Bitmap &bitmap, const gfx::TileInfo &tile_info, int pixel_x, int pixel_y, const uint8_t *tiledata) |
| Draw a single tile directly to bitmap. | |
| absl::Status | DrawRoomDrawObjectData2x2 (uint16_t object_id, int tile_x, int tile_y, RoomObject::LayerType layer, uint16_t room_draw_object_data_offset, gfx::BackgroundBuffer &bg1, gfx::BackgroundBuffer &bg2) |
| Draw a fixed 2x2 (16x16) tile pattern from RoomDrawObjectData. | |
| std::pair< int, int > | CalculateObjectDimensions (const RoomObject &object) |
| Calculate the dimensions (width, height) of an object in pixels. | |
| void | SetTraceCollector (std::vector< TileTrace > *collector, bool trace_only=false) |
| void | ClearTraceCollector () |
| bool | TraceOnly () const |
Protected Types | |
| using | DrawRoutine |
Static Protected Member Functions | |
| static bool | RoutineDrawsToBothBGs (int routine_id) |
| static void | TraceHookThunk (int tile_x, int tile_y, const gfx::TileInfo &tile_info, void *user_data) |
Protected Attributes | |
| std::vector< DrawRoutine > | draw_routines_ |
| bool | routines_initialized_ = false |
| TraceContext | trace_context_ {} |
| std::vector< TileTrace > * | trace_collector_ = nullptr |
| bool | trace_only_ = false |
| Rom * | rom_ |
| int | room_id_ |
| int | current_chest_index_ = 0 |
| const uint8_t * | room_gfx_buffer_ |
Static Protected Attributes | |
| static constexpr int | kMaxTilesX = 64 |
| static constexpr int | kMaxTilesY = 64 |
Draws dungeon objects to background buffers using game patterns.
This class interprets object IDs and draws them to BG1/BG2 buffers using the patterns extracted from the game's drawing routines. Based on ZScream's DungeonObjectData.cs and Subtype1_Draw.cs patterns.
Architecture:
Definition at line 36 of file object_drawer.h.
|
protected |
Definition at line 183 of file object_drawer.h.
|
explicit |
Definition at line 20 of file object_drawer.cc.
References InitializeDrawRoutines().

| absl::Status yaze::zelda3::ObjectDrawer::DrawObject | ( | const RoomObject & | object, |
| gfx::BackgroundBuffer & | bg1, | ||
| gfx::BackgroundBuffer & | bg2, | ||
| const gfx::PaletteGroup & | palette_group, | ||
| const DungeonState * | state = nullptr, | ||
| gfx::BackgroundBuffer * | layout_bg1 = nullptr ) |
Draw a room object to background buffers.
| object | The object to draw |
| bg1 | Background layer 1 buffer (object buffer) |
| bg2 | Background layer 2 buffer (object buffer) |
| palette_group | Current palette group for color mapping |
| layout_bg1 | Optional layout buffer to mask for BG2 object transparency |
Definition at line 135 of file object_drawer.cc.
References yaze::zelda3::RoomObject::BG1, yaze::zelda3::RoomObject::BG2, yaze::zelda3::RoomObject::BG3, CalculateObjectDimensions(), yaze::zelda3::DrawRoutineUtils::ClearTraceHook(), draw_routines_, DrawCustomObject(), yaze::core::FeatureFlags::get(), yaze::zelda3::CustomObjectManager::Get(), yaze::zelda3::DrawRoutineRegistry::Get(), GetDrawRoutineId(), yaze::zelda3::CustomObjectManager::GetObjectInternal(), yaze::zelda3::DrawRoutineRegistry::GetRoutineInfo(), yaze::Rom::is_loaded(), yaze::core::FeatureFlags::Flags::kEnableCustomObjects, LOG_DEBUG, LOG_WARN, MarkBG1Transparent(), yaze::zelda3::DrawRoutineInfo::min_tiles, yaze::zelda3::DrawRoutineInfo::name, rom_, RoutineDrawsToBothBGs(), routines_initialized_, yaze::zelda3::RoomObject::SetRom(), SetTraceContext(), yaze::zelda3::DrawRoutineUtils::SetTraceHook(), yaze::zelda3::RoomObject::tiles(), trace_collector_, trace_only_, TraceHookThunk(), and WriteTile8().
Referenced by yaze::zelda3::ObjectTileEditor::CaptureObjectLayout(), DrawObjectList(), yaze::cli::DungeonObjectValidateCommandHandler::Execute(), yaze::editor::ObjectEditorPanel::OpenStaticObjectEditor(), yaze::emu::render::EmulatorRenderService::RenderDungeonObjectStatic(), and yaze::editor::TileObjectHandler::RenderGhostPreviewBitmap().
|
inline |
Definition at line 72 of file object_drawer.h.
References current_chest_index_.
Referenced by DrawObjectList().
| void yaze::zelda3::ObjectDrawer::DrawDoor | ( | const DoorDef & | door, |
| int | door_index, | ||
| gfx::BackgroundBuffer & | bg1, | ||
| gfx::BackgroundBuffer & | bg2, | ||
| const DungeonState * | state = nullptr ) |
Draw a door to background buffers.
| door | Door definition (type, direction, position) |
| bg1 | Background layer 1 buffer |
| bg2 | Background layer 2 buffer |
Definition at line 1442 of file object_drawer.cc.
References yaze::gfx::BackgroundBuffer::bitmap(), yaze::Rom::data(), yaze::zelda3::ObjectDrawer::DoorDef::direction, DrawDoorIndicator(), DrawTileToBitmap(), yaze::zelda3::East, yaze::zelda3::ObjectDrawer::DoorDef::GetDimensions(), yaze::zelda3::GetDoorDirectionName(), yaze::zelda3::GetDoorTypeName(), yaze::zelda3::ObjectDrawer::DoorDef::GetTileCoords(), yaze::Rom::is_loaded(), yaze::zelda3::kDoorGfxDown, yaze::zelda3::kDoorGfxLeft, yaze::zelda3::kDoorGfxRight, yaze::zelda3::kDoorGfxUp, LOG_DEBUG, yaze::gfx::BackgroundBuffer::mutable_coverage_data(), yaze::gfx::BackgroundBuffer::mutable_priority_data(), yaze::zelda3::North, yaze::zelda3::ObjectDrawer::DoorDef::position, rom_, room_gfx_buffer_, yaze::Rom::size(), yaze::zelda3::South, yaze::zelda3::ObjectDrawer::DoorDef::type, yaze::zelda3::West, yaze::zelda3::DoorDimensions::width_tiles, and yaze::gfx::WordToTileInfo().
Referenced by yaze::zelda3::Room::RenderObjectsToBackground().
| void yaze::zelda3::ObjectDrawer::DrawPotItem | ( | uint8_t | item_id, |
| int | x, | ||
| int | y, | ||
| gfx::BackgroundBuffer & | bg ) |
Draw a pot item visualization.
| item_id | Item ID |
| x | X coordinate (pixels) |
| y | Y coordinate (pixels) |
| bg | Background buffer |
Definition at line 5347 of file object_drawer.cc.
References yaze::gfx::BackgroundBuffer::bitmap(), and yaze::gfx::BackgroundBuffer::mutable_coverage_data().
Referenced by yaze::zelda3::Room::RenderObjectsToBackground().

| absl::Status yaze::zelda3::ObjectDrawer::DrawObjectList | ( | const std::vector< RoomObject > & | objects, |
| gfx::BackgroundBuffer & | bg1, | ||
| gfx::BackgroundBuffer & | bg2, | ||
| const gfx::PaletteGroup & | palette_group, | ||
| const DungeonState * | state = nullptr, | ||
| gfx::BackgroundBuffer * | layout_bg1 = nullptr ) |
Draw all objects in a room.
| objects | Vector of room objects |
| bg1 | Background layer 1 buffer (object buffer) |
| bg2 | Background layer 2 buffer (object buffer) |
| palette_group | Current palette group for color mapping |
| layout_bg1 | Optional layout buffer to mask for BG2 object transparency |
Definition at line 324 of file object_drawer.cc.
References yaze::zelda3::RoomObject::BG2, yaze::gfx::BackgroundBuffer::bitmap(), DrawObject(), GetDrawRoutineId(), LOG_DEBUG, ResetChestIndex(), and RoutineDrawsToBothBGs().
Referenced by yaze::zelda3::RoomLayout::Draw(), and yaze::zelda3::Room::RenderObjectsToBackground().
| int yaze::zelda3::ObjectDrawer::GetDrawRoutineId | ( | int16_t | object_id | ) | const |
Get draw routine ID for an object.
| object_id | The object ID to look up |
Definition at line 1433 of file object_drawer.cc.
References yaze::zelda3::DrawRoutineRegistry::Get(), and yaze::zelda3::DrawRoutineRegistry::GetRoutineIdForObject().
Referenced by CalculateObjectDimensions(), DrawObject(), yaze::editor::DungeonObjectSelector::DrawObjectAssetBrowser(), DrawObjectList(), and yaze::cli::DungeonObjectValidateCommandHandler::Execute().

|
inline |
Get the total number of registered draw routines.
Definition at line 118 of file object_drawer.h.
References draw_routines_.
| void yaze::zelda3::ObjectDrawer::InitializeDrawRoutines | ( | ) |
Initialize draw routine registry Must be called before drawing objects.
Definition at line 416 of file object_drawer.cc.
References Draw4x4Corner_BothBG(), draw_routines_, DrawActual4x4(), DrawArcheryGameTargetDoor(), DrawBed4x5(), DrawBigLightBeam(), DrawBossShell4x4(), DrawChest(), DrawClosedChestPlatform(), DrawCorner4x4(), DrawCustomObject(), DrawDiagonalAcute_1to16(), DrawDiagonalAcute_1to16_BothBG(), DrawDiagonalCeilingBottomLeft(), DrawDiagonalCeilingBottomRight(), DrawDiagonalCeilingTopLeft(), DrawDiagonalCeilingTopRight(), DrawDiagonalGrave_1to16(), DrawDiagonalGrave_1to16_BothBG(), DrawDoorSwitcherer(), DrawDownwards1x1Solid_1to16_plus3(), DrawDownwards2x2_1to15or32(), DrawDownwards2x2_1to16(), DrawDownwards4x2_1to15or26(), DrawDownwards4x2_1to16_BothBG(), DrawDownwardsBar2x3_1to16(), DrawDownwardsBigRail3x1_1to16plus5(), DrawDownwardsBlock2x2spaced2_1to16(), DrawDownwardsCannonHole3x6_1to16(), DrawDownwardsDecor2x2spaced12_1to16(), DrawDownwardsDecor2x4spaced8_1to16(), DrawDownwardsDecor3x4spaced2_1to16(), DrawDownwardsDecor3x4spaced4_1to16(), DrawDownwardsDecor4x2spaced4_1to16(), DrawDownwardsDecor4x4spaced2_1to16(), DrawDownwardsEdge1x1_1to16(), DrawDownwardsFloor4x4_1to16(), DrawDownwardsHammerPegs2x2_1to16(), DrawDownwardsHasEdge1x1_1to16_plus23(), DrawDownwardsHasEdge1x1_1to16_plus3(), DrawDownwardsLeftCorners2x1_1to16_plus12(), DrawDownwardsLine1x1_1to16plus1(), DrawDownwardsPillar2x4spaced2_1to16(), DrawDownwardsPots2x2_1to16(), DrawDownwardsRightCorners2x1_1to16_plus12(), DrawGanonTriforceFloorDecor(), DrawHorizontalTurtleRockPipe(), DrawLightBeam(), DrawMovingWallEast(), DrawMovingWallWest(), DrawNothing(), DrawOpenChestPlatform(), DrawRightwards1x1Solid_1to16_plus3(), DrawRightwards1x2_1to16_plus2(), DrawRightwards2x2_1to15or32(), DrawRightwards2x2_1to16(), DrawRightwards2x4_1to15or26(), DrawRightwards2x4_1to16(), DrawRightwards2x4_1to16_BothBG(), DrawRightwards3x6(), DrawRightwards4x2_1to16(), DrawRightwards4x4_1to16(), DrawRightwardsBar4x3_1to16(), DrawRightwardsBigRail1x3_1to16plus5(), DrawRightwardsBlock2x2spaced2_1to16(), DrawRightwardsBottomCorners1x2_1to16_plus13(), DrawRightwardsCannonHole4x3_1to16(), DrawRightwardsDecor2x2spaced12_1to16(), DrawRightwardsDecor4x2spaced8_1to16(), DrawRightwardsDecor4x3spaced4_1to16(), DrawRightwardsDecor4x4spaced2_1to16(), DrawRightwardsDoubled2x2spaced2_1to16(), DrawRightwardsEdge1x1_1to16plus7(), DrawRightwardsHammerPegs2x2_1to16(), DrawRightwardsHasEdge1x1_1to16_plus2(), DrawRightwardsHasEdge1x1_1to16_plus23(), DrawRightwardsHasEdge1x1_1to16_plus3(), DrawRightwardsLine1x1_1to16plus1(), DrawRightwardsPillar2x4spaced4_1to16(), DrawRightwardsPots2x2_1to16(), DrawRightwardsShelf4x4_1to16(), DrawRightwardsStatue2x3spaced2_1to16(), DrawRightwardsTopCorners1x2_1to16_plus13(), DrawRupeeFloor(), DrawSingle2x2(), DrawSingle4x3(), DrawSingle4x4(), DrawSolidWallDecor3x4(), DrawSomariaLine(), DrawUsingRegistryRoutine(), DrawUtility3x5(), DrawUtility6x3(), DrawVerticalTurtleRockPipe(), DrawWaterFace(), DrawWeirdCornerBottom_BothBG(), DrawWeirdCornerTop_BothBG(), routines_initialized_, yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by CalculateObjectDimensions(), ObjectDrawer(), yaze::editor::ObjectEditorPanel::OpenStaticObjectEditor(), yaze::emu::render::EmulatorRenderService::RenderDungeonObjectStatic(), and yaze::editor::TileObjectHandler::RenderGhostPreviewBitmap().
| void yaze::zelda3::ObjectDrawer::DrawTileToBitmap | ( | gfx::Bitmap & | bitmap, |
| const gfx::TileInfo & | tile_info, | ||
| int | pixel_x, | ||
| int | pixel_y, | ||
| const uint8_t * | tiledata ) |
Draw a single tile directly to bitmap.
| bitmap | Target bitmap to draw to |
| tile_info | Tile information (ID, palette, mirroring) |
| pixel_x | X pixel coordinate in bitmap |
| pixel_y | Y pixel coordinate in bitmap |
| tiledata | Source graphics data from ROM |
Definition at line 3756 of file object_drawer.cc.
References yaze::gfx::Bitmap::height(), yaze::gfx::TileInfo::horizontal_mirror_, yaze::gfx::TileInfo::id_, yaze::gfx::Bitmap::is_active(), LOG_DEBUG, yaze::gfx::Bitmap::mutable_data(), yaze::gfx::TileInfo::palette_, yaze::gfx::Bitmap::set_modified(), yaze::gfx::TileInfo::vertical_mirror_, and yaze::gfx::Bitmap::width().
Referenced by yaze::zelda3::ObjectTileEditor::BuildTile8Atlas(), DrawDoor(), yaze::zelda3::ObjectTileEditor::RenderLayoutToBitmap(), and WriteTile8().
| absl::Status yaze::zelda3::ObjectDrawer::DrawRoomDrawObjectData2x2 | ( | uint16_t | object_id, |
| int | tile_x, | ||
| int | tile_y, | ||
| RoomObject::LayerType | layer, | ||
| uint16_t | room_draw_object_data_offset, | ||
| gfx::BackgroundBuffer & | bg1, | ||
| gfx::BackgroundBuffer & | bg2 ) |
Draw a fixed 2x2 (16x16) tile pattern from RoomDrawObjectData.
USDASM uses hardcoded offsets into RoomDrawObjectData for certain special objects that are NOT part of the room object stream (e.g. pushable blocks and lightable torches). See bank_01.asm: RoomDraw_PushableBlock and RoomDraw_LightableTorch.
| object_id | Identifier used only for tracing/debugging (not used for routine lookup) |
| tile_x | Top-left X position in tiles |
| tile_y | Top-left Y position in tiles |
| layer | Target layer (BG1/BG2) |
| room_draw_object_data_offset | Offset from RoomDrawObjectData base (not an absolute PC address) |
Definition at line 3873 of file object_drawer.cc.
References yaze::zelda3::RoomObject::BG2, yaze::Rom::is_loaded(), yaze::zelda3::kRoomObjectTileAddress, rom_, SetTraceContext(), yaze::Rom::vector(), yaze::gfx::WordToTileInfo(), and WriteTile8().
Referenced by yaze::zelda3::Room::RenderObjectsToBackground().
| std::pair< int, int > yaze::zelda3::ObjectDrawer::CalculateObjectDimensions | ( | const RoomObject & | object | ) |
Calculate the dimensions (width, height) of an object in pixels.
| object | The object to calculate dimensions for |
Definition at line 4570 of file object_drawer.cc.
References GetDrawRoutineId(), InitializeDrawRoutines(), and routines_initialized_.
Referenced by DrawObject().

| void yaze::zelda3::ObjectDrawer::SetTraceCollector | ( | std::vector< TileTrace > * | collector, |
| bool | trace_only = false ) |
Definition at line 26 of file object_drawer.cc.
References trace_collector_, and trace_only_.
Referenced by yaze::zelda3::ObjectTileEditor::CaptureObjectLayout(), and yaze::cli::DungeonObjectValidateCommandHandler::Execute().
| void yaze::zelda3::ObjectDrawer::ClearTraceCollector | ( | ) |
Definition at line 32 of file object_drawer.cc.
References trace_collector_, and trace_only_.
Referenced by yaze::zelda3::ObjectTileEditor::CaptureObjectLayout().
|
inline |
Definition at line 179 of file object_drawer.h.
References trace_only_.
|
protected |
Definition at line 1706 of file object_drawer.cc.
References current_chest_index_, room_id_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 1746 of file object_drawer.cc.
References yaze::zelda3::RoomObject::id_, and LOG_DEBUG.
Referenced by InitializeDrawRoutines().
|
protected |
Definition at line 1756 of file object_drawer.cc.
References yaze::zelda3::RoomObject::id_, LOG_DEBUG, yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 1803 of file object_drawer.cc.
References yaze::zelda3::RoomObject::id_, LOG_DEBUG, yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 1847 of file object_drawer.cc.
References yaze::zelda3::RoomObject::id_, LOG_DEBUG, yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by DrawRightwards2x4_1to16_BothBG(), and InitializeDrawRoutines().

|
protected |
Definition at line 1888 of file object_drawer.cc.
References DrawRightwards2x4_1to16().
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 1897 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 1921 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 1953 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 1985 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 2013 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 2080 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 2119 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 2173 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 2149 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 2203 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 2222 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 2241 of file object_drawer.cc.
References WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.

|
protected |
Definition at line 2252 of file object_drawer.cc.
References yaze::zelda3::RoomObject::id_, LOG_DEBUG, yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by DrawArcheryGameTargetDoor(), DrawBed4x5(), DrawBigLightBeam(), DrawBossShell4x4(), DrawGanonTriforceFloorDecor(), DrawLightBeam(), DrawRightwards3x6(), DrawSolidWallDecor3x4(), DrawUtility3x5(), and InitializeDrawRoutines().

|
protected |
Definition at line 2287 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 2305 of file object_drawer.cc.
References room_id_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 2325 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 2347 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 2370 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 2396 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by DrawUtility6x3(), and InitializeDrawRoutines().

|
protected |
Definition at line 2422 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 2450 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 2476 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 2504 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 2527 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 2573 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 2589 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 2623 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 2647 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 2697 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 2041 of file object_drawer.cc.
References WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by Draw4x4Corner_BothBG(), DrawWeirdCornerBottom_BothBG(), DrawWeirdCornerTop_BothBG(), and InitializeDrawRoutines().

|
protected |
Definition at line 2723 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 2750 of file object_drawer.cc.
References yaze::zelda3::RoomObject::id_, LOG_DEBUG, yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by DrawDownwards4x2_1to16_BothBG(), and InitializeDrawRoutines().

|
protected |
Definition at line 2787 of file object_drawer.cc.
References DrawDownwards4x2_1to15or26().
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 2796 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 2825 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 2851 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 2874 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 2904 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 2922 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 2941 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 2962 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 2985 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 3001 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 3024 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 3047 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 3070 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 3094 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 3110 of file object_drawer.cc.
References yaze::zelda3::RoomObject::id_, LOG_DEBUG, yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 3152 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 3174 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 3220 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 3241 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 3264 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 3286 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 3307 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 3328 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 3344 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 3365 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 3390 of file object_drawer.cc.
References yaze::zelda3::RoomObject::id_, LOG_DEBUG, yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 3419 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 3440 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 3462 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 3488 of file object_drawer.cc.
References yaze::zelda3::RoomObject::id_, LOG_DEBUG, yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 3530 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 3549 of file object_drawer.cc.
References yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 3567 of file object_drawer.cc.
References yaze::zelda3::RoomObject::id_, LOG_DEBUG, yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 3928 of file object_drawer.cc.
References yaze::zelda3::RoomObject::id_, yaze::zelda3::RoomObject::size_, WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 4014 of file object_drawer.cc.
References WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by Draw4x4Corner_BothBG(), DrawWeirdCornerBottom_BothBG(), DrawWeirdCornerTop_BothBG(), and InitializeDrawRoutines().

|
protected |
Definition at line 4030 of file object_drawer.cc.
References DrawCorner4x4(), DrawWaterFace(), WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 4052 of file object_drawer.cc.
References DrawCorner4x4(), DrawWaterFace(), WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 4082 of file object_drawer.cc.
References DrawCorner4x4(), DrawWaterFace(), WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 4112 of file object_drawer.cc.
References WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.

|
protected |
Definition at line 4130 of file object_drawer.cc.
References DrawRightwards4x4_1to16(), WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 4153 of file object_drawer.cc.
References DrawRightwards4x4_1to16(), WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 4176 of file object_drawer.cc.
References DrawRightwardsDecor4x3spaced4_1to16(), WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 4198 of file object_drawer.cc.
References DrawRightwards4x4_1to16(), WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 4225 of file object_drawer.cc.
References WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 4247 of file object_drawer.cc.
References WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 4269 of file object_drawer.cc.
References DrawRightwards4x4_1to16(), WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 4292 of file object_drawer.cc.
References DrawRightwards4x4_1to16(), WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 4314 of file object_drawer.cc.
References DrawRightwards4x4_1to16().
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 4324 of file object_drawer.cc.
References DrawRightwards4x4_1to16(), WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 4347 of file object_drawer.cc.
References DrawRightwards4x4_1to16(), WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 4508 of file object_drawer.cc.
References DrawRightwards4x4_1to16(), WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 4393 of file object_drawer.cc.
References WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 4409 of file object_drawer.cc.
References WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 4427 of file object_drawer.cc.
References WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 4445 of file object_drawer.cc.
References WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 4488 of file object_drawer.cc.
References WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by InitializeDrawRoutines().

|
protected |
Definition at line 5315 of file object_drawer.cc.
References yaze::zelda3::CustomObjectManager::Get(), yaze::zelda3::RoomObject::id_, LOG_DEBUG, yaze::zelda3::RoomObject::size_, yaze::gfx::WordToTileInfo(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by DrawObject(), and InitializeDrawRoutines().

|
protected |
Definition at line 79 of file object_drawer.cc.
References yaze::zelda3::DrawRoutineUtils::ClearTraceHook(), yaze::zelda3::DrawRoutineRegistry::Get(), yaze::zelda3::DrawRoutineRegistry::GetRoutineInfo(), LOG_DEBUG, rom_, room_gfx_buffer_, room_id_, yaze::zelda3::DrawRoutineUtils::SetTraceHook(), yaze::zelda3::DrawContext::target_bg, yaze::zelda3::RoomObject::tiles(), and WriteTile8().
Referenced by InitializeDrawRoutines().
|
protected |
Definition at line 3676 of file object_drawer.cc.
References yaze::gfx::BackgroundBuffer::bitmap(), DrawTileToBitmap(), IsValidTilePosition(), LOG_DEBUG, yaze::gfx::BackgroundBuffer::mutable_coverage_data(), yaze::gfx::BackgroundBuffer::mutable_priority_data(), yaze::gfx::TileInfo::over_, PushTrace(), room_gfx_buffer_, and trace_only_.
Referenced by CustomDraw(), Draw4x4Corner_BothBG(), DrawActual4x4(), DrawArcheryGameTargetDoor(), DrawBed4x5(), DrawBigLightBeam(), DrawChest(), DrawClosedChestPlatform(), DrawCorner4x4(), DrawDiagonalAcute_1to16(), DrawDiagonalAcute_1to16_BothBG(), DrawDiagonalCeilingBottomLeft(), DrawDiagonalCeilingBottomRight(), DrawDiagonalCeilingTopLeft(), DrawDiagonalCeilingTopRight(), DrawDiagonalGrave_1to16(), DrawDiagonalGrave_1to16_BothBG(), DrawDoorSwitcherer(), DrawDownwards1x1Solid_1to16_plus3(), DrawDownwards2x2_1to15or32(), DrawDownwards2x2_1to16(), DrawDownwards4x2_1to15or26(), DrawDownwardsBar2x3_1to16(), DrawDownwardsBigRail3x1_1to16plus5(), DrawDownwardsBlock2x2spaced2_1to16(), DrawDownwardsCannonHole3x6_1to16(), DrawDownwardsDecor2x2spaced12_1to16(), DrawDownwardsDecor2x4spaced8_1to16(), DrawDownwardsDecor3x4spaced2_1to16(), DrawDownwardsDecor3x4spaced4_1to16(), DrawDownwardsDecor4x2spaced4_1to16(), DrawDownwardsDecor4x4spaced2_1to16(), DrawDownwardsEdge1x1_1to16(), DrawDownwardsFloor4x4_1to16(), DrawDownwardsHammerPegs2x2_1to16(), DrawDownwardsHasEdge1x1_1to16_plus23(), DrawDownwardsHasEdge1x1_1to16_plus3(), DrawDownwardsLeftCorners2x1_1to16_plus12(), DrawDownwardsLine1x1_1to16plus1(), DrawDownwardsPillar2x4spaced2_1to16(), DrawDownwardsPots2x2_1to16(), DrawDownwardsRightCorners2x1_1to16_plus12(), DrawGanonTriforceFloorDecor(), DrawHorizontalTurtleRockPipe(), DrawLargeCanvasObject(), DrawLightBeam(), DrawMovingWallEast(), DrawMovingWallWest(), DrawObject(), DrawOpenChestPlatform(), DrawRightwards1x1Solid_1to16_plus3(), DrawRightwards1x2_1to16_plus2(), DrawRightwards2x2_1to15or32(), DrawRightwards2x2_1to16(), DrawRightwards2x4_1to15or26(), DrawRightwards2x4_1to16(), DrawRightwards3x6(), DrawRightwards4x2_1to16(), DrawRightwards4x4_1to16(), DrawRightwardsBar4x3_1to16(), DrawRightwardsBigRail1x3_1to16plus5(), DrawRightwardsBlock2x2spaced2_1to16(), DrawRightwardsBottomCorners1x2_1to16_plus13(), DrawRightwardsCannonHole4x3_1to16(), DrawRightwardsDecor2x2spaced12_1to16(), DrawRightwardsDecor4x2spaced8_1to16(), DrawRightwardsDecor4x3spaced4_1to16(), DrawRightwardsDecor4x4spaced2_1to16(), DrawRightwardsDoubled2x2spaced2_1to16(), DrawRightwardsEdge1x1_1to16plus7(), DrawRightwardsHammerPegs2x2_1to16(), DrawRightwardsHasEdge1x1_1to16_plus2(), DrawRightwardsHasEdge1x1_1to16_plus23(), DrawRightwardsHasEdge1x1_1to16_plus3(), DrawRightwardsLine1x1_1to16plus1(), DrawRightwardsPillar2x4spaced4_1to16(), DrawRightwardsPots2x2_1to16(), DrawRightwardsShelf4x4_1to16(), DrawRightwardsStatue2x3spaced2_1to16(), DrawRightwardsTopCorners1x2_1to16_plus13(), DrawRoomDrawObjectData2x2(), DrawRupeeFloor(), DrawSingle2x2(), DrawSingle4x3(), DrawSingle4x4(), DrawSolidWallDecor3x4(), DrawSomariaLine(), DrawUsingRegistryRoutine(), DrawUtility3x5(), DrawUtility6x3(), DrawVerticalTurtleRockPipe(), DrawWaterFace(), DrawWeirdCornerBottom_BothBG(), DrawWeirdCornerTop_BothBG(), and InitializeDrawRoutines().
|
protected |
Definition at line 3751 of file object_drawer.cc.
References kMaxTilesY.
Referenced by WriteTile8().
|
staticprotected |
Definition at line 407 of file object_drawer.cc.
References yaze::zelda3::DrawRoutineRegistry::Get(), and yaze::zelda3::DrawRoutineRegistry::RoutineDrawsToBothBGs().
Referenced by DrawObject(), and DrawObjectList().

|
protected |
Mark BG1 pixels as transparent where BG2 overlay objects are drawn.
This creates "holes" in BG1 that allow BG2 content to show through, matching SNES behavior where Layer 1 objects only write to BG2 tilemap.
| bg1 | Background layer 1 buffer to mark transparent |
| tile_x | Object X position in tiles |
| tile_y | Object Y position in tiles |
| pixel_width | Width of the object in pixels |
| pixel_height | Height of the object in pixels |
Definition at line 3633 of file object_drawer.cc.
References yaze::gfx::BackgroundBuffer::bitmap(), and LOG_DEBUG.
Referenced by DrawObject().

|
protected |
Definition at line 1601 of file object_drawer.cc.
References yaze::zelda3::BigKeyDoor, yaze::gfx::BackgroundBuffer::bitmap(), yaze::zelda3::BombableCaveExit, yaze::zelda3::BombableDoor, yaze::zelda3::BottomShutterLower, yaze::zelda3::BottomSidedShutter, yaze::zelda3::CaveExit, yaze::zelda3::CurtainDoor, yaze::zelda3::DashWall, yaze::zelda3::DoubleSidedShutter, yaze::zelda3::DoubleSidedShutterLower, yaze::zelda3::DungeonSwapMarker, yaze::zelda3::ExitMarker, yaze::zelda3::ExplodingWall, yaze::zelda3::EyeWatchDoor, yaze::zelda3::FancyDungeonExit, yaze::zelda3::FancyDungeonExitLower, yaze::zelda3::LayerSwapMarker, yaze::zelda3::LitCaveExitLower, yaze::gfx::BackgroundBuffer::mutable_coverage_data(), yaze::zelda3::NormalDoor, yaze::zelda3::NormalDoorLower, yaze::zelda3::SmallKeyDoor, yaze::zelda3::SmallKeyStairsDown, yaze::zelda3::SmallKeyStairsDownLower, yaze::zelda3::SmallKeyStairsUp, yaze::zelda3::SmallKeyStairsUpLower, yaze::zelda3::TopShutterLower, yaze::zelda3::TopSidedShutter, yaze::zelda3::UnopenableBigKeyDoor, and yaze::zelda3::WaterfallDoor.
Referenced by DrawDoor().

|
protected |
Definition at line 37 of file object_drawer.cc.
References yaze::zelda3::ObjectDrawer::TraceContext::layer, yaze::zelda3::ObjectDrawer::TraceContext::object_id, yaze::zelda3::ObjectDrawer::TraceContext::size, and trace_context_.
Referenced by DrawObject(), and DrawRoomDrawObjectData2x2().
|
protected |
Definition at line 44 of file object_drawer.cc.
References yaze::gfx::TileInfo::horizontal_mirror_, yaze::gfx::TileInfo::id_, yaze::zelda3::ObjectDrawer::TraceContext::layer, yaze::zelda3::ObjectDrawer::TileTrace::object_id, yaze::zelda3::ObjectDrawer::TraceContext::object_id, yaze::gfx::TileInfo::over_, yaze::gfx::TileInfo::palette_, yaze::zelda3::ObjectDrawer::TraceContext::size, trace_collector_, trace_context_, and yaze::gfx::TileInfo::vertical_mirror_.
Referenced by TraceHookThunk(), and WriteTile8().
|
staticprotected |
Definition at line 69 of file object_drawer.cc.
References PushTrace().
Referenced by DrawObject().

|
protected |
Definition at line 496 of file object_drawer.h.
Referenced by DrawObject(), GetDrawRoutineCount(), and InitializeDrawRoutines().
|
protected |
Definition at line 497 of file object_drawer.h.
Referenced by CalculateObjectDimensions(), DrawObject(), and InitializeDrawRoutines().
|
protected |
Definition at line 511 of file object_drawer.h.
Referenced by PushTrace(), and SetTraceContext().
|
protected |
Definition at line 512 of file object_drawer.h.
Referenced by ClearTraceCollector(), DrawObject(), PushTrace(), and SetTraceCollector().
|
protected |
Definition at line 513 of file object_drawer.h.
Referenced by ClearTraceCollector(), DrawObject(), SetTraceCollector(), TraceOnly(), and WriteTile8().
|
protected |
Definition at line 515 of file object_drawer.h.
Referenced by DrawDoor(), DrawObject(), DrawRoomDrawObjectData2x2(), and DrawUsingRegistryRoutine().
|
protected |
Definition at line 516 of file object_drawer.h.
Referenced by DrawChest(), DrawDoorSwitcherer(), and DrawUsingRegistryRoutine().
|
mutableprotected |
Definition at line 517 of file object_drawer.h.
Referenced by DrawChest(), and ResetChestIndex().
|
protected |
Definition at line 519 of file object_drawer.h.
Referenced by DrawDoor(), DrawUsingRegistryRoutine(), and WriteTile8().
|
staticconstexprprotected |
Definition at line 522 of file object_drawer.h.
|
staticconstexprprotected |
Definition at line 523 of file object_drawer.h.
Referenced by IsValidTilePosition().