From 28b7cf28c73879c406324f14df424fd7f46e9c14 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 18 Jun 2020 13:53:34 -0400 Subject: Implement o2narc; decompile base stats and movelearns to json --- tools/jsonproc/jsonproc.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'tools/jsonproc/jsonproc.cpp') diff --git a/tools/jsonproc/jsonproc.cpp b/tools/jsonproc/jsonproc.cpp index f70c9131..bcbe53e4 100644 --- a/tools/jsonproc/jsonproc.cpp +++ b/tools/jsonproc/jsonproc.cpp @@ -5,6 +5,7 @@ #include #include +#include using std::string; using std::to_string; #include @@ -53,6 +54,21 @@ int main(int argc, char *argv[]) return minuend - subtrahend; }); + env.add_callback("add", 2, [](Arguments& args) { + int x = args.at(0)->get(); + int y = args.at(1)->get(); + + return x + y; + }); + + env.add_callback("setBit", 2, [=](Arguments& args) { + string key = args.at(0)->get(); + unsigned long value = std::stoul(get_custom_var(key)); + value |= (1 << (args.at(1)->get())); + set_custom_var(key, to_string(value)); + return ""; + }); + env.add_callback("setVar", 2, [=](Arguments& args) { string key = args.at(0)->get(); string value = args.at(1)->get(); @@ -72,6 +88,15 @@ int main(int argc, char *argv[]) return get_custom_var(key); }); + env.add_callback("getVarHex", 1, [=](Arguments& args) { + string key = args.at(0)->get(); + unsigned long value = std::stoul(get_custom_var(key)); + std::stringstream ss; + ss << "0x" << std::hex << (value & 0xFFFFFFFFul); + string s = ss.str(); + return s; + }); + env.add_callback("concat", 2, [](Arguments& args) { string first = args.at(0)->get(); string second = args.at(1)->get(); -- cgit v1.2.3