In this update15
Full notes
Full Tanxl update
Read the full published notes in a cleaner layout. The original post stays linked below.
What changed
- Maps
- Gameplay
- UI and audio
- Events
- Fixes
- Performance
Tanxl changes
The holiday break has concluded, and all development work has resumed normal progress.
In this version, we have expanded the initial map size from 9 to 25, greatly increasing the explorable area.
In the next version, we will continue to expand the explorable area, enrich terrain and scene details, and fully remake all animation frames of the player character to further optimize character animation performance and control feel.
Game Content Updates
Adjusted road textures.
Tweaked texture details for the other two player characters.
Added temporary wall textures.
Added wall textures with the company logo.
Added two wider road textures.
Added gray roof tile textures.
Added two building exterior wall textures.
Added roof and exterior walls to the player's home.
Enabled an experimental fog-of-war-like feature.
Updated the game's library promotional image.
Expanded the lower area of the initial map.
Added French language support for all in-game UI text.
Extended more map areas in the configuration file.
Game Engine Updates
Map Data Module
Removed functionality related to marking whether the infinitely expandable world is enabled.
Disabled the random map generation feature in the map chunk generation functionality.
Fixed a parameter error in the reload upper chunk functionality.
Fixed an issue where the game map group reset when switching chunks.
Changed the part of the set map interface that repeatedly threw exceptions to in-place fixes.
Added a parameterless version of the map construction connection feature for testing purposes.
Unified map expansion tags to be added during map compilation.
Refactored and completed the parameterless version of the map construction connection feature.
Random Module
Fixed the event weight count not being reset when clearing the event list.
Optimized the efficiency of the random sequence number generation feature.
Reduced distribution object creation in the random integer generation feature.
Storage Module
Extracted binary search logic from the data addition and positioning features.
Optimized smart pointer copying during value passing in multiple places.
Fixed incorrect smart pointer initialization in the constructor.
Replaced macro functionality with constant expressions.
Simplified enums and improved readability.
Organized data interfaces and removed the in-memory organization feature.
Simplified function naming in the sequence number data structure.
Added an experimental simplified data addition interface.
Revised data interfaces to no longer check for the existence of local files.
Fixed an error in the overloaded output function when data is empty.
Added null data checks to the link addition feature.
Added a simplified internal data retrieval interface.
Removed search interfaces with similar functionality but unclear names.
Improved the performance of data units.
Event Module
Removed redundant function calls in the game event retrieval feature.
Reduced redundant calculations in the map update event class.
Removed duplicate checks in the map replacement event.
Font Module
Added checks for repeated character texture creation in the character insertion interface.
Avoided unnecessary copies in the character container retrieval feature.
Added a batch glyph generation interface for testing purposes.
Window Management Module
Modified parameters for setting the window icon.
Set the size version number as a constant.
Optimized projection matrix calculations.
Removed unused macros.
Made the depth test feature optional in the initialization functionality.
Texture Module
Revised the names of some textures.
Render Layer Module
Added support for multiple copies of vertex array objects and shader programs.
Throw an error when attempting to reset the program path after a shader program has been initialized.
Added a struct for storing shader-related data.
Fixed a data overflow error.
Render Layer Class
Added a vertex buffer object position parameter to the initialization feature.
Added a count for active shader layers.
Engine Management Module
Removed unused variables in the set map area feature.
Fixed an issue where the player's display group was unconfigured.
Removed configuration functions for fixed-size worlds and random infinite worlds.
Fixed an array out-of-bounds issue during equipment initialization.
Removed operations that caused severe undefined behavior during error detection.
Replaced raw pointers with smart pointer management.
Changed initialization checks in the constructor to exit only after all checks are completed.
Map Module
Fixed a potential null pointer operation in the map collision detection interface.
Input Module
Optimized the cleanup process for key names when clearing all events.
Added an initialization feature.
Map Shader 01
Optimized vertex calculation processes.
Map Shader 02
Optimized vertex calculation processes.
Hint Module
Removed the invalid caching mechanism in the hint retrieval interface.
Simplified redundant logic in the update count function.
Switched to smart pointer management for hint data.
Added macro-controlled console information output.
Render Module
Fixed line break anomalies in the player info panel.
Separated the button initialization feature from the game render layer initialization feature.
Removed unused game map update events.
Separated the prototype subtitle system class from the render module.
Replaced multiple language containers in the subtitle system with a single universal language container.
Removed the built-in language control feature of the subtitle system.
Moved input states from display settings to external settings.
Removed the ineffective buffer clear settings interface.
Removed the display settings function and moved its functionality to the display function.
All button rendering logic is now fully encapsulated within the button class.
Used smart pointers to manage the game scene.
Engine Base Classes
Added a constructor to the map struct.
Added a copy constructor to the map unit class.
Engine Base Module
Added a maximum limit for delta time.
Removed texture ID recording variables for different transparency levels from the map unit class.
Game Map Module
Fixed a spelling error.
Revised the name of the interface for adjusting the display area.
Removed unused map event classes.
Texture Management Module
Revised texture names, paths, and IDs.
Game Event Module
Modified smart pointer types and return types of retrieval functions.
General Changes
Revised the map group and configuration for the initial map area.
Changed the encoding of all project files to UTF-8.
Organized, categorized, and moved texture definition layers.
Split and separated the subtitle system module from the render module.
Game Fragment Shader 01
Optimized performance with early exit.
Game Fragment Shader 02
Optimized performance with early discard.
UI Vertex Shader 02
Optimized vertex position calculations using lookup tables.
UI Vertex Shader 04
Optimized vertex position calculations using lookup tables.
Image Vertex Shader
Optimized vertex position calculations using lookup tables.
Player Vertex Shader
Optimized vertex calculations using lookup tables.
Subtitle System
Fixed an exception in the function for checking if subtitle playback has ended.
Fixed an issue where the current ID retrieval interface returned an incorrect value.
Coordinate Module
Organized code for the boundary detection feature.
Combined two variables for recording display size into one.
Used smart pointers to manage coordinate data in base classes.
Added a virtual destructor to the coordinate class.
Removed unused parameters from the constructor.
Unified the parameter order of all interfaces.
Fixed semantic errors in operator overloading.
Simplified the definition of the equality comparison operator.
Item Module
Replaced equipment definition arrays with standard library containers.
Game Button Module
Added two button rendering-related interfaces.
Audio Module
Optimized the performance of the audio addition feature.
Animation Module
Added pre-allocated memory when adding animation textures.
Added three query interfaces.
Adjusted variable names for clarity.
Source
Changelog.gg summarizes and formats this update. How we read updates.
