ScummVM API documentation
succubus.h
1 /* ScummVM - Graphic Adventure Engine
2  *
3  * ScummVM is the legal property of its developers, whose names
4  * are too numerous to list here. Please refer to the COPYRIGHT
5  * file distributed with this source distribution.
6  *
7  * This program is free software: you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation, either version 3 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program. If not, see <http://www.gnu.org/licenses/>.
19  *
20  */
21 
22 #ifndef TITANIC_SUCCUBUS_H
23 #define TITANIC_SUCCUBUS_H
24 
25 #include "titanic/npcs/true_talk_npc.h"
26 #include "titanic/messages/pet_messages.h"
27 
28 namespace Titanic {
29 
30 enum SuccUBusAction { SA_SENT = 0, SA_FEATHERS = 1, SA_EATEN = 2,
31  SA_BILGE_FEATHERS = 3, SA_BILGE_SENT = 4, SA_BILGE_EATEN = 5 };
32 
33 class CSuccUBus : public CTrueTalkNPC {
34  DECLARE_MESSAGE_MAP;
35  bool MouseButtonDownMsg(CMouseButtonDownMsg *msg);
36  bool SubAcceptCCarryMsg(CSubAcceptCCarryMsg *msg);
37  bool EnterViewMsg(CEnterViewMsg *msg);
38  bool LeaveViewMsg(CLeaveViewMsg *msg);
39  bool PETDeliverMsg(CPETDeliverMsg *msg);
40  bool PETReceiveMsg(CPETReceiveMsg *msg);
41  bool MovieEndMsg(CMovieEndMsg *msg);
42  bool TrueTalkGetStateValueMsg(CTrueTalkGetStateValueMsg *msg);
43  bool SignalObject(CSignalObject *msg);
44  bool TurnOn(CTurnOn *msg);
45  bool TurnOff(CTurnOff *msg);
46  bool SUBTransition(CSUBTransition *msg);
47  bool SetChevRoomBits(CSetChevRoomBits *msg);
48  bool ActMsg(CActMsg *msg);
49  bool MouseDragStartMsg(CMouseDragStartMsg *msg);
50 protected:
51  static bool _isOn;
52  static bool _motherBlocked;
53  static bool _fuseboxOn;
54 protected:
55  int _initialStartFrame;
56  int _initialEndFrame;
57  int _endingStartFrame;
58  int _endingEndFrame;
59  int _sendStartFrame;
60  int _sendEndFrame;
61  int _receiveStartFrame;
62  int _receiveEndFrame;
63  int _onStartFrame;
64  int _onEndFrame;
65  int _offStartFrame;
66  int _offEndFrame;
67  int _okStartFrame;
68  int _okEndFrame;
69  RoomFlagsComparison _flagsComparison;
70  CGameObject *_mailP;
71  int _afterReceiveStartFrame;
72  int _afterReceiveEndFrame;
73  int _trayOutStartFrame;
74  int _trayOutEndFrame;
75  SuccUBusAction _sendAction;
76  bool _signalFlag;
77  CString _signalTarget;
78  int _startFrame1;
79  int _endFrame1;
80  Rect _rect1;
81  int _field184;
82  bool _mailPresent;
83  Rect _rect2;
84  bool _sendLost;
85  int _soundHandle;
86  bool _isChicken;
87  bool _isFeathers;
88  int _priorRandomVal1;
89  int _priorRandomVal2;
90  int _emptyStartFrame;
91  int _emptyEndFrame;
92  int _smokeStartFrame;
93  int _smokeEndFrame;
94  int _hoseStartFrame;
95  int _hoseEndFrame;
96  int _pumpingStartFrame;
97  int _pumpingEndFrame;
98  uint _destRoomFlags;
99  bool _inProgress;
100 public:
101  CLASSDEF;
102  CSuccUBus();
103 
107  void save(SimpleFile *file, int indent) override;
108 
112  void load(SimpleFile *file) override;
113 };
114 
115 } // End of namespace Titanic
116 
117 #endif /* TITANIC_SUCCUBUS_H */
Definition: mouse_messages.h:150
Definition: messages.h:404
Definition: succubus.h:33
Definition: messages.h:397
void save(SimpleFile *file, int indent) override
Definition: true_talk_npc.h:43
Definition: messages.h:381
Definition: messages.h:289
Definition: simple_file.h:49
Definition: messages.h:367
Definition: game_object.h:79
Definition: messages.h:319
Definition: messages.h:254
Definition: rect.h:35
Definition: messages.h:378
Definition: arm.h:30
Definition: string.h:40
Definition: messages.h:373
Definition: messages.h:310
Definition: mouse_messages.h:71
void load(SimpleFile *file) override
Definition: messages.h:403