Fixed some bugs to make GCC work. I needed to change SimpleValueAction to take the function as a variable as opposed to a template parameter - GCC won't accept pointers from a base class in templates.

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@231 0fc631ac-6414-0410-93d0-97cfa31319b6
This commit is contained in:
coppro
2007-03-23 00:57:06 +00:00
parent 0fbd417057
commit 851799d1b6
27 changed files with 215 additions and 129 deletions
+3 -3
View File
@@ -60,13 +60,13 @@ SCRIPT_FUNCTION(contains) {
SCRIPT_RULE_1(format, String, format) {
String fmt = _("%") + replace_all(format, _("%"), _(""));
// determine type expected by format string
if (format.find_first_of(_("DdIiOoXx")) != String.npos) {
if (format.find_first_of(_("DdIiOoXx")) != String::npos) {
SCRIPT_PARAM(int, input);
SCRIPT_RETURN(String::Format(fmt, input));
} else if (format.find_first_of(_("EeFfGg")) != String.npos) {
} else if (format.find_first_of(_("EeFfGg")) != String::npos) {
SCRIPT_PARAM(double, input);
SCRIPT_RETURN(String::Format(fmt, input));
} else if (format.find_first_of(_("Ss")) != String.npos) {
} else if (format.find_first_of(_("Ss")) != String::npos) {
SCRIPT_PARAM(String, input);
SCRIPT_RETURN(format_string(fmt, input));
} else {
+1 -1
View File
@@ -136,4 +136,4 @@ SCRIPT_FUNCTION_DEPENDENCIES(combined_editor) {
void init_script_editor_functions(Context& ctx) {
ctx.setVariable(_("forward editor"), script_combined_editor); // combatability
ctx.setVariable(_("combined editor"), script_combined_editor);
}
}
+2 -1
View File
@@ -33,6 +33,7 @@ String english_number(int i) {
case 18: return _("eighteen");
case 20: return _("twenty");
case 30: return _("thirty");
case 40: return _("forty");
case 50: return _("fifty");
case 80: return _("eighty");
default: {
@@ -40,7 +41,7 @@ String english_number(int i) {
// number too large, keep as digits
return (String() << i);
} else if (i < 20) {
return english_number(i%10) + english_number(10);
return english_number(i%10) + _("teen");
} else if (i % 10 == 0) {
return english_number(i/10) + _("ty");
} else {
+1 -1
View File
@@ -205,7 +205,7 @@ inline ScriptValueP to_script(long v) { return to_script((int) v); }
ScriptValueP to_script(double v);
ScriptValueP to_script(const String& v);
ScriptValueP to_script(const Color& v);
inline ScriptValueP to_script(bool v) { return v ? script_true : script_false; }
inline ScriptValueP to_script(bool v) { return v ? script_true : script_false; }
template <typename T>
inline ScriptValueP to_script(const vector<T>* v) { return new_intrusive1<ScriptCollection<vector<T> > >(v); }
template <typename K, typename V>
+3 -3
View File
@@ -245,21 +245,21 @@ class ScriptCustomCollectionIterator : public ScriptIterator {
: pos(0), col(col), colP(colP) {}
virtual ScriptValueP next() {
if (pos < col->size()) {
return to_script(col->at(pos++));
return col->at(pos++);
} else {
return ScriptValueP();
}
}
private:
size_t pos;
ScriptValueP colP; // for ownership of the collection
const vector<ScriptValueP>* col;
ScriptValueP colP; // for ownership of the collection
};
ScriptValueP ScriptCustomCollection::getMember(const String& name) const {
long index;
if (name.ToLong(&index) && index >= 0 && (size_t)index < value.size()) {
return to_script(value.at(index));
return value.at(index);
} else {
return ScriptValue::getMember(name);
}