mirror of
https://github.com/hrydgard/ppsspp.git
synced 2024-11-23 05:19:56 +00:00
Proof-of-concept: libchdr works on Windows
This commit is contained in:
parent
b8fa3a2071
commit
ade64171ce
3
.gitmodules
vendored
3
.gitmodules
vendored
@ -50,3 +50,6 @@
|
|||||||
[submodule "ext/naett"]
|
[submodule "ext/naett"]
|
||||||
path = ext/naett
|
path = ext/naett
|
||||||
url = https://github.com/erkkah/naett.git
|
url = https://github.com/erkkah/naett.git
|
||||||
|
[submodule "ext/libchdr"]
|
||||||
|
path = ext/libchdr
|
||||||
|
url = https://github.com/rtissera/libchdr.git
|
||||||
|
@ -1073,6 +1073,9 @@
|
|||||||
<Filter Include="ext\naett">
|
<Filter Include="ext\naett">
|
||||||
<UniqueIdentifier>{34f45db9-5c08-49cb-b349-b9e760ce3213}</UniqueIdentifier>
|
<UniqueIdentifier>{34f45db9-5c08-49cb-b349-b9e760ce3213}</UniqueIdentifier>
|
||||||
</Filter>
|
</Filter>
|
||||||
|
<Filter Include="ext\libchdr">
|
||||||
|
<UniqueIdentifier>{b681797d-7747-487f-b448-5ef5b2d2805b}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Text Include="..\ext\libpng17\CMakeLists.txt">
|
<Text Include="..\ext\libpng17\CMakeLists.txt">
|
||||||
|
@ -138,7 +138,7 @@
|
|||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<WarningLevel>Level3</WarningLevel>
|
<WarningLevel>Level3</WarningLevel>
|
||||||
<AdditionalIncludeDirectories>..\ffmpeg\WindowsInclude;..\ffmpeg\Windows\x86\include;../common;..;../ext/glew;../ext/snappy;../ext/libpng17;../ext/zlib;../ext;../ext/zstd/lib</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\ffmpeg\WindowsInclude;..\ext\libchdr\include;..\ffmpeg\Windows\x86\include;../common;..;../ext/glew;../ext/snappy;../ext/libpng17;../ext/zlib;../ext;../ext/zstd/lib</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>_CRTDBG_MAP_ALLOC;USING_WIN_UI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;USE_FFMPEG;WITH_UPNP;WIN32;_ARCH_32=1;_M_IX86=1;_DEBUG;_LIB;_UNICODE;UNICODE;MINIUPNP_STATICLIB;ARMIPS_USE_STD_FILESYSTEM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>_CRTDBG_MAP_ALLOC;USING_WIN_UI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;USE_FFMPEG;WITH_UPNP;WIN32;_ARCH_32=1;_M_IX86=1;_DEBUG;_LIB;_UNICODE;UNICODE;MINIUPNP_STATICLIB;ARMIPS_USE_STD_FILESYSTEM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
|
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
|
||||||
<FloatingPointModel>Precise</FloatingPointModel>
|
<FloatingPointModel>Precise</FloatingPointModel>
|
||||||
@ -165,7 +165,7 @@
|
|||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<WarningLevel>Level3</WarningLevel>
|
<WarningLevel>Level3</WarningLevel>
|
||||||
<AdditionalIncludeDirectories>..\ffmpeg\WindowsInclude;..\ffmpeg\Windows\x86_64\include;../common;..;../ext/glew;../ext/snappy;../ext/libpng17;../ext/zlib;../ext;../ext/zstd/lib;../ext/zstd/lib</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\ffmpeg\WindowsInclude;..\ext\libchdr\include;..\ffmpeg\Windows\x86_64\include;../common;..;../ext/glew;../ext/snappy;../ext/libpng17;../ext/zlib;../ext;../ext/zstd/lib;../ext/zstd/lib</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>_CRTDBG_MAP_ALLOC;USING_WIN_UI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;USE_FFMPEG;WITH_UPNP;WIN32;_ARCH_64=1;_M_X64=1;_DEBUG;_LIB;_UNICODE;UNICODE;MINIUPNP_STATICLIB;ARMIPS_USE_STD_FILESYSTEM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>_CRTDBG_MAP_ALLOC;USING_WIN_UI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;USE_FFMPEG;WITH_UPNP;WIN32;_ARCH_64=1;_M_X64=1;_DEBUG;_LIB;_UNICODE;UNICODE;MINIUPNP_STATICLIB;ARMIPS_USE_STD_FILESYSTEM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
|
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
|
||||||
<FloatingPointModel>Precise</FloatingPointModel>
|
<FloatingPointModel>Precise</FloatingPointModel>
|
||||||
@ -193,7 +193,7 @@
|
|||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<WarningLevel>Level3</WarningLevel>
|
<WarningLevel>Level3</WarningLevel>
|
||||||
<AdditionalIncludeDirectories>..\ffmpeg\WindowsInclude;..\ffmpeg\Windows\aarch64\include;../common;..;../ext/glew;../ext/snappy;../ext/libpng17;../ext/zlib;../ext;../ext/zstd/lib</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\ffmpeg\WindowsInclude;..\ext\libchdr\include;..\ffmpeg\Windows\aarch64\include;../common;..;../ext/glew;../ext/snappy;../ext/libpng17;../ext/zlib;../ext;../ext/zstd/lib</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>_CRTDBG_MAP_ALLOC;USING_WIN_UI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;USE_FFMPEG;WITH_UPNP;WIN32;_ARCH_64=1;_DEBUG;_LIB;_UNICODE;UNICODE;ARMIPS_USE_STD_FILESYSTEM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>_CRTDBG_MAP_ALLOC;USING_WIN_UI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;USE_FFMPEG;WITH_UPNP;WIN32;_ARCH_64=1;_DEBUG;_LIB;_UNICODE;UNICODE;ARMIPS_USE_STD_FILESYSTEM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
|
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
|
||||||
<FloatingPointModel>Precise</FloatingPointModel>
|
<FloatingPointModel>Precise</FloatingPointModel>
|
||||||
@ -221,7 +221,7 @@
|
|||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<WarningLevel>Level3</WarningLevel>
|
<WarningLevel>Level3</WarningLevel>
|
||||||
<AdditionalIncludeDirectories>..\ffmpeg\WindowsInclude;..\ffmpeg\Windows\arm\include;../common;..;../ext/glew;../ext/snappy;../ext/libpng17;../ext/zlib;../ext;../ext/zstd/lib</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\ffmpeg\WindowsInclude;..\ext\libchdr\include;..\ffmpeg\Windows\arm\include;../common;..;../ext/glew;../ext/snappy;../ext/libpng17;../ext/zlib;../ext;../ext/zstd/lib</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>_CRTDBG_MAP_ALLOC;USING_WIN_UI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;USE_FFMPEG;WITH_UPNP;WIN32;_ARCH_32=1;_DEBUG;_LIB;_UNICODE;UNICODE;ARMIPS_USE_STD_FILESYSTEM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>_CRTDBG_MAP_ALLOC;USING_WIN_UI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;USE_FFMPEG;WITH_UPNP;WIN32;_ARCH_32=1;_DEBUG;_LIB;_UNICODE;UNICODE;ARMIPS_USE_STD_FILESYSTEM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
|
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
|
||||||
<FloatingPointModel>Precise</FloatingPointModel>
|
<FloatingPointModel>Precise</FloatingPointModel>
|
||||||
@ -253,7 +253,7 @@
|
|||||||
<Optimization>MaxSpeed</Optimization>
|
<Optimization>MaxSpeed</Optimization>
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
<AdditionalIncludeDirectories>..\ffmpeg\WindowsInclude;..\ffmpeg\Windows\x86\include;../common;..;../ext/glew;../ext/snappy;../ext/libpng17;../ext/zlib;../ext;../ext/zstd/lib</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\ffmpeg\WindowsInclude;..\ext\libchdr\include;..\ffmpeg\Windows\x86\include;../common;..;../ext/glew;../ext/snappy;../ext/libpng17;../ext/zlib;../ext;../ext/zstd/lib</AdditionalIncludeDirectories>
|
||||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
|
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
|
||||||
<FloatingPointModel>Precise</FloatingPointModel>
|
<FloatingPointModel>Precise</FloatingPointModel>
|
||||||
@ -286,7 +286,7 @@
|
|||||||
<Optimization>MaxSpeed</Optimization>
|
<Optimization>MaxSpeed</Optimization>
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
<AdditionalIncludeDirectories>..\ffmpeg\WindowsInclude;..\ffmpeg\Windows\x86_64\include;../common;..;../ext/glew;../ext/snappy;../ext/libpng17;../ext/zlib;../ext;../ext/zstd/lib;../ext/zstd/lib</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\ffmpeg\WindowsInclude;..\ext\libchdr\include;..\ffmpeg\Windows\x86_64\include;../common;..;../ext/glew;../ext/snappy;../ext/libpng17;../ext/zlib;../ext;../ext/zstd/lib;../ext/zstd/lib</AdditionalIncludeDirectories>
|
||||||
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
|
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
|
||||||
<FloatingPointModel>Precise</FloatingPointModel>
|
<FloatingPointModel>Precise</FloatingPointModel>
|
||||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
@ -321,7 +321,7 @@
|
|||||||
<Optimization>MaxSpeed</Optimization>
|
<Optimization>MaxSpeed</Optimization>
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
<AdditionalIncludeDirectories>..\ffmpeg\WindowsInclude;..\ffmpeg\Windows\aarch64\include;../common;..;../ext/glew;../ext/snappy;../ext/libpng17;../ext/zlib;../ext;../ext/zstd/lib</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\ffmpeg\WindowsInclude;..\ext\libchdr\include;..\ffmpeg\Windows\aarch64\include;../common;..;../ext/glew;../ext/snappy;../ext/libpng17;../ext/zlib;../ext;../ext/zstd/lib</AdditionalIncludeDirectories>
|
||||||
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
|
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
|
||||||
<FloatingPointModel>Precise</FloatingPointModel>
|
<FloatingPointModel>Precise</FloatingPointModel>
|
||||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
@ -356,7 +356,7 @@
|
|||||||
<Optimization>MaxSpeed</Optimization>
|
<Optimization>MaxSpeed</Optimization>
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
<AdditionalIncludeDirectories>..\ffmpeg\WindowsInclude;..\ffmpeg\Windows\arm\include;../common;..;../ext/glew;../ext/snappy;../ext/libpng17;../ext/zlib;../ext;../ext/zstd/lib</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>..\ffmpeg\WindowsInclude;..\ext\libchdr\include;..\ffmpeg\Windows\arm\include;../common;..;../ext/glew;../ext/snappy;../ext/libpng17;../ext/zlib;../ext;../ext/zstd/lib</AdditionalIncludeDirectories>
|
||||||
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
|
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
|
||||||
<FloatingPointModel>Precise</FloatingPointModel>
|
<FloatingPointModel>Precise</FloatingPointModel>
|
||||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
@ -1466,6 +1466,9 @@
|
|||||||
<ProjectReference Include="..\ext\libarmips.vcxproj">
|
<ProjectReference Include="..\ext\libarmips.vcxproj">
|
||||||
<Project>{129e5e2b-39c1-4d84-96fe-dfd22dbb4a25}</Project>
|
<Project>{129e5e2b-39c1-4d84-96fe-dfd22dbb4a25}</Project>
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="..\ext\libchdr.vcxproj">
|
||||||
|
<Project>{956f1f48-b612-46d8-89ee-96996dcd9383}</Project>
|
||||||
|
</ProjectReference>
|
||||||
<ProjectReference Include="..\ext\miniupnpc.vcxproj">
|
<ProjectReference Include="..\ext\miniupnpc.vcxproj">
|
||||||
<Project>{d8a71225-178b-424e-96c1-cc3be2c1b047}</Project>
|
<Project>{d8a71225-178b-424e-96c1-cc3be2c1b047}</Project>
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
|
@ -24,8 +24,11 @@
|
|||||||
#include "Common/System/OSD.h"
|
#include "Common/System/OSD.h"
|
||||||
#include "Common/Log.h"
|
#include "Common/Log.h"
|
||||||
#include "Common/Swap.h"
|
#include "Common/Swap.h"
|
||||||
|
#include "Common/File/FileUtil.h"
|
||||||
|
#include "Common/File/DirListing.h"
|
||||||
#include "Core/Loaders.h"
|
#include "Core/Loaders.h"
|
||||||
#include "Core/FileSystems/BlockDevices.h"
|
#include "Core/FileSystems/BlockDevices.h"
|
||||||
|
#include "libchdr/chd.h"
|
||||||
|
|
||||||
extern "C"
|
extern "C"
|
||||||
{
|
{
|
||||||
@ -37,20 +40,29 @@ extern "C"
|
|||||||
std::mutex NPDRMDemoBlockDevice::mutex_;
|
std::mutex NPDRMDemoBlockDevice::mutex_;
|
||||||
|
|
||||||
BlockDevice *constructBlockDevice(FileLoader *fileLoader) {
|
BlockDevice *constructBlockDevice(FileLoader *fileLoader) {
|
||||||
// Check for CISO
|
|
||||||
if (!fileLoader->Exists())
|
if (!fileLoader->Exists())
|
||||||
return nullptr;
|
return nullptr;
|
||||||
char buffer[4]{};
|
char buffer[8]{};
|
||||||
size_t size = fileLoader->ReadAt(0, 1, 4, buffer);
|
size_t size = fileLoader->ReadAt(0, 1, 8, buffer);
|
||||||
if (size == 4 && !memcmp(buffer, "CISO", 4))
|
if (size != 8) {
|
||||||
|
// Bad or empty file
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check for CISO
|
||||||
|
if (!memcmp(buffer, "CISO", 4)) {
|
||||||
return new CISOFileBlockDevice(fileLoader);
|
return new CISOFileBlockDevice(fileLoader);
|
||||||
if (size == 4 && !memcmp(buffer, "\x00PBP", 4)) {
|
} else if (!memcmp(buffer, "\x00PBP", 4)) {
|
||||||
uint32_t psarOffset = 0;
|
uint32_t psarOffset = 0;
|
||||||
size = fileLoader->ReadAt(0x24, 1, 4, &psarOffset);
|
size = fileLoader->ReadAt(0x24, 1, 4, &psarOffset);
|
||||||
if (size == 4 && psarOffset < fileLoader->FileSize())
|
if (size == 4 && psarOffset < fileLoader->FileSize())
|
||||||
return new NPDRMDemoBlockDevice(fileLoader);
|
return new NPDRMDemoBlockDevice(fileLoader);
|
||||||
|
} else if (!memcmp(buffer, "MComprHD", 8)) {
|
||||||
|
return new CHDFileBlockDevice(fileLoader);
|
||||||
|
} else {
|
||||||
|
// Should be jsut a regular ISO.
|
||||||
|
return new FileBlockDevice(fileLoader);
|
||||||
}
|
}
|
||||||
return new FileBlockDevice(fileLoader);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
u32 BlockDevice::CalculateCRC(volatile bool *cancel) {
|
u32 BlockDevice::CalculateCRC(volatile bool *cancel) {
|
||||||
@ -519,3 +531,139 @@ bool NPDRMDemoBlockDevice::ReadBlock(int blockNumber, u8 *outPtr, bool uncached)
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* CHD file
|
||||||
|
*/
|
||||||
|
static const UINT8 nullsha1[CHD_SHA1_BYTES] = { 0 };
|
||||||
|
|
||||||
|
struct CHDImpl {
|
||||||
|
chd_file *chd = nullptr;
|
||||||
|
const chd_header *header = nullptr;
|
||||||
|
};
|
||||||
|
|
||||||
|
CHDFileBlockDevice::CHDFileBlockDevice(FileLoader *fileLoader)
|
||||||
|
: BlockDevice(fileLoader), impl_(new CHDImpl())
|
||||||
|
{
|
||||||
|
// Default, in case of failure
|
||||||
|
numBlocks = 0;
|
||||||
|
|
||||||
|
chd_header childHeader;
|
||||||
|
|
||||||
|
int depth = 0;
|
||||||
|
Path paths[8];
|
||||||
|
paths[0] = fileLoader->GetPath();
|
||||||
|
|
||||||
|
chd_error err = chd_read_header(paths[0].c_str(), &childHeader);
|
||||||
|
if (err != CHDERR_NONE) {
|
||||||
|
ERROR_LOG(LOADER, "Error loading CHD header for '%s': %s", paths[0].c_str(), chd_error_string(err));
|
||||||
|
NotifyReadError();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
// TODO: Support parent/child CHD files.
|
||||||
|
if (memcmp(nullsha1, childHeader.parentsha1, sizeof(childHeader.sha1)) != 0) {
|
||||||
|
chd_header parentHeader;
|
||||||
|
|
||||||
|
// Look for parent CHD in current directory
|
||||||
|
Path chdDir = paths[0].NavigateUp();
|
||||||
|
|
||||||
|
std::vector<File::FileInfo> files;
|
||||||
|
if (File::GetFilesInDir(chdDir, &files)) {
|
||||||
|
parentHeader.length = 0;
|
||||||
|
|
||||||
|
for (const auto &file : files) {
|
||||||
|
std::string extension = file.fullName.GetFileExtension();
|
||||||
|
if (extension != ".chd") {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (chd_read_header(filepath.c_str(), &parentHeader) == CHDERR_NONE &&
|
||||||
|
memcmp(parentHeader.sha1, childHeader.parentsha1, sizeof(parentHeader.sha1)) == 0) {
|
||||||
|
// ERROR_LOG(LOADER, "Checking '%s'", filepath.c_str());
|
||||||
|
paths[++depth] = filepath;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check if parentHeader was opened
|
||||||
|
if (parentHeader.length == 0) {
|
||||||
|
ERROR_LOG(LOADER, "Error loading CHD '%s': parents not found", fileLoader->GetPath().c_str());
|
||||||
|
NotifyReadError();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
memcpy(childHeader.parentsha1, parentHeader.parentsha1, sizeof(childHeader.parentsha1));
|
||||||
|
} while (memcmp(nullsha1, childHeader.parentsha1, sizeof(childHeader.sha1)) != 0);
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
chd_file *parent = NULL;
|
||||||
|
chd_file *child = NULL;
|
||||||
|
err = chd_open(paths[depth].c_str(), CHD_OPEN_READ, NULL, &child);
|
||||||
|
if (err != CHDERR_NONE) {
|
||||||
|
ERROR_LOG(LOADER, "Error loading CHD '%s': %s", paths[depth].c_str(), chd_error_string(err));
|
||||||
|
NotifyReadError();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for (int d = depth - 1; d >= 0; d--) {
|
||||||
|
parent = child;
|
||||||
|
child = NULL;
|
||||||
|
err = chd_open(paths[d].c_str(), CHD_OPEN_READ, parent, &child);
|
||||||
|
if (err != CHDERR_NONE) {
|
||||||
|
ERROR_LOG(LOADER, "Error loading CHD '%s': %s", paths[d].c_str(), chd_error_string(err));
|
||||||
|
NotifyReadError();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl_->chd = child;
|
||||||
|
|
||||||
|
impl_->header = chd_get_header(impl_->chd);
|
||||||
|
readBuffer = new u8[impl_->header->hunkbytes];
|
||||||
|
currentHunk = -1;
|
||||||
|
blocksPerHunk = impl_->header->hunkbytes / impl_->header->unitbytes;
|
||||||
|
numBlocks = impl_->header->unitcount;
|
||||||
|
}
|
||||||
|
|
||||||
|
CHDFileBlockDevice::~CHDFileBlockDevice()
|
||||||
|
{
|
||||||
|
if (numBlocks > 0) {
|
||||||
|
chd_close(impl_->chd);
|
||||||
|
delete[] readBuffer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CHDFileBlockDevice::ReadBlock(int blockNumber, u8 *outPtr, bool uncached)
|
||||||
|
{
|
||||||
|
if ((u32)blockNumber >= numBlocks) {
|
||||||
|
memset(outPtr, 0, GetBlockSize());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
u32 hunk = blockNumber / blocksPerHunk;
|
||||||
|
u32 blockInHunk = blockNumber % blocksPerHunk;
|
||||||
|
|
||||||
|
if (currentHunk != hunk) {
|
||||||
|
chd_error err = chd_read(impl_->chd, hunk, readBuffer);
|
||||||
|
if (err != CHDERR_NONE) {
|
||||||
|
ERROR_LOG(LOADER, "CHD read failed: %d %d %s", blockNumber, hunk, chd_error_string(err));
|
||||||
|
NotifyReadError();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
memcpy(outPtr, readBuffer + blockInHunk * impl_->header->unitbytes, GetBlockSize());
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CHDFileBlockDevice::ReadBlocks(u32 minBlock, int count, u8 *outPtr) {
|
||||||
|
if (minBlock >= numBlocks) {
|
||||||
|
memset(outPtr, 0, GetBlockSize() * count);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < count; i++) {
|
||||||
|
if (!ReadBlock(minBlock + i, outPtr + i * GetBlockSize())) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
@ -130,5 +130,23 @@ private:
|
|||||||
u8 *tempBuf;
|
u8 *tempBuf;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct CHDImpl;
|
||||||
|
|
||||||
|
class CHDFileBlockDevice : public BlockDevice {
|
||||||
|
public:
|
||||||
|
CHDFileBlockDevice(FileLoader *fileLoader);
|
||||||
|
~CHDFileBlockDevice();
|
||||||
|
bool ReadBlock(int blockNumber, u8 *outPtr, bool uncached = false) override;
|
||||||
|
bool ReadBlocks(u32 minBlock, int count, u8 *outPtr) override;
|
||||||
|
u32 GetNumBlocks() override { return numBlocks; }
|
||||||
|
bool IsDisc() override { return true; }
|
||||||
|
|
||||||
|
private:
|
||||||
|
std::unique_ptr<CHDImpl> impl_;
|
||||||
|
u8 *readBuffer;
|
||||||
|
u32 currentHunk;
|
||||||
|
u32 blocksPerHunk;
|
||||||
|
u32 numBlocks;
|
||||||
|
};
|
||||||
|
|
||||||
BlockDevice *constructBlockDevice(FileLoader *fileLoader);
|
BlockDevice *constructBlockDevice(FileLoader *fileLoader);
|
||||||
|
@ -94,6 +94,8 @@ IdentifiedFileType Identify_File(FileLoader *fileLoader, std::string *errorStrin
|
|||||||
return IdentifiedFileType::PSP_ISO;
|
return IdentifiedFileType::PSP_ISO;
|
||||||
} else if (extension == ".cso") {
|
} else if (extension == ".cso") {
|
||||||
return IdentifiedFileType::PSP_ISO;
|
return IdentifiedFileType::PSP_ISO;
|
||||||
|
} else if (extension == ".chd") {
|
||||||
|
return IdentifiedFileType::PSP_ISO;
|
||||||
} else if (extension == ".ppst") {
|
} else if (extension == ".ppst") {
|
||||||
return IdentifiedFileType::PPSSPP_SAVESTATE;
|
return IdentifiedFileType::PPSSPP_SAVESTATE;
|
||||||
} else if (extension == ".ppdmp") {
|
} else if (extension == ".ppdmp") {
|
||||||
|
@ -304,7 +304,7 @@ bool MainUI::HandleCustomEvent(QEvent *e) {
|
|||||||
const char *filter = "All files (*.*)";
|
const char *filter = "All files (*.*)";
|
||||||
switch (fileType) {
|
switch (fileType) {
|
||||||
case BrowseFileType::BOOTABLE:
|
case BrowseFileType::BOOTABLE:
|
||||||
filter = "PSP ROMs (*.iso *.cso *.pbp *.elf *.zip *.ppdmp)";
|
filter = "PSP ROMs (*.iso *.cso *.chd *.pbp *.elf *.zip *.ppdmp)";
|
||||||
break;
|
break;
|
||||||
case BrowseFileType::IMAGE:
|
case BrowseFileType::IMAGE:
|
||||||
filter = "Pictures (*.jpg *.png)";
|
filter = "Pictures (*.jpg *.png)";
|
||||||
|
@ -125,7 +125,7 @@ void MainWindow::bootDone()
|
|||||||
/* SIGNALS */
|
/* SIGNALS */
|
||||||
void MainWindow::loadAct()
|
void MainWindow::loadAct()
|
||||||
{
|
{
|
||||||
QString filename = QFileDialog::getOpenFileName(NULL, "Load File", g_Config.currentDirectory.c_str(), "PSP ROMs (*.pbp *.elf *.iso *.cso *.prx)");
|
QString filename = QFileDialog::getOpenFileName(NULL, "Load File", g_Config.currentDirectory.c_str(), "PSP ROMs (*.pbp *.elf *.iso *.cso *.chd *.prx)");
|
||||||
if (QFile::exists(filename))
|
if (QFile::exists(filename))
|
||||||
{
|
{
|
||||||
QFileInfo info(filename);
|
QFileInfo info(filename);
|
||||||
@ -255,7 +255,7 @@ void MainWindow::resetAct()
|
|||||||
|
|
||||||
void MainWindow::switchUMDAct()
|
void MainWindow::switchUMDAct()
|
||||||
{
|
{
|
||||||
QString filename = QFileDialog::getOpenFileName(NULL, "Switch UMD", g_Config.currentDirectory.c_str(), "PSP ROMs (*.pbp *.elf *.iso *.cso *.prx)");
|
QString filename = QFileDialog::getOpenFileName(NULL, "Switch UMD", g_Config.currentDirectory.c_str(), "PSP ROMs (*.pbp *.elf *.iso *.cso *.chd *.prx)");
|
||||||
if (QFile::exists(filename))
|
if (QFile::exists(filename))
|
||||||
{
|
{
|
||||||
QFileInfo info(filename);
|
QFileInfo info(filename);
|
||||||
|
@ -93,6 +93,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cpu_features", "..\ext\cpu_
|
|||||||
EndProject
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rcheevos", "..\ext\rcheevos-build\rcheevos.vcxproj", "{31694510-A8C0-40F6-B09B-E8DF825ADEFA}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rcheevos", "..\ext\rcheevos-build\rcheevos.vcxproj", "{31694510-A8C0-40F6-B09B-E8DF825ADEFA}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libchdr", "..\ext\libchdr.vcxproj", "{956F1F48-B612-46D8-89EE-96996DCD9383}"
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|ARM = Debug|ARM
|
Debug|ARM = Debug|ARM
|
||||||
@ -395,6 +397,22 @@ Global
|
|||||||
{31694510-A8C0-40F6-B09B-E8DF825ADEFA}.Release|Win32.Build.0 = Release|Win32
|
{31694510-A8C0-40F6-B09B-E8DF825ADEFA}.Release|Win32.Build.0 = Release|Win32
|
||||||
{31694510-A8C0-40F6-B09B-E8DF825ADEFA}.Release|x64.ActiveCfg = Release|x64
|
{31694510-A8C0-40F6-B09B-E8DF825ADEFA}.Release|x64.ActiveCfg = Release|x64
|
||||||
{31694510-A8C0-40F6-B09B-E8DF825ADEFA}.Release|x64.Build.0 = Release|x64
|
{31694510-A8C0-40F6-B09B-E8DF825ADEFA}.Release|x64.Build.0 = Release|x64
|
||||||
|
{956F1F48-B612-46D8-89EE-96996DCD9383}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||||
|
{956F1F48-B612-46D8-89EE-96996DCD9383}.Debug|ARM.Build.0 = Debug|ARM
|
||||||
|
{956F1F48-B612-46D8-89EE-96996DCD9383}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||||
|
{956F1F48-B612-46D8-89EE-96996DCD9383}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||||
|
{956F1F48-B612-46D8-89EE-96996DCD9383}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{956F1F48-B612-46D8-89EE-96996DCD9383}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{956F1F48-B612-46D8-89EE-96996DCD9383}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{956F1F48-B612-46D8-89EE-96996DCD9383}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{956F1F48-B612-46D8-89EE-96996DCD9383}.Release|ARM.ActiveCfg = Release|ARM
|
||||||
|
{956F1F48-B612-46D8-89EE-96996DCD9383}.Release|ARM.Build.0 = Release|ARM
|
||||||
|
{956F1F48-B612-46D8-89EE-96996DCD9383}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||||
|
{956F1F48-B612-46D8-89EE-96996DCD9383}.Release|ARM64.Build.0 = Release|ARM64
|
||||||
|
{956F1F48-B612-46D8-89EE-96996DCD9383}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{956F1F48-B612-46D8-89EE-96996DCD9383}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{956F1F48-B612-46D8-89EE-96996DCD9383}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{956F1F48-B612-46D8-89EE-96996DCD9383}.Release|x64.Build.0 = Release|x64
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
@ -412,6 +430,7 @@ Global
|
|||||||
{8BFD8150-94D5-4BF9-8A50-7BD9929A0850} = {39FCACF8-10D9-4D8D-97AA-7507436AD932}
|
{8BFD8150-94D5-4BF9-8A50-7BD9929A0850} = {39FCACF8-10D9-4D8D-97AA-7507436AD932}
|
||||||
{C249F016-7F82-45CF-BB6E-0642A988C4D3} = {39FCACF8-10D9-4D8D-97AA-7507436AD932}
|
{C249F016-7F82-45CF-BB6E-0642A988C4D3} = {39FCACF8-10D9-4D8D-97AA-7507436AD932}
|
||||||
{31694510-A8C0-40F6-B09B-E8DF825ADEFA} = {39FCACF8-10D9-4D8D-97AA-7507436AD932}
|
{31694510-A8C0-40F6-B09B-E8DF825ADEFA} = {39FCACF8-10D9-4D8D-97AA-7507436AD932}
|
||||||
|
{956F1F48-B612-46D8-89EE-96996DCD9383} = {39FCACF8-10D9-4D8D-97AA-7507436AD932}
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
SolutionGuid = {2FD47774-A031-48F4-B645-A49A3140A29B}
|
SolutionGuid = {2FD47774-A031-48F4-B645-A49A3140A29B}
|
||||||
|
@ -1721,6 +1721,9 @@
|
|||||||
<ProjectReference Include="..\ext\glslang.vcxproj">
|
<ProjectReference Include="..\ext\glslang.vcxproj">
|
||||||
<Project>{edfa2e87-8ac1-4853-95d4-d7594ff81947}</Project>
|
<Project>{edfa2e87-8ac1-4853-95d4-d7594ff81947}</Project>
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="..\ext\libchdr.vcxproj">
|
||||||
|
<Project>{956f1f48-b612-46d8-89ee-96996dcd9383}</Project>
|
||||||
|
</ProjectReference>
|
||||||
<ProjectReference Include="..\ext\libkirk\libkirk.vcxproj">
|
<ProjectReference Include="..\ext\libkirk\libkirk.vcxproj">
|
||||||
<Project>{3baae095-e0ab-4b0e-b5df-ce39c8ae31de}</Project>
|
<Project>{3baae095-e0ab-4b0e-b5df-ce39c8ae31de}</Project>
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
|
@ -554,7 +554,7 @@ bool System_MakeRequest(SystemRequestType type, int requestId, const std::string
|
|||||||
std::wstring filter;
|
std::wstring filter;
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case BrowseFileType::BOOTABLE:
|
case BrowseFileType::BOOTABLE:
|
||||||
filter = MakeFilter(L"All supported file types (*.iso *.cso *.pbp *.elf *.prx *.zip *.ppdmp)|*.pbp;*.elf;*.iso;*.cso;*.prx;*.zip;*.ppdmp|PSP ROMs (*.iso *.cso *.pbp *.elf *.prx)|*.pbp;*.elf;*.iso;*.cso;*.prx|Homebrew/Demos installers (*.zip)|*.zip|All files (*.*)|*.*||");
|
filter = MakeFilter(L"All supported file types (*.iso *.cso *.chd *.pbp *.elf *.prx *.zip *.ppdmp)|*.pbp;*.elf;*.iso;*.cso;*.chd;*.prx;*.zip;*.ppdmp|PSP ROMs (*.iso *.cso *.chd *.pbp *.elf *.prx)|*.pbp;*.elf;*.iso;*.cso;*.chd;*.prx|Homebrew/Demos installers (*.zip)|*.zip|All files (*.*)|*.*||");
|
||||||
break;
|
break;
|
||||||
case BrowseFileType::INI:
|
case BrowseFileType::INI:
|
||||||
filter = MakeFilter(L"Ini files (*.ini)|*.ini|All files (*.*)|*.*||");
|
filter = MakeFilter(L"Ini files (*.ini)|*.ini|All files (*.*)|*.*||");
|
||||||
|
1
ext/libchdr
Submodule
1
ext/libchdr
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 9108f34a892272f61c3ed3bff4bee728d4c1dd57
|
374
ext/libchdr.vcxproj
Normal file
374
ext/libchdr.vcxproj
Normal file
@ -0,0 +1,374 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|ARM">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>ARM</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|ARM64">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>ARM64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|Win32">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|ARM">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>ARM</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|ARM64">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>ARM64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|x64">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="libchdr\deps\lzma-22.01\src\Alloc.c" />
|
||||||
|
<ClCompile Include="libchdr\deps\lzma-22.01\src\Bcj2.c" />
|
||||||
|
<ClCompile Include="libchdr\deps\lzma-22.01\src\Bcj2Enc.c" />
|
||||||
|
<ClCompile Include="libchdr\deps\lzma-22.01\src\Bra.c" />
|
||||||
|
<ClCompile Include="libchdr\deps\lzma-22.01\src\Bra86.c" />
|
||||||
|
<ClCompile Include="libchdr\deps\lzma-22.01\src\BraIA64.c" />
|
||||||
|
<ClCompile Include="libchdr\deps\lzma-22.01\src\CpuArch.c" />
|
||||||
|
<ClCompile Include="libchdr\deps\lzma-22.01\src\Delta.c" />
|
||||||
|
<ClCompile Include="libchdr\deps\lzma-22.01\src\LzFind.c" />
|
||||||
|
<ClCompile Include="libchdr\deps\lzma-22.01\src\LzFindOpt.c" />
|
||||||
|
<ClCompile Include="libchdr\deps\lzma-22.01\src\Lzma86Dec.c" />
|
||||||
|
<ClCompile Include="libchdr\deps\lzma-22.01\src\Lzma86Enc.c" />
|
||||||
|
<ClCompile Include="libchdr\deps\lzma-22.01\src\LzmaDec.c" />
|
||||||
|
<ClCompile Include="libchdr\deps\lzma-22.01\src\LzmaEnc.c" />
|
||||||
|
<ClCompile Include="libchdr\deps\lzma-22.01\src\LzmaLib.c" />
|
||||||
|
<ClCompile Include="libchdr\deps\lzma-22.01\src\Sort.c" />
|
||||||
|
<ClCompile Include="libchdr\src\libchdr_bitstream.c" />
|
||||||
|
<ClCompile Include="libchdr\src\libchdr_cdrom.c" />
|
||||||
|
<ClCompile Include="libchdr\src\libchdr_chd.c" />
|
||||||
|
<ClCompile Include="libchdr\src\libchdr_flac.c" />
|
||||||
|
<ClCompile Include="libchdr\src\libchdr_huffman.c" />
|
||||||
|
<ClInclude Include="libchdr\include\dr_libs\dr_flac.h" />
|
||||||
|
<ClInclude Include="libchdr\include\libchdr\bitstream.h" />
|
||||||
|
<ClInclude Include="libchdr\include\libchdr\cdrom.h" />
|
||||||
|
<ClInclude Include="libchdr\include\libchdr\chd.h" />
|
||||||
|
<ClInclude Include="libchdr\include\libchdr\chdconfig.h" />
|
||||||
|
<ClInclude Include="libchdr\include\libchdr\flac.h" />
|
||||||
|
<ClInclude Include="libchdr\include\libchdr\huffman.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>{956F1F48-B612-46D8-89EE-96996DCD9383}</ProjectGuid>
|
||||||
|
<Keyword>Win32Proj</Keyword>
|
||||||
|
<RootNamespace>libchdr</RootNamespace>
|
||||||
|
<TargetName>libchdr_static</TargetName>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
<OutDir>$(SolutionDir)..\ext\libchdr\bin\$(Platform)_$(Configuration)\</OutDir>
|
||||||
|
<IntDir>$(SolutionDir)..\ext\libchdr\bin\obj\$(RootNamespace)_$(Platform)_$(Configuration)\</IntDir>
|
||||||
|
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="..\Windows\fix_2017.props" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="..\Windows\fix_2017.props" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="..\Windows\fix_2017.props" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="..\Windows\fix_2017.props" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="..\Windows\fix_2017.props" />
|
||||||
|
</ImportGroup>
|
||||||
|
<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" />
|
||||||
|
<Import Project="..\Windows\fix_2017.props" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="..\Windows\fix_2017.props" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="..\Windows\fix_2017.props" />
|
||||||
|
</ImportGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
</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 Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" 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)'=='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)'=='Release|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)'=='Debug|Win32'">
|
||||||
|
<LinkIncremental>true</LinkIncremental>
|
||||||
|
<IncludePath>$(IncludePath);$(SolutionDir)..\ext\libchdr\include;$(UniversalCRT_IncludePath);</IncludePath>
|
||||||
|
<RunCodeAnalysis>false</RunCodeAnalysis>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<LinkIncremental>true</LinkIncremental>
|
||||||
|
<IncludePath>$(IncludePath);$(SolutionDir)..\ext\libchdr\include;$(UniversalCRT_IncludePath);</IncludePath>
|
||||||
|
<RunCodeAnalysis>false</RunCodeAnalysis>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<LinkIncremental>false</LinkIncremental>
|
||||||
|
<IncludePath>$(IncludePath);$(SolutionDir)..\ext\libchdr\include;$(UniversalCRT_IncludePath);</IncludePath>
|
||||||
|
<RunCodeAnalysis>false</RunCodeAnalysis>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<LinkIncremental>false</LinkIncremental>
|
||||||
|
<IncludePath>$(IncludePath);$(SolutionDir)..\ext\libchdr\include;$(UniversalCRT_IncludePath);</IncludePath>
|
||||||
|
<RunCodeAnalysis>false</RunCodeAnalysis>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup>
|
||||||
|
<ClCompile>
|
||||||
|
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<PreprocessorDefinitions>_7ZIP_ST;WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<MinimalRebuild>true</MinimalRebuild>
|
||||||
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<EnablePREfast>false</EnablePREfast>
|
||||||
|
<AdditionalIncludeDirectories>libchdr\deps\lzma-22.01\include;zlib;</AdditionalIncludeDirectories>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<PreprocessorDefinitions>_7ZIP_ST;WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<EnablePREfast>false</EnablePREfast>
|
||||||
|
<AdditionalIncludeDirectories>libchdr\deps\lzma-22.01\include;zlib;</AdditionalIncludeDirectories>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
|
||||||
|
<ClCompile>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<PreprocessorDefinitions>_7ZIP_ST;WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<EnablePREfast>false</EnablePREfast>
|
||||||
|
<AdditionalIncludeDirectories>libchdr\deps\lzma-22.01\include;zlib;</AdditionalIncludeDirectories>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
|
||||||
|
<ClCompile>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<PreprocessorDefinitions>_7ZIP_ST;WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<EnablePREfast>false</EnablePREfast>
|
||||||
|
<AdditionalIncludeDirectories>libchdr\deps\lzma-22.01\include;zlib;</AdditionalIncludeDirectories>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<PreprocessorDefinitions>_7ZIP_ST;WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<EnablePREfast>false</EnablePREfast>
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||||
|
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||||
|
<OmitFramePointers>true</OmitFramePointers>
|
||||||
|
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||||
|
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
|
||||||
|
<AdditionalIncludeDirectories>libchdr\deps\lzma-22.01\include;zlib;</AdditionalIncludeDirectories>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<PreprocessorDefinitions>_7ZIP_ST;WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<TreatWarningAsError>false</TreatWarningAsError>
|
||||||
|
<EnablePREfast>false</EnablePREfast>
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||||
|
<OmitFramePointers>true</OmitFramePointers>
|
||||||
|
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||||
|
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||||
|
<AdditionalIncludeDirectories>libchdr\deps\lzma-22.01\include;zlib;</AdditionalIncludeDirectories>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<PreprocessorDefinitions>_7ZIP_ST;WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<TreatWarningAsError>false</TreatWarningAsError>
|
||||||
|
<EnablePREfast>false</EnablePREfast>
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||||
|
<OmitFramePointers>true</OmitFramePointers>
|
||||||
|
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||||
|
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||||
|
<AdditionalIncludeDirectories>libchdr\deps\lzma-22.01\include;zlib;</AdditionalIncludeDirectories>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<PreprocessorDefinitions>_7ZIP_ST;WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<TreatWarningAsError>false</TreatWarningAsError>
|
||||||
|
<EnablePREfast>false</EnablePREfast>
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||||
|
<OmitFramePointers>true</OmitFramePointers>
|
||||||
|
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||||
|
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||||
|
<AdditionalIncludeDirectories>libchdr\deps\lzma-22.01\include;zlib;</AdditionalIncludeDirectories>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
</ImportGroup>
|
||||||
|
</Project>
|
72
ext/libchdr.vcxproj.filters
Normal file
72
ext/libchdr.vcxproj.filters
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="libchdr\src\libchdr_bitstream.c" />
|
||||||
|
<ClCompile Include="libchdr\src\libchdr_cdrom.c" />
|
||||||
|
<ClCompile Include="libchdr\src\libchdr_chd.c" />
|
||||||
|
<ClCompile Include="libchdr\src\libchdr_flac.c" />
|
||||||
|
<ClCompile Include="libchdr\src\libchdr_huffman.c" />
|
||||||
|
<ClCompile Include="libchdr\deps\lzma-22.01\src\Alloc.c">
|
||||||
|
<Filter>LZMA</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="libchdr\deps\lzma-22.01\src\Bcj2.c">
|
||||||
|
<Filter>LZMA</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="libchdr\deps\lzma-22.01\src\Bcj2Enc.c">
|
||||||
|
<Filter>LZMA</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="libchdr\deps\lzma-22.01\src\Bra.c">
|
||||||
|
<Filter>LZMA</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="libchdr\deps\lzma-22.01\src\Bra86.c">
|
||||||
|
<Filter>LZMA</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="libchdr\deps\lzma-22.01\src\BraIA64.c">
|
||||||
|
<Filter>LZMA</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="libchdr\deps\lzma-22.01\src\CpuArch.c">
|
||||||
|
<Filter>LZMA</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="libchdr\deps\lzma-22.01\src\Delta.c">
|
||||||
|
<Filter>LZMA</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="libchdr\deps\lzma-22.01\src\LzFind.c">
|
||||||
|
<Filter>LZMA</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="libchdr\deps\lzma-22.01\src\LzFindOpt.c">
|
||||||
|
<Filter>LZMA</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="libchdr\deps\lzma-22.01\src\Lzma86Dec.c">
|
||||||
|
<Filter>LZMA</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="libchdr\deps\lzma-22.01\src\Lzma86Enc.c">
|
||||||
|
<Filter>LZMA</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="libchdr\deps\lzma-22.01\src\LzmaDec.c">
|
||||||
|
<Filter>LZMA</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="libchdr\deps\lzma-22.01\src\LzmaEnc.c">
|
||||||
|
<Filter>LZMA</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="libchdr\deps\lzma-22.01\src\LzmaLib.c">
|
||||||
|
<Filter>LZMA</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="libchdr\deps\lzma-22.01\src\Sort.c">
|
||||||
|
<Filter>LZMA</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="libchdr\include\dr_libs\dr_flac.h" />
|
||||||
|
<ClInclude Include="libchdr\include\libchdr\bitstream.h" />
|
||||||
|
<ClInclude Include="libchdr\include\libchdr\cdrom.h" />
|
||||||
|
<ClInclude Include="libchdr\include\libchdr\chd.h" />
|
||||||
|
<ClInclude Include="libchdr\include\libchdr\chdconfig.h" />
|
||||||
|
<ClInclude Include="libchdr\include\libchdr\flac.h" />
|
||||||
|
<ClInclude Include="libchdr\include\libchdr\huffman.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Filter Include="LZMA">
|
||||||
|
<UniqueIdentifier>{ff31581b-3ff9-4e39-bb96-2f662896cf70}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
@ -502,6 +502,9 @@
|
|||||||
<ProjectReference Include="..\ext\glslang.vcxproj">
|
<ProjectReference Include="..\ext\glslang.vcxproj">
|
||||||
<Project>{edfa2e87-8ac1-4853-95d4-d7594ff81947}</Project>
|
<Project>{edfa2e87-8ac1-4853-95d4-d7594ff81947}</Project>
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="..\ext\libchdr.vcxproj">
|
||||||
|
<Project>{956f1f48-b612-46d8-89ee-96996dcd9383}</Project>
|
||||||
|
</ProjectReference>
|
||||||
<ProjectReference Include="..\ext\libkirk\libkirk.vcxproj">
|
<ProjectReference Include="..\ext\libkirk\libkirk.vcxproj">
|
||||||
<Project>{3baae095-e0ab-4b0e-b5df-ce39c8ae31de}</Project>
|
<Project>{3baae095-e0ab-4b0e-b5df-ce39c8ae31de}</Project>
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
|
@ -420,6 +420,9 @@
|
|||||||
<ProjectReference Include="..\ext\glslang.vcxproj">
|
<ProjectReference Include="..\ext\glslang.vcxproj">
|
||||||
<Project>{edfa2e87-8ac1-4853-95d4-d7594ff81947}</Project>
|
<Project>{edfa2e87-8ac1-4853-95d4-d7594ff81947}</Project>
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="..\ext\libchdr.vcxproj">
|
||||||
|
<Project>{956f1f48-b612-46d8-89ee-96996dcd9383}</Project>
|
||||||
|
</ProjectReference>
|
||||||
<ProjectReference Include="..\ext\libkirk\libkirk.vcxproj">
|
<ProjectReference Include="..\ext\libkirk\libkirk.vcxproj">
|
||||||
<Project>{3baae095-e0ab-4b0e-b5df-ce39c8ae31de}</Project>
|
<Project>{3baae095-e0ab-4b0e-b5df-ce39c8ae31de}</Project>
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
|
Loading…
Reference in New Issue
Block a user