Change multi-remain to repeat last parsed value for non-string types if
the next value is empty and of the same type as the last.
Use this to add an optional parameter to sensitivity which controls the
y axis. When optional parameter is missing, x and y axis have the same
value.
Change limits on sensitivity to allow for negative values so the Mouse
Y-axis can be inversed.
- Moved out almost all Direct3D related code to its corresponding .cpp/.h
- Moved out int_log2 to output_tools.h, leaving it static/inline
- Added config option C_DIRECT3D
- Some bracket cleanup here and there
- Define output shutdown function, used by DIRECT3D only now
- Move OpenGL output code from sdlmain.cpp to separate .cpp/.h
- Move sdl_opengl structure out of sdl structure, move some 'global' OpenGL related variables to it
- Generalize fallback to surface output in mode selection / sizing code (retFlags = 0 means we could not choose a mode and need to fallback), no weird goto anymore, log if even surface output routine returned zero
- OpenGL/D3D routines changed sdl.desktop.type individually. Now we set it to actual sdl.desktop.want_type value after fallbacks are processed (want_type is filled by OUTPUT_*_Select)
- Add OUTPUT_*_Initialize() routines to allow
- Small part of Direct3D related code moved out as well in preparation for next step (moving Direct3D output code out)
- TODO: Many supplementary OpenGL related code remains in sdlmain.cpp, needs to be assessed and moved out as well
- Start partial refactor of sdlmain.cpp output code
- Move general definitions into sdlmain.h (incomplete)
- Move little part of OpenGL output related code out
- Move almost all of surface output related code out
- Generalize xBRZ postscaling operations into their own respective function to reuse
- Bugfix: commits 3a8d77f and ebdfc33 break intentional output window fill-in for xBRZ
- Minor: non-ppl runs can be done without granularity based loop, adjusted
- TODO: continue factoring out output code
- TODO: SDL2 build is probably not xBRZ-capable now
- TODO: see what can be used instead of ppl taskgroups for other platforms, xBRZ is too slow without parallel processing
- TODO: adjust other build configurations to include new source files / headers