summaryrefslogtreecommitdiff
path: root/src/saveload.h
diff options
context:
space:
mode:
authorpeter1138 <peter1138@openttd.org>2007-04-20 07:51:20 +0000
committerpeter1138 <peter1138@openttd.org>2007-04-20 07:51:20 +0000
commita8350e5fdf4e11599bfadfed80775aa6639b1322 (patch)
treecca0af6ff3bc97dae1130c9e7f8fd1ce62648d75 /src/saveload.h
parent20f22f021c3e47f57377b5a76811d078ea42317e (diff)
downloadopenttd-a8350e5fdf4e11599bfadfed80775aa6639b1322.tar.xz
(svn r9682) -Codechange: Add support for saving/loading std::lists containing object references (REF_*)
Diffstat (limited to 'src/saveload.h')
-rw-r--r--src/saveload.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/saveload.h b/src/saveload.h
index 9148ab5a5..7589db5f2 100644
--- a/src/saveload.h
+++ b/src/saveload.h
@@ -159,6 +159,7 @@ enum SaveLoadTypes {
SL_REF = 1,
SL_ARR = 2,
SL_STR = 3,
+ SL_LST = 4,
// non-normal save-load types
SL_WRITEBYTE = 8,
SL_INCLUDE = 9,
@@ -190,11 +191,13 @@ typedef SaveLoad SaveLoadGlobVarList;
#define SLE_CONDREF(base, variable, type, from, to) SLE_GENERAL(SL_REF, base, variable, type, 0, from, to)
#define SLE_CONDARR(base, variable, type, length, from, to) SLE_GENERAL(SL_ARR, base, variable, type, length, from, to)
#define SLE_CONDSTR(base, variable, type, length, from, to) SLE_GENERAL(SL_STR, base, variable, type, length, from, to)
+#define SLE_CONDLST(base, variable, type, from, to) SLE_GENERAL(SL_LST, base, variable, type, 0, from, to)
#define SLE_VAR(base, variable, type) SLE_CONDVAR(base, variable, type, 0, SL_MAX_VERSION)
#define SLE_REF(base, variable, type) SLE_CONDREF(base, variable, type, 0, SL_MAX_VERSION)
#define SLE_ARR(base, variable, type, length) SLE_CONDARR(base, variable, type, length, 0, SL_MAX_VERSION)
#define SLE_STR(base, variable, type, length) SLE_CONDSTR(base, variable, type, length, 0, SL_MAX_VERSION)
+#define SLE_LST(base, variable, type) SLE_CONDLST(base, variable, type, 0, SL_MAX_VERSION)
#define SLE_CONDNULL(length, from, to) SLE_CONDARR(NullStruct, null, SLE_FILE_U8 | SLE_VAR_NULL | SLF_CONFIG_NO, length, from, to)
@@ -224,11 +227,13 @@ typedef SaveLoad SaveLoadGlobVarList;
#define SLEG_CONDREF(variable, type, from, to) SLEG_GENERAL(SL_REF, variable, type, 0, from, to)
#define SLEG_CONDARR(variable, type, length, from, to) SLEG_GENERAL(SL_ARR, variable, type, length, from, to)
#define SLEG_CONDSTR(variable, type, length, from, to) SLEG_GENERAL(SL_STR, variable, type, length, from, to)
+#define SLEG_CONDLST(variable, type, from, to) SLEG_GENERAL(SL_LST, variable, type, 0, from, to)
#define SLEG_VAR(variable, type) SLEG_CONDVAR(variable, type, 0, SL_MAX_VERSION)
#define SLEG_REF(variable, type) SLEG_CONDREF(variable, type, 0, SL_MAX_VERSION)
#define SLEG_ARR(variable, type) SLEG_CONDARR(variable, type, lengthof(variable), 0, SL_MAX_VERSION)
#define SLEG_STR(variable, type) SLEG_CONDSTR(variable, type, lengthof(variable), 0, SL_MAX_VERSION)
+#define SLEG_LST(variable, type) SLEG_CONDLST(variable, type, 0, SL_MAX_VERSION)
#define SLEG_CONDNULL(length, from, to) {SL_ARR, SLE_FILE_U8 | SLE_VAR_NULL | SLF_CONFIG_NO, length, from, to, (void*)NULL}