Doku-Update fuer Materialien und Material-DB

Change-Id: I97ab95b14c834ee5b0e68295a25471a0bf4d8c96
diff --git a/doc/lfun/AddMaterial b/doc/lfun/AddMaterial
deleted file mode 100644
index 7f90d82..0000000
--- a/doc/lfun/AddMaterial
+++ /dev/null
@@ -1,100 +0,0 @@
-
-AddMaterial()
-*************
-
-
-FUNKTION
-========
-
-   private static varargs void AddMaterial(string mat, int gender,
-                                           mixed names, mixed groups,
-                                           mixed dif) {
-
-
-DEFINIERT IN
-============
-
-   /p/daemon/materialdb.c (MATERIALDB)
-
-
-ARGUMENTE
-=========
-
-   string mat
-     Materialstring, definiert in <thing/material.h>
-
-   int gender
-     Geschlecht des einzutragenden Materials
-
-   mixed names
-     Name des Materials:
-     - "<Nominativ>" oder (meist nur Nom. und Gen. noetig)
-     - ({"<Nominativ>","<Genitiv>","<Dativ>","<Akkusativ>"})
-
-   mixed groups
-     Eingruppierung des Materials:
-     - MATGROUP_XXX oder ({MATGROUP_XXX,...})
-     - ([MAT_GROUP_XXX:xx,MATGROUP_YYY:yy,...])
-
-   mixed dif
-     Schwierigkeiten bei der Erkennbarkeit:
-     - int x oder ({MINMAT,x1,MATPOS1,x2,MATPOS2 ...})
-     - xn: Erkennbarkeitsschwierigkeit (100=100%) -100..100
-     - MINMAT: Erkennung zumindest als _dieses_ Material
-               moeglich
-     - MATPOSn: moegliches Material, erkennbar, wenn
-                Erkennbarkeitfaehigkeit>=xn
-                -> das letzte MATPOS muss natuerlich
-                   string mat entsprechen
-
-
-BESCHREIBUNG
-============
-
-   Es wird in die Materialiendatenbank eine neues Material aufgenommen,
-   die Stringkonstante dafuer wird vorher in <thing/material.h> fest-
-   gelegt. Falls der Genitiv nicht Nominativ+"s" entspricht (z.B. "Seide"),
-   sollte dieser explizit angegeben werden.
-   Nach Neuladen der Datenbank ist dieses Material auch per MaterialName(),
-   'erkennbar' (siehe mixed dif, siehe Beispiel) bzw. seinen einzelnen
-   Gruppen zuordnbar.
-
-
-BEISPIELE
-=========
-
-   AddMaterial(MAT_NITROGLYCERINE,NEUTER,"Nitroglycerin",
-               ({MATGROUP_EXPLOSIVE,MATGROUP_FLUID}),
-               ({MAT_OIL,25,MAT_MISC_EXPLOSIVE,50,MAT_NITROGLYCERINE}));
-
-   Damit wird das Material Nytroglycerin aufgenommen, ein explosiver
-   (damit entflammbarer) sowie fluessiger Stoff. Liegt die Erkennungs-
-   faehigkeit (MaterialName()) unter 25, wird es nur als Oel erkannt,
-   liegt sie unter 50, wird es zumindest als explosives Material erkannt,
-   liegt sie ueber 49, so wird es korrekt erkannt (wie schade :) ).
-
-
-BEMERKUNGEN
-===========
-
-   Wird in der create() der Datenbank aufgerufen. Zu beachten:
-   - vor Eintrag eines _neuen_ Materials die Datenbank durchsuchen!
-   - bei den Materialiengruppen die automatischen Abhaengigkeiten in
-     AddMaterial() durchsehen!
-   - bitte Datenbank neu laden
-
-
-SIEHE AUCH
-==========
-
-   Konzepte:    material, materialerkennung
-   Grundlegend: P_MATERIAL, /sys/thing/material.h
-   Methoden:    QueryMaterial(), QueryMaterialGroup(), MaterialList(),
-   Listen:      AllMaterials(), AllGroups(), Dump()
-                materialliste, materialgruppen
-   Master:      ConvMaterialList(), MaterialGroup(),
-                GroupName(), MaterialName(),
-                GetGroupMembers(), GetMatMembership()
-   Sonstiges:   P_MATERIAL_KNOWLEDGE
-
-7. Mai 2004 Gloinson
diff --git a/doc/materials/.synonym b/doc/materials/.synonym
new file mode 100644
index 0000000..b2118e1
--- /dev/null
+++ b/doc/materials/.synonym
@@ -0,0 +1,2 @@
+materialdb MatDB
+neues_material_howto MatDB
diff --git a/doc/materials/materials/MAT_BAMBOO b/doc/materials/materials/MAT_BAMBOO
new file mode 100644
index 0000000..8c73064
--- /dev/null
+++ b/doc/materials/materials/MAT_BAMBOO
@@ -0,0 +1,23 @@
+Materialid:
+MAT_BAMBOO               "bamboo"
+
+Name:
+"Bambus" "Bambus" "Bambus" "Bambus"
+
+Geschlecht:
+M
+
+Beschreibung:
+fest, biegsam
+
+Erkennbarkeit:
+MAT_MISC_WOOD:20
+MAT_BAMBOO
+
+Gruppenzugehoerigkeit:
+MATGROUP_DEAD:100
+MATGROUP_HERBAL:100
+MATGROUP_BIO:100
+MATGROUP_INFLAMMABLE:100
+MATGROUP_SOLID:100
+MATGROUP_WOOD:100
diff --git a/doc/sphinx/lfun/AddMaterial.rst b/doc/sphinx/lfun/AddMaterial.rst
deleted file mode 100644
index 211c51d..0000000
--- a/doc/sphinx/lfun/AddMaterial.rst
+++ /dev/null
@@ -1,100 +0,0 @@
-AddMaterial()
-=============
-
-FUNKTION
---------
-::
-
-     private static varargs void AddMaterial(string mat, int gender,
-                                             mixed names, mixed groups,
-                                             mixed dif) {
-
-DEFINIERT IN
-------------
-::
-
-     /p/daemon/materialdb.c (MATERIALDB)
-
-ARGUMENTE
----------
-::
-
-     string mat
-       Materialstring, definiert in <thing/material.h>
-
-     int gender
-       Geschlecht des einzutragenden Materials
-
-     mixed names
-       Name des Materials:
-       - "<Nominativ>" oder (meist nur Nom. und Gen. noetig)
-       - ({"<Nominativ>","<Genitiv>","<Dativ>","<Akkusativ>"})
-
-     mixed groups
-       Eingruppierung des Materials:
-       - MATGROUP_XXX oder ({MATGROUP_XXX,...})
-       - ([MAT_GROUP_XXX:xx,MATGROUP_YYY:yy,...])
-
-     mixed dif
-       Schwierigkeiten bei der Erkennbarkeit:
-       - int x oder ({MINMAT,x1,MATPOS1,x2,MATPOS2 ...})
-       - xn: Erkennbarkeitsschwierigkeit (100=100%) -100..100
-       - MINMAT: Erkennung zumindest als _dieses_ Material
-                 moeglich
-       - MATPOSn: moegliches Material, erkennbar, wenn
-                  Erkennbarkeitfaehigkeit>=xn
-                  -> das letzte MATPOS muss natuerlich
-                     string mat entsprechen
-
-BESCHREIBUNG
-------------
-::
-
-     Es wird in die Materialiendatenbank eine neues Material aufgenommen,
-     die Stringkonstante dafuer wird vorher in <thing/material.h> fest-
-     gelegt. Falls der Genitiv nicht Nominativ+"s" entspricht (z.B. "Seide"),
-     sollte dieser explizit angegeben werden.
-     Nach Neuladen der Datenbank ist dieses Material auch per MaterialName(),
-     'erkennbar' (siehe mixed dif, siehe Beispiel) bzw. seinen einzelnen
-     Gruppen zuordnbar.
-
-BEISPIELE
----------
-::
-
-     AddMaterial(MAT_NITROGLYCERINE,NEUTER,"Nitroglycerin",
-                 ({MATGROUP_EXPLOSIVE,MATGROUP_FLUID}),
-                 ({MAT_OIL,25,MAT_MISC_EXPLOSIVE,50,MAT_NITROGLYCERINE}));
-
-     Damit wird das Material Nytroglycerin aufgenommen, ein explosiver
-     (damit entflammbarer) sowie fluessiger Stoff. Liegt die Erkennungs-
-     faehigkeit (MaterialName()) unter 25, wird es nur als Oel erkannt,
-     liegt sie unter 50, wird es zumindest als explosives Material erkannt,
-     liegt sie ueber 49, so wird es korrekt erkannt (wie schade :) ).
-
-BEMERKUNGEN
------------
-::
-
-     Wird in der create() der Datenbank aufgerufen. Zu beachten:
-     - vor Eintrag eines _neuen_ Materials die Datenbank durchsuchen!
-     - bei den Materialiengruppen die automatischen Abhaengigkeiten in
-       AddMaterial() durchsehen!
-     - bitte Datenbank neu laden
-
-SIEHE AUCH
-----------
-::
-
-     Konzepte:	  material, materialerkennung
-     Grundlegend: P_MATERIAL, /sys/thing/material.h
-     Methoden:    QueryMaterial(), QueryMaterialGroup(), MaterialList(),
-     Listen:	  AllMaterials(), AllGroups(), Dump()
-		  materialliste, materialgruppen
-     Master:	  ConvMaterialList(), MaterialGroup(),
-		  GroupName(), MaterialName(),
-		  GetGroupMembers(), GetMatMembership()
-     Sonstiges:	  P_MATERIAL_KNOWLEDGE
-
-7. Mai 2004 Gloinson
-
diff --git a/doc/wiz/material b/doc/wiz/material
index 7bafdb8..45aa167 100644
--- a/doc/wiz/material
+++ b/doc/wiz/material
@@ -86,13 +86,12 @@
 
 SIEHE AUCH:
      Konzepte:    materialerkennung
-     Grundlegend: P_MATERIAL, /sys/thing/material.h
+     Grundlegend: P_MATERIAL, MatDB, /sys/materials.h
      Methoden:    QueryMaterial(), QueryMaterialGroup(), MaterialList(),
      Listen:      AllMaterials(), AllGroups(), Dump()
                   materialliste, materialgruppen
-     Master:      AddMaterial(), ConvMaterialList(), MaterialGroup(),
-                  GroupName(), MaterialName(),
-                  GetGroupMembers(), GetMatMembership()
+     Master:      ConvMaterialList(), MaterialGroup(), GroupName(),
+                  MaterialName(), GetGroupMembers(), GetMatMembership()
      Sonstiges:   P_MATERIAL_KNOWLEDGE
 
 LETZTE AENDERUNG:
diff --git a/doc/wiz/materialerkennung b/doc/wiz/materialerkennung
index 976106f..9ed4761 100644
--- a/doc/wiz/materialerkennung
+++ b/doc/wiz/materialerkennung
@@ -67,13 +67,12 @@
 
 SIEHE AUCH:
      Konzepte:	  material
-     Grundlegend: P_MATERIAL, /sys/thing/material.h
+     Grundlegend: P_MATERIAL, MatDB, /sys/materials.h
      Methoden:    QueryMaterial(), QueryMaterialGroup(), MaterialList(),
-     Listen:	  AllMaterials(), AllGroups(), Dump()
-		  materialliste, materialgruppen
-     Master:	  AddMaterial(), ConvMaterialList(), MaterialGroup(),
-		  GroupName(), MaterialName(),
-		  GetGroupMembers(), GetMatMembership()
+     Listen:      AllMaterials(), AllGroups(), Dump()
+                  materialliste, materialgruppen
+     Master:	    ConvMaterialList(), MaterialGroup(), GroupName(), 
+                  MaterialName(), GetGroupMembers(), GetMatMembership()
      Sonstiges:	  P_MATERIAL_KNOWLEDGE
 
-7. Mai 2004 Gloinson
\ No newline at end of file
+7. Mai 2004 Gloinson
diff --git a/doc/wiz/materialgruppen b/doc/wiz/materialgruppen
index 5201bae..44cc5d5 100644
--- a/doc/wiz/materialgruppen
+++ b/doc/wiz/materialgruppen
@@ -1,7 +1,7 @@
 Materialgruppen
 ===============
 
-  Die ebenfalls kommentierte Liste unter /sys/thing/material.h ist immer
+  Die ebenfalls kommentierte Liste unter /sys/materials.h ist immer
   aktueller als diese hier.
 
   MATGROUP_SOLID          feste Dinge
@@ -41,13 +41,11 @@
 
 SIEHE AUCH:
      Konzepte:	  material, materialerkennung
-     Grundlegend: P_MATERIAL, /sys/thing/material.h
-     Methoden:    QueryMaterial(), QueryMaterialGroup(), MaterialList(),
-     Listen:	  AllMaterials(), AllGroups(), Dump()
-		  materialliste
-     Master:	  AddMaterial(), ConvMaterialList(), MaterialGroup(),
-		  GroupName(), MaterialName(),
-		  GetGroupMembers(), GetMatMembership()
+     Grundlegend: P_MATERIAL, MatDB, /sys/materials.h
+     Methoden:    QueryMaterial(), QueryMaterialGroup(), MaterialList()
+     Listen:      AllMaterials(), AllGroups(), Dump(), materialliste
+     Master:      ConvMaterialList(), MaterialGroup(), GroupName(),
+                  MaterialName(), GetGroupMembers(), GetMatMembership()
      Sonstiges:	  P_MATERIAL_KNOWLEDGE
 
-7. Mai 2004 Gloinson
\ No newline at end of file
+7. Mai 2004 Gloinson