Implement LOAD GRP
This commit is contained in:
@@ -2824,6 +2824,7 @@ class BuiltinFunction
|
|||||||
wstring resname = type[0].toUpper;
|
wstring resname = type[0].toUpper;
|
||||||
wstring projectname = type[1];
|
wstring projectname = type[1];
|
||||||
wstring filename = type[2];
|
wstring filename = type[2];
|
||||||
|
auto file = Projects.parseFileName(name);
|
||||||
if (!Projects.isValidFileName(filename))
|
if (!Projects.isValidFileName(filename))
|
||||||
{
|
{
|
||||||
throw new IllegalFunctionCall("LOAD");
|
throw new IllegalFunctionCall("LOAD");
|
||||||
@@ -2852,9 +2853,17 @@ class BuiltinFunction
|
|||||||
p.program.slot[lot].load(filename, txt);
|
p.program.slot[lot].load(filename, txt);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(resname.indexOf("GRP") == 0)
|
if(file.resource == Resource.graphic)
|
||||||
{
|
{
|
||||||
throw new IllegalFunctionCall("NOTIMPL:LOAD GRP");
|
import otya.smilebasic.data;
|
||||||
|
DataHeader header;
|
||||||
|
Value data = Value(new Array!int([0, 0]));
|
||||||
|
if (!p.project.loadDataFile(file, data.integerArray, header))
|
||||||
|
return;
|
||||||
|
if (header.type == DataType.double_)
|
||||||
|
throw new IllegalFileFormat("LOAD");
|
||||||
|
GLOAD(p, 0, 0, data.integerArray.dim[0], data.integerArray.dim[1], data, Value(1), 1);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
throw new IllegalFunctionCall("LOAD");
|
throw new IllegalFunctionCall("LOAD");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user