X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=highscores.h;h=3a2071758a8c04f76c6ddd8d5a2a1ead67d1c62d;hb=456d49acc5e8a2601b8a86317af78355324d8971;hp=f2c5eabc855b0654a1d3c3d5b6eca3dcdedf8b56;hpb=47941822dae18a018c985847b052e70214a3ccc6;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/highscores.h b/highscores.h index f2c5eab..3a20717 100644 --- a/highscores.h +++ b/highscores.h @@ -218,6 +218,10 @@ VG_STATIC void highscores_init( u32 pool_size, u32 playerinfo_pool_size ) vg_linear_alloc( vg_mem.rtmemory, playerinfo_pool_size * sizeof(highscore_playerinfo) ); + memset( sys->data, 0, pool_size*sizeof(highscore_record) ); + memset( sys->playerinfo_data, 0, + playerinfo_pool_size*sizeof(highscore_playerinfo) ); + /* This is ugly.. too bad! */ sys->aainfo.base = highscore_system.data; @@ -474,14 +478,14 @@ VG_STATIC void highscore_strr( char *buf, const char *str, int len, int width ) } } -/* Print integer (padded with: alt), right aligned into buf(width: len) */ -VG_STATIC void highscore_intr( char *buf, int value, int len, char alt ) +/* Print integer (padded with: alt), right aligned into buf(width: len) + * returns number of digits (not including alt), that were written to buf */ +VG_STATIC int highscore_intr( char *buf, int value, int len, char alt ) { int i=0; - while(value) - { + while(value){ if( i>=len ) - return; + return i; buf[ len-1 - (i ++) ] = '0' + (value % 10); value /= 10; @@ -489,16 +493,18 @@ VG_STATIC void highscore_intr( char *buf, int value, int len, char alt ) for( ;i=len ) break; @@ -510,9 +516,9 @@ VG_STATIC void highscore_intl( char *buf, int value, int len ) i = len; for( int j=0; jaainfo_playerinfo_playerid, info_ptr ); highscore_strl( line+3, inf->nickname, 16 ); + + /* yep, this is fucking awesome! */ + if( inf->playerid == 0x8297744501001001 || + inf->playerid == 0x1ec4620101001001 || + inf->playerid == 0x0110000145749782 || + inf->playerid == 0x011000010162c41e ) + { + i --; + /* FIXME: Clear line, or yknow, do it properly */ + } } u16 centiseconds = record->time,