ScummVM API documentation
room406.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_BURGER_ROOMS_SECTION4_ROOM406_H
23 #define M4_BURGER_ROOMS_SECTION4_ROOM406_H
24 
25 #include "m4/burger/rooms/section4/section4_room.h"
26 #include "m4/burger/walker.h"
27 
28 namespace M4 {
29 namespace Burger {
30 namespace Rooms {
31 
32 class Room406 : public Section4Room {
33 private:
34  static const char *SAID[][4];
35  static const WilburMatch MATCH[];
36  static const seriesStreamBreak SERIES1[];
37  static const seriesPlayBreak PLAY1[];
38  static const seriesPlayBreak PLAY2[];
39  static const seriesPlayBreak PLAY3[];
40  static const seriesPlayBreak PLAY4[];
41  static const seriesPlayBreak PLAY5[];
42  static const seriesPlayBreak PLAY6[];
43  static const seriesPlayBreak PLAY7[];
44  static const seriesPlayBreak PLAY8[];
45  static const seriesPlayBreak PLAY9[];
46  static const seriesPlayBreak PLAY10[];
47  static const seriesPlayBreak PLAY11[];
48  static const seriesPlayBreak PLAY12[];
49  static const seriesPlayBreak PLAY13[];
50  static const seriesPlayBreak PLAY14[];
51  static const seriesPlayBreak PLAY15[];
52  static const seriesPlayBreak PLAY16[];
53  static const seriesPlayBreak PLAY17[];
54  static const seriesPlayBreak PLAY18[];
55  static const seriesPlayBreak PLAY19[];
56  static const seriesPlayBreak PLAY20[];
57  static const seriesPlayBreak PLAY21[];
58  static const seriesPlayBreak PLAY22[];
59  static const seriesPlayBreak PLAY23[];
60  static const seriesPlayBreak PLAY24[];
61  static const seriesPlayBreak PLAY25[];
62  static const seriesPlayBreak PLAY26[];
63  static const seriesPlayBreak PLAY27[];
64  static const seriesPlayBreak PLAY28[];
65  static const seriesPlayBreak PLAY29[];
66  static const seriesPlayBreak PLAY30[];
67  static const seriesPlayBreak PLAY31[];
68  static const seriesPlayBreak PLAY32[];
69  static const seriesPlayBreak PLAY33[];
70  static const seriesPlayBreak PLAY34[];
71  static const seriesPlayBreak PLAY35[];
72  static const seriesPlayBreak PLAY36[];
73  static int32 _state1;
74  static int32 _state2;
75  static int32 _state3;
76  static int32 _state4;
77  Series _coll;
78  Series _gate;
79  Series _mg03;
80  int32 _gateS1 = 0, _gateS2 = 0;
81  int32 _tire = 0;
82  const char *_seriesName = nullptr;
83  machine *_tt = nullptr;
84  machine *_tts = nullptr;
85  machine *_fish = nullptr;
86  machine *_wi03 = nullptr;
87  machine *_coll406 = nullptr;
88  int32 _fishS = 0;
89  Common::String _randomDigi;
90  noWalkRect *_walk1 = nullptr;
91  noWalkRect *_walk2 = nullptr;
92  noWalkRect *_walk3 = nullptr;
93  noWalkRect *_walk4 = nullptr;
94  HotSpotRec *_hotspot = nullptr;
95  bool _flag1 = false;
96  bool _flag2 = false;
97  bool _flag3 = false;
98  int _ticks = 0;
99  int _dogShould = 0;
100  int _val2 = 0;
101  //int _val3 = 0;
102  int _val4 = 0;
103  int _mayorShould = 0;
104  int _val6 = 0;
105  int _val7 = 0;
106 
107  void loadSeries();
108  void setHotspots1();
109  void setHotspots2();
110  void setHotspots3();
111  void setHotspots4();
112  void setupFish();
113  void setupTt();
114  void setNoWalk();
115  void parseJail();
116  void playRandom(int trigger);
117  int tabooAreaY(int x) const;
118  void triggerPreparser();
119 
120 public:
121  Room406();
122  ~Room406() override {}
123 
124  void init() override;
125  void daemon() override;
126  void pre_parser() override;
127  void parser() override;
128 };
129 
130 } // namespace Rooms
131 } // namespace Burger
132 } // namespace M4
133 
134 #endif
Definition: ws_machine.h:130
Definition: stream_break.h:32
Definition: str.h:59
Definition: walker.h:34
Definition: gr_series.h:58
Definition: database.h:28
Definition: section4_room.h:31
Definition: adv_hotspot.h:30
Definition: play_break.h:32
Definition: room406.h:32
Definition: adv.h:68