<cont.script.precompile.variableAlreadyWithOtherType>

  • 1. Beschreibe bitte so genau wie möglich, was Du tust und zu welchem Problem das führt.


    Seit Neustem plagt mich das CT mit einer immer wiederkehrenden Fehlermeldung, heute Abend zum Teil im Minutentakt. Die Fehlermeldung sieht so aus:



    Und die tritt relativ wahllos auf. Zum Beispiel beim Hinzufügen eines statischen Attachpoints an ein Objekt. Ich drücke auf das Plus, die Fehlermeldung tritt auf, kann bestätigt werden, es wurde kein Attachpoint hinzugefügt, wiederholte Versuche erzielen das gleiche Ergebnis, die Objekteinstellungen können nicht mehr mit OK bestätigt werden, lediglich Abbrechen funktioniert noch. Abbrechen und erneutes Öffnen der Objekteinstellungen führt MANCHMAL dazu, dass die Einstellungsmöglichkeiten für einen Attachpoint vorhanden sind, allerdings nicht immer. Weiterarbeiten hat aber trotzdem keinen Zweck, weil ab dem ersten Auftreten des Fehlers dieser nun bei jeder Eingabe erneut auftaucht.

    Die Fehlermeldung kommt auch gerne, wenn ich versuche, zu einem Objekt zu wechseln, dass noch in der Liste der zuletzt geöffneten Dateien auftaucht. Also aus dem Objekttool über Datei und dann direkt in der Liste auf das Objekt klicken. Das Feature ist ja schon immer nur mit Vorsicht zu genießen, da bei mir im Schnitt nach dem fünten Objektwechsel darüber eine Zugriffsverletzung auftritt, die neue Fehlermeldung topp das aber sogar noch mit im Mittel nur zwei Objektwechseln ehe sie auftritt. Kann man bestätigen, hinterher passiert einfach nicht, das alte Objekt bleibt aktiv, kann aber ebenfalls nicht weiter bearbeitet werden (Fehlermeldung bei jeder Bedieneingabe).

    Auch beim Wechsel der Objekte über Datei -> Öffnen... tritt der Fehler auf, allerdings deutlich seltener, im Schnitt bei nach jedem zehnten Wechsel. Die Zahl ist jetzt aber sehr gefühlt. ;-) Mit der Funktion hatte ich bislang fast gar keine Probleme.

    Auch im Materialeinstellungsfenster tritt die Fehlermeldung regelmäßig auf, und zwar dann, wenn ich versuche, den Materialtyp zu ändern. Erstaunlich hieran: Simple -> Complex und Complex -> alle anderen geht immer problemlos. Meine letzten Versuche: Simple zu Complex+Normal+Simple Meshanim führte zu der Fehlermeldung, bei einem anderen Versuch Simple zu Roller Blind Display ebenfalls. Aber dann konnte ich ohne Neustart stattdessen erst zu Complex wechseln, und von dort aus zu den gewünschten Materialtypen. Das waren auch die einzigen beiden Fällen, in denen ich danach weiterarbeiten konnte, und der Fehler nicht sofort bei jeder anderen Bedienhandlung wieder auftrat.


    Die Fehlermeldung sagt irgendetwas mit Script und Timegap. Deshalb ist vielleicht noch interessant: Die Objekte, bei denen das Umstellen des Materialtyps zu Problemen führte, haben alle ein Skript, das die Variable Timegap enthält, die Objekte, bei denen das jetzt schon beim Laden auftrat dagegen nicht. Die haben alle überhaupt kein Skript.


    Einzige Lösungsmöglichkeit, die ich bislang gefunden habe: CT komplett schließen und neu starten und neu Laden. Dann hat man wieder ein paar Minuten Zeit zu bauen, bevor der Fehler irgendwann wieder auftritt, wenn man eine der oben genannten Handlungen ausführt. Sprich, nach einem Neustart konnte ich etwa auch erst ein paar Attachpoints hinzufügen, das ging plötzlich wieder, der darauf folgende Wechsel zu einem anderen Objekt ging auch noch gut, das erstellen eines Attachpoints dort führte aber wieder zu einem Fehler. Also wieder Neustarten...


    Extrem nervig. Mache ich irgendetwas falsch? Muss ich vor jedem kritischen Vorgang, bei dem irgendwelche neuen Eingabefelder geladen oder ausgetauscht werden eigentlich ein paar Minuten warten, bis ich ganz sicher bin, dass das CT ganz fertig mit Laden ist, und sich vielleicht nicht verschluckt? Oder besteht die Möglichkeit, dass Skripte im CT "hängen bleiben", und ich also jetzt irgendwie den skriptlosen Objekten irgendwelche Timegaps zugewiesen habe? Ich bin wirklich ratlos.


    2. Poste bitte die Logfile und wenn möglich auch die Debug-Logfile, die erzeugt wurden, als das Problem auftrat.


  • OK, danke für Deine ausführlichen Ermittlungen hierzu.


    Die Meldung bedeutet im Grunde, dass das Script bereits eine Variable "Timegap" enthält, diese aber einen anderen Variablentyp hat.


    "Auffallen" tut es LOTUS immer wieder, nämlich genau bei solchen Dingen wie dem Ändern von Materialeigenschaften usw. Das es auch "Objektübergreifend" passieren kann, ist jetzt nicht unbedingt logisch, aber irgendwie ist da ja auch noch der eine oder andere Bug drinn...


    Ich würde aber definitiv mal prüfen, ob:

    - es auch dann auftaucht, wenn du während der gesamten "Session" im ContentTool kein einziges Mal ein Objekt mit Script geladen hast

    - in irgendeiner deiner Scriptdateien eventuell oben die Zeile "Timegap: <nicht single>" steht! Dann wäre das nämlich genau dir Ursache.

  • Hm. Also die erste Frage kann ich definitiv mit ja beantworten. Wie gesagt, ich starte das CT gerade alle paar Minuten komplett neu. Das passiert also sicher auch, wenn ich nur Objekte ohne Skript bearbeite. Kann es Auswirkungen haben, wenn im selben Ordner ein Skript liegt, das aber von keinem der geladenen Objekte verwendet wird, sondern nur von anderen Objekten, die auch in dem Ordner liegen? Das probiere ich bei Gelegenheit mal aus.


    Die zweite Frage kann ich zumindest eingeschränkt mit nein beantworten. Habe gerade mal alle Skripte im Ordner bzw alle zuletzt bearbeiteten durchsucht, keine Fehler finden können. Es funktionieren auch alle so, wie sie sollen, das müsste bei Timegap als Integer ja auffallend anders laufen. Aber auch hier gucke ich noch mal genauer alle Skripte durch, ob mir eventuell irgendwo ein Fehler unterlaufen ist. Stufe ich aber eher als unwahrscheinlich ein.

  • Was ich nicht so genau sagen könnte, wäre, ob der Fehler auch auftritt, wenn irgendwo in einem Container von LOTUS diese "falsch" Scriptzeile auftaucht... vielleicht verschiebst du mal den Inhalt deines "MyContent"-Ordner aus LOTUS heraus, damit du das ContentTool mal komplett "clean" benutzt?

  • Ich glaube, ich könnte den Fehler gefunden haben. Erst mal grundsätzlich: Hab den MyContent-Ordner komplett geräumt, CT hochgefahren, Objekt ohne Script geladen, aus einem Ordner, in dem auch gar keine Skripts liegen, sofort die bekannte Fehlermeldung.


    Dann habe ich mir meine Skripte allle noch mal ganz genau vorgenommen. In der Tat steht sicher überall Timegep: single;. Aber auch genau das könnte das Problem sein, denn mir fiel auf, dass das in Euren Originalskripten nicht vorkommt, und bei erneuter Lektüre des Lexikons stellte sich heraus, dass man Timegap auch gar nicht deklarieren muss. Es scheint bei Fahrzeugen nicht weiter dramatisch zu sein, wenn man es trotzdem macht, das hat nämlich noch nie zu Problemen geführt. Letztens habe ich aber diese Deklaration zum ersten Mal in ein Szenerieobjekt geladen, was unmittelbar auch keine negativen Auswirkungen hatte, aber das könnte ziemlich gut auf den Zeitpunkt fallen, zu dem das mit dieser Fehlermeldung begonnen hat. Eventuell ist das CT also nicht so gnädig mit doppelten Deklarationen bei Objekten wie bei Fahrzeugen. Offenbar sogar in dem Maße, dass das gleich das gesammte CT ausm Takt bringt, obwohl die jeweiligen Objekte weder geladen sind noch in einem Container im Lotusverzeichnis liegen. Könnte das sein?


    Ich bin gerade dabei, das mal zu beheben und zu gucken, obs danach wieder besser läuft, das könnte allerdings noch ein Weilchen dauern. Die betroffenen Objekte weigert sich das CT nämlich hartnäckig, wieder zu laden, diesmal aber wieder mit der guten alten Zugriffsverletzung. Also werde ich die wohl neu erstellen und überschreiben müssen. Danach melde ich mich noch mal.




    Edit: So. Vierzig Frustschreie später weiß ich: Das war offenbar NICHT das Problem. Ich habe alle, wirklich alle betroffenen Skripts ausgetauscht bzw die Objekte neu erstellt, das Problem trat weiterhin auf. Aber ich konnte es weiter eingrenzen. Es tritt tatsächlich nicht wahllos auf wie anfangs vermutet, sondern immer nach dem Öffnen eines bestimmten Objektes, nämlich der oben in der Logfile schon vorhandenen Rohrschelle_1. In der Hälfte der Fälle kann das Objekt nicht geladen werden, dann taucht sofort der Fehler auf, in der anderen Hälfte wird es geladen und kann problemlos bearbeitet werden, sorgt aber dafür, dass das nächste Objekt entweder nicht mehr geladen werden kann oder der Fehler eben auftritt, wenn sich dort irgendwelche Eingabefelder ändern (Materialtyp, Attachpoints...). Lade ich dieses Objekt nicht, dann läuft das Contenttool abgesehen von den auch sonst "normalerweise" auftretenden Fehlern wie geschmiert. Erst, sobald ich dieses Objekt lade, geht alles den Bach runter.


    Hier noch ein paar interessante Beobachtungen und Fakten dazu:

    Das Objekt hat kein Skript, hatte noch nie eins und ist auch noch nie mit einem in Berührung gekommen. Woher also dieses Timegap kommen sollte ist mir völlig unklar.

    Der Fehler tritt explizit NICHT mit dem Objekt Rohrschelle_2 auf, das durch Speichern unter... und ein Tauschen des Modells aus dem schadhaften Objekt entstanden ist.

    Versuche ich im Mapeditor, Rohrschelle_1 zu platzieren, dann sagt mir der Editor in etwa der Hälfte der Fälle, dass das Mesh kaputt ist. Auch nach einem Neuexport und -import des Meshes aus Blender ins CT.

    Wenn ich das selbe Mesh in Rohschelle_2 importiere, kann ich Rohrschelle_2 trotzdem noch ohne Fehlermeldung verwenden. Das Mesh an sich scheint also nicht defekt zu sein.

    Nach einem kompletten Neuerstellen der Rohrschelle_1 und einem ÜBERSCHREIBEN des alten Objektes treten die gleichen Nebenwirkungen auf wie auch zuvor.

    Nach einem Löschen des alten Objektes und einem extrahieren der Rohrschelle_1 aus Rohrschelle_2 wie oben beschrieben treten die gleichen Nebenwirkungen auf.

    Nach einem Löschen des alten Objektes und einem kompletten Neuerstellen von Rohrschelle_1 war der Fehler kurzzeitig verschwunden, nach etwa einer halben Stunde Herumprobierens trat er aber erst vereinzelt, dann wieder regelmäßig auf.


    Ich habe das störrische Objekt mal hier angefügt. Im Augenblick kann ich es gerade gar nicht mehr öffnen, aber ich glaube, in weiser Voraussicht habe ich vorhin gleich am Anfang schon mal den Haken bei Public Domain gesetzt.


    Wo könnte sich denn noch ein Timegap verstecken?

  • So. Mittlerweile habe ich mich wieder einigermaßen in den Griff bekommen, und kann hoffentlich einen einigermaßen nüchternen Beitrag verfassen. Gestern Abend ist das ganze dann doch noch mal etwas eskaliert.


    Hat Du eventuell Deine eigenen Workshop-Items abonniert oder eventuell noch Container in einem anderen Verzeichnis in LOTUS?

    Nein, nein.

    Hierbei könnte es zu doppelten ContentIDs gekommen sein! Ist das ausgeschlossen?

    Ja. Speichern unter generiert ja relativ zuverlässig eine neue ContentID, und nach einem unschönen Vorfall direkt am Anfang meiner Objektbaukarriere weise ich sowieso jedem Objekt (und soweit möglich auch allem anderen) immer noch mal manuell eine eigene, individuelle ID zu.


    Zu dem Drama gestern Abend. Wie oben beschrieben hatte ich das fehlerhafte Objekt lokalisiert, solange ich das nicht angefasst habe, gings alles einwandfrei. Plötzlich aus der kalten fing das CT allerdings an, auch bei anderen Objekten aus dem gleichen Ordner rumzumucken, immer heftiger, bis ich schließlich gar keine Objekte aus diesem Ordner mehr öffnen konnte, und bei Ordnerfremdenobjekten tauchte die Fehlermeldung plötzlich ebenfalls wieder auf. Selbst nach einem frischen Neustart des CTs ohne vorher andere, "infizierte" Objekte geöffnet zu haben. Dieses Nicht-Laden-Können trat übrigens plötzlich auch bei Objekten auf, die sich bis vor wenigen Tagen noch problemlos öffnen ließen, und an denen ich seitdem nichts gemacht habe. Die fielen plötzlich alle reihenweise aus. Das ist hat mich ganz schön auf die Palme gebracht. Neuerstellen einzelner Objekte rettete sie auch nicht, genausowenig wie eine Komplette Neuinstallierung des CTs sowie von Lotus selbst.


    Während dieses ganzen Prozederes warf das CT noch mit zwei weiteren Fehlermeldungen um sich, die ich in meinem Zorn leider nicht mehr gescreenshottet habe, sondern denen ich ein bisschen zu zügig vielleicht mit dem Tastmanager zu Leibe gerückt bin. Das eine war eine klassische Zugriffsverletzung, das andere hatte, wenn ich mich recht erinnere, in etwa diesen Inhalt "Var is not Var Offset" oder so. Die Zugriffsverletzung kann man ja in Dauerschleife schließen, die ploppt immer wieder auf, also gut geeignet zum Frustaufbau, die andere Meldung hatte einen ähnlichen Effekt wie die ursprünglich problematische und tauchte beim Umstellen einer Textur auf den Modus Roller Blind auf, und verhinderte ziemlich wirkungsvoll eben dieses Umstellen. Relevant vielleicht hier: Das Material war das ganze normale Startmaterial vom Typ simple, ohne weitere Einstellungen. Der Fehler trat sowohl auf, wenn zu dem Zeitpunkt bereits ein Material zugewiesen war, als auch wenn ich das noch nicht getan hatte.


    Daraufhin habe ich dann den endgültigen Schnitt gemacht, den kompletten Objektordner vernichtet, sowie den Großteil der Nacht damit verbracht, die Objekte, die sich in diesem Ordner befunden hatten, wieder neu zu erstellen. Drei Stunden am Stück geflucht und gelästert, dafür funktioniert jetzt gerade wieder alles einwandfrei. Was auch immer sich da quer gestellt hat, es scheint diesmal gerade geblieben zu sein, obwohl ich bewusst nichts anders gemacht habe, als beim ersten Mal. Nun gut. Da bisher noch niemand sonst, mit dem ich gesprochen habe, einen ähnlichen Fehler gehabt hat, ist es naheliegend, dass das Problem ganz ökologisch hausgemacht war, vom Objektbauwahn der letzten Tage hats mich aber definitiv fürs erste geheilt.


    Falls sich die Frage stellen sollte, warum ich ständig irgendwelche Objekte öffne und schließe, ohne was darin zu machen: Ich benutze für viele Objekte die gleichen Texturen, wenn ich das richtig verstanden habe ist das aber nur sinnvoll, solange man auch identische Materialeinstellungen dafür verwendet. Deshalb springe ich oft und ungerne zu irgendwelchen älteren Objekten, die die Textur bereits verwenden, und exportiere die Materialeinstellungen dort und importiere sie wieder da, wo sie hinsollen. Das ist halt mit einer hohen Objektladerate verbunden, was dem CT generell noch ein paar Probleme zu bereiten scheint. In dem Maße wie jetzt hatte ich das aber auch noch nicht.

  • Ich benutze für viele Objekte die gleichen Texturen, wenn ich das richtig verstanden habe ist das aber nur sinnvoll, solange man auch identische Materialeinstellungen dafür verwendet.

    Das interessiert mich jetzt: Man hat doch oft bei verschiedenen Objekten auch unterschiedliche Skripte mit unterschiedlichen Variablen. Wenn ich nun z.B. bei einem die Nachttextur mit einer Variable steuern will, muss ich das bei allen Objekten so eintragen, um den Texturspeicher nicht mit Kopien zu füllen? Oder anderes Beispiel: Wenn Objekt A mit derselben Textur weniger glänzen soll als Objekt B und die Glanzeinstellungen daher anders sind.

  • Kurzer Exkurs:

    Ich benutze für viele Objekte die gleichen Texturen, wenn ich das richtig verstanden habe ist das aber nur sinnvoll, solange man auch identische Materialeinstellungen dafür verwendet. Deshalb springe ich oft und ungerne zu irgendwelchen älteren Objekten, die die Textur bereits verwenden, und exportiere die Materialeinstellungen dort und importiere sie wieder da, wo sie hinsollen.

    Wozu extra die Materialeinstellungen exportieren? Sind es so viele Einstellungen, dass man nicht händisch schneller kommt? ?/

    Das interessiert mich jetzt: Man hat doch oft bei verschiedenen Objekten auch unterschiedliche Skripte mit unterschiedlichen Variablen. Wenn ich nun z.B. bei einem die Nachttextur mit einer Variable steuern will, muss ich das bei allen Objekten so eintragen, um den Texturspeicher nicht mit Kopien zu füllen? Oder anderes Beispiel: Wenn Objekt A mit derselben Textur weniger glänzen soll als Objekt B und die Glanzeinstellungen daher anders sind.

    Der Hauptgrund dahinter ist, dass, plump gesagt, entfernte Objekte schneller dargestellt werden können. Demnach eignet sich das Prinzip sehr gut für Häuser, sodass pro Haus eine Fassaden- und Dachtextur verwendet wird, die Dachtextur jedoch immer die Selbe ist. Dabei kommt es je nach Haus vor, dass die Materialeinstellungen nicht ganz gleich sind, Stichwort Flachdach/Spitzdach mit Dachpfannen. Nun macht es hierbei die Masse. Wenn ich statt 100 Dachmaterialien zwei verschiedene Materialien lade, sparen wir 97 Materialwechsel. (Hinweis: Materialwechsel dauern lange, eine Tonne Polys mit dem gleichen Material durch die Grafikkarte schießen, dauert nicht so lang) Damit ist auch die Frage nach dem Glanz beantwortet. Wir arbeiten mit Materialien und nicht mit Texturen, deswegen müssen die Materialeinstellungen gleich sein.

    Die Nachttextur ist in der Regel ein Zusatz zu einer einzigartigen Textur, daher versteh ich die Frage nach der Nachttextur eher nicht so. Hast du ein konkretes Beispiel dafür?


    Greets

  • Na ja, ich habe ein Objekt mit Beleuchtung, dabei definiere ich eine Lichtquelle zur Beleuchtung der Umgebung und eine Nachttextur um das Leuchten der Lampe selbst darzustellen. Daneben habe ich noch ca. 10 weitere Objekte, die auf dasselbe Material zugreifen könnten, weil ich extra alles auf eine Textur gepackt habe (die werden hinterher mit Attach-Punkten zu einem Haltestellenschild zusammengesetzt und sind daher am selben Ort, also erschien mir das sehr sinnvoll). Beim Beleuchtungsobjekt will ich das Licht über ein Skript steuern. Die anderen Objekte brauchen kein Skript bzw. haben ein anderes, was die Beleuchtung wiederum nicht benötigt. Beim Beleuchtungsobjekt trage ich daher Variablen in die Materialeigenschaften ein, die bei den anderen Objekten gar nicht vorhanden sind. Die Nachttextur wird eigentlich auch nur beim Beleuchtungsobjekt gebraucht, weil nur der Lichtauslass der Lampe darauf nicht schwarz ist.

    Das sind keine Objekte, die in hundertfacher Größenordnung platziert werden, sondern eher ca. 20. Mag daher sein, dass das sowieso nicht ins Gewicht fällt, aber mir geht es auch darum, die Frage grundsätzlich zu klären. D.h. ob eine andere Variable in den Einstellungen oder ein abweichender Glanzwert bereits eine Kopie des Materials inklusive aller darin eingetragenen Texturen im Speicher erzeugt oder ob in dem Fall einfach mehrere Materialien auf denselben Speicherbereich für die jeweilige Textur verweisen. Natürlich vorausgesetzt, dass sich alles im selben Container abspielt.

  • D.h. ob eine andere Variable in den Einstellungen oder ein abweichender Glanzwert bereits eine Kopie des Materials inklusive aller darin eingetragenen Texturen im Speicher erzeugt oder ob in dem Fall einfach mehrere Materialien auf denselben Speicherbereich für die jeweilige Textur verweisen.

    Kurze Blutgrätsche. Wir sind hier nicht beim Laden der Texturen. Es geht um das Zeichnen eines Polygons auf dem Bildschirm und den damit verbundenen Shadern. Deswegen spielen hierbei die Einstellungen des Materials eine Rolle, der Verweis auf die Texturen hat eine geringere Gewichtung.


    Wie du schon sagtest, hat dein Haltestellenobjekt eine geringere Gewichtung.


    Greets

  • Noch zum OT: das Ganze gilt momentan erstmal nur für Splines (da ist es aber umso wichtiger!), aber es kann für Szenerieobjekte, insbesondere Gebäude, auch mal wichtig werden, wenn wir an die Performance-Optimierung gehen.


    Nochmal zum eigentlichen Problem:

    Selbst nach einem frischen Neustart des CTs ohne vorher andere, "infizierte" Objekte geöffnet zu haben.

    Es könnte sein, dass es zu dem Problem wirklich gekommen ist, weil du nacheinander – ohne Schließen des ContentTools – Objekte geladen und gespeichert hast! Ich weiß, das klingt total doof, wenn ich sowas, was man unter Windows Millionen mal macht, verbiete, aber wir sind halt im EA...... denkbar wäre, dass sich irgendwie ein Script-Rest aus dem vorherigen Objekt illegal herübergerettet hat und du diesen Schritt dann beim nächsten Mal speichern zementiert hast... :(

    vom Objektbauwahn der letzten Tage hats mich aber definitiv fürs erste geheilt.

    Dann hoffe ich mal, dass Du trotzdem dahingehend rückfällig wirst... ;-)

  • Hm. Ja, um das gleiche Drama noch mal zu vermeiden würde ich auch nach jedem Objekt den Computer neustarten, wenn es sein muss. ;p Reicht es, den Objekteditor des CTs zu schließen und dann aus dem Hauptmenü ein neues Objekt zu öffnen, oder wäre es besser, das CT wirklich komplett zu schließen? Das geht ja aktuell noch wunderbar schnell, ich bete, dass das so bleibt.


    Florian Ich mache das aus zwei Gründen nicht händisch: Zum einen habe ich immer Angst bei solchen Werten wie 0.6, die ja immer ziemlich zügig fließkommaartig zu 0.5989517445271027618 mutieren, und ich befürchte, dass Lotus das nicht als identische Materialeigenschaft wertet, wenn ich dann wieder mit 0.6 komme, als soll es sich lieber selbst drum kümmern, dann bin ich wenigstens nicht Schuld. Zum anderen kann ich mir keine Zahlen merken. Ganz schlimm. Ich knobele liebend gerne an irgendwelchen Gleichungen rum, Physik und die dazu notwendige Mathematik liegen mir also sehr, aber nur mit Taschenrechner. Will ich im Kopf zwei Zahlen addieren, dann habe ich nach der Hälfte der Rechnung die erste der beiden schon wieder verdrängt. Ich merke mir also auch keine drei Zahlen, während ich gerade ein neues Objekt lade, und schon gar nicht merke ich mir, welche Zahl davon jetzt in welches Feld kam. ^^

  • Neu erstellte Beiträge unterliegen der Moderation und werden erst sichtbar, wenn sie durch einen Moderator geprüft und freigeschaltet wurden.

    Die letzte Antwort auf dieses Thema liegt mehr als 60 Tage zurück. Das Thema ist womöglich bereits veraltet. Bitte erstellen Sie ggf. ein neues Thema.

    Maximale Anzahl an Dateianhängen: 5
    Maximale Dateigröße: 500 kB
    Erlaubte Dateiendungen: bmp, cfg, ini, jpeg, jpg, lct, ldl, llg, lob, log, lpmtl, lptmt, ltx, pas, pdf, png, railtrack, rar, txt, veh, wav