Log in

View Full Version : The Birth Of SH3 Commander


Beery
05-20-06, 01:54 AM
I was clearing out some of my old emails this morning and I found the emails that gave birth to SH3 Commander. Since it's now just over a year old, as a sort of (belated) anniversary thing I figured fans of the program might like to see how it all got started. The conception of the tool we now call SH3 Commander came on April 29th, 2005 when I asked Jaesen (JScones) if it would be possible to try to make something along the same lines as a mod I'd worked on for Red Baron. I'd had the idea of doing something like it for a while, and fortunately Jaesen had worked on something similar before and was thinking along the same lines, so it was a matter of synchronicity. Anyway, I'll let the emails speak for themselves. They give some idea of what we originally wanted SH3 Commander to do, and there's the first ever screenshot of the prototype. Here are the emails (from conception to the first work being done on the program) in the order they were sent (note that the times sometimes look wacky because we're in two very different time zones):

---------------------------

From: Ian & Elisabeth
To: JoneSoft
Sent: Friday, April 29, 2005 4:39 AM
Subject: Re: JoneSoft Generic Mod Enabler


Hi Jaesen,

I've used your installer about 20 times now - installing and uninstalling as I add new things to the game and test my mod. I must say it's very nice - it installs perfectly and cleans up everything. Brilliant!

Anyway, I was wondering if it might be possible to create a modified version of this for a special purpose. What I'd like to be able to do is add files to the game based on the currently running career. I wonder if it would be possible for the tool to read the current career (or even load up a career into the game's memory by doing whatever it is that happens when you choose a different career in the game) and use the date and the current U-boat type in use, and load files based on that?

What I think the program would have to do is access the main.cfg file (in C:\Documents and Settings\Owner\My Documents\SH3\data\cfg) and read the [PLAYER] details - specifically the CurrentYear, SubmarineType in use and the SubmarineVersion values. Then it would load certain files based on that data - for example if it read "CurrentYear=1941", SubmarineType=1" and "SubmarineVersion=1" it would go to a "1941" folder and a "1-1" folder where it would find files that relate to 1941 and the Type VIIC U-boat, and it would automatically load those files into memory. This would allow us to give the Type VIIC/41 boats different crush depths than the Type VIIC. Currently this isn't possible because all Type VIICs use the same files, so a Type VIIC/41 has to use the same data as a Type VIIC, even though in reality their maximum depths were very different. The year folder would allow us to load different files based on the year - this would be good because we could change details of the sim as the years pass - for instance camouflage patterns were very different in 1939 to what they were in 1945.

Anyway, let me know if you think this would be possible, and more to the point, whether you'd be willing to do it. I actually have a similar tool to what I've described, but it only works with Red Baron 3D. I can send it to you if you want to see how it worked.

Thanks,

Ian.

-------------------

From: JoneSoft
To: Ian & Elisabeth
Sent: Friday, April 29, 2005 4:41 AM
Subject: Re: JoneSoft Generic Mod Enabler


Hi Ian,

Absolutely possible - in fact, I did something similar for Combat Flight Simulator a few years ago!

Actually, it could also be used as a tool to blend different mods together where they modify the same file. For example, if you have a mod that modifies a specific config file and someone else has a mod that may only change one line of the same file, the tool could blend the two together. Bit conceptual at this stage, and would need to consider the effects of conflicting changes, but it may be something also worth pursuing...maybe more for the mod developer than user...

Anyway, back to this task...

Send me your Red Baron tool (or upload it and send me the link) and I'll have a look. I'll then think of how I would implement this tool and run it past you for scrutiny, if you don't mind. Although, what you have put below is quite straight forward.

I'm thinking that the user could run this tool instead of SH3 when they wish to continue their campaign. The tool would query the campaign files as you have mentioned below (perhaps even the full current date from "playersettings.cfg" for more precision?) and copy relevant files across. It would then automagically run SH3. The tool would be pretty transparent to the user. The user will only need to update the source files when they download or create submarine specific changes - kinda similar to the mod enabler.

Very good idea, Ian! Any other thoughts let me know.

Curiously, do you know whether the captain has the option of "removing" deck or flak guns in SH3 as they did in real life? It could be built in as well.

As an aside, dunno whether you have found this, but I find the giving of medals so unrealistic. Firstly, the u-boat clasp wasn't available until 1944, but I'm getting them left, right and centre in 1940, secondly, the war badge tended to be given after two successful patrols - I'm still waiting to give them to crew that have completed over 12 patrols! And thirdly, by June 1940 I had the Knights Cross with GOLD oak leaves, swords and diamonds! Do you know if anything has been created to fix these anomalies? Mind you, expanding the proposed tool could also be used to edit crew details, such as name etc, and the allocation of medals through the same interface.

Jaesen

---------------------------

From: Ian & Elisabeth
To: JoneSoft
Sent: Saturday, April 30, 2005 2:03 AM
Subject: Re: JoneSoft Generic Mod Enabler


Hi Jaesen,

The Red Baron 3D tool is at (http://www.beerymod.com/patches/cm11.zip).

The one thing I don't quite understand about how it would be done is how to access the method of switching between careers, although I'm sure you would know about such esoteric stuff since you've done this kind of thing before. The other problem is that Silent Hunter III seems to have a strangely chaotic system for saving careers: the main.cfg file (in C:\Documents and Settings\Owner\My Documents\SH3\data\cfg) seems to be the place where the game writes the data for the career currently in use, but this file is often hopelessly inaccurate - sometimes it lists the correct year of a campaign, and sometimes it doesn't. However, maybe this data is only peripheral, and perhaps the game accesses some other file when it seriously loads a career into memory.

... hehe, I just saw your note about playersettings.cfg - this file looks much more like the place where the game really goes for (or stores) good info. This is certainly better - it gives all the info we need (and in plain English no less).

I love the idea of starting the game from this tool. That would make things so much easier.

Currently, the captain doesn't have the option of removing guns from the sub (at least I don't think so). It would be realistic for deck gun removal to have an effect on the sub's underwater speed (reduced drag). Hmmm. I hadn't thought about this. Interesting idea.

Regarding the medals, this is one area that I'm really hoping to address with this tool. So far, I've been able to fix the war badge - just a matter of making them lots easier to get (I set the requisite points to 50 so I get about ten per patrol). The U-boat clasp, as you say, wasn't awarded until 1944, and the tool we're talking about would be able to load two different basic.cfg files into the game to take care of this: one for before the date the clasp was instituted - this one would make it impossible to get the clasp; and one for after the date the clasp was instituted, which would include realistic requirements to get the clasp after that date. The player medals are a bit more difficult to address. I haven't found specific instructions that the game uses to award the player medals. I've found some work-arounds for it - it's possible to alterthe medal graphic so that you simply don't get the war badge with diamonds (which was a very rare award indeed), and it would be possible to remove the front clasp altogether (I keep getting it in 1940, which is irksome), but there's no way I've found to really fix these issues. Again, the changing files by date thing could deal with some of these issues handily.

The difficult thing forthe tool to do will probably be to switch from one set of files backwards in time to an earlier set when you're loading up an early war career after a late war one. In the original Red Baron 3D version it simply went backwards in time because no one thought that it would make a difference, and this caused some weirdness. How the tool for Red Baron 3D eventually did it was to load every date-based file in and out of the game in their proper progression forward in time whenever you changed careers. The tool always progressed the date forward in time, and if it reached November 1918 it started over in 1916 (the game only covered 1916 to 1918). For our purposes the dates would be September 1939 and May 1945, but the principle could be the same. It's just a matter of keeping the files valid for the time period in use. The other way of doing it would be to have cfg files for every month of the war, but this might get a bit unwieldy, especially if the tool is going to get as much use as I believe it will.

I'm so glad you're willing to have a go at making such a tool. It was a Godsend for Red Baron 3D, and it made the game so much more realistic, deep, and fun. I can hardly wait to see what can be done for this game with such a tool.

- Ian.

-------------------

From: JoneSoft
To: Ian & Elisabeth
Sent: Saturday, April 30, 2005 11:07 PM
Subject: Re: JoneSoft Generic Mod Enabler


Thanks. The Red Baron tool won't work cause I don't have VBRUN300.DLL. Doesn't really matter though.

I've started - I can read the user's data and present a form which allows the user to choose the career that they will be playing. It pulls back the current career date (I haven't compared yet with what the game says for the same campaign - I will as I don't really trust the data in some of the config files).

Anyway, that's the main part done for this version (once we get this going, we can implement anything relating to careers - especially medal management!). What I need now, from yourself perhaps, are details of files that would change depending on sub type and year (and perhaps anything else). Can you send me a link or zip file? From this point I see the tool being the same as my mod enabler - after querying the date and determing which folder of mods to use, it merely copies the found files across, backing up as it goes.

I'll then you a beta version to test, if you would like.

Jaesen

---------------------------

From: Ian & Elisabeth
To: JoneSoft
Sent: Sunday, May 01, 2005 3:36 PM
Subject: Re: JoneSoft Generic Mod Enabler


Sounds good.

I've zipped up a selection of the major files (with the folder structure intact) that I'm hoping to alter based on date, flotilla, and/or submarine version.

Files in the Cfg folder would be date-based and flotilla-based changes.
Files in the Crew folder would be date-based changes.
Files in the Markings folder would be date-based changes.
Files in the Menu folder would be date-based and submarine-based changes.
Files in the Misc folder would be submarine-based changes.
Files in the Submarine folder would be submarine-based changes.
Files in the Textures folder would be date-based changes.

Some files in the Textures folder have been removed from the zip file I sent - it would be a huge file if I included them. They're all graphics files relating to ship and aircraft camouflage paint schemes.

Hope this is what you need.

I'm sure you have a system planned, but I'll tell you how I think it might be organized in case my methods give you ideas. The way I see it is that we could have:

1. A 'Date' folder where mod makers could store folders with a date code; e.g. 420624 (for June 24 1942). In this folder would go all files to be loaded into the game on that date (the folder structure would need to be preserved within each dated folder, so for every date-based folder you'd have a structure like this within the campaign manager folder:
Campaign Manager\date\430228\data\Textures\TLowRes\tex\Aven ger1.tga (this gives us an alternate Avenger aircraft graphic that is loaded up on 28 February 1943).

The program would load all files in any folders with dates between September 1 1939 up to the current campaign date, loading the files in order, so that each later version of the same file overwrite any earlier files of the same name. This would give mod makers flexibility to store files based on any date at all, from the beginning of the war until the end. It's the same system that the Red Baron campaign manager used for date-based changes.

2. A 'Submarine' folder where mod-makers could store info based on the submarine in use. This folder could contain a folder for each of the Type VIIC variants (VIIC, VIIC/41, VIIC/42), and it would enable us to change the crush depth values for these boats, as well as the wake graphic for each boat (which is currently generic for all boats) and the dials details for each boat. Each folder would contain a version of the siaj.tga, siaj_nave.tga, and the siaj_submarin.tga files (which are the wake graphics and reside in the data\Misc folder), as well as the Dials.cfg file and the DialsFdb.tga file (both of which are in different folders in the data\Menu folders - these govern the depth gauge dials) and finally the NSS_Uboat7c.zon file (which governs the crush depth and resides in the data\Submarine\NSS_Uboat7c folder). Submarine-based changes should not conflict with the date-based changes, so this folder can be separate.

3. Folders for each flotilla-based change. If a player was running a campaign in a particular flotilla, the program would load up the Basic.cfg file from this folder. The Basic.cfg file is the only file to be changed based on the flotilla in use. It governs U-boat availability dates, which are currently the same for all flotillas. In reality, U-boat types became available at different times for different flotillas, so removing this inflexibility would represent a major step forward. Note - this folder would have to be created inside the date-based folders, as the Basic.cfg file is going to be heavily modified based on the date, so if you have the program loading up the file based purely on the flotilla it will conflict with the date-based files. Basically, for each date-based folder, mod-makers must include flotilla folders where the different basic.cfg files will be stored. I'm not sure how (or if) this can be accomplished, because it seems each date-based cfg folder would have to contain folders for each flotilla, which would have to be loaded in a different way from the rest of the folder structure. Anyway, it's a knotty problem. Maybe if we did it the other way around, and had date-based files for each flotilla... I don't know - I'm confusing myself now, LOL.

Since the flotilla-based changes throw a bit of a spanner in the works and make the whole thing that much more complicated, it might be best if the program just does date-based and perhaps sub-based changes at first, so that we can get it working flawlessly in these areas. After that we can see whether we want to bother with the flotilla-based stuff.

----------------------

From: JJ
To: Ian & Elisabeth
Sent: Sunday, May 01, 2005 2:44 AM
Subject: Re: JoneSoft Generic Mod Enabler


Great. It's starting to come together. Beta screen shot attached...

http://img.photobucket.com/albums/v207/Beery/SH3CM.jpg

If it finds only one campaign, then this screen will not be shown - it will copy the files and run SH3 without user interaction.

Point 1 won't be a prob. Hadn't quite thought of it this way myself, but I do prefer this approach. Let the modder decide the start date!

Point 2 is the really easy one. It's basically ready now. Although, did specs within variations change? For example, did the first VIIC/41 sub built differ in any way from the last built in terms of performance? That is, any tweaks to the 41 prior to the 42? If so, then even sub changes will need to be based on date.

I think point 3 is possible - I'm capturing the flotilla. Wouldn't we just need to update the flotilla.cfg file and not the basic one? Anyway, this change can be the last addition to the tool. Sub changes will be the first.

Curiously, how, if at all, does the Red Baron tool overcome the two probs I mentioned in my earlier email? Or did the player need to exit and reload the game to update the files? One thing though, Im sure I can overcome the Red Baron issues in respect of going "backwards in time".

Jaesen

--------------

JScones
05-20-06, 02:35 AM
Hehe. So long ago. And on 7 May 2005 "JoneSoft SH3 Career Manager" officially became "SH3 Commander".

And talk about beta releases - the first version was 0.0.0.13, released around 24 May 2005! Version 1.0.0 was released on 3 June 2005... http://forums.ubi.com/groupee/forums/a/tpc/f/857101043/m/9091061723

Familiar comments...

STEED
05-20-06, 06:06 AM
Happy Birthday SH3C. :()1:

Dowly
05-20-06, 06:09 AM
Yay! :up:

Mr.Fleck
05-20-06, 07:05 AM
Nice reading, thanx for sharing! :up:

Cheers
Mr. Fleck

Myxale
05-20-06, 08:47 AM
:o
Wow, this is how legends come into being!

A simply mail started the SH3C I use everyday?

COOOL! :rock:

Kudos and H-B-D :hmm:

Miss Behavin
05-20-06, 08:51 AM
Very interesting. I always enjoy seeing things "from behind the scenes." Thanks for sharing.

Also, thanks for everything you modders do. Sure makes a huge difference.

Best Wishes!

Miss Behavin'

joea
05-20-06, 10:57 AM
Happy BDay! :sunny: :()1:

Sailor Steve
05-20-06, 11:34 AM
Entertaining reading! Happy Birthday, SHIII Commander!

gdogghenrikson
05-20-06, 05:30 PM
Hehe. So long ago. And on 7 May 2005 "JoneSoft SH3 Career Manager" officially became "SH3 Commander".

And May 7 is my Birthday :up: :up: :up: :up: