In this update9
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
- Performance
- Balance
- Security
Tanxl changes
This is a pre-update before the official completion of NPC functions. Full official content will be released in upcoming updates.
Game Content Updates
Added new 2-cell tree texture resources to enrichen the visual performance of map scenes.
Optimized screen-edge camera following logic for player movement, improving camera smoothness and overall visual experience.
Increased the automatic adjustment speed of map camera to optimize scene browsing experience.
Improved game button interaction performance by adding pressed and disabled state textures as well as customizable color effects, enhancing interface recognition and interactivity.
Optimized dialogue text display logic, supporting customizable font playback speed and improving overall stability and fault tolerance of the dialogue system.
Added multi-directional animation sets for characters to support multi-angle movement animation performance.
Optimized NPC rendering performance and fixed NPC rendering stalling and permanent screen fixation issues for smoother screen refreshing.
Fixed missing texture bugs in the player attribute UI to restore normal interface display effects.
Fixed abnormal vanishing issues of the health value UI to improve overall game interface stability.
Added playlist functions and loop mode configurations to the audio module, expanding the engine’s audio playback capabilities.
Game Engine Updates
Render Module / Render Layer
Refactored map shader rendering logic, added texture depth offset and height parameter adaptation to optimize layer stacking and terrain rendering effects.
Fully integrated shader storage buffer objects and implemented dirty mark on-demand updates, significantly improving map and UI rendering performance.
Optimized UI shader calculation logic by replacing per-vertex judgment with lookup table computation, unifying vertex calculation rules and cleaning up redundant code.
Encapsulated screen edge detection as an independent function to optimize underlying camera adaptation logic and improve code reusability.
Upgraded the NPC rendering system with exclusive NPC shaders, rendering data structures, dedicated render layers and debugging tools, completing the basic NPC rendering framework.
Added a simplified render layer configuration solution and unified all render layers with the new initialization process to reduce configuration costs.
Refactored the single NPC state synchronization interface into three independent dedicated interfaces for clearer module responsibility division.
Split shader storage buffer dirty marks into three categories to achieve refined rendering data update control.
Cached depth uniform variable positions and merged buffer initialization binding operations to eliminate repeated calculations and boost rendering efficiency.
Cleaned up obsolete variables, interfaces, debug macros and redundant comments in the render module to streamline the code structure.
Removed deprecated interfaces for scene stop state configuration and legacy status acquisition to optimize module architecture.
Map Module
Refactored map data structure to support preprocessing and synchronous updating of three sets of rendering data, adapting to layered rendering requirements.
Comprehensively optimized collision detection logic, supporting directional dual-angle detection and per-frame boundary recalculation to improve collision accuracy.
Refactored movement detection logic by replacing static variables with dynamic input parameters to eliminate state residue and repeated verification issues.
Exposed obstacle status judgment interfaces to expand engine calling scenarios.
Added texture height variables to map units to adapt to terrain height parameters in shaders.
Removed redundant parameters, deprecated macros and mismatched variables and interfaces, fixing multiple internal map logic bugs.
Simplified background adjustment logic when characters reach screen edges and fixed abnormal parameter linkage problems.
Rewrote obstacle judgment logic using standard library containers to improve code standardization and runtime stability.
Item Module / Character Module
Refactored the character animation management system, equipping all characters with independent animation members and control interfaces.
Migrated player animation ownership from render layers to character item classes to rationalize code authority and responsibility.
Added dedicated NPC containers and full CRUD management interfaces to improve NPC resource control capabilities.
Added NPC resource cleanup logic to the item reset interface to prevent data residue during scene switching.
Migrated world coordinate management logic to character item classes and improved coordinate synchronization processing for move constructors and assignment operations.
Added skill cooldown update interfaces to support dynamic timing refresh of the skill system.
Removed redundant variables in the health component and supplemented virtual destructors for item classes to avoid potential memory exceptions.
Animation Module
Added enumeration classes for animation states and loop modes to standardize animation rule definitions.
Added multiple new interfaces for animation process control, status query and loop configuration to enrich animation scheduling capabilities.
Implemented animation end callback mechanisms with supporting runtime parameter configuration interfaces.
Upgraded animation update interfaces with automatic state switching functions to enhance the intelligence of animation logic.
Engine Foundation & Core Module
Refactored multiple singleton classes including font library, data tag and game prompt into regular instance classes to achieve module decoupling and multi-instance adaptation.
Optimized interface parameter passing and return values by extensively adopting const references, const functions and smart pointers to reduce memory copies and improve memory security.
Fixed underlying logic bugs including engine out-of-bounds judgment errors and memory leaks in map unit acquisition interfaces.
Optimized engine version number storage by replacing pointer types with constant strings for higher stability.
Refactored the coordinate module by simplifying structure and enumeration naming to unify coding standards and reduce reading complexity.
Fixed global spelling errors and unified code style to improve overall project standardization.
Storage / Console / Input / Event Module
Optimized local data parsing logic to automatically skip blank lines and accurately identify comments, improving data fault tolerance.
Refactored storage module interfaces by removing unreasonable static variable designs and optimizing return types to adapt to more business scenarios.
Overhauled console functions, splitting ambiguous functions, unifying clear screen instructions, optimizing variable naming, and separating color reset functions.
Fixed container initialization errors in the console constructor to avoid engine startup exceptions.
Optimized input module logic by removing redundant state detection to improve input response efficiency.
Optimized event module construction and registration logic using const references and smart pointers to enhance performance and stability.
Optimized engine and map event detection mechanisms to refresh target objects in real time and eliminate cache anomalies.
New Module & Compatibility Adaptation
Developed a brand-new NPC generator module, supporting automatic spawning of preset NPC scenes after engine initialization.
Added full lifecycle management logic for NPC modules in the engine management system to ensure stable module operation.
Completed adaptation for STEAM SDK 163 to expand engine cross-platform compatibility.
Iterated and improved project introduction documents and module manuals to ensure synchronization between code and technical documentation.
Source
Changelog.gg summarizes and formats this update. How we read updates.
