Commit Graph

58 Commits

Author SHA1 Message Date
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
Justin Scofield
2dae505587 remove asar while features experimental 2022-12-30 20:22:08 -06:00
scawful
7b349a077f comment out gRPC while delta is experimental 2022-12-30 18:32:12 -06:00
scawful
83e048ef5f delta push service 2022-09-17 16:35:58 -05:00
scawful
03e9ec90e7 update cmake 2022-09-17 11:03:47 -05:00
Justin Scofield
1acc027380 update CMakeLists.txt 2022-09-11 00:30:08 -05:00
Justin Scofield
0d72cfcadd chore: move absl_targets cmake def up a level 2022-08-07 13:21:52 -04:00