dxx-rebirth/common/include
Kp f491059ed7 Enable building with SDL2
This commit enables Rebirth to build with SDL2, but the result is not
perfect.

- SDL2 removed some sticky key support.  Rebirth may behave differently
  now in this area.
- SDL2 removed some key-repeat related support.  Rebirth may behave
  differently now in this area.
- SDL2 gained the ability to make a window fullscreen by sizing it to
  the desktop instead of by changing the desktop resolution.  Rebirth
  uses this, and it mostly works.
  - Resizing while in the automap does not notify the automap code, so
    the view is wrong until the player switches out of automap mode and
    back in.
- SDL2 changed how to enumerate available resolutions.  Since
  fitting the window to the desktop is generally more useful than
  fitting the desktop to the window, I chose to drop support for
  enumerating resolutions instead of porting to the new API.  Users can
  now enter an arbitrary window dimension and Rebirth will make an
  attempt to use it.
  - It might be useful to cap the window dimension at the desktop
    dimension, but that is not done yet.
  - Entering fullscreen mode through the Controls->Graphics submenu
    failed to notify the relevant subsystems, causing the rendered
    content not to rescale.  For now, compile out the option to toggle
    full screen through that menu.  Toggling through Alt+Enter works
    properly.

Despite these quirks, this is a substantial improvement over the prior
commit, where SDL2 cannot be used at all.  The remaining issues can be
resolved in future work.

References: <https://github.com/dxx-rebirth/dxx-rebirth/issues/82>
2018-07-28 23:22:58 +00:00
..
editor Switch to shared_segment arguments where possible 2018-06-24 05:06:15 +00:00
3d.h Hide PF_UVS,PF_LS from OGL build 2017-11-05 20:49:08 +00:00
args.h Move various SDL-only scanline functions to !DXX_USE_OGL 2017-11-01 02:01:20 +00:00
byteutil.h Fix check_header_includes=1 build 2018-06-06 04:53:45 +00:00
compiler-addressof.h
compiler-array.h
compiler-begin.h
compiler-exchange.h
compiler-integer_sequence.h Use compiler-provided integer_sequence when it is depth-efficient 2017-07-26 03:15:59 +00:00
compiler-lengthof.h
compiler-make_unique.h
compiler-poison.h Fix check_header_includes=1 poison.h 2017-02-19 19:33:36 +00:00
compiler-range_for.h
compiler-static_assert.h Require C++11 static_assert 2018-05-05 22:33:55 +00:00
console.h Add support for increased precision of gamelog timestamps 2017-12-06 05:14:32 +00:00
countarray.h Rename countarray method count -> size 2017-06-10 03:31:03 +00:00
cpp-valptridx.h Document valptridx error reporting dispatch macro 2018-02-04 01:56:40 +00:00
digi_audio.h Use constexpr integral_constant for various magic numbers 2017-10-14 17:10:30 +00:00
digi_mixer.h
digi_mixer_music.h
dsx-ns.h Disallow misnesting for d1x+d2x, not for dsx 2017-07-26 03:15:58 +00:00
dxxerror.h Simplify reporting fatal errors 2017-08-11 23:43:52 +00:00
event.h Set d_event type at construction 2018-05-12 18:24:19 +00:00
fmtcheck.h
func.h
fwd-event.h Guard event_get_idle_seconds in #if DXX_USE_EDITOR 2018-02-10 22:23:36 +00:00
fwd-gr.h Enable building with SDL2 2018-07-28 23:22:58 +00:00
fwd-partial_range.h Fix make_range for use on non-const lvalue 2017-06-07 02:44:54 +00:00
fwd-valptridx.h Define valptridx factory typedef earlier 2017-10-14 17:10:30 +00:00
fwd-vecmat.h Pass vms_matrix &to vms_matrix_from_quaternion 2018-03-31 21:53:01 +00:00
fwd-window.h Set d_event type at construction 2018-05-12 18:24:19 +00:00
gr.h Make grs_main_bitmap::grs_main_bitmap() clear the whole structure 2018-07-14 17:23:15 +00:00
grdef.h Expand GHEIGHT 2017-02-11 21:42:42 +00:00
hash.h
hmp.h
iff.h Use constexpr integral_constant for various magic numbers 2017-10-14 17:10:30 +00:00
ignorecase.h
internal.h Inline OGL_TEXTURE_LIST_SIZE 2017-03-18 18:07:37 +00:00
interp.h Use constexpr integral_constant for various magic numbers 2017-10-14 17:10:30 +00:00
joy.h Use constexpr integral_constant for various magic numbers 2017-10-14 17:10:30 +00:00
jukebox.h
key.h Enable building with SDL2 2018-07-28 23:22:58 +00:00
loadgl.h
makesig.h
maths.h
messagebox.h Fix build break on OSX 2017-09-10 13:27:55 +02:00
mouse.h Enable building with SDL2 2018-07-28 23:22:58 +00:00
ntstring.h Allow longer mission titles in New Game dialog 2018-06-27 03:34:34 +00:00
null_sentinel_iterator.h
ogl_extensions.h
ogl_init.h Raise MAX_POINTS_PER_POLY to 64 2017-06-07 02:44:55 +00:00
ogl_sync.h Fix SDL check_header_includes=1 build 2017-03-11 19:56:21 +00:00
pack.h Simplify exact_type 2017-06-25 20:46:03 +00:00
palette.h
partial_range.h Use partial_range for robot_get_anim_state 2018-01-29 01:56:40 +00:00
pcx.h Add support for PNG screenshots 2018-02-18 00:42:42 +00:00
physfs-serial.h
physfs_list.h Remove obsolete serial typedefs 2017-08-11 23:43:54 +00:00
physfsx.h Remove unnecessary inclusions of compiler-static_assert.h 2018-05-05 22:33:55 +00:00
pstypes.h
rbaudio.h Enable building with SDL2 2018-07-28 23:22:58 +00:00
reverse.h
rle.h Simplify gr_rle_decode 2017-04-08 16:48:17 +00:00
serial.h Add operator++,operator-- to base_bytebuffer_t 2018-05-05 22:33:55 +00:00
strutil.h
texmap.h Move various SDL-only texture mapping functions to !DXX_USE_OGL 2017-11-01 02:01:21 +00:00
timer.h
u_mem.h Use array<> in more places 2017-07-08 18:17:49 +00:00
ui.h Pass canvas to menubar_init 2017-09-26 04:15:50 +00:00
valptridx.h Disallow operator=(T &&) && in valptridx 2018-06-08 04:04:05 +00:00
varutil.h
vecmat.h Use stdint constants for some INT*_MAX 2017-02-22 03:05:43 +00:00
window.h Remove stringified enum name from WINDOW_SEND_EVENT 2018-05-12 18:24:19 +00:00