Commit Graph

88 Commits

Author SHA1 Message Date
scawful
38b459777d Add RenderRoomGraphics method to Room class for improved graphics rendering
Implement RenderRoomGraphics in the Room class to handle the rendering of room graphics, including floor and background drawing. This addition enhances the graphics management by utilizing the gfx::Arena for rendering operations and updating bitmaps as needed. Update room.h to declare the new method.
2025-05-03 23:40:26 -04:00
scawful
6d23128060 Refactor Room and RoomObject classes to remove inheritance from SharedRom, enhancing code clarity and maintainability. Introduce ROM pointer management in both classes for improved functionality. Update LoadRoomFromRom to accommodate new constructor signature. 2025-04-30 17:51:42 -04:00
scawful
ff74c0c92a Enhance DungeonEditor functionality by adding room graphics loading and rendering capabilities; implement bitmap drawing for background layers and room objects in the canvas, improving visual representation of dungeon rooms. 2025-04-27 14:00:40 -04:00
scawful
903c1246c7 Refactor DungeonEditor to streamline room loading and size calculation; replace individual room loading methods with a unified LoadRoomFromRom function, and update room size management to utilize a dedicated RoomSize struct for improved clarity and efficiency. 2025-04-19 12:12:19 -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
110106dc61 Implement object rendering enhancements in DungeonObjectRenderer, including instruction execution limit to prevent infinite loops, improved tilemap initialization, and added palette setting functionality. Update header file with detailed method documentation. 2025-04-16 22:35:15 -04:00
scawful
97788fc033 Refactor canvas drawing methods to remove unnecessary bitmap parameters in context menu and bitmap drawing functions; update inventory and graphics editors to use new method signatures for improved consistency and clarity. 2025-04-16 21:44:07 -04:00
scawful
5e13b1b571 Remove dungeon.h and overworld.h headers; integrate their structures directly into zelda.h and update include paths in related source files. 2025-04-11 00:50:48 -04:00
scawful
087b194651 Remove unused room_tag.h header file and clean up includes in room.cc 2025-04-10 17:55:01 -04:00
scawful
ecbf991305 Move object names 2025-04-05 19:41:58 -04:00
scawful
e02ab2ded7 Refactor Room::CalculateRoomSize to use util::logf for logging and improve readability 2025-03-19 00:38:50 -04: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
809282edad remove nonstandard type aliases 2025-01-19 20:16:40 -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
c8883a1e54 Remove unused includes and clean up header files 2025-01-16 03:44: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
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
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
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
50e4117230 Add entrance names to common header and update usage in OverworldEditor 2024-12-31 16:40:44 -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
e05e7c35db remove app namespace 2024-12-28 21:28:51 -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
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
b40699e81d Refactor dungeon room structures and rename classes for consistency 2024-11-10 21:40:06 -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
scawful
3be53b9e53 add dungeon.h to incl 2024-10-07 07:59:38 -04:00
scawful
1bc3188f1b include housekeeping 2024-10-07 07:59:26 -04:00
scawful
ea8a851539 clang tidy cleanups 2024-08-21 00:37:14 -04:00
scawful
3b5e4cd791 chore: Refactor room object loading and drawing methods 2024-08-21 00:09:57 -04:00
scawful
4baa302f40 Refactor room entrance constants 2024-08-20 23:14:30 -04:00
scawful
a9d365f3b4 cleanup constants 2024-08-20 23:09:10 -04:00
scawful
7b33313281 big cleanup 2024-08-20 22:10:35 -04:00
scawful
a8ed9b7f92 remove magic numbers, enforce const correctness 2024-08-20 21:31:59 -04:00
scawful
c3c310a84c Deprecation bitmap_manager efforts 2024-08-13 21:33:45 -04:00
scawful
164ae60f5a remove deprecated graphics_bin 2024-08-13 21:22:02 -04:00
scawful
be32ee9797 fix all unhandled status return type compiler warnings 2024-05-28 17:29:21 -04:00
scawful
f28e26ef28 housekeeping 2024-05-24 20:37:29 -04:00
scawful
885897072c inline room object name arrays 2024-05-11 14:48:15 -04:00
scawful
1c182efd01 Remove unused code from object renderer 2024-04-25 10:21:17 -04:00
scawful
1a4563f9e7 overhaul cleanups 2024-04-22 15:58:39 -04:00