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 | 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 1x8 decorative columns 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 chest object (big or small) 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 Somaria line in various directions. | |
| 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 big floor light beam (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 (6x8 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 big key lock (Type 3 object 0x218) | |
| void | DrawBombableFloor (const DrawContext &ctx) |
| Draw bombable floor (Type 3 object 0x247) | |
| void | DrawMovingWall (const DrawContext &ctx, bool is_west) |
| Draw moving wall (Type 1 objects 0xCD, 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 | 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 176 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 192 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 243 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 293 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 311 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 324 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 342 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 360 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 378 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 398 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 411 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 429 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 447 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 504 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 524 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 555 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 577 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 597 of file downwards_routines.cc.
References DrawDownwardsPots2x2_1to16().
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 601 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(), 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::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 509 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 531 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 561 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 1x8 decorative columns with wide horizontal spacing.
Pattern: Draws one tile-wide, eight tile-high columns (objects 0x55-0x56) with 12-tile horizontal step.
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 595 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 614 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 649 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 662 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 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::DrawRightwardsBigRail1x3_1to16plus5 | ( | const DrawContext & | ctx | ) |
Draw rightwards big rail pattern (1x3 columns with +5 extension)
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::DrawRightwardsBlock2x2spaced2_1to16 | ( | const DrawContext & | ctx | ) |
Draw rightwards 2x2 blocks with 2-tile spacing.
Definition at line 738 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 758 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 771 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 791 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 795 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, and yaze::zelda3::DrawRoutineInfo::Rightwards.
Referenced by yaze::zelda3::DrawRoutineRegistry::BuildRegistry().
| void yaze::zelda3::draw_routines::DrawChest | ( | const DrawContext & | ctx, |
| int | chest_index ) |
Draw chest object (big or small) with open/closed state support.
Pattern: Chest drawing (objects 0x140-0x14F big chests, 0x150-0x15F small chests) Determines chest state from DungeonState and draws appropriate graphic. Standard chests are 2x2 (4 tiles), big chests are 4x4 (16 tiles). If we have double the tiles, use the second half for open state.
| ctx | Draw context containing object, tiles, state, and target buffer |
| chest_index | Index of this chest in the room (0-based) |
Definition at line 77 of file special_routines.cc.
References 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 140 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 146 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 193 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 Somaria line in various directions.
Pattern: Somaria Line (objects 0x203-0x20F, 0x214) Draws a line of tiles based on direction encoded in object ID. Direction mapping: 0x03: Horizontal right 0x04: Vertical down 0x05: Diagonal down-right 0x06: Diagonal down-left 0x07-0x0F: Various other patterns
| ctx | Draw context containing object, tiles, and target buffer |
Definition at line 211 of file special_routines.cc.
References 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::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 295 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 316 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 329 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 334 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 340 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 345 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 377 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 386 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 391 of file special_routines.cc.
References yaze::zelda3::DrawContext::tiles.
Referenced by RegisterSpecialRoutines().
| void yaze::zelda3::draw_routines::DrawBigLightBeamOnFloor | ( | const DrawContext & | ctx | ) |
Draw big floor light beam (8x8 footprint)
ASM: RoomDraw_BigLightBeamOnFloor / RoomDraw_FloorLight ($01A7D3/$01A7DC)
Definition at line 401 of file special_routines.cc.
References yaze::zelda3::DrawContext::tiles.
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 414 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 419 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 424 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 433 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 444 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::DrawSingle4x4 | ( | const DrawContext & | ctx | ) |
Draw a single 4x4 block (column-major order)
ASM: RoomDraw_4x4 ($0197ED)
Definition at line 460 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 474 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 (6x8 with gaps)
ASM: RoomDraw_RupeeFloor ($019AA9)
Definition at line 488 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::DrawActual4x4 | ( | const DrawContext & | ctx | ) |
Draw an actual 4x4 tile8 pattern (column-major order)
ASM: RoomDraw_4x4 ($0197ED)
Definition at line 525 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 530 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 546 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 572 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 614 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 639 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::DrawRoutineUtils::WriteTile8(), 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 682 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::DrawRoutineUtils::WriteTile8(), 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 716 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::DrawRoutineUtils::WriteTile8(), 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 749 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 790 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 815 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 880 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 936 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 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 955 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 961 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 967 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::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 987 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::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 1002 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::DrawPrisonCell | ( | const DrawContext & | ctx | ) |
Draw prison cell with bars (Type 3 objects 0x20D, 0x217)
ASM: RoomDraw_PrisonCell ($019C44) Draws to BOTH BG1 and BG2 with horizontal flip for symmetry. Uses ctx.secondary_bg for dual-layer drawing when available.
| ctx | Draw context with optional secondary_bg for dual-BG drawing |
Definition at line 1021 of file special_routines.cc.
References yaze::zelda3::DrawContext::HasSecondaryBG(), 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::DrawBigKeyLock | ( | const DrawContext & | ctx | ) |
Draw big key lock (Type 3 object 0x218)
ASM: RoomDraw_BigKeyLock ($0198AE) Registers lock position in $06E0. Checks room flags to determine if already opened.
| ctx | Draw context |
Definition at line 1081 of file special_routines.cc.
References yaze::zelda3::DungeonState::IsDoorOpen(), 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::DrawBombableFloor | ( | const DrawContext & | ctx | ) |
Draw bombable floor (Type 3 object 0x247)
ASM: RoomDraw_BombableFloor ($019B7A) Registers floor position for bombing interaction. Checks if already bombed via room flags.
| ctx | Draw context |
Definition at line 1118 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::DrawMovingWall | ( | const DrawContext & | ctx, |
| bool | is_west ) |
Draw moving wall (Type 1 objects 0xCD, 0xCE)
ASM: RoomDraw_MovingWallWest ($019316), RoomDraw_MovingWallEast ($01935C) Checks game state to determine if wall has moved.
| ctx | Draw context |
| is_west | True for west wall (0xCD), false for east wall (0xCE) |
Definition at line 1152 of file special_routines.cc.
References yaze::zelda3::DungeonState::IsWallMoved(), yaze::zelda3::DrawContext::object, yaze::zelda3::DrawContext::room_id, yaze::zelda3::RoomObject::size_, 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::DrawEmptyWaterFace | ( | const DrawContext & | ctx | ) |
Draw empty water face (Type 3 object 0x200)
ASM: RoomDraw_EmptyWaterFace ($019D29)
| ctx | Draw context |
Definition at line 1215 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 1232 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 1238 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 1248 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::DrawChestPlatformHorizontalWall | ( | const DrawContext & | ctx | ) |
Draw chest platform horizontal wall section.
ASM: RoomDraw_ChestPlatformHorizontalWallWithCorners ($018D0D)
| ctx | Draw context |
Definition at line 1285 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 1299 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 1312 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(), DrawGanonTriforceFloorDecor(), DrawHorizontalTurtleRockPipe(), DrawInterRoomFatStairsDownA(), DrawInterRoomFatStairsDownB(), DrawInterRoomFatStairsUp(), DrawLightBeamOnFloor(), DrawMovingWall(), DrawNothing(), 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::kDownwardsHasEdge1x1_1to16_plus23, 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::DrawRoutineInfo::Special, and yaze::zelda3::DrawRoutineUtils::WriteTile8().
Referenced by yaze::zelda3::DrawRoutineRegistry::BuildRegistry().