ScummVM API documentation
asound_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_NEBULAR_H
23 #define MADS_NEBULAR_SOUND_NEBULAR_H
24 
25 #include "mads/nebular/sound/asound.h"
26 
27 namespace MADS {
28 namespace RexNebular {
29 namespace Sound {
30 
31 class ASound1 : public ASound {
32 private:
33  typedef int (ASound1:: *CommandPtr)();
34  static const CommandPtr _commandList[42];
35  bool _cmd23Toggle;
36 
37  int command9();
38  int command10();
39  int command11();
40  int command12();
41  int command13();
42  int command14();
43  int command15();
44  int command16();
45  int command17();
46  int command18();
47  int command19();
48  int command20();
49  int command21();
50  int command22();
51  int command23();
52  int command24();
53  int command25();
54  int command26();
55  int command27();
56  int command28();
57  int command29();
58  int command30();
59  int command31();
60  int command32();
61  int command33();
62  int command34();
63  int command35();
64  int command36();
65  int command37();
66  int command38();
67  int command39();
68  int command40();
69  int command41();
70 
71  void command111213();
72  int command2627293032();
73 public:
74  ASound1(Audio::Mixer *mixer);
75 
76  int command(int commandId, int param) override;
77 };
78 
79 class ASoundDemo1 : public ASound {
80 private:
81  typedef int (ASoundDemo1:: *CommandPtr)();
82  static const CommandPtr _commandList[41];
83  bool _cmd23Toggle;
84 
85  int command9();
86  int command10();
87  int command11();
88  int command12();
89  int command13();
90  int command14();
91  int command15();
92  int command16();
93  int command17();
94  int command18();
95  int command19();
96  int command20();
97  int command21();
98  int command22();
99  int command23();
100  int command24();
101  int command25();
102  int command26();
103  int command27();
104  int command28();
105  int command29();
106  int command30();
107  int command31();
108  int command32();
109  int command33();
110  int command34();
111  int command35();
112  int command36();
113  int command37();
114  int command38();
115  int command39();
116  int command40();
117 
118  void command111213();
119  int command2627293032();
120 public:
121  ASoundDemo1(Audio::Mixer *mixer);
122 
123  int command(int commandId, int param) override;
124 };
125 
126 class ASound2 : public ASound {
127 private:
128  byte _command12Param;
129 private:
130  typedef int (ASound2:: *CommandPtr)();
131  static const CommandPtr _commandList[44];
132 
133  int command0() override;
134  int command9();
135  int command10();
136  int command11();
137  int command12();
138  int command13();
139  int command14();
140  int command15();
141  int command16();
142  int command17();
143  int command18();
144  int command19();
145  int command20();
146  int command21();
147  int command22();
148  int command23();
149  int command24();
150  int command25();
151  int command26();
152  int command27();
153  int command28();
154  int command29();
155  int command30();
156  int command31();
157  int command32();
158  int command33();
159  int command34();
160  int command35();
161  int command36();
162  int command37();
163  int command38();
164  int command39();
165  int command40();
166  int command41();
167  int command42();
168  int command43();
169 
170  void command9Randomize();
171  void command9Apply(byte *data, int val, int incr);
172 public:
173  ASound2(Audio::Mixer *mixer);
174 
175  int command(int commandId, int param) override;
176 };
177 
178 class ASound3 : public ASound {
179 private:
180  bool _command39Flag;
181 
182  typedef int (ASound3:: *CommandPtr)();
183  static const CommandPtr _commandList[61];
184 
185  int command9();
186  int command10();
187  int command11();
188  int command13();
189  int command14();
190  int command15();
191  int command16();
192  int command17();
193  int command18();
194  int command19();
195  int command20();
196  int command21();
197  int command22();
198  int command23();
199  int command24();
200  int command25();
201  int command26();
202  int command27();
203  int command28();
204  int command29();
205  int command30();
206  int command31();
207  int command32();
208  int command33();
209  int command34();
210  int command35();
211  int command36();
212  int command37();
213  int command38();
214  int command39();
215  int command40();
216  int command41();
217  int command42();
218  int command43();
219  int command44();
220  int command45();
221  int command46();
222  int command47();
223  int command49();
224  int command50();
225  int command51();
226  int command57();
227  int command59();
228  int command60();
229 
230  void command9Randomize();
231  void command9Apply(byte *data, int val, int incr);
232 public:
233  ASound3(Audio::Mixer *mixer);
234 
235  int command(int commandId, int param) override;
236 };
237 
238 class ASound4 : public ASound {
239 private:
240  typedef int (ASound4:: *CommandPtr)();
241  static const CommandPtr _commandList[60];
242 
243  int command10();
244  int command12();
245  int command19();
246  int command20();
247  int command21();
248  int command24();
249  int command27();
250  int command30();
251  int command32();
252  int command33();
253  int command34();
254  int command35();
255  int command36();
256  int command37();
257  int command38();
258  int command43();
259  int command52();
260  int command53();
261  int command54();
262  int command55();
263  int command56();
264  int command57();
265  int command58();
266  int command59();
267  void method1();
268 public:
269  ASound4(Audio::Mixer *mixer);
270 
271  int command(int commandId, int param) override;
272 };
273 
274 class ASound5 : public ASound {
275 private:
276  typedef int (ASound5:: *CommandPtr)();
277  static const CommandPtr _commandList[42];
278 
279  int command9();
280  int command10();
281  int command11();
282  int command12();
283  int command13();
284  int command14();
285  int command15();
286  int command16();
287  int command17();
288  int command18();
289  int command19();
290  int command20();
291  int command21();
292  int command22();
293  int command23();
294  int command24();
295  int command25();
296  int command26();
297  int command27();
298  int command28();
299  int command29();
300  int command30();
301  int command31();
302  int command32();
303  int command33();
304  int command34();
305  int command35();
306  int command36();
307  int command37();
308  int command38();
309  int command39();
310  int command40();
311  int command41();
312  int command42();
313  int command43();
314 public:
315  ASound5(Audio::Mixer *mixer);
316 
317  int command(int commandId, int param) override;
318 };
319 
320 class ASound6 : public ASound {
321 private:
322  typedef int (ASound6:: *CommandPtr)();
323  static const CommandPtr _commandList[30];
324 
325  int command9();
326  int command10();
327  int command11();
328  int command12();
329  int command13();
330  int command14();
331  int command15();
332  int command16();
333  int command17();
334  int command18();
335  int command19();
336  int command20();
337  int command21();
338  int command22();
339  int command23();
340  int command24();
341  int command25();
342  int command29();
343 public:
344  ASound6(Audio::Mixer *mixer);
345 
346  int command(int commandId, int param) override;
347 };
348 
349 class ASound7 : public ASound {
350 private:
351  typedef int (ASound7:: *CommandPtr)();
352  static const CommandPtr _commandList[38];
353 
354  int command9();
355  int command15();
356  int command16();
357  int command18();
358  int command19();
359  int command20();
360  int command21();
361  int command22();
362  int command23();
363  int command24();
364  int command25();
365  int command26();
366  int command27();
367  int command28();
368  int command30();
369  int command32();
370  int command33();
371  int command34();
372  int command35();
373  int command36();
374  int command37();
375 public:
376  ASound7(Audio::Mixer *mixer);
377 
378  int command(int commandId, int param) override;
379 };
380 
381 class ASound8 : public ASound {
382 private:
383  typedef int (ASound8:: *CommandPtr)();
384  static const CommandPtr _commandList[38];
385 
386  int command9();
387  int command10();
388  int command11();
389  int command12();
390  int command13();
391  int command14();
392  int command15();
393  int command16();
394  int command17();
395  int command18();
396  int command19();
397  int command20();
398  int command21();
399  int command22();
400  int command23();
401  int command24();
402  int command25();
403  int command26();
404  int command27();
405  int command28();
406  int command29();
407  int command30();
408  int command31();
409  int command32();
410  int command33();
411  int command34();
412  int command35();
413  int command36();
414  int command37();
415 
416  void method1(byte *pData);
417  void adjustRange(byte *pData, byte v, int incr);
418 public:
419  ASound8(Audio::Mixer *mixer);
420 
421  int command(int commandId, int param) override;
422 };
423 
424 class ASoundDemo9 : public ASound {
425 private:
426  typedef int (ASoundDemo9:: *CommandPtr)();
427  static const CommandPtr _commandList[39];
428 
429  int command11();
430  int command14();
431  int command17();
432  int command20();
433  int command21();
434  int command22();
435  int command23();
436  int command26();
437  int command27();
438  int command28();
439  int command29();
440  int command30();
441  int command31();
442  int command34();
443  int command35();
444  int command36();
445  int command38();
446 public:
447  ASoundDemo9(Audio::Mixer *mixer);
448 
449  int command(int commandId, int param) override;
450 };
451 
452 class ASound9 : public ASound {
453 private:
461  typedef void (ASound9:: *CallbackFunction)();
462  int _callbackCounter;
463  int _callbackPeriod;
464  CallbackFunction _callbackFnPtr;
465 
466  typedef int (ASound9:: *CommandPtr)();
467  static const CommandPtr _commandList[52];
468 
469  void tickCallback() override;
470 
471  int command9();
472  int command10();
473  int command11();
474  int command12();
475  int command13();
476  int command14();
477  int command15();
478  int command16();
479  int command17();
480  int command18();
481  int command19();
482  int command20();
483  int command21();
484  int command22();
485  int command23();
486  int command24();
487  int command25();
488  int command26();
489  int command27();
490  int command28();
491  int command29();
492  int command30();
493  int command31();
494  int command32();
495  int command33();
496  int command34();
497  int command35();
498  int command36();
499  int command37();
500  int command38();
501  int command39();
502  int command40();
503  int command41();
504  int command42();
505  int command43();
506  int command44_46();
507  int command45();
508  int command47();
509  int command48();
510  int command49();
511  int command50();
512  int command51();
513 
514  // Deferred loader bodies, scheduled via _callbackFnPtr by the commands above
515  void loadCommand38();
516  void loadCommand39();
517  void loadCommand40();
518  void loadCommand41();
519  void loadCommand42();
520  void loadCommand44_46();
521  void loadCommand45();
522  void loadCommand47();
523  void loadCommand50();
524 public:
525  ASound9(Audio::Mixer *mixer);
526 
527  int command(int commandId, int param) override;
528 };
529 
530 } // namespace Sound
531 } // namespace RexNebular
532 } // namespace MADS
533 
534 #endif
Definition: asound_nebular.h:424
Definition: asound_nebular.h:349
Definition: asound.h:137
Definition: asound_nebular.h:238
Definition: asound_nebular.h:31
Definition: asound_nebular.h:381
Definition: asound_nebular.h:79
Definition: asound_nebular.h:274
Definition: asound_nebular.h:126
Definition: mixer.h:70
Definition: asound_nebular.h:452
Definition: asound_nebular.h:320
int command(int commandId, int param) override
virtual void tickCallback()
Definition: asound.h:201
Definition: anim_timer.h:27
Definition: asound_nebular.h:178