Read configured LLE components from EmuShared
This commit is contained in:
parent
8e4a9397bc
commit
b9315e3e0d
|
@ -461,6 +461,12 @@ extern "C" CXBXKRNL_API void CxbxKrnlInit
|
||||||
strncpy_s((PSTR)DummyKernel->SectionHeader.Name, 8, "DONGS", 8);
|
strncpy_s((PSTR)DummyKernel->SectionHeader.Name, 8, "DONGS", 8);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Read which components need to be LLE'ed :
|
||||||
|
int CxbxLLE_Flags;
|
||||||
|
g_EmuShared->GetFlagsLLE(&CxbxLLE_Flags);
|
||||||
|
bLLE_APU = (CxbxLLE_Flags & LLE_APU) > 0;
|
||||||
|
bLLE_GPU = (CxbxLLE_Flags & LLE_GPU) > 0;
|
||||||
|
|
||||||
// Initialize devices :
|
// Initialize devices :
|
||||||
char szBuffer[MAX_PATH];
|
char szBuffer[MAX_PATH];
|
||||||
SHGetSpecialFolderPath(NULL, szBuffer, CSIDL_APPDATA, TRUE);
|
SHGetSpecialFolderPath(NULL, szBuffer, CSIDL_APPDATA, TRUE);
|
||||||
|
|
|
@ -40,6 +40,11 @@
|
||||||
|
|
||||||
#include <memory.h>
|
#include <memory.h>
|
||||||
|
|
||||||
|
enum {
|
||||||
|
LLE_APU = 1 << 0,
|
||||||
|
LLE_GPU = 1 << 1,
|
||||||
|
};
|
||||||
|
|
||||||
// ******************************************************************
|
// ******************************************************************
|
||||||
// * EmuShared : Shared memory
|
// * EmuShared : Shared memory
|
||||||
// ******************************************************************
|
// ******************************************************************
|
||||||
|
|
|
@ -61,6 +61,10 @@ static bool bCacheInp = false;
|
||||||
static std::vector<void *> vCacheInp;
|
static std::vector<void *> vCacheInp;
|
||||||
static std::vector<void*>::const_iterator vCacheInpIter;
|
static std::vector<void*>::const_iterator vCacheInpIter;
|
||||||
|
|
||||||
|
// Set these for experimental APU(sound) / GPU (graphics) LLE
|
||||||
|
bool bLLE_APU = false;
|
||||||
|
bool bLLE_GPU = false;
|
||||||
|
|
||||||
void EmuHLEIntercept(Xbe::LibraryVersion *pLibraryVersion, Xbe::Header *pXbeHeader)
|
void EmuHLEIntercept(Xbe::LibraryVersion *pLibraryVersion, Xbe::Header *pXbeHeader)
|
||||||
{
|
{
|
||||||
Xbe::Certificate *pCertificate = (Xbe::Certificate*)pXbeHeader->dwCertificateAddr;
|
Xbe::Certificate *pCertificate = (Xbe::Certificate*)pXbeHeader->dwCertificateAddr;
|
||||||
|
@ -162,10 +166,6 @@ void EmuHLEIntercept(Xbe::LibraryVersion *pLibraryVersion, Xbe::Header *pXbeHead
|
||||||
uint32 LastUnResolvedXRefs = UnResolvedXRefs+1;
|
uint32 LastUnResolvedXRefs = UnResolvedXRefs+1;
|
||||||
uint32 OrigUnResolvedXRefs = UnResolvedXRefs;
|
uint32 OrigUnResolvedXRefs = UnResolvedXRefs;
|
||||||
|
|
||||||
// Set these for experimental APU(sound) / GPU (graphics) LLE
|
|
||||||
bool bLLE_APU = false;
|
|
||||||
bool bLLE_GPU = false;
|
|
||||||
|
|
||||||
for(int p=0;UnResolvedXRefs < LastUnResolvedXRefs;p++)
|
for(int p=0;UnResolvedXRefs < LastUnResolvedXRefs;p++)
|
||||||
{
|
{
|
||||||
DbgPrintf("HLE: Starting pass #%d...\n", p+1);
|
DbgPrintf("HLE: Starting pass #%d...\n", p+1);
|
||||||
|
|
|
@ -34,6 +34,9 @@
|
||||||
#ifndef HLEINTERCEPT_H
|
#ifndef HLEINTERCEPT_H
|
||||||
#define HLEINTERCEPT_H
|
#define HLEINTERCEPT_H
|
||||||
|
|
||||||
|
extern bool bLLE_APU;
|
||||||
|
extern bool bLLE_GPU;
|
||||||
|
|
||||||
void EmuHLEIntercept(Xbe::LibraryVersion *LibraryVersion, Xbe::Header *XbeHeader);
|
void EmuHLEIntercept(Xbe::LibraryVersion *LibraryVersion, Xbe::Header *XbeHeader);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue