diff options
author | Sergeanur <s.anureev@yandex.ua> | 2020-05-12 23:19:21 +0200 |
---|---|---|
committer | Sergeanur <s.anureev@yandex.ua> | 2020-05-12 23:27:15 +0200 |
commit | 33dfaf7da11675fdad2909e39b6d15e49fc6cc68 (patch) | |
tree | ff2b3fe079b51b521cb26ceb2da0a5717b0601ff /src/audio/oal/stream.cpp | |
parent | Merge remote-tracking branch 'upstream/miami' into miami (diff) | |
parent | fix shotgun (diff) | |
download | re3-33dfaf7da11675fdad2909e39b6d15e49fc6cc68.tar re3-33dfaf7da11675fdad2909e39b6d15e49fc6cc68.tar.gz re3-33dfaf7da11675fdad2909e39b6d15e49fc6cc68.tar.bz2 re3-33dfaf7da11675fdad2909e39b6d15e49fc6cc68.tar.lz re3-33dfaf7da11675fdad2909e39b6d15e49fc6cc68.tar.xz re3-33dfaf7da11675fdad2909e39b6d15e49fc6cc68.tar.zst re3-33dfaf7da11675fdad2909e39b6d15e49fc6cc68.zip |
Diffstat (limited to 'src/audio/oal/stream.cpp')
-rw-r--r-- | src/audio/oal/stream.cpp | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/src/audio/oal/stream.cpp b/src/audio/oal/stream.cpp index 9bca0546..5a9c7d7d 100644 --- a/src/audio/oal/stream.cpp +++ b/src/audio/oal/stream.cpp @@ -4,13 +4,15 @@ #include "common.h" #include "sampman.h" -typedef long ssize_t; - #include <sndfile.h> #include <mpg123.h> - +#ifdef _WIN32 +typedef long ssize_t; #pragma comment( lib, "libsndfile-1.lib" ) #pragma comment( lib, "libmpg123.lib" ) +#else +#include "crossplatform.h" +#endif class CSndFile : public IDecoder { @@ -192,7 +194,22 @@ CStream::CStream(char *filename, ALuint &source, ALuint (&buffers)[NUM_STREAMBUF m_nPosBeforeReset(0) { - strcpy(m_aFilename, filename); +// Be case-insensitive on linux (from https://github.com/OneSadCookie/fcaseopen/) +#if !defined(_WIN32) + FILE *test = fopen(filename, "r"); + if (!test) { + char *r = (char*)alloca(strlen(filename) + 2); + if (casepath(filename, r)) + { + strcpy(m_aFilename, r); + } + } else { + fclose(test); +#else + { +#endif + strcpy(m_aFilename, filename); + } DEV("Stream %s\n", m_aFilename); @@ -517,4 +534,4 @@ void CStream::ProviderTerm() ClearBuffers(); } -#endif
\ No newline at end of file +#endif |