12 #ifndef MADS_PHANTOM_SOUND_PSOUND_PHANTOM_H 13 #define MADS_PHANTOM_SOUND_PSOUND_PHANTOM_H 15 #include "mads/phantom/sound/psound.h" 25 int dispatchBaseCommand(
int commandId);
26 void loadFixedChannels(
const uint16 *sequences, uint count);
27 void playSounds(
const uint16 *sequences, uint count);
28 void playMusic(
const uint16 *sequences, uint count);
29 bool loadFixedIfInactive(uint16 guard,
const uint16 *sequences, uint count);
30 void leaveMalformedChannelSilent(
const char *filename, byte channel,
31 uint16 sequenceOffset);
34 virtual int executeCommand(
int commandId) = 0;
37 int command(
int commandId,
int param)
override;
40 #define DECLARE_PHANTOM_PSOUND(_name) \ 41 class PSound##_name final : public PhantomPSound { \ 43 int executeCommand(int commandId) override; \ 46 explicit PSound##_name(Audio::Mixer *mixer); \ 51 uint16 _previousSelector;
52 uint16 _olderSelector;
53 int executeCommand(
int commandId)
override;
54 void selectBackgroundMusic();
60 DECLARE_PHANTOM_PSOUND(2);
61 DECLARE_PHANTOM_PSOUND(3);
65 int executeCommand(
int commandId)
override;
72 DECLARE_PHANTOM_PSOUND(5);
73 DECLARE_PHANTOM_PSOUND(9);
74 DECLARE_PHANTOM_PSOUND(Demo);
76 #undef DECLARE_PHANTOM_PSOUND 79 bool validatePhantomPSoundFile(
int section,
bool isDemo,
86 #endif // MADS_PHANTOM_SOUND_PSOUND_PHANTOM_H
bool callFunction(uint16 targetOffset, Channel &channel) override
int command(int commandId, int param) override
Definition: psound_phantom.h:49
Definition: psound_phantom.h:21
Definition: psound_phantom.h:63
Definition: anim_timer.h:27