scoreboards
[carveJwlIkooP6JGAAIwe30JlM.git] / highscores.h
index 2c077b1038a9d9f5fdf90fe8ba855a005d3243ff..28662bfa0a403c2b15f9fa1f56525ab828a71881 100644 (file)
@@ -1,3 +1,7 @@
+/*
+ * Copyright (C) 2021-2022 Mt.ZERO Software, Harry Godden - All Rights Reserved
+ */
+
 #ifndef HIGHSCORES_H
 #define HIGHSCORES_H
 
@@ -128,7 +132,7 @@ static int highscore_cmp_playerinfo_playerid( void *a, void *b )
 static void *highscore_malloc( u32 count, u32 size )
 {
    size_t requested_mem = size * count;
-   void *data = malloc( requested_mem );
+   void *data = vg_alloc( requested_mem );
 
    requested_mem /= 1024;
    requested_mem /= 1024;
@@ -146,8 +150,8 @@ static void *highscore_malloc( u32 count, u32 size )
 
 static void highscores_free(void)
 {
-   free( highscore_system.data );
-   free( highscore_system.playerinfo_data );
+   vg_free( highscore_system.data );
+   vg_free( highscore_system.playerinfo_data );
 }
 
 static int highscores_init( u32 pool_size, u32 playerinfo_pool_size )
@@ -161,7 +165,7 @@ static int highscores_init( u32 pool_size, u32 playerinfo_pool_size )
       highscore_malloc( playerinfo_pool_size, sizeof(highscore_playerinfo));
    if( !sys->playerinfo_data ) 
    {
-      free( sys->data );
+      vg_free( sys->data );
       return 0;
    }
 
@@ -243,7 +247,7 @@ static int highscores_init( u32 pool_size, u32 playerinfo_pool_size )
    }
    else
    {
-      vg_log( "No existing database found (.aadb)\n" );
+      vg_low( "No existing database found (.aadb)\n" );
       vg_info( "Initializing database nodes\n" );
       memset( &sys->dbheader, 0, sizeof(highscore_database) );
 
@@ -314,8 +318,7 @@ static aatree_ptr highscores_push_record( highscore_record *record )
 {
    struct highscore_system *sys = &highscore_system;
 
-   /* TODO: Verify steam ID */
-   vg_log( "Inserting record into database for track %hu\n",record->trackid );
+   vg_low( "Inserting record into database for track %hu\n",record->trackid );
 
    if( record->trackid >= vg_list_size(sys->dbheader.tracks) )
    {
@@ -339,11 +342,11 @@ static aatree_ptr highscores_push_record( highscore_record *record )
       if( crecord->time < record->time || 
             (crecord->time == record->time && crecord->points > record->points))
       {
-         vg_log( "Not overwriting better score\n" );
+         vg_low( "Not overwriting better score\n" );
          return existing;
       }
 
-      vg_log( "Freeing existing record for player %lu\n", record->playerid );
+      vg_low( "Freeing existing record for player %lu\n", record->playerid );
       table->root_playerid = aatree_del( &sys->aainfo_playerid, existing );
       table->root_datetime = aatree_del( &sys->aainfo_datetime, existing );
       table->root_points = aatree_del( &sys->aainfo_points, existing );
@@ -389,7 +392,7 @@ static aatree_ptr highscore_set_user_nickname( u64 steamid, char nick[10] )
       name[i] = nick[i];
    name[10] = '\0';
 
-   vg_log( "Updating %lu's nickname -> %s\n", steamid, name );
+   vg_low( "Updating %lu's nickname -> %s\n", steamid, name );
 
    struct highscore_system *sys = &highscore_system;
    
@@ -565,7 +568,7 @@ static void highscores_board_generate( char *buf, u32 id, u32 count )
 
    highscore_strc ( buf+w*0, inf->name, w,w );
    highscore_clear( buf+w*1, '-', w );
-   highscore_strl ( buf+w*2, " #|  Player  | Time  | Pts", 27 );
+   highscore_strl ( buf+w*2, " #|     Player     | Time  ", 27 );
 
    for( int i=0; i<count; i++ )
    {
@@ -586,13 +589,13 @@ static void highscores_board_generate( char *buf, u32 id, u32 count )
       
       /* Player name */
       if( info_ptr == AATREE_PTR_NIL )
-         highscore_strl( line+3, "unknown", 10 );
+         highscore_strl( line+3, "unknown", 16 );
       else
       {
          highscore_playerinfo *inf = aatree_get_data( 
                &sys->aainfo_playerinfo_playerid, info_ptr );
 
-         highscore_strl( line+3, inf->nickname, 10 );
+         highscore_strl( line+3, inf->nickname, 16 );
       }
 
       u16 centiseconds = record->time,
@@ -606,14 +609,16 @@ static void highscores_board_generate( char *buf, u32 id, u32 count )
       if( minutes > 9 ) minutes = 9;
       
       /* Timer */
-      highscore_intr( line+14, minutes, 1, '0' );
-      line[15] = ':';
-      highscore_intr( line+16, seconds, 2, '0' );
-      line[18] = '.';
-      highscore_intr( line+19, centiseconds, 2, '0' );
+      highscore_intr( line+20, minutes, 1, '0' );
+      line[21] = ':';
+      highscore_intr( line+22, seconds, 2, '0' );
+      line[24] = '.';
+      highscore_intr( line+25, centiseconds, 2, '0' );
 
+#if 0
       /* Score */
       highscore_intl( line+22, record->points, 5 );
+#endif
       it = aatree_next( &sys->aainfo_time, it );
    }
 }