1
0

Fix SPDEF

This commit is contained in:
otya128
2016-12-24 14:31:49 +09:00
parent ada477d6aa
commit 95e21248c8

View File

@@ -1564,26 +1564,40 @@ class BuiltinFunction
int U = va_args[1].castInteger; int U = va_args[1].castInteger;
int V = va_args[2].castInteger; int V = va_args[2].castInteger;
int W = 16, H = 16, HX = 0, HY = 0, ATTR = 1; int W = 16, H = 16, HX = 0, HY = 0, ATTR = 1;
if(va_args.length > 3) if (va_args.length == 4)
{
ATTR = va_args[3].castInteger;
}
else if (va_args.length == 5)
{ {
W = va_args[3].castInteger; W = va_args[3].castInteger;
}
if(va_args.length > 4)
{
H = va_args[4].castInteger; H = va_args[4].castInteger;
} }
if(va_args.length > 5) else if (va_args.length == 6)
{ {
HX = va_args[5].castInteger; W = va_args[3].castInteger;
H = va_args[4].castInteger;
ATTR = va_args[5].castInteger;
} }
if(va_args.length > 6) else if (va_args.length == 7)
{ {
W = va_args[3].castInteger;
H = va_args[4].castInteger;
HX = va_args[5].castInteger;
HY = va_args[6].castInteger; HY = va_args[6].castInteger;
} }
if(va_args.length > 7) else if (va_args.length == 8)
{ {
W = va_args[3].castInteger;
H = va_args[4].castInteger;
HX = va_args[5].castInteger;
HY = va_args[6].castInteger;
ATTR = va_args[7].castInteger; ATTR = va_args[7].castInteger;
} }
else
{
throw new IllegalFunctionCall("SPDEF");
}
p.sprite.SPDEFTable[defno] = SpriteDef(U, V, W, H, HX, HY, cast(SpriteAttr)ATTR); p.sprite.SPDEFTable[defno] = SpriteDef(U, V, W, H, HX, HY, cast(SpriteAttr)ATTR);
} }
} }