From b2ec4050119d8a2cbfef8a7cdcb7c96051a4b63e Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Sun, 8 Mar 2009 22:51:19 +0000 Subject: [PATCH] Add loading of hard coded icon data in the AtariST version of PN. svn-id: r39247 --- engines/agos/detection_tables.h | 1 + engines/agos/icons.cpp | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/engines/agos/detection_tables.h b/engines/agos/detection_tables.h index 43c225697d5..e752b59ba82 100644 --- a/engines/agos/detection_tables.h +++ b/engines/agos/detection_tables.h @@ -79,6 +79,7 @@ static const AGOSGameDescription gameDescriptions[] = { { { "night.dbm", GAME_BASEFILE, "712c445d8e938956403a759978eab01b", -1}, { "night.txt", GAME_TEXTFILE, "52630ad100f473a2cdc7c699536d6730", -1}, + { "test.prg", GAME_ICONFILE, "0f316bbd7341a98c8d5f27d16fe50524", -1}, { NULL, 0, NULL, 0} }, Common::EN_ANY, diff --git a/engines/agos/icons.cpp b/engines/agos/icons.cpp index 641e79e4a6d..c0ca9c67fe9 100644 --- a/engines/agos/icons.cpp +++ b/engines/agos/icons.cpp @@ -56,6 +56,14 @@ void AGOSEngine::loadIconFile() { decrunchFile(srcBuf, _iconFilePtr, srcSize); free(srcBuf); + } else if (getGameType() == GType_PN && getPlatform() == Common::kPlatformAtariST) { + // The icon data is hard coded in the program file. + _iconFilePtr = (byte *)malloc(15038); + if (_iconFilePtr == NULL) + error("Out of icon memory"); + + in.seek(48414); + in.read(_iconFilePtr, 15038); } else { _iconFilePtr = (byte *)malloc(srcSize); if (_iconFilePtr == NULL)