Мне удалось настроить работу До-232.
Тут оригинал:
-
http://www.sas1946.com/main/index.php?topic=46637.0 - .
Сам модернизированный крафт выкладу позже чуть-чуть, после тестов.
Может кто свяжеться с автором мода До-232 на САС и подскажет как настроить правильную работу двигателей в данном моде.
Сам модернизированный код выглядит так:
Код:
package com.maddox.il2.objects.air;
import com.maddox.JGP.Vector3d;
import com.maddox.JGP.Point3d;
import com.maddox.il2.ai.*;
import com.maddox.il2.ai.RangeRandom;
import com.maddox.il2.engine.*;
import com.maddox.il2.engine.Eff3DActor;
import com.maddox.il2.engine.Config;
import com.maddox.il2.engine.HierMesh;
import com.maddox.il2.fm.*;
import com.maddox.il2.fm.Controls;
import com.maddox.il2.fm.FlightModel;
import com.maddox.il2.fm.FlightModelMain;
import com.maddox.il2.fm.Turret;
import com.maddox.il2.game.*;
import com.maddox.il2.game.AircraftHotKeys;
import com.maddox.il2.game.HUD;
import com.maddox.il2.game.Main3D;
import com.maddox.il2.objects.Wreckage;
import com.maddox.il2.objects.weapons.*;
import com.maddox.il2.objects.weapons.GunEmpty;
import com.maddox.util.HashMapInt;
import com.maddox.rts.Finger;
import com.maddox.rts.Property;
import com.maddox.rts.*;
import java.io.IOException;
import java.util.Random;
import java.util.ArrayList;
// Referenced classes of package com.maddox.il2.objects.air:
// DO_335, PaintSchemeBMPar05, Aircraft, NetAircraft
public class Do_232 extends DO_335J
{
public Do_232()
{
oldctl = -1F;
curctl = -1F;
}
public void update(float f)
{
float f1 = FM.EI.engines[1].getControlRadiator();
if(Math.abs(flapps[1] - f1) > 0.01F)
{
flapps[1] = f1;
hierMesh().chunkSetAngles("Water1_D0", 0.0F, -20F * f1, 0.0F);
hierMesh().chunkSetAngles("Water2_D0", 0.0F, -10F * f1, 0.0F);
hierMesh().chunkSetAngles("Water3_D0", 0.0F, -10F * f1, 0.0F);
}
f1 = FM.EI.engines[0].getControlRadiator();
if(Math.abs(flapps[0] - f1) > 0.01F)
{
flapps[0] = f1;
for(int i = 2; i < 8; i++)
{
String s = "Cowflap" + i + "_D0";
hierMesh().chunkSetAngles(s, 0.0F, -30F * f1, 0.0F);
}
}
if(FM.EI.engines[1].getPowerOutput() > 0.7F && FM.EI.engines[1].getStage() == 6)
{
FM.EI.engines[0].setEngineMomentMax(6447.0F);
float f3 = 1.01F * (0.5F * FM.EI.engines[0].getw() + 0.5F * FM.EI.engines[1].getw());
FM.EI.engines[1].setw(f3);
if(FM.EI.engines[0].getStage() != 6)
FM.EI.engines[1].setw(0.7F * FM.EI.engines[1].getw());
FM.EI.engines[0].setEngineMomentMax(7204.0F);
if(FM.EI.engines[1].getPowerOutput() > 0.98F)
FM.AS.setSootState(this, 1, 3);
else
FM.AS.setSootState(this, 1, 2);
} else
{
FM.AS.setSootState(this, 1, 0);
}
afterburnerhud();
super.update(f);
}
protected void nextDMGLevel(String s, int i, Actor actor)
{
super.nextDMGLevel(s, i, actor);
if(super.FM.isPlayers())
bChangedPit = true;
}
protected void afterburnerhud()
{
if(super.FM.isPlayers() && ((FlightModelMain) (super.FM)).EI.engines[1].getControlAfterburner())
HUD.logRightBottom(" Erh\366hte Hochtsleistung MW50 inbegriffen!!");
}
protected void nextCUTLevel(String s, int i, Actor actor)
{
super.nextCUTLevel(s, i, actor);
if(super.FM.isPlayers())
bChangedPit = true;
}
private static Aircraft._WeaponSlot[] GenerateDefaultConfig(int i)
{
Aircraft._WeaponSlot a_lweaponslot[] = new Aircraft._WeaponSlot[i];
try
{
a_lweaponslot[0] = new Aircraft._WeaponSlot(0, "MGunMG15120SNEW", 200);
a_lweaponslot[1] = new Aircraft._WeaponSlot(0, "MGunMG15120SNEW", 200);
a_lweaponslot[2] = new Aircraft._WeaponSlot(1, "MGunMG15120SNEW", 200);
a_lweaponslot[3] = null;
a_lweaponslot[4] = null;
a_lweaponslot[5] = null;
a_lweaponslot[6] = null;
a_lweaponslot[7] = null;
a_lweaponslot[8] = null;
a_lweaponslot[9] = null;
a_lweaponslot[10] = null;
a_lweaponslot[11] = null;
a_lweaponslot[12] = null;
a_lweaponslot[13] = null;
a_lweaponslot[14] = null;
a_lweaponslot[15] = null;
}
catch(Exception exception) { }
return a_lweaponslot;
}
static java.lang.Class _mthclass$(java.lang.String s)
{
java.lang.Class class1;
try
{
class1 = java.lang.Class.forName(s);
}
catch(java.lang.ClassNotFoundException classnotfoundexception)
{
throw new NoClassDefFoundError(classnotfoundexception.getMessage());
}
return class1;
}
public static boolean bChangedPit = false;
private float oldctl;
private float curctl;
private float flapps[] = {
0.0F, 0.0F
};
Емд ниже в посте.
Моторы настроены по ттх.
Для ДБ-603 перещитан редуктор и углы установки лопастей применительно с особенностям Ила.
Если автор Микоян99 заинтересуеться - выложу дополнительную информацию.