Commit Graph

172 Commits

Author SHA1 Message Date
scawful
7355294f49 Refactor Overworld Editor and enhance settings management for v3 features
- Removed the outdated ZEML layout file and associated references to streamline the OverworldEditor.
- Introduced the OverworldEditorManager class to encapsulate v3 settings management, improving code organization and maintainability.
- Updated the OverworldEditor to utilize ImGui for layout, enhancing user interaction and flexibility.
- Enhanced the changelog with detailed descriptions of new features and improvements, including a comprehensive undo/redo system and advanced palette management.
- Removed deprecated diagnostic patterns from the clangd configuration to improve code quality checks.
2025-09-27 15:47:22 -04:00
scawful
c5e8e04f65 Enhance theme management with dynamic discovery and macOS bundle support
- Updated CMake configuration to ensure theme files are included in macOS bundles and added explicit file handling for theme resources.
- Refactored ThemeManager to replace hardcoded theme lists with dynamic discovery of available themes, improving flexibility across development and deployment scenarios.
- Introduced methods for refreshing and loading themes at runtime, enhancing user experience and customization options.
- Improved logging for theme loading processes, providing better feedback on successes and failures.
2025-09-26 19:55:40 -04:00
scawful
a868b32a48 Enhance ImGui library integration and CMake configuration
- Added backend source files for ImGui, improving functionality with SDL2.
- Updated CMakeLists.txt to conditionally create the yaze_c library as static or shared based on the YAZE_MINIMAL_BUILD flag.
- Streamlined test linking by ensuring yaze_test links against yaze_core instead of yaze_c, enhancing modularity.
2025-09-26 16:47:47 -04:00
scawful
857e75e7fe Refactor CMake configuration for core library and testing
- Updated CMakeLists.txt to create a separate core library (yaze_core) for testing, enhancing modularity.
- Adjusted source file organization for yaze_c and yaze_core, ensuring proper inclusion of essential components.
- Modified test CMakeLists.txt to link against yaze_core instead of yaze_c, streamlining dependencies for test targets.
- Disabled installation of the library in minimal builds while maintaining the ability to build for testing purposes.
2025-09-26 15:14:52 -04:00
scawful
cbce2730b6 Update CMake configuration and .clangd settings for improved build management
- Removed unnecessary compile flags from .clangd to streamline configuration.
- Added YAZE_BUILD_LIB option in CMakeLists.txt for conditional library building in minimal builds.
- Enhanced SDL2 CMake configuration to set include directories for bundled SDL, ensuring proper integration.
- Updated test CMakeLists.txt to conditionally link yaze_c and ImGuiTestEngine based on build options, improving modularity and flexibility.
- Refactored test_editor.cc and test_editor.h to conditionally include ImGuiTestEngine headers and manage engine initialization based on availability.
2025-09-26 13:51:02 -04:00
scawful
ec207cae06 Refactor CI workflow and CMake configuration for Windows builds
- Updated the CI workflow to conditionally set up vcpkg only for non-CI Windows builds, improving build efficiency.
- Simplified CMake configuration for Windows by consolidating build type checks and ensuring proper handling of resource files based on the YAZE_MINIMAL_BUILD flag.
- Enhanced modularity in file dialog implementation by introducing wrapper methods for better maintainability and clarity in the codebase.
2025-09-26 12:47:10 -04:00
scawful
edafa79dea Add macOS app icon and bundle properties; remove deprecated settings
- Introduced a new app icon file (yaze.icns) for the macOS bundle.
- Updated CMake configuration to set macOS bundle properties, including icon file, bundle name, executable name, and versioning information.
- Removed outdated macOS bundle settings to streamline the configuration process.
2025-09-26 10:04:29 -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
4f5250f5ca Enhance CI configuration and CMake support for native file dialog
- Updated CI workflow in ci.yml to include the -Wno-dev flag for improved CMake output during configuration.
- Modified CMakeLists.txt to conditionally add native file dialog support based on platform checks and GTK3 availability, enhancing compatibility and providing clearer status messages for NFD support.
2025-09-25 10:43:39 -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
1d64846a37 initialize blank editor set in EditorManager; update overworld initialization to use Rom pointers; add Clear and CleanupUnusedTextures methods in OverworldEditor. 2025-04-12 11:33:03 -04:00
scawful
ad490cad71 Add YAZE_UTIL_SRC to CMakeLists and update flag definitions in z3ed and yaze 2025-04-05 13:46:56 -04:00
scawful
c8d4efda2e Refactor flag handling: move FlagParser implementation to flag.cc, remove ResourceManager, and update includes 2025-01-26 13:36:27 -05:00
scawful
50c9223a53 Add hex utility functions and refactor usage in editors 2025-01-22 13:28:21 -05:00
scawful
e4cc3b977a Move test dir to root 2025-01-19 19:09:39 -05:00
scawful
38d34fd40c Add BPS patch utility functions and integrate into CLI handlers 2025-01-19 18:46:56 -05:00
scawful
2cc15350aa Update CMakeLists.txt to include zelda.h and adjust yaze.h path 2025-01-18 15:09:59 -05:00
scawful
013edb3fae update yaze public header, remove sprite.h, add z3_dungeon_sprite 2025-01-06 16:21:37 -05:00
scawful
b3bc05e620 consolidate file related functions, add nativefiledialog-extended to build 2025-01-06 13:21:28 -05:00
scawful
cbec34dacf Add PROJECT_BINARY_DIR to include directories in CMake configuration 2024-12-31 15:59:03 -05:00
scawful
f7dd9622c9 move yaze_py target to the cli directory 2024-11-15 23:39:26 -05:00
scawful
d1c84e7b91 Update CMakeLists.txt to include snes_tile.h and dungeon.h; remove yaze_flags structure from yaze.h to simplify initialization 2024-11-13 09:18:12 -05:00
scawful
b4ffca2863 add macOS app bundle for yaze with resources 2024-09-07 09:56:29 -04:00
scawful
0337483f85 Refactor CMakeLists.txt for improved code organization and readability 2024-08-31 21:55:56 -04:00
scawful
b1f235cd41 Refactor CMakeLists.txt and app.cmake 2024-08-30 11:17:24 -04:00
scawful
9c6d74544c add emu.cmake for emulator 2024-08-30 11:09:58 -04:00
scawful
12ce96e533 chore: Refactor CMakeLists.txt and app.cmake files for better organization 2024-08-30 02:57:14 -04:00
scawful
8b9a4a867f add win32 dir for yaze.res, yaze.rc and yaze.ico 2024-08-30 02:28:11 -04:00
scawful
20f7f04520 yaze_build_clib flag for cmake 2024-08-26 12:05:19 -04:00
scawful
d85530b14b extensions cleanup 2024-08-20 22:40:14 -04:00
scawful
7af5209aeb include message passing system in build 2024-08-14 23:47:00 -04:00
scawful
e72ae83d48 Refactor CMakeLists.txt to include yaze_py.cmake for Python build 2024-08-13 22:09:01 -04:00
scawful
aae103d8f5 chore: Refactor CMakeLists.txt to improve code organization and readability 2024-08-13 21:09:24 -04:00
scawful
4a5270bea9 chore: Exclude unnecessary directories from version control 2024-08-13 20:52:36 -04:00
scawful
e2168cc939 add yaze_emu target and YAZE_BUILD_EMU flag 2024-08-13 20:07:16 -04:00
scawful
93c1e1b6fa rename cmake files to match namespaces 2024-08-13 20:02:48 -04:00
scawful
7379a8535c cmakelists build cleanup 2024-08-08 13:42:32 -04:00
scawful
94e62b01c4 move SDL2 cmake specifics 2024-08-08 12:31:57 -04:00
scawful
5b8541d28d add yaze cmake build flags 2024-08-08 12:31:44 -04:00
scawful
fdc510da94 take ext out of build 2024-08-07 17:20:31 -04:00
scawful
daa2998abb add linux definitions for FileDialogWrapper 2024-08-07 15:41:32 -04:00
scawful
90cef71707 include z3ed target in src/CMakeLists.txt 2024-08-07 13:55:22 -04:00
scawful
38cbba79e2 implement load_rom and unload_rom 2024-08-06 22:23:43 -04:00
scawful
3b644e8da8 update test/CMakeLists.txt 2024-08-06 22:23:16 -04:00
scawful
4013f30663 add yaze_c lib top level bindings 2024-08-06 21:26:41 -04:00
scawful
51eb640192 add yaze_ext lib for extensions 2024-08-06 21:26:03 -04:00
scawful
5076586aee add yaze_python module 2024-08-06 21:22:01 -04:00