SUBSIM Radio Room Forums

SUBSIM Radio Room Forums (https://www.subsim.com/radioroom/index.php)
-   SHIII Mods Workshop (https://www.subsim.com/radioroom/forumdisplay.php?f=195)
-   -   "SH3Gen" Campaign enhancement (version 0.6.0) (https://www.subsim.com/radioroom/showthread.php?t=88438)

GlobalExplorer 01-16-06 11:22 PM

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 :shifty: . 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

http://www.global-explorer.de/thumbs/uk2.jpgYou 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.
http://www.global-explorer.de/theaters.jpg

Marhkimov 01-16-06 11:28 PM

WOW! This looks promising. :yep:

Ducimus 01-16-06 11:31 PM

WOW :o

This does most certainly look to remove the tedium from patrols. An engaging experience is a good one.

Vonsteel 01-16-06 11:48 PM

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

THE_MASK 01-17-06 12:14 AM

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.

Vonsteel 01-17-06 12:33 AM

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.

Noily 01-17-06 10:49 AM

GlobalExplorer - A quick question is this designed to be used with a clean install or can it be used with mods :up:

Skweetis 01-17-06 01:38 PM

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.

Tazzie 01-17-06 01:45 PM

Has anybody got this mod to work yet? :hmm:

Mr.Fleck 01-17-06 02:27 PM

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

GlobalExplorer 01-17-06 02:35 PM

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.

Mr.Fleck 01-17-06 02:36 PM

@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

Marhkimov 01-17-06 03:03 PM

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:

GlobalExplorer 01-17-06 03:26 PM

@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.

Mr.Fleck 01-17-06 03:52 PM

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. :oops:

Everything looks fine right now :up:

Cya
Mr. Fleck


All times are GMT -5. The time now is 07:41 PM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © 1995- 2024 Subsim®
"Subsim" is a registered trademark, all rights reserved.