- sky parser improvements.

This commit is contained in:
Christoph Oelckers 2022-01-13 16:01:26 +01:00
parent 82be7db269
commit f888b1da9c

View file

@ -905,10 +905,23 @@ void parseMultiPsky(FScanner& sc, FScriptPosition& pos)
else if (sc.Compare("yscale")) { int intscale; sc.GetNumber(intscale, true); sky.scale = intscale * (1. / 65536.); }
else if (sc.Compare({ "tile", "panel" }))
{
int panel = 0, offset = 0;
sc.GetNumber(panel, true);
sc.GetNumber(offset, true);
if ((unsigned)panel < MAXPSKYTILES && (unsigned)offset <= PSKYOFF_MAX) sky.offsets[panel] = offset;
if (!sc.CheckString("}"))
{
int panel = 0, offset = 0;
sc.GetNumber(panel, true);
sc.GetNumber(offset, true);
if ((unsigned)panel < MAXPSKYTILES && (unsigned)offset <= PSKYOFF_MAX) sky.offsets[panel] = offset;
}
else
{
int panel = 0, offset;
while (!sc.CheckString("}"))
{
sc.GetNumber(offset, true);
if ((unsigned)panel < MAXPSKYTILES && (unsigned)offset <= PSKYOFF_MAX) sky.offsets[panel] = offset;
panel++;
}
}
}
}
if (sky.baselineofs == INT_MIN) sky.baselineofs = sky.pmoffset;