From 786f2ca4487ea852bf3f4b95dbafc8499ed526cb Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 13 Aug 2016 15:09:57 -0400 Subject: TITANIC: Implementing CBarbot game object class --- engines/titanic/npcs/barbot.h | 139 ++++++------------------------------------ 1 file changed, 19 insertions(+), 120 deletions(-) (limited to 'engines/titanic/npcs/barbot.h') 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 { + 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(); -- cgit v1.2.3