Звичайна людина на Землі
Регистрация: 06.11.2011
Адрес: Україна, м.Київ, Печерський район, вул. Кіквідзе
Сообщений: 8,311
|
Цитата:
Сообщение от Dimas1999
Так вроде же в БАТе сборка с моими классами не работала, по логам понял,
что не нравится код для ограничения перемещений 6DoF.
Я его закомментировал. Из-за этого камера может слишком сильно
переместиться и пройти сквозь текстуры (теоретически).
Насколько я помню, ранее для БАТа требовался фикс от Васи, где классы
были закомпилированы в среде на основе 4.12.2.
|
6DoF я оставлял. Дописывал импорт.
И ещё в классах кокпитов код некоторых приборов исправлял.
Например.
Код:
package com.maddox.il2.objects.air;
import com.maddox.JGP.*;
import com.maddox.JGP.Point3d;
import com.maddox.JGP.Tuple3d;
import com.maddox.JGP.Tuple3f;
import com.maddox.JGP.Vector3f;
import com.maddox.il2.ai.World;
import com.maddox.il2.engine.*;
import com.maddox.il2.fm.*;
import com.maddox.rts.*;
public class CockpitYAK_1 extends CockpitPilot
{
class Interpolater extends InterpolateRef
{
public boolean tick()
{
if(fm != null)
{
setTmp = setOld;
setOld = setNew;
setNew = setTmp;
setNew.throttle = (10F * setOld.throttle + ((FlightModelMain) (fm)).CT.PowerControl) / 11F;
setNew.prop = (10F * setOld.prop + ((FlightModelMain) (fm)).EI.engines[0].getControlProp()) / 11F;
setNew.altimeter = fm.getAltitude();
if(Math.abs(((FlightModelMain) (fm)).Or.getKren()) < 30F)
setNew.azimuth = (35F * setOld.azimuth + ((FlightModelMain) (fm)).Or.azimut()) / 36F;
if(setOld.azimuth > 270F && setNew.azimuth < 90F)
setOld.azimuth -= 360F;
if(setOld.azimuth < 90F && setNew.azimuth > 270F)
setOld.azimuth += 360F;
setNew.vspeed = (199F * setOld.vspeed + fm.getVertSpeed()) / 200F;
setNew.mix1 = 0.8F * setOld.mix1 + 0.2F * fm.EI.engines[0].getControlMix();
}
return true;
}
Interpolater()
{
}
}
private class Variables
{
float mix1;
float throttle;
float prop;
float altimeter;
float azimuth;
float vspeed;
private Variables()
{
}
}
protected void setCameraOffset()
{
super.cameraCenter.add(0.019999999552965164D, 0.0D, 0.0D);
}
public CockpitYAK_1()
{
super("3DO/Cockpit/Yak-1/hier.him", "bf109");
setOld = new Variables();
setNew = new Variables();
w = new Vector3f();
pictAiler = 0.0F;
pictElev = 0.0F;
light1 = new LightPointActor(new LightPoint(), new Point3d(-0.44750000000000001D, 0.3392D, 0.31190000000000001D));
light2 = new LightPointActor(new LightPoint(), new Point3d(-0.33810000000000001D, 0.28420000000000001D, 0.27179999999999999D));
light3 = new LightPointActor(new LightPoint(), new Point3d(-0.1656D, 0.20100000000000001D, 0.21079999999999999D));
light4 = new LightPointActor(new LightPoint(), new Point3d(-0.44750000000000001D, -0.3392D, 0.31190000000000001D));
light5 = new LightPointActor(new LightPoint(), new Point3d(-0.33810000000000001D, -0.28420000000000001D, 0.27179999999999999D));
light6 = new LightPointActor(new LightPoint(), new Point3d(-0.1656D, -0.20100000000000001D, 0.21079999999999999D));
light1.light.setColor(245F, 221F, 189F);
light2.light.setColor(245F, 221F, 189F);
light3.light.setColor(245F, 221F, 189F);
light4.light.setColor(245F, 221F, 189F);
light5.light.setColor(245F, 221F, 189F);
light6.light.setColor(245F, 221F, 189F);
light1.light.setEmit(0.0F, 0.0F);
light2.light.setEmit(0.0F, 0.0F);
light3.light.setEmit(0.0F, 0.0F);
light4.light.setEmit(0.0F, 0.0F);
light5.light.setEmit(0.0F, 0.0F);
light6.light.setEmit(0.0F, 0.0F);
super.pos.base().draw.lightMap().put("LAMPHOOK1", light1);
super.pos.base().draw.lightMap().put("LAMPHOOK2", light2);
super.pos.base().draw.lightMap().put("LAMPHOOK3", light3);
super.pos.base().draw.lightMap().put("LAMPHOOK4", light4);
super.pos.base().draw.lightMap().put("LAMPHOOK5", light5);
super.pos.base().draw.lightMap().put("LAMPHOOK6", light6);
super.cockpitNightMats = (new String[] {
"prib_one", "prib_two", "prib_four", "prib_five", "shkala", "prib_one_dd", "prib_two_dd"
});
setNightMats(false);
interpPut(new Interpolater(), null, Time.current(), null);
super.limits6DoF = (new float[] {
0.7F, 0.055F, -0.07F, 0.11F, 0.15F, -0.11F, 0.04F, -0.025F
});
}
|