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

Method AddToTranslation

source/common/engine/palettecontainer.cpp:651–794  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

649//----------------------------------------------------------------------------
650
651bool FRemapTable::AddToTranslation(const char *range)
652{
653 int start,end;
654 FScanner sc;
655
656 sc.OpenMem("translation", range, int(strlen(range)));
657 sc.SetCMode(true);
658
659 sc.MustGetToken(TK_IntConst);
660 start = sc.Number;
661 sc.MustGetToken(':');
662 sc.MustGetToken(TK_IntConst);
663 end = sc.Number;
664 sc.MustGetToken('=');
665 if (start < 0 || start > 255 || end < 0 || end > 255)
666 {
667 sc.ScriptError("Palette index out of range");
668 return false;
669 }
670
671 sc.MustGetAnyToken();
672
673 if (sc.TokenType == '[')
674 {
675 // translation using RGB values
676 int r1,g1,b1,r2,g2,b2;
677
678 sc.MustGetToken(TK_IntConst);
679 r1 = sc.Number;
680 sc.MustGetToken(',');
681
682 sc.MustGetToken(TK_IntConst);
683 g1 = sc.Number;
684 sc.MustGetToken(',');
685
686 sc.MustGetToken(TK_IntConst);
687 b1 = sc.Number;
688 sc.MustGetToken(']');
689 sc.MustGetToken(':');
690 sc.MustGetToken('[');
691
692 sc.MustGetToken(TK_IntConst);
693 r2 = sc.Number;
694 sc.MustGetToken(',');
695
696 sc.MustGetToken(TK_IntConst);
697 g2 = sc.Number;
698 sc.MustGetToken(',');
699
700 sc.MustGetToken(TK_IntConst);
701 b2 = sc.Number;
702 sc.MustGetToken(']');
703
704 return AddColorRange(start, end, r1, g1, b1, r2, g2, b2);
705 }
706 else if (sc.TokenType == '%')
707 {
708 // translation using RGB values

Callers 1

ParsePatchMethod · 0.80

Calls 6

SetCModeMethod · 0.80
MustGetTokenMethod · 0.80
MustGetAnyTokenMethod · 0.80
TokenMustBeMethod · 0.80
OpenMemMethod · 0.45
ScriptErrorMethod · 0.45

Tested by

no test coverage detected