mirror of
https://github.com/neoStudiosLCE/neoLegacy.git
synced 2026-08-20 09:57:09 +00:00
fix: world crash with particular seeds
This commit is contained in:
parent
013c18ef85
commit
38775d0f26
|
|
@ -119,9 +119,9 @@ intArray BiomeInitLayer::getArea(int xo, int yo, int w, int h)
|
||||||
|
|
||||||
|
|
||||||
// RareBiomeLayer sets k = plains->id + 128 when it picks a rare slot.
|
// RareBiomeLayer sets k = plains->id + 128 when it picks a rare slot.
|
||||||
// plains->id = 1, so a rare plains = 129. We extract the high bit flag.
|
// plains->id = 1, so a rare plains = 129. We extract the high bits flag.
|
||||||
int rareBit = (k & 0xFF00) >> 8; // Java: (k & 3840) >> 8
|
int rareBit = (k & 3840) >> 8; // Java: (k & 0xF00) >> 8
|
||||||
k = k & ~0xFF00;
|
k = k & ~3840;
|
||||||
|
|
||||||
|
|
||||||
if (k == 0 || k == Biome::ocean->id || k == Biome::deepOcean->id ||
|
if (k == 0 || k == Biome::ocean->id || k == Biome::deepOcean->id ||
|
||||||
|
|
@ -160,7 +160,7 @@ intArray BiomeInitLayer::getArea(int xo, int yo, int w, int h)
|
||||||
result[x + y * w] = icyBiomes[nextRandom(icyBiomes.length)]->id;
|
result[x + y * w] = icyBiomes[nextRandom(icyBiomes.length)]->id;
|
||||||
}
|
}
|
||||||
// Rare variant from RareBiomeLayer
|
// Rare variant from RareBiomeLayer
|
||||||
else if (k == Biome::plains->id + 256)
|
else if (k == Biome::plains->id + 128)
|
||||||
{
|
{
|
||||||
result[x + y * w] = Biome::sunflowersPlains->id;
|
result[x + y * w] = Biome::sunflowersPlains->id;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ intArray RareBiomeLayer::getArea(int xo, int yo, int w, int h)
|
||||||
{
|
{
|
||||||
if (k == Biome::plains->id)
|
if (k == Biome::plains->id)
|
||||||
{
|
{
|
||||||
aint1[j + i * w] = Biome::plains->id + 256;
|
aint1[j + i * w] = Biome::plains->id + 128;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue