[Scummvm-git-logs] scummvm master -> d8c4ed4d9c1a799c532a9975c0c8167db2ed0315

dreammaster dreammaster at scummvm.org
Tue Apr 13 01:33:55 UTC 2021


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
d8c4ed4d9c ACCESS: Support Amazon Spanish in access.dat R/W


Commit: d8c4ed4d9c1a799c532a9975c0c8167db2ed0315
    https://github.com/scummvm/scummvm/commit/d8c4ed4d9c1a799c532a9975c0c8167db2ed0315
Author: Francisco Javier Diéguez Tirado (javi.dieguez at gmail.com)
Date: 2021-04-12T18:33:53-07:00

Commit Message:
ACCESS: Support Amazon Spanish in access.dat R/W

I assume we want to use stable language codes in access/resources.cpp
even if language.h keeps changing, so I've used language code "23" for
ES_ESP since this was the enum value in language.h the last time
access.dat was generated.

Note: we still need access.dat to be regenerated for the game to work,
but create_access should now be able to extract the needed info
from the Spanish version of AMAZON.EXE and the game should run fine
afterwards.

Changed paths:
    devtools/create_access/create_access_dat.cpp
    engines/access/resources.cpp


diff --git a/devtools/create_access/create_access_dat.cpp b/devtools/create_access/create_access_dat.cpp
index fa00a3139b..f0abdca9b1 100644
--- a/devtools/create_access/create_access_dat.cpp
+++ b/devtools/create_access/create_access_dat.cpp
@@ -231,7 +231,7 @@ bool processExecutable(int exeIdx, const char *name) {
 	const char *const *itemNames;
 	const int *comboTable;
 	byte gameId = 0, discType = 0, demoType = 0;
-	byte language = Common::EN_ANY;
+	byte language = 5; //old Common::EN_ANY;
 
 	// Open up the file for access
 	File exeFile;
@@ -268,6 +268,28 @@ bool processExecutable(int exeIdx, const char *name) {
 		comboTable = &Amazon::COMBO_TABLE[0][0];
 		break;
 
+	case 12012:
+		// Amazon Spanish floppy
+		language = 23; //old Common::ES_ESP;
+		gameId = 1;
+		dataSegmentOffset = 0xC8C0;
+		filenamesOffset = dataSegmentOffset + 0x3628 + 0x128;
+		numFilenames = 100;
+		charsStart = dataSegmentOffset + 0x4234 + 0x128;
+		charsEnd = dataSegmentOffset + 0x49c6 + 0x128;
+		roomsStart = dataSegmentOffset + 0x35a8 + 0x128;
+		roomsEnd = dataSegmentOffset + 0x4234 + 0x128;
+		travelPosOffset = dataSegmentOffset + 0x5ff7 + 0x128 + 0x2b;
+		numRooms = 64;
+		roomDescs = &Amazon::ROOM_DESCR[0];
+		deathScreens = Amazon::DEATH_SCREENS_ENG;
+		deathText = &Amazon::DEATH_TEXT_ENG[0];
+		numDeaths = sizeof(Amazon::DEATH_SCREENS_ENG);
+		numItems = 85;
+		itemNames = &Amazon::INVENTORY_NAMES_ENG[0];
+		comboTable = &Amazon::COMBO_TABLE[0][0];
+		break;
+
 	case 12360:
 		// Amazon CD English
 		gameId = 1;
diff --git a/engines/access/resources.cpp b/engines/access/resources.cpp
index 5c2656778b..f405d65127 100644
--- a/engines/access/resources.cpp
+++ b/engines/access/resources.cpp
@@ -79,6 +79,9 @@ bool Resources::load(Common::U32String &errorMessage) {
 		case 5:
 			_datIndex[idx]._language = Common::EN_ANY;
 			break;
+		case 23:
+			_datIndex[idx]._language = Common::ES_ESP;
+			break;
 		default:
 			error("Unknown language");
 			break;




More information about the Scummvm-git-logs mailing list