mirror of
https://github.com/PCSX2/pcsx2.git
synced 2026-07-11 01:34:17 +02:00
SaveState: Fix compression settings
This commit is contained in:
@@ -474,7 +474,7 @@
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Deflate64</string>
|
||||
<string>Deflate</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
@@ -482,11 +482,6 @@
|
||||
<string>Zstandard</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>LZMA2</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
|
||||
+2
-3
@@ -384,9 +384,8 @@ enum class GSDumpCompressionMethod : u8
|
||||
enum class SavestateCompressionMethod : u8
|
||||
{
|
||||
Uncompressed = 0,
|
||||
Deflate64 = 1,
|
||||
Zstandard = 2,
|
||||
LZMA2 = 3
|
||||
Deflate = 1,
|
||||
Zstandard = 2
|
||||
};
|
||||
|
||||
enum class SavestateCompressionLevel : u8
|
||||
|
||||
@@ -4900,9 +4900,8 @@ void FullscreenUI::DrawAdvancedSettingsPage()
|
||||
|
||||
static constexpr const char* s_savestate_compression_type[] = {
|
||||
FSUI_NSTR("Uncompressed"),
|
||||
FSUI_NSTR("Deflate64"),
|
||||
FSUI_NSTR("Deflate"),
|
||||
FSUI_NSTR("Zstandard"),
|
||||
FSUI_NSTR("LZMA2"),
|
||||
};
|
||||
|
||||
static constexpr const char* s_savestate_compression_ratio[] = {
|
||||
|
||||
+8
-18
@@ -926,8 +926,8 @@ static bool SaveState_ReadScreenshot(zip_t* zf, u32* out_width, u32* out_height,
|
||||
// --------------------------------------------------------------------------------------
|
||||
static bool SaveState_AddToZip(zip_t* zf, ArchiveEntryList* srclist, SaveStateScreenshotData* screenshot)
|
||||
{
|
||||
u32 compression;
|
||||
u32 compression_level;
|
||||
u32 compression = ZIP_CM_DEFAULT;
|
||||
u32 compression_level = 0;
|
||||
|
||||
if (EmuConfig.Savestate.CompressionType == SavestateCompressionMethod::Zstandard)
|
||||
{
|
||||
@@ -942,25 +942,13 @@ static bool SaveState_AddToZip(zip_t* zf, ArchiveEntryList* srclist, SaveStateSc
|
||||
else if (EmuConfig.Savestate.CompressionRatio == SavestateCompressionLevel::VeryHigh)
|
||||
compression_level = 22;
|
||||
}
|
||||
else if (EmuConfig.Savestate.CompressionType == SavestateCompressionMethod::Deflate64)
|
||||
else if (EmuConfig.Savestate.CompressionType == SavestateCompressionMethod::Deflate)
|
||||
{
|
||||
compression = ZIP_CM_DEFLATE64;
|
||||
compression = ZIP_CM_DEFLATE;
|
||||
if (EmuConfig.Savestate.CompressionRatio == SavestateCompressionLevel::Low)
|
||||
compression_level = 1;
|
||||
else if (EmuConfig.Savestate.CompressionRatio == SavestateCompressionLevel::Medium)
|
||||
compression_level = 3;
|
||||
else if (EmuConfig.Savestate.CompressionRatio == SavestateCompressionLevel::High)
|
||||
compression_level = 7;
|
||||
else if (EmuConfig.Savestate.CompressionRatio == SavestateCompressionLevel::VeryHigh)
|
||||
compression_level = 9;
|
||||
}
|
||||
else if (EmuConfig.Savestate.CompressionType == SavestateCompressionMethod::LZMA2)
|
||||
{
|
||||
compression = ZIP_CM_LZMA2;
|
||||
if (EmuConfig.Savestate.CompressionRatio == SavestateCompressionLevel::Low)
|
||||
compression_level = 1;
|
||||
else if (EmuConfig.Savestate.CompressionRatio == SavestateCompressionLevel::Medium)
|
||||
compression_level = 3;
|
||||
compression_level = 5;
|
||||
else if (EmuConfig.Savestate.CompressionRatio == SavestateCompressionLevel::High)
|
||||
compression_level = 7;
|
||||
else if (EmuConfig.Savestate.CompressionRatio == SavestateCompressionLevel::VeryHigh)
|
||||
@@ -1006,7 +994,9 @@ static bool SaveState_AddToZip(zip_t* zf, ArchiveEntryList* srclist, SaveStateSc
|
||||
return false;
|
||||
}
|
||||
|
||||
zip_set_file_compression(zf, fi, compression, compression_level);
|
||||
// Don't compress the version indicator file so that builds that don't
|
||||
// support a given compression method can at least still read it.
|
||||
zip_set_file_compression(zf, fi, ZIP_CM_STORE, 0);
|
||||
}
|
||||
|
||||
const uint listlen = srclist->GetLength();
|
||||
|
||||
Reference in New Issue
Block a user