refactor: Remove manual object renderer and dungeon renderer from the editor
- Deleted the ManualObjectRenderer and DungeonRenderer classes to streamline the codebase and reduce redundancy. - Updated DungeonCanvasViewer and DungeonEditorV2 to remove references to the deleted renderers, ensuring proper functionality without them. - Enhanced the rendering logic in DungeonCanvasViewer to directly handle object rendering and background layers, improving performance and maintainability. - Added debug logging to track rendering processes and ensure proper graphics loading.
This commit is contained in:
@@ -61,6 +61,26 @@ struct ObjectSizeInfo {
|
||||
repeat_count(1) {}
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Draw routine information for object rendering
|
||||
*/
|
||||
struct ObjectDrawInfo {
|
||||
int draw_routine_id; // Which drawing pattern to use (0-24)
|
||||
int tile_count; // How many tiles this object has
|
||||
bool is_horizontal; // Orientation
|
||||
bool is_vertical;
|
||||
bool both_layers; // Draw to both BG1 and BG2
|
||||
std::string routine_name; // Human-readable routine name
|
||||
|
||||
ObjectDrawInfo()
|
||||
: draw_routine_id(0),
|
||||
tile_count(1),
|
||||
is_horizontal(true),
|
||||
is_vertical(false),
|
||||
both_layers(false),
|
||||
routine_name("Unknown") {}
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Direct ROM parser for dungeon objects
|
||||
*
|
||||
@@ -109,6 +129,13 @@ class ObjectParser {
|
||||
* @brief Determine object subtype from ID
|
||||
*/
|
||||
int DetermineSubtype(int16_t object_id) const;
|
||||
|
||||
/**
|
||||
* @brief Get draw routine information for an object
|
||||
* @param object_id The object ID to look up
|
||||
* @return ObjectDrawInfo containing draw routine details
|
||||
*/
|
||||
ObjectDrawInfo GetObjectDrawInfo(int16_t object_id) const;
|
||||
|
||||
private:
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user