Fixed DLC files not saving correctly + new 16x16 region file support#1169
Open
MarvelcoCode wants to merge 1 commit intosmartcmd:mainfrom
Open
Fixed DLC files not saving correctly + new 16x16 region file support#1169MarvelcoCode wants to merge 1 commit intosmartcmd:mainfrom
MarvelcoCode wants to merge 1 commit intosmartcmd:mainfrom
Conversation
Contributor
Author
|
I tested new worlds, old worlds and DLC's creation, saving and reloading and this pr is ready to merge |
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.
Description
New worlds now use 16×16 chunk region files while existing worlds (made before this commit) remain on 32×32.
Changes
Previous Behavior
All worlds used 32×32 chunk region files, which broke saved DLC's and new tut worlds
Root Cause
it always used the 32x32 system and no support for 16x16 (which is the newer system)
New Behavior
New worlds and DLC's saves use 16×16 region files. Existing saves (made before this commit) automatically stay on 32×32 to avoid corrupting them.
Fix Implementation
A marker (region_format_16) file is stamped into the save header at creation time for both empty newly created worlds and DLC's. RegionFileCache::_getRegionFile, _getChunkDataInputStream, and _getChunkDataOutputStream all check for this marker to decide between >>4 (16×16) and >>5 (32×32) region coordinates and chunk local offsets.