Debugmeldungen per debug_message ausgeben.

Nicht mehr per write/printf ausgeben, was ohne this_player()
ins Driverlog schreibt, sondern vernuenftig mit der richtigen
efun arbeiten.
diff --git a/secure/master.c b/secure/master.c
index 22d4675..a677902 100644
--- a/secure/master.c
+++ b/secure/master.c
@@ -30,7 +30,6 @@
 //for limited, set_limit(), etc. Abs. Pfad noetig, da noch kein Include-Hook
 #include "/sys/rtlimits.h"
 #include "/sys/debug_info.h"
-#include "/sys/debug_message.h"
 #include "/sys/configuration.h"
 #include "/sys/regexp.h"
 
@@ -220,11 +219,13 @@
   ReloadInsecureFile();
 
   if (eflag) {
-    write("-e angegeben -> Preloading unterdrueckt ...\n");
+    debug_message(
+        "epilog(): -e angegeben -> Preloading unterdrueckt ...\n",
+        DMSG_STAMP);
     return 0;
   }
 
-  printf("Preloading gestartet: %s\n\n",ctime(time()));
+  debug_message("Preloading gestartet.\n", DMSG_STAMP);
 
   //Files fuers Preloading und Regionen holen
   files=explode_files("/std/preload_file") + explode_files("/d/preload_file");
@@ -232,9 +233,7 @@
 
   for (i=sizeof(domains);i--;)
     files+=explode_files("/d/"+domains[i]+"/preload_file");
-  
-  write("\n");
- 
+
   return files;
 }
 
@@ -250,13 +249,12 @@
   // Kein Besitzer -> Meldung ausgeben, fertig
   if (!(name=creator_file(file)))
   {
-    printf("Kein Besitzer gefunden fuer Datei %s.\n",file);
+    debug_message(
+        sprintf("preload: Kein Besitzer gefunden fuer Datei %s.\n",file),
+        DMSG_STDOUT|DMSG_STDERR);
     return;
   }
 
-  // Datei und Besitzer ausgeben
-  printf("%-50s%-15s",file,name);
-
   efun::configure_object(this_object(), OC_EUID, name);
 
   // Dann mal laden .. dabei Zeit messen
@@ -269,11 +267,14 @@
   err = catch(limited(#'load_object,({5000000}),file));
 
   if (err != 0)
-    printf("\nFehler beim Laden von %s:\n%s\n",file,err);
+    debug_message(sprintf("\nFehler beim Laden von %s:\n%s\n",file,err),
+                  DMSG_STDOUT|DMSG_STDERR);
   else
   {
+    // Datei, Besitzer und Ladezeit ausgeben
     zeit=apply(#'+,rusage()[0..1])-zeit;
-    printf("(%2d.%:02d s)\n",zeit/1000,zeit%1000);
+    debug_message(sprintf("%-50s%-15s (%2d.%:02d s)\n",
+          file, name, zeit/1000,zeit%1000));
   }
 
   // Noch EUID zuruecksetzen
@@ -295,23 +296,21 @@
     --loading_simul_efuns;
     return ({SIMUL_EFUN_FILE});
   }
-  
-  write("Failed to load simul efun " + SIMUL_EFUN_FILE + "\n");
+
   debug_message("Failed to load simul efun " + SIMUL_EFUN_FILE +
-      " " + err, DMSG_STDOUT | DMSG_LOGFILE);
+      " " + err, DMSG_STDOUT | DMSG_LOGFILE | DMSG_STAMP);
 
   if (!(err=catch(SPARE_SIMUL_EFUN_FILE->start_simul_efun())) ) {
     --loading_simul_efuns;
     return ({SPARE_SIMUL_EFUN_FILE});
   }
-  
-  write("Failed to load spare simul efun" + SPARE_SIMUL_EFUN_FILE + "\n");
-  debug_message("Failed to load spare simul efun " + SPARE_SIMUL_EFUN_FILE +
-      " " + err, DMSG_STDOUT | DMSG_LOGFILE);
 
- 
+  debug_message("Failed to load spare simul efun " + SPARE_SIMUL_EFUN_FILE +
+      " " + err, DMSG_STDOUT | DMSG_LOGFILE | DMSG_STAMP);
+
+
   efun::shutdown();
-  
+
   return 0;
 }
 
diff --git a/secure/master.h b/secure/master.h
index 51f579b..242a640 100644
--- a/secure/master.h
+++ b/secure/master.h
@@ -23,7 +23,11 @@
 #define P_DEFAULT_NOTIFY_FAIL "default_notify_fail"
 #endif
 
+#include "/sys/functionlist.h"
+#include "/sys/debug_message.h"
+
 #include "/secure/config.h"
+#include "/secure/wizlevels.h"
 
 #include "/sys/userinfo.h"
 #include "/sys/player/base.h"
@@ -32,10 +36,6 @@
 #include "/sys/wizlist.h"
 #include "/sys/daemon.h"
 #include "/sys/mail.h"
-#include "/sys/driver_hook.h"
-#include "/sys/functionlist.h"
-
-#include "/secure/wizlevels.h"
 
 //#define DEBUG(x)
 #ifndef DEBUG
diff --git a/secure/master/misc.c b/secure/master/misc.c
index 8cdbb8c..9bb274f 100644
--- a/secure/master/misc.c
+++ b/secure/master/misc.c
@@ -61,7 +61,9 @@
     if (!stringp(exploded[i]) || exploded[i]=="" || exploded[i][0]=='#')
       exploded[i]=0;
   exploded-=({0});
-  printf("%-30s: %3d Objekt%s\n",file,i=sizeof(exploded),(i==1?"":"e"));
+  debug_message(
+      sprintf("%-30s: %3d Objekt%s\n",file,i=sizeof(exploded),(i==1?"":"e")),
+      DMSG_STAMP);
   return exploded;
 }
 
diff --git a/secure/master/players_deny.c b/secure/master/players_deny.c
index 6471243..20cf7cb 100644
--- a/secure/master/players_deny.c
+++ b/secure/master/players_deny.c
@@ -88,7 +88,7 @@
   if ( extern_call() && call_sefun("secure_level") < ARCH_LVL )
     return;
 
-  write("Loading PLDenylists\n");
+  debug_message("Loading PLDenylists\n", DMSG_STAMP);
 
   if (stringp(tmp=read_file(WHITELIST))) {
     // savefile exists
diff --git a/secure/materialdb.c b/secure/materialdb.c
index c6afafd..11d3554 100644
--- a/secure/materialdb.c
+++ b/secure/materialdb.c
@@ -19,6 +19,8 @@
 #pragma no_shadow
 #pragma pedantic
 
+#include <debug_message.h>
+
 // Die Propertydefinition reinholen
 #include <language.h>
 #include <thing/description.h>
@@ -27,6 +29,7 @@
 #include <thing/material.h>
 #include <player/description.h>
 #include <rtlimits.h>
+#include <living/comm.h>
 
 // Basisverzeichnis der Materialien
 #define MAT_DIR "/doc/materials"
@@ -47,8 +50,12 @@
 #define P_MEMBERS "members"
 #define P_MG_FRACTIONS "mg_fractions"
 
-#define LOG_ERROR(x) if(find_player("raschaua")&&find_player("raschaua")->QueryProp("mdb-debug"))tell_object(find_player("raschaua"),"MDB-Error:"+x)
-#define LOG_WARN(x) if(find_player("raschaua")&&find_player("raschaua")->QueryProp("mdb-debug"))tell_object(find_player("raschaua"),"MDB-Warn:"+x)
+#define LOG_ERROR(x) if (this_player()) this_player()->ReceiveMsg(\
+    x, MT_DEBUG|MSG_DONT_IGNORE, MA_UNKNOWN, "MDB-Error: ",\
+    "MatDB")
+#define LOG_WARN(x) if (this_player()) this_player()->ReceiveMsg(\
+    x, MT_DEBUG|MSG_DONT_IGNORE, MA_UNKNOWN, "MDB-Warn: ",\
+    "MatDB")
 
 // Prototypes:
 // (Liefert den Anteil der Materialgruppe grp an mats)
@@ -467,15 +474,23 @@
     if (!stringp(fn) || !sizeof(fn))
       fn = DOC_DIR("materialliste");
     if (file_size(fn) >= 0) {
-      printf("Datei %s existiert bereits, loesche sie\n", fn);
+      debug_message(
+          sprintf("Datei %s existiert bereits, loesche sie\n", fn),
+          DMSG_STAMP);
       rm(fn);
     }
-    if (write_file(fn, "Material Liste\n==============\n\n")) {
+    if (write_file(fn, "Material Liste\n==============\n\n"))
+    {
       dump_material(fn);
       write_file(fn, gen_doc_foot("materialgruppen"));
-      printf("Materialliste erfolgreich in Datei %s geschrieben\n", fn);
-    } else
-      printf("Konnte Liste nicht in Datei %s schreiben, Abbruch\n", fn);
+      debug_message(
+        sprintf("Materialliste erfolgreich in Datei %s geschrieben\n", fn),
+        DMSG_STAMP);
+    }
+    else
+      debug_message(
+          sprintf("Konnte Liste nicht in Datei %s schreiben, Abbruch\n", fn),
+          DMSG_STAMP);
   }
 }
 
@@ -490,15 +505,23 @@
     if (!stringp(fn) || !sizeof(fn))
       fn = DOC_DIR("materialgruppen");
     if (file_size(fn) >= 0) {
-      printf("Datei %s existiert bereits, loesche sie\n", fn);
+      debug_message(
+          sprintf("Datei %s existiert bereits, loesche sie\n", fn),
+          DMSG_STAMP);
       rm(fn);
     }
-    if (write_file(fn, "Materialgruppen\n===============\n")) {
+    if (write_file(fn, "Materialgruppen\n===============\n"))
+    {
       map(sort_array(m_indices(material_groups), #'>), #'dump_group, fn);
       write_file(fn, gen_doc_foot("materialliste"));
-      printf("Materialliste erfolgreich in Datei %s geschrieben\n", fn);
-    } else
-      printf("Konnte Liste nicht in Datei %s schreiben, Abbruch\n", fn);
+      debug_message(
+        sprintf("Materialliste erfolgreich in Datei %s geschrieben\n", fn),
+        DMSG_STAMP);
+    }
+    else
+      debug_message(
+          sprintf("Konnte Liste nicht in Datei %s schreiben, Abbruch\n", fn),
+          DMSG_STAMP);
   }
 }
 
@@ -513,14 +536,21 @@
     string txt;
     if (!stringp(fn) || !sizeof(fn))
       fn = HEADERFILE;
-    if (file_size(fn) >= 0) {
-      printf("Datei %s existiert bereits, loesche sie\n", fn);
+    if (file_size(fn) >= 0)
+    {
+      debug_message(
+          sprintf("Datei %s existiert bereits, loesche sie\n", fn),
+          DMSG_STAMP);
       rm(fn);
     }
     if (dump_material_h(fn))
-      printf("Headerdatei erfolgreich in %s geschrieben\n", fn);
+      debug_message(
+          sprintf("Headerdatei erfolgreich in %s geschrieben\n", fn),
+          DMSG_STAMP);
     else
-      printf("Konnte Headerdatei nicht in Datei %s schreiben, Abbruch\n", fn);
+      debug_message(
+        sprintf("Konnte Headerdatei nicht in Datei %s schreiben, Abbruch\n",
+                fn), DMSG_STAMP);
   }
 }