ScummVM API documentation
isound_nebular.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 MADS_NEBULAR_SOUND_ISOUND_NEBULAR_H
23#define MADS_NEBULAR_SOUND_ISOUND_NEBULAR_H
24
25#include "mads/nebular/sound/isound.h"
26
27namespace MADS {
28namespace RexNebular {
29namespace Sound {
30
32 uint16 sequenceOffset;
33 byte priority;
34 bool parameterAtLeast120;
35};
36
37class ISoundSection : public ISound {
38private:
39 const ISoundCommandSequence *_commands;
40 uint _commandCount;
41
42protected:
43 ISoundSection(Audio::Mixer *mixer, const char *filename,
44 const ISoundCommandSequence *commands, uint commandCount);
45
46public:
47 int command(int commandId, int param) override;
48};
49
51class ISound1 : public ISoundSection {
52public:
53 ISound1(Audio::Mixer *mixer);
54};
55
57class ISound2 : public ISoundSection {
58public:
59 ISound2(Audio::Mixer *mixer);
60};
61
63class ISound3 : public ISoundSection {
64protected:
65 ISound3(Audio::Mixer *mixer, const char *filename);
66
67public:
68 ISound3(Audio::Mixer *mixer);
69};
70
72class ISound4 : public ISound3 {
73public:
74 ISound4(Audio::Mixer *mixer);
75};
76
78class ISound5 : public ISoundSection {
79public:
80 ISound5(Audio::Mixer *mixer);
81};
82
84class ISound6 : public ISoundSection {
85public:
86 ISound6(Audio::Mixer *mixer);
87};
88
90class ISound7 : public ISoundSection {
91public:
92 ISound7(Audio::Mixer *mixer);
93};
94
96class ISound8 : public ISoundSection {
97public:
98 ISound8(Audio::Mixer *mixer);
99};
100
102class ISound9 : public ISoundSection {
103public:
104 ISound9(Audio::Mixer *mixer);
105};
106
107} // namespace Sound
108} // namespace RexNebular
109} // namespace MADS
110
111#endif
Definition: mixer.h:70
Definition: isound_nebular.h:51
Definition: isound_nebular.h:57
Definition: isound_nebular.h:63
Definition: isound_nebular.h:72
Definition: isound_nebular.h:78
Definition: isound_nebular.h:84
Definition: isound_nebular.h:90
Definition: isound_nebular.h:96
Definition: isound_nebular.h:102
Definition: isound.h:43
Definition: isound_nebular.h:37
int command(int commandId, int param) override
Definition: isound_nebular.h:31