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);
}