Commit Graph

2331 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
d98e8bc324 Refactor Inventory class to remove inheritance from SharedRom and add ROM pointer management. Update LoadDungeonMapGfxFromBinary to simplify palette setting logic, enhancing code clarity and maintainability. 2025-05-03 17:24:43 -04:00
scawful
6e09630733 Refactor HandleHexStringParams to modify hex string directly and add hex_test for comprehensive testing of hex conversion functions with various prefixes. 2025-05-03 14:09:35 -04:00
scawful
95ff46a73f Remove redundant bitmap clearing logic in OverworldEditor::Clear for improved performance and clarity. 2025-05-03 14:08:12 -04:00
scawful
1710430c2e Remove unused methods and comments from Bitmap class for improved clarity and maintainability. This includes the removal of surface saving, initialization, cleanup, and palette management functions that are no longer needed. 2025-05-02 12:14:04 -04:00
scawful
d6551f84d2 Refactor graphics handling to utilize Arena for graphics sheets management
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.
2025-05-02 12:06:46 -04:00
scawful
4f8d765c48 Refactor Bitmap class to utilize Arena for surface and texture management
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.
2025-04-30 18:00:44 -04:00
scawful
d92f9b7b04 Add Arena class for texture and surface management in graphics module
Introduce the Arena class to manage a collection of SDL textures and surfaces, providing methods for allocation, deallocation, and updating textures.
2025-04-30 17:59:34 -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
8f50d78ec7 Refactor DungeonEditor to use arrays for rooms and entrances, improving memory management and performance. Remove unused variables and streamline drawing methods for better clarity. 2025-04-30 17:50:13 -04:00
scawful
e202d65780 Move GraphicsSheetManager to snes.h 2025-04-30 17:49:09 -04:00
scawful
3bd05f6beb Enhance Renderer class with Clear and Present methods for improved rendering control; remove unnecessary comments and streamline SDL_Surface and SDL_Texture deleters by eliminating memory tracking logic. Additionally, remove unused TexturePool class to simplify the codebase. 2025-04-30 00:44:12 -04:00
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
dcd7a81432 Refactor asset loading in EditorManager to iterate over active editors; streamline loading process for better scalability and maintainability. 2025-04-29 13:38:47 -04:00
scawful
ad60cd3fd3 Remove snes.h header file and migrate SNES-related structures to yaze.h for better organization; update includes in snes_color.h and snes_tile.h accordingly. 2025-04-29 13:38:20 -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
d77aa2ab61 Remove CleanupUnusedTextures method from Editor and OverworldEditor classes; eliminate unused texture cleanup logic from EditorManager to streamline performance. 2025-04-29 08:21:11 -04:00
scawful
0b9002e455 Refactor TexturePool class for improved readability and maintainability; reorganize method definitions and formatting for consistency. 2025-04-29 08:20:59 -04:00
scawful
718a14ca62 Refactor OverworldEditor and Tile16Editor to use Tilemap instead of array of Bitmap 2025-04-29 00:26:16 -04:00
scawful
3dc8a1f0ee Add Tile class and constructor overloads for tile data initialization 2025-04-29 00:09:58 -04:00
scawful
102f7b95e0 Add Tilemap functionality with creation, updating, and rendering capabilities; implement data retrieval for individual tiles, enhancing graphics management in the application. 2025-04-29 00:09:32 -04:00
scawful
68eb3a657c Refactor OverworldEditor to improve map index calculation; streamline current_map_ assignment and maintain clarity in highlighted map logic. 2025-04-27 14:01:06 -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
5c20d867ad Refactor DrawHomepage function in EditorManager to streamline UI elements; update welcome text, enhance recent files display, and improve button layout for better user experience. 2025-04-27 13:29:35 -04:00
scawful
f533ffb88b Enhance message parsing and editor functionality; add expanded message settings UI, improve message data handling, and remove import/export features for cleaner code structure. 2025-04-23 22:24:09 -04:00
scawful
683b7f637d Update SetColorsPalette function to set palette size to 256, no longer uses vector as underlying so assignment operations dont increment size 2025-04-23 20:17:04 -04:00
scawful
131f0485c6 Add context menu options for editable palette in Canvas; implement BeginCanvas and EndCanvas functions for improved canvas management. 2025-04-23 20:16:38 -04:00
scawful
9d2cb918b9 Update Tile16Editor to accept a pointer for tile16_individual; adjust OverworldEditor initialization accordingly for improved memory management. 2025-04-20 17:44:51 -04:00
scawful
c0c6374539 Refactor event handling in Controller::OnInput to use SDL_WaitEvent instead of polling; improves efficiency by reducing CPU usage during event processing. 2025-04-20 17:37:05 -04:00
scawful
97bb0a8bc6 Remove vsync from Renderer 2025-04-20 17:36:14 -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
8c207dc292 Implement SnesColor and SnesPalette constructors for enhanced color initialization; add methods for setting RGB and SNES values in SnesColor, improving color management and conversion capabilities. 2025-04-18 19:04:59 -04:00
scawful
6c6f7a9581 Add comprehensive tests for SnesColor and SnesPalette classes, including constructors, color addition, updating, sub-palettes, and iterator functionality; ensure proper behavior and state management in various scenarios. 2025-04-17 22:12:14 -04:00
scawful
afab5900f7 Add color conversion utility and editable palette display functionality; implement color picker and context menu options for palette colors in the GUI. 2025-04-17 21:50:01 -04:00
scawful
9ad41f9f8b Refactor SnesColor class to use constexpr for constructors and methods, improving compile-time evaluation and performance; include <array> for better type handling. 2025-04-17 21:49:55 -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
eeab477e72 Add RenderLayout function to handle dynamic rendering of Text and Button elements; introduce Layout struct for managing UI components in input module. 2025-04-17 21:33:35 -04:00
scawful
c3d707901c Refactor MessageEditor to utilize gfx::SnesColor for font preview colors and replace custom TextBox implementation with gui::TextBox for improved functionality; adjust child window dimensions dynamically based on current font bitmap size. 2025-04-17 21:33:20 -04:00
scawful
a267e18f46 Refactor Bitmap class to improve texture management and memory tracking; implement custom allocators for SDL_Surface and SDL_Texture, enhance bitmap constructors, and add utility functions for tile extraction and pixel manipulation. 2025-04-16 22:35:47 -04:00
scawful
875d3d2bcf Introduce TexturePool for efficient texture reuse. 2025-04-16 22:35:42 -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
c2a0cd930c Refactor DrawRomSelector method in EditorManager to return absl::Status for improved error handling; update method signature in header file and adjust menu drawing logic accordingly. 2025-04-16 22:34:57 -04:00
scawful
a01d554f15 Enhance message editor with import/export functionality for messages, including file handling and UI updates 2025-04-16 22:34:34 -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
e7f976fcf0 add hyperlink to GitHub in the homepage for easier access to the project 2025-04-16 19:06:01 -04:00
scawful
fa68ba9167 Update submodule references for imgui and imgui_test_engine to latest commits. 2025-04-16 17:35:12 -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
75d7ba9382 Enhance ClickableText function to improve hover and click detection; refactor text rendering with dynamic color based on hover state and streamline cursor positioning for better UI interaction. 2025-04-16 17:20:05 -04:00
scawful
c60c392264 Refactor EditorManager to handle status from ROM operations; improve error handling in ROM selector. Update overworld loading logic for consistency. 2025-04-12 13:25:40 -04:00
scawful
5637c20cb5 Add palette constants 2025-04-12 13:24:56 -04:00