Repository navigation
Render the map as the game's real 3D scene, rebuilt from RAM - #77
Draft
hugou74130 wants to merge 1 commit into
Draft
hugou74130 wants to merge 1 commit into
hugou74130 wants to merge 1 commit into
Conversation
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces several enhancements and fixes across the savestate decompression logic, OpenGL shader programs, and 3D map rendering in the STROOP project. Key highlights include the addition of LZ4 decompression support for savestates, improved shader programs for level models and skyboxes, more robust gridline and object rendering in the map tab, and new utility classes for RAM access and pointer handling.
Core functionality and decompression:
SavestateDecompressionutility that supports both GZip and LZ4 decompression for savestate files, replacing the previous GZip-only logic inStFileIO. This makes savestate loading more robust and compatible with additional formats. [1] [2]Graphics and rendering improvements:
LevelModel.vert.glsl,LevelModel.frag.glsl), skyboxes (Skybox.vert.glsl,Skybox.frag.glsl), and enhanced theLines.geom.glslshader with better clipping and color/width interpolation. [1] [2] [3] [4] [5] [6]Map tab and object interaction fixes:
MapDrawingObjectto correctly handle vertex heights depending on the current view mode, making drawing more intuitive in both top-down and 3D views. [1] [2] [3] [4] [5]Memory access and utility additions:
CopyCachedRammethod toProcessStreamfor efficient RAM copying, and introduced a newRdramclass for segment-aware RAM access and pointer handling, facilitating advanced memory operations. [1] [2]GhostTab enhancements:
GhostTabfor checking the installation of colored hats and ghost hacks, and for determining when ghosts are drawn in-game.These changes collectively improve savestate compatibility, visual fidelity, and the flexibility and reliability of map and object interactions.
Core functionality and decompression
SavestateDecompressionutility class to support both GZip and LZ4 decompression for savestates, and refactoredStFileIOto use it for loading memory. [1] [2]Graphics and rendering improvements
Map tab and object interaction fixes
MapDrawingObjectto handle vertex heights appropriately in different view modes, making drawing more intuitive. [1] [2] [3] [4] [5]Memory access and utility additions
CopyCachedRammethod toProcessStreamand a newRdramclass for advanced RAM and pointer handling. [1] [2]GhostTab enhancements