7 #define VG_LOG_MCSTR(S) VG_LOG_MCSTR2(S)
8 #define VG_LOG_MCSTR2(S) #S
9 #define VG_LOG_WHERE "@" __FILE__ ":" VG_LOG_MCSTR(__LINE__)\
12 #define vg_success( ... ) \
13 vg_logx(stdout,VG_LOG_WHERE,"success",KGRN,__VA_ARGS__)
14 #define vg_info( ... ) \
15 vg_logx(stdout,VG_LOG_WHERE,"info",KNRM,__VA_ARGS__)
16 #define vg_warn( ... ) \
17 vg_logx(stdout,VG_LOG_WHERE,"warn",KYEL,__VA_ARGS__ )
18 #define vg_error( ... ) \
19 vg_logx(stdout,VG_LOG_WHERE,"error",KRED,__VA_ARGS__)
20 #define vg_low( ... ) \
21 vg_logx(stdout,VG_LOG_WHERE,"log",KWHT,__VA_ARGS__)
23 #define KNRM "\x1B[0m"
24 #define KBLK "\x1B[30m"
25 #define KRED "\x1B[31m"
26 #define KGRN "\x1B[32m"
27 #define KYEL "\x1B[33m"
28 #define KBLU "\x1B[34m"
29 #define KMAG "\x1B[35m"
30 #define KCYN "\x1B[36m"
31 #define KWHT "\x1B[37m"
33 #define PRINTF_v2f( V2 ) "%.4f %.4f\n", V2[0], V2[1]
34 #define PRINTF_v3f( V3 ) "%.4f %.4f %.4f\n", V3[0], V3[1], V3[2]
35 #define PRINTF_v4f( V4 ) "%.4f %.4f %.4f %.4f\n", V4[0], V4[1], V4[2], V4[3]
38 #define PRINTF_U64 "%llu"
40 #define PRINTF_U64 "%lu"
44 #include "dep/sdl/include/SDL.h"
45 static SDL_SpinLock log_print_sl
;
50 u32 log_line_count
, log_line_current
;
54 static void vg_logx( FILE *file
,
55 const char *location
, const char *prefix
,
57 const char *fmt
, ... );
59 static void _vg_logx_va( FILE *file
,
60 const char *location
, const char *prefix
,
62 const char *fmt
, va_list args
);
64 static void vg_print_backtrace(void);