[Scummvm-git-logs] scummvm master -> 6706c3be6573c00faa753abd23485f851a213a77
mduggan
noreply at scummvm.org
Tue Mar 14 07:03:45 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:
6706c3be65 TETRAEDGE: Add can-start-game level support for iOS Syberia
Commit: 6706c3be6573c00faa753abd23485f851a213a77
https://github.com/scummvm/scummvm/commit/6706c3be6573c00faa753abd23485f851a213a77
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2023-03-14T16:03:35+09:00
Commit Message:
TETRAEDGE: Add can-start-game level support for iOS Syberia
Changed paths:
engines/tetraedge/detection_tables.h
engines/tetraedge/game/lua_binds.cpp
engines/tetraedge/game/notifier.cpp
engines/tetraedge/te/te_core.cpp
engines/tetraedge/tetraedge.cpp
engines/tetraedge/tetraedge.h
diff --git a/engines/tetraedge/detection_tables.h b/engines/tetraedge/detection_tables.h
index 65633e18902..d9578d1b07d 100644
--- a/engines/tetraedge/detection_tables.h
+++ b/engines/tetraedge/detection_tables.h
@@ -42,6 +42,18 @@ const ADGameDescription GAME_DESCRIPTIONS[] = {
GUIO1(GAMEOPTION_CORRECT_MOVIE_ASPECT)
},
+ // iOS release v1.1.3
+ {
+ "syberia",
+ nullptr,
+ AD_ENTRY1s("Syberia", "d:be658efbcf4541f56b656f92a05d271a", 15821120),
+ Common::UNK_LANG,
+ Common::kPlatformIOS,
+ ADGF_TESTING,
+ GUIO1(GAMEOPTION_CORRECT_MOVIE_ASPECT)
+ },
+
+
// GOG release
{
"syberia2",
diff --git a/engines/tetraedge/game/lua_binds.cpp b/engines/tetraedge/game/lua_binds.cpp
index 10919264cb5..df3d001c2fb 100644
--- a/engines/tetraedge/game/lua_binds.cpp
+++ b/engines/tetraedge/game/lua_binds.cpp
@@ -106,11 +106,20 @@ static int tolua_ExportedFunctions_PlayMovie00(lua_State *L) {
return 0;
} else if (tolua_isstring(L, 1, 0, &err) && tolua_isstring(L, 2, 0, &err)
&& tolua_isnumber(L, 3, 1, &err) && tolua_isnoobj(L, 4, &err)) {
+ // Syberia II macOS - includes volume
Common::String s1(tolua_tostring(L, 1, nullptr));
Common::String s2(tolua_tostring(L, 2, nullptr));
double d1 = tolua_tonumber(L, 3, 1.0);
PlayMovie(s1, s2, d1);
return 0;
+ } else if (tolua_isstring(L, 1, 0, &err) && tolua_isstring(L, 2, 0, &err)
+ && tolua_isstring(L, 3, 0, &err) && tolua_isnoobj(L, 4, &err)) {
+ // iOS version.. sometimes has "video" as 3rd param?
+ Common::String s1(tolua_tostring(L, 1, nullptr));
+ Common::String s2(tolua_tostring(L, 2, nullptr));
+ Common::String s3(tolua_tostring(L, 2, nullptr));
+ PlayMovie(s1, s2);
+ return 0;
}
error("#ferror in function 'PlayMovie': %d %d %s", err.index, err.array, err.type);
}
diff --git a/engines/tetraedge/game/notifier.cpp b/engines/tetraedge/game/notifier.cpp
index c8dd1c53f4d..32c1fb5da71 100644
--- a/engines/tetraedge/game/notifier.cpp
+++ b/engines/tetraedge/game/notifier.cpp
@@ -77,7 +77,7 @@ void Notifier::launchNextnotifier() {
void Notifier::load() {
_gui.load("menus/Notifier.lua");
- TeLayout *notifierLayout = _gui.layout("notifier");
+ TeLayout *notifierLayout = _gui.layoutChecked("notifier");
Game *game = g_engine->getGame();
game->addNoScale2Child(notifierLayout);
notifierLayout->setVisible(false);
diff --git a/engines/tetraedge/te/te_core.cpp b/engines/tetraedge/te/te_core.cpp
index ac4e41525a1..9391672f2e4 100644
--- a/engines/tetraedge/te/te_core.cpp
+++ b/engines/tetraedge/te/te_core.cpp
@@ -145,7 +145,8 @@ Common::FSNode TeCore::findFile(const Common::Path &path) const {
const Common::FSNode gameRoot(ConfMan.get("path"));
if (!gameRoot.isDirectory())
error("Game directory should be a directory");
- const Common::FSNode resNode = gameRoot.getChild("Resources");
+ const Common::FSNode resNode = (g_engine->getGamePlatform() == Common::kPlatformMacintosh
+ ? gameRoot.getChild("Resources") : gameRoot);
if (!resNode.isDirectory())
error("Resources directory should exist in game");
@@ -169,7 +170,14 @@ Common::FSNode TeCore::findFile(const Common::Path &path) const {
"Part2-Full-Part1",
"Part3-Full-Part1",
"HD",
- "HD/PC-MacOSX-Xbox360-PS3"
+ "HD/PC-MacOSX-Xbox360-PS3",
+ "PC-PS3-Android-MacOSX-iPhone-iPad", // for iOS Syb 1
+ "Android-iPhone-iPad", // for iOS Syb 1
+ "Android-iPhone-iPad/HD", // for iOS Syb 1
+ "HD/Android-iPhone-iPad", // for iOS Syb 1
+ "iPhone-iPad", // for iOS Syb 1
+ "iPhone-iPad/HD", // for iOS Syb 1
+ "iPhone-iPad/HD/Freemium" // for iOS Syb 1
};
const Common::Path langs[] = {
diff --git a/engines/tetraedge/tetraedge.cpp b/engines/tetraedge/tetraedge.cpp
index 3233689f672..cb75ac7dde8 100644
--- a/engines/tetraedge/tetraedge.cpp
+++ b/engines/tetraedge/tetraedge.cpp
@@ -138,6 +138,10 @@ Common::Language TetraedgeEngine::getGameLanguage() const {
return _gameDescription->language;
}
+Common::Platform TetraedgeEngine::getGamePlatform() const {
+ return _gameDescription->platform;
+}
+
bool TetraedgeEngine::canLoadGameStateCurrently() {
return _game && _application && !_application->mainMenu().isEntered();
}
@@ -177,7 +181,8 @@ Common::Error TetraedgeEngine::loadGameStream(Common::SeekableReadStream *stream
void TetraedgeEngine::configureSearchPaths() {
const Common::FSNode gameDataDir(ConfMan.get("path"));
- SearchMan.addSubDirectoryMatching(gameDataDir, "Resources", 0, 5);
+ if (_gameDescription->platform != Common::kPlatformIOS)
+ SearchMan.addSubDirectoryMatching(gameDataDir, "Resources", 0, 5);
}
int TetraedgeEngine::getDefaultScreenWidth() const {
diff --git a/engines/tetraedge/tetraedge.h b/engines/tetraedge/tetraedge.h
index 8adafa938c4..616b5242977 100644
--- a/engines/tetraedge/tetraedge.h
+++ b/engines/tetraedge/tetraedge.h
@@ -88,6 +88,8 @@ public:
Common::Language getGameLanguage() const;
+ Common::Platform getGamePlatform() const;
+
/**
* Gets a random number
*/
More information about the Scummvm-git-logs
mailing list