#include <asound_phantom.h>
Public Member Functions | |
| ASound1 (Audio::Mixer *mixer) | |
| int | command (int commandId, int param) override |
Public Member Functions inherited from MADS::Phantom::ASound | |
| ASound (Audio::Mixer *mixer, const Common::Path &filename, int dataOffset, int dataSize) | |
| ~ASound () override | |
| virtual int | stop () override |
| int | poll () override |
| void | noise () override |
| void | setVolume (int volume) override |
Public Member Functions inherited from MADS::SoundDriver | |
| SoundDriver (Audio::Mixer *mixer, const Common::Path &filename, int dataOffset, int dataSize) | |
Additional Inherited Members | |
Static Public Member Functions inherited from MADS::Phantom::ASound | |
| static void | validate (bool isDemo) |
Protected Member Functions inherited from MADS::Phantom::ASound | |
| void | write (uint8 reg, uint8 value) |
| uint16 | getRandomNumber () |
| void | adlib_channelOn (uint8 portIndex, uint8 vol) |
| void | signalSoundPlaying () |
| void | pollAllChannels () |
| void | pollActiveChannel () |
| bool | isSoundActive (byte *ptr) const |
| void | findFreeChannel (byte *soundData) |
| void | findFreeChannelFull (byte *soundData) |
| byte * | loadData (int offset) |
| void | playSound (int offset) |
| int | command0 () |
| int | command1 () |
| int | command2 () |
| int | command3 () |
| int | command4 () |
| int | command5 () |
| int | command6 () |
| int | command7 () |
| int | command8 () |
| virtual void | callFunction (uint16 offset) |
Protected Member Functions inherited from MADS::SoundDriver | |
| Common::MemoryReadStream | getDataStream (int offset) const |
Protected Attributes inherited from MADS::Phantom::ASound | |
| AdlibChannel | _channel0 |
| AdlibChannel | _channel1 |
| AdlibChannel | _channel2 |
| AdlibChannel | _channel3 |
| AdlibChannel | _channel4 |
| AdlibChannel | _channel5 |
| AdlibChannel | _channel6 |
| AdlibChannel | _channel7 |
| AdlibChannel | _channel8 |
| AdlibChannel * | _channels [9] |
| uint8 | _adlibPorts [0x100] = { 0 } |
| Common::Array< AdlibSample > | _samples |
Protected Attributes inherited from MADS::SoundDriver | |
| Audio::Mixer * | _mixer |
| Common::Array< byte > | _soundData |
| Common::Mutex | _driverMutex |
ASound1 (asound.ph1, _dataOffset = 0x21e0)
Dispatch table layout: off_11C32: commands 0–8 (max=8, base=0) off_11C44: command 16 (max=0x10, base=0x10, 1 entry) off_11C46: commands 24–27 (max=0x1B, base=0x18, 4 entries) off_11C4E: commands 32–39 (max=0x27, base=0x20, 8 entries)
A fifth table (unk_13C3E, commands 64–76) exists but is encoded as raw sound data bytes used as near-pointers — not reconstructible without the binary. Those commands are silently ignored.
command16 (sub_11F70): random background-music selector. Checks whether channel 0 is already playing one of the five known music pieces; if not, randomly picks from four music loaders and plays it, storing the choice in _musicIndex (mirrors word_11F5E in the original).
|
overridevirtual |
Execute a player command. Most commands represent sounds to play, but some low number commands also provide control operations.
| commandId | Player ommand to execute. |
| param | Optional parameter used by a few commands |
Implements MADS::SoundDriver.