Commit graph

418 commits

Author SHA1 Message Date
7c7e36f6be
io/region: avoid panic for invalid chunk lengths 2023-01-29 00:54:18 +01:00
da8ac506d9
io: remove a few unnecessary [..] for Vec -> slice deref 2023-01-28 01:15:00 +01:00
3cdafa7be9
Fix clippy warnings 2023-01-27 23:01:01 +01:00
daa188eb1d
io/region: use ChunkArray to parse region header
A layout of a ChunkArray::<u32> matches the binary format of the region
header.
2023-01-27 22:54:08 +01:00
28b22ce423
Introduce ChunkArray type
A generic array for per-chunk data, indexed by ChunkCoords.
2023-01-27 22:05:49 +01:00
48e03aa266
Introduce ChunkCoords type 2023-01-27 22:01:41 +01:00
0d8b989c10
io/region: remove count variable from Region::foreach_chunk() 2023-01-25 21:47:17 +01:00
5e96be3fda
Refactor logic from new dump tools into library crate 2023-01-25 21:42:16 +01:00
5a364e2434 Add new regiondump implemention 2023-01-25 21:41:34 +01:00
ddd78079dc Add new nbtdump util 2023-01-25 03:00:07 +01:00
40105aaccd Initial Rust setup 2023-01-25 00:06:27 +01:00
4b83f6376f Remove C++ implementation 2023-01-25 00:06:27 +01:00
c7e04649ff
Resource: Biome: add 1.19 biomes
Add the new biome temperature and rainfall values, as found in
decompiled Minecraft code:

- Deep Dark uses the same the values as plains
- Mangrove Swamp has the same temperature/rainfall as regular Swamp, but a
  different water color
2022-10-16 13:14:31 +02:00
4ce08a7d5d
workflows: replace deprecated set-output 2022-10-16 12:49:13 +02:00
c43c185d9b
workflows: update checkout/upload actions 2022-10-16 12:44:05 +02:00
6605483b4d
workflows: force tag update to get version
When building from a tag, Github will create a lightweight tag in place
of the proper one when fetching, breaking `git describe`. Force an update
of all tags to avoid this.
2022-10-16 12:24:48 +02:00
6125b1b027
README.md: add 1.19 support 2022-10-16 11:11:09 +02:00
Andrew Cox
600a20cde6
Update to compile on Mac OS (#26) 2022-07-01 23:27:58 +02:00
71fb865112
Merge pull request #24 from saadbruno/1.19
Add Minecraft 1.19 support
2022-06-25 21:20:21 +02:00
a6a1deaff5
Merge pull request #25 from saadbruno/gitignore-update
Quality of life updates to Gitignore
2022-06-25 16:29:34 +02:00
Bruno Saad
74bd6205b0 updates the gitignore to include common used directories in the documentation 2022-06-07 22:43:02 +00:00
Bruno Saad
7bba6d0863 Adding new blocks for 1.19 2022-06-07 16:48:43 +00:00
fbef307c90
UniqueCPtr: add doc comment
Explain what a UniqueCPtr is.
2022-02-09 21:26:12 +01:00
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