Game Content Updates:
Added two new special audio files.
Added a new texture for the table.
Added a texture for the single-layer cabinet.
Fixed the issue where background music failed to play.
Added two new pieces of furniture in the protagonist's home.
Revised the protagonist's initial position.
Game Engine Updates:
Fixed multiple spelling errors in the Game Event Module.
Added an interface to clear all events in the Game Event Module.
Removed unused pointers from the interface for compiling map data in the Map Data Module.
Modified the Map Data Module so that the program no longer terminates immediately when a map trigger exception occurs.
Added an auxiliary function to parse a single state unit in the Map Data Module.
Added an auxiliary function to clear target vectors in the Map Data Module.
Simplified the processing of the last segment of data during map compilation in the Map Data Module.
Added an interface for drawing a single image in the Rendering Module.
Changed all coordinate parameters of Game Map Shader 2 to be passed via uniform variables.
Changed the rendering layer for the game homepage in the Rendering Module to an image rendering layer.
Added an overloaded version of the image-drawing interface in the Rendering Module.
Renamed Game Map Shader 2 to Image Shader 1.
Renamed Game Map Shader 3 to Game Map Shader 2.
Moved two globally defined variables into private members in the Rendering Module.
Separated the initialization part of instantiated rendering into an independent initialization interface in the Rendering Module.
Added memory deallocation for dynamically allocated memory in the destructor of the Rendering Module.
Fixed the missing null pointer check in the destructor of the Audio Module.
Added a member variable to track the current background music state in the Audio Module.
Modified the audio playback interface in the Audio Module to return an audio state pointer.
Added an interface for updating music playback in the Engine Management Module.
Added an interface for updating background music in the Audio Module.
Modified the background music playback interface in the Audio Module to require only one call.
Changed the function of the background music playback interface in the Engine Management Module to play immediately.
Revised the conditions for determining if background music is playing in the Audio Module.
Added functions to pause and resume background music playback in the Audio Module.
Removed the upper limit on the number of initializable fonts in the Font Module.
Fixed the inconsistent exception type issue in the Storage Module.
Changed the tab character count variable to a member variable in the Storage Module.
Converted enums to enum classes in the Random Module.
Changed the random data container to a standard library container in the Random Module.
Reduced unnecessary copy operations in the interface for setting predefined data in the Random Module.
Disabled copy and move constructors in the Random Module.
Improved the efficiency of the version information retrieval interface in the Random Module.
Removed parameters from the interface for generating random numbers within a range in the Random Module.
Added duplicate initialization checking in the Rendering Layer Module.
Fixed a spelling error in the Dialogue Module.
Added configuration files for English dialogues and a new data folder in the Dialogue Module.
Fixed a spelling error in the Engine Base Class.
Added a language-related structure to the Engine Base Class.
Modified the local data retrieval interface in the Storage Module to no longer clear all spaces.
Added automatic dialog box closing after dialogue ends in the Rendering Module.
Revised the name of the wooden floor texture in the Texture Management Module.
Fixed the texture depth error on the title screen in the Rendering Module.
Changed the storage of action loops to use smart pointers in the Rendering Layer Module.
Fixed uninitialized parameters in the Action Loop Module.
Added a singleton-implemented window manager class in the Rendering Module.
Moved window initialization functions to the window manager class in the Rendering Module.
Added a window title parameter to the window initialization function in the Rendering Module.
Moved other window-related initialization functions to the window manager class in the Rendering Module.
Added a version information initialization interface to the window manager in the Rendering Module.
Split the window creation interface from the window initialization interface in the Rendering Module.
Moved the window size setting interface to the window manager class in the Rendering Module.
Moved the window icon setting function to the window manager class in the Rendering Module.
Moved the window destruction interface to the window manager class in the Rendering Module.
Removed the main window pointer from the Rendering Module.
Fixed the issue where re-invoking the background music toggle interface in the Engine Management Module would turn off the background music.
Added a member variable to mark whether background music is active in the Audio Module.
Added an interface to set the active state of background music in the Audio Module.
Added a window title setting interface in the Rendering Module.
Removed title setting parameters from other interfaces in the Rendering Module.
Added a function to end the current frame in the Rendering Module.
Added a window size retrieval interface in the Rendering Module.
Separated the Window Management Module from the Rendering Module.
Added two retrieval interfaces to the window state query section of the Window Management Module and made them inline uniformly.
Added vertical synchronization setting functionality in the Window Management Module.
Added default callback function setting functionality in the Window Management Module.
Fixed the issue where player stats were not updated immediately after removing equipment in the Item Module.
Improved the type safety of enums in the Item Module.
Added null pointer detection to the component retrieval function in the Item Module.
Renamed the health and money retrieval interfaces in the Item Module.
Changed component capacity to be dynamically configured based on enum size in the Item Module.
Added a function to clear all stored components in the Item Module.
Added move semantics support in the Item Module.
Removed the action loop count counter in the Action Module.
Changed static member variables to private members in the Action Module.
Added an update interface to manage animations for actions and idle states in the Action Module.
Simplified the action loop update process in the Rendering Layer Module.
Changed the functions for executing action loops and idle states to private in the Action Module.
Modified the map data setting interface in the Map Data Module to re-throw exceptions after catching them.
Modified the map setting function in the Engine Management Module to insert missing parts when exceptions are detected.
Removed macros from the interface for outputting in-memory item serial numbers in the Storage Module.
Added space filtering to the data label retrieval function in the Storage Module.
Modified the map setting function in the Engine Management Module to use default data to fill in missing labels when data gaps are detected.
Fixed a memory leak issue during font initialization in the Font Module.
Fixed the potential multiple construction issue in the current singleton implementation of the Font Module.
Fixed incomplete exception handling for the character generation function in the Font Module.
Renamed and upgraded the Coordinate Module to the Coordinate Base Class.
Updated the language standard to C++17.
Moved coordinate conversion functions from other modules to the Coordinate Module.
Changed the function for recording the height and width of the basic rectangle of map scenes in the Map Module to use the Coordinate Module.
Removed unnecessary type conversions in the Map Module.
Fixed the use of incorrect parameters when retrieving initial position data from files in the Engine Management Module.
Changed implicit downcasting to explicit in the engine reset function of the Engine Management Module.
Added support for arbitrary order of local file content retrieved by the Engine Management Module.
Removed the variable that marks whether the map needs to be re-drawn based on map groups in the Map Module.
Temporarily modified the initially displayed map group in the Map Module.
Removed the movement system class from the Map Module.
Transferred the coordinate conversion functions in the Map Module to the Coordinate Module.
Changed files in this update