games/xu4: Fix build on -current.

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>

Signed-off-by: Matteo Bernardini <ponce@slackbuilds.org>
This commit is contained in:
Willy Sudiarto Raharjo 2017-07-07 05:37:58 +07:00 committed by Robby Workman
parent b9f483b51d
commit 1199a9d8e0
2 changed files with 93 additions and 0 deletions

90
games/xu4/gcc7.patch Normal file
View file

@ -0,0 +1,90 @@
--- xu4-20130612_svn/src/image_sdl.cpp.orig 2017-07-07 05:16:49.443617174 +0700
+++ xu4-20130612_svn/src/image_sdl.cpp 2017-07-07 05:25:40.763657058 +0700
@@ -349,7 +349,7 @@
unsigned int y_finish = std::min(int(bottom), oy + span + 1);
for (y = y_start; y < y_finish; ++y) {
- int divisor = 1 + span * 2 - abs(ox - x) - abs(oy - y);
+ int divisor = 1 + span * 2 - std::abs((long int) (ox - x)) - std::abs((long int) (oy - y));
unsigned int r, g, b, a;
getPixel(x, y, r, g, b, a);
--- xu4-20130612_svn/src/map.cpp.orig 2017-07-07 05:26:04.108658810 +0700
+++ xu4-20130612_svn/src/map.cpp 2017-07-07 05:28:17.857668850 +0700
@@ -123,14 +123,14 @@
if (map && map->border_behavior == Map::BORDER_WRAP) {
MapCoords me = *this;
- if (abs(me.x - c.x) > abs(me.x + map->width - c.x))
+ if (std::abs((long int) (me.x - c.x)) > std::abs((long int) (me.x + map->width - c.x)))
me.x += map->width;
- else if (abs(me.x - c.x) > abs(me.x - map->width - c.x))
+ else if (std::abs((long int) (me.x - c.x)) > std::abs((long int) (me.x - map->width - c.x)))
me.x -= map->width;
- if (abs(me.y - c.y) > abs(me.y + map->width - c.y))
+ if (std::abs((long int) (me.y - c.y)) > std::abs((long int) (me.y + map->width - c.y)))
me.y += map->height;
- else if (abs(me.y - c.y) > abs(me.y - map->width - c.y))
+ else if (std::abs((long int) (me.y - c.y)) > std::abs((long int) (me.y - map->width - c.y)))
me.y -= map->height;
dx = me.x - c.x;
--- xu4-20130612_svn/src/person.cpp.orig 2017-07-07 05:28:34.604670107 +0700
+++ xu4-20130612_svn/src/person.cpp 2017-07-07 05:29:29.432674223 +0700
@@ -221,7 +221,7 @@
eventHandler->pushController(&getPlayerCtrl);
int player = getPlayerCtrl.waitFor();
if (player != -1) {
- string player_str = to_string(player+1);
+ string player_str = to_string((long int) player+1);
script->setVar(script->getInputName(), player_str);
}
else script->unsetVar(script->getInputName());
--- xu4-20130612_svn/src/script.cpp.orig 2017-07-07 05:29:46.242675485 +0700
+++ xu4-20130612_svn/src/script.cpp 2017-07-07 05:31:00.015681023 +0700
@@ -44,7 +44,7 @@
Script::Variable::Variable(const int &v) : set(true) {
i_val = v;
- s_val = to_string(v);
+ s_val = to_string((long int) v);
}
int& Script::Variable::getInt() { return i_val; }
@@ -503,7 +503,7 @@
}
// Get the current iterator for our loop
else if (item == "iterator")
- prop = to_string(this->iterator);
+ prop = to_string((long int) this->iterator);
else if ((pos = item.find("show_inventory:")) < item.length()) {
pos = item.find(":");
string itemScript = item.substr(pos+1);
@@ -611,7 +611,7 @@
if (content.empty())
errorWarning("Error: empty math() function");
- prop = to_string(mathValue(content));
+ prop = to_string((long int) mathValue(content));
}
/**
@@ -643,7 +643,7 @@
/* generate a random number */
else if (funcName == "random")
- prop = to_string(xu4_random((int)strtol(content.c_str(), NULL, 10)));
+ prop = to_string((long int) xu4_random((int)strtol(content.c_str(), NULL, 10)));
/* replaced with "true" if content is empty, or "false" if not */
else if (funcName == "isempty") {
@@ -1391,7 +1391,7 @@
string children_results;
mathParseChildren(current, &children_results);
- *result = to_string(mathValue(children_results));
+ *result = to_string((long int) mathValue(children_results));
}
}
}

View file

@ -73,6 +73,9 @@ sed -i -e '/border\.png/s,^,//,' src/imagemgr.cpp
# validate the game's XML files. So:
sed -i '/#define *DEFAULT_VALIDATE_XML/s,1,0,' src/settings.h
# Patch for GCC 7
patch -p1 < $CWD/gcc7.patch
# The -DNPERF stops u4 from creating a debug/ in the current dir.
make -C src DEBUGCXXFLAGS="-DNPERF $SLKCFLAGS" prefix=/usr libdir=$PKGLIBDIR
make -C src install prefix=$PKG/usr libdir=$PKGLIBDIR