Commit Graph

2516 Commits

Author SHA1 Message Date
scawful
2b50678cc5 Refactor test environment setup to use SDL's cross-platform environment variable function
- Updated the `SetupTestEnvironment` function in `yaze_test.cc` to replace `setenv` with `SDL_setenv` for setting environment variables, enhancing cross-platform compatibility for test configurations.
2025-09-28 19:59:36 -04:00
scawful
2c1c7df987 Update GitHub Actions workflow for improved CMake configuration and packaging
- Changed the vcpkg Git commit ID to a specific version for consistency in builds.
- Refactored the CMake configuration steps to use PowerShell syntax, enhancing readability and maintainability.
- Improved the packaging process for Windows, macOS, and Linux by utilizing PowerShell commands and ensuring proper handling of binaries, assets, and documentation.
- Added checks for the existence of required files and directories, providing clearer error messages and improving the robustness of the workflow.
2025-09-28 19:44:02 -04:00
scawful
c8cafe30e1 Remove Visual Studio project files and filters for YAZE
- Deleted `YAZE.sln`, `YAZE.vcxproj`, and `YAZE.vcxproj.filters` to streamline the project structure and transition to a CMake-based build system.
- This change enhances maintainability and simplifies the build process by relying solely on CMake for project configuration and management.
2025-09-28 19:34:55 -04:00
scawful
a1baa747e1 Enhance CMake and vcpkg integration for Windows ARM64 builds
- Updated `CMakeLists.txt` to improve vcpkg integration by adding checks for the existence of the toolchain file and providing warnings if it is not found.
- Introduced new CMake presets for Windows ARM64 configurations (debug, release, and development) in `CMakePresets.json`, ensuring proper setup for ARM64 architecture.
- Modified `setup-vcpkg-windows.ps1` to auto-detect ARM64 architecture, enhancing the setup script's usability for different environments.
2025-09-28 19:32:37 -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
64f3589563 Add additional library dependencies and directories in YAZE project configuration
- Updated `YAZE.vcxproj` to include multiple additional library directories and dependencies for various build configurations (Debug and Release) across multiple platforms (Win32, x64, ARM64).
- This enhancement improves the project's build configuration by ensuring all necessary libraries are linked, facilitating better integration of external components and improving overall build reliability.
2025-09-28 18:50:34 -04:00
scawful
dc9cd97994 Add pre-build event for yaze_config.h generation in YAZE project
- Introduced a pre-build event in `YAZE.vcxproj` to automatically create the `yaze_config.h` file, defining versioning macros for the project.
- This change enhances the build process by ensuring the configuration header is generated in the appropriate build directory, improving maintainability and version tracking.
2025-09-28 18:40:15 -04:00
scawful
99eee4f6c8 Add custom build step for yaze_config.h generation in YAZE project
- Introduced a custom build step in `YAZE.vcxproj` to generate the `yaze_config.h` file, defining versioning macros for different build configurations (Debug and Release) across multiple platforms (Win32, x64, ARM64).
- This enhancement streamlines the build process by automating the creation of configuration headers, improving maintainability and version tracking.
2025-09-28 18:36:11 -04:00
scawful
7a887d96fd Add additional include directories in YAZE project configuration
- Updated `YAZE.vcxproj` to include multiple source and library directories in the `AdditionalIncludeDirectories` section, enhancing the project's build configuration and improving code accessibility for IntelliSense.
- This change supports better organization of project files and facilitates easier integration of external libraries and modules.
2025-09-28 18:34:45 -04:00
scawful
5a3f8057dd Update YAZE project configuration for improved CMake integration
- Modified build and configure targets in `YAZE.vcxproj` to use platform-specific build directories, enhancing compatibility with multiple architectures.
- Added comprehensive source and header file inclusions for Visual Studio IntelliSense, improving development experience and code navigation.
- Included resource, image, and content files in the project structure, ensuring all necessary assets are accounted for in the build process.
2025-09-28 18:32:16 -04:00
scawful
3fffdb81db omg 2025-09-28 18:26:46 -04:00
scawful
4d9f3091dc Refactor project structure and enhance CMake integration
- Renamed the main project from "YAZE" to "YAZE_CMake" in the solution file for clarity.
- Updated project configurations to ensure proper handling of Debug and Release builds for x86 and x64 platforms.
- Introduced a new CMake-based build target in `YAZE.vcxproj`, streamlining the build process and improving compatibility with CMake.
- Cleaned up unnecessary import groups and added comments for better maintainability.
2025-09-28 18:25:56 -04:00
scawful
a54fff4639 Update vcpkg configuration and GitHub Actions workflow with new commit ID
- Updated the `builtin-baseline` in `vcpkg.json` to `4bee3f5aae7aefbc129ca81c33d6a062b02fcf3b`, ensuring accurate dependency management.
- Modified the GitHub Actions workflow to reflect the new `vcpkgGitCommitId`, enhancing the reliability of the build process.
2025-09-28 18:25:14 -04:00
scawful
d50dc25677 Enhance CMake configuration for Windows x64 builds
- Added a custom command to generate the Windows resource file `yaze.res` from `yaze.rc` and `yaze.ico`, ensuring proper resource management for x64 builds.
- Introduced a custom target to ensure the resource file is built before linking, improving the build process for Windows targets.
2025-09-28 18:18:02 -04:00
scawful
8ea0daa9c8 Update vcpkg configuration and GitHub Actions workflow with new commit ID
- Changed the `builtin-baseline` in `vcpkg.json` to a specific commit ID `d18b2e4129c1ff667b1e660528d6d2678f38c6fc`, ensuring precise dependency management.
- Updated the GitHub Actions workflow to reflect the new `vcpkgGitCommitId`, enhancing the reliability of the build process.
2025-09-28 18:14:16 -04:00
scawful
baedab91c8 Add include for stdlib in YAZE test file
- Added `<cstdlib>` header to `yaze_test.cc`, enabling the use of standard library functions.
- This change enhances the functionality of the test suite by allowing for additional features from the C++ standard library.
2025-09-28 18:12:04 -04:00
scawful
831a8dcb82 Enhance CMake configuration for Windows builds
- Added conditional linking of the Windows resource file for x64 architecture in `CMakeLists.txt`, improving build specificity for Windows targets.
- This change ensures that the resource file is only linked when building for 64-bit Windows, enhancing the project's compatibility and build process.
2025-09-28 18:10:36 -04:00
scawful
72dbfc537f Update vcpkg configuration and GitHub Actions workflow with new baseline
- Set the `builtin-baseline` in `vcpkg.json` to `2024.12.18`, ensuring compatibility with the latest dependencies.
- Updated the GitHub Actions workflow to include the new `vcpkgGitCommitId`, improving the build process reliability.
2025-09-28 18:00:29 -04:00
scawful
fa6f2a231a Update vcpkg configuration and GitHub Actions workflow
- Removed the `builtin-baseline` entry from `vcpkg.json`, streamlining the configuration.
- Updated the GitHub Actions workflow to remove the hardcoded `vcpkgGitCommitId`, enhancing flexibility.
- Added `VCPKG_DEFAULT_HOST_TRIPLET` and `VCPKG_FEATURE_FLAGS` to improve build configuration options.
2025-09-28 17:55:12 -04:00
scawful
694a246103 Update vcpkg configuration to use new baseline and improve GitHub Actions workflow
- Changed the `builtin-baseline` in `vcpkg.json` to the latest version `2024.09.12`, ensuring compatibility with updated dependencies.
- Updated the GitHub Actions workflow to reflect the new baseline, enhancing the reliability of the build process.
- Added a timeout for the vcpkg job and enabled the use of system binaries, improving the efficiency of the workflow.
2025-09-28 17:49:07 -04:00
scawful
43f4e97c7d Update CMake configuration in YAZE project to include additional build options
- Modified the `ConfigureCMake` target in `YAZE.vcxproj` to add options for generating libraries and executables, enhancing the build flexibility.
- This change improves the project's configuration by allowing for more granular control over the build outputs.
2025-09-28 17:41:26 -04:00
scawful
1ac48139c7 Update CMake configuration to enhance test suite management
- Modified `CMakeLists.txt` to cache the `YAZE_BUILD_TESTS` option, improving clarity in test suite configuration.
- Updated the GitHub Actions workflow to include verification steps for the CMake configuration, ensuring that test targets are correctly identified.
- Adjusted test discovery logic in `test/CMakeLists.txt` to double-check that tests are enabled, enhancing the robustness of the build process.
2025-09-28 17:36:19 -04:00
scawful
e77b38ee20 Update YAZE project configuration to include additional Abseil library directories
- Expanded the `AdditionalLibraryDirectories` in `YAZE.vcxproj` to include multiple directories for Abseil libraries, enhancing the project's dependency management.
- This change improves the build process by ensuring that all necessary Abseil components are correctly referenced, supporting better functionality and performance.
2025-09-28 17:32:17 -04:00
scawful
f257425782 Update YAZE project configuration to include additional Abseil library dependencies
- Expanded the `AdditionalDependencies` in `YAZE.vcxproj` to include multiple Abseil libraries, enhancing the project's functionality and dependency management.
- Added custom build steps for the new Abseil targets, ensuring they are built as part of the overall project workflow.
- This change improves the build process by integrating necessary libraries for better performance and feature support.
2025-09-28 17:27:36 -04:00
scawful
ea6659763b Remove custom build steps for asar, ImGui, and Abseil libraries from YAZE project configuration
- Eliminated custom build commands in `YAZE.vcxproj` related to asar, ImGui, and Abseil libraries, streamlining the project configuration.
- Updated `YAZE.vcxproj.filters` to remove associated filters, enhancing clarity in project dependencies.
- This change simplifies the build process and focuses on essential components.
2025-09-28 17:20:15 -04:00
scawful
ad7673f31d Add custom build step for Abseil library in YAZE project configuration
- Introduced a new custom build command in `YAZE.vcxproj` to configure and build the Abseil library, enhancing the project's dependency management.
- Updated the `ConfigureCMake` target to include the build step for Abseil, ensuring a more comprehensive build process.
- This change improves the overall organization and efficiency of the build workflow.
2025-09-28 17:15:36 -04:00
scawful
cf0e51b96b Update CMake configuration in YAZE project to enforce policy version
- Modified custom build commands in `YAZE.vcxproj` for asar and ImGui libraries to include `-DCMAKE_POLICY_VERSION_MINIMUM=3.5`, ensuring compatibility with newer CMake policies.
- Updated the `ConfigureCMake` target to reflect the policy version requirement, enhancing the build process's reliability and clarity.
2025-09-28 17:10:58 -04:00
scawful
25d361eedb Enhance YAZE project build process by configuring CMake targets
- Updated custom build steps in `YAZE.vcxproj` to include CMake configuration commands for asar and ImGui libraries, improving the build workflow.
- Introduced new targets for configuring CMake and building dependencies, ensuring a more organized and efficient build process.
- This change streamlines the build setup and enhances clarity in project configuration.
2025-09-28 17:08:45 -04:00
scawful
b7b8962e13 Enhance release workflow by adding build directory cleanup steps
- Introduced steps to clean the build directory for both Linux/macOS and Windows environments before configuring CMake, ensuring a fresh build configuration and avoiding potential cache issues.
- This change improves the reliability of the build process across different operating systems.
2025-09-28 17:05:38 -04:00
scawful
0d24738c78 Refactor YAZE project configuration to remove asar and ImGui libraries
- Removed references to the asar and ImGui projects from the YAZE solution, streamlining the project structure.
- Updated custom build steps in the `YAZE.vcxproj` file to reflect changes, ensuring that the build process remains organized.
- Adjusted the `YAZE.vcxproj.filters` file to remove filters related to the removed libraries, enhancing clarity in project dependencies.
2025-09-28 17:04:03 -04:00
scawful
df11786348 Add asar and ImGui libraries to YAZE project configuration
- Introduced new projects for the asar and ImGui libraries in the YAZE solution, enhancing the project's capabilities.
- Configured custom build steps for both libraries in the YAZE.vcxproj file, ensuring they are built as part of the overall project.
- Updated the YAZE.vcxproj.filters file to organize the new dependencies under appropriate filters, improving project structure and clarity.
2025-09-28 17:00:49 -04:00
scawful
13d1f97c0c Update YAZE project configuration to remove SDL2 dependencies and add SDL2 package reference
- Modified the `AdditionalDependencies` in the `YAZE.vcxproj` file to remove references to SDL2 and SDL2main libraries across all configurations, streamlining the dependency management.
- Added a new `PackageReference` for SDL2 version 2.28.5, ensuring that the project can utilize the SDL2 library through package management.
- These changes enhance the project's build organization and align with the current strategy for managing dependencies.
2025-09-28 16:52:28 -04:00
scawful
8229980488 Update YAZE project configuration to correct library directory paths for vcpkg integration
- Modified `AdditionalLibraryDirectories` in the `YAZE.vcxproj` file to replace the Vcpkg root path with a more appropriate reference to the local vcpkg installation directory.
- This change ensures that the project correctly locates libraries installed via vcpkg, improving build reliability and organization across different configurations.
2025-09-28 16:38:49 -04:00
scawful
79e381b1c7 Update YAZE project configuration to integrate vcpkg for library management
- Added import statements for vcpkg props and targets in the `YAZE.vcxproj` file to enable vcpkg integration.
- Updated `AdditionalLibraryDirectories` to include paths for libraries installed via vcpkg, enhancing dependency management and build organization across configurations.
- These changes streamline the build process and align with the project's strategy for using vcpkg for library dependencies.
2025-09-28 16:34:08 -04:00
scawful
40127b702e Refactor message tests to improve ROM loading checks and class naming
- Renamed `MessageTest` to `MessageRomTest` for clarity in context.
- Added checks to skip tests if the ROM file is not available or if tests are disabled via environment variable, enhancing test robustness.
- Updated all test cases to use the new class name, ensuring consistency across the test suite.
2025-09-28 16:32:02 -04:00
scawful
9066c8a3c0 Refactor test configuration in CMake to enable conditional test builds
- Updated `CMakeLists.txt` to conditionally build the test executable based on the `YAZE_BUILD_TESTS` flag, enhancing flexibility in test management.
- Removed hardcoded test executable configurations and replaced them with conditional logic for minimal and development builds.
- Improved organization of test files and dependencies, ensuring that tests are only built and discovered when enabled, streamlining the build process.
2025-09-28 16:25:40 -04:00
scawful
46a8590b7f Update YAZE project configuration to switch to dynamic library linkage and adjust SDL2 dependencies
- Modified the `YAZE.vcxproj` file to change the Vcpkg triplet settings for Windows platforms from static to dynamic.
- Updated the `AdditionalDependencies` for various configurations to use dynamic versions of SDL2 libraries, enhancing compatibility and reducing build complexity.
- Adjusted the `cmake/vcpkg.cmake` file to reflect the change in library linkage, ensuring consistent behavior across builds.
2025-09-28 16:19:42 -04:00
scawful
0fe3ed6029 Update YAZE project configuration to enable vcpkg integration for static libraries
- Added a PropertyGroup in the `YAZE.vcxproj` file to enable vcpkg manifest mode and specify static triplets for Win32, x64, and ARM64 platforms.
- This change enhances the project's dependency management and aligns with the current strategy for using static libraries.
2025-09-28 16:11:56 -04:00
scawful
3ec6f7f913 Update YAZE project configuration to use static SDL2 libraries and improve CMake integration
- Modified the `YAZE.vcxproj` file to replace dynamic SDL2 library dependencies with static versions, enhancing build performance and reducing runtime dependencies.
- Updated `cmake/sdl2.cmake` to prioritize vcpkg for SDL2 on Windows, falling back to bundled SDL when necessary, and improved handling for non-Windows platforms.
- Adjusted `cmake/vcpkg.cmake` to set the library linkage to static, ensuring consistent behavior across builds.
- These changes streamline the build process and align with the project's library management strategy.
2025-09-28 16:09:57 -04:00
scawful
2d7833be8b Update YAZE project configuration to use SDL2 dynamic libraries
- Modified the `YAZE.vcxproj` file to replace static library dependencies with dynamic versions of SDL2, streamlining the build process.
- Adjusted additional library directories and dependencies across various configurations (Debug/Release, Win32/x64/ARM64) for improved compatibility and organization.
- This change enhances the project's flexibility and aligns with the current library management strategy.
2025-09-28 15:56:25 -04:00
scawful
cd66ce0d50 Update YAZE project configuration to use static libraries and improve library paths
- Replaced dynamic library dependencies with static versions in the `YAZE.vcxproj` file, enhancing build performance and reducing runtime dependencies.
- Added additional library directories to streamline the build process across different configurations (Debug/Release, Win32/x64/ARM64).
- This change improves the overall project structure and ensures compatibility with the new static library setup.
2025-09-28 15:53:06 -04:00
scawful
edf5cb2c51 Enhance EditorIntegrationTest for ImGui Test Engine support
- Added conditional compilation for the ImGui Test Engine in `EditorIntegrationTest`, allowing for test registration and engine initialization when enabled.
- Updated the constructor and destructor to manage the test engine context appropriately.
- Improved the `Initialize` method to include test engine setup and registration, enhancing the integration testing capabilities.
- Ensured compatibility with scenarios where the ImGui Test Engine is disabled by providing default implementations for related methods.
2025-09-28 15:44:44 -04:00
scawful
a3b60eaf5c Refactor Tracker::LoadSongs function by commenting out unused code and variables
- Commented out a significant number of unused variable declarations and code segments in the `LoadSongs` function to enhance readability and maintainability.
- This change does not impact functionality but reduces clutter, preparing the code for future enhancements.
2025-09-28 15:28:45 -04:00
scawful
8e5bfb962b Update ROM loading assertions in integration tests for improved error handling
- Replaced direct calls to `rom_->LoadFromData` with `ASSERT_OK` assertions in `OverworldIntegrationTest` and `OverworldV3IntegrationTest` to enhance error handling and ensure robust test execution.
- This change aligns with recent improvements in error management across the testing framework.
2025-09-28 15:25:14 -04:00
scawful
41326edd91 Refactor E2E ROM tests to improve error handling and readability
- Updated ROM reading assertions to handle potential errors using status checks, enhancing robustness in the E2E tests.
- Simplified byte and word read operations by storing results in variables and checking their status before assertions, improving code clarity.
- Ensured consistency in transaction system tests by applying similar error handling practices.
2025-09-28 15:24:19 -04:00
scawful
3210cc0ab6 Refactor Tracker::SaveSongs function by commenting out unused variables and code
- Commented out a large number of unused variable declarations and code segments in the `SaveSongs` function to improve readability and maintainability.
- This change does not affect the functionality but prepares the code for future enhancements by reducing clutter.
2025-09-28 15:22:55 -04:00
scawful
a7efecf830 Remove outdated documentation files for vcpkg integration and Visual Studio setup
- Deleted `vcpkg-integration.md`, `vcpkg-triplet-setup.md`, `visual-studio-setup.md`, and `windows-development-guide.md` to streamline documentation and eliminate redundancy.
- These files were replaced by more concise and updated build instructions, ensuring users have access to the latest setup information.
2025-09-28 15:19:46 -04:00
scawful
6cb10aac47 Enhance CI testing framework and documentation
- Updated CI workflow to include the new MessageTest in core tests and refined additional unit tests for better information capture.
- Introduced a simplified CI test executable (`yaze_test_ci.cc`) to improve reliability by excluding ROM-dependent and E2E tests.
- Expanded documentation to detail the testing system, including categories, execution methods, and configuration options for local and CI environments.
- Improved CMake configuration to differentiate between minimal and full-featured test builds, ensuring appropriate test execution based on the build type.
2025-09-28 15:17:38 -04:00
scawful
90f8d8b915 Remove unused system editor files from YAZE project configuration
- Deleted references to `system_editor.cc` and `system_editor.h` from YAZE.vcxproj and YAZE.vcxproj.filters to clean up the project structure.
- Updated `room_object.cc` to use a direct assignment for `gfx::TileInfo` and commented out unused code in `room.cc` and `tracker.cc` for clarity and future reference.
2025-09-28 15:12:15 -04:00
scawful
97f00d3fc6 Add E2E and ZSCustomOverworld test suites for comprehensive testing
- Introduced new E2E test suite for comprehensive ROM testing, validating the complete ROM editing workflow.
- Added ZSCustomOverworld test suite to validate version upgrades and data integrity.
- Updated `EditorManager` to register the new test suites.
- Enhanced CMake configuration to include the new test files.
- Updated README to reflect the new testing capabilities and best practices for AI agent testing.
2025-09-28 15:11:31 -04:00