Make obj event gfx parsing backwards compatible
This commit is contained in:
parent
0b0c588c64
commit
02b0bc94c5
1 changed files with 25 additions and 5 deletions
|
@ -2530,12 +2530,32 @@ QMap<QString, QMap<QString, QString>> Project::readObjEventGfxInfo() {
|
||||||
QMap<QString, QMap<QString, QString>> gfxInfos;
|
QMap<QString, QMap<QString, QString>> gfxInfos;
|
||||||
for (auto it = gfxInfoObjects.begin(); it != gfxInfoObjects.end(); it++) {
|
for (auto it = gfxInfoObjects.begin(); it != gfxInfoObjects.end(); it++) {
|
||||||
QMap<QString, QString> values;
|
QMap<QString, QString> values;
|
||||||
|
int i = 0;
|
||||||
for (const fex::ArrayValue &v : it->second.values()) {
|
for (const fex::ArrayValue &v : it->second.values()) {
|
||||||
if (v.type() != fex::ArrayValue::Type::kValuePair)
|
if (v.type() == fex::ArrayValue::Type::kValuePair) {
|
||||||
continue;
|
QString key = QString::fromStdString(v.pair().first);
|
||||||
QString key = QString::fromStdString(v.pair().first);
|
QString value = QString::fromStdString(v.pair().second->string_value());
|
||||||
QString value = QString::fromStdString(v.pair().second->string_value());
|
values.insert(key, value);
|
||||||
values.insert(key, value);
|
} else {
|
||||||
|
// This is for backwards compatibility with the old-style version of
|
||||||
|
// object_event_graphics_info.h, in which the structs didn't use
|
||||||
|
// attribute names to specify each struct member.
|
||||||
|
switch (i) {
|
||||||
|
case 8:
|
||||||
|
values.insert("inanimate", QString::fromStdString(v.string_value()));
|
||||||
|
break;
|
||||||
|
case 11:
|
||||||
|
values.insert("oam", QString::fromStdString(v.string_value()));
|
||||||
|
break;
|
||||||
|
case 12:
|
||||||
|
values.insert("subspriteTables", QString::fromStdString(v.string_value()));
|
||||||
|
break;
|
||||||
|
case 14:
|
||||||
|
values.insert("images", QString::fromStdString(v.string_value()));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
i++;
|
||||||
}
|
}
|
||||||
gfxInfos.insert(QString::fromStdString(it->first), values);
|
gfxInfos.insert(QString::fromStdString(it->first), values);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue