[Scummvm-cvs-logs] SF.net SVN: scummvm:[49017] scummvm/trunk/engines/sci/graphics/paint16.cpp
m_kiewitz at users.sourceforge.net
m_kiewitz at users.sourceforge.net
Wed May 12 22:13:49 CEST 2010
Revision: 49017
http://scummvm.svn.sourceforge.net/scummvm/?rev=49017&view=rev
Author: m_kiewitz
Date: 2010-05-12 20:13:48 +0000 (Wed, 12 May 2010)
Log Message:
-----------
SCI: changed behaviour for kDisplay change (r49012) to use oldGfxFunctions (.502), which isn't 100% accurate (should be .566) but better than not restoring for whole SCI0LATE
Modified Paths:
--------------
scummvm/trunk/engines/sci/graphics/paint16.cpp
Modified: scummvm/trunk/engines/sci/graphics/paint16.cpp
===================================================================
--- scummvm/trunk/engines/sci/graphics/paint16.cpp 2010-05-12 19:56:50 UTC (rev 49016)
+++ scummvm/trunk/engines/sci/graphics/paint16.cpp 2010-05-12 20:13:48 UTC (rev 49017)
@@ -29,6 +29,7 @@
#include "graphics/primitives.h"
#include "sci/sci.h"
+#include "sci/engine/features.h"
#include "sci/engine/state.h"
#include "sci/engine/selector.h"
#include "sci/graphics/cache.h"
@@ -452,7 +453,7 @@
Common::Rect rect;
reg_t result = NULL_REG;
- // Make a "backup" of the port settings (required for SCI01+ only)
+ // Make a "backup" of the port settings (required for some SCI0LATE and SCI01+ only)
Port oldPort = *_ports->getPort();
// setting defaults
@@ -534,11 +535,15 @@
Port *currport = _ports->getPort();
uint16 tTop = currport->curTop;
uint16 tLeft = currport->curLeft;
- if (getSciVersion() >= SCI_VERSION_01) {
- // Restore port settings for SCI01+ only
- // the change actually happened inbetween sci0late. sq3new has fixed scripts and includes this change
- // sq3old doesn't and restoring the port will result in font 0 getting used when scanning for planets
- // to be exact it happened between .530 (hoyle1) and .566 (heros quest)
+ if (!g_sci->_features->usesOldGfxFunctions()) {
+ // Restore port settings for some SCI0LATE and SCI01+ only
+ // the change actually happened inbetween .530 (hoyle1) and .566 (heros quest). We don't have any detection for
+ // that currently, so we are using oldGfxFunctions (.502). The only games that could get regressions because of
+ // this are hoyle1, kq4 and funseeker. If there are regressions, we should use interpreter version (which would
+ // require exe version detection)
+ // If we restore the port for whole SCI0LATE, at least sq3old will get an issue - font 0 will get used when
+ // scanning for planets instead of font 600 - a setfont parameter is missing in one of the kDisplay calls in
+ // script 19. I assume this is a script bug, because it was added in sq3new.
*currport = oldPort;
}
currport->curTop = tTop;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list