Added public files

Roughly added all public files. Probably missed some, though.
diff --git a/doc/wiz/materialerkennung b/doc/wiz/materialerkennung
new file mode 100644
index 0000000..976106f
--- /dev/null
+++ b/doc/wiz/materialerkennung
@@ -0,0 +1,79 @@
+Materialerkennung
+=================
+
+     Bei MaterialName(mat,casus,idinf) und MaterialList(casus,idinf) id der 
+     Parameter <idinf> als Angabe dafuer gedacht, wie gut Materialien 
+     erkannt werden sollen. Es sind folgende Arten von Angaben moeglich:
+
+      - Ein Array
+	Die einzelnen Arrayelemente werden nach untenstehenden Regeln 
+	behandelt und deren Ergebnisse addiert.
+      - Ein Objekt
+	In diesem Fall wird
+	ob->QueryProp(P_MATERIAL_KNOWLEDGE)
+	nach untenstehenden Regeln behandelt.
+	Diese Property ist fuer rassenabhaengige Faehigkeiten gedacht.
+      - Eine Zahl
+	In diesem Fall wird der Wert direkt als Faehigkeit angesehen, das 
+	Material erkennen zu koennen.
+      - Eine Closure
+	In diesem Fall wird der Returnwert von
+	funcall(closure,material,gruppen_in_denen_diese_material_ist)
+	genommen.
+      - Ein Mapping
+	In einem Mapping sind 3 Arten von Eintraegen moeglich:
+	- Ist im Mapping unter <mat> eine Zahl eingetragen, wird diese 
+	  genommen und die weiteren Eintraege nicht weiter ausgewertet.
+        - Die Werte von allen Gruppen im Mapping, zu denen das Material
+          gehoert, werden addiert.
+        - Falls das Mapping einen Eintrag MATERIAL_SYMMETRIC_RECOGNIZABILITY 
+          hat, der ein Array von der 	  Form
+		({gruppe1, wert1, gruppe2, wert2, ...})
+	  ist, wird fuer jede dieser Gruppen der zugehoerige Wert 
+	  addiert, falls das Material in der Gruppe ist, und sonst 
+	  abgezogen.
+          Im Beispiel: ({MATGROUP_BIO: 5}) gibt einen Erkennbonus von 5% auf 
+          alle biologischen Materialien, aber einen Malus von -5% auf alle 
+          nichtbiologischen Materialien.
+
+     Schwer erkennbare Materialien haben in der Materialdatenbank eine 
+     zusaetzliche Angabe der Form
+	({mat1, wert2, mat3, wert4, mat5, ... wert(n-1), mat(n)})
+     wobei mat(n) das Material selber ist.
+
+     Das erkannte Material ist das Material mat(k), bei dem die
+	wert(k-1) <= Erkennungsfaehigkeit < wert(k+1)
+     ist. Bei Erkennungsfaehigkeit 100 oder mehr wird das Material auf jeden 
+     Fall erkannt.
+
+     Der Wert fuer Durchschnittsspieler ist 0.
+
+BEISPIEL:
+     Angenommen, bei Platin waere die Angabe in der Datenbank
+	({Metall, -20, Silber, 20, Platin})
+     Ein Spieler ohne besondere Erkennungsfaehigkeiten (also Wert 0) wuerde 
+     also Platin fuer Silber halten, jemand, der von Metallen keine Ahnung 
+     hat (beispielsweise mit der Angabe ([MATGROUP_METAL:-25]) in 
+     P_MATERIAL_KNOWLEDGE) sieht nur noch, dass es ein Metall ist und jemand 
+     mit ueberdurchschnittlicher Faehigkeit erkennt Platin als das, was es 
+     ist.
+
+     P_MATERIAL_KNOWLEDGE koennte z.B. fuer Rassen wie folgt gesetzt werden:
+	Elf:   ([MATGROUP_WOOD:30])
+	Zwerg: ([MATGROUP_STONE:30])
+     oder etwas komplexer
+	Zwerg: ([MATGROUP_STONE:30,
+		 MATERIAL_SYMMETRIC_RECOGNIZABILITY: ({MATGROUP_BIO: -5})])
+
+SIEHE AUCH:
+     Konzepte:	  material
+     Grundlegend: P_MATERIAL, /sys/thing/material.h
+     Methoden:    QueryMaterial(), QueryMaterialGroup(), MaterialList(),
+     Listen:	  AllMaterials(), AllGroups(), Dump()
+		  materialliste, materialgruppen
+     Master:	  AddMaterial(), ConvMaterialList(), MaterialGroup(),
+		  GroupName(), MaterialName(),
+		  GetGroupMembers(), GetMatMembership()
+     Sonstiges:	  P_MATERIAL_KNOWLEDGE
+
+7. Mai 2004 Gloinson
\ No newline at end of file