-
POST LAST EDITED: April 09, 2007
I changed the post so that users do not have to search the entire thread to find out what they are looking for.
Well, I thought I might as well make a new post in this old thread to notify about the changes that have happened in the application.
The application has reached 1.1 status, and it's available here (http://users.forthnet.gr/ath/jonmecos/Mainsite/Development/Objc/index.html#cmdline). Changelog is available here (http://users.forthnet.gr/ath/jonmecos/Mainsite/Development/Objc/filez/FS2_Open_Launcher/info.html), and the readme is available online here (http://users.forthnet.gr/ath/jonmecos/Mainsite/Development/Objc/filez/FS2_Open_Launcher/readme.html).
I strongly urge everyone to download the newest version. This is no more a beta. It has tons of bug fixes, more comprehensive documentation, updates checking, improved mod support, and many more things that I am really bored to mention here.
Perhaps the greatest addition is the "Check for Updates" option, which uses Sparkle for OS X. It's a nice feature, but I have made some changes that may break compatibility with the FS2_Open Installer. If that is the case, please pm me or send me an e-mail (http://users.forthnet.gr/ath/jonmecos/Mainsite/pages/cme.htm).
I strongly recommend you use this application instead of messing with the .cfg file, since the cfg file may give you a lot of headaches.
Once more, get the application here (http://users.forthnet.gr/ath/jonmecos/Mainsite/Development/Objc/index.html#cmdline).
HERE IS A SCREENSHOT
(http://users.forthnet.gr/ath/jonmecos/Mainsite/Development/Objc/images/OSXFS2CMDLNE.jpg)
Please read the instructions! And report any bugs in the links provided with the app!
-
Nifty. Should save some hassle in bug testing. Nice work, man! Hats off to yeh.
-
there is suposedly some way to comunicate with FSO to get a detailed description of all comand line options, this is how the current generation of win32 launchers works, I don't know if you are useing this, or if you just looked everything up, but if you didn't know that maybe you can use that.
-
It's "-get_flags", you can find the file format code by doing a search for get_flags_arg in cmdline\cmdline.cpp
However this is getting somewhat disorganized...by my count, this makes at least 4 separate launcher-style programs for the three supported platforms, along with the several methods of FS2_Open install. And no centralized download source or listing for any of them.
-
It's "-get_flags", you can find the file format code by doing a search for get_flags_arg in cmdline\cmdline.cpp
I downloaded the source and found -get_flags. But I have no idea how can I use it. If someone could give me a hand, and explain how I could access the results of this command line argument using C++ (or C, it's the same for me), I could very easily use that for the development of the Command Line Organizer.
WMCoolmon, seems you have been involved with the source. Have you any idea how can I communicate with FSO to receive the info produced by the -get_flags command line argument?
-
From what I can see from a brief look at the code the launcher runs FS2_Open with the -get_flags option. This runs the game and creates a file called flags.lch. The game then exits. The launcher then reads this file to determine which flags exists and then deletes the file.
Take a look at the ConstructFlagList() function here (http://fs2source.warpcore.org/cgi-bin/cvsweb/cvsweb.cgi/Launcher/TabCommLine.cpp?rev=1.26&content-type=text/x-cvsweb-markup) to see how the windows version deals with that file.
-
From what I can see from a brief look at the code the launcher runs FS2_Open with the -get_flags option. This runs the game and creates a file called flags.lch. The game then exits. The launcher then reads this file to determine which flags exists and then deletes the file.
Take a look at the ConstructFlagList() function here (http://fs2source.warpcore.org/cgi-bin/cvsweb/cvsweb.cgi/Launcher/TabCommLine.cpp?rev=1.26&content-type=text/x-cvsweb-markup) to see how the windows version deals with that file.
Got it. All I have to do every time is to run FS2_Open with the -get_flags option. When the application quits, I will read the produced .lch file and modify the menus and buttons to use that. The current version of the Organizer is built on static menus. That means that I simply have read the freespace wiki and implemented all the actions inside. I was careful to program the application in a way that it is highly maintainable and revisable (since I wanted to update it each time a new beta comes out with changes to the command line).
Using the .lch file means that the app will always be up to date with the most current settings. However, I think I won't use the parsing methods that the windows launcher uses for the file. Using those means ignoring the powerful methods described by the Foundation framework.
In a couple of days, when I have the time I will upload a small update of the Organizer, which will add options for screen resolution and color bits. I almost have it ready. However, the .lch file means writing a lot of code, especially since I will want to find a new method for parsing the file using Objective-C. I am now trying to find the pattern in which the file is generated, so that I can finally begin to write code.
WMCoolmon, the application is NOT official and supported by any of the fs2_open staff. I took the plunge to write the application on my own just for fun, and because I caught myself using many times the command-line file. The file is uploaded into my personal webspace that I have been given from my ISP. The only relationship I have with the fs2_open is that I had laid my hands on the very first betas for OS X (years ago) and I have been one of the first people to have managed to do a full installation of FS2_Open on OS X. That's why I have made many posts with instructions (http://forums.macrumors.com/showthread.php?t=152172) in various places explaining things. I'm just a die-hard fan. That's why some things are indeed disorganized. When people with no particular involvement in the development make programs for an application (like me), that means confusion among other things that are not necessarily bad. I just wanted to have a GUI command line program for OS X, that's all.
-
Obviously discouraging personal developers would be contrary to useful to FS2Open. But I fear the same sort of problem that's plagued Linux, where you have several programs that do the same thing, each with its own merits, all continuing independently under the guise of "choice". EG in the case of music players, one might play OGG files but crash often, another might be rock-solid but only play .mid and .wav files, another plays OGG files but isn't supported for the platform you're using, and the developer lost interest before they ever released the source. Another implements a full media library, but uses outdated and extremely slow and buggy code for all types of files.
In the end if all developers had pooled their resources, they could have made one great program. But instead each chose to focus on a different aspect; versatility, minimalism, functionality, or on one particular feature. If you'd had the first guy making everything crossplatform, the next guy optimizing everything, the third guy writing the basic file loading library, and the last guy writing the library interface, you might've had a fully-featured, robust, crossplatform program. But because they all chose to focus on their particular goal, none of the programs are particularly usable.
(This is only an example; I haven't used Linux media players extensively for quite awhile, and they weren't that bad even back then. But they make a good example. :) )
In the case of fs2_open, this is made even worse because nobody has bothered to make centralized download lists for many of the applications and packages and campaigns related to fs2_open. So even if a choice exists, somebody finding one particular program isn't going to realize this. (In the above example, if the minimalist MIDI/WAVE player was the only result of a google search for 'media player', one might erroneously conclude that there was no OGG or media library in existence under Linux.)
-
I am not discouraged by any means. How can anyone who is doing something for fun be discouraged? ;)
I haven't been able to find any launcher for OS X. That's why I thought I should make something that fills this gap. Unlike any other devs that you may have in mind, I am always trying to hear what other are saying about the way I should organize and make my application, because: 1)I am 20 years old. How can a 20-years old person surpass the experience of older people? 2)Because of all the things you described above.
Actually, the many-programs-with-little-functionality problem is a problem that concerns software in all platforms, even OS X and windows. As far as FS2_Open is concerned, I know the problem, that's why I have made these posts in many forums, to gather all information into one post.
Anyway, if I seem to be intimidated by the project, I will give the source code, for anyone else to continue this little application. And if someone comes up with a better solution, I will stop the project, since there will be no need in continuing it. I'm sure there are better coders in here than me. :)
-
@WMC : As far as I'm aware we currently have the windows SCP launcher, Mac OS X launcher from this thread and the Linux one from here (http://www.hard-light.net/forums/index.php/topic,44204.0.html). Unless you're counting the retail launcher or I've missed one I don't see how you're counting 4 launchers.
As long as we don't get anyone new coming along and making something we basically have what we need. We can simply get behind these guys, get them to upload their code to CVS and then we're done.
-
I'm actually counting the one that Taylor's working on as well. :D
-
Well we're not seeing that one for a year. These are basically stopgaps until that one comes out.
-
Taylor is very busy working on other things on FS2_Open atm. He stated that he would release a launcher for OS X, but that was a long time ago.
NEW RELEASE (http://users.forthnet.gr/ath/jonmecos/Mainsite/Development/Objc/filez/FS2_Open%20Command%20Line%20Organizer.dmg)
(http://img411.imageshack.us/img411/6180/cocoaki17ax0.jpg)
NOTABLE CHANGES:
--Moved from Obj-C to Obj-C++ (parsing in Cocoa is really difficult an requires a lot of code)
--Implemented options for changing screen resolutions.
--Application will load the existing resolutions from the default location.
BUG FIXES
--No longer will the application crash if it doesn't find the default folders in the user's library
--No longer will the application create a zero kbyte file if no command line arguments are selected by the user. Previously, that happened occasionally, and when the application tried to load data from that file, it crashed.
--The application will create the default necessary structure of files inside the user's library. That means that it is no longer necessary to have ran the FS2_Open application at least once. If the default files are not found in place, the application will create the basic structure of the folders and the 2 files it needs to process, and it will fill the fs2_open.ini file with default options.
--Code enhancements (although you may not be able to notice that).
Enjoy!
EDIT: I forgot to give you the download link (http://users.forthnet.gr/ath/jonmecos/Mainsite/Development/Objc/filez/FS2_Open%20Command%20Line%20Organizer.dmg). Sorry for that. Actually, it's the same as the old one.
-
Sorry for the double post.
I have been trying to get involved with the .lch file. The fact is that I have been trying to find the characters that separate each command line. Although phenomenally we have a plain straight-through string, I know that there are hidden characters. I know that because when I try run the write-cursor one letter at a time, it always get stuck into some points and refuse to get going until I hit the right arrow many times.
Since I haven't been able to find out what those characters are, I can't write any code. So, I approached the problem the other way. I looked into the FS2_Open source, and into the Launcher source, and I haven't fully understood what is going on yet, but I will. One thing that disturbs me, though is that although C++ is used for both programs, plain C functions are used for file i/o. I haven't used those functions extensively (I always did file i/o in C++, and I really love the way it works), so I may need to consult a book or two in order to find out what to do (I learnt C++ with no C background). Another thing that disturbs me is that I can't open the whole project in Xcode, especially in the case of Launcher (since many platform-specific functions are not supported by OS X). That renders finding strings and method definitions and declarations pretty hard. I rely on spotlight for that problem atm.
If I end up figuring out what to do, I will rewrite the Organizer, to use dynamic menus, buttons, etc. Again, any info or help would be appreciated. And please, can anyone verify if the version I have given here works as expected? Are there any errors?
-
Can you post the code that you are using to read the .lch file?
There aren't any special characters though, it just sounds like you aren't reading the struct info in correctly.
-
I haven't written any code for the .lch file yet yet. I don't have much time for programming these days (I have my exams in the university coming up). I will look at it, though. ;)
One point I should mention though, at first I tried NOT to use the struct info, but just simply parse the file, using a way on my own. Later on, I found out that this wasn't possible. So, it seems I will use some code from the Launcher and the FS2_Open source, although I haven't had the time to figure out how yet. Just need to look at these plain C books for C i/o again :)
-
Yeah, you'll deffinitely have to read in the entire struct. As far as the C file i/o goes, you should be able to get the info you need by opening up Terminal app and doing a man fopen, man fwrite, and man fclose. Those should be the only three functions that you need to read the file contents.
Other than that I think that the only thing to remember, or a least keep in mind, is that the .lch file is the only thing in the game which uses host endian ordering. So you won't have to worry about byte swapping or anything, since it will be in native order for each machine that uses it. That's why it's important to delete the file after you have read in it's contents.
-
Taylor, thanks for all your help. Using C++, I managed to correctly parse the .lch file and load all of its contents and store it into a container, with all their info.
However, now comes the difficult part: Making those dynamic menus into my application. That will be tough, since the application as it is now, uses statically created menus. One thing I need to know though. Is there any way I can see from the .lch file which command line arguments accept an argument and which of these are just on-off switches?
-
However, now comes the difficult part: Making those dynamic menus into my application. That will be tough, since the application as it is now, uses statically created menus. One thing I need to know though. Is there any way I can see from the .lch file which command line arguments accept an argument and which of these are just on-off switches?
Anything in the .lch file is an on-off switch. The format of the .lch, unfortunately, doesn't support arguments so we just don't put any commands which require an argument in that file. This will be fixed with the new cross-platform launcher that I'm working on though (but won't show up officially until late this year or early next year, and won't support current builds).
Anything that uses an argument you will have to handle statically. We don't tend to change those nearly as often as the on-off ones though, so they should be easier to deal with statically than the on-off switches would be.
-
That's good news. No, really. I hate messing with NSMatrix too much when creating dynamic interfaces. Anyway, I have now a general idea of what I must do, thanks a lot for your help. I don't know how much time this will take me though, since I have the exams in the university this month, and unfortunately, none of the lessons I will be examined involves programming (so that I could fool myself of doing work that will improve my programming skills that are needed for the lesson :) )...
-
I managed to read the .lch file and import all the data needed. The dynamic menus are ready, file loading works like a charm etc. But iI stumbled into a very important detail:
I will need to call the actual FS2_Open executable, let it create the .lch file, and then load that file, right? I have some questions.
1)In terminal, I found that when I call the actual executable with the -get_flags argument, it produces the .lch file inside my home directory without having to mess with the command line file. But if I give in the command line file the -get_flags argument, the .lch file is produced into my startup disk. Why is that?
2)In C++ I am having problems with the 'system' command. Supposedly I have a string (an STL string I mean) containing the path to the executable. I want to produce this command in order to work:
"/GAMES/FreeSpace2/FS2_Open 3.6.9.app/Contents/MacOS/FS2_Open" -get_flags
But I really can't do it. My code is: string s([[openPanel filename]cString]);
s = '\"' + s + "/Contents/MacOS/FS2_Open\" -get_flags";
system(s.c_str());
Which does not work (actually, that line does nothing at all). But the same string, when given in the terminal, works. Taylor, what do you use to produce the flag.lch file in OS X without having to mess with the command line file?
-
1)In terminal, I found that when I call the actual executable with the -get_flags argument, it produces the .lch file inside my home directory without having to mess with the command line file. But if I give in the command line file the -get_flags argument, the .lch file is produced into my startup disk. Why is that?
The .lch file is created without a path, which means that it will go into the working/current directory. When run through Finder, the currently directory is always your startup disk (I think, technically it's "/").
You could have your code change the current directory (to something like ${HOME}), then run with the command line argument, read the file contents into memory, and delete the file. That should also get you around any permissions/security issues as well.
2)In C++ I am having problems with the 'system' command. Supposedly I have a string (an STL string I mean) containing the path to the executable. I want to produce this command in order to work:
<snip>
Which does not work (actually, that line does nothing at all). But the same string, when given in the terminal, works.
Have you verified that the actual result of "s" is what the string that you intended? What is the return value of the system() call?
-
Thanks taylor, the advice with the permissions was useful, since I hadn't though about it.
But actually, I found out that it is an Xcode problem. When ran from the Finder, the application works as expected. But when ran from the Xcode's 'buid and run' option, it doesn't handle the file paths correctly. Actually, the -get_flags file was indeed produced, only that it was produced inside the folder with the executable. This shouldn't happen especially since I had given commands to use the user's home directory as the current working directory. The solution was to give the commands another way. I have written the same commands in Objective C and they worked, even from the Xcode. Problem solved.
I finished nearly every thing I wanted to do. I had to implement preferences support (a file named "com.soulstorm.FS2_Open cmdline.plist" in the Preferences folder which lies into the current user's Library) mess with the terminal a bit, but I have done it.
The only thing that I don't know yet is wether it will work on other machines. What happens if the FS2_Open application won't be able to produce the flag file before the FS2_Open Command Line Organizer asks for it in the user directory? I have ran extensive tests on my machine, but that is a G5. So, the application will need some testing by other people before I consider to remove the old version. I will upload it one of these days, when I wrap up the source code a bit and add some error handling.
-
The only thing that I don't know yet is wether it will work on other machines. What happens if the FS2_Open application won't be able to produce the flag file before the FS2_Open Command Line Organizer asks for it in the user directory?
It really shouldn't be an issue. The system() command won't return until the shell exits (so that it can get a return value) which means that unless you did some rather complex things to make it work asynchronously, the .lch file will always exist when you go to read it, regardless of how fast or slow the machine is. But, it would be a good idea to test for the .lch before you really try to operate on it. I'm not sure if you are using fopen() to grab the file, but if you are then just check that it's return value is not NULL, and if it is then handle that case occordingly.
And one thing that I don't really see in the screenshots, does it handle mods at all? That is still one thing that's pretty annoying, since you have to manually edit cmdline_fso.cfg in order to switch between mods. Having the ability to change all of that in a GUI would facilitate more (and far easier) use of the various mods that are available (like FSPort, Derelict, Sync, Transend, etc.).
-
NEW RELEASE (BETA!) (http://www.hard-light.net/forums/index.php?action=dlattach;topic=44568.0;attach=1711)
(http://img64.imageshack.us/img64/6923/06b5nd.jpg)
New version offers a number of changes and introduces new bugs! :)
NOTABLE CHANGES:
--Ability to launch FS2_Open though the application (warning: You must 'save the changes to file' first!)
--Dynamic menus. Now the application will load the available command line arguments from the FS2_Open application
NOTES
Due to the second 'notable change', I had to implement some things, such as the text field that holds the application location into the HD. The first time the application opens, it asks for the location of FS2_Open into the HD. It keeps that location into the preferences. The preferences file is named "com.soulstorm.fs2_open cmdline 2.plist" and resides into the Preferences folder inside the current user's Library. You may want to delete it if something goes wrong and need to reset the application.
You will have the ability to change the default location of the FS2_Open application at a later stage. When you do that, you will be prompted to restart the application. That is due to a terrible bug that I hadn't had the time to fix, and concerns the loading of dynamic menus. By restarting the application, you are avoiding this.
TO BE FIXED:
--The restart after the change of the application path. It will be removed.
--Custom mod support will be improved.
--Bugs will be fixed.
--Maybe loading of custom flags.lch files will be implemented.
--Tooltips will be implemented at a later stage.
--The whole appearance of the application will be improved
Get the application here. (http://www.hard-light.net/forums/index.php?action=dlattach;topic=44568.0;attach=1711)
Guys, please note that I really need some testers to verify which parts of the application work and which of these don't I would appreciate ANY feedback, since I have only tested the application into my G5. Notably I want someone to answer these questions:
--Do all the command line arguments show up correctly?
--Does the application crash unexpectedly?
--Does it write to the files every command line argument as it should?
--Does it load the mod it was supposed to load?
And one thing that I don't really see in the screenshots, does it handle mods at all? That is still one thing that's pretty annoying, since you have to manually edit cmdline_fso.cfg in order to switch between mods. Having the ability to change all of that in a GUI would facilitate more (and far easier) use of the various mods that are available (like FSPort, Derelict, Sync, Transend, etc.).
taylor, the only thing I have been able to do is to implement a text field to represent the '-mod' command line argument. You can see that on the picture. I know that this may not be enough. I have an idea of what can I do to make it better (scan the FS2_Open folder for mods and represent their names into a contextual menu) but that I will look into it at a later stage. To be honest, though, the -mod support should work correctly (why shouldn't it? it only adds the -mod argument into the command line file) although I hadn't had the time to test it using any mods. Can anyone verify if it works correctly?
I am expecting feedback into this one. If you have any problems using this beta, you can switch back to the old stable version I gave you earlier on this thread. The two applications will work fine with each other.
[attachment deleted by admin]
-
So, anyone with any opinion yet? Does it work?
I have the newest version ready, just waiting on anyone to tell me wether this app works as it is now or if it needs any enhancements or bug fixes. That way I can ensure that the newest version works correctly. Taylor, do mods work with the application? Have you tried it?
-
Taylor, do mods work with the application? Have you tried it?
Not sure, haven't tried it out myself yet. It's on my list of things to do this weekend though, so I'll let you know how it works out for me in another couple of days.
-
Thanks. Although the most important version is the new one. I hope I will upload it tomorrow.
One of the most useful things is that it can load external .lch files and load flags form that. Another thing I have added is the ability to change the applications and reload the menus without having to restart the application. Startup time should be improved too. Some bugs have been fixed (erros that would happen if the user did something wrong).
I will try to finish that thing by tomorrow by correcting some minor but annoying problems, and I will post it here.
-
NEW BETA (http://www.hard-light.net/forums/index.php?action=dlattach;topic=44568.0;attach=1803)
In looks, it's the same as the old one. But here's what is implemented in this version.
--Removed the restarting of the application after the FS2_Open application path was changed.
--Fixed some bugs.
--Added the option to load custom .lch files. Note though, that if you load the custom .lch file, the next time the Organizer launches, it will NOT LOAD THE CUSTOM FILE! Loading will again be done from the FS2_Open executable whose path is set by you in the appropriate field.
--Added the option to disable all options with a simple click (it's on the menu).
--Tooltips were implemented. They will be loaded from the flags.lch file.
Note that even if this version is more stable than the last one, there may still be problems. If you encounter any bug, or have any recommendation, please tell me so (http://users.forthnet.gr/ath/jonmecos/Mainsite/pages/cme.htm).
[attachment deleted by admin]
-
Anyone with any report? Does it work as expected? (sorry for the triple post)
-
That's okay. It's a point worth mentioning. :)
I'll see if anyone on the BtRL team is going to be testing stuff on the mac and point them over here if they are.
-
I verified that Turey's installer works with Mac OS X a while back, you might want to see about getting this launcher included with the OS X binaries that his installer currently grabs, once he starts working on it again.
-
I verified that Turey's installer works with Mac OS X a while back, you might want to see about getting this launcher included with the OS X binaries that his installer currently grabs, once he starts working on it again.
I'm always open to new files to include. He can submit his launcher just like a mod. Just follow the information on this page (http://www.fsoinstaller.com/modhelp.html).
-
I'm always open to new files to include. He can submit his launcher just like a mod. Just follow the information on this page (http://www.fsoinstaller.com/modhelp.html).
OK. I will check it tomorrow. There are some thing I want to implement, but actually, with a first look, I can update the application just by replacing the old binary with the new one without notice, right?
I have been receiving some feedback from another forum... It would be nice if I added a feature that would tell when the last update to the cmdline_fso.cfg file happened. Taylor, is there any way I can write any data to this file without being parsed by FS2_Open? (for example, by adding a '//' at the beginning of the line should tell the FS2_Open to not parse this line). If not, then I think I will have to use the Finder's own method for viewing modification dates.
I am hearing that the application works well at the moment, although at some point I am going to sit down and do some major changes. But that will happen after I finish the exams (I don't know if someone knows what happens with the current educational institutes here in Greece the last 2 months, but I can assure you things are pretty messed up)!
Turey, I will give you the application tomorrow in .zip format, with the txt file you are describing. I have also solved the problem of a permanent file host long ago (the same server as my website, actually). After that, need I notify you for every update I make to my application or is this handled somehow by your application?
-
Yup, just swap out the hosted file, and when he runs an update it should notice that the file size has changed and offer to update it. I'm thinking that's how he currently has it working anyway.
-
OK. I will check it tomorrow. There are some thing I want to implement, but actually, with a first look, I can update the application just by replacing the old binary with the new one without notice, right?
Pretty much. All you'll have to change is the VERSION string in the text file.
Turey, I will give you the application tomorrow in .zip format, with the txt file you are describing. I have also solved the problem of a permanent file host long ago (the same server as my website, actually). After that, need I notify you for every update I make to my application or is this handled somehow by your application?
If you're just zipping up a .dmg file, you can just use the plain .dmg file instead.
To update, simply change the VERSION string in your text file. No need to notify me.
-
OK. I will check it tomorrow. There are some thing I want to implement, but actually, with a first look, I can update the application just by replacing the old binary with the new one without notice, right?
Pretty much. All you'll have to change is the VERSION string in the text file.
Turey, I will give you the application tomorrow in .zip format, with the txt file you are describing. I have also solved the problem of a permanent file host long ago (the same server as my website, actually). After that, need I notify you for every update I make to my application or is this handled somehow by your application?
If you're just zipping up a .dmg file, you can just use the plain .dmg file instead.
To update, simply change the VERSION string in your text file. No need to notify me.
I think we are all set, now that you have the proper .txt file and the file uploaded into a permanent server. I hope you take the time to notify me if and when the file will be included.
-
new beta. Changed the first post so that users do not have to search the entire topic.
-
Well, I thought I might as well make a new post in this old thread to notify about the changes that have happened in the application.
The application has reached 1.1 status, and it's available here (http://users.forthnet.gr/ath/jonmecos/Mainsite/Development/Objc/index.html#cmdline). Changelog is available here (http://users.forthnet.gr/ath/jonmecos/Mainsite/Development/Objc/filez/FS2_Open_Launcher/info.html), and the readme is available online here (http://users.forthnet.gr/ath/jonmecos/Mainsite/Development/Objc/filez/FS2_Open_Launcher/readme.html).
I strongly urge everyone to download the newest version. This is no more a beta. It has tons of bug fixes, more comprehensive documentation, updates checking, improved mod support, and many more things that I am really bored to mention here.
Perhaps the greatest addition is the "Check for Updates" option, which uses Sparkle for OS X. It's a nice feature, but I have made some changes that may break compatibility with the FS2_Open Installer. If that is the case, please pm me or send me an e-mail (http://users.forthnet.gr/ath/jonmecos/Mainsite/pages/cme.htm).
I strongly recommend you use this application instead of messing with the .cfg file, since the cfg file may give you a lot of headaches.
Once more, get the application here (http://users.forthnet.gr/ath/jonmecos/Mainsite/Development/Objc/index.html#cmdline).
-
What's Sparkle? The site seems to be down, and the Wikipedia article is useless...
-
Does this version handle the new -cap_object_update flag?
I only added it to CVS a few days ago.
-
On a previous and a current version, I get an error when telling it where my FS2_Open executable is. I select it, I hit open, the scp icon shows up in the dock and then leaves, and then the launcher quits unexpectedly. If I just run SCP by itself, it runs, but looks like crap, so I'd really like to use the launcher to run it, it just doesn't seem to like it. Any ideas?
Edit: I'm running OS X 10.3 (Panther) on a beige G3 @ 400 MHz. Does your installer make any assumptions about having 10.4?
-
First of all, Sparkle is a framework developed for OS X which makes easier for developers to put a check for updates option in their application.
Secondly, I don't know what this -cap_object_update option is. I made the application according to the official FSO version, not the CVS... But if it's a switch option and supported by the FS2_Open application like the rest of the options, then it should be automatically supported by the OS X Launcher. The launcher has dynamic menus and it shapes them according to the flags.lch file. Well, there is only one way to find out. Try it, and tell me what happens.
chief1983, the fact that SCP icon shows in the finder, means that there is no problem with the location of the SCP whatsoever. Each time the Launcher launches, it opens for just a moment the FSO to obtain the data it needs in order to make the menus according to the options supported by the current version of the FSO. So, that is normal.
However, the fact that it is crashing is not.
In a previews version there was a bug that concerned the Launcher when trying to read files that were 0KB. The only way to produce such a file, was to have a text file and write absolutely nothing in it. That often happened when we would have the cmdline_fso.cfg file completely empty, because there were no arguments written in it. When I noticed the problem, I updated the application immediately, two times. The last version (1.1) remedied the problem entirely.
So, in order for me to be sure what's going on, I would recommend you to:
1)Download the latest version of the Launcher (http://users.forthnet.gr/ath/jonmecos/Mainsite/Development/Objc/index.html#cmdline).
2)Delete the cmdline_fso.cfg file. Just delete it, do not create a new one.
3)Delete the preferences of the Launcher. That would be in ~/Library/Preferences/com.soulstorm.FS2_open cmdline 2.plist
4)Open the newest version of the launcher and use it.
I hope that will fix the problem. If the problem persists, report back and I will see what can I do.
-
I figured that was why the SCP icon showed up since it's similar to how the windows launcher works. I just wanted to be thorough in my description. I deleted the launcher prefs file, but am not sure where to locate the cmdline_fso.cfg file. If it's in the main Freespace2 directory, I don't believe there's ever been one created, unless it's hiding from me. Either way, I attempted to run it again and it still quits unexpectedly. Also, your site appears to be down at the moment. I am using 1.1 though, I just downloaded it the other night after seeing the post about it being updated here. Hope this helps. I'm not surprised there doesn't seem to be a .cfg file, I've not yet successfully ran the launcher even once so I doubt it's had a chance to create it. Could the app not have the proper permissions to write files? I've run into that issue already a couple times with other programs.
-
I figured that was why the SCP icon showed up since it's similar to how the windows launcher works. I just wanted to be thorough in my description. I deleted the launcher prefs file, but am not sure where to locate the cmdline_fso.cfg file. If it's in the main Freespace2 directory, I don't believe there's ever been one created, unless it's hiding from me. Either way, I attempted to run it again and it still quits unexpectedly. Also, your site appears to be down at the moment. I am using 1.1 though, I just downloaded it the other night after seeing the post about it being updated here. Hope this helps. I'm not surprised there doesn't seem to be a .cfg file, I've not yet successfully ran the launcher even once so I doubt it's had a chance to create it. Could the app not have the proper permissions to write files? I've run into that issue already a couple times with other programs.
Hm.. that's strange, I've never had any issues with it.
Anyway, I doubt it's a permission problem. Please go to the Library, and delete the entire FS2_Open directory, or at least remove it from the location it is. Does that fix the problem?
To give you more information the Launcher draws information from 2 locations:
1)The fs2_open.ini file. Its location is: ~/Library/FS2_Open/fs2_open.ini
2)the cfg file. Its location is: ~/Libray/FS2_Open/data/cmdline_fso.cfg
Delete these two files first, then report back here. Also, I would like to know the structure of your FS2_Open directory which contains the application. I don't think its that, but who knows? People have used the previews version and had no problems with it. Any strange names on folders? I will try to locate the problem later today.
And, guys, I would really like to have any additional feedback on the application. In my configuration, the game works just fine, but I have one person here that hasn't gotten it to work, and no one else has told me wether this thing works or not. Can anyone try this Launcher and tell me if it works?
-
In my FS2 directory, I have the Launcher, the FS2 builds for Mac, the retail VP files (copied over SMB from a windows machine to save bandwidth/time), a 'data' folder containing the PXO config file, the 'dem' folder, 'FS2Demo', 'fsport', and 'homesick' (just some smaller mods to have something to test with), back.gif, and readme.html, the last two from your launcher archive. It still crashed after deleting all the config folders. I even removed all the stuff from the fs2 directory except the launcher, the mac os x builds, and the retail vp files. Still crashed.
-
First of all, Sparkle is a framework developed for OS X which makes easier for developers to put a check for updates option in their application.
If all it does is download a new version of the launcher when the user clicks the "update" button, then you did (slightly) break Installer compatibility. However, the Installer is robust enough to handle this minor breakage without problem.
-
I think I found out what the problem is. There are some minor incompatibilities with 10.3. I will fix them soon enough.
As for the installer... I have also changed the name of the .dmg file. So I altered the text file that the installer reads so that is points to the correct file. Also, I have put a DELETE rule, so that the old .dmg file gets deleted from the FS2_Open directory. I will try to download the newest version of the launcher tomorrow, and see if it works.
-
Wait, who leaves the dmg file laying around in the directory? I open it from the desktop and put the app itself in the fs2 directory. Then I unmount the dmg and usually file it away or just delete it.
-
Wait, who leaves the dmg file laying around in the directory? I open it from the desktop and put the app itself in the fs2 directory. Then I unmount the dmg and usually file it away or just delete it.
No one does. The FS2_Open installer from Turey when it downloads the FS2_Launcher, it downloads the dmg file and leaves the rest to you. You are not doing something wrong. It's just that there are some incompatibilities with FS2_Laucher and OS X 10.3. They mostly concern some button styles that are not available to 10.3, but they are in 10.4, that's why no one else had this problem.
I just tried downloading the FS2_Launcher from the Installer. Compatibility still exists. Nothing is broken.
-
Ok. I'm kinda self-taught on mac at this point, having only a crappy old beige G3 to practice on, that can't even run 10.4. Just getting Java 1.5 installed was a PITA. I've been finding out certain ways to do things, just not sure if it's always the easiest way. At this point I'm just trying to see if I can even get freespace to run at all, and look halfway decent, and hopefully even get a joystick working. I'm afraid I have no idea what joysticks are OS X compatible though, or how to even go about enabling a joystick in OS X.
-
If your G3 has DVD-ROM, I don't see any reason why you shouldn't install 10.4 on it.
FS2_Open will run a lot better on 10.4 than on 10.3.
-
Um, it's a beige G3. 10.4 is unsupported, even with XPostFacto. And I've even tried booting 10.4 anyway, haven't gotten it to work yet. I'm afraid it wouldn't run very well though. I don't know what exactly would have changed between 10.3 and 10.4 to make FSO run better, but it might be worth screwing around with if there's a chance it'd be better afterwards. Have you had any luck getting the launcher to work with 10.3 yet?
-
Yes, I have.
10.4 has many OpenGL enhancements, and will run the game a lot better than 10.3.
Although I think I have managed to support 10.3, I am not really sure, and taylor and I have spotted some bugs in the current version of FS2_Open Launcher that I would like to fix before giving you anything to test yet. Just be patient for a few days, and I will release a bugfix release. Before doing that, I will give you the application to test.
-
Here's the crash log from the launcher.
[attachment deleted by admin]
-
What exactly is the model number on your G3? Or is it just a G3? I can do some research...
-
It's a beige 233 mhz G3, that's been upgraded with a 400mhz zif upgrade, and a ATI Radeon 7000 dual head PCI card. Also has 320mb of ram now. I'm running a fully updated version of OS X Panther 10.3. I can't easily get to the mac right now to get any more info, but I can get you the link on Low End Mac. (http://www.lowendmac.com/ppc/g3.shtml) I have it running OS X via XPostFacto, so there's also a OS 9.2 install on the drive, on a separate partition.
-
Chief, the crash log is rarely helpful in these cases, the commands that matter are the console.app messages. From your pm:
2007-04-17 14:23:09.441 FS2_Launcher[5803] *** -[NSCFString cStringUsingEncoding:]: selector not recognized
2007-04-17 14:23:09.443 FS2_Launcher[5803] An uncaught exception was raised
2007-04-17 14:23:09.443 FS2_Launcher[5803] *** -[NSCFString cStringUsingEncoding:]: selector not recognized
2007-04-17 14:23:09.443 FS2_Launcher[5803] *** Uncaught exception: <NSInvalidArgumentException> *** -[NSCFString cStringUsingEncoding:]: selector not recognized
The log talks about a method I have used in the application, named "cStringUsingEncoding". That method isn't available in 10.3 Cocoa, but is available in 10.4, and the original one named "cString" is considered deprecated in 10.4. So, I chose to use the latest version of the method, to remain compatible with the future versions of the Mac OS, and 10.4, since Apple has a bad habit of easily moving forward and abandoning deprecated methods without notice.
I'm sorry, but it seems that only 10.4 will be supported in the launcher. I may release a 10.3 dedicated version, but I am not sure about that, since not many people use 10.3 and play games, and I haven't any 10.3 system installed into any of my machines.
-
Do you have a PowerPC G3?
Mac OS X Version 10.4 requires a Macintosh with:
* PowerPC G3, G4, or G5 processor
* Built-in FireWire
* At least 256MB of physical RAM
* A built-in display or a display connected to an Apple-supplied video card supported by your computer
* At least 3.0 GB of available space on your hard drive; 4GB of disk space if you install XCode 2 developer tools
* DVD drive for installation (get CD media for $9.95)
-
Do you have a PowerPC G3?
Mac OS X Version 10.4 requires a Macintosh with:
* PowerPC G3, G4, or G5 processor
* Built-in FireWire
* At least 256MB of physical RAM
* A built-in display or a display connected to an Apple-supplied video card supported by your computer
* At least 3.0 GB of available space on your hard drive; 4GB of disk space if you install XCode 2 developer tools
* DVD drive for installation (get CD media for $9.95)
Yes, I have a G3, and it has 10.3 installed in it. However, the last time I saw it was 9 last summer in our cottage. :)
-
Ah, the question I was actually trying to ask was does it have built-in Firewire, 256MB/+ of RAM, Apple-supplied video card, 3Gigs of HD space on the partition, and perhaps a DVD drive?
EDIT: and is it a Power Mac G3? IIRC, there are non-Power Mac versions of the G3... not sure though.
-
Gak! I just looked up the price for upgrading OS X 10.3 > 10.4 .. ~$130!! They're as bad as Micro$oft!
-
They're as bad as Micro$oft!
Ahhhh... the sweet sound of truth...
-
jr2, the one I'm running it on is a PowerMac G3, but it's a pre-firewire version, being beige and all. It's not officially support by Apple to run anything beyond 10.2, but with XPostFacto I was able to get it running 10.3. XPostFacto doesn't even claim 10.4 will work on it even with it's help, but I'm going to try anyway I suppose. Can't hurt anything.
-
Ah, the question I was actually trying to ask was does it have built-in Firewire, 256MB/+ of RAM, Apple-supplied video card, 3Gigs of HD space on the partition, and perhaps a DVD drive?
EDIT: and is it a Power Mac G3? IIRC, there are non-Power Mac versions of the G3... not sure though.
It has a DVD drive, 256mbytes RAM by default (I have put 1 GByte), ATI Rage 128 (I have put an ATI Radeon), 6Gigs HDD.
All G3 machines are powermacs. There is no 'plai' G3.
-
Except for the laptops. And maybe some clones.
-
How does one set up the network settings using this launcher? There's no 'network' tab. :(
-
so, what happend to this project?
all the links are dead, and i could REALLY use this OS X Launcher... :D
thanks.
-
The project is alive. However, I should give some more info. First of all, the links are back online. Thanks for the heads up.
The project started as an exercise, really, and from devotion to the FS2_Open project. I made the first launcher for os x, updated it, and now, the 2.0.1 version is the latest version with support for standalone mods.
If you have any bug report, or request, you can contact me (http://users.forthnet.gr/ath/jonmecos/Mainsite/pages/cme.htm) and tell me what you think this application needs. I always listen to recommendations, however real life (and the need to finish my university at a logic time) is sucking my time like a cleaning vacuum... So although every recommendation will be taken into serious account for the launcher, only the most important needs will be fulfilled at the moment. So recommendations like:
-- A new standalone mod to be added
-- A bug to be fixed
-- A new option to be added
will most likely get added into one or two days after request (unless it needs hard work, but I will begin that work at the moment I receive the request).
The old links are back online, and now you can download the application from both Turey's installer and here (http://users.forthnet.gr/ath/jonmecos/Mainsite/Development/Objc/index.html#cmdline).
Also, I have already given the link to the latest version of the FS2_Launcher source. I would upload it to CVS, but I'm having problem with it. If anyone is an FS2_Open Developer and wants to update the application at a time I am unavailable, here is the link to the source (http://users.forthnet.gr/ath/jonmecos/Mainsite/Development/archives/limbo/FS2_Launcher_Source_03112007.dmg). Password is available after pm.
-
Since people are asking about the Launcher, I should give an update.
For basic updates, check the previews post for more information.
However, I came across an idea that would require me to rewrite the whole application from the start... again. But this time, the application will be more flexible. The newest version of the Launcher will allow the user to add and delete his own configurations of standalone mods. Also, several new things for developers will be added.
However, that will require a complete rewrite of the application, something I don't have the time to do now. This month my Uni exams are coming, and I have a LOT of stuff to read if I am to finish this Uni in the next 2 years :) . After that update, it should be very easy for maintainers to add things and new mod support to the Launcher. Actually, the addition of a new standalone mod will be a matter of 3 more lines of code. As it is now, it's much more difficult to do such a thing. I had this idea from the start, but I got careless in my efforts to develop something quickly in favor of learning other OS X technologies.
Anyway, a cool major update is coming, but NOT soon, so you will still need to send me bug reports for version 2.