2011.09.15.Log0335.txt
📄SVN
📅2011-09-15
💾5,4 KB
☰9 Parsed entries
BUILD
FIX
Revision r2025
👤 helixhorned
📅 2011-09-15 10:04:37 -0700 (Thu, 15 Sep 2011)
- Add new trueror1.map that showcases the functionality and limitations of
the additional rendering pass
- Remove r_preview_mouseaim cvar from the game, since it's only for Mapster
- sdlmusic.c: (Failed) attempt to fix a call of waitpid() with a non-existent
process ID in the external MIDI playing code. I think there's a race there...
Revision r2024
👤 helixhorned
📅 2011-09-15 10:04:14 -0700 (Thu, 15 Sep 2011)
Support for drawing 'island sectors' for TROR/classic (and with limited
functionality, Polymost).
The new feature can be enabled/disabled with the 'r_tror_nomaskpass' cvar.
The basic idea is that when drawing lower or upper levels, a first pass
is performed that ignores all red walls for which the TROR nextwall link
'towards' the viewer arrives at a red wall. Thus, in the worst case, there
can be up to twice as many rendering passes now (when it is discovered that
the no-mask-pass isn't different that what would be drawn with the ordinary
one, the latter is skipped, since we've already drawn all needed geometry).
Hovever, this kind of multi-pass splitting is only suitable for simple scenes,
like the upper subway in the TROR test map. In particular, multiple islands
shouldn't 'see' each other.
Two issues are worth mentioning: first, care needs to be taken for translucent
ceilings or floors, since drawing them twice isn't the same as drawing them
once. This is done for classic, but not for Polymost. Second, sprites (which
are always drawn _after_ the geometry for a given pass) are still clipped to
the geometry of the ordinary pass, resulting in their disappearance from
certain angles.
Revision r2023
👤 helixhorned
📅 2011-09-15 10:03:50 -0700 (Thu, 15 Sep 2011)
misc. cleanup:
- remove 'imageSize' global which was always yres*bytesperline and only used once
- some clearbuf() -> Bmemset() because I find the latter easier to read
- remove some clearbufs to 0 of some global arrays on init
Revision r2022
👤 helixhorned
📅 2011-09-15 10:03:29 -0700 (Thu, 15 Sep 2011)
Make uninitialization sequence more consistent across the editor code. It's
always like this now:
ExtUninit -> (writesetup, misc.)
uninitengine -> (uninitsystem -> (uninit timers, mouse, ...))
exit()
Some paths still lead to a plain exit(), like failures in cache1d.c or mdsprite.c
Revision r2021
👤 helixhorned
📅 2011-09-15 10:03:08 -0700 (Thu, 15 Sep 2011)
In camera viewscreen tiles, also draw upper and lower TROR levels. Works
in any renderer because it's drawn with the software one...
Also add a hack to make Polymer realize that viewscreen tiles can change
each tic so that they don't show a static image anymore.
Revision r2020
👤 helixhorned
📅 2011-09-15 10:02:52 -0700 (Thu, 15 Sep 2011)
Make a couple of variables static in the engine; don't initialize umost/dmost
with other than base levels, since the y*most arrays are copied there later.
Revision r2019
👤 helixhorned
📅 2011-09-15 10:02:35 -0700 (Thu, 15 Sep 2011)
- In the editor, make bunch-equal-making [J] stricter, because the way it was
handled could lead to a bunch whose floors and ceilings covered different
areas. A fix for the reduced functionality arising from this change is
underway.
- Rewrite a small portion of code using yax_vnextsec() in game.c.
Revision r2018
👤 helixhorned
📅 2011-09-15 10:02:12 -0700 (Thu, 15 Sep 2011)
Engine: add funtion 'yax_vnextsec(wall, cf)' to C API. It's often useful when
dealing with sectors on the two sides of a bunch. Make yax_globallev and
yax_globalbunch variables non-static.
Rewrite a TROR-related bit in the engine code using the new function.
Revision r2017
👤 helixhorned
📅 2011-09-12 08:03:51 -0700 (Mon, 12 Sep 2011)
fix a couple of editor issues:
- one reported by Micky:
http://forums.duke4.net/topic/3911-true-room-over-room/page__view__findpost__p__106610
- malloc(0) call when saving a map with no sprites
- update 'asksave' after Alt-S and corrupt-check on starting a new map
------------------------------------------------------------------------
Raw Content
------------------------------------------------------------------------
r2026 | helixhorned | 2011-09-15 10:05:00 -0700 (Thu, 15 Sep 2011) | 8 lines
Add high-resolution timers C API for profiling. The functions are called
uint64_t gethiticks() and gethitickspersec(). For SDL 1.2, the timer
has the same resolution as getticks (1000 Hz). For Windows and SDL 1.3,
the resolution of the underlying perf-timers is used. The only user of
these functions right now is some TROR on-screen debugging code.
Revert an earlier change regarding r_preview_mouseaim. We can't do the
check because editstatus is set later.
------------------------------------------------------------------------
r2025 | helixhorned | 2011-09-15 10:04:37 -0700 (Thu, 15 Sep 2011) | 5 lines
- Add new trueror1.map that showcases the functionality and limitations of
the additional rendering pass
- Remove r_preview_mouseaim cvar from the game, since it's only for Mapster
- sdlmusic.c: (Failed) attempt to fix a call of waitpid() with a non-existent
process ID in the external MIDI playing code. I think there's a race there...
------------------------------------------------------------------------
r2024 | helixhorned | 2011-09-15 10:04:14 -0700 (Thu, 15 Sep 2011) | 26 lines
Support for drawing 'island sectors' for TROR/classic (and with limited
functionality, Polymost).
The new feature can be enabled/disabled with the 'r_tror_nomaskpass' cvar.
The basic idea is that when drawing lower or upper levels, a first pass
is performed that ignores all red walls for which the TROR nextwall link
'towards' the viewer arrives at a red wall. Thus, in the worst case, there
can be up to twice as many rendering passes now (when it is discovered that
the no-mask-pass isn't different that what would be drawn with the ordinary
one, the latter is skipped, since we've already drawn all needed geometry).
Hovever, this kind of multi-pass splitting is only suitable for simple scenes,
like the upper subway in the TROR test map. In particular, multiple islands
shouldn't 'see' each other.
Two issues are worth mentioning: first, care needs to be taken for translucent
ceilings or floors, since drawing them twice isn't the same as drawing them
once. This is done for classic, but not for Polymost. Second, sprites (which
are always drawn _after_ the geometry for a given pass) are still clipped to
the geometry of the ordinary pass, resulting in their disappearance from
certain angles.
--
Additionaly, a change made it into this commit that fixes redundant collection
of sprites in TROR:classic/Polymost.
------------------------------------------------------------------------
r2023 | helixhorned | 2011-09-15 10:03:50 -0700 (Thu, 15 Sep 2011) | 4 lines
misc. cleanup:
- remove 'imageSize' global which was always yres*bytesperline and only used once
- some clearbuf() -> Bmemset() because I find the latter easier to read
- remove some clearbufs to 0 of some global arrays on init
------------------------------------------------------------------------
r2022 | helixhorned | 2011-09-15 10:03:29 -0700 (Thu, 15 Sep 2011) | 6 lines
Make uninitialization sequence more consistent across the editor code. It's
always like this now:
ExtUninit -> (writesetup, misc.)
uninitengine -> (uninitsystem -> (uninit timers, mouse, ...))
exit()
Some paths still lead to a plain exit(), like failures in cache1d.c or mdsprite.c
------------------------------------------------------------------------
r2021 | helixhorned | 2011-09-15 10:03:08 -0700 (Thu, 15 Sep 2011) | 4 lines
In camera viewscreen tiles, also draw upper and lower TROR levels. Works
in any renderer because it's drawn with the software one...
Also add a hack to make Polymer realize that viewscreen tiles can change
each tic so that they don't show a static image anymore.
------------------------------------------------------------------------
r2020 | helixhorned | 2011-09-15 10:02:52 -0700 (Thu, 15 Sep 2011) | 2 lines
Make a couple of variables static in the engine; don't initialize umost/dmost
with other than base levels, since the y*most arrays are copied there later.
------------------------------------------------------------------------
r2019 | helixhorned | 2011-09-15 10:02:35 -0700 (Thu, 15 Sep 2011) | 5 lines
- In the editor, make bunch-equal-making [J] stricter, because the way it was
handled could lead to a bunch whose floors and ceilings covered different
areas. A fix for the reduced functionality arising from this change is
underway.
- Rewrite a small portion of code using yax_vnextsec() in game.c.
------------------------------------------------------------------------
r2018 | helixhorned | 2011-09-15 10:02:12 -0700 (Thu, 15 Sep 2011) | 4 lines
Engine: add funtion 'yax_vnextsec(wall, cf)' to C API. It's often useful when
dealing with sectors on the two sides of a bunch. Make yax_globallev and
yax_globalbunch variables non-static.
Rewrite a TROR-related bit in the engine code using the new function.
------------------------------------------------------------------------
r2017 | helixhorned | 2011-09-12 08:03:51 -0700 (Mon, 12 Sep 2011) | 5 lines
fix a couple of editor issues:
- one reported by Micky:
http://forums.duke4.net/topic/3911-true-room-over-room/page__view__findpost__p__106610
- malloc(0) call when saving a map with no sprites
- update 'asksave' after Alt-S and corrupt-check on starting a new map
------------------------------------------------------------------------