ref: 20cbb8cc733f10d5156cf8fa6f2e165d0a3fccbb
dir: /src/Sound.h/
#pragma once #ifndef DIRECTSOUND_VERSION #define DIRECTSOUND_VERSION 0x500 #endif #include <dsound.h> #include "WindowsWrapper.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_PROJECTILE = 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 LPDIRECTSOUND lpDS; extern LPDIRECTSOUNDBUFFER lpSECONDARYBUFFER[SE_MAX]; BOOL InitDirectSound(HWND hwnd); void EndDirectSound(void); BOOL InitSoundObject(LPCSTR resname, int no); BOOL LoadSoundObject(LPCSTR file_name, int no); void PlaySoundObject(int no, SoundMode mode); void ChangeSoundFrequency(int no, DWORD rate); void ChangeSoundVolume(int no, long volume); void ChangeSoundPan(int no, long pan); int MakePixToneObject(const PIXTONEPARAMETER *ptp, int ptp_num, int no);