aboutsummaryrefslogtreecommitdiffstats
path: root/code/custom/4coder_fleury/4coder_fleury_audio.cpp
blob: 7b683d580c7d13d3cfc663061e605869556b2381 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
function b32
F4_AudioClipIsValid(Audio_Clip clip)
{
    return clip.samples != 0 && clip.samples != (i16 *)0x00000001;
}

function b32
F4_AudioClipIsUnloadable(Audio_Clip clip)
{
    return clip.samples == (i16 *)0x00000001;
}

function void
F4_RequireWAV(Application_Links *app, Audio_Clip *clip, char *filename)
{
    if(!F4_AudioClipIsValid(*clip) && !F4_AudioClipIsUnloadable(*clip))
    {
        FILE *file = def_search_normal_fopen(&permanent_arena, filename, "rb");
        if(file != 0)
        {
            *clip = audio_clip_from_wav_FILE(&permanent_arena, file);
            fclose(file);
        }
        else
        {
            clip->samples = (i16 *)0x00000001;
        }
    }
}