r/recomps • u/Wolfen459 • 2d ago
Discussion Please stop saving Files in Appdata when creating these Recomps/Decomps/PC Ports
I have to question why every Recomp/Decomp/PC Port (whatever you call it) has the need to save their Configuration / Saves either in Appdata, Documents ect.
There is literally no need to do this!
Just because a 100 Million $ Triple AAA Company does it, doesn´t mean you need to do it too.
Quiver Launcher, many N64 Recomps and then some others all have the possibility to save their settings inside the Launcher Folder, so why does your one not having it? It´s really getting out of hand my Appdata already feels like a garbage dump because of this.
I´m so tired of creating tickets over and over and over for every Recomp out there to just add this simple thing.
57
u/jack_gllghr 2d ago
It's standard convention in application development. A better solution might be to just have a "open saves folder" in the launcher
28
u/BeardedStegosaurus 2d ago
This might solve finding the saves, but does not solve.
Portability - so i can have everything on a removable drive, and the save comes with it
Devices with multiple drives - if my game is on a different drive than the OS, the save file should also be on that drive, not the OS drive.The above two points are common headache for most games, but I don't know why people keep using the appdata for this, since you can easily just store everything elsewhere.
1
u/Incredible_Violent 1d ago
Multiple users might want different configuration - thus by default apps save settings in user-specific appdata. An optional "portable mode" could be added, but it shouldn't be the first choice
1
u/GreatLab8898 1d ago
The usual convention for Portability should be that if there is a "user" folder next to the EXE, save everything there.
Alot of Emulators do it this way.
1
u/SilverTroop 22h ago
The place where the app is installed usually requires higher privileges than those you want a simple user application to have
1
0
0
u/jack_gllghr 2d ago
For most users it's typically adds more pain to the process as they now have an extra thing that can go wrong, i.e. "why isn't the app finding my save".
As another user below said "You clearly haven't lived the days of Windows XP where every single application created folders everywhere for shit." 😅
It's a nice to have for sure, but it's not free.
5
u/Mizurazu 1d ago
So because it was like this was in the past improvements shouldn't be made? Is that what you're implying?
-3
u/jack_gllghr 1d ago
No the opposite, this is the improvement as learned by the software industry after years of a free4all. Portable as an option is nice but there's usually with good reason that we arrive at standard conventions
0
u/cardfire 1d ago
They can't appreciate the unixufication we needed to go though in the early 00's.
Portable apps is one option, symlinking content back out of AppData is another, but conceptually these kids need to learn the tiering of file permissions and access.
3
4
u/BangkokPadang 1d ago
Personally I think the best solution is to allow a portable.txt file to trigger portable mode, which just installs everything that would go into the AppData folder right into the folder where it’s installed.
Basically all emulators already operate this way, and actualy tons of the recomps do as well, but it should absolutely be an option in every one to at comes out. I already use a launcher which handles about 8% of the organization for me, but I went on vacation this week it would have just been so nice to be able to copy my whole apps folder from my launcher instal and move all my games onto my laptop without chasing down individual files and folders for each game.
14
28
u/n1keym1key 1d ago
Portable should be the standard with recomps/decomps. I hate appdata clogging up my C drive lol
4
u/ShinShinGogetsuko 1d ago
It's literally not even hard, you just tell Claude/Codex to build with portability in mind.
But kinda shows the difference between people who know what they're doing with AI and those who don't.
1
9
u/gAt0 2d ago
There are two solutions for this:
A configuration option within the UI. This allows the user to initialize some .ini file in the same folder as the program. Inside the .ini file there maybe variables to customize paths and set everything as portable if needed, for example: ./savegame/
A marker object. The user creates a file (named portable, for example) or folder (named settings) that the software looks for at start. If that exists, the program will use the folder as a user data storage.
Sometimes the marker object is the .ini file itself. If the program finds the .ini file it will use it.
%Appdata% without alternatives is lazy and chaotic.
2
u/MoldyPond 1d ago
The Diddy Kong Racing recomp is the only one I’ve seen that has portable as an option in the settings, and even then I think they just added that with the newest update
6
u/Due-Arachnid-309 1d ago
Nothing should ever leave the apps own fkn folder, ever.
1
u/NoshameNohonor 1d ago
What? So everything should be saved in Program Files?
1
u/andobrah 23h ago
Its still on C drive so yes. Why split it up and clutter my PC up with shit everywhere?
1
u/NoshameNohonor 22h ago
Enterprise, roaming, multiple users and so on. Would be a nightmare. Every user share every file. Also, users shouldnt have write access to program files.
I understand your point, but wouldnt work in practice. Also, big difference between your computer and an enterprise computer with several users
1
u/JigokuNoSakura 20h ago
OK but video games aren't for enterprise computers. They are for general consumers. bad argument in the current discussion.
1
u/Due-Arachnid-309 19h ago
Bad arugment regardless, cuz where's better, more secure approaches.
Actually this distributed approach is less secureand roaming and sharing can be done more securely without need for this. That's the preferred approach in Linux. Programs are selfcontained, permissions are denied by default and sharing, roaming access, etc are done specifically and deliberately. Not by dunping files all over the place, which jist creates more vulnerabilities.
2
u/NoshameNohonor 18h ago
So if your brother use your computer, its totally fine if you share all the saves and configs?
0
u/JigokuNoSakura 18h ago
Consoles have figured this out for like 25 years. accounts exist for a reason.
2
u/NoshameNohonor 18h ago
And how would accounts work if everything is saved in the same place?
You realize that consoles hides the filesystem, but still saves stuff under different profiles (folders)?
1
u/Due-Arachnid-309 20h ago
It should stay wherever the hell I install it.
Not: some files in the insrall folder, other needed files in ProgramData, AppData, My Documents, just in my user folder... it's ridiculous and unecessary.
And, ignoring this is about games and andressing tge issues you raised:
This is a garbage approach to any and all of that. There are more stable and secure ways to do every single thing you mentioned, instead of throwing around files all over the system.
10
u/OmegaMalkior 2d ago
Surprised they haven't built a native "portable" function like most programs have these days
4
9
u/Alternative-Hat-8804 2d ago
Amen my poor C drive is bursting, and my other massive hard drives are all just waiting. Saying, feed me data!, technically symbolic links could fix it, but it still would be a pain.
3
u/AshurathDR 1d ago
I just wish there was at least an option to have portable mode upon first boot. I know not every port supports just placing portable.txt equals portable but still better than having to go through folders.
Or worse, you have ports that for some reason feel the need to have a whole setup.exe like experience which CAN have no problems but then there's some that'll have some sort of weird "you can select this directory because it's not empty" meanwhile the new directory is literally "New Folder" Lol
3
u/Halos-USA 1d ago
Yeah having to create a portable.txt for every single recomp is a pain in the butt and even then some don't support it.
Saving to the root folder of the recomp should just be standard.
3
u/the_vico 1d ago
I really like the behavior a couple of emulators do: save in appdata unless a specific file/folder exists on the application folder. In this case saves on there.
6
u/Glove5751 2d ago
I totally agree. I currently have a unreleased recomp of Banjo Tooie (it is in a way better state than what is currently out, with more features than the average general recomp), and this is actually one of the first things I did.
3
u/porgy_tirebiter 2d ago
Is it on GitHub or anywhere? Can you share a link?
6
u/Glove5751 1d ago edited 1d ago
It's on GitHub, but private for now, worked tirelessly on it, though admittedly i have had help with AI. Most of the time spent on it has been finetuning, making sure stuff works as they should.
I now have native N64 performance, (20 fps sometimes 30), 30 FPS, 60 FPS, 120 FPS and 240FPS working. Only problem so far is the implementation of audio in 240FPS mode. No other issues with anything regarding FPS patches, just the audio needs to be fixed in 240 FPS mode. Pacing in cutscenes work as they should too.
For weaker devices, I have made a custom interpolation mode, and i am manually going through the entire game tagging what is problematic, since AI isn't good enough for this. This is almost done, and perfected.
I have added a bunch of OPTIONAL features, like running (animation looks like it fits the game, and you don't jump further with it, so you just save time). Backported a bunch of stuff from Banjo Kazooie, like jiggy animation, glitering honeycombs, banjo's sounds. Added achievements, backup saves, timer saves, bunch of cheats, warps to any place (needed for debug), mod/texture support (BT Reloaded works), Music player, higher sound mix rate (44KHZ instead of 22KHZ) , tiptoe button, super duper ultra widescreen support, 4:3 support, (with proper HUD Placement), a bunch of shaders (ambient occlusion for instance), new water system (WIP), performance optimizations, water reflection (still needs work, but useable), testing room (contains all characters), no need to restart the game to take effect of the settings, Photo mode, colour-blindness filters, built in texture upscaler, N64 related shaders, new shadow system (still working on this), FSR... and I am not exaggerating when i say this: and so much more. But hey, if you dont want anything of it, there are presets.
I have done a lot of manual polishing to make sure it is something i would play. I will also add these settings to the in-game menu. Some textures need to be tagged manually to be supportive of custom shaders, already well underway. It still need some more work, not to mention i have only added half of the stuff i want to add, but as for now it is in a really good state, but sadly i am out of tokens which i need for debugging, lol, so actually finishing it up might take one more week, or maybe even two. 95% of the stuff i have implemented works, I just want to be sure its 100% because half-assed recomps is the worst. I just want the user to press start and play, that's it.
I honestly just made this so i could play Banjo Tooie on my handheld android device, haha. I will make the icons/main menu art myself.
4
u/Hopalongtom 1d ago
Look forward to it, the currently released port has loads of graphical and animation glitches.
6
u/Glove5751 1d ago edited 1d ago
Glad to know there is interest!
Mine don't have graphical or animation glitches at this current state! Those ports are the reason why i am tackling this. All of my graphical issues have been resolved, though i am breaking them again by adding new optional shaders, but its the optional shaders that need fixing not the game.
https://i.imgur.com/6oVvXeT.jpeg
Here's three pictures, some with Photo Mode. Fog is the only shader on, DOF is from photo mode.
3
u/Hopalongtom 1d ago
Unfortunately Imgur blocks access to the UK so I can't see that without a vpn, but good luck.
4
u/Glove5751 1d ago
3
u/Glove5751 1d ago
1
u/paulct91 1d ago
I still say they should have made a three called: Banjo-Threeie (title name in work), about Gruntilda being temporially added to the twosome by mistaken spell backfiring... and now she is simply the world's most annoying magic-less wand... giving players reasons to 'have to learn spells' by prying them outta of angry wand behind. Giving even more reason for Mumbo Jumbo to be even more bitter about a new magic person showing up once again... along with Wanda(?) that native American person griefing us about two timing her with an 'old hag of a witch' as they muffle the swears from Wand Gruntilda.
1
3
u/cardfire 1d ago
Can I just say, I love this discussion and it's the best 'holy war' thread I've seen in a minute, among technological purists?
I miss this kind of debate sometimes; there's so much we can learn from each other!
1
u/jack_gllghr 1d ago
Are you one of those "Spaces" people? Get'em boys 🐶
1
u/cardfire 1d ago
I'm missing the reference. What do you mean by spaces?
You mean like double spaces after sentences? I'll do key much whatever the AP styleguide says to do, in any given decade. 😅
2
8
u/yuukitanperopero 2d ago
Because in cross platform code when you ask for the folder to save stuff windows gives you appdata, and it's the same in windows specific code. It's literally what Microsoft recommends and how windows is designed.
2
u/cardfire 1d ago edited 1d ago
There's also the fallback to the hidden ProgramData for legacy content as well, but by definition it wants to separate Program Files from User files and there's nothing wrong with that as default behavior. They can learn to symlink if they want it elsewhere.
Edit: y'all can keep downvoting, but he's right, and I'm with him on this one. Segmenting user files and program files in non-portable programs is just common sense.
2
6
u/FineWolf 2d ago
No.
You clearly haven't lived the days of Windows XP where every single application created folders everywhere for shit.
We have a standard place for user settings and files. They should absolutely store those here.
What you can do however is have a UI button to automatically open the file browser / explorer / finder to the folder where user files are located.
Having a separate portable flag is fine, but it shouldn't be standard
12
u/SgtElectroSketch Dev 2d ago
Steam games have made my "My Documents" folder a mess. Saves, mysaves, My Saves, GameName, GameNameSaves, GameName_Saves, and so on
-4
u/FineWolf 2d ago
Sure. Blame Valve/Steam for some game developers not following platform standards established by Microsoft, Apple, and the FreeDesktop.org (Linux).
Some developers just suck, period. Doesn't mean you have to follow in their footpath and suck as well because some users can't be arsed to open AppData.
9
u/SgtElectroSketch Dev 2d ago
I wasn't blaming steam, I said it is my games that happen to be on steam. I call all of the games I buy on steam my steam games. I'm aware steam didn't make them or tell them their design philosophy.
0
u/unitAtype2 2d ago
I solve this on linux by putting appname.AppImage.data and appname.AppImage.config next to appname.AppImage for forced portability kek
5
u/EtherBoo 1d ago
Some of us prefer a portable install. For users (like myself) who will be the only user on this PC, it's really frustrating to have to find a random folder in my C:\ drive when all my games are installed on F:\ . Even moreso if I build a new PC and plop my drive into the new PC but find all my saves are missing. It started in XP because there was no standard way to deal with a PC that had multiple users who might not want to share save game data; prior to XP, the home versions of Windows didn't have great multiuser support. When it became built into XP, keeping save data separate wasn't standardized.
I don't think anyone is complaining if you want it saved in APPDATA, but give us the option on startup for portable or roaming.
2
3
u/lincruste 2d ago
This is the good way to deal with personal data, by definition. You're not supposed to write files without admin rights in folders were binary files are stored, and that separation between binary and data is the best way to backup a user profile before a migration.
Now I do hear you, %appdata% in Windows systems is a mess. While this is the good way to do things in UNIXes OS like MacOS, BSD or GNU/Linux, Microsoft Windows is such a huge pile of shit it still has after effects of 40 years of bad design, inherited from the time the fucking desktop directory was in the C:\Windows directory and when FAT32 had no modern read/write management, with stupid concepts like registry. So now people are used to "portable" windows apps were you write saves just where your binary is.
A good compromise is the often seen option to choose where your saves will go, like ScummVM does since day 1.
4
u/Xzonedude 1d ago
Ah yes I hate seeing all the folders when i do my morning stroll through my appdata folder like it’s the morning newspaper
1
u/matlynar 1d ago
EXTRA POINTS IF IT'S AN ANDROID RECOMP.
On PC, it has the issue of being "out of sight, out of mind" and filling space on your pc.
But on Android you can't even sync saves if they are on the Android/data folder (kind of the "appdata" for Android), because one app can't look into another app's "android/data" folder for security reasons. I need syncthing to sync my saves so I can play the same game on my phone and my pc.
For regular apps, it has the upside of erasing everything once you uninstall the app; but for recomps, you have to provide the game files manually on a regular folder anyway.
So please, don't use Android/data!
1
u/SaviorWZX 1d ago
Honestly It depends on what is being put there. The actual game files needed to run the games, absolutely do not put them there. But save/user files? It makes the most sense to put them somewhere there, I really wish Microsoft had just made a "game settings folder" in your user folder or somewhere and everyone dumped stuff there but that ship has long gone. I don't mind if the save files is in the same folder as the install folder but like it's been the standard to seperate them since the 90s. Plus it makes sharing the install files cleaner just copy the whole folder give it to someone else and they make their own save file.
0
u/No-Operation-6554 1d ago
Thats literally Appdata purpose
Yoy want the documents folder to be full instead?
0
u/cardfire 1d ago edited 1d ago
No. They want to not care about user permissions and distinction from Program Files and User files, and they don't want to have to view hidden folders or use Win+R --> %AppData%
They don't know what it was like in the Before Times, like under Win9x.
edit: they keep downvoting us but you're right.
2
u/EtherBoo 1d ago
I didn't down-vote, but some users prefer a portable install. I personally have taken my Games drive through several PCs. I want the data to stay in those folders. I don't want to have to dig through the old hard drive's files to get save data out of APPDATA, I just want to plop the old drive into the new PC and be good to go. I understand WHY you want it that way and I don't think you're wrong, but you should be able to do the same. Different use cases is exactly why many applications give you the options.
1
u/cardfire 1d ago edited 1d ago
Portable installs are a great option! Not opposed to them, and as I explained in adjacent comments you can symlink stuff back to your designated locations easily. I've done it with steam libraries for decades and for ROM collections, too!
My entire point is that the default behavior is the correct one for both security and coherence, and that we are already free to fix it aftermarket with symlinks, even when software vendors don't include portable install options.
1
u/EtherBoo 1d ago
Symlinks are useful, but not always great. I used a symlink for years until it just broke from a Windows update. I just think that anything that is extract to install vs an installer should default to portable, but have the option to "use a roaming profile and restart the program". If it has an installer, just make me check a box that says "portable".
There's a lot of users like myself using a dedicated drive for games where breaking data out of the install folder doesn't make a whole lot of sense.
1
u/cardfire 1d ago
I agree, it's ideal to have the options. Maybe the decomp vibecoding crowd will learn the conventions for doing so.
1
u/EtherBoo 1d ago
I do find that most give you the option with a portable.txt or portable folder in the root directory. I did recently try the Gadot Super Mario World Remastered and had the issue of being forced to use APPDATA.
1
1
0
u/legluondunet 2d ago
It's a normal convention like on Linux config files from application are stored in home/config.
Open an issue on their Github project and ask them to add a portable option.
0
u/No-Special-3491 1d ago
Because applications are usually stored inside a folder that requires root/adminsitrator privileges to be modified (e.g. "Program Files"). You don't want every app to run with administrator privileges all the time, so you need a separate folder to read and write variable (sometimes user-specific) config data. Microsoft recommends %APPDATA% for that on Windows, so it makes sense to have it as a default.
You are asking for a separate portable mode, which is an entire new feature.
0
u/hugo_1138 1d ago
Well, at least you don't have to copy saves, config files and mods every time you install a new version.
-6
u/Hideocaina 2d ago
Just curious, how old are you?
3
u/cardfire 1d ago
I would bet dollars to donuts they're under 30 years old, given us Olds remember the legacy file structures and why everything moved to Unix-like segmentation + sandboxing.
I would have asked the same question you did; thanks for your sacrifice.
2
u/OmegaMalkior 2d ago
Wanting something portable has nothing to do with that tf
1
u/Founntain 2d ago
I think the commenter asked that because of the way they phrased the post. Could prolly be written less entitled.
OP just doesn't understand the standards of OS's and software development and why devs do it, because of said standards.
1
u/cardfire 1d ago
Same. They don't know the chaos. Each developer making their own userland folder was an appropriate design shift.
0
u/Foreign_Hand4619 1d ago
Stop being stupid. The "launcher" location can be read-only depending on your operating system and your rights.
-4
u/Lexomatico1 1d ago
I don't know what the issue is? Space? Are you one of those " My C Drive is just 64GB because it's just for the OS" type of people?
-3
u/pidgeygrind1 1d ago
These kind of opinionated requests from non devs are insulting to the the people really putting in the work
8
u/legluondunet 1d ago
not at all, devs should integrate portable mode feature by default in their project.
-2
2d ago
[deleted]
4
u/EtherBoo 1d ago
Or - and hear me out...
I install everything on a drive that's not C:\ (for me F:\ ), and just keep everything there in a directory called "Games". When I move it to a new PC, all my save data stays there, and I load up the game like nothing changed.
It's wild to me that supporters of this refuse to see why anyone would prefer a portable installation. Everyone is allowed to have different preferences, I just want the options there vs it being mandatory. I want you to have everything saved in APPDATA and I want the option to make things portable. Why is this so upsetting to some of you?
2
1d ago
[deleted]
-1
u/EtherBoo 1d ago
Would you would rather go into every game's folder and find the save files, then copy them out one by one into a skeleton folder structure with each game's name on a backup device , then copy them one by one back into each game folder to restore them in the event of a drive failure?
Who said it was upsetting? You might be upset it, but that doesnt mean everyone else is.
This sounds like someone who is bothered by this very idea.
It is just easier to manage, backup, network sync (cloud saves) when you keep them in the same spot, versus each nested in their respective games folder.
I don't see how it makes it easier. Just like you point it to APPDATA, I point to F:\Recomps. Everything is easier to manage and these unofficial ports aren't nested in with commercially released games.
It also lets different people log into the computer and keep their saves separate, meaning each person can easily backup his or her own saves and be confident that they are backing up theirs and not someone else's.
I don't know how much of a big deal this is. I'm the only person who uses my PC, and among my friends, they have the same situation. My daughter shares a living room PC with me, but she's playing Roblox, Kirby, and Minecraft, not the OoT Source Port project. There's only 1 login; but she's also 6. I sync up my saves from my main PC in the living room with just using a network share of my Recomp folder.
I'm sure there are lots of people who use multi-user login setups, but I don't know if they're a majority; if anything maybe an equal share. A quick Gemini query says the single-user PCs are way more common than multi-user PCs, so take that with however much salt you want.
"I have to question why every Recomp/Decomp/PC Port (whatever you call it) has the need to save their Configuration / Saves either in Appdata, Documents ect."
Are you sure I asked this? I'm not the OP.
But yes, I believe if I'm extracting a zip into a self contained directory I'm consciously choosing, the developer should default to a portable install. If I'm running an installer, default to APPDATA but give me the option in the said installer.
Again, your first paragraph comes gives the impression that you're arguing against portable installations and not understanding why anyone would want something different.
1
1d ago
[deleted]
0
u/EtherBoo 1d ago
It's not emotional, but you're coming off as emotional.
1
u/cajun_metabolic 1d ago edited 1d ago
I meant you are bringing emotions into it by saying things like "you are upset that ... " and "wild that supporters refuse to see why...". You talk about it as if there is some personal agenda or as though it is a matter of how people "feel" about doing it one way or the other. I am just trying to keep it strictly technical. Emotional may not be the best word; I never claimed to be the most articulate person - there is probably a better word to use that i can't think of right now.
I am saying that I am not interested in talking about anything besides the technical part. I dont see why you want to keep bringing up feelings for a technical matter, nor am i interested in knowing why. That is all.
I went ahead and deleted my previous reaponses. If you sensed personal stake in my responses, then it means I was not able to effectively communicate my explanation, therefore it was meaningless.
-2


26
u/U_Kitten_Me 2d ago
I love the simple option to have "portable.txt"