SUBSIM Radio Room Forums



SUBSIM: The Web's #1 resource for all submarine & 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-28-06, 06:19 AM   #76
KaleunPeter
Swabbie
 
Join Date: Oct 2005
Posts: 8
Downloads: 0
Uploads: 0
Default

Now that was a fast fix...

Just installed 0.3.2 and ran it on my savegame from out of Wilhelmshaven. Generation completed without errors. Good work.
KaleunPeter is offline   Reply With Quote
Old 01-28-06, 06:36 AM   #77
GlobalExplorer
Admiral
 
Join Date: May 2005
Location: Berlin
Posts: 2,015
Downloads: 165
Uploads: 0
Default

Quote:
Originally Posted by KaleunPeter
Now that was a fast fix...

Just installed 0.3.2 and ran it on my savegame from out of Wilhelmshaven. Generation completed without errors. Good work.
Don't wonna lose you as a customer

Btw, 9/1939 is about the strangest month in the whole war. You will get twice as many contacts during this time than during the rest of the war. I will have to talk with campaign designers why this is the case. It could be intentional to simulate easy picking during the first weeks, but I find it overdone.

And yes, this should mean that there is generally more traffic in 9/1939. Maybe nobody has noticed this yet, as Sh3Gen is the first application that can visualize the traffic during a patrol.
__________________

GlobalExplorer is offline   Reply With Quote
Old 01-28-06, 06:55 AM   #78
JScones
Navy Seal
 
Join Date: Apr 2005
Posts: 5,501
Downloads: 19
Uploads: 0
Default

Quote:
Originally Posted by GlobalExplorer
This won't do, as Sh3 will not display entries with Type <> 0
How inconsiderate of it. Curiously, where *does* the text added by SH3Gen display within SH3?

Quote:
Originally Posted by GlobalExplorer
As far as Cmdr is concerned, I think the check for entries without EntryTitle might be better.

Something like:

try
{
EntryTitle = ClgFile.Read("Log entry " + index, "EntryTitle");
//proceed with reading the entry
//...
}
catch
{
//EntryTitle doesn't exist, so entry will be skipped
}
Peh. Just gotta add if (not iIdx in [0,slEntries.Count - 1]) and (Length(iniFile.ReadString(slEntries[iIdx], 'EntryTitle', '')) = 0) then continue; as the first line in the loop.

I still need to ensure that the first and last entries are included even though they have no EntryTitle, hence the first test. The second test explicitly looks for an EntryTitle value, as this is more robust than just checking for the existance of the key.

I must admit that I'm not a big fan of this solution as it means that no user added entry can utilise the "EntryTitle" key (plus I suspect that this design decision will come back and haunt me when I get into the expanded patrol log feature) - I'd almost suggest that a new key should be written when manually adding entries which SH3Cmdr can check for and exclude. Something such as "NonSH3Entry=1" or whatever. Either way, though, it's only one extra line of code.

EDIT...Reflectively thinking...Perhaps by writing a unique key you can save yourself some hassle when removing your changes from the Log files? For instance, SH3Cmdr won't care whether the "NonSH3Entry" value is 0, 9, 99, 354.66 or PurpleMonkeyDishwater, so you could specifically write "NonSH3Entry=SH3Gen" and then check for the presence of this value when removing your entries.
JScones is offline   Reply With Quote
Old 01-28-06, 08:22 AM   #79
GlobalExplorer
Admiral
 
Join Date: May 2005
Location: Berlin
Posts: 2,015
Downloads: 165
Uploads: 0
Default

Quote:
Originally Posted by JScones
I'd almost suggest that a new key should be written when manually adding entries which SH3Cmdr can check for and exclude. Something such as "NonSH3Entry=1" or whatever. Either way, though, it's only one extra line of code.

EDIT...Reflectively thinking...Perhaps by writing a unique key you can save yourself some hassle when removing your changes from the Log files? For instance, SH3Cmdr won't care whether the "NonSH3Entry" value is 0, 9, 99, 354.66 or PurpleMonkeyDishwater, so you could specifically write "NonSH3Entry=SH3Gen" and then check for the presence of this value when removing your entries.
Yes. Thats so much better than my proposal. And seems to work too. I have just loaded a file with additional properties NonSh3=true and it showed up fine. I must do some more testing of course.

In fact this idea will help me implement some new features easily
__________________

GlobalExplorer is offline   Reply With Quote
Old 01-28-06, 08:39 AM   #80
JScones
Navy Seal
 
Join Date: Apr 2005
Posts: 5,501
Downloads: 19
Uploads: 0
Default

Quote:
Originally Posted by GlobalExplorer
Yes. Thats so much better than my proposal. And seems to work too. I have just loaded a file with additional properties NonSh3=true and it showed up fine. I must do some more testing of course.

In fact this idea will help me implement some new features easily
Be careful though - whilst SH3Cmdr won't care, users of SH3Whatever which also writes to the log may get upset if you strip all entries where NonSH3=true, 'cause you may take out more than just your own! For that reason, I'd set a (string) value which will be unique to SH3Gen, so you can query it with full confidence that you're not gonna strip out someone else's added text.

For that reason, can we perhaps change the keyname to "EntrySource"?

BTW, my one line of code looks much neater now...
if iniFile.ValueExists(slEntries[iIdx], 'EntrySource') then continue;
JScones is offline   Reply With Quote
Old 01-28-06, 08:48 AM   #81
GlobalExplorer
Admiral
 
Join Date: May 2005
Location: Berlin
Posts: 2,015
Downloads: 165
Uploads: 0
Default

Quote:
Originally Posted by JScones
Be careful though - whilst SH3Cmdr won't care, users of SH3Whatever which also writes to the log may get upset if you strip all entries where NonSH3=true, 'cause you may take out more than just your own! For that reason, I'd set a (string) value which will be unique to SH3Gen, so you can query it with full confidence that you're not gonna strip out someone else's added text.

For that reason, can we perhaps change the keyname to "EntrySource"?
Yes, something like EntrySource=Sh3Gen is best, as entries can be directly identified and removed.

Quote:
Originally Posted by JScones
BTW, my one line of code looks much neater now...
if iniFile.ValueExists(slEntries[iIdx], 'EntrySource') then continue;
Hehe, that can still be improved. In C#, my aim is usually something like:

ClgFile File=new ClgFile(Path);
foreach(ClgEntry Entry in File.Entries)
{
//process entry
}
__________________

GlobalExplorer is offline   Reply With Quote
Old 01-28-06, 09:01 AM   #82
JScones
Navy Seal
 
Join Date: Apr 2005
Posts: 5,501
Downloads: 19
Uploads: 0
Default

Quote:
Originally Posted by GlobalExplorer
Yes, something like EntrySource=Sh3Gen is best, as entries can be directly identified and removed.
Done. If you/anyone wants the updated SH3Cmdr.exe file, let me know.
JScones is offline   Reply With Quote
Old 01-28-06, 09:52 AM   #83
Rubini
Ocean Warrior
 
Join Date: May 2005
Location: São Paulo Brazil
Posts: 2,728
Downloads: 132
Uploads: 0
Default

Hi JScone and GlobalExplorer,
Great work! Thanks to solve this issue so quickly!
I should like to test the new SH3Cmdr fix.
My email:
arubinig@ig.com.br
I will install the SH3Cmdr 2.4 (with the fix) today and run some tests with SH3Gen.



GlobalExplorer,
Today at night I will upload the text file from HT to you.


Rubini.
Rubini is offline   Reply With Quote
Old 01-28-06, 01:41 PM   #84
GlobalExplorer
Admiral
 
Join Date: May 2005
Location: Berlin
Posts: 2,015
Downloads: 165
Uploads: 0
Default

@JScone: I have uploaded a sample output file. Could you please have a look if this is in accordance with your fix?

http://www.global-explorer.de/1939.clg

I hope you can all wait a little bit My reworked output will be in version 0.4.0, which I hope to finish in a couple of days. It will change much more than the Sh3Cmdr fix. My aim is an intelligent output that will no more overwrite your sinkings or map entries.

@Rubini: I am looking forward to see your HT file!
__________________

GlobalExplorer is offline   Reply With Quote
Old 01-28-06, 11:50 PM   #85
irish1958
Ocean Warrior
 
Join Date: Apr 2005
Location: Carmel, Indiana
Posts: 3,250
Downloads: 320
Uploads: 11
Default SH gen

GlobalExplorer,
Thanks for your wonderful work. This mod is great and add greatly to the game. I'm glad you are working with other modlers to intigrate and improve this idea.
irish1958
irish1958 is offline   Reply With Quote
Old 01-29-06, 03:08 PM   #86
Oldgold
Stowaway
 
Posts: n/a
Downloads:
Uploads:
Default

Two thumbs up! Got me intrested in SH3 all over again. Looking foward to hearing future development to this fine mod. Dankeshien Christain!
  Reply With Quote
Old 01-30-06, 08:15 AM   #87
GlobalExplorer
Admiral
 
Join Date: May 2005
Location: Berlin
Posts: 2,015
Downloads: 165
Uploads: 0
Default

@:irish1958&Oldgold: I am glad you are liking my idea, which grew during half a year of playing Sh3. My plan had originally been to create something similar to Paul Lowengrin's DCG. But later I realized that Sh3 doesn't need a DCG, but rather a means to make the already "dynamic" campaigns more accessible. In fact, most of Sh3Gen should have been implemented in Sh3 in the first place.
__________________

GlobalExplorer is offline   Reply With Quote
Old 01-30-06, 08:16 AM   #88
GlobalExplorer
Admiral
 
Join Date: May 2005
Location: Berlin
Posts: 2,015
Downloads: 165
Uploads: 0
Default

2006-01-30: Update on Sh3Cmdr compatibility and coming version 0.4

As some people have asked me for the curent status of Sh3Gen I will sum up where we're standing at the moment.

Currently Sh3Cmdr's "Update Personnel File" function will not work on campaigns that have been "enhanced" with Sh3Gen JScones and I are working on a solution for that. In fact we already had a solution which unfortunately turned out to be not working

I have also encountered some minor problems with re-saving and re-loading. A lot of info would get lost when you were re-saving a savegame generated with Sh3Gen.

I have already fixed these problems for version 0.4, and added improvements as well. The whole output has been re-structured so that it should give better clarity as well as no more cause problems with re-save/re-load.

Moreover, as already announced, version 0.4 will be able to write output intelligently, so that you will no more lose previous waypoints, map entries, sinkings, etc. That means, you should also be able to use Sh3Gen in mid-patrol.

The only problem that remains is the "Update Personnel File" function in Sh3Cmdr. Hopefully JScones and I will have found a solution for this soon. As soon as this is done, I will release version 0.4

Sh3Gen is going to stay beta for a while. For the final release I will be able to provide you with a version that has much better error tolerance. Right now Sh3Gen is set up in a way that it will break off as soon as there is a problem with your data, that's why people are still getting error messages. As with all data-sifting applications, it would be possible to simply ignore the piece of data concerned and continue processing, and the final release will work like that. But at the current stage, it's better to let the application generate an error so that people can report it to me. Therefore, if you encounter abnormal program termination, I encourage you to publish the details as a number of people already did.

GlobalExplorer
__________________

GlobalExplorer is offline   Reply With Quote
Old 01-30-06, 08:54 AM   #89
Rubini
Ocean Warrior
 
Join Date: May 2005
Location: São Paulo Brazil
Posts: 2,728
Downloads: 132
Uploads: 0
Default

Hi GlobalExplorer,

I'm using the SH3Gen on the last two days without problems. I have a heavy modded SH3 instalation (not RUB) with HT 1.47 and SH3 Cmdr 2.4. The only tiny problems are that what you have pointed on the last post.
Now that i'm using it I can make that text files to send to you soon!

Rubini.
Rubini is offline   Reply With Quote
Old 01-31-06, 01:57 PM   #90
GlobalExplorer
Admiral
 
Join Date: May 2005
Location: Berlin
Posts: 2,015
Downloads: 165
Uploads: 0
Default

Version 0.4.0 has been uploaded to my site.

There are a multitude of changes. The main improvement is the 'intelligent' output. In previous versions, generation would erase most previous map and war diary content. Now, if you use Sh3Gen it will preserve all you waypoints, map entries, sinkings, etc. I think with the new features Sh3Gen is almost ready for general use.

Unfortunately, the new output will not be fully satisfying when used with previous savegames. That's one of the ugly things of beta testing You might be able to use the intelligent output with older savegames, but the full features will only be available when you start over with version 0.4.

Other changes:

- added option to selectively disable map and/or war diary output
- added option to check ship destruction and commissioning dates
- removed aircoverage plotting

Version 0.4.0 does not yet contain the promised fix for Sh3Cmdr, because we ran into a little problem and JScones seemed to be unavailable today.

But I have implemented a solution for Sh3Cmdr users that is pretty simple. I have included the promised function to remove Sh3Gen entries after patrol. That means, if you want to use Sh3Gen 0.4 and Sh3Cmdr 2.4, all you have to do is to use my new Sh3Log Editor to remove all Sh3Gen entries from your logfiles (see readme for Sh3Log).

This can also be used if you want to remove my entries for esthetic reasons, i.e. after the patrol, when you only look at the patrol logs for a summary of your sinkings.

In fact, I went overboard and have thrown together a basic editor for patrol log files. For the improved output features in 0.4 I had already implemented the backend for such a program, so I thought I could just write a basic GUI and include it in the package. It should be noted however, that I am not sure if I am going to invest a lot of my time into editor. If people really want to use it, I could implement the missing features (mainly insert and delete entries). But at the moment, Sh3Log should be considered as bonus. I think it will be pretty useful for myself, because there is no alternative atm, and maybe some others will use it too.



I have reorganized the whole output. There should be no more problems with re-saving / re-loading. Moreover, text flow as well as clarity have been improved. Targets are now ordered under the suspected location. The text flow will now integrate well with sinkings and patrol summary. Overall, I think it's pretty good now







__________________

GlobalExplorer is offline   Reply With Quote
Reply


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:33 AM.


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