Mercurial > hg > openttd
changeset 2814:768940415fab draft
(svn r3362) Fix issue with loading old (TTD) savegames:
- move call to convert from old to new train subtypes.
- ensure AI is started for AI players.
author | peter1138 <peter1138@openttd.org> |
---|---|
date | Wed, 04 Jan 2006 20:18:39 +0000 |
parents | d5bd9ee4e23c |
children | 76e0d7970d05 |
files | oldloader.c openttd.c vehicle.c vehicle.h |
diffstat | 4 files changed, 11 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/oldloader.c +++ b/oldloader.c @@ -15,6 +15,8 @@ #include "signs.h" #include "debug.h" #include "depot.h" +#include "network.h" +#include "ai/ai.h" enum { HEADER_SIZE = 49, @@ -1065,6 +1067,9 @@ * to some harmless state, like 'loop vehicle'; 1 */ if (!IS_HUMAN_PLAYER(num) && p->ai.state == 20) p->ai.state = 1; + if (p->is_ai && (!_networking || _network_server) && _ai.enabled) + AI_StartNewAI(p->index); + return true; }
--- a/openttd.c +++ b/openttd.c @@ -1135,6 +1135,10 @@ // Load the sprites GfxLoadSprites(); + /* Connect front and rear engines of multiheaded trains and converts + * subtype to the new format */ + if (CheckSavegameVersionOldStyle(17, 1)) ConvertOldMultiheadToNew(); + // Update current year SetDate(_date);
--- a/vehicle.c +++ b/vehicle.c @@ -2252,7 +2252,7 @@ * Converts all trains to the new subtype format introduced in savegame 16.2 * It also links multiheaded engines or make them forget they are multiheaded if no suitable partner is found */ -static inline void ConvertOldMultiheadToNew(void) +void ConvertOldMultiheadToNew(void) { Vehicle *v; FOR_ALL_VEHICLES(v) { @@ -2396,11 +2396,6 @@ } } } - - /* Connect front and rear engines of multiheaded trains and converts subtype to the new format */ - if (CheckSavegameVersionOldStyle(17, 1)) { - ConvertOldMultiheadToNew(); - } } const ChunkHandler _veh_chunk_handlers[] = {