- Clang's optional runtime array bounds checking doesn't understand when we
intentionally "overflow" by doing this:
RGB32k[0][0][colorval]
It will warn that it was accessed at an index will past the bounds
of type 'BYTE [32]', which makes it less than useful for catching real
array bounds overflows. So now do this:
RGB32k.All[colorval]
And if you want this:
RGB32k[r][g][b]
Now do this:
RGB32k.RGB[r][g][b]
# By Christoph Oelckers (2) and Edward Richardson (1)
# Via Christoph Oelckers
* 'master' of https://github.com/rheit/zdoom:
- fixed: The map setup code was still truncating texture names in several places.
Fix nettic run-out at end of demo playback
- fixed: ACS's check...Texture functions must use the same search flags as the texture initialization code in p_setup.cpp and p_udmf.cpp. It also should not create textures that don't exist yet. We are only doing a comparison so it's not relevant if the texture exists or not.
- This warning is about using zero-sized arrays in structs (aka flexible
member arrays). It's standard-enough for our purposes, so don't warn
about it, since neither GCC nor Clang do.
- Since Clang++, G++, and VC++ all support this extension (even though it's
technically officially only part of C99), use it. It lets Clang's array-
bounds checker know that these are meant to be accessed out of their so-called
"bounds".
- Fixed: If a part of a multipatch texture is replaced by a HIRESTEX
version, the original patch must not be deleted, since the multipatch
texture still needs it for compositing.
- To make camera textures pan in world units instead of texture units, you
can now add "WorldPanning" at the end of the cameratexture definition in
ANIMDEFS, after the "fit" specification. e.g.
cameratexture CAMTEX 128 128 fit 64 64 worldpanning
- A texture defined in TEXTUREx without any patches isn't necessarily an
error, so accept. This also means they shouldn't be used for determining
if a TEXTURE directory belongs to Strife instead of Doom.
- Fixed: PALVERS crashed with unknown textures since a value was never given for %s.
- Fixed: FON2 loader didn't set ActiveColors correctly.
SVN r3973 (trunk)
a temporary bitmap before copying to the destination bitmap if any fancy stuff is going on.
This simplifies the part drawing, since it doesn't need to check if each part is a multipatch
texture. It also means it can reliably use copy operations other than OP_COPY.
SVN r3639 (trunk)
Previously, "complex" parts would ignore it and use the copy info passed to the function
instead. The copy info passed to the function is now only used to decide to if it should clear
the destination image. I'm not sure if this really matters, since it itself is the only place aside
from FTexture::FillBuffer() that ever calls CopyTrueColorPixels() with a copy info, and when
it does so for a multipatch texture, it does so to a temporary buffer.
SVN r3634 (trunk)
be used when for walls and floors when the renderer is paletted. The format
is very simple:
rgbtex1 paltex1
rgbtex2 paltex2
...
The first texture is the one to be used normally, and the second is the one
to be used in paletted modes.
The vid_nopalsubstitutions cvar can be used to ignore this lump.
SVN r3311 (trunk)