[Scummvm-git-logs] scummvm master -> 2022f871a2c853934d6b8f30d704c45b427852bc
sdelamarre
noreply at scummvm.org
Thu Aug 17 04:54:08 UTC 2023
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:
2022f871a2 GOB: Mark Adibou1 CD as 640x400 instead of 640x480
Commit: 2022f871a2c853934d6b8f30d704c45b427852bc
https://github.com/scummvm/scummvm/commit/2022f871a2c853934d6b8f30d704c45b427852bc
Author: Simon Delamarre (simon.delamarre14 at gmail.com)
Date: 2023-08-17T06:51:51+02:00
Commit Message:
GOB: Mark Adibou1 CD as 640x400 instead of 640x480
The game is mostly scaled from the 320x200 version and never makes use of the space beyond height 400, so we can get rid of it.
Changed paths:
engines/gob/detection/detection.h
engines/gob/detection/tables_adibou1.h
engines/gob/gob.cpp
engines/gob/gob.h
engines/gob/inter_v2.cpp
diff --git a/engines/gob/detection/detection.h b/engines/gob/detection/detection.h
index 79225dcb1f0..09d5765f366 100644
--- a/engines/gob/detection/detection.h
+++ b/engines/gob/detection/detection.h
@@ -67,7 +67,8 @@ enum Features {
kFeatures640x480 = 1 << 5,
kFeatures800x600 = 1 << 6,
kFeaturesTrueColor = 1 << 7,
- kFeatures16Colors = 1 << 8
+ kFeatures16Colors = 1 << 8,
+ kFeatures640x400 = 1 << 9,
};
enum AdditionalGameFlags {
diff --git a/engines/gob/detection/tables_adibou1.h b/engines/gob/detection/tables_adibou1.h
index 9bff4dff20b..8e6de57972e 100644
--- a/engines/gob/detection/tables_adibou1.h
+++ b/engines/gob/detection/tables_adibou1.h
@@ -85,7 +85,7 @@
GUIO2(GUIO_NOSUBTITLES, GUIO_NOSPEECH)
},
kGameTypeAdibou1,
- kFeaturesAdLib | kFeatures640x480,
+ kFeaturesAdLib | kFeatures640x400,
0, 0, 0
},
{
@@ -100,7 +100,7 @@
GUIO2(GUIO_NOSUBTITLES, GUIO_NOSPEECH)
},
kGameTypeAdibou1,
- kFeaturesAdLib | kFeatures640x480,
+ kFeaturesAdLib | kFeatures640x400,
0 ,0 , 0
},
diff --git a/engines/gob/gob.cpp b/engines/gob/gob.cpp
index 7e68d44a443..a1ad594b804 100644
--- a/engines/gob/gob.cpp
+++ b/engines/gob/gob.cpp
@@ -213,6 +213,10 @@ bool GobEngine::isBATDemo() const {
return (_features & kFeaturesBATDemo) != 0;
}
+bool GobEngine::is640x400() const {
+ return (_features & kFeatures640x400) != 0;
+}
+
bool GobEngine::is640x480() const {
return (_features & kFeatures640x480) != 0;
}
@@ -702,6 +706,10 @@ Common::Error GobEngine::initGraphics() {
_width = 640;
_height = 480;
_mode = 0x18;
+ } else if (is640x400()) {
+ _width = 640;
+ _height = 400;
+ _mode = 0x18;
} else {
_width = 320;
_height = 200;
diff --git a/engines/gob/gob.h b/engines/gob/gob.h
index 391da5dc3ac..0022d02c7c4 100644
--- a/engines/gob/gob.h
+++ b/engines/gob/gob.h
@@ -210,6 +210,7 @@ public:
bool hasAdLib() const;
bool isSCNDemo() const;
bool isBATDemo() const;
+ bool is640x400() const;
bool is640x480() const;
bool is800x600() const;
bool is16Colors() const;
diff --git a/engines/gob/inter_v2.cpp b/engines/gob/inter_v2.cpp
index a8dc695259e..2171dea79a5 100644
--- a/engines/gob/inter_v2.cpp
+++ b/engines/gob/inter_v2.cpp
@@ -823,6 +823,13 @@ void Inter_v2::o2_initScreen() {
}
}
+ else if (_vm->getGameType() == kGameTypeAdibou1) {
+ if (_vm->is640x400() && width == 640 && height == 480) {
+ // Force height to 400: the game is mostly scaled from the 320x200 version and
+ // never makes use of the space beyond height 400, so we can get rid of it.
+ height = 400;
+ }
+ }
_vm->_global->_fakeVideoMode = videoMode;
More information about the Scummvm-git-logs
mailing list