refactor: Improve Rendering Logic and Debugging in Dungeon Components
- Updated DungeonCanvasViewer to disable room layout drawing to reduce visual clutter, enhancing clarity during object placement. - Enhanced BackgroundBuffer to skip empty and floor tiles, preventing overwriting of drawn elements and improving rendering efficiency. - Refined Bitmap palette application to ensure correct transparency handling and marked bitmaps as modified for texture updates. - Streamlined ObjectDrawer by removing unnecessary debug logs and simplifying object drawing logic, improving performance and readability. - Adjusted Room rendering methods to utilize palette indirection for accurate color application, ensuring consistent visual output across rooms.
This commit is contained in:
@@ -519,13 +519,15 @@ void DungeonCanvasViewer::DrawDungeonCanvas(int room_id) {
|
||||
}
|
||||
}
|
||||
|
||||
// Draw layout overlays on top of background bitmap
|
||||
// Draw optional overlays on top of background bitmap
|
||||
if (rooms_ && rom_->is_loaded()) {
|
||||
auto& room = (*rooms_)[room_id];
|
||||
|
||||
// Draw room layout (structural elements like walls, pits)
|
||||
// This provides context for object placement
|
||||
DrawRoomLayout(room);
|
||||
// DISABLED: Room layout drawing - causes visual clutter
|
||||
// Layout tiles (2793) render over everything and obscure objects
|
||||
// if (show_layout_overlay_) {
|
||||
// DrawRoomLayout(room);
|
||||
// }
|
||||
|
||||
// VISUALIZATION: Draw object position rectangles (for debugging)
|
||||
// This shows where objects are placed regardless of whether graphics render
|
||||
|
||||
Reference in New Issue
Block a user