From ff38c2deb43e07eaa866b798e6f720d3eccfb269 Mon Sep 17 00:00:00 2001 From: n-a-c-h <> Date: Sat, 30 Apr 2005 17:15:03 +0000 Subject: [PATCH] Fixed various save files not working correctly when loading ROM via command line. Debian: is it so hard to pass back patches? --- zsnes/src/linux/zfilew.c | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/zsnes/src/linux/zfilew.c b/zsnes/src/linux/zfilew.c index 24f4cbb0..1b4cf43b 100644 --- a/zsnes/src/linux/zfilew.c +++ b/zsnes/src/linux/zfilew.c @@ -501,27 +501,28 @@ void obtaindir() } } -extern char fnamest, fnames; - void GetFilename() { - char *tmp = &fnamest; - char size; + extern char fnamest, fnames; + extern int statefileloc; + char *tmp = &fnamest; + char size; - *tmp = '/'; - while (*tmp!=0) tmp++; - while (*tmp!='/') tmp--; - size = (strlen(tmp)-1) & 0xFF; - strcpy(&fnamest, tmp); - fnamest = size; - - tmp = &fnames; - *tmp = '/'; - while (*tmp!=0) tmp++; - while (*tmp!='/') tmp--; - size = (strlen(tmp)-1) & 0xFF; - strcpy(&fnames, tmp); - fnames = size; + *tmp = '/'; + while (*tmp!=0) tmp++; + while (*tmp!='/') tmp--; + size = (strlen(tmp)-1) & 0xFF; + strcpy(&fnamest, tmp); + fnamest = size; + statefileloc-=(tmp-&fnamest); + + tmp = &fnames; + *tmp = '/'; + while (*tmp!=0) tmp++; + while (*tmp!='/') tmp--; + size = (strlen(tmp)-1) & 0xFF; + strcpy(&fnames, tmp); + fnames = size; } char *olddir = NULL;