Commit Graph
100 Commits
Author SHA1 Message Date
Nicolas F 88c056b6b7 contrib/png-it: clean up code, grammar
This took several years off my life expectancy, and there's still
ways to go.
2019-03-12 00:26:45 +01:00
Nicolas FandGitHub 4e08859f0e Merge pull request #1532 from jsmienk/patch-2
Simplify finding spawn Y
2019-03-11 19:16:03 +01:00
Nicolas F 57a55b68e1 contribManager: get rid of removed scripts 2019-03-11 18:05:20 +01:00
Nicolas F 9f50e0fb2f contrib: delete scripts that are no longer useful
dtt-c has been a thing for 8 years now, I think it's safe to say
people have deleted their old caches in the meantime.

findSigns has also been superseded by genPOI ever since genPOI
has been a thing, which has probably been since anvil.
2019-03-10 18:09:09 +01:00
Nicolas F c9b506a58c genPOI: fix code style
One code style error can't really be fixed because despite
has_key being deprecated, "in" doesn't work on "super" for objects
that derive from dict, at least not in Python 2.7. Thanks Guido.

Also, I don't know which one of you it is that keeps putting semicolons
at the end of your statements but you seriously need to stop.
2019-03-10 18:05:32 +01:00
Nicolas FandGitHub 6f5730d40a Merge pull request #1529 from CounterPillow/arrrgparse
overviewer: replace optparse with argparse
2019-03-10 17:39:54 +01:00
Nicolas F 3a923c2932 overviewer: warn about shell quoting issues
This reimplements the warning about missing quotes on the command
line that was removed with the previous commit.
2019-03-09 18:47:49 +01:00
Nicolas F 25f0907d05 overviewer: replace optparse with argparse
optparse is deprecated, and switching to argparse is mostly but not
entirely trivial. Nicely telling the user about shell quoting had
to be removed because I didn't see an easy way to do that with
argparse.
2019-03-08 16:48:31 +01:00
Nicolas F 849e5d690e overviewer: fix git hash being after line break
Apparently that comma had its reasons for being there because
Python2's print works in weird ways. We can do this better though
by using string concatenation.
2019-03-07 16:04:56 +01:00
Nicolas F e4924c3d73 overviewer: misc style fixes
except as instead of comma, get rid of strange superfluous comma
after print.
2019-03-07 16:02:14 +01:00
Nicolas F a551795969 optimizeimages: fix code style 2019-03-07 15:50:59 +01:00
Nicolas F ec63aa55b6 util: fix code style 2019-03-07 15:49:37 +01:00
Nicolas F fc88572aa3 cache: fix code style 2019-03-07 15:43:01 +01:00
Nicolas F 94aa49019c logger: code style fixes 2019-03-07 15:33:28 +01:00
Nicolas F ef66efd140 overviewer: code style and consistency fixes
A good sprinkling of PEP8 fixes. We're also getting rid of some
odd manual linebreaks in the output messages, and making sure to
end sentences with a period where appropriate. Help messages have
also been made more consistent, e.g. "Tries" -> "Try" and so forth.
2019-03-06 14:27:04 +01:00
Nicolas FandGitHub 4ffa0be456 Merge pull request #1526 from CounterPillow/webp-support
Add WebP image format support
2019-03-06 13:54:21 +01:00
Nicolas F 61ebd35240 Add WebP image format support
Since Firefox 65 added support for WebP, users may be interested
in having maps that use WebP images. Support for this is added in
this commit, along with documentation for it.

A new option, "imglossless", controls whether we write out lossless
or lossy WebP images. The generic name "imglossless" as opposed to
a more specific "webplossless" was chosen in case future image
formats we also implement also support lossless/lossy modes in the
same format (JPEG-XL? AV1 image format?).

It's an okay meme but lossy mode really falls apart on our sorts
of images on the more zoomed out composite tiles, resulting in
pretty blurry messes. Might be due to a PSNR bias in the encoder,
which is to be expected from Google.
2019-03-04 17:04:09 +01:00
Nicolas F 7f63dfe315 tileset: drastic code style fixes
We've also added a setup.cfg to specify what rules we want for
pycodestyle. We'll be ignoring some dumb ones that make no sense
and probably shouldn't exist, like both W503 and W504 being an
issue somehow???????

We're using a line length limit of 100. If you're on an 80 character
terminal and incredibly upset about this, then that's the nursing
home staff's problem, not ours.
2019-03-03 16:47:35 +01:00
Nicolas F 0499f8d168 docs: update copyright year, version, release
Bump version and release to 0.13, update the copyright date from
2017 (!!!) to 2019.
2019-03-02 16:35:23 +01:00
Nicolas F 846b7ab8f8 nbt: code style fixes
We're ignoring E221 and E741 since I disagree with them; I think extra
whitespace around operators to align repeated operations can aid
readability and help spot bugs.

This was mostly whitespace issues, e.g. trailing whitespace and
a single space on blank lines.
2019-03-02 15:47:13 +01:00
Nicolas F 336850ea04 observer: drastic code style fixes
I've used pycodestyle to find pep8 violations, and isort to fix import
sorting.

Currently we're looking at a max line length of 80, but I think we may
want to raise this to 100 because 80 is a pain in the butt.
2019-03-02 15:32:25 +01:00
Nicolas F 715b3a2d43 progressbar: actually flush the fd on update
A young software tinkerer from Switzerland noticed an issue with
an application he was working on one day. The progress bar it
was rendering only updated very rarely. This perplexed the teenager,
but never bugged him enough to investigate further. Nobody else seemed
to notice this, so maybe it was his system?

Fast forward a few years. The young man is now a 24 year old fully
grown manchild. The progress bar was still updating only very rarely.
On this rainy afternoon, the tinkerer had nothing else to do than
finally get to the bottom of this perplexing behaviour.

Much investigating was done. Did the Observer have a logic bug? No,
if we check in the update function by appending a line to a file,
we can see that it works properly. Besides, the logic of this piece
of code surely hasn't been changed for years.

Did maxvalue get set to 100 instead of the number of tiles? No, it
correctly overrode the right method to not just set max_value but
also maxvalue. (Great naming there, aheadley.)

Was it the polymorphic inheritance causing issues then? No, even the
parent class correctly behaved in its update function. Well, almost.
That is when the developer came upon a shocking revelation. His hands
trempled as his fingers moved across the laptop's keyboard, nearly
accidentally entering the "nuclear missile launch" mode in Kate's
Vi-Input editing. The developer added one line to the file.

self.fd.flush()

The progress bar finally worked as intended.
2019-03-01 14:36:28 +01:00
Nicolas FandGitHub 45fa7552c0 Merge pull request #1524 from CounterPillow/overlay-fix
web: fix overlays showing up for all base layers
2019-02-28 13:39:31 +01:00
Nicolas F 311d3eacc2 web: add layer fallback to goToHash
With the changes to things being indexed by path instead of name,
old hashes would stop working. To make this a bit less jarring, we
can fall back to the default tileset of a world, which means the
map would still load.
2019-02-28 13:37:19 +01:00
Nicolas F b57db703ae web: fix overlays showing up for all base layers
Overlays should only show up for the base layers they apply to,
however, we've had them show up for all base layers in a world.

To fix this, we first change things to be indexed by the unique path,
not the human-readable name (which is not supposed to be always unique).

Then, we remove and add overlay layers to the layerCtrl as needed on a
baselayerchange event.
2019-02-27 14:22:18 +01:00
Nicolas F b70f1a012f Fix C extension build warnings the painful way
Some bad distributions (Debian) apparently are not good enough to
have a Pillow version from this decade packaged.

Therefore, we need to do it the painful way of prefixing our
symbols and refactoring everything to use them.

A new header file called "utils.h" has been added for this purpose,
and it is included in "overviewer.h".

The following macros have been prefixed with "OV_":
- MIN
- MAX
- CLAMP
- BLEND
- MULDIV255

Additionally, the C extension version was bumped to 56 because 55
was reverted back to 54.
2019-02-22 12:53:47 +01:00
Nicolas F bc71ad7a8f web: fix white rectangle behind markers 2019-02-21 18:25:50 +01:00
Nicolas F 23f8cbd330 web: reimplement marker groups default checking
Now you can use checked=True again!

Fixes #1474.
2019-02-21 17:24:08 +01:00
Nicolas F 094b403515 docs: actually fix chestFilter example
oops
2019-02-21 16:36:48 +01:00
Nicolas F b0921972ba docs: fix chestFilter example
Fixes #1509
2019-02-21 16:34:28 +01:00
Nicolas F 03a8697866 Fix C extension build warnings
Today in "why did we ever do this?", we discover we've vendored
code from PIL/Pillow, but PIL/Pillow moved some macro definitions
around, so now our vendored code conflicted with their macros that
they included in the headers we're including.

The solution is to throw out our vendored macros and update the
semantics in our vendored Draw.c. I'm not sure why we vendored it,
but we seemingly did remove some stuff from it to avoid having to
pull in all of PIL/Pillow.
2019-02-21 16:27:55 +01:00
Nicolas FandGitHub a05daa7519 Merge pull request #1510 from 14mRh4X0r/fix-icon-offset
Fix marker icon position properly. Closes #1481.
2019-02-21 15:59:14 +01:00
Nicolas FandGitHub 71f80eba69 Merge pull request #1507 from mtoensing/minecraft113
fixed dead navigation on iOS on iPhone and iPad.
2019-01-12 02:49:25 +01:00
Nicolas F e1728b9e59 genpoi: Also fix missing nbt keys if processes > 1
oopsie
2018-11-26 14:40:52 +01:00
Nicolas F 38bc400b2f genPOI: catch ChunkDoesntExist when processes > 1
Fixes #1480.

No clue how this wasn't an issue before but is an issue now in 1.13,
maybe Minecraft writes more placeholder chunks these days.
2018-11-26 13:03:44 +01:00
Nicolas F cf53208989 genpoi: fix uncaught KeyErrors on some MC data
Apparently TileEntities can just not even exist now, and the same
goes for the player Dimension key. For the latter, I'm not sure
whether the fallback is correct, but it's a guess I suppose.

Hopefully addresses #1480.
2018-11-18 09:29:48 +01:00
Nicolas F bde265a8ac web: fix createInfoWindow not having any effect
Fixes #1494.
2018-11-18 09:18:55 +01:00
Nicolas F 2918637539 web: fix marker icon position
Shoutouts to 14mRh4X0r for finding the right CSS properties that
work for centering the marker icons.

Fixes #1481.
2018-11-18 09:10:54 +01:00
Nicolas F 39d9dba814 Merge branch 'whitespaces' of https://github.com/r15ch13/Minecraft-Overviewer into r15ch13-fixes 2018-06-14 13:54:34 +02:00
Nicolas FandGitHub cd9a0d6c68 Merge pull request #1459 from r15ch13/noscript
Use <noscript> to display message when JavaScript is disabled
2018-06-13 19:18:25 +02:00
Nicolas F a129274aa1 Remove broken marker centreing code
Apparently, having an image's origin be in the center is too
advanced of a concept for The Web™. I guess we can't do this then.
2018-05-09 16:22:21 +02:00
Nicolas F 6fbced79bf Fix custom icons not showing up properly
Individual POIs such as player POIs can have their own icon per
POI, so we should respect that.
2018-05-09 15:45:31 +02:00
Nicolas F cf5a14a088 Increase the Overviewer C extension version 2018-05-09 14:36:11 +02:00
Nicolas F ebdc4016d7 world: Don't call sys.exit here, raise something
A world being unsupported may not be a fatal application error in
all instances where this codepath in world.py is used, hence
throwing an exception is more sensible.
2018-05-09 14:25:05 +02:00
Nicolas F 12c12d128f Set the attribution prefix 2018-05-06 17:44:07 +02:00
Nicolas F 05cc9e60e7 Don't collapse marker group control 2018-05-06 17:12:03 +02:00
Nicolas F 23ea1918ea Update leaflet to 1.3.1 2018-05-06 17:11:46 +02:00
Nicolas F ea33ebe2fb Assume 32x32 marker size so they get centred
Maybe expose this as an option to the markers dict later, with
the anchor as an option too.
2018-05-06 16:59:27 +02:00
Nicolas F 614663f601 Show marker group display names 2018-05-06 16:53:32 +02:00
Nicolas FandGitHub cff0dcc187 Merge pull request #1431 from kevinwchang/travis-fix
Update Travis config
2018-02-23 04:47:26 +01:00
Nicolas FandGitHub e847adaa20 Merge pull request #1430 from kevinwchang/no-rgba-jpeg
Convert RGBA to RGB before saving as JPEG
2018-02-23 01:49:49 +01:00
Nicolas F 39d588ae45 docs: various small updates to build instructions
* python26 to python27
* PIL to Pillow
* Requirement on having python2, numpy and pillow for the MSVC build
* Mention -dev package for Pillow/PIL
2017-06-19 22:55:55 +02:00
Nicolas F 21b9e0aa13 docs: Clarify Ubuntu/Debian install instructions
We use HTTPS these days and mentioning python2.6 in 2017 is very
triggering to me.
2017-06-13 16:11:10 +02:00
Nicolas FandGitHub 6043ae958e Merge pull request #1386 from Monkey0x9/patch-1
Change forgotten 1.11 to 1.12
2017-06-11 16:56:53 +02:00
Nicolas F f7973410ea travis: Update MC version 2017-06-09 18:12:05 +02:00
Nicolas F 4b75f7fa63 Merge branch 'snapshot' 2017-06-09 18:08:38 +02:00
Nicolas F 711488e07d textures.py: Fix beds for 1.12
Bed textures are now one unified texture, so some cropping and
fiddling needs to be done.

Bed colours not yet implemented.
2017-06-09 18:06:29 +02:00
Nicolas F 461f8647e0 Update strings to 1.12 2017-06-09 16:28:49 +02:00
Nicolas F 412c8231b7 docs: add a section about how to contribute
This adds a work-in-progress section with a few tips and tricks
about how one should go about contributing to the project. It mostly
focuses on making people familiar with some of the code, and giving
them a few tips along the way on how to work with Git.

A few more contribution examples should be added, and what most
notably is lacking right now is a section about the web output
part. This is due to us currently rewriting it in Leaflet, so any
examples added now would quickly become outdated.
2017-04-18 15:30:51 +02:00
Nicolas F a183553ba5 setup.py: remove workaround for CentOS 5
More like ScentOS because it stinks LOLOLOLOLO
2017-04-10 12:22:05 +02:00
Nicolas F e07e588e59 readme: add API key note, small fixes
We previously stated that a Google Maps API key is not required.
However, this is not true (anymore). I'm still wary of adding
it to the documentation since my hopes is that in the time it would
take me to add this to the docs I could just finish leaflet, but this
is the least we can do to clear up any confusion.

Also switched some URLs to use HTTPS, which closes #1314.

Lastly, fixed a warning about a not long enough title line.
2017-04-10 12:18:14 +02:00
Nicolas F dd96d95b66 settingsValidators: clean up checkBadEscapes
A side-effect of these changes is that \a no longer gets shown as
'\a', but '\0x07'. Some characters, i.e. \n and \t, are still shown
as '\n' and '\t' respectively, so this comes simply down to repr()
behaviour.

However, I do believe it's worth it to get rid of that ugly code
duplication.
2017-03-24 18:29:15 +01:00
Nicolas F 8cf47935e4 Remove unused imports 2017-03-24 17:57:37 +01:00
Nicolas F b7837a9656 docs: update copyright year to 2017 2017-03-24 15:29:22 +01:00
Nicolas F 52afa7f8d2 docs: optimise PNGs
I used zopflipng with 100 iterations on most of them, and advpng
with 300 iterations in zopfli mode on front_page_screenshot.png
2017-03-24 15:26:32 +01:00
Nicolas F 57a1000f4c docs: fix two warnings during docs building
sphinx does not enjoy duplicate link names, and unless your label
is pointing to a header, it needs an explicit name when referenced
too.
2017-03-24 14:53:07 +01:00
Nicolas F 032b8831f9 docs: fix code block in signs.rst 2017-03-24 14:42:16 +01:00
Nicolas F ba5a4bbaed docs: add link to Twitter account to index.rst 2017-03-24 14:40:54 +01:00
Nicolas F f9148b7e2e docs: Change some http:// URLs to https:// 2017-03-24 14:35:05 +01:00
Nicolas F d11c9b5aa2 docs: remove remaining references to CentOS 5 2017-03-24 14:30:22 +01:00
Nicolas F b393489ea9 docs: remove CentOS 5 build instructions
It's EOL in a few days and the instructions only add confusion.
Anyone still using CentOS 5 has bigger issues than not having
documentation on how to build Minecraft-Overviewer.
2017-03-17 17:09:35 +01:00
Nicolas FandGitHub 99b223fb5a Merge pull request #1356 from overviewer/python2
Replace `python` with `python2`
2017-03-17 16:54:25 +01:00
Nicolas F cd0eb2d5c4 genpoi: query fs caps before using FileReplacer
Probably fixes #1271
2017-03-17 14:57:22 +01:00
Nicolas F 94d6772266 rcon: code style fixes 2017-03-16 18:25:55 +01:00
Nicolas F 3551518bbd logger: reduce pillow verbosity
With newer pillow versions, pillow would create debug log lines for
every single PNG images it touches, so that spams the log in
Overviewer's verbose mode quite a bit.
2017-03-16 17:03:06 +01:00
Nicolas F fa1e444890 docs: fix oxipng formatting 2017-03-16 16:44:23 +01:00
Nicolas F d2976625b3 world: remove redundant hashing
This is probably a leftover from the memcached thing. There is no
need to hash a key to be used for hashmap access, as the hashmap
itself hashes it already, and probably with a hash more appropriate
for the situation.
2017-03-16 16:26:10 +01:00
Nicolas F b75755a746 travis: stop testing for 2.6
Broken garbage
2017-03-16 15:53:40 +01:00
Nicolas F 4770af93f7 optimizeimages: add oxipng support 2017-03-16 15:50:02 +01:00
Nicolas F 5c44084332 optimizeimages: code style fixes
Now PEP8 compliant!
2017-03-16 14:58:41 +01:00
Nicolas F f1909e9684 Remove memcached support
Apparently we had memcached support. It was never worth it, and put
a weird md5 hash calculation in the path of regular caching. Seeing
as it was completely undocumented, I doubt anyone has ever used it.
2017-03-16 14:45:19 +01:00
Nicolas F 84b52326dc leaflet: Reimplement coordinate box on bottom left
I'd move the event setup into addTo, but JS is utter garbage and thinks
"this" in a function callback like that should be whatever, not where you
actually define it.
2017-03-13 14:04:37 +01:00
Nicolas F 8e883f47f5 Add support for concrete powder
aheadley is a pleb, and I can call him names in this commit message
because he doesn't look at them anyway lol
2017-03-10 07:35:39 +01:00
Nicolas F d76a22e020 Fix deprecated NumPy API warnings 2017-03-09 17:28:18 +01:00
Nicolas F 13d5fb7642 Add terracotta and concrete blocks
Fixes #1367
2017-03-09 16:51:17 +01:00
Nicolas FandAndrew Chin 7af5375df9 Actually add the high-dpi icons, durr
Oops I forgot
2017-02-19 11:37:02 -05:00
Nicolas FandAndrew Chin 3093a07dc2 Remove old junk in web_assets 2017-02-19 11:36:53 -05:00
Nicolas FandAndrew Chin 843d9ddb00 Carpet-bombing code style fixes 2017-02-19 11:36:46 -05:00
Nicolas FandAndrew Chin 99817f786f Re-implement map compass 2017-02-19 11:36:37 -05:00
Nicolas FandAndrew Chin e0b36fa9e4 Move icon anchor to tip of icons
The spawn and location icons should now have the tip of the icon
image point at the actual location. Previously, the icons were
centred onto it, which was slightly off in the vertical direction.
2017-02-19 11:36:24 -05:00
Nicolas FandAndrew Chin 6426182c1e Add retina size icons for spawn and location
Unfortunately we need to explicitly tell leaflet not to scale them
weirdly but to make them perceptually equivalent to the normal ones,
which means we have hardcoded icon sizes for those two right now.
2017-02-19 11:36:15 -05:00
Nicolas FandAndrew Chin ebfd40c995 Centre map view on spawn marker if left-clicked 2017-02-19 11:35:34 -05:00
Nicolas FandAndrew Chin 9bcf2d5542 Re-implement location marker
Click to centre, right-click to dismiss.
2017-02-19 11:35:24 -05:00
Nicolas FandAndrew Chin 0731ea65cd Re-implement configurable bgcolor 2016-12-10 14:56:18 -05:00
Nicolas FandAndrew Chin 003fc9cb47 Fix errorTileUrl for JPEG tilesets 2016-12-10 14:56:18 -05:00
Nicolas FandAndrew Chin 044c65f922 Get rid of overviewer.gmap, move code into util 2016-12-10 14:56:17 -05:00
Nicolas FandAndrew Chin 2cfa3e8731 Add tset config to leaflet layer, refactor marker
Instead of stuffing specialised values into overviewer.collections,
put a reference to the overviewerConfig tileset entry into the leaflet
layer, so that we can access it from callbacks easily.
2016-12-10 14:56:17 -05:00
Nicolas FandAndrew Chin cfa2a9f39b Re-implement spawn marker
Let's hope this works, any bugs are totally my fault.
2016-12-10 14:56:17 -05:00
Nicolas FandAndrew Chin 64598e9c01 Set errorTileUrl to blank.png
Hopefully this code is correct, I have not tried with a different
"base" variable, but I don't even know what that thing is.
2016-12-10 14:56:17 -05:00
Nicolas FandAndrew Chin 8f44c92821 Replace mentions of Google Maps in documentation 2016-12-10 14:56:17 -05:00