Libretro support (Windows)
This commit is contained in:
parent
d113858d4b
commit
cf0bd50b9e
42 changed files with 7238 additions and 79 deletions
|
@ -234,6 +234,7 @@ uint16_t CPU::FetchOperand()
|
|||
default: break;
|
||||
}
|
||||
|
||||
#ifndef LIBRETRO
|
||||
Debugger::BreakIfDebugging();
|
||||
|
||||
if(NsfMapper::GetInstance()) {
|
||||
|
@ -243,6 +244,10 @@ uint16_t CPU::FetchOperand()
|
|||
} else {
|
||||
throw std::runtime_error("Invalid OP code - CPU crashed");
|
||||
}
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
void CPU::IncCycleCount()
|
||||
|
|
|
@ -63,11 +63,15 @@ void Console::Release()
|
|||
|
||||
void Console::SaveBatteries()
|
||||
{
|
||||
_mapper->SaveBattery();
|
||||
if(_mapper) {
|
||||
_mapper->SaveBattery();
|
||||
}
|
||||
|
||||
shared_ptr<IBattery> device = std::dynamic_pointer_cast<IBattery>(_controlManager->GetControlDevice(BaseControlDevice::ExpDevicePort));
|
||||
if(device) {
|
||||
device->SaveBattery();
|
||||
if(_controlManager) {
|
||||
shared_ptr<IBattery> device = std::dynamic_pointer_cast<IBattery>(_controlManager->GetControlDevice(BaseControlDevice::ExpDevicePort));
|
||||
if(device) {
|
||||
device->SaveBattery();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -115,7 +119,10 @@ bool Console::Initialize(VirtualFile &romFile, VirtualFile &patchFile)
|
|||
StopRecordingHdPack();
|
||||
}
|
||||
|
||||
#ifndef LIBRETRO
|
||||
//Don't use auto-save manager for libretro
|
||||
_autoSaveManager.reset(new AutoSaveManager());
|
||||
#endif
|
||||
|
||||
_mapper = mapper;
|
||||
_memoryManager.reset(new MemoryManager(_mapper));
|
||||
|
@ -123,9 +130,18 @@ bool Console::Initialize(VirtualFile &romFile, VirtualFile &patchFile)
|
|||
_apu.reset(new APU(_memoryManager.get()));
|
||||
|
||||
switch(_mapper->GetGameSystem()) {
|
||||
case GameSystem::FDS: _systemActionManager.reset(new FdsSystemActionManager(Console::GetInstance(), _mapper)); break;
|
||||
case GameSystem::VsUniSystem: _systemActionManager.reset(new VsSystemActionManager(Console::GetInstance())); break;
|
||||
default: _systemActionManager.reset(new SystemActionManager(Console::GetInstance())); break;
|
||||
case GameSystem::FDS:
|
||||
EmulationSettings::SetPpuModel(PpuModel::Ppu2C02);
|
||||
_systemActionManager.reset(new FdsSystemActionManager(Console::GetInstance(), _mapper));
|
||||
break;
|
||||
|
||||
case GameSystem::VsUniSystem:
|
||||
_systemActionManager.reset(new VsSystemActionManager(Console::GetInstance()));
|
||||
break;
|
||||
|
||||
default:
|
||||
EmulationSettings::SetPpuModel(PpuModel::Ppu2C02);
|
||||
_systemActionManager.reset(new SystemActionManager(Console::GetInstance())); break;
|
||||
}
|
||||
|
||||
//Temporarely disable battery saves to prevent battery files from being created for the wrong game (for Battle Box & Turbo File)
|
||||
|
@ -399,6 +415,24 @@ void Console::Resume()
|
|||
}
|
||||
}
|
||||
|
||||
void Console::RunSingleFrame()
|
||||
{
|
||||
//Used by Libretro
|
||||
uint32_t lastFrameNumber = PPU::GetFrameCount();
|
||||
_emulationThreadId = std::this_thread::get_id();
|
||||
UpdateNesModel(false);
|
||||
|
||||
while(PPU::GetFrameCount() == lastFrameNumber) {
|
||||
_cpu->Exec();
|
||||
}
|
||||
|
||||
EmulationSettings::DisableOverclocking(_disableOcNextFrame || NsfMapper::GetInstance());
|
||||
_disableOcNextFrame = false;
|
||||
|
||||
_systemActionManager->ProcessSystemActions();
|
||||
_apu->EndFrame();
|
||||
}
|
||||
|
||||
void Console::Run()
|
||||
{
|
||||
Timer clockTimer;
|
||||
|
@ -771,6 +805,44 @@ void Console::StopRecordingHdPack()
|
|||
}
|
||||
}
|
||||
|
||||
bool Console::UpdateHdPackMode()
|
||||
{
|
||||
//Switch back and forth between HD PPU and regular PPU as needed
|
||||
Console::Pause();
|
||||
|
||||
VirtualFile romFile = _romFilepath;
|
||||
VirtualFile patchFile = _patchFilename;
|
||||
LoadHdPack(romFile, patchFile);
|
||||
|
||||
bool isHdPackLoaded = std::dynamic_pointer_cast<HdPpu>(_ppu) != nullptr;
|
||||
bool hdPackFound = _hdData && (!_hdData->Tiles.empty() || !_hdData->Backgrounds.empty());
|
||||
|
||||
bool modeChanged = false;
|
||||
if(isHdPackLoaded != hdPackFound) {
|
||||
std::stringstream saveState;
|
||||
Instance->SaveState(saveState);
|
||||
|
||||
Instance->_memoryManager->UnregisterIODevice(Instance->_ppu.get());
|
||||
Instance->_ppu.reset();
|
||||
if(_hdData && (!_hdData->Tiles.empty() || !_hdData->Backgrounds.empty())) {
|
||||
_ppu.reset(new HdPpu(_mapper.get(), _controlManager.get(), _hdData->Version));
|
||||
} else if(std::dynamic_pointer_cast<NsfMapper>(_mapper)) {
|
||||
//Disable most of the PPU for NSFs
|
||||
_ppu.reset(new NsfPpu(_mapper.get(), _controlManager.get()));
|
||||
} else {
|
||||
_ppu.reset(new PPU(_mapper.get(), _controlManager.get()));
|
||||
}
|
||||
Instance->_memoryManager->RegisterIODevice(Instance->_ppu.get());
|
||||
|
||||
Instance->LoadState(saveState);
|
||||
modeChanged = true;
|
||||
}
|
||||
|
||||
Console::Resume();
|
||||
|
||||
return modeChanged;
|
||||
}
|
||||
|
||||
ConsoleFeatures Console::GetAvailableFeatures()
|
||||
{
|
||||
ConsoleFeatures features = ConsoleFeatures::None;
|
||||
|
|
|
@ -68,14 +68,18 @@ class Console
|
|||
void UpdateNesModel(bool sendNotification);
|
||||
double GetFrameDelay();
|
||||
|
||||
void SaveBatteries();
|
||||
|
||||
public:
|
||||
Console();
|
||||
~Console();
|
||||
|
||||
void SaveBatteries();
|
||||
|
||||
void Run();
|
||||
void Stop();
|
||||
|
||||
void RunSingleFrame();
|
||||
bool UpdateHdPackMode();
|
||||
|
||||
shared_ptr<SystemActionManager> GetSystemActionManager();
|
||||
|
||||
template<typename T>
|
||||
|
|
|
@ -261,6 +261,8 @@ void ControlManager::UpdateInputState()
|
|||
_isLagging = true;
|
||||
}
|
||||
|
||||
KeyManager::RefreshKeyState();
|
||||
|
||||
auto lock = _deviceLock.AcquireSafe();
|
||||
|
||||
//string log = "";
|
||||
|
|
|
@ -9,6 +9,14 @@
|
|||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Libretro|Win32">
|
||||
<Configuration>Libretro</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Libretro|x64">
|
||||
<Configuration>Libretro</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="PGO Optimize|Win32">
|
||||
<Configuration>PGO Optimize</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
|
@ -61,6 +69,13 @@
|
|||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
|
@ -82,6 +97,13 @@
|
|||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
|
@ -108,6 +130,9 @@
|
|||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
|
@ -117,6 +142,9 @@
|
|||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
|
@ -143,6 +171,11 @@
|
|||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
|
@ -158,6 +191,11 @@
|
|||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
|
@ -257,6 +295,34 @@
|
|||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<Optimization>Full</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>LIBRETRO;WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<AdditionalIncludeDirectories>
|
||||
</AdditionalIncludeDirectories>
|
||||
<StructMemberAlignment>Default</StructMemberAlignment>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<DisableLanguageExtensions>true</DisableLanguageExtensions>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<ShowIncludes>
|
||||
</ShowIncludes>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
|
@ -346,6 +412,39 @@
|
|||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<Optimization>Full</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>LIBRETRO;WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>false</SDLCheck>
|
||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<AdditionalIncludeDirectories>
|
||||
</AdditionalIncludeDirectories>
|
||||
<StructMemberAlignment>Default</StructMemberAlignment>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<DisableLanguageExtensions>true</DisableLanguageExtensions>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<ShowIncludes>
|
||||
</ShowIncludes>
|
||||
<BufferSecurityCheck>
|
||||
</BufferSecurityCheck>
|
||||
<ControlFlowGuard>false</ControlFlowGuard>
|
||||
<RuntimeTypeInfo>
|
||||
</RuntimeTypeInfo>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
|
@ -897,9 +996,11 @@
|
|||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|x64'">Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
|
|
|
@ -840,31 +840,41 @@ void Debugger::SetNextStatement(uint16_t addr)
|
|||
|
||||
void Debugger::ProcessPpuCycle()
|
||||
{
|
||||
#ifndef LIBRETRO
|
||||
if(Debugger::Instance) {
|
||||
Debugger::Instance->PrivateProcessPpuCycle();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
bool Debugger::ProcessRamOperation(MemoryOperationType type, uint16_t &addr, uint8_t &value)
|
||||
{
|
||||
#ifndef LIBRETRO
|
||||
if(Debugger::Instance) {
|
||||
return Debugger::Instance->PrivateProcessRamOperation(type, addr, value);
|
||||
}
|
||||
return true;
|
||||
#else
|
||||
return true;
|
||||
#endif
|
||||
}
|
||||
|
||||
void Debugger::ProcessVramReadOperation(MemoryOperationType type, uint16_t addr, uint8_t &value)
|
||||
{
|
||||
#ifndef LIBRETRO
|
||||
if(Debugger::Instance) {
|
||||
Debugger::Instance->PrivateProcessVramReadOperation(type, addr, value);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void Debugger::ProcessVramWriteOperation(uint16_t addr, uint8_t &value)
|
||||
{
|
||||
#ifndef LIBRETRO
|
||||
if(Debugger::Instance) {
|
||||
Debugger::Instance->PrivateProcessVramWriteOperation(addr, value);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void Debugger::GetCallstack(int32_t* callstackAbsolute, int32_t* callstackRelative)
|
||||
|
|
|
@ -18,7 +18,7 @@ uint64_t EmulationSettings::_flags = 0;
|
|||
bool EmulationSettings::_audioSettingsChanged = true;
|
||||
uint32_t EmulationSettings::_audioLatency = 50;
|
||||
double EmulationSettings::_channelVolume[11] = { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 };
|
||||
double EmulationSettings::_channelPanning[11] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
|
||||
double EmulationSettings::_channelPanning[11] = { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 };
|
||||
EqualizerFilterType EmulationSettings::_equalizerFilterType = EqualizerFilterType::None;
|
||||
vector<double> EmulationSettings::_bandGains = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
|
||||
vector<double> EmulationSettings::_bands = { { 40,56,80,113,160,225,320,450,600,750,1000,2000,3000,4000,5000,6000,7000,10000,12500,15000 } };
|
||||
|
@ -64,6 +64,7 @@ std::unordered_map<uint32_t, vector<KeyCombination>> EmulationSettings::_shortcu
|
|||
|
||||
RamPowerOnState EmulationSettings::_ramPowerOnState = RamPowerOnState::AllZeros;
|
||||
uint32_t EmulationSettings::_dipSwitches = 0;
|
||||
VsInputType EmulationSettings::_vsInputType = VsInputType::Default;
|
||||
|
||||
InputDisplaySettings EmulationSettings::_inputDisplaySettings = { 0, InputDisplayPosition::TopLeft, false };
|
||||
|
||||
|
|
|
@ -285,6 +285,16 @@ enum class PpuModel
|
|||
Ppu2C05E = 10
|
||||
};
|
||||
|
||||
enum class VsInputType
|
||||
{
|
||||
Default = 0,
|
||||
TypeA = 1,
|
||||
TypeB = 2,
|
||||
TypeC = 3,
|
||||
TypeD = 4,
|
||||
TypeE = 5
|
||||
};
|
||||
|
||||
struct KeyMapping
|
||||
{
|
||||
uint32_t A = 0;
|
||||
|
@ -634,6 +644,7 @@ private:
|
|||
|
||||
static RamPowerOnState _ramPowerOnState;
|
||||
static uint32_t _dipSwitches;
|
||||
static VsInputType _vsInputType;
|
||||
|
||||
static SimpleLock _shortcutLock;
|
||||
static SimpleLock _equalizerLock;
|
||||
|
@ -1407,6 +1418,16 @@ public:
|
|||
return _dipSwitches;
|
||||
}
|
||||
|
||||
static void SetVsInputType(VsInputType inputType)
|
||||
{
|
||||
_vsInputType = inputType;
|
||||
}
|
||||
|
||||
static VsInputType GetVsInputType()
|
||||
{
|
||||
return _vsInputType;
|
||||
}
|
||||
|
||||
static bool IsKeyboardMode()
|
||||
{
|
||||
return _keyboardModeEnabled;
|
||||
|
|
|
@ -54,11 +54,16 @@ private:
|
|||
//For FDS, the PRG ROM is the FDS BIOS (8k)
|
||||
vector<uint8_t> biosData;
|
||||
|
||||
ifstream biosFile("FdsBios.bin", ios::in | ios::binary);
|
||||
ifstream biosFile(FolderUtilities::CombinePath(FolderUtilities::GetHomeFolder(), "FdsBios.bin"), ios::in | ios::binary);
|
||||
if(biosFile) {
|
||||
return vector<uint8_t>(std::istreambuf_iterator<char>(biosFile), {});
|
||||
} else {
|
||||
MessageManager::SendNotification(ConsoleNotificationType::FdsBiosNotFound);
|
||||
biosFile.open(FolderUtilities::CombinePath(FolderUtilities::GetHomeFolder(), "disksys.rom"), ios::in | ios::binary);
|
||||
if(biosFile) {
|
||||
return vector<uint8_t>(std::istreambuf_iterator<char>(biosFile), {});
|
||||
} else {
|
||||
MessageManager::SendNotification(ConsoleNotificationType::FdsBiosNotFound);
|
||||
}
|
||||
}
|
||||
return {};
|
||||
}
|
||||
|
|
|
@ -20,11 +20,52 @@ T GameDatabase::ToInt(string value)
|
|||
return std::stoi(value);
|
||||
}
|
||||
|
||||
void GameDatabase::LoadGameDb(vector<string> data)
|
||||
{
|
||||
for(string &row : data) {
|
||||
vector<string> values = StringUtilities::Split(row, ',');
|
||||
if(values.size() >= 16) {
|
||||
GameInfo gameInfo {
|
||||
(uint32_t)std::stoll(values[0], nullptr, 16),
|
||||
values[1],
|
||||
values[2],
|
||||
values[3],
|
||||
values[4],
|
||||
(uint16_t)ToInt<uint32_t>(values[5]),
|
||||
ToInt<uint32_t>(values[6]),
|
||||
ToInt<uint32_t>(values[7]),
|
||||
ToInt<uint32_t>(values[8]),
|
||||
ToInt<uint32_t>(values[9]),
|
||||
ToInt<uint32_t>(values[10]),
|
||||
ToInt<uint32_t>(values[11]) == 0 ? false : true,
|
||||
values[12],
|
||||
values[13],
|
||||
values[14],
|
||||
values[15]
|
||||
};
|
||||
|
||||
if(gameInfo.MapperID == 65000) {
|
||||
gameInfo.MapperID = UnifLoader::GetMapperID(gameInfo.Board);
|
||||
}
|
||||
|
||||
if(!gameInfo.InputType.empty() && gameInfo.InputType[gameInfo.InputType.size() - 1] == '\r') {
|
||||
gameInfo.InputType = gameInfo.InputType.substr(0, gameInfo.InputType.size() - 1);
|
||||
}
|
||||
|
||||
_gameDatabase[gameInfo.Crc] = gameInfo;
|
||||
}
|
||||
}
|
||||
|
||||
MessageManager::Log();
|
||||
MessageManager::Log("[DB] Initialized - " + std::to_string(_gameDatabase.size()) + " games in DB");
|
||||
}
|
||||
|
||||
void GameDatabase::InitDatabase()
|
||||
{
|
||||
if(_gameDatabase.size() == 0) {
|
||||
string dbPath = FolderUtilities::CombinePath(FolderUtilities::GetHomeFolder(), "MesenDB.txt");
|
||||
ifstream db(dbPath, ios::in | ios::binary);
|
||||
vector<string> dbData;
|
||||
while(db.good()) {
|
||||
string lineContent;
|
||||
std::getline(db, lineContent);
|
||||
|
@ -34,41 +75,9 @@ void GameDatabase::InitDatabase()
|
|||
if(lineContent.empty() || lineContent[0] == '#') {
|
||||
continue;
|
||||
}
|
||||
vector<string> values = StringUtilities::Split(lineContent, ',');
|
||||
if(values.size() >= 16) {
|
||||
GameInfo gameInfo{
|
||||
(uint32_t)std::stoll(values[0], nullptr, 16),
|
||||
values[1],
|
||||
values[2],
|
||||
values[3],
|
||||
values[4],
|
||||
(uint16_t)ToInt<uint32_t>(values[5]),
|
||||
ToInt<uint32_t>(values[6]),
|
||||
ToInt<uint32_t>(values[7]),
|
||||
ToInt<uint32_t>(values[8]),
|
||||
ToInt<uint32_t>(values[9]),
|
||||
ToInt<uint32_t>(values[10]),
|
||||
ToInt<uint32_t>(values[11]) == 0 ? false : true,
|
||||
values[12],
|
||||
values[13],
|
||||
values[14],
|
||||
values[15]
|
||||
};
|
||||
|
||||
if(gameInfo.MapperID == 65000) {
|
||||
gameInfo.MapperID = UnifLoader::GetMapperID(gameInfo.Board);
|
||||
}
|
||||
|
||||
if(!gameInfo.InputType.empty() && gameInfo.InputType[gameInfo.InputType.size() - 1] == '\r') {
|
||||
gameInfo.InputType = gameInfo.InputType.substr(0, gameInfo.InputType.size() - 1);
|
||||
}
|
||||
|
||||
_gameDatabase[gameInfo.Crc] = gameInfo;
|
||||
}
|
||||
dbData.push_back(lineContent);
|
||||
}
|
||||
|
||||
MessageManager::Log();
|
||||
MessageManager::Log("[DB] Initialized - " + std::to_string(_gameDatabase.size()) + " games in DB");
|
||||
LoadGameDb(dbData);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -448,6 +457,10 @@ void GameDatabase::SetGameInfo(uint32_t romCrc, RomData &romData, bool updateRom
|
|||
MessageManager::Log("[DB] Game not found in database");
|
||||
}
|
||||
|
||||
#ifdef LIBRETRO
|
||||
SetVsSystemDefaults(romData.PrgCrc32);
|
||||
#endif
|
||||
|
||||
romData.DatabaseInfo = info;
|
||||
}
|
||||
|
||||
|
@ -477,3 +490,218 @@ void GameDatabase::UpdateRomData(GameInfo &info, RomData &romData)
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameDatabase::SetVsSystemDefaults(uint32_t prgCrc32)
|
||||
{
|
||||
//Used by Libretro port since the data for VS system games is stored in the C# UI (needs to be refactored eventually)
|
||||
VsInputType inputType = VsInputType::Default;
|
||||
PpuModel model = PpuModel::Ppu2C03;
|
||||
uint8_t defaultDip = 0;
|
||||
|
||||
switch(prgCrc32) {
|
||||
case 0xEB2DBA63: case 0x98CFE016:
|
||||
//TKOBoxing
|
||||
inputType = VsInputType::TypeA;
|
||||
model = PpuModel::Ppu2C04C;
|
||||
break;
|
||||
|
||||
case 0x135ADF7C:
|
||||
//RBIBaseball
|
||||
inputType = VsInputType::TypeB;
|
||||
model = PpuModel::Ppu2C04A;
|
||||
break;
|
||||
|
||||
case 0xED588F00:
|
||||
//"DuckHunt", use defaults
|
||||
model = PpuModel::Ppu2C03;
|
||||
break;
|
||||
|
||||
case 0x16D3F469:
|
||||
//NinjaJajamaruKun
|
||||
inputType = VsInputType::TypeC;
|
||||
model = PpuModel::Ppu2C05A;
|
||||
break;
|
||||
|
||||
case 0x8850924B:
|
||||
//Tetris
|
||||
model = PpuModel::Ppu2C03;
|
||||
inputType = VsInputType::TypeB;
|
||||
defaultDip = 32;
|
||||
break;
|
||||
|
||||
case 0x8C0C2DF5:
|
||||
//TopGun
|
||||
inputType = VsInputType::TypeA;
|
||||
model = PpuModel::Ppu2C05D;
|
||||
break;
|
||||
|
||||
case 0x70901B25:
|
||||
//Slalom
|
||||
inputType = VsInputType::TypeA;
|
||||
model = PpuModel::Ppu2C04B;
|
||||
break;
|
||||
|
||||
case 0xCF36261E:
|
||||
//SuperSkyKid
|
||||
inputType = VsInputType::TypeC;
|
||||
model = PpuModel::Ppu2C04A;
|
||||
break;
|
||||
|
||||
case 0xE1AA8214:
|
||||
//StarLuster
|
||||
inputType = VsInputType::TypeA;
|
||||
model = PpuModel::Ppu2C04A;
|
||||
defaultDip = 32;
|
||||
break;
|
||||
|
||||
case 0xD5D7EAC4:
|
||||
//DrMario
|
||||
inputType = VsInputType::TypeB;
|
||||
model = PpuModel::Ppu2C04C;
|
||||
break;
|
||||
|
||||
case 0xFFBEF374:
|
||||
//Castlevania
|
||||
inputType = VsInputType::TypeA;
|
||||
model = PpuModel::Ppu2C04B;
|
||||
break;
|
||||
|
||||
case 0xE2C0A2BE:
|
||||
//Platoon
|
||||
inputType = VsInputType::TypeA;
|
||||
model = PpuModel::Ppu2C04A;
|
||||
break;
|
||||
|
||||
case 0x29155E0C:
|
||||
//ExciteBike
|
||||
inputType = VsInputType::TypeA;
|
||||
model = PpuModel::Ppu2C04D;
|
||||
break;
|
||||
|
||||
case 0xCBE85490:
|
||||
//ExciteBikeB
|
||||
inputType = VsInputType::TypeA;
|
||||
model = PpuModel::Ppu2C04C;
|
||||
break;
|
||||
|
||||
case 0x07138C06:
|
||||
//Clu Clu Land
|
||||
inputType = VsInputType::TypeB;
|
||||
model = PpuModel::Ppu2C04D;
|
||||
break;
|
||||
|
||||
case 0x43A357EF:
|
||||
//IceClimber
|
||||
inputType = VsInputType::TypeB;
|
||||
model = PpuModel::Ppu2C04D;
|
||||
break;
|
||||
|
||||
case 0xD4EB5923:
|
||||
//IceClimberB
|
||||
inputType = VsInputType::TypeD;
|
||||
model = PpuModel::Ppu2C04D;
|
||||
break;
|
||||
|
||||
case 0x737DD1BF: case 0x4BF3972D: case 0x8B60CC58: case 0x8192C804:
|
||||
//SuperMarioBros
|
||||
inputType = VsInputType::TypeA;
|
||||
model = PpuModel::Ppu2C04D;
|
||||
break;
|
||||
|
||||
case 0xE528F651:
|
||||
//Pinball
|
||||
inputType = VsInputType::TypeE;
|
||||
model = PpuModel::Ppu2C03;
|
||||
break;
|
||||
|
||||
case 0xEC461DB9:
|
||||
//PinballB
|
||||
inputType = VsInputType::TypeA;
|
||||
model = PpuModel::Ppu2C04A;
|
||||
break;
|
||||
|
||||
case 0xAE8063EF:
|
||||
//MachRiderFightingCourse, defaults
|
||||
model = PpuModel::Ppu2C03;
|
||||
break;
|
||||
|
||||
case 0x0B65A917: case 0x8A6A9848:
|
||||
//MachRider
|
||||
inputType = VsInputType::TypeA;
|
||||
model = PpuModel::Ppu2C04B;
|
||||
break;
|
||||
|
||||
case 0x46914E3E:
|
||||
//Soccer
|
||||
inputType = VsInputType::TypeB;
|
||||
model = PpuModel::Ppu2C04C;
|
||||
break;
|
||||
|
||||
case 0x70433F2C:
|
||||
//Battle City
|
||||
inputType = VsInputType::TypeB;
|
||||
model = PpuModel::Ppu2C04A;
|
||||
break;
|
||||
|
||||
case 0xD99A2087:
|
||||
//Gradius
|
||||
inputType = VsInputType::TypeB;
|
||||
model = PpuModel::Ppu2C04A;
|
||||
break;
|
||||
|
||||
case 0x1E438D52:
|
||||
//Goonies
|
||||
inputType = VsInputType::TypeA;
|
||||
model = PpuModel::Ppu2C04C;
|
||||
break;
|
||||
|
||||
case 0xFF5135A3:
|
||||
//HoganAlley
|
||||
model = PpuModel::Ppu2C04A;
|
||||
break;
|
||||
|
||||
case 0x17AE56BE:
|
||||
//FreedomForce
|
||||
model = PpuModel::Ppu2C04A;
|
||||
break;
|
||||
|
||||
case 0xC99EC059:
|
||||
//RaidBungelingBay
|
||||
inputType = VsInputType::TypeD;
|
||||
model = PpuModel::Ppu2C04B;
|
||||
break;
|
||||
|
||||
case 0xF9D3B0A3: case 0x66BB838F: case 0x9924980A:
|
||||
//SuperXevious
|
||||
inputType = VsInputType::TypeA;
|
||||
model = PpuModel::Ppu2C04A;
|
||||
break;
|
||||
|
||||
case 0xA93A5AEE:
|
||||
//Golf
|
||||
inputType = VsInputType::TypeB;
|
||||
model = PpuModel::Ppu2C03;
|
||||
break;
|
||||
|
||||
case 0xCC2C4B5D: case 0x86167220:
|
||||
//GolfB
|
||||
inputType = VsInputType::TypeB;
|
||||
model = PpuModel::Ppu2C04B;
|
||||
break;
|
||||
|
||||
case 0xCA85E56D:
|
||||
//MightyBombJack
|
||||
inputType = VsInputType::TypeA;
|
||||
model = PpuModel::Ppu2C05B;
|
||||
break;
|
||||
|
||||
case 0xFE446787:
|
||||
//Gumshoe
|
||||
model = PpuModel::Ppu2C05C;
|
||||
break;
|
||||
}
|
||||
|
||||
EmulationSettings::SetPpuModel(model);
|
||||
EmulationSettings::SetDipSwitches(defaultDip);
|
||||
EmulationSettings::SetVsInputType(inputType);
|
||||
}
|
||||
|
|
|
@ -16,8 +16,11 @@ private:
|
|||
|
||||
static void InitDatabase();
|
||||
static void UpdateRomData(GameInfo &info, RomData &romData);
|
||||
static void SetVsSystemDefaults(uint32_t prgCrc32);
|
||||
|
||||
public:
|
||||
static void LoadGameDb(vector<string> data);
|
||||
|
||||
static void InitializeInputDevices(string inputType, GameSystem system);
|
||||
static void SetGameInfo(uint32_t romCrc, RomData &romData, bool updateRomData);
|
||||
static bool GetiNesHeader(uint32_t romCrc, NESHeader &nesHeader);
|
||||
|
|
|
@ -155,13 +155,16 @@ public:
|
|||
{
|
||||
MessageManager::SendNotification(ConsoleNotificationType::PpuFrameDone, _currentOutputBuffer);
|
||||
|
||||
#ifdef LIBRETRO
|
||||
VideoDecoder::GetInstance()->UpdateFrameSync(_currentOutputBuffer, _screenTiles);
|
||||
#else
|
||||
if(RewindManager::IsRewinding()) {
|
||||
VideoDecoder::GetInstance()->UpdateFrameSync(_currentOutputBuffer, _screenTiles);
|
||||
} else {
|
||||
VideoDecoder::GetInstance()->UpdateFrame(_currentOutputBuffer, _screenTiles);
|
||||
}
|
||||
|
||||
_currentOutputBuffer = (_currentOutputBuffer == _outputBuffers[0]) ? _outputBuffers[1] : _outputBuffers[0];
|
||||
_screenTiles = (_screenTiles == _screenTileBuffers[0]) ? _screenTileBuffers[1] : _screenTileBuffers[0];
|
||||
#endif
|
||||
}
|
||||
};
|
|
@ -654,6 +654,7 @@ void MessageManager::DisplayMessage(string title, string message, string param1,
|
|||
|
||||
void MessageManager::Log(string message)
|
||||
{
|
||||
#ifndef LIBRETRO
|
||||
auto lock = _logLock.AcquireSafe();
|
||||
if(message.empty()) {
|
||||
message = "------------------------------------------------------";
|
||||
|
@ -662,6 +663,11 @@ void MessageManager::Log(string message)
|
|||
_log.pop_front();
|
||||
}
|
||||
_log.push_back(message);
|
||||
#else
|
||||
if(MessageManager::_messageManager) {
|
||||
MessageManager::_messageManager->DisplayMessage("", message + "\n");
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
string MessageManager::GetLog()
|
||||
|
|
|
@ -15,8 +15,6 @@ PPU::PPU(BaseMapper *mapper, ControlManager *controlManager)
|
|||
{
|
||||
PPU::Instance = this;
|
||||
|
||||
EmulationSettings::SetPpuModel(PpuModel::Ppu2C02);
|
||||
|
||||
_mapper = mapper;
|
||||
_controlManager = controlManager;
|
||||
_outputBuffers[0] = new uint16_t[256 * 240];
|
||||
|
@ -992,7 +990,6 @@ void PPU::ProcessSpriteEvaluation()
|
|||
|
||||
uint8_t PPU::ReadSpriteRam(uint8_t addr)
|
||||
{
|
||||
//return _spriteRAM[addr];
|
||||
if(!_enableOamDecay) {
|
||||
return _spriteRAM[addr];
|
||||
} else {
|
||||
|
@ -1026,6 +1023,9 @@ void PPU::SendFrame()
|
|||
|
||||
MessageManager::SendNotification(ConsoleNotificationType::PpuFrameDone, _currentOutputBuffer);
|
||||
|
||||
#ifdef LIBRETRO
|
||||
VideoDecoder::GetInstance()->UpdateFrameSync(_currentOutputBuffer);
|
||||
#else
|
||||
if(RewindManager::IsRewinding()) {
|
||||
if(!RewindManager::IsStepBack()) {
|
||||
VideoDecoder::GetInstance()->UpdateFrameSync(_currentOutputBuffer);
|
||||
|
@ -1033,7 +1033,6 @@ void PPU::SendFrame()
|
|||
} else {
|
||||
VideoDecoder::GetInstance()->UpdateFrame(_currentOutputBuffer);
|
||||
}
|
||||
|
||||
//Switch output buffer. VideoDecoder will decode the last frame while we build the new one.
|
||||
//If VideoDecoder isn't fast enough, UpdateFrame will block until it is ready to accept a new frame.
|
||||
_currentOutputBuffer = (_currentOutputBuffer == _outputBuffers[0]) ? _outputBuffers[1] : _outputBuffers[0];
|
||||
|
@ -1042,6 +1041,7 @@ void PPU::SendFrame()
|
|||
}
|
||||
|
||||
_enableOamDecay = EmulationSettings::CheckFlag(EmulationFlags::EnableOamDecay);
|
||||
#endif
|
||||
}
|
||||
|
||||
void PPU::BeginVBlank()
|
||||
|
|
|
@ -193,6 +193,7 @@ void VideoDecoder::UpdateFrame(void *ppuOutputBuffer, HdPpuPixelInfo *hdPixelInf
|
|||
|
||||
void VideoDecoder::StartThread()
|
||||
{
|
||||
#ifndef LIBRETRO
|
||||
if(!_decodeThread) {
|
||||
_stopFlag = false;
|
||||
_frameChanged = false;
|
||||
|
@ -201,10 +202,12 @@ void VideoDecoder::StartThread()
|
|||
_hud.reset(new VideoHud());
|
||||
_decodeThread.reset(new thread(&VideoDecoder::DecodeThread, this));
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void VideoDecoder::StopThread()
|
||||
{
|
||||
#ifndef LIBRETRO
|
||||
_stopFlag = true;
|
||||
if(_decodeThread) {
|
||||
_waitForFrame.Signal();
|
||||
|
@ -225,6 +228,7 @@ void VideoDecoder::StopThread()
|
|||
}
|
||||
_ppuOutputBuffer = nullptr;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
bool VideoDecoder::IsRunning()
|
||||
|
|
|
@ -33,21 +33,25 @@ void VideoRenderer::Release()
|
|||
|
||||
void VideoRenderer::StartThread()
|
||||
{
|
||||
#ifndef LIBRETRO
|
||||
if(!_renderThread) {
|
||||
_stopFlag = false;
|
||||
_waitForRender.Reset();
|
||||
|
||||
_renderThread.reset(new std::thread(&VideoRenderer::RenderThread, this));
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void VideoRenderer::StopThread()
|
||||
{
|
||||
#ifndef LIBRETRO
|
||||
_stopFlag = true;
|
||||
if(_renderThread) {
|
||||
_renderThread->join();
|
||||
_renderThread.reset();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void VideoRenderer::RenderThread()
|
||||
|
|
|
@ -37,12 +37,9 @@ VsControlManager* VsControlManager::GetInstance()
|
|||
void VsControlManager::StreamState(bool saving)
|
||||
{
|
||||
ControlManager::StreamState(saving);
|
||||
Stream(_prgChrSelectBit, _protectionCounter, _refreshState, _inputType);
|
||||
}
|
||||
|
||||
void VsControlManager::SetInputType(VsInputType inputType)
|
||||
{
|
||||
_inputType = inputType;
|
||||
VsInputType unusedInputType = VsInputType::Default;
|
||||
Stream(_prgChrSelectBit, _protectionCounter, _refreshState, unusedInputType);
|
||||
}
|
||||
|
||||
void VsControlManager::GetMemoryRanges(MemoryRanges &ranges)
|
||||
|
@ -67,14 +64,15 @@ void VsControlManager::RemapControllerButtons()
|
|||
return;
|
||||
}
|
||||
|
||||
if(_inputType == VsInputType::TypeA) {
|
||||
VsInputType inputType = EmulationSettings::GetVsInputType();
|
||||
if(inputType == VsInputType::TypeA) {
|
||||
BaseControlDevice::SwapButtons(controllers[0], StandardController::Buttons::Select, controllers[0], StandardController::Buttons::Start);
|
||||
BaseControlDevice::SwapButtons(controllers[1], StandardController::Buttons::Select, controllers[1], StandardController::Buttons::Start);
|
||||
} else if(_inputType == VsInputType::TypeB) {
|
||||
} else if(inputType == VsInputType::TypeB) {
|
||||
std::swap(controllers[0], controllers[1]);
|
||||
BaseControlDevice::SwapButtons(controllers[1], StandardController::Buttons::Select, controllers[0], StandardController::Buttons::Start);
|
||||
BaseControlDevice::SwapButtons(controllers[0], StandardController::Buttons::Select, controllers[1], StandardController::Buttons::Start);
|
||||
} else if(_inputType == VsInputType::TypeC) {
|
||||
} else if(inputType == VsInputType::TypeC) {
|
||||
std::swap(controllers[0], controllers[1]);
|
||||
|
||||
if(controllers[0]->IsPressed(StandardController::Buttons::Start)) {
|
||||
|
@ -85,13 +83,13 @@ void VsControlManager::RemapControllerButtons()
|
|||
|
||||
controllers[0]->ClearBit(StandardController::Buttons::Start);
|
||||
controllers[0]->ClearBit(StandardController::Buttons::Select);
|
||||
} else if(_inputType == VsInputType::TypeD) {
|
||||
} else if(inputType == VsInputType::TypeD) {
|
||||
std::swap(controllers[0], controllers[1]);
|
||||
BaseControlDevice::SwapButtons(controllers[1], StandardController::Buttons::Select, controllers[0], StandardController::Buttons::Start);
|
||||
BaseControlDevice::SwapButtons(controllers[0], StandardController::Buttons::Select, controllers[1], StandardController::Buttons::Start);
|
||||
controllers[0]->InvertBit(StandardController::Buttons::Select);
|
||||
controllers[1]->InvertBit(StandardController::Buttons::Select);
|
||||
} else if(_inputType == VsInputType::TypeE) {
|
||||
} else if(inputType == VsInputType::TypeE) {
|
||||
BaseControlDevice::SwapButtons(controllers[0], StandardController::Buttons::B, controllers[1], StandardController::Buttons::A);
|
||||
BaseControlDevice::SwapButtons(controllers[0], StandardController::Buttons::Select, controllers[0], StandardController::Buttons::Start);
|
||||
BaseControlDevice::SwapButtons(controllers[1], StandardController::Buttons::Select, controllers[1], StandardController::Buttons::Start);
|
||||
|
|
|
@ -10,22 +10,11 @@
|
|||
|
||||
class BaseControlDevice;
|
||||
|
||||
enum class VsInputType
|
||||
{
|
||||
Default = 0,
|
||||
TypeA = 1,
|
||||
TypeB = 2,
|
||||
TypeC = 3,
|
||||
TypeD = 4,
|
||||
TypeE = 5
|
||||
};
|
||||
|
||||
class VsControlManager : public ControlManager
|
||||
{
|
||||
private:
|
||||
static VsControlManager *_instance;
|
||||
uint8_t _prgChrSelectBit;
|
||||
VsInputType _inputType = VsInputType::Default;
|
||||
bool _refreshState = false;
|
||||
|
||||
uint32_t _protectionCounter = 0;
|
||||
|
|
|
@ -131,6 +131,35 @@
|
|||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Libretro|AnyCPU'">
|
||||
<OutputPath>bin\Libretro\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Libretro|x64'">
|
||||
<OutputPath>bin\x64\Libretro\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Libretro|x86'">
|
||||
<OutputPath>bin\x86\Libretro\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
|
|
|
@ -152,6 +152,33 @@
|
|||
<PropertyGroup>
|
||||
<ApplicationManifest>app.manifest</ApplicationManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Libretro|x64'">
|
||||
<OutputPath>bin\x64\Libretro\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Libretro|x86'">
|
||||
<OutputPath>bin\x86\Libretro\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Libretro|AnyCPU'">
|
||||
<OutputPath>bin\Libretro\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="BouncyCastle.Crypto, Version=1.7.4137.9688, Culture=neutral, PublicKeyToken=a4292a325f69b123, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
|
|
|
@ -557,7 +557,7 @@ namespace InteropEmu {
|
|||
if(vs) {
|
||||
EmulationSettings::SetPpuModel(model);
|
||||
EmulationSettings::SetDipSwitches(dipSwitches);
|
||||
vs->SetInputType(inputType);
|
||||
EmulationSettings::SetVsInputType(inputType);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -9,6 +9,14 @@
|
|||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Libretro|Win32">
|
||||
<Configuration>Libretro</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Libretro|x64">
|
||||
<Configuration>Libretro</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="PGO Optimize|Win32">
|
||||
<Configuration>PGO Optimize</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
|
@ -60,6 +68,13 @@
|
|||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
|
@ -81,6 +96,13 @@
|
|||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
|
@ -107,6 +129,9 @@
|
|||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
|
@ -116,6 +141,9 @@
|
|||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
|
@ -141,6 +169,12 @@
|
|||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<TargetName>MesenCore</TargetName>
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<TargetName>MesenCore</TargetName>
|
||||
|
@ -159,6 +193,12 @@
|
|||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<TargetName>MesenCore</TargetName>
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<TargetName>MesenCore</TargetName>
|
||||
|
@ -237,6 +277,30 @@
|
|||
<AdditionalOptions>/ignore:4099 %(AdditionalOptions)</AdditionalOptions>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;INTEROPDLL_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>
|
||||
</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalDependencies>dinput8.lib;Xinput9_1_0.lib;d3d11.lib;d3dcompiler.lib;dxguid.lib;winmm.lib;comctl32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalOptions>/ignore:4099 %(AdditionalOptions)</AdditionalOptions>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
|
@ -310,6 +374,30 @@
|
|||
<AdditionalOptions>/ignore:4099 %(AdditionalOptions)</AdditionalOptions>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;INTEROPDLL_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>
|
||||
</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalDependencies>dinput8.lib;Xinput9_1_0.lib;d3d11.lib;d3dcompiler.lib;dxguid.lib;winmm.lib;comctl32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalOptions>/ignore:4099 %(AdditionalOptions)</AdditionalOptions>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
|
@ -361,7 +449,6 @@
|
|||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="stdafx.h" />
|
||||
<ClInclude Include="targetver.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="ConsoleWrapper.cpp" />
|
||||
|
@ -370,9 +457,11 @@
|
|||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|x64'">Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
|
|
|
@ -14,9 +14,6 @@
|
|||
<ClInclude Include="stdafx.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="targetver.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="stdafx.cpp">
|
||||
|
|
269
Libretro/Libretro.vcxproj
Normal file
269
Libretro/Libretro.vcxproj
Normal file
|
@ -0,0 +1,269 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Libretro|Win32">
|
||||
<Configuration>Libretro</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Libretro|x64">
|
||||
<Configuration>Libretro</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>15.0</VCProjectVersion>
|
||||
<ProjectGuid>{4432139E-528B-44DE-961C-B37CD5E92E0E}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>Libretro</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
|
||||
<ProjectName>Libretro</ProjectName>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
<TargetName>mesen_libretro</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
<TargetName>mesen_libretro</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
<TargetName>mesen_libretro</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
<TargetName>mesen_libretro</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
<TargetName>mesen_libretro</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
<TargetName>mesen_libretro</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>NDEBUG;LIBRETRO_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>NDEBUG;LIBRETRO_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;LIBRETRO_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>_DEBUG;LIBRETRO_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;LIBRETRO_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;LIBRETRO_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="libretro.h" />
|
||||
<ClInclude Include="LibretroKeyManager.h" />
|
||||
<ClInclude Include="LibretroMessageManager.h" />
|
||||
<ClInclude Include="LibretroRenderer.h" />
|
||||
<ClInclude Include="LibretroSoundManager.h" />
|
||||
<ClInclude Include="stdafx.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="libretro.cpp" />
|
||||
<ClCompile Include="stdafx.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'">Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="MesenDB.inc" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
18
Libretro/Libretro.vcxproj.filters
Normal file
18
Libretro/Libretro.vcxproj.filters
Normal file
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<ClInclude Include="libretro.h" />
|
||||
<ClInclude Include="LibretroKeyManager.h" />
|
||||
<ClInclude Include="LibretroMessageManager.h" />
|
||||
<ClInclude Include="LibretroRenderer.h" />
|
||||
<ClInclude Include="LibretroSoundManager.h" />
|
||||
<ClInclude Include="stdafx.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="libretro.cpp" />
|
||||
<ClCompile Include="stdafx.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="MesenDB.inc" />
|
||||
</ItemGroup>
|
||||
</Project>
|
114
Libretro/LibretroKeyManager.h
Normal file
114
Libretro/LibretroKeyManager.h
Normal file
|
@ -0,0 +1,114 @@
|
|||
#pragma once
|
||||
#include "libretro.h"
|
||||
#include "../Core/IKeyManager.h"
|
||||
#include "../Core/KeyManager.h"
|
||||
#include "../Core/FdsSystemActionManager.h"
|
||||
#include "../Core/VsSystemActionManager.h"
|
||||
|
||||
class LibretroKeyManager : public IKeyManager
|
||||
{
|
||||
private:
|
||||
retro_input_state_t _getInputState;
|
||||
retro_input_poll_t _pollInput;
|
||||
bool _mouseButtons[3] = { false, false, false };
|
||||
|
||||
public:
|
||||
LibretroKeyManager(retro_input_state_t getInputState, retro_input_poll_t pollInput)
|
||||
{
|
||||
_getInputState = getInputState;
|
||||
_pollInput = pollInput;
|
||||
KeyManager::RegisterKeyManager(this);
|
||||
}
|
||||
|
||||
~LibretroKeyManager()
|
||||
{
|
||||
KeyManager::RegisterKeyManager(nullptr);
|
||||
}
|
||||
|
||||
// Inherited via IKeyManager
|
||||
virtual void RefreshState() override
|
||||
{
|
||||
if(_pollInput) {
|
||||
_pollInput();
|
||||
}
|
||||
|
||||
int32_t x = _getInputState(0, RETRO_DEVICE_POINTER, 0, RETRO_DEVICE_ID_POINTER_X);
|
||||
int32_t y = _getInputState(0, RETRO_DEVICE_POINTER, 0, RETRO_DEVICE_ID_POINTER_Y);
|
||||
|
||||
x += 0x8000;
|
||||
y += 0x8000;
|
||||
|
||||
KeyManager::SetMousePosition((double)x / 0x10000, (double)y / 0x10000);
|
||||
|
||||
int16_t dx = _getInputState(0, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_X);
|
||||
int16_t dy = _getInputState(0, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_Y);
|
||||
KeyManager::SetMouseMovement(dx, dy);
|
||||
|
||||
_mouseButtons[(int)MouseButton::LeftButton] = _getInputState(0, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_LEFT) != 0;
|
||||
_mouseButtons[(int)MouseButton::RightButton] = _getInputState(0, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_RIGHT) != 0;
|
||||
_mouseButtons[(int)MouseButton::MiddleButton] = _getInputState(0, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_MIDDLE) != 0;
|
||||
|
||||
shared_ptr<FdsSystemActionManager> fdsSam = Console::GetInstance()->GetSystemActionManager<FdsSystemActionManager>();
|
||||
if(fdsSam) {
|
||||
if(_getInputState(0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_L)) {
|
||||
fdsSam->InsertNextDisk();
|
||||
} else if(_getInputState(0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_R)) {
|
||||
fdsSam->SwitchDiskSide();
|
||||
}
|
||||
}
|
||||
|
||||
shared_ptr<VsSystemActionManager> vsSam = Console::GetInstance()->GetSystemActionManager<VsSystemActionManager>();
|
||||
if(vsSam) {
|
||||
if(_getInputState(0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_L2)) {
|
||||
vsSam->InsertCoin(0);
|
||||
} else if(_getInputState(0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_L2)) {
|
||||
vsSam->InsertCoin(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
virtual bool IsKeyPressed(uint32_t keyCode) override
|
||||
{
|
||||
if(keyCode > 0) {
|
||||
return _getInputState(keyCode >> 8, RETRO_DEVICE_JOYPAD, 0, (keyCode - 1) & 0xFF) != 0;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
virtual void UpdateDevices() override
|
||||
{
|
||||
}
|
||||
|
||||
virtual bool IsMouseButtonPressed(MouseButton button) override
|
||||
{
|
||||
return _mouseButtons[(int)button];
|
||||
}
|
||||
|
||||
virtual vector<uint32_t> GetPressedKeys() override
|
||||
{
|
||||
return vector<uint32_t>();
|
||||
}
|
||||
|
||||
virtual string GetKeyName(uint32_t keyCode) override
|
||||
{
|
||||
return string();
|
||||
}
|
||||
|
||||
virtual uint32_t GetKeyCode(string keyName) override
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
virtual void SetKeyState(uint16_t scanCode, bool state) override
|
||||
{
|
||||
}
|
||||
|
||||
virtual void ResetKeyState() override
|
||||
{
|
||||
}
|
||||
|
||||
virtual void SetDisabled(bool disabled) override
|
||||
{
|
||||
}
|
||||
};
|
30
Libretro/LibretroMessageManager.h
Normal file
30
Libretro/LibretroMessageManager.h
Normal file
|
@ -0,0 +1,30 @@
|
|||
#pragma once
|
||||
#include "libretro.h"
|
||||
#include "../Core/IMessageManager.h"
|
||||
#include "../Core/MessageManager.h"
|
||||
|
||||
class LibretroMessageManager : public IMessageManager
|
||||
{
|
||||
private:
|
||||
retro_log_printf_t _log = nullptr;
|
||||
|
||||
public:
|
||||
LibretroMessageManager(retro_log_printf_t logCallback)
|
||||
{
|
||||
_log = logCallback;
|
||||
MessageManager::RegisterMessageManager(this);
|
||||
}
|
||||
|
||||
~LibretroMessageManager()
|
||||
{
|
||||
MessageManager::RegisterMessageManager(nullptr);
|
||||
}
|
||||
|
||||
// Inherited via IMessageManager
|
||||
virtual void DisplayMessage(string title, string message) override
|
||||
{
|
||||
if(_log) {
|
||||
_log(RETRO_LOG_INFO, message.c_str());
|
||||
}
|
||||
}
|
||||
};
|
49
Libretro/LibretroRenderer.h
Normal file
49
Libretro/LibretroRenderer.h
Normal file
|
@ -0,0 +1,49 @@
|
|||
#pragma once
|
||||
#include "stdafx.h"
|
||||
#include "../Core/IRenderingDevice.h"
|
||||
#include "../Core/VideoRenderer.h"
|
||||
#include "libretro.h"
|
||||
|
||||
class LibretroRenderer : public IRenderingDevice
|
||||
{
|
||||
private:
|
||||
retro_video_refresh_t _sendFrame = nullptr;
|
||||
bool _skipMode = false;
|
||||
|
||||
public:
|
||||
LibretroRenderer(retro_video_refresh_t sendFrame)
|
||||
{
|
||||
_sendFrame = sendFrame;
|
||||
VideoRenderer::GetInstance()->RegisterRenderingDevice(this);
|
||||
}
|
||||
|
||||
~LibretroRenderer()
|
||||
{
|
||||
VideoRenderer::GetInstance()->UnregisterRenderingDevice(this);
|
||||
}
|
||||
|
||||
// Inherited via IRenderingDevice
|
||||
virtual void UpdateFrame(void *frameBuffer, uint32_t width, uint32_t height) override
|
||||
{
|
||||
if(!_skipMode) {
|
||||
_sendFrame(frameBuffer, width, height, sizeof(uint32_t) * width);
|
||||
}
|
||||
}
|
||||
|
||||
void SetSkipMode(bool skip)
|
||||
{
|
||||
_skipMode = skip;
|
||||
}
|
||||
|
||||
virtual void Render() override
|
||||
{
|
||||
}
|
||||
|
||||
virtual void Reset() override
|
||||
{
|
||||
}
|
||||
|
||||
virtual void SetFullscreenMode(bool fullscreen, void *windowHandle, uint32_t monitorWidth, uint32_t monitorHeight) override
|
||||
{
|
||||
}
|
||||
};
|
56
Libretro/LibretroSoundManager.h
Normal file
56
Libretro/LibretroSoundManager.h
Normal file
|
@ -0,0 +1,56 @@
|
|||
#pragma once
|
||||
#include "stdafx.h"
|
||||
#include "../Core/IAudioDevice.h"
|
||||
#include "../Core/SoundMixer.h"
|
||||
#include "libretro.h"
|
||||
|
||||
class LibretroSoundManager : public IAudioDevice
|
||||
{
|
||||
private:
|
||||
retro_audio_sample_t _sendAudioSample = nullptr;
|
||||
bool _skipMode = false;
|
||||
|
||||
public:
|
||||
LibretroSoundManager(retro_audio_sample_t sendAudioSample)
|
||||
{
|
||||
_sendAudioSample = sendAudioSample;
|
||||
SoundMixer::RegisterAudioDevice(this);
|
||||
}
|
||||
|
||||
~LibretroSoundManager()
|
||||
{
|
||||
SoundMixer::RegisterAudioDevice(nullptr);
|
||||
}
|
||||
|
||||
// Inherited via IAudioDevice
|
||||
virtual void PlayBuffer(int16_t *soundBuffer, uint32_t sampleCount, uint32_t sampleRate, bool isStereo) override
|
||||
{
|
||||
if(!_skipMode) {
|
||||
for(uint32_t i = 0; i < sampleCount; i++) {
|
||||
_sendAudioSample(soundBuffer[i * 2], soundBuffer[i * 2 + 1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void SetSkipMode(bool skip)
|
||||
{
|
||||
_skipMode = skip;
|
||||
}
|
||||
|
||||
virtual void Stop() override
|
||||
{
|
||||
}
|
||||
|
||||
virtual void Pause() override
|
||||
{
|
||||
}
|
||||
|
||||
virtual string GetAvailableDevices() override
|
||||
{
|
||||
return string();
|
||||
}
|
||||
|
||||
virtual void SetAudioDevice(string deviceName) override
|
||||
{
|
||||
}
|
||||
};
|
3100
Libretro/MesenDB.inc
Normal file
3100
Libretro/MesenDB.inc
Normal file
File diff suppressed because it is too large
Load diff
BIN
Libretro/libretro.cpp
Normal file
BIN
Libretro/libretro.cpp
Normal file
Binary file not shown.
2323
Libretro/libretro.h
Normal file
2323
Libretro/libretro.h
Normal file
File diff suppressed because it is too large
Load diff
BIN
Libretro/stdafx.cpp
Normal file
BIN
Libretro/stdafx.cpp
Normal file
Binary file not shown.
BIN
Libretro/stdafx.h
Normal file
BIN
Libretro/stdafx.h
Normal file
Binary file not shown.
|
@ -5,6 +5,14 @@
|
|||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Libretro|Win32">
|
||||
<Configuration>Libretro</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Libretro|x64">
|
||||
<Configuration>Libretro</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="PGO Optimize|Win32">
|
||||
<Configuration>PGO Optimize</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
|
@ -119,6 +127,13 @@
|
|||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
|
@ -146,6 +161,13 @@
|
|||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
|
@ -171,6 +193,9 @@
|
|||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
|
@ -183,6 +208,9 @@
|
|||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
|
@ -194,6 +222,10 @@
|
|||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'">
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'">
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
|
@ -218,6 +250,10 @@
|
|||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'">
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|Win32'">
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\PGO Profile\</OutDir>
|
||||
<IntDir>obj\$(Platform)\PGO Profile\</IntDir>
|
||||
|
@ -268,6 +304,24 @@
|
|||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
|
@ -323,6 +377,25 @@
|
|||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
|
|
93
Mesen.sln
93
Mesen.sln
|
@ -1,7 +1,7 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.26228.4
|
||||
VisualStudioVersion = 15.0.27004.2010
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Core", "Core\Core.vcxproj", "{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
|
@ -55,11 +55,28 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SevenZip", "SevenZip\SevenZ
|
|||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Lua", "Lua\Lua.vcxproj", "{B609E0A0-5050-4871-91D6-E760633BCDD1}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Libretro", "Libretro\Libretro.vcxproj", "{4432139E-528B-44DE-961C-B37CD5E92E0E}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D} = {B5330148-E8C7-46BA-B54E-69BE59EA337D}
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0} = {78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{54D3FF68-C2AE-4D22-BFED-D84191E1D23C}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
Performance1.psess = Performance1.psess
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(Performance) = preSolution
|
||||
HasPerformanceSessions = true
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Libretro|Any CPU = Libretro|Any CPU
|
||||
Libretro|x64 = Libretro|x64
|
||||
Libretro|x86 = Libretro|x86
|
||||
PGO Optimize|Any CPU = PGO Optimize|Any CPU
|
||||
PGO Optimize|x64 = PGO Optimize|x64
|
||||
PGO Optimize|x86 = PGO Optimize|x86
|
||||
|
@ -76,6 +93,11 @@ Global
|
|||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.Debug|x64.Build.0 = Debug|x64
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.Debug|x86.Build.0 = Debug|Win32
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.Libretro|Any CPU.ActiveCfg = Libretro|Win32
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.Libretro|x64.ActiveCfg = Libretro|x64
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.Libretro|x64.Build.0 = Libretro|x64
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.Libretro|x86.ActiveCfg = Libretro|Win32
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.Libretro|x86.Build.0 = Libretro|Win32
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.PGO Optimize|Any CPU.ActiveCfg = PGO Optimize|Win32
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.PGO Optimize|x64.ActiveCfg = PGO Optimize|x64
|
||||
{78FEF1A1-6DF1-4CBB-A373-AE6FA7CE5CE0}.PGO Optimize|x64.Build.0 = PGO Optimize|x64
|
||||
|
@ -96,6 +118,11 @@ Global
|
|||
{B5330148-E8C7-46BA-B54E-69BE59EA337D}.Debug|x64.Build.0 = Debug|x64
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D}.Debug|x86.Build.0 = Debug|Win32
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D}.Libretro|Any CPU.ActiveCfg = Libretro|Win32
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D}.Libretro|x64.ActiveCfg = Libretro|x64
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D}.Libretro|x64.Build.0 = Libretro|x64
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D}.Libretro|x86.ActiveCfg = Libretro|Win32
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D}.Libretro|x86.Build.0 = Libretro|Win32
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D}.PGO Optimize|Any CPU.ActiveCfg = PGO Optimize|Win32
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D}.PGO Optimize|x64.ActiveCfg = PGO Optimize|x64
|
||||
{B5330148-E8C7-46BA-B54E-69BE59EA337D}.PGO Optimize|x64.Build.0 = PGO Optimize|x64
|
||||
|
@ -117,6 +144,10 @@ Global
|
|||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.Debug|x64.Build.0 = Debug|x64
|
||||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.Debug|x86.Build.0 = Debug|x86
|
||||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.Libretro|Any CPU.ActiveCfg = Libretro|Any CPU
|
||||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.Libretro|Any CPU.Build.0 = Libretro|Any CPU
|
||||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.Libretro|x64.ActiveCfg = Libretro|x64
|
||||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.Libretro|x86.ActiveCfg = Libretro|x86
|
||||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.PGO Optimize|Any CPU.ActiveCfg = PGO Optimize|Any CPU
|
||||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.PGO Optimize|Any CPU.Build.0 = PGO Optimize|Any CPU
|
||||
{08D83A7E-52A9-451E-A53A-1A7946F8BB77}.PGO Optimize|x64.ActiveCfg = PGO Optimize|x64
|
||||
|
@ -140,6 +171,9 @@ Global
|
|||
{7761E790-B42C-4179-8550-8365FF9EB23E}.Debug|x64.Build.0 = Debug|x64
|
||||
{7761E790-B42C-4179-8550-8365FF9EB23E}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{7761E790-B42C-4179-8550-8365FF9EB23E}.Debug|x86.Build.0 = Debug|Win32
|
||||
{7761E790-B42C-4179-8550-8365FF9EB23E}.Libretro|Any CPU.ActiveCfg = Libretro|Win32
|
||||
{7761E790-B42C-4179-8550-8365FF9EB23E}.Libretro|x64.ActiveCfg = Libretro|x64
|
||||
{7761E790-B42C-4179-8550-8365FF9EB23E}.Libretro|x86.ActiveCfg = Libretro|Win32
|
||||
{7761E790-B42C-4179-8550-8365FF9EB23E}.PGO Optimize|Any CPU.ActiveCfg = PGO Optimize|Win32
|
||||
{7761E790-B42C-4179-8550-8365FF9EB23E}.PGO Optimize|x64.ActiveCfg = PGO Optimize|x64
|
||||
{7761E790-B42C-4179-8550-8365FF9EB23E}.PGO Optimize|x64.Build.0 = PGO Optimize|x64
|
||||
|
@ -160,6 +194,9 @@ Global
|
|||
{37749BB2-FA78-4EC9-8990-5628FC0BBA19}.Debug|x64.Build.0 = Debug|x64
|
||||
{37749BB2-FA78-4EC9-8990-5628FC0BBA19}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{37749BB2-FA78-4EC9-8990-5628FC0BBA19}.Debug|x86.Build.0 = Debug|Win32
|
||||
{37749BB2-FA78-4EC9-8990-5628FC0BBA19}.Libretro|Any CPU.ActiveCfg = Libretro|Win32
|
||||
{37749BB2-FA78-4EC9-8990-5628FC0BBA19}.Libretro|x64.ActiveCfg = Libretro|x64
|
||||
{37749BB2-FA78-4EC9-8990-5628FC0BBA19}.Libretro|x86.ActiveCfg = Libretro|Win32
|
||||
{37749BB2-FA78-4EC9-8990-5628FC0BBA19}.PGO Optimize|Any CPU.ActiveCfg = PGO Optimize|Win32
|
||||
{37749BB2-FA78-4EC9-8990-5628FC0BBA19}.PGO Optimize|x64.ActiveCfg = PGO Optimize|x64
|
||||
{37749BB2-FA78-4EC9-8990-5628FC0BBA19}.PGO Optimize|x64.Build.0 = PGO Optimize|x64
|
||||
|
@ -180,6 +217,9 @@ Global
|
|||
{38D74EE1-5276-4D24-AABC-104B912A27D2}.Debug|x64.Build.0 = Debug|x64
|
||||
{38D74EE1-5276-4D24-AABC-104B912A27D2}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{38D74EE1-5276-4D24-AABC-104B912A27D2}.Debug|x86.Build.0 = Debug|Win32
|
||||
{38D74EE1-5276-4D24-AABC-104B912A27D2}.Libretro|Any CPU.ActiveCfg = Libretro|Win32
|
||||
{38D74EE1-5276-4D24-AABC-104B912A27D2}.Libretro|x64.ActiveCfg = Libretro|x64
|
||||
{38D74EE1-5276-4D24-AABC-104B912A27D2}.Libretro|x86.ActiveCfg = Libretro|Win32
|
||||
{38D74EE1-5276-4D24-AABC-104B912A27D2}.PGO Optimize|Any CPU.ActiveCfg = PGO Optimize|Win32
|
||||
{38D74EE1-5276-4D24-AABC-104B912A27D2}.PGO Optimize|x64.ActiveCfg = PGO Optimize|x64
|
||||
{38D74EE1-5276-4D24-AABC-104B912A27D2}.PGO Optimize|x64.Build.0 = PGO Optimize|x64
|
||||
|
@ -200,6 +240,9 @@ Global
|
|||
{2A607369-8B5D-494A-9E40-C5DC8D821AA3}.Debug|x64.Build.0 = Debug|x64
|
||||
{2A607369-8B5D-494A-9E40-C5DC8D821AA3}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{2A607369-8B5D-494A-9E40-C5DC8D821AA3}.Debug|x86.Build.0 = Debug|Win32
|
||||
{2A607369-8B5D-494A-9E40-C5DC8D821AA3}.Libretro|Any CPU.ActiveCfg = Libretro|Win32
|
||||
{2A607369-8B5D-494A-9E40-C5DC8D821AA3}.Libretro|x64.ActiveCfg = Libretro|x64
|
||||
{2A607369-8B5D-494A-9E40-C5DC8D821AA3}.Libretro|x86.ActiveCfg = Libretro|Win32
|
||||
{2A607369-8B5D-494A-9E40-C5DC8D821AA3}.PGO Optimize|Any CPU.ActiveCfg = PGO Optimize|Win32
|
||||
{2A607369-8B5D-494A-9E40-C5DC8D821AA3}.PGO Optimize|x64.ActiveCfg = PGO Optimize|x64
|
||||
{2A607369-8B5D-494A-9E40-C5DC8D821AA3}.PGO Optimize|x64.Build.0 = PGO Optimize|x64
|
||||
|
@ -221,6 +264,10 @@ Global
|
|||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.Debug|x64.Build.0 = Debug|x64
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.Debug|x86.Build.0 = Debug|x86
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.Libretro|Any CPU.ActiveCfg = Libretro|Any CPU
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.Libretro|Any CPU.Build.0 = Libretro|Any CPU
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.Libretro|x64.ActiveCfg = Libretro|x64
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.Libretro|x86.ActiveCfg = Libretro|x86
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.PGO Optimize|Any CPU.ActiveCfg = PGO Optimize|Any CPU
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.PGO Optimize|Any CPU.Build.0 = PGO Optimize|Any CPU
|
||||
{AABB5225-3A49-47FF-8A48-031673CADCE9}.PGO Optimize|x64.ActiveCfg = PGO Optimize|x64
|
||||
|
@ -245,6 +292,10 @@ Global
|
|||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.Debug|x64.Build.0 = Debug|x64
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.Debug|x86.Build.0 = Debug|x86
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.Libretro|Any CPU.ActiveCfg = Libretro|Any CPU
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.Libretro|Any CPU.Build.0 = Libretro|Any CPU
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.Libretro|x64.ActiveCfg = Libretro|x64
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.Libretro|x86.ActiveCfg = Libretro|x86
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.PGO Optimize|Any CPU.ActiveCfg = PGO Optimize|Any CPU
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.PGO Optimize|Any CPU.Build.0 = PGO Optimize|Any CPU
|
||||
{36ABBF1C-66E1-4577-828A-619A2EF0DAE9}.PGO Optimize|x64.ActiveCfg = PGO Optimize|x64
|
||||
|
@ -268,6 +319,11 @@ Global
|
|||
{52C4BA3A-E699-4305-B23F-C9083FD07AB6}.Debug|x64.Build.0 = Debug|x64
|
||||
{52C4BA3A-E699-4305-B23F-C9083FD07AB6}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{52C4BA3A-E699-4305-B23F-C9083FD07AB6}.Debug|x86.Build.0 = Debug|Win32
|
||||
{52C4BA3A-E699-4305-B23F-C9083FD07AB6}.Libretro|Any CPU.ActiveCfg = Libretro|Win32
|
||||
{52C4BA3A-E699-4305-B23F-C9083FD07AB6}.Libretro|x64.ActiveCfg = Libretro|x64
|
||||
{52C4BA3A-E699-4305-B23F-C9083FD07AB6}.Libretro|x64.Build.0 = Libretro|x64
|
||||
{52C4BA3A-E699-4305-B23F-C9083FD07AB6}.Libretro|x86.ActiveCfg = Libretro|Win32
|
||||
{52C4BA3A-E699-4305-B23F-C9083FD07AB6}.Libretro|x86.Build.0 = Libretro|Win32
|
||||
{52C4BA3A-E699-4305-B23F-C9083FD07AB6}.PGO Optimize|Any CPU.ActiveCfg = PGO Optimize|Win32
|
||||
{52C4BA3A-E699-4305-B23F-C9083FD07AB6}.PGO Optimize|x64.ActiveCfg = PGO Optimize|x64
|
||||
{52C4BA3A-E699-4305-B23F-C9083FD07AB6}.PGO Optimize|x64.Build.0 = PGO Optimize|x64
|
||||
|
@ -288,6 +344,11 @@ Global
|
|||
{B609E0A0-5050-4871-91D6-E760633BCDD1}.Debug|x64.Build.0 = Debug|x64
|
||||
{B609E0A0-5050-4871-91D6-E760633BCDD1}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{B609E0A0-5050-4871-91D6-E760633BCDD1}.Debug|x86.Build.0 = Debug|Win32
|
||||
{B609E0A0-5050-4871-91D6-E760633BCDD1}.Libretro|Any CPU.ActiveCfg = Libretro|Win32
|
||||
{B609E0A0-5050-4871-91D6-E760633BCDD1}.Libretro|x64.ActiveCfg = Libretro|x64
|
||||
{B609E0A0-5050-4871-91D6-E760633BCDD1}.Libretro|x64.Build.0 = Libretro|x64
|
||||
{B609E0A0-5050-4871-91D6-E760633BCDD1}.Libretro|x86.ActiveCfg = Libretro|Win32
|
||||
{B609E0A0-5050-4871-91D6-E760633BCDD1}.Libretro|x86.Build.0 = Libretro|Win32
|
||||
{B609E0A0-5050-4871-91D6-E760633BCDD1}.PGO Optimize|Any CPU.ActiveCfg = PGO Optimize|Win32
|
||||
{B609E0A0-5050-4871-91D6-E760633BCDD1}.PGO Optimize|x64.ActiveCfg = PGO Optimize|x64
|
||||
{B609E0A0-5050-4871-91D6-E760633BCDD1}.PGO Optimize|x64.Build.0 = PGO Optimize|x64
|
||||
|
@ -303,8 +364,38 @@ Global
|
|||
{B609E0A0-5050-4871-91D6-E760633BCDD1}.Release|x64.Build.0 = Release|x64
|
||||
{B609E0A0-5050-4871-91D6-E760633BCDD1}.Release|x86.ActiveCfg = Release|Win32
|
||||
{B609E0A0-5050-4871-91D6-E760633BCDD1}.Release|x86.Build.0 = Release|Win32
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.Debug|Any CPU.ActiveCfg = Debug|Win32
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.Debug|x64.Build.0 = Debug|x64
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.Debug|x86.Build.0 = Debug|Win32
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.Libretro|Any CPU.ActiveCfg = Libretro|Win32
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.Libretro|x64.ActiveCfg = Libretro|x64
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.Libretro|x64.Build.0 = Libretro|x64
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.Libretro|x86.ActiveCfg = Libretro|Win32
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.Libretro|x86.Build.0 = Libretro|Win32
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.PGO Optimize|Any CPU.ActiveCfg = Release|x64
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.PGO Optimize|Any CPU.Build.0 = Release|x64
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.PGO Optimize|x64.ActiveCfg = Release|x64
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.PGO Optimize|x64.Build.0 = Release|x64
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.PGO Optimize|x86.ActiveCfg = Release|Win32
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.PGO Optimize|x86.Build.0 = Release|Win32
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.PGO Profile|Any CPU.ActiveCfg = Release|x64
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.PGO Profile|Any CPU.Build.0 = Release|x64
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.PGO Profile|x64.ActiveCfg = Release|x64
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.PGO Profile|x64.Build.0 = Release|x64
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.PGO Profile|x86.ActiveCfg = Release|Win32
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.PGO Profile|x86.Build.0 = Release|Win32
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.Release|Any CPU.ActiveCfg = Release|Win32
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.Release|x64.ActiveCfg = Release|x64
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.Release|x64.Build.0 = Release|x64
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.Release|x86.ActiveCfg = Release|Win32
|
||||
{4432139E-528B-44DE-961C-B37CD5E92E0E}.Release|x86.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {26BA923A-ECE6-4040-8BA4-C9B43DE004B4}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
|
|
@ -9,6 +9,14 @@
|
|||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Libretro|Win32">
|
||||
<Configuration>Libretro</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Libretro|x64">
|
||||
<Configuration>Libretro</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="PGO Optimize|Win32">
|
||||
<Configuration>PGO Optimize</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
|
@ -60,6 +68,13 @@
|
|||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
|
@ -81,6 +96,13 @@
|
|||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
|
@ -107,6 +129,9 @@
|
|||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
|
@ -116,6 +141,9 @@
|
|||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
|
@ -138,6 +166,11 @@
|
|||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
|
@ -153,6 +186,11 @@
|
|||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
|
@ -220,6 +258,27 @@
|
|||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>
|
||||
</AdditionalIncludeDirectories>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
|
@ -281,6 +340,27 @@
|
|||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>
|
||||
</AdditionalIncludeDirectories>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
|
|
|
@ -5,6 +5,14 @@
|
|||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Libretro|Win32">
|
||||
<Configuration>Libretro</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Libretro|x64">
|
||||
<Configuration>Libretro</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="PGO Optimize|Win32">
|
||||
<Configuration>PGO Optimize</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
|
@ -95,6 +103,13 @@
|
|||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
|
@ -122,6 +137,13 @@
|
|||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
|
@ -147,6 +169,9 @@
|
|||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
|
@ -159,6 +184,9 @@
|
|||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
|
@ -170,6 +198,10 @@
|
|||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'">
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'">
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
|
@ -194,6 +226,10 @@
|
|||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'">
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|Win32'">
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\PGO Profile\</OutDir>
|
||||
<IntDir>obj\$(Platform)\PGO Profile\</IntDir>
|
||||
|
@ -244,6 +280,24 @@
|
|||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
|
@ -299,6 +353,25 @@
|
|||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
|
|
|
@ -9,6 +9,14 @@
|
|||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Libretro|Win32">
|
||||
<Configuration>Libretro</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Libretro|x64">
|
||||
<Configuration>Libretro</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="PGO Optimize|Win32">
|
||||
<Configuration>PGO Optimize</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
|
@ -60,6 +68,13 @@
|
|||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
|
@ -81,6 +96,13 @@
|
|||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
|
@ -107,6 +129,9 @@
|
|||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
|
@ -116,6 +141,9 @@
|
|||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
|
@ -138,6 +166,11 @@
|
|||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
|
@ -153,6 +186,11 @@
|
|||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'">
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'">
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
|
@ -220,6 +258,27 @@
|
|||
<AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
|
@ -283,6 +342,27 @@
|
|||
<AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
|
|
|
@ -140,6 +140,35 @@
|
|||
<PropertyGroup>
|
||||
<ApplicationIcon>Icon.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Libretro|AnyCPU'">
|
||||
<OutputPath>bin\Libretro\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Libretro|x64'">
|
||||
<OutputPath>bin\x64\Libretro\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Libretro|x86'">
|
||||
<OutputPath>bin\x86\Libretro\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
|
|
|
@ -9,6 +9,14 @@
|
|||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Libretro|Win32">
|
||||
<Configuration>Libretro</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Libretro|x64">
|
||||
<Configuration>Libretro</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="PGO Optimize|Win32">
|
||||
<Configuration>PGO Optimize</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
|
@ -60,6 +68,13 @@
|
|||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
|
@ -81,6 +96,13 @@
|
|||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
|
@ -107,6 +129,9 @@
|
|||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
|
@ -116,6 +141,9 @@
|
|||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
|
@ -131,6 +159,10 @@
|
|||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'">
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'">
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
|
@ -147,6 +179,10 @@
|
|||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'">
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'">
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
|
@ -215,6 +251,27 @@
|
|||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>
|
||||
</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
|
@ -278,6 +335,27 @@
|
|||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>
|
||||
</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
|
@ -380,40 +458,48 @@
|
|||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|x64'">NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="HQX\hq3x.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|x64'">NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="HQX\hq4x.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|x64'">NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="HQX\init.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|x64'">NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="IpsPatcher.cpp" />
|
||||
|
@ -421,30 +507,36 @@
|
|||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|x64'">NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="KreedSaiEagle\Super2xSai.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|x64'">NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="KreedSaiEagle\SuperEagle.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|x64'">NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="md5.cpp" />
|
||||
|
@ -457,30 +549,36 @@
|
|||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|x64'">NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Scale2x\scale3x.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|x64'">NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Scale2x\scalebit.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|x64'">NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="sha1.cpp" />
|
||||
|
@ -491,9 +589,11 @@
|
|||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|x64'">Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
|
@ -506,10 +606,12 @@
|
|||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|Win32'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'">NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|x64'">NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ZipReader.cpp" />
|
||||
|
|
|
@ -9,6 +9,14 @@
|
|||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Libretro|Win32">
|
||||
<Configuration>Libretro</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Libretro|x64">
|
||||
<Configuration>Libretro</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="PGO Optimize|Win32">
|
||||
<Configuration>PGO Optimize</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
|
@ -60,6 +68,13 @@
|
|||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
|
@ -81,6 +96,13 @@
|
|||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
|
@ -107,6 +129,9 @@
|
|||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
|
@ -116,6 +141,9 @@
|
|||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
|
@ -131,6 +159,10 @@
|
|||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'">
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'">
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
|
@ -147,6 +179,10 @@
|
|||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'">
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'">
|
||||
<OutDir>$(SolutionDir)\bin\$(PlatformTarget)\$(Configuration)\</OutDir>
|
||||
<IntDir>obj\$(Platform)\$(Configuration)\</IntDir>
|
||||
|
@ -205,6 +241,24 @@
|
|||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
|
@ -259,6 +313,24 @@
|
|||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
|
@ -331,9 +403,11 @@
|
|||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Libretro|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Profile|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Libretro|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Profile|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='PGO Optimize|x64'">Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
|
|
Loading…
Add table
Reference in a new issue