Log in

View Full Version : Uboot Marschwege / Sub routes


Paco
09-24-12, 02:31 PM
Ahoi,

while on translating the harbour-pilot-scripts into german I got an idea to extend them. As I am playing SH5, it is a very timeintensive game with timeslots where I do completly differnet things. While travelling to another patrol area I often read a book, do some work for my wife, etc. But if I play with real navigation I cant do anything next to the game. And if I'm in the south-western approaches, I always have to set up the same lanes for going home - thats boring ;-)

Ok and here my idea to mod:

I want to define some sub routes from Kiel, W.-Haven, etc. to the different patrol-areas, interesting places like the german autobahns.

In this pic below You will see what I mean:

http://www.mediafire.com/conv/03142756a001b4a1eac0597c2f1c0ea707f29e8c7b4e33e1bd b597ce8e2366ae6g.jpg

Like the harbour pilot, I would define the waypoints along this lanes (or other we have to find out) and put them into the Autoscripts folder. I think, if I do it as a construction kit it is not so much work because many sections are the same.

http://www.mediafire.com/conv/979882c3d768984a0a6976cb2e3d9d7d5b792a24c21c222d12 b1bf58f6414e6a6g.jpg

Building some documentation around as a PDF with some maps and charts for finding the correct scriptname would be nice, because I don't want to name the scitps like "Kiel - Northsea". At the moment I'm thinking about something like the naming standards for the allied convoys or the KM grids as start and goal. But I have to see. Some additional informations around the lines like travelling times, real time by the suggested timecompression, etc.

What do You think about this? Not only for real navigation fans, also for those who are tired to set up the same courses all the time? :timeout:

I know it is some work but if You like this idea, I would do it.:up:

Cheers,
Paco.

Trevally.
09-24-12, 03:51 PM
Hi Paco - looks great:yeah:

I think this will work and I will use it:yep:
We now have the resume ability where if we where on the east coast of the UK and we selected and ran the "North sea inbound" the navigator will look for the nearest preset waypoint and head there.
So yes setting autobahns would get us close to where we would need to go.
:up:

gap
09-24-12, 04:09 PM
Brilliant idea Paco! :up:

THE_MASK
09-24-12, 04:31 PM
When your sub arrives at a waypoint it would be good if the script changed the next waypoint that you havnt reached yet using dead reckoning or celestial fix . So basically the same as real navigation works now for the next waypoint . The routes wouldnt be the same all the time . Dont know if this is possible .

gap
09-24-12, 05:10 PM
Like the harbour pilot, I would define the waypoints along this lanes (or other we have to find out)

A suggestion:

you can have a look at uboat.net for common routes followed by U-boats.

Historical position reports for most of the war patrols of individual U-boats are visually drawn on map in this website. :up:

Targor Avelany
09-24-12, 06:25 PM
When your sub arrives at a waypoint it would be good if the script changed the next waypoint that you havnt reached yet using dead reckoning or celestial fix . So basically the same as real navigation works now for the next waypoint . The routes wouldnt be the same all the time . Dont know if this is possible .

that actually sounds very interesting and would be totally awesome

kiwi_2005
09-24-12, 07:19 PM
This would be great! :yeah:

arnahud2
09-25-12, 03:40 AM
Looks really good, i forward this :up:

limkol
09-25-12, 05:38 AM
Looks like a really good idea.:up:

It would be great if you had an 'end mission at sea' function maybe 100kms from port like in the other Silent Hunter games. This would also be good for those with older computers, who have problems with ctd's close to port.

Off topic: why the crashes occur going into port more than going out of port? I'm just curious.

Paco
09-28-12, 07:33 AM
Hello,

I've made a first test with a route from Wilhelmshaven to somewhere near the Faroe Islands.

I think it works fine, but I cannot travel with a TC above 512. The game misses the next waypoint and Your sub goes straight ahead until You will stop it. :timeout:

In the screenshot below You see, that I haven't started the route frome Wilhelmshaven. I have entered it from the Skagerrak. I went there with the Skagerrak-pilot from Kiel. I have activated the Marschweg-Autoscript and the sub found the nearest waypoint there and headed to NE.

http://www.mediafire.com/conv/1376d6c97b127ed3e4dc818658583764322f9cf418a23b2bc9 8c44662d91fcf86g.jpg

Near Bergen, I have travelled with TC 1024 and the Pilot missed the next WP. So I deactivated and reactivated the scipt on a low TC and it found the next one and resumed the given route.

The parameters for th sha-file are:

[TITLE]
Marschweg
[TITLE_END]
[DESCRIPTION]
Ihr Steuermann lässt das Boot auf diesem Weg in das befohlene Zielgebiet marschieren
[DESCRIPTION_END]
[PRECONDITION]
0,0,0
[PRECONDITION_END]
[WAYPOINT_RESUME]
50000
[WAYPOINT_RESUME_END]
[BUFFERZONE]
2000,0,2,3,1000,3,2,1
[BUFFERZONE_END]
[WAYPOINTRADIUS]
1000,2000
[WAYPOINTRADIUS_END]
980887,6427730,-1,9999,9999,9999,-1,Start
970000,6445000,-1,9999,9999,9999,-1,WP 1
960000,6500000,-1,9999,9999,9999,-1,WP 2
950000,6600000,-1,9999,9999,9999,-1,WP 3
920000,6700000,-1,9999,9999,9999,-1,WP 4
....
In my opinion the values are working fine, but perhaps there are some suggestions from Your side. :yeah:

The testversion with this route: http://www.mediafire.com/?5a768oo2o45j6br

Because it is dull to work with the Mission-Editor for finding the needed waypoints, I'll need some help from You :D

The game messures from
x-achse -21 600 000 metres to -21 600 000 -> 43 200 000 metres=pixel
and
y-achse -10 800 000 metres to -10 800 000. -> 21 600 000 metres=pixel

I have converted the large map file into a bmp file. But I got an ugly picture where I cant distinguish land from water. Perhaps someone could convert this file for me. I want to draw the lines in this picture for getting the x- and y-position ingame. I think the resolution from 1 pixel = 2000 m is exactly enough for defining the sub-routes.

If needed, I have an 80 MB PSD File from this map. Please PM me for the link.

Thanks,
Paco.

Trevally.
09-28-12, 02:07 PM
Hi Paco - looking good so far:woot:
Some point to consider:-

[BUFFERZONE]
2000,0,2,3,1000,3,2,1

Here the first param is the detection radius for a warning message
You could use this as your lookout calling a contact. If you set this at say 5000 or 6000 and then set param 3 to 2 and param 4 to 9999 - the result would be:-

A ship within 5 to 6km will cause TC to drop to x1 and a message to display and speed to remain the same.
This could be a nice way to let us retake control of the boat if the ship is a target
:hmmm:



I think it works fine, but I cannot travel with a TC above 512. The game misses the next waypoint and Your sub goes straight ahead until You will stop it


To get around this you can (and I have done this many times) just add extra waypoints in between so that they are smaller leg runs.

An easy way to get the coords is to run your script with the game in windowed mode. At the same time run dbview as it will give you lots of info anout what navigation is doing. So as each leg runs through - dbview will give you constant feedback as to how far to the next way point check (x4 for non precision). When you are at the halfway point - get a new fix from the nav officer and insert that into your script.

Do try to run dbview at the same time as it helps a lot:up:

Paco
09-29-12, 04:17 AM
Thanks Trevally, that helps me a lot. :salute:

What am I doing now? I'm writing a script in Python which is calculating the waypoints between, I called them, masterpoints. Masterpoints are waypoints where the heading of the sub will change.

I hope, that I will finish the work with this script in a few days. I want to have the following features:


reading from a file within only the masterpoints
calculate all needed waypoints between start and end over the complete sub route
the calculation is based on the given value for the max. distance between two waypoints. For example 10,000 or 5,000 m. If the distance between two masterpoints is 100,000, we need 9 or 19 calculated waypoints
all calculated waypoints draw straight lines between the masterpoints
determine the angle of the course to add comments to the waypoints. For example" Heading NNE, Herr Kaleun" for an angle of 10 degree. ( I hope I'll get that to work :hmm2:)
writing the whole SHN-File by executing the script



I know, that needs some time to do this, but I think, for later tests and modifications it makes sense. We are able to define the masterpoints in a textfile and the script will do the calculation for the needed SHN-file. After that, we are doing tests with different speeds and TCs and if we'll get in trouble, we'll change the Parameters for distances and will doing a recalculation for the files.


Over all, I think this method will decrease time to build new routes. It will be easy to define long-range routes with only a few given masterpoints and the scipt hopefully will do the rest for us. :D

Ah, the script does this calculation not ingame! Its only for building the files before releasing the mod or for building new routes befor activating them via JSGME.

Greetings,
Paco.

gap
09-29-12, 05:23 AM
Hi Paco,

I like the method you have described below. :up:
If you don't mind, I have a couple of suggestions that hopefully might apply to your upcoming mod: since you know how to work in python...

1 - why don't you make the 'calculated waypoints' to be interpolated directly in game?

2 - what about adding some randomness to both masterpoints and calculated waypoints?

Last but not least, don't exitate to get in touch with me if you still need for help with that map. :up:

Trevally.
09-29-12, 05:32 AM
Ah - sounds great Paco, a script making script:D


determine the angle of the course to add comments to the waypoints. For example" Heading NNE, Herr Kaleun" for an angle of 10 degree. ( I hope I'll get that to work :hmm2:)


This will add a great touch:yeah:

Paco
09-29-12, 05:50 AM
Hi Paco,

I like the method you have described below. :up:

Thanks, gap. :D


If you don't mind, I have a couple of suggestions that hopefully might apply to your upcoming mod: since you know how to work in python...

1 - why don't you make the 'calculated waypoints' to be interpolated directly in game?


I am scripting in perl and bash (but beware, I'm not a script-junky, I use it for my own needs), and I hope to get fast into python. It seems to me that it is an easy to learn language (the basic needs) and as You mentioned above, it is used ingame.

But I don't know how the game is starting and processing the scripts during the operating time. It would be a pity, if a bad designed script would make CTDs or some other missfunctions, and so I think it is better to build the routes outside of the game. Perhaps, at later time a member with more know-how could transfer the scripting into the game. :salute:



2 - what about adding some randomness to both masterpoints and calculated waypoints?


:hmmm: its difficult to add randomness to the masterpoints, because I cannot detect if I hit land :rotfl2:. But for the waypoints I could add a few hundred meters at both sides to simulate some meanderings. Or do You mean something different?


Last but not least, don't exitate to get in touch with me if you still need for help with that map. :up:

Thanks :salute: Here is the download-link for the map in psd-format: http://www.mediafire.com/?sydokzou4gzexjy


Greetings,
Paco.

Paco
09-29-12, 05:55 AM
This will add a great touch:yeah:

I hope so :rock:

gap
09-29-12, 09:07 AM
its difficult to add randomness to the masterpoints, because I cannot detect if I hit land :rotfl2:. But for the waypoints I could add a few hundred meters at both sides to simulate some meanderings.

Moving both main and calculated waypoints of a few tens km (possibly 10 to 20) shouldn't increase that much the risk to run aground. Drawing the "ideal" routes (masterpoints coordinates) so that they are always let's say 30 to 50 km away from land should eliminate any such risk. :up:

Or do You mean something different?

This was my idea of a possible routine for each two masterpoints:

- randomize them based on a max set value;
- calculate the distance between them;
- determine the number of waypoints to be calculated, based on: distance between randomized masterpoints, a fixed 'n of waypoints/distance' ratio, and random number;
- interpolate waypoints based on randomized masterpoint's x and y coordinates, and on the number of waypoint previously determined;
- randomize waypoints as done with masterpoints.



Thanks :salute: Here is the download-link for the map in psd-format: http://www.mediafire.com/?sydokzou4gzexjy

And here (https://rapidshare.com/files/3096678086/21600_10800.rar) is the best resut I could achieve from that map. I merged it with other SH5 based maps, lesser detailed but with a sharper demarcation between land and water bodies. Not yet the best map you could think of, but imo a bit better than the map you sent me.

I hope so :rock:

I agree with Trevally. Navigation Officer declaring set courses would be the icing on the cake. Using triangle properties for calculating route angles from current/next waypoint coordinates shouldn't be too difficult either. :up:

Paco
10-05-12, 04:24 PM
Hello,

the script is on a good way, I think :D. At the moment I can handle two languages to do the needed comments for waypoints. If wanted, I could implement some more. :up:

Below You find the declarations for English (EN) and German (DE). Please feel free to add Your preferred language. Simply copy the code, translate the values und put them into a new reply in this thread or PM me.

I'll implement Your language into the script and You will be able to choose it via a switch there.

DE:
SUB_HEADING_COMPASS_STYLE = ('NNO','NO','ONO','OSO','SO','SSO','SSW','SW','WSW ','WNW','NW','NNW','N','O','S','W')
TEXT_TO_THE_LEFT = "Backbord"
TEXT_TO_THE_RIGHT = "Steuerbord"

TEXT_DEGREE = "Grad"

TEXT_NEW_MWP_HEADING_1 = "Gehen auf Kurs"
TEXT_NEW_MWP_HEADING_2 = "Bleiben auf Kurs"

TEXT_NEW_MWP_HEADING_3 = ", Herr Kaleun."

TEXT_NEW_WP_HEADING_1 = "Dez nach"
TEXT_NEW_WP_HEADING_2 = "Grad nach"
TEXT_NEW_WP_HEADING_3 = "Bleiben auf Kurs"
TEXT_NEW_WP_HEADING_4 = ", Herr Kaleun."
EN:
SUB_HEADING_COMPASS_STYLE = ('NNE','NE','ENE','ESE','SE','SSE','SSW','SW','WSW ','WNW','NW','NNW','N','E','S','W')
TEXT_TO_THE_LEFT = "port"
TEXT_TO_THE_RIGHT = "starboard"
TEXT_DEGREE = "degree"

TEXT_NEW_MWP_HEADING_1 = "New heading is "
TEXT_NEW_MWP_HEADING_2 = "Heading is fine "
TEXT_NEW_MWP_HEADING_3 = ", Herr Kaleun."

TEXT_NEW_WP_HEADING_1 = "Dez to"
TEXT_NEW_WP_HEADING_2 = "degree to"
TEXT_NEW_WP_HEADING_3 = "Heading is fine"
TEXT_NEW_WP_HEADING_4 = ", Herr Kaleun."
Thanks,
Paco.

gap
10-05-12, 04:54 PM
Hello,

the script is on a good way, I think :D. At the moment I can handle two languages to do the needed comments for waypoints. If wanted, I could implement some more. :up:

Below You find the declarations for English (EN) and German (DE). Please feel free to add Your preferred language. Simply copy the code, translate the values und put them into a new reply in this thread or PM me.

I'll implement Your language into the script and You will be able to choose it via a switch there.

Thanks,
Paco.

:up:

My Italian translation, though I couldn't figure out what "Dez to" stads for :06:

SUB_HEADING_COMPASS_STYLE = ('NNE','NE','ENE','ESE','SE','SSE','SSO','SO','OSO ','ONO','NO','NNO','N','E','S','O')
TEXT_TO_THE_LEFT = "sinistra"
TEXT_TO_THE_RIGHT = "dritta"
TEXT_DEGREE = "gradi"

TEXT_NEW_MWP_HEADING_1 = "Nuova rotta:"
TEXT_NEW_MWP_HEADING_2 = "Rimaniamo in rotta"
TEXT_NEW_MWP_HEADING_3 = ", Signore."

TEXT_NEW_WP_HEADING_1 = "Dez to"
TEXT_NEW_WP_HEADING_2 = "gradi a"
TEXT_NEW_WP_HEADING_3 = "Manteniamo la rotta"
TEXT_NEW_WP_HEADING_4 = ", Capitano."

BIGREG
10-05-12, 05:17 PM
Voila en français :03:

SUB_HEADING_COMPASS_STYLE = ('NNE','NE','ENE','ESE','SE','SSE','SSO','SO','OSO ','ONO','NO','NNO','N','E','S','O')
TEXT_TO_THE_LEFT = "babord"
TEXT_TO_THE_RIGHT = "tribord"
TEXT_DEGREE = "degré"

TEXT_NEW_MWP_HEADING_1 = "Nouveau cap :"
TEXT_NEW_MWP_HEADING_2 = "Garder le cap"
TEXT_NEW_MWP_HEADING_3 = ",commandant."

TEXT_NEW_WP_HEADING_1 = "diminuer de"
TEXT_NEW_WP_HEADING_2 = "degré au"
TEXT_NEW_WP_HEADING_3 = "Maintenez le cap"
TEXT_NEW_WP_HEADING_4 = ",commandant."

Paco
10-05-12, 05:25 PM
Dez toSometimes a Kaleun corrected a course by going 10 degrees to the left or right.

For the calculated and randomized waypoints I want to simulate those corrections. 1 Dez = 10 degrees.

German Dez = Dezimal
English Dec = Decimal

For example: 3 Dec to port are 30 degrees to port.

I know, the changes from point to point aren't exactly 10, 20 or 30 degrees. But it is an option to get not so exactly headings in the messagebox.

Cheers,
Paco.

Paco
10-05-12, 05:31 PM
:up:

My Italian translation,

Mille grazie, gap :up:

Paco
10-05-12, 05:32 PM
Voila en français :03:



Merci beaucoup, BIGREG :yeah:

BIGREG
10-05-12, 05:37 PM
Ouch !

Maybe in french Dez=dizaine (10)
But,nobody say that :hmmm:,this is too approximative... and normaly we said une dizaine,deux dizaines,trois dizaines etc.. and in letters and not with numbers before dizaine ...

Other why do you not add just "0" to make 1"0" ,2"0" ,3"0" etc ... :06:

SUB_HEADING_COMPASS_STYLE = ('NNE','NE','ENE','ESE','SE','SSE','SSO','SO','OSO ','ONO','NO','NNO','N','E','S','O')
TEXT_TO_THE_LEFT = "babord"
TEXT_TO_THE_RIGHT = "tribord"
TEXT_DEGREE = "degré"

TEXT_NEW_MWP_HEADING_1 = "Nouveau cap :"
TEXT_NEW_MWP_HEADING_2 = "Garder le cap"
TEXT_NEW_MWP_HEADING_3 = ",commandant."

TEXT_NEW_WP_HEADING_1 = " dizaine de"
TEXT_NEW_WP_HEADING_2 = "degré au"
TEXT_NEW_WP_HEADING_3 = "Maintenez le cap"
TEXT_NEW_WP_HEADING_4 = ",commandant."

gap
10-05-12, 05:50 PM
Mille grazie, gap :up:

Dir auch danke :salute:

Sometimes a Kaleun corrected a course by going 10 degrees to the left or right.

For the calculated and randomized waypoints I want to simulate those corrections. 1 Dez = 10 degrees.

German Dez = Dezimal
English Dec = Decimal

For example: 3 Dec to port are 30 degrees to port.

I know, the changes from point to point aren't exactly 10, 20 or 30 degrees. But it is an option to get not so exactly headings in the messagebox.

Cheers,
Paco.

Okay, I think I got the idea. Here is my attempt to translate the expression, though I am not sure that it can be used in italian too:

SUB_HEADING_COMPASS_STYLE = ('NNE','NE','ENE','ESE','SE','SSE','SSO','SO','OSO ','ONO','NO','NNO','N','E','S','O')
TEXT_TO_THE_LEFT = "sinistra"
TEXT_TO_THE_RIGHT = "dritta"
TEXT_DEGREE = "gradi"

TEXT_NEW_MWP_HEADING_1 = "Nuova rotta:"
TEXT_NEW_MWP_HEADING_2 = "Rimaniamo in rotta"
TEXT_NEW_MWP_HEADING_3 = ", Signore."

TEXT_NEW_WP_HEADING_1 = "decine a"
TEXT_NEW_WP_HEADING_2 = "gradi a"
TEXT_NEW_WP_HEADING_3 = "Manteniamo la rotta"
TEXT_NEW_WP_HEADING_4 = ", Capitano."

BIGREG
10-05-12, 05:52 PM
Other why do you not add just "0" to make 1"0" ,2"0" ,3"0" etc ... :06: and if you can add before "a peut prés" or "environ" or " approximativement" (the last is a bit too long)

For me the best in french is "environ 20 degrés" and for degrés ,maybe you can replace one with the "sigle" : °

Paco
10-05-12, 05:59 PM
Other why do you not add just "0" to make 1"0" ,2"0" ,3"0" etc ... :06:


Hi,

that is no problem. We can add "0" and You'll get the dec-value. I'll have a look to add a string before the value to get the "a peut prés" etc.

There is a german u-boat dictionary, there I found the "Dez".

http://www.kbismarck.com/u-boot/ulexikon.htm#D

In the movie "Das Boot" You hear the "Dez" command while escaping from the destroyers.

Paco.

BIGREG
10-05-12, 06:06 PM
If you can make for the french version "environ "_ "0°" ,this will be better :yep:

Paco
10-06-12, 05:55 AM
:hmmm: I think, I have to describe the possible outputstyles and -types (Comment-parameter) for the waypoints:

Masterwaypoints:

#1 The comment-type:
Describes how to add a comment for a given MWP:


Use the given Comment from File
Overwrite with generated comment
Append generated comment to given Comment from File

#2 The comment-style:
Describes how to generate the comment for a given MWP:


Use heading in degree
Use heading as given by a compass

For generating the output, the script uses the strings: TEXT_NEW_MWP_HEADING_n

Examples:
Overwrite given comment with style "Using heading in degree" looks like:
New heading is 270 degree, Herr Kaleun.Append given comment with style "Using Compass-Style" looks like:
To the west\n\nNew heading is W, Herr Kaleun.Comment given by file was "To the west".


Calculated waypoints:

As wanted, the script does not calculate a straight line between two masterwaypoints. It adds some randomness and the course has to be corrected at the position of mostly each calculated waypoint.

At each waypoint the script creates a comment for these corrections. I have implemented two styles at the moment:


Write heading in degree ;
Write heading Kaleun-Style (as dec / dez)

For generating the output, the script uses the strings: TEXT_NEW_WP_HEADING_n

Examples:

Using the "heading in degree" gives (next waypoint is a little bit to the right):
Heading 5 degree to port, Herr Kaleun.Using the "heading Kaleun-Style" gives (next waypoint is a little bit to the right):
Heading 1 Dec to port, Herr Kaleun.Here You see, the given Dec-Value (only used for the output, not for the calculation itself) does not fit exactly the needed correction, but I hope to get a little bit more sub-feeling into the comments.

Last example:
A given MWP-File draws a course to the south, then the sub should turn left to the east und reaches the end of the course.

MWPs are (with comments):
0,0,go south
0,-100000,now to the east
100000,-100000,finishScript-parameters are:
Masterwaypoint comment-type = Overwrite with heading
Masterwaypoint comment-style = Use heading as given by a compass

Calculated waypoint comment-style = Write heading in degree

The output for the SHN-File is (without random):

'0,0,New heading is S, Herr Kaleun.'
'0,-25000,Heading is fine, Herr Kaleun.'
'0,-50000,Heading is fine, Herr Kaleun.'
'0,-75000,Heading is fine, Herr Kaleun.'
'0,-100000,New heading is E, Herr Kaleun.'
'25000,-100000,Heading is fine, Herr Kaleun.'
'50000,-100000,Heading is fine, Herr Kaleun.'
'75000,-100000,Heading is fine, Herr Kaleun.'
'100000,-100000,We are there, Herr Kaleun.'
The output for the SHN-File is (with random - radius 5000 mtr):

'0,0,New heading is S, Herr Kaleun.'
'-2255,-27577,Heading 7 degree to port, Herr Kaleun.'
'481,-49112,Heading 2 degree to starboard, Herr Kaleun.'
'2844,-75940,Heading 12 degree to starboard, Herr Kaleun.'
'-2428,-98242,New heading is E, Herr Kaleun.'
'27041,-96853,Heading 5 degree to starboard, Herr Kaleun.'
'53758,-99297,Heading 18 degree to port, Herr Kaleun.'
'71779,-95147,Heading 23 degree to starboard, Herr Kaleun.'
'95456,-96957,We are there, Herr Kaleun.'
I hope, it is now a little bit easier for You to fill in the needed strings with your language.

Greets,
Paco.

BIGREG
10-06-12, 06:09 AM
Hi Paco :salute:

Can you post the all Code in english or in german ( i lived 7 years in ULM :03:),to change in the other languages :06:
This will be easier :yep:

Paco
10-06-12, 06:21 AM
Hi Paco :salute:

Can you post the all Code in english or in german ( i lived 7 years in ULM :03:),to change in the other languages :06:
This will be easier :yep:

ok, here is the german output-definition:

SUB_HEADING_COMPASS_STYLE = ('NNO','NO','ONO','OSO','SO','SSO','SSW','SW','WSW ','WNW','NW','NNW','N','O','S','W')
TEXT_TO_THE_LEFT = "Backbord"
TEXT_TO_THE_RIGHT = "Steuerbord"

TEXT_DEGREE = "Grad"

TEXT_NEW_MWP_HEADING_1 = "Gehen auf Kurs"
TEXT_NEW_MWP_HEADING_2 = "Bleiben auf Kurs"
TEXT_NEW_MWP_HEADING_3 = "Ziel erreicht"

TEXT_NEW_MWP_HEADING_4 = ", Herr Kaleun."

TEXT_NEW_WP_HEADING_0 = "Drehen"
TEXT_NEW_WP_HEADING_1 = "Dez nach"
TEXT_NEW_WP_HEADING_2 = "Grad nach"
TEXT_NEW_WP_HEADING_3 = "Bleiben auf Kurs"
TEXT_NEW_WP_HEADING_4 = ", Herr Kaleun."

BIGREG
10-06-12, 06:57 AM
SUB_HEADING_COMPASS_STYLE = ('NNE','NE','ENE','ESE','SE','SSE','SSO','SO','WSO ','WNO','NO','NNO','N','E','S','O')
TEXT_TO_THE_LEFT = "Babord"
TEXT_TO_THE_RIGHT = "Tribord"

TEXT_DEGREE = "Degré"

TEXT_NEW_MWP_HEADING_1 = "Cap au"
TEXT_NEW_MWP_HEADING_2 = "Maintenez le cap"
TEXT_NEW_MWP_HEADING_3 = "Position atteinte"

TEXT_NEW_MWP_HEADING_4 = ", commandant."

TEXT_NEW_WP_HEADING_0 = "La barre"
TEXT_NEW_WP_HEADING_1 = "0"
TEXT_NEW_WP_HEADING_2 = "Degrés"
TEXT_NEW_WP_HEADING_3 = "Gardez le cap"
TEXT_NEW_WP_HEADING_4 = ", commandant."


But,can you make an Eg in german for all texts,to be sure it is good :06:

Paco
10-06-12, 07:26 AM
But,can you make an Eg in german for all texts,to be sure it is good :06:

Sorry BIGREG, what is an "Eg"? I do not understand what You mean. Could You explain it for me, please?

Below the output with the french texts. I have to replace accent aigu and
accent grave, because they will be displayed on my machine as numbers.

'0,0,Cap au S, commandant.'
'1449,-24159,La barre 10 a Tribord, commandant.'
'-1593,-50491,La barre 20 a Babord, commandant.'
'-415,-75508,La barre 10 a Tribord, commandant.'
'-1460,-100732,Cap au E, commandant.'
'24284,-99102,Gardez le cap, commandant.'
'48157,-99272,La barre 10 a Tribord, commandant.'
'76866,-101349,La barre 10 a Babord, commandant.'
'101257,-101565,Position atteinte, commandant.'

BIGREG
10-06-12, 07:40 AM
'0,0,Cap au sud, commandant.' ( order or answer ?)
'1449,-24159,La barre 10° à tribord, commandant.' ( order or answer ?)
'-1593,-50491,La barre 20° à babord, commandant.' ( order or answer ?)
'-415,-75508,La barre 10° à tribord, commandant.' ( order or answer ?)
'-1460,-100732,Cap à l'est, commandant.' ( order or answer ?)
'24284,-99102,Gardez le cap, lieutenant.' (this is an order to the navigateur/officer) but the grade don't need to be here...he may be promoted to another grade...:D
'48157,-99272,La barre 10° à tribord, commandant.' ( order or answer ?)
'76866,-101349,La barre 10° à babord, commandant.' ( order or answer ?)
'101257,-101565,Position atteinte, commandant.'

Note : ° can be degrés.. But this is a rudder grad (barre) ,other a compass grad (course) ???

Eg :

Order : Course 360. (No degrés and don't need specify the cardinal points), other : Cap 360
answer : Course 360 ,commandant. other : Cap 360,commandant

Order : Cap à l'est.
answer Cap à l'est,commandant.

Order : 10 degrés à l'ouest.
answer : Cap 10 degrés à l'ouest,commandant.

Order : gouvernail (rudder) 10 degrés tribord. other: barre 10° tribord
answer : gouvernail 10 degrés tribord,commandant. other: barre 10° tribord,commandant

Paco
10-06-12, 03:34 PM
:hmmm:, I suggest to write only the orders into the comments, because we get the answers from the game while changing the heading.
What do You think?

BIGREG
10-06-12, 03:49 PM
For me it's OK with just the orders :yep:

and sorry ,that i ask too many things :oops:

Eg: zB=beispiel=zum beispiel=beispielsweise in german = Ex= exemple = par exemple in french :03:

Paco
10-06-12, 04:01 PM
and sorry ,that i ask too many things :oops:


Oh, sorry I did not want to stop Your Questions or suggestions.:up: It is always very good to get them from the peoples here. :salute:

Commands and answers: I'll add a switch to get a "Command-style" and a "Dialog-Style".

BIGREG
10-06-12, 04:25 PM
Das macht nix the wichtige ist zu verstehen was ist moglich :03:

Paco
10-08-12, 01:26 PM
Hello,

the doing for the script is finished. It works stable, almost all points from my own wishlist are implemented (some more / some less ;-) and I'm now writing the document with needed information about buildin and command-line paramaters. :woot:

So it is time to ask You, which subroutes do we need? Is it possible to extract the patrol-areas from, for example, the OHII Mod? Together with the correspondening start-harbours, we could define some routes. What about the milkcows (I think they are in)? Some funny places, where a Sh5 Kaleun has to travel to.

It would be fine, if You could post them (or PM) here, if it is possible? :salute:

You also could post screenshots with Your suggestions for needed routes. :up:

Cheers,
Paco.

THE_MASK
10-08-12, 03:57 PM
If i have my TC set to LandProximity=1,256 and have the option TC1OnAnyMessageBoxText=True and dont travel any faster than TC256 . The game drops to 1TC before hitting land and i usually have time to reverse out . 90% of the time .

Paco
10-09-12, 03:59 AM
Hi sober,

I know You are a skillfull and foresighted skipper, but I think a collision risk 1 of 10 is to high. :O:

Greets,
Paco.

Trevally.
10-10-12, 11:45 AM
OHII Patrol Areas by campaign:-

CW
http://img10.imageshack.us/img10/5583/coastalwaters.jpg

HT
http://img812.imageshack.us/img812/7087/happytimes.jpg

MN
http://img849.imageshack.us/img849/1412/marenost.jpg

Trevally.
10-10-12, 11:46 AM
WA
http://img213.imageshack.us/img213/9291/westernapp.jpg

BotMed
http://img717.imageshack.us/img717/3244/battlemed.jpg

OpDrum
http://img51.imageshack.us/img51/4516/opdrum.jpg

AC
http://img542.imageshack.us/img542/7148/artic.jpg

Trevally.
10-10-12, 11:48 AM
DW
http://img802.imageshack.us/img802/5238/71408114.jpg

TBPit
http://img594.imageshack.us/img594/2859/tblackpit.jpg

MG
http://img823.imageshack.us/img823/6799/16901547.jpg

Trevally.
10-10-12, 11:51 AM
TP
http://imageshack.us/a/img32/2817/54319869.jpg

TFY
http://imageshack.us/a/img94/1299/tfys.jpg

:up:

Paco
10-10-12, 01:48 PM
Thank You very much Trevally. :yeah: :woot:

Paco
10-29-12, 11:02 AM
Hello,

I'm currently searching different specifications for divings and economic speeds. That means, it is possible to dive or to surface while passing a waypoint and the boat is switching to the best speeds.

So I need the specifications for the following sub-types:

VIIA, VIIB, VIIC and VIIC/41

Best speed at surface, snorkel-depth and submerged.

The depth for snorkeling, periscope and running decksawash.

Sorry Guys, but the searchfunction of subsim is not my friend. :oops:

Greets,
Paco.

Trevally.
10-29-12, 12:55 PM
Here is some info for the type C (see page 14 for speed):hmmm:
http://www.uboatarchive.net/Manual.htm

For patrol speeds - most think that 7knots surfaced is the best speed.
If you then dive to schorkel depth - your speed will change to 4 to 5 knots - I guess this is the same engine revs so may be the best speed.
I would use the same test for decks awash - set speed on surface (7knots) set decks awash and check speed.

Paco
10-29-12, 03:04 PM
Thanks Trevally.

So I set the depths to the following values:

SUB_SNORKEL_DEPTH = 15 metres
SUB_PERISCOPE_DEPTH = 13 metres
SUB_DECKSAWASH_DEPTH = 6 metres

Paco
10-29-12, 05:23 PM
I have defined two different Output-options:

1) You get the informations from Your Crew regarding course-, speed-corrections and depths-changes. Speed and Depthoutputs are optional.

In the Messagebox, that looks like:


EN:
Going to Decks awash. Herr Kaleun. New heading is S. Herr Kaleun. Reaching next Waypoint in 188 nm. That takes 27 hours. Herr Kaleun.
.
.
.
Heading 1 Dec to starboard. Herr Kaleun.

DE:
Gehen auf Vorfluttiefe. Herr Kaleun. Gehen auf Kurs S. Herr Kaleun. Nächster Kurswechsel in 188 sm. Marschzeit dahin 27 Stunden. Herr Kaleun.
.
.
.
Drehen 1 Dez nach Steuerbord. Herr Kaleun.
2.) A dialogstyle. The captain orders, and the crew confirms. For depth-changes, there is also a prepare-command given:


EN:
Prepare for Diving. XO. Ready for Diving. Herr Kaleun. Snorkeldepth. XO. Going to Snorkeldepth. Herr Kaleun. New Speed 4 knots. XO. Going to 4 knots. Herr Kaleun. We need to change the heading. Navigator. New heading is SE. Herr Kaleun. Reaching next Waypoint in 186 nm. That takes 47 hours. Herr Kaleun.
.
.
.
Please check the heading. Navigator. Heading 1 Dec to starboard. Herr Kaleun.

DE:
Klar für Unterwasserfahrt. LI. Boot klar für Unterwasserfahrt. Herr Kaleun. Schnorcheltiefe. LI. Gehen auf Schnorcheltiefe. Herr Kaleun. Neue Fahrt 4 Knoten. LI. Gehen auf 4 Knoten. Herr Kaleun. Zeit den Kurs zu wechseln. ObStrMn. Gehen auf Kurs SO. Herr Kaleun. Nächster Kurswechsel in 186 sm. Marschzeit dahin 47 Stunden. Herr Kaleun.
.
.
.
Kontrollieren sie den Kurs. ObStrMn. Drehen 1 Dez nach Steuerbord. Herr Kaleun.
Based on my first tests, I have not defined whole phrases, but I concatenating them from different pieces of words, which are defined in a "text-library". :o

From the example above, I hope You can have a look at this library and give me some hints for the english-, french- and italian version. :D

Here comes the part from the script:

if LANGUAGE == 'DE':
SUB_HEADING_COMPASS_STYLE = ('NNO','NO','ONO','OSO','SO','SSO','SSW','SW','WSW ','WNW','NW','NNW','N','O','S','W')

TEXT = { 'SHA_START' : 'Gehen auf Marschweg',
'SHA_FINAL' : 'Sind am Ziel',
'SHA_INBOUND' : 'Einmarsch',
'SHA_OUTBOUND' : 'Ausmarsch',
'BLANK' : ' ',
'BIGREGBLANK' : ' ', # Set to NULL for BIGREG-Dez-Style
'KOMMATA' : '.',
'POINT' : '.',
'PORT' : 'Backbord',
'STARBOARD' : 'Steuerbord',
'DEGREE' : 'Grad',
'NEW_HEADING_IS' : 'Gehen auf Kurs',
'HEADING_IS_FINE' : 'Bleiben auf Kurs',
'WE_ARE_THERE' : 'Ziel erreicht',
'HEADING' : 'Drehen',
'DEC_TO' : 'Dez nach',
'DEGREE_TO' : 'Grad nach',
'REACHING_NEXT_WP' : 'Nächster Kurswechsel in',
'SM' : 'sm',
'KN' : 'Knoten',
'METRES' : 'Meter',
'THAT_TAKES' : 'Marschzeit dahin',
'HOURS' : 'Stunden',
'MINUTES' : 'Minuten',
'LEFT_BRACKET' : '(',
'RIGHT_BRACKET' : ')',
'DOUBLEPOINT' : ':',
'SUBROUTE' : 'Marschweg',
'DISTANCE' : 'Strecke',
'TRAVELTIME' : 'Marschdauer',
'CHECK_HEADING' : 'Kontrollieren sie den Kurs',
'NEW_HEADING' : 'Zeit den Kurs zu wechseln',
'ALL_STOP' : 'Maschinen stop',
'STOPPING' : 'Maschinen stop',
'NEW_SPEED' : 'Neue Fahrt',
'NEW_SPEED_IS' : 'Gehen auf',
'PREPARE' : 'Klar',
'READY' : 'Boot klar',
'GO_TO' : 'Neue Tiefe',
'GOING_TO' : 'Gehen auf',
'FOR' : 'für',
'TO_SURFACE' : 'Überwasserfahrt',
'TO_DIVE' : 'Unterwasserfahrt',
'TO_TESTDIVE' : 'Testdive',
'TO_CHANGE_DEPTH' : 'Tiefenänderung',
'TO_SNORKEL_DEPTH' : 'Schnorcheltiefe',
'TO_PERISCOPE_DEPTH' : 'Sehrohrtiefe',
'TO_DECKSAWASH_DEPTH' : 'Vorfluttiefe',
'SURFACE' : 'Auftauchen',
'CHANGE_DEPTH' : 'Neue Tiefe ist',
'SNORKEL_DEPTH' : 'Schnorcheltiefe',
'PERISCOPE_DEPTH' : 'Sehrohrtiefe',
'DECKSAWASH_DEPTH' : 'Vorfluttiefe',
'SURFACEING' : 'Tauchen auf',
'XO' : 'LI',
'NAVIGATOR' : 'ObStrMn',
'HERR_KALEUN' : 'Herr Kaleun'
}

elif LANGUAGE == "FR":
SUB_HEADING_COMPASS_STYLE = ('NNE','NE','ENE','ESE','SE','SSE','SSO','SO','WSO ','WNO','NO','NNO','N','E','S','O')

TEXT = { 'SHA_START' : 'Joining Subroute',
'SHA_FINAL' : 'We have been arrived.',
'SHA_INBOUND' : 'Inbound',
'SHA_OUTBOUND' : 'Outbound',
'BLANK' : ' ',
'BIGREGBLANK' : '', # Set to NULL for BIGREG-Dez-Style
'KOMMATA' : '.',
'POINT' : '.',
'PORT' : 'Babord',
'STARBOARD' : 'Tribord',
'DEGREE' : 'Degré',
'NEW_HEADING_IS' : 'Cap au',
'HEADING_IS_FINE' : 'Maintenez le cap',
'WE_ARE_THERE' : 'Position atteinte',
'HEADING' : 'La barre',
'DEC_TO' : '0 a',
'DEGREE_TO' : 'Gardez le cap',
'REACHING_NEXT_WP' : 'Reaching next Waypoint in',
'SM' : 'nm',
'KN' : 'knots',
'METRES' : 'metres',
'THAT_TAKES' : 'That tooks',
'HOURS' : 'hours',
'MINUTES' : 'minutes',
'LEFT_BRACKET' : '(',
'RIGHT_BRACKET' : ')',
'DOUBLEPOINT' : ':',
'SUBROUTE' : 'Subroute',
'DISTANCE' : 'Distance',
'TRAVELTIME' : 'Traveltime',
'CHECK_HEADING' : 'Please check the heading',
'NEW_HEADING' : 'We need to change the heading',
'ALL_STOP' : 'All stop',
'STOPPING' : 'Stopping',
'NEW_SPEED' : 'New Speed',
'NEW_SPEED_IS' : 'Going to',
'PREPARE' : 'Prepare',
'READY' : 'Ready',
'GO_TO' : 'Go to',
'GOING_TO' : 'Going to',
'FOR' : 'for',
'TO_SURFACE' : 'Surfacing',
'TO_DIVE' : 'Diving',
'TO_TESTDIVE' : 'Testdive',
'TO_CHANGE_DEPTH' : 'Depthchanging',
'TO_SNORKEL_DEPTH' : 'Snorkeldepth',
'TO_PERISCOPE_DEPTH' : 'Persicopedepth',
'TO_DECKSAWASH_DEPTH' : 'Decks awash',
'SURFACE' : 'Surfaceing',
'CHANGE_DEPTH' : 'New depth is',
'SNORKEL_DEPTH' : 'Snorkeldepth',
'PERISCOPE_DEPTH' : 'Persicopedepth',
'DECKSAWASH_DEPTH' : 'Decks awash',
'SURFACEING' : 'Surfacing',
'XO' : 'XO',
'NAVIGATOR' : 'Navigator',
'HERR_KALEUN' : 'commandant'
}

elif LANGUAGE == "IT":
SUB_HEADING_COMPASS_STYLE = ('NNE','NE','ENE','ESE','SE','SSE','SSO','SO','OSO ','ONO','NO','NNO','N','E','S','O')

TEXT = { 'SHA_START' : 'Joining Subroute',
'SHA_FINAL' : 'We have been arrived.',
'SHA_INBOUND' : 'Inbound',
'SHA_OUTBOUND' : 'Outbound',
'BLANK' : ' ',
'BIGREGBLANK' : ' ', # Set to NULL for BIGREG-Dez-Style
'KOMMATA' : '.',
'POINT' : '.',
'PORT' : 'sinistra',
'STARBOARD' : 'dritta',
'DEGREE' : 'gradi',
'NEW_HEADING_IS' : 'Nuova rotta:',
'HEADING_IS_FINE' : 'Rimaniamo in rotta',
'WE_ARE_THERE' : 'We are there',
'HEADING' : 'Heading',
'DEC_TO' : 'decine a',
'DEGREE_TO' : 'gradi a',
'REACHING_NEXT_WP' : 'Reaching next Waypoint in',
'SM' : 'nm',
'KN' : 'knots',
'METRES' : 'metres',
'THAT_TAKES' : 'That tooks',
'HOURS' : 'hours',
'MINUTES' : 'minutes',
'LEFT_BRACKET' : '(',
'RIGHT_BRACKET' : ')',
'DOUBLEPOINT' : ':',
'SUBROUTE' : 'Subroute',
'DISTANCE' : 'Distance',
'TRAVELTIME' : 'Traveltime',
'CHECK_HEADING' : 'Please check the heading',
'NEW_HEADING' : 'We need to change the heading',
'ALL_STOP' : 'All stop',
'STOPPING' : 'Stopping',
'NEW_SPEED' : 'New Speed',
'NEW_SPEED_IS' : 'Going to',
'PREPARE' : 'Prepare',
'READY' : 'Ready',
'GO_TO' : 'Go to',
'GOING_TO' : 'Going to',
'FOR' : 'for',
'TO_SURFACE' : 'Surfacing',
'TO_DIVE' : 'Diving',
'TO_TESTDIVE' : 'Testdive',
'TO_CHANGE_DEPTH' : 'Depthchanging',
'TO_SNORKEL_DEPTH' : 'Snorkeldepth',
'TO_PERISCOPE_DEPTH' : 'Persicopedepth',
'TO_DECKSAWASH_DEPTH' : 'Decks awash',
'SURFACE' : 'Surfaceing',
'CHANGE_DEPTH' : 'New depth is',
'SNORKEL_DEPTH' : 'Snorkeldepth',
'PERISCOPE_DEPTH' : 'Persicopedepth',
'DECKSAWASH_DEPTH' : 'Decks awash',
'SURFACEING' : 'Surfacing',
'XO' : 'XO',
'NAVIGATOR' : 'Navigator',
'HERR_KALEUN' : 'Signore'
}

else:
SUB_HEADING_COMPASS_STYLE = ('NNE','NE','ENE','ESE','SE','SSE','SSW','SW','WSW ','WNW','NW','NNW','N','E','S','W')

TEXT = { 'SHA_START' : 'Joining Subroute',
'SHA_FINAL' : 'We have been arrived.',
'SHA_INBOUND' : 'Inbound',
'SHA_OUTBOUND' : 'Outbound',
'BLANK' : ' ',
'BIGREGBLANK' : ' ', # Set to NULL for BIGREG-Dez-Style
'KOMMATA' : '.',
'POINT' : '.',
'PORT' : 'port',
'STARBOARD' : 'starboard',
'DEGREE' : 'degree',
'NEW_HEADING_IS' : 'New heading is',
'HEADING_IS_FINE' : 'Heading is fine',
'WE_ARE_THERE' : 'We are there',
'HEADING' : 'Heading',
'DEC_TO' : 'Dec to',
'DEGREE_TO' : 'degree to',
'REACHING_NEXT_WP' : 'Reaching next Waypoint in',
'SM' : 'nm',
'KN' : 'knots',
'METRES' : 'metres',
'THAT_TAKES' : 'That takes',
'HOURS' : 'hours',
'MINUTES' : 'minutes',
'LEFT_BRACKET' : '(',
'RIGHT_BRACKET' : ')',
'DOUBLEPOINT' : ':',
'SUBROUTE' : 'Subroute',
'DISTANCE' : 'Distance',
'TRAVELTIME' : 'Traveltime',
'CHECK_HEADING' : 'Please check the heading',
'NEW_HEADING' : 'We need to change the heading',
'ALL_STOP' : 'All stop',
'STOPPING' : 'Stopping',
'NEW_SPEED' : 'New Speed',
'NEW_SPEED_IS' : 'Going to',
'PREPARE' : 'Prepare',
'READY' : 'Ready',
'GO_TO' : 'Go to',
'GOING_TO' : 'Going to',
'FOR' : 'for',
'TO_SURFACE' : 'Surfacing',
'TO_DIVE' : 'Diving',
'TO_TESTDIVE' : 'Testdive',
'TO_CHANGE_DEPTH' : 'Depthchanging',
'TO_SNORKEL_DEPTH' : 'Snorkeldepth',
'TO_PERISCOPE_DEPTH' : 'Persicopedepth',
'TO_DECKSAWASH_DEPTH' : 'Decks awash',
'SURFACE' : 'Surfaceing',
'CHANGE_DEPTH' : 'New depth is',
'SNORKEL_DEPTH' : 'Snorkeldepth',
'PERISCOPE_DEPTH' : 'Persicopedepth',
'DECKSAWASH_DEPTH' : 'Decks awash',
'SURFACEING' : 'Surfacing',
'XO' : 'XO',
'NAVIGATOR' : 'Navigator',
'HERR_KALEUN' : 'Herr Kaleun'
}
The first three Variables on top are for the correspondending SHA-file:

The example from a real route from Kiel to a position near to Danzig:

[AS]
AF34-AN98
[DESCRIPTION]
Subroute AF34-AN98: Distance 1316 nm. Traveltime 187 hours (25 minutes).
[DESCRIPTION_END]
[CATEGORY]
U-Marschwege
[SUBCATEGORY]
AN98 Inbound
[COMMANDS]
Print_message,0,0,Joining Subroute,0,0,0,5
Ahead_one_third,0,0,0,0,0,0,2
Navigate_from_file,0,0,AF34-AN98,0,0,0,10
Set_Time_Compression,1,0,0,0,0,0,10
Print_message,0,0,We have been arrived.,0,0,0,5
[COMMANDS_END]You find the SHA_* Variables in bold.


What I actually do:

I have defined the routes for the coastal-waters campaign. The last run to build sha- and shn-files returns:

Done!
Routes from Queuefile : 58
Distance over all : 96925 nm
Given Waypoints by files : 1014
Calculated Waypoints : 5746
The distance between the waypoints are < 30 km and they are randomized within 2000 (given WP) and 1000 (calculated WP) mtr around
their calculated (ideal-)positions.

58 routes are in- and outbound-routes, that means that I have defined 29 different routes from Kiel and Wilhelmshaven to destinations in the baltic-, north-, nordic- and celtic-sea. To give the Mod a little more military- or mysterious touch, I named the routes by the KM-Grids of their start- and end-points (see the [AS]-section above).

If You want to travel from A to B, You have to look into a briefcase with charts and Maps to find the name of the needed route. Than You can find the route in the automation-menu and only have to activate it.

The Screenshot below is a preview of some sheets from the briefcase:

http://www.mediafire.com/conv/20db6c5c1a894ceabc22da0d6ae326d7e8f4bc9f48bb262121 8274ba15bd762a6g.jpg (http://www.mediafire.com/view/?doc2c6wrvyzhvr5)

I hope that I was able to give a short insight of my work to You,
Paco

gap
10-30-12, 09:03 AM
I hope that I was able to give a short insight of my work to You,
Paco

Definitely yes, Paco, keep up your great work! :yeah:

Talking about the dialogs, I wish to help with the Italian translation, but it is an hard task to translate the short sentences of your script without a context. Could you please provide us with some more examples of complete dialogs, besides the ones you have already posted?

The best would be if you could list every text entry (in English/German) in all its possible combinations :)

Paco
10-30-12, 05:13 PM
Thanks gap for the feedback. :up:

Ok, I begin with the easier part, the comments on calculated waypoints. That are the WPs, where only little corrections for sub-heading are required.

There are thre possible status:
#1 need to turn a little bit to the left.
#2 no correction required
#3 need to turn a little bit to the right.

If You want to get the comments from Your Crew only, the sentences are build from the following Variables:

## Get the correction exact in degrees:

#1
TEXT['HEADING'] + value + TEXT['DEGREE_TO'] + TEXT['PORT']#2
TEXT['HEADING_IS_FINE']#3
TEXT['HEADING'] + value + TEXT['DEGREE_TO'] + TEXT['STARBOARD']## Get the correction only in decimal-style:

#1
TEXT['HEADING'] + dec-value + TEXT['BIGREGBLANK'] + TEXT['DEC_TO'] + TEXT['PORT']#2
TEXT['HEADING_IS_FINE']#3
TEXT['HEADING'] + dec-value + TEXT['BIGREGBLANK'] + TEXT['DEC_TO'] + TEXT['STARBOARD']BIGREGBLANK: As BIGREG mentioned, he would like to get the comment given in 10-degree-steps and not as the word "dez/dec". If You define it as the word "dez/dec", You have to set BIGREGBLANK = " " (blank). If You decide to use something like "10,20,30" degree, BIGREGBLANK must be "" (NULL)
After this sentence, we always add the recipient:

TEXT['HERR_KALEUN']Example in german and english:

DE:
Drehen 1 Dez nach Steuerbord. Herr Kaleun.
Bleiben auf Kurs. Herr Kaleun.
Drehen 1 Dez nach Backbord. Herr Kaleun.

EN:
Heading 1 Dec to starboard. Herr Kaleun.
Heading is fine. Herr Kaleun.
Heading 1 Dec to port. Herr Kaleun.
Or, with exact degrees:

DE:
Drehen 3 Grad nach Backbord. Herr Kaleun.
Bleiben auf Kurs. Herr Kaleun.
Drehen 4 Grad nach Steuerbord. Herr Kaleun.

EN:
Heading 4 degree to starboard. Herr Kaleun.
Heading is fine. Herr Kaleun.
Heading 2 degree to port. Herr Kaleun.
Dialog-style:

At a calculated Waypoint, I designed the dialog very simple:

Before the sentence from above, the captain commands his navigator to check the course:


TEXT['CHECK_HEADING'] + TEXT['NAVIGATOR']
Example:


DE:
Kontrollieren sie den Kurs. ObStrMn.

EN:
Please check the heading. Navigator.
With enabling the italian- or french-output, I currently get these sentences:


IT:
Please check the heading. Navigator. Heading 5 gradi a sinistra. Signore.
Please check the heading. Navigator. Heading 4 gradi a dritta. Signore.
Please check the heading. Navigator. Rimaniamo in rotta. Signore.
.
Please check the heading. Navigator. Heading 1 decine a dritta. Signore.
Please check the heading. Navigator. Rimaniamo in rotta. Signore.
Please check the heading. Navigator. Heading 1 decine a sinistra. Signore.


FR:
Please check the heading. Navigator. La barre 4 Gardez le cap Babord. commandant.
Please check the heading. Navigator. Maintenez le cap. commandant.
Please check the heading. Navigator. La barre 1 Gardez le cap Tribord. commandant.
.
Please check the heading. Navigator. La barre 10 a Babord. commandant.
Please check the heading. Navigator. Maintenez le cap. commandant.
Please check the heading. Navigator. La barre 10 a Tribord. commandant.
For the Masterwaypoints, I'll write an extra post.

At This Point, I think, the captain should not ask the navigator to check the course, but rather order him to go 10 degree to port. (It is perhaps the behaviour, which was wanted by BIGREG here: http://www.subsim.com/radioroom/showpost.php?p=1944683&postcount=34 ).

What do You think?

Cheers,
Paco.

gap
10-30-12, 06:25 PM
Thank you Paco, :up:

here's an update of the italian dialogs, based on your inputs:

TEXT = { 'SHA_START' : 'Joining Subroute',
'SHA_FINAL' : 'We have been arrived.',
'SHA_INBOUND' : 'Inbound',
'SHA_OUTBOUND' : 'Outbound',
'BLANK' : ' ',
'BIGREGBLANK' : '', # NULL
'KOMMATA' : ',',
'POINT' : '.',
'PORT' : 'sinistra',
'STARBOARD' : 'dritta',
'DEGREE' : 'grado',
'DEGREES' : 'gradi',
'NEW_HEADING_IS' : 'Nuova rotta:',
'HEADING_IS_FINE' : 'Timoniere, alla via così! Rimaniamo in rotta',
'WE_ARE_THERE' : 'Siamo a destinazione',
'HEADING' : 'Viriamo',
'DEC_TO' : 'gradi di barra a',
'DEGREE_TO' : 'gradi di barra a',
'REACHING_NEXT_WP' : 'La prossima tappa dista',
'SM' : 'nm',
'KN' : 'nodi',
'METRES' : 'mt',
'THAT_TAKES' : 'La raggiungeremo fra',
'HOURS' : 'h',
'MINUTES' : 'min',
'LEFT_BRACKET' : '(',
'RIGHT_BRACKET' : ')',
'DOUBLEPOINT' : ':',
'SUBROUTE' : 'Subroute',
'DISTANCE' : 'Distance',
'TRAVELTIME' : 'Traveltime',
'CHECK_HEADING' : 'Per favore verificate la rotta',
'NEW_HEADING' : 'Dobbiamo rivedere la rotta',
'ALL_STOP' : 'Ferma tutto',
'STOPPING' : 'Macchine ferme',
'NEW_SPEED' : 'Nuova velocità:',
'NEW_SPEED_IS' : 'Procediamo a',
'PREPARE' : 'Prepararsi',
'READY' : 'Siamo pronti',
'GO_TO' : 'Portiamoci a',
'GOING_TO' : 'Stiamo raggiungendo',
'FOR' : '',
'TO_SURFACE' : 'all'emersione',
'TO_DIVE' : 'all'immersione',
'TO_TESTDIVE' : 'all'esercitazione di immersione',
'TO_CHANGE_DEPTH' : 'al cambio di profondità',
'TO_SNORKEL_DEPTH' : 'Snorkeldepth',
'TO_PERISCOPE_DEPTH' : 'Persicopedepth',
'TO_DECKSAWASH_DEPTH' : 'Decks awash',
'SURFACE' : 'Emersione',
'CHANGE_DEPTH' : 'New depth is',
'SNORKEL_DEPTH' : 'quota snorkel',
'PERISCOPE_DEPTH' : 'quota periscopica',
'DECKSAWASH_DEPTH' : 'filo d'acqua',
'SURFACEING' : 'Emersione in corso',
'XO' : 'Ufficiale in seconda',
'NAVIGATOR' : 'Ufficiale di rotta',
'HERR_KALEUN' : 'Comandante'

Notice that many entries are still in English: I will wait for further explainations by you before translating them too :)

P.S: is there any special formatting for decimal marks?

Paco
10-30-12, 06:47 PM
:yeah:

Now it looks like:


Per favore verificate la rotta. Ufficiale di navigazione. Viriamo 1 decine di gradi a sinistra. Comandante.
Per favore verificate la rotta. Ufficiale di navigazione. Rimaniamo in rotta. Comandante.
Per favore verificate la rotta. Ufficiale di navigazione. Viriamo 1 decine di gradi a dritta. Comandante.

or


Viriamo 1 gradi di barra a dritta. Comandante.
Rimaniamo in rotta. Comandante.
Viriamo 2 gradi di barra a sinistra. Comandante.
The Value for the comma has to be a point, because I am not able to hide it from the automation-function. And there it is the field-separator...


decimal marks: You mean something like: 1.000 or 1,000 instead of 1000? No, not at the moment, sorry.

gap
10-30-12, 07:30 PM
:yeah:

Now it looks like:

Per favore verificate la rotta. Ufficiale di navigazione. Viriamo 1 decine di gradi a sinistra. Comandante.
Per favore verificate la rotta. Ufficiale di navigazione. Rimaniamo in rotta. Comandante.
Per favore verificate la rotta. Ufficiale di navigazione. Viriamo 1 decine di gradi a dritta. Comandante.

or

Viriamo 1 gradi di barra a dritta. Comandante.
Rimaniamo in rotta. Comandante.
Viriamo 2 gradi di barra a sinistra. Comandante.


I have made some corrections in the meanwhile. Among them, 'Ufficiale di navigazione' was replaced with 'Ufficiale di rotta'. ;)

Also notice that, likewise its French correspective, the Italian phrase:

Viriamo 1 decine di gradi a sinistra

sounds a bit akward.

I have translated the 'DEC_TO' entry just in case, but if you look closely at my previous post, I have also set 'BIGREGBLANK' to '' (Null). If I understood your explanations, it should result in the following phrase being used instead:

Viriamo 10 gradi di barra a sinistra

Finally, the italian word 'gradi' is case sensitive (singular: grado). I could replace it with the degree symbol '°', but then, it should be linked with the respective value (es. '1°' instead of '1 °'). Can you remove the space separator between degree values and their unit of measure? :D

The Value for the comma has to be a point, because I am not able to hide it from the automation-function. And there it is the field-separator...

So this entry:

'KOMMATA' : ',',

has to be:

'KOMMATA' : '.',?

Using periods instead of commas makes dialogs lesser intellegible, imo...

maybe we can add a comma and a space at the end of text entries that are always followed by a recipient, or a comma and a space to the entries used for recipients, thus making the use of other separators dispensable :hmmm:

marks: You mean something like: 1.000 or 1,000 instead of 1000? No, not at the moment, sorry.

no, I was especially concerned about the separator used in Imperial/Intenational system for decimal numbers:

1.5 instead of 1,5

Paco
10-31-12, 08:15 AM
...I have also set 'BIGREGBLANK' to '' (Null). If I understood your explanations, it should result in the following phrase being used instead:


You understood it in the right way. :yeah:

'gradi' is case sensitive (singular: grado) .... Can you remove the space separator between degree values and their unit of measure?


Hm, I could implement the singular and plural form. It looks better than the degree symbol, imho?



Using periods instead of commas makes dialogs lesser intellegible, imo...


I know, but TDW has assigned the comma as a field-seperator in his automation.py-Script. I have looked into it and found the function which is reading and processing the shn-file. I'm able to change it there, but we have to be compatible to the other automation-scripts from Trevally, AvM, etc.

If we decide to use "#" instead of "," as field seperator, I could add a query in TDWs scipt, which checks the given format in the shn-File and sets the correct separator for the further instructions. But, BUT(!) it is TDWs work and as I see, he isn't active here at the moment. Furthermore he isn't very amused, if someone is patching in his work...

from his work:

NewUIs with TDC for SH5 by TheDarkWraith
version 7.1.0

YOU HAVE TO BE PATCHED TO v1.2 OF THE GAME!!!


COPYRIGHT NOTICE:
The code changes made to the .py files are the intellectual property of TheDarkWraith and may not be used, modified, or duplicated in whole, or in part, without the express written permission of TheDarkWraith. The code changes made to these files may not be used in any commercial application of any form without the express written permission of TheDarkWraith.
So we need a decision:
1) To accept the period.
2) If someone is in contact with him outside of subsim, to get his contact-data and ask him for permission to add a change to his code.
3) To patch his work as an unofficial patch with a suitable comment and if he will be back here, to get this (only three lines of code) into the official Mod.

At the moment, where if found the problem with comma or period, I decided that I use option 1 and respect TDWs disclaimer.


maybe we can add a comma and a space at the end of text entries that are always followed by a recipient, or a comma and a space to the entries used for recipients, thus making the use of other separators dispensable :hmmm:


Sorry, no. As soon as a comma is in use in a comment, the automation.py gives an exception and I can't mask it (\,) :-?

But I want to say, that it is not a bug by TDW or a bad design, it was simply his decision to use the comma as separator for his datastructure. :up:


no, I was especially concerned about the separator used in Imperial/Intenational system for decimal numbers:

1.5 instead of 1,5

Not impossible :03: -> I wrote it to my todo-(wish-)list.

gap
10-31-12, 09:27 AM
You understood it in the right way. :yeah:

:cool:


Hm, I could implement the singular and plural form. It looks better than the degree symbol, imho?

yes, nice :up:
I don't know in other languages, but we Italian do use the singular form (grado) only for the "1" value. Numbers bigger or lesser than 1, including decimal numbers, take the plural (gradi) i.e:

0 gradi
0,5 gradi
1 grado
1,5 gradi
2 gradi
...


I know, but TDW has assigned the comma as a field-seperator in his automation.py-Script. I have looked into it and found the function which is reading and processing the shn-file. I'm able to change it there, but we have to be compatible to the other automation-scripts from Trevally, AvM, etc.

If we decide to use "#" instead of "," as field seperator, I could add a query in TDWs scipt, which checks the given format in the shn-File and sets the correct separator for the further instructions. But, BUT(!) it is TDWs work and as I see, he isn't active here at the moment. Furthermore he isn't very amused, if someone is patching in his work...

from his work:

So we need a decision:
1) To accept the period.
2) If someone is in contact with him outside of subsim, to get his contact-data and ask him for permission to add a change to his code.
3) To patch his work as an unofficial patch with a suitable comment and if he will be back here, to get this (only three lines of code) into the official Mod.

At the moment, where if found the problem with comma or period, I decided that I use option 1 and respect TDWs disclaimer.

I may be wrong, but I think TDW is only concerned about people using part of his code in their own mods for any other reason than ensuring compatibility with them. On the other hand, he has always been extremely open to suggestions meant to improve his work and to stimulate other's creativity.

I don't see how switching from a comma to an hash could be considered code stealing, especially seen that your scripts would rely anyway on script support, coded by TDW himself in his NewUIs, and you are not pretending to have invented anything new :yep:

All the same, I would get anyway in touch with him for three reasons:

- politeness :)

- asking him if by any chance the changes proposed by you may be generating bugs, or breaking other's scripts

- asking him to include your inprovements in the next version of New UIs, provided that they have no side effects :03:

Paco
10-31-12, 02:10 PM
Hi gap,

I added the singular and plural-forms to the scipt. Than I added a variable to setup a new delimiter for the shn-files and patched the TDW-scipt additive.

For better digest, I used the "_" as delimiter and not "#".

Have a look for the italian version:


Giving changes as an exact value:
512328_7225438_-1_9999,0_7_-1_Viriamo 1 grado di barra a dritta, Comandante.
521982_7199124_-1_9999,0_7_-1_Rimaniamo in rotta, Comandante.
530193_7172250_-1_9999,0_7_-1_Viriamo 3 gradi di barra a dritta, Comandante.
539876_7146954_-1_9999,0_7_-1_Viriamo 4 gradi di barra a sinistra, Comandante.

Giving changes as dec-value:
1343910_8146509_-1_9999,0_7_-1_Viriamo 1 decine di gradi a dritta, Comandante.
1318821_8132517_-1_9999,0_7_-1_Viriamo 1 decine di gradi a sinistra, Comandante.

Using the BIGREG/gap-style ;-)
1294086_8119799_-1_9999,0_7_-1_Viriamo 10 di gradi a dritta, Comandante.
1270297_8105174_-1_9999,0_7_-1_Viriamo 10 di gradi a sinistra, Comandante.


All the same, I would get anyway in touch with him for three reasons:

- politeness :)

- asking him if by any chance the changes proposed by you may be generating bugs, or breaking other's scripts

- asking him to include your inprovements in the next version of New UIs, provided that they have no side effects :03:


:yeah: I will do so.

Cheers,
Paco.

Paco
10-31-12, 04:12 PM
Ok, now I try toexplain the outputs while passing a Masterwaypoint:

A Masterwaypoint is mostly a turning-point, we have to set a new heading, for example to circle around an island. Additional we are able to change the speed and/or the depth of the sub.


1. Speed-Changes:

If using the dialog-style, the captain commands to change speed or to stop the sub:

- stopping:
TEXT['ALL_STOP'] + TEXT['XO']-changing speed:
TEXT['NEW_SPEED'] + speed + TEXT['KN'] +TEXT['XO']Than, the crew confirms this command - this part is the same as the no dialog-style:

- stopping:
TEXT['STOPPING'] + TEXT['HERR_KALEUN']-changing speed:
TEXT['NEW_SPEED_IS'] + speed + TEXT['KN'] +TEXT['HERR_KALEUN']Examples:

New Speed 7 knots, XO. Going to 7 knots, Herr Kaleun.
Neue Fahrt 7 Knoten, LI. Gehen auf 7 Knoten, Herr Kaleun.

All stop, XO. Stopping, Herr Kaleun.
Maschinen stop, LI. Maschinen stop, Herr Kaleun.
2. Headings:

If using the dialog-style, the captain commands the new heading of the sub:


TEXT['NEW_HEADING'] + TEXT['NAVIGATOR'])
Than, the crew confirms this command - this part is the same as the no dialog-style. It is divided to write the heading in degree or as a compass:

a) degree - change heading:


TEXT['NEW_HEADING_IS'] + heading + TEXT['DEGREE'] + TEXT['HERR_KALEUN']
b) degree - heading is not changing:


TEXT['HEADING_IS_FINE'] + heading + TEXT['DEGREE'] + TEXT['HERR_KALEUN']
c) compass-style - change heading:


TEXT['NEW_HEADING_IS'] + SSO + TEXT['HERR_KALEUN']
d) compass-style - heading is not changing:


TEXT['HEADING_IS_FINE'] + SSO + TEXT['HERR_KALEUN']
Examples:


a)
We need to change the heading, Navigator. New heading is 75 degree, Herr Kaleun.
Zeit den Kurs zu wechseln, ObStrMn. Gehen auf Kurs 0 Grad, Herr Kaleun.

b)
We need to change the heading, Navigator. Heading is fine 90 degree, Herr Kaleun.
Zeit den Kurs zu wechseln, ObStrMn. Bleiben auf Kurs 0 Grad, Herr Kaleun.

c)
We need to change the heading, Navigator. New heading is WNW, Herr Kaleun.
Zeit den Kurs zu wechseln, ObStrMn. Gehen auf Kurs WSW, Herr Kaleun.

d)
We need to change the heading, Navigator. Heading is fine N, Herr Kaleun.
Zeit den Kurs zu wechseln, ObStrMn. Bleiben auf Kurs N, Herr Kaleun.
3. Changing Sub-depth:

The process of changing the subdepth is a little bit more complex. :D

A sub is on surface while travelling above the waves or decks-awash. It is Submerged if it is on snorkel depth or below. So I have designed different prepare-commands:

Dialog-style surfacing:
TEXT['PREPARE'] + TEXT['FOR'] + TEXT['TO_SURFACE'] + TEXT['XO']
TEXT['READY'] + TEXT['FOR'] + TEXT['TO_SURFACE'] + TEXT['HERR_KALEUN']
Dialog-style from surface -> diving:
TEXT['PREPARE'] + TEXT['FOR'] + TEXT['TO_DIVE'] + TEXT['XO']
TEXT['READY'] + TEXT['FOR'] + TEXT['TO_DIVE'] + TEXT['HERR_KALEUN']Dialog-style from surface -> diving to the testdepth of the sub:
TEXT['PREPARE'] + TEXT['FOR'] +TEXT['TO_TESTDIVE'] + TEXT['XO']
TEXT['READY'] + TEXT['FOR'] +TEXT['TO_TESTDIVE'] + TEXT['HERR_KALEUN']Dialog-style all other depth-changes:
TEXT['PREPARE'] + TEXT['FOR'] +TEXT['TO_CHANGE_DEPTH'] + TEXT['XO']
TEXT['READY'] + TEXT['FOR'] +TEXT['TO_CHANGE_DEPTH'] + TEXT['HERR_KALEUN']Than follows the command with the exact depth:


TEXT['GO_TO_FIXED_DEPTH'] + TEXT['SURFACE'] + TEXT['XO']
TEXT['GO_TO_FIXED_DEPTH'] + TEXT['SNORKEL_DEPTH'] + TEXT['XO']
TEXT['GO_TO_FIXED_DEPTH'] + TEXT['PERISCOPE_DEPTH'] + TEXT['XO']
TEXT['GO_TO_FIXED_DEPTH'] + TEXT['DECKSAWASH_DEPTH'] + TEXT['XO']
or
TEXT['GO_TO_DEPTH'] + TEXT['DEPTH'] + subdepth + TEXT['METRES'] + TEXT['XO']
The last part is used from dialog or non-dialog-style:

TEXT['SURFACEING']
TEXT['GOING_TO'] + TEXT['SNORKEL_DEPTH'] + TEXT['HERR_KALEUN']
TEXT['GOING_TO'] + TEXT['PERISCOPE_DEPTH'] + TEXT['HERR_KALEUN']
TEXT['GOING_TO'] + TEXT['DECKSAWASH_DEPTH'] + TEXT['HERR_KALEUN']
or
TEXT['GOING_TO'] + TEXT['DEPTH'] + subdepth + TEXT['METRES'] + TEXT['HERR_KALEUN']
Examples:


Prepare for Surfacing, XO. Ready for Surfacing, Herr Kaleun. Surfaceing, XO. Surfacing, Herr Kaleun.
Klar für Überwasserfahrt, LI. Boot klar für Überwasserfahrt, Herr Kaleun. Auftauchen, LI. Tauchen auf, Herr Kaleun.

Prepare for Depthchanging, XO. Ready for Depthchanging, Herr Kaleun. Decks awash, XO. Going to Decks awash, Herr Kaleun.
Klar für Tiefenänderung, LI. Boot klar für Tiefenänderung, Herr Kaleun. Vorfluttiefe, LI. Gehen auf Vorfluttiefe, Herr Kaleun.

Prepare for Diving, XO. Ready for Diving, Herr Kaleun. Snorkeldepth, XO. Going to Snorkeldepth, Herr Kaleun.
Klar für Unterwasserfahrt, LI. Boot klar für Unterwasserfahrt, Herr Kaleun. Schnorcheltiefe, LI. Gehen auf Schnorcheltiefe, Herr Kaleun.

Prepare for Depthchanging, XO. Ready for Depthchanging, Herr Kaleun. Persicopedepth, XO. Going to Persicopedepth, Herr Kaleun.
Klar für Tiefenänderung, LI. Boot klar für Tiefenänderung, Herr Kaleun. Sehrohrtiefe, LI. Gehen auf Sehrohrtiefe, Herr Kaleun.

Prepare for Depthchanging, XO. Ready for Depthchanging, Herr Kaleun. Go to 130 metres, XO. Going to 130 metres, Herr Kaleun.
Klar für Tiefenänderung, LI. Boot klar für Tiefenänderung, Herr Kaleun. Neue Tiefe 130 Meter, LI. Gehen auf 130 Meter, Herr Kaleun.

4. Routing informations:

You get an information about the distance to the next MWP, the time ingame and realtime (calculated with the given TC)


TEXT['REACHING_NEXT_WP'] + distance + TEXT['SM'] + TEXT['THAT_TAKES'] + Gametime + TEXT['HOURS'] + TEXT['LEFT_BRACKET'] + Realtime + TEXT['MINUTES'] + TEXT['RIGHT_BRACKET'] + TEXT['HERR_KALEUN']
Example:


Reaching next Waypoint in 1100 nm. That takes 20 hours (4 minutes), Herr Kaleun.
Nächster Kurswechsel in 1100 sm. Marschzeit dahin 20 Stunden (4 Minuten), Herr Kaleun.

5. Arrival:

At the last MWP, the comment is:

TEXT['WE_ARE_THERE'] + TEXT['HERR_KALEUN']

Good luck :arrgh!:
Paco

gap
10-31-12, 07:31 PM
Hi gap,

I added the singular and plural-forms to the scipt.

Thank you Paco!
I've updated the italian translation at post #53 (http://www.subsim.com/radioroom/showthread.php?p=1954795#post1954795) and added a new text entry: 'DEGREES' for the plural form


Than I added a variable to setup a new delimiter for the shn-files and patched the TDW-scipt additive.

For better digest, I used the "_" as delimiter and not "#".

:up:

Have a look for the italian version:

Using the BIGREG/gap-style ;-)
1294086_8119799_-1_9999,0_7_-1_Viriamo 10 di gradi a dritta, Comandante.
1270297_8105174_-1_9999,0_7_-1_Viriamo 10 di gradi a sinistra, Comandante.

That's not correct :hmmm:

the correct forms should be:

Viriamo 10 gradi di barra a dritta, Comandante.
Viriamo 10 gradi di barra a sinistra, Comandante.

or even:

Viriamo 10 gradi a dritta, Comandante.
Viriamo 10 gradi a sinistra, Comandante.


Ok, now I try toexplain the outputs while passing a Masterwaypoint:

A Masterwaypoint is mostly a turning-point, we have to set a new heading, for example to circle around an island. Additional we are able to change the speed and/or the depth of the sub.


1. Speed-Changes:

...

2. Headings:

...

translation done without problems :up:
(see post #53)



3. Changing Sub-depth:

The process of changing the subdepth is a little bit more complex. :D

A sub is on surface while travelling above the waves or decks-awash. It is Submerged if it is on snorkel depth or below. So I have designed different prepare-commands:

....



Okay, translation done, but with some remarks:


the entry ['FOR'] should be translated with the italian preposition "a" combined with the definite article, wich may vary depending on the noun that follows it. In our case we would have "al" or "all'" (with the apostrophe). My workaround was leaving the 'FOR' entry blanc, and including the preposition in the ['TO_SURFACE'], ['TO_DIVE'], ['TO_TESTDIVE'] and ['TO_CHANGE_DEPTH'] entries. Are they used in any other combination that the one you have illustrated?


In italian we make a broad use of the apostrophe. Nevertheless I see that your code uses straight apostrophes as string markers. I've used the curly apostrophe instead (hoping that it is not going to be confused with the straight one), but this forum doesn't recognize it: it gets replaced with a ***8217; code. In your code, you should replace that text with the correct character. If you are going to do it, please remember that there is no space between words separeted by postrophes (for example: "all'immersione" not "all' immersione".


Are the strings ['TO_SNORKEL_DEPTH'], ['TO_PERISCOPE_DEPTH'] and ['TO_DECKSAWASH_DEPTH'] used likewise the remaining ['TO_*'] entries. I didn't translate them yet, because I couldn't find any mention to them among your examples. :hmm2:


As far as depth commands are concerned, could you put the ['GO_TO'] string to before these phrases:

TEXT['SNORKEL_DEPTH'] + TEXT['XO']
TEXT['PERISCOPE_DEPTH'] + TEXT['XO']
TEXT['DECKSAWASH_DEPTH'] + TEXT['XO']

it would make more obvious that they are orders, and it would also make them symmetrical with their respective answers (order carried out), thus easing their translation. :D


In this dialog:

TEXT['GO_TO'] + subdepth + TEXT['METRES'] + TEXT['XO']
TEXT['GOING_TO'] + subdepth + TEXT['METRES'] + TEXT['HERR_KALEUN']

can you insert a ['DEPTH'] string between ['GO_TO'] / ['GOING_TO'] and the subdepth value: it is not indispensable, but in italian in would make it more straightforward from the beginning that we are talking about meters of depth. For other languages that don't require it, the entry could be left blank :)




4. Routing informations:

...

5. Arrival:

...


No problem here :up:

Paco
11-01-12, 06:07 AM
My first attemp to change the delimiter from ',' to anything other has crashed. :/\\!!

I have to go to deep into TDW's work to change and to be compatible with others work. But I found another way to allow the using of a comma in the navigation-files.

Changing the input-routines in TDW's Mod -> heavy work
Make a little change to his Journal-routine -> easy work :up:

For our comments, we write them as we want with the comma. By creating the shn-file, the script replaces all positions of a comma with "_#$#_".

Now, I added a line to the "Page Default Hud.py" from TDW to get back the comma by replacing the _#$#_ in the output-function.

The advantages are
- we get less problems with the complex process how the automations are working
- less code to change (one line only)
- Less side effects, we aren't crashing the UI-Mod, because we are only in an output-routine (I think, nobody uses a term like _#$#_ in his comments :dead:)
- The change allows Trevally, AvM, and others to use a so hided comma in ther shn files. They only need is the code update in the "Page Default Hud.py".


Paco

gap
11-01-12, 12:35 PM
My first attemp to change the delimiter from ',' to anything other has crashed. :/\\!!

I have to go to deep into TDW's work to change and to be compatible with others work. But I found another way to allow the using of a comma in the navigation-files.

Changing the input-routines in TDW's Mod -> heavy work
Make a little change to his Journal-routine -> easy work :up:

For our comments, we write them as we want with the comma. By creating the shn-file, the script replaces all positions of a comma with "_#$#_".

Now, I added a line to the "Page Default Hud.py" from TDW to get back the comma by replacing the _#$#_ in the output-function.

The advantages are
- we get less problems with the complex process how the automations are working
- less code to change (one line only)
- Less side effects, we aren't crashing the UI-Mod, because we are only in an output-routine (I think, nobody uses a term like _#$#_ in his comments :dead:)
- The change allows Trevally, AvM, and others to use a so hided comma in ther shn files. They only need is the code update in the "Page Default Hud.py".


Paco

Brilliant! :up:

Paco
11-01-12, 04:49 PM
Hi gap,

I got Your remarks into the script:


the entry ['FOR'] should be translated with the italian preposition "a" ....
Your workaround is good. I do it for some german translations, too.


code uses straight apostrophes as string markers.
Changed it into double quote and added Your straight apostrophes into the strings.


Are the strings ['TO_SNORKEL_DEPTH'], ['TO_PERISCOPE_DEPTH'] and ['TO_DECKSAWASH_DEPTH'] used likewise the remaining ['TO_*'] entries. I didn't translate them yet, because I couldn't find any mention to them among your examples
Yes :up:


As far as depth commands are concerned, could you put the ['GO_TO'] string to before these phrases:
Done. I divided it into 'GO_TO_DEPTH' for a depthchanging in metres and 'GO_TO_FIXED_DEPTH' for a change to a preset, like Snorkel, or Periscopedepth. For the german translation I leave the second one empty, because we don't need that 'GO_TO_FIXED_DEPTH'.


can you insert a ['DEPTH'] string between ['GO_TO'] / ['GOING_TO']
Yes I can. -> Done. Added the new string into the TEXT-dictionary.

Greets,
Paco.

LemonA
11-01-12, 05:27 PM
I am asking, for whom is the mod intended? ONly for the lazy guy who is not able to draw 5 course lines back to Wilhelmshaafn?

Must the script be monitored in any way to avoid u-boat loss? If "no" how does the script deal with enemy attacks?

Paco
11-01-12, 06:03 PM
I am asking, for whom is the mod intended? ONly for the lazy guy who is not able to draw 5 course lines back to Wilhelmshaafn?

For me, I'm a lazy guy. :yeah: I like the idea, to have a "taxi-service" in the game like the "harbour pilot scripts" from Trevally.

Perhaps, some other players, who are using the Real-Navigation-Mod could have a need for such a Mod...


Must the script be monitored in any way to avoid u-boat loss? If "no" how does the script deal with enemy attacks?

You do not need the script. It is only to generate automation-files, which have to be imported via JSGME into the game.

Ingame the behaviour is the same as You plot a course and Your crew sights an enemy ship. TC drops and You have to decide what to do.

Paco

gap
11-01-12, 07:24 PM
For me in makes sense inasmuch I don't like having a laser guided sub, but at the same time I don't see it realistic that after enabling real navigation we are no longer able to plot a course, letting navigator and xo to follow it. Using this mod makes them again able to do what they are meant to :yep:

Talking about it, it would be cool if Paco's script could feature some limitations:

injured navigator and XO: script disabled
stormy weather: more randomness

Another cool feature would be making the Navigator to mark on map his extimated position at start/end of the script and when main waypoints are reached. Something similar to automatic dead reckoning/celestial fixes script :)

LemonA
11-01-12, 08:13 PM
For real navigation this would be more realistic:
to proceed from one relative position to another on a specified course, a specified speed for a specified time.
And not proceed from point A in the world to point B in the world. That is cheating!

Expl: u-boat is on course 205° true. The helmsman is ordered to steer course 182° using a speed of 12 knots en route, for 3 hrs 20 minutes. Then he is ordered to steer a course of 205, speed 11 knots for 4 hrs 11 minutes etc. etc.

gap
11-01-12, 09:34 PM
For real navigation this would be more realistic:
to proceed from one relative position to another on a specified course, a specified speed for a specified time.
And not proceed from point A in the world to point B in the world. That is cheating!

Expl: u-boat is on course 205° true. The helmsman is ordered to steer course 182° using a speed of 12 knots en route, for 3 hrs 20 minutes. Then he is ordered to steer a course of 205, speed 11 knots for 4 hrs 11 minutes etc. etc.

I think I see what you mean, and it is a good idea, but I guess there are some limitations to what Paco can do, due to the fact that our crew is unable to spot land.

By applying your idea, deviations from the theoretical route would be cumulative and we would risk to run aground, not to mention the fact that in RL the route would be adjusted as mutch as possible by means of frequent celestial fixes, but not in game (unless Paco finds a way to bring position fixes in his scripts).

You should also take into account that Paco is already planning to add some randomness to his mod in measure of +/- 2000 m for main waypoints, and +/- 1000 for calculated waypoints (it is: wayponts between main waypoints). Provided that there is a way to set different random factors for different waypoints, maybe he could increase general randomness, increasing it even more if weather is overcast, and decreasing it for waypoints delimiting route legs running very close to land (Kattegat, Gibraltar, etc.). In this way, he would minimize the risk to hit land :hmmm:

Last, if possible, the method you are suggesting would be okay for another type of script, where we plot the course and set an array of headings/speeds/times that our crew will follow. For it to be possible, the script should allow for manual inputs and an apposite UI, but I am not sure whether the script system implemented by TDW supports them.

raymond6751
11-02-12, 07:30 AM
What you are proposing is interesting, from a scripting point of view. But, why is it different from the original waypoint system of the stock game?

If I have real navigation active, it is because I don't want to use the waypoint system. If I use the waypoint system, I don't need real navigation.

What would be better, and needed, is an auto wpt creation system where you click a point on the map and the system creates waypoints to that point avoiding land. You could specify or be told choices such as speed, eta, depth mins or max, and estimates of time and fuel use.

That is one click, lots of info provided, shortest route calculated, land avoided, and allows more flexibility in choosing position intended.

Just my thoughts. :hmm2:

Paco
11-02-12, 02:35 PM
For real navigation this would be more realistic:
to proceed from one relative position to another on a specified course, a specified speed for a specified time.
And not proceed from point A in the world to point B in the world. That is cheating!

Expl: u-boat is on course 205° true. The helmsman is ordered to steer course 182° using a speed of 12 knots en route, for 3 hrs 20 minutes. Then he is ordered to steer a course of 205, speed 11 knots for 4 hrs 11 minutes etc. etc.

:hmmm:

Technically, TDW's Automation is used in that way. I need point A and B and draw a straight line between them. Add some waypoint like pearls, to keep that way. At point B, I changes the course to point C, etc.

The fallout of this method is used for the comments. I calculate the angle and the distance. I get the speed from config and calculate the gametime and the realtime with the given timecompression.

For players, who want to use the Mod, I'm writing a briefcase with pictures and information-tables for the implemented routes. I could enhance this briefcase with more details for each route:

- angle,
- speed-chart
- timeinfo

So, if someone want it, he could use this briefcase, select a route, steer to one of the waypoints and set the angle and speed to join the route by hand (not the automation). Using the stopclock and wait the time. Than, use the next line from the details.

For the guys who use the automatic-script, it is not so easy as You ment. They have to be carefull. It is not like travelling with the course-marker. If they are impatient, they will loose the next waypoint and have to find the next one by hand.

Randomness:

The script adds randomness to the masterwaypoints and to the calculated waypoints. Both types have their own value for that. If we want different randomness to different routes, I have to move them into the mwp-files. Here we would be able to get more variations into them. For Example we set the value for the mwp's to 2000 mtrs. In the mwp-files we add a value to increase/decrease the given 2000 mtrs by %:
-> without value, the script takes the default.
-> Values < 100 decreases the default
-> Values > 100 increases the default.


UI:

At the moment, I do not know exactly how the game processes TDWs work. I think, all paramters and scripts ar loaded during gamestart. To change a navigation- or automation-script while ingame is ignored until You restart the game.
Perhaps I could attach my script to TDWs work, so it generates new randomized routes each time You start the game.


But, why is it different from the original waypoint system of the stock game?

In stock game, the navigator is brilliant. He follows Your given route like a train his track. You are able to go to what place ever You want by clicking a course.

This way is a little bit different:
- You only have the routes from the automation-menu.
- You are not able to use it for shadowing a convoy, or for Your attack
- There is a good chance to loose Your track.
- Its possible to diversify speed and depth for parts of the route. (For example crossing the Biscaya submerged and surface after leaving it behind.


If I have real navigation active, it is because I don't want to use the waypoint system. If I use the waypoint system, I don't need real navigation.

I have it active too. But I have begun the campaign over 10 times. It is boring always to sail back to Wilhelmshafen and calculating all needs by hand.

My script isn't a route planner - I'm not Mr Garming :03: It is only for travelling the main routes via an automation, no more.


What would be better, and needed, is an auto wpt creation ...

:yeah:

BTW, does someone know, how the game calculates fuel und battery consumption?

Greets,
Paco.

raymond6751
11-05-12, 08:12 AM
Thanks for the responses. I understand your ideas better now. I still think it would be more realistic if you could click a point on the map and your "navigator" plots a set of waypoints to that point. It could include some percentage of error (maybe depending on weather and time submerged.)

I am assuming too that the campaigns include enemy hunter-killer groups that you run into. It would be horrible if your planned routes 'always' put a sub in danger by passing one of those every time.

To answer your question about battery use, I have tested on a type VII and found that running submerged at slow speed depleted battery by 50% in 14.5 hours. Recharging that took 22 hours on the surface.

Regards
Raymond6751

Targor Avelany
11-05-12, 12:48 PM
Thanks for the responses. I understand your ideas better now. I still think it would be more realistic if you could click a point on the map and your "navigator" plots a set of waypoints to that point. It could include some percentage of error (maybe depending on weather and time submerged.)

I am assuming too that the campaigns include enemy hunter-killer groups that you run into. It would be horrible if your planned routes 'always' put a sub in danger by passing one of those every time.

To answer your question about battery use, I have tested on a type VII and found that running submerged at slow speed depleted battery by 50% in 14.5 hours. Recharging that took 22 hours on the surface.

Regards
Raymond6751

Problem is - based on what parameters can the Navigator plot this course?
Let's say you start at Whilm and you going to Atlantic (on the west coast of Britain). Does Navigator plot the course base on shortest route? Safest? How do we place those parameters in?

I think in this case it is better to place waypoints yourself. You can't really interract with the Navigator; he can't really "understand" what current situation requires. He can't "read" the map - I would prefer not to come too close to the shore, on which an air base is located for example - to figure out the safest or faster route... etc..

So, putting waypoints imo is better.