[Scummvm-git-logs] scummvm master -> f5007dae8d10d3f0f4c51283a6c96ec566befd86
moralrecordings
noreply at scummvm.org
Mon Sep 14 16:17:38 UTC 2026
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:
f5007dae8d FOOL: Add new v2.0.1 variant of Fool's Errand
Commit: f5007dae8d10d3f0f4c51283a6c96ec566befd86
https://github.com/scummvm/scummvm/commit/f5007dae8d10d3f0f4c51283a6c96ec566befd86
Author: Scott Percival (code at moral.net.au)
Date: 2026-09-15T00:09:40+08:00
Commit Message:
FOOL: Add new v2.0.1 variant of Fool's Errand
Changed paths:
engines/fool/detection_tables.h
engines/fool/fool.cpp
engines/fool/fool.h
engines/fool/fool_finale.cpp
engines/fool/fool_game.cpp
diff --git a/engines/fool/detection_tables.h b/engines/fool/detection_tables.h
index 6d990b8d645..283d0ecdd7e 100644
--- a/engines/fool/detection_tables.h
+++ b/engines/fool/detection_tables.h
@@ -43,6 +43,7 @@ const ADGameDescription gameDescriptions[] = {
},
// The Fool's Errand - Version 2.0 (1988-07-25)
+ // Last modified 1988-09-13
{
"foolserrand",
"v2.0",
@@ -53,6 +54,18 @@ const ADGameDescription gameDescriptions[] = {
GUIO1(GUIO_NONE)
},
+ // The Fool's Errand - Version 2.0 (1988-07-25)
+ // Last modified 1989-03-03 - has lowercase filenames, "vers" tag, different string table
+ {
+ "foolserrand",
+ "v2.0.1",
+ AD_ENTRY1s("the fool's errand", "rt:89c3a866c26db6c0716e50a5e98322e8", 178715),
+ Common::EN_ANY,
+ Common::kPlatformMacintosh,
+ ADGF_UNSTABLE,
+ GUIO1(GUIO_NONE)
+ },
+
// The Fool's Errand - Version 3.0 (1998-04-01)
{
"foolserrand",
diff --git a/engines/fool/fool.cpp b/engines/fool/fool.cpp
index f1756f30a63..3a3f4696374 100644
--- a/engines/fool/fool.cpp
+++ b/engines/fool/fool.cpp
@@ -69,6 +69,8 @@ Common::Error FoolEngine::run() {
version = kFool11;
} else if (versionStr == "v2.0") {
version = kFool20;
+ } else if (versionStr == "v2.0.1") {
+ version = kFool201;
} else if (versionStr == "v3.0") {
version = kFool30;
}
diff --git a/engines/fool/fool.h b/engines/fool/fool.h
index 5a2b5039004..d31e91d5975 100644
--- a/engines/fool/fool.h
+++ b/engines/fool/fool.h
@@ -46,8 +46,9 @@ struct FoolGameDescription;
enum FoolVersion {
kFool11 = 1,
kFool20 = 2,
- kFool30 = 4,
- kFoolDemo10 = 8,
+ kFool201 = 4,
+ kFool30 = 8,
+ kFoolDemo10 = 16,
};
class FoolEngine : public Engine {
diff --git a/engines/fool/fool_finale.cpp b/engines/fool/fool_finale.cpp
index 1659099a700..d2d884f8973 100644
--- a/engines/fool/fool_finale.cpp
+++ b/engines/fool/fool_finale.cpp
@@ -63,7 +63,7 @@ void FoolPrologue::finaleRun() {
}
}
// 131:00e6
- for (int i = 6; i <= 9; i++) {
+ for (int16 i = 6; i <= 9; i++) {
setPortBitsToPage(i);
fillRect(0, 0, SCREEN_HEIGHT, SCREEN_WIDTH, 0);
// 131:0110
@@ -240,7 +240,7 @@ void FoolPrologue::finaleRun() {
finaleDrawWind(windCount);
}
// 131:07ea
- for (int i = 1; i <= windCount; i++) {
+ for (int16 i = 1; i <= windCount; i++) {
finaleDrawWind(i);
_rain[i].xPos += _rain[i].veloc;
diff --git a/engines/fool/fool_game.cpp b/engines/fool/fool_game.cpp
index 2757217eb35..5de97f4ec11 100644
--- a/engines/fool/fool_game.cpp
+++ b/engines/fool/fool_game.cpp
@@ -41,6 +41,7 @@ namespace Fool {
// v1.1 - original release, single-density disks, different about menu
// v2.0 - fixes full-screen rendering on higher-resolution displays, new about menu, can disable sounds
+// v2.0.1 - labelled as v2.0, but was recompiled and has slight changes. Has a "vers" tag in the resource fork and lowercase filenames.
// v3.0 - newer ZBasic, changed a few graphics assets, removed custom menu font and sounds for compatibility
@@ -54,6 +55,10 @@ static const int fool20ZStrOffset[] = {
102, 78, 103, 191, 207, 209, 213, 215, 223, 260, 279, 301, 336, 362, 345, 18, 22, 6, 3, 0, 0
};
+static const int fool201ZStrOffset[] = {
+ 102, 78, 103, 184, 200, 202, 206, 208, 216, 253, 272, 294, 329, 355, 338, 13, 17, 81, 3, 0, 0
+};
+
static const int fool30ZStrOffset[] = {
97, 73, 98, 161, 177, 179, 183, 185, 193, 230, 251, 273, 308, 334, 317, 8, 12, 76, 3, 0, 0
};
@@ -168,6 +173,9 @@ void FoolGame::run() {
fontChicago = 255;
_cardsMaxScore = 666;
break;
+ case kFool201:
+ _zstrOffset = fool201ZStrOffset;
+ break;
case kFool20:
default:
_zstrOffset = fool20ZStrOffset;
More information about the Scummvm-git-logs
mailing list