mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-01-20 07:23:51 +00:00
Merged pull request #1940
This commit is contained in:
commit
c566514c9d
11 changed files with 31 additions and 14 deletions
|
@ -80,6 +80,7 @@
|
||||||
Bug #4460: Script function "Equip" doesn't bypass beast restrictions
|
Bug #4460: Script function "Equip" doesn't bypass beast restrictions
|
||||||
Bug #4461: "Open" spell from non-player caster isn't a crime
|
Bug #4461: "Open" spell from non-player caster isn't a crime
|
||||||
Bug #4464: OpenMW keeps AiState cached storages even after we cancel AI packages
|
Bug #4464: OpenMW keeps AiState cached storages even after we cancel AI packages
|
||||||
|
Bug #4467: Content selector: cyrillic characters are decoded incorrectly in plugin descriptions
|
||||||
Bug #4469: Abot Silt Striders – Model turn 90 degrees on horizontal
|
Bug #4469: Abot Silt Striders – Model turn 90 degrees on horizontal
|
||||||
Bug #4470: Non-bipedal creatures with Weapon & Shield flag have inconsistent behaviour
|
Bug #4470: Non-bipedal creatures with Weapon & Shield flag have inconsistent behaviour
|
||||||
Bug #4474: No fallback when getVampireHead fails
|
Bug #4474: No fallback when getVampireHead fails
|
||||||
|
@ -128,6 +129,7 @@
|
||||||
Bug #4644: %Name should be available for all actors, not just for NPCs
|
Bug #4644: %Name should be available for all actors, not just for NPCs
|
||||||
Bug #4648: Hud thinks that throwing weapons have condition
|
Bug #4648: Hud thinks that throwing weapons have condition
|
||||||
Bug #4649: Levelup fully restores health
|
Bug #4649: Levelup fully restores health
|
||||||
|
Bug #4653: Length of non-ASCII strings is handled incorrectly in ESM reader
|
||||||
Bug #4654: Editor: UpdateVisitor does not initialize skeletons for animated objects
|
Bug #4654: Editor: UpdateVisitor does not initialize skeletons for animated objects
|
||||||
Feature #912: Editor: Add missing icons to UniversalId tables
|
Feature #912: Editor: Add missing icons to UniversalId tables
|
||||||
Feature #1617: Editor: Enchantment effect record verifier
|
Feature #1617: Editor: Enchantment effect record verifier
|
||||||
|
|
|
@ -36,6 +36,8 @@ Launcher::DataFilesPage::DataFilesPage(Files::ConfigurationManager &cfg, Config:
|
||||||
ui.setupUi (this);
|
ui.setupUi (this);
|
||||||
setObjectName ("DataFilesPage");
|
setObjectName ("DataFilesPage");
|
||||||
mSelector = new ContentSelectorView::ContentSelector (ui.contentSelectorWidget);
|
mSelector = new ContentSelectorView::ContentSelector (ui.contentSelectorWidget);
|
||||||
|
const QString encoding = mGameSettings.value("encoding", "win1252");
|
||||||
|
mSelector->setEncoding(encoding);
|
||||||
|
|
||||||
mProfileDialog = new TextInputDialog(tr("New Content List"), tr("Content List name:"), this);
|
mProfileDialog = new TextInputDialog(tr("New Content List"), tr("Content List name:"), this);
|
||||||
|
|
||||||
|
|
|
@ -108,8 +108,9 @@ std::pair<Files::PathContainer, std::vector<std::string> > CS::Editor::readConfi
|
||||||
|
|
||||||
mCfgMgr.readConfiguration(variables, desc, quiet);
|
mCfgMgr.readConfiguration(variables, desc, quiet);
|
||||||
|
|
||||||
mDocumentManager.setEncoding (
|
const std::string encoding = variables["encoding"].as<Files::EscapeHashString>().toStdString();
|
||||||
ToUTF8::calculateEncoding (variables["encoding"].as<Files::EscapeHashString>().toStdString()));
|
mDocumentManager.setEncoding (ToUTF8::calculateEncoding (encoding));
|
||||||
|
mFileDialog.setEncoding (QString::fromUtf8(encoding.c_str()));
|
||||||
|
|
||||||
mDocumentManager.setResourceDir (mResources = variables["resources"].as<Files::EscapeHashString>().toStdString());
|
mDocumentManager.setResourceDir (mResources = variables["resources"].as<Files::EscapeHashString>().toStdString());
|
||||||
|
|
||||||
|
|
|
@ -14,8 +14,8 @@ void CSMWorld::MetaData::blank()
|
||||||
void CSMWorld::MetaData::load (ESM::ESMReader& esm)
|
void CSMWorld::MetaData::load (ESM::ESMReader& esm)
|
||||||
{
|
{
|
||||||
mFormat = esm.getHeader().mFormat;
|
mFormat = esm.getHeader().mFormat;
|
||||||
mAuthor = esm.getHeader().mData.author.toString();
|
mAuthor = esm.getHeader().mData.author;
|
||||||
mDescription = esm.getHeader().mData.desc.toString();
|
mDescription = esm.getHeader().mData.desc;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSMWorld::MetaData::save (ESM::ESMWriter& esm) const
|
void CSMWorld::MetaData::save (ESM::ESMWriter& esm) const
|
||||||
|
|
|
@ -33,6 +33,11 @@ void CSVDoc::FileDialog::addFiles(const QString &path)
|
||||||
mSelector->addFiles(path);
|
mSelector->addFiles(path);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CSVDoc::FileDialog::setEncoding(const QString &encoding)
|
||||||
|
{
|
||||||
|
mSelector->setEncoding(encoding);
|
||||||
|
}
|
||||||
|
|
||||||
void CSVDoc::FileDialog::clearFiles()
|
void CSVDoc::FileDialog::clearFiles()
|
||||||
{
|
{
|
||||||
mSelector->clearFiles();
|
mSelector->clearFiles();
|
||||||
|
|
|
@ -42,6 +42,7 @@ namespace CSVDoc
|
||||||
void showDialog (ContentAction action);
|
void showDialog (ContentAction action);
|
||||||
|
|
||||||
void addFiles (const QString &path);
|
void addFiles (const QString &path);
|
||||||
|
void setEncoding (const QString &encoding);
|
||||||
void clearFiles ();
|
void clearFiles ();
|
||||||
|
|
||||||
QString filename() const;
|
QString filename() const;
|
||||||
|
|
|
@ -111,6 +111,11 @@ void ContentSelectorView::ContentSelector::clearCheckStates()
|
||||||
mContentModel->uncheckAll();
|
mContentModel->uncheckAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ContentSelectorView::ContentSelector::setEncoding(const QString &encoding)
|
||||||
|
{
|
||||||
|
mContentModel->setEncoding(encoding);
|
||||||
|
}
|
||||||
|
|
||||||
void ContentSelectorView::ContentSelector::setContentList(const QStringList &list)
|
void ContentSelectorView::ContentSelector::setContentList(const QStringList &list)
|
||||||
{
|
{
|
||||||
if (list.isEmpty())
|
if (list.isEmpty())
|
||||||
|
|
|
@ -32,6 +32,7 @@ namespace ContentSelectorView
|
||||||
void setProfileContent (const QStringList &fileList);
|
void setProfileContent (const QStringList &fileList);
|
||||||
|
|
||||||
void clearCheckStates();
|
void clearCheckStates();
|
||||||
|
void setEncoding (const QString &encoding);
|
||||||
void setContentList(const QStringList &list);
|
void setContentList(const QStringList &list);
|
||||||
|
|
||||||
ContentSelectorModel::ContentFileList selectedFiles() const;
|
ContentSelectorModel::ContentFileList selectedFiles() const;
|
||||||
|
|
|
@ -33,8 +33,8 @@ public:
|
||||||
int getVer() const { return mHeader.mData.version; }
|
int getVer() const { return mHeader.mData.version; }
|
||||||
int getRecordCount() const { return mHeader.mData.records; }
|
int getRecordCount() const { return mHeader.mData.records; }
|
||||||
float getFVer() const { return (mHeader.mData.version == VER_12) ? 1.2f : 1.3f; }
|
float getFVer() const { return (mHeader.mData.version == VER_12) ? 1.2f : 1.3f; }
|
||||||
const std::string getAuthor() const { return mHeader.mData.author.toString(); }
|
const std::string getAuthor() const { return mHeader.mData.author; }
|
||||||
const std::string getDesc() const { return mHeader.mData.desc.toString(); }
|
const std::string getDesc() const { return mHeader.mData.desc; }
|
||||||
const std::vector<Header::MasterData> &getGameFiles() const { return mHeader.mMaster; }
|
const std::vector<Header::MasterData> &getGameFiles() const { return mHeader.mMaster; }
|
||||||
const Header& getHeader() const { return mHeader; }
|
const Header& getHeader() const { return mHeader; }
|
||||||
int getFormat() const;
|
int getFormat() const;
|
||||||
|
|
|
@ -32,8 +32,8 @@ void ESM::Header::load (ESMReader &esm)
|
||||||
esm.getSubHeader();
|
esm.getSubHeader();
|
||||||
esm.getT(mData.version);
|
esm.getT(mData.version);
|
||||||
esm.getT(mData.type);
|
esm.getT(mData.type);
|
||||||
mData.author.assign( esm.getString(mData.author.data_size()) );
|
mData.author.assign( esm.getString(32) );
|
||||||
mData.desc.assign( esm.getString(mData.desc.data_size()) );
|
mData.desc.assign( esm.getString(256) );
|
||||||
esm.getT(mData.records);
|
esm.getT(mData.records);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -73,8 +73,8 @@ void ESM::Header::save (ESMWriter &esm)
|
||||||
esm.startSubRecord("HEDR");
|
esm.startSubRecord("HEDR");
|
||||||
esm.writeT(mData.version);
|
esm.writeT(mData.version);
|
||||||
esm.writeT(mData.type);
|
esm.writeT(mData.type);
|
||||||
esm.writeFixedSizeString(mData.author.toString(), mData.author.data_size());
|
esm.writeFixedSizeString(mData.author, 32);
|
||||||
esm.writeFixedSizeString(mData.desc.toString(), mData.desc.data_size());
|
esm.writeFixedSizeString(mData.desc, 256);
|
||||||
esm.writeT(mData.records);
|
esm.writeT(mData.records);
|
||||||
esm.endRecord("HEDR");
|
esm.endRecord("HEDR");
|
||||||
|
|
||||||
|
|
|
@ -21,8 +21,8 @@ namespace ESM
|
||||||
*/
|
*/
|
||||||
unsigned int version;
|
unsigned int version;
|
||||||
int type; // 0=esp, 1=esm, 32=ess (unused)
|
int type; // 0=esp, 1=esm, 32=ess (unused)
|
||||||
NAME32 author; // Author's name
|
std::string author; // Author's name
|
||||||
NAME256 desc; // File description
|
std::string desc; // File description
|
||||||
int records; // Number of records
|
int records; // Number of records
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue