#include "vg_stdint.h"
#include "vg_platform.h"
+#ifdef _WIN32
+#define KNRM ""
+#define KBLK ""
+#define KRED ""
+#define KGRN ""
+#define KYEL ""
+#define KBLU ""
+#define KMAG ""
+#define KCYN ""
+#define KWHT ""
+#else
#define KNRM "\x1B[0m"
+#define KBLK "\x1B[30m"
#define KRED "\x1B[31m"
#define KGRN "\x1B[32m"
#define KYEL "\x1B[33m"
#define KMAG "\x1B[35m"
#define KCYN "\x1B[36m"
#define KWHT "\x1B[37m"
+#endif
+
+#define PRINTF_v2f( V2 ) "%.4f %.4f\n", V2[0], V2[1]
+#define PRINTF_v3f( V3 ) "%.4f %.4f %.4f\n", V3[0], V3[1], V3[2]
+#define PRINTF_v4f( V4 ) "%.4f %.4f %.4f %.4f\n", V4[0], V4[1], V4[2], V4[3]
+
+#ifdef _WIN32
+ #define PRINTF_U64 "%llu"
+#else
+ #define PRINTF_U64 "%lu"
+#endif
#ifdef VG_GAME
static SDL_SpinLock log_print_sl;
}
static vg_log;
-void vg_console_append_to_log( const char *str )
+void _vg_console_append_to_log( const char *str )
{
if( vg_log.buffer_line_count < vg_list_size( vg_log.buffer ) )
vg_log.buffer_line_count ++;
char *dest = vg_log.buffer[ vg_log.buffer_line_current ++ ];
- for( int i=0; i<vg_list_size( vg_log.buffer[0] ); i++ )
- {
- if( !str[i] || ( i == vg_list_size(vg_log.buffer[0])-1 ) )
- {
+ for( int i=0; i<vg_list_size( vg_log.buffer[0] ); i++ ){
+ if( !str[i] || ( i == vg_list_size(vg_log.buffer[0])-1 ) ){
dest[i] = '\0';
break;
}
vg_log.buffer_line_current = 0;
}
-VG_STATIC void vg_log_write( FILE *file, const char *prefix,
- const char *fmt, va_list args )
+VG_STATIC void _vg_log_write( FILE *file, const char *prefix,
+ const char *fmt, va_list args )
{
#ifdef VG_GAME
SDL_AtomicLock( &log_print_sl );
char buffer[ 4096 ];
int i, j;
- for( i=0; i<vg_list_size( buffer ); i ++ )
- {
+ for( i=0; i<vg_list_size( buffer ); i ++ ){
if( prefix[i] )
buffer[i] = prefix[i];
else
fputs( buffer, file );
- vg_console_append_to_log( buffer );
+ _vg_console_append_to_log( buffer );
#ifdef VG_GAME
SDL_AtomicUnlock( &log_print_sl );
#endif
}
-VG_STATIC void vg_log_init(void)
-{
-}
-
#define VG_LOGX( NAME, PIPE, PFX ) \
-VG_STATIC void NAME(const char *fmt, ...) \
+VG_STATIC void NAME(const char *fmt, ...) \
{ \
va_list args; \
va_start( args, fmt ); \
- vg_log_write( PIPE, (PFX), fmt, args ); \
+ _vg_log_write( PIPE, (PFX), fmt, args ); \
va_end( args ); \
}