diff options
author | frosch <frosch@openttd.org> | 2010-06-13 14:15:58 +0000 |
---|---|---|
committer | frosch <frosch@openttd.org> | 2010-06-13 14:15:58 +0000 |
commit | d9b4d92050b90aa1d73d7e5bc3dc54b384b80b5b (patch) | |
tree | bf7bd3cd00819f0d463df43e799fae37af307351 /src/saveload/newgrf_sl.cpp | |
parent | 16618e6f16cf2a8fbb165b8c7c6e245e6cd7a298 (diff) | |
download | openttd-d9b4d92050b90aa1d73d7e5bc3dc54b384b80b5b.tar.xz |
(svn r19981) -Add: Read NewGRF configuration during SL_LOAD_CHECK.
Diffstat (limited to 'src/saveload/newgrf_sl.cpp')
-rw-r--r-- | src/saveload/newgrf_sl.cpp | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/saveload/newgrf_sl.cpp b/src/saveload/newgrf_sl.cpp index 8dbebcce5..735306c3c 100644 --- a/src/saveload/newgrf_sl.cpp +++ b/src/saveload/newgrf_sl.cpp @@ -14,6 +14,7 @@ #include "../core/bitmath_func.hpp" #include "../core/alloc_func.hpp" #include "../gfx_func.h" +#include "../fios.h" #include "saveload.h" @@ -40,20 +41,30 @@ static void Save_NGRF() } -static void Load_NGRF() +static void Load_NGRF_common(GRFConfig *&grfconfig) { - ClearGRFConfigList(&_grfconfig); + ClearGRFConfigList(&grfconfig); while (SlIterateArray() != -1) { GRFConfig *c = new GRFConfig(); SlObject(c, _grfconfig_desc); if (CheckSavegameVersion(101)) c->windows_paletted = (_use_palette == PAL_WINDOWS); - AppendToGRFConfigList(&_grfconfig, c); + AppendToGRFConfigList(&grfconfig, c); } +} + +static void Load_NGRF() +{ + Load_NGRF_common(_grfconfig); /* Append static NewGRF configuration */ AppendStaticGRFConfigs(&_grfconfig); } +static void Check_NGRF() +{ + Load_NGRF_common(_load_check_data.grfconfig); +} + extern const ChunkHandler _newgrf_chunk_handlers[] = { - { 'NGRF', Save_NGRF, Load_NGRF, NULL, NULL, CH_ARRAY | CH_LAST } + { 'NGRF', Save_NGRF, Load_NGRF, NULL, Check_NGRF, CH_ARRAY | CH_LAST } }; |