22 #if defined(ENABLE_NETWORK) 
   24 SOCKET _debug_socket = INVALID_SOCKET;
 
   29 int _debug_driver_level;
 
   32 int _debug_misc_level;
 
   34 int _debug_sprite_level;
 
   35 int _debug_oldloader_level;
 
   37 int _debug_yapf_level;
 
   38 int _debug_freetype_level;
 
   39 int _debug_script_level;
 
   41 int _debug_gamelog_level;
 
   42 int _debug_desync_level;
 
   43 int _debug_console_level;
 
   45 int _debug_random_level;
 
   55 #define DEBUG_LEVEL(x) { #x, &_debug_##x##_level } 
   63   DEBUG_LEVEL(oldloader),
 
   66   DEBUG_LEVEL(freetype),
 
   89       buf = 
strecpy(buf, 
"List of debug facility names:\n", last);
 
   94     buf = 
strecpy(buf, i->name, last);
 
   95     length += strlen(i->name);
 
   98     buf = 
strecpy(buf, 
"\n\n", last);
 
  103 #if !defined(NO_DEBUG_MESSAGES) 
  112 #if defined(ENABLE_NETWORK) 
  113   if (_debug_socket != INVALID_SOCKET) {
 
  114     char buf2[1024 + 32];
 
  119     send(_debug_socket, buf2, (
int)strlen(buf2), 0);
 
  123   if (strcmp(dbg, 
"desync") == 0) {
 
  125     if (f == NULL) 
return;
 
  130   } 
else if (strcmp(dbg, 
"random") == 0) {
 
  132     if (f == NULL) 
return;
 
  134     fprintf(f, 
"%s\n", buf);
 
  142 #elif defined(WIN32) || defined(WIN64) 
  143     _fputts(
OTTD2FS(buffer, 
true), stderr);
 
  145     fputs(buffer, stderr);
 
  147 #ifdef ENABLE_NETWORK 
  160 void CDECL 
debug(
const char *dbg, 
const char *format, ...)
 
  165   va_start(va, format);
 
  186   if (*s >= 
'0' && *s <= 
'9') {
 
  189     v = strtoul(s, &end, 0);
 
  192     for (i = debug_level; i != 
endof(debug_level); ++i) *i->level = v;
 
  201     while (*s == 
' ' || *s == 
',' || *s == 
'\t') s++;
 
  202     if (*s == 
'\0') 
break;
 
  205     while (*s >= 
'a' && *s <= 
'z') s++;
 
  209     for (i = debug_level; i != 
endof(debug_level); ++i) {
 
  210       if (s == t + strlen(i->name) && strncmp(t, i->name, s - t) == 0) {
 
  217     v = strtoul(s, &end, 0);
 
  222       ShowInfoF(
"Unknown debug level '%.*s'", (
int)(s - t), t);
 
  236   static char dbgstr[150];
 
  239   memset(dbgstr, 0, 
sizeof(dbgstr));
 
  243   for (i++; i != 
endof(debug_level); i++) {
 
  258   static char _log_prefix[24];
 
  260     time_t cur_time = time(NULL);
 
  261     strftime(_log_prefix, 
sizeof(_log_prefix), 
"[%Y-%m-%d %H:%M:%S] ", localtime(&cur_time));