------------------------------------------------------------------------ r2571 | helixhorned | 2012-03-29 14:17:35 -0700 (Thu, 29 Mar 2012) | 5 lines When requesting a non-fogged identity lookup from makepalookup(), alias to palookup[0]. (That is, the base shade table.) Before, we allocated each palookup buffer. For a vanilla setup, this means that we're now saving 224*32*256 ~= 1.8 megs, which might be interesting for low-memory gadgets. ------------------------------------------------------------------------ r2570 | helixhorned | 2012-03-29 14:17:19 -0700 (Thu, 29 Mar 2012) | 4 lines Don't fall back on allocache if malloc'ing a palookup buffer or transluc table fails. First, it's unlikely in our day and age. Second, they're always free'd at the end, so allocache'ing them is incorrect. ------------------------------------------------------------------------ r2569 | helixhorned | 2012-03-29 14:17:03 -0700 (Thu, 29 Mar 2012) | 7 lines Make makepalookup() accept NULL for 'remapbuf', meaning "use identity mapping". Also, - use this in game.c and astub.c palookup loading code - when makepalookup() is passed a 0 palnum, return early. This means that 'fogpal' will silently fail when attempting to change pal 0. - in 'makepalookup' DEF command, error out if passed a pal of 0. ------------------------------------------------------------------------ r2568 | helixhorned | 2012-03-29 14:16:41 -0700 (Thu, 29 Mar 2012) | 26 lines DEF command 'makepalookup', allowing indpt. specification of fog and color remapping. The syntax is as follows: makepalookup { } where valid tokens are * pal : the palette number, 1 .. 250 * red , green, blue (or r, g, b): the fog color components on a 0 to 63 scale. Components that are not present are assumed to be 0. * remappal : the palette number to take the index remapping from, i.e. 21 for blue -> red. When absent, defaults to 0. * remapself: when present, specifies that the remappal is the same as the 'pal'. This is to prevent textual redundancy when overwriting existing palookups. Examples (best tested with tile #251): 1) makepalookup { pal 200 red 30 remappal 23 } This creates palookup 200 with a fog of (30,0,0) and a blue-to-yellow remapping (assuming it has not been changed before) 2) makepalookup { pal 21 red 30 remapself } This 'fogifies' palookup 21 with a red fog. 3) makepalookup { pal 21 red 30 } This overwrites palookup 21 with a red fog, but clears the blue-to-red remapping. The fog aspect of this command affects the GL modes just like 'fogpal', but the remapping has no effect for hightiles. - Also, silently clamp 'fogpal' r,g,b values to the range 0 .. 63. ------------------------------------------------------------------------ r2567 | helixhorned | 2012-03-29 14:16:20 -0700 (Thu, 29 Mar 2012) | 5 lines In OpenGL modes, save savegame screenshots as they appear on the screen. Instead of drawing the rooms and masks with the classic renderer once. The captured scene is transformed to use the base palette, so that the screenshot will also show up in classic. No aspect correction is done. ------------------------------------------------------------------------