Commit Graph

395 Commits

Author SHA1 Message Date
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
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
scawful
1f5acc66c9 remove unnecessary whitespace and comments in room_object and sprite files 2025-01-02 10:07:15 -05:00
scawful
1e8a6cff90 Refactor tracker: standardize function name casing and remove unnecessary comment separators 2025-01-02 10:06:29 -05:00
scawful
2909809f21 Remove unnecessary screen namespace declarations from dungeon_map, inventory, and title_screen files 2025-01-02 10:06:20 -05:00
scawful
3cbcb61222 Add CalculateRoomSize to Room 2025-01-02 08:37:48 -05:00
scawful
df67e6aaf7 Add LayerMergeType and list of constant types 2025-01-02 08:37:34 -05:00
scawful
72b51376d9 add enums for collision, effects, and tags 2025-01-02 08:35:15 -05:00
scawful
ca702d62e3 refactor overworld: add constants for exits, items, entrances, and map IDs 2025-01-01 19:30:36 -05:00
Justin Scofield
e04fc3d828 housekeeping 2024-12-31 20:43:23 -05:00
scawful
427fd50496 Guard custom overworld loading code with experiment flag 2024-12-31 19:20:32 -05:00
scawful
a54143cbab Refactor Hyrule Magic compression functions to return std::vector<uint8_t> instead of raw pointers for improved memory management 2024-12-31 18:32:25 -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
5e1e2901ff Refactor overworld constants 2024-12-31 17:50:19 -05:00
scawful
aece708513 Refactor overworld entity constants for improved naming consistency and readability 2024-12-31 17:40:15 -05:00
scawful
41c31e3193 Refactor overworld constants to improve naming consistency and readability 2024-12-31 17:39:57 -05:00
scawful
0e67413d55 Refactor logging to use logf function and update log file name 2024-12-31 16:54:44 -05:00
scawful
50e4117230 Add entrance names to common header and update usage in OverworldEditor 2024-12-31 16:40:44 -05:00
scawful
6d2de44b94 Refactor Overworld blockset types and update related function signatures 2024-12-31 16:40:01 -05:00
scawful
19deca88ab Add OverworldEntranceTileTypes and remove EntranceContext boiler plate 2024-12-30 19:04:51 -05:00
scawful
96095969c6 Refactor GfxContext references to use gfx::GfxContext for consistency 2024-12-30 19:04:20 -05:00
Justin Scofield
8b0d12b6c7 DrawSpriteTile 2024-12-30 09:55:50 -05:00
Justin Scofield
75cb615ed6 Breakup conditional for DrawSpriteTile due to MSVC limits 2024-12-30 09:54:12 -05:00
scawful
59e59f8a38 Refactor hex string handling: replace UppercaseHex functions with Hex equivalents 2024-12-30 09:48:19 -05:00
scawful
6699c4e605 Refactor object renderer: update class member types for consistency and clarity 2024-12-30 07:50:46 -05:00
scawful
7e470f2b33 remove dungeon namespace 2024-12-29 16:14:20 -05:00
scawful
8cf16906e6 remove overworld namespace 2024-12-29 16:12: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
77a6313bb3 Move OverworldEntrance, OverworldExit, OverworldItem to own files 2024-12-28 17:18:19 -05:00
scawful
21314702e8 Add EditorContext, refactor utils, add system managers 2024-11-19 23:10:23 -05:00
Justin Scofield
0b9f7ee6fa Refactor includes for improved organization and clarity 2024-11-18 18:01:14 -05:00
scawful
f54e5bf21c Rename SPC-related structures and methods for consistent casing 2024-11-18 14:05:21 -05:00
scawful
b336d14233 Refactor include paths and remove redundant headers in core and editor modules 2024-11-15 23:38:44 -05:00
scawful
d8821c5809 Refactor Overworld tile assembly logic for clarity and efficiency; streamline address handling and improve expansion checks 2024-11-13 08:52:23 -05:00
scawful
84f30f45d0 Refactor includes in dungeon, music, and overworld files to remove unused headers for clarity 2024-11-13 08:51:54 -05:00
scawful
0f3fd1fb5d Rename staircase_rooms_vec_ to z3_staircases for clarity and update related usages 2024-11-10 22:14:15 -05:00
scawful
c640c0af66 Refactor dungeon background enum and update related usages for consistency 2024-11-10 22:05:19 -05:00
scawful
089dc4017c Remove unused functions 2024-11-10 21:40:22 -05:00
scawful
b40699e81d Refactor dungeon room structures and rename classes for consistency 2024-11-10 21:40:06 -05:00
scawful
a70414d803 Store converted binary graphics data in ScreenEditor and rename save functions for clarity 2024-11-10 17:25:26 -05:00
scawful
996c6c92ee Add flags for expanded tile16 and tile32 saving 2024-11-10 17:17:12 -05:00
scawful
0035176f86 Add CopyTile8bpp16 function and refactor usage in OverworldMap 2024-11-10 17:16:46 -05:00
scawful
39308bda5a Update AssembleMap32Tiles and AssembleMap16Tiles for expanded tile handling 2024-11-10 16:58:10 -05:00
scawful
8cccbdfd4c Add SaveMap16Expanded and SaveMap32Expanded functions based on ZS 2024-11-10 16:49:16 -05:00
scawful
89a8e47e9c Fix DungeonMap ScreenEditor gfx bug, update formatting 2024-11-10 09:55:07 -05:00
scawful
749defd1d4 Refactor sprite handling for consistency by standardizing variable naming and improving constructor initialization 2024-11-08 00:13:01 -05:00
scawful
1c8285a498 Refactor room handling for consistency and readability by standardizing variable naming and improving code structure 2024-11-08 00:12:45 -05:00