[Scummvm-git-logs] scummvm master -> 1fd2b573d5f57a548dfe1ef34a4e1a4fa8eda76d

whoozle noreply at scummvm.org
Thu Jul 23 00:38:55 UTC 2026


This automated email contains information about 6 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .

Summary:
636e771b16 PHOENIXVR: Stop script on Go_Back
0a11a10c37 PHOENIXVR: Log lockKey
17a0371d27 PHOENIXVR: Store last VR index and store it in save.
26e6f50a1c PHOENIXVR: Do not restore keys for V2 saves
bb5190e386 PHOENIXVR: Use 32 bit pixel format for V2 games
1fd2b573d5 PHOENIXVR: V2: Fix save thumbnail


Commit: 636e771b163609abd10f86134546b06a769516f1
    https://github.com/scummvm/scummvm/commit/636e771b163609abd10f86134546b06a769516f1
Author: Vladimir Menshakov (vladimir.menshakov at gmail.com)
Date: 2026-07-23T00:22:32+01:00

Commit Message:
PHOENIXVR: Stop script on Go_Back

Changed paths:
    engines/phoenixvr/commands_v2.cpp


diff --git a/engines/phoenixvr/commands_v2.cpp b/engines/phoenixvr/commands_v2.cpp
index 4220ddec1f8..4464a7db3b6 100644
--- a/engines/phoenixvr/commands_v2.cpp
+++ b/engines/phoenixvr/commands_v2.cpp
@@ -55,6 +55,7 @@ struct Go_Back : public Command {
 	Go_Back(const Common::Array<Common::String> &args) {}
 	void exec(ExecutionContext &ctx) const override {
 		g_engine->returnToWarp();
+		ctx.running = false;
 	}
 };
 


Commit: 0a11a10c370964e4749826c9436c01f877626847
    https://github.com/scummvm/scummvm/commit/0a11a10c370964e4749826c9436c01f877626847
Author: Vladimir Menshakov (vladimir.menshakov at gmail.com)
Date: 2026-07-23T00:22:56+01:00

Commit Message:
PHOENIXVR: Log lockKey

Changed paths:
    engines/phoenixvr/phoenixvr.cpp


diff --git a/engines/phoenixvr/phoenixvr.cpp b/engines/phoenixvr/phoenixvr.cpp
index 9690c36bbb4..70501a1fc2e 100644
--- a/engines/phoenixvr/phoenixvr.cpp
+++ b/engines/phoenixvr/phoenixvr.cpp
@@ -1236,6 +1236,7 @@ void PhoenixVREngine::testCible(const Common::String &insideVar, const Common::S
 }
 
 void PhoenixVREngine::lockKey(int idx, const Common::String &warp) {
+	debug("lock key %d %s", idx, warp.c_str());
 	_lockKey[idx] = warp;
 }
 


Commit: 17a0371d27a25323dee612f277a97bc4e010775a
    https://github.com/scummvm/scummvm/commit/17a0371d27a25323dee612f277a97bc4e010775a
Author: Vladimir Menshakov (vladimir.menshakov at gmail.com)
Date: 2026-07-23T00:38:12+01:00

Commit Message:
PHOENIXVR: Store last VR index and store it in save.

This is temporary hack allowing save/load in Pharaon Curse.

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


diff --git a/engines/phoenixvr/phoenixvr.cpp b/engines/phoenixvr/phoenixvr.cpp
index 70501a1fc2e..4e3ec7251d7 100644
--- a/engines/phoenixvr/phoenixvr.cpp
+++ b/engines/phoenixvr/phoenixvr.cpp
@@ -1790,6 +1790,9 @@ void PhoenixVREngine::tick(float dt) {
 					_mouseRel = {};
 				}
 				_system->lockMouse(_vr.isVR());
+				if (version() >= 2 && _vr.isVR()) {
+					_vrWarpIdx = _warpIdx;
+				}
 			} else
 				debug("can't find vr file %s", _warp->vrFile.c_str());
 		}
@@ -2191,8 +2194,9 @@ void PhoenixVREngine::captureContext() {
 	ms.writeSint32LE(fromAngle(_angleY.rangeMax() + kPi2));
 	ms.writeSint32LE(fromAngle(_angleX.rangeMin()));
 	ms.writeSint32LE(fromAngle(_angleX.rangeMax()));
-	ms.writeSint32LE(_warpIdx);
-	debug("captureContext: warpIdx: %d, prev: %d", _warpIdx, _prevWarp);
+	auto warpIdx = version() >= 2 ? _vrWarpIdx : _warpIdx;
+	ms.writeSint32LE(warpIdx);
+	debug("captureContext: warpIdx: %d, prev: %d", warpIdx, _prevWarp);
 	ms.writeUint32LE(_warp->tests.size());
 	writeString({});
 	writeString({});
diff --git a/engines/phoenixvr/phoenixvr.h b/engines/phoenixvr/phoenixvr.h
index 34cc80b16be..251e3c8dbd9 100644
--- a/engines/phoenixvr/phoenixvr.h
+++ b/engines/phoenixvr/phoenixvr.h
@@ -310,6 +310,7 @@ private:
 	Common::String _nextScript;
 	Common::Path _currentScriptPath;
 	int _warpIdx = -1;
+	int _vrWarpIdx = -1; // temporary v2 hack
 	Script::ConstWarpPtr _warp;
 	int _nextWarp = -1;
 	int _prevWarp = -1;


Commit: 26e6f50a1cff912c99da7b62c568f6f1a5c1e27e
    https://github.com/scummvm/scummvm/commit/26e6f50a1cff912c99da7b62c568f6f1a5c1e27e
Author: Vladimir Menshakov (vladimir.menshakov at gmail.com)
Date: 2026-07-23T00:44:25+01:00

Commit Message:
PHOENIXVR: Do not restore keys for V2 saves

Changed paths:
    engines/phoenixvr/phoenixvr.cpp


diff --git a/engines/phoenixvr/phoenixvr.cpp b/engines/phoenixvr/phoenixvr.cpp
index 4e3ec7251d7..bcaf66925a7 100644
--- a/engines/phoenixvr/phoenixvr.cpp
+++ b/engines/phoenixvr/phoenixvr.cpp
@@ -2310,8 +2310,10 @@ bool PhoenixVREngine::enterScript() {
 	debug("currentSubroutine %d, prev warp %d", currentSubroutine, _prevWarp);
 	for (uint i = 0; i != 12; ++i) {
 		auto lockKey = ms.readString(0, 257);
-		debug("lockKey %d %s", i, lockKey.c_str());
-		_lockKey[i] = lockKey;
+		if (version() < 2) {
+			debug("lockKey %d %s", i, lockKey.c_str());
+			_lockKey[i] = lockKey;
+		}
 	}
 
 	stopAllSounds();


Commit: bb5190e38613448cf467049830c3aa6a9390ba38
    https://github.com/scummvm/scummvm/commit/bb5190e38613448cf467049830c3aa6a9390ba38
Author: Vladimir Menshakov (vladimir.menshakov at gmail.com)
Date: 2026-07-23T01:34:37+01:00

Commit Message:
PHOENIXVR: Use 32 bit pixel format for V2 games

V2 games use TGA files with alpha channel for cursor.

Changed paths:
    engines/phoenixvr/phoenixvr.cpp


diff --git a/engines/phoenixvr/phoenixvr.cpp b/engines/phoenixvr/phoenixvr.cpp
index bcaf66925a7..b2f357622df 100644
--- a/engines/phoenixvr/phoenixvr.cpp
+++ b/engines/phoenixvr/phoenixvr.cpp
@@ -1267,8 +1267,12 @@ Graphics::ManagedSurface *PhoenixVREngine::loadSurface(const Common::String &pat
 	if (dec->hasPalette())
 		s->setPalette(dec->getPalette().data(), 0, dec->getPalette().size());
 	// TODO: Skip conversion for surfaces with palettes?
-	s->convertToInPlace(_pixelFormat);
-	s->setTransparentColor(s->format.RGBToColor(0, 0, 0));
+	if (version() == 1) {
+		s->convertToInPlace(_pixelFormat);
+		s->setTransparentColor(s->format.RGBToColor(0, 0, 0));
+	} else {
+		s->convertToInPlace(Graphics::BlendBlit::getSupportedPixelFormat());
+	}
 	return s;
 }
 
@@ -1889,7 +1893,10 @@ void PhoenixVREngine::tick(float dt) {
 	if (!cursor)
 		cursor = loadCursor(anyMatched ? _defaultCursor[1] : _defaultCursor[0]);
 	if (cursor) {
-		_screen->simpleBlitFrom(*cursor, _mousePos - Common::Point(cursor->w / 2, cursor->h / 2));
+		if (cursor->format.aBits() != 0)
+			_screen->blendBlitFrom(*cursor, _mousePos - Common::Point(cursor->w / 2, cursor->h / 2));
+		else
+			_screen->simpleBlitFrom(*cursor, _mousePos - Common::Point(cursor->w / 2, cursor->h / 2));
 	}
 }
 
@@ -1905,9 +1912,14 @@ void PhoenixVREngine::drawAudioSubtitles() {
 }
 
 Common::Error PhoenixVREngine::run() {
-	Common::List<Graphics::PixelFormat> formats;
-	formats.push_back(_rgb565);
-	initGraphics(640, 480, formats);
+	if (version() == 1) {
+		Common::List<Graphics::PixelFormat> formats;
+		formats.push_back(_rgb565);
+		initGraphics(640, 480, formats);
+	} else {
+		_pixelFormat = Graphics::BlendBlit::getSupportedPixelFormat();
+		initGraphics(640, 480, &_pixelFormat);
+	}
 
 	_pixelFormat = g_system->getScreenFormat();
 	if (_pixelFormat.isCLUT8())


Commit: 1fd2b573d5f57a548dfe1ef34a4e1a4fa8eda76d
    https://github.com/scummvm/scummvm/commit/1fd2b573d5f57a548dfe1ef34a4e1a4fa8eda76d
Author: Vladimir Menshakov (vladimir.menshakov at gmail.com)
Date: 2026-07-23T01:38:05+01:00

Commit Message:
PHOENIXVR: V2: Fix save thumbnail

Changed paths:
    engines/phoenixvr/phoenixvr.cpp


diff --git a/engines/phoenixvr/phoenixvr.cpp b/engines/phoenixvr/phoenixvr.cpp
index b2f357622df..3fc96738d8f 100644
--- a/engines/phoenixvr/phoenixvr.cpp
+++ b/engines/phoenixvr/phoenixvr.cpp
@@ -803,8 +803,11 @@ bool PhoenixVREngine::goToWarp(const Common::String &warp, bool savePrev) {
 	if (savePrev) {
 		assert(_warpIdx >= 0);
 		if (version() >= 2) {
-			if (_warpIdx >= 0)
+			if (_warpIdx >= 0) {
 				_prevWarpHistory.push_back(_warpIdx);
+				if (_vr.isVR())
+					saveThumbnail();
+			}
 			if (_prevWarpHistory.size() > 10)
 				_prevWarpHistory.pop_front();
 		} else {




More information about the Scummvm-git-logs mailing list