Commit Graph

68 Commits

Author SHA1 Message Date
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
ccd4e8cf4b Integrate Dungeon Editor System and Object Editor for Enhanced Dungeon Management
- 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.
2025-09-24 22:48:47 -04:00
scawful
f6ef5f971b Add integration tests for overworld and dungeon functionalities
- 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.
2025-09-24 18:37:57 -04:00
scawful
3734884ba3 Refactor Snes class and enhance Apu functionality
- Updated Snes constructor to initialize CPU callbacks directly, improving readability and maintainability.
- Removed unnecessary CpuCallbacks parameter from Cpu constructor, streamlining the class design.
- Added new methods in Apu for retrieving cycles, status, control, and handling DMA transfers, enhancing audio processing capabilities.
- Introduced unit tests for Apu to validate initialization, sample generation, and handshake timing, ensuring robust audio functionality.
2025-09-24 12:51:29 -04:00
scawful
789f577ee3 Add integration tests for Dungeon Editor and object parsing functionality
- 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.
2025-09-24 12:44:14 -04:00
scawful
f632650568 Update SnesColor constructor and add SnesTile tests
- Changed SnesColor constructor to remove constexpr, improving compatibility with non-constant expressions.
- Added new tests for SnesTile functionality, including unpacking, packing, and conversion between different bit depths.
- Enhanced TileInfo and Tile32 tests to verify construction, operations, and bit manipulation for better coverage.
2025-05-15 23:05:25 -04:00
scawful
6e09630733 Refactor HandleHexStringParams to modify hex string directly and add hex_test for comprehensive testing of hex conversion functions with various prefixes. 2025-05-03 14:09:35 -04:00
scawful
f43328a1ae Update overworld loading logic to use Rom pointers directly; adjust test cases for consistency. 2025-04-12 11:29:45 -04:00
scawful
26cda69d44 Refactor common functionality into zelda3 namespace; remove references to core::common 2025-01-22 13:53:01 -05:00
scawful
fa33be3463 Add tests for ParseSingleMessage function in message_test.cc 2025-01-19 20:01:57 -05:00
scawful
e4cc3b977a Move test dir to root 2025-01-19 19:09:39 -05:00
scawful
096b10ff77 move test directory into src 2024-07-24 01:55:13 -04:00
scawful
4582a18f53 Move GfxContext to editor/utils, update CMakeLists.txt 2024-07-19 23:07:04 -04:00
scawful
da7f3a44eb housekeeping 2024-07-14 14:31:30 -04:00
scawful
5741596a89 Remove unused targets from build 2024-04-23 14:07:02 -04:00
scawful
97f74b9c4b Remove emu tests from build, as interfaces have changed and will be updated later 2024-04-22 17:00:24 -04:00
scawful
1a4563f9e7 overhaul cleanups 2024-04-22 15:58:39 -04:00
scawful
ce2cae2242 Rearrange test namespaces 2024-04-14 09:30:21 -05:00
scawful
693dca1329 Rename SNESPalette, SNESColor to SnesPalette, SnesColor
Create snes_color.h and snes_color.cc to separate concerns
2024-01-31 21:09:42 -05:00
scawful
ee179a5598 housekeeping for GfxContext and Room logging 2024-01-28 12:05:50 -05:00
scawful
5455b2a425 Add ResourceLabelManager class 2024-01-22 03:26:37 -05:00
scawful
a0c2349d0b Copy image to clipboard for GraphicsEditor 2023-12-17 21:07:48 -05:00
scawful
87db938963 cleanup spc700 and add todos 2023-12-06 01:32:59 -05:00
scawful
d0c9229093 Reorganize emu cpu directory 2023-12-05 21:16:16 -05:00
scawful
042d07abdf Update build files for spc700 addressing 2023-12-05 03:48:26 -05:00
scawful
a0019ab7fb Add all 65816 instruction tests
Separate CPU class into instructions and addressing files
2023-12-03 05:13:25 -05:00
scawful
446734321c SNES, CPU, Emulator + tests updated 2023-11-30 02:12:11 -05:00
scawful
299770922c Add Debugger interface, RoomObject class
- Log instructions to debugger using experiment flag
- Use BitmapManager for more functionality
- Draw framebuffer and integrated debugger
2023-11-13 14:51:01 -05:00
scawful
0dcf7ec323 Create emu tests directory 2023-11-10 23:20:25 -05:00
scawful
3d793c452d Reorganize emu folder, update S-SMP system infra 2023-08-26 01:59:57 -04:00
scawful
a5f1a23de8 Add CPU and Memory class for SNES emulator 2023-08-19 02:08:17 -04:00
scawful
905db2d57b add z3ed_test 2023-08-18 17:19:07 -04:00
scawful
9ea107bc8d Update SNESPalette, SNESColor, add tests 2023-08-04 22:51:12 -04:00
scawful
36ee81de5d Create compression_test.cc
Move compression and decompression tests from rom_test
2023-07-22 15:36:19 -04:00
scawful
82dd9dde1b Add LC_LZ2 Compression library
Refactor ROM class
Editor housekeeping
2023-07-21 03:44:44 -04:00
scawful
931560cfb1 Add GraphicsEditor class
Super donkey proto graphics import experiment

removed snes_spc and asar_static because of macOS M1 build issues.

music player using snes_spc disabled

included macOS build configuration as it currently is.
2023-07-08 09:03:27 -04:00
scawful
85c14438f3 housekeeping 2023-03-28 12:25:56 -05:00
scawful
c1526cacdf include asar, move patching to ROM class 2023-01-01 15:06:38 -06:00
scawful
66e320357a remove experimental asm tests and delta tests 2023-01-01 14:07:41 -06:00
Justin Scofield
2dae505587 remove asar while features experimental 2022-12-30 20:22:08 -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
47d2d665fe Merge branch 'master' into mosaic-transition 2022-08-10 10:08:21 -04:00
Justin Scofield
1db18b1d2a test: add asm_test for snes_asm::Script 2022-08-07 13:47:16 -04:00
Justin Scofield
0d72cfcadd chore: move absl_targets cmake def up a level 2022-08-07 13:21:52 -04:00
Justin Scofield
6c08ce8078 chore: link cmake dl libs with test 2022-08-07 13:18:31 -04:00
Justin Scofield
fb209223fe chore: include asar path in test cmakelists 2022-08-07 13:08:55 -04:00
Justin Scofield
25ee0ff9cd Cleanup CMakeLists 2022-08-05 19:30:37 +00:00
Justin Scofield
b18414ef33 Merge pull request #6 from scawful/master
Improve quality of build for contributors
2022-07-30 13:49:24 -04:00
Justin Scofield
332bf5f3f3 Build SDL from source 2022-07-30 12:15:08 -04:00