summaryrefslogtreecommitdiff
path: root/Source/Core/Common/SysConf.cpp
diff options
context:
space:
mode:
authorMarkus Wick <degasus@users.noreply.github.com>2016-08-10 14:41:35 +0200
committerGitHub <noreply@github.com>2016-08-10 14:41:35 +0200
commitcb2b110d42daecbab9746cdd26f3c431e89871e8 (patch)
tree0210787c3caf1b7d34e3dd618559ae6c022b05bd /Source/Core/Common/SysConf.cpp
parentb075d18d2e0580c3a33fff61250f4dd2fa150758 (diff)
parent08bc19bf515e4f8b4775f9b9ba20d27b01257e89 (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.cpp29
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;
}