[Scummvm-cvs-logs] SF.net SVN: scummvm: [24091] scummvm/trunk/engines/agos
kirben at users.sourceforge.net
kirben at users.sourceforge.net
Tue Oct 3 02:31:34 CEST 2006
Revision: 24091
http://svn.sourceforge.net/scummvm/?rev=24091&view=rev
Author: kirben
Date: 2006-10-02 17:31:24 -0700 (Mon, 02 Oct 2006)
Log Message:
-----------
Add changes and enable music for Elvira1
Modified Paths:
--------------
scummvm/trunk/engines/agos/agos.cpp
scummvm/trunk/engines/agos/agos.h
scummvm/trunk/engines/agos/items.cpp
scummvm/trunk/engines/agos/midiparser_s1d.cpp
scummvm/trunk/engines/agos/vga.cpp
Modified: scummvm/trunk/engines/agos/agos.cpp
===================================================================
--- scummvm/trunk/engines/agos/agos.cpp 2006-10-02 23:31:14 UTC (rev 24090)
+++ scummvm/trunk/engines/agos/agos.cpp 2006-10-03 00:31:24 UTC (rev 24091)
@@ -2328,7 +2328,7 @@
}
midi.startTrack (0);
- } else if (getGameType() == GType_ELVIRA2 || getGameType() == GType_WW) {
+ } else {
midi.stop();
midi.setLoop (true); // Must do this BEFORE loading music. (GMF may have its own override.)
@@ -2341,8 +2341,6 @@
midi.loadS1D (&f);
midi.startTrack (0);
- } else {
- warning("Old music type not support");
}
}
Modified: scummvm/trunk/engines/agos/agos.h
===================================================================
--- scummvm/trunk/engines/agos/agos.h 2006-10-02 23:31:14 UTC (rev 24090)
+++ scummvm/trunk/engines/agos/agos.h 2006-10-03 00:31:24 UTC (rev 24091)
@@ -1012,13 +1012,14 @@
void oe1_worn();
void oe1_notWorn();
void oe1_notCarried();
- void oe1_setFF();
- void oe1_zoneDisk();
void oe1_isNotAt();
void oe1_sibling();
void oe1_notSibling();
+ void oe1_setFF();
void oe1_opcode176();
void oe1_opcode178();
+ void oe1_zoneDisk();
+ void oe1_printStats();
// Opcodes, Waxworks only
void oww_goto();
Modified: scummvm/trunk/engines/agos/items.cpp
===================================================================
--- scummvm/trunk/engines/agos/items.cpp 2006-10-02 23:31:14 UTC (rev 24090)
+++ scummvm/trunk/engines/agos/items.cpp 2006-10-03 00:31:24 UTC (rev 24091)
@@ -249,6 +249,8 @@
op[178] = &AGOSEngine::oe1_opcode178;
+ op[180] = &AGOSEngine::oww_whereTo;
+
op[198] = &AGOSEngine::o_comment;
op[206] = &AGOSEngine::o_getParent;
@@ -290,6 +292,7 @@
op[267] = &AGOSEngine::oe1_zoneDisk;
op[268] = &AGOSEngine::o_saveUserGame;
op[269] = &AGOSEngine::o_loadUserGame;
+ op[270] = &AGOSEngine::oe1_printStats;
op[271] = &AGOSEngine::o_stopTune;
op[274] = &AGOSEngine::o_pauseGame;
@@ -1693,27 +1696,32 @@
}
void AGOSEngine::oe1_setFF() {
+ // 60
writeNextVarContents(0xFF);
}
-void AGOSEngine::oe1_zoneDisk() {
- getVarOrWord();
- getVarOrWord();
-}
-
void AGOSEngine::oe1_opcode176() {
getNextItemPtr();
getVarOrWord();
getNextItemPtr();
}
-
void AGOSEngine::oe1_opcode178() {
getNextItemPtr();
getVarOrWord();
}
+void AGOSEngine::oe1_zoneDisk() {
+ // 267: zone disk
+ getVarOrWord();
+ getVarOrWord();
+}
+void AGOSEngine::oe1_printStats() {
+ // 270: print stats
+}
+
+
// -----------------------------------------------------------------------
// Waxworks Opcodes
// -----------------------------------------------------------------------
Modified: scummvm/trunk/engines/agos/midiparser_s1d.cpp
===================================================================
--- scummvm/trunk/engines/agos/midiparser_s1d.cpp 2006-10-02 23:31:14 UTC (rev 24090)
+++ scummvm/trunk/engines/agos/midiparser_s1d.cpp 2006-10-03 00:31:24 UTC (rev 24091)
@@ -125,7 +125,7 @@
byte *pos = data;
if (*(pos++) != 0xFC)
- error("Expected 0xFC header but found 0x%02X instead", (int) *pos);
+ debug(1, "Expected 0xFC header but found 0x%02X instead", (int) *pos);
// The next 3 bytes MIGHT be tempo, but we skip them and use the default.
// setTempo (*(pos++) | (*(pos++) << 8) | (*(pos++) << 16));
Modified: scummvm/trunk/engines/agos/vga.cpp
===================================================================
--- scummvm/trunk/engines/agos/vga.cpp 2006-10-02 23:31:14 UTC (rev 24090)
+++ scummvm/trunk/engines/agos/vga.cpp 2006-10-03 00:31:24 UTC (rev 24091)
@@ -289,10 +289,14 @@
}
int AGOSEngine::vcReadVarOrWord() {
- int16 var = vcReadNextWord();
- if (var < 0)
- var = vcReadVar(-var);
- return var;
+ if (getGameType() == GType_ELVIRA) {
+ return vcReadNextWord();
+ } else {
+ int16 var = vcReadNextWord();
+ if (var < 0)
+ var = vcReadVar(-var);
+ return var;
+ }
}
uint AGOSEngine::vcReadNextWord() {
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