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