Fix varadic builtin-function calling
This commit is contained in:
@@ -82,7 +82,7 @@ class BuiltinFunctions
|
|||||||
va = f;
|
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===");
|
writeln("====function overloads===");
|
||||||
writefln("func = %s argc = %d outargc = %d", func[0].name, argc, outargc);
|
writefln("func = %s argc = %d outargc = %d", func[0].name, argc, outargc);
|
||||||
foreach(f; func)
|
foreach(f; func)
|
||||||
@@ -1763,6 +1763,15 @@ class BuiltinFunction
|
|||||||
if(args[1].isNumber)
|
if(args[1].isNumber)
|
||||||
p.sprite.spanim(no, cast(SpriteAnimTarget)(args[1].castInteger), animdata);
|
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)
|
static void SPDEF(PetitComputer p, int id, out int U, out int V, out int A)
|
||||||
{
|
{
|
||||||
if (!p.sprite.isValidDef(id))
|
if (!p.sprite.isValidDef(id))
|
||||||
|
|||||||
Reference in New Issue
Block a user