What are the equivalent locations under Linux and OS X?
I presume there must be something like this.
On linux, it would be a "dot" folder in users home directory (classicly this would be /home/<username>/.FSSCP/) which is no different that Microsoft's suggested file location (\Users\<username>\Application Settings\FSSCP\). I would pefer to not use the registry, if only because that way there is only one code path for all OSs (a folder in the users OS profile). OS X being a unix based system is /Users/<shortusername>, so we would put the files in /Users/<username>/.FSSCP/, though I will have to check Apples usablilty manual for their suggested location, but that should be good enough.
So for these, the 'manufacturer' should be "FSSCP"
The 'application' should be the name of the Total Conversion.
This way, a Launcher can have it's own 'custom' settings stuff sat in /FSSCP/SuperLauncher5000 (or whatever), but store the settings actually used by FreeSpace2 in /FSSCP/FS2 and the settings used by (eg) Wing Commander Saga in /FSSCP/WCS
By scanning the tree from /FSSCP and finding 'TC.INI' files (or something similar), a launcher can both locate the correct executable (be that a 'known stable' build or simply a pointer to 'use latest SCP build') and the necessary files.
This would be the same even if we used a directory in the users profile.
It may make sense to change the FS2Open executable to look in /FSSCP/<something> for its config, which would tell it where to look for the correct VPs.
I'm thinking out loud here, but it might make a lot of sense to have the only *genuine* command-line flag (as in 'a flag on the actual command line') be a pointer to an INI file that contains all the real settings, including base folder and applicable MOD folder to find the right VPs.
Then you could not only have a Launcher to do configuration stuff, but you could have a set of shortcuts that launch the same executable directly, but for each TC.
Yes, it is a good idea, but at this point, this is about creating a launcher to work with the current and past builds of fs2open, without changing the engine. The way that the engine works currently is perfectly adequate for what we have done with it. As The_E has said, invalidating years of installation manuals and instructions is just asking for trouble.
Installing TCs into separate folders is an issue that I had not thought about, but this is why kkmic and I have brought this proposal up for discussion. At this point, is something that we should do, in particular because as a TC, they have to provide there own game data for the entire engine which will should override everything that FS2 has for data anyway.
Skinning is pretty easy. Simply have the launcher take the skin details from the .ini of the last game played on the launcher.
[snip]
People keep acting like the idea of having "One launcher to rule them all" automatically precludes TCs from having a launcher that lives in the same folder as the TC and only being able to see that TC. That's simply not true. Acceptance of the global launcher could easily be an opt-in system with everyone else using the launcher as a local launcher/installer.
Or having a single launcher that is installed in a central location getting all of the update information it needs from the TCs mod.ini. Like the url of the mods (package) list.
Just to be clear, there is no intention of this launcher/installer, just like the current auto installer becoming the primary source the different TCs data. With this launcher and its installer we are not trying to take a TCs independence, the current system seems to have worked well enough for 10 years, there is no reason to change it now. I personally envision the installer/updater being similar to how the
package managers work for the various linux distributions in that they download a list of possible packages to install from a variety of sources (i.e. a list of mods for each TC from each TC's website). This list of packages includes the download location and the instructions to install the downloads.
As I mentioned before the planned format will be basically the same as the how the current packages are distributed (but will be automated), and as I noted earlier the mods that use windows installer could be supported if the installer is well behaved and allows the use of flags or switches to control where and how it installs. But at that, the linux users will still need some kind of archive that does not rely on executable downloads.