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)
-   -   [WIP] Automatic log-book editor (https://www.subsim.com/radioroom/showthread.php?t=178255)

LGN1 12-22-10 02:54 PM

Quote:

Originally Posted by h.sie (Post 1558700)
Great Idea. Sh3 is not yet dead. NOT YET.

Could it work in the background during gameplay?

No, I don't think so (without touching hard-code). You need a save-game (Global Explorer's great SH3 Generator does the same). Being able to add comments to the log book (and the map) during playing would be one of the greatest additions for gameplay/immersion. Maybe you can find a way how to add comments during gameplay :D

Quote:

Originally Posted by Delareon (Post 1558702)
Ah suggestion: as i see for example in the log for the sunked Passagierdampfer.
There are many messages which are similiar like the "Torpedotreffer". All the same time and the same message. Would it be possible to group them?
for example "3 Torpedotreffer" or when u launch many torpedos in small intervalls something like "Torpedoschuss aus Rohren 3, 4, 5, 6".

Just an idea if its possible to implement would be nice, because of a shorter log ;)

It's certainly possible, however, it requires additional coding :hmmm: There are many such things that are possible if you 'connect' different entries (at the moment all entries are treated independently). E.g., if the crew spots a merchant and warship in quick succession, you could add a comment that a convoy has been spotted. All possible, but more involved because you cannot do things just entry-by-entry. I'm not sure whether it's worth the effort because the player can quickly change the entries later depending on the situation and the coding can quickly become quite involved (checking all possible combinations,...). I guess in a first version I will just treat the entries independently.

Cheers, LGN1

DaveP63 12-22-10 06:21 PM

Amazing piece of work! Can't wait to see it implemented :salute:

CherryHarbey 01-02-11 12:36 PM

LGN1,
is this still work in progress or wasn't there enough interest or has it just taken a back seat during the festive period?
really looking forward to seeing this published if it possible.

LGN1 01-05-11 01:12 PM

Quote:

Originally Posted by CherryHarbey (Post 1565146)
LGN1,
is this still work in progress or wasn't there enough interest or has it just taken a back seat during the festive period?
really looking forward to seeing this published if it possible.

It's still work in progress. I just took a back seat and also worked on some other things.

Cheers, LGN1

frau kaleun 01-05-11 01:55 PM

Quote:

Originally Posted by CherryHarbey (Post 1565146)
really looking forward to seeing this published if it possible.

Me too, looks very cool.

JScones 01-05-11 08:05 PM

Quote:

Originally Posted by LGN1 (Post 1558805)
No, I don't think so (without touching hard-code). You need a save-game (Global Explorer's great SH3 Generator does the same). Being able to add comments to the log book (and the map) during playing would be one of the greatest additions for gameplay/immersion. Maybe you can find a way how to add comments during gameplay :D

Having spent many months on this back in 2005 (there's posts here from the time referencing it), I can say this can easily be achieved through the use of a simple TSR that regularly polls the .crp file looking for changes. It may require the player to save the patrol first (can't quite remember now if the file is written as an event takes place or when the game is saved), but it was certainly doable - I know because I had a prototype running in Oct2005 (and a public release beta in Jan2006). One of the many functions I ultimately planned to add to SH3CTSR.exe, but never did because I foresaw the below...

Quote:

Originally Posted by Delareon (Post 1558702)
Ah suggestion: as i see for example in the log for the sunked Passagierdampfer.
There are many messages which are similiar like the "Torpedotreffer". All the same time and the same message. Would it be possible to group them?
for example "3 Torpedotreffer" or when u launch many torpedos in small intervalls something like "Torpedoschuss aus Rohren 3, 4, 5, 6".

Just an idea if its possible to implement would be nice, because of a shorter log ;)

And thus why I never implemented the "extended" logbook functionality and left it at the "basic" functionality that it currently has...to do it right requires a lot of work and lookup tables (with underlaying logic) to ensure that the output is exactly as one would expect a Kaleun to write. So no ", sir!" or repeating "Ship sighted!" or "Torpedo fired!" entries. Anything non-authentic would just lead to "can you fix/change" posts which would just lead to a never ending spiral. To avoid this requires a lot of upfront work defining the text and the logic to replace the default text (remembering that the text varies between mods, so you need a dynamic solution that will work with any mod, or at least an easy way to make it adjustable for any mod) to ensure a contextually correct patrol log.

Good luck! If there is anything I can do to help (I still have some of my notes, my prototypes and lookup files), just let me know.

LGN1 01-06-11 08:34 AM

Thanks a lot for the input, JScones :up:

I was hoping that you would show up with some comments because I thought that you probably have thought about this before and you have a huge knowledge about it!

I completely agree with you that it is a huge amount of work to get a decent automatic log (maybe even impossible with the limited information in the crp file). However, I had the following ideas in my mind when I started it:

- A perfect, automatic log is not possible (at least for me). However, even having a few more distinct events in the log file would be a big improvement (e.g., torpedo hits so that it's documented if you hit something that did not sink).

- A non-perfect log can be corrected/adjusted later with your excellent patrol editor, i.e., the program creates a first rough draft. It's up to the player to do the fine finishing. For players using your patrol editor it might be a help and reduces the amount of typing.

- I limit myself to distinct events that do not happen very often. For others I have an option that there must be some (adjustable) time delay between instances. E.g., 'ship spotting' entries must be x hours apart. This is only a very rough 'logic', but works ok for me.

Clearly, this is not a perfect log! However, at least for me it's better than the original log.

At first I did not want to present the script here, but just use it for myself. However, when looking at the Tell us what you are upto in your current campaign thread I thought that it might be useful for others, too. I hope, it's clear to everyone here that this will never be a tool for creating a perfect log automatically.

Cheers, LGN1

PS: I would really like to test your beta. Is it still available somewhere?

Could you please comment on this part of your post a bit more:

...through the use of a simple TSR that regularly polls the .crp file looking for changes. It may require the player to save the patrol first (can't quite remember now if the file is written as an event takes place or when the game is saved), but it was certainly doable...

JScones 01-06-11 05:18 PM

Quote:

Originally Posted by LGN1 (Post 1567881)
I was hoping that you would show up with some comments because I thought that you probably have thought about this before and you have a huge knowledge about it!

I spent about 6 months, maybe a little more, on it. Just didn't have the time to do it the way I wanted to.

Quote:

Originally Posted by LGN1 (Post 1567881)
- A perfect, automatic log is not possible (at least for me). However, even having a few more distinct events in the log file would be a big improvement (e.g., torpedo hits so that it's documented if you hit something that did not sink).

Yes, even just a few entries, such as the weather, would be beneficial.

Talking about the weather, I am not sure I agree with the 24 hour limitation. Given weather reports are requested manually by the player at any time, it stands to reason that the response would be recorded in their log book.

Quote:

Originally Posted by LGN1 (Post 1567881)
PS: I would really like to test your beta. Is it still available somewhere?

I hope so - I still have the emails and results. Will check my archive drive shortly.

Quote:

Originally Posted by LGN1 (Post 1567881)
Could you please comment on this part of your post a bit more:

...through the use of a simple TSR that regularly polls the .crp file looking for changes. It may require the player to save the patrol first (can't quite remember now if the file is written as an event takes place or when the game is saved), but it was certainly doable...

The simplest way of doing it is to create a console app that runs while SH3 is running.

When it starts, have it find all .crp files in the user's savegame folder and store the last modified date for each (you need to do this because you won't know the career the player wants to use up front, a problem I didn't have with SH3Cmdr).

Then have the console app "wait" for SH3.exe to close. Once this occurs, the app can requery the .crp files. Any that have a newer modified date can be assumed to have changed. Run your function against these .crp files. For SH3Cmdr users you'll find only one career and one .crp file tends to change in a session, but this way will capture those who play multiple careers in one session.

There's other ways of doing it (if you knew the user was running SH3Cmdr you could easily obtain details of the career the player intended to use, because SH3Cmdr writes the info "into" SH3, but if you want compatibility with non SH3Cmdr users, you won't be able to do this).

The entries Beery and I tentatively started with were:

45=The base was changed to: %s
57=Flotilla is disbanded. You are transferred to %s.
520=We have casualties, sir!
590=Medic called to attend to a wounded man.|N|3; Meediiiiiic!!!
591=We have sustained casualties on deck.|N|3; Men down on the deck!
592=We have flooding, sir!
593=We have heavy flooding, sir!
594=We have critical flooding, sir!
597=Torpedo Impact!
598=Enemy is pinging us, sir!
599=Enemy ship engaging us, sir!
600=Enemy aircraft engaging us, sir!
602=We're under attack, sir!
603=Depth charges in the water, sir!
604=We're taking damage, sir!
606=Enemy ship is ramming us, sir!
607=Destroyer in attack run!
633=%s damaged, sir!
634=%s destroyed, sir!
650=Firing tube %d, sir!
662=All torpedoes expended, sir!
810=Ship spotted, sir! Bearing %03d! %s range!
811=Aircraft spotted, sir! Bearing %03d! %s range!
814=Radar contact, sir! Bearing %03d! %s range!
815=Sound contact, sir! %s %s %s Bearing %03d! %s range!
816=Radio Report Received! %s %s, %s, Course %s, Speed %d KTS!
817=Detecting radar signals!
4128=Clouds %s, Precipitations %s, Fog %s|Wind Speed %d meters per second, direction %3d.
4140=She's going down!
4141=She's going down!
4142=She's going down!
4180=Ship sunk!|%s|%s, %d tons
4181=Aircraft destroyed!|%s|%s

These are the entries we thought were most relevant to the log book, not the subsequent "log book friendly" text. In some instances all we did was remove the ", sir!" text (dynamically, to cater for mod changes to the entries), in others we completely rewrote the entry to something that would make more contextual sense in a logbook.

Some other entries we toyed with:

595=Hull damaged, sir!
601=We have been detected, sir!
707=%s repaired, sir!
708=%s ready, sir!
709=%s intact, sir!
1003=Rig for silent running
1004=Secure from silent running
1035=Crash dive
1042=Deploy decoys
4419=We're out of diesel fuel sir!
4421=Batteries empty, sir!
4423=We're out of oxygen!
4425=We're out of compressed air, sir!
Battery recharged 100%, sir!
Oxygen reserve 100%, sir!
Compressed air reserve 100%, sir!
4520=Engaging target with deck gun!
4521=Engaging target with flak gun!
4811=Report sent!


All times are GMT -5. The time now is 10:13 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.