Difference between revisions of "AddonStructure/de"

From The Battle for Wesnoth Wiki
(Created German Page - will be translated shortly)
 
m (Inserted geman guide template)
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{Translations}}
 
{{Translations}}
{{Create}}
+
{{Create/de}}
  
In order to create custom content for Wesnoth, you need to set up a folder in <i>userdata</i>/data/add-ons/. If you have not found your userdata directory yet, read [[EditingWesnoth]] and come back here. This page will explain the basic directory structure of an add-on and where stuff goes.
+
'''Innerhalb dieser und anderer Seiten im Wiki wird immer wieder Bezug genommen auf ein Verzeichnis, in denen die benutzerdefinierten Inhalte für Wesnoth gespeichert werden. Es wird hier mit''' ''userdata'' '''bezeichnet, obwohl ein Verzeichnis diesen Namens nicht (mehr) existiert. Die Bezeichnung hat sich aus praktischen Gründen eingebürgert.'''
  
<b>Several pages on this wiki will assume you have done so and refer to relative paths in such.</b>
+
Wie man den Pfad dieses Verzeichnis herausfindet und darauf zugreift, wird ausführlich unter [[EditingWesnoth/de|EditingWesnoth]] erklärt.
  
== The Main File ==
+
Neue, benutzerdefinierte Inhalte, kurz '''UMC''' (User Made Content), werden auch als '''Add-ons''' und im Deutschen auch als '''Erweiterungen''' bezeichnet. Sie werden damit von den Inhalten unterschieden, die bereits vom Spiel mitgebracht werden. Man kann beim Erzeugen neuer Inhalte aber in hohem Maße auf bereits vorhandene Spieldaten zurückgreifen.<br>
 +
Um neue Inhalte zu erschaffen, ist es zunächst notwendig, im Verzeichnis <code>''userdata''/data/add-ons/</code> ein neues Unterverzeichnis mit einem beliebigen Namen anzulegen. In diesem und allen weiteren Verzeichnisnamen sind KEINE Leerzeichen erlaubt. Statt dessen können Unter_Striche oder Binde-Striche verwendet werden.
  
For this example, we will assume you are creating an add-on called <b>A Simple Addon</b>.
+
'''In der Folge (und auch auf anderen Seiten im Wiki) wird ein derartiges Unterverzeichnis vorausgesetzt!'''
  
*Create the empty directory <b><i>userdata</i>/data/add-ons/A_Simple_Addon</b>.
+
== Die Datei _main.cfg ==
  
<b>Important:</b> Remember to use underscores or hyphens in all directory and file names instead of spaces. Failure to do so will result in your content not working properly.
+
Im nachfolgende Beipiel gehen wir davon aus, eine neue Erweiterung namens '''A_Simple_Addon''' zu erzeugen.
  
*Create a file called <b>_main.cfg</b> inside the A_Simple_Addon folder. Without this file, the game will not even recognize that your add-on exists.
+
#Dazu legen wir zunächst das Verzeichnis <code>''userdata''/data/add-ons/A_Simple_Addon</code> an.
 +
#Danach erzeugen wir innerhalb des neuen Ordners eine Textdatei namens '''_main.cfg'''. Der Name der Datei bedeutet in etwa "Hauptkonfigurationsdatei". Die Datei _main.cfg stellt die Verbindung zwischen dem Spiel und dem Add-on her und weist das Spiel an, wie die Inhalte des Add-ons geladen werden sollen.
  
The _main.cfg file will instruct the game on how to load your content. Here is shown a very simple example of the file.
+
Hier ein sehr einfaches Beispiel für _main.cfg:
  
 
<syntaxhighlight lang=wml>
 
<syntaxhighlight lang=wml>
Line 34: Line 36:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
The [textdomain] WML tag specifies where the game should look for translations to the strings in the add-on. The textdomain should be the add-on's directory name prefixed with <b>"wesnoth-"</b>, to ensure that it does not conflict with other textdomains that might be specified on a given system and is compatible with [[WesCamp]].
+
<small>Als ein Nutzer ohne jede Programmiererfahrung ist es vermutlich hilfreich, an dieser Stelle zuerst auf das [[WML_for_Complete_Beginners:_Introduction|WML Tutorial]] zurückzugreifen, denn selbst dieses einfache Beispiel setzt bereits einige Kenntnisse voraus. Ein Nutzer mit entsprechender Vorerfahrung findet weiterführende Informationen in der [[ReferenceWML|WML-Referenz]].</small>
  
<b>Note:</b> A textdomain is only required if your add-on contains text meant to be translated. In the case of, for example, a music pack, no textdomain is needed.
+
Zunächst wird mit <code>#textdomain wesnoth-A_Simple_Addon</code> bekannt gemacht, wie die aktuell gültige Textdomain heißt. Mit dem nachfolgenden WML-Tag <code>[textdomain]</code> wird die Textdomain definiert: ihr Name und der Pfad zum Ordner mit Übersetzungen. Der Name der Textdomain setzt sich aus dem Präfix '''wesnoth-''' und dem Namen des  Add-ons zusammen. Diese Konvention hat sich durchgesetzt und erschwert deutlich das Entstehen von lästigen Namenskonflikten.
  
All tags save for [campaign] and [textdomain] <b>must</b> be enclosed in an <b>#ifdef</b> preprocessor conditional - including those substituted through inclusion (see [[PreprocessorRef]] for more information). This is to make sure your content only loads at the correct time and does not conflict with other add-ons. In the example above, the scenarios will be loaded when you enter multiplayer mode. In a campaign, you can set up a specific flag to allow your content to only load when that campaign is played.  
+
<b>Anmerkung:</b> Eine Textdomain ist nur erforderlich, wenn die Erweiterung Text enthält, der übersetzt werden kann und soll. Ein Musikerweiterung beispielsweise benötigt nicht notwendig eine Textdomain.
  
<b>Note:</b> Only <b>code</b> must be included from this file. You <b>do not</b> need to include binary content (such as sounds, images, or music). Those may be referred to simply by path relative to the one specified in [binary_path]. Also, including the <b>units</b> directory cannot be done by a simple path inclusion; it also must be wrapped in a <b>[units][/units]</b> tag pair, as such:
+
Alle Tags außer [campaign] und [textdomain] '''müssen''' durch eine bedingte Präprozessor-Anweisung der Form <code>#ifdef [andere Tags] #endif</code> umschlossen werden! Das betrifft auch solche Tags, die in anderen Schritten erst eingebunden werden. Diese Vorgehensweise bewirkt, dass bestimmte Inhalte der Erweiterung auch wirklich nur dann eingebunden werden, wenn sie benötigt werden, und verhindert Konflikte mit anderen Add-ons. Für weiterführende Informationen dazu siehe [[PreprocessorRef]].
 +
 
 +
Im obigen Beispiel wird das Szenario nur im Multiplayer-Modus geladen. Innerhalb einer Kampagne kann man allerdings auch ein spezifisches Flag setzen, um einen bestimmten Inhalt nur innerhalb des Ablaufs dieser Kampagne zu laden.  
 +
 
 +
Innerhalb der Tags <code>[binary_path]</code> wird der (relative) Pfad für binäre Daten definiert, den ein Add-on zusätzlich zu den vom Spiel vorgegebenen Standardpfaden nutzen soll. Diese Angabe ist also nur dann notwendig, wenn ein Add-on eigene binäre Daten nutzen möchte.<br>
 +
Im Anschluss daran wird durch <code>{~add-ons/A_Simple_Addon/scenarios}</code> noch der Pfad für die neuen Szenario-Daten definiert. Auch diese Angabe liegt noch innerhalb der bedingten Präprozessor-Anweisung, wird also nur im Falle eines Multiplayer-Spiels gültig.<br>
 +
Diese einfache Form der Pfadangabe gilt NICHT für die Angabe des Einheiten-Ordners '''units'''. Diese muss immer von <code>[units]</code>-Tags umschlossen werden:
  
 
<syntaxhighlight lang=wml>
 
<syntaxhighlight lang=wml>
Line 48: Line 56:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
== The Directory Structure ==
 
 
What to create next depend on what type of content you are creating. For example, campaigns or map packs will have <b>scenarios</b> and <b>maps</b> directories, while a music pack would have only <b>music</b>. Here we will assume you are creating a campaign or single-scenario add-on.
 
 
Create the following directories:
 
 
*<b><i>userdata</i>/data/add-ons/A_Simple_Addon/scenarios</b>
 
*<b><i>userdata</i>/data/add-ons/A_Simple_Addon/maps</b>
 
 
All map files used in scenarios go in <b>maps</b> (see [[BuildingMaps]]. All configuration (‘.cfg’) files for scenarios go in <b>scenarios</b> (see [[BuildingScenarios]]).
 
 
If you have additional custom content such as images, sounds or music, it's necessary to create additional directories. Even for other custom content, creating directories to organise it is recommended.
 
  
=== Directory structure defined by the engine ===
+
'''Anmerkung:''' Aus der Datei _main.cfg heraus darf nur '''Code''' eingebunden werden, '''keine''' binären Inhalte (wie etwa Musik, Sounds oder Bilder). Hier wird lediglich mit <code>[binary path]</code> ein Pfad definiert, auf den von anderen Dateien aus verwiesen werden kann.
  
You may name the directories containing code (such as <b>scenarios</b> and <b>macros</b>) anything you like, but the binary content directories listed below <b>must</b> be named as such and be relative to your [binary_path]. This is because when trying to resolve an image path, Wesnoth will look under images/, and likewise for sounds and music, in as explained in the [[BinaryPathWML]] page.
+
== Die Verzeichnis-Struktur ==
  
*<b><i>userdata</i>/data/add-ons/A_Simple_Addon/images</b>
+
Welche Ordner als nächstes angelegt werden, hängt von den gewünschten neuen Inhalten der Erweiterung ab. So erfordern Kampagnen oder Karten-Pakete '''scenarios'''- und '''maps'''-Ordner, während ein Musik-Paket lediglich den Ordner '''music''' benötigt. In diesem Beispiel-Add-on nehmen wir an, dass eine Kampagne oder ein einzelnes Szenario erzeugt werden soll.
*<b><i>userdata</i>/data/add-ons/A_Simple_Addon/music</b>
 
*<b><i>userdata</i>/data/add-ons/A_Simple_Addon/sounds</b>
 
  
Some subdirectories of <b>images</b> are also supported by the engine:
+
Wir legen die folgenden Ordner an:
  
*<b><i>userdata</i>/data/add-ons/A_Simple_Addon/images/attacks</b> Icons for each attack, see [[UnitTypeWML#Attacks]]'s documentation for '''icon'''
+
*''userdata''/data/add-ons/A_Simple_Addon/scenarios
*'''''userdata''/data/add-ons/A_Simple_Addon/images/terrain</b> Terrain graphics
+
*''userdata''/data/add-ons/A_Simple_Addon/maps
  
While Lua can be embedded in WML files, the following directory is supported for loading them via Lua's <b>wesnoth.require "<i>module_name</i>"</b>.
+
Alle Datendateien für Karten werden im '''maps'''-Ordner gespeichert, während alle Konfigurationsdateien (mit der Endung '''.cfg''') im '''scenarios'''-Ordner landen. Weiterführende Informationen zu diesen Themen finden sich unter [[BuildingMaps]] und [[BuildingScenarios]].<br>
 +
Für weitere Inhalte, etwa Musik, Sound oder Grafiken, ist es notwendig, entsprechende Ordner anzulegen. Das wird eigentlich auch für alle andere Inhalte empfohlen, um die Übersicht zu wahren.
  
*<b><i>userdata</i>/data/add-ons/A_Simple_Addon/lua</b>
+
=== Die von der Spielengine erwartete Verzeichnis-Struktur ===
 +
Die Ordner, die Code enthalten - wie '''scenarios''' und '''macros''' - müssen nicht zwingend in bestimmter Weise benannt werden, sondern dürfen im Prinzip beliebige Namen erhalten. Allerdings ist es sinnvoll, selbsterklärende Namen zu wählen. Mit der Zeit haben sich bestimmte Namenskonventionen gebildet, die [[#Die von den Konventionen vorgegebene Verzeichnis-Struktur|weiter unten]] erläutert werden.
  
If you set up a textdomain, create a <b>translations</b> directory, even if it remains empty. Failure to do so generates a warning in stderr. This path <b>must</b> be the same as specified in the [textdomain] tag.
+
Die folgenden Ordner '''müssen''' allerdings exakt wie angegeben benannt sein, damit die Spielengine sie findet:
  
*<b><i>userdata</i>/data/add-ons/A_Simple_Addon/translations</b>
+
*''userdata''/data/add-ons/A_Simple_Addon/'''images'''
 +
*''userdata''/data/add-ons/A_Simple_Addon/'''music'''
 +
*''userdata''/data/add-ons/A_Simple_Addon/'''sounds'''
  
=== Directory structure defined by convention ===
+
Das gilt auch für einige Unterverzeichnisse von '''images''':
  
The names of these directories are not prescribed by the engine, but the current "best practice" is:
+
*''userdata''/data/add-ons/A_Simple_Addon/images/'''attacks'''<br>Enthält die Icons für jeden Angriff, siehe auch [[UnitTypeWML#Attacks]].
 +
*''userdata''/data/add-ons/A_Simple_Addon/images/'''terrain'''<br>Enthält Grafiken für Terrain, also die grundlegende Grafik für Karten.
 +
*''userdata''/data/add-ons/A_Simple_Addon/'''lua'''<br>Enthält Lua-Module, die in WML-Dateien durch <code>wesnoth.require "''Modul_Name''"</code> eingebunden werden können.
 +
*''userdata''/data/add-ons/A_Simple_Addon/'''translations'''<br>Enthält ggf. Übersetzungsdaten, kann aber auch leer sein. Ohne dieses Verzeichnis wird eine Warnung in der Standardfehlerausgabe (stderr) erzeugt. Der Pfad '''muss''' exakt dem innerhalb der <code>[textdomain)</code>-Tags in _main.cfg definierten Pfad entsprechen.
  
*<b><i>userdata</i>/data/add-ons/A_Simple_Addon/ai</b> Lua files for the RCA_AI
+
Wie die Spielengine genau auf die genannten Verzeichnisse zugreift, wird in [[BinaryPathWML]] erläutert.
*<b><i>userdata</i>/data/add-ons/A_Simple_Addon/masks</b> files for TerrainMaskWML
 
*<b><i>userdata</i>/data/add-ons/A_Simple_Addon/units</b>
 
*<b><i>userdata</i>/data/add-ons/A_Simple_Addon/utils</b> containing WML macros
 
  
The "images" directory is prescribed by the engine, but can also use subdirectories:
+
=== Die von den Konventionen vorgegebene Verzeichnis-Struktur ===
 +
Die Bezeichnungen folgender Ordner sind nicht durch die Spielengine vorgeschrieben, sondern haben sich im Laufe der Zeit als besonders praktikabel ("best practice") durchgesetzt:
  
*<b><i>userdata</i>/data/add-ons/A_Simple_Addon/images/halo</b> for '''[halo_frame]''', etc
+
*''userdata''/data/add-ons/A_Simple_Addon/'''ai'''<br>Enthält Lua-Dateien für die [[RCA_AI|künstliche Intelligenz (RCA&nbsp;AI)]].
*<b><i>userdata</i>/data/add-ons/A_Simple_Addon/images/items</b>
+
*''userdata''/data/add-ons/A_Simple_Addon/'''masks'''<br> Enthält Dateien für [[TerrainMaskWML]].
*<b><i>userdata</i>/data/add-ons/A_Simple_Addon/images/portraits</b> for '''[unit_type]profile='''
+
*''userdata''/data/add-ons/A_Simple_Addon/'''units'''<br> Enthält Dateien für die Definition von Einheiten.
*<b><i>userdata</i>/data/add-ons/A_Simple_Addon/images/story</b> backgrounds for '''[story]''' screens
+
*''userdata''/data/add-ons/A_Simple_Addon/'''utils'''<br>Enthält WML-Makros.
*<b><i>userdata</i>/data/add-ons/A_Simple_Addon/images/units</b> for '''[unit_type]image=''', etc
 
  
Finally, the customary fallback for not putting stuff in the parent directory:
+
Auch für einige Unterordner des Verzeichnis '''images''' gibt es bestimmte Konventionen:
  
*<b><i>userdata</i>/data/add-ons/A_Simple_Addon/images/misc</b>
+
*''userdata''/data/add-ons/A_Simple_Addon/images/'''halo'''<br>Grafiken zur [https://forums.wesnoth.org/viewtopic.php?t=44389 Halo Era].
 +
*''userdata''/data/add-ons/A_Simple_Addon/images/'''items'''<br>Gegenstands (Items)-Grafiken.
 +
*''userdata''/data/add-ons/A_Simple_Addon/images/'''portraits'''<br>Portrait-Grafiken ([unit_type]profile=)
 +
*''userdata''/data/add-ons/A_Simple_Addon/images/'''story'''<br>Hintergründe für Story-Bildschirme ([story])
 +
*''userdata''/data/add-ons/A_Simple_Addon/images/'''units'''<br>Einheiten-Grafiken ([unit_type]image=)
 +
*''userdata''/data/add-ons/A_Simple_Addon/images/'''misc'''<br>Der üblich Sammelordner, damit man nicht alles ins Hauptverzeichnis (oder sonstwohin) packt.
  
==See also==
+
==Siehe auch==
  
 
* [[Create]]
 
* [[Create]]

Latest revision as of 09:31, 15 February 2022


Innerhalb dieser und anderer Seiten im Wiki wird immer wieder Bezug genommen auf ein Verzeichnis, in denen die benutzerdefinierten Inhalte für Wesnoth gespeichert werden. Es wird hier mit userdata bezeichnet, obwohl ein Verzeichnis diesen Namens nicht (mehr) existiert. Die Bezeichnung hat sich aus praktischen Gründen eingebürgert.

Wie man den Pfad dieses Verzeichnis herausfindet und darauf zugreift, wird ausführlich unter EditingWesnoth erklärt.

Neue, benutzerdefinierte Inhalte, kurz UMC (User Made Content), werden auch als Add-ons und im Deutschen auch als Erweiterungen bezeichnet. Sie werden damit von den Inhalten unterschieden, die bereits vom Spiel mitgebracht werden. Man kann beim Erzeugen neuer Inhalte aber in hohem Maße auf bereits vorhandene Spieldaten zurückgreifen.
Um neue Inhalte zu erschaffen, ist es zunächst notwendig, im Verzeichnis userdata/data/add-ons/ ein neues Unterverzeichnis mit einem beliebigen Namen anzulegen. In diesem und allen weiteren Verzeichnisnamen sind KEINE Leerzeichen erlaubt. Statt dessen können Unter_Striche oder Binde-Striche verwendet werden.

In der Folge (und auch auf anderen Seiten im Wiki) wird ein derartiges Unterverzeichnis vorausgesetzt!

Die Datei _main.cfg

Im nachfolgende Beipiel gehen wir davon aus, eine neue Erweiterung namens A_Simple_Addon zu erzeugen.

  1. Dazu legen wir zunächst das Verzeichnis userdata/data/add-ons/A_Simple_Addon an.
  2. Danach erzeugen wir innerhalb des neuen Ordners eine Textdatei namens _main.cfg. Der Name der Datei bedeutet in etwa "Hauptkonfigurationsdatei". Die Datei _main.cfg stellt die Verbindung zwischen dem Spiel und dem Add-on her und weist das Spiel an, wie die Inhalte des Add-ons geladen werden sollen.

Hier ein sehr einfaches Beispiel für _main.cfg:

#textdomain wesnoth-A_Simple_Addon
[textdomain]
    name="wesnoth-A_Simple_Addon"
    path="data/add-ons/A_Simple_Addon/translations"
[/textdomain]

#ifdef MULTIPLAYER
[binary_path]
    path=data/add-ons/A_Simple_Addon
[/binary_path]

{~add-ons/A_Simple_Addon/scenarios}
#endif

Als ein Nutzer ohne jede Programmiererfahrung ist es vermutlich hilfreich, an dieser Stelle zuerst auf das WML Tutorial zurückzugreifen, denn selbst dieses einfache Beispiel setzt bereits einige Kenntnisse voraus. Ein Nutzer mit entsprechender Vorerfahrung findet weiterführende Informationen in der WML-Referenz.

Zunächst wird mit #textdomain wesnoth-A_Simple_Addon bekannt gemacht, wie die aktuell gültige Textdomain heißt. Mit dem nachfolgenden WML-Tag [textdomain] wird die Textdomain definiert: ihr Name und der Pfad zum Ordner mit Übersetzungen. Der Name der Textdomain setzt sich aus dem Präfix wesnoth- und dem Namen des Add-ons zusammen. Diese Konvention hat sich durchgesetzt und erschwert deutlich das Entstehen von lästigen Namenskonflikten.

Anmerkung: Eine Textdomain ist nur erforderlich, wenn die Erweiterung Text enthält, der übersetzt werden kann und soll. Ein Musikerweiterung beispielsweise benötigt nicht notwendig eine Textdomain.

Alle Tags außer [campaign] und [textdomain] müssen durch eine bedingte Präprozessor-Anweisung der Form #ifdef [andere Tags] #endif umschlossen werden! Das betrifft auch solche Tags, die in anderen Schritten erst eingebunden werden. Diese Vorgehensweise bewirkt, dass bestimmte Inhalte der Erweiterung auch wirklich nur dann eingebunden werden, wenn sie benötigt werden, und verhindert Konflikte mit anderen Add-ons. Für weiterführende Informationen dazu siehe PreprocessorRef.

Im obigen Beispiel wird das Szenario nur im Multiplayer-Modus geladen. Innerhalb einer Kampagne kann man allerdings auch ein spezifisches Flag setzen, um einen bestimmten Inhalt nur innerhalb des Ablaufs dieser Kampagne zu laden.

Innerhalb der Tags [binary_path] wird der (relative) Pfad für binäre Daten definiert, den ein Add-on zusätzlich zu den vom Spiel vorgegebenen Standardpfaden nutzen soll. Diese Angabe ist also nur dann notwendig, wenn ein Add-on eigene binäre Daten nutzen möchte.
Im Anschluss daran wird durch {~add-ons/A_Simple_Addon/scenarios} noch der Pfad für die neuen Szenario-Daten definiert. Auch diese Angabe liegt noch innerhalb der bedingten Präprozessor-Anweisung, wird also nur im Falle eines Multiplayer-Spiels gültig.
Diese einfache Form der Pfadangabe gilt NICHT für die Angabe des Einheiten-Ordners units. Diese muss immer von [units]-Tags umschlossen werden:

[units]
    {~add-ons/A_Simple_Addon/units}
[/units]


Anmerkung: Aus der Datei _main.cfg heraus darf nur Code eingebunden werden, keine binären Inhalte (wie etwa Musik, Sounds oder Bilder). Hier wird lediglich mit [binary path] ein Pfad definiert, auf den von anderen Dateien aus verwiesen werden kann.

Die Verzeichnis-Struktur

Welche Ordner als nächstes angelegt werden, hängt von den gewünschten neuen Inhalten der Erweiterung ab. So erfordern Kampagnen oder Karten-Pakete scenarios- und maps-Ordner, während ein Musik-Paket lediglich den Ordner music benötigt. In diesem Beispiel-Add-on nehmen wir an, dass eine Kampagne oder ein einzelnes Szenario erzeugt werden soll.

Wir legen die folgenden Ordner an:

  • userdata/data/add-ons/A_Simple_Addon/scenarios
  • userdata/data/add-ons/A_Simple_Addon/maps

Alle Datendateien für Karten werden im maps-Ordner gespeichert, während alle Konfigurationsdateien (mit der Endung .cfg) im scenarios-Ordner landen. Weiterführende Informationen zu diesen Themen finden sich unter BuildingMaps und BuildingScenarios.
Für weitere Inhalte, etwa Musik, Sound oder Grafiken, ist es notwendig, entsprechende Ordner anzulegen. Das wird eigentlich auch für alle andere Inhalte empfohlen, um die Übersicht zu wahren.

Die von der Spielengine erwartete Verzeichnis-Struktur

Die Ordner, die Code enthalten - wie scenarios und macros - müssen nicht zwingend in bestimmter Weise benannt werden, sondern dürfen im Prinzip beliebige Namen erhalten. Allerdings ist es sinnvoll, selbsterklärende Namen zu wählen. Mit der Zeit haben sich bestimmte Namenskonventionen gebildet, die weiter unten erläutert werden.

Die folgenden Ordner müssen allerdings exakt wie angegeben benannt sein, damit die Spielengine sie findet:

  • userdata/data/add-ons/A_Simple_Addon/images
  • userdata/data/add-ons/A_Simple_Addon/music
  • userdata/data/add-ons/A_Simple_Addon/sounds

Das gilt auch für einige Unterverzeichnisse von images:

  • userdata/data/add-ons/A_Simple_Addon/images/attacks
    Enthält die Icons für jeden Angriff, siehe auch UnitTypeWML#Attacks.
  • userdata/data/add-ons/A_Simple_Addon/images/terrain
    Enthält Grafiken für Terrain, also die grundlegende Grafik für Karten.
  • userdata/data/add-ons/A_Simple_Addon/lua
    Enthält Lua-Module, die in WML-Dateien durch wesnoth.require "Modul_Name" eingebunden werden können.
  • userdata/data/add-ons/A_Simple_Addon/translations
    Enthält ggf. Übersetzungsdaten, kann aber auch leer sein. Ohne dieses Verzeichnis wird eine Warnung in der Standardfehlerausgabe (stderr) erzeugt. Der Pfad muss exakt dem innerhalb der [textdomain)-Tags in _main.cfg definierten Pfad entsprechen.

Wie die Spielengine genau auf die genannten Verzeichnisse zugreift, wird in BinaryPathWML erläutert.

Die von den Konventionen vorgegebene Verzeichnis-Struktur

Die Bezeichnungen folgender Ordner sind nicht durch die Spielengine vorgeschrieben, sondern haben sich im Laufe der Zeit als besonders praktikabel ("best practice") durchgesetzt:

  • userdata/data/add-ons/A_Simple_Addon/ai
    Enthält Lua-Dateien für die künstliche Intelligenz (RCA AI).
  • userdata/data/add-ons/A_Simple_Addon/masks
    Enthält Dateien für TerrainMaskWML.
  • userdata/data/add-ons/A_Simple_Addon/units
    Enthält Dateien für die Definition von Einheiten.
  • userdata/data/add-ons/A_Simple_Addon/utils
    Enthält WML-Makros.

Auch für einige Unterordner des Verzeichnis images gibt es bestimmte Konventionen:

  • userdata/data/add-ons/A_Simple_Addon/images/halo
    Grafiken zur Halo Era.
  • userdata/data/add-ons/A_Simple_Addon/images/items
    Gegenstands (Items)-Grafiken.
  • userdata/data/add-ons/A_Simple_Addon/images/portraits
    Portrait-Grafiken ([unit_type]profile=)
  • userdata/data/add-ons/A_Simple_Addon/images/story
    Hintergründe für Story-Bildschirme ([story])
  • userdata/data/add-ons/A_Simple_Addon/images/units
    Einheiten-Grafiken ([unit_type]image=)
  • userdata/data/add-ons/A_Simple_Addon/images/misc
    Der üblich Sammelordner, damit man nicht alles ins Hauptverzeichnis (oder sonstwohin) packt.

Siehe auch

This page was last edited on 15 February 2022, at 09:31.