feat: Introduce Layout Override Feature in DungeonCanvasViewer

- Added a new "Layout Override" section in the DungeonCanvasViewer, allowing users to enable or disable layout overrides for dungeon rooms.
- Implemented a checkbox to toggle the override and a slider to select the layout ID when enabled.
- Removed the previously disabled room layout drawing code to streamline the rendering process.
- Updated the layout management to ensure proper handling of layout IDs and visibility settings.
- Enhanced the overall user interface for better control over dungeon layout visualization.
This commit is contained in:
scawful
2025-10-10 10:14:50 -04:00
parent db517abbb3
commit b64ef74b10
17 changed files with 258 additions and 1980 deletions

View File

@@ -83,6 +83,9 @@ void BackgroundBuffer::DrawTile(const TileInfo& tile, uint8_t* canvas,
// Apply palette offset and write to canvas
// For 3BPP: final color = base_pixel (0-7) + palette_offset (0, 8, 16, 24, ...)
if (pixel_index == 0) {
continue;
}
uint8_t final_color = pixel_index + palette_offset;
int dest_index = indexoffset + (py * width_) + px;
canvas[dest_index] = final_color;