aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/npcs/barbot.h
diff options
context:
space:
mode:
authorPaul Gilbert2016-08-13 15:09:57 -0400
committerPaul Gilbert2016-08-13 15:09:57 -0400
commit786f2ca4487ea852bf3f4b95dbafc8499ed526cb (patch)
tree7369c693a1f66272e2f8c9f9f64cc8b6ba0fd9dd /engines/titanic/npcs/barbot.h
parentbbc9e072271e787dd151f24f4b4c43a0528c5ee3 (diff)
downloadscummvm-rg350-786f2ca4487ea852bf3f4b95dbafc8499ed526cb.tar.gz
scummvm-rg350-786f2ca4487ea852bf3f4b95dbafc8499ed526cb.tar.bz2
scummvm-rg350-786f2ca4487ea852bf3f4b95dbafc8499ed526cb.zip
TITANIC: Implementing CBarbot game object class
Diffstat (limited to 'engines/titanic/npcs/barbot.h')
-rw-r--r--engines/titanic/npcs/barbot.h139
1 files changed, 19 insertions, 120 deletions
diff --git a/engines/titanic/npcs/barbot.h b/engines/titanic/npcs/barbot.h
index 123e39afed..2bd4cb2f1e 100644
--- a/engines/titanic/npcs/barbot.h
+++ b/engines/titanic/npcs/barbot.h
@@ -29,6 +29,16 @@
namespace Titanic {
class CBarbot : public CTrueTalkNPC {
+ struct FrameRange {
+ int _startFrame;
+ int _endFrame;
+ FrameRange() : _startFrame(0), _endFrame(0) {}
+ };
+ class FrameRanges : public Common::Array<FrameRange> {
+ public:
+ FrameRanges();
+ };
+
DECLARE_MESSAGE_MAP;
bool ActMsg(CActMsg *msg);
bool EnterViewMsg(CEnterViewMsg *msg);
@@ -44,9 +54,11 @@ class CBarbot : public CTrueTalkNPC {
bool LoadSuccessMsg(CLoadSuccessMsg *msg);
bool MovieFrameMsg(CMovieFrameMsg *msg);
bool EnterRoomMsg(CEnterRoomMsg *msg);
+ bool TimerMsg(CTimerMsg *msg);
private:
static int _v0;
private:
+ FrameRanges _frames;
int _field108;
int _field10C;
int _field110;
@@ -61,8 +73,8 @@ private:
int _field134;
int _field138;
int _field13C;
- int _field140;
- int _field144;
+ int _volume;
+ int _frameNum;
int _field148;
int _field14C;
int _field150;
@@ -70,124 +82,11 @@ private:
int _field158;
int _field15C;
int _field160;
- int _field164;
- int _field168;
- int _field16C;
- int _field170;
- int _field174;
- int _field178;
- int _field17C;
- int _field180;
- int _field184;
- int _field188;
- int _field18C;
- int _field190;
- int _field194;
- int _field198;
- int _field19C;
- int _field1A0;
- int _field1A4;
- int _field1A8;
- int _field1AC;
- int _field1B0;
- int _field1B4;
- int _field1B8;
- int _field1BC;
- int _field1C0;
- int _field1C4;
- int _field1C8;
- int _field1CC;
- int _field1D0;
- int _field1D4;
- int _field1D8;
- int _field1E0;
- int _field1E4;
- int _field1E8;
- int _field1EC;
- int _field1F0;
- int _field1F4;
- int _field1F8;
- int _field1FC;
- int _field200;
- int _field204;
- int _field208;
- int _field20C;
- int _field210;
- int _field214;
- int _field218;
- int _field21C;
- int _field220;
- int _field224;
- int _field228;
- int _field22C;
- int _field230;
- int _field234;
- int _field238;
- int _field23C;
- int _field240;
- int _field244;
- int _field248;
- int _field24C;
- int _field250;
- int _field254;
- int _field258;
- int _field25C;
- int _field260;
- int _field264;
- int _field268;
- int _field26C;
- int _field270;
- int _field274;
- int _field278;
- int _field27C;
- int _field280;
- int _field284;
- int _field288;
- int _field28C;
- int _field290;
- int _field294;
- int _field298;
- int _field29C;
- int _field2A0;
- int _field2A4;
- int _field2A8;
- int _field2AC;
- int _field2B0;
- int _field2B4;
- int _field2B8;
- int _field2BC;
- int _field2C0;
- int _field2C4;
- int _field2C8;
- int _field2CC;
- int _field2D0;
- int _field2D4;
- int _field2D8;
- int _field2E0;
- int _field2E4;
- int _field2E8;
- int _field2EC;
- int _field2F0;
- int _field2F4;
- int _field2F8;
- int _field2FC;
- int _field300;
- int _field304;
- int _field308;
- int _field30C;
- int _field310;
- int _field314;
- int _field318;
- int _field31C;
- int _field320;
- int _field324;
- int _field328;
- int _field32C;
- int _field330;
- int _field334;
- int _field338;
- int _field33C;
- int _field340;
+private:
+ /**
+ * Plays a given range of movie frames
+ */
+ void playRange(const FrameRange &range, uint flags = 0);
public:
CLASSDEF;
CBarbot();