Commit Graph

64 Commits

Author SHA1 Message Date
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
c5e8e04f65 Enhance theme management with dynamic discovery and macOS bundle support
- Updated CMake configuration to ensure theme files are included in macOS bundles and added explicit file handling for theme resources.
- Refactored ThemeManager to replace hardcoded theme lists with dynamic discovery of available themes, improving flexibility across development and deployment scenarios.
- Introduced methods for refreshing and loading themes at runtime, enhancing user experience and customization options.
- Improved logging for theme loading processes, providing better feedback on successes and failures.
2025-09-26 19:55:40 -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
857e75e7fe Refactor CMake configuration for core library and testing
- Updated CMakeLists.txt to create a separate core library (yaze_core) for testing, enhancing modularity.
- Adjusted source file organization for yaze_c and yaze_core, ensuring proper inclusion of essential components.
- Modified test CMakeLists.txt to link against yaze_core instead of yaze_c, streamlining dependencies for test targets.
- Disabled installation of the library in minimal builds while maintaining the ability to build for testing purposes.
2025-09-26 15:14:52 -04:00
scawful
cbce2730b6 Update CMake configuration and .clangd settings for improved build management
- Removed unnecessary compile flags from .clangd to streamline configuration.
- Added YAZE_BUILD_LIB option in CMakeLists.txt for conditional library building in minimal builds.
- Enhanced SDL2 CMake configuration to set include directories for bundled SDL, ensuring proper integration.
- Updated test CMakeLists.txt to conditionally link yaze_c and ImGuiTestEngine based on build options, improving modularity and flexibility.
- Refactored test_editor.cc and test_editor.h to conditionally include ImGuiTestEngine headers and manage engine initialization based on availability.
2025-09-26 13:51:02 -04:00
scawful
22c960eaf3 Add code quality checks and formatting configuration
- Introduced a .clang-format file to enforce Google C++ style guidelines across the codebase.
- Updated CMakeLists.txt to include custom targets for formatting and format-checking using clang-format.
- Added a quality_check.sh script to automate code quality checks, including formatting and static analysis with cppcheck.
- Enhanced CMakePresets.json with new macOS-specific configurations for ARM64 and universal binaries, improving build flexibility and support.
2025-09-26 12:57:20 -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
f0fa93fa2b Refactor CMake configuration and improve emulation timing calculations
- Updated CMakeLists.txt to disable additional optional components (EMU and Z3ED) in minimal builds for better build management.
- Refactored emulation timing calculations in emu.cc to use consistent method naming conventions, enhancing code readability and maintainability.
2025-09-26 11:33:15 -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
8ab30dd5ad Enhance testing framework and CMake integration for YAZE
- Conditionally include Google Test support in the build configuration, allowing for integrated testing when enabled.
- Refactor ImGui Test Engine setup to be conditional based on the YAZE_ENABLE_UI_TESTS flag, improving modularity.
- Update EditorManager to register new test suites, including integrated and performance tests, enhancing test coverage.
- Improve the test dashboard UI with additional options for filtering and viewing test results, providing a better user experience.
- Introduce a new integrated test suite for comprehensive testing of core functionalities, ensuring robustness and reliability.
2025-09-25 13:29:39 -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
77ceb0256b Refactor CMake and enhance API documentation for YAZE
- Updated CMakeLists.txt to set a minimum required version of 3.5 and removed older policy settings for improved compatibility.
- Enhanced yaze.h and zelda.h with detailed documentation, including versioning information and API descriptions, to improve clarity for developers.
- Added new functions for version compatibility checks and improved error handling in the YAZE API.
- Refactored existing structures and enums for better readability and maintainability, ensuring a more consistent coding style.
2025-09-25 12:00:03 -04:00
scawful
189587d51e Enhance CMake configuration and update dependencies
- Updated CMakeLists.txt to set policies for older submodules, improving compatibility with various CMake versions.
- Modified vcpkg.json to change the SDL2 dependency to a core variant and updated the builtin baseline to the latest version, ensuring better package management.
- Improved file dialog functionality in file_dialog.cc by adding conditional compilation for NFD support, providing fallback behavior when NFD is unavailable.
2025-09-25 10:21:57 -04:00
scawful
d26f58be2f Enhance CMake configuration for PNG support and introduce vcpkg.json
- Updated CMakeLists.txt to conditionally enable PNG support based on the presence of the PNG library, improving compatibility for minimal builds.
- Added vcpkg.json to manage project dependencies, including zlib, libpng, sdl2, and abseil, streamlining package management.
- Modified CI workflow in ci.yml to simplify CMake configuration commands for better readability.
- Enhanced CMake scripts to ensure proper handling of dependencies in both minimal and regular builds, improving build reliability.
2025-09-25 09:56:32 -04:00
scawful
e930789f4b Enhance CMake configuration and CI/CD workflows for improved testing
- Updated CMakeLists.txt to introduce options for enabling experimental tests and minimal CI builds.
- Modified CMakePresets.json to refine test presets, including stable and experimental test configurations.
- Enhanced CI workflows in ci.yml to streamline testing processes, ensuring stable tests are prioritized and experimental tests are run separately.
- Added new documentation files outlining the CI/CD testing strategy and testing categories for better clarity on testing practices.
- Improved test discovery in CMakeLists.txt to simplify labeling and enhance CI efficiency.
2025-09-25 09:39:33 -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
8b168864f3 Remove Python build option and update contributing documentation for clarity and structure 2025-08-21 18:58:56 -04:00
scawful
e4cc3b977a Move test dir to root 2025-01-19 19:09:39 -05:00
Justin Scofield
5e0f1a072f Set standard to C++23 2024-12-31 20:25:05 -05:00
scawful
91d4a740d0 Bump project version to 0.2.2 in CMakeLists.txt 2024-12-31 15:03:21 -05:00
scawful
5ff7eaa526 Add yaze_config.h for version management and update version check logic 2024-12-31 12:50:14 -05:00
Justin Scofield
bad10fff2b Add vcpkg.cmake for Windows
- Add definition `-DMICROSOFT_WINDOWS_WINBASE_H_DEFINE_INTERLOCKED_CPLUSPLUS_OVERLOADS=0`.
- Set target architecture to `x64`.
- Configure CRT and library linkage to `dynamic`.
2024-12-30 09:52:46 -05:00
scawful
0337483f85 Refactor CMakeLists.txt for improved code organization and readability 2024-08-31 21:55:56 -04:00
scawful
d7849c2098 chore: Enable building tests in CMakeLists.txt 2024-08-30 20:17:41 -04:00
scawful
12ce96e533 chore: Refactor CMakeLists.txt and app.cmake files for better organization 2024-08-30 02:57:14 -04:00
scawful
d85530b14b extensions cleanup 2024-08-20 22:40:14 -04:00
scawful
e2168cc939 add yaze_emu target and YAZE_BUILD_EMU flag 2024-08-13 20:07:16 -04:00
scawful
feaee62462 add png_internal, YAZE_LIB_PNG definition 2024-08-13 00:30:14 -04:00
scawful
36c1d55cda update asar build 2024-08-12 12:00:56 -04:00
scawful
2140d8ee3f housekeeping 2024-08-09 17:28:25 -04:00
scawful
7379a8535c cmakelists build cleanup 2024-08-08 13:42:32 -04:00
scawful
5b8541d28d add yaze cmake build flags 2024-08-08 12:31:44 -04:00
scawful
60569572ca set project version 0.2.0 2024-08-08 12:20:32 -04:00
scawful
fdd83bd0f8 update asar.cmake, add CXX flags for compilation 2024-08-07 13:55:57 -04:00
scawful
096b10ff77 move test directory into src 2024-07-24 01:55:13 -04:00
scawful
800d01c175 remove opengl from cmakelists 2024-05-28 19:29:31 -04:00
scawful
9755358a1b cleanup CMakeLists, upgrade version and C++ std 2024-05-11 13:53:03 -04:00
scawful
983e5959a5 restore asar library include 2024-04-29 09:16:44 -04:00
scawful
25872db593 remove opensll (why was this even here lol) 2024-04-29 09:15:00 -04:00
scawful
7e59354d02 Remove snes_spc gitsubmodule 2024-04-29 08:53:43 -04:00
scawful
1305e9de19 Update CMakeLists, add sdl2.cmake 2023-08-25 19:03:13 -04:00
scawful
3af0aee750 Remove GLEW, not needed 2023-08-24 22:06:17 -04:00
scawful
09df21a439 Update Room, Add RoomObject, RoomNames 2023-08-18 17:20:11 -04:00
scawful
7d1dad3975 Import SDL2 for Unix 2023-05-22 09:21:06 -05:00
scawful
5ac7002c88 Popout PaletteEditor, general housekeeping 2023-05-22 09:16:20 -05:00
scawful
b0338f588a add SDL_mixer 2023-01-01 17:48:51 -06:00
scawful
2d3937e791 added snes_spc library 2023-01-01 16:11:44 -06:00
scawful
c1526cacdf include asar, move patching to ROM class 2023-01-01 15:06:38 -06:00
scawful
a1c72b3d54 attempt SDL unix fix 2023-01-01 13:48:49 -06:00
Justin Scofield
6c7d372acf update cmakelists.txt. sdl 2022-12-30 20:30:14 -06:00