Einzelnen Beitrag anzeigen
Alt 21.10.2005, 05:56   #4
JOBIA
Inventar
 
Registriert seit: 02.01.2002
Alter: 61
Beiträge: 4.238


Standard

Zu

"vielleicht hilft Dir dieses Programm weiter (habs gerade zufällig bei Avsim gesehen):

http://library.avsim.net/download.php?DLID=75329


quote:
--------------------------------------------------------------------------------
BGLXML 1.8, by Alessandro G. Antonini (C)2004 this is an utility which disassembles BGL files into new FS2004 format and produces an XML file to be compiled with Microsoft BGLCOMP (from FS2004 SDK). Besides disassembling all BGL records, it is also able to extract .MDL files from ModelData sections. This utility is freeware and open-source, licensed under GNU-GPL to help developers understand the new FS2004 BGL structures (contributors are welcome) - please read inside documentation for important infos. Also includes XMLSHELL, a GUI program for controlling bglxml from Windows Explorer.
--------------------------------------------------------------------------------



Wenn man eine Datei disassemblieren kann, dann sollte sie auch ok sein, oder?"






Nein, denn Decompiler haben auch des öfteren Fehler. Früher wurden in den Microsoft SDKs zu vielen Scenerycodes auch die Bytestruktur erläutert. Das ist mittlerweile nicht mehr der Fall. Oftmals wird nur noch ein Quellcode erklärt und ein Compiler mitgeliefert.

Jemand der einen Decompiler programmieren möchte, muss also zunächst in XML regulär programmieren dann compilieren und schauen was ergibt sich für eine Bytestruktur. Mit diesem neu gewonnen wissen (was man früher direkt bereits per SDK erhalten hat) kann man Zug um Zug einen Decompiler programmieren.

Leider dokumentiert aber Microsoft nicht alle Quellcodes. Auch nicht die, die XML als Basis haben.

Von daher gibt es trotzdem viel unbekannten Code. Den zu knacken ist sehr viel schwieriger.

Nicht umsonst ist man bei BGLXML bei Version 1.8


Der Programmierer von BGLXML lernt also immer noch dazu.

Es ist nicht einfach so einen Decompiler zu erstellen wenn einem vieles nicht bekannt ist.


So kann ich nur sagen, dass ältere Decompiler für den FS2002 auch sehr viel falschen Code produziert haben. Wollte da jetzt jemand eine Scenery decompilieren um dort eine kleine Änderungen vorzunehmen, dann hat er bei erneuter Compilation auch andere Dinge verändert vorgefunden.

Die Scenery arbeitete trotz nur einer gerinfügigen Änderung dann nicht einwandfrei.


Weiterhin muss man sagen, das BGLXML nicht für jeden Scenerycode geeignet ist. Überwiegend nur für das was in entsprechendem SDK steht.

Landclass, Mesh und Terraingeschichten haben einen ganz anderen Code der von BGLXML nicht erfasst wird.

Gerade mit den Terraingeschichten gibt es aber im FS oft die meisten Probleme.

Airport und Objektscenerien (hier arbeitet BGLXML hauptsächlich) sind an sich selten kritisch.




Allerdings der wesentliche Grund warum das Tool hier nicht einsetzbar ist, ist der das es ein Decompiler und keine Art Scantool ist.

Man muss BGLXML schon sagen welche Datei es dekompilieren soll.

Nur da wären natürlich tausende an Dateien zu dekompilieren, da werden auch sehr lange Texte zusammen kommen, die Festplatte könnte ganz schön voll werden.

Hier wurde aber vermutlich etwas gesucht was alle Dateien auf Kompatibilität checkt.


Aber ein Versuch war es natürlich wert.


Mir ist übrigends auch kein Tool bekannt welches in der Lage ist eindeutig Scenerydateien aller Art auf korrekten Code zu checken.


Es gibt halt einfach zu viele gültige Codes mit denen der FS2004 noch einwandfrei arbeitet, mit denen andere Tools aber nichts anfangen können.
JOBIA ist offline   Mit Zitat antworten