[Scummvm-git-logs] scummvm master -> fbc32bf2e086b88f40b0ba7695c1629be2f51bfe
eriktorbjorn
noreply at scummvm.org
Mon Jun 16 19:10:07 UTC 2025
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
fbc32bf2e0 AWE: Attempt to fix the Amiga level codes (bug #16020)
Commit: fbc32bf2e086b88f40b0ba7695c1629be2f51bfe
https://github.com/scummvm/scummvm/commit/fbc32bf2e086b88f40b0ba7695c1629be2f51bfe
Author: Torbjörn Andersson (eriktorbjorn at users.sourceforge.net)
Date: 2025-06-16T21:10:02+02:00
Commit Message:
AWE: Attempt to fix the Amiga level codes (bug #16020)
The Amiga (and, judging by YouTube, Atari ST) versions of the game do
not use the same level codes as the DOS version, so make a separate
string table for those. I have no idea about other versions.
Changed paths:
engines/awe/static_res.cpp
engines/awe/video.cpp
engines/awe/video.h
diff --git a/engines/awe/static_res.cpp b/engines/awe/static_res.cpp
index 6ad3fbe4908..0610177954e 100644
--- a/engines/awe/static_res.cpp
+++ b/engines/awe/static_res.cpp
@@ -121,6 +121,16 @@ const uint8 Gfx::FONT[] = {
0x38, 0x44, 0x82, 0x82, 0x44, 0x28, 0xEE, 0x00, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA
};
+const StrEntry Video::STRINGS_TABLE_AMIGA_CODES[] = {
+ { 0x15E, "EDJI" }, { 0x15F, "HICI" }, { 0x160, "FLLD" },
+ { 0x161, "EDIL" }, { 0x162, "FADK" }, { 0x163, "CCAL" },
+ { 0x164, "LIBC" }, { 0x165, "KCIJ" }, { 0x166, "LDCI" },
+ { 0x167, "ICAH" }, { 0x168, "LDIJ" }, { 0x169, "LALD" },
+ { 0x16A, "KJIA" }, { 0x16B, "LFEK" }, { 0x16C, "FLAK" },
+ { 0x16D, "LAEA" }, { 0x16E, "FIEI" }, { 0x16F, "GABK" },
+ { 0x170, "KCGB" }, { 0xFFFF, nullptr }
+};
+
const StrEntry Video::STRINGS_TABLE_FR[] = {
{ 0x001, "P E A N U T 3000" },
{ 0x002, "Copyright } 1990 Peanut Computer, Inc.\nAll rights reserved.\n\nCDOS Version 5.01" },
diff --git a/engines/awe/video.cpp b/engines/awe/video.cpp
index ae953d70fe4..7df967d68b6 100644
--- a/engines/awe/video.cpp
+++ b/engines/awe/video.cpp
@@ -322,7 +322,12 @@ void Video::drawString(uint8 color, uint16 x, uint16 y, uint16 strId) {
} else if (_res->getDataType() == DT_ATARI_DEMO && strId == 0x194) {
str = _str0x194AtariDemo;
} else {
- str = findString(_stringsTable, strId);
+ if (_res->getDataType() == DT_AMIGA || _res->getDataType() == DT_ATARI) {
+ str = findString(STRINGS_TABLE_AMIGA_CODES, strId);
+ }
+ if (!str) {
+ str = findString(_stringsTable, strId);
+ }
if (!str && _res->getDataType() == DT_DOS) {
str = findString(STRINGS_TABLE_DEMO, strId);
}
diff --git a/engines/awe/video.h b/engines/awe/video.h
index afa18e280fa..fcf87a353af 100644
--- a/engines/awe/video.h
+++ b/engines/awe/video.h
@@ -42,6 +42,7 @@ struct Video {
BITMAP_H = 200
};
+ static const StrEntry STRINGS_TABLE_AMIGA_CODES[];
static const StrEntry STRINGS_TABLE_FR[];
static const StrEntry STRINGS_TABLE_ENG[];
static const StrEntry STRINGS_TABLE_DEMO[];
More information about the Scummvm-git-logs
mailing list