Handles visualization of all overworld entities (entrances, exits, items, sprites) More...
#include <overworld_entity_renderer.h>

Public Member Functions | |
| OverworldEntityRenderer (zelda3::Overworld *overworld, gui::Canvas *canvas, std::vector< gfx::Bitmap > *sprite_previews) | |
| void | DrawEntrances (const gui::CanvasRuntime &rt, int current_world) |
| void | DrawExits (const gui::CanvasRuntime &rt, int current_world) |
| void | DrawItems (const gui::CanvasRuntime &rt, int current_world) |
| void | DrawSprites (const gui::CanvasRuntime &rt, int current_world, int game_state) |
| void | DrawEntrances (ImVec2 canvas_p0, ImVec2 scrolling, int current_world, int current_mode) |
| void | DrawExits (ImVec2 canvas_p0, ImVec2 scrolling, int current_world, int current_mode) |
| void | DrawItems (int current_world, int current_mode) |
| void | DrawSprites (int current_world, int game_state, int current_mode) |
| void | DrawDiggableTileHighlights (int current_world, int current_map) |
| Draw highlights for all diggable tiles on the current map. | |
| auto | hovered_entity () const |
| void | ResetHoveredEntity () |
| bool | show_diggable_tiles () const |
| void | set_show_diggable_tiles (bool show) |
Private Attributes | |
| zelda3::GameEntity * | hovered_entity_ = nullptr |
| zelda3::Overworld * | overworld_ |
| gui::Canvas * | canvas_ |
| std::vector< gfx::Bitmap > * | sprite_previews_ |
| bool | show_diggable_tiles_ = false |
Handles visualization of all overworld entities (entrances, exits, items, sprites)
This class separates entity rendering logic from the main OverworldEditor, making it easier to maintain and test entity visualization independently.
Definition at line 25 of file overworld_entity_renderer.h.
|
inline |
Definition at line 27 of file overworld_entity_renderer.h.
| void yaze::editor::OverworldEntityRenderer::DrawEntrances | ( | const gui::CanvasRuntime & | rt, |
| int | current_world ) |
Definition at line 42 of file overworld_entity_renderer.cc.
References yaze::gui::DrawRect(), yaze::gui::DrawText(), yaze::zelda3::Overworld::entrances(), yaze::gui::GetEntranceColor(), yaze::util::HexByte(), hovered_entity_, yaze::editor::IsMouseHoveringOverEntity(), and overworld_.
| void yaze::editor::OverworldEntityRenderer::DrawExits | ( | const gui::CanvasRuntime & | rt, |
| int | current_world ) |
Definition at line 62 of file overworld_entity_renderer.cc.
References yaze::gui::DrawRect(), yaze::gui::DrawText(), yaze::zelda3::GameEntity::entity_id_, yaze::gui::GetExitColor(), yaze::util::HexByte(), hovered_entity_, yaze::editor::IsMouseHoveringOverEntity(), yaze::zelda3::Overworld::mutable_exits(), and overworld_.
| void yaze::editor::OverworldEntityRenderer::DrawItems | ( | const gui::CanvasRuntime & | rt, |
| int | current_world ) |
Definition at line 83 of file overworld_entity_renderer.cc.
References yaze::gui::DrawRect(), yaze::gui::DrawText(), yaze::gui::GetItemColor(), hovered_entity_, yaze::editor::IsMouseHoveringOverEntity(), yaze::zelda3::kSecretItemNames, yaze::zelda3::Overworld::mutable_all_items(), and overworld_.
| void yaze::editor::OverworldEntityRenderer::DrawSprites | ( | const gui::CanvasRuntime & | rt, |
| int | current_world, | ||
| int | game_state ) |
Definition at line 103 of file overworld_entity_renderer.cc.
References canvas_, yaze::gui::Canvas::DrawBitmap(), yaze::gui::DrawRect(), yaze::gui::DrawText(), yaze::core::FeatureFlags::get(), yaze::gui::GetSpriteColor(), hovered_entity_, yaze::editor::IsMouseHoveringOverEntity(), yaze::zelda3::Overworld::mutable_sprites(), overworld_, and sprite_previews_.
| void yaze::editor::OverworldEntityRenderer::DrawEntrances | ( | ImVec2 | canvas_p0, |
| ImVec2 | scrolling, | ||
| int | current_world, | ||
| int | current_mode ) |
Definition at line 135 of file overworld_entity_renderer.cc.
References canvas_, yaze::gui::Canvas::DrawRect(), yaze::gui::Canvas::DrawText(), yaze::zelda3::Overworld::entrances(), yaze::gui::GetEntranceColor(), yaze::gui::Canvas::global_scale(), yaze::util::HexByte(), hovered_entity_, yaze::editor::IsMouseHoveringOverEntity(), and overworld_.
| void yaze::editor::OverworldEntityRenderer::DrawExits | ( | ImVec2 | canvas_p0, |
| ImVec2 | scrolling, | ||
| int | current_world, | ||
| int | current_mode ) |
Definition at line 162 of file overworld_entity_renderer.cc.
References canvas_, yaze::gui::Canvas::DrawRect(), yaze::gui::Canvas::DrawText(), yaze::zelda3::GameEntity::entity_id_, yaze::gui::GetExitColor(), yaze::gui::Canvas::global_scale(), yaze::util::HexByte(), hovered_entity_, yaze::editor::IsMouseHoveringOverEntity(), yaze::zelda3::Overworld::mutable_exits(), and overworld_.
| void yaze::editor::OverworldEntityRenderer::DrawItems | ( | int | current_world, |
| int | current_mode ) |
Definition at line 187 of file overworld_entity_renderer.cc.
References canvas_, yaze::gui::Canvas::DrawRect(), yaze::gui::Canvas::DrawText(), yaze::gui::GetItemColor(), yaze::gui::Canvas::global_scale(), hovered_entity_, yaze::editor::IsMouseHoveringOverEntity(), yaze::zelda3::kSecretItemNames, yaze::zelda3::Overworld::mutable_all_items(), overworld_, yaze::gui::Canvas::scrolling(), and yaze::gui::Canvas::zero_point().
| void yaze::editor::OverworldEntityRenderer::DrawSprites | ( | int | current_world, |
| int | game_state, | ||
| int | current_mode ) |
Definition at line 213 of file overworld_entity_renderer.cc.
References canvas_, yaze::gui::Canvas::DrawBitmap(), yaze::gui::Canvas::DrawRect(), yaze::gui::Canvas::DrawText(), yaze::core::FeatureFlags::get(), yaze::gui::GetSpriteColor(), yaze::gui::Canvas::global_scale(), hovered_entity_, yaze::editor::IsMouseHoveringOverEntity(), yaze::core::FeatureFlags::Flags::Overworld::kDrawOverworldSprites, yaze::zelda3::Overworld::mutable_sprites(), yaze::core::FeatureFlags::Flags::overworld, overworld_, yaze::gui::Canvas::scrolling(), sprite_previews_, and yaze::gui::Canvas::zero_point().
| void yaze::editor::OverworldEntityRenderer::DrawDiggableTileHighlights | ( | int | current_world, |
| int | current_map ) |
Draw highlights for all diggable tiles on the current map.
Renders a semi-transparent overlay on each tile position that has a Map16 tile marked as diggable in the DiggableTiles bitfield.
| current_world | Current world (0=Light, 1=Dark, 2=Special) |
| current_map | Current map index within the world |
Definition at line 254 of file overworld_entity_renderer.cc.
References canvas_, yaze::zelda3::Overworld::diggable_tiles(), yaze::gui::Canvas::DrawRect(), yaze::zelda3::Overworld::GetMapTiles(), overworld_, and show_diggable_tiles_.

|
inline |
Definition at line 65 of file overworld_entity_renderer.h.
References hovered_entity_.
|
inline |
Definition at line 66 of file overworld_entity_renderer.h.
References hovered_entity_.
|
inline |
Definition at line 67 of file overworld_entity_renderer.h.
References show_diggable_tiles_.
|
inline |
Definition at line 68 of file overworld_entity_renderer.h.
References show_diggable_tiles_.
|
private |
Definition at line 71 of file overworld_entity_renderer.h.
Referenced by DrawEntrances(), DrawEntrances(), DrawExits(), DrawExits(), DrawItems(), DrawItems(), DrawSprites(), DrawSprites(), hovered_entity(), and ResetHoveredEntity().
|
private |
Definition at line 72 of file overworld_entity_renderer.h.
Referenced by DrawDiggableTileHighlights(), DrawEntrances(), DrawEntrances(), DrawExits(), DrawExits(), DrawItems(), DrawItems(), DrawSprites(), and DrawSprites().
|
private |
Definition at line 73 of file overworld_entity_renderer.h.
Referenced by DrawDiggableTileHighlights(), DrawEntrances(), DrawExits(), DrawItems(), DrawSprites(), and DrawSprites().
|
private |
Definition at line 74 of file overworld_entity_renderer.h.
Referenced by DrawSprites(), and DrawSprites().
|
private |
Definition at line 75 of file overworld_entity_renderer.h.
Referenced by DrawDiggableTileHighlights(), set_show_diggable_tiles(), and show_diggable_tiles().