]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/lib/log.qh
Merge branch 'master' into Mario/hagar_notfixed
[xonotic/xonotic-data.pk3dir.git] / qcsrc / lib / log.qh
index a5b46926bcdf4109307f149339b2a166936c80e4..02a25cdad0d0679d577c00191a9835e4750f5084 100644 (file)
@@ -1,7 +1,10 @@
-#ifndef LOG_H
-#define LOG_H
+#pragma once
+
+#include "progname.qh"
 
 #define assert(expr, ...) _assert(LOG_SEVERE, expr, __VA_ARGS__)
+#define devassert(...) MACRO_BEGIN if (autocvar_developer) assert(__VA_ARGS__); MACRO_END
+
 #define assert_once(expr, ...) \
        MACRO_BEGIN { \
                static bool __once; \
                        __once = true; \
                } \
        } MACRO_END
+#define devassert_once(...) MACRO_BEGIN if (autocvar_developer) assert_once(__VA_ARGS__); MACRO_END
+
 #define demand(expr, ...) _assert(LOG_FATAL, expr, __VA_ARGS__)
+#define devdemand(...) MACRO_BEGIN if (autocvar_developer) demand(__VA_ARGS__); MACRO_END
+
 #define _assert(f, expr, then) \
        MACRO_BEGIN \
        { \
@@ -31,9 +38,11 @@ string(string...) strcat0n = #53;
 string(string...) strcat0n = #115;
 #endif
 
+#define __SOURCELOC__ (sprintf("^9"__FILE__"^7"  ":"  "^9%s^7"  ":"  "^9"STR(__LINE__)"^7", __FUNC__))
+
 #define _LOG(f, level, s) \
        MACRO_BEGIN { \
-               f(sprintf("^9[::"level "^9] ["__FILE__ "^7:^9%s^7:^9%d] \n^7%s\n", __FUNC__, __LINE__, s)); \
+               f(sprintf("^9[::^7" PROGNAME "^9::" level "^9] [%s^9]\n^7%s\n", __SOURCELOC__, s)); \
        } MACRO_END
 
 #define  LOG_FATAL(...) _LOG_FATAL(strcat0n(__VA_ARGS__))
@@ -103,5 +112,3 @@ noref bool autocvar_prvm_backtraceforwarnings;
                bt_cvar_set("developer", ftos(dev)); \
                bt_cvar_set("prvm_backtraceforwarnings", ftos(war)); \
        } MACRO_END
-
-#endif