Fix compile and landscape creation for large maps.
This commit is contained in:
@@ -723,12 +723,13 @@ void RunTileLoop()
|
|||||||
* shift register (LFSR). This allows a deterministic pseudorandom ordering, but
|
* shift register (LFSR). This allows a deterministic pseudorandom ordering, but
|
||||||
* still with minimal state and fast iteration. */
|
* still with minimal state and fast iteration. */
|
||||||
|
|
||||||
/* Maximal length LFSR feedback terms, from 12-bit (for 64x64 maps) to 24-bit (for 4096x4096 maps).
|
/* Maximal length LFSR feedback terms, from 12-bit (for 64x64 maps) to 26-bit (for 8kx8k maps).
|
||||||
* Extracted from http://www.ece.cmu.edu/~koopman/lfsr/ */
|
* Extracted from http://www.ece.cmu.edu/~koopman/lfsr/ */
|
||||||
static const uint32 feedbacks[] = {
|
static const uint32 feedbacks[] = {
|
||||||
0xD8F, 0x1296, 0x2496, 0x4357, 0x8679, 0x1030E, 0x206CD, 0x403FE, 0x807B8, 0x1004B2, 0x2006A8, 0x4004B2, 0x800B87
|
0xD8F, 0x1296, 0x2496, 0x4357, 0x8679, 0x1030E, 0x206CD, 0x403FE, 0x807B8, 0x1004B2, 0x2006A8,
|
||||||
|
0x4004B2, 0x800B87, 0x10004F3, 0x200072D,
|
||||||
};
|
};
|
||||||
assert_compile(lengthof(feedbacks) == 2 * MAX_MAP_SIZE_BITS - 2 * MIN_MAP_SIZE_BITS + 1);
|
assert_compile(lengthof(feedbacks) == MAX_MAP_TILES_BITS - 2 * MIN_MAP_SIZE_BITS + 1);
|
||||||
const uint32 feedback = feedbacks[MapLogX() + MapLogY() - 2 * MIN_MAP_SIZE_BITS];
|
const uint32 feedback = feedbacks[MapLogX() + MapLogY() - 2 * MIN_MAP_SIZE_BITS];
|
||||||
|
|
||||||
/* We update every tile every 256 ticks, so divide the map size by 2^8 = 256 */
|
/* We update every tile every 256 ticks, so divide the map size by 2^8 = 256 */
|
||||||
|
Reference in New Issue
Block a user