Build 10363
GIT-
Fix OOB access
Nickname SVN e nomi Git sono unificati per persona.
Fix OOB access
Fix smoothness of q16 mouse aiming
Revert part of r5481. We can't rely on the sprite trackers to tell us when tsprites change.
Fix the oversight in handling tspr->extra from r5400 by setting it to zero in polymer_scansprites.
fix regression with Y-flipping bit.
fix synthesis warning.
fix rendering of middle part of 1-way masked wall.
It does not depend on the "swap bottom wall parts" bit being set. The fix is by matching up the related code with Polymost.
include wall[].ypanning in wall invalidation logic.
Fixes bug reported here: http://forums.duke4.net/topic/1348-mapster32-problems-and-bugs/page__view__findpost__p__213759
factor out polymer_invalidateartmap(), use it in invalidatetile().
This fixes updating the viewscreen in Polymer's ART mapping mode.
Fix one-sided y-flipped floor-aligned sprites, introduced in r3776.
Add a test case in test_tileoffsets.map.
fix possible NULL pointer dereference in polymer_getbuildmaterial().
fix centering of y-flipped wall sprites. (Case D in test_tileoffsets.)
fix floor sprites with y flipping by removing special-case code.
This fixes the case marked with the silver letter C in test_tileoffsets.map. The orientation of the sprites is correct (matches classic) as far as I can see, there are now only problems with translation.
Fix ART offset and sprite flipping interaction.
fix underwalls being not animated (introduced in r2823).
factor out wall y panning coefficient calculation.
Non-pow2 wall/mask drawing in classic introduced cases where walls are drawn "incorrectly" because they were constructed with the old behavior in mind. Polymer appears to "correct" for it partially, but doesn't cover all cases. Specifically, now we have: - E1L1 first inside secret room (5000, 50000): Polymer draws like Duke 1.5, classic now draws with an offset. - E3L2 near the vault (-20000, 25000): both classic and Polymer draw with offsets compared to Duke 1.5, but they're different! This means that more research is needed into what makes these two cases diverge, even though both have the same root cause. !!! Also, mappers should abstain from using non-power-of two textures on walls until this issue is resolved in a satisfactory fashion !!!
when drawing art sky, temporarily set texcoord s wrapping to clamping.
This properly fixes the unwanted vertical lines.
Fix a potential uninitialized mem read in debug msg when in void space.
cull sprite lights after computing sprite geometry
This was broken ever since updatesprite() had been forked off drawsprite() and would cause static lights to never hit static sprites until one or the other changed, after which the light would always get culled against outdated sprite geometry.
fix animations that loop to frame 0
With VBOs enabled, the virtual pointer to the geometry of frame 0 of a model is always NULL. This was confusing the polymer code responsible for deciding whether to enable smooth animations or not, which meant that any animation that would loop to frame 0 would do it as if animation interpolation was disabled, which looks very choppy.