dxx-rebirth/similar/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.cpp Use susegment for WALL_IS_DOORWAY 2019-12-27 02:02:23 +00:00
aipath.cpp Use susegment for WALL_IS_DOORWAY 2019-12-27 02:02:23 +00:00
automap.cpp Use susegment for WALL_IS_DOORWAY 2019-12-27 02:02:23 +00:00
bm.cpp Use enum for include/exclude anarchy mode 2020-01-18 21:57:39 +00:00
bmread.cpp Remove test for unconverted characters after a superx= line 2019-11-18 00:22:34 +00:00
cntrlcen.cpp Simplify valptridx types where possible 2019-12-22 05:34:08 +00:00
collide.cpp Use susegment for WALL_IS_DOORWAY 2019-12-27 02:02:23 +00:00
config.cpp initial version of this, trying to catch MCI events 2019-10-27 02:47:45 +03:00
console.cpp
controls.cpp Move Seismic_tremor_magnitude to d_level_unique_seismic_state 2019-08-06 02:59:41 +00:00
credits.cpp
digiobj.cpp Simplify valptridx types where possible 2019-12-22 05:34:08 +00:00
dumpmine.cpp Use susegment for dumpmine iteration 2019-12-27 02:02:23 +00:00
effects.cpp Move Control_center_destroyed to d_level_unique_control_center_state 2019-08-15 01:34:22 +00:00
endlevel.cpp Split object_move_all for game/endlevel 2019-12-22 05:34:08 +00:00
fireball.cpp Simplify valptridx types where possible 2019-12-22 05:34:08 +00:00
fuelcen.cpp Convert segment & to susegment where possible 2019-12-22 05:34:08 +00:00
fvi.cpp Use susegment for WALL_IS_DOORWAY 2019-12-27 02:02:23 +00:00
game.cpp Use susegment for WALL_IS_DOORWAY 2019-12-27 02:02:23 +00:00
gamecntl.cpp Make del+shift+b do fatal damage to every robot it explodes 2019-09-01 00:20:28 +00:00
gamefont.cpp
gamemine.cpp Use susegment for segment2_read 2019-12-27 02:02:23 +00:00
gamerend.cpp Move Countdown_seconds_left to d_level_unique_control_center_state 2019-08-15 01:34:22 +00:00
gamesave.cpp Move object::last_pos to LevelUniqueObjectState 2019-12-22 05:34:08 +00:00
gameseg.cpp Use susegment for WALL_IS_DOORWAY 2019-12-27 02:02:23 +00:00
gameseq.cpp Remove macro Current_mission_filename 2020-01-18 21:57:39 +00:00
gauges.cpp Hide lives-remaining count during demo playback 2019-08-24 18:14:16 +00:00
generate-kconfig-udlr.py Make kconfig.ui-table.cpp compile when freestanding 2019-12-22 05:34:08 +00:00
hostage.cpp
hud.cpp
iff.cpp
inferno.cpp Call arch_close before atexit hooks begin 2020-01-06 01:25:35 +00:00
kconfig.cpp Make kconfig.ui-table.cpp compile when freestanding 2019-12-22 05:34:08 +00:00
kconfig.ui-table.cpp Make kconfig.ui-table.cpp compile when freestanding 2019-12-22 05:34:08 +00:00
kmatrix.cpp Move Countdown_seconds_left to d_level_unique_control_center_state 2019-08-15 01:34:22 +00:00
laser.cpp Simplify valptridx types where possible 2019-12-22 05:34:08 +00:00
lighting.cpp
menu.cpp Use enum for include/exclude anarchy mode 2020-01-18 21:57:39 +00:00
mglobal.cpp Move transition_segnum to d_player_unique_endlevel_state 2019-08-15 01:34:22 +00:00
mission.cpp Fix saving/loading games for missions in subdirectories 2020-01-18 21:57:39 +00:00
morph.cpp
multi.cpp Move object::last_pos to LevelUniqueObjectState 2019-12-22 05:34:08 +00:00
multibot.cpp Simplify valptridx types where possible 2019-12-22 05:34:08 +00:00
net_udp.cpp Fix saving/loading games for missions in subdirectories 2020-01-18 21:57:39 +00:00
newdemo.cpp Fix saving/loading games for missions in subdirectories 2020-01-18 21:57:39 +00:00
newmenu.cpp
object.cpp Split object_move_all for game/endlevel 2019-12-22 05:34:08 +00:00
paging.cpp Use susegment for WALL_IS_DOORWAY 2019-12-27 02:02:23 +00:00
physics.cpp Use susegment for WALL_IS_DOORWAY 2019-12-27 02:02:23 +00:00
piggy.cpp Make read_sndfile static for D1 2019-08-15 01:34:22 +00:00
player.cpp
playsave.cpp Remove macro Current_mission_filename 2020-01-18 21:57:39 +00:00
polyobj.cpp some changes as per comments in #479 2019-12-18 13:44:43 +02:00
powerup.cpp
render.cpp Use susegment for WALL_IS_DOORWAY 2019-12-27 02:02:23 +00:00
robot.cpp Clean invalid robot joint data on load 2020-01-08 04:32:39 +00:00
scores.cpp Fix Win32 build of scores.cpp 2019-11-19 02:42:24 +00:00
segment.cpp Use susegment for references introduced by valptridx conversion 2019-12-22 05:34:08 +00:00
slew.cpp Move object::last_pos to LevelUniqueObjectState 2019-12-22 05:34:08 +00:00
songs.cpp Fix crash entering secret level with music on, and no songs 2019-11-02 04:36:15 +00:00
state.cpp Fix saving/loading games for missions in subdirectories 2020-01-18 21:57:39 +00:00
switch.cpp Convert segment & to susegment where possible 2019-12-22 05:34:08 +00:00
terrain.cpp Include segment.h for terrain.cpp to handle over-eager instantiation 2019-12-16 01:56:59 +00:00
texmerge.cpp
text.cpp
titles.cpp
vclip.cpp is_proximity_bomb_or_smart_mine*: s/smart/player_smart/g 2019-08-15 01:34:22 +00:00
vers_id.cpp
wall.cpp Use susegment for WALL_IS_DOORWAY 2019-12-27 02:02:23 +00:00
weapon.cpp Move Seismic_tremor_magnitude to d_level_unique_seismic_state 2019-08-06 02:59:41 +00:00