Volition Package Tool - Mit MultiArc Addon für Total Commander

Tools die bereits veröffentlicht wurden oder sich noch in Entwicklung befinden

Moderatoren: Joker, Kalumet

Forumsregeln
  • Tools die sich noch in Entwicklung befinden, müssen mit einem [DEV] Präfix gekennzeichnet werden.
  • Tools die nur für das original Wing Commander Saga (Classic) geeignet sind, werden mit dem Präfix [WCSC] gekennzeichnet.
  • Tools die nur für unser erweitertes Wing Commander Saga (Deutsch) geeignet sind, werden mit dem Präfix [WCSD] gekennzeichnet.
Luke
Benutzeravatar
Developer
Developer
Germany
Beiträge: 2924
Registriert: Do 14. Aug 2014, 15:18
Wohnort: Sourcecode
Team-Rang: Entwickler
Fachgebiet: Implementierung
Spezialisierung: Programmierung

Volition Package Tool - Mit MultiArc Addon für Total Commander

Beitragvon Luke » Fr 10. Feb 2017, 20:56

Verwendete Abkürzungen in diesem Thema

AI3   = AutoIt3 (Programmiersprache in der VPT geschrieben wurde)
FS = FreeSpace (FreeSpace 2)
GUI = Graphical User Interface (Grafische Benutzeroberfläche)
MA = MultiArc (Plugin für Total Commander um Konsolen-Packer einzubinden)
RegEx = Regular Expression (Regulärer Ausdruck)
TC = Total Commander (professioneller Datei-Manager)
UTC = Universal Time Coordinated (Koordinierte Weltzeit)
VP = Volition Package (Archiv/Container-Format von Freespace)
VPT = Volition Package Tool


1. Einleitung - Was ist Volition Package Tool?

VPT ist ein leistungsfähiges Skript-Tool zur Erstellung und Bearbeitung von Volition Package Archiven (.VP). Es wurde entwickelt, um in automatisierte Produktionsumgebungen integriert werden zu können, wie wir sie z.B. im WCSD Projekt einsetzen. Es hat keine eigene GUI, ist jedoch kompatibel zum Total Commander Plugin "MultiArc". Durch die Kombination VPT+MA+TC erhält man zusätzlich zu den Skript-Funktionen eine komfortable Oberfläche zur Erstellung und Bearbeitung von VP Archiven. So lässt sich VPT kombiniert als Skript-Tool und als GUI-Tool einsetzen.

2. Einsatzgebiet/Zielgruppe

Die Domäne von VPT ist die Skript-Verarbeitung von Dateien und VP Archiven. Vor allem bei häufig wiederkehrenden Routineaufgaben, wären Tools mit Oberfläche umständlich, zeitraubend und fehlerträchtig. Es eignet sich daher primär für Mod- und Spiele-Entwickler die eine Möglichkeit suchen, automatisiert VP Archive erstellen zu können.

Für Spieler die nur ein paar Details eines bestehenden Mods verändern möchten, ist VPT weniger geeignet bzw. nicht konzipiert. In diesem Fall sollte eher eine reine GUI-Lösung in Betracht gezogen werden. Wobei die Kombination VPT+MA+TC eine leistungsfähige und komfortable Oberfläche bietet, allerdings auch erst eingerichtet werden muss. Siehe 5.2.

3. Funktionen und Eigenschaften

  • Beherrscht die Funktionen Create/Add/Move, List, Extract und Delete.
  • Kann im einfachsten Fall einen Ordner samt Unterordner und allen Dateien zu einem VP Archiv packen, wie VPMAKE.
  • Es ist deutlich schneller als VPMAKE. Je mehr Dateien gepackt werden müssen, desto grösser der Zeit-Vorteil. Um z.B. den WCS Ordner "CBANIMS" mit 11.034 Dateien und 1.442.151.948 Bytes (1,34 GB) zu einem VP zu packen, benötigt VPMAKE auf meinem PC 28 Sekunden. VPT erledigt die gleiche Aufgabe in 7 Sekunden.
  • Unterstützt Regular Expression (Regulärer_Ausdruck) von AI3 per Parameter als Filter, wodurch es flexibel an jede Entwicklungsumgebung und Situation angepasst werden kann.
  • Akzeptiert mehrere Dateien per Parameter als Filter für alle Funktionen.
  • Akzeptiert einfache Dateimuster (* und ?) per Parameter als Filter für alle Funktionen.
  • Akzeptiert eine List-Datei als Filter für alle Funktionen, die sämtliche Dateien, Dateimuster oder RegEx enthalten kann.
  • Kann Dateien mit oder ohne Pfade entpacken.
  • Kann die Kernfunktionen Create/Add/Move, Delete und Extract simulieren. Nützlich um vorab Dateimuster und vor allem RegEx zu testen. Dabei werden auch bereits die wichtigsten Prüfungen und Berechnungen durchgeführt und so eignet sich die Simulation um Fehler in den Strukturen aufzudecken und um die endgültige Archiv-Grösse sowie andere Werte zu ermitteln, bevor tatsächlich gepackt wird.
  • Hat etliche Prüfungen um sicherzustellen, dass das erzeugte oder veränderte VP Archiv stets vollständig und intakt ist. Es wird z.B. geprüft ob auf dem Ziellaufwerk genügend freier Platz vorhanden ist, ob das Archiv die Maximal-Grösse einhält, ob die Dateinamen die Maximal-Länge einhalten und andere Dinge.
  • Alle Vorgänge die eine Änderung oder eine Erzeugung eines neuen VP Archivs bedeuten, werden in einem temporären VP Archiv durchgeführt. Erst wenn der Vorgang vollständig und fehlerfrei abgeschlossen wurde, wird die temporäre Datei in das endgültige VP Archiv umbenannt und/oder das bestehende VP Archiv durch das endgültige Archiv überschrieben.
  • Wenn während einem Vorgang ein schwerwiegendes Problem auftritt, durch das ein defektes VP Archiv entstehen würde, wird der Vorgang sofort abgebrochen und das bereits begonnene, temporäre VP Archiv gelöscht. Es gibt hier also eine einfache Regel: wenn man nach dem Vorgang das gewünschte VP Archiv sieht, ist es auch in Ordnung.
  • Kann den Inhalt des VP Archivs mit verschiedenen Listen darstellen: kurz, lang oder technisch.
  • Zeigt bei allen Vorgängen immer eine Zusammenfassung, z.b. wieviele Dateien und Verzeichnisse hinzugefügt wurden, wieviele Bytes und andere Dinge.
  • Die UTC Zeit der Dateien im Archiv wird beim Entpacken automatisch in die lokale Zeit konvertiert. Dabei wird sowohl die Zeitzone als auch Sommer/Winter-Zeit berücksichtigt. Soweit ich weiss, ist VPT das einzige Windows Tool das Datum und Zeit beim entpacken wiederherstellen kann.
  • Auch wenn in VP Archiven normalerweise keine leere Dateien vorkommen, bzw. vorkommen sollten, werden diese sowohl beim Packen als auch Entpacken korrekt verarbeitet. Standardmässig werden leere Dateien jedoch ignoriert.
  • Bei der Funktion Extract wird eine Liste erzeugt die auch Fehlercodes für jede einzelne Datei enthält.
  • VPT setzt beim Beenden ebenso einen Fehlercode, der dann vom aufrufenden Skript ausgewertet werden kann.
  • Bietet viele Schalter um alle Vorgänge flexibel an verschiedene Situationen anpassen zu können.
  • Hat eine RAR-ähnliche Syntax.
  • Kann durch die Funktionen Add (Hinzufügen/Überschreiben) und Delete (Löschen) auch als Teil eines Update-Pakets für die Aktualisierung von VP Archiven direkt beim Spieler eingesetzt werden. Dadurch würden sogenannte Patch-VP's komplett entfallen.
  • Benötigt mindestens Windows XP SP3. Hat sonst keinerlei Abhängigkeiten und ist auf jedem Windows ohne zusätzliche Runtime Installationen lauffähig.

Kompatibel mit dem Total Commander Plugin "MultiArc". Eine Addon-Datei zum importieren liegt bei. Im TC sind dann folgende Standard-Funktionen möglich: Erstellen (Create), Hinzufügen/Überschreiben (Add), ins Archiv verschieben (Move), Auflisten (List), Entpacken (Extract) und Löschen (Delete). Darüber hinaus ergeben sich durch die Kombination von VPT und TC einige besondere Funktionen und Eigenschaften:

  • Ein VP Archiv kann mittels Sync mit einem normalen Verzeichnis (in beide Richtungen) synchronisiert werden. Die Sync Funktion ermöglicht eine sehr einfache Aktualisierung eines bereits bestehenden VP Archives, ideal für Updates.
  • Es können mehrere VP Archive auf einmal entpackt werden. Dabei kann man auch angeben, ob jedes VP Archiv in ein eigenes Unterverzeichnis entpackt werden soll. Ideal wenn man den kompletten Inhalt eines Freespace Mods entpacken und dabei die ursprünglichen Strukturen erhalten möchte.
  • Eine beliebige Datei kann direkt in der VP geändert werden, ohne das Archiv erst manuell entpacken und nach der Änderung wieder packen zu müssen. So kann z.B. eine Textdatei direkt mit einem Editor geändert werden. Nach der Änderung wird man gefragt, ob die geänderte Datei wieder ins Archiv gepackt werden soll.
  • Dateien und/oder Ordner können in einen Pfad eines bestehenden Archivs kopiert werden, der noch nicht existiert. Dieser kann direkt beim Packvorgang angegeben werden. Dabei kann der Pfad auch mehrere Unterordner enthalten, also z.B. "Ordner1\Ordner2\...".
  • Innerhalb einer einzelnen VP kann mit der Dateisuche gearbeitet werden. Die Dateien in der Ergebnis-Liste können dann direkt aufgerufen werden, wodurch das Verzeichnis im VP gewechselt und der Fokus auf die betreffende Datei gesetzt wird.
  • In einem Ordner mit mehreren VP's oder in einem ganzen Laufwerk, kann mit der Dateisuche auch global in allen VP Archiven gesucht werden. Die Dateien in der Ergebnis-Liste können dann direkt aufgerufen werden, wodurch das betreffende VP geöffnet, das Verzeichnis im VP gewechselt und der Fokus auf die betreffende Datei gesetzt wird.

4. Syntax und Beispiele

[+] 4.1 Hilfe - Syntax, inklusive der speziellen Befehle und Schalter

>vpt -h*

Volition Package Tool v1.0.0.1521 (c) 2014-2017 Luke (www.wcsaga.org)

USAGE:

VPT <command> [<switches>] <archive> [<files>|<@list>] [<source/output dir>]
[<path inside>]

<command>
a Add files (pattern) to a new or existing archive
d Delete files (pattern)
e Extract files (pattern) without paths
l List files (pattern) in archive - full: date, time, size, path & name
lb List files (pattern) in archive - bare: path & name
* lt List all files in archive - tech: offset, size, name, timestamp, flags
(shows the real directory without any filter and sort mechanism)
* m Move files (pattern) to a new or existing archive
(same like 'a' but delete source files and folders after packing)
x Extract files (pattern) with full paths

<switches> - general
-o Overwrite existing files
-re Use Regular Expression instead of simple pattern
-nh Show no header (not for command 'lb')
-na Show no actions (not for command 'lb')
-nl Show no file list (not for command 'lb')
-ns Show no summary (not for command 'lb')
-nvp Add no .VP suffix if missing
-sim Simulate the operation (not for list commands)
Note: useful for testing parameters like RegEx
* -pt Prints the current time with milliseconds at the begin of any line
Note: useful for debugging/testing
* -nvc No VP validity check (not recommended)
Note: for all operations which read an existing archive
* -nop No operation - this switch does simply nothing
Note: useful as placeholder in scripts

<switches> - Add
-ndd Add no top level directory 'data'
Note: useful if 'data' is already added by file pattern/RegEx
-ovp Overwrite VP archive - delete an existing archive before packing
-nr No recursion - add only files from source dir without subfolders
(works only with file pattern/RegEx)
-ih Include hidden files (works only with file pattern/RegEx)
-is Include system files (works only with file pattern/RegEx)
-il Include link/junction files (works only with file pattern/RegEx)
* -ie Include empty files (not recommended)
Note: most other VP tools does not support empty files
* -ndc No file date check
Note: if set then invalid file date will change to timestamp 1

<switches> - Extract
-du Use UTC file date in archive instead of local timezone settings
-dl Ignore file date in archive and use the current local date
* -fls Sort file list - normally not needed

<switches> - List
-du Use UTC file date in archive instead of local timezone settings
* -co Check directory overhead (only for command 'lt')
* -fls Sort file list - normally not needed (not for command 'lt')

<switches> - MultiArc (Total Commander plugin)
-wp Show a window with progress bar
-we Show error popups (use it with -ne switch)
-ne No exit code
Note: useful to avoid multiple error popups from MultiArc

Note: multiple switches must be typed without spaces between

<archive>
Path and filename of the VP archive. The suffix '.vp' will added
automatically if it's not set. This behavior can be disabled by using the
-nvp switch. Path is created if not exists.

<files>
Multiple files can used with | as separator and all files must enclosed in
quotes like "file1|file2|file3". Simple file pattern allowed with ? and *
or use RegEx (-re switch). It will automatically set to * if it's empty.

Hint: The fastest way to list/extract a whole VP archive or to add a
complete directory to a new VP archive is to use * as file pattern without
-re switch. This disables all filter mechanism.

<@list>
A file which contains all files wanted to add/list/extract/delete. It must
have the same format like the list from command 'lb' (bare format). Simple
file pattern and RegEx (use -re switch) can also be used in this list.

<source dir>
Path from where files will be added recursively. It will automatically set
to current work dir if it's empty.

<output dir>
Path where files will be extracted. It will automatically set to current
work dir if it's empty. Path is created if not exists.

<path inside>
It's needed for adding files to an existing archive to put the files in an
existing folder inside the archive or to create this folder. This path can
contain multiple folders like "folder1\folder2\folder3...".


Type 'VPT -hh' for examples
Type 'VPT -h*' for special commands/switches

[+] 4.2 Hilfe - Beispiele

>vpt -hh

Volition Package Tool v1.0.0.1521 (c) 2014-2017 Luke (www.wcsaga.org)

EXAMPLES:

List example 1:
VPT l hermes_core.vp
List all content from 'hermes_core.vp' with long format.

List example 2:
VPT lt -nl hermes_core.vp
Show only tech summary for 'hermes_core.vp' without file list.

List example 3:
VPT l hermes_core.vp *.fc2
List all .fc2 files from 'hermes_core.vp' with long format.

List example 4:
VPT l -re hermes_core.vp "^[^.]+$|\.(?!(tbl|fs2)$)"
List all files from 'hermes_core.vp' with long format but exclude
.tbl and .fs2 files.

Extract example 1:
VPT x -o hermes_core.vp * z:\temp
Extract all files with relative paths to 'z:\temp' and overwrite
existing files.

Extract example 2:
VPT e hermes_core.vp data\tables\strings.tbl
Extract 'strings.tbl' without path into current directory.

Extract example 3:
VPT e hermes_core.vp "*.fs2|*.fc2"
Extract all .fs2 and .fc2 files without paths into current directory.

Extract example 4:
VPT x -o-dl hermes_core.vp data\tables\*string* z:\temp
Extract all files from 'data\tables\' containing 'string' in filename with
relative paths to 'z:\temp' and overwrite existing files and ignore original
file date.

Extract example 5:
VPT x -o hermes_core.vp @extract.lst z:\temp
Extract all files listed in 'extract.lst' with relative paths to 'z:\temp'
and overwrite existing files.

Extract example 6:
VPT x hermes_core.vp "data\tables\tips.tbl|data\fonts\font01.vf" z:\temp
Extract 'data\tables\tips.tbl' and 'data\fonts\font01.fv' with relative
paths to 'z:\temp'.

Extract example 7:
VPT x -o-re hermes_core.vp "data\\players\\(?!.*\\)" z:\temp
Extract all files only from 'data\players\' with relative paths to 'z:\temp'
and overwrite existing files but exclude all subfolders.

Create example 1:
VPT a new_core.vp
Add all files and folders from current directory with their relative paths
to the new archive 'new_core.vp'. The top level directory 'data' will
automatically added.

Create example 2:
VPT a -ih new_core.vp * d:\game\data
Add all files with their relative paths from 'd:\game\data' inclusive hidden
files to the new archive 'new_core.vp'. The top level directory 'data' will
automatically added.

Create example 3:
VPT a -re-sim new_core.vp "movies\\(?!prologue.*)" d:\game\data
Add all movies from 'd:\game\data\movies' with their relative paths
but exclude all movies beginning with 'prologue' in filename. The top level
directory 'data' will automatically added. Packing is only simulated without
any write access.

Create example 4:
VPT a -re-ndd new_core.vp "data\\(?!(cbanims|hud|maps|movies)\\)" d:\game
Add all files from 'd:\game\data' to the new archive 'new_core.vp' but
exclude the subfolders 'cbanims', 'hud', 'maps' and 'movies' and supress the
top level directory 'data'. The switch '-ndd' is needed here because
'data' will added already by file pattern.

Create example 5:
VPT a -re new_core.vp "^(?!(cbanims|hud|maps|movies)\\)" d:\game\data
Variant of 'Create example 4' with the same result.

Add example 1:
VPT a -o core.vp @pack.lst
Add all files listed in 'pack.lst' with their relative paths from current
directory and overwrite all existing files.

Add example 2:
VPT a -o core.vp "*.tbl|*.fs2" d:\game\data data
Add all .tbl and .fs2 files from 'd:\game\data' (and subfolders) with their
relative paths into the folder 'data' inside the archive and overwrite all
existing files.

Add example 3:
VPT a -o core.vp *.fs2 d:\game\missionfiles data\missions
Add all .fs2 files from 'd:\game\data\missionfiles' (and subfolders)
into the folder 'data\missions' inside 'core.vp' and overwrite all
existing files.

[+] 4.3 Beispiel-Ausgabe - Add

>vpt a "z:\temp\hermes_42181_1_1_patch.vp" * "h:\WCS_BASE\patch\"

Volition Package Tool v1.0.0.1521 (c) 2014-2017 Luke (www.wcsaga.org)

Create archive: "z:\temp\hermes_42181_1_1_patch.vp"
Mode : add files
Filter : "*"
Source dir : "h:\WCS_BASE\patch\"

Build filter list (1 lines)
Read source dir (11 files found)
Filter source dir (11 files left)
Build VP directory (17 records)
Write VP header OK
Add data\interface\2_OptionsMain.dds OK
Add data\interface\2_OptionsMain-M.pcx OK
Add data\missions\Demo-01-BG-Hermes.fs2 OK
Add data\missions\Demo-02-BG-Hermes.fs2 OK
Add data\missions\Demo-03-BG-Hermes.fs2 OK
Add data\missions\Demo-04-BG-Hermes.fs2 OK
Add data\missions\Demo-05-BG-Hermes.fs2 OK
Add data\missions\M01-BG-Hermes.fs2 OK
Add data\missions\M18-BG-Hermes.fs2 OK
Add data\tables\messages.tbl OK
Add data\tables\strings.tbl OK
Write VP directory OK
Rename temporary VP archive OK
Done

Bytes added : 4,201,103
Files added : 11
Directorys added: 4
Archive size : 4,201,867 bytes
Processing time : 00:00:00.021

[+] 4.4 Beispiel-Ausgabe - List kurz

>vpt lb "z:\temp\hermes_42181_1_1_patch.vp"
data\interface\2_OptionsMain.dds
data\interface\2_OptionsMain-M.pcx
data\missions\Demo-01-BG-Hermes.fs2
data\missions\Demo-02-BG-Hermes.fs2
data\missions\Demo-03-BG-Hermes.fs2
data\missions\Demo-04-BG-Hermes.fs2
data\missions\Demo-05-BG-Hermes.fs2
data\missions\M01-BG-Hermes.fs2
data\missions\M18-BG-Hermes.fs2
data\tables\messages.tbl
data\tables\strings.tbl

[+] 4.5 Beispiel-Ausgabe - List lang

>vpt l "z:\temp\hermes_42181_1_1_patch.vp"

Volition Package Tool v1.0.0.1521 (c) 2014-2017 Luke (www.wcsaga.org)

List files: "z:\temp\hermes_42181_1_1_patch.vp"
Filter : "*"

Build filter list (1 lines)
Read VP directory (11 files)
Filter VP directory (11 files left)
List files

Date Time Size Path & Name
---------- -------- ---------- -------------------------------
2012-03-23 22:16:20 2359424 data\interface\2_OptionsMain.dds
2012-03-23 22:16:20 29079 data\interface\2_OptionsMain-M.pcx
2012-03-23 21:15:45 124909 data\missions\Demo-01-BG-Hermes.fs2
2012-03-24 01:09:26 178793 data\missions\Demo-02-BG-Hermes.fs2
2012-03-23 21:15:45 127914 data\missions\Demo-03-BG-Hermes.fs2
2012-03-26 15:30:50 150123 data\missions\Demo-04-BG-Hermes.fs2
2012-03-23 21:15:45 163317 data\missions\Demo-05-BG-Hermes.fs2
2012-03-24 19:14:05 125311 data\missions\M01-BG-Hermes.fs2
2012-03-26 15:30:50 315056 data\missions\M18-BG-Hermes.fs2
2012-03-21 23:53:32 390388 data\tables\messages.tbl
2012-03-24 19:14:06 236789 data\tables\strings.tbl
---------- -------- ---------- -------------------------------

Bytes total : 4,201,103 / 4,201,103 (100 %)
Files total : 11 / 11 (100 %)
Time base : Local timezone (file date from archive)
Processing time: 00:00:00.003

[+] 4.6 Beispiel-Ausgabe - List technisch

>vpt lt -co "z:\temp\hermes_42181_1_1_patch.vp"

Volition Package Tool v1.0.0.1521 (c) 2014-2017 Luke (www.wcsaga.org)

List archive: "z:\temp\hermes_42181_1_1_patch.vp"

Read VP directory
Check directory overhead
List directory

Pos Offset Size Name Timestamp Flags
------ ---------- ---------- ------------------------------- ----------- ---
1 0 0 data 0 D--
2 0 0 interface 0 D--
3 16 2359424 2_OptionsMain.dds 1332537380 -F-
4 2359440 29079 2_OptionsMain-M.pcx 1332537380 -F-
5 0 0 .. 0 --B
6 0 0 missions 0 D--
7 2388519 124909 Demo-01-BG-Hermes.fs2 1332533745 -F-
8 2513428 178793 Demo-02-BG-Hermes.fs2 1332547766 -F-
9 2692221 127914 Demo-03-BG-Hermes.fs2 1332533745 -F-
10 2820135 150123 Demo-04-BG-Hermes.fs2 1332772250 -F-
11 2970258 163317 Demo-05-BG-Hermes.fs2 1332533745 -F-
12 3133575 125311 M01-BG-Hermes.fs2 1332612845 -F-
13 3258886 315056 M18-BG-Hermes.fs2 1332772250 -F-
14 0 0 .. 0 --B
15 0 0 tables 0 D--
16 3573942 390388 messages.tbl 1332370412 -F-
17 3964330 236789 strings.tbl 1332612846 -F-
------ ---------- ---------- ------------------------------- ----------- ---

Bytes total : 4,201,103
Files total : 11
Directorys total : 4
Backdirs total : 2
VP version : 2
Directory offset : 4201119
Directory records : 17
Directory size : 748 bytes
Directory overhead: 0 records, 0 bytes (0 %)
Archive size : 4,201,867 bytes
Processing time : 00:00:00.006

[+] 4.7 Beispiel-Ausgabe - Extract

>vpt x "z:\temp\hermes_42181_1_1_patch.vp" * "z:\temp\"

Volition Package Tool v1.0.0.1521 (c) 2014-2017 Luke (www.wcsaga.org)

Extract files: "z:\temp\hermes_42181_1_1_patch.vp"
Mode : with paths
Filter : "*"
Output dir : "z:\temp\"

Build filter list (1 lines)
Read VP directory (11 files)
Filter VP directory (11 files left)
Extract files

Date Time Size RC Path & Name
---------- -------- ---------- -- -------------------------------
2012-03-23 22:16:20 2359424 0 data\interface\2_OptionsMain.dds
2012-03-23 22:16:20 29079 0 data\interface\2_OptionsMain-M.pcx
2012-03-23 21:15:45 124909 0 data\missions\Demo-01-BG-Hermes.fs2
2012-03-24 01:09:26 178793 0 data\missions\Demo-02-BG-Hermes.fs2
2012-03-23 21:15:45 127914 0 data\missions\Demo-03-BG-Hermes.fs2
2012-03-26 15:30:50 150123 0 data\missions\Demo-04-BG-Hermes.fs2
2012-03-23 21:15:45 163317 0 data\missions\Demo-05-BG-Hermes.fs2
2012-03-24 19:14:05 125311 0 data\missions\M01-BG-Hermes.fs2
2012-03-26 15:30:50 315056 0 data\missions\M18-BG-Hermes.fs2
2012-03-21 23:53:32 390388 0 data\tables\messages.tbl
2012-03-24 19:14:06 236789 0 data\tables\strings.tbl
---------- -------- ---------- -- -------------------------------

Bytes extracted : 4,201,103 / 4,201,103 (100 %)
Files extracted : 11 / 11 (100 %)
Files with error: 0
Time base : Local timezone (file date from archive)
Processing time : 00:00:00.024


5. Total Commander

[+] 5.1 Beispiele Total Commander

Mit ausgewählten Ordnern ein neues VP Archiv erstellen. Das übergeordnete Top Level Verzeichnis "data" wird automatisch erstellt.

tc_create_d.png


Einen Ordner zum VP Archiv hinzufügen.

tc_add1_d.png


Dateien zu einem noch nicht existierenden Ordner hinzufügen. Der Ordnername wird dabei direkt im Eingabefeld übergeben, hier "\tables".

tc_add2_d.png


Eine Datei im VP Archiv editieren ohne das Archiv manuell entpacken und wieder packen zu müssen.

tc_edit_d.png


Einen Ordner mit einem VP Archiv synchronisieren.

tc_sync_d.png

[+] 5.2 Integration in Total Commander mittels MultiArc

Hier wird der komplette Weg der Installation von MultiArc und VPT in Total Commander gezeigt. Die Schnittstelle von VPT wurde auf MA Version 1.4.2.144 ausgelegt. Ältere Versionen von MA können Probleme im Zusammenspiel mit VPT verursachen. Während der Entwicklung von VPT wurde Total Commander Version 9.0a verwendet.

1. Total Commander unbedingt "Als Administrator ausführen", da es sonst bei der Installation und vor allem Konfiguration von MultiArc zu Problemen kommt.

2. MultiArc herunterladen: MultiArc MVV

3. Auf das heruntergeladene MultiArc Archiv im TC doppelklicken oder auswählen und  Enter  drücken, dann erscheint folgendes Fenster. Dieses mit  Ja  bestätigen und den vorgeschlagenen Installationspfad im nächsten Fenster übernehmen.

ma_inst.png


4. Sobald MA installiert ist, müssen zwei Dateien in das MultiArc Verzeichnis kopiert werden. Hat man MA in den vorgeschlagenen Standardordner installiert, erreicht man den Ordner am einfachsten wenn man in die Kommandozeile von TC den folgenden Befehl einfügt und  Enter  drückt.

Code: Alles auswählen

cd %commander_path%\plugins\wcx\multiarc


tc_ma_path.png


5. In diesen Ordner müssen VPT.exe und Volition Package.addon aus dem VPT Archiv kopiert werden.

tc_vpt_addon.png


6. Jetzt eine beliebige Datei im TC auswählen - z.B. die eben kopierte Datei VPT.exe - und den Packvorgang starten. Entweder über das Menü, Symbolleiste oder einfach mit  Alt + F5 . Dann sollte folgendes Fenster erscheinen. Hier muss rechts zuerst "MultiArc" über die Dropdown-Liste bei "->" ausgewählt werden. Dann direkt darunter  konfigurieren  klicken.

tc_pack.png


7. Im Fenster "MultiArc configuration" auf den Button  Import types  klicken.

ma_import.png


8. Dann die Datei Volition Package.addon öffnen (importieren). Die anschliessende Frage "Are you sure to import..." bestätigt man mit  Ja .

ma_addon.png


9. Das Fenster "MultiArc configuration" mit  OK  schliessen und erneut öffnen.

10. Dann bei "Type" den Packertyp "VP" auswählen. Anschliessend rechts im Fenster auf den Button  Change  klicken.

ma_main.png


11. Im Fenster "Format Capabilities" folgende Haken setzen und das Fenster mit  OK  schliessen.

ma_vp.png


12. Das Fenster "MultiArc configuration" ebenfalls mit  OK  schliessen.

13. Den Packvorgang abbrechen, TC beenden und erneut starten.

Jetzt sollte TC neue VP's erstellen sowie bestehende VP's öffnen und entpacken können. Startet man nun einen Packvorgang, sollte das Packformat "vp" über die Dropdown-Liste bei "->" ausgewählt werden können.

tc_pack_vp.png


6. Zusätzliche Informationen

[+] 6.1 Hintergrund und Entstehung

Meine ersten Versuche mit Spiele-Modding im allgemeinen und Modding von Wing Commander Saga im speziellen unternahm ich 2012. Damals hatte ich zum ersten Mal mit VP Archiven zu tun und setzte vor allem VPVIEW ein. Ende 2013, als unser eigenes Projekt Wing Commander Saga Deutsch startete, musste ein Skript-fähiges Tool zur Erzeugung von VP Archiven her. Das einzige Tool das es damals in dieser Richtung für Windows gab war VPMAKE, das wir dann auch während der gesamten Entwicklung und Betatest eingesetzt haben. Alle anderen Tools waren für unser Projekt untauglich, da sie nicht Skript-fähig waren und zudem teils gravierende Fehler aufwiesen.

Auch nach dem Release (Ende 2015) wurde für alle Updates von WCSD (bis einschliesslich Service Pack 1, Ende 2016) das Tool VPMAKE eingesetzt. VPMAKE kann jedoch VP's nur erzeugen, aber nicht entpacken. Also entwickelte ich bereits 2014 eine eigene VP Funktionsbibliothek für List und Extract für die Programmiersprache AutoIt3. Diese Bibliothek wurde dann von mehreren - meist internen - Tools verwendet, unter anderem auch von "WCS Base Auto Extract" sowie "VPU" (wurde nie veröffentlicht), ein Skript-fähiges Tool zum listen und entpacken von VP Archiven. Wir hatten VPU auch schon mittels MA in TC integriert. So konnte man VP's auch im TC öffnen, sichten und entpacken. {Bemerkung: TC ist der Standard Datei-Manager der beiden Programmierer unseres Teams.} Bereits damals (2014) beherrschte VPU das Entpacken mit einer Dateiliste als Parameter, Dateiliste aus einer Datei, Dateimuster sowie RegEx. Mit der Kombination VPMAKE und VPU hatte ich so alle wesentlichen Funktionen um Skript-gesteuert mit VP Archiven hantieren zu können. Die Funktionalität von VPMAKE war mir jedoch zu eingeschränkt und ich wollte alle Funktionen in nur einem Tool vereint haben. Ende 2016 begann ich also die Funktionsbibliothek und VPU zu erweitern, so das auch VP's erzeugt werden konnten, genau wie mit VPMAKE. Allerdings mit den Vorteilen von VPU (Dateimuster und RegEx). Dabei wurde das Tool in "VPT" umbenannt. Anfang 2017 wurden zusätzlich die Funktionen Add und Delete eingebaut, um nachträglich Dateien hinzufügen und löschen zu können.

Somit bietet VPT inzwischen (2017) mehr als die Kombination VPMAKE und VPU. VPT hat sich zum universellen VP Tool entwickelt und wird bei uns VPMAKE ersetzen.

[+] 6.2 Danksagungen

Derek Meek - für sein VPMAKE welches mich inspirierte VPU zu erschaffen und später zu VPT zu erweitern
Rob Saunders - für seine UnixTime UDF
Malkey - für seine ArrayMultiSort UDF
Harold Siebenküttel - fürs testen


7. Download

Getestet mit: Win XP Pro 32, Win 7 Ultimate 64, Win 10 Pro 64
Sprachen: Bild
Geeignet für: Wing Commander Saga, Freespace 2, Diaspora, Babylon Project, Wings of Dawn, Blue Planet und alle anderen FS-Spiele die das VP-Format Version 2 nutzen.

Vorherige Downloads: 19
Sie haben keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Tools: Setup ZIP Check & UnZip / DBST / Pilot Manager ...und andere
HowTo's: Joystick: Schub und Ruder (Twist) definieren ...und andere
Projekte: Deutsch-Mod / WCS+

"Det jeht nich', da is' keen Platz!"

Luke
Benutzeravatar
Developer
Developer
Germany
Beiträge: 2924
Registriert: Do 14. Aug 2014, 15:18
Wohnort: Sourcecode
Team-Rang: Entwickler
Fachgebiet: Implementierung
Spezialisierung: Programmierung

Re: Volition Package Tool - Mit MultiArc Addon für Total Commander

Beitragvon Luke » Fr 10. Feb 2017, 23:59

Platzhalter

[+] englische Screenshots

tc_create_e.png

tc_edit_e.png

tc_sync_e.png

tc_add2_e.png

tc_add1_e.png

ma_inst_e.png

tc_ma_path_e.png

tc_pack_e.png

tc_pack_vp_e.png

tc_vpt_addon_e.png
Sie haben keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Tools: Setup ZIP Check & UnZip / DBST / Pilot Manager ...und andere
HowTo's: Joystick: Schub und Ruder (Twist) definieren ...und andere
Projekte: Deutsch-Mod / WCS+

"Det jeht nich', da is' keen Platz!"

Luke
Benutzeravatar
Developer
Developer
Germany
Beiträge: 2924
Registriert: Do 14. Aug 2014, 15:18
Wohnort: Sourcecode
Team-Rang: Entwickler
Fachgebiet: Implementierung
Spezialisierung: Programmierung

Re: Volition Package Tool - Mit MultiArc Addon für Total Commander

Beitragvon Luke » Sa 11. Feb 2017, 11:22

Aktuell werden die Kernfunktionen nochmal intensiv getestet, bevor das Tool für den öffentlichen Betatest freigegeben wird.
Tools: Setup ZIP Check & UnZip / DBST / Pilot Manager ...und andere
HowTo's: Joystick: Schub und Ruder (Twist) definieren ...und andere
Projekte: Deutsch-Mod / WCS+

"Det jeht nich', da is' keen Platz!"

Luke
Benutzeravatar
Developer
Developer
Germany
Beiträge: 2924
Registriert: Do 14. Aug 2014, 15:18
Wohnort: Sourcecode
Team-Rang: Entwickler
Fachgebiet: Implementierung
Spezialisierung: Programmierung

Re: [DEV] Volition Package Tool - Mit MultiArc Addon für Total Commander

Beitragvon Luke » Sa 18. Feb 2017, 13:23

Donwload (0.8.1.1317) online. Startbeitrag aktualisiert. Unter Punkt 4 zusätzliche Bilder bez. Total Commander Beispiele hinzugefügt.
Tools: Setup ZIP Check & UnZip / DBST / Pilot Manager ...und andere
HowTo's: Joystick: Schub und Ruder (Twist) definieren ...und andere
Projekte: Deutsch-Mod / WCS+

"Det jeht nich', da is' keen Platz!"

Luke
Benutzeravatar
Developer
Developer
Germany
Beiträge: 2924
Registriert: Do 14. Aug 2014, 15:18
Wohnort: Sourcecode
Team-Rang: Entwickler
Fachgebiet: Implementierung
Spezialisierung: Programmierung

Re: [DEV] Volition Package Tool - Mit MultiArc Addon für Total Commander

Beitragvon Luke » Sa 4. Mär 2017, 11:43

Neue Version 0.9.0.1413, siehe Changelog im Archiv. Punkt 4 aktualisiert.
Tools: Setup ZIP Check & UnZip / DBST / Pilot Manager ...und andere
HowTo's: Joystick: Schub und Ruder (Twist) definieren ...und andere
Projekte: Deutsch-Mod / WCS+

"Det jeht nich', da is' keen Platz!"

Luke
Benutzeravatar
Developer
Developer
Germany
Beiträge: 2924
Registriert: Do 14. Aug 2014, 15:18
Wohnort: Sourcecode
Team-Rang: Entwickler
Fachgebiet: Implementierung
Spezialisierung: Programmierung

Re: [DEV] Volition Package Tool - Mit MultiArc Addon für Total Commander

Beitragvon Luke » Fr 17. Mär 2017, 20:03

Kritische Fehler behoben, Download wieder online. Neue Version 0.9.1.1466. Punkt 4 aktualisiert.
Tools: Setup ZIP Check & UnZip / DBST / Pilot Manager ...und andere
HowTo's: Joystick: Schub und Ruder (Twist) definieren ...und andere
Projekte: Deutsch-Mod / WCS+

"Det jeht nich', da is' keen Platz!"

Luke
Benutzeravatar
Developer
Developer
Germany
Beiträge: 2924
Registriert: Do 14. Aug 2014, 15:18
Wohnort: Sourcecode
Team-Rang: Entwickler
Fachgebiet: Implementierung
Spezialisierung: Programmierung

Re: [DEV] Volition Package Tool - Mit MultiArc Addon für Total Commander

Beitragvon Luke » So 26. Mär 2017, 20:56

Neue Version 0.9.2.1497. Punkt 4 aktualisiert.
Tools: Setup ZIP Check & UnZip / DBST / Pilot Manager ...und andere
HowTo's: Joystick: Schub und Ruder (Twist) definieren ...und andere
Projekte: Deutsch-Mod / WCS+

"Det jeht nich', da is' keen Platz!"

Luke
Benutzeravatar
Developer
Developer
Germany
Beiträge: 2924
Registriert: Do 14. Aug 2014, 15:18
Wohnort: Sourcecode
Team-Rang: Entwickler
Fachgebiet: Implementierung
Spezialisierung: Programmierung

Re: [DEV] Volition Package Tool - Mit MultiArc Addon für Total Commander

Beitragvon Luke » Do 25. Mai 2017, 15:55

Neue Version 0.9.3.1513 (RC1). Punkt 4 aktualisiert.
Tools: Setup ZIP Check & UnZip / DBST / Pilot Manager ...und andere
HowTo's: Joystick: Schub und Ruder (Twist) definieren ...und andere
Projekte: Deutsch-Mod / WCS+

"Det jeht nich', da is' keen Platz!"

Luke
Benutzeravatar
Developer
Developer
Germany
Beiträge: 2924
Registriert: Do 14. Aug 2014, 15:18
Wohnort: Sourcecode
Team-Rang: Entwickler
Fachgebiet: Implementierung
Spezialisierung: Programmierung

Re: Volition Package Tool - Mit MultiArc Addon für Total Commander

Beitragvon Luke » Fr 9. Jun 2017, 15:28

Neue Version 1.0.0.1521 (Release). Punkt 4 aktualisiert.
Tools: Setup ZIP Check & UnZip / DBST / Pilot Manager ...und andere
HowTo's: Joystick: Schub und Ruder (Twist) definieren ...und andere
Projekte: Deutsch-Mod / WCS+

"Det jeht nich', da is' keen Platz!"


Wer ist online?

Mitglieder in diesem Forum: CCBot [Bot] und 0 Gäste