Hard Light Productions Forums

Modding, Mission Design, and Coding => FS2 Open Coding - The Source Code Project (SCP) => Topic started by: Havner on March 03, 2010, 07:33:58 pm

Title: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Havner on March 03, 2010, 07:33:58 pm
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/windows
http://vega.livecd.pl/~havner/yal/windows-screenshots

Linux downloads:
http://vega.livecd.pl/~havner/yal/linux
http://vega.livecd.pl/~havner/yal/linux-screenshots

Quick 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 (http://www.hard-light.net/forums/index.php?topic=66064.0) but I get 403 on them.

Few screenies:
(http://vega.livecd.pl/~havner/yal/linux-screenshots/5audiojoy.png)(http://vega.livecd.pl/~havner/yal/linux-screenshots/8registry.png)(http://vega.livecd.pl/~havner/yal/windows-screenshots/6speech.png)(http://vega.livecd.pl/~havner/yal/windows-screenshots/4video.png)

Full readme:
Code: [Select]
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.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC1, fully functional for windows and linux
Post by: ni1s on March 03, 2010, 10:04:39 pm
Beautiful!  :yes:
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC1, fully functional for windows and linux
Post by: Tomo on March 04, 2010, 02:01:51 am
Qt can be compiled static so you don't need the redist under Windows - http://www.formortals.com/build-qt-static-small-microsoft-intel-gcc-compiler/
(If you're using plugins like Jpeg, you'll need to adjust the source to include them static as well.)

This is very cool - well done.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC1, fully functional for windows and linux
Post by: ni1s on March 04, 2010, 04:02:31 pm
Why the odd build script?
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC1, fully functional for windows and linux
Post by: Havner on March 04, 2010, 04:13:14 pm
Why the odd build script?

What's odd about it?

You can do it by hand:
$ qmake yal.pro
$ make release

The script just builds all launchers and checks for qt version (previously had one user that tried to compile it using qt3). Simpler then describing it to people. Unfortunately qmake is rather poor in terms of libs/environment checking and configure.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC1, fully functional for windows and linux
Post by: Armchair Commander on March 04, 2010, 05:38:58 pm
Compiled and it works great.  It's very convenient and really helps expedite the pregame setup on Linux; switching settings/mods is a breeze now.  Thanks for making and sharing!
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC1, fully functional for windows and linux
Post by: Goober5000 on March 05, 2010, 12:16:12 am
Whoa, excellent!  A massive thumbs up here.  I shall have to check it out.

One question.  Can you reimplement the radio buttons as tabs?
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC1, fully functional for windows and linux
Post by: Havner on March 05, 2010, 05:08:54 am
One question.  Can you reimplement the radio buttons as tabs?

You know, I'd like to and I wanted to do so. And I still can. Though there is a reason why I didn't  :)

Qt can't wrap tabs in more then one row. At least I didn't manage it to do so. When tabs don't fit scroll buttons appear and that's not a convenient for user. You don't see all the tabs on the screen and to get to the ones not visible you'd have to scroll. Basically it looks like this:

(http://vega.livecd.pl/~havner/yal/linux-experimental/htabs1.png)(http://vega.livecd.pl/~havner/yal/linux-experimental/htabs2.png)

Eventually something like that, but IMO that's not the best idea as well:

(http://vega.livecd.pl/~havner/yal/linux-experimental/vtabs1.png)

If someone has an idea though or managed to do such a trick in Qt I'd be more then happy to listen.

I googled a little bit for it (maybe something like that appeared in between 4.3 and 4.6 but it seems that generally people consider such wrapped tab bars as something evil. I supposed that was a design decision not to make them available in Qt.

[EDIT] What I could do though is make one tab bar inside another. (Nested ones for settings).

(http://vega.livecd.pl/~havner/yal/linux-experimental/nestedtabs1.png)(http://vega.livecd.pl/~havner/yal/linux-experimental/nestedtabs2.png)(http://vega.livecd.pl/~havner/yal/linux-experimental/nestedtabs3.png)

What do you think about all those propositions?
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: chief1983 on March 05, 2010, 09:37:24 am
The archives (http://lists.trolltech.com/qt-interest/2003-11/msg00161.html) seem to think it's a bad idea to have two tab rows anyway.  I've always tended to agree.  But, there is definitely some argument either way.  Since it's so difficult to implement though, maybe another solution would be better this time.  I'd get really confused by nested tabs that weren't actually nested.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Havner on March 05, 2010, 12:04:23 pm
I'd get really confused by nested tabs that weren't actually nested.

But the last proposition from my previous post, those are nested tabs. Truly nested.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: chief1983 on March 05, 2010, 01:38:07 pm
Ah.  That might work then.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Goober5000 on March 05, 2010, 09:42:03 pm
Qt
Argh.  I withdraw my previous enthusiasm. :(  We can't support, officially, a launcher that requires anything to be installed before it will run.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: The E on March 05, 2010, 09:56:18 pm
We've been over this before, and I still don't see why it's that bad. Provided he distributes the Launcher together with the dlls (Which, I remind you, are AFAIK only necessary on Windows), as in, the user CANNOT get the Launcher without getting the dlls as well, there is no problem.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: karajorma on March 05, 2010, 10:36:05 pm
I don't see what the problem is. This isn't really a launcher that will ever get used on Windows. The official SCP launcher does everything it does and we're likely to simply adopt kkmic and Iss Mneur's launcher as a replacement for all 3 platforms anyway.

So this is likely to only ever get used on Linux, which IIRC could use a launcher.


Now if it was getting used on Windows, then I'd have a problem. My only other issue is why we have so many independent launcher projects instead of pulling the coders working on them into the SCP and working on one solution.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Goober5000 on March 05, 2010, 10:59:04 pm
This one matches the GUI of the current official launcher, which is a major plus.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Havner on March 06, 2010, 06:22:23 am
Argh.  I withdraw my previous enthusiasm. :(  We can't support, officially, a launcher that requires anything to be installed before it will run.

And you can't write a portable launcher that matches your requirement. So you're simply requiring the impossible.

I don't see what the problem is. This isn't really a launcher that will ever get used on Windows. The official SCP launcher does everything it does

For now it does, but I'm planning on developing it further with implementing things that current launcher cannot do.

Now if it was getting used on Windows, then I'd have a problem.

And why you'd have one? Doesn't wxLauncher requires/installs additional dependency as well? wxWidgets?
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Tomo on March 06, 2010, 08:18:17 am
Qt
Argh.  I withdraw my previous enthusiasm. :(  We can't support, officially, a launcher that requires anything to be installed before it will run.
Qt applications do not have to require external DLLs, in exactly the same way as Microsoft Visual Studio applications do not have to require external DLLs.
Please put away that straw man, it's starting to get annoying.

I might remind all and sundry that applications built by Microsoft Visual Studio do in fact require external DLLs by default.
- You have to force Visual Studio to link msvc80 or whatever the latest variety of Visual Studio runtime is statically.

Compiling Qt static using a variety of compilers is given here:
http://www.formortals.com/build-qt-static-small-microsoft-intel-gcc-compiler/

- Oh, and Haynes, if you like I'll post a Static Win32 build to keep everyone happy.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Havner on March 06, 2010, 08:49:53 am
- Oh, and Haynes, if you like I'll post a Static Win32 build to keep everyone happy.

Yes, of course, be my guest. I don't like static builds cause they are big, and this one won't be an exception probably (QtCore and QtGui takes space), but still I wonder how big that would be in this particular case.

I'd assume that it's easier for people to download redist once and then download small binaries when project gets updated. But maybe I'm wrong here.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Tomo on March 06, 2010, 08:57:50 am
For what it's worth, I agree with you. However, I've heard that some of the SCP members got badly burned by OpenAL and so don't want any external dependencies.

(I prefer to use a real installer, but those tend to be paid-for and most of us can't justify the cash for that.)

Anyway, which compiler was used for the win_speech sapi.lib?
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Havner on March 06, 2010, 09:06:42 am
Anyway, which compiler was used for the win_speech sapi.lib?

I have no idea :-) I took it from official launcher and it linked properly using MinGW so I didn't look any further. I suppose it was a part of official Microsoft SAPI SDK.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Tomo on March 06, 2010, 01:41:58 pm
While I wait for my machine to finish compiling (yes, it's actually as old as FreeSpace 2), a few notes:

Take a look at the QSettings class - this handles INI files and the Registry transparently.

This class solves most of your Registry and Ini file woes, and doesn't need to be singleton - just instantiate it wherever you need to read or write the data.
Also, you only tweak the constructor to flip between INI file and Registry, so it's trivial to change later if/when parts of Win32 FS2 Open move to INI files.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Havner on March 06, 2010, 01:47:52 pm
Take a look at the QSettings class - this handles INI files and the Registry transparently.

Thanks, I know of this class, but at the point I was deciding whether to use it or not something came in the way, don't remember at this point what was that but maybe I should give it another shot. Lots of code from this launcher will be made prettier sooner or later. F.e. all those registry setters/getters are not really necessary, it will be made more generic. It was coded with a little fever and I wanted to make this thing working and relatively bug free. Revamp will come afterwards :-)
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Tomo on March 06, 2010, 02:19:15 pm
Ok, can't compile this with VC9 - it's very unhappy about a lot of stuff in Registry_win.cpp and System_win.cpp
(Odd that, usually mingw is more fussy than VC)

Annoyingly, I don't know how to convince mingw not to rely on mingwm10.dll and libgcc_s_dw2-1.dll
- If anyone knows hints to solve that it would be greatly appreciated.

I've put the mingw compilation on FreeSpaceMods.net, currently pending approval.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Havner on March 06, 2010, 02:21:09 pm
Ok, can't compile this with VC9 - it's very unhappy about a lot of stuff in Registry_win.cpp and System_win.cpp

PM me the output please.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Goober5000 on March 06, 2010, 02:43:03 pm
And why you'd have one? Doesn't wxLauncher requires/installs additional dependency as well? wxWidgets?
It's possible to embed the wxWidgets library inside the application.  So yes, it has an additional dependency, but that dependency does not come in the form of an additional install or an additional set of files.

If it is likewise possible to embed Qt inside an application, I'd love to see the resulting product.


For what it's worth, I agree with you. However, I've heard that some of the SCP members got badly burned by OpenAL and so don't want any external dependencies.
I agree too.  However, we've gotten so many support requests for help on the OpenAL problem that it's turned into a support nightmare.  So we've decided that external dependencies should be minimized.

And the MSVC redistributable doesn't qualify under this rule because it's included with Windows.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Havner on March 06, 2010, 03:07:10 pm
If it is likewise possible to embed Qt inside an application, I'd love to see the resulting product.

Of course it is, it's called a static library. Every program can be prepared that way.

And the MSVC redistributable doesn't qualify under this rule because it's included with Windows.

Is it? Because as far as I know visual studio got lots of redist versions, even within one compiler version. Have a look at C:\Windows\WinSxS.

Those all are MFC/ATL/stdc++ redists you got, and believe me, NOT all of them are included with windows. I'll tell you more. Not all of them are available as separate downloads from microsoft site. Some are only in security updates available if you got previous version installed. To backup what i say take this:

VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.4053

This is the latest VS80 redist. You can't download this redist from anyware but security updates through windows update. Image the hassle you get when you have this installed for VS2005 (it's in VS2005 SP1 ATL security update) and compile with it and your end user doesn't. People normally don't know those things because lots of programs they install put VS redists in various versions without even asking. But not all of them are included in windows.

(all of that is based on windows XP, I don't use newer versions but I'd suppose it's the same, the may have redists included, but only ones that were released prior to windows release).

@Tomo:
Got you output, it's becase of GNU extension I used, forgot that VC doesn't like it. You basically can't do something like this:

int n = 5;
char string[ n ];

I don't usually use that, but with Qt wchar to QString conversion where you can't specify your buffer size it's the fastest way to avoid buffer overflow. Simple change to new/delete will do.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Goober5000 on March 06, 2010, 03:09:23 pm
I don't know the vagaries of the VC redistributable deployment, but I can tell you that we've never had any support requests because of it.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: chief1983 on March 06, 2010, 04:06:00 pm
That's because MS is really good about getting it slipped in.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Havner on March 06, 2010, 04:39:13 pm
If it is likewise possible to embed Qt inside an application, I'd love to see the resulting product.

And I'd love to see you satisfied  :D

Full static build, no additional libraries required (even openal is optional). Additionally this build got tabs, the nested ones. Maybe now you're gonna tell me what you think about that idea.

The drawback is the size of that thing, but it won't be smaller if you'd statically link wxWidgets. That's the price for portable statically linked application.

EDIT: link modified, removed the GroupBox frames inside tabs (leftover from RadioButton version, cosmetic change):
http://vega.livecd.pl/~havner/yal/windows-experimental/yal-0.3-rcX-static-tabs2.zip
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Tomo on March 06, 2010, 05:48:36 pm
Great.

Runs here OK so far - well done!
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Goober5000 on March 06, 2010, 06:23:42 pm
Awesome. :)

I will test this out over the next few days.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Acegi on March 11, 2010, 08:34:29 am
I can't seem to run the launcher. Is there meant to be a special folder that you need to put it in? I'm using Arch Linux and I get this error:
Code: [Select]
QIconvCodec::convertFromUnicode: using ASCII for conversion, iconv_open failed
QIconvCodec::convertToUnicode: using ASCII for conversion, iconv_open failed
QGtkStyle was unable to detect the current GTK+ theme.
gamedir: /home/gamer/.fs2_open
launcher6.ini not found, select exec using browse button.
Can't load fs2_open.ini.

(process:12706): GLib-GObject-CRITICAL **: gtype.c:2458: initialization assertion failed, use IA__g_type_init() prior to this function

(process:12706): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed

(process:12706): GLib-GObject-CRITICAL **: gtype.c:2458: initialization assertion failed, use IA__g_type_init() prior to this function

(process:12706): GLib-GObject-CRITICAL **: gtype.c:2458: initialization assertion failed, use IA__g_type_init() prior to this function

(process:12706): GLib-GObject-CRITICAL **: gtype.c:2458: initialization assertion failed, use IA__g_type_init() prior to this function

(process:12706): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion `G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(process:12706): GLib-GObject-CRITICAL **: gtype.c:2458: initialization assertion failed, use IA__g_type_init() prior to this function

(process:12706): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion `G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(process:12706): Gtk-CRITICAL **: gtk_widget_style_get: assertion `GTK_IS_WIDGET (widget)' failed
I moved the launcher to the same folder with "fs2_open.ini" but it still has the exact same errors.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Havner on March 11, 2010, 09:28:00 am
Those messages about launcher6.ini and fs2_open.ini are just for information. those files are not required to run launcher, they will be created on save. YAL needs to be in the game dir, dir where you got your game binary and data folder. But still it should run from any folder, just won't be able to find a game.

Does the GUI window show for you at all?

What seems strange are those GTK messages. I suppose that you got some gtk engine set as QT style. And it can't find current gtk style, still tries to load gtk.

Run qtconfig and select some more basic QT style, like plastique or cleanlooks and try then. At least we'd see what's at fault here.

What's your QT version? It's strange that QT would be compiled without iconv. And did you build YAL from source or used the binary version? If it's the latter try to build it yourself.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Acegi on March 12, 2010, 11:42:20 pm
The GUI window is shown but it has no buttons or tab pages at all. It's essentially blank. I am using 64bit but that shouldn't matter.

I compiled it myself and it loads fine now. Thanks for the advice!
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: sully on April 26, 2010, 07:08:19 pm
Hello There.

When I try and compile YAL, I don't end up with any launcher file in the bin folder. I've double checked that I've got all dependencies installed, (Ubuntu 8.10), and have read all the readme files that I possibily can.

any help with this would be greatly appreciated.  

this is what comes up on my terminal...

Code: [Select]
src/unix/System_unix.cpp:86: error: ‘SDL_ListModes’ was not declared in this scope
src/unix/System_unix.cpp:107: error: ‘SDL_INIT_VIDEO’ was not declared in this scope
src/unix/System_unix.cpp:107: error: ‘SDL_QuitSubSystem’ was not declared in this scope
src/unix/System_unix.cpp: In static member function ‘static QStringList System::enumerateAudioDevices()’:
src/unix/System_unix.cpp:129: error: ‘ALC_DEVICE_SPECIFIER’ was not declared in this scope
src/unix/System_unix.cpp:129: error: ‘alcGetString’ was not declared in this scope
src/unix/System_unix.cpp: In static member function ‘static QStringList System::enumerateJoystickDevices()’:
src/unix/System_unix.cpp:156: error: ‘SDL_INIT_JOYSTICK’ was not declared in this scope
src/unix/System_unix.cpp:156: error: ‘SDL_InitSubSystem’ was not declared in this scope
src/unix/System_unix.cpp:159: error: ‘SDL_NumJoysticks’ was not declared in this scope
src/unix/System_unix.cpp:165: error: ‘SDL_JoystickName’ was not declared in this scope
src/unix/System_unix.cpp:168: error: ‘SDL_INIT_JOYSTICK’ was not declared in this scope
src/unix/System_unix.cpp:168: error: ‘SDL_QuitSubSystem’ was not declared in this scope
make[1]: *** [release/System_unix.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory `/home/administrator/yal/trunk'
make: *** [release] Error 2
make -f Makefile.Release clean
make[1]: Entering directory `/home/administrator/yal/trunk'
rm -f release/moc_MainWindow.cpp release/moc_MyCheckBox.cpp release/moc_MyCheckBoxList.cpp release/moc_MyLabelAA.cpp release/moc_MyLabelAF.cpp release/moc_TabWelcome.cpp release/moc_TabFeatures.cpp release/moc_TabMod.cpp release/moc_TabVideo.cpp release/moc_TabAudioJoy.cpp release/moc_TabSpeech.cpp release/moc_TabNetwork.cpp release/moc_TabRegistry.cpp
rm -f release/qrc_res_common.cpp release/qrc_res_tbp.cpp
rm -f ui_MainWindow.h ui_TabWelcome.h ui_TabFeatures.h ui_TabMod.h ui_TabVideo.h ui_TabAudioJoy.h ui_TabSpeech.h ui_TabNetwork.h ui_TabRegistry.h
rm -f release/main.o release/FilePaths.o release/Registry.o release/System.o release/Settings.o release/IniParser.o release/GameInfo.o release/MainWindow.o release/MyCheckBox.o release/MyCheckBoxList.o release/MyDialogSelectMod.o release/MyLabelAA.o release/MyLabelAF.o release/TabWelcome.o release/TabFeatures.o release/TabMod.o release/TabVideo.o release/TabAudioJoy.o release/TabSpeech.o release/TabNetwork.o release/TabRegistry.o release/FilePaths_unix.o release/Registry_unix.o release/System_unix.o release/moc_MainWindow.o release/moc_MyCheckBox.o release/moc_MyCheckBoxList.o release/moc_MyLabelAA.o release/moc_MyLabelAF.o release/moc_TabWelcome.o release/moc_TabFeatures.o release/moc_TabMod.o release/moc_TabVideo.o release/moc_TabAudioJoy.o release/moc_TabSpeech.o release/moc_TabNetwork.o release/moc_TabRegistry.o release/qrc_res_common.o release/qrc_res_tbp.o
rm -f *~ core *.core
make[1]: Leaving directory `/home/administrator/yal/trunk'
make -f Makefile.Debug clean
make[1]: Entering directory `/home/administrator/yal/trunk'
rm -f debug/moc_MainWindow.cpp debug/moc_MyCheckBox.cpp debug/moc_MyCheckBoxList.cpp debug/moc_MyLabelAA.cpp debug/moc_MyLabelAF.cpp debug/moc_TabWelcome.cpp debug/moc_TabFeatures.cpp debug/moc_TabMod.cpp debug/moc_TabVideo.cpp debug/moc_TabAudioJoy.cpp debug/moc_TabSpeech.cpp debug/moc_TabNetwork.cpp debug/moc_TabRegistry.cpp
rm -f debug/qrc_res_common.cpp debug/qrc_res_tbp.cpp
rm -f ui_MainWindow.h ui_TabWelcome.h ui_TabFeatures.h ui_TabMod.h ui_TabVideo.h ui_TabAudioJoy.h ui_TabSpeech.h ui_TabNetwork.h ui_TabRegistry.h
rm -f debug/main.o debug/FilePaths.o debug/Registry.o debug/System.o debug/Settings.o debug/IniParser.o debug/GameInfo.o debug/MainWindow.o debug/MyCheckBox.o debug/MyCheckBoxList.o debug/MyDialogSelectMod.o debug/MyLabelAA.o debug/MyLabelAF.o debug/TabWelcome.o debug/TabFeatures.o debug/TabMod.o debug/TabVideo.o debug/TabAudioJoy.o debug/TabSpeech.o debug/TabNetwork.o debug/TabRegistry.o debug/FilePaths_unix.o debug/Registry_unix.o debug/System_unix.o debug/moc_MainWindow.o debug/moc_MyCheckBox.o debug/moc_MyCheckBoxList.o debug/moc_MyLabelAA.o debug/moc_MyLabelAF.o debug/moc_TabWelcome.o debug/moc_TabFeatures.o debug/moc_TabMod.o debug/moc_TabVideo.o debug/moc_TabAudioJoy.o debug/moc_TabSpeech.o debug/moc_TabNetwork.o debug/moc_TabRegistry.o debug/qrc_res_common.o debug/qrc_res_tbp.o
rm -f *~ core *.core
make[1]: Leaving directory `/home/administrator/yal/trunk'
You can run 'make release' now.
make -f Makefile.Release
make[1]: Entering directory `/home/administrator/yal/trunk'
/usr/bin/uic-qt4 ui/MainWindow.ui -o ui_MainWindow.h
/usr/bin/uic-qt4 ui/TabWelcome.ui -o ui_TabWelcome.h
/usr/bin/uic-qt4 ui/TabFeatures.ui -o ui_TabFeatures.h
/usr/bin/uic-qt4 ui/TabMod.ui -o ui_TabMod.h
/usr/bin/uic-qt4 ui/TabVideo.ui -o ui_TabVideo.h
/usr/bin/uic-qt4 ui/TabAudioJoy.ui -o ui_TabAudioJoy.h
/usr/bin/uic-qt4 ui/TabSpeech.ui -o ui_TabSpeech.h
/usr/bin/uic-qt4 ui/TabNetwork.ui -o ui_TabNetwork.h
/usr/bin/uic-qt4 ui/TabRegistry.ui -o ui_TabRegistry.h
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DWCSAGA -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/main.o src/main.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DWCSAGA -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/FilePaths.o src/FilePaths.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DWCSAGA -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/Registry.o src/Registry.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DWCSAGA -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/System.o src/System.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DWCSAGA -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/Settings.o src/Settings.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DWCSAGA -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/IniParser.o src/IniParser.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DWCSAGA -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/GameInfo.o src/GameInfo.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DWCSAGA -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/MainWindow.o src/gui/MainWindow.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DWCSAGA -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/MyCheckBox.o src/gui/MyCheckBox.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DWCSAGA -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/MyCheckBoxList.o src/gui/MyCheckBoxList.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DWCSAGA -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/MyDialogSelectMod.o src/gui/MyDialogSelectMod.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DWCSAGA -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/MyLabelAA.o src/gui/MyLabelAA.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DWCSAGA -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/MyLabelAF.o src/gui/MyLabelAF.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DWCSAGA -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/TabWelcome.o src/gui/TabWelcome.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DWCSAGA -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/TabFeatures.o src/gui/TabFeatures.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DWCSAGA -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/TabMod.o src/gui/TabMod.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DWCSAGA -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/TabVideo.o src/gui/TabVideo.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DWCSAGA -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/TabAudioJoy.o src/gui/TabAudioJoy.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DWCSAGA -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/TabSpeech.o src/gui/TabSpeech.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DWCSAGA -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/TabNetwork.o src/gui/TabNetwork.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DWCSAGA -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/TabRegistry.o src/gui/TabRegistry.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DWCSAGA -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/FilePaths_unix.o src/unix/FilePaths_unix.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DWCSAGA -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/Registry_unix.o src/unix/Registry_unix.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DWCSAGA -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/System_unix.o src/unix/System_unix.cpp
src/unix/System_unix.cpp:9:20: error: AL/alc.h: No such file or directory
src/unix/System_unix.cpp:10:21: error: SDL/SDL.h: No such file or directory
src/unix/System_unix.cpp: In static member function ‘static QStringList System::enumerateResolutions()’:
src/unix/System_unix.cpp:82: error: ‘SDL_INIT_VIDEO’ was not declared in this scope
src/unix/System_unix.cpp:82: error: ‘SDL_InitSubSystem’ was not declared in this scope
src/unix/System_unix.cpp:86: error: ‘SDL_Rect’ was not declared in this scope
src/unix/System_unix.cpp:86: error: ‘modes’ was not declared in this scope
src/unix/System_unix.cpp:86: error: ‘SDL_FULLSCREEN’ was not declared in this scope
src/unix/System_unix.cpp:86: error: ‘SDL_HWSURFACE’ was not declared in this scope
src/unix/System_unix.cpp:86: error: ‘SDL_ListModes’ was not declared in this scope
src/unix/System_unix.cpp:107: error: ‘SDL_INIT_VIDEO’ was not declared in this scope
src/unix/System_unix.cpp:107: error: ‘SDL_QuitSubSystem’ was not declared in this scope
src/unix/System_unix.cpp: In static member function ‘static QStringList System::enumerateAudioDevices()’:
src/unix/System_unix.cpp:129: error: ‘ALC_DEVICE_SPECIFIER’ was not declared in this scope
src/unix/System_unix.cpp:129: error: ‘alcGetString’ was not declared in this scope
src/unix/System_unix.cpp: In static member function ‘static QStringList System::enumerateJoystickDevices()’:
src/unix/System_unix.cpp:156: error: ‘SDL_INIT_JOYSTICK’ was not declared in this scope
src/unix/System_unix.cpp:156: error: ‘SDL_InitSubSystem’ was not declared in this scope
src/unix/System_unix.cpp:159: error: ‘SDL_NumJoysticks’ was not declared in this scope
src/unix/System_unix.cpp:165: error: ‘SDL_JoystickName’ was not declared in this scope
src/unix/System_unix.cpp:168: error: ‘SDL_INIT_JOYSTICK’ was not declared in this scope
src/unix/System_unix.cpp:168: error: ‘SDL_QuitSubSystem’ was not declared in this scope
make[1]: *** [release/System_unix.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory `/home/administrator/yal/trunk'
make: *** [release] Error 2
make -f Makefile.Release clean
make[1]: Entering directory `/home/administrator/yal/trunk'
rm -f release/moc_MainWindow.cpp release/moc_MyCheckBox.cpp release/moc_MyCheckBoxList.cpp release/moc_MyLabelAA.cpp release/moc_MyLabelAF.cpp release/moc_TabWelcome.cpp release/moc_TabFeatures.cpp release/moc_TabMod.cpp release/moc_TabVideo.cpp release/moc_TabAudioJoy.cpp release/moc_TabSpeech.cpp release/moc_TabNetwork.cpp release/moc_TabRegistry.cpp
rm -f release/qrc_res_common.cpp release/qrc_res_wcsaga.cpp
rm -f ui_MainWindow.h ui_TabWelcome.h ui_TabFeatures.h ui_TabMod.h ui_TabVideo.h ui_TabAudioJoy.h ui_TabSpeech.h ui_TabNetwork.h ui_TabRegistry.h
rm -f release/main.o release/FilePaths.o release/Registry.o release/System.o release/Settings.o release/IniParser.o release/GameInfo.o release/MainWindow.o release/MyCheckBox.o release/MyCheckBoxList.o release/MyDialogSelectMod.o release/MyLabelAA.o release/MyLabelAF.o release/TabWelcome.o release/TabFeatures.o release/TabMod.o release/TabVideo.o release/TabAudioJoy.o release/TabSpeech.o release/TabNetwork.o release/TabRegistry.o release/FilePaths_unix.o release/Registry_unix.o release/System_unix.o release/moc_MainWindow.o release/moc_MyCheckBox.o release/moc_MyCheckBoxList.o release/moc_MyLabelAA.o release/moc_MyLabelAF.o release/moc_TabWelcome.o release/moc_TabFeatures.o release/moc_TabMod.o release/moc_TabVideo.o release/moc_TabAudioJoy.o release/moc_TabSpeech.o release/moc_TabNetwork.o release/moc_TabRegistry.o release/qrc_res_common.o release/qrc_res_wcsaga.o
rm -f *~ core *.core
make[1]: Leaving directory `/home/administrator/yal/trunk'
make -f Makefile.Debug clean
make[1]: Entering directory `/home/administrator/yal/trunk'
rm -f debug/moc_MainWindow.cpp debug/moc_MyCheckBox.cpp debug/moc_MyCheckBoxList.cpp debug/moc_MyLabelAA.cpp debug/moc_MyLabelAF.cpp debug/moc_TabWelcome.cpp debug/moc_TabFeatures.cpp debug/moc_TabMod.cpp debug/moc_TabVideo.cpp debug/moc_TabAudioJoy.cpp debug/moc_TabSpeech.cpp debug/moc_TabNetwork.cpp debug/moc_TabRegistry.cpp
rm -f debug/qrc_res_common.cpp debug/qrc_res_wcsaga.cpp
rm -f ui_MainWindow.h ui_TabWelcome.h ui_TabFeatures.h ui_TabMod.h ui_TabVideo.h ui_TabAudioJoy.h ui_TabSpeech.h ui_TabNetwork.h ui_TabRegistry.h
rm -f debug/main.o debug/FilePaths.o debug/Registry.o debug/System.o debug/Settings.o debug/IniParser.o debug/GameInfo.o debug/MainWindow.o debug/MyCheckBox.o debug/MyCheckBoxList.o debug/MyDialogSelectMod.o debug/MyLabelAA.o debug/MyLabelAF.o debug/TabWelcome.o debug/TabFeatures.o debug/TabMod.o debug/TabVideo.o debug/TabAudioJoy.o debug/TabSpeech.o debug/TabNetwork.o debug/TabRegistry.o debug/FilePaths_unix.o debug/Registry_unix.o debug/System_unix.o debug/moc_MainWindow.o debug/moc_MyCheckBox.o debug/moc_MyCheckBoxList.o debug/moc_MyLabelAA.o debug/moc_MyLabelAF.o debug/moc_TabWelcome.o debug/moc_TabFeatures.o debug/moc_TabMod.o debug/moc_TabVideo.o debug/moc_TabAudioJoy.o debug/moc_TabSpeech.o debug/moc_TabNetwork.o debug/moc_TabRegistry.o debug/qrc_res_common.o debug/qrc_res_wcsaga.o
rm -f *~ core *.core
make[1]: Leaving directory `/home/administrator/yal/trunk'
You can run 'make release' now.
make -f Makefile.Release
make[1]: Entering directory `/home/administrator/yal/trunk'
/usr/bin/uic-qt4 ui/MainWindow.ui -o ui_MainWindow.h
/usr/bin/uic-qt4 ui/TabWelcome.ui -o ui_TabWelcome.h
/usr/bin/uic-qt4 ui/TabFeatures.ui -o ui_TabFeatures.h
/usr/bin/uic-qt4 ui/TabMod.ui -o ui_TabMod.h
/usr/bin/uic-qt4 ui/TabVideo.ui -o ui_TabVideo.h
/usr/bin/uic-qt4 ui/TabAudioJoy.ui -o ui_TabAudioJoy.h
/usr/bin/uic-qt4 ui/TabSpeech.ui -o ui_TabSpeech.h
/usr/bin/uic-qt4 ui/TabNetwork.ui -o ui_TabNetwork.h
/usr/bin/uic-qt4 ui/TabRegistry.ui -o ui_TabRegistry.h
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/main.o src/main.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/FilePaths.o src/FilePaths.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/Registry.o src/Registry.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/System.o src/System.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/Settings.o src/Settings.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/IniParser.o src/IniParser.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/GameInfo.o src/GameInfo.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/MainWindow.o src/gui/MainWindow.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/MyCheckBox.o src/gui/MyCheckBox.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/MyCheckBoxList.o src/gui/MyCheckBoxList.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/MyDialogSelectMod.o src/gui/MyDialogSelectMod.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/MyLabelAA.o src/gui/MyLabelAA.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/MyLabelAF.o src/gui/MyLabelAF.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/TabWelcome.o src/gui/TabWelcome.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/TabFeatures.o src/gui/TabFeatures.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/TabMod.o src/gui/TabMod.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/TabVideo.o src/gui/TabVideo.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/TabAudioJoy.o src/gui/TabAudioJoy.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/TabSpeech.o src/gui/TabSpeech.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/TabNetwork.o src/gui/TabNetwork.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/TabRegistry.o src/gui/TabRegistry.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/FilePaths_unix.o src/unix/FilePaths_unix.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/Registry_unix.o src/unix/Registry_unix.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. -o release/System_unix.o src/unix/System_unix.cpp
src/unix/System_unix.cpp:9:20: error: AL/alc.h: No such file or directory
src/unix/System_unix.cpp:10:21: error: SDL/SDL.h: No such file or directory
/usr/bin/moc-qt4 -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. src/gui/MainWindow.h -o release/moc_MainWindow.cpp
/usr/bin/moc-qt4 -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. src/gui/MyCheckBox.h -o release/moc_MyCheckBox.cpp
/usr/bin/moc-qt4 -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. src/gui/MyCheckBoxList.h -o release/moc_MyCheckBoxList.cpp
src/unix/System_unix.cpp: In static member function ‘static QStringList System::enumerateResolutions()’:
src/unix/System_unix.cpp:82: error: ‘SDL_INIT_VIDEO’ was not declared in this scope
src/unix/System_unix.cpp:82: error: ‘SDL_InitSubSystem’ was not declared in this scope
src/unix/System_unix.cpp:86: error: ‘SDL_Rect’ was not declared in this scope
src/unix/System_unix.cpp:86: error: ‘modes’ was not declared in this scope
src/unix/System_unix.cpp:86: error: ‘SDL_FULLSCREEN’ was not declared in this scope
src/unix/System_unix.cpp:86: error: ‘SDL_HWSURFACE’ was not declared in this scope
src/unix/System_unix.cpp:86: error: ‘SDL_ListModes’ was not declared in this scope
src/unix/System_unix.cpp:107: error: ‘SDL_INIT_VIDEO’ was not declared in this scope
src/unix/System_unix.cpp:107: error: ‘SDL_QuitSubSystem’ was not declared in this scope
src/unix/System_unix.cpp: In static member function ‘static QStringList System::enumerateAudioDevices()’:
src/unix/System_unix.cpp:129: error: ‘ALC_DEVICE_SPECIFIER’ was not declared in this scope
src/unix/System_unix.cpp:129: error: ‘alcGetString’ was not declared in this scope
src/unix/System_unix.cpp: In static member function ‘static QStringList System::enumerateJoystickDevices()’:
src/unix/System_unix.cpp:156: error: ‘SDL_INIT_JOYSTICK’ was not declared in this scope
src/unix/System_unix.cpp:156: error: ‘SDL_InitSubSystem’ was not declared in this scope
src/unix/System_unix.cpp:159: error: ‘SDL_NumJoysticks’ was not declared in this scope
src/unix/System_unix.cpp:165: error: ‘SDL_JoystickName’ was not declared in this scope
src/unix/System_unix.cpp:168: error: ‘SDL_INIT_JOYSTICK’ was not declared in this scope
src/unix/System_unix.cpp:168: error: ‘SDL_QuitSubSystem’ was not declared in this scope
/usr/bin/moc-qt4 -D_GNU_SOURCE=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/gui -Irelease -I. src/gui/MyLabelAA.h -o release/moc_MyLabelAA.cpp
make[1]: *** [release/System_unix.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory `/home/administrator/yal/trunk'
make: *** [release] Error 2
make -f Makefile.Release clean
make[1]: Entering directory `/home/administrator/yal/trunk'
rm -f release/moc_MainWindow.cpp release/moc_MyCheckBox.cpp release/moc_MyCheckBoxList.cpp release/moc_MyLabelAA.cpp release/moc_MyLabelAF.cpp release/moc_TabWelcome.cpp release/moc_TabFeatures.cpp release/moc_TabMod.cpp release/moc_TabVideo.cpp release/moc_TabAudioJoy.cpp release/moc_TabSpeech.cpp release/moc_TabNetwork.cpp release/moc_TabRegistry.cpp
rm -f release/qrc_res_common.cpp release/qrc_res_fs2_open.cpp
rm -f ui_MainWindow.h ui_TabWelcome.h ui_TabFeatures.h ui_TabMod.h ui_TabVideo.h ui_TabAudioJoy.h ui_TabSpeech.h ui_TabNetwork.h ui_TabRegistry.h
rm -f release/main.o release/FilePaths.o release/Registry.o release/System.o release/Settings.o release/IniParser.o release/GameInfo.o release/MainWindow.o release/MyCheckBox.o release/MyCheckBoxList.o release/MyDialogSelectMod.o release/MyLabelAA.o release/MyLabelAF.o release/TabWelcome.o release/TabFeatures.o release/TabMod.o release/TabVideo.o release/TabAudioJoy.o release/TabSpeech.o release/TabNetwork.o release/TabRegistry.o release/FilePaths_unix.o release/Registry_unix.o release/System_unix.o release/moc_MainWindow.o release/moc_MyCheckBox.o release/moc_MyCheckBoxList.o release/moc_MyLabelAA.o release/moc_MyLabelAF.o release/moc_TabWelcome.o release/moc_TabFeatures.o release/moc_TabMod.o release/moc_TabVideo.o release/moc_TabAudioJoy.o release/moc_TabSpeech.o release/moc_TabNetwork.o release/moc_TabRegistry.o release/qrc_res_common.o release/qrc_res_fs2_open.o
rm -f *~ core *.core
make[1]: Leaving directory `/home/administrator/yal/trunk'
make -f Makefile.Debug clean
make[1]: Entering directory `/home/administrator/yal/trunk'
rm -f debug/moc_MainWindow.cpp debug/moc_MyCheckBox.cpp debug/moc_MyCheckBoxList.cpp debug/moc_MyLabelAA.cpp debug/moc_MyLabelAF.cpp debug/moc_TabWelcome.cpp debug/moc_TabFeatures.cpp debug/moc_TabMod.cpp debug/moc_TabVideo.cpp debug/moc_TabAudioJoy.cpp debug/moc_TabSpeech.cpp debug/moc_TabNetwork.cpp debug/moc_TabRegistry.cpp
rm -f debug/qrc_res_common.cpp debug/qrc_res_fs2_open.cpp
rm -f ui_MainWindow.h ui_TabWelcome.h ui_TabFeatures.h ui_TabMod.h ui_TabVideo.h ui_TabAudioJoy.h ui_TabSpeech.h ui_TabNetwork.h ui_TabRegistry.h
rm -f debug/main.o debug/FilePaths.o debug/Registry.o debug/System.o debug/Settings.o debug/IniParser.o debug/GameInfo.o debug/MainWindow.o debug/MyCheckBox.o debug/MyCheckBoxList.o debug/MyDialogSelectMod.o debug/MyLabelAA.o debug/MyLabelAF.o debug/TabWelcome.o debug/TabFeatures.o debug/TabMod.o debug/TabVideo.o debug/TabAudioJoy.o debug/TabSpeech.o debug/TabNetwork.o debug/TabRegistry.o debug/FilePaths_unix.o debug/Registry_unix.o debug/System_unix.o debug/moc_MainWindow.o debug/moc_MyCheckBox.o debug/moc_MyCheckBoxList.o debug/moc_MyLabelAA.o debug/moc_MyLabelAF.o debug/moc_TabWelcome.o debug/moc_TabFeatures.o debug/moc_TabMod.o debug/moc_TabVideo.o debug/moc_TabAudioJoy.o debug/moc_TabSpeech.o debug/moc_TabNetwork.o debug/moc_TabRegistry.o debug/qrc_res_common.o debug/qrc_res_fs2_open.o
rm -f *~ core *.core
make[1]: Leaving directory `/home/administrator/yal/trunk'
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Havner on April 26, 2010, 07:21:02 pm
It can't find SDL and OpenAL header files. Do you have sdl/openal devel packages installed?

If so, do you have /usr/include/SDL and /usr/include/AL dirs?
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: RedDwarf on May 22, 2010, 10:47:27 am
Patch to open URLs with the user's preferred application on Unix (http://portland.freedesktop.org/xdg-utils-1.0/xdg-open.html)
Code: [Select]
--- src/unix/System_unix.cpp.orig
+++ src/unix/System_unix.cpp
@@ -11,7 +11,7 @@
 
 #include "System.h"
 
-#define BROWSERCMD "browser"
+#define BROWSERCMD "xdg-open"
 
 /********************************** MISC **********************************/
 


Patch to not show resolutions that aren't 4/3 on Unix
Code: [Select]
--- src/unix/System_unix.cpp.orig
+++ src/unix/System_unix.cpp
@@ -99,6 +99,8 @@ QStringList System::enumerateResolutions
  continue;
  if( modes[ i ]->h < 480 )
  continue;
+ if( modes[ i ]->w != 4 * modes[ i ]->h / 3 )
+ continue;
 
  qstrl.append( QString( "%1x%2" ).arg( modes[ i ]->w ).arg( modes[ i ]->h ) );
  }

Packaged for openSUSE in the home:RedDwarf OBS repository (http://download.opensuse.org/repositories/home:/RedDwarf/). But it's also patched to:
- First search fs2_open in /usr/bin. If isn't found continue as always.
- If $PWD has a root_fs2.vp or Root_fs2.vp file use it as gamedir. Otherwise use /usr/share/fs2_open as gamedir. Meaning:
Code: [Select]
--- src/Settings.cpp.orig
+++ src/Settings.cpp
@@ -26,8 +26,13 @@ bool Settings::initialize()
  {
  if( ! ipLauncher6.loadIni( FILEPATHS.getGameLauncherIni() ) )
  {
- qWarning( "launcher6.ini not found, select exec using browse button." );
- return false;
+ if( ! QFile::exists( FS2EXEC_PATH ) )
+ {
+ qWarning( "launcher6.ini not found, select exec using browse button." );
+ return false;
+ } else {
+ return setExeFilePath( FS2EXEC_PATH );
+ }
  }
  }
 
@@ -39,15 +44,6 @@ bool Settings::setExeFilePath( const QSt
 {
  QString qstrExe = QFileInfo( qstrExeFilePath ).canonicalFilePath();
 
- /* check if the exe is in our game dir */
- if( QFileInfo( qstrExe ).exists() && QFileInfo( qstrExe ).path() != FILEPATHS.getGameDir() )
- {
- System::warning( "The launcher must be in the same directory as the binary you are trying to use. Trying to find binary in the launcher directory instead." );
-
- /* try to find it in our current dir */
- qstrExe = FILEPATHS.getGameDir() + '/' + QFileInfo( qstrExeFilePath ).fileName();
- }
-
  /*
  * the following should never happen as we select file by file
  * dialog, the only option is to modify launcher6.ini by hand
--- src/unix/FilePaths_unix.cpp.orig
+++ src/unix/FilePaths_unix.cpp
@@ -20,28 +20,10 @@
 
 bool FilePaths::initialize( const QString & qstrArgv0 )
 {
- QFileInfo qfiPath = qstrArgv0;
-
- /* launcher was run by giving a path to the executable */
- if( qfiPath.exists() )
- m_qstrGameDir = qfiPath.canonicalPath();
-
- /* launcher was run by PATH, we need to find it to read symlink */
+ if( QFile::exists("root_fs2.vp") || QFile::exists("Root_fs2.vp"))
+ m_qstrGameDir = QDir::currentPath();
  else
- {
- QString qstrPathEnv = getenv( "PATH" );
- QStringList qstrlPaths = qstrPathEnv.split( ":", QString::SkipEmptyParts );
-
- for( int i = 0; i < qstrlPaths.size(); i++ )
- {
- QString qstrPath = qstrlPaths.at( i );
- qstrPath.append( "/" ).append( qstrArgv0 );
- qfiPath = qstrPath;
-
- if( qfiPath.exists() )
- m_qstrGameDir = qfiPath.canonicalPath();
- }
- }
+ m_qstrGameDir = GAMEDIR_PATH;
 
  qWarning( "gamedir: %s", m_qstrGameDir.toAscii().data() );
 
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Havner on May 22, 2010, 10:55:18 am
Patch to open URLs with the user's preferred application on Unix (http://portland.freedesktop.org/xdg-utils-1.0/xdg-open.html)

Good catch, thanks, never though of that.

Quote
Patch to not show resolutions that aren't 4/3 on Unix

Can't included that, non 4/3 resolutions maybe are not looking best but they work, interface is stretched but 3D is not. I'm using one myself. I don't see a reason why user couldn't select that.

Quote
Packaged for openSUSE in the home:RedDwarf OBS repository (http://download.opensuse.org/repositories/home:/RedDwarf/). But it's also patched to:
- First search fs2_open in /usr/bin. If isn't found continue as always.
- If $PWD has a root_fs2.vp or Root_fs2.vp file use it as gamedir. Otherwise use /usr/share/fs2_open as gamedir. Meaning:

Thanks for suse rpm.

About the patch it was never meant to run fs2_open in an unix matter (data in shared, binary in bin) because I actually never though that someone is packaging fs2_open in such manner. You're the second person pointing me such solution during last week. Definitely will patch it one way or another to support such solution.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: chief1983 on May 22, 2010, 10:58:32 am
Actually setting up the dir structure like that is something I didn't think would work yet.  That's interesting if it does already.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Havner on May 22, 2010, 11:08:11 am
Actually setting up the dir structure like that is something I didn't think would work yet.  That's interesting if it does already.

You know, I had another user that pointed me to a structure where data dir (main fs2_open files) are in a completely different dir then some mods (or at least that's the way I understood it). Didn't sit to it yet but I hope i will soon testing what can work and what can't and update yal accordingly to support all those solutions.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: RedDwarf on May 22, 2010, 11:22:18 am
Can't included that, non 4/3 resolutions maybe are not looking best but they work, interface is stretched but 3D is not. I'm using one myself. I don't see a reason why user couldn't select that.
I just started it, saw the bad interface, and remembered I read somewhere non-4/3 resolutions were broken. Never really tried to start a mission. It seems the HUD is also distorsioned but everything else works fine. I will remove it.


About the patch it was never meant to run fs2_open in an unix matter (data in shared, binary in bin) because I actually never though that someone is packaging fs2_open in such manner. You're the second person pointing me such solution during last week. Definitely will patch it one way or another to support such solution.
Actually setting up the dir structure like that is something I didn't think would work yet.  That's interesting if it does already.
It works if:
- You start fs2_open being in /usr/share/fs2_open
Not pretty. But users are supposed to start it from a menu entry (or a launcher) anyway, not from console. And the .desktop format of menu entries allows to specify the PWD ("Path" entry from http://standards.freedesktop.org/desktop-entry-spec/latest/ar01s05.html)
- You make a even uglier patch (https://build.opensuse.org/package/view_file?file=fs2_open-datapath.patch&package=fs2_open&project=home%3ARedDwarf%3Anonosi) to fs2_open itself so it calls chdir(DATADIR) at start.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Iss Mneur on May 22, 2010, 11:27:48 am
Actually setting up the dir structure like that is something I didn't think would work yet.  That's interesting if it does already.

You know, I had another user that pointed me to a structure where data dir (main fs2_open files) are in a completely different dir then some mods. Didn't sit to it yet but I hope i will soon testing what can work and what can't and update yal accordingly to support all those solutions.

fs2_open honours the current working directory on linux and OSX so splitting the binary and the game data is trivial to do. 

Unfortunately, windows binaries force the current working directory to be the directory that the binary itself is in.  As such, splitting the binary and game data on windows is currently impossible. 

Specifically why this is done only on windows, I have no idea, though I assume it was a work around for badly setup shortcuts or the launcher not changing working directories. That is, the shortcut on windows did not set the working directory (which it doesn't by default) to the location of the binary, but instead set the working directory to the directory that the shortcut is in (this is default behaviour if the shortcut does not specify "Start in:" in the shortcut properties window).  It could also a result of the windows launcher not changing the working directory correctly when launching fs2_open (ie. it is the launcher's shortcut that was messed up (because fs doesn't have a shortcut by default)).

As a side note, fred2_open is also affected by this, and a believe that the windows launcher is does the same thing (uses the location of the binary as the place to look for the fs2_open binary to run).

This is a "feature" that I plan on fixing as part of my patchsets for fs2_open interoperability with wxLauncher.

Because this was posted while I was writing:
- You make a even uglier patch (https://build.opensuse.org/package/view_file?file=fs2_open-datapath.patch&package=fs2_open&project=home%3ARedDwarf%3Anonosi) to fs2_open itself so it calls chdir(DATADIR) at start.

This is not actually necessary, as cfile (the fs2_open resource loader) is more than capable of loading from an arbitrary directory it just doesn't, nor is their a way to tell fs2_open where its data dir is.

Also, that "hack" will fail horribly on windows, as cmdline.cpp code is called exactly the same on all platforms.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Havner on May 22, 2010, 11:28:48 am
It works if:
- You start fs2_open being in /usr/share/fs2_open
Not pretty. But users are supposed to start it from a menu entry (or a launcher) anyway, not from console. And the .desktop format of menu entries allows to specify the PWD ("Path" entry from http://standards.freedesktop.org/desktop-entry-spec/latest/ar01s05.html)

That I know but wouldn't like to rely on .desktop file here.

Quote
- You make a even uglier patch (https://build.opensuse.org/package/view_file?file=fs2_open-datapath.patch&package=fs2_open&project=home%3ARedDwarf%3Anonosi) to fs2_open itself so it calls chdir(DATADIR) at start.

Didn't check the original code of fs2_open here but if it doesn't change pwd itself yal does that:

Code: [Select]
void MainWindow::on_qpbRun_clicked()
{
    on_qpbApply_clicked();

    /* if GAMEDIR is currentPath this does nothing, so its safe */
    System::chDir( FILEPATHS.getGameDir() );
    System::run( SETTINGS.getExeFilePath() );
}
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Don-DiZzLe on May 22, 2010, 05:51:10 pm
Is it possible to select multiple mods wit the launcher?

Cuz as it seem i can only select one at a time in the mod section.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Havner on May 22, 2010, 05:54:16 pm
Is it possible to select multiple mods wit the launcher?

Cuz as it seem i can only select one at a time in the mod section.

It's not. Is it with the official launcher? I don't think so. It's not difficult to do, but could create problems.

What should be their order? What should be the order of primary and secondary lists of them? I don't think such situation is defined by fs2_open policy in general.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: chief1983 on May 22, 2010, 06:48:54 pm
Well, as it currently stands, if you select a mod, and that mod has its own Primary/Secondary, those are ignored by the launcher.  So, if you could select multiple mods, simply offer a sortable list to select.  Only load the Primary and Secondary of the top mod, and consider all other selected mods to be in the middle.  Unless in the primary/secondary of the top mod.  Or even still.  That'd be the only really ambiguous part.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Lance on June 12, 2010, 01:22:59 pm
Hi, New here.

Sorry if this is not the correct place to ask this, but here goes...

When trying to run the Linux binary of YAL_0.3-RC2, I get error messages
to the affect that various libraries are the wrong (to the old) versions.
e.g. s2_open_3_6_10: error while loading shared libraries: libdirectfb-1.0.so.0: cannot open shared object file: No such file or directory
CRITICAL: Cannot open flags.lch file.

I tried creating symlinks from my (Kubuntu 10.04 LTS 64bit) system's version-1.2 libraries.
This let's me (at first) step through the subsequent library not found messages until
eventually I am halted by an error complaining of the wrong ELFCLASS.
"yal-0.3-rc2-bin/fs2_launcher/home/me/yal-0.3-rc2-bin/fs2_launcher: error while loading shared libraries: libfusion-1.0.so.0: wrong ELF class: ELFCLASS64"

Yes, I have tried compiling it from the svn... no joy there either.
--------------------------------------------
:~/yal/trunk$ make
make -f Makefile.Release
make[1]: Entering directory `/home/me/yal/trunk'
/usr/bin/uic-qt4 ui/MainWindow.ui -o ui_MainWindow.h
make[1]: /usr/bin/uic-qt4: Command not found
make[1]: *** [ui_MainWindow.h] Error 127
make[1]: Leaving directory `/home/me/yal/trunk'
make: *** [release] Error 2====================
-----------------------------------------

Some sort of missing qt4 development libraries I'm assuming, but which?

Can/will anyone help?
Should I post somewhere else?

TIA,

Lance
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Lance on June 12, 2010, 02:15:32 pm
Compile issue Solved:
OK, kept at it and after installing the qt4, SDL & OpenAL libs
was able to successfully compile!

Uh, one issue remaining, I think.
Under the radio button "Features" is a drop-down menu "Easy setup".
Shouldn't there be something under that drop-down menu?

On mine there isn't.

I'll go hunting for the common/recommended settings to be manually entered in there,
but I would like to get this working too if I can.

Also, there is nothing under Speech. Everything is grayed out.
It says, "Speech API 5.1 not installed in the box, though I have no idea if this is even available for Kubuntu/Linux.

Lance
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Lance on June 12, 2010, 03:11:40 pm
I've hunted down the command line flags and entered them manually.
However, they are not saved.
After closing and reopening YAL, the flags are gone including the chosen MOD.

What's up with that?

Lance
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Lance on June 12, 2010, 05:19:44 pm
Here's another update.

Everything seems to be working.
Don't know what fixed it, but I'm happy it's fixed.

At first the game wouldn't launch, complaining about not finding those 1.0 libraries.
So, I tried creating symlinks to the existing 2.0 libs and just named the links 1.0.
That worked!

The only issue that I seem to have left is with the joystick.
It works, but it's as though it's not calibrated.
I it is calibrated using the Kubuntu -> System Settings -> Keyboard & Mouse (& other input devices) app.

If anyone has any ideas, or solutions I'd like to hear (read) them.
I'm spending way too much time on this.

Lance

Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Lance on June 12, 2010, 06:00:54 pm
Here we are again.

I tried this solution:
http://superuser.com/questions/17959/linux-joystick-seems-mis-calibrated-in-an-sdl-game-freespace-2-open

But, that didn't work for me until I disabled the second monitor in my two display setup,
then restarted the X server.

Now, with only one display(monitor) the joystick works correctly.

OK, I know I have digressed from the launcher issue, so I will take this thread/issue else were.

Thanks for caring.

Lance
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: chief1983 on June 12, 2010, 06:13:52 pm
There were multiple solutions there, which one did you perform?
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Lance on June 12, 2010, 08:56:38 pm
I tried the quickest one. I set the environment variable: SDL_JOYSTICK_DEVICE=/dev/input/js0.
This had no effect. I confirmed that by un-setting the variable after going to one monitor.

All three solutions do essentially the same thing though--force SDL to use /dev/input/js0 instead of, /dev/input/event*.

Lance

Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: chief1983 on June 12, 2010, 10:35:23 pm
Assuming that they all actually did work.  But you could try the deletion one (or rename/backup just in case) just to make sure.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Lance on June 12, 2010, 11:24:50 pm
Assuming that they all actually did work.  But you could try the deletion one (or rename/backup just in case) just to make sure.

Well, I could, but let's see, if I have one monitor (like most people) my joystick works perfectly in FS2_Open.

If I add another monitor to my setup, my joystick acts as though it is not calibrated in FS2_Open.

Therefore you think the problem may be due to which device file SDL is looking for?
However, if I use an environment variable said to point SDL to the correct device file it has no effect (no surprise there).

I think it is quite clear that the SDL device handling is not my problem.
I only tried the SDL environment variable solution because I no other ideas.
When that didn't work I went looking for another cause, and found one--my multi-monitor setup.

If the problem was due to SDL device handling then it would still be there when I use only one monitor.
Note that the referenced post said nothing about a mult-monitor setup.

I do thank you for your interest in my issue though.

Lance

Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: chief1983 on June 12, 2010, 11:34:36 pm
Well I wondered if maybe it's a related issue, like the monitor's existence somehow messes with env vars or something else strangely bizarre but still related to the original post's solutions.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Crakem on November 09, 2010, 06:52:59 am
Actually setting up the dir structure like that is something I didn't think would work yet.  That's interesting if it does already.

You know, I had another user that pointed me to a structure where data dir (main fs2_open files) are in a completely different dir then some mods (or at least that's the way I understood it). Didn't sit to it yet but I hope i will soon testing what can work and what can't and update yal accordingly to support all those solutions.
We are talking about it here: http://bugs.gentoo.org/show_bug.cgi?id=107081
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: chief1983 on November 09, 2010, 10:32:37 am
As I'm now the head of the SCP, I find this gentoo bug intriguing.  Especially that they've even created some code patches that I don't believe were ever passed upstream.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: montaropdf on November 11, 2010, 02:12:39 pm
Hi,

I am one of the guy on the gentoo bugzilla that is trying to make SCP run on its system by using the ebuilds currently available. I am the one that can't make run the TBP package :(.

Have you ever consider resorting on a file in /etc, /var or /usr/share/fs2_launcher to hold the location of the various "instances" directory of FSO (Freespace Open) on the machine.

I am calling instances, the official FSO SCP and any total conversion.

Example:

Thanks to the package currently available for gentoo, the available instances are currently located in:

/opt/babylon --> The Babylon Project
/opt/freespace2  --> Freespace2 retail version + mediavps

The file we can name /etc/yal.dat could be structured this way:

<fso_instance1>=<location>
<fso_instance2>=<location>

In the above example that would give:

babylon=/opt/babylon
freespace2=/opt/freespace2

It would be then the responsibility of the root user or the packages for the distro to manage that file and update it each time an FSO instance is installed or removed.

YAL, based on that file, could display the list of available instances and search for the mods available for the selected instance. This would allow the launcher to be started from any location and you could have one directory in the home directory of the user with one subdirectory for each instance.

example:

If the user is called kenny:

/home/kenny/
             .fs2_launcher/
                        babylon/
                        freespace2/

What do you thing, did you see any constraint preventing this design from working?
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Havner on November 11, 2010, 02:34:54 pm
There is no reason why you can't put separate TCs in /opt now with multiple personalized YAL builds. The thing is that what you are asking me about right now is feature request to extend YAL to handle multiple instances with one launcher binary outside of game data dir (with some sort of UI to choose it from?). Am I reading this right?

I have some plans for expanding the launcher maybe with similar functionality but I don't think it will happen soon. I'm kinda happy with the functionality it has now. I like to have it personalized for specific TC with different graphics in launcher itself.

Also I don't get what the launcher directories in ~/.fs2_launcher would be used for?
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: montaropdf on November 11, 2010, 03:45:01 pm
1. You are reading this right.

2. How is it possible to personalize it? Does it require to modify the code some how or is there some configuration file that can be modified before or after compilation?

3. As far as I understand, all the pilot profiles are saved inside ~/.fs2_open, which means that each TC will erase or will have access to the profiles of the previously ran TC. In the former case the problem is obvious and in the later case if the profiles have a different structure, maybe the game will crash or the existing profiles will get corrupted. As I am discovering the game, I am just guessing what will be the behavior.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: chief1983 on November 11, 2010, 03:54:40 pm
TCs should probably for now be installing a different binary which uses a different .data folder.  I believe that's still the recommended approach anyway.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Havner on November 11, 2010, 04:10:08 pm
Download YAL sources, read the readme, it's explained there. Different qmake config options compile time. There is even script for that.

As for the home folder, yes, you're right. I wrote about that in gentoo bugzilla. Thing is, that this is not only about YAL, it's also about fs2_open where I have no influence where and how someone might patch his fs2_open to store config files/pilots.

As Chief said and as I described on gentoo bugzilla it's recommended to have a different binary for every TC. The above mentioned configurations for YAL change the path it looks for user config dir. But you _need_ corresponding fs2_open binary patched to use the same folder as well for it to work.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: montaropdf on November 12, 2010, 08:55:03 am
I have just downloaded the source of YAL 0.3 RC 2, but I don't see in the README any reference to qmake :(.

To have the launcher "compliant" with TBP shouldn't I simply execute the following lines from build-all.sh:

Code: [Select]
./autogen.sh yal.pro "CONFIG+=tbp"
make -j2 release
make clean
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: Havner on November 12, 2010, 09:02:31 am
Yeah, it seems I simplified readme at some point when I added this script. But that's exactly what are you looking at, the CONFIG stuff. Have a look at yal.pro what it does and in the source code. GameInfo.cpp f.e.
Title: Re: [RELEASE] Yet Another Launcher 0.3 RC2, fully functional for windows and linux
Post by: carn1x on January 05, 2011, 10:39:38 am
Not entirely sure what I should do after compiling. I'm guessing I need to run yal.pro?

If so, my output is:
Code: [Select]
$ ./yal.pro
./yal.pro: line 5: TEMPLATE: command not found
./yal.pro: line 6: CONFIG: command not found
./yal.pro: line 7: DEPENDPATH: command not found
./yal.pro: line 8: INCLUDEPATH: command not found
./yal.pro: line 10: DESTDIR: command not found
./yal.pro: line 16: TARGET: command not found
./yal.pro: line 17: RESOURCES: command not found
./yal.pro: line 19: btrl: command not found
./yal.pro: line 20: TARGET: command not found
./yal.pro: line 21: RESOURCES: command not found
./yal.pro: line 22: DEFINES: command not found
./yal.pro: line 23: syntax error near unexpected token `}'
./yal.pro: line 23: `}'