dxx-rebirth/common/main
Kp 1a2cfa35ba Fix saving/loading games for missions in subdirectories
The historical savegame format cannot support finding a mission in a
subdirectory.  Add a backwards-incompatible modification to store the
full path in the savegame, and store it in a way that old versions will
fail gracefully.[1]  When loading demos, or legacy savegames, search for
the mission in all available directories.  Demos are still written with
an unqualified path because the demo loading code would crash if given
an oversized path.  Mission names sent over the network as part of
multiplayer use the guess logic now, so that guests do not need to have
the mission in the same path as the host.

[1] Versions affected by issue #486 may fail ungracefully.

Reported-by: AlumiuN <https://github.com/dxx-rebirth/dxx-rebirth/issues/491>
2020-01-18 21:57:39 +00:00
..
ai.h Simplify valptridx types where possible 2019-12-22 05:34:08 +00:00
aistruct.h Move Stolen_item_index into d_thief_unique_state 2019-07-16 04:00:50 +00:00
automap.h Simplify valptridx types where possible 2019-12-22 05:34:08 +00:00
bm.h Use enum for include/exclude anarchy mode 2020-01-18 21:57:39 +00:00
cast_range_result.h Switch most in-tree http:// links to https:// 2018-09-02 00:57:29 +00:00
cli.cpp Switch most in-tree http:// links to https:// 2018-09-02 00:57:29 +00:00
cli.h Switch most in-tree http:// links to https:// 2018-09-02 00:57:29 +00:00
cmd.cpp Fix various gcc-9 -Wformat-truncation warnings 2019-05-06 00:36:16 +00:00
cmd.h Switch most in-tree http:// links to https:// 2018-09-02 00:57:29 +00:00
cntrlcen.h Simplify valptridx types where possible 2019-12-22 05:34:08 +00:00
collide.h Simplify valptridx types where possible 2019-12-22 05:34:08 +00:00
config.h Make ADL MIDI runtime configurable 2018-10-18 02:18:56 +00:00
controls.h Pass object& to read_flying_controls 2018-06-24 05:06:15 +00:00
credits.h Split credits_show special case into dedicated functions 2016-08-19 03:41:42 +00:00
cvar.cpp Switch most in-tree http:// links to https:// 2018-09-02 00:57:29 +00:00
cvar.h Switch most in-tree http:// links to https:// 2018-09-02 00:57:29 +00:00
d_enumerate.h Add enumerated_iterator::operator== 2019-08-24 18:14:16 +00:00
d_range.h Fix gcc-9 build of d_range.h 2019-05-06 00:36:16 +00:00
d_srcloc.h Switch most in-tree http:// links to https:// 2018-09-02 00:57:29 +00:00
d_zip.h Add range helper zip() 2019-05-04 18:27:36 +00:00
digi.h Merge branch ziplantil/win32-sdl2-cdaudio-sync into master 2019-10-28 00:45:34 +00:00
effects.h Fixed two issues with game's transparency effects feature (which I introduced when implementing it): First, Superprox mines dropped by enemies were made undesirably transparent since they have their own ID not considered by is_proximity_bomb_or_smart_mine(). Second, only some force field textures in D2X had transparency effects since the game has two different textures for force fields - eclip num 78 and 93 - but only the former was defined and used in is_alphablend_eclip() 2019-08-08 11:57:52 +02:00
endlevel.h Move exit_segnum to d_player_unique_endlevel_state 2019-08-15 01:34:22 +00:00
ephemeral_range.h Add range helper zip() 2019-05-04 18:27:36 +00:00
escort.h Add experimental support for guidebot in multiplayer 2019-06-27 03:26:20 +00:00
fireball.h Simplify valptridx types where possible 2019-12-22 05:34:08 +00:00
fuelcen.h Move Num_robot_centers to d_level_shared_robotcenter_state 2019-03-12 04:01:07 +00:00
fvi.h Use susegment for references introduced by valptridx conversion 2019-12-22 05:34:08 +00:00
fwd-object.h Split object_move_all for game/endlevel 2019-12-22 05:34:08 +00:00
fwd-player.h Move Guided_missile into d_level_object_state 2018-10-08 03:58:48 +00:00
fwd-segment.h Use susegment for references introduced by valptridx conversion 2019-12-22 05:34:08 +00:00
fwd-vclip.h Add fwd-vclip.h 2018-10-21 00:24:07 +00:00
fwd-wall.h Use susegment for WALL_IS_DOORWAY 2019-12-27 02:02:23 +00:00
fwd-weapon.h Move Seismic_disturbance_end_time to d_level_unique_seismic_state 2019-08-06 02:59:40 +00:00
game.h Change Difficulty_level_type from unsigned to signed 2019-11-17 23:27:13 +00:00
gamefont.h Enforce separation of font X/Y scaling 2018-06-08 04:04:05 +00:00
gamemine.h Move Secret_return_orient to d_level_shared_segment_state 2019-08-06 02:59:41 +00:00
gamepal.h Fix check_header_includes build 2016-01-09 16:38:12 +00:00
gamesave.h Eliminate unnecessary Gamesave_current_filename 2019-08-06 02:59:40 +00:00
gameseg.h Tighten input for set_segment_depths 2019-02-02 18:36:39 +00:00
gameseq.h Make init_player_stats_ship static 2019-07-07 22:00:02 +00:00
gauges.h Only use update_laser_weapon_info for quad laser change 2019-03-03 00:31:08 +00:00
hostage.h Track headlights in d_level_unique_light_state 2019-04-13 18:00:07 +00:00
hudmsg.h Switch most in-tree http:// links to https:// 2018-09-02 00:57:29 +00:00
inferno.h Move Death_sequence_aborted to d_game_view_unique_state 2019-08-15 01:34:22 +00:00
kconfig.h Added axis buttons 2019-09-01 13:11:14 -04:00
kmatrix.h Use #ifdef dsx to guard dsx namespace 2016-01-09 16:38:15 +00:00
laser.h Simplify valptridx types where possible 2019-12-22 05:34:08 +00:00
lighting.h Track headlights in d_level_unique_light_state 2019-04-13 18:00:07 +00:00
menu.h Register new pilots on menu creation, not activation 2019-06-27 03:26:20 +00:00
mission.h Fix saving/loading games for missions in subdirectories 2020-01-18 21:57:39 +00:00
morph.h Track headlights in d_level_unique_light_state 2019-04-13 18:00:07 +00:00
multi.h Simplify valptridx types where possible 2019-12-22 05:34:08 +00:00
multibot.h Simplify valptridx types where possible 2019-12-22 05:34:08 +00:00
multiinternal.h Move Stolen_items into d_thief_unique_state 2019-07-16 04:00:50 +00:00
net_udp.h Changed default tracker host address from dxxtracker.hopto.org to tracker.dxx-rebirth.com as requested by A Future Pilot 2019-05-17 15:36:58 +02:00
newdemo.h Change object::signature to be a generation counter 2019-07-07 22:00:02 +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 object::last_pos to LevelUniqueObjectState 2019-12-22 05:34:08 +00:00
objnum.h Change object::signature to be a generation counter 2019-07-07 22:00:02 +00:00
paging.h Pass Vclip as context 2018-10-21 00:24:07 +00:00
physics.h Move object::last_pos to LevelUniqueObjectState 2019-12-22 05:34:08 +00:00
piggy.h Make read_sndfile static for D1 2019-08-15 01:34:22 +00:00
player-callsign.h Move player callsign to player-callsign.h 2015-07-25 23:10:45 +00:00
player-flags.h Switch most in-tree http:// links to https:// 2018-09-02 00:57:29 +00:00
player.h Move exit_segnum to d_player_unique_endlevel_state 2019-08-15 01:34:22 +00:00
playsave.h Avoid reducing player's highest-level when replaying a non-MRU level 2019-08-24 04:32:24 +00:00
polyobj.h Avoid crash loading polymodels with invalid subcalls 2019-03-06 05:03:48 +00:00
powerup.h Pass Vclip as context 2018-10-21 00:24:07 +00:00
render.h Move Seismic_tremor_magnitude to d_level_unique_seismic_state 2019-08-06 02:59:41 +00:00
render_state.h Track headlights in d_level_unique_light_state 2019-04-13 18:00:07 +00:00
robot.h Move robot_create out of line 2019-03-03 00:31:09 +00:00
scores.h Propagate scores_maybe_add_player argument 2016-12-10 17:51:08 +00:00
screens.h Use #ifdef dsx to guard dsx namespace 2016-01-09 16:38:15 +00:00
segiter.h Pass unique_segment to objects_in 2018-06-24 05:06:14 +00:00
segment.h Add susegment to pair references to shared_segment/unique_segment 2019-12-22 05:34:08 +00:00
segpoint.h Move fwdsegment.h -> fwd-segment.h for consistency 2015-10-10 03:44:14 +00:00
selfiter.h Switch most in-tree http:// links to https:// 2018-09-02 00:57:29 +00:00
slew.h Always qualify valptridx type/factory 2017-06-10 03:31:02 +00:00
songs.h Refactor song loading 2019-08-25 16:43:17 +00:00
sounds.h Use constexpr integral_constant for various magic numbers 2017-10-14 17:10:30 +00:00
state.h Move some save/restore functions to dcx/dsx as appropriate 2019-08-06 02:59:40 +00:00
switch.h Use unsigned in more prototypes 2019-03-03 00:31:09 +00:00
terrain.h Move Viewer_eye to local scope 2018-12-30 00:43:57 +00:00
texmerge.h Propagate constant texmerge_init argument 2016-11-19 17:24:52 +00:00
text.h Move conditionally compiled code into namespace dsx 2016-08-25 04:05:32 +00:00
textures.h Propagate MAX_TEXTURES 2016-07-10 04:11:35 +00:00
titles.h Move intro_played to dsx 2017-03-18 18:07:35 +00:00
valptridx.tcc Switch most in-tree http:// links to https:// 2018-09-02 00:57:29 +00:00
vclip.h Shrink struct vclip 2019-07-20 18:24:24 +00:00
vers_id.h Switch most in-tree http:// links to https:// 2018-09-02 00:57:29 +00:00
wall.h Move Triggers to d_level_unique_trigger_state 2018-12-30 00:43:58 +00:00
weapon.h Replace "compiler-type_traits.h" with <type_traits> 2017-06-25 20:46:03 +00:00
weapon_id.h Whitelist Vertigo smelter's phoenix cannon 2019-10-21 03:45:29 +00:00