ScummVM API documentation
room.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 M4_RIDDLE_ROOMS_ROOM_H
23 #define M4_RIDDLE_ROOMS_ROOM_H
24 
25 #include "m4/core/rooms.h"
26 #include "m4/adv_r/conv_io.h"
27 #include "m4/core/imath.h"
28 #include "m4/graphics/gr_series.h"
29 #include "m4/adv_r/adv_hotspot.h"
30 
31 namespace M4 {
32 namespace Riddle {
33 namespace Rooms {
34 
35 class Room : public M4::Room {
36 private:
37  static int _ripSketching;
38 
39 protected:
40  static void intrMsgNull(frac16 myMessage, machine *sender) {}
41  static void triggerMachineByHashCallback(frac16 myMessage, machine *sender = nullptr);
42  static void triggerMachineByHashCallbackNegative(frac16 myMessage, machine *sender = nullptr);
43  static void triggerMachineByHashCallback3000(frac16 myMessage, machine *sender = nullptr);
44  static void triggerMachineByHashCallbackAlways(frac16 myMessage, machine *sender = nullptr);
45 
46  void restoreAutosave();
47 
53  int checkFlags(bool flag);
54 
55  void setFlag45();
56 
60  void setGlobals1(int val1, int val2, int val3, int val4, int val5,
61  int val6 = 0, int val7 = 0, int val8 = 0, int val9 = 0, int val10 = 0,
62  int val11 = 0, int val12 = 0, int val13 = 0, int val14 = 0, int val15 = 0,
63  int val16 = 0, int val17 = 0, int val18 = 0, int val19 = 0, int val20 = 0,
64  int val21 = 0);
65  void setGlobals3(int series, int val1, int val2);
66  void setGlobals4(int val1, int val2, int val3, int val4);
67 
68  void sendWSMessage_10000(int val1, machine *recv, int val2, int val3,
69  int val4, int trigger, int val9, int val6, int val7, int val8);
70  void sendWSMessage_10000(machine *recv, int val1, int val2, int val3,
71  int trigger, int val4);
72 
73  machine *triggerMachineByHash_3000(int val1, int val2, const int16 *normalDirs,
74  const int16 *shadowDirs, int val3, int val4, int val5,
75  MessageCB intrMsg, const char *machName);
76  void sendWSMessage_60000(machine *mach);
77  void sendWSMessage_80000(machine *mach);
78  void sendWSMessage_B0000(machine *mach, int trigger);
79  void sendWSMessage_B0000(int trigger);
80  void sendWSMessage_C0000(machine *mach, int trigger);
81  void sendWSMessage_C0000(int trigger);
82  void sendWSMessage_D0000(machine *mach);
83  void sendWSMessage_D0000();
84  void sendWSMessage_E0000(machine *mach);
85  void sendWSMessage_E0000();
86  void sendWSMessage_F0000(machine *mach, int trigger);
87  void sendWSMessage_F0000(int trigger);
88  void sendWSMessage_110000(machine *mach, int trigger);
89  void sendWSMessage_110000(int trigger);
90  void sendWSMessage_120000(int trigger);
91  void sendWSMessage_120000(machine *mach, int trigger);
92  void sendWSMessage_130000(machine *recv, int val1);
93  void sendWSMessage_130000(int val1);
94  void sendWSMessage_140000(machine *mach, int trigger);
95  void sendWSMessage_140000(int trigger);
96  void sendWSMessage_150000(machine *mach, int trigger);
97  void sendWSMessage_150000(int trigger);
98  void sendWSMessage_160000(machine *mach, int val1, int trigger);
99  void sendWSMessage_160000(int val1, int trigger);
100  void sendWSMessage_190000(machine *recv, int trigger);
101  void sendWSMessage_190000(int trigger);
102  void sendWSMessage_1a0000(machine *recv, int trigger);
103  void sendWSMessage_29a0000(machine *recv, int val1);
104  void sendWSMessage_29a0000(int val1);
105  void sendWSMessage_multi(const char *name);
106 
110  int getNumKeyItemsPlaced() const;
111 
112  bool setItemsPlacedFlags();
113  const char *getItemsPlacedDigi() const;
114 
118  void disableHotspots();
119 
123  void enableHotspots();
124 
125 public:
126  Room() : M4::Room() {}
127  ~Room() override {}
128 };
129 
130 } // namespace Rooms
131 } // namespace Riddle
132 } // namespace M4
133 
134 #endif
Definition: ws_machine.h:130
int getNumKeyItemsPlaced() const
intptr frac16
Definition: m4_types.h:46
void setGlobals1(int val1, int val2, int val3, int val4, int val5, int val6=0, int val7=0, int val8=0, int val9=0, int val10=0, int val11=0, int val12=0, int val13=0, int val14=0, int val15=0, int val16=0, int val17=0, int val18=0, int val19=0, int val20=0, int val21=0)
Definition: database.h:28
Definition: rooms.h:32
int checkFlags(bool flag)
Definition: room.h:35