made savestate compression togglable. Win32 - enable a menu item to toggle savestate compression. For SDL to have a similar feature it simply needs to toggle the variable bool compressSavestates in the core state.cpp.
This commit is contained in:
parent
2da84898dc
commit
cde73a67dc
|
@ -299,6 +299,7 @@ static CFGSTRUCT fceuconfig[] = {
|
|||
AC(ramw_y),
|
||||
|
||||
AC(backupSavestates),
|
||||
AC(compressSavestates),
|
||||
|
||||
ENDCFGSTRUCT
|
||||
};
|
||||
|
|
|
@ -111,6 +111,7 @@ BEGIN
|
|||
MENUITEM "&Auto-savestates", MENU_ENABLE_AUTOSAVE
|
||||
MENUITEM "&Frame Adv. - Skip Lag", MENU_DISPLAY_FA_LAGSKIP
|
||||
MENUITEM "Backup Savestates", ID_ENABLE_BACKUPSAVESTATES
|
||||
MENUITEM "Compress Savestates", ID_ENABLE_COMPRESSSAVESTATES
|
||||
END
|
||||
POPUP "&Display"
|
||||
BEGIN
|
||||
|
|
|
@ -767,6 +767,7 @@
|
|||
#define RW_MENU_FIRST_RECENT_FILE 40380
|
||||
#define RW_MENU_LAST_RECENT_FILE 40400
|
||||
#define ID_ENABLE_BACKUPSAVESTATES 40401
|
||||
#define ID_ENABLE_COMPRESSSAVESTATES 40402
|
||||
#define IDC_DEBUGGER_ICONTRAY 55535
|
||||
#define MW_ValueLabel2 65423
|
||||
#define MW_ValueLabel1 65426
|
||||
|
@ -776,7 +777,7 @@
|
|||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 160
|
||||
#define _APS_NEXT_COMMAND_VALUE 40402
|
||||
#define _APS_NEXT_COMMAND_VALUE 40403
|
||||
#define _APS_NEXT_CONTROL_VALUE 1256
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
|
|
|
@ -387,6 +387,7 @@ void UpdateCheckedMenuItems()
|
|||
CheckMenuItem(fceumenu, MENU_DISPLAY_FA_LAGSKIP, frameAdvanceLagSkip?MF_CHECKED : MF_UNCHECKED);
|
||||
CheckMenuItem(fceumenu, MENU_CONFIG_BINDSAVES, bindSavestate?MF_CHECKED : MF_UNCHECKED);
|
||||
CheckMenuItem(fceumenu, ID_ENABLE_BACKUPSAVESTATES, backupSavestates?MF_CHECKED : MF_UNCHECKED);
|
||||
CheckMenuItem(fceumenu, ID_ENABLE_COMPRESSSAVESTATES, compressSavestates?MF_CHECKED : MF_UNCHECKED);
|
||||
|
||||
//Config - Display SubMenu
|
||||
CheckMenuItem(fceumenu, MENU_DISPLAY_LAGCOUNTER, lagCounterDisplay?MF_CHECKED : MF_UNCHECKED);
|
||||
|
@ -1621,6 +1622,10 @@ LRESULT FAR PASCAL AppWndProc(HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam)
|
|||
backupSavestates ^=1;
|
||||
UpdateCheckedMenuItems();
|
||||
break;
|
||||
case ID_ENABLE_COMPRESSSAVESTATES:
|
||||
compressSavestates ^=1;
|
||||
UpdateCheckedMenuItems();
|
||||
break;
|
||||
|
||||
//Display submenu
|
||||
case MENU_INPUTDISPLAY_0: //Input display off
|
||||
|
|
|
@ -81,6 +81,7 @@ bool redoLS = false; //This will be true if a backupstate was loaded, meaning
|
|||
bool internalSaveLoad = false;
|
||||
|
||||
bool backupSavestates = true;
|
||||
bool compressSavestates = true; //By default FCEUX compresses savestates when a movie is inactive.
|
||||
|
||||
#define SFMDATA_SIZE (64)
|
||||
static SFORMAT SFMDATA[SFMDATA_SIZE];
|
||||
|
@ -416,7 +417,7 @@ bool FCEUSS_SaveMS(std::ostream* outstream, int compressionLevel)
|
|||
int error = Z_OK;
|
||||
uint8* cbuf = (uint8*)ms.buf();
|
||||
uLongf comprlen = -1;
|
||||
if(compressionLevel != Z_NO_COMPRESSION)
|
||||
if(compressionLevel != Z_NO_COMPRESSION && compressSavestates)
|
||||
{
|
||||
//worst case compression.
|
||||
//zlib says "0.1% larger than sourceLen plus 12 bytes"
|
||||
|
|
|
@ -75,3 +75,5 @@ extern bool undoLS; //undo loadstate flag
|
|||
extern bool redoLS; //redo savestate flag
|
||||
extern bool backupSavestates; //Whether or not to make backups, true by default
|
||||
bool CheckBackupSaveStateExist(); //Checks if backupsavestate exists
|
||||
|
||||
extern bool compressSavestates; //Whether or not to compress non-movie savestates (by default, yes)
|
||||
|
|
Binary file not shown.
Loading…
Reference in New Issue