Commit Graph

51 Commits

Author SHA1 Message Date
scawful
28dc394a7c feat: Implement lazy loading for dungeon rooms and refactor room graphics handling
- Introduced lazy loading for room data to optimize performance and reduce initial load times.
- Updated DungeonEditor and DungeonRoomLoader to handle room graphics rendering directly from room objects.
- Refactored methods to accept room references instead of IDs for better clarity and type safety.
- Enhanced tab management in the DungeonEditor UI for improved user experience.
2025-10-04 15:14:17 -04:00
scawful
4b61b213c0 feat: Add resource search and dungeon room description commands
- Implemented `resource-search` command to allow fuzzy searching of resource labels.
- Added `dungeon-describe-room` command to summarize metadata for a specified dungeon room.
- Enhanced `agent` command handler to support new commands and updated usage documentation.
- Introduced read-only accessors for room metadata in the Room class.
- Updated AI service to recognize and handle new commands for resource searching and room description.
- Improved metrics tracking for user interactions, including command execution and response times.
- Enhanced TUI to display command metrics and session summaries.
2025-10-04 12:00:51 -04:00
scawful
2ea811eeb2 feat: Enhance DungeonObjectEditor with visual feedback and object manipulation features, including drag-and-drop support and property panel integration 2025-10-04 00:42:48 -04:00
scawful
ccd4e8cf4b Integrate Dungeon Editor System and Object Editor for Enhanced Dungeon Management
- Introduced a new DungeonEditorSystem to streamline dungeon editing functionalities, including room properties management and object editing.
- Enhanced the DungeonEditor class to initialize the new editor system and manage room properties effectively.
- Added comprehensive object editing capabilities with a dedicated DungeonObjectEditor, supporting object insertion, deletion, and real-time preview.
- Implemented improved UI components for editing dungeon settings, including integrated editing panels for various object types.
- Enhanced error handling and validation throughout the dungeon editing process to ensure robust functionality.
- Updated integration tests to cover new features and validate the overall performance of the dungeon editing system.
2025-09-24 22:48:47 -04:00
scawful
edaf6427c8 Enhance Dungeon Editor with Object Rendering and Layout Management
- Introduced new object rendering features in DungeonEditor, allowing for improved visualization of dungeon objects with options to show outlines, render objects, and display object information.
- Implemented a caching mechanism for rendered objects to optimize performance.
- Added functionality to load and manage room layouts, including walls, floors, and other structural elements, enhancing the overall editing experience.
- Refactored object handling in Room and RoomObject classes to support new rendering logic and ensure compatibility with the updated layout system.
- Introduced ObjectParser for efficient parsing of object data directly from ROM, improving reliability and performance in object rendering.
2025-09-23 22:00:54 -04:00
scawful
38b459777d Add RenderRoomGraphics method to Room class for improved graphics rendering
Implement RenderRoomGraphics in the Room class to handle the rendering of room graphics, including floor and background drawing. This addition enhances the graphics management by utilizing the gfx::Arena for rendering operations and updating bitmaps as needed. Update room.h to declare the new method.
2025-05-03 23:40:26 -04:00
scawful
6d23128060 Refactor Room and RoomObject classes to remove inheritance from SharedRom, enhancing code clarity and maintainability. Introduce ROM pointer management in both classes for improved functionality. Update LoadRoomFromRom to accommodate new constructor signature. 2025-04-30 17:51:42 -04:00
scawful
ff74c0c92a Enhance DungeonEditor functionality by adding room graphics loading and rendering capabilities; implement bitmap drawing for background layers and room objects in the canvas, improving visual representation of dungeon rooms. 2025-04-27 14:00:40 -04:00
scawful
903c1246c7 Refactor DungeonEditor to streamline room loading and size calculation; replace individual room loading methods with a unified LoadRoomFromRom function, and update room size management to utilize a dedicated RoomSize struct for improved clarity and efficiency. 2025-04-19 12:12:19 -04:00
scawful
97788fc033 Refactor canvas drawing methods to remove unnecessary bitmap parameters in context menu and bitmap drawing functions; update inventory and graphics editors to use new method signatures for improved consistency and clarity. 2025-04-16 21:44:07 -04:00
scawful
5e13b1b571 Remove dungeon.h and overworld.h headers; integrate their structures directly into zelda.h and update include paths in related source files. 2025-04-11 00:50:48 -04:00
scawful
087b194651 Remove unused room_tag.h header file and clean up includes in room.cc 2025-04-10 17:55:01 -04:00
scawful
809282edad remove nonstandard type aliases 2025-01-19 20:16:40 -05:00
scawful
4c39f02224 update dungeon header 2025-01-06 15:55:44 -05:00
scawful
9c7f78a228 update z3_dungeon_room public data type internals 2025-01-06 15:48:36 -05:00
scawful
3cbcb61222 Add CalculateRoomSize to Room 2025-01-02 08:37:48 -05:00
scawful
df67e6aaf7 Add LayerMergeType and list of constant types 2025-01-02 08:37:34 -05:00
scawful
50e4117230 Add entrance names to common header and update usage in OverworldEditor 2024-12-31 16:40:44 -05:00
scawful
7e470f2b33 remove dungeon namespace 2024-12-29 16:14:20 -05:00
scawful
e05e7c35db remove app namespace 2024-12-28 21:28:51 -05:00
scawful
b336d14233 Refactor include paths and remove redundant headers in core and editor modules 2024-11-15 23:38:44 -05:00
scawful
0f3fd1fb5d Rename staircase_rooms_vec_ to z3_staircases for clarity and update related usages 2024-11-10 22:14:15 -05:00
scawful
c640c0af66 Refactor dungeon background enum and update related usages for consistency 2024-11-10 22:05:19 -05:00
scawful
b40699e81d Refactor dungeon room structures and rename classes for consistency 2024-11-10 21:40:06 -05:00
scawful
1c8285a498 Refactor room handling for consistency and readability by standardizing variable naming and improving code structure 2024-11-08 00:12:45 -05:00
scawful
3be53b9e53 add dungeon.h to incl 2024-10-07 07:59:38 -04:00
scawful
3b5e4cd791 chore: Refactor room object loading and drawing methods 2024-08-21 00:09:57 -04:00
scawful
a9d365f3b4 cleanup constants 2024-08-20 23:09:10 -04:00
scawful
7b33313281 big cleanup 2024-08-20 22:10:35 -04:00
scawful
a8ed9b7f92 remove magic numbers, enforce const correctness 2024-08-20 21:31:59 -04:00
scawful
5953e58bd4 Rename SharedROM to SharedRom 2024-04-14 14:51:53 -05:00
scawful
2397ac6efd Add RoomEntrance class, move entrance constants 2024-02-08 09:18:59 -05:00
scawful
ee179a5598 housekeeping for GfxContext and Room logging 2024-01-28 12:05:50 -05:00
scawful
53f76460b4 Compute room size and room size pointers in Room class 2024-01-18 20:06:30 -05:00
scawful
08b95df7ad Dungeon Room Object refactor 2024-01-10 23:14:49 -05:00
scawful
10785357ef Move DungeonObjectRenderer to its own file 2023-12-17 20:59:42 -05:00
scawful
b4820d1d32 Housekeeping 2023-11-30 02:13:31 -05:00
scawful
e93ff212af Dungeon graphics loaded per room 2023-11-22 00:49:55 -05:00
Justin Scofield
7a842d4669 Dungeon Room load current graphics experiment 2023-11-21 23:44:05 -05:00
scawful
4ef2540d15 cleanup dungeon room constants 2023-11-20 06:18:28 -05:00
scawful
942d055c5e Update DungeonObjectRenderer experiment 2023-11-18 00:04:49 -05:00
scawful
299770922c Add Debugger interface, RoomObject class
- Log instructions to debugger using experiment flag
- Use BitmapManager for more functionality
- Draw framebuffer and integrated debugger
2023-11-13 14:51:01 -05:00
scawful
613e26d8ce Remove gfx groups fns from Room class 2023-11-12 10:17:35 -05:00
scawful
c25be2b76d Move object names, start RoomObject Subtypes 2023-08-19 02:09:37 -04:00
scawful
09df21a439 Update Room, Add RoomObject, RoomNames 2023-08-18 17:20:11 -04:00
scawful
2b0c550274 SharedROM, Editor parent, housekeeping 2023-07-17 08:25:22 -04:00
scawful
3ada9988aa Begin LoadSprites, LoadChests, housekeeping 2023-06-25 10:08:01 -04:00
scawful
5ac7002c88 Popout PaletteEditor, general housekeeping 2023-05-22 09:16:20 -05:00
scawful
94a61a13ac Add Object selector to DungeonEditor
Loads current room gfx from ROM gfx buffer
2023-03-29 00:10:46 -05:00
scawful
85c14438f3 housekeeping 2023-03-28 12:25:56 -05:00