[Scummvm-cvs-logs] CVS: scummvm/scumm gfx.cpp,2.116,2.117 script_v5.cpp,1.101,1.102
Max Horn
fingolfin at users.sourceforge.net
Sat May 24 09:12:05 CEST 2003
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv11096
Modified Files:
gfx.cpp script_v5.cpp
Log Message:
cleanup / minor tweak
Index: gfx.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/gfx.cpp,v
retrieving revision 2.116
retrieving revision 2.117
diff -u -d -r2.116 -r2.117
--- gfx.cpp 23 May 2003 13:24:40 -0000 2.116
+++ gfx.cpp 24 May 2003 16:11:47 -0000 2.117
@@ -2355,7 +2355,9 @@
#pragma mark -
void Scumm::fadeIn(int effect) {
+
updatePalette();
+
switch (effect) {
case 1:
case 2:
@@ -2389,48 +2391,48 @@
void Scumm::fadeOut(int effect) {
VirtScreen *vs;
- updatePalette();
-
setDirtyRange(0, 0, 0);
if (!(_features & GF_AFTER_V7))
camera._last.x = camera._cur.x;
- if (!_screenEffectFlag)
- return;
- _screenEffectFlag = false;
-
- if (effect == 0)
- return;
+ if (_screenEffectFlag && effect != 0) {
+
+ // Fill screen 0 with black
+ vs = &virtscr[0];
+ memset(vs->screenPtr + vs->xstart, 0, vs->size);
+
+ // Fade to black with the specified effect, if any.
+ switch (effect) {
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ transitionEffect(effect - 1);
+ break;
+ case 128:
+ unkScreenEffect6();
+ break;
+ case 129:
+ // Just blit screen 0 to the display (i.e. display will be black)
+ setDirtyRange(0, 0, vs->height);
+ updateDirtyScreen(0);
+ break;
+ case 134:
+ dissolveEffect(1, 1);
+ break;
+ case 135:
+ unkScreenEffect5(1);
+ break;
+ default:
+ warning("fadeOut: default case %d", effect);
+ }
+ }
- // Fill screen 0 with black
- vs = &virtscr[0];
- memset(vs->screenPtr + vs->xstart, 0, vs->size);
+ // Update the palette at the end (once we faded to black) to avoid
+ // some nasty effects when the palette is changed
+ updatePalette();
- // Fade to black with the specified effect, if any.
- switch (effect) {
- case 1:
- case 2:
- case 3:
- case 4:
- transitionEffect(effect - 1);
- break;
- case 128:
- unkScreenEffect6();
- break;
- case 129:
- // Just blit screen 0 to the display (i.e. display will be black)
- setDirtyRange(0, 0, vs->height);
- updateDirtyScreen(0);
- break;
- case 134:
- dissolveEffect(1, 1);
- break;
- case 135:
- unkScreenEffect5(1);
- break;
- default:
- warning("fadeOut: default case %d", effect);
- }
+ _screenEffectFlag = false;
}
/* Transition effect. There are four different effects possible,
Index: script_v5.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v5.cpp,v
retrieving revision 1.101
retrieving revision 1.102
diff -u -d -r1.101 -r1.102
--- script_v5.cpp 23 May 2003 13:24:40 -0000 1.101
+++ script_v5.cpp 24 May 2003 16:11:47 -0000 1.102
@@ -731,11 +731,11 @@
}
void Scumm_v5::o5_doSentence() {
- int a;
+ int verb;
SentenceTab *st;
- a = getVarOrDirectByte(0x80);
- if (a == 0xFE) {
+ verb = getVarOrDirectByte(0x80);
+ if (verb == 0xFE) {
_sentenceNum = 0;
stopScript(VAR(VAR_SENTENCE_SCRIPT));
clearClickedStatus();
@@ -744,7 +744,7 @@
st = &_sentence[_sentenceNum++];
- st->verb = a;
+ st->verb = verb;
st->objectA = getVarOrDirectWord(0x40);
st->objectB = getVarOrDirectWord(0x20);
st->preposition = (st->objectB != 0);
More information about the Scummvm-git-logs
mailing list