aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorMax Horn2004-01-19 19:34:48 +0000
committerMax Horn2004-01-19 19:34:48 +0000
commitd094989ae24bfba1cbff2f7a230d3b68e51c68bb (patch)
tree12a83a2889b91c0a1a37abd664473241e3561cb3 /scumm
parent4ad9da8b757aba2e6c1b53430a1f539be306b62c (diff)
downloadscummvm-rg350-d094989ae24bfba1cbff2f7a230d3b68e51c68bb.tar.gz
scummvm-rg350-d094989ae24bfba1cbff2f7a230d3b68e51c68bb.tar.bz2
scummvm-rg350-d094989ae24bfba1cbff2f7a230d3b68e51c68bb.zip
smush and insane only work with V6 (this will allow moving some stuff from ScummEngine to ScummEngine_v6)
svn-id: r12516
Diffstat (limited to 'scumm')
-rw-r--r--scumm/insane/insane.cpp2
-rw-r--r--scumm/insane/insane.h6
-rw-r--r--scumm/intern.h2
-rw-r--r--scumm/scummvm.cpp2
-rw-r--r--scumm/smush/smush_player.cpp2
-rw-r--r--scumm/smush/smush_player.h5
6 files changed, 11 insertions, 8 deletions
diff --git a/scumm/insane/insane.cpp b/scumm/insane/insane.cpp
index a501f1d559..bc45ab70a7 100644
--- a/scumm/insane/insane.cpp
+++ b/scumm/insane/insane.cpp
@@ -49,7 +49,7 @@ static const int actorAnimationData[21] = {20, 21, 22, 23, 24, 25, 26, 13, 14, 1
18, 19, 6, 7, 8, 9, 10, 11, 12};
-Insane::Insane(ScummEngine *scumm) {
+Insane::Insane(ScummEngine_v6 *scumm) {
_vm = scumm;
// Demo has different insane, so disable it now
diff --git a/scumm/insane/insane.h b/scumm/insane/insane.h
index 45104d87a1..4851d11428 100644
--- a/scumm/insane/insane.h
+++ b/scumm/insane/insane.h
@@ -23,7 +23,7 @@
#define INSANE_H
#include "base/engine.h"
-#include "scumm/scumm.h"
+#include "scumm/intern.h"
#include "scumm/nut_renderer.h"
#include "scumm/smush/smush_player.h"
@@ -53,7 +53,7 @@ namespace Scumm {
class Insane {
public:
- Insane(ScummEngine *scumm);
+ Insane(ScummEngine_v6 *scumm);
~Insane();
void setSmushParams(int speed);
@@ -69,7 +69,7 @@ class Insane {
private:
- ScummEngine *_vm;
+ ScummEngine_v6 *_vm;
SmushPlayer *_player;
int32 _speed;
diff --git a/scumm/intern.h b/scumm/intern.h
index 4821304b19..29a5d86065 100644
--- a/scumm/intern.h
+++ b/scumm/intern.h
@@ -315,6 +315,8 @@ protected:
};
class ScummEngine_v6 : public ScummEngine {
+ friend class Insane;
+
protected:
typedef void (ScummEngine_v6::*OpcodeProcV6)();
struct OpcodeEntryV6 {
diff --git a/scumm/scummvm.cpp b/scumm/scummvm.cpp
index 89e44e6d93..13cbcae998 100644
--- a/scumm/scummvm.cpp
+++ b/scumm/scummvm.cpp
@@ -847,7 +847,7 @@ ScummEngine::ScummEngine(GameDetector *detector, OSystem *syst, const ScummGameS
// Create FT INSANE object
if (_gameId == GID_FT)
- _insane = new Insane(this);
+ _insane = new Insane((ScummEngine_v6 *)this);
else
_insane = 0;
}
diff --git a/scumm/smush/smush_player.cpp b/scumm/smush/smush_player.cpp
index 82600c40d8..d3613d56aa 100644
--- a/scumm/smush/smush_player.cpp
+++ b/scumm/smush/smush_player.cpp
@@ -211,7 +211,7 @@ void SmushPlayer::timerCallback(void *refCon) {
((SmushPlayer *)refCon)->parseNextFrame();
}
-SmushPlayer::SmushPlayer(ScummEngine *scumm, int speed) {
+SmushPlayer::SmushPlayer(ScummEngine_v6 *scumm, int speed) {
_vm = scumm;
_version = -1;
_nbframes = 0;
diff --git a/scumm/smush/smush_player.h b/scumm/smush/smush_player.h
index 0dd25270ff..dcc592c84a 100644
--- a/scumm/smush/smush_player.h
+++ b/scumm/smush/smush_player.h
@@ -30,6 +30,7 @@
namespace Scumm {
+class ScummEngine_v6;
class SmushFont;
class SmushMixer;
class StringResource;
@@ -37,7 +38,7 @@ class StringResource;
class SmushPlayer {
friend class Insane;
private:
- ScummEngine *_vm;
+ ScummEngine_v6 *_vm;
int _version;
int32 _nbframes;
SmushMixer *_smixer;
@@ -71,7 +72,7 @@ private:
bool _middleAudio;
public:
- SmushPlayer(ScummEngine *scumm, int speed);
+ SmushPlayer(ScummEngine_v6 *scumm, int speed);
~SmushPlayer();
void play(const char *filename, const char *directory);