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.
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.
- Replaces exising implementation with a texture that better
resembles the in game block, accounting for its facing & whether
a book has been placed or not
- Replaces existing implementation with a texture that better
resembles the in game block and accounts for its facing & what
surface it is attached to (ceiling, wall, or floor)
- Add all possible variants of mushroom blocks introduced in 1.13
- Render mushroom stems similarly to red/brown mushroom blocks
- Add vine variants where vines are on the upwards facing side
- Use 'lit' property to determine when block is on or off
- Account for facing when generating textures
- Clean up smoker/furnace/dispenser/dropper texture generation code
- Fix extended pistons rendering as if they were retracted
- Fix retracted pistons rendering completely dark when using a
lighting rendermode primitive
- Use piston head 'facing' property to determine rotation
- Use piston head 'type' property to determine if sticky or not
- Add beds with colors other than red
- Use bed 'facing' property to determine bed's rotation
- Use bed 'type' property to determine if the head or foot is rendered
- Correct faulty logic during bed texture generation
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.
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.
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