Author: ilor
Date: Sun Apr 6 23:36:24 2008
New Revision: 25643
URL: http://svn.gna.org/viewcvs/wesnoth?rev=25643&view=rev
Log:
follow-up changes to the warnings removal in r25631
Modified:
trunk/src/formula_ai.cpp
trunk/src/formula_function.hpp
Modified: trunk/src/formula_ai.cpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/formula_ai.cpp?rev=25643&r1=25642&r2=25643&view=diff
==============================================================================
--- trunk/src/formula_ai.cpp (original)
+++ trunk/src/formula_ai.cpp Sun Apr 6 23:36:24 2008
@@ -21,7 +21,12 @@
#include "formula_callable.hpp"
#include "formula_function.hpp"
#include "pathutils.hpp"
+#include "log.hpp"
#include "attack_prediction.hpp"
+
+#define LOG_AI LOG_STREAM(info, ai)
+#define WRN_AI LOG_STREAM(warn, ai)
+#define ERR_AI LOG_STREAM(err, ai)
namespace {
using namespace game_logic;
@@ -193,7 +198,12 @@
variant execute(const formula_callable& variables) const {
std::vector<variant> vars;
const gamemap::location loc =
convert_variant<location_callable>(args()[0]->evaluate(variables))->loc();
- size_t range =
static_cast<size_t>(args()[1]->evaluate(variables).as_int());
+ int range_s = args()[1]->evaluate(variables).as_int();
+ if (range_s < 0) {
+ WRN_AI << "close_enemies_function: range is negative ("
<< range_s << ")\n";
+ range_s = 0;
+ }
+ size_t range = static_cast<size_t>(range_s);
unit_map::const_iterator un = ai_.get_info().units.begin();
unit_map::const_iterator end = ai_.get_info().units.end();
while (un != end) {
@@ -277,7 +287,7 @@
status.push_back(variant("Poisoned"));
if (bc.get_attacker_combatant().slowed != 0)
status.push_back(variant("Slowed"));
- if (bc.get_defender_stats().stones && hitLeft[0].as_int() !=
bc.get_attacker_stats().hp)
+ if (bc.get_defender_stats().stones && static_cast<unsigned
int>(hitLeft[0].as_int()) != bc.get_attacker_stats().hp)
status.push_back(variant("Stoned"));
if (bc.get_defender_stats().plagues && hitLeft[0].as_int() == 0)
status.push_back(variant("Zombiefied"));
@@ -300,7 +310,7 @@
status.push_back(variant("Poisoned"));
if (bc.get_defender_combatant().slowed != 0)
status.push_back(variant("Slowed"));
- if (bc.get_attacker_stats().stones && hitLeft[0].as_int() !=
bc.get_attacker_stats().hp)
+ if (bc.get_attacker_stats().stones && static_cast<unsigned
int>(hitLeft[0].as_int()) != bc.get_attacker_stats().hp)
status.push_back(variant("Stoned"));
if (bc.get_attacker_stats().plagues && hitLeft[0].as_int() == 0)
status.push_back(variant("Zombiefied"));
Modified: trunk/src/formula_function.hpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/formula_function.hpp?rev=25643&r1=25642&r2=25643&view=diff
==============================================================================
--- trunk/src/formula_function.hpp (original)
+++ trunk/src/formula_function.hpp Sun Apr 6 23:36:24 2008
@@ -50,12 +50,12 @@
: name_(name), args_(args)
{
set_name(name.c_str());
- if(min_args != -1 && args_.size() <
static_cast<size_t>(min_args)) {
+ if(min_args >= 0 && args_.size() <
static_cast<size_t>(min_args)) {
std::cerr << "too few arguments\n";
throw formula_error();
}
- if(max_args != -1 && args_.size() >
static_cast<size_t>(max_args)) {
+ if(max_args >= 0 && args_.size() >
static_cast<size_t>(max_args)) {
std::cerr << "too many arguments\n";
throw formula_error();
}
_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits