Commit Graph

43 Commits

Author SHA1 Message Date
scawful
6c331f1fd0 epic: refactor SDL2_Renderer usage to IRenderer and queued texture rendering
- Updated the testing guide to clarify the testing framework's organization and execution methods, improving user understanding.
- Refactored CMakeLists to include new platform-specific files, ensuring proper integration of the rendering backend.
- Modified main application files to utilize the new IRenderer interface, enhancing flexibility in rendering operations.
- Implemented deferred texture management in various components, allowing for more efficient graphics handling and improved performance.
- Introduced new methods for texture creation and updates, streamlining the rendering process across the application.
- Enhanced logging and error handling in the rendering pipeline to facilitate better debugging and diagnostics.
2025-10-07 17:15:11 -04:00
scawful
af2b698dbd refactor: Enhance OverworldEditor with Dynamic Context Menu and Tile Selector Widget
- Replaced static context menu setup in OverworldEditor with dynamic configuration based on the current map state, improving usability and responsiveness.
- Introduced TileSelectorWidget for better tile selection management, allowing for a more intuitive user experience when selecting tiles.
- Updated canvas controls to include zoom in and zoom out functionalities, enhancing the editor's navigation capabilities.
- Cleaned up legacy context menu code and improved overall organization for better maintainability and clarity.
2025-10-05 22:53:33 -04:00
scawful
5419633c52 refactor: Improve code readability by applying consistent formatting and using absl::StrContains for string checks 2025-10-03 21:11:51 -04:00
scawful
1057a3f037 Implement welcome screen and enhance session management in EditorManager
- Added a welcome screen that can be accessed from the View menu, improving user experience for new users.
- Enhanced session management by allowing the reuse of empty sessions when loading ROMs, reducing unnecessary session creation.
- Improved the session table layout for better readability and added a custom overworld feature flag for each session.
- Updated the DrawWelcomeScreen method for better visual integration and added a glow effect to the decorative line.
2025-09-26 20:42:48 -04:00
scawful
41a5b952e4 Refactor CMake configuration for ImGuiTestEngine and feature flags
- Updated the CMake configuration to use target_compile_definitions for ImGuiTestEngine, improving clarity and maintainability.
- Introduced IMGUI_TEST_ENGINE_DEFINITIONS to streamline the definition process for targets linking to ImGuiTestEngine.
- Modified feature flags in features.h to conditionally enable the native file dialog based on the YAZE_ENABLE_NFD flag, enhancing flexibility in feature management.
2025-09-26 12:26:01 -04:00
scawful
e924529944 Enhance EditorManager and input handling with performance logging and UI improvements
- Added performance logging to the LoadAssets method in EditorManager, tracking the time taken to load ROM assets.
- Implemented lazy loading of workspace presets in the DrawLayoutPresets method to improve UI responsiveness.
- Refactored menu item handling in the DrawMenu function to streamline the display of subitems and separators, enhancing user interaction.
2025-09-25 17:36:04 -04:00
scawful
a5ed2f4d27 Enhance EditorManager and TestManager with improved ROM handling and testing features
- Added logging to track ROM changes in EditorManager, ensuring TestManager is updated with the current ROM.
- Implemented real-time ROM status checks in TestManager for better debugging and user feedback.
- Introduced a dialog for creating and managing test ROM sessions, allowing users to open modified ROMs easily.
- Enhanced the testing framework with methods for creating test ROM copies and generating filenames with timestamps.
- Improved the overall user interface of the TestManager, including a more informative dashboard and session management options.
2025-09-25 16:41:15 -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
4b7bbfaf1c Add MemoryEditorPopup function 2025-05-10 09:43:45 -04:00
scawful
eeab477e72 Add RenderLayout function to handle dynamic rendering of Text and Button elements; introduce Layout struct for managing UI components in input module. 2025-04-17 21:33:35 -04:00
scawful
e7f976fcf0 add hyperlink to GitHub in the homepage for easier access to the project 2025-04-16 19:06:01 -04:00
scawful
75d7ba9382 Enhance ClickableText function to improve hover and click detection; refactor text rendering with dynamic color based on hover state and streamline cursor positioning for better UI interaction. 2025-04-16 17:20:05 -04:00
scawful
57dd640c3a Refactor ClickableText function to use tab colors for improved visual consistency; add TODO for theme setup 2025-03-11 21:05:32 -04:00
scawful
986084f3cd Replace hardcoded separator with constexpr variable in menu drawing logic 2025-03-11 15:45:09 -04:00
scawful
c8ce2843b1 Enhance ClickableText function to improve hover effects and add color management; update Theme struct to include clickable text colors 2025-03-10 11:42:33 -04:00
scawful
c38932fd9c Add Paragraph and ClickableText functions; implement MapKeyToImGuiKey for key mapping 2025-03-09 18:14:48 -04:00
scawful
4c3e9e4286 Implement menu system: add DrawMenu function and MenuItem structure for enhanced menu handling 2025-02-10 11:50:37 -05:00
scawful
c8883a1e54 Remove unused includes and clean up header files 2025-01-16 03:44:37 -05:00
scawful
398ba36811 Remove ImGuiFileDialog integration and replace with FileDialogWrapper in assembly and tile editors 2024-12-31 15:47:51 -05:00
scawful
9a680310bd Add table handling functions: implement AddTableColumn and DrawTable for improved GUI layout 2024-12-29 16:03:11 -05:00
scawful
e05e7c35db remove app namespace 2024-12-28 21:28:51 -05:00
scawful
7bcab06f0b Add InputTileInfo function for tile information input handling in GUI 2024-11-10 15:07:33 -05:00
scawful
1d650c0450 Refactor InputScalarLeft: remove NoMarkEdited flag and update button flags for improved interaction 2024-11-08 21:03:17 -05:00
scawful
a97487fd2c Refactor EditorManager 2024-08-24 08:38:47 -04:00
scawful
7b33313281 big cleanup 2024-08-20 22:10:35 -04:00
scawful
c9300f576d fix deprecated enum piping 2024-08-07 16:41:57 -04:00
scawful
7c708519ac standardize imgui headers as user instead of system 2024-07-30 23:33:12 -04:00
scawful
8e9f5d345b move pipeline functions into respective gui files 2024-07-24 09:31:42 -04:00
scawful
5fcd2a8f7e housekeeping 2024-07-20 09:02:04 -04:00
scawful
da7f3a44eb housekeeping 2024-07-14 14:31:30 -04:00
scawful
8fa989a82d add GetID override using std::string 2024-07-13 10:22:25 -04:00
scawful
f11ec52466 Add a parameter to disable +/- buttons for gui input hex 2024-02-08 09:19:45 -05:00
scawful
e086f12ade OverworldEntity update: Entrances, Exits, Items 2024-01-27 15:55:47 -05:00
scawful
df1cdb22f5 housekeeping and todos 2024-01-26 23:18:26 -05:00
scawful
7231999cf3 Add scroll wheel support to input hex fields 2024-01-25 20:59:39 -05:00
scawful
6f80f328a8 Add Tilesheet class, update ScreenEditor for DungeonMaps 2024-01-22 03:30:55 -05:00
scawful
0bf45c86a9 Update GraphicsEditor, fix CommandHandler 2023-11-26 23:12:04 -05:00
scawful
47d0023044 InputScalar custom hex sizing adjustment 2023-11-26 20:11:55 -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
a9c9a0fad0 Update InputHex variants, gui::Canvas 2023-11-11 19:03:43 -05:00
scawful
c4ef29f329 Add OverworldMap tile editing 2023-08-26 15:03:18 -04:00
Justin Scofield
b3458b56db Update params for InputHex and InputHexShort
From int to uint64_t and uint32_t respectively
2023-08-02 19:04:02 -04:00
scawful
5ac7002c88 Popout PaletteEditor, general housekeeping 2023-05-22 09:16:20 -05:00