MCPcopy Create free account
hub / github.com/OpenDUNE/OpenDUNE / Driver_Sound_LoadFile

Function Driver_Sound_LoadFile

src/audio/driver.c:296–327  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

294}
295
296void Driver_Sound_LoadFile(const char *musicName)
297{
298 Driver *sound = g_driverSound;
299 Driver *music = g_driverMusic;
300
301 Driver_Sound_Stop();
302
303 if (sound->index == 0xFFFF) return;
304
305 if (sound->content == music->content) {
306 sound->content = NULL;
307 sound->filename[0] = '\0';
308 sound->contentMalloced = false;
309 } else {
310 Driver_UnloadFile(sound);
311 }
312
313 if (music->filename[0] != '\0') {
314 char *filename;
315
316 filename = Drivers_GenerateFilename(musicName, sound);
317
318 if (filename != NULL && strcasecmp(filename, music->filename) == 0) {
319 sound->content = music->content;
320 memcpy(sound->filename, music->filename, sizeof(music->filename));
321 sound->contentMalloced = music->contentMalloced;
322 return;
323 }
324 }
325
326 Driver_LoadFile(musicName, sound);
327}
328
329char *Drivers_GenerateFilename(const char *name, Driver *driver)
330{

Callers 1

Music_PlayFunction · 0.85

Calls 4

Driver_Sound_StopFunction · 0.85
Driver_UnloadFileFunction · 0.85
Drivers_GenerateFilenameFunction · 0.85
Driver_LoadFileFunction · 0.85

Tested by

no test coverage detected