View Single Post
Old 04-24-08, 01:14 PM   #207
Dietrich
Sparky
 
Join Date: Jul 2006
Posts: 152
Downloads: 0
Uploads: 0
Default

Okay, I've cracked the problem of the crew locations. There are two important things to note.

Firstly, as Stiebler points out, the crew are automatically shuffled around according to certain circumstances. These are to do with minimum crew deployment in certain compartments. For example, you must have two officers and three crew (Maate or Matrosen) in the Zentrale. If you are surfaced, you must have at least one crew topside and if you are running on Diesel or Electric Motors, then the game will shift crew to match that.

Secondly, the "NrComp" field in data\Cfg\crew_config_xxi_#.cfg makes no difference to the crew placement. Yes, I know that they might indicate certain positions and, in some cases, match them, but this is coincidence.

Instead, the crew is deployed according to the CREW_MEMBER number that appears in the start of each block. That means that [CREW_MEMBER_0] is always the officer in the bow quarters, [CREW_MEMBER_29] is always the radio operator, etc.

When the game starts, the crew are deployed according to this layout convention. Then, the game engine will shuffle crew around to meet the compartment requirements. In my experiments, I've set the crew for a default "surface start", which seems to work. However, in a Multiplayer mission, the bridge crew are automatically moved to the quarters and the diesel engine team are moved to the electric motor.

By naming crew according to their number/stats/qualifications, I was able not only to figure this out, but also to map the positions. They are:


OFFICERS

0 = Bridge
2 = LI
3 = NA
4 = WF
5 = Diesel


CREW

13-16 Watch
20-21 Flak
28 Hydrophone
29 Radio
30-32 Zentrale
33-42 Diesel
43-52 Elektro
53-64 Bow Torpedo
67-82 Bow quarters
83-98 Aft quarters


UNKNOWN
1
6-12
65-66
99-104 Stern Torpedo?
105-120


The Officers must have "Type=2", Maate must be "Type=1" and Matrosen must be "Type=0". Ranks are controlled by "Grad", not "Rank". The ranks are:


0 = Matrosengefreiter
1 = Matrosenobergefreiter
2 = Matrosenhauptgefreiter
3 = Bootsmann
4 = Stabsbootsmann
5 = Stabsoberbootsmann
6 = Oberfähnrich z. S.
7 = Leutnant z. S.
8 = Oberleutnant z. S.

This is a bit more sparse than the real rank system.

Using all of this, I've created a new Typ-XXIII crew. It is based on the crew of U-2331, with two officers hand-picked from U-2333 and U-2350 to get around some limitations in the game engine (requiring four officers) and for aesthetics. The screenshot is the spreadsheet sumarising my research and some of the configuration parameters.



I've also gone back to original game files and modified those, rather than using the GWX ones, which have been hacked beyond recognition over the years. While this made them very sophisticated, they had managed to get rather messy and for a total U-boat conversion project, like the Typ-XXIII one, then I realised it was best to start from scratch. This means that I've also eliminated some of the problems induced by additional configuration tags.

I've also fixed the problem of "ghost crew" appearing under certain circumstances. Again, going back to a scratch build helped.

Here is what the crew configuration looks like when I tested it.



Note that I've deliberately put an officer on the engine room, to prevent "Nicht möglich" messages on start up.


@ Tomi / Stiebler : I've sent you the files

@ Stiebler : Thanks for the note regarding incorrect graphics in the case of damage. I'll start working on that now that I've made this breakthrough on the crews.
Dietrich is offline   Reply With Quote