Fandom

Freeciv

Sound

109Seiten in
diesem Wiki
Seite hinzufügen
Diskussion0 Teilen

Stand: 11.06.02

Diese Informationen sind hauptsächlich für (Klang-)Entwickler geschrieben. Schreibt jemand eine Anwender-Anleitung?

Sound-UnterstützungBearbeiten

Der Server schickt dem Client eine Liste von primären und sekundären Tags für bestimmte Ereignise. Die "primären" werden vom aktuellen Modpack bevorzugt; die zugehörigen Sounds brauchen im Client nicht notwendigerweise vorhanden zu sein. Die "sekundären" Tags sollten sich auf auf Standardsounds beziehen, die in jeder Installation von Freeciv gleich sein sollten.

Tags werden benutzt, um das Wechseln der Sounds zu erleichtern. Dabei wird ein sog. specfile benutzt, in dem festgelegt wird, welcher Sound zu welchem Tag gehört. Ändert man das specfile, z.B. als Parameter beim Start des Clients, so ändern sich auch die Sounds. Der Aufruf

civclient --Sound mysounds.spec

führt dazu, das der Client die Sounddateien aus der datei "mysounds.spec" liest. Die Sounds müssen dazu in das in der Datei zuerst genannte Verzeichnis kopiert werden, oder die specdatei muss angepasst werden. Alle Pfade sind dabei relativ zum Verzeichnis data/. Soundpakete können von der Freeciv-Webseite im tar-Format heruntergeladen werden. Diese müssen dann entweder mit z.B. "tar -xzvf stdsoundsX.tar.gz" (Unix) oder mit WinZip (Windows) in das Verzeichnis data/ entpackt werden.

In CVS-Versionen sind weder Sounds noch ein specfile enthalten. Soundsets (Sounds und ein specfile) können von

ftp://ftp.freeciv.org/freeciv/contrib/sounds/

herunter geladen werden. Hier gibt es auch weitere Soundateien, um existierende Soundsets zu verändern oder neue zu erstellen.

PluginsBearbeiten

Die Sound-Ausgabe wird vom Client mit Plugins erledigt. Welche Plugins vorhandene sind, hängt davon ab, welche Libraries auf dem Rechner installiert sind. Das Plugin, das der Client zur Soundausgabe benutzen soll, kann via Kommandozeile gewählt werden:

civclient --Plugin sdl

Mit "none" wird die Soundausgabe abgeschaltet. Freeciv unterstützt zur Zeit die folgenden Plugins:

  • keine Ausgabe (--Plugin none)
  • SDL mit der SDL_mixer-Library (--Plugin sdl)

Um Unterstützung für ein neues Plugin zu Freeciv hinzuzufügen, müssen folgende Dateien verändert werden ("plugin" bezeichnet dabei den Namen des des neuen Plugins):

configure.in             /* Hinzufügen eines neuen Tests */
acconfig.h               /* Hinzufügen einer neuen config metavariablen */
client/audio.c           /* das neue Plugin einfügen */
client/Makefile.am       /* die folgenden Dateien einfügen */
client/audio_plugin.c    /* das neue Plugin */
client/audio_plugin.h    /* die Headerdatei des neuen Plugins */

TagsBearbeiten

Es gibt zwei Arten von Soundtags:

  • Tags, die im ruleset definiert sind
  • Tags, die im Programm definiert sind

Während die ersten frei gewählt werden können, können die letzteren nicht verändert werden.

Die Soundtags, die zu Erweiterungen (Weltwundern und normale Gebäuden), Bewegungen von Einheiten und Kämpfen zwischen Einheiten gehören, müssen im Ruleset festgelegt werden. Freeciv gibt diese Tags weiter an den Client, der sie mit Hilfe der soundspec Datei in Dateinamen übersetzt. Jede soundspec-datei sollte allgemeine Soundtags für Weltwunder ("w_generic"), normale Gebäude ("b_generic"), Bewegung von Einheiten ("m_generic") und Kämpfe zwischen Einheiten ("f_generic") definieren.

Zu bestimmten Ereignissen gibt es Soundtags, die im Code von Freeciv verankert sind und nicht von außen konfiguriert werden können. In der soundspec Datei müssen belegungen für diese Tags vorhanden sein. Eine komplette Liste dieser Tags findet sich in data/stdsounds.spec. Der Name des Tags ist der Name des enums (siehe common/events.h) in Kleinbuchstaben. Z.B. wird aus E_POLLUTION das Tag "e_pollution". Es gibt kein allgemeines Tag und es wird kein alternatives tag benutzt.

Im Spiel gibt es im Moment nur eine Hintergrundmelodie: das Intro. Das Intro läuft bis das Spiel beginnt. Das Tag für diese Musik ist "music_start".

TODOBearbeiten

Es gibt ein paar Dinge, die noch getun werden müssen, um die Soundunterstützung in Freeciv noch zu verbessen:

  • Hinzufügen von weitere Plugins (gstreamer, arts, windows, usw.)
  • Hinzufügen von tags für jedes Forschungsergebnis, wie für Gebäude/Einheiten
  • Unterstützung von Sounddateien im .ogg-Format
  • mehr Ereignistags
  • neue/bessere Sound-Samples und bessere spec-Datei

SonstigesBearbeiten

Ersteller von Sounds: Die Dateien sollten bitte klar benannt sein. Außerdem sollte eine README vorhanden sein, in der die verwendete Lizenz für die Sounds aufgeführt wird (falls Publich Domain, bitte erwähnen).

Ersteller von Modpacks: Die sekundären Tags sollten sich auf Standardtags beziehen, sodass die, die nicht das neueste und beste Soundpaket haben, das Spiel immer noch genießen können.

Störung durch Adblocker erkannt!


Wikia ist eine gebührenfreie Seite, die sich durch Werbung finanziert. Benutzer, die Adblocker einsetzen, haben eine modifizierte Ansicht der Seite.

Wikia ist nicht verfügbar, wenn du weitere Modifikationen in dem Adblocker-Programm gemacht hast. Wenn du sie entfernst, dann wird die Seite ohne Probleme geladen.

Auch bei Fandom

Zufälliges Wiki