I'm actually think since several days about a way to improve the command lines support of the Advanced Launcher. Actually the command line functionality is simple to use, works great but encounter some limitations for some emulators as reporter by some users (like for Project64, Winuae, etc...). Actual solutions to bypass those limitations are to use external bash files or script.
First thing I think that will be useful will be to use the same approach than the other XBMC games add-ons by using a kind
%rom% parameter to pass the rompath into the command line. Some emulators want the rompath to be the first parameter. Some want it to be the last. With the actual version of the Advanced Launcher it is not possible to do this. For example is the rompath is
/mnt/multimedias/consoles/gameboyadvance/roms/Sonic Advance 3.gba the argument parameter will be :
Code:
%rom% --opengl=MODE --fullscreen -f 15 --no-show-speed
instead of only
Code:
--opengl=MODE --fullscreen -f 15 --no-show-speed
but could also be
Code:
--opengl=MODE --fullscreen -f 15 --no-show-speed %rom%
where
%rom% = /mnt/multimedias/consoles/gameboyadvance/roms/Sonic Advance 3.gba
So we will have more flexibility for the arguments parameter also to add quoted parameters or not like this :
Code:
"%rom%" --opengl=MODE --fullscreen -f 15 --no-show-speed
or this
Code:
"%rom% --opengl=MODE --fullscreen -f 15 --no-show-speed"
that will solve problems with whites spaces and quotes for some emulators.
Is have also thought to add 2 other internal parameters :
%romfile% = Sonic Advance 3.gba
et
%romname% = Sonic Advance 3
Some emulators, only use the rompath parameters that is indicated into their configuration file, and only need the filename of the roms to run. So by using a
%romfile% variable ti will be possible to do it, like for Winuae:
Code:
winuae.exe -f "%romfile%"
Finally the use of the
%romname% variable will be useful for the emulators using for example savestate files. Those files generally has the same name of the romfile but a different extension. For example for Winuae the argument parameter will be:
Code:
winuae.exe -f "%romfile%" -statefile="Savestates\%romname%.uss"
With this 3 "new" variables I think we will be able to cover all the emulators command line possibilities. It will not be so difficult to add this 3 variables which will be all automatically deducted from the <filename></filename> tags. The only change will be into the <args></args> tags of the emulator where the
%rom%,
%romfile% and
%romname% will be necessary.
As
TheHazel3yes suggest me today, another improvement to the advanced launcher could be the add of the possibility to start a command line prior to the launcher. I think I could add the new tag to the launcher that will contain the command line of the applications to start before the launchers. This tags value will be accessible using the launcher edition context menu. I could maybe also try to add a second tag to start a command line when the emulator closing (may be more difficult to manage).
In parallel, of those improvements, I think I will also start to write wiki pages concerning the configuration of the emulators and Advanced Launcher in collaboration with
malte the creator of the
Rom Collection Browser.
That's actually my reflexion about how we could improve the command line support of the Advanced Launcher. If you have any suggestion, idea comment concerning this future improvement, feel free to share it here.
Merry Christmas for All of You !!!!!!