| 144 | // Sound loading function - delegates to specific loaders based on extension |
| 145 | |
| 146 | WaveStream* SoundLoadFile(const char* name) |
| 147 | { |
| 148 | const char* ext = strrchr(name, '.'); |
| 149 | if (!ext) |
| 150 | { |
| 151 | return WSSLoadFile(name); |
| 152 | } |
| 153 | if (!stricmp(ext, ".wav")) |
| 154 | { |
| 155 | return WaveLoadFile(name); |
| 156 | } |
| 157 | if (!stricmp(ext, ".ogg")) |
| 158 | { |
| 159 | // OGGLoadFile is defined in WaveStreamOGG.cpp. |
| 160 | extern WaveStream* OGGLoadFile(const char* name); |
| 161 | return OGGLoadFile(name); |
| 162 | } |
| 163 | return WSSLoadFile(name); |
| 164 | } |
| 165 | |
| 166 | static QIFStream MakeStreamFromMemory(const void* data, size_t size) |
| 167 | { |