From dba4084c8abc4f49cce01d08216187f0138a0503 Mon Sep 17 00:00:00 2001 From: Sven Hesse Date: Sun, 16 Mar 2014 16:40:08 +0100 Subject: GOB: Calculate _totResStart even if no resources follow It's also used as a base offset for TOT strings. This fixes a crash in the Amiga version of Bargon Attack. --- engines/gob/resources.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/engines/gob/resources.cpp b/engines/gob/resources.cpp index ac2deadd5f..dbed825977 100644 --- a/engines/gob/resources.cpp +++ b/engines/gob/resources.cpp @@ -209,6 +209,7 @@ void Resources::unload(bool del) { _totResourceTable = 0; _extResourceTable = 0; _totTextTable = 0; + _totResStart = 0; _totData = 0; _totSize = 0; _imData = 0; @@ -233,6 +234,8 @@ bool Resources::loadTOTResourceTable() { if (!stream) return false; + _totResStart = totProps.scriptEnd; + if ((totProps.resourcesOffset == 0xFFFFFFFF) || (totProps.resourcesOffset == 0)) // No resources here @@ -271,7 +274,6 @@ bool Resources::loadTOTResourceTable() { item.type = kResourceTOT; } - _totResStart = totProps.scriptEnd; _totSize = stream->size() - _totResStart; if (_totSize <= 0) -- cgit v1.2.3