Automatisch erzeugte Manpages.
Damit nicht jeder sphinx auf dem Rechner haben muss,
behalten wir bis auf weiteres die aus den .rst
erzeugten Manpoages auch im Repo.
Change-Id: Id556c0d11cf5f79659d8350952ce1c014d81ea44
diff --git a/doc/lfun/AddDetail b/doc/lfun/AddDetail
index 229197b..951b48a 100644
--- a/doc/lfun/AddDetail
+++ b/doc/lfun/AddDetail
@@ -1,91 +1,110 @@
+
AddDetail()
+***********
-FUNKTION:
- void AddDetail(string|string* keys,
- string|string*|mapping|closure desc);
-DEFINIERT IN:
- /std/thing/description.c
+FUNKTION
+========
-ARGUMENTE:
- keys
- String oder Array von Strings mit den Namen der Details.
- desc
- String, Mapping, String-Array oder Closure mit/zur Beschreibung.
+ void AddDetail(string|string* keys,
+ string|string*|mapping|closure desc);
-BESCHREIBUNG:
- Die Beschreibung der Details <keys> wird gesetzt. Wie die Details
- bei der Untersuchung aussehen, haengt im wesentlichen vom Typ der
- Beschreibung <desc> ab:
- <desc> ist ein String.
- Beim Untersuchen wird dieser String zurueckgegeben.
- <desc> ist ein String-Array.
- Beim Untersuchen wird zufaellig einer der Strings zurueckgegeben.
- <desc> ist ein Mapping.
- Das Mapping muss folgenden Aufbau haben:
- ([0: "Defaulttext",
- "rasse1": "r1text", ...]).
- Falls fuer die Rasse des das Detail untersuchenden Spielers ein
- Eintrag im Mapping existiert, wird der entsprechende Text
- zurueckgegeben, ansonsten der Defaulttext. Auf diese Weise sind
- rassenabhaengige Details moeglich. Siehe auch die Beispiele.
- <desc> ist eine Closure.
- In diesem Fall wird die Closure ausgefuehrt und das Ergebnis
- zurueckgegeben. Die Closure bekommt dabei den Namen des Details
- als Parameter uebergeben.
+DEFINIERT IN
+============
- Fuer Details koennen Forscherpunkte eingetragen werden.
+ /std/thing/description.c
-BEISPIELE:
- Ein schlichtes Detail:
- AddDetail(({"sofa","couch"}), "Eine kleine Couch.\n");
+ARGUMENTE
+=========
- Laengere Details sollten hierbei nicht per Hand umgebrochen werden,
- sondern man kann hierzu die Funktion break_string() nutzen:
+ keys
+ String oder Array von Strings mit den Namen der Details.
+ desc
+ String, Mapping, String-Array oder Closure mit/zur Beschreibung.
- AddDetail("detail", break_string(
- "Du wolltest es ja nicht anders, jetzt musst Du Dir dieses "
- "fuerchterlich lange Detail durchlesen!!!", 78));
- Noetige Zeilenumbrueche bei Zeilenlaengen groesser 77 werden so
- automatisch generiert.
- Ein rassenabhaengiges Detail:
+BESCHREIBUNG
+============
- AddDetail(({"bett","bettchen"}),
- ([0 :"Eine kleines Bett.\n", // Der Defaulttext
- "zwerg": // Die Rasse klein schreiben
- "Das Bett laedt geradezu zu einem Nickerchen ein.\n"]));
+ Die Beschreibung der Details <keys> wird gesetzt. Wie die Details
+ bei der Untersuchung aussehen, haengt im wesentlichen vom Typ der
+ Beschreibung <desc> ab:
+ <desc> ist ein String.
+ Beim Untersuchen wird dieser String zurueckgegeben.
+ <desc> ist ein String-Array.
+ Beim Untersuchen wird zufaellig einer der Strings zurueckgegeben.
+ <desc> ist ein Mapping.
+ Das Mapping muss folgenden Aufbau haben:
+ ([0: "Defaulttext",
+ "rasse1": "r1text", ...]).
- Und nun ein Detail mit Closure (diese Version ersetzt das Verhalten
- von AddSpecialDetail).
+ Falls fuer die Rasse des das Detail untersuchenden Spielers ein
+ Eintrag im Mapping existiert, wird der entsprechende Text
+ zurueckgegeben, ansonsten der Defaulttext. Auf diese Weise sind
+ rassenabhaengige Details moeglich. Siehe auch die Beispiele.
+ <desc> ist eine Closure.
+ In diesem Fall wird die Closure ausgefuehrt und das Ergebnis
+ zurueckgegeben. Die Closure bekommt dabei den Namen des Details
+ als Parameter uebergeben.
- int hebel_betaetigt;
- ...
- string hebel(string str); // Funktion bekannt machen (Prototyping)
- ...
- AddDetail(({"hebel","schalter"}), #'hebel);
- ...
- string hebel(string key) {
- if(hebel_betaetigt)
- return "Der "+capitalize(key)+" steht auf EIN.\n";
- else
- return "Der "+capitalize(key)+" steht auf AUS.\n";
- }
+ Fuer Details koennen Forscherpunkte eingetragen werden.
- Man erhaelt verschiedene Ergebnisse beim Untersuchen, je nachdem
- ob das Flag hebel_betaetigt gesetzt ist oder nicht.
-SIEHE AUCH:
- Setzen: AddReadDetail(), AddSmells(), AddSounds(),
- AddTouchDetail()
- Loeschen: RemoveDetail(), RemoveReadDetail(), RemoveSmells(),
- RemoveSounds(), RemoveTouchDetail()
- Daten: P_DETAILS, P_READ_DETAILS, P_SMELLS, P_SOUNDS,
- P_TOUCH_DETAILS, P_SPECIAL_DETAILS
- Veraltet: AddSpecialDetail(), RemoveSpecialDetail(), P_READ_MSG
- Sonstiges: GetDetail(), break_string()
+BEISPIELE
+=========
+
+ Ein schlichtes Detail:
+
+ AddDetail(({"sofa","couch"}), "Eine kleine Couch.\n");
+
+ Laengere Details sollten hierbei nicht per Hand umgebrochen werden,
+ sondern man kann hierzu die Funktion break_string() nutzen:
+
+ AddDetail("detail", break_string(
+ "Du wolltest es ja nicht anders, jetzt musst Du Dir dieses "
+ "fuerchterlich lange Detail durchlesen!!!", 78));
+
+ Noetige Zeilenumbrueche bei Zeilenlaengen groesser 77 werden so
+ automatisch generiert.
+ Ein rassenabhaengiges Detail:
+
+ AddDetail(({"bett","bettchen"}),
+ ([0 :"Eine kleines Bett.\n", // Der Defaulttext
+ "zwerg": // Die Rasse klein schreiben
+ "Das Bett laedt geradezu zu einem Nickerchen ein.\n"]));
+
+ Und nun ein Detail mit Closure (diese Version ersetzt das Verhalten
+ von AddSpecialDetail).
+
+ int hebel_betaetigt;
+ ...
+ string hebel(string str); // Funktion bekannt machen (Prototyping)
+ ...
+ AddDetail(({"hebel","schalter"}), #'hebel);
+ ...
+ string hebel(string key) {
+ if(hebel_betaetigt)
+ return "Der "+capitalize(key)+" steht auf EIN.\n";
+ else
+ return "Der "+capitalize(key)+" steht auf AUS.\n";
+ }
+
+ Man erhaelt verschiedene Ergebnisse beim Untersuchen, je nachdem
+ ob das Flag hebel_betaetigt gesetzt ist oder nicht.
+
+
+SIEHE AUCH
+==========
+
+ Setzen: AddReadDetail(), AddSmells(), AddSounds(),
+ AddTouchDetail()
+ Loeschen: RemoveDetail(), RemoveReadDetail(), RemoveSmells(),
+ RemoveSounds(), RemoveTouchDetail()
+ Daten: P_DETAILS, P_READ_DETAILS, P_SMELLS, P_SOUNDS,
+ P_TOUCH_DETAILS, P_SPECIAL_DETAILS
+ Veraltet: AddSpecialDetail(), RemoveSpecialDetail(), P_READ_MSG
+ Sonstiges: GetDetail(), break_string()
20.01.2015, Zesstra
-