Commit Graph
100 Commits
Author SHA1 Message Date
Nicolas F 81bfbc0a15 world: fix warnings regarding unknown region types 2021-06-10 17:23:23 +02:00
Nicolas F 1beb5799b5 textures: use new name for path block on 1.17
Fixes rendering with 1.17 textures and no 1.16 fallback,
breaks rendering for anything using 1.16 textures.
2021-06-10 17:22:23 +02:00
Nicolas F 3488450531 overviewer.h: bump C extension version 2021-06-06 18:53:53 +02:00
Nicolas F 111579ed89 Merge PR #1811 of DragonDev1906 2021-06-06 18:52:31 +02:00
Nicolas F 999e613b28 setup.py: enable c99 mode with gnu extensions
Apparently this is needed on certain old gcc versions, but does
fine on newer ones. No clue why.
2021-06-06 08:10:32 +02:00
Nicolas F 3084d57bb3 genPOI: don't panic on empty player dat files
Closes #1876.
2021-06-04 14:03:33 +02:00
Nicolas FandGitHub 498c844136 Merge PR #1845 from Esvandiary
GenPOI: adds explicit pool close/join in handleEntities to fix possible hang (issue #1817)
2021-06-04 13:59:41 +02:00
Nicolas F 9fbcd54037 Merge PR #1863 of vilhelmprytz 2021-06-04 13:45:00 +02:00
Nicolas FandGitHub 218dc14e04 Merge PR #1878 from Phoenix616
Add name of world to some errors
2021-06-04 13:43:07 +02:00
Nicolas F 2dbfafe857 Merge PR #1939 of buscher
Add chains
2021-06-03 15:59:04 +02:00
Nicolas FandGitHub 3d644c3511 Merge PR #1938 from buscher
Fixed black full height snow layers
2021-06-01 20:42:45 +02:00
Nicolas FandGitHub 7a4ef31faa Merge PR #1937 from buscher
Added chiseled and cracked nether bricks
2021-06-01 20:40:07 +02:00
Nicolas FandGitHub bd06e9eeb3 Merge PR #1935 from buscher
Fix dead Chorus Flower
2021-05-31 19:10:58 +02:00
Nicolas FandGitHub 98392a35d9 Merge PR #1934 from buscher
Add End Rod
2021-05-31 19:10:13 +02:00
Nicolas F 1926aa6c6f docs: move to libera.chat 2021-05-22 13:21:26 +02:00
Nicolas F efa0f9e850 web_assets: update leaflet to 1.7.1 2021-05-21 02:34:45 +02:00
Nicolas F c43284a2cf Merge PR #1856 from IncredibleHolg
I finally got around to doing this.
2021-05-21 01:32:49 +02:00
Nicolas F 649a20e902 Revert "Merge PR #1708 from AstraLuma"
This reverts commit b2a7bc99ba, reversing
changes made to a5fbe03133.

Breaks buildbot in various ways
2021-05-16 19:48:39 +02:00
Nicolas F ff94206a05 setup.py: don't error out when PIL can't be found
It may still be in the include directories provided by the
operating system, such as it is on the vast majority of Linux
distributions.
2021-05-16 18:26:36 +02:00
Nicolas F b2a7bc99ba Merge PR #1708 from AstraLuma 2021-05-16 18:13:55 +02:00
Nicolas F a5fbe03133 setup.py: make sure to enable -O3 on unix
Apparently my -O3 came from somewhere other than this script.
It's possible that there is some generic "use optimisations"
mechanism in setuptools/distutils/whateverthisis, but I don't feel
like opening up that can of worms so let's just add an -O3 extra
argument to the compiler invocation to make sure it always gets it.
2021-05-16 18:00:51 +02:00
Nicolas F a5e2f182af overviewer.h: bump C extension version 2021-05-16 14:50:23 +02:00
Nicolas F a7e5be4322 Merge PR #1926 of Buscher 2021-05-16 14:49:44 +02:00
Nicolas F cfbfd4c026 Merge PR #1925 of Buscher 2021-05-16 14:48:23 +02:00
Nicolas F 1b5e0f5802 Merge PR #1920 of buscher 2021-05-16 14:46:52 +02:00
Nicolas F 2fc64c6f26 block_class: optimise aarch64 SIMD some more
15% faster than the previous SIMD.
2021-05-11 12:24:54 +02:00
Nicolas F 772d73ce04 block_class: add aarch64 SIMD
Speedup of 2.3x for this particular function. Can probably be
improved somewhat still.
2021-05-11 11:57:52 +02:00
Nicolas FandGitHub 86963c5de9 Merge PR #1890 from lenzls
Minor spelling fixes
2021-01-16 15:53:32 +01:00
Nicolas FandGitHub 074a7d23a1 Merge PR #1877 from clonetwin26
"Catch KeyErrors since nether maps don't necessarily have well formed player.dat"
2020-11-27 14:17:41 +01:00
Nicolas FandGitHub 731af71d27 Merge pull request #1857 from jakubskorupa/fix-typos
Fix typos and punctuation in documentation
2020-10-07 09:56:56 +02:00
Nicolas F 47a0604b5a textures: be more resilient against corrupted jars 2020-10-04 19:45:39 +02:00
Nicolas F 01ed588278 textures: work around old pillow
Older versions apparently didn't have LANCZOS filtering for
resizing. In this case, just fall back to whatever the default is.

Will look marginally worse for those people but at least it works.
2020-09-20 16:16:10 +02:00
Nicolas F 91ea87447a docs: add a note about Bedrock Edition support
Namely, that it does not exist.

Fixes #1841.
2020-08-25 16:47:05 +02:00
Nicolas FandGitHub 4c0a69dd28 Merge PR #1826 from Auron956
Resolve stair & stem rendering issues
2020-08-07 23:05:48 +02:00
Nicolas FandGitHub 50b84e95b5 Merge pull request #1791 from overviewer/116-blocks 2020-08-05 19:05:57 +02:00
Nicolas F 1d40ea77d4 nether: move nether roof blocks into new class 2020-08-05 19:01:52 +02:00
Nicolas F 0776bf0a93 textures: fix various small nitpicks
- don't redundantly declare a side image when it's the same as top
- change wood blocks to get textures from a dict
2020-08-05 18:52:21 +02:00
Nicolas F ba173698f3 Merge PR #1812 from IncredibleHolg 2020-08-05 18:14:27 +02:00
Nicolas F 08e8c21d0c web: don't clutter up web console by default
If one wishes to add debug output, they should use overviewer.utils.debug.
To see the output produced by that, set overviewerConfig.map.debug to true.

Fixes #1816.
2020-07-28 13:22:07 +02:00
Nicolas F 11aabbfd9f world: fix 1.16 block unpacking
Fixes #1797.
2020-07-28 13:08:43 +02:00
Nicolas F fcb3f2644d Shuffle around wall IDs, change wall check
Previously, walls were all numbered at 21000+. This is bad because
our blockmap is an array, so this caused our blockmap to take up
80 MiB of RAM in each worker process.

This commit changes the wall numbering, and exploits some bitmasking
to have the wall check run in constant time no matter how many walls
there are. This is done with a simple mask and xor to check the prefix.

RAM usage for the blockmap thus drops to like 44 MiB.

This is in preparation for adding more walls for 1.16.
2020-07-13 19:15:47 +02:00
Nicolas FandGitHub 3282791bc4 Merge PR #1796 from DragonDev1906
Make icons in legend OptIn
2020-07-11 14:19:00 +02:00
Nicolas F 8c0028495d world: work around minecraft palette bugs
Instead of trusting that Minecraft will only request up to index
num_palette_entries - 1, we'll assume Mojang occasionally produces
a weird file where it tries to request past that, up to the maximum
palette index it can based on the bits per value. To facilitate this,
this commit extends the translation palette array to this maximum size.

Such invalid palette picks will simply be replaced by ID 0 (aka air),
so it should cause minimal weirdness in the output.

Works around #1797.
2020-07-09 18:33:39 +02:00
Nicolas F 8ec2a998e2 build-tools: remove unused garbage 2020-07-07 23:36:56 +02:00
Nicolas F a3e4812ca9 world: skip zero-size region files
Minecraft 1.16.1 loves writing these in singleplayer, and they
cause a whole bunch of corruption warnings if we don't handle them
in a special way like this.
2020-07-03 13:10:23 +02:00
Nicolas F fd2c0a057a Add blackstone and netherite blocks 2020-07-03 13:10:23 +02:00
Nicolas F bc56346bad Initial 1.16 block work
- Add ancient debris
- Add basalt
- Add polished basalt
- Add soul campfire
2020-07-03 13:10:23 +02:00
Nicolas F d362e1512d overlay-mineral: fix tuple parse data type
Was a byte, should've been an unsigned short.

Fixes #1801.
2020-07-03 13:06:46 +02:00
Nicolas F 27eabb08a5 web_assets: make poi control icons look less bad
using rem here is probably wrong because we want to be the height
of the line in the span we're inside of, not of some global thing.

Also, add a margin to the left.
2020-07-01 18:59:34 +02:00
Nicolas F f54e398a2a docs/signs: fix escape example and add note
Concerns #1795.
2020-07-01 18:46:56 +02:00
Nicolas F a424744762 Merge PR #1734 by DragonDev1906 2020-06-29 18:49:34 +02:00
Nicolas FandGitHub f6b7e67b85 Merge PR #1793 from eminence
Show the Overviewer version in the "welcome" message
2020-06-28 00:30:42 +02:00
Nicolas F 9605bd8098 Add a FUNDING.yml for a sponsor button
After discussing this with the other folks on IRC, everyone seemed
to be cool with me adding myself to this. It makes it so people see
a little sponsor button that tells them how they can monetarily
support the project if they choose to do so.
2020-06-25 21:42:25 +02:00
Nicolas F a04ca9ca81 genPOI: fix dumb dimension handling mistake
lol
2020-06-25 19:10:29 +02:00
Nicolas F d3a5786642 world: work around Minecraft lighting nonsense
Minecraft occasionally generates chunks which are not yet lit.
In the past, I'd have said to just make them not render, but these
can sometimes be large areas of the world.

Instead, render them with full bright SkyLight. This looks less bad
than whatever is stored in the SkyLight property in these cases.

Closes #1787, probably. Only one person bothered providing a sample file.
2020-06-25 18:55:48 +02:00
Nicolas F 0143ad63a6 genPOI: code style fixes
E129 can suck me off. Get a better syntax, Python.
2020-06-25 18:36:00 +02:00
Nicolas F 2b550fdf66 genPOI: fix handling of new dimension format
Fixes #1778.
2020-06-25 18:17:21 +02:00
Nicolas F 1355f8c49e world: retry chunk read on OSError too
Closes #1790.

If a chunk fails reading due to an underlying operating system
IO error, we can invoke the retry logic too. No clue what could
cause this to happen beyond hardware faults.

Also lower the sleep time to 0.25s down from 0.5s because half a
second of sleeping for each chunk this happens on seems incredibly
overkill.

Making the nbt code raise a CorruptChunkError in this case also means
that failing to read a chunk due to an IOError is not a fatal error
anymore, it'll simply skip it and move on.
2020-06-25 15:37:17 +02:00
Nicolas F c53268e8fe assetmanager: don't choke on existing icons dir
Fixes #1789.
2020-06-25 00:17:12 +02:00
Nicolas FandGitHub 780597d7b2 Merge pull request #1780 from dreamwraith 2020-06-24 18:10:18 +02:00
Nicolas F cadb24a015 assetmanager: rename icons dir to markers, symlink
This fixes a name collision with Apache's default config.

Closes #1773. Install nginx already.
2020-06-24 17:57:12 +02:00
Nicolas F 07e6be4b43 Merge pull request #1788 from Auron956 2020-06-24 17:16:45 +02:00
Nicolas FandGitHub 98fe552790 Merge pull request #1786 from IncredibleHolg/flowers-berry
add flowers and berries
2020-06-14 18:58:48 +02:00
Nicolas FandGitHub 678048177d Merge pull request #1755 from cliffmeyers
fix a bug where multiple renders of the same world led to repeat genPOI scans
2020-05-23 16:27:05 +02:00
Nicolas F 98f83af4df Merge PR #1759 from iRath96 2020-05-22 16:21:02 +02:00
Nicolas FandGitHub dc6f8cfcbd Merge pull request #1747 from cliffmeyers
Apply consisting sorting to markers JS files in genPOI
2020-04-12 21:06:24 +02:00
Nicolas F 7af188da4e textures: better error logging for corrupt files
Sometimes people's texture packs contain weird things, and it'd
be good if instead of throwing an unhandled IOError, we raise
a TextureException with the filename in it.

Also, make verbose mode actually run find_file in verbose mode,
which is useful for finding where Overviewer loaded that texture
file from.
2020-03-30 07:47:16 +02:00
Nicolas F e5ec41fcf9 Revert "textures: remove baffling texture generation logic"
This reverts commit 9895fe875b.

The original code was correct, but confusing. Overviewer did regenerate
the texture in each worker process because Python pickling is incredibly
fragile fucking garbage designed by idiots who have no clue of what
a good language looks like.
2020-03-02 19:59:18 +01:00
Nicolas F 9895fe875b textures: remove baffling texture generation logic
We used to generate textures multiple times for each worker process,
which didn't seem to be intended as it was done gated behind a reversed
if statement. It just so happened to fix an issue introduced by the
pickling code which was deleting vital attributes like the actual
generated textures.

I'm honestly not sure why this was ever done, so let's just throw this
out and call it a day.

Fixes #1728
2020-02-19 15:06:42 +01:00
Nicolas F 51efdbaa4e overviewer.h: bump extension version 2020-02-14 21:26:34 +01:00
Nicolas F d8b3183a88 Merge PR 1717 from DragonDev1906 2020-02-14 21:21:58 +01:00
Nicolas F 1d8279243d genPOI: polyline text improvements
Don't require text for polylines/polygons, and support hovertext
by utilising leaflet's tooltips.
2020-02-13 18:35:20 +01:00
Nicolas F 2c92b4acf9 Merge PR 1649 from deltaidea 2020-02-13 17:40:35 +01:00
Nicolas F 6fdf78c35f overviewer.h: bump extension version 2020-02-13 17:36:20 +01:00
Nicolas F 27e63d4aa6 Merge PR 1704 from dgrimreaper 2020-02-13 17:32:30 +01:00
Nicolas F 3575b8d4e7 travis: hopefully fix build by replacing 3.8-dev 2020-02-12 20:48:08 +01:00
Nicolas F a929b55d4e observer: minor change to LoggingObserver interval
Off-by-one situation and all that.
2020-02-11 19:52:04 +01:00
Nicolas F 6251a6c730 Merge PR #1716 by Auron956 2020-02-11 07:38:43 +01:00
Nicolas FandGitHub 58ae9dc529 Merge pull request #1670 from robosphinx/patch-1
Change lava ID from 10 to 11 (Fixes issue #1551)
2020-02-11 07:27:00 +01:00
Nicolas F 7097f76476 Merge PR #1720 by DragonDev1906 2020-02-11 07:02:51 +01:00
Nicolas FandGitHub 021e88dd4a Merge pull request #1699 from sjamesr/py3.4-compat
Fix construct requiring >=Python3.5
2020-02-11 06:52:51 +01:00
Nicolas F 1c5c77bcbc Merge #1705 2020-02-11 06:46:02 +01:00
Nicolas F 751ba39bd0 docs/running: fix leftover mention of 1.14
Oopsie.
2019-12-28 13:44:17 +01:00
Nicolas F 9800c58c14 genpoi: add -p/--processes option for parity
People could always set this through the config file, but somehow
not the command line. This commit fixes this oddity by adding the
option to the genPOI script's argument parser.
2019-12-27 15:32:10 +01:00
Nicolas F bdca0b9250 textures: clean up chest code
- drop 1.14 compatibility
- code style fixes
2019-12-27 14:42:55 +01:00
Nicolas F 19b5f70fda Merge chest fix of Gyzie into 115 2019-12-27 14:25:38 +01:00
Nicolas F 7538eb42c3 1.15 release preparations
- Update texture error string
- Update docs
- Add missing newline at the end of textures.py
2019-12-27 14:23:01 +01:00
Nicolas F a9fa06f019 nbt: small optimisation to list reading
Don't use .append(), we already know the final length. Instead,
have python initialise the list of a certain size and set the elements
in it.

Makes the function like 4% faster.
2019-12-26 17:28:51 +01:00
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 2b699d0355 world: fix door block translation code
Fixes #1697.
2019-12-23 19:06:51 +01:00
Nicolas F ed46082e16 biome: actually use the full range of biome data
Oopsie.
2019-12-23 18:36:24 +01:00
Nicolas F e7c9a2c49e biome: fix biome reading code
Fixes #1696.
2019-12-23 18:31:30 +01:00
Nicolas F 64edf65aa5 biome: fix biomes for chunks at Y=16
Okay so you know how you have chunks and they map to 4 levels of biomes?
Logically you'd go hmmmm, let's just map 4 Y levels to one biome level.
Except there aren't 16 chunk heights, there are about 17 if you count
Y=16 (which can contain data), but there's also -1 technically but I've
never seen this have data in an NBT structure I don't think.

Anyway, let's just hope we're doing the right thing by giving Y=16 the
same biome as Y=15. If someone wants to check whether that is actually
correct please feel free to, but for now it's better than crashing at
the very least.

Would be nice if we had a spec for these kinds of things.

Fixes #1685.
2019-12-11 19:15:56 +01:00
Nicolas F 37ad13dba7 biome: for Y -1, return the first biome
Apparently rotated worlds would try to access the biome for Y-level
-1. I don't know why they do that (probably some dumb reason that may
be a bug in of itself) but returning the first level should be harmless.

Fixes #1683.
2019-12-11 18:43:16 +01:00
Nicolas F 76bbabb7de fix various logging.warn calls
Those are deprecated in favour of logging.warning now.
2019-12-11 18:42:35 +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 FandGitHub 9607636d49 Merge pull request #1682 from Dravere/fixing-incorrect-blocks-rendering-1578
Fixed incorrect rendering of blocks (issue #1578)
2019-12-07 21:21:55 +01:00
Nicolas FandGitHub 6dccdaa2a0 Merge pull request #1668 from IncredibleHolg/addblocks-nov19-01
Adds composter and bamboo
2019-12-05 15:32:25 +01:00
Nicolas F 3d31347e9b observer: create outputdir if it doesn't exist
Observers get initialised at config parse time, before Overviewer
creates the outputdir. So we can just tell them to create the
outputdir if it doesn't already exist to avoid an awkward error
on the initial render.

Fixes #1657.
2019-10-27 20:19:07 +01:00
Nicolas FandGitHub a688c7b7c9 Merge pull request #1645 from dreamwraith/patch-1
Update Docs for Texture Install
2019-10-27 11:59:38 +01:00