ScummVM API documentation
room145.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_SECTION1_ROOM145_H
23 #define M4_BURGER_ROOMS_SECTION1_ROOM145_H
24 
25 #include "m4/burger/rooms/room.h"
26 #include "m4/burger/walker.h"
27 
28 namespace M4 {
29 namespace Burger {
30 namespace Rooms {
31 
32 class Room145 : public Room {
33 private:
34  static const char *SAID[][4];
35  static const WilburMatch MATCH[];
36  static const seriesPlayBreak PLAY1[];
37  static const seriesPlayBreak PLAY2[];
38  static const seriesPlayBreak PLAY3[];
39  static const seriesPlayBreak PLAY4[];
40  static const seriesPlayBreak PLAY5[];
41  static const seriesPlayBreak PLAY6[];
42  static const seriesPlayBreak PLAY7[];
43  static const seriesPlayBreak PLAY8[];
44  static const seriesPlayBreak PLAY9[];
45  static const seriesPlayBreak PLAY10[];
46  static const seriesPlayBreak PLAY11[];
47  static const seriesPlayBreak PLAY12[];
48  static const seriesPlayBreak PLAY13[];
49  static const seriesPlayBreak PLAY14[];
50  static const seriesPlayBreak PLAY15[];
51  static const seriesPlayBreak PLAY16[];
52  static const seriesPlayBreak PLAY17[];
53  static const seriesPlayBreak PLAY18[];
54  static const seriesPlayBreak PLAY19[];
55  static const seriesPlayBreak PLAY20[];
56  static const seriesPlayBreak PLAY21[];
57  static const seriesPlayBreak PLAY22[];
58  static const seriesPlayBreak PLAY23[];
59  static int32 _state1;
60  static int32 _state2;
61  static int32 _state3;
62  noWalkRect *_walk1 = nullptr;
63  noWalkRect *_walk2 = nullptr;
64  noWalkRect *_walk3 = nullptr;
65  machine *_amplifier = nullptr;
66  Series _vipe;
67  Series _roxy;
68  const char *_digiName1 = nullptr;
69  const char *_digiName2 = nullptr;
70  bool _flag1 = false;
71  int _duration = 0;
72  int _drumzState = 0;
73  int _roxyTalkTo = 0;
74  int _roxyState = 0;
75  int _vipeState = 0;
76  int _val5 = 0;
77 
78  void loadDrum();
79  void loadRx();
80  void conv21();
81  void conv22();
82  void conv23();
83  void vipeSpeaking();
84  void roxySpeaking();
85  void loadSeries1();
86  int getRandomDrumzState() const;
87  void resetRoxy();
88  void playRandomDigi1();
89  void playRandomDigi2();
90 
91 public:
92  Room145();
93  ~Room145() override {}
94 
95  void init() override;
96  void daemon() override;
97  void pre_parser() override;
98  void parser() override;
99 };
100 
101 } // namespace Rooms
102 } // namespace Burger
103 } // namespace M4
104 
105 #endif
Definition: ws_machine.h:130
Definition: walker.h:34
Definition: gr_series.h:58
Definition: room145.h:32
Definition: room.h:38
Definition: database.h:28
Definition: play_break.h:32
Definition: adv.h:68