- Updated ConvertRgbToSnes function to use static_cast for color channel values, ensuring correct conversion to uint8_t.
- Modified SnesColor constructor to apply static_cast for color channel values during initialization, improving accuracy in color representation.
- Updated Emulator class to remove inheritance from SharedRom and streamline ROM handling.
- Refactored memory access methods in Emulator and Snes classes to use consistent naming conventions.
- Enhanced DungeonObjectRenderer to utilize the updated Snes class for CPU and memory operations, improving clarity and maintainability.
- Cleaned up unnecessary comments and improved code formatting for better readability.
- Updated yaze_save_rom and Backup command to use the new SaveSettings struct for improved clarity and maintainability.
- Adjusted SaveToFile calls in Tile16Transfer to align with the new structured settings approach.
- Enhanced parameter management for ROM saving operations across multiple components.
- Introduced RenderTile16 and UpdateTile16 functions for rendering and updating 16x16 tiles in the Tilemap.
- Added ModifyTile16 function to facilitate the composition and placement of tile parts within the Tilemap.
- Updated Tilemap structure to include a vector for storing tile information.
- Refactored related functions to enhance tile handling and rendering capabilities.
- 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.
- Updated tab item handling in GraphicsEditor and ScreenEditor to ensure proper opening and closing of tab items.
- Improved layout management by replacing deprecated macros with ImGui table functions for better readability and maintainability.
- Adjusted palette display function signature in color handling to return a boolean for success status instead of absl::Status.
- Enhanced tile rendering functions for consistency and clarity in the graphics editing workflow.
- Updated RoomEntrance constructor and Save method to accept a pointer to Rom instead of a reference, improving memory management.
- Refactored data access methods to utilize the new pointer syntax for reading and writing ROM data.
- Enhanced code readability and consistency by applying the pointer approach throughout the class methods.
- Updated ReadAllTextData to return a vector of MessageData instead of modifying an external list, improving data management.
- Added support for special elements in ParseMessageData to enhance message parsing capabilities.
- Introduced DisplayTextOverflowError function for better error handling in message saving.
- Refactored MessageEditor to utilize the new ReadAllTextData signature and improved expanded message handling.
- Cleaned up unused functions and variables in MessageEditor for better code organization.
- Combined TextCommands and SpecialChars into a single vector for streamlined matching in FindMatchingElement.
- Removed unnecessary logging in ParseMessageToData for cleaner error handling.
- Updated FindRealDictionaryEntry function signature for improved readability.
- Enhanced DrawCurrentMessage to strip newline characters from input before parsing.
- Added command parameter input in DrawTextCommands for better user interaction.
- Cleaned up unused ToString methods in MessageData and TextElement structures.
- Updated UnpackBppTile and ConvertBpp functions to accept std::span instead of std::vector, enhancing flexibility and reducing unnecessary copies.
- Refactored LoadSNES4bppGFXToIndexedColorMatrix to return a std::vector instead of modifying a destination span, improving usability.
- Cleaned up variable names for consistency and readability throughout the affected functions.
- Modified DrawTileSelector function to accept an additional parameter for tile height, defaulting to the original size if not provided.
- Adjusted the logic for calculating the second point in the tile selection to use the new height parameter, improving flexibility in tile rendering.
- Introduced MessagePreview class to handle message rendering and preview logic.
- Updated MessageEditor to utilize MessagePreview for drawing messages and managing font graphics.
- Refactored drawing methods to improve organization and clarity, including the addition of DrawFontAtlas and DrawExpandedMessageSettings.
- Enhanced message handling by integrating new dictionary entry lookup and improved bitmap updates for message previews.
- Cleaned up unused functions and variables to streamline the codebase.
- Replaced instances of Renderer::GetInstance() with Renderer::Get() for consistency in tilemap rendering.
- Introduced new functions for fetching and mirroring tile data, enhancing tile manipulation capabilities.
- Added ComposeTile16 function to facilitate the composition of 16x16 tile graphics from individual tile parts.
- Updated RenderTile to handle bitmap updates more efficiently and ensure proper rendering of tiles.
- Included necessary header for SNES tile handling to support new functionalities.
- Simplified pixel format handling by removing the 2BPP format and adjusting related cases.
- Eliminated unused texture tracking variables from the Bitmap class.
- Removed the ExtractTile8Bitmaps function to streamline bitmap processing and reduce complexity.
- Added SNES header include to message_data.cc for better integration.
- Simplified dictionary token formatting in ReadAllTextData function.
- Removed unused ImportMessageData function from message_data.h.
- Streamlined bitmap updates and rendering in MessageEditor, replacing instances of Renderer::GetInstance() with Renderer::Get().
- Enhanced message preview functionality with improved scrolling and drawing logic.
- Adjusted canvas sizes for better layout consistency.
- Replaced instances of Renderer::GetInstance() with Renderer::Get() for consistency across the codebase.
- Enhanced gesture handling in iOS by adding mouse position events for touch gestures.
- Streamlined test initialization for ImGui to align with recent renderer access changes.
- 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.
- Removed unused conversion functions for 3bpp to 4bpp and vice versa to streamline code.
- Updated SnesTo8bppSheet function to use std::span for improved performance and flexibility.
- Added LoadSNES4bppGFXToIndexedColorMatrix function to handle loading graphics data into an indexed color matrix, enhancing graphics management capabilities.
- Removed unused methods and streamlined color handling in the PaletteEditor.
- Introduced a quick access tab for palette categories and improved custom palette editing with context menus.
- Enhanced color picker functionality and added recently used colors feature for better user experience.
- Updated palette drawing methods to improve clarity and maintainability.
Introduce the BackgroundBuffer class to handle tile management and rendering for SNES backgrounds. This includes methods for setting and getting tile values, clearing the buffer, and drawing tiles and backgrounds using provided graphics data. The class is designed to facilitate efficient graphics rendering in the application.
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.
Update various editors to replace instances of GraphicsSheetManager with gfx::Arena for accessing graphics sheets. This change enhances memory management and performance by centralizing graphics data handling within the Arena class. Clean up related code for improved clarity and maintainability.
Replace custom surface and texture allocation methods with Arena's allocation, improving memory management. Update related methods to work with raw pointers instead of smart pointers, enhancing performance and reducing overhead. Clean up unused code and comments for better clarity.