From e0ba6550d2885ccfade874679fa792648df416f5 Mon Sep 17 00:00:00 2001 From: rubidium Date: Sat, 28 Aug 2010 18:28:34 +0000 Subject: (svn r20658) -Codechange: add the colour of an object to the object instance --- src/saveload/afterload.cpp | 9 +++++++++ src/saveload/object_sl.cpp | 1 + 2 files changed, 10 insertions(+) (limited to 'src/saveload') diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp index 95a379c9d..f636c0cc8 100644 --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -2279,6 +2279,15 @@ bool AfterLoadGame() } } + /* Add (random) colour to all objects. */ + if (CheckSavegameVersion(148)) { + Object *o; + FOR_ALL_OBJECTS(o) { + Owner owner = GetTileOwner(o->location.tile); + o->colour = (owner == OWNER_NONE) ? Random() & 0xF : Company::Get(owner)->livery->colour1; + } + } + /* Road stops is 'only' updating some caches */ AfterLoadRoadStops(); AfterLoadLabelMaps(); diff --git a/src/saveload/object_sl.cpp b/src/saveload/object_sl.cpp index 6218eea1e..586c12a33 100644 --- a/src/saveload/object_sl.cpp +++ b/src/saveload/object_sl.cpp @@ -22,6 +22,7 @@ static const SaveLoad _object_desc[] = { SLE_VAR(Object, location.h, SLE_FILE_U8 | SLE_VAR_U16), SLE_REF(Object, town, REF_TOWN), SLE_VAR(Object, build_date, SLE_UINT32), + SLE_CONDVAR(Object, colour, SLE_UINT8, 148, SL_MAX_VERSION), SLE_END() }; -- cgit v1.2.3-54-g00ecf