Commit Graph

201 Commits

Author SHA1 Message Date
scawful
ba50d89e7d Update z3ed CLI tool and project build configuration
- Updated `.clang-tidy` and `.clangd` configurations for improved code quality checks and diagnostics.
- Added new submodules for JSON and HTTP libraries to support future features.
- Refined README and documentation files to standardize naming conventions and improve clarity.
- Introduced a new command palette in the CLI for easier command access and execution.
- Implemented various CLI handlers for managing ROM, sprites, palettes, and dungeon functionalities.
- Enhanced the TUI components for better user interaction and command execution.
- Added AI service integration for generating commands based on user prompts, expanding the CLI's capabilities.
2025-10-01 08:57:10 -04:00
scawful
e7d4f5ea02 Enhance CLI command structure and add new functionalities
- Refactored existing CLI commands to follow a more structured naming convention, improving clarity and usability.
- Introduced new commands for dungeon and graphics handling, including `dungeon export`, `gfx export-sheet`, and `gfx import-sheet`, with placeholder implementations.
- Added palette export and import commands, enhancing the CLI's capabilities for managing graphical assets.
- Updated usage examples and help text to reflect the new command structure and improve user guidance.
- Incremented version number in TUI components to reflect the latest changes.
2025-09-30 21:21:19 -04:00
scawful
a346865701 Add Windows compatibility for GUI test command in CLI
- Updated `HandleTestGuiCommand` in `ModernCLI` to return an error message on Windows, indicating that the GUI test command is unsupported.
- Wrapped platform-specific includes and logic with preprocessor directives to ensure compatibility across different operating systems.
- Enhanced code maintainability by clearly separating Windows-specific functionality from other platforms.
2025-09-30 20:18:41 -04:00
scawful
5cc5c08122 Add Overworld accessors and enhance testing framework
- Introduced new methods in `Controller`, `EditorManager`, and `OverworldEditor` to access the `Overworld` instance, improving modularity and interaction with the overworld data.
- Added `GetTile` method in `Overworld` to retrieve tile data based on coordinates, enhancing functionality for tile manipulation.
- Implemented a new testing framework with automated GUI tests, including `CanvasSelectionTest` and `FrameworkSmokeTest`, to validate user interactions and ensure robustness.
- Updated `CMakeLists.txt` to include new test files and dependencies, streamlining the build process for testing.
- Refactored logging behavior to ensure proper file handling during logging operations, improving reliability in logging outputs.
2025-09-30 19:32:34 -04:00
scawful
100fc23a2e Remove PerformanceMonitor and update references to PerformanceProfiler
- Deleted the PerformanceMonitor implementation and header files as functionality has been fully integrated into gfx::PerformanceProfiler.
- Updated all relevant source files to replace PerformanceMonitor and ScopedTimer with their gfx counterparts, ensuring consistent performance monitoring across the application.
2025-09-29 20:30:31 -04:00
scawful
ce31906c93 Enhance performance profiling and tile caching mechanisms
- Introduced a new PerformanceProfiler class for detailed timing and performance measurement across graphics operations.
- Implemented a smart tile cache with LRU eviction in the TileCache structure to optimize memory usage and improve tile rendering efficiency.
- Updated various graphics components to utilize the new caching system, reducing redundant texture updates and enhancing overall performance.
- Added dirty region tracking in Bitmap for efficient texture updates, minimizing the area that needs to be refreshed during rendering.
- Enhanced existing methods to leverage performance monitoring, providing insights into operation durations and potential bottlenecks.
2025-09-28 23:13:12 -04:00
scawful
50c7461e5f Enhance OverworldEditor with on-demand map refresh and texture loading improvements
- Implemented on-demand refresh for overworld maps, optimizing updates based on visibility and modifications.
- Introduced a new method to ensure textures are loaded before drawing, improving user experience with loading indicators.
- Increased the number of textures processed per frame for faster loading times, enhancing performance during map transitions.
- Updated the release workflow to enable additional testing configurations for YAZE builds.
2025-09-28 22:48:56 -04:00
scawful
cbe6c92da7 Enhance CMake configuration for yaze_config.h integration
- Updated `CMakeLists.txt` to improve the generation and inclusion of `yaze_config.h` by specifying source and binary directories.
- Added include directories in various CMake files to ensure proper access to generated headers, enhancing build reliability and maintainability.
- Set properties for the generated header to improve IDE integration and organization within the project structure.
2025-09-28 19:18:36 -04:00
scawful
abdf7434d6 Update vcpkg configuration and remove GLEW dependencies for improved compatibility
- Updated the builtin-baseline in vcpkg.json to the latest version.
- Removed GLEW references from CMake files to avoid MSYS2 issues and streamline the build process.
- Adjusted include and link directories in z3ed.cmake to reflect the removal of GLEW.
2025-09-28 01:47:21 -04:00
scawful
2a39cc644e Enhance Abseil integration and improve Windows font loading functionality
- Added additional Abseil flags modules to the CMake configuration for better support.
- Refactored Windows-specific font loading code to avoid namespace conflicts by using the `::` prefix for Windows API calls.
- Improved error handling and ensured proper memory management when retrieving font paths from the Windows registry.
2025-09-28 01:42:46 -04:00
scawful
920e5002ee Update changelog for version 0.3.1 with minor bug fixes related to color themes, ZSCustomOverworld v3 item loading, and Tile16 selection. 2025-09-27 11:40:12 -04:00
scawful
042f19464b Update file dialog source selection in z3ed CMake configuration
- Modified the FILE_DIALOG_SRC variable to include both platform-independent and macOS-specific source files.
- This change enhances clarity by explicitly indicating the purpose of each source file in the CMake configuration.
2025-09-27 00:14:23 -04:00
scawful
495886e93d Implement platform-specific file dialog source selection in CMake
- Updated z3ed CMake configuration to conditionally set the file dialog source based on the platform (macOS or other).
- This change simplifies the build process by using a single variable for the file dialog source, enhancing maintainability and clarity.
2025-09-27 00:01:33 -04:00
scawful
128c9f5bb8 Fix error message handling in LoadRomComponent for better string management
- Updated the error message assignment in LoadRomComponent to ensure proper string handling by explicitly constructing a std::string from the message data.
- This change improves the robustness of error reporting when loading ROM files.
2025-09-26 23:51:37 -04:00
scawful
01ab9951e9 Add imgui_test_engine include path to CMake configuration
- Updated CMake files for both emu and z3ed to include the imgui_test_engine directory in the target include directories.
- This change ensures that the necessary headers for the imgui_test_engine are accessible during the build process, facilitating UI testing capabilities.
2025-09-26 23:41:46 -04:00
scawful
78579d2934 Update CMake include directories for improved modularity and organization
- Refactored target_include_directories in app.cmake, emu.cmake, and z3ed.cmake to use absolute paths for better clarity and maintainability.
- Updated test_manager.cc and test_manager.h to simplify ImGui header inclusion.
- Enhanced test CMakeLists.txt to conditionally include directories for the extract_vanilla_values utility, ensuring proper integration with the new structure.
2025-09-26 14:46:41 -04:00
scawful
41adb1b70e Enhance testing framework and UI integration for YAZE
- Added a comprehensive testing framework with support for unit, integration, and UI tests, improving overall test coverage and reliability.
- Integrated ImGui Test Engine for UI testing, allowing for real-time feedback and visualization of test results.
- Updated CMake configuration to conditionally include testing components based on build options, enhancing flexibility for developers.
- Introduced a new command in the CLI for running asset loading tests on ROMs, providing a straightforward way to validate functionality.
- Enhanced error handling and resource management during testing, ensuring stability and clarity in test execution.
- Improved user interface with a dedicated test dashboard for monitoring test progress and results, enhancing developer experience.
2025-09-25 13:26:56 -04:00
scawful
6bdcfe95ec Update CMake configuration and CI/CD workflows
- Upgraded CMake minimum version requirement to 3.16 and updated project version to 0.3.0.
- Introduced new CMake presets for build configurations, including default, debug, and release options.
- Added CI/CD workflows for continuous integration and release management, enhancing automated testing and deployment processes.
- Integrated Asar assembler support with new wrapper classes and CLI commands for patching ROMs.
- Implemented comprehensive tests for Asar integration, ensuring robust functionality and error handling.
- Enhanced packaging configuration for cross-platform support, including Windows, macOS, and Linux.
- Updated documentation and added test assets for improved clarity and usability.
2025-09-25 08:59:59 -04:00
scawful
f00cf768d1 Update TUI and Tile16Transfer for improved functionality
- Added inclusion of file_dialog.h in TUI for enhanced file handling capabilities.
- Fixed syntax errors in Tile16Transfer by replacing commas with semicolons in assignment statements, ensuring proper execution of tile16 data comparisons.
2025-09-24 12:45:39 -04:00
scawful
206a1a6935 Refactor ROM saving process to utilize SaveSettings struct
- Updated yaze_save_rom and Backup command to use the new SaveSettings struct for improved clarity and maintainability.
- Adjusted SaveToFile calls in Tile16Transfer to align with the new structured settings approach.
- Enhanced parameter management for ROM saving operations across multiple components.
2025-05-15 22:47:34 -04:00
scawful
ad490cad71 Add YAZE_UTIL_SRC to CMakeLists and update flag definitions in z3ed and yaze 2025-04-05 13:46:56 -04:00
scawful
26fc39dad0 rename handle to Run for cli commands 2025-03-31 17:18:49 -04:00
scawful
999c142a31 remove DECLARE_FLAG macro and add mode parsing 2025-03-31 09:42:10 -04:00
scawful
3cf8edb467 remove yaze_py 2025-03-30 15:12:40 -04:00
scawful
26cda69d44 Refactor common functionality into zelda3 namespace; remove references to core::common 2025-01-22 13:53:01 -05:00
scawful
43fc52dec7 Refactor SnesToPc and PcToSnes functions for improved readability and consistency; remove redundant core:: namespace usage 2025-01-22 13:45:58 -05:00
scawful
0c170b3fbb Refactor flag parsing to use argc and argv directly in z3ed 2025-01-21 22:13:07 -05:00
scawful
04c083bdfe Add additional flag declarations for BPS and file handling in z3ed 2025-01-21 21:52:13 -05:00
scawful
d20bbd174a Add Help component and update main menu to include Help option 2025-01-21 21:52:02 -05:00
scawful
31fc641dc4 Add flag parsing functionality and implement global flag registry 2025-01-19 22:53:35 -05:00
scawful
e0797fee24 Rename snes_color.h to snes.h and consolidate tile structures 2025-01-19 21:00:51 -05:00
scawful
c38108b551 Update Doxyfile and refactor includes in tile16_transfer and main.mm 2025-01-19 20:23:02 -05:00
scawful
809282edad remove nonstandard type aliases 2025-01-19 20:16:40 -05:00
scawful
0843d25e57 Remove absl flags from z3ed 2025-01-19 19:10:09 -05:00
scawful
38d34fd40c Add BPS patch utility functions and integrate into CLI handlers 2025-01-19 18:46:56 -05:00
scawful
e6a37970a0 Add equipment selection for sword, shield, and armor in save file generation 2025-01-19 02:24:36 -05:00
scawful
5523ffb3c7 Implement palette editor functionality with dynamic color loading and save option 2025-01-19 01:59:35 -05:00
scawful
4cd13b9215 Enhance BPS patch application with error handling and file output; improve main menu display 2025-01-19 01:36:17 -05:00
scawful
bc52fc5116 Refactor TUI components for improved layout handling and add palette editor functionality 2025-01-18 22:01:37 -05:00
scawful
a28da3b2ca Add Generate Save File component and improve main menu layout handling 2025-01-18 19:35:54 -05:00
scawful
444907ee4e Implement main menu and layout switching in TUI; add components for applying BPS patches, loading ROMs, and palette editing 2025-01-18 16:13:02 -05:00
scawful
c1a9b49f69 Add file_dialog.cc to z3ed CMake configuration 2025-01-18 15:11:47 -05:00
scawful
339df53674 Refactor ROM loading methods 2025-01-18 12:33:33 -05:00
scawful
013edb3fae update yaze public header, remove sprite.h, add z3_dungeon_sprite 2025-01-06 16:21:37 -05:00
scawful
b3bc05e620 consolidate file related functions, add nativefiledialog-extended to build 2025-01-06 13:21:28 -05:00
scawful
cbec34dacf Add PROJECT_BINARY_DIR to include directories in CMake configuration 2024-12-31 15:59:03 -05:00
scawful
8becdbcbb0 Add asar.h include to patch.cc for ASAR DLL bindings 2024-12-30 19:05:51 -05:00
scawful
80d3bf4273 Update include directives to use z3ed.h instead of command.h in CLI handlers 2024-12-29 23:12:55 -05:00
scawful
e92f486efa Refactor TUI input handling and layout management 2024-12-29 22:01:49 -05:00
scawful
a9cb2700ef rename command.h to z3ed.h, update structure 2024-12-29 22:01:43 -05:00