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