Author Topic: launcher feature request  (Read 9368 times)

0 Members and 1 Guest are viewing this topic.

Offline RandomTiger

  • Senior Member
  • 211
Quote
Originally posted by WMCoolmon


Can I use the Launcher sources in CVS, or is there anything special I need to do to get a copy of the source for a version that supports the current FS2Open version?


You could do if it wasnt corrupted, you'll need SAPI SDK.
Could you hold off for now since Im working on it, you've just missed the six month gap when I wasnt looking at it.

I've been thinking and we could have the best of both worlds, just use the same field, if it starts "http:" open a browser, if not display it in a dialog box. Thats easy, what puts me off is that the launcher gets the data by calling fs2_open with a flag that generates this info. The more we add to it the bigger the load up pause will become.

The other problem is that certain changes require everyone to update their versions of fs2_open and the launcher at the same time which is always a nightmare, all you get is hastle off people who are trying to use the wrong versions with the wrong thing.
« Last Edit: March 05, 2005, 08:40:45 pm by 848 »

 

Offline WMCoolmon

  • Purveyor of space crack
  • 213
Quote
Originally posted by RandomTiger


You could do if it wasnt corrupted.
Could you hold off for now since Im working on it.

I've been thinking and we could have the best of both worlds, just use the same field, if it starts "http:" open a browser, if not display it in a dialog box. Thats easy, what puts me off is that the launcher gets the data by calling fs2_open with a flag that generates this info. The more we add to it the bigger the load up pause will become.

The other problem is that big changes require everyone to update their versions of fs2_open and the launcher at the same time which is always and nightmare, all you get is hastle off people who are trying to use the wrong versions with the wrong thing.


*Holds off self* ;)

We could reduce the pause a couple of ways; one, if FS2 is called with the flags parameter, it looks for the Launcher and, if found, sends it a message with a pointer to a structure containing all the flag data. FS2 could malloc it, and then the Launcher would free it. This might require some memory gimmicking but I'm pretty sure it's possible to send information between two applications without writing to the hard drive or selling your soul to MFC.

Two, the Launcher checks the date on the flag file to the date on the EXE, stores that in the Registry (or, heck, at the end of the flags file) and if the dates check out it just reads the flags file.

Edit: Something that should be added to the flags file (or the flags struct) is what version of the Launcher it's compatible with. That way the Launcher can give an error or warn the user.
-C

 

Offline RandomTiger

  • Senior Member
  • 211
Quote
Originally posted by WMCoolmon


*Holds off self* ;)

We could reduce the pause a couple of ways; one, if FS2 is called with the flags parameter, it looks for the Launcher and, if found, sends it a message with a pointer to a structure containing all the flag data. FS2 could malloc it, and then the Launcher would free it. This might require some memory gimmicking but I'm pretty sure it's possible to send information between two applications without writing to the hard drive or selling your soul to MFC.

Two, the Launcher checks the date on the flag file to the date on the EXE, stores that in the Registry (or, heck, at the end of the flags file) and if the dates check out it just reads the flags file.


If you could do the groundwork on this stuff I would be happy to plug it in. Im not too happy about the way it currently works but I thought it was worth it as taking the info from the build itself is powerful and means the Launcher doesnt have to be updated so often.

It would be best to do all this to co-inside with a major fs2_open release, that way we the transition is likely to be smoother.

 

Offline WMCoolmon

  • Purveyor of space crack
  • 213
FS2OPen:
Code: [Select]

HANDLE hLauncher = FindWindow("Launcher", NULL); //First parameter is window class name
COPYDATASTRUCT cds; //Create copydata struct
cds.dwData=600; //Launcher 6.0
cds.cbdata=sizeof(exe_params); //How big of data are we sending?
cds.cbdata=exe_params; //pointer to the data we're sending
SendMessage(hLauncher, WM_COPYDATA, os_get_window(), &cds); //Send the data!


Launcher:
Code: [Select]

//This is in the message loop
case WM_COPYDATA:
COPYDATASTRUCT *cdsp = (COPYDATASTRUCT*) lParam;
if(cdsp->dwData == 600)
{
SetupFlagsFromFlagsArray(cdsp->cbdata);
}


I haven't tested it, but from the MS description that sounds like what you do.
-C

 

Offline karajorma

  • King Louie - Jungle VIP
  • Administrator
  • 214
    • Karajorma's Freespace FAQ
Quote
Originally posted by RandomTiger
Do people use multiple MOD's often?


Very few people use it cause very few people know it exists. I keep telling them but they don't notice. If the launcher supported it though everyone would spot it very quickly

Multiple mods come in very useful when you're playing a campaign based on another teams works. Blaise Russel's Shrouding the Light immediately springs to mind. This one uses FS1-Port's ships but also has it's own tables etc.

With Multiple mods you basically just stick it in its own folder and use FS1-port as the second mod. Without it you're back the bad old days of dragging VP files around and renaming data folders.

StL isn't the only one that uses this either. There are a few campaigns based on Inferno and TBP that could probably use it (Miburo's Tales of EAS Janos springs to mind pretty quickly).


Quote
Originally posted by RandomTiger
I take it the first takes priority for common data (eg interface)?
Is this something we deliberately support for a reason or does it 'just work' due to the way its implemented?


Kazan supported it to deal with campaigns like the ones I describe above.

Quote
Originally posted by RandomTiger
Is this something that we should open up to the casual user with a proper interface or leave advanced users to use the command line to specify more than one MOD?


I can see big campaigns like TBP running into trouble if people start adding their own mods. Whether simply telling people to edit the command line is the best solution is another matter.

Quote
Originally posted by RandomTiger
You can currently specify your primary MOD with the 'Select MOD' button and specify secondrys from the custom flags line.


You can? How? Anything added to that box appears to be added before the -mod part since that is added at the end of the command line.

Quote
Originally posted by RandomTiger
Im temped to refuse this request for now, since multiple mods can be used via instructions on how to use the Launcher or the MOD's could be merged at the directory level and supporting it raises all kind of complications with implementing a settings file for the MOD's.


When I suggested it I just thought that it was a simple matter of needed to update the GUI to support a feature already present.
If it's causing you trouble then don't worry about it.

That said using multiple mods would always require that the settings file of the first mod was used in preference to all the others.  Plus I don't see why having it entered as a command line option would make it any less troublesome. Surely it's going to have the same problems whether you pick the mod or enter it as a command line. Unless the act of selecting the mod is being used as the trigger for loading the settings file.  

Quote
Originally posted by RandomTiger
What I will do is make the 'Select MOD' button specify its MOD as the first as the the moment it puts it last.


That should be good enough to please me :)
Karajorma's Freespace FAQ. It's almost like asking me yourself.

[ Diaspora ] - [ Seeds Of Rebellion ] - [ Mind Games ]

 

Offline RandomTiger

  • Senior Member
  • 211
Quote
Originally posted by karajorma


You can? How? Anything added to that box appears to be added before the -mod part since that is added at the end of the command line.

...

That should be good enough to please me :)


The next version will see the -mod command come first allowing custom mods to come after that.

Perhaps if it would make more sense to control all this from the MOD ini so the user doesnt have to set it up in the first place. This is easier to implement and I think is more user friendly.

A MOD of a MOD could specify an optional 'primary MOD tag' and optional 'secondry MOD tags' which would build into the command line like:

-mod primary -mod 'this mod' -'secondry mod list'

I'm adding a MOD tab with some fun stuff that I hope MOD'ers will like:



karajorma, would you be willing to test this stuff out for me when its ready?
« Last Edit: March 06, 2005, 07:38:08 am by 848 »

 

Offline karajorma

  • King Louie - Jungle VIP
  • Administrator
  • 214
    • Karajorma's Freespace FAQ
Definately. :)
Karajorma's Freespace FAQ. It's almost like asking me yourself.

[ Diaspora ] - [ Seeds Of Rebellion ] - [ Mind Games ]

 

Offline RandomTiger

  • Senior Member
  • 211
Quote
Originally posted by karajorma
Definately. :)


What do you think of the alternitive multi mod solution?

 

Offline RandomTiger

  • Senior Member
  • 211
eg

Code: [Select]

[launcher]
image255x112 = MOD_image.bmp;
infotext     = Some information on this mod, thats a nice total war pic eh?;
website      = [url]http://www.randomtiger.pwp.blueyonder.co.uk/c_code/freespace/index.html;[/url]
forum        = [url]http://dynamic4.gamespy.com/~freespace/forums/forumdisplay.php?s=&forumid=50;[/url]

[multimod]
primarylist    = -mod PRI1 -mod PRI2;
secondrylist = -mod SEC1 -mod SEC2;

[settings]
flags = -spec;


Gives: C:\Games\FreeSpace2\fs2_open_r.exe -mod PRI1 -mod PRI2 -mod MOD -mod SEC1 -mod SEC2

Options will be take from the 'active' mod (MOD in this case). I suppose the 'active' MOD doesnt even have to be a real mod, it can just tie other MOD's together.
« Last Edit: March 06, 2005, 10:02:41 am by 848 »

 

Offline RandomTiger

  • Senior Member
  • 211
karajorma could you send me an e-mail. I dont have your address any more.

 

Offline sfried

  • 27
I know this sounds strange, but can anybody put a "Use CD media" option? (For FMVs, briefing animations, and stuff like that, since I found the DivX ones a bit artifacty, but that is to be expected.)

 

Offline karajorma

  • King Louie - Jungle VIP
  • Administrator
  • 214
    • Karajorma's Freespace FAQ
Mail sent. You're still at blueyonder I hope. :)

FS2_Open can't use the CD media because the MVE playing code was ripped out for licensing reasons before [V] gave us the code.

There's absolutely no difference between the contents of the CDs and what's on your HD when it comes to command briefing animations anyway.
« Last Edit: March 06, 2005, 11:18:46 am by 340 »
Karajorma's Freespace FAQ. It's almost like asking me yourself.

[ Diaspora ] - [ Seeds Of Rebellion ] - [ Mind Games ]

 

Offline WMCoolmon

  • Purveyor of space crack
  • 213
I thought I posted about this but it disappeared.

FS2_Open still has the CD reading code in there, I think, you just need to have the VP files on the CD-Rom and not in the main dir. Should work for all or some.
-C

 

Offline sfried

  • 27
Quote
Originally posted by WMCoolmon
I thought I posted about this but it disappeared.

FS2_Open still has the CD reading code in there, I think, you just need to have the VP files on the CD-Rom and not in the main dir. Should work for all or some.


Well, apparently not for me. Taking the .vps off just gives me a Windows error instead.

Quote
Originally posted by karajorma
FS2_Open can't use the CD media because the MVE playing code was ripped out for licensing reasons before [V] gave us the code.


Can't Volition give the source files for the movies? (Not the MVE ones, but like the original files used to compose that movie, like a FinalCutPro file or something so that it can be recoded to DivX giving us a "cleaner" , if not better format for the rip?)
« Last Edit: March 06, 2005, 03:36:42 pm by 2635 »

 

Offline StratComm

  • The POFressor
  • 212
  • Cameron Crazy
    • http://www.geocities.com/cek_83/index.html
I don't think they would, even if they still had them.  There's a big difference between releasing the pure source and releasing media from the game; the former doesn't necessarily rule out future marketability of the game while the latter does.  Besides, I'd bet that all of those source scenes were deleted long ago.

And for the VP's, those never were on the CD.  The only thing the CD read did was load the movies, which FSO legally can't play, so there's little or no point in trying.
who needs a signature? ;)
It's not much of an excuse for a website, but my stuff can be found here

"Holding the last thread on a page comes with an inherent danger, especially when you are edit-happy with your posts.  For you can easily continue editing in points without ever noticing that someone else could have refuted them." ~Me, on my posting behavior

Last edited by StratComm on 08-23-2027 at 08:34 PM

 

Offline WMCoolmon

  • Purveyor of space crack
  • 213
Hrm, I'm sure I saw some code related to reading stuff off the CDRom drive in there...

I think the reason Volition didn't release anything else besides the source is because Interplay would also have to give permission. The code is copyright Volition, but the storyline and likeness of Vasudans/Shivans are copyright Interplay.
-C

 

Offline RandomTiger

  • Senior Member
  • 211
Could you start a new thread, this has nothing to do with the launcher :)

 

Offline sfried

  • 27
How about app run AA for OpenGL, instead of having to fiddle with the card settings? Could actually boost the performance.

 

Offline StratComm

  • The POFressor
  • 212
  • Cameron Crazy
    • http://www.geocities.com/cek_83/index.html
That's an application setting more than a launcher feature; I've always understood that the launcher doesn't show it because the game doesn't make use of it.
who needs a signature? ;)
It's not much of an excuse for a website, but my stuff can be found here

"Holding the last thread on a page comes with an inherent danger, especially when you are edit-happy with your posts.  For you can easily continue editing in points without ever noticing that someone else could have refuted them." ~Me, on my posting behavior

Last edited by StratComm on 08-23-2027 at 08:34 PM

 

Offline sfried

  • 27
Well, can somebody put 32bit textures to off as a default then?