Added public files

Roughly added all public files. Probably missed some, though.
diff --git a/doc/lfun/MaterialName b/doc/lfun/MaterialName
new file mode 100644
index 0000000..0e338a3
--- /dev/null
+++ b/doc/lfun/MaterialName
@@ -0,0 +1,72 @@
+MaterialName()
+FUNKTION:
+     varargs string MaterialName(string mat, int casus, mixed idinf)
+
+DEFINIERT IN:
+     /p/daemon/materialdb.c (MATERIALDB)
+
+ARGUMENTE:
+     string mat	 - das zu erkennende Material
+     int casus	 - der Fall
+     mixed idinf - Dinge, welche die Faehigkeiten des Erkennens beeinflussen
+		   (siehe "man MaterialList")
+
+BESCHREIBUNG:
+     Diese Funktion sucht unter Beruecksichtigung der Erkennungsbe-
+     schraenkungen des Materials und Faehigkeiten des Spielers den
+     Klarnamen des Materials heraus und gibt den zurueck.
+
+RUECKGABEWERT:
+     string: Materialname oder genereller Name.
+
+BEISPIELE:
+     // der hier mag alle existierenden Juwelen, auch wenn welche ergaenzt
+     // werden sollten
+     // Parameter: 1. ein Juwel, 2. Casus, 3. 100% Erkennung - ob er sie
+     // beim Empfang dann auch zu 100% erkennt, steht hier nicht!
+     string* likeit;
+     likeit=MATERIALDB->GetGroupMembers(MATGROUP_JEWEL);
+     ...
+     write("Der Alte sagt: Ich mag "+
+	   MATERIALDB->MaterialName(likeit[random(sizeof(likeit))], WEN, 100)+
+	   ".\n");
+     ...
+
+     // ein weiser schmied:
+     int i;
+     string *mat, mname, mgroup;
+     mat=m_indices(ob->queryprop(p_material));
+     i=sizeof(mat);
+
+     write("der schmied sagt: "+ob->name(wer)+" besteht aus ...\n");
+     while(i--) {
+      // den namen erkennen/aussprechen:
+      // materialien werden allgemein ganz schlecht erkannt (zu 5%), aber
+      // alles aus metall wird zu +100% gut erkannt ...
+      mname=materialdb->materialname(mat[i], wer,
+	     ({5, ([material_symmetric_recognizability:
+			({matgroup_metal, 100})])}));
+
+      // und nur metalle analysieren ...
+      if(materialdb->materialgroup(([mat[i]:100]),matgroup_metal)>=100) {
+       int j;
+       string *mgr;
+       mgr=materialdb->getmatmembership(mat[i]);
+       j=sizeof(mgr);
+       mgroup=" gehoert zu ";
+       while(j--) {
+        mgroup+=materialdb->groupname(mgr[j]);
+        if(j>0) mgroup+=", ";
+       }
+      } else mgroup=" kenne ich nicht";
+      printf("%-12.12s: %s\n",mname, mgroup);
+     }
+
+SIEHE AUCH:
+     Konzepte:	  material, materialerkennung
+     Grundlegend: P_MATERIAL, /sys/thing/material.h
+     Master:	  AddMaterial(), ConvMaterialList(), MaterialGroup(),
+		  GroupName()
+		  GetGroupMembers(), GetMatMembership()
+
+7. Mai 2004 Gloinson
\ No newline at end of file