Fix Linux builds

This commit is contained in:
Ted John 2018-05-28 00:31:37 +01:00
parent c28a42d877
commit 376b6d04d8
3 changed files with 17 additions and 5 deletions

View File

@ -88,6 +88,19 @@ struct rct_object_entry {
};
};
void SetName(const char * value)
{
auto src = value;
for (size_t i = 0; i < sizeof(name); i++)
{
auto dc = ' ';
if (*src != '\0')
{
dc = *src++;
}
name[i] = dc;
}
}
};
assert_struct_size(rct_object_entry, 0x10);

View File

@ -476,7 +476,7 @@ private:
std::vector<const ObjectRepositoryItem *> requiredObjects;
std::vector<rct_object_entry> missingObjects;
for (sint32 i = 0; i < count; i++)
for (size_t i = 0; i < count; i++)
{
const rct_object_entry * entry = &entries[i];
const ObjectRepositoryItem * ori = nullptr;
@ -511,9 +511,9 @@ private:
auto begin = n * partitionSize;
auto end = std::min(items.size(), begin + partitionSize);
threads.emplace_back(
[func, &items](size_t begin, size_t end)
[func](size_t pbegin, size_t pend)
{
for (size_t i = begin; i < end; i++)
for (size_t i = pbegin; i < pend; i++)
{
func(i);
}

View File

@ -1896,8 +1896,7 @@ private:
{
rct_object_entry entry{};
entry.flags = ((OBJECT_SOURCE_RCT2 << 4) & 0xF0) | (objectType & 0x0F);
std::memset(entry.name, ' ', sizeof(entry.name));
std::strncpy(entry.name, objectName, sizeof(entry.name));
entry.SetName(objectName);
entries.push_back(entry);
}
}