Code:

------ Elex Resource Manager v1.1 by Baltram <baltram-lielb@web.de> (19. Februar 2018) ------ Dieses Tool ermöglicht das Öffnen und Bearbeiten der Spieldaten von Elex, die in den .pak-Archiven unter ELEX\data\packed enthalten sind. Unterstützte Dateitypen und Aktionen: Elex-PAK-Archiv : (Ent)packen .pak <--> [Ordner] Elex-Dokument : Umwandeln .hdr <--> .hdrdoc Elex-Bild : Umwandeln .eleximg <--> .dds Elex-Ton : Umwandeln .elexsnd <--> .mp3 oder --> .wav Elex-Dialog : Umwandeln .elexdlg <--> .mp3 oder --> .wav Elex-Template : Umwandeln .elextpl <--> .elextpldoc Elex-Welt : Umwandeln .elexwrl <--> .elexwrldoc Elex-Sektor : Umwandeln .elexsec <--> .elexsecdoc Sektor-Modi- fikationsdatei : Verarbeiten .elexsecmod Dateien vom Typ .hdrdoc, .elextpldoc, .elexwrldoc, .elexsecdoc oder .elexsecmod können im Texteditor betrachtet und bearbeitet werden. Es folgen Kurzanleitungen zu den verschiedenen Umwandlungen. (Für die nicht-interaktive Benutzung des Tools stehen einige Kommandozeilenparameter zur Verfügung, die am Ende dieses Dokuments aufgelistet sind.) Elex-Archive entpacken (.pak) Ziehe die .pak-Datei auf die elexresman.exe. Es wird (am selben Ort wie die .pak) ein Ordner erstellt, der den Inhalt der .pak enthält. Elex-Archive erstellen (.pak) Ziehe einen Ordner auf die elexresman.exe und gib die gewünschte Generation (1-9) ein. Es wird ein .pak-Archiv mit dem Inhalt des Ordners erstellt (am selben Ort wie der Ordner). Die Generation bestimmt die Reihenfolge, in der Elex Archive lädt. Wichtig: Kein Unterordner darf mehr als eine Art von Resourcen enthalten (z.B. .eleximg, .elexsnd). Elex-Dokumente (.hdr) ins .hdrdoc-Format umwandeln Ziehe die .hdr-Datei auf die elexresman.exe. Um sämtliche .hdr-Dateien in einem Ordner umzuwandeln, ziehe den Ordner auf das Batch-Skript 'elexresman_hdr'. Tipp: Das 'Timestamp'-Attribut von Einträgen in einer .hdrdoc-Datei kann gelöscht werden. Das bewirkt, dass die ensprechenden Zeitstempel bei der Umwandlung zu .hdr aktualisiert werden. Elex-Dokumente (.hdrdoc) ins .hdr-Format umwandeln Ziehe die .hdrdoc-Datei auf die elexresman.exe. Um sämtliche .hdrdoc-Dateien in einem Ordner umzuwandeln, ziehe den Ordner auf das Batch-Skript 'elexresman_hdrdoc'. Elex-Bilder (.eleximg) ins .dds-Format umwandeln Ziehe die .eleximg-Datei auf die elexresman.exe. Um sämtliche .eleximg-Dateien in einem Ordner umzuwandeln, ziehe den Ordner auf das Batch-Skript 'elexresman_eleximg'. Hinweis: Einige .dds-Dateien verwenden die BC7 Texturkompression die von vielen Bildbearbeitungsprogrammen nicht unterstüzt wird. Um so eine .dds Datei oder einen ganzen Ordner davon zu dekomprimieren, ziehe die Datei bzw. den Ordner auf das Batch-Skript 'convert_BC7_to_B8G8R8A8' im Ordner 'dds'. Um zu sehen, welche Art von Kompression eine .dds-Datei verwendet, ziehe sie auf das Batch-Skript 'show_format'. Hierzu müssen die beiden Programme texdiag.exe und texconv.exe im Ordner 'dds' vorhanden sein. Sie stehen hier zum Download bereit: https://github.com/Microsoft/DirectXTex/releases .dds-Dateien in Elex-Bilder (.eleximg) umwandeln Ziehe die .dds-Datei auf die elexresman.exe. Um sämtliche .dds-Dateien in einem Ordner umzuwandeln, ziehe den Ordner auf das Batch-Skript 'elexresman_dds'. Tipp: DXT1 ist ein geeigneter Kompressionsalgorithmus für Texturen ohne Transparenz. Für Texturen mit harter bzw. weicher Transparenz eignen sich DXT3 bzw. DXT5. Elex-Sounds (.elexsnd) ins .wav oder .mp3-Format umwandeln Ziehe die .elexsnd-Datei auf die elexresman.exe. Um sämtliche .elexsnd-Dateien in einem Ordner umzuwandeln, ziehe den Ordner auf das Batch-Skript 'elexresman_elexsnd'. Hinweis: Originale .elexsnd-Dateien werden nach .wav umgewandelt, modifizierte hingegen nach .mp3. .mp3-Dateien in Elex-Sounds (.elexsnd) umwandeln Ziehe die .mp3-Datei auf die elexresman.exe. Um sämtliche .mp3-Dateien in einem Ordner umzuwandeln, ziehe den Ordner auf das Batch-Skript 'elexresman_mp3'. Elex-Dialoge (.elexdlg) ins .wav oder .mp3-Format umwandeln Ziehe die .elexdlg-Datei auf die elexresman.exe. Um sämtliche .elexdlg-Dateien in einem Ordner umzuwandeln, ziehe den Ordner auf das Batch-Skript 'elexresman_elexdlg'. Hinweis: Originale .elexdlg-Dateien werden nach .wav umgewandelt, modifizierte hingegen nach .mp3. .mp3-Dateien in Elex-Dialoge (.elexdlg) injizieren Hierzu muss eine .elexdlg-Datei mit dem selben Namen im selben Ordner wie die .mp3-Datei vorhanden sein. Ziehe die .mp3-Datei auf die elexresman.exe. Um sämtliche .mp3-Dateien in einem Ordner umzuwandeln, ziehe den Ordner auf das Batch-Skript 'elexresman_mp3'. Elex-Templates (.elextpl) ins .elextpldoc-Format umwandeln Ziehe die .elextpl-Datei auf die elexresman.exe. Um sämtliche .elextpl-Dateien in einem Ordner umzuwandeln, ziehe den Ordner auf das Batch-Skript 'elexresman_elextpl'. Elex-Template-Dokumente (.elextpldoc) ins .elextpl-Format umwandeln Ziehe die .elextpldoc-Datei auf die elexresman.exe. Um sämtliche .elextpldoc-Dateien in einem Ordner umzuwandeln, ziehe den Ordner auf das Batch-Skript 'elexresman_elextpldoc'. Hinweis: Beim Klonen eines Elex-Templates müssen beide GUIDs verändert werden, um Eindeutigkeit zu gewährleisten. Elex-Welten (.elexwrl) ins .elexwrldoc-Format umwandeln Ziehe die .elexwrl-Datei auf die elexresman.exe. Um sämtliche .elexwrl-Dateien in einem Ordner umzuwandeln, ziehe den Ordner auf das Batch-Skript 'elexresman_elexwrl'. Elex-Welt-Dokumente (.elexwrldoc) ins .elexwrl-Format umwandeln Ziehe die .elexwrldoc-Datei auf die elexresman.exe. Um sämtliche .elexwrldoc-Dateien in einem Ordner umzuwandeln, ziehe den Ordner auf das Batch-Skript 'elexresman_elexwrldoc'. Elex-Sektoren (.elexsec) ins .elexsecdoc-Format umwandeln Ziehe die .elexsec-Datei auf die elexresman.exe. Um sämtliche .elexsec-Dateien in einem Ordner umzuwandeln, ziehe den Ordner auf das Batch-Skript 'elexresman_elexsec'. Elex-Sektor-Dokumente (.elexsecdoc) ins .elexsec-Format umwandeln Ziehe die .elexsecdoc-Datei auf die elexresman.exe. Um sämtliche .elexsecdoc-Dateien in einem Ordner umzuwandeln, ziehe den Ordner auf das Batch-Skript 'elexresman_elexsecdoc'. Hinweis: Beim Klonen einer Entity in einem Sektor muss die GUID verändert werden, um Eindeutigkeit zu gewährleisten. Weiterer Hinweis: Um die Position oder Rotation einer Entity zu verändern, können die Attribute 'NewPos' (Vektor) und/oder 'NewRot' (Euler-Winkel: Yaw, Pitch, Roll) direkt vor dem 'MatrixLocal'-Attribut eingefügt werden. Beispiel: NewPos = (vec -276210.9 42547 -236502.8); NewRot = (euler 0 1.570796 0); Elex Sektor-Modifikatoren (.elexsecmod) anwenden Ziehe die .elexsecmod-Datei auf die elexresman.exe. Das Programm verändert alle Sektor-Dokumente (.elexsecdoc) im selben Ordner wie die .elexsecmod-Datei. Um an die PropertySet-Daten zu kommen, die in der .elexsecmod-Datei angegeben sind, liest es die .elextpldoc-Dateien in diesem Ordner aus. Die PropertySets der Sektoren werden ersetzt durch die PropertySets der Templates. .elexsecmod-Dateien sind Textdateien, die aus einer oder mehreren Zeilen bestehen. Jede Zeile beginnt mit der GUID oder dem Namen (in Anführungszeichen) eines Templates. Der Rest der Zeile besteht aus einer Liste von Namen von PropertySets, getrennt durch Leerzeichen. Beispiel einer zweizeiligen .elexsecmod-Datei: "It_Po_Healing_Small" gCItemConsumable_PS gCInteraction_PS {4A09B19E-4A4D-40E8-8929-055D53EC1BB6} gCNPC_PS Kommandozeilenparameter: --non-interactive - Deaktiviert Aufforderungen zur Interaktion (z.B. Drücken der Enter-Taste) --generation [Zahl von 0 bis 9] - Bestimmt die Archiv-Generation beim Erstellen von .pak-Dateien Benutzung: elexresman.exe <Datei oder Ordner> <Parameter> Quellcode: https://github.com/Baltram/rmtools/blob/master/mimicry/source/MimicryApp/elexresman.cpp