Build 10617
GIT-
Avoid unused parameter warning during release builds
SVN handles and Git names are merged into one person.
Avoid unused parameter warning during release builds
Implement ifmatch subtoken for voxel token
Note that due to the nature of the voxel token, this subtoken must appear *before* any tile subtokens in order to take effect.
Factor out ifmatch/ifcrc handling into TileMatchChecker class
Apply minor cosmetic cleanup to voxel token code
Cleanup to avoid future merge conflicts downstream
Add T_STUB_INTEGER_STRING stubs add/delplayercolor
Fix logical error in ifmatch size, plus cleanup
Add tilefromtexture subtoken "ifmatch", with subtokens "crc32" and "size"
Minor ifcrc cleanup
Fix the parser so tokens with 'x' or 'X' as a second character are only treated as hex constants when the first character is '0'. Introduced in r5822.
Fix the off-by-one error when printing line numbers.
Add "yoffset" subtoken to "multipsky".
Add "artquality" subtoken to textures, model skins, and skyboxes, which grants the texture HICR_ARTIMMUNITY. In effect, this implies "nodownsize" and signals that texture compression would be undesirable, but okay using r_texcompr mode 2 (aggressive).
Add "undef" subtokens to and undef-range versions of basepalette, palookup, and blendtable.
Add "numalphatables" token, which serves the same purpose as the lognumalphatabs byte in PALETTE.DAT.
Clean up the animtilerange token so that it is possible to specify backward animations in the logical tile1 > tile2 way.
Fix a bug with the tilefromtexture { texture } subtoken, where alphacut was interpreted in an inverse fashion, generally causing hightile textures defined this way to appear completely transparent.
Add basepalette, palookup, and blendtable tokens.
Prevent tilefromtexture from ever assigning index #255 (the transparent color) to the processed image.
Add "multipsky" token.
Add "texture" convenience token to tilefromtexture, which will also define the image as a texture with implied nocompress and nodownsize flags.
Add "artfile" token, which loads an ART file. You can use the "tile" sub-token to overwrite the starting tilenum of the file from def.
artfile { file "whatever.art" } // loads whatever.art just as if it had been named TILES020.ART artfile { file "whatever.art" tile 2000 } // loads whatever.art starting at index 2000 instead of the tilestart value contained within it This is useful because ART files will load faster than images loaded through tilefromtexture (which must undergo a color matching process), and because tiles making use of palette indices which have duplicate colors in the stock Duke 3D palette but not in other palettes (such as the 3D Realms screen) are negatively affected by the aforementioned process.
Allow loading ART files as input to tilefromtexture. Note that they must contain exactly one tile; any more and the entire ART file will be rejected.
Factor out dummytile creation code into E_CreateDummyTile and account for the case when a dummytile may be overwriting a faketile from tilefromtexture.
Add "copytile" token that allows you to copy existing 8-bit tiles from one slot to another, along with their x/yoffsets and flags. ART animation values are not copied.
Examples: (assuming stock Duke palswaps) copytile 10000 { tile 0 } // tile #10000 is now the same as #0 copytile 10001 { tile 1 pal 8 } // tile #10001 is now #1 with a full-green tint copytile 0 { pal 1 pal 23 } // tile #0 now has a full-yellow tint
Expand use of check_tile().
Add "undefinetile" and "undefinetilerange".
Add token "forcefilter" to textures, skyboxes, and model skins. It forces the use of GL filtering for the resource in question.
Add "nocompress" and "nodownsize" tokens to model skin definitions.
Add "nofloorpal <value>" to "makepalookup", which, when specified, allows you to set exactly the value of g_noFloorPal that you want.