Page 2 of 3

Any way to get VBA save file behavior?

Posted: Wed Oct 22, 2008 9:11 am
by ZachBacon

lol I remember you talking about that on IRC [img]<fileStore.core_Emoticons>/emoticons/tongue.png[/img]/emoticons/tongue@2x.png 2x" width="20" height="20" /> can't wait to get my build system back up to compile the latest revision


Any way to get VBA save file behavior?

Posted: Wed Oct 22, 2008 9:21 am
by bgK

As slacker, this is a very bad thing to do on Linux since there is no reason for the executable path to be writable. The savegames should be written to a subfolder of the home directory. The very same thing applies to Windows (since Vista) but most programs still don't have the right behaviour (Which makes the users wonder why their apps don't work correctly in a multiuser environment and / or trigger the UAC thing).


Any way to get VBA save file behavior?

Posted: Wed Oct 22, 2008 9:23 am
by Squall Leonhart

Folders created by VBA below the program files folder will have full user permissions in Vista,


Any way to get VBA save file behavior?

Posted: Wed Oct 22, 2008 9:41 am
by bgK

Any way to get VBA save file behavior?

Posted: Wed Oct 22, 2008 10:00 am
by spacy51

So, what do people want? A completely portable one-exe-GB/GBA-emulator for their USB stick for emulator action on the go, or a small installer? Of course it would be great to do it the way µTorrent does, it allows both.


Any way to get VBA save file behavior?

Posted: Wed Oct 22, 2008 10:48 am
by Squall Leonhart

 

Vista's only real problem comes in trying to run an emulator from the program files folder. Files and folders created on the root of the drive are not specific to any account.


Any way to get VBA save file behavior?

Posted: Wed Oct 22, 2008 4:43 pm
by KunaiTeam

I believe that the correct thing to do on any multi-user system, which includes Windows NT/2000/XP/Vista, is to place the save files, save states and screenshots somewhere in the user's home folder. That way multiple users can play the same ROM and have different save states.

 

Now, whether or not ROMs are personal user documents as well is less clear. I tend to believe that they are, but the system administrator may want to make a ROM available to all accounts.

 

What I would recommend is allowing the user to specify a location for a V-BAM directory. Inside this directory there would be for soubdirectories: ROMs, Battery Saves, Save States, and Screenshots. (These are just suggestions. I think that "Battery Saves" might be confusing to some users, but "Game Saves" isn't quite accurate).

 

I believe that this would satisfy nathan's desire to have everything in one directory, while still providing a clean split so that the ROMs directory doesn't get overrun with screenshots and battery saves. If someone really wants to have their ROMs in the same directory as the VBA-M executable, they can set the directory in the preferences.


Any way to get VBA save file behavior?

Posted: Wed Oct 22, 2008 5:25 pm
by spacy51

I thought of the following behaviour:

 

  • Look for vba.ini in the exe folder
  • If found: switch to old(current) mode
  • If not found, look for vba.ini in "%appdata%\VBA-M" or create it there, along with the battery/savestates/screenshots directories.

 

VBA-M shall never have anything to do with the Registry at all.

 

As for the ROM folders, I think it's best to let the user choose where they are. I personally have a own hard drive for Software/OS/Game CD/DVD images and of course for ROMs. An emulator should not be paired with Roms IMO. That's one point I don't like about No$GBA, which has a strange SLOT folder. Actually, you can treat ROMs like MP3s. They have an ID3Tag (rom header) and content (opcodes, graphics, sound), and you don't put your MP3s into "%appdata%\Windoze Media Player\MP3s".


Any way to get VBA save file behavior?

Posted: Wed Oct 22, 2008 6:36 pm
by nathan
  • Look for vba.ini in the exe folder
  • If found: switch to old(current) mode
  • If not found, look for vba.ini in "%appdata%\VBA-M" or create it there, along with the battery/savestates/screenshots directories.

I like the current behavior (in linux) of storing the configuration in .config/gvbam

 

VBA-M shall never have anything to do with the Registry at all.

Amen [img]<fileStore.core_Emoticons>/emoticons/smile.png[/img]/emoticons/smile@2x.png 2x" width="20" height="20" />

 

As for the ROM folders, I think it's best to let the user choose where they are. I personally have a own hard drive for Software/OS/Game CD/DVD images and of course for ROMs. An emulator should not be paired with Roms IMO. That's one point I don't like about No$GBA, which has a strange SLOT folder. Actually, you can treat ROMs like MP3s. They have an ID3Tag (rom header) and content (opcodes, graphics, sound), and you don't put your MP3s into "%appdata%\Windoze Media Player\MP3s".

 

As I said earlier, I personally like having my ROM images alongside my save files: everything related to the game is in one place. I don't like the idea of save files in the same directory as the executable for the reasons pointed out by others above. If I can't have my save files in the same dir as my ROMs, I would prefer them to be in my home directory in a folder of my choosing (but probably not under .config, since that's a hidden directory by default).


Any way to get VBA save file behavior?

Posted: Wed Oct 22, 2008 6:54 pm
by KunaiTeam

As for the ROM folders, I think it's best to let the user choose where they are. I personally have a own hard drive for Software/OS/Game CD/DVD images and of course for ROMs. An emulator should not be paired with Roms IMO. That's one point I don't like about No$GBA, which has a strange SLOT folder.

 

That's a good point. I currently organize my ROMs by system, not by emulator.

 

So I think the best compromise is to allow the user to set the directory for battery saves, save states and screenshots. However, because keeping the saves in the same folder as the ROMs can cause problem for ROMs on multi-user systems, I would suggest that the default behavior to place them in their own folders within a VBA-M folder. That way ROM directories are not polluted with these files by default, but users like nathan who prefer to have these files in one directory can set the preferences however they want.

 

I realize that this is essentially equivalent to what spacy51 suggested, except that, IIRC, %appdata% is a hidden folder in Windows. What I am suggesting is that this be exposed through the preferences in VBA-M rather than the location of a specific file.

 

I would also suggest that there is an option to create separate directories for each ROM inside each of the battery/savestates/screenshots folder.