Commit Graph

202 Commits

Author SHA1 Message Date
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
scawful
d3df11d492 cleanup Rom class interface 2024-08-09 19:29:37 -04:00
scawful
9a2c8ae17a replace old renderer access pattern 2024-08-09 18:58:07 -04:00
scawful
47461a567d add z3_load arg to Rom::LoadFromPointer 2024-08-07 15:22:27 -04:00
scawful
535e7eccda add alternate file size seek to Rom::LoadFromFile 2024-08-07 15:07:03 -04:00
scawful
543bc3d204 add graphics sheets array and num sheets constant 2024-08-06 19:15:16 -04:00
scawful
a630fd0f23 inline common fns, replace redudant code 2024-08-06 17:37:58 -04:00
scawful
6afa707d14 refactor Rom class and constants 2024-08-04 21:04:26 -04:00