From 16f1580684438756808566c029c2b3a682e63905 Mon Sep 17 00:00:00 2001 From: n-a-c-h <> Date: Mon, 10 Oct 2005 01:33:53 +0000 Subject: [PATCH] Made gui option save config override dontsave option. Fixed bug #13. --- zsnes/src/cfgload.c | 4 +++- zsnes/src/gui/gui.asm | 6 +++++- zsnes/src/gui/guifuncs.c | 4 ++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/zsnes/src/cfgload.c b/zsnes/src/cfgload.c index 3239b39a..68c62af7 100644 --- a/zsnes/src/cfgload.c +++ b/zsnes/src/cfgload.c @@ -130,6 +130,8 @@ extern unsigned char soundon; extern unsigned char spcon; extern unsigned char vsyncon; +extern unsigned char savecfgforce; + //extern void Open_File(); extern unsigned int ZFileRead(); extern unsigned int ZOpenMode; @@ -369,7 +371,7 @@ void DOScreatenewcfg() char buffer[4096]; FILE *fp = 0; - if (cfgdontsave == 1) + if (cfgdontsave && !savecfgforce) { return; } diff --git a/zsnes/src/gui/gui.asm b/zsnes/src/gui/gui.asm index 9319399c..67b42788 100644 --- a/zsnes/src/gui/gui.asm +++ b/zsnes/src/gui/gui.asm @@ -2206,7 +2206,7 @@ GUITryMenuItem: ; Defines which menu item calls what window jne .nomovie mov byte[MovieRecordWinVal],0 .nomovie - GUICheckMenuItem 16, 3 + GUICheckMenuItem 16, 3 ; Save Config cmp byte[GUIcrowpos],4 jne .nosavestuff @@ -2214,8 +2214,11 @@ GUITryMenuItem: ; Defines which menu item calls what window mov dl,[InitDrive] mov ebx,InitDir call Change_Dir + + mov byte[savecfgforce],1 call createnewcfg call GUISaveVars + mov byte[savecfgforce],0 call Makemode7Table mov dword[GUICMessage],.message1 @@ -2231,6 +2234,7 @@ GUITryMenuItem: ; Defines which menu item calls what window SECTION .data .message1 db 'CONFIGURATION FILES SAVED.',0 +NEWSYM savecfgforce, db 0 SECTION .text DisplayBoxes: ; Displays window when item is clicked diff --git a/zsnes/src/gui/guifuncs.c b/zsnes/src/gui/guifuncs.c index 9df283d1..2652c875 100644 --- a/zsnes/src/gui/guifuncs.c +++ b/zsnes/src/gui/guifuncs.c @@ -36,7 +36,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. extern unsigned char ComboHeader[23], ComboBlHeader[23], GUIRAdd; extern unsigned char GUIsmallscreenon, ScreenScale, TimeChecker; extern unsigned char GUIScreenScale, ShowTimer, ReCalib, cfgdontsave; -extern unsigned char CombinDataGlob[3300]; +extern unsigned char CombinDataGlob[3300], savecfgforce; extern unsigned int PHnumGUIsave, smallscreenon, SnowTimer, NumSnow; extern unsigned int CalibXmin, CalibXmax, CalibYmin, CalibYmax, NumComboGlob; extern unsigned int CalibXmin209, CalibXmax209, CalibYmin209, CalibYmax209; @@ -109,7 +109,7 @@ void ExecGUISaveVars() if (ShowTimer == 1) { TimeChecker = CalcCfgChecksum(); } - if (!cfgdontsave) + if (!cfgdontsave || savecfgforce) { write_cfg_vars(GUIFName); }