summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormekolat <mekolat@users.noreply.github.com>2015-10-22 06:52:25 -0400
committermekolat <mekolat@users.noreply.github.com>2016-04-15 11:46:58 -0400
commit69e4ca9779763ac6fa657e21b13f78025394512e (patch)
tree07cf719dbd90a066507e0018f7ce04448a12e213
parent3731a8e9a30f1fd9b30f99f94e2fe62bbdb285a1 (diff)
downloadtmwa-69e4ca9779763ac6fa657e21b13f78025394512e.tar.gz
tmwa-69e4ca9779763ac6fa657e21b13f78025394512e.tar.bz2
tmwa-69e4ca9779763ac6fa657e21b13f78025394512e.tar.xz
tmwa-69e4ca9779763ac6fa657e21b13f78025394512e.zip
add chr and ord builtins
-rw-r--r--src/map/script-fun.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/map/script-fun.cpp b/src/map/script-fun.cpp
index f7108d0..f59ba55 100644
--- a/src/map/script-fun.cpp
+++ b/src/map/script-fun.cpp
@@ -3133,6 +3133,20 @@ void builtin_getpartnerid2(ScriptState *st)
}
static
+void builtin_chr(ScriptState *st)
+{
+ const char ascii = conv_num(st, &AARG(0));
+ push_str<ScriptDataStr>(st->stack, VString<1>(ascii));
+}
+
+static
+void builtin_ord(ScriptState *st)
+{
+ const char ascii = conv_str(st, &AARG(0))[0];
+ push_int<ScriptDataInt>(st->stack, static_cast<int>(ascii));
+}
+
+static
void builtin_explode(ScriptState *st)
{
dumb_ptr<block_list> bl = nullptr;
@@ -4371,6 +4385,8 @@ BuiltinFunction builtin_functions[] =
BUILTIN(pow, "ii"_s, 'i'),
BUILTIN(target, "iii"_s, 'i'),
BUILTIN(distance, "ii?"_s, 'i'),
+ BUILTIN(chr, "i"_s, 'i'),
+ BUILTIN(ord, "s"_s, 'i'),
{nullptr, ""_s, ""_s, '\0'},
};
} // namespace map