- Added a new `tools` directory to house various utility tools, including the `overworld_golden_data_extractor`, `extract_vanilla_values`, and `rom_patch_utility`.
- Introduced comprehensive integration tests for dungeon and overworld functionalities, ensuring compatibility with existing ROM data.
- Refactored existing test files to improve organization and maintainability, moving deprecated tests to a dedicated directory.
- Updated CMake configuration to include new tools and tests, enhancing the build process for development and CI environments.
- Improved test coverage for dungeon object rendering and room integration, validating core functionalities against expected behaviors.
- 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.
- Added support for UI tests in the CMake configuration by introducing the YAZE_ENABLE_UI_TESTS option, ensuring proper linking with the ImGuiTestEngine if available.
- Updated SDL2 linking in test CMakeLists to use variable targets for improved flexibility and compatibility across platforms.
- Modified sprite_position_test to check for ROM file existence using std::ifstream for better error handling.
- 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.
- Introduced a new DungeonEditorSystem to streamline dungeon editing functionalities, including room properties management and object editing.
- Enhanced the DungeonEditor class to initialize the new editor system and manage room properties effectively.
- Added comprehensive object editing capabilities with a dedicated DungeonObjectEditor, supporting object insertion, deletion, and real-time preview.
- Implemented improved UI components for editing dungeon settings, including integrated editing panels for various object types.
- Enhanced error handling and validation throughout the dungeon editing process to ensure robust functionality.
- Updated integration tests to cover new features and validate the overall performance of the dungeon editing system.
- Introduced comprehensive integration tests for the overworld, including tests for overworld map properties, sprite positioning, and filtering logic.
- Added new tests for dungeon integration, focusing on room loading, object parsing, and ensuring compatibility with overworld changes.
- Implemented utility functions for extracting vanilla values from ROM and creating patched ROMs, enhancing testing capabilities.
- Updated CMakeLists.txt to include new test files for comprehensive coverage of overworld and dungeon functionalities.
- Updated CMakeLists.txt to include new test files for CPU, PPU, SPC700, APU, and dungeon editor integration tests.
- Introduced new testing helpers in testing.h for validating StatusOr objects with specific error messages and codes.
- Added comprehensive integration tests for the DungeonEditor, covering object parsing, rendering, and room graphics.
- Created mock ROM and object data setups to facilitate testing without real ROM files.
- Implemented various test cases to ensure the reliability of object parsing and rendering logic in the dungeon editor.
- Introduced tests for ParseSingleMessage to validate parsing of special characters and dictionary references.
- Added a test case for handling invalid terminators in message data.
- Enhanced existing tests for better coverage of message parsing scenarios.