Subversion Repositories eduke32

Rev

Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
4555 2647d 2h hendricks266 /polymer/eduke32/build/src/winlayer.c KenBuild.

DONT_BUILD.
 
4540 2661d 7h hendricks266 /polymer/eduke32/build/src/winlayer.c Lunatic fixes:
1 compiler error.
2 compiler warnings.
1 runtime warning.

Note that at this time, CPLUSPLUS=1 LUNATIC=1 fails to build due to C++ function mangling, and Win64 Lunatic crashes.

DONT_BUILD.
 
4538 2664d 18h hendricks266 /polymer/eduke32/build/src/winlayer.c Extend ebacktrace in two ways.
1. The application must specify its proper name and technical name. Instead of eduke32_or_mapster32.crash.log, we now have eduke32.crash.log and mapster32.crash.log.
2. The exception handler will display a message box informing the user of a crash and requesting they send in the crash log. The box has three options: "Quit", the DLL's current behavior, "Continue", which passes the exception to the next handler, and "Ignore", which resumes execution immediately. These should allow the user to skip bogus exceptions picked up by ebacktrace, such as one I get with my laptop that causes EDuke32 no issues.
 
4385 2771d 7h terminx /polymer/eduke32/build/src/winlayer.c Widespread use of ARRAY_SIZE macro.  
4327 2809d 22h terminx /polymer/eduke32/build/src/winlayer.c Support "r_windowpositioning" in SDL builds.  
4320 2811d 5h hendricks266 /polymer/eduke32/build/src/winlayer.c MSVC: Add support for x64 building and all synthesis libs (libpng/zlib, libvpx, libFLAC).

External ogg/vorbis are no longer required.
 
4269 2825d 6h hendricks266 /polymer/eduke32/build/src/winlayer.c SDL: Fix "the issue where if you hold down a key and enter the console then release it that the key remains held down until you hit it again outside the console".  
4200 2863d 9h hendricks266 /polymer/eduke32/build/src/winlayer.c Rewrite and unify the handling of the scrollwheel between layers, fixing it in the editor's 2D mode and tile selector under SDL.

The scrollwheel is unique among PC input because it has no innate "hold length". Previously, the layers gave the mousewheel a fake hold length to allow the not-necessarily-synchronous game/editor code to pick up the input before the layers marked it as "no longer pressed". This passed under Windows, but it didn't slide under SDL.

Besides the two problems listed above, it also potentially limited the rate of weapon selection, where scrolling too fast would not register every clicks. [Unrelatedly, this is still the case when you scroll faster than the game's own tickrate, but addressing that would require rewriting input handling to go through a list of "events" for each tic instead of looking at overall pressed/unpressed states.]
 
4144 2904d 22h helixhorned /polymer/eduke32/build/src/winlayer.c In C_SetCfgName, don't use unsafe string functions with unknown-length input.  
4102 2931d 7h hendricks266 /polymer/eduke32/build/src/winlayer.c Wii: Fix build and add custom headers and libs to SVN. (It's helpful to set up a build system from scratch.)

DONT_BUILD.
 
4090 2936d 6h hendricks266 /polymer/eduke32/build/src/winlayer.c Fix the vsync menu option so that it actually works.

Variables at global scope which share a name tend to actually be the same variable. Not good when you pass such a variable to function that immediately returns if the passed parameter (the variable) equals said variable (itself).
 
4068 2953d 3h helixhorned /polymer/eduke32/build/src/winlayer.c 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
 
4013 2993d 1h helixhorned /polymer/eduke32/build/src/winlayer.c baselayer.c: remove baselayer_onvideomodechange, onvideomodechange.  
3998 2994d 17h terminx /polymer/eduke32/build/src/winlayer.c Fix keyboard layout issue reported at http://forums.duke4.net/topic/6683-eduke32-forces-my-keyboard-to-us-layout-rather-than-uk  
3997 2998d 2h terminx /polymer/eduke32/build/src/winlayer.c Enable ATI FBO color attachment workaround for Intel as well. Fixes some HD4000 issues.  
3935 3028d 19h helixhorned /polymer/eduke32/build/src/winlayer.c Rename the external 'gethitickms()' to 'gethiticks()'.  
3934 3028d 19h helixhorned /polymer/eduke32/build/src/winlayer.c In Windows and SDL layers, rename *hitick* to *u64tick*.  
3793 3076d 21h helixhorned /polymer/eduke32/build/src/winlayer.c Windows: allow desktop-sized windowed modes, add 1680x1050 to defaults list.  
3670 3114d 12h hendricks266 /polymer/eduke32/build/src/winlayer.c Fix "Error setting gamma ramp: DDERR_INVALIDPARAMS" on 64-bit.  
3573 3139d 18h helixhorned /polymer/eduke32/build/src/winlayer.c Fix Lunatic build on Windows.

- Make _buildargv[_buildargc] NULL.
- With SDL layer, pass argv and argc directly and get rid of _build* ones.
- Add tilesiz* to dynsymlists.
 

Show All