MCPcopy Create free account
hub / github.com/ZDoom/Raze / parseDefineModelFrame

Function parseDefineModelFrame

source/core/defparser.cpp:1284–1309  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1282//===========================================================================
1283
1284static void parseDefineModelFrame(FScanner& sc, FScriptPosition& pos)
1285{
1286 FString framename;
1287 bool ok = true;
1288 int firsttile, lasttile;
1289
1290 if (!sc.GetString(framename)) return;
1291 if (!sc.GetNumber(firsttile, true)) return;
1292 if (!sc.GetNumber(lasttile, true)) return;
1293
1294 if (!ValidateTileRange("definemodelframe", firsttile, lasttile, pos)) return;
1295
1296 if (mdglobal.lastmodelid < 0)
1297 {
1298 pos.Message(MSG_WARNING, "definemodelframe: Ignoring frame definition outside model.");
1299 return;
1300 }
1301 for (int i = firsttile; i <= lasttile && ok; i++)
1302 {
1303 int err = (modelManager.DefineFrame(mdglobal.lastmodelid, framename.GetChars(), i, max(0, mdglobal.modelskin), 0.0f, 0));
1304 if (err < 0) ok = false;
1305 if (err == -2) pos.Message(MSG_ERROR, "Invalid tile number %d", i);
1306 else if (err == -3) pos.Message(MSG_ERROR, "Invalid frame name '%s'", framename.GetChars());
1307 }
1308 mdglobal.seenframe = 1;
1309}
1310
1311//===========================================================================
1312//

Callers

nothing calls this directly

Calls 6

ValidateTileRangeFunction · 0.85
MessageMethod · 0.80
DefineFrameMethod · 0.80
GetStringMethod · 0.45
GetNumberMethod · 0.45
GetCharsMethod · 0.45

Tested by

no test coverage detected