[Installation] BG2EE Technische Informationen (für das BWS)

Dabus

Senior Member
Registriert
18.11.2007
Beiträge
5.086
Moin,

ich überlege, ob ich dem BWS beibringen sollte, wie man BG2EE erkennt, damit jemand anderes dem BWS beibringt, das man das Spiel auch modden kann.

Dazu brauche ich ein paar Infos, wenn möglich.

A) Uninstall-Schlüssel für das Erkennen des Pfades einer installierten Version

Wie heißt der DisplayName, unter dem man das Spiel findet?
Sind Steam und Beamdog da gleich?

Bei BGEE war das "Baldur's Gate - Enhanced Edition".
Dann konnte man den UninstallString nehmen und hatte den Pfad zum Spiel. Beim Beamdog hat man noch Data\00766 dazu genommen, damit ich im Verzeichnis mit der Baldur.exe war.

Ein ganzer Auszug der Struktur (per Regedit in eine Reg-Datei exportieren) wäre natürlich die Krönung. ;)

B) Standard-Installationsverzeichnisse

Bei BGEE habe ich nach im %ProgramFiles%-Ordner nach "Baldur's Gate*Enhanced Edition" gesucht, da ich damit sowohl Steam als auch Beamdog finden konnte. Wie heißt der Ordner per Standard bei BG2EE?
Und wie heißt der Unterordner bei Beamdog? Data\00766 wird es ja wohl nicht mehr sein.

C) Dateien

Für das "Simulieren" einer Installation bräuchte ich eine Liste der Dateien.
Wenn Ihr eine CMD-Sitzung aus dem Startmenü öffnen, per cd in das Installations-Verzeichnis wechseln und ein dir /s /b > Liste.txt absetzen könntet, würde eine Text-Datei mit dem Inhalt des aktuellen Verzeichnisses erzeugt werden. Wenn Ihr diese Datei irgendwo hoch laden und verlinken oder den Inhalt in einen [noparse][/noparse] packen könntet, könnte ich mir einen Haufen leerer Dateien erzeugen, die mir bei Tests helfen würden.

D) Konfigurationsdateien

BGEE hatte seine Einstellungen unter %Personal%"\Baldur's Gate - Enhanced Edition\Baldur.ini" abgelegt. Da war dann auch in einer Zeile die Sprache zu finden, genauer gesagt Language mit einem Ordner xx_XX. Das war dann der Ordner, wo die Dialog-Dateien drin waren, die von den Mods zu nutzen/patchen waren.

In welchem Ordner sind die Einstellungen jetzt drin? Gibt es da auch eine Baldur.ini mit der Language-Zeile?


Das wäre es erst mal. Einen Zeitplan habe ich nicht, scharre also nicht mit den Hufen. Wenn mir aber mal die Decke auf den Kopf fällt, überlege ich mir mal, ob ich das umsetzen mag. ;)
 

White Agnus

Senior Member
Registriert
05.09.2008
Beiträge
5.088
Hmm, BWS für BG2EE wäre natürlich toll, hier mal die Infos (ausser für die Steam Version) die du haben wolltest. :)

A)
"DisplayName"="Baldur's Gate II Enhanced Edition"

Die vollständige reg Datei verlinke ich unten ;)

Pfad unter BeamDog: Data\00783

B)
Beim BG2EE Client Installer ist der Pfad: %PROGRAMFILES(X86)%\Baldur's Gate II Enhanced Edition
Bei BeamDog wie bereits erwähnt unter BeamDog\Data\00783 zu finden ;)

C) Die Reg und die Liste kannste hier finden: www.whiteagnus.de/downloads/Bg2ee_fordabus.7z

D) Die baldur.ini findet man unter %USERPROFILE%\Documents\Baldur's Gate II - Enhanced Edition
Einen Language Eintrag hat man bei einer frisch aufgesetzten Version allerdings nicht, da bis jetzt ja nur die Offizielle Englische Sprache veröffentlicht ist, der Language Eintrag taucht erst dann auf, wenn zB mein Textpatch installiert wurde und man in den Optionen im Spiel auf zB Deutsch umgestellt hat...
Hier sollte man vielleicht auf die Unterordner im lang Ordner prüfen und weidu beim ersten Start mit dem Parameter (Beispiel deutsch) --use-lang de_DE starten (hierfür bräuchte man dann aber eine Fake.tp2, oder man startet den ersten Mod nicht mit setup-*.exe sondern mit der weidu.exe und den entsprechenden Parametern), sodass die weidu.conf auf die richtige Sprache eingestellt wird..
 

Dabus

Senior Member
Registriert
18.11.2007
Beiträge
5.086
Danke.

Was ist eine Weidu.conf? :confused:
Vermutlich neumodischer Krams. :D
Mein Ansatz für BGEE war dieser:

Code:
ElseIf $g_Flags[14] = 'BGEE' Then
	$MyBGEE=@MyDocumentsDir&"\Baldur's Gate - Enhanced Edition"
	If Not FileExists($MyBGEE&'\save') Then DirCreate($MyBGEE&'\save')
	If Not FileExists($MyBGEE&'\characters') Then DirCreate($MyBGEE&'\characters')
	If Not FileExists($MyBGEE&'\portraits') Then DirCreate($MyBGEE&'\portraits')
	If Not FileExists($g_BGEEDir&'\override') Then DirCreate($g_BGEEDir&'\override')
	If Not FileExists($g_BGEEDir&'\dialog.tlk') Then
		$Lang=_Install_GetBGEELang(_GetTR($Message, 'L4'))
		If DriveGetFileSystem(StringLeft($g_BGEEDir, 2)) = 'NTFS' Then; hard links only work for NTFS
			FileCreateNTFSLink($g_BGEEDir&'\lang\'&$Lang&'\Dialog.tlk', $g_BGEEDir&'\Dialog.tlk')
			If FileExists($g_BGEEDir&'\lang\'&$Lang&'\DialogF.tlk') Then FileCreateNTFSLink($g_BGEEDir&'\lang\'&$Lang&'\DialogF.tlk', $g_BGEEDir&'\DialogF.tlk')
			FileCreateNTFSLink($MyBGEE&'\Baldur.ini', $g_BGEEDir&'\Baldur.ini'); may not be created if this would be a cross volume-link -- that's not an error!
			FileCreateNTFSLink($MyBGEE&'\save', $g_BGEEDir&'\Save')
			FileCreateNTFSLink($MyBGEE&'\characters', $g_BGEEDir&'\characters')
			FileCreateNTFSLink($MyBGEE&'\portraits', $g_BGEEDir&'\portraits')
		Else; try to handle FAT-systems
			FileCopy($g_BGEEDir&'\lang\'&$Lang&'\Dialog.tlk', $g_BGEEDir&'\Dialog.tlk')
			If FileExists($g_BGEEDir&'\lang\'&$Lang&'\DialogF.tlk') Then FileCopy($g_BGEEDir&'\lang\'&$Lang&'\DialogF.tlk', $g_BGEEDir&'\DialogF.tlk')
		EndIf
	EndIf
EndIf

Also Hardlink auf die Dialog-Dateien ins Hauptverzeichnis und darüber einfach installieren lassen.
 

White Agnus

Senior Member
Registriert
05.09.2008
Beiträge
5.088
Hmm, das ist leider etwas veraltet was du hier schreibst, Hardlinks sind out (und eine ganz schlechte Idee... :p)
Und zwar ist es jetzt so, wenn eine Setup-*.exe in einer jungfräulichen BGEE/BG2EE Installation, das erste mal gestartet wird, kommt folgende Abfrage: http://www.whiteagnus.de/screenshots/weidu-sprachauswahl.png

Diese hat nichts mit der Sprache des Mods zu tun, weidu überprüft, ob das Spiel BGEE/BG2EE ist und schaut dann im lang Ordner nach, welche Ordner es gibt und ob unter den Ordnern eine tlk Datei liegt.

Nach dem Auswählen wird eine Weidu.conf im Hauptverzeichnis angelegt die folgenden Inhalt hat:
Code:
lang_dir = en_us

Anhand dieses Inhaltes weiß weidu, wo die dialog.tlk liegt mit der gearbeitet werden soll ;)

Der Ordner Override wird btw. beim ersten starten von Weidu angelegt, falls er nicht existiert.

Hardlinks (vor allem auf den Save Ordner und die baldur.ini) sollte man aber vermeiden, da nach einem neuen Patch (es wird ja noch aktiv an BG2EE gearbeitet) der Ordner komplett auf Nullzustand zurückgesetzt wird, wenn ein Hardlink existiert, sind die verlinkten Files also futsch... :p
 

Dabus

Senior Member
Registriert
18.11.2007
Beiträge
5.086
Die WeiDU.conf aber auch. Also tut sich da nicht viel in meinen Augen. ;)
Eine Datei mit dem Inhalt zu erzeugen ist natürlich einfacher als das andere Gedöns und ich werde das - so ich das einbaue - dann auch umstellen.
 

White Agnus

Senior Member
Registriert
05.09.2008
Beiträge
5.088
Stimmt, die weidu.conf wird auch gelöscht, aber natürlich damit auch alle anderen Modfiles die gebifft oder auch im Override Ordner vorliegen... ;)

Trotzdem könnte es den einen oder anderen Spieler stören, wenn sein Savegame oder sein exportierter Char weg wäre... :shine: (Das nicht jeder den Sinn eines Backups vor einem Update versteht, will ich jetzt hier gar nicht diskutieren. :D)

Die einfachste Möglichkeit wäre wohl selber nach den Sprachen zu prüfen und dann vom BWS die weidu.conf erstellen zu lassen, dann ist es nicht mehr nötig, weidu vorher einmal mit dem --use-lang Parameter auszuführen...
 
Zuletzt bearbeitet:

Dabus

Senior Member
Registriert
18.11.2007
Beiträge
5.086
Wenn die Editoren usw. auch so arbeiten, braucht das ja auch keiner mehr.
Damals brauchte man das ja noch...
 
Oben