ChrisOS Research ProjectOperating systems · language systems · graphics · machine emulation
DOCUMENTATION ARCHIVEMAIN BRANCH
ChrisOS/Source reference: GAMES/DOOM/I_SOUND.CC

Source reference: GAMES/DOOM/I_SOUND.CC

Deterministic source record. The complete textual file is reproduced below; this page does not replace architectural interpretation in the authored chapters.

File identity

Field Value
Path GAMES/DOOM/I_SOUND.CC
Lines 99
Bytes 1550
SHA-256 db8b1e15990d7842131b7dff5d2936f9f1b9b6f97f42508b9c2da6c76e1012a5
ChrisOS revision da3df29cb397932c43d32373871fb9380e688ade

Detected syntactic dependencies

Line Include
— No preprocessor include detected.

Detected symbols

Line Symbol
10 I_InitSound
20 I_ShutdownSound
23 I_GetSfxLumpNum
28 I_UpdateSound
31 I_UpdateSoundParams
37 I_StartSound
45 I_StopSound
49 I_SoundIsPlaying
54 I_PrecacheSounds
59 I_InitMusic
62 I_ShutdownMusic
65 I_SetMusicVolume
69 I_PauseSong
72 I_ResumeSong
75 I_RegisterSong
81 I_UnRegisterSong
85 I_PlaySong
90 I_StopSong
93 I_MusicIsPlaying
97 I_BindSoundVariables

Complete source

The following block is the complete textual file at the recorded revision. No lines are elided, abbreviated or paraphrased.

/* Sound and music are no-ops on ChrisC / CLVM. */

int snd_sfxdevice;
int snd_musicdevice;
int snd_samplerate;
int snd_cachesize;
int snd_maxslicetime_ms;
char *snd_musiccmd;

void I_InitSound(int use_sfx_prefix) {
    snd_sfxdevice = 0;
    snd_musicdevice = 0;
    snd_samplerate = 11025;
    snd_cachesize = 0;
    snd_maxslicetime_ms = 28;
    snd_musiccmd = "";
    use_sfx_prefix = use_sfx_prefix;
}

void I_ShutdownSound() {
}

int I_GetSfxLumpNum(int *sfxinfo) {
    sfxinfo = sfxinfo;
    return -1;
}

void I_UpdateSound() {
}

void I_UpdateSoundParams(int channel, int vol, int sep) {
    channel = channel;
    vol = vol;
    sep = sep;
}

int I_StartSound(int *sfxinfo, int channel, int vol, int sep) {
    sfxinfo = sfxinfo;
    channel = channel;
    vol = vol;
    sep = sep;
    return -1;
}

void I_StopSound(int channel) {
    channel = channel;
}

int I_SoundIsPlaying(int channel) {
    channel = channel;
    return 0;
}

void I_PrecacheSounds(int *sounds, int num_sounds) {
    sounds = sounds;
    num_sounds = num_sounds;
}

void I_InitMusic() {
}

void I_ShutdownMusic() {
}

void I_SetMusicVolume(int volume) {
    volume = volume;
}

void I_PauseSong() {
}

void I_ResumeSong() {
}

int I_RegisterSong(char *data, int len) {
    data = data;
    len = len;
    return 0;
}

void I_UnRegisterSong(int handle) {
    handle = handle;
}

void I_PlaySong(int handle, int looping) {
    handle = handle;
    looping = looping;
}

void I_StopSong() {
}

int I_MusicIsPlaying() {
    return 0;
}

void I_BindSoundVariables() {
}

Role of this record

The atlas guarantees file-by-file traceability. Responsibility, invariants, ownership, concurrency, security, performance and subsystem interactions belong in authored chapters and must cite this file when applicable.

Document record ID: source-db8b1e15990d7842 Reviewed source: da3df29cb397 Class: generated-source-reference