1
0

Fix varadic builtin-function calling

This commit is contained in:
otya128
2017-07-04 20:52:06 +09:00
parent dd944756e4
commit 21a31a7ddd

View File

@@ -82,7 +82,7 @@ class BuiltinFunctions
va = f;
}
//一応可変長は最後
if(va) return va;
if(va && (va.outoptional != 0 && va.outoptional <= outargc && va.results.length >= outargc) || va.results.length == outargc) return va;
writeln("====function overloads===");
writefln("func = %s argc = %d outargc = %d", func[0].name, argc, outargc);
foreach(f; func)
@@ -1763,6 +1763,15 @@ class BuiltinFunction
if(args[1].isNumber)
p.sprite.spanim(no, cast(SpriteAnimTarget)(args[1].castInteger), animdata);
}
static void SPDEF(PetitComputer p, int id, out int U, out int V)
{
if (!p.sprite.isValidDef(id))
{
throw new OutOfRange(smilebasicFunctionName, 1);
}
int dummy;
p.sprite.getspdef(id, U, V, dummy, dummy, dummy, dummy, dummy);
}
static void SPDEF(PetitComputer p, int id, out int U, out int V, out int A)
{
if (!p.sprite.isValidDef(id))