if (type == TYPE_INTEGER)
{
if (nr == GAME_PANEL_LEVEL_NUMBER ||
+ nr == GAME_PANEL_INVENTORY_COUNT ||
nr == GAME_PANEL_TIME)
{
boolean use_dynamic_size = (size == -1 ? TRUE : FALSE);
// (special case: historic score entries have an empty tape basename entry)
if (strEqual(new_entry->tape_basename, entry->tape_basename) &&
!strEqual(new_entry->tape_basename, UNDEFINED_FILENAME))
+ {
+ // special case: use server score instead of local score value if higher
+ // (historic scores might have been truncated to 16-bit values locally)
+ if (score_is_better)
+ entry->score = new_entry->score;
+
return -1;
+ }
if (is_better || entry_is_empty)
{