------------------------------------------------------------------------ r2257 | helixhorned | 2012-01-14 06:48:45 -0800 (Sat, 14 Jan 2012) | 1 line Fix parallaxed sector display in Mapster32 on Polymer. ------------------------------------------------------------------------ r2256 | helixhorned | 2012-01-14 06:48:30 -0800 (Sat, 14 Jan 2012) | 16 lines Fix the Polymer hitches first encountered with Parkade. The cause was a combination of many factors. First, Polymer requires the start-drawing position to be inside the sector to draw (deviations lead to incorrect drawing). This was violated by the game, because it interpolated the current and next tic position without updating the sectnum, leading to inconsistencies especially when passing through narrow sectors. Polymer worked around it by doing an updatesector() each frame, however this works poorly for maps with overlapping geometry such as SoS or RoR. The solution to this is to add a new engine function, updatesector_onlynextwalls(), which searches the sectors (via nextsector) in breadth-first fashion instead of from 0 to numsectors-1, like updatesector does when it fails for the *immediate* nextwall neighbors. Internally, the breadt-first search helpers are moved into the engine. ------------------------------------------------------------------------ r2255 | helixhorned | 2012-01-12 12:49:50 -0800 (Thu, 12 Jan 2012) | 4 lines winlayer.c: in WM_PALETTECHANGED handling code ("someone stole the palette so try and steal it back"), prevent calling IDirectDrawSurface_SetPalette() with NULL arguments, causing a crash. It's happened for me on Vista, when initially changing from 8-bit to 32-bit mode. ------------------------------------------------------------------------