Skip to content

Commit

Permalink
fix hd settings not saving, and displayline settings not loading
Browse files Browse the repository at this point in the history
  • Loading branch information
rsn8887 committed Oct 25, 2018
1 parent 6b3cfdf commit 6225a04
Show file tree
Hide file tree
Showing 2 changed files with 55 additions and 45 deletions.
4 changes: 4 additions & 0 deletions README.MD
Expand Up @@ -119,6 +119,10 @@ Mouse + keyboard tested working with the "Jelly Comb Mini Bluetooth Keyboard Wit

CHANGELOG
=====
1.71

- Fix hd settings not saving, and displayline settings not loading in certain situations

1.70

- Improve pointer response to diagonal stick directions
Expand Down
96 changes: 51 additions & 45 deletions src/gp2x/menu/menu_config.cpp
Expand Up @@ -1154,45 +1154,44 @@ int saveconfig(int general)
snprintf((char*)buffer, 255, "df3=%s\n",namebuffer);
fputs(buffer,f);
}
} else {
snprintf((char*)buffer, 255, "script=%d\n",mainMenu_enableScripts);
fputs(buffer,f);
snprintf((char*)buffer, 255, "screenshot=%d\n",mainMenu_enableScreenshots);
fputs(buffer,f);
snprintf((char*)buffer, 255, "skipintro=%d\n",skipintro);
fputs(buffer,f);
snprintf((char*)buffer, 255, "boot_hd=%d\n",mainMenu_bootHD);
fputs(buffer,f);
if (uae4all_hard_dir[0] == '\0')
snprintf((char*)buffer, 255, "hard_disk_dir=%s\n","*");
else
snprintf((char*)buffer, 255, "hard_disk_dir=%s\n",uae4all_hard_dir);
fputs(buffer,f);
//HDF0
if (uae4all_hard_file0[0] == '\0')
snprintf((char*)buffer, 255, "hard_disk_file0=%s\n","*");
else
snprintf((char*)buffer, 255, "hard_disk_file0=%s\n",uae4all_hard_file0);
fputs(buffer,f);
//HDF1
if (uae4all_hard_file1[0] == '\0')
snprintf((char*)buffer, 255, "hard_disk_file1=%s\n","*");
else
snprintf((char*)buffer, 255, "hard_disk_file1=%s\n",uae4all_hard_file1);
fputs(buffer,f);
//HDF2
if (uae4all_hard_file2[0] == '\0')
snprintf((char*)buffer, 255, "hard_disk_file2=%s\n","*");
else
snprintf((char*)buffer, 255, "hard_disk_file2=%s\n",uae4all_hard_file2);
fputs(buffer,f);
//HDF3
if (uae4all_hard_file3[0] == '\0')
snprintf((char*)buffer, 255, "hard_disk_file3=%s\n","*");
else
snprintf((char*)buffer, 255, "hard_disk_file3=%s\n",uae4all_hard_file3);
fputs(buffer,f);
}
snprintf((char*)buffer, 255, "script=%d\n",mainMenu_enableScripts);
fputs(buffer,f);
snprintf((char*)buffer, 255, "screenshot=%d\n",mainMenu_enableScreenshots);
fputs(buffer,f);
snprintf((char*)buffer, 255, "skipintro=%d\n",skipintro);
fputs(buffer,f);
snprintf((char*)buffer, 255, "boot_hd=%d\n",mainMenu_bootHD);
fputs(buffer,f);
if (uae4all_hard_dir[0] == '\0')
snprintf((char*)buffer, 255, "hard_disk_dir=%s\n","*");
else
snprintf((char*)buffer, 255, "hard_disk_dir=%s\n",uae4all_hard_dir);
fputs(buffer,f);
//HDF0
if (uae4all_hard_file0[0] == '\0')
snprintf((char*)buffer, 255, "hard_disk_file0=%s\n","*");
else
snprintf((char*)buffer, 255, "hard_disk_file0=%s\n",uae4all_hard_file0);
fputs(buffer,f);
//HDF1
if (uae4all_hard_file1[0] == '\0')
snprintf((char*)buffer, 255, "hard_disk_file1=%s\n","*");
else
snprintf((char*)buffer, 255, "hard_disk_file1=%s\n",uae4all_hard_file1);
fputs(buffer,f);
//HDF2
if (uae4all_hard_file2[0] == '\0')
snprintf((char*)buffer, 255, "hard_disk_file2=%s\n","*");
else
snprintf((char*)buffer, 255, "hard_disk_file2=%s\n",uae4all_hard_file2);
fputs(buffer,f);
//HDF3
if (uae4all_hard_file3[0] == '\0')
snprintf((char*)buffer, 255, "hard_disk_file3=%s\n","*");
else
snprintf((char*)buffer, 255, "hard_disk_file3=%s\n",uae4all_hard_file3);
fputs(buffer,f);
snprintf((char*)buffer, 255, "chipmemory=%d\n",mainMenu_chipMemory);
fputs(buffer,f);
snprintf((char*)buffer, 255, "slowmemory=%d\n",mainMenu_slowMemory);
Expand Down Expand Up @@ -1508,8 +1507,12 @@ void loadconfig(int general)
strcpy(uae4all_image_file3,filebuffer);
extractFileName(uae4all_image_file3,filename3);
}
} else {
fscanf(f,"script=%d\n",&mainMenu_enableScripts);
}
mainMenu_drives=nr_drives;
// in versions <=1.70, some config files are missing the following
// hd settings, so skip them if the `script=`` line is absent
int oldconfig = fscanf(f,"script=%d\n",&mainMenu_enableScripts);
if (oldconfig != 0) {
fscanf(f,"screenshot=%d\n", &mainMenu_enableScreenshots);
fscanf(f,"skipintro=%d\n", &skipintro);
fscanf(f,"boot_hd=%d\n",&mainMenu_bootHD);
Expand All @@ -1526,7 +1529,7 @@ void loadconfig(int general)
}
if (uae4all_hard_dir[0] == '*')
uae4all_hard_dir[0] = '\0';
//HDF0
//HDF0
fscanf(f,"hard_disk_file0=",uae4all_hard_file0);
uae4all_hard_file0[0] = '\0';
{
Expand Down Expand Up @@ -1578,10 +1581,11 @@ void loadconfig(int general)
}
if (uae4all_hard_file3[0] == '*')
uae4all_hard_file3[0] = '\0';
fscanf(f,"chipmemory=%d\n",&mainMenu_chipMemory);
}
else {
fscanf(f,"hipmemory=%d\n",&mainMenu_chipMemory);
}
mainMenu_drives=nr_drives;

fscanf(f,"chipmemory=%d\n",&mainMenu_chipMemory);
fscanf(f,"slowmemory=%d\n",&mainMenu_slowMemory);
fscanf(f,"fastmemory=%d\n",&mainMenu_fastMemory);
#ifdef ANDROIDSDL
Expand Down Expand Up @@ -1626,8 +1630,10 @@ void loadconfig(int general)
}
fclose(f);
}

// make sure the just-loaded mainMenu_displayedLines is not changed by setPresetMode
int old_displayedLines = mainMenu_displayedLines;
SetPresetMode(presetModeId);
mainMenu_displayedLines = old_displayedLines;
UpdateCPUModelSettings();
UpdateChipsetSettings();
#ifdef USE_GUICHAN
Expand Down

0 comments on commit 6225a04

Please sign in to comment.