3160b59cdd
README.md: add 1.18 support
2021-12-22 16:08:56 +01:00
429e449c64
ci: add Win32 build
2021-12-21 23:57:50 +01:00
056cee8585
build: replace FindPkgConfig hack with BUILD_STATIC variable set by CI toolchain file
2021-12-21 23:35:00 +01:00
7c13d850b7
ci: add viewer artifact
2021-12-19 23:22:49 +01:00
00b93c507d
ci: add GitHub actions for Linux and Windows builds
...
We build a "static" binary for Windows now to avoid distributing the
dependencies as DLLs.
2021-12-19 23:19:49 +01:00
37340926f4
MinedMap: fix warning for unused fscanf result
2021-12-19 23:11:21 +01:00
fac2e4c8da
World: Chunk: add support for unordered sections
...
MC1.18 doesn't always store sections sorted by their Y value, possibly
related to "optimize world".
2021-12-12 12:18:18 +01:00
a2fe33ef1f
World: Section: add support for Int tag section Y values
...
For some reason, MC1.18 sometimes uses Int instead of Byte tags for
section Y values after "optimize world". Add support for this (but still
only accept values that fit in a int8_t).
2021-12-12 12:15:31 +01:00
d18e004743
World: Section: fix biome palette size check
...
We were accidentally checking the block type palette size.
2021-12-12 10:28:17 +01:00
73dfecf379
Resource: BlockType: update colors with MC1.18 texture data
2021-12-11 22:50:24 +01:00
baa20494bf
World: Section: implement new section-based biome data format
2021-12-11 22:50:24 +01:00
76e5d322b1
Resource: Biome: add biome palette name mapping
...
For now we will continue to use the numerical biome IDs internally, as
our biome storage format is based on these IDs.
2021-12-11 22:50:23 +01:00
aacea26716
World: add support for negative Y coordinates and MC 1.18 chunks
...
MC 1.18 biomes are not handled yet.
2021-12-11 22:50:23 +01:00
9ee1007ade
World: Chunk: use enum to store biome data format
2021-12-11 22:50:23 +01:00
21966252ea
World: ChunkData: make getRoot() return shared pointer reference
2021-12-11 22:50:23 +01:00
16a1258f08
World: Chunk: remove unnecessary level class member
2021-12-11 22:50:23 +01:00
0f6c467566
World: Chunk: replace division/modulo with shift/mask for height values
...
Preparation for negative y coordinates.
2021-12-11 22:50:23 +01:00
457e993c92
Introduce separate types for block/section/chunk indices
...
Newtypes are cumbersome in C++, so this is mostly documentation for now.
Also replace lots of questionable uses of size_t with int or types with
explicit width and add a few comments for constants.
2021-12-11 22:50:23 +01:00
d4be401bcd
Resource: Biome: fix integer underflow
...
Explicitly cast height value to signed integer to fix incorrect biome color
values below a height of 64.
2021-12-11 22:28:22 +01:00
fd4773c8ca
treewide: replace license headers with SPDX-License-Identifier
2021-11-17 12:07:56 +01:00
38d8bd0738
Chunk: replace withDepth argument with extensible flags field
2021-08-24 21:03:18 +02:00
fdce587c74
build: update to modern CMake, use pkg-config for zlib and libpng
...
Starting with CMake 3.7, we can avoid dealing with individual variables
for include dirs, libraries, ... for dependencies found using
pkg-config, and instead just reference them using an imported target.
2021-08-24 13:14:48 +02:00
5263538a29
README.md: add 1.17 support
2021-06-26 16:43:06 +02:00
73e5c12cde
Rename .inc files to .inc.cpp for better language detection by editors and Github
2021-06-25 19:43:14 +02:00
bfc9fcafb9
Merge pull request #17 from NeoRaider/mc1.17
...
Add Minecraft 1.17 support
2021-06-25 19:41:00 +02:00
af1afc3315
Biome: add Dripstone Caves and Lush Caves
...
Temperature and downfall values were taken from the Caves & Cliffs: Part II
Preview datapack.
2021-06-24 19:28:25 +02:00
0a42605a2b
Add Minecraft 1.17 block types, update all color values
2021-06-24 19:28:25 +02:00
73343dede2
resource: add README.md
2021-06-24 19:28:25 +02:00
5c55ce8140
resource: add blocklist tool to list and diff the supported block IDs of a Minecraft version
2021-06-23 21:34:45 +02:00
9ac3b00b6e
Make region iteration more efficient for sparse worlds
...
Do not iterate over each region coordinate in the bounding box.
Closes #12
2021-02-13 11:06:30 +01:00
c06af49068
Info: restructure mipmap level data structure
2021-02-13 11:06:30 +01:00
cbc4a946c6
Info: rename mipmap "info" key to "bounds"
2021-02-13 11:06:30 +01:00
d2802b73f5
Info: make tile existence map mor efficient for sparse worlds
...
Explicitly list the coordinates where tiles exist instead of including a
full array with the size of the bounding box.
2021-02-13 11:06:21 +01:00
0ebc895ec0
Info: print concise JSON
...
Reduce size by removing pretty-printing
2021-02-13 10:20:19 +01:00
07e039d442
CMakeLists.txt: update CMake version requirement to remove future compat warning
2021-02-13 10:20:19 +01:00
67f4324441
Merge pull request #10 from AaronWebster/patch-1
...
Change BlockType from struct to class
2020-09-17 07:47:29 +02:00
Aaron Webster
367078178f
Change BlockType from struct to class
...
Fixes the -Wmismatched-tags compilation warning.
2020-09-16 18:14:09 -07:00
bc8e9c5cb3
README.md: add 1.16 support
2020-07-04 18:04:48 +02:00
997a4fb24e
docs: update screenshot
2020-07-04 18:04:14 +02:00
d33fa1429d
viewer: use === instead of == where appropriate
2020-06-28 17:27:22 +02:00
e5a15beddb
viewer: fix maxNativeZoom in Retina mode
...
Fixes : #8
2020-06-28 17:24:05 +02:00
6a160142ed
viewer: set image-rendering to pixelated
...
Chrome smooths the image when using crisp-edges.
crisp-edges is still set as a fallback for browers that don't support
pixelated (including Firefox).
Fixes : #7
2020-06-28 09:48:17 +02:00
3ec83c8cf8
Compare file contents with old data before writing
...
Do not writeoutput files when their content hasn't changed. This saves
time for incremental generation (as compressing a PNG takes much longer
than decompressing it) and avoids modification timestamp updates that
might trigger subsequent generation steps.
2020-06-20 15:01:52 +02:00
ef69a34034
PNG: export format byte count
2020-06-20 15:01:09 +02:00
98e21236d9
Do not generate light data for invisible blocks
2020-06-20 14:48:26 +02:00
3c837bb92e
viewer: update Leaflet to 1.6.0
2020-06-20 14:17:34 +02:00
03ae9cf302
Exclude unpopulated chunks from biome averaging
...
Avoids weirdly colored stripes at the edges of the map.
2020-06-20 12:17:24 +02:00
eb831608e0
Add smooth transitions between biomes
...
Simliar to the way biome transitions are rendered in Minecraft itself,
add smoothing by averaging biome-based colors over all biome values with
distance ≤3 (1-norm).
2020-06-20 12:15:32 +02:00
623d70ec9e
More preparation for biome smoothing
2020-06-20 11:40:29 +02:00
19ef022a67
Biome: return FloatColor for block colors
2020-06-20 11:40:29 +02:00