Commit Graph

1797 Commits

Author SHA1 Message Date
scawful
e8659e9fde Refactor audio buffer allocation: replace raw pointer with shared pointer for better memory management 2025-02-10 11:47:03 -05:00
scawful
646db9607a Refactor Controller and File Dialog: streamline platform handling, remove redundant parameters, and enhance initialization logic 2025-01-26 19:28:40 -05:00
scawful
db9fab83df Remove ConstantManager and related includes; update editor context accordingly 2025-01-26 13:38:45 -05: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
1bc0f07a7e Refactor FlagsMenu to core namespace; remove redundant flags.h file and update references in editor files 2025-01-26 13:20:29 -05:00
scawful
9a11c970ae Change yaze_run_cocoa_app_delegate to return an int for better error handling; update main to reflect this change 2025-01-26 13:19:58 -05:00
scawful
26cda69d44 Refactor common functionality into zelda3 namespace; remove references to core::common 2025-01-22 13:53:01 -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
a5b94ab173 Refactor folder item management and move NotifyValue to a new utility header 2025-01-22 13:32:45 -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
dd9f05aeb7 Fix ROM file handling to use Get() method for flag retrieval 2025-01-22 10:38:01 -05:00
scawful
01db131adb Add flag handling for ROM file in main application 2025-01-21 22:13:00 -05:00
scawful
e0797fee24 Rename snes_color.h to snes.h and consolidate tile structures 2025-01-19 21:00:51 -05:00
scawful
809282edad remove nonstandard type aliases 2025-01-19 20:16:40 -05:00
scawful
581f86bdb6 Add ParseSingleMessage function to handle message parsing from ROM data 2025-01-19 20:01:46 -05:00
scawful
de75cc6850 Update tests 2025-01-19 18:55:01 -05:00
scawful
38d34fd40c Add BPS patch utility functions and integrate into CLI handlers 2025-01-19 18:46:56 -05:00
scawful
20ab684aae Add begin() and end() methods to SnesPalette for improved iteration 2025-01-18 22:01:45 -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
1c53ba24c5 Refactor PPU and CPU classes by removing Clock dependency and updating constructors 2025-01-18 00:12:12 -05:00
scawful
911cac401d Refactor message data handling and improve variable naming for clarity 2025-01-17 23:30:41 -05:00
scawful
c8883a1e54 Remove unused includes and clean up header files 2025-01-16 03:44:37 -05:00
scawful
d9cc92edca Add ParseMessageData to message data helper fns 2025-01-09 21:23:14 -05:00
scawful
e13cdcbf4b Add DrawDungeonMapsRoomGfx 2025-01-06 21:39:27 -05:00
scawful
40a09f17e9 re-render graphics injected into tile16 editor 2025-01-06 21:38:59 -05:00
scawful
7ad0672e74 Wrap overworld sprite graphics draw in experiment flag 2025-01-06 21:38:42 -05:00
scawful
d38ae7914d Load sprites after overworld maps for current gfx 2025-01-06 21:36:51 -05:00
scawful
013edb3fae update yaze public header, remove sprite.h, add z3_dungeon_sprite 2025-01-06 16:21:37 -05:00
scawful
4c39f02224 update dungeon header 2025-01-06 15:55:44 -05:00
scawful
9c7f78a228 update z3_dungeon_room public data type internals 2025-01-06 15:48:36 -05:00
scawful
2d15833b0d Implement folder dialog, subdirs, files with nfd 2025-01-06 13:25:49 -05:00
scawful
65be2d0bd2 move sdl_delete.h to platform 2025-01-06 13:23:07 -05:00
scawful
b3bc05e620 consolidate file related functions, add nativefiledialog-extended to build 2025-01-06 13:21:28 -05:00
scawful
6bf8b62d64 Merge remote-tracking branch 'refs/remotes/origin/master'
Merge changes made on visual studio repo.
2025-01-06 11:13:29 -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
510581ad1f Refactor Overworld loading to use async tasks
Refactored Overworld::LoadSprites to use std::async for concurrent sprite loading, improving efficiency. Modified Overworld::LoadOverworldMaps to wait for all async tasks and check results for errors. Updated Overworld::LoadSpritesFromMap to use mutable_current_graphics() for mutable access to current graphics. Added mutable_current_graphics method to OverworldMap class. Optimized Sprite constructor to take a const reference to avoid unnecessary copying.
2025-01-05 20:57:13 -05:00
Justin Scofield
839449e85d Improve logging and reformat CreateWindow call
Updated common.h to include <chrono> and absl/strings/str_cat.h.
Modified logf to include a timestamp in log messages.
Replaced log_to_console with ExperimentFlags::get().kLogToConsole.
Removed newline character from logf output.
Reformatted SDL_CreateWindow call in controller.cc for readability.
2025-01-05 20:56:53 -05:00
Justin Scofield
cf13d6bf9e Update Bitmap and add Initialize function 2025-01-05 20:55:36 -05:00
Justin Scofield
5e0fb9e36e Add ReloadPackageFonts 2025-01-05 20:54:56 -05:00
Justin Scofield
f625fc94b3 Updated GraphicsEditor and Tile16Editor to use std::array instead of std::vector for better performance. 2025-01-05 20:54:19 -05:00
Justin Scofield
02a86c41da Refactored EditorManager to consolidate popup drawing methods into a single DrawPopups method and added a DrawMenuBar method. Replaced DrawYazeMenu with DrawHomepage for displaying a welcome message and options for opening a ROM. Introduced a LoadRom method to handle ROM loading and updated related methods to set the current_rom_ pointer. Added settings_editor_ to the list of active editors. 2025-01-05 20:54:02 -05:00
Justin Scofield
31217e1c5c Refactor flags and add Font Manager to settings editor
Simplified `ExperimentFlags` by removing unused flags and updated
`Controller` to no longer inherit from it. Refactored `FlagsMenu`
to separate flag categories into individual methods for better
organization. Enhanced settings editor with a new "Font Manager"
tab and updated `DrawGeneralSettings` to use the new flag category
methods. Added `DrawFontManager` function for font management.
2025-01-05 11:58:45 -05:00
Justin Scofield
66dc72148d Add helper functions SetFontPath, LoadFont, AddIconFont, and AddJapaneseFont 2025-01-05 06:38:14 -05:00
Justin Scofield
f1f6df829f controller and canvas houskeeping 2025-01-05 06:17:09 -05:00
Justin Scofield
2d9f4be91d Refactor and add default values to various structs
- Removed `FindMatchingCharacter` declaration from `message_data.h`
- Added default values to `DictionaryEntry` and `MessageData` members
- Marked several methods in `DictionaryEntry`, `MessageData`, and `TextElement` as `const`
- Updated `TextElement` constructor to take `const std::string&`
- Added string constants for text descriptions in `TextElement`
- Updated `TextCommands` vector to use new string constants
- Declared new function `FindMatchingCommand`
- Included `<array>` header in `message_editor.h`
- Changed `width_array` in `MessageEditor` to `std::array` with default initialization
- Removed `list_of_texts_` and `all_dictionaries_` vectors from `MessageEditor`
- Added default values to `GameEntity` members
- Initialized `sheets` array in `PseudoVram`
- Initialized `map_parent_` and `all_tiles_types_` arrays in `Overworld`
2025-01-04 20:05:46 -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