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