CSE2-tweaks/src/Sound.h

55 lines
1.4 KiB
C

// THIS IS DECOMPILED PROPRIETARY CODE - USE AT YOUR OWN RISK.
//
// The original code belongs to Daisuke "Pixel" Amaya.
//
// Modifications and custom code are under the MIT licence.
// See LICENCE.txt for details.
#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_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 BOOL audio_backend_initialised;
extern AudioBackend_Sound *lpSECONDARYBUFFER[SE_MAX];
BOOL InitDirectSound(void);
void EndDirectSound(void);
BOOL InitSoundObject(const char *resname, int no);
BOOL LoadSoundObject(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);