Subversion Repositories Games.Carmageddon

Rev

Rev 1 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. #include "harness/trace.h"
  2.  
  3. #include <stdarg.h>
  4. #include <stddef.h>
  5. #include <stdio.h>
  6. #include <sys/types.h>
  7.  
  8. int harness_debug_level = 4;
  9.  
  10. void debug_printf(const char* fmt, const char* fn, const char* fmt2, ...) {
  11.     va_list ap;
  12.  
  13.     printf(fmt, fn);
  14.  
  15.     va_start(ap, fmt2);
  16.     vprintf(fmt2, ap);
  17.     va_end(ap);
  18.  
  19.     puts("\033[0m");
  20. }
  21.  
  22. void panic_printf(const char* fmt, const char* fn, const char* fmt2, ...) {
  23.     va_list ap;
  24.  
  25.     FILE* fp = fopen("dethrace.log", "w");
  26.  
  27.     puts("\033[0;31m");
  28.     printf(fmt, fn);
  29.  
  30.     if (fp != NULL) {
  31.         fprintf(fp, fmt, fn);
  32.     }
  33.  
  34.     va_start(ap, fmt2);
  35.     vprintf(fmt2, ap);
  36.     if (fp != NULL) {
  37.         vfprintf(fp, fmt2, ap);
  38.     }
  39.     va_end(ap);
  40.     if (fp != NULL) {
  41.         fclose(fp);
  42.     }
  43.     puts("\033[0m");
  44. }
  45.  
  46. void debug_print_vector3(const char* fmt, const char* fn, char* msg, br_vector3* v) {
  47.     printf(fmt, fn);
  48.     printf("%s %f, %f, %f\n", msg, v->v[0], v->v[1], v->v[2]);
  49.     puts("\033[0m");
  50. }
  51.  
  52. void debug_print_matrix34(const char* fmt, const char* fn, char* msg, br_matrix34* m) {
  53.     printf(fmt, fn);
  54.     printf("matrix34 \"%s\"\n", msg);
  55.     for (int i = 0; i < 4; i++) {
  56.         printf("  %f, %f, %f\n", m->m[i][0], m->m[i][1], m->m[i][2]);
  57.     }
  58.     puts("\033[0m");
  59. }
  60.  
  61. void debug_print_matrix4(const char* fmt, const char* fn, char* msg, br_matrix4* m) {
  62.     printf(fmt, fn);
  63.     printf("matrix34 \"%s\"\n", msg);
  64.     for (int i = 0; i < 4; i++) {
  65.         printf("  %f, %f, %f, %f\n", m->m[i][0], m->m[i][1], m->m[i][2], m->m[i][3]);
  66.     }
  67.     puts("\033[0m");
  68. }
  69.  
  70. // int count_open_fds(void) {
  71. //     DIR* dp = opendir("/dev/fd/");
  72. //     struct dirent* de;
  73. //     int count = -3; // '.', '..', dp
  74.  
  75. //     if (dp == NULL)
  76. //         return -1;
  77.  
  78. //     while ((de = readdir(dp)) != NULL)
  79. //         count++;
  80.  
  81. //     (void)closedir(dp);
  82.  
  83. //     return count;
  84. // }
  85.