vm::atomic update, be_t update

1) MakeFromLE replaced with make(), MakeFromBE removed. Compiler seems
to be able to optimize it anyway.
2) be_t<> conversion operator temporarily replaced with conversion
through LE because it can't work with all possible numeric conversions
(float<>int for example)
This commit is contained in:
Nekotekina 2014-09-20 03:16:11 +04:00
parent 0baf295c1b
commit 66000240ac
16 changed files with 98 additions and 89 deletions

View file

@ -144,11 +144,20 @@ bool TROPUSRLoader::Generate(const std::string& filepath, const std::string& con
default: trophy_grade = 0;
}
TROPUSREntry4 entry4 = { be_t<u32>::MakeFromBE(se32(4)), be_t<u32>::MakeFromBE(se32(sizeof(TROPUSREntry4) - 0x10)),
be_t<u32>::MakeFromLE((u32)m_table4.size()), be_t<u32>::MakeFromBE(se32(0)), be_t<u32>::MakeFromLE(trophy_id),
be_t<u32>::MakeFromLE(trophy_grade), be_t<u32>::MakeFromBE(se32(0xFFFFFFFF)) };
TROPUSREntry6 entry6 = { be_t<u32>::MakeFromBE(se32(6)), be_t<u32>::MakeFromBE(se32(sizeof(TROPUSREntry6) - 0x10)),
be_t<u32>::MakeFromLE((u32)m_table6.size()), be_t<u32>::MakeFromBE(0), be_t<u32>::MakeFromLE(trophy_id) };
TROPUSREntry4 entry4 = {
be_t<u32>::make(4),
be_t<u32>::make(sizeof(TROPUSREntry4) - 0x10),
be_t<u32>::make((u32)m_table4.size()),
be_t<u32>::make(0),
be_t<u32>::make(trophy_id),
be_t<u32>::make(trophy_grade),
be_t<u32>::make(0xFFFFFFFF) };
TROPUSREntry6 entry6 = {
be_t<u32>::make(6),
be_t<u32>::make(sizeof(TROPUSREntry6) - 0x10),
be_t<u32>::make((u32)m_table6.size()),
be_t<u32>::make(0),
be_t<u32>::make(trophy_id) };
m_table4.push_back(entry4);
m_table6.push_back(entry6);
@ -156,11 +165,19 @@ bool TROPUSRLoader::Generate(const std::string& filepath, const std::string& con
}
u64 offset = sizeof(TROPUSRHeader) + 2 * sizeof(TROPUSRTableHeader);
TROPUSRTableHeader table4header = { be_t<u32>::MakeFromBE(se32(4)), be_t<u32>::MakeFromBE(se32(sizeof(TROPUSREntry4)-0x10)),
be_t<u32>::MakeFromBE(se32(1)), be_t<u32>::MakeFromLE((u32)m_table4.size()), be_t<u64>::MakeFromLE(offset) };
TROPUSRTableHeader table4header = {
be_t<u32>::make(4),
be_t<u32>::make(sizeof(TROPUSREntry4) - 0x10),
be_t<u32>::make(1),
be_t<u32>::make((u32)m_table4.size()),
be_t<u64>::make(offset) };
offset += m_table4.size() * sizeof(TROPUSREntry4);
TROPUSRTableHeader table6header = { be_t<u32>::MakeFromBE(se32(6)), be_t<u32>::MakeFromBE(se32(sizeof(TROPUSREntry6)-0x10)),
be_t<u32>::MakeFromBE(se32(1)), be_t<u32>::MakeFromLE((u32)m_table6.size()), be_t<u64>::MakeFromLE(offset) };
TROPUSRTableHeader table6header = {
be_t<u32>::make(6),
be_t<u32>::make(sizeof(TROPUSREntry6) - 0x10),
be_t<u32>::make(1),
be_t<u32>::make((u32)m_table6.size()),
be_t<u64>::make(offset) };
offset += m_table6.size() * sizeof(TROPUSREntry6);
m_tableHeaders.clear();