[Scummvm-cvs-logs] SF.net SVN: scummvm: [26385] scummvm/trunk/engines/gob
drmccoy at users.sourceforge.net
drmccoy at users.sourceforge.net
Thu Apr 5 17:38:31 CEST 2007
Revision: 26385
http://scummvm.svn.sourceforge.net/scummvm/?rev=26385&view=rev
Author: drmccoy
Date: 2007-04-05 08:38:30 -0700 (Thu, 05 Apr 2007)
Log Message:
-----------
Added GobOpcodes 1 and 2 (start and stop Infogrames music)
Modified Paths:
--------------
scummvm/trunk/engines/gob/inter.h
scummvm/trunk/engines/gob/inter_v2.cpp
scummvm/trunk/engines/gob/inter_v3.cpp
Modified: scummvm/trunk/engines/gob/inter.h
===================================================================
--- scummvm/trunk/engines/gob/inter.h 2007-04-05 14:28:19 UTC (rev 26384)
+++ scummvm/trunk/engines/gob/inter.h 2007-04-05 15:38:30 UTC (rev 26385)
@@ -386,6 +386,8 @@
bool o2_writeData(OpFuncParams ¶ms);
void o2_loadInfogramesIns(OpGobParams ¶ms);
void o2_playInfogrames(OpGobParams ¶ms);
+ void o2_startInfogrames(OpGobParams ¶ms);
+ void o2_stopInfogrames(OpGobParams ¶ms);
void o2_handleGoblins(OpGobParams ¶ms);
};
Modified: scummvm/trunk/engines/gob/inter_v2.cpp
===================================================================
--- scummvm/trunk/engines/gob/inter_v2.cpp 2007-04-05 14:28:19 UTC (rev 26384)
+++ scummvm/trunk/engines/gob/inter_v2.cpp 2007-04-05 15:38:30 UTC (rev 26385)
@@ -50,8 +50,8 @@
const int Inter_v2::_goblinFuncLookUp[][2] = {
{0, 0},
- {2, 1},
- {3, 2},
+ {1, 1},
+ {2, 2},
{4, 3},
{5, 4},
{6, 5},
@@ -556,9 +556,9 @@
static const OpcodeGoblinEntryV2 opcodesGoblin[71] = {
/* 00 */
OPCODE(o2_loadInfogramesIns),
+ OPCODE(o2_startInfogrames),
+ OPCODE(o2_stopInfogrames),
{NULL, ""},
- {NULL, ""},
- {NULL, ""},
/* 04 */
{NULL, ""},
{NULL, ""},
@@ -1937,6 +1937,7 @@
if (_vm->_game->_infogrames) {
_vm->_mixer->stopHandle(_vm->_game->_infHandle);
+ delete _vm->_game->_infogrames;
_vm->_game->_infogrames = 0;
}
@@ -1976,6 +1977,7 @@
if (_vm->_game->_infIns) {
_vm->_mixer->stopHandle(_vm->_game->_infHandle);
+ delete _vm->_game->_infogrames;
_vm->_game->_infogrames =
new Audio::Infogrames(*_vm->_game->_infIns, true,
_vm->_mixer->getOutputRate(),
@@ -1987,10 +1989,29 @@
_vm->_game->_infogrames = 0;
} else
_vm->_mixer->playInputStream(Audio::Mixer::kMusicSoundType,
- &_vm->_game->_infHandle, _vm->_game->_infogrames);
+ &_vm->_game->_infHandle, _vm->_game->_infogrames,
+ -1, 255, 0, false);
}
}
+void Inter_v2::o2_startInfogrames(OpGobParams ¶ms) {
+ load16();
+
+ if (_vm->_game->_infogrames &&
+ !_vm->_mixer->isSoundHandleActive(_vm->_game->_infHandle)) {
+ _vm->_game->_infogrames->restart();
+ _vm->_mixer->playInputStream(Audio::Mixer::kMusicSoundType,
+ &_vm->_game->_infHandle, _vm->_game->_infogrames,
+ -1, 255, 0, false);
+ }
+}
+
+void Inter_v2::o2_stopInfogrames(OpGobParams ¶ms) {
+ load16();
+
+ _vm->_mixer->stopHandle(_vm->_game->_infHandle);
+}
+
void Inter_v2::o2_handleGoblins(OpGobParams ¶ms) {
_vm->_goblin->_gob1NoTurn = (bool) VAR(load16());
_vm->_goblin->_gob2NoTurn = (bool) VAR(load16());
Modified: scummvm/trunk/engines/gob/inter_v3.cpp
===================================================================
--- scummvm/trunk/engines/gob/inter_v3.cpp 2007-04-05 14:28:19 UTC (rev 26384)
+++ scummvm/trunk/engines/gob/inter_v3.cpp 2007-04-05 15:38:30 UTC (rev 26385)
@@ -36,8 +36,8 @@
const int Inter_v3::_goblinFuncLookUp[][2] = {
{0, 0},
- {2, 1},
- {3, 2},
+ {1, 1},
+ {2, 2},
{4, 3},
{5, 4},
{6, 5},
@@ -542,9 +542,9 @@
static const OpcodeGoblinEntryV3 opcodesGoblin[71] = {
/* 00 */
OPCODE(o2_loadInfogramesIns),
+ OPCODE(o2_startInfogrames),
+ OPCODE(o2_stopInfogrames),
{NULL, ""},
- {NULL, ""},
- {NULL, ""},
/* 04 */
{NULL, ""},
{NULL, ""},
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