* Colors can npw be defined per sidedef, not only per sector.
* Gradients can be selectively disabled or vertically flipped per wall tier.
* Gradients can be clamped to their respective tier, i.e top and bottom of the tier, not the front sector defines where it starts.
The per-wall colors are implemented for hardware and softpoly renderer only, but not for the classic software renderer, because its code is far too scattered to do this efficiently.
# Conflicts:
# src/hwrenderer/scene/hw_renderstate.h
# src/hwrenderer/scene/hw_walls.cpp
# Conflicts:
# src/gl/scene/gl_walls_draw.cpp
Until now this wasn't doable because these could have come from hw_FakeFlat which only were local copies on the stack.
With the recent change these faked sectors live long enough so that they can be passed around here.
# Conflicts:
# src/hwrenderer/scene/hw_decal.cpp
# src/hwrenderer/scene/hw_walls.cpp
# Conflicts:
# src/gl/scene/gl_wall.h
# src/gl/scene/gl_walls.cpp
# src/gl/scene/gl_walls_draw.cpp
# src/hwrenderer/scene/hw_decal.cpp
An exception is made for the sprite drawer which needs to call this in the worker thread on some occasions for as-yet unprocessed sectors.
This case may not alter the cache to avoid having to add thread synchronization to it.
The main reason for this change is that pointers to such manipulated sectors can now be considered static in the renderer.
Due to them being short lived local buffers it was not possible to carry them along with the render data for information retrieval.
# Conflicts:
# src/gl/renderer/gl_renderer.cpp
# src/hwrenderer/scene/hw_bsp.cpp
# src/hwrenderer/scene/hw_drawinfo.h
# src/hwrenderer/scene/hw_drawlist.cpp
# src/hwrenderer/scene/hw_fakeflat.cpp
# src/hwrenderer/scene/hw_renderhacks.cpp
# Conflicts:
# src/gl/renderer/gl_renderer.cpp
# src/gl/renderer/gl_renderer.h
# src/gl/scene/gl_bsp.cpp
# src/gl/scene/gl_drawinfo.cpp
# src/gl/scene/gl_fakeflat.cpp
# src/gl/scene/gl_renderhacks.cpp
# src/gl/scene/gl_scene.cpp
# src/hwrenderer/scene/hw_drawinfo.h
# src/hwrenderer/scene/hw_drawlist.cpp
# src/hwrenderer/scene/hw_fakeflat.h
# src/hwrenderer/scene/hw_sprites.cpp
# src/hwrenderer/scene/hw_weapon.cpp
src/p_udmf.cpp:2052:6: error: no matching member function for call to 'OpenMem'
src/sc_man.h:24:7: note: candidate function not viable: expects an l-value for 2nd argument
src/sc_man.h:23:7: note: candidate function not viable: requires 3 arguments, but 2 were provided
src/resourcefiles/file_directory.cpp:198:32: error: use of undeclared identifier 'Filename'; did you mean 'FileName'?
Otherwise this may contain residual data from the last call.
One can only hope that this doesn't cause other side effects - this entire code is one horrendous mess of bad ideas.
- Added a function to the Actor class to get its spawn time relative to the current level.
- Added spawn time information to the output of the "info" console command.
This had absolutely no sanity checks and unconditionally picked the source texture if one existed.
It should only be done for wall textures, only for those defined in TEXTUREx and only for those where the scale is identical with the underlying texture.