From dd87aaf864fc0690c4bb524f086a20dde5b7eefa Mon Sep 17 00:00:00 2001 From: Buginator Date: Sat, 21 Aug 2010 00:24:36 +0000 Subject: [PATCH] Try to continue loading if we detected a bad ID. fixes ticket:2100 git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/branches/2.3@11500 4a71c877-e1ca-e34f-864e-861f7616d084 (cherry picked from commit bef4eb0f8d5312961ac6b110ece6552fe1098e51) --- src/game.c | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/src/game.c b/src/game.c index f9bacad7b..175fdbdd5 100644 --- a/src/game.c +++ b/src/game.c @@ -8233,16 +8233,16 @@ BOOL loadStructSetPointers(void) } else { - if (list == 1) //ie offWorld - { - //don't need to worry about the Flag - ((FACTORY *)psStruct->pFunctionality)->psCommander = - psCommander; - } - else - { - assignFactoryCommandDroid(psStruct, psCommander); - } + if (list == 1) //ie offWorld + { + //don't need to worry about the Flag + ((FACTORY *)psStruct->pFunctionality)->psCommander = + psCommander; + } + else + { + assignFactoryCommandDroid(psStruct, psCommander); + } } } else @@ -8260,6 +8260,11 @@ BOOL loadStructSetPointers(void) else { psRepair->psObj = getBaseObjFromId(_tmpid); + if (!psRepair->psObj) + { + ASSERT(psRepair->psObj, "Can't find object from ID %x", _tmpid); + break; + } ASSERT(psRepair->psObj->type == OBJ_DROID, "%s cannot repair %s", objInfo((BASE_OBJECT *)psStruct), objInfo(psRepair->psObj)); //if the build has started set the powerAccrued =