| 1282 | //=========================================================================== |
| 1283 | |
| 1284 | static 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 | // |
nothing calls this directly
no test coverage detected