SUBSIM Radio Room Forums


SUBSIM: The Web's #1 BBS for all submarine and naval simulations since 1997

Go Back   SUBSIM Radio Room Forums > Silent Hunter 3 - 4 - 5 > SHIII Mods Workshop
Forget password? Reset here

Reply
 
Thread Tools Display Modes
Old 01-16-2006, 11:22 PM   #1
GlobalExplorer
Admiral
 
Join Date: May 2005
Location: Berlin
Posts: 2,015
Downloads: 165
Uploads: 0
Default SH3Gen Campaign enhancement (version 0.8.2)

UPDATE 2009-09-14

I've focussed my activities on other things and there is no more time for Sh3Gen to be actively developed. But because of its design, it can be run with SHIII in the future.
Sorry that I never took the time to fix the issue with dolphins appearing as icebergs . But I wrote instructions how you can easily fix it in several threads in the past
Since there were some problems with the web page, I put up the download again. If you miss the old website content it is contained in the installation package in folder Sh3Gen/Documentation/Web.


Latest version is 0.8.2 and everything you need can be downloaded from here: http://www.global-explorer.de/SH3GEN...e_download.htm

Sh3Gen campaign enhancement

Sh3Gen is an external patrol engine for Silent Hunter III. It is reading and analyzing the main application files, adds historic and geospatial data and writes back an updated patrol information into a savegame. The new information shows up on reload of the savegame, in the ingame map and wardiary.

Sh3Gen is designed to be fully compatible with all mods for SHIII, and its data structures are open for community mods. Using Sh3Gen is safe, as the only files affected are the ones from the specified savegame. Sh3Gen is not a mod, but an application, and can safely be run with any mod, as long as the mod is working in the first place. Since its release, the concept has proven to be working, user have reported that the program is stable and clean.

Precisely, you will be given information about:

■ enemy ports - what kind of ships are there?
■ warships, big ships and convoys - where does naval intelligence suspect them to be?
■ the overall situation - whats going on in the world in general?
■ single merchants - in which areas can you expect to find unprotected shipping?
■ position of allied airbases - deduct amount of allied airpower from this

In addition to the data that comes from SHIII, it adds layers of 'virtual' data, namely:

■ real, varying mission objectives
■ standing operational orders in effect during the patrol, specifically researched for the whole war

Sh3Gen is meant to be an athmosphere and gameplay enhancement, not a spysat mod. Therefore, any information will be given randomly and will often not be reliable. There are a multitude of options to adjust reliability and amount of information to your playing style, as well as options to switch off certain modules.

You will also be given real mission objectives, derived from patrol data, for the first time giving missions an interesting purpose, that is tightly integrated within the game world. There is no direct reward for fulfilling the objectives in terms of prestige points, other than what you make of it in your imagination, but I think it will reward you with much more interesting missions than vanilla SHIII.

The first time you use Sh3Gen please read my quickstart guide. The instructions might sound a bit complicated or daunting, but in fact it is very simple and logical, as you will notice if you have used it a few times.

See this thread for information about the Tracking Room Edition, which automatically creates detailed strategic maps for you:

http://www.subsim.com/radioroom/showthread.php?t=106314

You need DotNET Framework to run this software. I offer working versions for both .NET 1.1 and 2.0. Ignore everything you might read about lack of .NET 2.0 compatibility, while I am updating the documentation.



Thanks to all people involved, especially: Brad Golding, Hans Abbadon, Georg Unterberg. My thanks also go to Jaeson Jones, bigboywooly and the GWX crew for their support.
__________________


Last edited by GlobalExplorer; 09-14-2009 at 05:11 PM. Reason: updated version
GlobalExplorer is offline   Reply With Quote
Old 01-16-2006, 11:28 PM   #2
Marhkimov
Admiral
 
Join Date: May 2005
Location: Bay Area, California, USA
Posts: 2,379
Downloads: 0
Uploads: 0
Default

WOW! This looks promising.
__________________
It takes two to tango
Marhkimov is offline   Reply With Quote
Old 01-16-2006, 11:31 PM   #3
Ducimus
Rear Admiral
 
Ducimus's Avatar
 
Join Date: May 2005
Posts: 12,996
Downloads: 67
Uploads: 2


Default

WOW

This does most certainly look to remove the tedium from patrols. An engaging experience is a good one.
Ducimus is offline   Reply With Quote
Old 01-16-2006, 11:48 PM   #4
Vonsteel
Watch
 
Join Date: Mar 2005
Posts: 27
Downloads: 87
Uploads: 0
Default

BLOODY FANTASTIC.... Downloading now!
It certainly gives you a bit more to do and think about instead of hitting the X button all the time to get to the destination quickly..

Very nice effort
Vonsteel is offline   Reply With Quote
Old 01-17-2006, 12:14 AM   #5
sober
Ace of the deep .
 
sober's Avatar
 
Join Date: Jan 2006
Posts: 9,113
Downloads: 896
Uploads: 73


Default

It says there is an unhandled exception


See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
at Sh3Gen2.Database.Campaign.Interpreter.CInterpreter .prime(CGroups Groups)
at Sh3Gen2.Database.Campaign.Interpreter.CInterpreter .Run()
at Sh3Gen2.Database.Campaign.CCampaign.initializeCamp aignData()
at Sh3Gen2.Applications.MapGen2.CMapGenerator.Run(Str ing PatrolGrid)
at Sh3Gen2.Applications.MapGen2.CMapGen2.Button_OK_Cl ick(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventAr gs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage (Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(M essage& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)




************** JIT Debugging **************
To enable just in time (JIT) debugging, the config file for this
application or machine (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
sober is offline   Reply With Quote
Old 01-17-2006, 12:33 AM   #6
Vonsteel
Watch
 
Join Date: Mar 2005
Posts: 27
Downloads: 87
Uploads: 0
Default

Bah.... Just installed and got this trying to generate



See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ArgumentException: Item has already been added. Key in dictionary: "BBKingGeorgeV" Key being added: "BBKingGeorgeV"
at System.Collections.SortedList.Add(Object key, Object value)
at Sh3Gen2.Foundation.Containers.CSortedCollection.ad d(Object Item, String Key)
at Sh3Gen2.Database.Campaign.CPeriod.initializeFactio ns()
at Sh3Gen2.Database.Campaign.CPeriod..ctor(String Key, String Name, Int32 BeginDate, Int32 EndDate)
at Sh3Gen2.Database.CDatabase.GetPeriod(Int32 Date)
at Sh3Gen2.Applications.MapGen2.CMapGenerator.Run(Str ing PatrolGrid)
at Sh3Gen2.Applications.MapGen2.CMapGen2.Button_OK_Cl ick(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventAr gs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage (Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(M essage& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll
----------------------------------------
Sh3Gen2
Assembly Version: 1.0.2208.7904
Win32 Version: 1.0.2208.7904
CodeBase: file:///C:/Program%20Files/Sh3Gen/Sh3Gen.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
----------------------------------------
System
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
----------------------------------------
System.Drawing
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll
----------------------------------------

************** JIT Debugging **************
To enable just in time (JIT) debugging, the config file for this
application or machine (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the machine
rather than being handled by this dialog.
Vonsteel is offline   Reply With Quote
Old 01-17-2006, 10:49 AM   #7
Noily
Swabbie
 
Join Date: Apr 2005
Location: Oxford, UK
Posts: 7
Downloads: 115
Uploads: 0
Default

GlobalExplorer - A quick question is this designed to be used with a clean install or can it be used with mods
Noily is offline   Reply With Quote
Old 01-17-2006, 01:38 PM   #8
Skweetis
Watch Officer
 
Join Date: Sep 2001
Location: Cambridge, Canada
Posts: 330
Downloads: 0
Uploads: 0
Default

note that dotNET 1.1 and 2.0 are exclusive. Programmes written with 1.1, will not work if you only have 2.0 installed.
Skweetis is offline   Reply With Quote
Old 01-17-2006, 01:45 PM   #9
Tazzie
Helmsman
 
Join Date: Dec 2005
Location: NSW, Australia
Posts: 101
Downloads: 5
Uploads: 0
Default

Has anybody got this mod to work yet? :hmm:
Tazzie is offline   Reply With Quote
Old 01-17-2006, 02:27 PM   #10
Mr.Fleck
Planesman
 
Join Date: May 2005
Location: Germany
Posts: 197
Downloads: 0
Uploads: 0
Default

Yes, its working fine for me.

I'm using Win XP with latest patches, .NET 1.1, SH 3 with RuB 1.45, SH3 Commander and a variation of graphics and sound mods.

The map markings and information are visible. The information in the war diary is not visible. I suspect SH3 Commander is overwriting it or the wrong file is written when SH3 Commander is used.

I like the tool and encourage GlobalExplorer to continue his work.

Cheers
Mr. Fleck
Mr.Fleck is offline   Reply With Quote
Old 01-17-2006, 02:35 PM   #11
GlobalExplorer
Admiral
 
Join Date: May 2005
Location: Berlin
Posts: 2,015
Downloads: 165
Uploads: 0
Default

Today I have issued version 0.1.1 that should fix some of the issues posted here.

To all the people who dowloaded Sh3Gen and got Exception messages as posted by some, this is happens while Sh3Gen is building its database (see FAQ). I have put restrictions on the use of exception handling, because I want to see whats going on. If these problems are handled at runtime, the results of the generation process might be unsatisfactory, without us knowing why.

One thing that Sh3Gen is very good at is showing small inconsistencies in the mods you are using. I have found out some interesting things, for small errors in Harbour Traffic like a Swedish naval base in Izmir and the like. There are also German ships in French harbours at the wrong time and naval bases in CAMPAIGN_RND, though this might be a feature of the milchcow mod.

If you encounter problems and are looking for a solution please:

- post the name of the campaign mod you're using (RuB, HT, IuB, U-Boat War, TeddyBar, ..)
- send me the exact error message like some users already did. It helps me assess the problem greatly.

@Cdre Gibs: You might have dotNET 2.0 installed. My new version lets you continue the installation, though my dotNET check is not successful. I haven't tried it with dotNET 2.0 yet, but Microsoft says it should be compatible. Also keep in mind that as of now, dotNET 2.0 is still only beta. Please retry with version 0.1.1 and tell me if it worked.

@Vonsteel: Your Roster\Sea contains .cfg files with incorrect ClassNames (looks like you spawned the .cfg of BBRevenge for another unit). This has been fixed in 0.1.1, by using the filename instead of the ClassName in the .cfg file.

@sober: I have included a change in 0.1.1 that might help with your problem, but I am not sure. Please post which campaign mod you're using, and maybe send me the file Sh3Gen.log by email.

@Noily: You can absolutely use it with mods, but right now there are still some problems.

Some info from the updated FAQ, which might help as well with your problems:

Q: Does this require a "clean" install or can I use it with mods?
A: Of course you can use it with mods. The program might however create an error message with some mods, and be unable to successfully generate data. Because the program is designed to read whats there and see what can be made out of the data, you should always give it a try. The worst thing that can happen is that you will not be able to use the program with your particular mods and that the generation process might not be successful, but you can be 100% sure that your Sh3 installation is not harmed.

Q: I am getting exception messages that say a certain item could not be added or a certain object does not exist. Can you explain to me whats going on?
A: These errors usually occur if some of the data in your Sh3 folder is inconsistent (usually if a unit or classname has been used twice) and it is exactly the kind of error that is to be excepted wile Sh3Gen is building its database. Keep in mind that, while the program itself is pretty small, it is analyzing large amounts of text (right now ~ 20 Mb). Usually, this text has been changed my a multitude of mods, and not every small mistake shows up in Sh3. Right now Sh3Gen is designed to be pretty picky about data consistency, because I don't want to get unpredictable results, and I also want to see what went wrong.
__________________


Last edited by GlobalExplorer; 10-25-2008 at 07:30 PM.
GlobalExplorer is offline   Reply With Quote
Old 01-17-2006, 02:36 PM   #12
Mr.Fleck
Planesman
 
Join Date: May 2005
Location: Germany
Posts: 197
Downloads: 0
Uploads: 0
Default

@GlobalExplorer: Do you use different randomization ranges for enemy and for friendly minefields and sub nets? Since the position of friendly minefields and sub nets should be well known, I suggest either very small positional variations or no variation at all. What do you think?

So long
Mr. Fleck
Mr.Fleck is offline   Reply With Quote
Old 01-17-2006, 03:03 PM   #13
Marhkimov
Admiral
 
Join Date: May 2005
Location: Bay Area, California, USA
Posts: 2,379
Downloads: 0
Uploads: 0
Default

So I take it that SH3Gen is really good at discovering errors which might be present in other mods?

Perhaps it could be used in a secondary measure as a "checking" tool for modders??? :hmm:
__________________
It takes two to tango
Marhkimov is offline   Reply With Quote
Old 01-17-2006, 03:26 PM   #14
GlobalExplorer
Admiral
 
Join Date: May 2005
Location: Berlin
Posts: 2,015
Downloads: 165
Uploads: 0
Default

@Mr.Fleck: Thanks for the thumbs up. You are correct, the mine randomization is a special issue. Right now I am not showing the waypoints of all the mines, but just the waypoint of the OrdnanceUnit. The problem with randomization in ports is, that units might show up on land, but a small randomization would be better. I have put this into valid suggestions.

@Mr.Fleck: I am not using Sh3Commander, but if it is writing into the wardiary as well, you can't have both. But in coming versions it should be absolutely no problem to analyze the wardiary better (right now it also overwrites your sinkings, thats why I said generate at the beginning of a mission, somewhat out of port).

@Marhkimov: To some extent. I guess I could implement a spysat mode that shows all units in a certain timeframe with their internal Ids. You can also find some information in Sh3Gen's debug files. But right now I don't have plans to implement too many nice-to-have's, as there is still much work to be done to improve the current features.
__________________

GlobalExplorer is offline   Reply With Quote
Old 01-17-2006, 03:52 PM   #15
Mr.Fleck
Planesman
 
Join Date: May 2005
Location: Germany
Posts: 197
Downloads: 0
Uploads: 0
Default

SH3 Gen seems to work with SH3 Commander. My previous statement that SH3 Commander is conflicting with the war diary is wrong. It was my mistake. I must have messed up the files.

Everything looks fine right now

Cya
Mr. Fleck
Mr.Fleck is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -5. The time now is 09:23 PM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Copyright © 1995- 2019 Subsim