diff options
| author | Markus Wick <degasus@users.noreply.github.com> | 2016-08-10 14:41:35 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-08-10 14:41:35 +0200 |
| commit | cb2b110d42daecbab9746cdd26f3c431e89871e8 (patch) | |
| tree | 0210787c3caf1b7d34e3dd618559ae6c022b05bd /Source/Core/Common/SysConf.cpp | |
| parent | b075d18d2e0580c3a33fff61250f4dd2fa150758 (diff) | |
| parent | 08bc19bf515e4f8b4775f9b9ba20d27b01257e89 (diff) | |
Merge pull request #4097 from lioncash/sysconf
SysConf: Minor simplifications to initial generating
Diffstat (limited to 'Source/Core/Common/SysConf.cpp')
| -rw-r--r-- | Source/Core/Common/SysConf.cpp | 29 |
1 files changed, 13 insertions, 16 deletions
diff --git a/Source/Core/Common/SysConf.cpp b/Source/Core/Common/SysConf.cpp index 9ad5894eba..d6aed4f29e 100644 --- a/Source/Core/Common/SysConf.cpp +++ b/Source/Core/Common/SysConf.cpp @@ -206,8 +206,7 @@ void SysConf::GenerateSysConf() strncpy(s_Header.version, "SCv0", 4); s_Header.numEntries = Common::swap16(28 - 1); - SSysConfEntry items[27]; - memset(items, 0, sizeof(SSysConfEntry) * 27); + std::vector<SSysConfEntry> items(27); // version length + size of numEntries + 28 * size of offset unsigned int current_offset = 4 + 2 + 28 * 2; @@ -325,18 +324,15 @@ void SysConf::GenerateSysConf() current_offset += create_item(items[26], Type_Bool, "MPLS.MOVIE", 1, current_offset); items[26].data[0] = 0x01; - for (const SSysConfEntry& item : items) - m_Entries.push_back(item); - File::CreateFullPath(m_FilenameDefault); File::IOFile g(m_FilenameDefault, "wb"); // Write the header and item offsets g.WriteBytes(&s_Header.version, sizeof(s_Header.version)); g.WriteBytes(&s_Header.numEntries, sizeof(u16)); - for (int i = 0; i != 27; ++i) + for (const auto& item : items) { - const u16 tmp_offset = Common::swap16(items[i].offset); + const u16 tmp_offset = Common::swap16(item.offset); g.WriteBytes(&tmp_offset, 2); } const u16 end_data_offset = Common::swap16(current_offset); @@ -344,30 +340,30 @@ void SysConf::GenerateSysConf() // Write the items const u8 null_byte = 0; - for (int i = 0; i != 27; ++i) + for (const auto& item : items) { - u8 description = (items[i].type << 5) | (items[i].nameLength - 1); + u8 description = (item.type << 5) | (item.nameLength - 1); g.WriteBytes(&description, sizeof(description)); - g.WriteBytes(&items[i].name, items[i].nameLength); - switch (items[i].type) + g.WriteBytes(&item.name, item.nameLength); + switch (item.type) { case Type_BigArray: { - const u16 tmpDataLength = Common::swap16(items[i].dataLength); + const u16 tmpDataLength = Common::swap16(item.dataLength); g.WriteBytes(&tmpDataLength, 2); - g.WriteBytes(items[i].data, items[i].dataLength); + g.WriteBytes(item.data, item.dataLength); g.WriteBytes(&null_byte, 1); } break; case Type_SmallArray: - g.WriteBytes(&items[i].dataLength, 1); - g.WriteBytes(items[i].data, items[i].dataLength); + g.WriteBytes(&item.dataLength, 1); + g.WriteBytes(item.data, item.dataLength); g.WriteBytes(&null_byte, 1); break; default: - g.WriteBytes(items[i].data, items[i].dataLength); + g.WriteBytes(item.data, item.dataLength); break; } } @@ -380,6 +376,7 @@ void SysConf::GenerateSysConf() // Write the footer g.WriteBytes("SCed", 4); + m_Entries = std::move(items); m_Filename = m_FilenameDefault; m_IsValid = true; } |
