Commit Graph

38 Commits

Author SHA1 Message Date
scawful
4df97fb812 Refactor Windows build instructions and remove legacy scripts
- Updated `02-build-instructions.md` to enhance clarity and organization, including renaming sections for better understanding.
- Removed outdated automated setup scripts (`build-windows.bat`, `build-windows.ps1`, `setup-windows-dev.ps1`, and `validate-windows-build.ps1`) to streamline the build process.
- Introduced optional vcpkg setup for SDL2 dependency management, emphasizing the use of bundled dependencies by default.
- Improved documentation for Visual Studio CMake workflow, highlighting the recommended approach for building the project.
- Consolidated and clarified command line build instructions, ensuring a more straightforward setup experience for developers.
2025-10-01 09:48:05 -04:00
scawful
508c5402ed Enhance documentation for E2E GUI testing framework and Tile16 editor palette system
- Added comprehensive sections on the E2E GUI testing framework in `A1-testing-guide.md`, detailing architecture, test writing, and execution.
- Introduced a new document `E7-tile16-editor-palette-system.md` outlining the redesign and implementation of the Tile16 editor palette system, including problem analysis, solution architecture, and UI/UX refactoring.
- Updated `E6-z3ed-cli-design.md` with recent refactoring improvements and code quality enhancements for the z3ed CLI tool.
- Expanded the YAZE development tracker in `yaze.org` to reflect ongoing issues and features related to the Tile16 editor and E2E testing.
2025-10-01 09:23:59 -04:00
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
62230fbe5c Remove Windows ARM64 build configuration and delete unused generate-vs-projects.py script
- Removed the Windows ARM64 configuration from the GitHub Actions release workflow to streamline the build process.
- Deleted the generate-vs-projects.py script as it was no longer needed for project setup, simplifying the codebase.
- Updated the OverworldEditor header to improve clarity by renaming a method parameter for better understanding.
- Refactored the Emulator class to enhance the rendering interface, improving the user experience in the emulator's GUI.
2025-09-29 20:23:17 -04:00
scawful
c1902687c5 Add comprehensive YAZE Overworld Testing Guide and test scripts
- Introduced a detailed documentation guide for testing the YAZE overworld implementation, covering unit tests, integration tests, end-to-end tests, and golden data validation.
- Added a new script to orchestrate the complete testing workflow, including building the golden data extractor, running tests, and generating reports.
- Implemented new test files for end-to-end testing and integration testing, ensuring compatibility with ZScream logic and validating overworld data integrity.
- Enhanced the Overworld class with additional methods for expanded tile and entrance handling, improving test coverage and functionality.
2025-09-28 21:47:22 -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
ddf63165eb Remove legacy Visual Studio project generation scripts
- Deleted `generate-vs-projects-simple.py`, `generate-vs-projects.bat`, and `generate-vs-projects.ps1` scripts to streamline project setup.
- Updated `README.md` to reflect the removal of these scripts and simplify project generation instructions.
- Removed `test_asar_integration.py` and `test-vs-generation.ps1` scripts as part of the cleanup process.
2025-09-28 14:50:04 -04:00
scawful
e10d29b802 Update YAZE project configuration and build instructions
- Increased warning level to Level4 in YAZE.vcxproj for better code quality checks.
- Enhanced preprocessor definitions to address C++23 deprecation warnings and improve compatibility with Clang.
- Added additional compiler options for better build performance and compatibility.
- Updated build instructions to recommend Clang for Windows, highlighting its advantages over MSVC.
- Included detailed setup options for both Clang and MSVC, along with troubleshooting tips for common issues.
2025-09-28 14:47:54 -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
dfc5b329af Enhance vcpkg integration in project generation script
- Improved the vcpkg path checking mechanism to include additional common installation locations and check for global installations.
- Added support for manifest mode by detecting the presence of a vcpkg.json file, allowing automatic dependency management.
- Enhanced output messages to provide clearer feedback on vcpkg usage and installation status, improving user experience.
2025-09-28 11:18:56 -04:00
scawful
c16725b61d Fix vcpkg path handling in project generation script
- Updated the vcpkg path check in the generate-vs-projects.ps1 script to ensure proper path formatting.
- Changed the path concatenation method for improved clarity and consistency.
2025-09-28 11:04:58 -04:00
scawful
f321b2350c Revise Visual Studio setup documentation and enhance project generation script
- Updated the Visual Studio setup guide to recommend using a project generation script for easier configuration.
- Added detailed instructions for the new script, including features and usage examples.
- Improved the script to check for vcpkg installation and automatically install dependencies if missing.
- Introduced a test script to verify the project generation process with different configurations.
- Enhanced error handling and output messages in the project generation script for better user experience.
2025-09-28 11:02:25 -04:00
scawful
5aa43e81d2 Refactor macOS packaging process in release workflow and introduce dedicated script
- Removed inline macOS packaging logic from release.yml and replaced it with a call to a new script, create-macos-bundle.sh, for better organization and maintainability.
- Added create-macos-bundle.sh to handle the creation of the macOS application bundle and DMG file, improving clarity and separation of concerns in the build process.
2025-09-28 02:54:01 -04:00
scawful
ab3272422e Remove Visual Studio project files and update documentation for automated setup
- Deleted `YAZE.sln` and `YAZE.vcxproj` files as they are now generated automatically.
- Updated the Windows development guide to reflect changes in project file generation and vcpkg integration.
- Enhanced troubleshooting section with common issues related to dependencies and project setup.
- Modified setup script messages to clarify the new workflow for opening and building the project in Visual Studio.
2025-09-28 02:08:42 -04:00
scawful
52ae0e864a Add simple Visual Studio project generator script for YAZE
- Introduced a new Python script, `generate-vs-projects-simple.py`, to create Visual Studio project files without complex CMake dependencies.
- The script generates both `.vcxproj` and `.sln` files, consolidating source and header files for the YAZE project.
- Updated the Windows development setup script to utilize the new generator, providing fallback to the original if the simple generator fails.
- Enhanced user instructions for building the project in Visual Studio.
2025-09-28 01:07:16 -04:00
scawful
8205de84f9 Refactor Windows development setup script to a sequential approach for improved clarity and user experience
- Transitioned from a function-based structure to a sequential approach, simplifying the script flow.
- Enhanced user feedback with clear status messages for each setup step, including checks for project directory, Visual Studio, Git, Python, and vcpkg.
- Improved error handling and instructions for missing dependencies, ensuring a smoother setup process.
- Streamlined the process for generating Visual Studio project files and testing builds, making it more user-friendly.
2025-09-28 00:59:43 -04:00
scawful
e008bc2766 Refactor Windows development setup script to a function-based structure for improved readability and maintainability
- Transitioned to a function-based approach, reducing complex conditional statements.
- Enhanced user feedback with a consistent messaging function for status updates.
- Modularized setup steps for checking project directory, Visual Studio, Git, Python, and vcpkg.
- Improved error handling and instructions for each setup step, ensuring a clearer user experience.
2025-09-28 00:56:55 -04:00
scawful
99a5f6e4f4 Refactor Windows development setup script for clarity and improved user feedback
- Simplified the script structure by removing complex conditional statements.
- Enhanced output messages for each setup step, providing clearer guidance on the status of checks for project files, Visual Studio, Git, Python, and vcpkg.
- Improved error handling and user instructions for missing dependencies and setup steps.
- Streamlined the process for generating Visual Studio project files and testing builds, ensuring a more user-friendly experience.
2025-09-28 00:51:51 -04:00
scawful
50bf1f9d71 Enhance Windows build scripts for improved functionality and user experience
- Refactored batch and PowerShell build scripts to streamline argument parsing and enhance error handling.
- Added support for cleaning build directories and improved feedback for missing dependencies.
- Updated project file generation logic to handle missing configuration files more gracefully.
- Introduced a new validation script to ensure the build environment is correctly set up before building.
- Removed obsolete setup scripts to simplify the repository structure.
2025-09-28 00:47:16 -04:00
scawful
9a51c1d5a7 Refactor Windows development setup script for improved error handling and dependency checks
- Enhanced Git and Python checks to ensure proper installation before proceeding with setup.
- Updated vcpkg cloning logic to verify Git availability and provide clearer error messages.
- Improved project file generation and build testing sections with additional user feedback and error handling.
- Removed obsolete PowerShell syntax test script to streamline the repository.
2025-09-28 00:42:28 -04:00
scawful
820720cffe Remove obsolete PowerShell script for generating Visual Studio projects and add a new script for testing PowerShell syntax. The new script verifies basic constructs used in build scripts, ensuring proper syntax and functionality. 2025-09-28 00:37:48 -04:00
scawful
77b4e8cd40 Refactor Visual Studio solution and project files for improved organization and support
- Removed obsolete project entries from the solution file to streamline structure.
- Updated YAZE project configuration to enable vcpkg integration and multi-architecture support.
- Enhanced build scripts for Windows, including automated setup and testing processes.
- Added new documentation for Windows development setup and build instructions.
2025-09-28 00:34:20 -04:00
scawful
8b659e991c Enhance project reference validation in Visual Studio scripts
- Updated batch and PowerShell scripts to check for proper references to YAZE.vcxproj in the solution file.
- Added verification for project configurations, providing user feedback on their status.
- Improved messaging for error states to guide users in ensuring correct project setup.
2025-09-28 00:20:37 -04:00
scawful
bec691da69 Refactor Visual Studio project configuration scripts for clarity and usability
- Updated batch and PowerShell scripts to improve the configuration process for Visual Studio projects.
- Enhanced user feedback by checking for existing solution files and verifying project references.
- Added help options in the PowerShell script to guide users on available parameters and usage examples.
- Improved messaging for success and error states to facilitate troubleshooting and user experience.
2025-09-28 00:11:21 -04:00
scawful
3af69c5ae2 Enhance CMake configuration and project generation scripts
- Added policies for submodule compatibility and suppressed deprecation warnings in CMakeLists.txt.
- Updated Visual Studio project generation scripts to include new CMake arguments for policy versions and thread handling.
- Introduced a new PowerShell script to test CMake configuration, ensuring successful setup and providing user feedback.
2025-09-27 23:58:08 -04:00
scawful
188084b59e Add CMake availability checks and installation in project generation scripts
- Implemented checks for CMake in both batch and PowerShell scripts to ensure it is available before proceeding.
- Added logic to attempt installation of CMake via Chocolatey if not found, with appropriate user feedback.
- Enhanced user experience by providing instructions for manual installation if Chocolatey is not present.
- Included verification steps to confirm successful installation of CMake after the installation attempt.
- Introduced a new setup script for Windows development environment, automating the installation of essential tools like Git, Ninja, and Python 3, along with checks for Visual Studio.
2025-09-27 23:33:13 -04:00
scawful
385500120a Refactor Visual Studio solution and project files for improved organization and support
- Restructured the solution file to better categorize projects, including new entries for Documentation, Scripts, and CMake.
- Updated project configurations to support multiple architectures (x86, x64, ARM64) and added new build types (RelWithDebInfo, MinSizeRel).
- Introduced new scripts for generating Visual Studio project files, enhancing the build process for Windows users.
- Removed obsolete project entries and streamlined the solution structure for clarity and maintainability.
2025-09-27 23:29:16 -04:00
scawful
8f8d2b7768 Enhance CI/CD integration for Visual Studio builds and update documentation
- Added a new workflow for validating Visual Studio builds on push and pull request events, ensuring that both x64 and x86 configurations are tested.
- Integrated vcpkg setup into the validation process to automatically manage dependencies.
- Implemented a PowerShell script for build validation, checking for executable creation and asset copying.
- Updated documentation to reflect the new CI/CD processes and automated validation features, improving clarity on build requirements and procedures.
- Refactored the EditorManager to streamline testing feature initialization, ensuring better control over testing capabilities.
2025-09-27 21:10:51 -04:00
scawful
ab2198cde7 Add Visual Studio project files and enhance setup documentation
- Introduced `yaze.sln` and `yaze.vcxproj` files for easier integration with Visual Studio, supporting both x64 and x86 configurations.
- Updated the Visual Studio setup guide to reflect changes in project structure and provide clearer instructions for building and running the project.
- Enhanced asset management in the build process, ensuring automatic copying of necessary files during builds.
- Improved the setup script for vcpkg, adding checks for installation and dependencies, and clarifying user instructions for a smoother setup experience.
2025-09-27 21:03:00 -04:00
scawful
5e45c94e59 Integrate vcpkg support for Windows builds and enhance documentation
- Added vcpkg integration in CMake for Windows, enabling automatic dependency management.
- Updated CMakePresets.json to include presets for debug and release builds with vcpkg.
- Created setup scripts for easy vcpkg installation on Windows.
- Enhanced documentation to guide users on vcpkg setup and usage with YAZE.
- Improved logging in Overworld class to track expanded tile flags during map assembly.
2025-09-27 20:05:00 -04:00
scawful
1743859d0a Enhance release workflow and add version validation script
- Updated the release workflow to enforce semantic versioning for tags, improving consistency in release management.
- Added a validation step to ensure tags follow the semantic versioning format before proceeding with the release.
- Introduced a new script to facilitate the creation of release tags, including checks for existing tags and uncommitted changes, enhancing the release process.
2025-09-26 22:21:58 -04:00
scawful
0f37061299 Refactor release notes generation in CI workflow
- Updated the GitHub Actions workflow to utilize a dedicated Python script for extracting changelog information based on the release version.
- Removed the previous inline changelog generation logic, streamlining the process and improving maintainability.
- Added a new script, `extract_changelog.py`, to handle changelog extraction from the documentation, ensuring accurate release notes for each version.
2025-09-26 17:01:39 -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
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
9844a12551 Fix syntax error in agent.sh by correcting closing statement in install_linux function 2025-09-20 19:19:53 -04:00
scawful
58fa70fb01 Add userland agent management to agent script for improved background processing
- Introduced `is_systemd_available`, `start_userland_agent`, and `stop_userland_agent` functions to manage a userland background agent when systemd is not available.
- Updated installation logic to start the userland agent if systemd is not detected, enhancing compatibility across different Linux environments.
- Enhanced uninstallation process to stop the userland agent if it was running, ensuring a clean removal of the agent.
2025-09-20 19:16:10 -04:00
scawful
32e118d24d Add systemctl user command wrapper in agent script for improved Linux support
- Introduced a `systemctl_user` function in `agent.sh` to handle systemd user commands with session bus configuration in headless environments.
- Updated existing systemctl commands to utilize the new wrapper, enhancing compatibility and user experience on Linux systems.
- Added warnings for missing user bus to guide users in enabling lingering sessions.
2025-09-20 19:10:44 -04:00
scawful
4e642dbec4 Add background agent script for YAZE with installation and execution features
- Introduced a new `agent.sh` script to manage background agent functionality for YAZE on macOS and Linux.
- Implemented subcommands for installation, uninstallation, one-shot execution, and a watch mode using inotify.
- Added support for environment variable configuration and platform-specific installation procedures.
- Enhanced user experience with detailed usage instructions and logging for build and test processes.
2025-09-20 19:02:49 -04:00