diff options
author | mekolat <mekolat@users.noreply.github.com> | 2015-10-22 06:52:25 -0400 |
---|---|---|
committer | mekolat <mekolat@users.noreply.github.com> | 2016-04-15 11:46:58 -0400 |
commit | 69e4ca9779763ac6fa657e21b13f78025394512e (patch) | |
tree | 07cf719dbd90a066507e0018f7ce04448a12e213 /src | |
parent | 3731a8e9a30f1fd9b30f99f94e2fe62bbdb285a1 (diff) | |
download | tmwa-69e4ca9779763ac6fa657e21b13f78025394512e.tar.gz tmwa-69e4ca9779763ac6fa657e21b13f78025394512e.tar.bz2 tmwa-69e4ca9779763ac6fa657e21b13f78025394512e.tar.xz tmwa-69e4ca9779763ac6fa657e21b13f78025394512e.zip |
add chr and ord builtins
Diffstat (limited to 'src')
-rw-r--r-- | src/map/script-fun.cpp | 16 |
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 |