Commit Graph

28 Commits

Author SHA1 Message Date
scawful
c3eaace72c feat: Implement modular build system for Yaze
- Added option to enable modular build with `YAZE_USE_MODULAR_BUILD`.
- Updated CMake configuration to support modular libraries for core, editor, graphics, GUI, and emulator functionalities.
- Refactored existing libraries to separate concerns and improve build times.
- Introduced new utility library `yaze_util` for low-level utilities.
- Adjusted CI and release workflows to accommodate the new build system.
- Updated various source files to reflect new include paths and modular structure.
- Enhanced YAML configuration handling in the agent component.
2025-10-03 18:32:51 -04:00
scawful
ead85c87b5 feat: Enhance ImGuiTestHarnessServer with proper shutdown handling and update gRPC service initialization 2025-10-01 23:32: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
bd049a14fd Update release workflow to standardize naming and improve patch function signatures
- Changed the release notes header from "Yaze" to "yaze" for consistency in the release workflow.
- Updated the CreateBpsPatch and ApplyBpsPatch functions in bps.h to return absl::Status for better error handling and clarity.
2025-09-28 12:28:13 -04:00
scawful
cb107ae69c Remove PNG and ZLIB support from the project
- Eliminated all references to PNG and ZLIB dependencies in CMake configuration and project files.
- Updated documentation to reflect the removal of PNG support and related functionalities.
- Adjusted build scripts and source files to remove unused code related to PNG handling, ensuring a cleaner codebase.
2025-09-28 12:03:29 -04:00
scawful
997092390a Add theme management and background rendering features
- Introduced a comprehensive theme management system, allowing users to load, save, and switch between multiple themes.
- Added support for various built-in themes, enhancing the visual customization of the application.
- Implemented a background renderer for improved visual effects in docking windows, including grid backgrounds and subtle animations.
- Enhanced the EditorManager UI with themed elements, providing a more cohesive and engaging user experience.
- Updated CMake configuration to include new theme and background renderer source files, ensuring proper integration into the build system.
2025-09-26 19:32:19 -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
d728ed37aa Implement conditional CRC32 calculation based on zlib availability
- Added a fallback CRC32 implementation in bps.cc when zlib is not available, ensuring compatibility across different build environments.
- Wrapped zlib inclusion and CRC32 function definition with preprocessor directives to maintain functionality based on the YAZE_LIB_PNG flag.
2025-09-26 12:08:09 -04:00
scawful
832d0b0cb7 Refactor hex formatting in utility functions for consistency
- Removed static format strings in HexByte, HexWord, HexLong, and HexLongLong functions.
- Replaced them with direct format specifiers in absl::StrFormat calls to enhance code clarity and reduce redundancy.
2025-09-26 11:47:12 -04:00
scawful
8d66dbc0e4 Update CI workflow and add header inclusion in bps.cc
- Modified the CI workflow to enable vcpkg installation and specify the vcpkg directory and JSON glob for better dependency management.
- Added <cstring> header inclusion in bps.cc to support string manipulation functionalities.
2025-09-26 09:32:42 -04:00
scawful
907e29a495 Update CMake configuration and CI workflows for improved compatibility and testing
- Updated minimum CMake version requirement from 3.5 to 3.16 to leverage new features and policies.
- Enhanced CI workflows to include additional build configurations for Ubuntu and macOS, improving cross-platform support.
- Added conditional linking for ImGui Test Engine in the CMakeLists, allowing for UI testing when enabled.
- Refactored CMake commands in CI to ensure consistent policy version handling and streamlined build processes.
- Introduced new constructors for MenuItem in the GUI to enhance menu item management and flexibility.
2025-09-26 09:23:53 -04:00
scawful
a04f8ecdb4 windows housekeeping 2025-08-21 19:18:50 -04:00
scawful
9cbae49cb0 housekeeping 2025-08-21 19:00:12 -04:00
scawful
095b3df27e Refactor graphics loading and decompression for consistency
- Updated various graphics loading functions to ensure consistent use of semicolons in ASSIGN_OR_RETURN statements.
- Changed set_filename method in Rom class to accept std::string_view for improved efficiency.
- Enhanced code readability and maintainability across multiple files by standardizing syntax.
2025-05-19 17:15:15 -04:00
scawful
6e09630733 Refactor HandleHexStringParams to modify hex string directly and add hex_test for comprehensive testing of hex conversion functions with various prefixes. 2025-05-03 14:09:35 -04:00
scawful
999c142a31 remove DECLARE_FLAG macro and add mode parsing 2025-03-31 09:42:10 -04:00
scawful
9919677e43 Refactor editor UI components: streamline button handling in graphics and music editors, remove unused macros, and improve table setup in assembly editor. 2025-03-08 00:58:47 -05:00
scawful
7d77c51a27 Refactor NotifyValue: optimize value setting and modification tracking with move semantics and improved method names 2025-02-28 01:13:16 -05:00
scawful
c8d4efda2e Refactor flag handling: move FlagParser implementation to flag.cc, remove ResourceManager, and update includes 2025-01-26 13:36:27 -05:00
scawful
de53ccae21 Refactor ExperimentFlags to FeatureFlags for consistency across the codebase 2025-01-22 13:41:28 -05:00
scawful
b245b10963 Refactor logging to use util::logf and add log utility header 2025-01-22 13:36:37 -05:00
scawful
a5b94ab173 Refactor folder item management and move NotifyValue to a new utility header 2025-01-22 13:32:45 -05:00
scawful
50c9223a53 Add hex utility functions and refactor usage in editors 2025-01-22 13:28:21 -05:00
scawful
01db131adb Add flag handling for ROM file in main application 2025-01-21 22:13:00 -05:00
scawful
1764ca0dde Add RETURN_IF_EXCEPTION macro for improved error handling 2025-01-21 21:54:10 -05:00
scawful
31fc641dc4 Add flag parsing functionality and implement global flag registry 2025-01-19 22:53:35 -05:00
scawful
809282edad remove nonstandard type aliases 2025-01-19 20:16:40 -05:00
scawful
38d34fd40c Add BPS patch utility functions and integrate into CLI handlers 2025-01-19 18:46:56 -05:00