Dies ist ein Tutorial sowie eine Soft-Mod für TQAE.
Analog zur alten TQIT-Umsetzung, siehe:
[Tutorial & Mod] Caravan Mod: Karawane erweitern
Tutorial
Grundlagen
Wir wollen die Größe des Inventars, der Karawane und des Übergabefensters ändern, aber dazu müssen neben der eigentlichen Stauraumänderung noch andere Dinge angepasst werden:
- die Position von Bildern, Fenstern, Texten, etc.
- die Bilder von Inventar, Karawane, etc.
Die Zahlenspielereien, die zur Änderung der Größe und Position des Inventars, Karawane und Co. nötig sind, werden in diesem Tutorial beschrieben. Die nötigen Bilder sind für die hier beschriebene Änderung im klassischen TQ-Stil von mir angefertigt worden und im Download zu finden. Wenn jemand andere Änderungen möchte oder andere Grafikstile wünscht, der/die muss selbst zum Grafikwerkzeug seiner Wahl greifen.
Die Größe eines Stauraumfeldes beträgt 32x32 Pixel. Die Ausmaße des gesamten Stauraumes dividiert durch 32 ergeben somit die Anzahl der Stauraumfelder. Hier eine kleine Übersicht über die häufig genutzen Maße:
1 Feld = 32 Pixel
5 Felder = 160 Pixel
6 Felder = 192 Pixel
8 Felder = 256 Pixel
12 Felder = 384 Felder
16 Felder = 512 Pixel
18 Felder = 576 Pixel
Randbedingungen
Seit TQ AE funktionieren alle Änderungen als Soft-Mod.
Bei der Erweiterung der Karawane und des Übergabebereiches muss für bestehende Charaktere die winsys-Dateien angepasst werden.
Dazu habe ich ein entsprechendes Programm geschrieben und dem Download beigelegt.
Tutorial
In diesem Tutorial beschreibe ich die Erweiterung des Inventars von 5 auf 8 Felder in der Höhe, um zwei Stäbe/Bögen untereinander lagern zu können. Die Karawane wird von 16 (breit) x 15 (hoch) auf 16 x 18 erweitert und der Übergabebereiches von 6 x 12 auf ebenfalls 16 x 18. Die Höhe wurde geändert, damit das Karawanen- und Charakterfenster gleich groß bleiben und das Übergabefenster den möglichen Platz ausnutzt. Die Karawane und der Übergabebereich sind nachher also gleich groß.
Das Inventar in der Höhe von 5 auf 8 Felder vergrößern
1) Eckgrafiken des Charakterinventars verschieben:
- records\ingameui\player character\characterllcorneroverlaybitmap.dbr (linke untere Ecke)
records\ingameui\player character\characterlrcorneroverlaybitmap.dbr (rechte untere Ecke)
Variable: bitmapPositionY
Original (5 Felder hohes Inventar): 609
Neu (8 Felder hohes Inventar): 705
- records\ingameui\player inventory\inventorygrid0.dbr (Hauptstauraum)
records\ingameui\player inventory\inventorygrid1.dbr (Zusatzbeutel)
Variable: inventoryYSize
Original (5 Felder hohes Inventar): 160
Neu (8 Felder hohes Inventar): 256
- records\xpack\game\gameengine.dbr
Variable: UICharInventorySack0DimsY (Hauptstauraum)
Variable: UICharInventorySack1DimsY (Zusatzbeutel)
Original (5 Felder hohes Inventar): 160
Neu (8 Felder hohes Inventar): 256
- records\xpack\ui\character\characterwindowimage.dbr
Variable: bitmapName
Original (TQ-Stil): XPack\UI\Character\CharacterWindow01.tex
Neu (TQ-Stil): HBFs_ExtendedUI\CharacterWindow01.tex
- records\ingameui\player inventory\inventorytab1bitmap.dbr (1. Beutel)
records\ingameui\player inventory\inventorytab2bitmap.dbr (2. Beutel)
records\ingameui\player inventory\inventorytab3bitmap.dbr (3. Beutel)
Variable: bitmapName
Original (TQ-Stil): InGameUI\CharacterScreen\InventoryExtra01.tex
Neu (TQ-Stil): HBFs_ExtendedUI\InventoryExtra01.tex
Man muss freilich nicht die Verweise auf neue Bilder ändern, sondern kann auch die bestehenden Texturen durch seine eigenen ersetzen. Ich bevorzuge allerdings die Variante mit den geänderten Links, weil man dann immer noch die Originalbilder hat - für den Fall der Fälle. So können verschiedene Bilder(archive) für Stauraumlösungen nebeneinander existieren und man kann mit der jeweiligen Database (die ohnehin die Größe bestimmt) die gewünschten Bilder verwenden.
6) Ausmaße des Charakterfensters anpassen:
- records\xpack\ui\character\characterwindow.dbr
Variable: windowDefaultExtentY
Original (5 Felder hohes Inventar): 637
Neu (8 Felder hohes Inventar): 733
1) Button zum Schließen des Karawanen/Übergabefensters verschieben:
- records\ingameui\tradewindow\closebutton.dbr
Variable: bitmapPositionX
Original (8 Felder breite Karawane): 320
Neu (16 Felder breite Karawane): 544
Die Stauraumfelder innerhalb des Fensters werden um 16 Pixel nach links verschoben und sind 16 Pixel näher am rechten Rand. Daher ist das verbreiterte Karawanenfenster nur 7x32=224 Pixel breiter statt 8x32.
2) Vergrößertes Hintergrundbild für Karawanenfenster einbinden:
- records\xpack\ui\caravan\backgroundimage.dbr
Variable: bitmapName
Original (TQ-Stil): XPack\UI\Caravan\CaravanWindow01.tex
Neu (TQ-Stil): HBFs_ExtendedUI\CaravanWindow01.tex
- records\xpack\ui\caravan\largestashplate.dbr (für noch nicht erweiterte Karawane)
records\xpack\ui\caravan\smallstashplate.dbr (für 1x erweiterte Karawane)
Variable: bitmapName
Original (TQ-Stil): XPack\UI\Caravan\StorageAreaUnlock01.tex
Neu (TQ-Stil): HBFs_ExtendedUI\StorageAreaUnlock01.tex
Original (TQ-Stil): XPack\UI\Caravan\StorageAreaUnlock02.tex
Neu (TQ-Stil): HBFs_ExtendedUI\StorageAreaUnlock02.tex
- records\xpack\ui\caravan\titlebitmap.dbr
Variable: bitmapName
Original (TQ-Stil): XPack\UI\Caravan\CaravanTitle01.tex
Neu (TQ-Stil): HBFs_ExtendedUI\CaravanTitle01.tex
- records\xpack\ui\caravan\caravanwindow.dbr
Variable: windowDefaultExtentY
Original (15 Felder hohe Karawane): 637
Neu (18 Felder hohe Karawane): 733
- records\xpack\ui\caravan\stashincreasecosttext.dbr
Variable: textBoxX
Original (16 Felder breite Karawane): 244
Neu (16 Felder breite Karawane): 232
- records\xpack\ui\caravan\stashwindow.dbr
Variable: InventoryHeightArray
Original (15 Felder hohe Karawane): 5;10;15
Neu (18 Felder hohe Karawane): 5;10;18
Variable: InventoryCostArray
Original: 10.000;500.000;2.500.000 (letzte Kosten nicht nötig)
Neu: 100.000;5.000.000;10.000.000 (letzte Kosten nicht nötig)
- records\xpack\ui\caravan\transferbutton.dbr
Variable: bitmapPostionX
Original (8 Felder breite Karawane): 175
Neu (16 Felder breite Karawane): 399
1) Position und Ausmaße des Übergabebereiches ändern:
- records\xpack\ui\caravan\transferinventory.dbr
Variable: inventoryX
Original: 107 (6 Felder breit, aber links und rechts noch Platz)
Neu: 27 (um 2,5 Felder nach links verschoben, sodass im normalen Fenster 5 Felder mehr reinpassen)
Variable: inventoryY
Original: 62 (12 Felder hoch, aber oben und unten noch Platz)
Neu: 12 (damit es zur Karawane passt)
Variable: inventoryXSize
Original (6 Felder breiter Übergabe-Stauraum): 192
Neu (16 Felder breiter Übergabe-Stauraum): 512
Variable: inventoryYSize
Original (12 Felder hoher Übergabe-Stauraum): 384
Neu (18 Felder hoher Übergabe-Stauraum): 576
- records\xpack\ui\caravan\transferwindow.dbr
Variable: TransferPlate
Original: Records\XPack\UI\Caravan\TransferPlate.dbr
Neu: NOT*Records\XPack\UI\Caravan\TransferPlate.dbr
Die TransferPlate-Grafik ist rein kosmetischer Natur. Im Hintergrund ist das normale Karawanenfenster zu sehen. Die Überlagerung mit der TransferPlate-Grafik ist nur notwendig, wenn der Übergabebereich kleiner als die Karawane ist. In diesem Tutorial sind aber beide Stauräume gleich groß, daher wird diese Grafik nicht mehr benötigt.
Karawane von bestehenden Charakteren und Übergabebereich in winsys-Dateien anpassen
Damit die oben durchgeführten Änderungen tatsächlich wirken, muss der Stauraum von bestehenden Charakteren und dem Übergabebereich in den Sicherungsdateien ebenfalls angepasst werden. Dazu gibt es jeweils zwei Dateien:
- winsys.dxb
- winsys.dxg
Diese Dateien befinden sich für den Übergabebereich unter:
My Games\Titan Quest - Immortal Throne\SaveData\Sys\
Für den jeweiligen Charakter unter:
My Games\Titan Quest - Immortal Throne\SaveData\Main\_<Charaktername>\