diff --git a/docs/building.rst b/docs/building.rst index f6a5aa5..172d74f 100644 --- a/docs/building.rst +++ b/docs/building.rst @@ -36,26 +36,29 @@ Windows Build Instructions -------------------------- First, you'll need a compiler. You can either use Visual Studio, or -cygwin/mingw. The free `Visual Studio Express -`_ is okay. You will want the C++ -version (Microsoft® Visual C++® 2010 Express). Note that the Express version of -Visual Studio will only build 32-bit executables. We currently don't have a -recommended way of building Overviewer on 64-bit Windows using free tools. If you -have bought a copy of Visual Studio, you can use it for 64-bit builds. +cygwin/mingw. The free `Visual Studio Community +`_ is okay. You will need to select the "Desktop Development with C++" WORKLOAD. Microsoft has been changing up the names on this with the "Community" edition of Visual Studio. If nothing else works, just install every Individual Visual C++ component you can find :) Prerequisites ~~~~~~~~~~~~~ -You will need a copy of the `Pillow sources `_. +You will need the following: + +- `Python 2.7 `_ +- A copy of the `Pillow sources `_. +- The Pillow Extension for Python. +- The Numpy Extension for Python. +- The extensions can be installed via:: + + c:\python27\python.exe -m pip -U numpy pillow + Building with Visual Studio ~~~~~~~~~~~~~~~~~~~~~~~~~~~ -For this, you will need an installation of `Python 2.7 `_ along with Pillow and numpy installed in your Python environment. - 1. Get the latest Overviewer source code as per above. -2. From the Start menu, navigate to the 'Microsoft Visual Studio 2010 Express' and open the 'Visual Studio Command Prompt (2010)' shortcut. +2. From the Start menu, navigate to 'Visual Studio 2017' and open the **'Developer Command Prompt for VS 2017'** (*or whatever year*) shortcut. A regular command or powershell prompt will *NOT* work for this. 3. cd to the folder containing the Overviewer source code. 4. Copy Imaging.h and ImPlatform.h from your Pillow sources into the current working directory. 5. First try a build:: @@ -183,4 +186,4 @@ You may need or want to add the line:: PYTHON_VERSION=2.7 -to the file /etc/make.conf, but read the ports documentation to be sure of what this might do to other Python applications on your system. +to the file /etc/make.conf, but read the ports documentation to be sure of what this might do to other Python applications on your system. \ No newline at end of file diff --git a/overviewer_core/aux_files/genPOI.py b/overviewer_core/aux_files/genPOI.py index 0fc5b8b..9fd8704 100755 --- a/overviewer_core/aux_files/genPOI.py +++ b/overviewer_core/aux_files/genPOI.py @@ -258,13 +258,15 @@ class PlayerDict(dict): sname = self._name.replace('-','') try: profile = PlayerDict.uuid_cache[sname] - return profile['name'] + if profile['retrievedAt'] > time.mktime(self['time']): + return profile['name'] except (KeyError,): pass try: profile = json.loads(urllib2.urlopen(UUID_LOOKUP_URL + sname).read()) if 'name' in profile: + profile['retrievedAt'] = time.mktime(time.localtime()) PlayerDict.uuid_cache[sname] = profile return profile['name'] except (ValueError, urllib2.URLError): diff --git a/overviewer_core/data/web_assets/index.html b/overviewer_core/data/web_assets/index.html index 3fd2812..16b53d9 100644 --- a/overviewer_core/data/web_assets/index.html +++ b/overviewer_core/data/web_assets/index.html @@ -11,7 +11,7 @@ - + diff --git a/overviewer_core/src/primitives/overlay-slime.c b/overviewer_core/src/primitives/overlay-slime.c index ca1a55e..feca6d5 100644 --- a/overviewer_core/src/primitives/overlay-slime.c +++ b/overviewer_core/src/primitives/overlay-slime.c @@ -59,10 +59,14 @@ static int random_next_int(long long *seed, int n) { return val; } -static int is_slime(long long map_seed, long chunkx, long chunkz) { +static int is_slime(long long map_seed, int chunkx, int chunkz) { /* lots of magic numbers, but they're all correct! I swear! */ long long seed; - random_set_seed(&seed, map_seed + (chunkx * chunkx * 0x4c1906LL) + (chunkx * 0x5ac0dbLL) + (chunkz * chunkz * 0x4307a7LL) + (chunkz * 0x5f24fLL) ^ 0x3ad8025fLL); + random_set_seed(&seed, (map_seed + + (long long)(chunkx * chunkx * 0x4c1906) + + (long long)(chunkx * 0x5ac0db) + + (long long)(chunkz * chunkz * 0x4307a7LL) + + (long long)(chunkz * 0x5f24f)) ^ 0x3ad8025f); return (random_next_int(&seed, 10) == 0); }