dxx-rebirth/common/main
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
..
ai.h Eliminate some uses of valptridx::operator-> 2018-06-24 05:06:15 +00:00
aistruct.h Use constexpr integral_constant for various magic numbers 2017-10-14 17:10:30 +00:00
automap.h Fix check_header_includes=1 build 2018-06-06 04:53:45 +00:00
bm.h Make eclip_num unsigned 2018-03-31 21:53:01 +00:00
cast_range_result.h Use valptridx for Dl_indices 2018-06-06 04:53:45 +00:00
cli.cpp Pass font to gr_string,gr_printf 2018-05-19 23:21:42 +00:00
cli.h
cmd.cpp Replace useless printf with puts 2017-12-05 05:29:55 +00:00
cmd.h
cntrlcen.h Use constexpr integral_constant for various magic numbers 2017-10-14 17:10:30 +00:00
collide.h Switch to shared_segment arguments where possible 2018-06-24 05:06:15 +00:00
config.h
controls.h Pass object& to read_flying_controls 2018-06-24 05:06:15 +00:00
credits.h
cvar.cpp Fix cvar -Wrestrict in gcc-8 2018-05-05 22:33:55 +00:00
cvar.h
d_enumerate.h
d_srcloc.h Fix compile error for !DXX_HAVE_CXX_BUILTIN_FILE_LINE 2017-12-27 05:39:07 +00:00
digi.h Enable building with SDL2 2018-07-28 23:22:58 +00:00
effects.h Make eclip_num unsigned 2018-03-31 21:53:01 +00:00
endlevel.h Pass canvas to render_endlevel_frame 2017-03-11 19:56:28 +00:00
escort.h Always qualify valptridx type/factory 2017-06-10 03:31:02 +00:00
fireball.h Eliminate some uses of valptridx::operator-> 2018-06-24 05:06:15 +00:00
fuelcen.h Eliminate some uses of valptridx::operator-> 2018-06-24 05:06:15 +00:00
fvi.h Avoid temporarily moving boss while probing layout 2017-03-01 02:48:40 +00:00
fwd-object.h Eliminate some uses of valptridx::operator-> 2018-06-24 05:06:15 +00:00
fwd-player.h Use valptridx for Players 2017-08-13 20:38:32 +00:00
fwd-segment.h Split side uses based on shared vs unique 2018-06-24 05:06:15 +00:00
fwd-wall.h Split side uses based on shared vs unique 2018-06-24 05:06:15 +00:00
fwd-weapon.h Eliminate some uses of valptridx::operator-> 2018-06-24 05:06:15 +00:00
game.h Add screenshot=none to disable screenshot support 2018-06-16 04:13:37 +00:00
gamefont.h Enforce separation of font X/Y scaling 2018-06-08 04:04:05 +00:00
gamemine.h Unify segment2_read 2017-06-17 23:05:16 +00:00
gamepal.h
gamesave.h
gameseg.h Switch to shared_segment arguments where possible 2018-06-24 05:06:15 +00:00
gameseq.h Use constexpr integral_constant for various magic numbers 2017-10-14 17:10:30 +00:00
gauges.h Always qualify valptridx type/factory 2017-06-10 03:31:02 +00:00
hostage.h Remove obsolete D1 hostage editor code 2017-10-14 17:10:31 +00:00
hudmsg.h Pass canvas to HUD_render_message_frame 2017-03-11 19:56:21 +00:00
inferno.h Use constexpr integral_constant for various magic numbers 2017-10-14 17:10:30 +00:00
kconfig.h Unify some control_info fields 2018-01-29 01:56:40 +00:00
kmatrix.h
laser.h Remove global Network_laser_track 2018-03-05 01:40:44 +00:00
lighting.h Always qualify valptridx type/factory 2017-06-10 03:31:02 +00:00
menu.h
mission.h Retain directory structure in New Game dialog 2018-07-03 05:59:40 +00:00
morph.h Eliminate some uses of valptridx::operator-> 2018-06-24 05:06:15 +00:00
multi.h Warn users about tracker NAT hole punch feature 2018-06-21 03:08:36 +00:00
multibot.h Use constexpr integral_constant for various magic numbers 2017-10-14 17:10:30 +00:00
multiinternal.h Prevent stacking weapon rotation sounds 2018-05-13 03:14:34 +00:00
net_udp.h Use constexpr integral_constant for various magic numbers 2017-10-14 17:10:30 +00:00
newdemo.h Cache player references 2017-08-13 20:38:31 +00:00
newmenu.h Retain directory structure in New Game dialog 2018-07-03 05:59:40 +00:00
nvparse.h Replace "compiler-type_traits.h" with <type_traits> 2017-06-25 20:46:03 +00:00
object.h Move Debris_object_count into d_level_object_state 2018-04-02 03:39:51 +00:00
objnum.h
paging.h
physics.h Track visited segments as a local 2017-08-02 02:49:13 +00:00
piggy.h Split side uses based on shared vs unique 2018-06-24 05:06:15 +00:00
player-callsign.h
player-flags.h
player.h Remove unnecessary inclusions of compiler-static_assert.h 2018-05-05 22:33:55 +00:00
playsave.h Use enum for Difficulty_level 2018-05-12 18:24:19 +00:00
polyobj.h Use constexpr integral_constant for various magic numbers 2017-10-14 17:10:30 +00:00
powerup.h Use constexpr integral_constant for various magic numbers 2017-10-14 17:10:30 +00:00
render.h Remove unused found_poly 2017-11-01 02:01:20 +00:00
render_state.h Use constexpr integral_constant for various magic numbers 2017-10-14 17:10:30 +00:00
robot.h Prevent stacking weapon rotation sounds 2018-05-13 03:14:34 +00:00
scores.h
screens.h
segiter.h Pass unique_segment to objects_in 2018-06-24 05:06:14 +00:00
segment.h Split side uses based on shared vs unique 2018-06-24 05:06:15 +00:00
segpoint.h
selfiter.h Disallow operator=(T &&) && in valptridx 2018-06-08 04:04:05 +00:00
slew.h Always qualify valptridx type/factory 2017-06-10 03:31:02 +00:00
songs.h Enable building with SDL2 2018-07-28 23:22:58 +00:00
sounds.h Use constexpr integral_constant for various magic numbers 2017-10-14 17:10:30 +00:00
state.h Pass player to init_player_stats_level 2017-04-30 16:25:16 +00:00
switch.h Use constexpr integral_constant for various magic numbers 2017-10-14 17:10:30 +00:00
terrain.h Pass canvas to render_terrain 2017-03-11 19:56:26 +00:00
texmerge.h
text.h
textures.h
titles.h Move intro_played to dsx 2017-03-18 18:07:35 +00:00
valptridx.tcc Add alternate valptridx error reporting mechanisms 2017-08-11 23:43:52 +00:00
vclip.h Use constexpr integral_constant for various magic numbers 2017-10-14 17:10:30 +00:00
vers_id.h Fix gcc-4.9 pch=1 extern conflict 2017-07-08 18:17:48 +00:00
wall.h Pass context arrays to WALL_IS_DOORWAY 2018-06-24 05:06:15 +00:00
weapon.h Replace "compiler-type_traits.h" with <type_traits> 2017-06-25 20:46:03 +00:00
weapon_id.h