|
|
|
@ -56,7 +56,7 @@ export const functions = {
|
|
|
|
|
convert_args: false
|
|
|
|
|
}
|
|
|
|
|
),
|
|
|
|
|
constant: new Function(
|
|
|
|
|
move: new Function(
|
|
|
|
|
(index, arg1, arg2) => { return arg2; },
|
|
|
|
|
{
|
|
|
|
|
requires_arg1: true,
|
|
|
|
@ -70,15 +70,8 @@ export const functions = {
|
|
|
|
|
requires_arg2: true,
|
|
|
|
|
convert_args: true
|
|
|
|
|
}),
|
|
|
|
|
move: new Function(
|
|
|
|
|
(index, arg1, arg2) => { targets[arg1] = arg2; return arg2; },
|
|
|
|
|
{
|
|
|
|
|
requires_arg1: true,
|
|
|
|
|
requires_arg2: true,
|
|
|
|
|
convert_args: false
|
|
|
|
|
}),
|
|
|
|
|
swap: new Function(
|
|
|
|
|
(index, arg1, arg2) => { let temp = targets[arg1]; targets[arg1] = arg2; return temp; },
|
|
|
|
|
(index, arg1, arg2) => { let temp = targets[arg2]; targets[arg2] = targets[arg1]; return temp; },
|
|
|
|
|
{
|
|
|
|
|
requires_arg1: true,
|
|
|
|
|
requires_arg2: true,
|
|
|
|
@ -109,13 +102,17 @@ function tick_pattern() {
|
|
|
|
|
for (let command of pattern) {
|
|
|
|
|
let name = command.command;
|
|
|
|
|
if (functions[name]) {
|
|
|
|
|
if (functions[name].options.convert_args) {
|
|
|
|
|
if (functions[name].options && functions[name].options["convert_args"]) {
|
|
|
|
|
let param_arg1 = parseInt(command.arg1) || targets[command.arg1];
|
|
|
|
|
let param_arg2 = parseInt(command.arg2) || targets[command.arg2];
|
|
|
|
|
targets[command.arg1] = functions[name].func(i, param_arg1, param_arg2);
|
|
|
|
|
let result = functions[name].func(i, param_arg1, param_arg2);
|
|
|
|
|
log.info(`convert ${command.arg1} ${param_arg1} ${command.arg2} ${param_arg2} ${result}`);
|
|
|
|
|
targets[command.arg1] = result;
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
targets[command.arg1] = functions[name].func(i, command.arg1, command.arg2);
|
|
|
|
|
let result = functions[name].func(i, command.arg1, command.arg2);
|
|
|
|
|
log.info("no convert " + result);
|
|
|
|
|
targets[command.arg1] = result;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|