------------------------------------------------------------------------ r2351 | helixhorned | 2012-02-16 11:25:56 -0800 (Thu, 16 Feb 2012) | 4 lines Update samples/trueror1.map with some tests of sprites lying on TROR floors. Also, there's a "ladder" that passes through a TROR portal, and the mirror in that map has been fixed for the classic renderer. ------------------------------------------------------------------------ r2350 | helixhorned | 2012-02-16 11:25:42 -0800 (Thu, 16 Feb 2012) | 8 lines Mapster32: Fix extended ceiling/floor picnums taking on picnum 0 in Polymer. The reason was that drawmasks(), which was where the resetting of the fake RoR textures happened under Polymer, can be called from polymer_displayrooms() when mirrors are present. I was assuming that drawmasks() was only ever called after the 'main' drawrooms and that hence the sequence of fake RoR tile tweaking was set, reset, set, reset, ... which it was not. Now, do the resetting explicitly after every drawmasks() in the editor. ------------------------------------------------------------------------ r2349 | helixhorned | 2012-02-16 11:25:18 -0800 (Thu, 16 Feb 2012) | 8 lines When loading a map in-game, clear TROR wall members corresponding to up/down links. I find this cleaner for two reasons. First, lotags won't get in the way of neartag(), so that doors and switches near constrained TROR walls can be pushed. Second, this removes the information leak so that CON coders aren't tempted to read that values directly before a proper API for that comes along. When writing out a map in-game (e.g. with dndebug), restore the respective members so that it can be loaded in the editor again. ------------------------------------------------------------------------ r2348 | helixhorned | 2012-02-16 11:24:59 -0800 (Thu, 16 Feb 2012) | 1 line engine.c: Rewrite tslopevlin (translucent slope vline texmapping) for clarity. ------------------------------------------------------------------------ r2347 | helixhorned | 2012-02-16 11:24:44 -0800 (Thu, 16 Feb 2012) | 4 lines Fix player being not blocked by sprites lying on an extended floor. getzrange() returns the floor rather than the sprite if their heights are equal. Now, make an exception for extended floors (analogously, ceilings). ------------------------------------------------------------------------ r2346 | helixhorned | 2012-02-16 11:24:28 -0800 (Thu, 16 Feb 2012) | 9 lines Clean up VOC in-memory block type parsing. - Maintain a position relative to the start of the data. VOC doesn't mandate an EOF marker (blocktype 0). If we go over the end, fake that marker, so as to restart a looping sound or stop a one-shot one. This fixes an uninitialized mem access with the corrupt SNAKRM.VOC. - When encountering the EOF marker, don't read the 3 bytes of block size, since they may not be there. - Read blocksize by ORing and shifting the 3 bytes, not with *(int32_t *)... ------------------------------------------------------------------------ r2345 | helixhorned | 2012-02-16 11:24:09 -0800 (Thu, 16 Feb 2012) | 1 line Mapster32: don't use lazy tile loading with r_hightile=0. ------------------------------------------------------------------------ r2344 | helixhorned | 2012-02-14 15:14:07 -0800 (Tue, 14 Feb 2012) | 1 line Fix use of an uninitialized variable in P_FindWall->FindDistance2D with noclip. ------------------------------------------------------------------------