ScummVM API documentation
room510.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_SECTION5_ROOM510_H
23 #define M4_BURGER_ROOMS_SECTION5_ROOM510_H
24 
25 #include "m4/burger/rooms/section5/section5_room.h"
26 #include "m4/burger/gui/gui_cheapo.h"
27 
28 namespace M4 {
29 namespace Burger {
30 namespace Rooms {
31 
32 #define BUTTON_COUNT 7
33 
34 class Room510 : public Section5Room {
35 private:
36  struct ButtonDef {
37  int _x1;
38  int _y1;
39  int _x2;
40  int _y2;
41  int _index0;
42  int _index1;
43  int _index2;
44  int _index3;
45  int _state;
46  int _val10;
47  };
48  struct Button : public ButtonDef {
49  machine *_series = nullptr;
50  Button() : ButtonDef() {}
51  Button(const ButtonDef &src) : ButtonDef(src) {}
52  };
53  static const ButtonDef _BUTTONS[BUTTON_COUNT];
54  Button _buttons[BUTTON_COUNT];
55  //machine *_buttonSeries[BUTTON_COUNT];
56  int _val2 = 0;
57  int _val3 = 0;
58  int _val4 = 0;
59 
60  void setupButton(int index);
61  void setButtonState(int index, GUI::ControlStatus state);
62  void buttonAction(int index, int firstFrame, int lastFrame);
63  void updateButtons();
64  int getHighlightedButton() const;
65 
66 public:
67  Room510();
68  ~Room510() override {}
69 
70  void preload() override;
71  void init() override;
72  void daemon() override;
73  void parser() override;
74 };
75 
76 } // namespace Rooms
77 } // namespace Burger
78 } // namespace M4
79 
80 #endif
Definition: ws_machine.h:130
Definition: section5_room.h:31
Definition: room510.h:34
Definition: database.h:28