#endif
char buffer[4096], line[96];
+ static char last_buffer[4096];
+ static int dupe_counter = 1;
+
vsnprintf( buffer, VG_ARRAY_LEN(buffer), fmt, args );
+ int line_length = snprintf( line, 90, "%s%7s" KNRM "|%s ", colour, prefix, colour );
+
+ if( !strcmp( last_buffer, buffer ) )
+ {
+ dupe_counter ++;
+ fprintf( file, "repeat x%d\r", dupe_counter );
+#ifdef VG_ENGINE
+ if( SDL_UnlockMutex( vg_log.mutex ) )
+ vg_fatal_error( "" );
+#endif
+ return;
+ }
+
+ if( dupe_counter > 1 )
+ {
+ fprintf( file, "\n" );
+ dupe_counter = 1;
+ }
- int line_length = snprintf( line, 90, "%s%7s" KNRM "|%s ",
- colour, prefix, colour );
+ strcpy( last_buffer, buffer );
for( u32 i=0; i<VG_ARRAY_LEN(buffer); i ++ )
{