lumpnumcache can be case sensitive W_CheckNumForName should also look for uppercase stuff and W_LumpExists is case sensitive anyways
this avoids having to always account for case (toupper/tolower) during hash and string comparisons and even allows us to even directly compare our strings instead of using fastcmp (std::strings allow this!)
from some benchmarking externally this makes this faster quite a bit
Fixes bellbridge and secret slide
Context:
first flat in srb2.srb is F_SKY1
first texture is - aka PIT~
Vanilla kart doesn't have the 2.2 texture refactor aka wallflats, so flats aren't loaded into the textures array but
then wallflats came along and lacto just decided to load flats before textures
This reverts commit f72475b557, reversing
changes made to 0c89c85aae.
Sorry Generic this branch is really cool but it needs more work. I shouldn't have merged it too early...
Fixes many cases of invalid startlumps, so validation is now actually done
only when PARANOIA is defined
The W_CheckNumFor* functions allow startlump == numlumps, to make iteration
less frustrating
Rather than setting udmf earlier in P_SetupLevel and continuing to awkwardly
check udmf everywhere, I'm adding a new global solely for compat purposes.
For now, have it mirror udmf to avoid supporting two binary formats.
(still keeping the 2.2 conversion code tho?)
- Some maps may contain very large or very many (animated)
textures
- Texture sets are not typically shared between maps, so
each texture allocation may go unused for a long time
after the map ends
- Keeping these PU_STATIC leads to significant memory
usage over the program duration
- Cache DBGLINE texture
- Draw this texture at horizon (player's eye level)
- Draw this texture at max brightness
- Do not slope skew this texture
- Use R_DrawColumn_Flat_8 to colorize the this texture
- Ensures that column drawer doesn't read out of bounds
the brightmap column.
- Refactored code in r_segs.cpp, so it checks
R_TextureHasBrightmap.
- Added comments for plane brightmaps and sprite
brightmaps, that these are still error-prone.