1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-16 17:19:56 +00:00

Initial support for Land and LandTexture tables. Updates Features #936 and #933.

This commit is contained in:
cc9cii 2015-08-01 07:50:56 +10:00
parent 870bb491af
commit 5538f822f4
6 changed files with 45 additions and 3 deletions

View file

@ -553,6 +553,14 @@ CSMWorld::Data::Data (ToUTF8::FromType encoding, const ResourcesManager& resourc
mMetaData.addColumn (new AuthorColumn<MetaData>); mMetaData.addColumn (new AuthorColumn<MetaData>);
mMetaData.addColumn (new FileDescriptionColumn<MetaData>); mMetaData.addColumn (new FileDescriptionColumn<MetaData>);
mLandTextures.addColumn (new StringIdColumn<LandTexture>);
mLandTextures.addColumn (new RecordStateColumn<LandTexture>);
mLandTextures.addColumn (new FixedRecordTypeColumn<LandTexture> (UniversalId::Type_LandTexture));
mLand.addColumn (new StringIdColumn<Land>);
mLand.addColumn (new RecordStateColumn<Land>);
mLand.addColumn (new FixedRecordTypeColumn<Land> (UniversalId::Type_Land));
addModel (new IdTable (&mGlobals), UniversalId::Type_Global); addModel (new IdTable (&mGlobals), UniversalId::Type_Global);
addModel (new IdTable (&mGmsts), UniversalId::Type_Gmst); addModel (new IdTable (&mGmsts), UniversalId::Type_Gmst);
addModel (new IdTable (&mSkills), UniversalId::Type_Skill); addModel (new IdTable (&mSkills), UniversalId::Type_Skill);
@ -594,6 +602,8 @@ CSMWorld::Data::Data (ToUTF8::FromType encoding, const ResourcesManager& resourc
addModel (new ResourceTable (&mResourcesManager.get (UniversalId::Type_Videos)), addModel (new ResourceTable (&mResourcesManager.get (UniversalId::Type_Videos)),
UniversalId::Type_Video); UniversalId::Type_Video);
addModel (new IdTable (&mMetaData), UniversalId::Type_MetaData); addModel (new IdTable (&mMetaData), UniversalId::Type_MetaData);
addModel (new IdTable (&mLand), UniversalId::Type_Land);
addModel (new IdTable (&mLandTextures), UniversalId::Type_LandTexture);
// for autocalc updates when gmst/race/class/skils tables change // for autocalc updates when gmst/race/class/skils tables change
CSMWorld::IdTable *gmsts = CSMWorld::IdTable *gmsts =

View file

@ -57,6 +57,8 @@ namespace
{ CSMWorld::UniversalId::Class_RecordList, CSMWorld::UniversalId::Type_Pathgrids, "Pathgrids", 0 }, { CSMWorld::UniversalId::Class_RecordList, CSMWorld::UniversalId::Type_Pathgrids, "Pathgrids", 0 },
{ CSMWorld::UniversalId::Class_RecordList, CSMWorld::UniversalId::Type_StartScripts, "Start Scripts", 0 }, { CSMWorld::UniversalId::Class_RecordList, CSMWorld::UniversalId::Type_StartScripts, "Start Scripts", 0 },
{ CSMWorld::UniversalId::Class_RecordList, CSMWorld::UniversalId::Type_MetaDatas, "Meta Data Table", 0 }, { CSMWorld::UniversalId::Class_RecordList, CSMWorld::UniversalId::Type_MetaDatas, "Meta Data Table", 0 },
{ CSMWorld::UniversalId::Class_RecordList, CSMWorld::UniversalId::Type_LandTextures, "Land Texture Table", 0 },
{ CSMWorld::UniversalId::Class_RecordList, CSMWorld::UniversalId::Type_Lands, "Land Table", 0 },
{ CSMWorld::UniversalId::Class_None, CSMWorld::UniversalId::Type_None, 0, 0 } // end marker { CSMWorld::UniversalId::Class_None, CSMWorld::UniversalId::Type_None, 0, 0 } // end marker
}; };
@ -122,6 +124,8 @@ namespace
{ CSMWorld::UniversalId::Class_Record, CSMWorld::UniversalId::Type_Pathgrid, "Pathgrid", 0 }, { CSMWorld::UniversalId::Class_Record, CSMWorld::UniversalId::Type_Pathgrid, "Pathgrid", 0 },
{ CSMWorld::UniversalId::Class_Record, CSMWorld::UniversalId::Type_StartScript, "Start Script", 0 }, { CSMWorld::UniversalId::Class_Record, CSMWorld::UniversalId::Type_StartScript, "Start Script", 0 },
{ CSMWorld::UniversalId::Class_Record, CSMWorld::UniversalId::Type_MetaData, "Meta Data", 0 }, { CSMWorld::UniversalId::Class_Record, CSMWorld::UniversalId::Type_MetaData, "Meta Data", 0 },
{ CSMWorld::UniversalId::Class_Record, CSMWorld::UniversalId::Type_LandTexture, "Land Texture", 0 },
{ CSMWorld::UniversalId::Class_Record, CSMWorld::UniversalId::Type_Land, "Land", 0 },
{ CSMWorld::UniversalId::Class_None, CSMWorld::UniversalId::Type_None, 0, 0 } // end marker { CSMWorld::UniversalId::Class_None, CSMWorld::UniversalId::Type_None, 0, 0 } // end marker
}; };
@ -365,8 +369,8 @@ std::vector<CSMWorld::UniversalId::Type> CSMWorld::UniversalId::listTypes (int c
for (int i=0; sIndexArg[i].mName; ++i) for (int i=0; sIndexArg[i].mName; ++i)
if (sIndexArg[i].mClass & classes) if (sIndexArg[i].mClass & classes)
list.push_back (sIndexArg[i].mType); list.push_back (sIndexArg[i].mType);
return list; return list;
} }
CSMWorld::UniversalId::Type CSMWorld::UniversalId::getParentType (Type type) CSMWorld::UniversalId::Type CSMWorld::UniversalId::getParentType (Type type)

View file

@ -133,6 +133,10 @@ namespace CSMWorld
Type_Search, Type_Search,
Type_MetaDatas, Type_MetaDatas,
Type_MetaData, Type_MetaData,
Type_LandTextures,
Type_LandTexture,
Type_Lands,
Type_Land,
Type_RunLog Type_RunLog
}; };

View file

@ -169,6 +169,10 @@ void CSVDoc::View::setupWorldMenu()
connect (grid, SIGNAL (triggered()), this, SLOT (addPathgridSubView())); connect (grid, SIGNAL (triggered()), this, SLOT (addPathgridSubView()));
world->addAction (grid); world->addAction (grid);
QAction *land = new QAction (tr ("Lands"), this);
connect (land, SIGNAL (triggered()), this, SLOT (addLandSubView()));
world->addAction (land);
world->addSeparator(); // items that don't represent single record lists follow here world->addSeparator(); // items that don't represent single record lists follow here
QAction *regionMap = new QAction (tr ("Region Map"), this); QAction *regionMap = new QAction (tr ("Region Map"), this);
@ -288,6 +292,10 @@ void CSVDoc::View::setupAssetsMenu()
connect (textures, SIGNAL (triggered()), this, SLOT (addTexturesSubView())); connect (textures, SIGNAL (triggered()), this, SLOT (addTexturesSubView()));
assets->addAction (textures); assets->addAction (textures);
QAction *land = new QAction (tr ("Land Textures"), this);
connect (land, SIGNAL (triggered()), this, SLOT (addLandTextureSubView()));
assets->addAction (land);
QAction *videos = new QAction (tr ("Videos"), this); QAction *videos = new QAction (tr ("Videos"), this);
connect (videos, SIGNAL (triggered()), this, SLOT (addVideosSubView())); connect (videos, SIGNAL (triggered()), this, SLOT (addVideosSubView()));
assets->addAction (videos); assets->addAction (videos);
@ -838,6 +846,16 @@ void CSVDoc::View::addPathgridSubView()
addSubView (CSMWorld::UniversalId::Type_Pathgrids); addSubView (CSMWorld::UniversalId::Type_Pathgrids);
} }
void CSVDoc::View::addLandTextureSubView()
{
addSubView (CSMWorld::UniversalId::Type_LandTextures);
}
void CSVDoc::View::addLandSubView()
{
addSubView (CSMWorld::UniversalId::Type_Lands);
}
void CSVDoc::View::addStartScriptsSubView() void CSVDoc::View::addStartScriptsSubView()
{ {
addSubView (CSMWorld::UniversalId::Type_StartScripts); addSubView (CSMWorld::UniversalId::Type_StartScripts);

View file

@ -228,6 +228,10 @@ namespace CSVDoc
void addPathgridSubView(); void addPathgridSubView();
void addLandTextureSubView();
void addLandSubView();
void addStartScriptsSubView(); void addStartScriptsSubView();
void addSearchSubView(); void addSearchSubView();

View file

@ -43,6 +43,8 @@ void CSVWorld::addSubViewFactories (CSVDoc::SubViewFactoryManager& manager)
CSMWorld::UniversalId::Type_BodyParts, CSMWorld::UniversalId::Type_BodyParts,
CSMWorld::UniversalId::Type_SoundGens, CSMWorld::UniversalId::Type_SoundGens,
CSMWorld::UniversalId::Type_Pathgrids, CSMWorld::UniversalId::Type_Pathgrids,
CSMWorld::UniversalId::Type_LandTextures,
CSMWorld::UniversalId::Type_Lands,
CSMWorld::UniversalId::Type_StartScripts, CSMWorld::UniversalId::Type_StartScripts,
CSMWorld::UniversalId::Type_None // end marker CSMWorld::UniversalId::Type_None // end marker
@ -172,7 +174,7 @@ void CSVWorld::addSubViewFactories (CSVDoc::SubViewFactoryManager& manager)
manager.add (CSMWorld::UniversalId::Type_MetaData, manager.add (CSMWorld::UniversalId::Type_MetaData,
new CSVDoc::SubViewFactory<SimpleDialogueSubView >); new CSVDoc::SubViewFactory<SimpleDialogueSubView >);
//preview //preview
manager.add (CSMWorld::UniversalId::Type_Preview, new CSVDoc::SubViewFactory<PreviewSubView>); manager.add (CSMWorld::UniversalId::Type_Preview, new CSVDoc::SubViewFactory<PreviewSubView>);
} }