aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2011-06-29 21:17:07 +1000
committerPaul Gilbert2011-06-29 21:17:07 +1000
commite1b6bc042752f2a07a6cb0911d11bf52ed26d9a8 (patch)
treec284913d5657524fe0fd48fd57cc6ffaeb4d84ee
parent290305ad4320a489d6dc98279433e0d3b3a7de40 (diff)
downloadscummvm-rg350-e1b6bc042752f2a07a6cb0911d11bf52ed26d9a8.tar.gz
scummvm-rg350-e1b6bc042752f2a07a6cb0911d11bf52ed26d9a8.tar.bz2
scummvm-rg350-e1b6bc042752f2a07a6cb0911d11bf52ed26d9a8.zip
CGE: Removed Mouse from VGA::ShowQ to prevent crashes in the movie player
-rw-r--r--engines/cge/cge_main.cpp20
-rw-r--r--engines/cge/vga13h.cpp4
2 files changed, 19 insertions, 5 deletions
diff --git a/engines/cge/cge_main.cpp b/engines/cge/cge_main.cpp
index ece6ec5adb..2066376885 100644
--- a/engines/cge/cge_main.cpp
+++ b/engines/cge/cge_main.cpp
@@ -25,6 +25,7 @@
* Copyright (c) 1994-1995 Janus B. Wisniewski and L.K. Avalon
*/
+#include "common/scummsys.h"
#include "cge/general.h"
#include "cge/boot.h"
#include "cge/ident.h"
@@ -1463,8 +1464,12 @@ void CGEEngine::LoadSprite(const char *fname, int ref, int cav, int col = 0, int
_sprite->Flags.Tran = tran;
_sprite->Flags.Kill = true;
_sprite->Flags.BDel = true;
- //fnsplit(fname, NULL, NULL, _sprite->File, NULL);
- warning("LoadSprite: use of fnsplit");
+
+ // Extract the filename, without the extension
+ strcpy(_sprite->File, fname);
+ char *p = strchr(_sprite->File, '.');
+ if (p)
+ *p = '\0';
_sprite->ShpCnt = shpcnt;
Vga->SpareQ->Append(_sprite);
@@ -1551,6 +1556,9 @@ void CGEEngine::MainLoop() {
Vga->Show();
Snail_->RunCom();
Snail->RunCom();
+
+ // Delay to slow things down
+ g_system->delayMillis(10);
}
@@ -1599,7 +1607,8 @@ void CGEEngine::RunGame() {
Vga->ShowQ->Append(_pocLight);
SelectPocket(-1);
- Vga->ShowQ->Append(Mouse);
+ // FIXME: Allow ScummVM to handle mouse display
+// Vga->ShowQ->Append(Mouse);
// ___________
LoadUser();
@@ -1692,7 +1701,10 @@ void CGEEngine::Movie(const char *ext) {
LoadScript(fn);
ExpandSprite(Vga->SpareQ->Locate(999));
FeedSnail(Vga->ShowQ->Locate(999), TAKE);
- Vga->ShowQ->Append(Mouse);
+
+ // FIXME: Allow ScummVM to handle mouse display
+ //Vga->ShowQ->Append(Mouse);
+
_heart->_enable = true;
KEYBOARD::SetClient(Sys);
while (!Snail->Idle())
diff --git a/engines/cge/vga13h.cpp b/engines/cge/vga13h.cpp
index 1d55af7e31..e642db8e7f 100644
--- a/engines/cge/vga13h.cpp
+++ b/engines/cge/vga13h.cpp
@@ -1310,7 +1310,8 @@ void BITMAP::Show(int x, int y) {
++srcP;
}
}
-
+/*
+ DEBUG code to display image immediately
// Temporary
g_system->copyRectToScreen((const byte *)VGA::Page[1]->getBasePtr(0, 0), SCR_WID, 0, 0, SCR_WID, SCR_HIG);
byte palData[PAL_SIZ];
@@ -1319,6 +1320,7 @@ void BITMAP::Show(int x, int y) {
g_system->updateScreen();
g_system->delayMillis(5000);
+*/
}