Commit graph

41 commits

Author SHA1 Message Date
d9af9cbc9d
Catch normal runtime errors instead of exiting with SIGABRT 2019-12-14 22:16:41 +01:00
0bdf249307
Add biome color computation
Rather than using fixed values for all biomes, generate grass and foliage
colors based on (height-dependent) temperature and rainfall parameters.

This changes a lot of colors; in general, the new colors should be closer
to the actual Minecraft rendering. It also fixes a few colors that were
completely off (like in the badlands biomes) and adds the MC 1.13 biomes
(which were rendered in black).

Some of the newer biomes (warm/cold/... oceans) don't have proper
parameters yet, and we do not derive the water color from the biome yet.

Fixes #1.
2018-11-08 17:49:28 +01:00
a3246d98c0
Adjust for minor API differences on Windows 2018-07-26 23:18:56 +02:00
de04cce993
World/Block: return colors as struct instead of uint32_t
Gets rid of a useless byte switch, and removes the arpa/inet.h include,
which is not available on Windows.
2018-07-26 23:18:55 +02:00
4e3a9736b6
World/Block: remove useless blockLight accessor 2018-07-22 16:59:18 +02:00
c082c8800c
Separate splitting of regions into chunks and actual parsing of chunk structure 2018-07-20 23:49:51 +02:00
292f4f4f3b
Don't rely on utimensat()
utimensat() does not work on all filesystems, in particular on Windows.
2017-06-13 16:39:17 +02:00
1e14dabc2d Fix definition of timespec >= operator 2015-02-06 23:06:11 +01:00
d73c8b930b Include cleanup
Also remove all uses of unistd.h by replacing unlink with std::rename
2015-02-06 19:51:20 +01:00
fb81ea7d60 Make light layer darker 2015-02-06 17:56:59 +01:00
e4b1919ba8 Use heap memory for image buffers 2015-02-04 09:00:34 +01:00
4d9f29afab Add mipmap support to allow zooming out 2015-02-03 20:15:58 +01:00
0162c236fa Nicer timespec operations 2015-02-03 18:39:58 +01:00
45a1915006 Refactor image creation 2015-02-03 15:02:21 +01:00
0bd8e211e2 Also unlink light tmpfile on errors 2015-02-03 14:19:19 +01:00
9e0bbcf685 Generate light layer 2015-02-03 13:13:12 +01:00
e1b3347da5 Start mipmapping infrastructure 2015-02-03 12:42:33 +01:00
1d3db43d29 Refactor PNG writing 2015-02-02 19:29:37 +01:00
b46c5de3ac Free PNG structs after writing 2015-02-02 18:52:33 +01:00
34857eabbc Add spawn coordinates 2015-02-02 18:33:21 +01:00
db59b73856 Refactor info generation 2015-02-02 17:56:43 +01:00
fd4ce45885 Generate info file 2015-02-02 05:13:07 +01:00
8bdbfd3ec0 Factor out filename check 2015-02-02 04:47:40 +01:00
213124ec57 Output "normal" messages to stdout
This makes it easier to filter for the errors
2015-02-02 03:53:49 +01:00
75671b4b96 Catch exceptions for single regions 2015-02-02 03:38:49 +01:00
a3d6648fa6 Workaround for old libraries without regex support 2015-02-02 03:33:43 +01:00
bedd81dce6 Don't explicitly include setjmp
libpng does this for us.
2015-02-02 03:20:25 +01:00
58adcc4c15 Skip unchanged regions 2015-02-02 03:06:22 +01:00
248b9e319d Convert all regions with one call 2015-02-02 02:25:56 +01:00
8db3a5b94f Use DIM constant as PNG dimension 2015-02-02 01:47:16 +01:00
8c1629af42 Change region reader to a visitor pattern
Not keeping the whole region in memory reduces the needed space
to less than 5MB (from about 140).
2015-02-02 01:41:17 +01:00
22b9cfcb8b Move ressource files to a separate directory 2015-02-02 00:31:52 +01:00
9b1d92387d Use biome data 2015-02-01 15:19:18 +01:00
143b9f6c78 Add support for biome colors, fix block type indices 2015-02-01 15:10:07 +01:00
8b09f6f4ec Handle lighting and depth 2015-02-01 14:02:04 +01:00
d26fe3d9f8 Write PNG files
No biome colors or light levels yet...
2015-02-01 11:58:50 +01:00
cd45c4009c Compute top non-air layer
This doesn't yet ignore non-opaque blocks.
2015-02-01 07:47:22 +01:00
fc1fc8fbbc Use template argument for list subtype, extract further information from chunks 2015-02-01 03:21:57 +01:00
a6a2a62812 More convenient tag access 2015-02-01 01:38:20 +01:00
cbe6461882 Implement most of the chunk format 2015-02-01 00:27:01 +01:00
1e74afda41 Initial commit 2015-01-31 15:07:47 +01:00