ScummVM API documentation
room904.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_SECTION9_ROOM904_H
23#define M4_BURGER_ROOMS_SECTION9_ROOM904_H
24
25#include "m4/burger/rooms/room.h"
26#include "m4/gui/gui_dialog.h"
27
28namespace M4 {
29namespace Burger {
30namespace Rooms {
31
32class Room904 : public Rooms::Room {
33private:
34 TextScrn *_screen1 = nullptr;
35 TextScrn *_screen2 = nullptr;
36 int _numSections = 0;
37 int _fontHeight = 0;
38 int _totalWidth = 0;
39 int _totalHeight = 0;
40 int _x1 = 0, _y1 = 0, _x2 = 0, _y2 = 0;
41 int _currentSection = -1;
42
46 void creditsSetup();
47
51 size_t getCreditsSectionsCount() const;
52
56 size_t getMaxCreditsHeaderWidth() const;
57
61 void updateCredits(TextItem *textItem, TextScrn *textScrn);
62
66 int getCreditsSectionLine(int sectionNum) const;
67
71 const char *getCreditsSectionString(int sectionNum) const;
72
76 int getCreditsSectionLines(int sectionNum) const;
77
81 size_t getCreditsSectionWidth(int sectionNum) const;
82
86 const char *getLineInCreditsSection(int sectionNum, int lineNum) const;
87
91 static void creditsCallback(TextItem *textItem, TextScrn *textScrn);
92
96 static void playRandomSound(int trigger, int channel);
97
98public:
99 Room904() : Rooms::Room() {}
100 ~Room904() override {}
101
102 void preload() override;
103 void init() override;
104 void shutdown() override;
105 void daemon() override;
106 void parser() override;
107};
108
109} // namespace Rooms
110} // namespace Burger
111} // namespace M4
112
113#endif
Definition: room904.h:32
Definition: room.h:36
Definition: database.h:28
Definition: gui_item.h:69
Definition: gui_dialog.h:62