For the IK-3 fighter offered here:
https://www.sas1946.com/main/index.php/topic,21006.0.htmlI highly recommend to MANUALLY copy over files!
IMPORTANT! The class files have been compiled for 4.12. For earlier game versions, the 3 cockpit classes have nothing to offer anyway and so can be ignored. The only classfile relevant for all game versions is 5140B48CCD52E590.
Epervier has updated his original mod with all my fixes for you 4.09/4.10 Luddites , and he posted a link to his thread in Reply #2, below, which is of course the same as the link at the top of this post.And so this mod is for 4.12 (and later) users to apply on top of his creation. Rebels and Privateers do not need this fix. Thanks, Gabriel!
If you're a 4.12 or later user and already have the plane in its previous incarnation as first provided by Gabriel, you'll use ALL of my files here. If you are only just now getting his plane, then only my 4 classfiles (4.12) are needed to replace his (4.10).
Get my fix for 4.12 and later here:
https://www.mediafire.com/file/qszfljtclxt9tg0/IK-3_fixes_by_WxTech.7z/file[Added in edit]
I forgot to mention another change. Namely, the lowering of the compass tape drum by 1cm, for better centering in the housing's window and hence better readability.
From the included readme file:
IMPORTANT NOTE!
The classfiles here are for 4.12 (using the 4.10 versions to build on)!
For players flying an earlier version, the CockpitIK3.class can be ignored, as the only change made was the addition of the 6dof code introduced in 4.12. These are the 3 classfiles to ignore:
79D40BF2B48F4E86
C02DEF0EED0AE070
DABFE0B0A4FD078A
The IK_3xyz.class (5140B48CCD52E590) is more important, as it adds the improved chance for oil system damage. Another modder need only restore the two altered methods where I had to change from "private" to "public", then re-compile. See below...
====================================================
Within my first hour of installing this plane some deficiencies made themselves apparent.
- The iron sight components weren't well aligned vertically.
- For 6DoF players who might prefer to not hit the SHF-1 gun sight view key, the poor range of vertical head movement, combined with the higher 'normal' view position, made lining up with the sight a chore.
- The front perspex panel presented the same degree of specular reflection as all the rest. But this is impossible because the angle would require that the floor of the plane be transparent!
- I could never see an oil damage smoke effect.
====================================================
The changes made:
- Moved the ring sight up several millimeters, and adjusted the PoV for CAMERAAIM (SHF-F1) accordingly. Now this sight can be relied upon.
- Now treat the front window panel separately from the others, giving it no specularity of note for external light sources. This is realistic.
- Supplied a new glass texture, like that for my other cockpit mods. And reversed all glass surface normals so as to emphasize the greater efficiency of forward scatter.
- Added the missing oil smoke hook, so now oil damage smoke will appear.
- Slightly moved the _Tank3Burn hook upward to the under surface of the left wing root. And moved its related _Tank3Leak hook from the central underside of the water cooler unit up and over to the wing root.
- Inspired by the P-51 code, added a chance of oil damage when the water cooler is damaged. Given the huge radiator slung below, this seems to be a viable approach.
- For 4.12 players, added to the cockpit class the 6dof code to set the various movement range values. Now there's a larger range of virtual head movement in the fore-aft and up-down axes.
====================================================
IK_3xyz.class (5140B48CCD52E590) has had the addition of the water damage applying a probability of damage to oil. Shown below is the addition of this water damage code applying to oil damage:
if(s.startsWith("xxoil"))
((FlightModelMain) (super.FM)).AS.hitOil(shot.initiator, 0);
debuggunnery("xxoil1 Tank Pierced..");
if(s.startsWith("xxwater") && World.Rnd().nextFloat() < 0.2F) //taken from P-51; original probability 0.05
((FlightModelMain) (super.FM)).AS.hitOil(shot.initiator, 0);
debuggunnery("xxwater1 Radiator Pierced..");
Building upon the 4.10 version, my crude compiler required me to make these two additional alterations in IK_3xyz.class for 4.12. In each shown below, the first is what my decompiler spit out, which I REMed out and replaced, the key element being that my compiler balked at "private":
/* private static float floatindex(float cvt, float gear5YScale2[]) */
public static float floatindex(float cvt, float gear5YScale2[])
/* private void doWreck(String s) */
public void doWreck(String s)
Note that I am NOT a programmer in any meaningful sense! I'm stumbling along in great ignorance!
I include the 4.12 compliant Java files, readable with any text editor (Notepad++ is excellent due to supported formatting.) As noted, someone could make the two small restorations pointed to above and compile a 4.09/4.10 version.
====================================================
As always, I offer this work for use by any and all, for any purpose, without restriction or hindrance.
WxTech
Jan 2, 2020