Цитата:
Сообщение от tarakan67
Победил я его таки! Но! Только запаковав emd в buttons. То есть дело в диффм, насколько я понял. Изначально к самолёту шла отдельная FM, причём в виде запакованного файла fmd. Если я вдобавок в этот же файл запаковывал emd, миссия не стартовала. А вот добавил твою emd в buttons, и всё полетело. Спасибо за помощь.
|
Ну так можно ж изменить диффим, сделав его более удобным.
Типа вот:
Код:
public static long finger(long l, String s)
{
SectFile sectfile = sectFile(s);
l = sectfile.finger(l);
for(int i = 0; i < 10; i++)
{
String s1 = "Engine" + i + "Family";
String s2 = sectfile.get("Engine", s1);
if(s2 == null)
break;
SectFile sectfile1 = sectFile("FlightModels/" + s2 + ".emd");
l = sectfile1.finger(l);
}
return l;
}
public static SectFile sectFile(String s)
{
SectFile sectfile = null;
String s1 = s.toLowerCase();
try
{
Object obj = Property.value(s, "stream", null);
InputStream inputstream;
if(obj != null)
{
inputstream = (InputStream)obj;
} else
{
if(fmDir == null)
{
fmDir = new InOutStreams();
fmDir.open(Finger.LongFN(0L, "gui/game/buttons"));
}
inputstream = fmDir.openStream("" + Finger.Int(s1 + "d2w0"));
}
inputstream.mark(0);
sectfile = new SectFile(new InputStreamReader(new KryptoInputFilter(inputstream, getSwTbl(Finger.Int(s1 + "ogh9"), inputstream.available())), "Cp1252"));
inputstream.reset();
if(obj == null)
Property.set(s, "stream", inputstream);
}
catch(Exception exception) { }
return sectfile;
}