Commit Graph

106 Commits

Author SHA1 Message Date
Jonathan G Rennison
373ff3dd4e Merge branch 'master' into save_ext
# Conflicts:
#	src/saveload/saveload.cpp
#	src/table/settings.h.preamble
2018-07-02 18:41:39 +01:00
Charles Pigott
2aacddd412 Codechange: lengthof is not defined for runtime-length strings, use sizeof instead 2018-06-27 22:54:46 +02:00
cirdan
c06c929771 Remove unused ChunkType flag CH_AUTO_LENGTH
CH_AUTO_LENGTH is no longer used anywhere, so remove all code
that depends on it.

(cherry picked from commit 9c620d9de5d45b78f7d992d6b3897009fe988d86)
(cherry picked from commit 4a19babf9e)
2018-06-01 23:23:57 +01:00
innocenat
7c4bd7d3a3 Add variable std::vector save type
SL_VEC in the game currenty only support SlRefType, not VarType. This add another save type, SL_VARVEC, to support saving std::vector with POD type. It supports all integer type.
(cherry picked from commit 2895b1921d)

Fix bug in new SL_VARVEC save/load code

(cherry picked from commit 59554a5dd2)
2018-05-29 00:16:53 +01:00
Jonathan G Rennison
c71ed22e7a Save/memory dumper performance improvements 2018-05-29 00:16:53 +01:00
Jonathan G Rennison
3b83a9e186 Performance improvements to savegame loading 2018-05-29 00:16:53 +01:00
Jonathan G Rennison
dd0666c5f4 Add support for save/loading std::strings. 2017-03-29 19:41:06 +01:00
Jonathan G Rennison
fae4ac1a5d Merge branch 'master' into save_ext
# Conflicts:
#	src/saveload/company_sl.cpp
#	src/saveload/saveload.cpp
2017-03-19 12:12:52 +00:00
frosch
fc4c4d080c (svn r27757) -Change: Make StringID 32bit. 2017-02-26 19:41:14 +00:00
frosch
0c1fcc02ec (svn r27757) -Change: Make StringID 32bit. 2017-02-26 19:41:14 +00:00
Jonathan G Rennison
94d3700f79 SaveLoad: Add support for saving/loading from a std::vector<T *> 2016-09-13 22:56:16 +01:00
Jonathan G Rennison
c752da3a9e SaveLoad: Add support for saving/loading from a std::deque<T *> 2016-09-13 22:56:16 +01:00
Jonathan G Rennison
a6e0b1ac7d Merge branch 'cpp-11' into save_ext 2016-09-05 23:17:02 +01:00
alberth
0adfb1ac6f (svn r27653) -Fix(r27647): Rename FileOperation enum and values to SaveLoadOperation to avoid nameclash with windows compiler toolkit. 2016-09-04 16:06:50 +00:00
alberth
f286ba8db2 (svn r27653) -Fix(r27647): Rename FileOperation enum and values to SaveLoadOperation to avoid nameclash with windows compiler toolkit. 2016-09-04 16:06:50 +00:00
alberth
6f201ce4a8 (svn r27651) -Codechange: Introduce methods for setting the name and title of _file_to_saveload. 2016-09-04 12:58:04 +00:00
alberth
e735bbebce (svn r27651) -Codechange: Introduce methods for setting the name and title of _file_to_saveload. 2016-09-04 12:58:04 +00:00
alberth
597380e099 (svn r27650) -Codechange: Replace SaveOrLoadMode by FileOperation and DetailedFileType. 2016-09-04 12:57:43 +00:00
alberth
a959c0c965 (svn r27650) -Codechange: Replace SaveOrLoadMode by FileOperation and DetailedFileType. 2016-09-04 12:57:43 +00:00
alberth
2fa0fdb176 (svn r27638) -Codechange: Move FiosType enum, move and rename SetFiosType function. 2016-09-04 12:47:07 +00:00
alberth
e78627f2f1 (svn r27638) -Codechange: Move FiosType enum, move and rename SetFiosType function. 2016-09-04 12:47:07 +00:00
alberth
087ed1e999 (svn r27636) -Codechange: Rename FileType to AbstractFileType. 2016-09-04 12:46:07 +00:00
alberth
757bc0a97b (svn r27636) -Codechange: Rename FileType to AbstractFileType. 2016-09-04 12:46:07 +00:00
alberth
9135f7130e (svn r27635) -Codechange: Move FileType and FileToSaveLoad structure definitions. 2016-09-04 12:45:40 +00:00
alberth
a35e970ab0 (svn r27635) -Codechange: Move FileType and FileToSaveLoad structure definitions. 2016-09-04 12:45:40 +00:00
Jonathan G Rennison
1234bdb07c Fix compilation issue with MSVC due to ordering of noreturn and cdecl. 2015-10-31 10:51:58 +00:00
Jonathan G Rennison
86dea90c4f save_ext: Initial support for save/load of RIFF chunk sizes > 28 bits.
Add a chunk extension header with a flag for increased RIFF size.
2015-09-11 22:37:36 +01:00
Jonathan G Rennison
a8cc81d054 Initialiser list fixes for legacy compilers. 2015-08-16 14:36:07 +01:00
Jonathan G Rennison
bde094fe01 Initial implementation of SLXI chunk save/load 2015-08-01 12:58:53 +01:00
Jonathan G Rennison
a3980dc6ba Move SlRead/SlWrite functions to saveload.h
Add SlGetBytesRead and SlGetBytesWritten functions.
2015-08-01 12:26:22 +01:00
Jonathan G Rennison
4508cfbf93 Add format-style versions of SlError and SlErrorCorrupt. 2015-08-01 12:26:22 +01:00
Jonathan G Rennison
17e8693e62 Initial stubs for extending the save/load version checking/upgrade code,
with support for tests on individually versioned features as well as
savegame versions.
This is mainly for improved handling of features added to patchpacks.
The current status-quo of picking a random number for the savegame
version when releasing a patch breaks loading of savegames from newer
trunk savegame versions, with or without the same patch applied, as
savegame upgrade code is not run, which can also lead to crashes on load.
Instead don't change the savegame version (but set the high bit to
keep trunk versions away), but instead include the versions of individual
features using a separate mechanism.
2015-08-01 12:26:22 +01:00
rubidium
4c6c4677fa (svn r26591) -Add: some instrumentation to catch most cases where the wrong number of bytes would be written into variables during loading (or read during saving) 2014-05-16 17:41:55 +00:00
rubidium
46792e58dd (svn r26591) -Add: some instrumentation to catch most cases where the wrong number of bytes would be written into variables during loading (or read during saving) 2014-05-16 17:41:55 +00:00
frosch
c1283e7dfd (svn r25702) -Add: about 3000 years of savegame compatibility. 2013-08-08 19:01:02 +00:00
frosch
b0a063ed77 (svn r25702) -Add: about 3000 years of savegame compatibility. 2013-08-08 19:01:02 +00:00
rubidium
6515371cf5 (svn r25258) -Codechange: save linkgraph (fonsinchen) 2013-05-19 14:17:02 +00:00
rubidium
0cc3d8df4b (svn r25258) -Codechange: save linkgraph (fonsinchen) 2013-05-19 14:17:02 +00:00
truebrain
2b381d0765 (svn r23603) -Add: support for control commands in strings, in both network and safe/load (Rubidium) 2011-12-19 20:50:44 +00:00
truebrain
5cda1d7c90 (svn r23603) -Add: support for control commands in strings, in both network and safe/load (Rubidium) 2011-12-19 20:50:44 +00:00
rubidium
3d605f6488 (svn r23595) -Codechange: add comma after last enum to get a more uniform coding style 2011-12-19 17:48:04 +00:00
rubidium
df16ebd730 (svn r23595) -Codechange: add comma after last enum to get a more uniform coding style 2011-12-19 17:48:04 +00:00
rubidium
215452b911 (svn r23195) -Codechange: if we really need to cast away constness, use const_cast 2011-11-12 08:37:12 +00:00
rubidium
c9a7f572ec (svn r23195) -Codechange: if we really need to cast away constness, use const_cast 2011-11-12 08:37:12 +00:00
frosch
7337332026 (svn r22880) -Cleanup: SIZE_MAX is now defined in stdafx.h 2011-09-03 12:17:36 +00:00
frosch
275a394bc1 (svn r22880) -Cleanup: SIZE_MAX is now defined in stdafx.h 2011-09-03 12:17:36 +00:00
terkhen
7e0daae1ec (svn r22567) -Codechange: Store persistent storages inside a pool. 2011-06-12 20:47:45 +00:00
terkhen
00e5c1df18 (svn r22567) -Codechange: Store persistent storages inside a pool. 2011-06-12 20:47:45 +00:00
rubidium
2a7912d415 (svn r22198) -Codechange: make some constants name more explicit 2011-03-05 11:16:44 +00:00
rubidium
e48967541a (svn r22198) -Codechange: make some constants name more explicit 2011-03-05 11:16:44 +00:00