Skip to content

Fixed DLC files not saving correctly + new 16x16 region file support#1169

Open
MarvelcoCode wants to merge 1 commit intosmartcmd:mainfrom
MarvelcoCode:main
Open

Fixed DLC files not saving correctly + new 16x16 region file support#1169
MarvelcoCode wants to merge 1 commit intosmartcmd:mainfrom
MarvelcoCode:main

Conversation

@MarvelcoCode
Copy link
Contributor

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.

@MarvelcoCode
Copy link
Contributor Author

I tested new worlds, old worlds and DLC's creation, saving and reloading and this pr is ready to merge

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant