Hard Light Productions Forums

Modding, Mission Design, and Coding => The FRED Workshop => Topic started by: Dragon on June 09, 2010, 08:21:47 am

Title: How to release a stand-alone mod
Post by: Dragon on June 09, 2010, 08:21:47 am
What do I have to do to make a TC mod completely stand-alone.
I know that I need a number of things like sounds, interface and various other bits of data, but TCs like TBP or BTRL ussualy have a lot of stuff in their folders besides FS2_Open builds, FRED and Launcher.
I'd like to know what do I need to do to create a TC that can be installed on computer that never had FS on it and things like how to create the (preferably off-line) installer.
It could help all TC mods which do not depend on retail data, widening the range of people to who they're available.
Title: Re: How to release a stand-alone mod
Post by: TopAce on June 09, 2010, 12:37:39 pm
Essentially, you need the engine and all assets, including mouse cursors and stuff you don't even think of.
Title: Re: How to release a stand-alone mod
Post by: Iss Mneur on June 09, 2010, 12:58:19 pm
What do I have to do to make a TC mod completely stand-alone.
I know that I need a number of things like sounds, interface and various other bits of data, but TCs like TBP or BTRL ussualy have a lot of stuff in their folders besides FS2_Open builds, FRED and Launcher.
Basically you need to replace all art assets that are either :v: original or based on the :v: original (MediaVPs/FSPort).  Probably the best way to go about it would be extract all of the original VPs (that would be Root_fs2, the tango trio, sparky, stu, warble and smarty) and look at them and see what they are and replace them one at a time with the the TC assets.

I would do this by creating a new folder, put a fs2 binary, a fred2 binary in it and a launcher, extract all of the original fs2 content1 into a mod folder (called tobereplaced), setup another mod folder called dragontc and start replacing everything one by one.

This means that your root folder is empty so that you can test at anytime to see if your TC is able to actually run standalone.  This would be done with some tricks of mod.ini.  For tobereplaced make the mod.ini to have dragontc as the secondarymod (this way you can check your work without the engine complaining and/or crashing because some art is missing).  When you want to test the completeness of your TC, set the mod to dragontc.  When you are ready to release you can move the data in dragontc back to the root folder (don't forget to put them into a couple of .vps though) and now you have a standalone TC.

I'd like to know what do I need to do to create a TC that can be installed on computer that never had FS on it and things like how to create the (preferably off-line) installer.
As far as off-line installers go, wxLauncher should be ready to be used as an installer by the time that you are ready to release.  As an added bonus the wxLauncher installer will likely have been field tested at that point by Diaspora and possibly other TC's2.

It could help all TC mods which do not depend on retail data, widening the range of people to who they're available.
Yes, and you will likely run into many bugs or parts of the interface that you cannot change, because the binaries store a large part of this information within themselves and is not actually user replaceable.  TBP, for example, has found a great number of bugs related to this, and I am sure they are not done yet.



1) Though strictly speaking you don't actually have to extract all of the content, you could just leave them all in the vps. But extracting them is also useful as a reference so you know what is actually in the .vps that you need to replace.
2) I only mention Diaspora as they are the only ones to have mentioned any interest in doing this this with wxLauncher at this time.
Title: Re: How to release a stand-alone mod
Post by: Dragon on June 09, 2010, 01:35:56 pm
I said earlier that I know what to put in VPs and that part isn't a problem, nor is testing.
What I need to know is what to do to create installer and make sure that all the files which are not part of the VP (like some configuration files, DLLs or anything like that) are in the right places.
Also, I'd like to know how to do it now, since in fact, what I'd like to release is a small tech demo.
I'd like to use it to learn how to create releaseable stand-alone mods and if it'll work as intended, to introduce one of my friends to FS engine without having him to download one of very large TCs like BTRL or TBP (this tech demo would be rather minimalistic, but should show graphics which SCP is capable of).
Title: Re: How to release a stand-alone mod
Post by: TopAce on June 09, 2010, 01:48:23 pm
I don't know about any DLLs, and configuration files are automatically generated by the engine.

When I brought my FS over from my old comp, all I had were the retail VPs. Then I downloaded the most recent SCP build, and it has worked ever since.
Title: Re: How to release a stand-alone mod
Post by: The E on June 09, 2010, 02:41:43 pm
Yep, as TopAce said, running the Launcher once to set up all the necessary registry strings is required.

Other than that, it is a very good idea to include at least a link to the OpenAL installer.
Title: Re: How to release a stand-alone mod
Post by: Iss Mneur on June 09, 2010, 04:20:22 pm
I said earlier that I know what to put in VPs and that part isn't a problem, nor is testing.
Oh, I see.  Sorry.

What I need to know is what to do to create installer and make sure that all the files which are not part of the VP (like some configuration files, DLLs or anything like that) are in the right places.
The E and TopAce have already answered the question, but just to be redundant and crystal clear, running the OpenAL installer and the launcher is all you need to do to setup the environment for FSO.

If you want to do the setup by hand you can take a look at http://code.google.com/p/wxlauncher/wiki/FS2OpenLauncherCommunication (http://code.google.com/p/wxlauncher/wiki/FS2OpenLauncherCommunication), but as previously noted the launcher will take care of everything in that document.

Also, I'd like to know how to do it now, since in fact, what I'd like to release is a small tech demo.
I'd like to use it to learn how to create releaseable stand-alone mods and if it'll work as intended, to introduce one of my friends to FS engine without having him to download one of very large TCs like BTRL or TBP (this tech demo would be rather minimalistic, but should show graphics which SCP is capable of).
Unfortunately, there is no such list (at least that I have ever seen), beyond what was stated before about the .vps.  Based on the bug reports I have seen, BTRL and TBP both just went along blindly doing more or less what I outlined above.  When they found something that they couldn't replace, they got a coder to make it so that they could.

If you want to compile the list go ahead, we would be interested in seeing it.  If you want the bare minimum, I suppose you could just start with a debug FS2 and an empty folder and start adding assets as FS2 complains about them being missing.  Eventually you will find what is the minimum needed to start the engine.  In the end, is it going to be smaller than what TBP or BTRL produced, I doubt it.
Title: Re: How to release a stand-alone mod
Post by: Dragon on June 09, 2010, 04:36:09 pm
I'm basing what I need on BtRL.
Interface and sounds take up a lot of space, but they're about the only large things that really need to be there.
I'll try to list what's needed, I know that size can be reduced by using small amount of effects, maps and models.
Title: Re: How to release a stand-alone mod
Post by: Colonol Dekker on June 09, 2010, 04:45:11 pm
Whats wxLauncher?


I like easily configurbale doo-dads. Even some self extracting archives that would run open-al then the launcher after open-al. Is it going to be like that?
Title: Re: How to release a stand-alone mod
Post by: Iss Mneur on June 09, 2010, 04:58:41 pm
Whats wxLauncher?
See the wxLauncher's Alpha release thread (http://www.hard-light.net/forums/index.php?topic=67950.0) (also linked in my signature).

I like easily configurbale doo-dads. Even some self extracting archives that would run open-al then the launcher after open-al. Is it going to be like that?
Something like that and more, see the wxLauncher 2.0 request for comments (http://www.hard-light.net/forums/index.php?topic=69016.0) for the discussion and overview of the wxLauncher installer information.

Title: Re: How to release a stand-alone mod
Post by: Colonol Dekker on June 09, 2010, 05:07:12 pm
Thanks very much for the info :yes:

edit., I think that it may be a bit beyond my knowledge... "build"? Do i need a compiler of some description? :nervous:


bah, found the binary.
Title: Re: How to release a stand-alone mod
Post by: captain-custard on June 09, 2010, 05:18:16 pm
please if you do make a TC dont make an installer just 7zip it , then i can choose were i want it ........
Title: Re: How to release a stand-alone mod
Post by: Dragon on June 09, 2010, 05:45:19 pm
I'm a bit concerned about if it will work, but it seems that only retail needed to mess with registry.
Title: Re: How to release a stand-alone mod
Post by: The E on June 09, 2010, 05:50:21 pm
That would be wrong. FSO still uses the registry. Which is why it's important to use the Launcher at least once before starting the game.