Browse logs with clarity: filter by type/year, search text, and inspect parsed commit details.

2100Total Files
2088SVN Logs
12Git Changelogs
1418Filtered Results

Detail

2011.09.15.Log0335.txt

📄SVN 📅2011-09-15 💾5,4 KB 9 Parsed entries BUILD FIX

Revision r2025

- 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

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

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

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

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

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

- 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

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

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
------------------------------------------------------------------------