EDuke32 Changelog Archivio non ufficiale

Build 2351

16 febbraio 2012 · 7 commit di 1 autore · SVN

Build per mese 106 build

File di log originale · 20120216-2351.txt
------------------------------------------------------------------------
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.
------------------------------------------------------------------------
FixEngine

Update samples/trueror1.map with some tests of sprites lying on TROR floors.

Philipp Kutin (Helixhorned) 16 feb 2012, 11:25 UTC−8 r2351

Also, there's a "ladder" that passes through a TROR portal, and the mirror in that map has been fixed for the classic renderer.

Mapster32 FixEngine

Fix extended ceiling/floor picnums taking on picnum 0 in Polymer.

Philipp Kutin (Helixhorned) 16 feb 2012, 11:25 UTC−8 r2350

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.

FixEngineCON

When loading a map in-game, clear TROR wall members corresponding to up/down links.

Philipp Kutin (Helixhorned) 16 feb 2012, 11:25 UTC−8 r2349

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.

FixEngine

Fix player being not blocked by sprites lying on an extended floor.

Philipp Kutin (Helixhorned) 16 feb 2012, 11:24 UTC−8 r2347

getzrange() returns the floor rather than the sprite if their heights are equal. Now, make an exception for extended floors (analogously, ceilings).

Fix

Clean up VOC in-memory block type parsing.

Philipp Kutin (Helixhorned) 16 feb 2012, 11:24 UTC−8 r2346

- 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 *)...