Просмотр исходного кода

CFGU: Use an absolute offset in the config savefile blocks

Subv 11 лет назад
Родитель
Сommit
b3d1c8ba6a
1 измененных файлов с 3 добавлено и 1 удалено
  1. 3 1
      src/core/hle/service/cfg_u.cpp

+ 3 - 1
src/core/hle/service/cfg_u.cpp

@@ -184,7 +184,7 @@ ResultCode GetConfigInfoBlock(u32 block_id, u32 size, u32 flag, u8* output) {
     if (itr->size <= 4)
     if (itr->size <= 4)
         memcpy(output, &itr->offset_or_data, itr->size);
         memcpy(output, &itr->offset_or_data, itr->size);
     else
     else
-        memcpy(output, &cfg_config_file_buffer[config->data_entries_offset + itr->offset_or_data], itr->size);
+        memcpy(output, &cfg_config_file_buffer[itr->offset_or_data], itr->size);
 
 
     return RESULT_SUCCESS;
     return RESULT_SUCCESS;
 }
 }
@@ -219,6 +219,8 @@ ResultCode CreateConfigInfoBlk(u32 block_id, u32 size, u32 flags, u8 const* data
             break;
             break;
         }
         }
 
 
+        offset += config->data_entries_offset;
+
         config->block_entries[config->total_entries].offset_or_data = offset;
         config->block_entries[config->total_entries].offset_or_data = offset;
 
 
         // Write the data at the new offset
         // Write the data at the new offset