Wing Commander
Reconstructed Win32 source (1996)
Loading...
Searching...
No Matches
sound.c File Reference

Sound-effect samples, playback and saved volume settings. More...

#include "wc1.h"
#include <malloc.h>

Go to the source code of this file.

Functions

void InitializeAudioSystem (HWND window)
void ServiceAudioStream (void)
WaveTableEntry * AllocateWaveTableEntry (void)
WaveTableEntry * FindWaveTableEntryByName (const char *name)
void RemoveWaveTableEntry (WaveTableEntry *target)
void FreeWaveTable (void)
ActiveSoundEntry * AllocateActiveSoundEntry (void)
void RemoveActiveSoundEntry (ActiveSoundEntry *target)
ActiveSoundEntry * FindActiveSoundEntryBySample (IxSample *sample)
void ReleaseFinishedSoundEntries (void)
void StopSoundsUsingWave (const char *name)
void playWAVE (const char *filename, int looping, int volume)
void stop_all_sounds (void)
void PlaySnowStaticSound (void)
void ServiceSoundSystem (void)
void SetSoundEffectsVolume (int volume)
LONG RegistryQueryValue (HKEY key, LPCSTR name, DWORD type, LPBYTE data, DWORD size)
void RegistryStoreValue (HKEY key, LPCSTR name, DWORD type, const BYTE *data, DWORD size)
void LoadVolumeSettingsFromRegistry (void)
void SaveVolumeSettingsToRegistry (void)

Variables

static ActiveSoundEntry * pActiveSoundHead = 0
static ActiveSoundEntry * pActiveSoundTail = 0
static int bAudioSystemInitialized = 0
static WaveTableEntry * pWaveTableHead = 0
static WaveTableEntry * pWaveTableTail = 0
static char szMusicVolumeValueName [] = "MusicVolume"
static char szSfxVolumeValueName [] = "SFXVolume"
static WaveTableEntry * pSnowStaticWave
static IxSound * pSnowStaticSound

Detailed Description

Sound-effect samples, playback and saved volume settings.

Address range 42b160-42b99f; the launch data that follows marks the unit boundary. Compiled as C++ (/TP), since it calls ix member functions directly.

Definition in file sound.c.

Function Documentation

◆ AllocateActiveSoundEntry()

◆ AllocateWaveTableEntry()

◆ FindActiveSoundEntryBySample()

◆ FindWaveTableEntryByName()

WaveTableEntry * FindWaveTableEntryByName ( const char * name)

◆ FreeWaveTable()

◆ InitializeAudioSystem()

◆ LoadVolumeSettingsFromRegistry()

◆ PlaySnowStaticSound()

◆ playWAVE()

◆ RegistryQueryValue()

LONG RegistryQueryValue ( HKEY key,
LPCSTR name,
DWORD type,
LPBYTE data,
DWORD size )

◆ RegistryStoreValue()

void RegistryStoreValue ( HKEY key,
LPCSTR name,
DWORD type,
const BYTE * data,
DWORD size )

◆ ReleaseFinishedSoundEntries()

◆ RemoveActiveSoundEntry()

◆ RemoveWaveTableEntry()

void RemoveWaveTableEntry ( WaveTableEntry * target)

◆ SaveVolumeSettingsToRegistry()

◆ ServiceAudioStream()

◆ ServiceSoundSystem()

void ServiceSoundSystem ( void )

Definition at line 334 of file sound.c.

References ix_system_service_sounds(), and ServiceSoundSystem().

Referenced by DIBslamReal(), init_3Space_objects(), and ServiceSoundSystem().

◆ SetSoundEffectsVolume()

◆ stop_all_sounds()

◆ StopSoundsUsingWave()

Variable Documentation

◆ bAudioSystemInitialized

int bAudioSystemInitialized = 0
static

Definition at line 15 of file sound.c.

Referenced by InitializeAudioSystem(), and ServiceAudioStream().

◆ pActiveSoundHead

◆ pActiveSoundTail

ActiveSoundEntry* pActiveSoundTail = 0
static

Definition at line 14 of file sound.c.

Referenced by AllocateActiveSoundEntry(), and RemoveActiveSoundEntry().

◆ pSnowStaticSound

IxSound* pSnowStaticSound
static

Definition at line 22 of file sound.c.

Referenced by PlaySnowStaticSound(), and stop_all_sounds().

◆ pSnowStaticWave

WaveTableEntry* pSnowStaticWave
static

Definition at line 21 of file sound.c.

Referenced by PlaySnowStaticSound(), and stop_all_sounds().

◆ pWaveTableHead

WaveTableEntry* pWaveTableHead = 0
static

◆ pWaveTableTail

WaveTableEntry* pWaveTableTail = 0
static

Definition at line 17 of file sound.c.

Referenced by AllocateWaveTableEntry(), FreeWaveTable(), and RemoveWaveTableEntry().

◆ szMusicVolumeValueName

char szMusicVolumeValueName[] = "MusicVolume"
static

Definition at line 18 of file sound.c.

Referenced by LoadVolumeSettingsFromRegistry(), and SaveVolumeSettingsToRegistry().

◆ szSfxVolumeValueName

char szSfxVolumeValueName[] = "SFXVolume"
static

Definition at line 19 of file sound.c.

Referenced by LoadVolumeSettingsFromRegistry(), and SaveVolumeSettingsToRegistry().