EDuke32 Changelog Unofficial archive

Build 1982

20 August 2011 · 9 commits by 1 author · SVN

Builds by month 67 builds

Original log file · 20110820-1982.txt
------------------------------------------------------------------------
r1982 | plagman | 2011-08-20 14:06:00 -0700 (Sat, 20 Aug 2011) | 7 lines

Polymer: fix external view.

Some of the ROR code was operating under the assumption that drawasks
always correspond to one call of polymer_displarooms(), but that's not
necessarily the case; external view draws all sectors from the top
polymer_drawrooms(), which was causing crashes. Just ignore the sector
mask queues in external view mode, we already don't draw masked walls.
------------------------------------------------------------------------
r1981 | plagman | 2011-08-20 14:05:49 -0700 (Sat, 20 Aug 2011) | 4 lines

Polymer: propagate lights across vertical boundaries.

Check all the bunch siblings if we get a floor/ceiling hit and walk
them if their own planes hit.
------------------------------------------------------------------------
r1980 | plagman | 2011-08-20 14:05:38 -0700 (Sat, 20 Aug 2011) | 17 lines

Polymer: add preliminary support for sector masks.

When walking the sectors in displayrooms, detect floor/sector masks to
place them in a mask queue. The queues are allocated on the heap, but
a stack pointer is maintained by the displayrooms to allow it to play
nice with mirror recursion.

Right now the masks are drawn after all of drawmasks is finished; that
means you can see sprites and wall masks through sector masks, but not
the opposite. There is a slight attempt at blending far to near, but
nothing too conclusive yet; that means that in some cases some sector
masks won't be visible through other sector masks, but it should work
for trivial cases.

The next step would be to copy all the drawmasks logic into Polymer
and have it (attempt to) properly interleave sector masks where they
belong in the blending order.
------------------------------------------------------------------------
r1979 | plagman | 2011-08-20 14:05:24 -0700 (Sat, 20 Aug 2011) | 4 lines

Polymer: Don't draw 1-way walls twice.

Previously they would get counted both as 1-way walls for immediate
drawing and as mask walls for delayed drawing.
------------------------------------------------------------------------
r1978 | plagman | 2011-08-20 14:05:14 -0700 (Sat, 20 Aug 2011) | 3 lines

Polymer: Don't bother fogcalc()ing invisible planes.

Doesn't actually matter that much.
------------------------------------------------------------------------
r1977 | plagman | 2011-08-20 14:05:04 -0700 (Sat, 20 Aug 2011) | 8 lines

Polymer: handle floor/ceiling translucency.

Assigns the right alpha value to floor/ceiling planes if their
translucency bits are set and make sure that changing the cstat now
triggers an update of the material for editing purposes.

This doesn't do anything by itself, but will be needed to correctly
draw floor/ceiling masks.
------------------------------------------------------------------------
r1976 | plagman | 2011-08-20 14:04:53 -0700 (Sat, 20 Aug 2011) | 4 lines

Polymer: Reorganize main displayrooms loop a bit.

When walking the sectors, put more drawing work between queuing and
reaping the occlusion queries to potentially make them more efficient.
------------------------------------------------------------------------
r1975 | plagman | 2011-08-20 14:04:42 -0700 (Sat, 20 Aug 2011) | 5 lines

Polymer: Correct(er) TROR walking.

Enumerate the vertical siblings of each walked sector and check them
against the current frustum. No occlusion queries yet, but that should
correct any missing sectors until a flaw in that logic is discovered.
------------------------------------------------------------------------
r1974 | plagman | 2011-08-20 14:04:28 -0700 (Sat, 20 Aug 2011) | 4 lines

Polymer skeleton cleanup.

Reorganize polymer.c a bit to match the order of prototypes from the
header, move macros from the middle into the header.
------------------------------------------------------------------------
r1973 | helixhorned | 2011-08-20 04:54:16 -0700 (Sat, 20 Aug 2011) | 1 line

disable undo/redo editor feature until I can debug the disappearing sprites
------------------------------------------------------------------------
Polymer FixEngine

fix external view.

Pierre-Loup A. Griffais (Plagman) 20 Aug 2011, 14:06 UTC−7 r1982

Some of the ROR code was operating under the assumption that drawasks always correspond to one call of polymer_displarooms(), but that's not necessarily the case; external view draws all sectors from the top polymer_drawrooms(), which was causing crashes. Just ignore the sector mask queues in external view mode, we already don't draw masked walls.

Polymer Engine

add preliminary support for sector masks.

Pierre-Loup A. Griffais (Plagman) 20 Aug 2011, 14:05 UTC−7 r1980

When walking the sectors in displayrooms, detect floor/sector masks to place them in a mask queue. The queues are allocated on the heap, but a stack pointer is maintained by the displayrooms to allow it to play nice with mirror recursion. Right now the masks are drawn after all of drawmasks is finished; that means you can see sprites and wall masks through sector masks, but not the opposite. There is a slight attempt at blending far to near, but nothing too conclusive yet; that means that in some cases some sector masks won't be visible through other sector masks, but it should work for trivial cases. The next step would be to copy all the drawmasks logic into Polymer and have it (attempt to) properly interleave sector masks where they belong in the blending order.

Polymer Engine

handle floor/ceiling translucency.

Pierre-Loup A. Griffais (Plagman) 20 Aug 2011, 14:05 UTC−7 r1977

Assigns the right alpha value to floor/ceiling planes if their translucency bits are set and make sure that changing the cstat now triggers an update of the material for editing purposes. This doesn't do anything by itself, but will be needed to correctly draw floor/ceiling masks.

Polymer Engine

Reorganize main displayrooms loop a bit.

Pierre-Loup A. Griffais (Plagman) 20 Aug 2011, 14:04 UTC−7 r1976

When walking the sectors, put more drawing work between queuing and reaping the occlusion queries to potentially make them more efficient.

Polymer Engine

Correct(er) TROR walking.

Pierre-Loup A. Griffais (Plagman) 20 Aug 2011, 14:04 UTC−7 r1975

Enumerate the vertical siblings of each walked sector and check them against the current frustum. No occlusion queries yet, but that should correct any missing sectors until a flaw in that logic is discovered.

Engine

Polymer skeleton cleanup.

Pierre-Loup A. Griffais (Plagman) 20 Aug 2011, 14:04 UTC−7 r1974

Reorganize polymer.c a bit to match the order of prototypes from the header, move macros from the middle into the header.