#pragma once #include "WindowsWrapper.h" #include "Backends/Audio.h" #include "PixTone.h" #define SE_MAX 160 // According to the Organya source code release, this is the real name for this constant enum SoundEffectNames { SND_YES_NO_CHANGE_CHOICE = 1, SND_MESSAGE_TYPING = 2, SND_QUOTE_BUMP_HEAD = 3, SND_SWITCH_WEAPON = 4, SND_YES_NO_PROMPT = 5, // To be continued SND_SILLY_EXPLOSION = 25, SND_LARGE_OBJECT_HIT_GROUND = 26, // To be continued SND_ENEMY_SHOOT_PROJETILE = 39, // To be continued SND_BEHEMOTH_LARGE_HURT = 52, // To be continued SND_EXPLOSION = 72 // To be continued }; enum SoundMode { SOUND_MODE_PLAY_LOOP = -1, SOUND_MODE_STOP = 0, SOUND_MODE_PLAY = 1 }; extern BOOL audio_backend_initialised; extern AudioBackend_Sound *lpSECONDARYBUFFER[SE_MAX]; extern AudioBackend_Sound *lpDRAMBUFFER[8]; BOOL InitDirectSound(void); void EndDirectSound(void); BOOL InitSoundObject(const char *resname, int no); BOOL LoadSoundObject(const char *file_name, int no); BOOL LoadDramObject(const char *file_name, int no); void PlaySoundObject(int no, SoundMode mode); void ChangeSoundFrequency(int no, unsigned long rate); void ChangeSoundVolume(int no, long volume); void ChangeSoundPan(int no, long pan); int MakePixToneObject(const PIXTONEPARAMETER *ptp, int ptp_num, int no);