yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
yaze::editor::OverworldEntityRenderer Class Reference

Handles visualization of all overworld entities (entrances, exits, items, sprites) More...

#include <overworld_entity_renderer.h>

Collaboration diagram for yaze::editor::OverworldEntityRenderer:

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::GameEntityhovered_entity_ = nullptr
 
zelda3::Overworldoverworld_
 
gui::Canvascanvas_
 
std::vector< gfx::Bitmap > * sprite_previews_
 
bool show_diggable_tiles_ = false
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ OverworldEntityRenderer()

yaze::editor::OverworldEntityRenderer::OverworldEntityRenderer ( zelda3::Overworld * overworld,
gui::Canvas * canvas,
std::vector< gfx::Bitmap > * sprite_previews )
inline

Definition at line 27 of file overworld_entity_renderer.h.

Member Function Documentation

◆ DrawEntrances() [1/2]

◆ DrawExits() [1/2]

◆ DrawItems() [1/2]

◆ DrawSprites() [1/2]

◆ DrawEntrances() [2/2]

void yaze::editor::OverworldEntityRenderer::DrawEntrances ( ImVec2 canvas_p0,
ImVec2 scrolling,
int current_world,
int current_mode )

◆ DrawExits() [2/2]

◆ DrawItems() [2/2]

◆ DrawSprites() [2/2]

◆ DrawDiggableTileHighlights()

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.

Parameters
current_worldCurrent world (0=Light, 1=Dark, 2=Special)
current_mapCurrent 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_.

Here is the call graph for this function:

◆ hovered_entity()

auto yaze::editor::OverworldEntityRenderer::hovered_entity ( ) const
inline

Definition at line 65 of file overworld_entity_renderer.h.

References hovered_entity_.

◆ ResetHoveredEntity()

void yaze::editor::OverworldEntityRenderer::ResetHoveredEntity ( )
inline

Definition at line 66 of file overworld_entity_renderer.h.

References hovered_entity_.

◆ show_diggable_tiles()

bool yaze::editor::OverworldEntityRenderer::show_diggable_tiles ( ) const
inline

Definition at line 67 of file overworld_entity_renderer.h.

References show_diggable_tiles_.

◆ set_show_diggable_tiles()

void yaze::editor::OverworldEntityRenderer::set_show_diggable_tiles ( bool show)
inline

Definition at line 68 of file overworld_entity_renderer.h.

References show_diggable_tiles_.

Member Data Documentation

◆ hovered_entity_

zelda3::GameEntity* yaze::editor::OverworldEntityRenderer::hovered_entity_ = nullptr
private

◆ overworld_

zelda3::Overworld* yaze::editor::OverworldEntityRenderer::overworld_
private

◆ canvas_

gui::Canvas* yaze::editor::OverworldEntityRenderer::canvas_
private

◆ sprite_previews_

std::vector<gfx::Bitmap>* yaze::editor::OverworldEntityRenderer::sprite_previews_
private

Definition at line 74 of file overworld_entity_renderer.h.

Referenced by DrawSprites(), and DrawSprites().

◆ show_diggable_tiles_

bool yaze::editor::OverworldEntityRenderer::show_diggable_tiles_ = false
private

The documentation for this class was generated from the following files: