mirror of
https://github.com/amyinspace/MagicSetEditor2.git
synced 2026-06-11 05:07:00 -04:00
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:
@@ -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 {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user