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

Function parseTileFromTexture

source/core/defparser.cpp:496–537  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

494//===========================================================================
495
496static 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//

Callers

nothing calls this directly

Calls 7

processTileImportFunction · 0.85
StartBracesMethod · 0.80
FoundEndBraceMethod · 0.80
MustGetStringMethod · 0.80
GetNumberMethod · 0.45
CompareMethod · 0.45
GetStringMethod · 0.45

Tested by

no test coverage detected