aboutsummaryrefslogtreecommitdiff
path: root/engines/agos
diff options
context:
space:
mode:
authorTravis Howell2006-10-01 10:48:06 +0000
committerTravis Howell2006-10-01 10:48:06 +0000
commitc7a2d1eb6b156ca439508c1a6d5e7d574df57bff (patch)
treed970f73c28cef01e119845e3c7878e3791682c83 /engines/agos
parent0e2d209ccee94c60a83175ab92927aa142497429 (diff)
downloadscummvm-rg350-c7a2d1eb6b156ca439508c1a6d5e7d574df57bff.tar.gz
scummvm-rg350-c7a2d1eb6b156ca439508c1a6d5e7d574df57bff.tar.bz2
scummvm-rg350-c7a2d1eb6b156ca439508c1a6d5e7d574df57bff.zip
Update vga timer code to match original PP
svn-id: r24052
Diffstat (limited to 'engines/agos')
-rw-r--r--engines/agos/event.cpp9
-rw-r--r--engines/agos/vga.cpp7
2 files changed, 6 insertions, 10 deletions
diff --git a/engines/agos/event.cpp b/engines/agos/event.cpp
index 6eff4ddb6d..48b246bddc 100644
--- a/engines/agos/event.cpp
+++ b/engines/agos/event.cpp
@@ -199,12 +199,11 @@ void AGOSEngine::deleteVgaEvent(VgaTimerEntry * vte) {
void AGOSEngine::processVgaEvents() {
VgaTimerEntry *vte = _vgaTimerList;
- uint timer = (getGameType() == GType_FF) ? 5 : 1;
_vgaTickCounter++;
while (vte->delay) {
- vte->delay -= timer;
+ vte->delay -= _vgaBaseDelay;
if (vte->delay <= 0) {
uint16 curZoneNum = vte->cur_vga_file;
uint16 cur_sprite = vte->sprite_id;
@@ -214,7 +213,8 @@ void AGOSEngine::processVgaEvents() {
_nextVgaTimerToProcess = vte + 1;
deleteVgaEvent(vte);
- if (getGameType() == GType_FF && script_ptr == NULL) {
+ if ((getGameType() == GType_FF || getGameType() == GType_PP) &&
+ script_ptr == NULL) {
panEvent(curZoneNum, cur_sprite, param);
} else if (getGameType() == GType_SIMON2 && script_ptr == NULL) {
scrollEvent();
@@ -338,7 +338,6 @@ void AGOSEngine::timer_proc1() {
}
}
} else {
- processVgaEvents();
if (_scrollCount == 0) {
_lockWord &= ~2;
return;
@@ -384,7 +383,7 @@ void AGOSEngine::timer_proc1() {
}
if (_copyPartialMode == 2) {
- if (getGameType() == GType_FF) {
+ if (getGameType() == GType_FF || getGameType() == GType_PP) {
fillFrontFromBack(0, 0, _screenWidth, _screenHeight);
} else {
fillFrontFromBack(176, 61, _screenWidth - 176, 134 - 61);
diff --git a/engines/agos/vga.cpp b/engines/agos/vga.cpp
index 73464a1821..857270dad7 100644
--- a/engines/agos/vga.cpp
+++ b/engines/agos/vga.cpp
@@ -2418,14 +2418,11 @@ void AGOSEngine::vc62_fastFadeOut() {
void AGOSEngine::vc63_fastFadeIn() {
if (getGameType() == GType_PP) {
_fastFadeInFlag = 256;
-
if (getBitFlag(100)) {
printf("StartOverlayAnims\n");
- }
- if (getBitFlag(103)) {
+ } else if (getBitFlag(103)) {
printf("NameAndTime\n");
- }
- if (getBitFlag(104)) {
+ } else if (getBitFlag(104)) {
printf("HiScoreTable\n");
}
} else if (getGameType() == GType_FF) {