[Scummvm-git-logs] scummvm master -> 0cd468d0a4b697ae40268f018fb8f1f8a33e90d1

whoozle noreply at scummvm.org
Fri Sep 4 08:01:04 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:
0cd468d0a4 PHOENIXVR: Add initial support for the Pharaoh's Curse demo


Commit: 0cd468d0a4b697ae40268f018fb8f1f8a33e90d1
    https://github.com/scummvm/scummvm/commit/0cd468d0a4b697ae40268f018fb8f1f8a33e90d1
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2026-09-04T09:00:51+01:00

Commit Message:
PHOENIXVR: Add initial support for the Pharaoh's Curse demo

Changed paths:
    engines/phoenixvr/commands_v2.cpp
    engines/phoenixvr/detection_tables.h
    engines/phoenixvr/phoenixvr.cpp


diff --git a/engines/phoenixvr/commands_v2.cpp b/engines/phoenixvr/commands_v2.cpp
index 99b2a89df40..5974a89c82b 100644
--- a/engines/phoenixvr/commands_v2.cpp
+++ b/engines/phoenixvr/commands_v2.cpp
@@ -347,6 +347,8 @@ struct Set_Jump_Key : public Command {
 			key = 0;
 		else if (keyName == "_KEY_RIGHT_CLIC")
 			key = 12;
+		else if (keyName == "_KEY_Q" || keyName == "_KEY_SPACE")
+			warning("unhandled key name: %s", keyName.c_str());
 		else
 			error("unhandled key name: %s", keyName.c_str());
 	}
diff --git a/engines/phoenixvr/detection_tables.h b/engines/phoenixvr/detection_tables.h
index 8d991830ff3..b85d0cd9a4a 100644
--- a/engines/phoenixvr/detection_tables.h
+++ b/engines/phoenixvr/detection_tables.h
@@ -653,6 +653,17 @@ const ADGameDescription gameDescriptions[] = {
 		ADGF_DROPPLATFORM | ADGF_CD | PHOENIXVR_V2 | ADGF_UNSTABLE,
 		GUIO1(GUIO_NONE)
 	},
+	{"pharaoncurse",
+		"Demo",
+		AD_ENTRY2s(
+			"script.lst", "5a80c5ba5d3223dd14553964e96f1613", 45038,
+			"L0P01R01S00.vr", "e20f37ea406b2ad7baac42f45d1bd6af", 16245
+		),
+		Common::EN_ANY,
+		Common::kPlatformWindows,
+		ADGF_DROPPLATFORM | ADGF_DEMO | PHOENIXVR_V2 | ADGF_UNSTABLE,
+		GUIO1(GUIO_NONE)
+	},
 
 	AD_TABLE_END_MARKER
 };
diff --git a/engines/phoenixvr/phoenixvr.cpp b/engines/phoenixvr/phoenixvr.cpp
index 3b40c8d109f..5395a65f0e3 100644
--- a/engines/phoenixvr/phoenixvr.cpp
+++ b/engines/phoenixvr/phoenixvr.cpp
@@ -319,9 +319,10 @@ PhoenixVREngine::PhoenixVREngine(OSystem *syst, const ADGameDescription *gameDes
 		setNextLevel();
 	} else if (gameIdMatches("pharaoncurse")) {
 		Common::INIFile file;
-		Common::ScopedPtr<Common::SeekableReadStream> stream(open("pharaohs.wbm"));
+		Common::String filename((_gameDescription->flags & ADGF_DEMO) ? "demo.wbm" : "pharaohs.wbm");
+		Common::ScopedPtr<Common::SeekableReadStream> stream(open(filename));
 		if (!stream || !file.loadFromStream(*stream))
-			error("can't open install/pharaohs.wbm");
+			error("can't open %s", filename.c_str());
 		Common::String strNumLevels;
 		if (!file.getKey("LEVELS", "GAME", strNumLevels))
 			error("can't find levels number");
@@ -336,7 +337,7 @@ PhoenixVREngine::PhoenixVREngine(OSystem *syst, const ADGameDescription *gameDes
 				error("no path in level section");
 			if (!file.getKey("NAME", Common::String::format("LEVEL_%d", i), name))
 				error("no name in level section");
-			if (media == "HD")
+			if (media == "HD" && !(_gameDescription->flags & ADGF_DEMO))
 				path = "install\\" + path;
 			debug("adding level %s %s", path.c_str(), name.c_str());
 			_levels.push_back(Level{path, name});




More information about the Scummvm-git-logs mailing list