[Scummvm-git-logs] scummvm master -> 923e1b066bea5ac98788ed2947d143a18d66e1bf

sev- noreply at scummvm.org
Sat Jan 25 00:13:15 UTC 2025


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:
923e1b066b DIRECTOR: QTVR: Initial code for movie rendering


Commit: 923e1b066bea5ac98788ed2947d143a18d66e1bf
    https://github.com/scummvm/scummvm/commit/923e1b066bea5ac98788ed2947d143a18d66e1bf
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2025-01-25T01:13:08+01:00

Commit Message:
DIRECTOR: QTVR: Initial code for movie rendering

Changed paths:
    engines/director/lingo/xtras/qtvrxtra.cpp


diff --git a/engines/director/lingo/xtras/qtvrxtra.cpp b/engines/director/lingo/xtras/qtvrxtra.cpp
index c837126f970..a46631b73c4 100644
--- a/engines/director/lingo/xtras/qtvrxtra.cpp
+++ b/engines/director/lingo/xtras/qtvrxtra.cpp
@@ -43,7 +43,7 @@
 -- Initialization & Finalization --
 -----------------------------------
 new object me
-forget object me -- for Director use only. Invoke by calling me = 0 
+forget object me -- for Director use only. Invoke by calling me = 0
 + QTVREnter object xt --> integer (zero on success)  -- Initialize QTVR
 + QTVRExit  object xt                                -- Release QTVR
 -----------------------------------
@@ -397,7 +397,17 @@ void QtvrxtraXtra::m_QTVRGetQTVRType(int nargs) {
 	}
 }
 
-XOBJSTUB(QtvrxtraXtra::m_QTVRIdle, 0)
+void QtvrxtraXtra::m_QTVRIdle(int nargs) {
+	g_lingo->printArgs("QtvrxtraXtra::m_QTVRGetQTVRType", nargs);
+	ARGNUMCHECK(0);
+
+	QtvrxtraXtraObject *me = (QtvrxtraXtraObject *)g_lingo->_state->me.u.obj;
+
+	Graphics::Surface const *frame = me->_video->decodeNextFrame();
+	Graphics::Surface *dither = frame->convertTo(g_director->_wm->_pixelformat, me->_video->getPalette(), 256, g_director->getPalette(), 256, Graphics::kDitherNaive);
+
+	g_system->copyRectToScreen(dither->getPixels(), dither->pitch, me->_rect.left, me->_rect.top, dither->w, dither->h);
+}
 
 bool QtvrxtraXtraObject::processEvent(Common::Event &event) {
 	// FIXME: This class needs to inherit from MacWidget and override this function




More information about the Scummvm-git-logs mailing list