Inhaltsverzeichnis

Output-Units/Untertitel erstellen

Damit die Untertitel und Sprachausgaben auch im Spiel auftauchen muss man folgendes machen:

Die fertigen OUs werden in \_work\DATA\scripts\content\CUTSCENE\OU.BIN gespeichert, diese Datei sollte deshalb auch in das fertige Mod mit rein.
Wenn der Mod keine Sprachausgabe hat sollte ein force_subtitles=1 in den [Option]-Abschnitt der .ini Datei damit die Untertitel immer angezeigt werden.

Alternativ können die Output-Units auch mit dem Sprachausgabenhelfer aktualisiert werden. Dazu muss man einmalig den Pfad der Gothicinstallation (also zum Beispiel D:\Spiele\Gothic II\) unter „Einstellungen“ einstellen und kann dann das Werkzeug „Output-Units (mit allen Scripten) aktualisieren“ benutzen. Das hat den Vorteil, dass alle oben beschriebenen Arbeitsschritte wegfallen und auch das eigentliche Aktualisieren schneller geht. Zu beachten ist jedoch, dass es sich hier um eine „inoffizielle“ Lösung handelt. Im Spiel habe ich bisher keine Unterschiede gegenüber dem „klassischen“ Aktualisieren festgestellt, aber dennoch sollte man das im Hinterkopf behalten.

Sprachausgabe

Damit der Spacer die Anweisung findet, muss beim Befehl AI_Output die Groß-/Kleinschreibung beachtet werden.

Schauen wir uns doch mal folgende Zeile eines Dialogs an:

AI_Output (other, self,"DIA_SCAR_Hello_15_00"); //Wer bist du?

AI_Output ist nur die Dialogfunktion, danach „other,self“, d.h. der andere (Spieler) spricht zu self (der angesprochene NPC)
Danach der Name der Outputunit und noch der Untertitel als Kommentar.

Für die Sprachausgabe spielt der Name der OutputUnit eine entscheidende Rolle, in unserem Beispiel würde Gothic nach folgender Datei suchen um die Sprache auszugeben: \sound\speech\DIA_SCAR_Hello_15_00.wav

Falls es die Datei nicht findet kommt kein Ton und Zeit die der Text angezeigt wird hängt dann von der Anzahl der Zeichen des Textes ab.
Die Kodierung der Orginalsprachausgabe ist IMA ADPCM 44,1kHz, 4Bit, Mono. Wenn man das Downloadvolumen des Mods gering halten will kann man auch IMA ADPCM 22kHz, 4Bit, Mono nehmen oder mit anderen Codecs experimentieren(MP3 funktioniert nicht:(). Zum Umkodieren eignet sich z.B. der Switch Audio Converter.
Das war eigentlich schon das Grundgeheimnis der Sprachausgabe, man muss seine Dateien halt nur passend benennen.

Im Gothic Orginalscript gibts folgendes System zum benennen der Output Units:

DIA_SCAR_Hello_15_00

Natürlich könnt ihr bei der Benennung auch eigene Systeme einsetzen, aber dieses ist sinnvoll.

Was hinter den Kulissen passiert

Für diejenigen die sich fragen warum die Untertitel auskommentiert werden:
Beim Kompilieren der Scripte fallen die Kommentare (alles hinter //) natürlich unter den Tisch, aber der Spacer erstellt beim Kompilieren unabhänig davon auch noch die Datei namens ouinfo.inf mit den sprachausgaberelevaten Informationen. Aus der kann der Spacer dann später die Dateien ou.bin und ou.cls erstellen die dann die richtigen „Ausgabeeinheiten“ enthalten. Deshalb muss man, wenn man Untertitel für Dialoge erstellen will, hinter den Aufrufen von AI_Output einen Kommentar erstellen (beginnend mit // und aufhörend beim Zeilenende (RETURN oder ENTER), man braucht also kein spezielles Zeichen einzutippen), mit dem Inhalt des Untertitels.

[% zCCSBlock 0 1]
	blockName=string:B_Gravo_HelpAttitude_ANGRY_04_00
	numOfBlocks=int:1
	subBlock0=float:0
	[% zCCSAtomicBlock 0 2]
		[% oCMsgConversation:oCNpcMessage:zCEventMessage 0 3]
			subType=enum:0
			text=string:Stimmt, er ist nicht besonders gut auf dich zu sprechen.
			name=string:B_GRAVO_HELPATTITUDE_ANGRY_04_00.WAV
		[]
	[]
[]

Dann muß das Script nur noch sagen das die Ausgabeeinheit „B_Gravo_HelpAttitude_ANGRY_04_00“ (3. Parameter von AI_Output) abgespielen soll und die Engine weiß was zu tun ist.

Die Untertitel mit dem Spacer zu erstellen dauert jedoch sehr lange. Darum hat ein Mitglied der WoG-Community ein Programm namens Redefix entwickelt, mit dem man das Erstellen der Dialoge von mehreren Minuten auf wenige Sekunden beschleunigen kann.