| 494 | //=========================================================================== |
| 495 | |
| 496 | static void parseTileFromTexture(FScanner& sc, FScriptPosition& pos) |
| 497 | { |
| 498 | FScanner::SavedPos blockend; |
| 499 | TileImport imp; |
| 500 | |
| 501 | if (!sc.GetNumber(imp.tile, true)) return; |
| 502 | |
| 503 | if (sc.StartBraces(&blockend)) return; |
| 504 | while (!sc.FoundEndBrace(blockend)) |
| 505 | { |
| 506 | sc.MustGetString(); |
| 507 | if (sc.Compare({ "file", "name" })) sc.GetString(imp.fn); |
| 508 | else if (sc.Compare("alphacut")) sc.GetNumber(imp.alphacut, true); |
| 509 | else if (sc.Compare({ "xoff", "xoffset" })) sc.GetNumber(imp.xoffset, true); |
| 510 | else if (sc.Compare({ "yoff", "yoffset" })) sc.GetNumber(imp.yoffset, true); |
| 511 | else if (sc.Compare("texhitscan")) imp.flags |= PICANM_TEXHITSCAN_BIT; |
| 512 | else if (sc.Compare("nofullbright")) imp.flags |= PICANM_NOFULLBRIGHT_BIT; |
| 513 | else if (sc.Compare("texture")) imp.istexture = 1; |
| 514 | else if (sc.Compare("ifcrc")) sc.GetNumber(imp.crc32, true); |
| 515 | else if (sc.Compare("extra")) sc.GetNumber(imp.extra, true); |
| 516 | else if (sc.Compare("surface")) sc.GetNumber(imp.surface, true); |
| 517 | else if (sc.Compare("voxel")) sc.GetNumber(imp.vox, true); |
| 518 | else if (sc.Compare("shade")) sc.GetNumber(imp.shade, true); |
| 519 | else if (sc.Compare("view")) { sc.GetNumber(imp.extra, true); imp.extra &= 7; } |
| 520 | else if (sc.Compare("ifmatch")) |
| 521 | { |
| 522 | FScanner::SavedPos blockend2; |
| 523 | if (sc.StartBraces(&blockend2)) return; |
| 524 | while (!sc.FoundEndBrace(blockend2)) |
| 525 | { |
| 526 | sc.MustGetString(); |
| 527 | if (sc.Compare("size")) |
| 528 | { |
| 529 | sc.GetNumber(imp.sizex, true); |
| 530 | sc.GetNumber(imp.sizey, true); |
| 531 | } |
| 532 | else if (sc.Compare("crc32")) sc.GetNumber(imp.crc32, true); |
| 533 | } |
| 534 | } |
| 535 | } |
| 536 | processTileImport(sc, "tilefromtexture", pos, imp); |
| 537 | } |
| 538 | |
| 539 | //=========================================================================== |
| 540 | // |
nothing calls this directly
no test coverage detected