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 44 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 64 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 85 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 105 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 137 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 164 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 189 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 215 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 256 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().