aboutsummaryrefslogtreecommitdiff
path: root/engines/gob
diff options
context:
space:
mode:
authorSven Hesse2009-03-19 23:42:19 +0000
committerSven Hesse2009-03-19 23:42:19 +0000
commit9f43c32c2595289f0bf8453a247890b122f7a6f0 (patch)
tree19a526ac39a70b1f52b087380a454e48f4cf85e0 /engines/gob
parent51109a5cfcc8d9f817813499c39f243016aa170f (diff)
downloadscummvm-rg350-9f43c32c2595289f0bf8453a247890b122f7a6f0.tar.gz
scummvm-rg350-9f43c32c2595289f0bf8453a247890b122f7a6f0.tar.bz2
scummvm-rg350-9f43c32c2595289f0bf8453a247890b122f7a6f0.zip
Adding detection and title music playback for Little Red Riding Hood (Amiga version)
svn-id: r39551
Diffstat (limited to 'engines/gob')
-rw-r--r--engines/gob/detection.cpp14
-rw-r--r--engines/gob/inter.h2
-rw-r--r--engines/gob/inter_v2.cpp45
3 files changed, 28 insertions, 33 deletions
diff --git a/engines/gob/detection.cpp b/engines/gob/detection.cpp
index 700d0263f4..bdfd7dc652 100644
--- a/engines/gob/detection.cpp
+++ b/engines/gob/detection.cpp
@@ -50,6 +50,7 @@ static const PlainGameDescriptor gobGames[] = {
{"gob2cd", "Gobliins 2 CD"},
{"ween", "Ween: The Prophecy"},
{"bargon", "Bargon Attack"},
+ {"littlered", "Little Red Riding Hood"},
{"ajworld", "A.J's World of Discovery"},
{"gob3", "Goblins Quest 3"},
{"gob3cd", "Goblins Quest 3 CD"},
@@ -1002,6 +1003,19 @@ static const GOBGameDescription gameDescriptions[] = {
},
{
{
+ "littlered",
+ "",
+ AD_ENTRY1s("intro.stk", "0b72992f5d8b5e6e0330572a5753ea25", 256490),
+ UNK_LANG,
+ kPlatformAmiga,
+ ADGF_NO_FLAGS
+ },
+ kGameTypeGob2,
+ kFeaturesNone,
+ "intro"
+ },
+ {
+ {
"ajworld",
"",
AD_ENTRY1s("intro.stk", "e453bea7b28a67c930764d945f64d898", 3913628),
diff --git a/engines/gob/inter.h b/engines/gob/inter.h
index 9b63a7dd1e..9a8da431cb 100644
--- a/engines/gob/inter.h
+++ b/engines/gob/inter.h
@@ -401,6 +401,8 @@ protected:
void o2_startInfogrames(OpGobParams &params);
void o2_stopInfogrames(OpGobParams &params);
void o2_handleGoblins(OpGobParams &params);
+ void o2_playProtracker(OpGobParams &params);
+ void o2_stopProtracker(OpGobParams &params);
};
class Inter_Bargon : public Inter_v2 {
diff --git a/engines/gob/inter_v2.cpp b/engines/gob/inter_v2.cpp
index 8859f68ff6..ff4266555a 100644
--- a/engines/gob/inter_v2.cpp
+++ b/engines/gob/inter_v2.cpp
@@ -90,37 +90,8 @@ const int Inter_v2::_goblinFuncLookUp[][2] = {
{52, 37},
{53, 38},
{100, 39},
- {152, 40},
- {200, 41},
- {201, 42},
- {202, 43},
- {203, 44},
- {204, 45},
- {250, 46},
- {251, 47},
- {252, 48},
- {500, 49},
- {502, 50},
- {503, 51},
- {600, 52},
- {601, 53},
- {602, 54},
- {603, 55},
- {604, 56},
- {605, 57},
- {1000, 58},
- {1001, 59},
- {1002, 60},
- {1003, 61},
- {1004, 62},
- {1005, 63},
- {1006, 64},
- {1008, 65},
- {1009, 66},
- {1010, 67},
- {1011, 68},
- {1015, 69},
- {2005, 70}
+ {500, 40},
+ {501, 41}
};
Inter_v2::Inter_v2(GobEngine *vm) : Inter_v1(vm) {
@@ -606,8 +577,8 @@ void Inter_v2::setupOpcodes() {
{NULL, ""},
OPCODE(o2_handleGoblins),
/* 28 */
- {NULL, ""},
- {NULL, ""},
+ OPCODE(o2_playProtracker),
+ OPCODE(o2_stopProtracker),
{NULL, ""},
{NULL, ""},
/* 2C */
@@ -2063,6 +2034,14 @@ void Inter_v2::o2_stopInfogrames(OpGobParams &params) {
_vm->_sound->infogramesStop();
}
+void Inter_v2::o2_playProtracker(OpGobParams &params) {
+ _vm->_sound->protrackerPlay("mod.babayaga");
+}
+
+void Inter_v2::o2_stopProtracker(OpGobParams &params) {
+ _vm->_sound->protrackerStop();
+}
+
void Inter_v2::o2_handleGoblins(OpGobParams &params) {
_vm->_goblin->_gob1NoTurn = VAR(load16()) != 0;
_vm->_goblin->_gob2NoTurn = VAR(load16()) != 0;