mirror of
https://github.com/halpz/re3.git
synced 2025-06-29 13:26:19 +00:00
Merge remote-tracking branch 'origin/master' into miami
# Conflicts: # premake5.lua # src/core/ZoneCull.cpp # src/core/Zones.cpp # src/objects/CutsceneHead.cpp # src/render/Clouds.cpp
This commit is contained in:
@ -6,6 +6,7 @@
|
||||
#include "AudioScriptObject.h"
|
||||
#include "sampman.h"
|
||||
#include "Text.h"
|
||||
#include "crossplatform.h"
|
||||
|
||||
cDMAudio DMAudio;
|
||||
|
||||
|
@ -23,6 +23,12 @@
|
||||
*/
|
||||
|
||||
#include "aldlist.h"
|
||||
|
||||
#ifndef _WIN32
|
||||
#define _stricmp strcasecmp
|
||||
#define _strnicmp strncasecmp
|
||||
#endif
|
||||
|
||||
#ifdef AUDIO_OAL
|
||||
/*
|
||||
* Init call
|
||||
@ -67,7 +73,7 @@ ALDeviceList::ALDeviceList()
|
||||
if ((bNewName) && (actualDeviceName != NULL) && (strlen(actualDeviceName) > 0)) {
|
||||
memset(&ALDeviceInfo, 0, sizeof(ALDEVICEINFO));
|
||||
ALDeviceInfo.bSelected = true;
|
||||
ALDeviceInfo.strDeviceName = std::string(actualDeviceName, strlen(actualDeviceName));
|
||||
ALDeviceInfo.strDeviceName.assign(actualDeviceName, strlen(actualDeviceName));
|
||||
alcGetIntegerv(device, ALC_MAJOR_VERSION, sizeof(int), &ALDeviceInfo.iMajorVersion);
|
||||
alcGetIntegerv(device, ALC_MINOR_VERSION, sizeof(int), &ALDeviceInfo.iMinorVersion);
|
||||
|
||||
@ -326,4 +332,4 @@ unsigned int ALDeviceList::GetMaxNumSources()
|
||||
|
||||
return iSourceCount;
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
@ -4,6 +4,10 @@
|
||||
#include "common.h"
|
||||
#include "sampman.h"
|
||||
|
||||
#ifndef _WIN32
|
||||
#include <float.h>
|
||||
#endif
|
||||
|
||||
extern bool IsFXSupported();
|
||||
|
||||
CChannel::CChannel()
|
||||
@ -207,4 +211,4 @@ void CChannel::UpdateReverb(ALuint slot)
|
||||
alSource3i(alSource, AL_AUXILIARY_SEND_FILTER, slot, 0, alFilter);
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
@ -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
|
||||
#endif
|
||||
|
@ -5,16 +5,18 @@
|
||||
#include "sampman.h"
|
||||
|
||||
#include <time.h>
|
||||
#include <io.h>
|
||||
|
||||
#include "eax.h"
|
||||
#include "eax-util.h"
|
||||
|
||||
#ifdef _WIN32
|
||||
#include <io.h>
|
||||
#include <AL/al.h>
|
||||
#include <AL/alc.h>
|
||||
#include <AL/alext.h>
|
||||
#include <AL/efx.h>
|
||||
#include <AL/efx-presets.h>
|
||||
#endif
|
||||
|
||||
#include "oal/oal_utils.h"
|
||||
#include "oal/aldlist.h"
|
||||
@ -31,7 +33,9 @@
|
||||
//TODO: loop count
|
||||
//TODO: mp3 player
|
||||
|
||||
#ifdef _WIN32
|
||||
#pragma comment( lib, "OpenAL32.lib" )
|
||||
#endif
|
||||
|
||||
cSampleManager SampleManager;
|
||||
bool _bSampmanInitialised = false;
|
||||
@ -61,15 +65,15 @@ struct
|
||||
int defaultProvider;
|
||||
|
||||
|
||||
char SampleBankDescFilename[] = "AUDIO\\SFX.SDT";
|
||||
char SampleBankDataFilename[] = "AUDIO\\SFX.RAW";
|
||||
char SampleBankDescFilename[] = "audio/sfx.SDT";
|
||||
char SampleBankDataFilename[] = "audio/sfx.RAW";
|
||||
|
||||
FILE *fpSampleDescHandle;
|
||||
FILE *fpSampleDataHandle;
|
||||
bool bSampleBankLoaded [MAX_SAMPLEBANKS];
|
||||
int32 nSampleBankDiscStartOffset [MAX_SAMPLEBANKS];
|
||||
int32 nSampleBankSize [MAX_SAMPLEBANKS];
|
||||
int32 nSampleBankMemoryStartAddress[MAX_SAMPLEBANKS];
|
||||
uintptr nSampleBankMemoryStartAddress[MAX_SAMPLEBANKS];
|
||||
int32 _nSampleDataEndOffset;
|
||||
|
||||
int32 nPedSlotSfx [MAX_PEDSFX];
|
||||
@ -88,7 +92,7 @@ struct
|
||||
{
|
||||
ALuint buffer;
|
||||
ALuint timer;
|
||||
|
||||
|
||||
bool IsEmpty() { return timer == 0; }
|
||||
void Set(ALuint buf) { buffer = buf; }
|
||||
void Wait() { timer = 10000; }
|
||||
@ -573,7 +577,7 @@ cSampleManager::Initialise(void)
|
||||
return false;
|
||||
}
|
||||
|
||||
nSampleBankMemoryStartAddress[SAMPLEBANK_MAIN] = (int32)malloc(nSampleBankSize[SAMPLEBANK_MAIN]);
|
||||
nSampleBankMemoryStartAddress[SAMPLEBANK_MAIN] = (uintptr)malloc(nSampleBankSize[SAMPLEBANK_MAIN]);
|
||||
ASSERT(nSampleBankMemoryStartAddress[SAMPLEBANK_MAIN] != NULL);
|
||||
|
||||
if ( nSampleBankMemoryStartAddress[SAMPLEBANK_MAIN] == NULL )
|
||||
@ -582,7 +586,7 @@ cSampleManager::Initialise(void)
|
||||
return false;
|
||||
}
|
||||
|
||||
nSampleBankMemoryStartAddress[SAMPLEBANK_PED] = (int32)malloc(PED_BLOCKSIZE*MAX_PEDSFX);
|
||||
nSampleBankMemoryStartAddress[SAMPLEBANK_PED] = (uintptr)malloc(PED_BLOCKSIZE*MAX_PEDSFX);
|
||||
ASSERT(nSampleBankMemoryStartAddress[SAMPLEBANK_PED] != NULL);
|
||||
}
|
||||
|
||||
@ -985,7 +989,7 @@ cSampleManager::InitialiseChannel(uint32 nChannel, uint32 nSfx, uint8 nBank)
|
||||
if ( !IsSampleBankLoaded(nBank) )
|
||||
return false;
|
||||
|
||||
int32 addr = nSampleBankMemoryStartAddress[nBank] + m_aSamples[nSfx].nOffset - m_aSamples[BankStartOffset[nBank]].nOffset;
|
||||
uintptr addr = nSampleBankMemoryStartAddress[nBank] + m_aSamples[nSfx].nOffset - m_aSamples[BankStartOffset[nBank]].nOffset;
|
||||
|
||||
if ( ALBuffers[nSfx].IsEmpty() )
|
||||
{
|
||||
@ -1401,4 +1405,4 @@ cSampleManager::InitialiseSampleBanks(void)
|
||||
return true;
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user