0
Commit Graph

85 Commits

Author SHA1 Message Date
Nicolas F
0b74d26c49 Completely change biome code again
Turns out my previous grasp of how Minecraft does this was wrong.

This seems to be the correct way. One side effect is that biome data
now has less resolution. One only really notices this when looking at
water, for which Minecraft does not even use the water colours for
in-game, otherwise I can't really tell a big difference.

Fixes #1698.
2019-12-23 23:50:20 +01:00
Nicolas F
268938a706 Fix biomes for Minecraft 1.15
Fixes #1650.

Mojang changed the biomes code so that it now can have different
biomes for different Y levels. We need to adjust our logic accordingly,
which is done through some small BiomeDispensary class where we shove
a numpy'd Mojang array in and can then read out the biomes for each level.

Biome data is now stored per-section, which needed some changes on the C
side of things. I didn't change anything in the biome overlay code so
I wouldn't be surprised if it's broken now, but for the time being I'd
rather have 1.15 fixed than some obscure overlay.

Tested to work with 1.14 and 1.15 data. No new biomes have been added
to the code yet.
2019-12-10 23:12:16 +01:00
Nicolas F
7e2cb56c1b Implement some mossy blocks
This adds:
- mossy stone brick stairs
- mossy cobblestone stairs
- mossy stone brick walls

We also add another block class for walls, and while we're at it,
clean up the stairs texture function to not have a huge sprawling
elif mess for loading textures, but instead to a cheeky dictionary
lookup.

In case you're wondering, yes I am just as disgusted by this code as
you are.
2019-07-15 17:23:25 +02:00
Wunkolo
5b212dc585 Implement standard C boolean type 2019-06-25 14:19:12 -07:00
Wunkolo
d738c21852 Propagate block, bool, standard integer types across codebase
Posix type integer pass

Propagate block, bool, integer types across codebase

Add standard integer types to prototypes
2019-06-25 11:56:11 -07:00
Wunkolo
8162f3f877 Add .clang_format
Also applies clang-format to the current code base, using command:
`find . -regex '.*\.\(c\|h\)' -exec clang-format -style=file -i {} \;`
2019-06-23 18:43:32 -07:00
Aaron Griffith
248ea42dd2 Merge branch 'master' into python3-fun-times 2019-06-21 22:08:58 -04:00
Wunkolo
4b0b50f215 Implement style fixes 2019-03-18 14:04:36 -07:00
Wunkolo
ee9a3411ba block_class_is_subset implementation pass 2019-03-17 17:33:30 -07:00
Wunkolo
2c3d54ea5d Implement block_class header 2019-03-17 15:09:33 -07:00
Nicolas F
e348a548b6 Initial Python 3 port
Many things work, some don't. Notably, genPOI doesn't work, and
there's some signedness comparison stuff going on in the C extension.

This also completely drops support for Python 2, as maintaining a C
extension for both Python 2 and 3 is a pain and not worth it for the
9 months that Python 2 is still going to be supported upstream.

The documentation needs to be adjusted as well.

All of the few tests we have pass, and rendering a map works, both
with a configuration file and without. We can also use optimizeimages.

Concerns #1528.
2019-03-17 17:57:07 +01:00
Wunkolo
4d4df31ece Block ID to mc_id replacement pass 2019-03-16 21:15:08 -07:00
Wunkolo
7e97544f4d First pass mc_id enum implementation 2019-03-16 20:21:44 -07:00
Aaron Griffith
203715d05e do not render internal faces for water
This is closer to the old water rendering method, and better allows
users to see underwater structures.
2018-08-15 17:11:09 -04:00
Nicolas F
d76a22e020 Fix deprecated NumPy API warnings 2017-03-09 17:28:18 +01:00
Andrew Chin
bc9a097957 Add some new blocks for Minecraft 1.9
* Purpur blocks, pillars, stairs, and slabs
* End brick
2016-03-01 21:25:15 -05:00
Ean McLaughlin
8f909f99de Added missing comma in function call for fence gate material definition. 2014-09-03 02:06:51 -06:00
Ean McLaughlin
a3b7ac12b8 Added definitions for the new fence gates. Hopefully I got the C side right. Close #1148 2014-09-03 01:36:44 -06:00
Ean McLaughlin
ed09c5c965 Added definitions and support for all the various red sandstone blocks. 2014-09-02 20:55:57 -04:00
Andrew Chin
e82e7bf0b2 added support for different door types 2014-08-26 15:48:05 -04:00
Andrew Chin
df920e60de Added support for the difference fence colors 2014-08-26 14:17:40 -04:00
aib
ed75d82588 Fix double trapped chests rendering as two singles 2013-11-17 17:57:56 +02:00
Nicolas Frattaroli
2346c26f37 Added dark wood and acacia wood blocks
Includes stairs, slabs, planks and saplings.
2013-11-02 15:12:44 +01:00
Andrew Chin
46bda131f9 Add stained glass and stained glass panels
Note that this commit changes the pseudo-ancil-data type from unsigned
int to an unsigned short.  Our pseudoancil code creates 5 bits of data
to store adjacency information for glass.  Glass also has 4 bits for
color info.  This means we need a total of 9 bits to render these (thus
int --> short)
2013-10-26 01:47:07 -04:00
Andrew Chin
63e9226415 Merge branch 'snapshot'
Conflicts:
	overviewer_core/src/iterate.c
2013-10-25 23:35:22 -04:00
Jer Wilson
c86698650d Refactored stairs rendering to support corners 2013-09-16 00:31:39 -07:00
Jer Wilson
3050f4099e Adding blocks for new flowers and doublePlants 2013-09-13 14:25:24 -07:00
Alejandro Aguilera
0f017f6b51 Lilypads are now properly oriented. 2013-04-07 01:33:10 +02:00
Alejandro Aguilera
42debd6c9d Redstone now connects to trapped chests. 2013-02-08 11:06:14 +01:00
Alejandro Aguilera
efd2a56516 Add wooden button, command block, beacon block and cobblestone (and mossy) wall. 2012-10-23 11:26:46 +02:00
Socolin
3a04bfd336 Update overviewer_core/src/iterate.c
Support id > 255 for check_adjacent_blocks
2012-10-13 18:20:40 +03:00
Andrew Chin
e86084e0ca Merge remote branch 'origin/snapshot' 2012-08-01 09:52:53 -04:00
Aaron Griffith
05bfaaf967 added slime overlay, colors chunks green if slimes can spawn 2012-06-05 23:18:15 -04:00
Aaron Griffith
04e031b657 Re-apply "Update chests to work with snapshot 12w21b. Add ender chests. Improve some comments."
This reverts commit a60b56c507.
2012-06-04 21:59:45 -04:00
Aaron Griffith
a60b56c507 Revert "Update chests to work with snapshot 12w21b. Add ender chests. Improve some comments."
This reverts commit b245bbe8b3.
2012-06-04 21:57:42 -04:00
Alejandro Aguilera
b245bbe8b3 Update chests to work with snapshot 12w21b. Add ender chests. Improve some comments. 2012-05-31 12:04:58 +02:00
Aaron Griffith
4a9c4fd150 get_data will no longer repeatedly try to open missing chunks 2012-03-03 23:15:16 -05:00
Aaron Griffith
d1c5c14ff7 fixed huge memory leak when calling chunk_render on empty section 2012-03-01 15:55:47 -05:00
Alejandro Aguilera
ae6f333be3 Improve (I think) a commit. 2012-03-01 10:54:57 +01:00
Alejandro Aguilera
4ac2c872b8 Update doors to use pseudo data. 2012-03-01 10:50:39 +01:00
Aaron Griffith
414b754e24 biomes now work, still no swamp purple though 2012-02-22 04:14:44 -05:00
Aaron Griffith
136ea70281 all sections now loaded for each chunk, cave mode now works 2012-02-21 14:22:52 -05:00
Aaron Griffith
187b2690f4 added get_data for getting data across chunk boundaries, fixed PAD 2012-02-21 03:49:19 -05:00
Aaron Griffith
a0d584bba6 Base render primitive now draws correctly (no biomes yet though) 2012-02-21 02:42:42 -05:00
Aaron Griffith
e33241a973 fixed leaking block data for each rendered chunk 2012-02-15 21:38:45 -05:00
Aaron Griffith
302e1d592a Merge branch 'master' into rewrite 2012-02-06 21:41:11 -05:00
Andrew Brown
ff3bfceef7 more C code fixes. Activated caching.
Also removed some code that I accidentially left in.
Also added a traceback printing decorator around get_chunk() because the
C code can potentially swallow those exceptions.
2012-01-17 21:52:01 -05:00
Andrew Brown
70ef0af00c modified C extension for get_chunk() raising exception on not found 2012-01-16 01:59:16 -05:00
Aaron Griffith
e3610f8ac5 moved to a layer-based rendermode system, moved normal mode to base primitive
options are now handled partially in the python side, in rendermodes.py
2012-01-08 00:08:16 -05:00
Aaron Griffith
4eaf103213 fixes to get lighting mode working again 2012-01-06 20:23:15 -05:00