Commit Graph

209 Commits

Author SHA1 Message Date
scawful
9d1845f997 Refactor ROM data handling and improve file saving logic
- Removed redundant copy operation in SaveAllGraphicsData.
- Updated SaveToFile to truncate existing content instead of appending, ensuring a clean write.
- Simplified error handling for file operations.
- Introduced dirty flag management in Write methods to track unsaved changes.
- Added getter and setter for dirty state in the Rom class.
2025-09-13 11:16:47 -04:00
scawful
fdda77c172 Refactor ROM handling and remove SharedRom singleton for improved architecture
- Eliminated the SharedRom class to enhance modularity and reduce global state management.
- Updated various classes to directly manage ROM instances, improving clarity and encapsulation.
- Added new functions for loading messages and colors from ROM, enhancing functionality.
- Refactored Canvas and Editor classes to utilize direct ROM references, streamlining interactions.
- Improved documentation and comments for better code understanding and maintainability.
2025-08-03 17:52:02 -04:00
scawful
b5f6930d38 Refactor window management and renderer integration for improved structure
- Replaced platform backend references with a dedicated Window class for better encapsulation of window and audio device management.
- Updated various files to include the new window header, enhancing clarity and reducing dependencies on the platform backend.
- Removed obsolete platform backend code to streamline the codebase and improve maintainability.
- Refactored controller and editor classes to utilize the new window management system, ensuring consistent handling of window creation and rendering.
2025-08-03 16:09:51 -04:00
scawful
095b3df27e Refactor graphics loading and decompression for consistency
- Updated various graphics loading functions to ensure consistent use of semicolons in ASSIGN_OR_RETURN statements.
- Changed set_filename method in Rom class to accept std::string_view for improved efficiency.
- Enhanced code readability and maintainability across multiple files by standardizing syntax.
2025-05-19 17:15:15 -04:00
scawful
8d34ebf534 Refactor ROM save functionality to use structured settings
- Introduced a new SaveSettings struct to encapsulate parameters for the SaveToFile method, improving clarity and maintainability.
- Updated SaveToFile method signature to accept SaveSettings instead of individual parameters.
- Adjusted SaveRom method in EditorManager to utilize the new SaveSettings struct for better parameter management.
- Removed redundant label loading from LoadFromFile when z3_load is true, streamlining the loading process.
2025-05-13 21:00:53 -04:00
scawful
f75830c06c Add LoadFontGraphics function and update Load2BppGraphics sheet IDs
- Introduced LoadFontGraphics function to handle font graphics loading from ROM data.
- Updated Load2BppGraphics to use hex sheet IDs.
2025-05-10 11:01:24 -04:00
scawful
11504ca4c1 Refactor Renderer access and enhance graphics loading functionality
- Replaced instances of Renderer::GetInstance() with Renderer::Get() for consistency across the codebase.
- Updated various rendering methods to streamline bitmap updates and enhance performance.
- Removed unused includes and comments to improve code clarity and maintainability.
2025-05-08 19:37:48 -04:00
scawful
53f1fa81f3 Refactor ROM class; introduce snes.h for address conversion utilities, enhancing code organization and maintainability. 2025-04-29 13:47:00 -04:00
scawful
114084ef95 Refactor ROM loading and saving methods for clarity and consistency; streamline filename handling, remove unused flags, and rename SaveGroupsToRom to SaveGfxGroups for better readability. 2025-04-29 10:27:35 -04:00
scawful
44e13cf4bb Refactor bitmap palette management across various components to streamline palette setting and improve error handling; remove unnecessary status checks and enhance consistency in palette application methods. 2025-04-17 21:49:47 -04:00
scawful
00d30efbf1 Add short name handling for ROMs in Rom class; update EditorManager to use short names in the ROM selector for improved UI clarity. 2025-04-16 17:33:48 -04:00
scawful
c99a4b0bc4 rename ApplyPalette with SetPalette 2025-03-02 17:06:46 -05:00
scawful
43fc52dec7 Refactor SnesToPc and PcToSnes functions for improved readability and consistency; remove redundant core:: namespace usage 2025-01-22 13:45:58 -05:00
scawful
de53ccae21 Refactor ExperimentFlags to FeatureFlags for consistency across the codebase 2025-01-22 13:41:28 -05:00
scawful
b245b10963 Refactor logging to use util::logf and add log utility header 2025-01-22 13:36:37 -05:00
scawful
50c9223a53 Add hex utility functions and refactor usage in editors 2025-01-22 13:28:21 -05:00
scawful
62e6157864 Refactor GetGraphicsAddress to return uint32_t and remove unnecessary namespace 2025-01-22 10:38:07 -05:00
scawful
809282edad remove nonstandard type aliases 2025-01-19 20:16:40 -05:00
scawful
339df53674 Refactor ROM loading methods 2025-01-18 12:33:33 -05:00
scawful
3fc52cce62 Add zelda.h for game version handling and refactor ROM version management 2025-01-18 00:45:44 -05:00
scawful
9c7f78a228 update z3_dungeon_room public data type internals 2025-01-06 15:48:36 -05:00
Justin Scofield
88198323b3 Refactor ROM handling and update Overworld methods
Updated MessageEditor, RoomEntrance, and Overworld classes to use WriteByte instead of Write for byte values. Refactored ROM class by removing Write and toint16 methods, moving constants, and updating operator[]. Modified Overworld methods to return absl::Status and handle errors. Updated Inventory and OverworldMap methods to use ReadWord instead of toint16.
2025-01-05 21:19:53 -05:00
Justin Scofield
fe0dbd3642 Refactor graphics sheet management with singleton class
Refactor the handling of graphics sheets by introducing a singleton class `GraphicsSheetManager`. This centralizes the management of graphics sheets, replacing direct access through the `Rom` object. Key changes include:

- Updated various methods across multiple classes to use `GraphicsSheetManager::GetInstance()` for accessing and manipulating graphics sheets.
- Introduced standalone functions `LoadLinkGraphics`, `LoadAllGraphicsData`, and `SaveAllGraphicsData` for loading and saving graphics data.
- Refactored the `Rom` class to remove methods and member variables related to graphics sheet management.
- Updated `OverworldEditor` to use `std::array` for `maps_bmp_` and added error handling for `std::bad_alloc` exceptions.
- Improved code modularity and error handling throughout the application.
2025-01-04 20:04:00 -05:00
Justin Scofield
8b54906a51 Merge branch 'master' of https://github.com/scawful/yaze 2024-12-31 19:21:24 -05:00
Justin Scofield
7b00e0838f Fix ROM title extraction in LoadZelda3 function
Resized the `title_` variable to `kTitleStringLength` to ensure it can hold the ROM title string. Used `std::copy` to copy the ROM title from `rom_data_` starting at `kTitleStringOffset` to `kTitleStringOffset + kTitleStringLength` into the `title_` variable. This change ensures that the `title_` variable correctly stores the ROM title extracted from the `rom_data_`.
2024-12-31 18:53:33 -05:00
scawful
308eb4b287 Rename Hyrule Magic compression functions; update deprecation notes 2024-12-31 18:20:18 -05:00
scawful
d3eca0f950 Make ExperimentFlags a singleton, remove inheritance relationships 2024-12-31 18:13:53 -05:00
scawful
54c170373b Change Load2BppGraphics to standalone fn, add mutable_data accessor 2024-12-29 09:58:58 -05:00
scawful
e05e7c35db remove app namespace 2024-12-28 21:28:51 -05:00
scawful
e3ed705336 Refactor tab handling in Dungeon and Graphics editors for improved readability 2024-11-13 09:42:54 -05:00
scawful
12309f460e Refactor SaveAllGraphicsData 2024-11-13 09:40:36 -05:00
scawful
6aadd51a2d Implement SaveAllGraphicsData function to handle graphics sheet saving 2024-11-13 09:30:55 -05:00
scawful
d6a4217118 Change gfx groups from vectors to arrays in Rom 2024-11-02 10:33:39 -05:00
scawful
b22da9edb4 Refactor Rom class to improve code organization and remove unused dependencies 2024-10-11 10:46:06 -04:00
scawful
52c844eb98 Add defer_render to LoadAllGraphicsData, overworld test 2024-08-29 22:45:50 -04:00
scawful
4099d8731d Refactor ROM class to use uint32_t for loop counters in LoadLinkGraphics, LoadAllGraphicsData, LoadGfxGroups, and SaveGroupsToRom methods 2024-08-22 01:28:04 -04:00
scawful
c83d0440d8 cleanup snes_palette stuff 2024-08-21 10:13:13 -04:00
scawful
a8ed9b7f92 remove magic numbers, enforce const correctness 2024-08-20 21:31:59 -04:00
scawful
49611d4944 big cleanup, replace Bytes alias with std::vector<uint8_t> to reduce ambiguity 2024-08-20 12:02:47 -04:00
scawful
97dda2bfd9 chore: Update ReadWritePreconditions for empty data but loaded file 2024-08-14 19:55:57 -04:00
scawful
1234510d29 Refactor Rom to fix LoadLinkGraphics format 2024-08-14 19:41:26 -04:00
scawful
4b990662df Add Rom::LoadZelda3 for loading game data across Load fns 2024-08-14 18:28:12 -04:00
scawful
5c68f61544 Refactor Rom class to use constants for blockset and spriteset sizes 2024-08-14 18:27:40 -04:00
scawful
6c259340f9 Add new RomTests and fix small bugs in Rom class 2024-08-14 00:51:43 -04:00
scawful
54e8d7c3a5 Remove deprecated BitmapManager and experiment flag 2024-08-13 22:02:05 -04:00
scawful
5ccb30f999 Refactor Rom::LoadLinkGraphics() for improved readability and maintainability 2024-08-13 21:28:09 -04:00
scawful
164ae60f5a remove deprecated graphics_bin 2024-08-13 21:22:02 -04:00
scawful
cc39225a2a update yaze_py module and py ext sample 2024-08-10 22:55:13 -04:00
scawful
6dc90ead13 change rom title from c char to std::string 2024-08-10 21:42:09 -04:00
scawful
fecfd4f2a3 add sanity checks to Rom::LoadFromPointer 2024-08-10 00:12:38 -04:00