Namespaces | |
| namespace | anonymous_namespace{corner_routines.cc} |
| namespace | anonymous_namespace{special_routines.cc} |
Functions | |
| void | DrawCorner4x4 (const DrawContext &ctx) |
| Draw a 4x4 grid corner pattern. | |
| void | Draw4x4Corner_BothBG (const DrawContext &ctx) |
| Draw a 4x4 corner for both BG layers. | |
| void | DrawWeirdCornerBottom_BothBG (const DrawContext &ctx) |
| Draw a weird corner bottom pattern for both BG layers. | |
| void | DrawWeirdCornerTop_BothBG (const DrawContext &ctx) |
| Draw a weird corner top pattern for both BG layers. | |
| void | DrawDiagonalCeilingTopLeft (const DrawContext &ctx) |
| Draw diagonal ceiling triangle anchored at top-left. | |
| void | DrawDiagonalCeilingBottomLeft (const DrawContext &ctx) |
| Draw diagonal ceiling triangle anchored at bottom-left. | |
| void | DrawDiagonalCeilingTopRight (const DrawContext &ctx) |
| Draw diagonal ceiling triangle anchored at top-right. | |
| void | DrawDiagonalCeilingBottomRight (const DrawContext &ctx) |
| Draw diagonal ceiling triangle anchored at bottom-right. | |
| void | RegisterCornerRoutines (std::vector< DrawRoutineInfo > ®istry) |
| Register all corner draw routines to the registry. | |
| void | DrawDiagonalAcute_1to16 (const DrawContext &ctx) |
| Draw diagonal acute (/) pattern - draws 5 tiles vertically, moves up-right. | |
| void | DrawDiagonalGrave_1to16 (const DrawContext &ctx) |
| Draw diagonal grave () pattern - draws 5 tiles vertically, moves down-right. | |
| void | DrawDiagonalAcute_1to16_BothBG (const DrawContext &ctx) |
| Draw diagonal acute (/) pattern for both BG layers. | |
| void | DrawDiagonalGrave_1to16_BothBG (const DrawContext &ctx) |
| Draw diagonal grave () pattern for both BG layers. | |
| void | RegisterDiagonalRoutines (std::vector< DrawRoutineInfo > ®istry) |
| Register all diagonal draw routines to the registry. | |
| void | DrawDownwards2x2_1to15or32 (const DrawContext &ctx) |
| Draw 2x2 tiles downward pattern (1-15 or 32 iterations) | |
| void | DrawDownwards4x2_1to15or26 (const DrawContext &ctx) |
| Draw 4x2 tiles downward pattern (1-15 or 26 iterations) | |
| void | DrawDownwards4x2_1to16_BothBG (const DrawContext &ctx) |
| Draw 4x2 tiles downward pattern for both BG layers. | |
| void | DrawDownwardsDecor4x2spaced4_1to16 (const DrawContext &ctx) |
| Draw 4x2 decoration downward with spacing (1-16 iterations) | |
| void | DrawDownwards2x2_1to16 (const DrawContext &ctx) |
| Draw 2x2 tiles downward pattern (1-16 iterations) | |
| void | DrawDownwardsHasEdge1x1_1to16_plus3 (const DrawContext &ctx) |
| Draw 1x1 tiles with edge detection +3 downward. | |
| void | DrawDownwardsEdge1x1_1to16 (const DrawContext &ctx) |
| Draw 1x1 edge tiles downward (1-16 iterations) | |
| void | DrawDownwardsLeftCorners2x1_1to16_plus12 (const DrawContext &ctx) |
| Draw left corner 2x1 tiles with +12 offset downward. | |
| void | DrawDownwardsRightCorners2x1_1to16_plus12 (const DrawContext &ctx) |
| Draw right corner 2x1 tiles with +12 offset downward. | |
| void | DrawDownwardsFloor4x4_1to16 (const DrawContext &ctx) |
| Draw downwards 4x4 floor blocks. | |
| void | DrawDownwards1x1Solid_1to16_plus3 (const DrawContext &ctx) |
| Draw downwards 1x1 solid line with +3 extension. | |
| void | DrawDownwardsDecor4x4spaced2_1to16 (const DrawContext &ctx) |
| Draw downwards 4x4 decoration with 2-tile spacing. | |
| void | DrawDownwardsPillar2x4spaced2_1to16 (const DrawContext &ctx) |
| Draw downwards 2x4 pillar with 2-tile spacing. | |
| void | DrawDownwardsDecor3x4spaced4_1to16 (const DrawContext &ctx) |
| Draw downwards 3x4 decoration with 4-tile spacing. | |
| void | DrawDownwardsDecor2x2spaced12_1to16 (const DrawContext &ctx) |
| Draw downwards 2x2 decoration with 12-tile spacing. | |
| void | DrawDownwardsLine1x1_1to16plus1 (const DrawContext &ctx) |
| Draw downwards 1x1 line with +1 extension. | |
| void | DrawDownwardsDecor2x4spaced8_1to16 (const DrawContext &ctx) |
| Draw downwards 2x4 decoration with 8-tile spacing. | |
| void | DrawDownwardsDecor3x4spaced2_1to16 (const DrawContext &ctx) |
| Draw downwards 3x4 decoration with 2-tile spacing. | |
| void | DrawDownwardsBigRail3x1_1to16plus5 (const DrawContext &ctx) |
| Draw downwards big rail pattern (3x1 family, +5 extension) | |
| void | DrawDownwardsBlock2x2spaced2_1to16 (const DrawContext &ctx) |
| Draw downwards 2x2 block pattern with 2-tile spacing. | |
| void | DrawDownwardsCannonHole3x4_1to16 (const DrawContext &ctx) |
| Draw downwards cannon-hole 3x4 pattern. | |
| void | DrawDownwardsBar2x5_1to16 (const DrawContext &ctx) |
| Draw downwards 2x5 bar pattern. | |
| void | DrawDownwardsPots2x2_1to16 (const DrawContext &ctx) |
| Draw downwards 2x2 pots pattern. | |
| void | DrawDownwardsHammerPegs2x2_1to16 (const DrawContext &ctx) |
| Draw downwards 2x2 hammer pegs pattern. | |
| void | DrawDownwardsEdge1x1_1to16plus7 (const DrawContext &ctx) |
| Draw a single tile downward for size + 8 rows. | |
| void | RegisterDownwardsRoutines (std::vector< DrawRoutineInfo > ®istry) |
| Register all downwards draw routines to the registry. | |
| void | DrawRightwards2x2_1to15or32 (const DrawContext &ctx) |
| Draw 2x2 tiles rightward (1-15 or 32 repetitions) | |
| void | DrawRightwards2x4_1to15or26 (const DrawContext &ctx) |
| Draw 2x4 tiles rightward (1-15 or 26 repetitions) | |
| void | DrawRightwards2x4_1to16 (const DrawContext &ctx) |
| Draw 2x4 tiles rightward with adjacent spacing (1-16 repetitions) | |
| void | DrawRightwards2x4_1to16_BothBG (const DrawContext &ctx) |
| Draw 2x4 tiles rightward with adjacent spacing to both BG layers. | |
| void | DrawRightwards2x2_1to16 (const DrawContext &ctx) |
| Draw 2x2 tiles rightward (1-16 repetitions) | |
| void | DrawRightwards1x2_1to16_plus2 (const DrawContext &ctx) |
| Draw 1x3 tiles rightward with caps. | |
| void | DrawRightwardsHasEdge1x1_1to16_plus3 (const DrawContext &ctx) |
| Draw 1x1 tiles with edge detection +3. | |
| void | DrawRightwardsHasEdge1x1_1to16_plus2 (const DrawContext &ctx) |
| Draw 1x1 tiles with edge detection +2. | |
| void | DrawRightwardsHasEdge1x1_1to16_plus23 (const DrawContext &ctx) |
| Draw 1x1 tiles with edge detection +23. | |
| void | DrawRightwardsTopCorners1x2_1to16_plus13 (const DrawContext &ctx) |
| Draw top corner 1x2 tiles with +13 offset. | |
| void | DrawRightwardsBottomCorners1x2_1to16_plus13 (const DrawContext &ctx) |
| Draw bottom corner 1x2 tiles with +13 offset. | |
| void | DrawRightwards4x4_1to16 (const DrawContext &ctx) |
| Draw 4x4 block rightward. | |
| void | DrawRightwards1x1Solid_1to16_plus3 (const DrawContext &ctx) |
| Draw 1x1 solid tiles +3 offset. | |
| void | DrawRightwardsDecor4x4spaced2_1to16 (const DrawContext &ctx) |
| Draw 4x4 decoration with spacing. | |
| void | DrawRightwardsStatue2x3spaced2_1to16 (const DrawContext &ctx) |
| Draw 2x3 statue with spacing. | |
| void | DrawRightwardsPillar2x4spaced4_1to16 (const DrawContext &ctx) |
| Draw 2x4 pillar with spacing. | |
| void | DrawRightwardsDecor4x3spaced4_1to16 (const DrawContext &ctx) |
| Draw 4x3 decoration with spacing. | |
| void | DrawRightwardsDoubled2x2spaced2_1to16 (const DrawContext &ctx) |
| Draw doubled 2x2 with spacing. | |
| void | DrawRightwardsDecor2x2spaced12_1to16 (const DrawContext &ctx) |
| Draw 2x2 decoration with large spacing. | |
| void | DrawRightwards4x2_1to16 (const DrawContext &ctx) |
| Draw 4x2 floor tiles rightward. | |
| void | DrawRightwardsDecor4x2spaced8_1to16 (const DrawContext &ctx) |
| Draw 4x2 decorative stamps with wide horizontal spacing. | |
| void | DrawRightwardsCannonHole4x3_1to16 (const DrawContext &ctx) |
| Draw cannon-hole spans with repeated left segment and right cap. | |
| void | DrawRightwardsLine1x1_1to16plus1 (const DrawContext &ctx) |
| Draw rightwards 1x1 line with +1 extension. | |
| void | DrawRightwardsBar4x3_1to16 (const DrawContext &ctx) |
| Draw rightwards 4x3 bar pattern. | |
| void | DrawRightwardsShelf4x4_1to16 (const DrawContext &ctx) |
| Draw rightwards 4x4 shelf pattern. | |
| void | DrawRightwardsBigRail1x3_1to16plus5 (const DrawContext &ctx) |
| Draw rightwards big rail pattern (1x3 columns with +5 extension) | |
| void | DrawRightwardsBlock2x2spaced2_1to16 (const DrawContext &ctx) |
| Draw rightwards 2x2 blocks with 2-tile spacing. | |
| void | DrawRightwardsEdge1x1_1to16plus7 (const DrawContext &ctx) |
| Draw rightwards 1x1 edge line with +7 extension. | |
| void | DrawRightwardsPots2x2_1to16 (const DrawContext &ctx) |
| Draw rightwards 2x2 pot groups. | |
| void | DrawRightwardsHammerPegs2x2_1to16 (const DrawContext &ctx) |
| Draw rightwards 2x2 hammer-peg groups. | |
| void | RegisterRightwardsRoutines (std::vector< DrawRoutineInfo > ®istry) |
| Register all rightwards draw routines to the registry. | |
| void | DrawChest (const DrawContext &ctx, int chest_index) |
| Draw a small chest with open/closed state support. | |
| void | DrawNothing (const DrawContext &ctx) |
| Draw nothing - represents invisible logic objects or placeholders. | |
| void | CustomDraw (const DrawContext &ctx) |
| Custom draw routine for special objects. | |
| void | DrawDoorSwitcherer (const DrawContext &ctx) |
| Draw door switcher object with state-based graphics. | |
| void | DrawSomariaLine (const DrawContext &ctx) |
| Draw one Somaria path tile at the object anchor. | |
| void | DrawWaterFace (const DrawContext &ctx) |
| Draw a generic 2x2 water-face helper pattern. | |
| void | DrawLargeCanvasObject (const DrawContext &ctx, int width, int height) |
| Draw large canvas object with arbitrary dimensions. | |
| void | DrawBed4x5 (const DrawContext &ctx) |
| Draw a 4x5 bed pattern (row-major) | |
| void | DrawRightwards3x6 (const DrawContext &ctx) |
| Draw a 6x3 pattern via RoomDraw_1x3N_rightwards semantics. | |
| void | DrawUtility6x3 (const DrawContext &ctx) |
| Draw utility 6x3 pattern via RoomDraw_1x3N_rightwards. | |
| void | DrawUtility3x5 (const DrawContext &ctx) |
| Draw utility 3x5 pattern (special row pattern) | |
| void | DrawVerticalTurtleRockPipe (const DrawContext &ctx) |
| Draw vertical Turtle Rock pipe (two stacked 4x3 sections) | |
| void | DrawHorizontalTurtleRockPipe (const DrawContext &ctx) |
| Draw horizontal Turtle Rock pipe (6x4) | |
| void | DrawLightBeamOnFloor (const DrawContext &ctx) |
| Draw floor light beam composed of three 4x4 blocks. | |
| void | DrawBigLightBeamOnFloor (const DrawContext &ctx) |
| Draw state-gated big floor light beam active variant (8x8 footprint) | |
| void | DrawFloorLight (const DrawContext &ctx) |
| Draw unconditional floor light (8x8 footprint) | |
| void | DrawBossShell4x4 (const DrawContext &ctx) |
| Draw boss shell 4x4. | |
| void | DrawSolidWallDecor3x4 (const DrawContext &ctx) |
| Draw solid wall decor 3x4. | |
| void | DrawArcheryGameTargetDoor (const DrawContext &ctx) |
| Draw archery game target door (two 3x3 sections) | |
| void | DrawGanonTriforceFloorDecor (const DrawContext &ctx) |
| Draw Ganon triforce floor decor (three 4x4 sections) | |
| void | DrawSingle2x2 (const DrawContext &ctx) |
| Draw a single 2x2 block (column-major order) | |
| void | DrawSingle4x4 (const DrawContext &ctx) |
| Draw a single 4x4 block (column-major order) | |
| void | DrawSingle4x3 (const DrawContext &ctx) |
| Draw a single 4x3 block (column-major order) | |
| void | DrawRupeeFloor (const DrawContext &ctx) |
| Draw the blue rupee floor pattern (5x8 bounds with gaps) | |
| void | DrawActual4x4 (const DrawContext &ctx) |
| Draw an actual 4x4 tile8 pattern (column-major order) | |
| void | DrawWaterfall47 (const DrawContext &ctx) |
| Draw waterfall object 0x47 pattern. | |
| void | DrawWaterfall48 (const DrawContext &ctx) |
| Draw waterfall object 0x48 pattern. | |
| void | Draw4x4BlocksIn4x4SuperSquare (const DrawContext &ctx) |
| Draw 4x4 solid blocks in a super square grid. | |
| void | Draw3x3FloorIn4x4SuperSquare (const DrawContext &ctx) |
| Draw 3x3 floor pattern in super square units. | |
| void | Draw4x4FloorIn4x4SuperSquare (const DrawContext &ctx) |
| Draw 4x4 floor pattern in super square units. | |
| void | Draw4x4FloorOneIn4x4SuperSquare (const DrawContext &ctx) |
| Draw single 4x4 floor pattern variant. | |
| void | Draw4x4FloorTwoIn4x4SuperSquare (const DrawContext &ctx) |
| Draw two 4x4 floor pattern variant. | |
| void | DrawBigHole4x4_1to16 (const DrawContext &ctx) |
| Draw 4x4 big hole pattern. | |
| void | DrawSpike2x2In4x4SuperSquare (const DrawContext &ctx) |
| Draw 2x2 spike pattern in super square units. | |
| void | DrawTableRock4x4_1to16 (const DrawContext &ctx) |
| Draw 4x4 table rock pattern. | |
| void | DrawWaterOverlay8x8_1to16 (const DrawContext &ctx) |
| Draw water overlay 8x8 pattern. | |
| void | DrawInterRoomFatStairsUp (const DrawContext &ctx) |
| Draw inter-room fat stairs going up (Type 2 object 0x12D) | |
| void | DrawInterRoomFatStairsDownA (const DrawContext &ctx) |
| Draw inter-room fat stairs going down A (Type 2 object 0x12E) | |
| void | DrawInterRoomFatStairsDownB (const DrawContext &ctx) |
| Draw inter-room fat stairs going down B (Type 2 object 0x12F) | |
| void | DrawSpiralStairs (const DrawContext &ctx, bool going_up, bool is_upper) |
| Draw spiral stairs (Type 2 objects 0x138-0x13B) | |
| void | DrawAutoStairs (const DrawContext &ctx) |
| Draw auto stairs (Type 2/3 objects 0x130-0x133, 0x21B-0x21D, 0x233) | |
| void | DrawStraightInterRoomStairs (const DrawContext &ctx) |
| Draw straight inter-room stairs (Type 3 objects 0x21E-0x229) | |
| void | DrawPrisonCell (const DrawContext &ctx) |
| Draw prison cell with bars (Type 3 objects 0x20D, 0x217) | |
| void | DrawBigKeyLock (const DrawContext &ctx) |
| Draw a closed big key lock (Yaze 0xF98 / ASM object 0x218) | |
| void | DrawBombableFloor (const DrawContext &ctx) |
| Draw bombable floor (Type 3 object 0xFC7 / ASM object 0x247) | |
| void | DrawMovingWallWest (const DrawContext &ctx) |
| Draw the west-moving wall (Type 1 object 0xCD) | |
| void | DrawMovingWallEast (const DrawContext &ctx) |
| Draw the east-moving wall (Type 1 object 0xCE) | |
| void | DrawEmptyWaterFace (const DrawContext &ctx) |
| Draw empty water face (Type 3 object 0x200) | |
| void | DrawSpittingWaterFace (const DrawContext &ctx) |
| Draw spitting water face (Type 3 object 0x201) | |
| void | DrawDrenchingWaterFace (const DrawContext &ctx) |
| Draw drenching water face (Type 3 object 0x202) | |
| void | DrawClosedChestPlatform (const DrawContext &ctx) |
| Draw closed chest platform (Type 1 object 0xC1) | |
| void | DrawOpenChestPlatform (const DrawContext &ctx) |
| Draw open chest platform (Type 1 object 0xDC) | |
| void | DrawChestPlatformHorizontalWall (const DrawContext &ctx) |
| Draw chest platform horizontal wall section. | |
| void | DrawChestPlatformVerticalWall (const DrawContext &ctx) |
| Draw chest platform vertical wall section. | |
| void | RegisterSpecialRoutines (std::vector< DrawRoutineInfo > ®istry) |
| Register all special/miscellaneous draw routines to the registry. | |
| void yaze::zelda3::draw_routines::DrawCorner4x4 | ( | const DrawContext & | ctx | ) |
Draw a 4x4 grid corner pattern.
Type 2 corners 0x40-0x4F, 0x108-0x10F Supports multiple tile counts:
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 56 of file corner_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by Draw4x4Corner_BothBG(), and RegisterCornerRoutines().

| void yaze::zelda3::draw_routines::Draw4x4Corner_BothBG | ( | const DrawContext & | ctx | ) |
Draw a 4x4 corner for both BG layers.
Used by objects 0x108-0x10F for Type 2, 0xF9B-0xF9D for Type 3 Delegates to DrawCorner4x4 for 16 tiles, or draws:
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 92 of file corner_routines.cc.
References DrawCorner4x4(), DrawWaterFace(), yaze::zelda3::DrawContext::object, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterCornerRoutines().

| void yaze::zelda3::draw_routines::DrawWeirdCornerBottom_BothBG | ( | const DrawContext & | ctx | ) |
Draw a weird corner bottom pattern for both BG layers.
USDASM parity: RoomDraw_WeirdCornerBottom_BothBG ($01:9854) Canonical shape is 3x4 (12 tiles), column-major. Fallback path supports truncated 8-tile payloads as 2x4.
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 113 of file corner_routines.cc.
References DrawWaterFace(), yaze::zelda3::DrawContext::object, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterCornerRoutines().

| void yaze::zelda3::draw_routines::DrawWeirdCornerTop_BothBG | ( | const DrawContext & | ctx | ) |
Draw a weird corner top pattern for both BG layers.
USDASM parity: RoomDraw_WeirdCornerTop_BothBG ($01:985C) Canonical shape is 4x3 (12 tiles), column-major. Fallback path supports truncated 8-tile payloads as 2x4.
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 139 of file corner_routines.cc.
References DrawWaterFace(), yaze::zelda3::DrawContext::object, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterCornerRoutines().

| void yaze::zelda3::draw_routines::DrawDiagonalCeilingTopLeft | ( | const DrawContext & | ctx | ) |
Draw diagonal ceiling triangle anchored at top-left.
USDASM parity: RoomDraw_DiagonalCeilingTopLeft ($01:8BE0 family) Size semantics use GetSize_1to16_timesA with A=4: count = (size_nibble & 0x0F) + 4
Definition at line 165 of file corner_routines.cc.
Referenced by RegisterCornerRoutines().
| void yaze::zelda3::draw_routines::DrawDiagonalCeilingBottomLeft | ( | const DrawContext & | ctx | ) |
Draw diagonal ceiling triangle anchored at bottom-left.
Definition at line 169 of file corner_routines.cc.
Referenced by RegisterCornerRoutines().
| void yaze::zelda3::draw_routines::DrawDiagonalCeilingTopRight | ( | const DrawContext & | ctx | ) |
Draw diagonal ceiling triangle anchored at top-right.
Definition at line 173 of file corner_routines.cc.
Referenced by RegisterCornerRoutines().
| void yaze::zelda3::draw_routines::DrawDiagonalCeilingBottomRight | ( | const DrawContext & | ctx | ) |
Draw diagonal ceiling triangle anchored at bottom-right.
Definition at line 177 of file corner_routines.cc.
Referenced by RegisterCornerRoutines().
| void yaze::zelda3::draw_routines::RegisterCornerRoutines | ( | std::vector< DrawRoutineInfo > & | registry | ) |
Register all corner draw routines to the registry.
| registry | Vector of DrawRoutineInfo to register routines into |
Definition at line 181 of file corner_routines.cc.
References yaze::zelda3::DrawRoutineInfo::Corner, Draw4x4Corner_BothBG(), DrawCorner4x4(), DrawDiagonalCeilingBottomLeft(), DrawDiagonalCeilingBottomRight(), DrawDiagonalCeilingTopLeft(), DrawDiagonalCeilingTopRight(), DrawWeirdCornerBottom_BothBG(), DrawWeirdCornerTop_BothBG(), yaze::zelda3::DrawRoutineInfo::id, yaze::zelda3::DrawRoutineIds::kDiagonalCeilingBottomLeft, yaze::zelda3::DrawRoutineIds::kDiagonalCeilingBottomRight, yaze::zelda3::DrawRoutineIds::kDiagonalCeilingTopLeft, and yaze::zelda3::DrawRoutineIds::kDiagonalCeilingTopRight.
Referenced by yaze::zelda3::DrawRoutineRegistry::BuildRegistry().
| void yaze::zelda3::draw_routines::DrawDiagonalAcute_1to16 | ( | const DrawContext & | ctx | ) |
Draw diagonal acute (/) pattern - draws 5 tiles vertically, moves up-right.
Based on bank_01.asm RoomDraw_DiagonalAcute_1to16 at $018C58 Uses RoomDraw_2x2and1 to draw 5 tiles at rows 0-4, then moves Y -= $7E
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 10 of file diagonal_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterDiagonalRoutines().

| void yaze::zelda3::draw_routines::DrawDiagonalGrave_1to16 | ( | const DrawContext & | ctx | ) |
Draw diagonal grave () pattern - draws 5 tiles vertically, moves down-right.
Based on bank_01.asm RoomDraw_DiagonalGrave_1to16 at $018C61 Uses RoomDraw_2x2and1 to draw 5 tiles at rows 0-4, then moves Y += $82
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 43 of file diagonal_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterDiagonalRoutines().

| void yaze::zelda3::draw_routines::DrawDiagonalAcute_1to16_BothBG | ( | const DrawContext & | ctx | ) |
Draw diagonal acute (/) pattern for both BG layers.
Used for objects 0x15, 0x18-0x1D, 0x20 Based on bank_01.asm RoomDraw_DiagonalAcute_1to16_BothBG at $018C6A
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 76 of file diagonal_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterDiagonalRoutines().

| void yaze::zelda3::draw_routines::DrawDiagonalGrave_1to16_BothBG | ( | const DrawContext & | ctx | ) |
Draw diagonal grave () pattern for both BG layers.
Used for objects 0x16-0x17, 0x1A-0x1B, 0x1E-0x1F Based on bank_01.asm RoomDraw_DiagonalGrave_1to16_BothBG at $018CB9
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 106 of file diagonal_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterDiagonalRoutines().

| void yaze::zelda3::draw_routines::RegisterDiagonalRoutines | ( | std::vector< DrawRoutineInfo > & | registry | ) |
Register all diagonal draw routines to the registry.
| registry | Vector of DrawRoutineInfo to register routines into |
Definition at line 136 of file diagonal_routines.cc.
References yaze::zelda3::DrawRoutineInfo::Diagonal, DrawDiagonalAcute_1to16(), DrawDiagonalAcute_1to16_BothBG(), DrawDiagonalGrave_1to16(), DrawDiagonalGrave_1to16_BothBG(), and yaze::zelda3::DrawRoutineInfo::id.
Referenced by yaze::zelda3::DrawRoutineRegistry::BuildRegistry().

| void yaze::zelda3::draw_routines::DrawDownwards2x2_1to15or32 | ( | const DrawContext & | ctx | ) |
Draw 2x2 tiles downward pattern (1-15 or 32 iterations)
Pattern: Draws 2x2 tiles downward (object 0x60) Size byte determines how many times to repeat (1-15 or 32) Based on bank_01.asm RoomDraw_Downwards2x2_1to15or32
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 10 of file downwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterDownwardsRoutines().

| void yaze::zelda3::draw_routines::DrawDownwards4x2_1to15or26 | ( | const DrawContext & | ctx | ) |
Draw 4x2 tiles downward pattern (1-15 or 26 iterations)
Pattern: Draws 4x2 tiles downward (objects 0x61-0x62) This is 4 columns × 2 rows = 8 tiles in ROW-MAJOR order (per ZScream) Based on bank_01.asm RoomDraw_Downwards4x2_1to15or26
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 41 of file downwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by DrawDownwards4x2_1to16_BothBG(), and RegisterDownwardsRoutines().

| void yaze::zelda3::draw_routines::DrawDownwards4x2_1to16_BothBG | ( | const DrawContext & | ctx | ) |
Draw 4x2 tiles downward pattern for both BG layers.
Pattern: Same as above but draws to both BG1 and BG2 (objects 0x63-0x64) Based on bank_01.asm RoomDraw_Downwards4x2_1to16_BothBG
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 83 of file downwards_routines.cc.
References DrawDownwards4x2_1to15or26().
Referenced by RegisterDownwardsRoutines().

| void yaze::zelda3::draw_routines::DrawDownwardsDecor4x2spaced4_1to16 | ( | const DrawContext & | ctx | ) |
Draw 4x2 decoration downward with spacing (1-16 iterations)
Pattern: Draws 4x2 decoration downward with spacing (objects 0x65-0x66) This is 4 columns × 2 rows = 8 tiles in ROW-MAJOR order with 6-tile Y spacing Based on bank_01.asm RoomDraw_DownwardsDecor4x2spaced4_1to16
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 89 of file downwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterDownwardsRoutines().

| void yaze::zelda3::draw_routines::DrawDownwards2x2_1to16 | ( | const DrawContext & | ctx | ) |
Draw 2x2 tiles downward pattern (1-16 iterations)
Pattern: Draws 2x2 tiles downward (objects 0x67-0x68) Based on bank_01.asm RoomDraw_Downwards2x2_1to16
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 123 of file downwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterDownwardsRoutines().

| void yaze::zelda3::draw_routines::DrawDownwardsHasEdge1x1_1to16_plus3 | ( | const DrawContext & | ctx | ) |
Draw 1x1 tiles with edge detection +3 downward.
Pattern: 1x1 tiles with edge detection +3 downward (object 0x69) Based on bank_01.asm RoomDraw_DownwardsHasEdge1x1_1to16_plus3
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 153 of file downwards_routines.cc.
References yaze::zelda3::DrawRoutineUtils::ExistingTileMatchesAny(), yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterDownwardsRoutines().

| void yaze::zelda3::draw_routines::DrawDownwardsEdge1x1_1to16 | ( | const DrawContext & | ctx | ) |
Draw 1x1 edge tiles downward (1-16 iterations)
Pattern: 1x1 edge tiles downward (objects 0x6A-0x6B) Based on bank_01.asm RoomDraw_DownwardsEdge1x1_1to16
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 183 of file downwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterDownwardsRoutines().

| void yaze::zelda3::draw_routines::DrawDownwardsLeftCorners2x1_1to16_plus12 | ( | const DrawContext & | ctx | ) |
Draw left corner 2x1 tiles with +12 offset downward.
Pattern: Left corner 2x1 tiles with +12 offset downward (object 0x6C) Based on bank_01.asm RoomDraw_DownwardsLeftCorners2x1_1to16_plus12
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 199 of file downwards_routines.cc.
References yaze::zelda3::DrawRoutineUtils::ExistingTileMatchesAny(), yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterDownwardsRoutines().

| void yaze::zelda3::draw_routines::DrawDownwardsRightCorners2x1_1to16_plus12 | ( | const DrawContext & | ctx | ) |
Draw right corner 2x1 tiles with +12 offset downward.
Pattern: Right corner 2x1 tiles with +12 offset downward (object 0x6D) Based on bank_01.asm RoomDraw_DownwardsRightCorners2x1_1to16_plus12
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 249 of file downwards_routines.cc.
References yaze::zelda3::DrawRoutineUtils::ExistingTileMatchesAny(), yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterDownwardsRoutines().

| void yaze::zelda3::draw_routines::DrawDownwardsFloor4x4_1to16 | ( | const DrawContext & | ctx | ) |
Draw downwards 4x4 floor blocks.
Definition at line 298 of file downwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterDownwardsRoutines().

| void yaze::zelda3::draw_routines::DrawDownwards1x1Solid_1to16_plus3 | ( | const DrawContext & | ctx | ) |
Draw downwards 1x1 solid line with +3 extension.
Definition at line 316 of file downwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterDownwardsRoutines().

| void yaze::zelda3::draw_routines::DrawDownwardsDecor4x4spaced2_1to16 | ( | const DrawContext & | ctx | ) |
Draw downwards 4x4 decoration with 2-tile spacing.
Definition at line 329 of file downwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterDownwardsRoutines().

| void yaze::zelda3::draw_routines::DrawDownwardsPillar2x4spaced2_1to16 | ( | const DrawContext & | ctx | ) |
Draw downwards 2x4 pillar with 2-tile spacing.
Definition at line 347 of file downwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterDownwardsRoutines().

| void yaze::zelda3::draw_routines::DrawDownwardsDecor3x4spaced4_1to16 | ( | const DrawContext & | ctx | ) |
Draw downwards 3x4 decoration with 4-tile spacing.
Definition at line 365 of file downwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterDownwardsRoutines().

| void yaze::zelda3::draw_routines::DrawDownwardsDecor2x2spaced12_1to16 | ( | const DrawContext & | ctx | ) |
Draw downwards 2x2 decoration with 12-tile spacing.
Definition at line 383 of file downwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterDownwardsRoutines().

| void yaze::zelda3::draw_routines::DrawDownwardsLine1x1_1to16plus1 | ( | const DrawContext & | ctx | ) |
Draw downwards 1x1 line with +1 extension.
Definition at line 403 of file downwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterDownwardsRoutines().

| void yaze::zelda3::draw_routines::DrawDownwardsDecor2x4spaced8_1to16 | ( | const DrawContext & | ctx | ) |
Draw downwards 2x4 decoration with 8-tile spacing.
Definition at line 416 of file downwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterDownwardsRoutines().

| void yaze::zelda3::draw_routines::DrawDownwardsDecor3x4spaced2_1to16 | ( | const DrawContext & | ctx | ) |
Draw downwards 3x4 decoration with 2-tile spacing.
Definition at line 434 of file downwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterDownwardsRoutines().

| void yaze::zelda3::draw_routines::DrawDownwardsBigRail3x1_1to16plus5 | ( | const DrawContext & | ctx | ) |
Draw downwards big rail pattern (3x1 family, +5 extension)
Definition at line 452 of file downwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterDownwardsRoutines().

| void yaze::zelda3::draw_routines::DrawDownwardsBlock2x2spaced2_1to16 | ( | const DrawContext & | ctx | ) |
Draw downwards 2x2 block pattern with 2-tile spacing.
Definition at line 509 of file downwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterDownwardsRoutines().

| void yaze::zelda3::draw_routines::DrawDownwardsCannonHole3x4_1to16 | ( | const DrawContext & | ctx | ) |
Draw downwards cannon-hole 3x4 pattern.
Definition at line 529 of file downwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterDownwardsRoutines().

| void yaze::zelda3::draw_routines::DrawDownwardsBar2x5_1to16 | ( | const DrawContext & | ctx | ) |
Draw downwards 2x5 bar pattern.
Definition at line 560 of file downwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterDownwardsRoutines().

| void yaze::zelda3::draw_routines::DrawDownwardsPots2x2_1to16 | ( | const DrawContext & | ctx | ) |
Draw downwards 2x2 pots pattern.
Definition at line 582 of file downwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by DrawDownwardsHammerPegs2x2_1to16(), and RegisterDownwardsRoutines().

| void yaze::zelda3::draw_routines::DrawDownwardsHammerPegs2x2_1to16 | ( | const DrawContext & | ctx | ) |
Draw downwards 2x2 hammer pegs pattern.
Definition at line 602 of file downwards_routines.cc.
References DrawDownwardsPots2x2_1to16().
Referenced by RegisterDownwardsRoutines().

| void yaze::zelda3::draw_routines::DrawDownwardsEdge1x1_1to16plus7 | ( | const DrawContext & | ctx | ) |
Draw a single tile downward for size + 8 rows.
Matches RoomDraw_DownwardsEdge1x1_1to16plus7 (objects 0x8B-0x8C).
Definition at line 606 of file downwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterDownwardsRoutines().

| void yaze::zelda3::draw_routines::RegisterDownwardsRoutines | ( | std::vector< DrawRoutineInfo > & | registry | ) |
Register all downwards draw routines to the registry.
| registry | Vector of DrawRoutineInfo to register routines into |
Definition at line 618 of file downwards_routines.cc.
References DrawDownwards1x1Solid_1to16_plus3(), DrawDownwards2x2_1to15or32(), DrawDownwards2x2_1to16(), DrawDownwards4x2_1to15or26(), DrawDownwards4x2_1to16_BothBG(), DrawDownwardsBar2x5_1to16(), DrawDownwardsBigRail3x1_1to16plus5(), DrawDownwardsBlock2x2spaced2_1to16(), DrawDownwardsCannonHole3x4_1to16(), DrawDownwardsDecor2x2spaced12_1to16(), DrawDownwardsDecor2x4spaced8_1to16(), DrawDownwardsDecor3x4spaced2_1to16(), DrawDownwardsDecor3x4spaced4_1to16(), DrawDownwardsDecor4x2spaced4_1to16(), DrawDownwardsDecor4x4spaced2_1to16(), DrawDownwardsEdge1x1_1to16(), DrawDownwardsEdge1x1_1to16plus7(), DrawDownwardsFloor4x4_1to16(), DrawDownwardsHammerPegs2x2_1to16(), DrawDownwardsHasEdge1x1_1to16_plus3(), DrawDownwardsLeftCorners2x1_1to16_plus12(), DrawDownwardsLine1x1_1to16plus1(), DrawDownwardsPillar2x4spaced2_1to16(), DrawDownwardsPots2x2_1to16(), DrawDownwardsRightCorners2x1_1to16_plus12(), yaze::zelda3::DrawRoutineInfo::id, yaze::zelda3::DrawRoutineIds::kDownwards1x1Solid_1to16_plus3, yaze::zelda3::DrawRoutineIds::kDownwardsBar2x5_1to16, yaze::zelda3::DrawRoutineIds::kDownwardsBigRail3x1_1to16plus5, yaze::zelda3::DrawRoutineIds::kDownwardsBlock2x2spaced2_1to16, yaze::zelda3::DrawRoutineIds::kDownwardsCannonHole3x4_1to16, yaze::zelda3::DrawRoutineIds::kDownwardsDecor2x2spaced12_1to16, yaze::zelda3::DrawRoutineIds::kDownwardsDecor2x4spaced8_1to16, yaze::zelda3::DrawRoutineIds::kDownwardsDecor3x4spaced2_1to16, yaze::zelda3::DrawRoutineIds::kDownwardsDecor3x4spaced4_1to16, yaze::zelda3::DrawRoutineIds::kDownwardsDecor4x4spaced2_1to16, yaze::zelda3::DrawRoutineIds::kDownwardsEdge1x1_1to16plus7, yaze::zelda3::DrawRoutineIds::kDownwardsFloor4x4_1to16, yaze::zelda3::DrawRoutineIds::kDownwardsHammerPegs2x2_1to16, yaze::zelda3::DrawRoutineIds::kDownwardsLine1x1_1to16plus1, yaze::zelda3::DrawRoutineIds::kDownwardsPillar2x4spaced2_1to16, and yaze::zelda3::DrawRoutineIds::kDownwardsPots2x2_1to16.
Referenced by yaze::zelda3::DrawRoutineRegistry::BuildRegistry().
| void yaze::zelda3::draw_routines::DrawRightwards2x2_1to15or32 | ( | const DrawContext & | ctx | ) |
Draw 2x2 tiles rightward (1-15 or 32 repetitions)
Pattern: Draws 2x2 tiles rightward (object 0x00) Size byte determines how many times to repeat (1-15 or 32) ROM tile order is COLUMN-MAJOR: [col0_row0, col0_row1, col1_row0, col1_row1]
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 10 of file rightwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterRightwardsRoutines().

| void yaze::zelda3::draw_routines::DrawRightwards2x4_1to15or26 | ( | const DrawContext & | ctx | ) |
Draw 2x4 tiles rightward (1-15 or 26 repetitions)
Pattern: Draws 2x4 tiles rightward (objects 0x01-0x02) Uses RoomDraw_Nx4 with N=2, tiles are COLUMN-MAJOR: [col0_row0, col0_row1, col0_row2, col0_row3, col1_row0, col1_row1, col1_row2, col1_row3]
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 41 of file rightwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterRightwardsRoutines().

| void yaze::zelda3::draw_routines::DrawRightwards2x4_1to16 | ( | const DrawContext & | ctx | ) |
Draw 2x4 tiles rightward with adjacent spacing (1-16 repetitions)
Pattern: Draws 2x4 tiles rightward with adjacent spacing (objects 0x03-0x04) Uses RoomDraw_Nx4 with N=2, tiles are COLUMN-MAJOR ASM: GetSize_1to16 means count = size + 1
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 92 of file rightwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterRightwardsRoutines().

| void yaze::zelda3::draw_routines::DrawRightwards2x4_1to16_BothBG | ( | const DrawContext & | ctx | ) |
Draw 2x4 tiles rightward with adjacent spacing to both BG layers.
Pattern: Same as DrawRightwards2x4_1to16 but draws to both BG1 and BG2 (objects 0x05-0x06)
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 142 of file rightwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterRightwardsRoutines().

| void yaze::zelda3::draw_routines::DrawRightwards2x2_1to16 | ( | const DrawContext & | ctx | ) |
Draw 2x2 tiles rightward (1-16 repetitions)
Pattern: Draws 2x2 tiles rightward (objects 0x07-0x08) ROM tile order is COLUMN-MAJOR: [col0_row0, col0_row1, col1_row0, col1_row1]
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 193 of file rightwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterRightwardsRoutines().

| void yaze::zelda3::draw_routines::DrawRightwards1x2_1to16_plus2 | ( | const DrawContext & | ctx | ) |
Draw 1x3 tiles rightward with caps.
Pattern: 1x3 tiles rightward with caps (object 0x21)
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 221 of file rightwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterRightwardsRoutines().

| void yaze::zelda3::draw_routines::DrawRightwardsHasEdge1x1_1to16_plus3 | ( | const DrawContext & | ctx | ) |
Draw 1x1 tiles with edge detection +3.
Pattern: 1x1 tiles with edge detection +3 (object 0x22)
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 257 of file rightwards_routines.cc.
References yaze::zelda3::DrawRoutineUtils::ExistingTileMatchesAny(), yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterRightwardsRoutines().

| void yaze::zelda3::draw_routines::DrawRightwardsHasEdge1x1_1to16_plus2 | ( | const DrawContext & | ctx | ) |
Draw 1x1 tiles with edge detection +2.
Pattern: 1x1 tiles with edge detection +2 (objects 0x23-0x2E, 0x3F-0x46)
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 280 of file rightwards_routines.cc.
References yaze::zelda3::DrawRoutineUtils::ExistingTileMatchesAny(), yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterRightwardsRoutines().

| void yaze::zelda3::draw_routines::DrawRightwardsHasEdge1x1_1to16_plus23 | ( | const DrawContext & | ctx | ) |
Draw 1x1 tiles with edge detection +23.
Pattern: 1x1 tiles with edge detection +23 (object 0x5F)
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 303 of file rightwards_routines.cc.
References yaze::zelda3::DrawRoutineUtils::ExistingTileMatchesAny(), yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterRightwardsRoutines().

| void yaze::zelda3::draw_routines::DrawRightwardsTopCorners1x2_1to16_plus13 | ( | const DrawContext & | ctx | ) |
Draw top corner 1x2 tiles with +13 offset.
Pattern: Top corner 1x2 tiles with +13 offset (object 0x2F)
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 325 of file rightwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterRightwardsRoutines().

| void yaze::zelda3::draw_routines::DrawRightwardsBottomCorners1x2_1to16_plus13 | ( | const DrawContext & | ctx | ) |
Draw bottom corner 1x2 tiles with +13 offset.
Pattern: Bottom corner 1x2 tiles with +13 offset (object 0x30)
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 355 of file rightwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterRightwardsRoutines().

| void yaze::zelda3::draw_routines::DrawRightwards4x4_1to16 | ( | const DrawContext & | ctx | ) |
Draw 4x4 block rightward.
Pattern: 4x4 block rightward (object 0x33)
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 384 of file rightwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterRightwardsRoutines().

| void yaze::zelda3::draw_routines::DrawRightwards1x1Solid_1to16_plus3 | ( | const DrawContext & | ctx | ) |
Draw 1x1 solid tiles +3 offset.
Pattern: 1x1 solid tiles +3 offset (object 0x34)
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 406 of file rightwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterRightwardsRoutines().

| void yaze::zelda3::draw_routines::DrawRightwardsDecor4x4spaced2_1to16 | ( | const DrawContext & | ctx | ) |
Draw 4x4 decoration with spacing.
Pattern: 4x4 decoration with spacing (objects 0x36-0x37)
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 422 of file rightwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterRightwardsRoutines().

| void yaze::zelda3::draw_routines::DrawRightwardsStatue2x3spaced2_1to16 | ( | const DrawContext & | ctx | ) |
Draw 2x3 statue with spacing.
Pattern: 2x3 statue with spacing (object 0x38) 2 columns × 3 rows = 6 tiles in COLUMN-MAJOR order
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 443 of file rightwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterRightwardsRoutines().

| void yaze::zelda3::draw_routines::DrawRightwardsPillar2x4spaced4_1to16 | ( | const DrawContext & | ctx | ) |
Draw 2x4 pillar with spacing.
Pattern: 2x4 pillar with spacing (objects 0x39, 0x3D) 2 columns × 4 rows = 8 tiles in COLUMN-MAJOR order
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 465 of file rightwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterRightwardsRoutines().

| void yaze::zelda3::draw_routines::DrawRightwardsDecor4x3spaced4_1to16 | ( | const DrawContext & | ctx | ) |
Draw 4x3 decoration with spacing.
Pattern: 4x3 decoration with spacing (objects 0x3A-0x3B) 4 columns × 3 rows = 12 tiles in COLUMN-MAJOR order
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 487 of file rightwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterRightwardsRoutines().

| void yaze::zelda3::draw_routines::DrawRightwardsDoubled2x2spaced2_1to16 | ( | const DrawContext & | ctx | ) |
Draw doubled 2x2 with spacing.
Pattern: Doubled 2x2 with spacing (object 0x3C) 4 columns × 2 rows = 8 tiles in COLUMN-MAJOR order
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 513 of file rightwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterRightwardsRoutines().

| void yaze::zelda3::draw_routines::DrawRightwardsDecor2x2spaced12_1to16 | ( | const DrawContext & | ctx | ) |
Draw 2x2 decoration with large spacing.
Pattern: 2x2 decoration with large spacing (object 0x3E)
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 535 of file rightwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterRightwardsRoutines().

| void yaze::zelda3::draw_routines::DrawRightwards4x2_1to16 | ( | const DrawContext & | ctx | ) |
Draw 4x2 floor tiles rightward.
Pattern: Draws 4x2 tiles in ROW-MAJOR order (objects 0x49-0x4A)
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 565 of file rightwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterRightwardsRoutines().

| void yaze::zelda3::draw_routines::DrawRightwardsDecor4x2spaced8_1to16 | ( | const DrawContext & | ctx | ) |
Draw 4x2 decorative stamps with wide horizontal spacing.
Pattern: Draws 4x2 wall-torch/decor stamps (objects 0x55-0x56) with a 12-tile horizontal step.
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 599 of file rightwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterRightwardsRoutines().

| void yaze::zelda3::draw_routines::DrawRightwardsCannonHole4x3_1to16 | ( | const DrawContext & | ctx | ) |
Draw cannon-hole spans with repeated left segment and right cap.
Pattern: Draws 4x3 cannon-hole tiles (objects 0x51-0x52, 0x5B-0x5C) using the usdasm repeat-and-cap behavior.
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 632 of file rightwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterRightwardsRoutines().

| void yaze::zelda3::draw_routines::DrawRightwardsLine1x1_1to16plus1 | ( | const DrawContext & | ctx | ) |
Draw rightwards 1x1 line with +1 extension.
Definition at line 667 of file rightwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterRightwardsRoutines().

| void yaze::zelda3::draw_routines::DrawRightwardsBar4x3_1to16 | ( | const DrawContext & | ctx | ) |
Draw rightwards 4x3 bar pattern.
Definition at line 680 of file rightwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterRightwardsRoutines().

| void yaze::zelda3::draw_routines::DrawRightwardsShelf4x4_1to16 | ( | const DrawContext & | ctx | ) |
Draw rightwards 4x4 shelf pattern.
Definition at line 698 of file rightwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterRightwardsRoutines().

| void yaze::zelda3::draw_routines::DrawRightwardsBigRail1x3_1to16plus5 | ( | const DrawContext & | ctx | ) |
Draw rightwards big rail pattern (1x3 columns with +5 extension)
Definition at line 716 of file rightwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterRightwardsRoutines().

| void yaze::zelda3::draw_routines::DrawRightwardsBlock2x2spaced2_1to16 | ( | const DrawContext & | ctx | ) |
Draw rightwards 2x2 blocks with 2-tile spacing.
Definition at line 756 of file rightwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterRightwardsRoutines().

| void yaze::zelda3::draw_routines::DrawRightwardsEdge1x1_1to16plus7 | ( | const DrawContext & | ctx | ) |
Draw rightwards 1x1 edge line with +7 extension.
Definition at line 776 of file rightwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterRightwardsRoutines().

| void yaze::zelda3::draw_routines::DrawRightwardsPots2x2_1to16 | ( | const DrawContext & | ctx | ) |
Draw rightwards 2x2 pot groups.
Definition at line 789 of file rightwards_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by DrawRightwardsHammerPegs2x2_1to16(), and RegisterRightwardsRoutines().

| void yaze::zelda3::draw_routines::DrawRightwardsHammerPegs2x2_1to16 | ( | const DrawContext & | ctx | ) |
Draw rightwards 2x2 hammer-peg groups.
Definition at line 809 of file rightwards_routines.cc.
References DrawRightwardsPots2x2_1to16().
Referenced by RegisterRightwardsRoutines().

| void yaze::zelda3::draw_routines::RegisterRightwardsRoutines | ( | std::vector< DrawRoutineInfo > & | registry | ) |
Register all rightwards draw routines to the registry.
| registry | Vector of DrawRoutineInfo to register routines into |
Definition at line 813 of file rightwards_routines.cc.
References DrawRightwards1x1Solid_1to16_plus3(), DrawRightwards1x2_1to16_plus2(), DrawRightwards2x2_1to15or32(), DrawRightwards2x2_1to16(), DrawRightwards2x4_1to15or26(), DrawRightwards2x4_1to16(), DrawRightwards2x4_1to16_BothBG(), 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(), yaze::zelda3::DrawRoutineInfo::id, yaze::zelda3::DrawRoutineIds::kRightwards1x1Solid_1to16_plus3, yaze::zelda3::DrawRoutineIds::kRightwards1x2_1to16_plus2, yaze::zelda3::DrawRoutineIds::kRightwards2x2_1to15or32, yaze::zelda3::DrawRoutineIds::kRightwards2x2_1to16, yaze::zelda3::DrawRoutineIds::kRightwards2x4_1to15or26, yaze::zelda3::DrawRoutineIds::kRightwards2x4_1to16, yaze::zelda3::DrawRoutineIds::kRightwards2x4_1to16_BothBG, yaze::zelda3::DrawRoutineIds::kRightwards4x2_1to16, yaze::zelda3::DrawRoutineIds::kRightwards4x4_1to16, yaze::zelda3::DrawRoutineIds::kRightwardsBar4x3_1to16, yaze::zelda3::DrawRoutineIds::kRightwardsBigRail1x3_1to16plus5, yaze::zelda3::DrawRoutineIds::kRightwardsBlock2x2spaced2_1to16, yaze::zelda3::DrawRoutineIds::kRightwardsBottomCorners1x2_1to16_plus13, yaze::zelda3::DrawRoutineIds::kRightwardsCannonHole4x3_1to16, yaze::zelda3::DrawRoutineIds::kRightwardsDecor2x2spaced12_1to16, yaze::zelda3::DrawRoutineIds::kRightwardsDecor4x2spaced8_1to16, yaze::zelda3::DrawRoutineIds::kRightwardsDecor4x3spaced4_1to16, yaze::zelda3::DrawRoutineIds::kRightwardsDecor4x4spaced2_1to16, yaze::zelda3::DrawRoutineIds::kRightwardsDoubled2x2spaced2_1to16, yaze::zelda3::DrawRoutineIds::kRightwardsEdge1x1_1to16plus7, yaze::zelda3::DrawRoutineIds::kRightwardsHammerPegs2x2_1to16, yaze::zelda3::DrawRoutineIds::kRightwardsHasEdge1x1_1to16_plus2, yaze::zelda3::DrawRoutineIds::kRightwardsHasEdge1x1_1to16_plus23, yaze::zelda3::DrawRoutineIds::kRightwardsHasEdge1x1_1to16_plus3, yaze::zelda3::DrawRoutineIds::kRightwardsLine1x1_1to16plus1, yaze::zelda3::DrawRoutineIds::kRightwardsPillar2x4spaced4_1to16, yaze::zelda3::DrawRoutineIds::kRightwardsPots2x2_1to16, yaze::zelda3::DrawRoutineIds::kRightwardsShelf4x4_1to16, yaze::zelda3::DrawRoutineIds::kRightwardsStatue2x3spaced2_1to16, yaze::zelda3::DrawRoutineIds::kRightwardsTopCorners1x2_1to16_plus13, yaze::zelda3::DrawRoutineIds::kWeird2x4_1to16, and yaze::zelda3::DrawRoutineInfo::Rightwards.
Referenced by yaze::zelda3::DrawRoutineRegistry::BuildRegistry().
| void yaze::zelda3::draw_routines::DrawChest | ( | const DrawContext & | ctx, |
| int | chest_index ) |
Draw a small chest with open/closed state support.
USDASM: RoomDraw_Chest (F99) selects between two 2x2 blocks; RoomDraw_OpenChest (F9A) draws its fixed open 2x2 block. The registry also preserves its legacy subtype-1 4x4 family; subtype-3 big chests use the separate 4x3 routine.
| ctx | Draw context containing object, tiles, state, and target buffer |
| chest_index | Index of this chest in the room (0-based) |
Definition at line 263 of file special_routines.cc.
References yaze::zelda3::RoomObject::id_, yaze::zelda3::DungeonState::IsChestOpen(), yaze::zelda3::DrawContext::object, yaze::zelda3::DrawContext::room_id, yaze::zelda3::DrawContext::state, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterSpecialRoutines().

| void yaze::zelda3::draw_routines::DrawNothing | ( | const DrawContext & | ctx | ) |
Draw nothing - represents invisible logic objects or placeholders.
Pattern: Logic/invisible objects that have no visual representation ASM: RoomDraw_Nothing_A ($0190F2), RoomDraw_Nothing_B ($01932E), etc. These routines typically just RTS (return from subroutine).
| ctx | Draw context containing object information |
Definition at line 303 of file special_routines.cc.
Referenced by RegisterSpecialRoutines().
| void yaze::zelda3::draw_routines::CustomDraw | ( | const DrawContext & | ctx | ) |
Custom draw routine for special objects.
Pattern: Custom draw routine (objects 0x31-0x32) For now, falls back to simple 1x1 tile placement.
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 309 of file special_routines.cc.
References yaze::core::FeatureFlags::get(), yaze::zelda3::CustomObjectManager::Get(), yaze::zelda3::CustomObjectManager::GetObjectInternal(), yaze::zelda3::RoomObject::id_, yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterSpecialRoutines().

| void yaze::zelda3::draw_routines::DrawDoorSwitcherer | ( | const DrawContext & | ctx | ) |
Draw door switcher object with state-based graphics.
Pattern: Door switcher (object 0x35) Special door logic that checks dungeon state to decide which graphic to use. Uses active tile (2nd tile) if door switch is active, otherwise uses default.
| ctx | Draw context containing object, tiles, state, and target buffer |
Definition at line 356 of file special_routines.cc.
References yaze::zelda3::DungeonState::IsDoorSwitchActive(), yaze::zelda3::DrawContext::object, yaze::zelda3::DrawContext::room_id, yaze::zelda3::DrawContext::state, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterSpecialRoutines().

| void yaze::zelda3::draw_routines::DrawSomariaLine | ( | const DrawContext & | ctx | ) |
Draw one Somaria path tile at the object anchor.
Pattern: ASM objects 0x203-0x20C, 0x20E, and 0x20F (decoded by yaze as 0xF83-0xF8C, 0xF8E, and 0xF8F). Each object-data pointer selects one tile word, and RoomDraw_SomariaLine writes that word once. Size bits do not extend an individual path piece.
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 374 of file special_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterSpecialRoutines().

| void yaze::zelda3::draw_routines::DrawWaterFace | ( | const DrawContext & | ctx | ) |
Draw a generic 2x2 water-face helper pattern.
Used as a compact fallback shape in shared corner routines. The stateful Type-3 water-face variants (routines 94-96) are implemented in DrawEmptyWaterFace / DrawSpittingWaterFace / DrawDrenchingWaterFace.
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 386 of file special_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by Draw4x4Corner_BothBG(), DrawWeirdCornerBottom_BothBG(), DrawWeirdCornerTop_BothBG(), and RegisterSpecialRoutines().

| void yaze::zelda3::draw_routines::DrawLargeCanvasObject | ( | const DrawContext & | ctx, |
| int | width, | ||
| int | height ) |
Draw large canvas object with arbitrary dimensions.
Generic large object drawer for custom-sized objects. Draws tiles in row-major order (left-to-right, top-to-bottom).
| ctx | Draw context containing object, tiles, and target buffer |
| width | Width in tiles |
| height | Height in tiles |
Definition at line 405 of file special_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.

| void yaze::zelda3::draw_routines::DrawBed4x5 | ( | const DrawContext & | ctx | ) |
Draw a 4x5 bed pattern (row-major)
ASM: RoomDraw_Bed4x5 ($019AEE)
Definition at line 418 of file special_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterSpecialRoutines().
| void yaze::zelda3::draw_routines::DrawRightwards3x6 | ( | const DrawContext & | ctx | ) |
Draw a 6x3 pattern via RoomDraw_1x3N_rightwards semantics.
ASM: RoomDraw_DrawRightwards3x6 ($019B50)
Definition at line 423 of file special_routines.cc.
Referenced by RegisterSpecialRoutines().
| void yaze::zelda3::draw_routines::DrawUtility6x3 | ( | const DrawContext & | ctx | ) |
Draw utility 6x3 pattern via RoomDraw_1x3N_rightwards.
ASM: RoomDraw_Utility6x3 ($019A0C)
Definition at line 429 of file special_routines.cc.
Referenced by RegisterSpecialRoutines().
| void yaze::zelda3::draw_routines::DrawUtility3x5 | ( | const DrawContext & | ctx | ) |
Draw utility 3x5 pattern (special row pattern)
ASM: RoomDraw_Utility3x5 ($01A194)
Definition at line 434 of file special_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterSpecialRoutines().

| void yaze::zelda3::draw_routines::DrawVerticalTurtleRockPipe | ( | const DrawContext & | ctx | ) |
Draw vertical Turtle Rock pipe (two stacked 4x3 sections)
ASM: RoomDraw_VerticalTurtleRockPipe ($019A90)
Definition at line 466 of file special_routines.cc.
References yaze::zelda3::DrawContext::tiles.
Referenced by RegisterSpecialRoutines().
| void yaze::zelda3::draw_routines::DrawHorizontalTurtleRockPipe | ( | const DrawContext & | ctx | ) |
Draw horizontal Turtle Rock pipe (6x4)
ASM: RoomDraw_HorizontalTurtleRockPipe ($019AA3)
Definition at line 475 of file special_routines.cc.
Referenced by RegisterSpecialRoutines().
| void yaze::zelda3::draw_routines::DrawLightBeamOnFloor | ( | const DrawContext & | ctx | ) |
Draw floor light beam composed of three 4x4 blocks.
ASM: RoomDraw_LightBeamOnFloor ($01A7B6)
Definition at line 480 of file special_routines.cc.
References yaze::zelda3::DrawContext::tiles.
Referenced by RegisterSpecialRoutines().
| void yaze::zelda3::draw_routines::DrawBigLightBeamOnFloor | ( | const DrawContext & | ctx | ) |
Draw state-gated big floor light beam active variant (8x8 footprint)
ASM: RoomDraw_BigLightBeamOnFloor ($01A7D3)
Definition at line 492 of file special_routines.cc.
References yaze::zelda3::DungeonState::IsFloorBombable(), and yaze::zelda3::DrawContext::state.
Referenced by RegisterSpecialRoutines().

| void yaze::zelda3::draw_routines::DrawFloorLight | ( | const DrawContext & | ctx | ) |
Draw unconditional floor light (8x8 footprint)
ASM: RoomDraw_FloorLight ($01A7DC)
Definition at line 505 of file special_routines.cc.
Referenced by RegisterSpecialRoutines().
| void yaze::zelda3::draw_routines::DrawBossShell4x4 | ( | const DrawContext & | ctx | ) |
Draw boss shell 4x4.
ASM: object group routed to RoomDraw_4x4
Definition at line 510 of file special_routines.cc.
Referenced by RegisterSpecialRoutines().
| void yaze::zelda3::draw_routines::DrawSolidWallDecor3x4 | ( | const DrawContext & | ctx | ) |
Draw solid wall decor 3x4.
ASM: RoomDraw_SolidWallDecor3x4 ($0199EC)
Definition at line 515 of file special_routines.cc.
Referenced by RegisterSpecialRoutines().
| void yaze::zelda3::draw_routines::DrawArcheryGameTargetDoor | ( | const DrawContext & | ctx | ) |
Draw archery game target door (two 3x3 sections)
ASM: RoomDraw_ArcheryGameTargetDoor ($01A7A3)
Definition at line 520 of file special_routines.cc.
References yaze::zelda3::DrawContext::tiles.
Referenced by RegisterSpecialRoutines().
| void yaze::zelda3::draw_routines::DrawGanonTriforceFloorDecor | ( | const DrawContext & | ctx | ) |
Draw Ganon triforce floor decor (three 4x4 sections)
ASM: RoomDraw_GanonTriforceFloorDecor ($01A7F0)
Definition at line 529 of file special_routines.cc.
References yaze::zelda3::DrawContext::tiles.
Referenced by RegisterSpecialRoutines().
| void yaze::zelda3::draw_routines::DrawSingle2x2 | ( | const DrawContext & | ctx | ) |
Draw a single 2x2 block (column-major order)
ASM: RoomDraw_Single2x2 ($019A8D -> RoomDraw_Downwards2x2)
Definition at line 540 of file special_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by DrawBigKeyLock(), and RegisterSpecialRoutines().

| void yaze::zelda3::draw_routines::DrawSingle4x4 | ( | const DrawContext & | ctx | ) |
Draw a single 4x4 block (column-major order)
ASM: RoomDraw_4x4 ($0197ED)
Definition at line 556 of file special_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by DrawActual4x4(), and RegisterSpecialRoutines().

| void yaze::zelda3::draw_routines::DrawSingle4x3 | ( | const DrawContext & | ctx | ) |
Draw a single 4x3 block (column-major order)
ASM: RoomDraw_TableRock4x3 ($0199E6)
Definition at line 570 of file special_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterSpecialRoutines().

| void yaze::zelda3::draw_routines::DrawRupeeFloor | ( | const DrawContext & | ctx | ) |
Draw the blue rupee floor pattern (5x8 bounds with gaps)
ASM: RoomDraw_RupeeFloor ($019AA9)
Definition at line 584 of file special_routines.cc.
References yaze::zelda3::DungeonState::IsRupeeFloorCleared(), yaze::zelda3::DrawContext::object, yaze::zelda3::DrawContext::room_id, yaze::zelda3::DrawContext::state, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterSpecialRoutines().

| void yaze::zelda3::draw_routines::DrawActual4x4 | ( | const DrawContext & | ctx | ) |
Draw an actual 4x4 tile8 pattern (column-major order)
ASM: RoomDraw_4x4 ($0197ED)
Definition at line 608 of file special_routines.cc.
References DrawSingle4x4().
Referenced by RegisterSpecialRoutines().

| void yaze::zelda3::draw_routines::DrawWaterfall47 | ( | const DrawContext & | ctx | ) |
Draw waterfall object 0x47 pattern.
ASM: RoomDraw_Waterfall47 ($019466)
Definition at line 613 of file special_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, and yaze::zelda3::DrawContext::tiles.
Referenced by RegisterSpecialRoutines().
| void yaze::zelda3::draw_routines::DrawWaterfall48 | ( | const DrawContext & | ctx | ) |
Draw waterfall object 0x48 pattern.
ASM: RoomDraw_Waterfall48 ($019488)
Definition at line 629 of file special_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterSpecialRoutines().
| void yaze::zelda3::draw_routines::Draw4x4BlocksIn4x4SuperSquare | ( | const DrawContext & | ctx | ) |
Draw 4x4 solid blocks in a super square grid.
ASM: RoomDraw_4x4BlocksIn4x4SuperSquare ($018B94) Objects: 0xC0, 0xC2 Draws solid 4x4 blocks using a single tile, repeated in a grid pattern.
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 655 of file special_routines.cc.
References yaze::zelda3::RoomObject::id_, LOG_DEBUG, yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by Draw4x4FloorIn4x4SuperSquare(), and RegisterSpecialRoutines().

| void yaze::zelda3::draw_routines::Draw3x3FloorIn4x4SuperSquare | ( | const DrawContext & | ctx | ) |
Draw 3x3 floor pattern in super square units.
ASM: RoomDraw_3x3FloorIn4x4SuperSquare ($018D8A) Objects: 0xC3, 0xD7
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 697 of file special_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterSpecialRoutines().

| void yaze::zelda3::draw_routines::Draw4x4FloorIn4x4SuperSquare | ( | const DrawContext & | ctx | ) |
Draw 4x4 floor pattern in super square units.
ASM: RoomDraw_4x4FloorIn4x4SuperSquare ($018FA5) Objects: 0xC5-0xCA, 0xD1-0xD2, 0xD9, 0xDF-0xE8 Most common floor pattern in dungeons.
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 722 of file special_routines.cc.
References Draw4x4BlocksIn4x4SuperSquare(), yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by Draw4x4FloorOneIn4x4SuperSquare(), Draw4x4FloorTwoIn4x4SuperSquare(), and RegisterSpecialRoutines().

| void yaze::zelda3::draw_routines::Draw4x4FloorOneIn4x4SuperSquare | ( | const DrawContext & | ctx | ) |
Draw single 4x4 floor pattern variant.
ASM: RoomDraw_4x4FloorOneIn4x4SuperSquare ($018FA2) Object: 0xC4
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 748 of file special_routines.cc.
References Draw4x4FloorIn4x4SuperSquare(), yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterSpecialRoutines().

| void yaze::zelda3::draw_routines::Draw4x4FloorTwoIn4x4SuperSquare | ( | const DrawContext & | ctx | ) |
Draw two 4x4 floor pattern variant.
ASM: RoomDraw_4x4FloorTwoIn4x4SuperSquare ($018F9D) Object: 0xDB
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 770 of file special_routines.cc.
References Draw4x4FloorIn4x4SuperSquare(), yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterSpecialRoutines().

| void yaze::zelda3::draw_routines::DrawBigHole4x4_1to16 | ( | const DrawContext & | ctx | ) |
Draw 4x4 big hole pattern.
Object: 0xA4 Draws a 4x4 hole pattern that repeats based on size.
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 791 of file special_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterSpecialRoutines().

| void yaze::zelda3::draw_routines::DrawSpike2x2In4x4SuperSquare | ( | const DrawContext & | ctx | ) |
Draw 2x2 spike pattern in super square units.
ASM: RoomDraw_Spike2x2In4x4SuperSquare ($019708) Object: 0xDE
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 832 of file special_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterSpecialRoutines().

| void yaze::zelda3::draw_routines::DrawTableRock4x4_1to16 | ( | const DrawContext & | ctx | ) |
Draw 4x4 table rock pattern.
Object: 0xDD Draws a 4x4 rock pattern that repeats horizontally.
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 857 of file special_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterSpecialRoutines().

| void yaze::zelda3::draw_routines::DrawWaterOverlay8x8_1to16 | ( | const DrawContext & | ctx | ) |
Draw water overlay 8x8 pattern.
ASM: RoomDraw_WaterOverlayA8x8_1to16 ($0195D6) Objects: 0xD8, 0xDA Semi-transparent water overlay.
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 922 of file special_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterSpecialRoutines().

| void yaze::zelda3::draw_routines::DrawInterRoomFatStairsUp | ( | const DrawContext & | ctx | ) |
Draw inter-room fat stairs going up (Type 2 object 0x12D)
ASM: RoomDraw_InterRoomFatStairsUp ($01A41B) Registers stair position in game state $06B0. Draws 4x4 stair pattern.
| ctx | Draw context |
Definition at line 978 of file special_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::DrawContext::target_bg, and yaze::zelda3::DrawContext::tiles.
Referenced by DrawInterRoomFatStairsDownA(), DrawInterRoomFatStairsDownB(), and RegisterSpecialRoutines().
| void yaze::zelda3::draw_routines::DrawInterRoomFatStairsDownA | ( | const DrawContext & | ctx | ) |
Draw inter-room fat stairs going down A (Type 2 object 0x12E)
ASM: RoomDraw_InterRoomFatStairsDownA ($01A458) Registers stair position and draws 4x4 pattern.
| ctx | Draw context |
Definition at line 990 of file special_routines.cc.
References DrawInterRoomFatStairsUp().
Referenced by RegisterSpecialRoutines().

| void yaze::zelda3::draw_routines::DrawInterRoomFatStairsDownB | ( | const DrawContext & | ctx | ) |
Draw inter-room fat stairs going down B (Type 2 object 0x12F)
ASM: RoomDraw_InterRoomFatStairsDownB ($01A486)
| ctx | Draw context |
Definition at line 996 of file special_routines.cc.
References DrawInterRoomFatStairsUp().
Referenced by RegisterSpecialRoutines().

| void yaze::zelda3::draw_routines::DrawSpiralStairs | ( | const DrawContext & | ctx, |
| bool | going_up, | ||
| bool | is_upper ) |
Draw spiral stairs (Type 2 objects 0x138-0x13B)
ASM: RoomDraw_SpiralStairs* routines Handles upper/lower variants for going up/down.
| ctx | Draw context |
| going_up | True if stairs go up, false if down |
| is_upper | True if upper portion, false if lower |
Definition at line 1002 of file special_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::DrawContext::secondary_bg, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterSpecialRoutines().
| void yaze::zelda3::draw_routines::DrawAutoStairs | ( | const DrawContext & | ctx | ) |
Draw auto stairs (Type 2/3 objects 0x130-0x133, 0x21B-0x21D, 0x233)
ASM: RoomDraw_AutoStairs* routines Multi-layer or merged layer variants.
| ctx | Draw context |
Definition at line 1020 of file special_routines.cc.
References yaze::zelda3::RoomObject::id_, yaze::zelda3::DrawContext::object, yaze::zelda3::DrawContext::secondary_bg, yaze::zelda3::DrawContext::target_bg, and yaze::zelda3::DrawContext::tiles.
Referenced by RegisterSpecialRoutines().
| void yaze::zelda3::draw_routines::DrawStraightInterRoomStairs | ( | const DrawContext & | ctx | ) |
Draw straight inter-room stairs (Type 3 objects 0x21E-0x229)
ASM: RoomDraw_StraightInterroomStairs* routines North/South, Up/Down, Upper/Lower variants.
| ctx | Draw context |
Definition at line 1034 of file special_routines.cc.
References yaze::zelda3::RoomObject::id_, yaze::zelda3::DrawContext::object, yaze::zelda3::DrawContext::secondary_bg, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterSpecialRoutines().

| void yaze::zelda3::draw_routines::DrawPrisonCell | ( | const DrawContext & | ctx | ) |
Draw prison cell with bars (Type 3 objects 0x20D, 0x217)
ASM: RoomDraw_PrisonCell ($019C44) Draws a sparse 16x4 pattern on the current object-stream tilemap. Mirrored side bars leave the two center columns open below the top row.
| ctx | Draw context containing the target background and six tiles |
Definition at line 1066 of file special_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterSpecialRoutines().

| void yaze::zelda3::draw_routines::DrawBigKeyLock | ( | const DrawContext & | ctx | ) |
Draw a closed big key lock (Yaze 0xF98 / ASM object 0x218)
ASM: RoomDraw_BigKeyLock ($0198AE) Draws the four obj1494 words as one column-major 2x2 block. ObjectDrawer owns the shared chest/lock event-slot check; an opened lock emits no tiles.
| ctx | Draw context |
Definition at line 1119 of file special_routines.cc.
References DrawSingle2x2().
Referenced by RegisterSpecialRoutines().

| void yaze::zelda3::draw_routines::DrawBombableFloor | ( | const DrawContext & | ctx | ) |
Draw bombable floor (Type 3 object 0xFC7 / ASM object 0x247)
ASM: RoomDraw_BombableFloor ($01:B3E1) Draws one of two 4x4 states using the current room's floor-open preview.
| ctx | Draw context |
Definition at line 1128 of file special_routines.cc.
References yaze::zelda3::DungeonState::IsFloorBombable(), yaze::zelda3::DrawContext::object, yaze::zelda3::DrawContext::room_id, yaze::zelda3::DrawContext::state, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by RegisterSpecialRoutines().

| void yaze::zelda3::draw_routines::DrawMovingWallWest | ( | const DrawContext & | ctx | ) |
Draw the west-moving wall (Type 1 object 0xCD)
ASM: RoomDraw_MovingWallWest ($01:9190). The low two size bits select the horizontal fill count, the next two bits select the vertical direction count, and an already-moved wall draws nothing.
| ctx | Draw context |
Definition at line 1161 of file special_routines.cc.
References yaze::zelda3::moving_wall::DirectionForSize(), yaze::zelda3::DungeonState::IsWallMoved(), yaze::zelda3::DrawContext::object, yaze::zelda3::moving_wall::ObjectCountForSize(), yaze::zelda3::DrawContext::room_id, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::state, yaze::zelda3::DrawContext::tiles, and yaze::zelda3::RoomObject::x_.
Referenced by RegisterSpecialRoutines().

| void yaze::zelda3::draw_routines::DrawMovingWallEast | ( | const DrawContext & | ctx | ) |
Draw the east-moving wall (Type 1 object 0xCE)
ASM: RoomDraw_MovingWallEast ($01:921C). Uses the same split size selectors as the west wall and grows its horizontal fill to the right.
| ctx | Draw context |
Definition at line 1178 of file special_routines.cc.
References yaze::zelda3::moving_wall::DirectionForSize(), yaze::zelda3::DungeonState::IsWallMoved(), yaze::zelda3::DrawContext::object, yaze::zelda3::moving_wall::ObjectCountForSize(), yaze::zelda3::DrawContext::room_id, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::state, yaze::zelda3::DrawContext::tiles, and yaze::zelda3::RoomObject::x_.
Referenced by RegisterSpecialRoutines().

| void yaze::zelda3::draw_routines::DrawEmptyWaterFace | ( | const DrawContext & | ctx | ) |
Draw empty water face (Type 3 object 0x200)
ASM: RoomDraw_EmptyWaterFace ($019D29)
| ctx | Draw context |
Definition at line 1226 of file special_routines.cc.
References yaze::zelda3::DungeonState::IsWaterFaceActive(), yaze::zelda3::DrawContext::room_id, and yaze::zelda3::DrawContext::state.
Referenced by RegisterSpecialRoutines().

| void yaze::zelda3::draw_routines::DrawSpittingWaterFace | ( | const DrawContext & | ctx | ) |
Draw spitting water face (Type 3 object 0x201)
ASM: RoomDraw_SpittingWaterFace ($019D64)
| ctx | Draw context |
Definition at line 1243 of file special_routines.cc.
Referenced by RegisterSpecialRoutines().
| void yaze::zelda3::draw_routines::DrawDrenchingWaterFace | ( | const DrawContext & | ctx | ) |
Draw drenching water face (Type 3 object 0x202)
ASM: RoomDraw_DrenchingWaterFace ($019D83)
| ctx | Draw context |
Definition at line 1249 of file special_routines.cc.
Referenced by RegisterSpecialRoutines().
| void yaze::zelda3::draw_routines::DrawClosedChestPlatform | ( | const DrawContext & | ctx | ) |
Draw closed chest platform (Type 1 object 0xC1)
ASM: RoomDraw_ClosedChestPlatform ($018CC7) Complex multi-part structure with horizontal wall, vertical walls, corners.
| ctx | Draw context |
Definition at line 1259 of file special_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, and yaze::zelda3::DrawContext::tiles.
Referenced by RegisterSpecialRoutines().
| void yaze::zelda3::draw_routines::DrawOpenChestPlatform | ( | const DrawContext & | ctx | ) |
Draw open chest platform (Type 1 object 0xDC)
ASM: RoomDraw_OpenChestPlatform ($019733)
| ctx | Draw context |
Definition at line 1313 of file special_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, and yaze::zelda3::DrawContext::tiles.
Referenced by RegisterSpecialRoutines().
| void yaze::zelda3::draw_routines::DrawChestPlatformHorizontalWall | ( | const DrawContext & | ctx | ) |
Draw chest platform horizontal wall section.
ASM: RoomDraw_ChestPlatformHorizontalWallWithCorners ($018D0D)
| ctx | Draw context |
Definition at line 1333 of file special_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.

| void yaze::zelda3::draw_routines::DrawChestPlatformVerticalWall | ( | const DrawContext & | ctx | ) |
Draw chest platform vertical wall section.
ASM: RoomDraw_ChestPlatformVerticalWall ($019E70)
| ctx | Draw context |
Definition at line 1347 of file special_routines.cc.
References yaze::zelda3::DrawContext::object, yaze::zelda3::RoomObject::size_, yaze::zelda3::DrawContext::target_bg, yaze::zelda3::DrawContext::tiles, yaze::zelda3::DrawRoutineUtils::WriteTile8(), yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.

| void yaze::zelda3::draw_routines::RegisterSpecialRoutines | ( | std::vector< DrawRoutineInfo > & | registry | ) |
Register all special/miscellaneous draw routines to the registry.
| registry | Vector of DrawRoutineInfo to register routines into |
Definition at line 1360 of file special_routines.cc.
References CustomDraw(), Draw3x3FloorIn4x4SuperSquare(), Draw4x4BlocksIn4x4SuperSquare(), Draw4x4FloorIn4x4SuperSquare(), Draw4x4FloorOneIn4x4SuperSquare(), Draw4x4FloorTwoIn4x4SuperSquare(), DrawActual4x4(), DrawArcheryGameTargetDoor(), DrawAutoStairs(), DrawBed4x5(), DrawBigHole4x4_1to16(), DrawBigKeyLock(), DrawBigLightBeamOnFloor(), DrawBombableFloor(), DrawBossShell4x4(), DrawChest(), DrawClosedChestPlatform(), DrawDoorSwitcherer(), DrawDrenchingWaterFace(), DrawEmptyWaterFace(), DrawFloorLight(), DrawGanonTriforceFloorDecor(), DrawHorizontalTurtleRockPipe(), DrawInterRoomFatStairsDownA(), DrawInterRoomFatStairsDownB(), DrawInterRoomFatStairsUp(), DrawLightBeamOnFloor(), DrawMovingWallEast(), DrawMovingWallWest(), DrawNothing(), DrawOpenChestPlatform(), DrawPrisonCell(), DrawRightwards3x6(), DrawRupeeFloor(), DrawSingle2x2(), DrawSingle4x3(), DrawSingle4x4(), DrawSolidWallDecor3x4(), DrawSomariaLine(), DrawSpike2x2In4x4SuperSquare(), DrawSpiralStairs(), DrawSpittingWaterFace(), DrawStraightInterRoomStairs(), DrawTableRock4x4_1to16(), DrawUtility3x5(), DrawUtility6x3(), DrawVerticalTurtleRockPipe(), DrawWaterFace(), DrawWaterfall47(), DrawWaterfall48(), DrawWaterOverlay8x8_1to16(), yaze::zelda3::DrawRoutineUtils::ExistingTileMatchesAny(), yaze::zelda3::DrawRoutineInfo::id, yaze::zelda3::DrawRoutineIds::kActual4x4, yaze::zelda3::DrawRoutineIds::kArcheryGameTargetDoor, yaze::zelda3::DrawRoutineIds::kBed4x5, yaze::zelda3::DrawRoutineIds::kBigLightBeam, yaze::zelda3::DrawRoutineIds::kBossShell4x4, yaze::zelda3::DrawRoutineIds::kClosedChestPlatform, yaze::zelda3::DrawRoutineIds::kCustomObject, yaze::zelda3::DrawRoutineIds::kDamFloodGate, yaze::zelda3::DrawRoutineIds::kDownwardsHasEdge1x1_1to16_plus23, yaze::zelda3::DrawRoutineIds::kFloorLight, yaze::zelda3::DrawRoutineIds::kGanonTriforceFloorDecor, yaze::zelda3::DrawRoutineIds::kHorizontalTurtleRockPipe, yaze::zelda3::DrawRoutineIds::kLightBeam, yaze::zelda3::DrawRoutineIds::kMovingWallEast, yaze::zelda3::DrawRoutineIds::kMovingWallWest, yaze::zelda3::DrawRoutineIds::kOpenChestPlatform, yaze::zelda3::DrawRoutineIds::kRightwards3x6, yaze::zelda3::DrawRoutineIds::kRupeeFloor, yaze::zelda3::DrawRoutineIds::kSingle2x2, yaze::zelda3::DrawRoutineIds::kSingle4x3, yaze::zelda3::DrawRoutineIds::kSingle4x4, yaze::zelda3::DrawRoutineIds::kSolidWallDecor3x4, yaze::zelda3::DrawRoutineIds::kUtility3x5, yaze::zelda3::DrawRoutineIds::kUtility6x3, yaze::zelda3::DrawRoutineIds::kVerticalTurtleRockPipe, yaze::zelda3::DrawRoutineIds::kWaterfall47, yaze::zelda3::DrawRoutineIds::kWaterfall48, yaze::zelda3::DrawRoutineIds::kWaterHopStairsA, yaze::zelda3::DrawRoutineIds::kWaterHopStairsB, yaze::zelda3::DrawRoutineInfo::Special, and yaze::zelda3::DrawRoutineUtils::WriteTile8().
Referenced by yaze::zelda3::DrawRoutineRegistry::BuildRegistry().