Full notes
Full Tanxl update
Read the full published notes in a cleaner layout. The original post stays linked below.
What changed
- Gameplay
- Maps
- UI and audio
- Performance
- Fixes
- Events
Tanxl changes
Game Content Updates:
Added new red bed texture.
Optimized details of bookshelf textures.
Added new road texture with manhole covers.
Reduced the floor area of the protagonist's bathroom.
Redrew animation frames for the player's forward movement.
Adjusted the protagonist's default position and preloading parameters.
Added remastered textures for three new characters.
Game Engine Updates:
Changed the grid size variable of the Coordinate Module to use the module's built-in type.
Removed boundary checks in coordinate conversions from the Coordinate Module.
Moved the counters controlling the current map's display width and height into the Coordinate Module.
Added a destructor to the Console Module.
Restored the screen-clearing function in the Console Module.
Split the map display data loading function in the Map Data Module into five shorter functions.
Removed unnecessary string copies from functions with string parameters in the Map Data Module.
Used string streams in the Random Module to concatenate randomly generated map data.
Added exception detection for probability parameters in the map data generation function of the Random Module.
Added a component retrieval interface with range detection to the Item Module.
The texture coordinate generation interface in the Texture Module now returns smart pointers.
Added batch texture addition functionality to the Texture Module.
Added texture existence check functionality to the Texture Module.
Rewrote the texture initialization function in the Rendering Module using batch processing.
Improved boundary checks for the character retrieval interface in the Font Module.
Changed the animation texture container in the Texture Module from an array to a standard library container.
Modified the button shader to draw button positions based on parameters.
Added instanced rendering support to the on-screen button class in the Rendering Module.
Added instanced rendering functionality to the Render Layer Module.
Adapted the button state update interface in the Rendering Module to coordinate format changes.
Implemented on-screen buttons in the Rendering Module using the new instanced rendering.
Moved the batch texture initialization array from the Texture Module to the Rendering Module.
Added a new texture data structure to the Texture Module.
Made the interface for setting button instance data in the Rendering Module const.
Changed the texture path storage structure in the Texture Module to a namespace.
Switched to using structures for texture data storage in the Texture Module.
Optimized the texture addition and initialization function in the Texture Module, updating input parameters to use texture data.
Refactored the animation texture initialization process in the Texture Module to align with other texture workflows.
Removed the image rendering function that takes paths as parameters from the Rendering Module.
Made the batch texture addition function in the Texture Module an overload of the single texture addition interface.
Removed the texture ID retrieval interface from the Texture Module.
Removed the texture count retrieval function from the Texture Module's containers.
Moved the predefined texture initialization function from the Rendering Module to the Texture Module.
Added destruction of initialized textures to the Texture Module's destructor.
Fixed the issue in the Map Data Module where the display data container clearing function only worked when clearing all data.
Added invalid ID checks when destructing textures in the Render Layer Module.
Added texture loading status checks to the button class in the Rendering Module.
Immediately delete the program if shader linking fails in the Rendering Module.
Added deallocation of dynamically created render layers to the Rendering Module's destructor.
Merged multiple equipment retrieval and setting interfaces in the Item Module into one.
Changed the parameter of the equipment copy constructor in the Item Module to a const reference.
Added an item texture interface in the Item Module to avoid redundant copies.
Removed the texture information structure from the Animation Module.
Added three auxiliary functions for animation creation in the Texture Module.
Simplified the animation texture loading process in the texture data refresh interface of the Texture Module.
Added parameter validation to the button event registration function in the Input Module.
Added shader program creation success checks to the Render Layer Class initialization function.
Added texture ID validity checks to the reusable texture setting interface in the Render Layer Class.
Added music scene enumerations to the Audio Module.
Added four scene-related background audio setting interfaces to the Audio Module.
Made existing audio playback interfaces in the Audio Module private.
Added four audio module management interfaces to the Engine Management Module.
Switched to the new audio playback functionality in the main function.
Retained only the concise version of the two header file protection mechanisms.
Fixed the counterintuitive return data issue when adding coordinates in the Coordinate Module.
Added general update detection interfaces to the Engine Management Module.
Removed redundant variables marking music playback status in the Audio Module.
Added a function to release all fonts to the Font Module.
Moved map data to the data folder directory.
Fixed the inconsistency between the database copy function's behavior and description in the Storage Module.
Changed string exceptions thrown by the Storage Module to standard exceptions.
Fixed the uninitialized component count issue in the character object's move constructor in the Item Module.
Replaced multiple independent texture samplers with a texture array in Shader #1.
Adjusted exception catching types in the Storage Module.
Eliminated duplicate code in the font reset interface of the Notification Module.
Fixed the uncleaned dynamically generated data issue in the Notification Module's destructor.
Added string-to-wide-string conversion functionality to the Notification Module.
Externalized English text configuration for the Notification Module using config files.
Stopped ignoring spaces in the string concatenation function of the Storage Module.
Externalized all text in the font reset interface of the Notification Module.
Fixed the incorrect external config file name issue in the Notification Module.
Added constructors and destructors to the on-screen button class in the Rendering Module.
Added initialization and mouse click handling functions to the on-screen button class in the Rendering Module.
Enhanced the independence of the on-screen button management class in the Rendering Module.
Removed the button page class and related operations from the Input Module.
Separated the button class from the Rendering Module into an independent Game Button Module.
Added a test game flow management class to the Rendering Module.
Introduced a font caching mechanism in the Font Module to optimize performance.
Added exception handling to the Font Module's destructor.
Changed the background music addition interface in the Audio Module to accept const string references.
Added null pointer checks to the volume setting function in the Audio Module.
Added named constants for default volume in the Audio Module.
Fixed the unhandled audio observers issue in the Audio Module's destructor.
Modified the interface for calling the observer cleanup function in the Observer Module.
Used default virtual destructors for observer classes in the Observer Module.
Added null pointer checks to the observer cleanup function in the Observer Module.
Renamed the observer cleanup function in the Observer Module.
Organized filters and categorized the Input Module.
Removed the legacy Game Texture Module.
Merged button functionalities from the original Input Module into the Game Button Module.
Removed the button class from the Input Module.
Removed the button press detection function from the Input Module.
Fixed a spelling error in the Service Module.
Removed the null pointer assignment after font destruction in the Font Module.
Removed Shader #5 for the player information interface.
Removed the player information page render layer from the Rendering Module.
Added game state observer-related functionalities to the Game State Module.
Added global event type enumerations to the base engine class.
Source
Changelog.gg summarizes and formats this update. How we read updates.
