Posting here cause from now on this launcher is completely functional for windows as well (drop-in replacement for official launcher).
So finally sat down and implemented everything that was left to do, all the tabs are done and fully functional for windows and linux. Things like resolutions, sound devices, joysticks are done properly for either system (winapi/openal/SDL whatever was needed and appropriate). Registry is also handled properly and transparently (winreg for windows, fs2_open.ini for linux). As usual all the platform specific code is separated and waiting more then ever for someone with Mac OSX to write mac counterparts :-)
Hope someone will find it usefull.
Few small differences from official launcher:
- antialiasing sets properly named registry entry, though it works only on Linux, windows SCP code doesn't set AA at all, not my fault (post-process will turn off antialiasing as well, probably cause of bloom, seems to be hardware limitation, at least on nvidia)
- you can clean "forced IP" and "forced port" values and they will be removed from registry, official launcher is buggy here and does not allow you to do that, you'd have run regedit to get rid of those two, and they can cause problems
- Registry tab got 2 new checkboxes:
- show all - shows all registry entries, even from other categories then Default (registry subdirs), you can have a look f.e. at PXO or Network settings
- show launcher - shows launcher internal registry state, the one that will get saved if you choose so
Windows downloads:http://vega.livecd.pl/~havner/yal/windowshttp://vega.livecd.pl/~havner/yal/windows-screenshotsLinux downloads:http://vega.livecd.pl/~havner/yal/linuxhttp://vega.livecd.pl/~havner/yal/linux-screenshotsQuick Windows notes:Put the qt redist files either in game dir where launcher resides or somewhere in PATH (C:\Windows\System32)
Quick Linux notes:You can try to use the binary files but can't guarantee if they would work for you. Try them only if you have absolutely no idea how to compile from source :-)
Other notes:- Anyone know who should I get in touch to to update freespacemods page some kind person created for YAL?
- This launcher is written in a way that gui and rest of the code is perfectly separated. Redesigning UI to something completely different is very easy. With all those latest talks about launcher design if someone with an idea of how new UI might look would like to experiment feel free to talk to me. I'd be eager to implement some nice UI designs. I would like to for example see the screenies posted
here but I get 403 on them.
Few screenies:Full readme:Yet Another Launcher.
FreeSpace 2 portable launcher.
1. =================== LINUX =================
To get the source:
$ svn co svn://vega.livecd.pl/yal
To compile:
$ cd yal/trunk
$ ./build-all.sh
To run:
Put the appriopriate launcher from bin dir to your game dir and run it.
You can make a symlink to it in PATH dir and it will still work, just make
sure the binary itself is in the game dir.
Make sure you DON'T have GAMEDIR/data/cmdline_fso.cfg file. FS2_open
merges flags from system wide and user wide files so if you do have
one all flags from it will be forced and YAL won't reflect this.
Addons:
If you want to have browser functionality you need to define BROWSERCMD
in src/unix/System_unix.cpp. You can leave as it is now and make some
'browser' script like I do and put it inside PATH dir:
#!/bin/sh
exec firefox "@"
Requirements:
QT4 >= 4.3
SDL >= 1.2.13
OpenAL (openal-soft recommended!)
2. =================== WINDOWS =================
To run:
Yal for windows is distributed in binary form.
Put the appriopriate launcher to game dir and run from there.
You should also get dll pack and put it either to game dir together
with launcher, or to some PATH dir (like C:\Windows\System32).
To compile:
If you want to compile it from source you need Qt SDK.
Edit build-all.bat script where you should put a path to your
SDK and run this script. If everything went well you should have
binaries ready in bin dir.
3. =================== MAC OS X =================
Help needed to implement platform specific functions.
4. =================== COMMOON =================
For now launcher uses the following files:
1. ~/.fs2_open/launcher6.ini
2. ~/.fs2_open/data/cmdline_fso.cfg
3. GAMEDIR/MOD/mod.ini
4. TEMPDIR/flags.lch
ad 1.
This file is read on start if it exist. If it contains proper
exe_filepath the latter is executed inside temporary dir and flags
are read from flags.lch (ad 4).
ad 2.
If launcher6.ini does not exist or does not contain game_flags or
they are empty there is an attempt to read cmdline_fso.cfg to fill
initiall flags.
ad 3.
This file is read from inside the active_mod dir or any other dir
selected using GUI. Including game root dir used when actual mod name
is empty.