summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO28
-rw-r--r--MCEdit1
-rwxr-xr-x[-rw-r--r--]MCEdit.desktop13
-rw-r--r--PKGBUILD60
-rw-r--r--directories.patch99
-rw-r--r--disable-portable-mode.patch56
-rw-r--r--numpy1.7-compatibility.patch106
7 files changed, 191 insertions, 172 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 50b92385bba6..b94a5ffe94e6 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,32 +1,32 @@
+# Generated by mksrcinfo v8
+# Fri Dec 25 04:42:54 UTC 2015
pkgbase = mcedit
pkgdesc = Minecraft world editor
- pkgver = 0.1.8build799
+ pkgver = 1.4.0.1
pkgrel = 1
url = https://github.com/mcedit/mcedit
arch = any
license = BSD
+ makedepends = cython2
depends = python2
- depends = python2-numpy
depends = python2-opengl
+ depends = python2-numpy
depends = python2-pygame
- depends = ttf-bitstream-vera
- depends = pymclevel>=0.1.8build799
+ depends = python2-yaml
+ depends = python2-pillow
+ depends = python2-ftputil
conflicts = mcedit-git
conflicts = pymclevel-git
source = MCEdit
source = MCEdit.desktop
source = directories.patch
- source = disable-portable-mode.patch
source = numpy1.7-compatibility.patch
- source = filters-in-home.patch
- source = https://github.com/mcedit/mcedit/archive/0.1.8build799.tar.gz
- md5sums = b9de4195ddf84d85c0170e816ec0659e
- md5sums = e598244d2770ee075d397d6c11dc140d
- md5sums = 732f8e3faa3806a9fcdf8697b9d8d5d8
- md5sums = b8b5e679ed9bbf9f6a0e489599d2c587
- md5sums = a4f4e6645e0f00898fed0830127c727f
- md5sums = 5f84a8bf43e385e16f476fbd8ee4dc51
- md5sums = 8745d3b8bb4765755d2c31e539f6476d
+ source = https://github.com/Khroki/MCEdit-Unified/archive/1.4.0.1.tar.gz
+ md5sums = b08f609c8923067b13a9bd462999a6f4
+ md5sums = 53fe3c41d58fd1f6429f90ba0b1831ac
+ md5sums = 657f128f31d8818c2fda7e2c02a69149
+ md5sums = 2a168455d07a33134b58e44bedeb6e52
+ md5sums = f89ddd094dc7819d54090d659d091e5b
pkgname = mcedit
diff --git a/MCEdit b/MCEdit
index 8515340d50e4..c471f6985305 100644
--- a/MCEdit
+++ b/MCEdit
@@ -2,4 +2,5 @@
LIB=/usr/lib/mcedit
DATA=$SHARE/MCEditData
+cd /usr/share/mcedit
PYTHONPATH="$LIB:$PYTHONPATH" python2 -O $LIB/mcedit.py
diff --git a/MCEdit.desktop b/MCEdit.desktop
index 40effdb3b245..2ac8bef287cd 100644..100755
--- a/MCEdit.desktop
+++ b/MCEdit.desktop
@@ -1,11 +1,12 @@
[Desktop Entry]
-Version=stable21
-Type=Application
-Name=MCEdit
+Categories=Game;ArcadeGame;
Comment=Minecraft World Editor
-Exec=/usr/bin/MCEdit
Encoding=UTF-8
+Exec=/usr/bin/MCEdit
Icon=/usr/share/pixmaps/MCEdit.png
-Categories=Game;ArcadeGame;
-Terminal=false
+Name=MCEdit
+Path=/usr/share/mcedit/
StartupNotify=false
+Terminal=false
+Type=Application
+Version=stable21
diff --git a/PKGBUILD b/PKGBUILD
index e476fb233855..187f7fa11542 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,44 +1,47 @@
# Maintainer: Kozec <kozec at kozec dot com>
pkgname='mcedit'
-pkgver='0.1.8build799'
+reponame='MCEdit-Unified'
+pkgver='1.4.0.1'
pkgrel=1
pkgdesc='Minecraft world editor'
arch=('any')
url='https://github.com/mcedit/mcedit'
license='BSD'
-depends=('python2' 'python2-numpy' 'python2-opengl'
- 'python2-pygame' 'ttf-bitstream-vera' "pymclevel>=$pkgver")
+makedepends=('cython2')
+depends=('python2' 'python2-opengl' 'python2-numpy' 'python2-pygame'
+ 'python2-yaml' 'python2-pillow' 'python2-ftputil')
conflicts=('mcedit-git' 'pymclevel-git')
source=(MCEdit MCEdit.desktop
directories.patch
- disable-portable-mode.patch
numpy1.7-compatibility.patch
- filters-in-home.patch
- https://github.com/mcedit/mcedit/archive/${pkgver}.tar.gz
+ https://github.com/Khroki/${reponame}/archive/${pkgver}.tar.gz
)
-build() {
- cd ${srcdir}/${pkgname}-${pkgver}
-
- # Provided setup.py depends on something weird, but I'm not even
- # going to bother.
-
+prepare() {
+ cd ${srcdir}/${reponame}-${pkgver}
+ grep -rlZ python2\.7 * | while IFS= read -r -d '' filename; do sed -i '1 s/python2\.7/python\.7/' "$filename"; done
+ grep -rlZ python * | while IFS= read -r -d '' filename; do sed -i '1 s/python/python2/' "$filename"; done
+ grep -rlZ DejaVuSans\-Regular\.ttf * | while IFS= read -r -d '' filename; do sed -i 's/DejaVuSans\-Regular\.ttf/DejaVuSans\.ttf/g' "$filename"; done
msg directories.patch
patch -Np0 -i ../directories.patch || return 1
- msg disable-portable-mode.patch
- patch -Np0 -i ../disable-portable-mode.patch || return 1
msg numpy1.7-compatibility.patch
- patch -Np1 -i ../numpy1.7-compatibility.patch || return 1
- msg filters-in-home.patch
- patch -Np0 -i ../filters-in-home.patch || return 1
+ patch -Np0 -i ../numpy1.7-compatibility.patch || return 1
+}
+
+
+build() {
+ cd ${srcdir}/${reponame}-${pkgver}
+ python2 config.py -auto
+ python2 setup.py build_ext --inplace
}
package() {
- cd ${srcdir}/${pkgname}-${pkgver}
+ cd ${srcdir}/${reponame}-${pkgver}
+ python2 setup.py install --prefix=/usr --root="$pkgdir/"
mkdir -p "${pkgdir}/usr/bin"
mkdir -p "${pkgdir}/usr/lib/mcedit"
mkdir -p "${pkgdir}/usr/share/mcedit"
@@ -46,12 +49,17 @@ package() {
mkdir -p "${pkgdir}/usr/share/pixmaps"
# Pys
cp *.py "${pkgdir}/usr/lib/mcedit"
- for i in albow editortools ; do
+ cp *.pyc "${pkgdir}/usr/lib/mcedit"
+ for i in albow editortools pymclevel utilities panels viewports; do
cp -R $i "${pkgdir}/usr/lib/mcedit/$i"
done
+
# Images and stuff
+ echo "/usr/share/mcedit/splashes/splash1.png" > splash
cp *.png "${pkgdir}/usr/share/mcedit"
- for i in stock-schematics toolicons filters; do
+ for i in stock-schematics toolicons stock-filters stock-brushes lang\
+ item-textures Items splashes splash bo3.def RELEASE-VERSION.json\
+ LR5_mzu.fot; do
cp -R $i "${pkgdir}/usr/share/mcedit/$i"
done
ln -s "/usr/share/mcedit/favicon.png" "${pkgdir}/usr/share/pixmaps/MCEdit.png"
@@ -61,10 +69,8 @@ package() {
install -D "${srcdir}/MCEdit.desktop" "${pkgdir}/usr/share/applications"
}
-md5sums=('b9de4195ddf84d85c0170e816ec0659e'
- 'e598244d2770ee075d397d6c11dc140d'
- '732f8e3faa3806a9fcdf8697b9d8d5d8'
- 'b8b5e679ed9bbf9f6a0e489599d2c587'
- 'a4f4e6645e0f00898fed0830127c727f'
- '5f84a8bf43e385e16f476fbd8ee4dc51'
- '8745d3b8bb4765755d2c31e539f6476d')
+md5sums=('b08f609c8923067b13a9bd462999a6f4'
+ '53fe3c41d58fd1f6429f90ba0b1831ac'
+ '657f128f31d8818c2fda7e2c02a69149'
+ '2a168455d07a33134b58e44bedeb6e52'
+ 'f89ddd094dc7819d54090d659d091e5b')
diff --git a/directories.patch b/directories.patch
index 243532646f3c..d21c412910a0 100644
--- a/directories.patch
+++ b/directories.patch
@@ -1,16 +1,20 @@
# Just hardcoded path for everyday Arch use
---- directories.py.orig 2012-11-18 02:22:26.641212000 +0100
-+++ directories.py 2012-11-18 02:23:12.252390509 +0100
-@@ -76,6 +76,8 @@
-
- elif sys.platform == "darwin":
- dataDir = os.getcwdu()
-+ elif sys.platform.startswith("linux"):
+--- directories.py.orig 2015-12-24 14:50:26.516671121 -0700
++++ directories.py 2015-12-24 14:50:43.963338308 -0700
+@@ -83,7 +83,10 @@
+ # '''
+ #
+ # else:
+- dataDir = os.getcwdu()
++ if sys.platform.startswith("linux"):
+ dataDir = "/usr/share/mcedit"
- else:
- dataDir = os.getcwdu()
-
++ else:
++ dataDir = os.getcwdu()
+ if len(path) > 0:
+ return os.path.join(dataDir, path)
+ return dataDir
+
--- albow/resource.py.orig 2012-03-15 19:48:27.844000304 +0100
+++ albow/resource.py 2012-03-15 19:52:56.671251316 +0100
@@ -73,6 +73,8 @@
@@ -23,12 +27,71 @@
font = font_cache.get(key)
if not font:
---- mcedit.py.orig 2012-04-19 16:28:33.458451942 +0200
-+++ mcedit.py 2012-04-19 16:28:37.504926664 +0200
-@@ -29,4 +29,6 @@
- elif sys.platform == "darwin":
- logfile = os.path.expanduser("~/Library/Logs/" + logfile)
-+ elif sys.platform.startswith("linux"):
-+ logfile = os.path.expanduser('~/.mcedit/mcedit.log')
+--- mcedit.py.orig 2015-08-12 07:12:26.000000000 -0600
++++ mcedit.py 2015-12-24 16:06:54.623474504 -0700
+@@ -38,6 +38,8 @@
+ #
+ if sys.platform == "darwin":
+ logfile = os.path.expanduser("~/Library/Logs/mcedit.log")
++elif sys.platform.startswith("linux"):
++ logfile = os.path.expanduser('~/.mcedit/mcedit.log')
+ else:
+ logfile = os.path.join(os.getcwdu(), logfile)
fh = logging.FileHandler(logfile, mode="w")
- fh.setLevel(logging.DEBUG)
+
+--- resource_packs.py.orig 2015-08-12 07:12:26.000000000 -0600
++++ resource_packs.py 2015-12-24 21:13:54.257356703 -0700
+@@ -537,7 +537,7 @@
+
+ def __init__(self):
+ self.__stop = False
+- texture_path = os.path.join(directories.parentDir, "textures", self._pack_name)
++ texture_path = os.path.join(directories.getDocumentsFolder(), "textures", self._pack_name)
+ self.texture_path = texture_path
+ self._isEmpty = False
+ self._too_big = False
+@@ -727,7 +727,7 @@
+ self._pack_name = self._folder.replace(" ", "_")
+ IResourcePack.__init__(self)
+ self._full_path = os.path.join(directories.getMinecraftProfileDirectory(directories.getSelectedProfile()), "resourcepacks", self._folder)
+- self.texture_path = os.path.join(directories.parentDir, "textures", self._pack_name)
++ self.texture_path = os.path.join(directories.getDocumentsFolder(), "textures", self._pack_name)
+ if not os.path.exists(self._terrain_path):
+ self.add_textures()
+
+@@ -837,7 +837,7 @@
+ if not os.path.exists(pack.terrain_path()):
+ del terrains[tex]
+ try:
+- shutil.rmtree(os.path.join(directories.parentDir, "textures"))
++ shutil.rmtree(os.path.join(directories.getDocumentsFolder(), "textures"))
+ except:
+ print "Could not remove \"textures\" directory"
+ pass
+@@ -851,7 +851,7 @@
+
+ def __init__(self):
+ try:
+- os.mkdir(os.path.join(directories.parentDir, "textures"))
++ os.mkdir(os.path.join(directories.getDocumentsFolder(), "textures"))
+ except OSError:
+ pass
+ self._resource_packs = setup_resource_packs()
+
+--- splash.py.orig 2015-12-24 20:53:55.930654329 -0700
++++ splash.py 2015-12-24 21:29:44.017385005 -0700
+@@ -21,12 +21,12 @@
+ # if os.path.exists(splash_name) and len(open(splash_name).read()) > 0:
+ # splash = pygame.image.load(open(splash_name).read().strip())
+ # else:
+- splash = pygame.image.load(open(os.path.join(cur_dir, "splash.png"), 'rb'))
++ splash = pygame.image.load(open(os.path.join("/usr/share/mcedit/", "splash.png"), 'rb'))
+ screen = pygame.display.set_mode(splash.get_size(), pygame.NOFRAME)
+ screen.blit(splash, (0, 0))
+ except IOError:
+ try:
+- font = pygame.font.Font(open(os.path.join(cur_dir, 'fonts', 'DejaVuSans-Bold.ttf'), 'rb'), 48)
++ font = pygame.font.Font(open(os.path.join("/usr/share/fonts/TTF", 'DejaVuSans-Bold.ttf'), 'rb'), 48)
+ buf = font.render("MCEDit is loading...", True, (128, 128, 128))
+ screen = pygame.display.set_mode((buf.get_width() + 20, buf.get_height() + 20), pygame.NOFRAME)
+ screen.blit(buf, (10, 10))
diff --git a/disable-portable-mode.patch b/disable-portable-mode.patch
deleted file mode 100644
index cf4e33322e65..000000000000
--- a/disable-portable-mode.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-# Portable mode casuses various problems on Linux. Also, there is no sense
-# in making system-wide package and starting it in portable mode afterwards
-
-
-
-# 1. Disable all code related to portable mode
-
---- mcplatform.py.orig 2012-03-15 19:32:33.595921677 +0100
-+++ mcplatform.py 2012-03-15 19:38:26.285862212 +0100
-@@ -361,6 +361,9 @@
-
- def goPortable():
- global configFilePath, schematicsDir, portable
-+ if sys.platform.startswith("linux"):
-+ raise RuntimeError("Portable mode is not available on Linux")
-+ # 'cos you can't even imagine what _that_ would do
-
- if os.path.exists(fixedSchematicsDir):
- move_displace(fixedSchematicsDir, portableSchematicsDir)
-@@ -406,7 +409,12 @@
- return (os.path.exists(portableConfigFilePath) # mcedit.ini in MCEdit folder
- or (sys.platform != 'darwin' and not os.path.exists(fixedConfigFilePath))) # no mcedit.ini in Documents folder (except on OS X when we always want it in Library/Preferences
-
--if portableConfigExists():
-+if sys.platform.startswith("linux"):
-+ print "We are on Linux. Forcing fixed install mode. MCEdit-schematics and mcedit.ini are in your home folder."
-+ configFilePath = os.path.expanduser("~/.mcedit/mcedit.ini")
-+ schematicsDir = os.path.expanduser("~/.mcedit/schematics")
-+ portable = False
-+elif portableConfigExists():
- print "Running in portable mode. MCEdit-schematics and mcedit.ini are stored alongside " + (sys.platform == "darwin" and "the MCEdit app bundle" or "MCEditData")
- portable = True
- schematicsDir = portableSchematicsDir
-
-
-# 2. Disable portable mode button in UI
-
---- mcedit.py.orig 2012-04-19 16:20:56.890109345 +0200
-+++ mcedit.py 2012-04-19 16:21:49.577610104 +0200
-@@ -473,6 +473,8 @@
- tooltipText="Moving forward and backward will not change your altitude in Fly Mode.")
-
- self.goPortableButton = goPortableButton = albow.Button("Change", action=self.togglePortable)
-+ if sys.platform.startswith("linux"):
-+ self.goPortableButton.enabled = False
-
- goPortableButton.tooltipText = self.portableButtonTooltip()
- goPortableRow = albow.Row((albow.ValueDisplay(ref=albow.AttrRef(self, 'portableLabelText'), width=250, align='r'), goPortableButton))
-@@ -530,6 +532,8 @@
- Settings.blockBuffer.set(int(val * 1048576))
-
- def portableButtonTooltip(self):
-+ if sys.platform.startswith("linux"):
-+ return "Sorry, portable mode is not available on Linux"
- return ("Click to make your MCEdit install self-contained by moving the settings and schematics into the program folder",
- "Click to make your MCEdit install persistent by moving the settings and schematics into your Documents folder")[mcplatform.portable]
diff --git a/numpy1.7-compatibility.patch b/numpy1.7-compatibility.patch
index 9515eea1e728..438192df8cc7 100644
--- a/numpy1.7-compatibility.patch
+++ b/numpy1.7-compatibility.patch
@@ -1,11 +1,10 @@
# Patch for compatibility with new, Arch's default version of numpy
-diff -ru mcedit-build.orig/renderer.py mcedit-build/renderer.py
---- mcedit-build.orig/renderer.py 2012-11-01 12:57:30.000000000 +0100
-+++ mcedit-build/renderer.py 2012-11-03 19:07:59.482818624 +0100
-@@ -49,6 +49,13 @@
- import sys
- #import time
+--- renderer.py.orig 2015-08-12 07:12:26.000000000 -0600
++++ renderer.py 2015-12-24 19:47:05.717201498 -0700
+@@ -227,6 +227,12 @@
+ from config import config
+ # import time
+def numpy17_combine_colors(target, colors):
+ """ Combines colors without upseting new version of numpy """
@@ -13,66 +12,65 @@ diff -ru mcedit-build.orig/renderer.py mcedit-build/renderer.py
+ target *= colors
+ target = numpy.array(target, "uint8")
+ return target
-+
def chunkMarkers(chunkSet):
""" Returns a mapping { size: [position, ...] } for different powers of 2
-@@ -1093,7 +1100,8 @@
-
- if self.detailLevel == 2:
- heightfactor = (y / float(2.0 * ch.world.Height)) + 0.5
-- flatcolors[..., :3] *= heightfactor[:, numpy.newaxis, numpy.newaxis]
-+ flatcolors[..., :3] = \
-+ numpy17_combine_colors(flatcolors[..., :3], heightfactor[:, numpy.newaxis, numpy.newaxis])
-
- _RGBA = numpy.s_[..., 12:16]
- va0.view('uint8')[_RGBA] = flatcolors
-@@ -1116,6 +1124,7 @@
+@@ -1570,7 +1576,7 @@
va1[_XYZ][:, :, 0] *= step
va1[_XYZ][:, :, 2] *= step
-+ flatcolors = numpy.array(flatcolors, "f")
- flatcolors *= 0.8
+- flatcolors *= 0.8
++ flatcolors = flatcolors * 0.8
va1.view('uint8')[_RGBA] = flatcolors
-@@ -1163,8 +1172,8 @@
-
- def setGrassColors():
- grass = theseBlocks == pymclevel.materials.alphaMaterials.Grass.ID
-- vertexArray.view('uint8')[_RGB][grass] *= self.grassColor
--
-+ vertexArray.view('uint8')[_RGB][grass] = \
-+ numpy17_combine_colors(vertexArray.view('uint8')[_RGB][grass], self.grassColor)
- def getBlockLight():
- return facingBlockLight[blockIndices]
+ grassmask = topBlocks[nonAirBlocks] == 2
+@@ -1617,7 +1623,8 @@
+ if self.materials.name in ("Alpha", "Pocket"):
+ if direction == pymclevel.faces.FaceYIncreasing:
+ grass = theseBlocks == pymclevel.materials.alphaMaterials.Grass.ID
+- vertexArray.view('uint8')[_RGB][grass] *= self.grassColor
++ vertexArray.view('uint8')[_RGB][grass] = \
++ numpy17_combine_colors(vertexArray.view('uint8')[_RGB][grass], self.grassColor)
+ yield
-@@ -1249,9 +1258,12 @@
+ vertexArrays.append(vertexArray)
+@@ -1688,12 +1695,18 @@
vertexArray.view('uint8')[_RGB] *= facingBlockLight[blockIndices][..., numpy.newaxis, numpy.newaxis]
if self.materials.name in ("Alpha", "Pocket"):
- vertexArray.view('uint8')[_RGB][leaves] *= self.leafColor
- vertexArray.view('uint8')[_RGB][pines] *= self.pineLeafColor
- vertexArray.view('uint8')[_RGB][birches] *= self.birchLeafColor
+- vertexArray.view('uint8')[_RGB][jungle] *= self.jungleLeafColor
+- vertexArray.view('uint8')[_RGB][acacia] *= self.acaciaLeafColor
+- vertexArray.view('uint8')[_RGB][darkoak] *= self.darkoakLeafColor
+ vertexArray.view('uint8')[_RGB][leaves] = \
+ numpy17_combine_colors(vertexArray.view('uint8')[_RGB][leaves], self.leafColor)
+ vertexArray.view('uint8')[_RGB][pines] = \
+ numpy17_combine_colors(vertexArray.view('uint8')[_RGB][pines], self.pineLeafColor)
+ vertexArray.view('uint8')[_RGB][birches] = \
+ numpy17_combine_colors(vertexArray.view('uint8')[_RGB][birches], self.birchLeafColor)
++ vertexArray.view('uint8')[_RGB][jungle] = \
++ numpy17_combine_colors(vertexArray.view('uint8')[_RGB][jungle], self.jungleLeafColor)
++ vertexArray.view('uint8')[_RGB][acacia] = \
++ numpy17_combine_colors(vertexArray.view('uint8')[_RGB][acacia], self.acaciaLeafColor)
++ vertexArray.view('uint8')[_RGB][darkoak] = \
++ numpy17_combine_colors(vertexArray.view('uint8')[_RGB][darkoak], self.darkoakLeafColor)
yield
arrays.append(vertexArray)
-@@ -1314,7 +1326,7 @@
- vertexArray.view('uint8')[_RGBA] = 0xf # ignore precomputed directional light
+@@ -1762,8 +1775,8 @@
+ vertexArray.view('uint8')[_RGB] = 0xf # ignore precomputed directional light
vertexArray.view('uint8')[_RGB] *= lights
if colorize is not None:
- vertexArray.view('uint8')[_RGB][colorize] *= LeafBlockRenderer.leafColor
+- vertexArray.view('uint8')[_RGB][colorize2] *= LeafBlockRenderer.leafColor
+ numpy17_combine_colors(vertexArray.view('uint8')[_RGB][colorize], LeafBlockRenderer.leafColor)
-
++ numpy17_combine_colors(vertexArray.view('uint8')[_RGB][colorize2], LeafBlockRenderer.leafColor)
arrays.append(vertexArray)
yield
-@@ -1565,7 +1565,8 @@
- railBlocks = blocks[blockIndices]
+
+@@ -1994,7 +2007,8 @@
tex = texMap(railBlocks, bdata, pymclevel.faces.FaceYIncreasing)[:, numpy.newaxis, :]
# disable 'powered' or 'pressed' bit for powered and detector rails
@@ -81,32 +79,38 @@ diff -ru mcedit-build.orig/renderer.py mcedit-build/renderer.py
+ numpy.uint8(bdata[railBlocks != pymclevel.materials.alphaMaterials.Rail.ID] & ~0x8)
vertexArray = self.makeTemplate(direction, blockIndices)
-@@ -1911,6 +1911,6 @@
+ if not len(vertexArray):
+@@ -2853,7 +2867,7 @@
lights = blockLight[blockIndices][..., numpy.newaxis, numpy.newaxis]
vertexArray.view('uint8')[_RGB] *= lights
- vertexArray.view('uint8')[_RGB] *= LeafBlockRenderer.leafColor
-+ vertexArray.view('uint8')[_RGB] *= numpy.uint8(LeafBlockRenderer.leafColor)
++ numpy17_combine_colors(vertexArray.view('uint8')[_RGB], LeafBlockRenderer.leafColor)
if direction == pymclevel.faces.FaceZIncreasing:
-diff -ru mcedit-build.orig/leveleditor.py mcedit-build/leveleditor.py
---- mcedit-build.orig/leveleditor.py 2012-11-01 12:57:30.000000000 +0100
-+++ mcedit-build/leveleditor.py 2012-11-03 19:06:41.813168731 +0100
-@@ -410,7 +410,7 @@
+ vertexArray[_XYZ][..., 2] -= 0.0625
+
+--- viewports/camera.py.orig 2015-08-12 07:12:26.000000000 -0600
++++ viewports/camera.py 2015-12-24 18:32:08.063734146 -0700
+@@ -261,7 +261,7 @@
def setModelview(self):
pos = self.cameraPosition
- look = numpy.array(self.cameraPosition)
+- look += self.cameraVector
+ look = numpy.array(self.cameraPosition, dtype='f')
- look += self.cameraVector
++ look = look + self.cameraVector
up = (0, 1, 0)
GLU.gluLookAt(pos[0], pos[1], pos[2],
-@@ -1697,7 +1697,7 @@
- yield i, box.chunkCount
- blocks = numpy.array(chunk.Blocks[slices], dtype='uint16')
- blocks |= (numpy.array(chunk.Data[slices], dtype='uint16') << 12)
-- b = numpy.bincount(blocks.ravel())
-+ b = numpy.array(numpy.bincount(blocks.ravel()), dtype='uint16')
- types[:b.shape[0]] += b
+
+--- editortools/player.py.orig 2015-08-12 07:12:26.000000000 -0600
++++ editortools/player.py 2015-12-24 19:17:01.763814413 -0700
+@@ -1025,7 +1025,7 @@
+
+ pixelScale = 0.5 if self.editor.level.materials.name in ("Pocket", "Alpha") else 1.0
+ texSize = 16 * pixelScale
+- cageTexVerts *= pixelScale
++ cageTexVerts = cageTexVerts * pixelScale
- for ent in chunk.getEntitiesInBox(box):
+ cageTexVerts = numpy.array(
+ [((tx, ty), (tx + texSize, ty), (tx + texSize, ty + texSize), (tx, ty + texSize)) for (tx, ty) in