EDuke32 Changelog Archivio non ufficiale

Build 4069

21 settembre 2013 · 4 commit di 1 autore · SVN

Build per mese 214 build

  1. gen

  2. feb

  3. mar

  4. apr

  5. mag

  6. giu

  7. lug

  8. ago

  9. set

  10. ott

  11. nov

  12. dic

File di log originale · 20130921-4069.txt
------------------------------------------------------------------------
r4069 | helixhorned | 2013-09-21 06:38:56 -0700 (Sat, 21 Sep 2013) | 6 lines

In C++ build, fix "narrowing conversion inside { } is ill-formed" warning.

This also exposes an actual issue. The sound definitions may be dynamically
remapped, in which case they are not necessarily <=255 any more.

BUILD_LUNATIC.
------------------------------------------------------------------------
r4068 | helixhorned | 2013-09-21 06:38:44 -0700 (Sat, 21 Sep 2013) | 14 lines

Prevent calling function pointers cast to an incompatible type.

Most often, this had happened when casting comparison functions for qsort()
like these: "int yax_cmpbunches(const int16_t *b1, const int16_t *b2)"
to a function pointer type expecting "const void *". Alas, this is undefined
behavior: see
http://blog.frama-c.com/index.php?post/2013/08/24/Function-pointers-in-C
and posts linked from it.

At least two cases have not been fixed:
- The savegame system maintains pointers which are either to data or a function in
  the generic "void *". This ought to be made into a union.
- Probably also:
  #define OSD_ALIAS     (int32_t (*)(const osdfuncparm_t*))0x1337
------------------------------------------------------------------------
r4067 | helixhorned | 2013-09-21 06:38:07 -0700 (Sat, 21 Sep 2013) | 1 line

Minor changes for Lunatic utils, replace missed sound flag literals with macros.
------------------------------------------------------------------------
r4066 | helixhorned | 2013-09-21 06:37:31 -0700 (Sat, 21 Sep 2013) | 5 lines

Add WIP x86_64 assembly texture mapping routines.

- Currently: only tvlineasm1 and tvlineasm2, but incomplete (no reverse
  translucency, nonpow2 textures will crash)
- For System V AMD64 calling conventions; requires YASM
------------------------------------------------------------------------
Fix

In C++ build, fix "narrowing conversion inside { } is ill-formed" warning.

Philipp Kutin (Helixhorned) 21 set 2013, 06:38 UTC−7 r4069

This also exposes an actual issue. The sound definitions may be dynamically remapped, in which case they are not necessarily <=255 any more. BUILD_LUNATIC.

Fix

Prevent calling function pointers cast to an incompatible type.

Philipp Kutin (Helixhorned) 21 set 2013, 06:38 UTC−7 r4068

Most often, this had happened when casting comparison functions for qsort() like these: "int yax_cmpbunches(const int16_t *b1, const int16_t *b2)" to a function pointer type expecting "const void *". Alas, this is undefined behavior: see http://blog.frama-c.com/index.php?post/2013/08/24/Function-pointers-in-C and posts linked from it. At least two cases have not been fixed: - The savegame system maintains pointers which are either to data or a function in the generic "void *". This ought to be made into a union. - Probably also: #define OSD_ALIAS (int32_t (*)(const osdfuncparm_t*))0x1337

Fix

Add WIP x86_64 assembly texture mapping routines.

Philipp Kutin (Helixhorned) 21 set 2013, 06:37 UTC−7 r4066

- Currently: only tvlineasm1 and tvlineasm2, but incomplete (no reverse translucency, nonpow2 textures will crash) - For System V AMD64 calling conventions; requires YASM