forked from mirrors/nixpkgs
openttd: Fix build with fix from upstream.
This commit is contained in:
parent
656ae7a97c
commit
e93c528a01
|
@ -17,6 +17,12 @@ stdenv.mkDerivation rec {
|
||||||
"--without-liblzo2"
|
"--without-liblzo2"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# NOTE: Remove this patch in 1.4.5 or greater
|
||||||
|
patches = [
|
||||||
|
# Adapted from svn r27079
|
||||||
|
./fix-freetype-1.4.4.patch
|
||||||
|
];
|
||||||
|
|
||||||
makeFlags = "INSTALL_PERSONAL_DIR=";
|
makeFlags = "INSTALL_PERSONAL_DIR=";
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
|
|
31
pkgs/games/openttd/fix-freetype-1.4.4.patch
Normal file
31
pkgs/games/openttd/fix-freetype-1.4.4.patch
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
diff --git a/src/fontcache.cpp b/src/fontcache.cpp
|
||||||
|
===================================================================
|
||||||
|
--- a/src/fontcache.cpp
|
||||||
|
+++ b/src/fontcache.cpp
|
||||||
|
@@ -537,6 +537,6 @@
|
||||||
|
|
||||||
|
/* Add 1 pixel for the shadow on the medium font. Our sprite must be at least 1x1 pixel */
|
||||||
|
- int width = max(1, slot->bitmap.width + (this->fs == FS_NORMAL));
|
||||||
|
- int height = max(1, slot->bitmap.rows + (this->fs == FS_NORMAL));
|
||||||
|
+ unsigned int width = max(1U, (unsigned int)slot->bitmap.width + (this->fs == FS_NORMAL));
|
||||||
|
+ unsigned int height = max(1U, (unsigned int)slot->bitmap.rows + (this->fs == FS_NORMAL));
|
||||||
|
|
||||||
|
/* Limit glyph size to prevent overflows later on. */
|
||||||
|
@@ -554,6 +554,6 @@
|
||||||
|
/* Draw shadow for medium size */
|
||||||
|
if (this->fs == FS_NORMAL && !aa) {
|
||||||
|
- for (int y = 0; y < slot->bitmap.rows; y++) {
|
||||||
|
- for (int x = 0; x < slot->bitmap.width; x++) {
|
||||||
|
+ for (unsigned int y = 0; y < (unsigned int)slot->bitmap.rows; y++) {
|
||||||
|
+ for (unsigned int x = 0; x < (unsigned int)slot->bitmap.width; x++) {
|
||||||
|
if (aa ? (slot->bitmap.buffer[x + y * slot->bitmap.pitch] > 0) : HasBit(slot->bitmap.buffer[(x / 8) + y * slot->bitmap.pitch], 7 - (x % 8))) {
|
||||||
|
sprite.data[1 + x + (1 + y) * sprite.width].m = SHADOW_COLOUR;
|
||||||
|
@@ -564,6 +564,6 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
- for (int y = 0; y < slot->bitmap.rows; y++) {
|
||||||
|
- for (int x = 0; x < slot->bitmap.width; x++) {
|
||||||
|
+ for (unsigned int y = 0; y < (unsigned int)slot->bitmap.rows; y++) {
|
||||||
|
+ for (unsigned int x = 0; x < (unsigned int)slot->bitmap.width; x++) {
|
||||||
|
if (aa ? (slot->bitmap.buffer[x + y * slot->bitmap.pitch] > 0) : HasBit(slot->bitmap.buffer[(x / 8) + y * slot->bitmap.pitch], 7 - (x % 8))) {
|
||||||
|
sprite.data[x + y * sprite.width].m = FACE_COLOUR;
|
Loading…
Reference in a new issue