ScummVM API documentation
logic.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 TRECISION_LOGIC_H
23#define TRECISION_LOGIC_H
24
25#include "common/scummsys.h"
26#include "common/serializer.h"
27
28namespace Trecision {
29class TrecisionEngine;
30
32 TrecisionEngine *_vm;
33
34 // panel puzzle 35
35 uint16 _comb35[7];
36 uint16 _count35;
37
38 // sundial puzzle 49
39 uint16 _comb49[4];
40
41 // sundial puzzle 4CT
42 uint16 _comb4CT[6];
43
44 // keyboard puzzle 58
45 uint16 _comb58[6];
46 uint16 _count58;
47
48 // SlotMachine41
49 uint16 _slotMachine41Counter;
50
51 // special management
52 uint16 _wheel;
53 uint16 _wheelPos[3];
54
55 void initInventory();
56
57public:
60
61 void syncGameStream(Common::Serializer &ser);
62
63 void setupAltRoom(uint16 room, bool altRoomFl);
64 void endChangeRoom();
65
66 void useInventoryWithInventory();
67 void useInventoryWithScreen();
68 bool useScreenWithScreen();
69 void roomOut(uint16 curObj, uint16 *action, uint16 *pos);
70 bool mouseExamine(uint16 curObj);
71 bool mouseOperate(uint16 curObj);
72 bool mouseTake(uint16 curObj);
73 bool mouseTalk(uint16 curObj);
74 bool mouseClick(uint16 curObj);
75 bool operateInventory();
76
77 void doMouseGame();
78 bool doMouseInventory();
79 void doMouseLeftRight();
80
81 void doSystemChangeRoom(uint16 room);
82
83 bool isCloseupOrControlRoom() const;
84
85private:
86 void startCharacterAnimations();
87 bool startPlayDialog();
88 void initControlPanel();
89
90 void handleClickControlPanel(uint16 curObj);
91 void handleClickSphinxPuzzle();
92 void handleClickPositioner();
93 void handleClickSnakeEscape();
94 void handleClickCloseup();
95 void handleClickGameArea();
96 void handleClickInventoryArea();
97 void handleChangeRoomObjects();
98};
99// end of class
100
101} // End of namespace Trecision
102#endif
103
Definition: serializer.h:80
Definition: logic.h:31
Definition: trecision.h:112