| 294 | } |
| 295 | |
| 296 | void 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 | |
| 329 | char *Drivers_GenerateFilename(const char *name, Driver *driver) |
| 330 | { |
no test coverage detected