EDuke32 Changelog Archivio non ufficiale

Build 2416

4 marzo 2012 · 14 commit di 1 autore · SVN

Build per mese 112 build

File di log originale · 20120304-2416.txt
------------------------------------------------------------------------
r2416 | helixhorned | 2012-03-04 12:15:22 -0800 (Sun, 04 Mar 2012) | 3 lines

Formatting; remove 'loop has empty body' warnings with clang.

I have to admit, I like its grumbling.
------------------------------------------------------------------------
r2415 | helixhorned | 2012-03-04 12:15:04 -0800 (Sun, 04 Mar 2012) | 3 lines

Polymost: with r_parallaxskypanning=1, clamp the sky at a constant horizon.

See E4L1 for what this means.
------------------------------------------------------------------------
r2414 | helixhorned | 2012-03-04 12:14:48 -0800 (Sun, 04 Mar 2012) | 15 lines

Fix apparent horizon not being independent of viewingrange (classic/Polymost).

The apparent horizon (in units proportional to pixels by a constant factor)
was being calculated without normalizing to viewingrange, resulting a
discrepancy between the drawn and actual up/down angle with non-default
viewingranges (e.g. with r_usenewaspect=1, or when setting it from setaspect).
This also means that the center-of-aim will now be the same regardless of
the aspect.

This fixes many derived bugs:
 * inconsistency w/ crosshair when shooting a gun and aiming up/down (obviously)
 * bugs resulting from being able to look up/down too far (garbage non-slope
   texture-mapping and viewing BIGORBIT skies above the borders in classic).

Note: mods that had workaround logic for this bug will have to remove it...
------------------------------------------------------------------------
r2413 | helixhorned | 2012-03-04 12:14:32 -0800 (Sun, 04 Mar 2012) | 4 lines

Tweak 'dncoords' display.

added: sector extra; viewingrange and yxaspect before the main drawrooms call
removed: randomseed
------------------------------------------------------------------------
r2412 | helixhorned | 2012-03-04 12:14:18 -0800 (Sun, 04 Mar 2012) | 1 line

ATTRIBUTE((pure)) for Ptile2tile(), add a forgotten comment.
------------------------------------------------------------------------
r2411 | helixhorned | 2012-03-04 12:14:01 -0800 (Sun, 04 Mar 2012) | 1 line

sector.c: fix a possible oob access of a local array.
------------------------------------------------------------------------
r2410 | helixhorned | 2012-03-04 12:13:47 -0800 (Sun, 04 Mar 2012) | 1 line

Clamp ud.camerahoriz after EVENT_DISPLAYROOMS (instead of before).
------------------------------------------------------------------------
r2409 | helixhorned | 2012-03-04 12:13:34 -0800 (Sun, 04 Mar 2012) | 1 line

Make 'double ghoriz' static in polymost.c.
------------------------------------------------------------------------
r2408 | helixhorned | 2012-03-04 12:13:16 -0800 (Sun, 04 Mar 2012) | 4 lines

Apply transformations to nonpow2_mhline and nonpow2_thline.

This has no measureable difference. Oh well, maybe it benefits weaker
machines, since the generated loop code should definitely be prettier.
------------------------------------------------------------------------
r2407 | helixhorned | 2012-03-04 12:13:01 -0800 (Sun, 04 Mar 2012) | 1 line

Optimize fade_screen_black(). 49 --> 54 fps for test scene.
------------------------------------------------------------------------
r2406 | helixhorned | 2012-03-04 12:12:46 -0800 (Sun, 04 Mar 2012) | 4 lines

Apply the transformations of the previous commit to tslopevlin().

This doesn't give much, maybe 0.5 fps more, probably because the
loop body is pretty long.
------------------------------------------------------------------------
r2405 | helixhorned | 2012-03-04 12:12:30 -0800 (Sun, 04 Mar 2012) | 17 lines

Optimization of C replacements of basic texture mapping functions, part 1

Affected functions: hlineasm4, vlineasm1, mvlineasm1, tvlineasm1.

Optimizations:
 - declare all used variables as possibly const-qualified locals in each
   function. This removes unnecessary loads from memory in the loops.
 - rewrite "for (; cnt>=0; cnt--) {...}" to "cnt++; do {...} while (--cnt);"
   in the three last ones (yes, these function iterate cnt+1 times). This
   makes them functionally equivalent to the asm versions (madness ensues for
   cnt < 0) and allows the compiler to remove one 'test' instruction at the
   end of each loop.
 - in the translucence function, replace addition by ORing

Observations (system: Core2 Duo Linux x86_64):
 With a 1680x1050 window fully covered by the respective type of wall (simple,
 masked, trans. masked), fps increases by 3-4 from the baseline of approx. 60.
------------------------------------------------------------------------
r2404 | helixhorned | 2012-03-04 12:12:15 -0800 (Sun, 04 Mar 2012) | 5 lines

More utils tweaks.

- remove the objects too on 'clean'
- fix warning with 'transpal' on x64
  (generates translucency and shade tables)
------------------------------------------------------------------------
r2403 | helixhorned | 2012-03-04 12:11:49 -0800 (Sun, 04 Mar 2012) | 6 lines

Makefile tweaks for the utilities.

- print compilation status for building the final executable
- add 'cleanutils' target in build/Makefile
- don't link against pthread, seems unnecessary
- don't build nedmalloc.o when not requested in Makefile.common
------------------------------------------------------------------------
FixEngine

Fix apparent horizon not being independent of viewingrange (classic/Polymost).

Philipp Kutin (Helixhorned) 4 mar 2012, 12:14 UTC−8 r2414

The apparent horizon (in units proportional to pixels by a constant factor) was being calculated without normalizing to viewingrange, resulting a discrepancy between the drawn and actual up/down angle with non-default viewingranges (e.g. with r_usenewaspect=1, or when setting it from setaspect). This also means that the center-of-aim will now be the same regardless of the aspect. This fixes many derived bugs: * inconsistency w/ crosshair when shooting a gun and aiming up/down (obviously) * bugs resulting from being able to look up/down too far (garbage non-slope texture-mapping and viewing BIGORBIT skies above the borders in classic). Note: mods that had workaround logic for this bug will have to remove it...

Engine

Tweak 'dncoords' display.

Philipp Kutin (Helixhorned) 4 mar 2012, 12:14 UTC−8 r2413

added: sector extra; viewingrange and yxaspect before the main drawrooms call removed: randomseed

Apply transformations to nonpow2_mhline and nonpow2_thline.

Philipp Kutin (Helixhorned) 4 mar 2012, 12:13 UTC−8 r2408

This has no measureable difference. Oh well, maybe it benefits weaker machines, since the generated loop code should definitely be prettier.

Apply the transformations of the previous commit to tslopevlin().

Philipp Kutin (Helixhorned) 4 mar 2012, 12:12 UTC−8 r2406

This doesn't give much, maybe 0.5 fps more, probably because the loop body is pretty long.

Engine

Optimization of C replacements of basic texture mapping functions, part 1

Philipp Kutin (Helixhorned) 4 mar 2012, 12:12 UTC−8 r2405

Affected functions: hlineasm4, vlineasm1, mvlineasm1, tvlineasm1. Optimizations: - declare all used variables as possibly const-qualified locals in each function. This removes unnecessary loads from memory in the loops. - rewrite "for (; cnt>=0; cnt--) {...}" to "cnt++; do {...} while (--cnt);" in the three last ones (yes, these function iterate cnt+1 times). This makes them functionally equivalent to the asm versions (madness ensues for cnt < 0) and allows the compiler to remove one 'test' instruction at the end of each loop. - in the translucence function, replace addition by ORing Observations (system: Core2 Duo Linux x86_64): With a 1680x1050 window fully covered by the respective type of wall (simple, masked, trans. masked), fps increases by 3-4 from the baseline of approx. 60.

Fix

More utils tweaks.

Philipp Kutin (Helixhorned) 4 mar 2012, 12:12 UTC−8 r2404

- remove the objects too on 'clean' - fix warning with 'transpal' on x64 (generates translucency and shade tables)

Makefile tweaks for the utilities.

Philipp Kutin (Helixhorned) 4 mar 2012, 12:11 UTC−8 r2403

- print compilation status for building the final executable - add 'cleanutils' target in build/Makefile - don't link against pthread, seems unnecessary - don't build nedmalloc.o when not requested in Makefile.common