New Navy Mk.8 Gun Sight for the Stock F4F-4(FM-2), F6F-3 and -5 and SBD-5, by WxTech
***** IMPORTANT! *****
To avoid conflicts...
These mods all involve the files:
hier.him
Body.msh
And additionally for the F4F-4:
Front.msh
These files may be used by other mods you may have. That version of the file which appears first in your file directory is the one which the game uses. Check all mods for these planes to see if these files are used there as well. If so, copy the relevant values from my files to those other versions.
For Body.msh, my mods involve just the viewpoint hooks sections. For example, from the F4F-4:
[Hooks]
CAMERA <BASE>
CAMERAAIM <BASE>
CAMERAUP <BASE>
[HookLoc]
//0 -1 0 1 0 0 0 0 1 0 0.55422 0.81649 L B U
//0 -1 0 1 0 0 0 0 1 0 0.35422 0.76649
//0 -1 0 1 0 0 0 0 1 0 0.40854 0.94407
0 -1 0 1 0 0 0 0 1 0 0.504 0.77
0 -1 0 1 0 0 0 0 1 0 0.254 0.77
0 -1 0 1 0 0 0 0 1 0.25 0.4 0.9
(Newer game versions may have additional hooks.)
For hier.him, my mods involve the sections for the gun sight (undamaged and damaged versions), reticle and reticle mask, for a total of up to 4 sections. For example, from the F4F-4:
[Z_Z_RETICLE]
Mesh Z_Z_RETICLE
Parent _ROOT_
Attaching 0 -1 0 0 0 1 -1 0 0 9.05418 0 1.28263
[Z_Z_MASK]
Mesh Z_Z_MASK
Parent _ROOT_
Attaching 0 -1 0 0 0 1 -1 0 0 4.57342 0.0 1.28357
[Pricel_D0]
Mesh Pricel_D0
Parent _ROOT_
//Attaching 0 1 0 -1 0 0 0 0 1 -0.53974 0 1.23194 //F R U?
Attaching 0 1 0 -1 0 0 0 0 1 -0.60974 0 1.23194 //B7
[Pricel_D1]
Mesh Pricel_D0 //Pricel_D1
Parent _ROOT_
Hidden
//Attaching 0 0.946161 0.323697 -0.997375 0.0232721 -0.0685695 -0.0723029 -0.32287 0.943678 -0.53974 0.0576 1.1351
Attaching 0 0.946161 0.323697 -0.997375 0.0232721 -0.0685695 -0.0723029 -0.32287 0.943678 -0.60974 0 1.23194
In all cases, the important numbers are the last 3 of each line, which locate the object in XYZ. Use my values, copying them over to your other file versions.
For the F4F-4's Front.msh, I altered the hood over the instrument panel to add polygons for the underside, thereby ridding the annoying gaps seen with 6DOF. If you have another F4F-4 mod which uses Front.msh, you can incorporate my addition easily enough...
I simply added 48 new faces using the already existing vertices. And so the only addition is 48 new lines added to the [Faces] section. And of course the [FaceGroups] section reflects this, as follows.
The hood uses the Sight_Dash3C texture, and is assigned to the fifth position (#4) in the [Materials] list; I added the comment "//hood."
The original [FaceGroups] data has been commented out in full with // characters, and my altered version immediately follows. Decoded:
The first line of two numbers enumerate the file's *total* vertex and face count, respectively. The vertex count has been unchanged, but the face count has gone from 271 to 319.
Each line thereafter: serialized listing no., starting from zero; starting line no. for vertices, commencing at zero; number of vertices; starting line no. for faces, commencing at zero; no. of faces; unknown (always zero.)
For item #4 I increased the face count from 48 to 96. The starting line numbers for all following parts has their starting line numbers increased accordingly, by 48.
[Materials]
GP_01
Opaque_03
Opaque_07
Opaque_08
Sight_Dash3C //hood
Textur24
Trans_02
Trans_05
Trans_06
Trans_08
GP_01_night
[FaceGroups]
//365 271
//0 0 14 0 10 0
//1 14 20 10 10 0
//2 34 32 20 28 0
//3 66 14 48 10 0
//4 80 40 58 48 0 //hood
//5 120 9 106 7 0
//6 129 4 113 2 0
//7 133 18 115 14 0
//8 151 60 129 36 0
//9 211 140 165 96 0
//10 351 14 261 10 0
365 319
0 0 14 0 10 0
1 14 20 10 10 0
2 34 32 20 28 0
3 66 14 48 10 0
4 80 40 58 96 0 //hood - add all 48 faces underside
5 120 9 154 7 0
6 129 4 161 2 0
7 133 18 163 14 0
8 151 60 177 36 0
9 211 140 213 96 0
10 351 14 309 10 0
In the [Faces] section I inserted my newly made 48 polygons. You could locate the proper place by counting down the line listing to the 106th line (#105, starting from zero), which is the last one for the hood, and insert my new data immediately after this line. Or use the copied text below as your guide, which show the preceding and following groups of several lines which bracket my addition. Insert my 48 lines between those reading:
37 39 9 (the last for item #4)
2 5 0 (the first for item #5)
(Actually, it doesn't matter where in the section a face group lies; ordering does not matter. All that *does* matter is that it not appear outside its section, falling into the counting seuqence for another part. You could insert my data at the beginning, or anywhere in between, or you could even scramble the line sequence. These 96 lines must only be found together as a group at the correct place, immediately after the last face for part #3.)
[Faces]
.
.
.
.
6 9 36
26 27 38
19 21 38
38 17 26
21 17 38
9 19 37
37 39 9
30 4 29 //my 48 new hood underside faces
6 0 8
.
.
.
.
9 37 19
37 9 39
2 5 0 //7
0 1 2
6 2 1
1 7 6
8 0 5
8 5 4
8 4 3
2 0 3 //
---
The original Mk.8 gun sights are generally not that bad, But they are inconsistent in their dimensions (that in the F4F-4/FM-2 having an aperture some 15mm too large, for example), and exhibit notable gaps with 6DOF. The pair of thin, flat side supports for the reflector plate, as represented on the stock F4F-4 and F6F sights, has never been seen by me in any photo of a Mk.8 sight I've managed to uncover online. Instead all have the half-cylinder support, as represented on the stock SBD-5; my sight reflects this. The original crash pad was made a bit too small, and has been suitably upsized.
I built this sight by checking over the stock SBD-5's version, which has the U-shaped reflector support and what seem to be fairly correct dimensions. I measured many photos and arrived at a set of dimensions from which to work. Only the rearmost and underside polygons are not drawn, they being not seen from the typical range of 6DOF viewing angles.
I've dispensed with the cable conduit, which on the real sight is a relatively short tube that's part of the lamp housing, bent at 45 degrees. I believe it was usually oriented forward, directly toward the instrument panel, and thus was largely obscured by the sight body (unless viewed from well toward the side.) Besides, the polygon count is already rather high.
The collimating lens texture is made so as to give the appearance of reflecting the U-shaped reflector support, as seen from the usual viewing positions. For POVs which are far to the left or right, or from a quite high angle, the prespective is not correct and so the appearance may seem a bit odd.
The reflector plate and body have been made up from a larger number of line segments, and thus look nearer to circular. All reflector edge faces are seen from all viewing angles. The reflector edge surface normals were reversed, so as to represent the more prominent forward scatter of the translucent surface. The reflector plate edge support groove has been treated separately.
I added an extension at the back of the sight mounting, to suggest a means of attaching to the instrument panel.
---
All sights have been moved rearward to some extent, and some of them upward. This was effected by altering the relevant locating dimensions in the hier.him file, which is included.
I have made only an UNDAMAGED version of the sight. The hier.him files have been altered so that this undamaged sight remains in place, by substituting the Pricel_D1 mesh (damaged version) with the Pricel_D0 mesh (undamaged version), and altering the XYZ values so that it does not shift when damaged. You can restore the original damaged sights by simply 'switching' the appropriate lines. That line preceded by // characters is inactive. Below is a partial copy of the undamaged/damaged sight sections in hier.him from the F4F-4. (I've shortened the longer lines here with ellipses, removing much of the rotation transformation matrix.)
[Pricel_D0]
Mesh Pricel_D0
Parent _ROOT_
//Attaching 0 1 . . . . -0.53974 0 1.23194 //F R U?
Attaching 0 1 . . . . -0.60974 0 1.23194 //B7
[Pricel_D1]
Mesh Pricel_D0 //Pricel_D1
Parent _ROOT_
Hidden
//Attaching 0 0.946161 . . . . -0.53974 0.0576 1.1351
Attaching 0 0.946161 . . . . -0.60974 0 1.23194
For [Pricel_D0] I added a new line containing my relocated sight. The last 3 values of these lines locate the object in XYZ. In this plane (not consistently done for all!), increasing these 3 numbers move the object forward, right and up, respectively. Units are meters, and my comments are in centimeters. You can see that I've moved the sight rearward by 7cm.
For [Pricel_D1] I substituted the (undamaged) mesh Pricel_D0. To restore the original damaged version, make this line:
Mesh Pricel_D1
---
I also include for each plane the Body.msh file, because the viewpoint hooks are located here. The movements of the POV are effected in the same way as is the gun sight, as outlined above. But here the order and sense of movement are different; the files are annotated accordingly within.
If you already have a mod which has altered the plane's Body.msh, you MUST NOT use this one if it is read before the other. This will disable the other mod's changes. Either remove this Body.msh, or rename it to -Body.msh. If you wish to use my altered POV settings, simply copy them over to your other Body.msh file with any text editor.
---
I include my own Mk. 8 reticle. For all my reticles I've discarded the 2-layer approach in which a sharp and blurred reticle graphic are overlaid. I use just the one layer, for a number of reasons. At the most basic level, I prefer less target obscuration. There are technical reasons involving varying optical aberrations and restricted monitor dynamic range, which I won't go into here.
The Reticle.mat file has the line:
tfMipMap 0 //1
(The "//1" is a remark, not read by the game, and simply indicates the other possible setting.)
When tfMipMap is set to zero (as here), the texture is drawn as always 'crisp'. The disadvantage of this arises at large FOV settings, where the reticle appears quite small and is hence undersampled. This results in a 'shimmery', pixellated appearance.
When tfMipMap is set to 1, the texture is resampled by factors of two as it's drawn over a range of size on screen while changing the FOV. This prevents 'shimmer' when undersampled. But it results in a blurring when drawn at a scale between the next lower and next higher sample scalings (particularly just before that last bit of zoom suddenly transitions to the next higher sample.)
The ZZ_RETICLE.msh file controls the size of the reticle.tga as a physical object, the distance out in front of the plane being set in Hier.him. It's required with my reticle. If you disable my reticle, ZZ_RETICLE.msh should be disabled as well, else your default reticle will likely be drawn at the wrong size.
Don't like my reticle? Alter, disable or delete:
Reticle.mat
Reticle.tga (or reticle2.tga)
ZZ_RETICLE.msh
---
I include my canopy glass treatment. Don't like? For the F4F-4, alter, disable or delete:
GlassCanopy.mat
GlassCanopy.tga
For the F6F, alter, disable or delete:
Glass.mat
GlassCanopy.tga
For the SBD-5, alter, disable or delete:
perspex.mat
perspex.tga
---
The SBD-5's instrument panel hood uses the gunsight.mat/gunsight.tga files. Now that my new sight uses a differently-named file pair, this *might* free up the stock gunsight.mat/tga files for altering if one wishes to re-work the hood surface. IF(!) no other parts use these files as well; I don't *think* so, but have not delved into this.
---
I hereby give permission to any and all to use this work, in whole or in part, in any other work without restriction.
WxTech
July 7, 2015
Get it here:
https://www.mediafire.com/download/o9iv232uj59n1eh/00_Mk8-Gunsight_F4F4_F6F_SBD5.7z