Subversion Repositories eduke32

Rev

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

Filtering Options

Rev Age Author Path Log message Diff
4774 2518d 12h hendricks266 /polymer/eduke32/build/src/winbits.c Restore SDL 1.2 on Windows to a working state. DONT_BUILD.  
4685 2553d 4h hendricks266 /polymer/eduke32/build/src/winbits.c Improve fine-grained GCC and clang version detection, fixing recently introduced build issues. DONT_BUILD.  
4538 2663d 16h hendricks266 /polymer/eduke32/build/src/winbits.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.
 
4535 2664d 15h terminx /polymer/eduke32/build/src/winbits.c Looks like another MSVC build fix  
4385 2770d 5h terminx /polymer/eduke32/build/src/winbits.c Widespread use of ARRAY_SIZE macro.  
4315 2810d 4h hendricks266 /polymer/eduke32/build/src/winbits.c Fix errors and warnings with LLVM/clang 3.4 Windows.  
4086 2936d 5h hendricks266 /polymer/eduke32/build/src/winbits.c Windows startup window tweaks:
- Don't print osd.szCSDVersion when it is empty, preventing an extra space between the OS name and version number. (An example of what this field holds is "Service Pack 1".)
- Under SDL, allow the "console" edit field to repaint after "OK" is clicked. Important when a long def file is loading.
 
4073 2937d 7h hendricks266 /polymer/eduke32/build/src/winbits.c Work around a bug in MinGW 4.8 / mingwrt-4.0 where a function named main() in misc/src/libcrt/gdtoa/qnan.c takes precedence over the proper one in src/libcrt/crt/main.c.  
4027 2983d 17h terminx /polymer/eduke32/build/src/winbits.c Rip out all traces of nedmalloc. Sorry, XP users--it's time to upgrade to something newer than an OS from 2001 if this affects you.  
3987 2997d 15h terminx /polymer/eduke32/build/src/winbits.c Update win_printversion() to handle Windows 8.1/Server 2012 R2.  
3934 3027d 18h helixhorned /polymer/eduke32/build/src/winbits.c In Windows and SDL layers, rename *hitick* to *u64tick*.  
3783 3079d 11h terminx /polymer/eduke32/build/src/winbits.c Alter cvar system to fill the cvar name into the description line automatically, and remove the cvar name from the descriptions for all cvars  
3581 3136d 5h hendricks266 /polymer/eduke32/build/src/winbits.c Windows: Add the default installation paths for the GOG.com release of Duke Nukem 3D: Atomic Edition and the Steam release of Duke Nukem 3D: Megaton Edition (if they exist) to EDuke32's search path.  
3371 3211d 15h hendricks266 /polymer/eduke32/build/src/winbits.c Add r_togglecomposition cvar on Windows for Roma Loom.

r_togglecomposition: enable/disable toggle of desktop composition when initializing screen modes

default value: 1
 
3283 3232d 22h terminx /polymer/eduke32/build/src/winbits.c Limit attempting to toggle DWM off when using OpenGL modes to Vista/7, because Windows 8 no longer supports disabling DWM. Apparently, Windows 8 contains a software DWM renderer, and all of the "Metro" bs is directly tied to DWM, so there is no longer a way for an app to disable it at will.  
3278 3234d 12h hendricks266 /polymer/eduke32/build/src/winbits.c Win64 support! (Meaning it works, not that we recommend it for everyday use.)

This includes a complete Windows header and library refresh, including the addition of 64-bit compiled libs:
*libogg 1.3.0
*libvorbis 1.3.3
*zlib 1.2.7
*libpng 1.5.13
*libvpx 9a3de881c0e681ba1a79a166a86308bbc84b4acd
*SDL_mixer 1.2.12 (for RENDERTYPE=SDL)
*DirectX import libraries: dsound and dxguid (now included)

To build in 64-bit, you essentially need MinGW's MSYS (but not MinGW itself) and MinGW-w64 at the top of your PATH. The target is automatically detected using `$(CC) -dumpmachine`. The EDukeWiki will get detailed instrucitons.

All compiler and linker warnings when building in 64-bit mode have been fixed.

Remaining 64-bit to-do:
- The ebacktrace dll does not build under 64-bit. It uses code specific to the format of 32-bit executables and will have to be ported to work with 64-bit executables. A future 64-bit version will be named ebacktrace1-64.dll.
- RENDERTYPE=SDL crashes in SDL_mixer's Mix_Linked_Version().
- DirectInput gives an error and does not function. This only affects joysticks, and the error never happens without any plugged in.
- Port the classic renderer ASM to 64-bit. (Just kidding, this is way out of my league.)

This commit includes a fair bit of Makefile development spanning all platforms, including simplifying the SDLCONFIG code, fixing build on Mac OS X (thanks rhoenie!), globally factoring Apple brew/port inclusion, enforcing that all -L come before all -l, and ensuring that $(shell ) is always :='d.

In addition, I have resurrected the old GCC_MAJOR and GCC_MINOR detection using `$(CC) -dumpversion`, but I have made it failsafe in case the command fails or the version is manually specified. I have applied this new fine-grained detection where applicable, including allowing LTO, and restraining -W's to versions that support them.
 
3239 3251d 6h hendricks266 /polymer/eduke32/build/src/winbits.c Fix errors and warnings in nedmalloc.h using clang for a Win32 release build.  
3223 3252d 6h hendricks266 /polymer/eduke32/build/src/winbits.c Fix r3221: move the nedmalloc.h include to winbits.c.  
3221 3252d 10h hendricks266 /polymer/eduke32/build/src/winbits.c RENDERTYPE=SDL on Windows, part 2.

This introduces winbits.[ch] in the engine, containing layer-independent code migrated from winlayer, including nedmalloc, ebacktrace1, OS version detection, and high-resolution profiling timers.

sdlayer has been expanded to include the code from winbits under _WIN32.

All uses of RENDERTYPEWIN in the source have been examined and changed to _WIN32 (or removed) where the block in question is layer-independent.