[Scummvm-cvs-logs] scummvm master -> 613a203c8a8ac6175988938fbbceaa47ee8b2877
whoozle
whoozle at yandex.ru
Sun Jun 19 14:58:47 CEST 2011
This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
57c68af92e DREAMWEB: Fixed quit from travel screen
5efe835f20 DREAMWEB: Added assertions on cx == 0xffff
613a203c8a DREAMWEB: Added crash workaround
Commit: 57c68af92e856f300a45c0b0ab929464e1f414eb
https://github.com/scummvm/scummvm/commit/57c68af92e856f300a45c0b0ab929464e1f414eb
Author: Vladimir Menshakov (whoozle at yandex.ru)
Date: 2011-06-19T05:57:10-07:00
Commit Message:
DREAMWEB: Fixed quit from travel screen
Changed paths:
devtools/tasmrecover/dreamweb/newplace.asm
diff --git a/devtools/tasmrecover/dreamweb/newplace.asm b/devtools/tasmrecover/dreamweb/newplace.asm
index cac6e10..10a587f 100644
--- a/devtools/tasmrecover/dreamweb/newplace.asm
+++ b/devtools/tasmrecover/dreamweb/newplace.asm
@@ -53,7 +53,10 @@ Selectlocation proc near
call playchannel0
mov newlocation,255
-select: call delpointer
+select:
+ cmp quitrequested, 0
+ jnz quittravel
+ call delpointer
call readmouse
call showpointer
call vsync
Commit: 5efe835f203a94d06f3ff64a9df39c9fdaae8a3b
https://github.com/scummvm/scummvm/commit/5efe835f203a94d06f3ff64a9df39c9fdaae8a3b
Author: Vladimir Menshakov (whoozle at yandex.ru)
Date: 2011-06-19T05:57:10-07:00
Commit Message:
DREAMWEB: Added assertions on cx == 0xffff
Changed paths:
engines/dreamweb/runtime.h
diff --git a/engines/dreamweb/runtime.h b/engines/dreamweb/runtime.h
index 47dcbf8..bbffa78 100644
--- a/engines/dreamweb/runtime.h
+++ b/engines/dreamweb/runtime.h
@@ -463,6 +463,7 @@ public:
}
inline void _movsb(uint size, bool clear_cx = false) {
+ assert(size != 0xffff);
uint8 *dst = es.ptr(di, size);
uint8 *src = ds.ptr(si, size);
memcpy(dst, src, size);
@@ -478,6 +479,7 @@ public:
}
inline void _movsw(uint size, bool clear_cx = false) {
+ assert(size != 0xffff);
_movsb(size * 2, clear_cx);
}
@@ -486,6 +488,7 @@ public:
}
inline void _stosb(uint size, bool clear_cx = false) {
+ assert(size != 0xffff);
uint8 *dst = es.ptr(di, size);
memset(dst, al, size);
di += size;
@@ -499,6 +502,7 @@ public:
}
inline void _stosw(uint size, bool clear_cx = false) {
+ assert(size != 0xffff);
uint8 *dst = es.ptr(di, size * 2);
di += 2 * size;
while(size--) {
Commit: 613a203c8a8ac6175988938fbbceaa47ee8b2877
https://github.com/scummvm/scummvm/commit/613a203c8a8ac6175988938fbbceaa47ee8b2877
Author: Vladimir Menshakov (whoozle at yandex.ru)
Date: 2011-06-19T05:57:10-07:00
Commit Message:
DREAMWEB: Added crash workaround
Changed paths:
devtools/tasmrecover/dreamweb/object.asm
engines/dreamweb/dreamgen.cpp
diff --git a/devtools/tasmrecover/dreamweb/object.asm b/devtools/tasmrecover/dreamweb/object.asm
index 93710d3..d0465e0 100644
--- a/devtools/tasmrecover/dreamweb/object.asm
+++ b/devtools/tasmrecover/dreamweb/object.asm
@@ -2583,8 +2583,10 @@ findlenextext: mov cl,[es:si]
sub bx,extext
push bx ax
sub cx,bx
+ cmp cx, 0xffff; BIG FIXME! Find out why this is happening
+ jz $1
rep movsb
- pop bx
+$1: pop bx
sub extextpos,bx
pop si
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 7c9c881..d4fb444 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -8302,7 +8302,11 @@ findlenextext:
push(bx);
push(ax);
_sub(cx, bx);
+ _cmp(cx, 0xffff);
+ if (flags.z())
+ goto _tmp1;
_movsb(cx, true);
+_tmp1:
bx = pop();
_sub(data.word(kExtextpos), bx);
si = pop();
@@ -9536,6 +9540,9 @@ void DreamGenContext::selectlocation() {
playchannel0();
data.byte(kNewlocation) = 255;
select:
+ _cmp(data.byte(kQuitrequested), 0);
+ if (!flags.z())
+ goto quittravel;
delpointer();
readmouse();
showpointer();
More information about the Scummvm-git-logs
mailing list