- Member anonymous_namespace{journalwindow.cpp}::JournalWindowImpl::open ()
- Wiping the whole book layout each time the journal is opened is probably too costly for a large journal (eg 300+ pages). There should be a way to keep the existing layout and append new entries to the end of it. However, that still leaves the problem of having to add links to previously unknown, but now known topics, so we maybe need to find another way to speed things up.
- Class btKinematicClosestNotMeRayResultCallback
- Interact with dynamic objects, Ride kinematicly animated platforms properly Support ducking
- Member Compiler::FileParser::parseKeyword (int keyword, const TokenLoc &loc, Scanner &scanner)
- allow this workaround to be disabled for newer scripts
- Member Compiler::FileParser::parseName (const std::string &name, const TokenLoc &loc, Scanner &scanner)
- allow this workaround to be disabled for newer scripts
- Member Compiler::LineParser::parseName (const std::string &name, const TokenLoc &loc, Scanner &scanner)
- add option to make re-declared local variables an error
- Member Compiler::Scanner::scanName (char c, std::string &name)
- add an option to disable the following hack. Also, find out who is responsible for allowing it in the first place and meet up with that person in a dark alley.
- Member Compiler::ScriptParser::parseKeyword (int keyword, const TokenLoc &loc, Scanner &scanner)
- add an option to disable this nonsense
- Member CSMDoc::Document::reportMessage (const QString &message, int type)
- find a better way to get these messages to the user.
- Member CSMDoc::WriteCollectionStage< CollectionT >::perform (int stage, std::vector< std::string > &messages)
make endianess agnostic (change ESMWriter interface?)
write record with delete flag
- Member CSMDoc::WriteDialogueCollectionStage::perform (int stage, std::vector< std::string > &messages)
wrote record with delete flag
make endianess agnostic (change ESMWriter interface?)
wrote record with delete flag
make endianess agnostic (change ESMWriter interface?)
- Member CSMDoc::WriteHeaderStage::perform (int stage, std::vector< std::string > &messages)
- refine dependency list (at least remove redundant dependencies)
- Member CSMFilter::TextNode::test (const CSMWorld::IdTable &table, int row, const std::map< int, int > &columns) const
- make pattern syntax configurable
- Member CSMSettings::UserSettings::loadSettings (const QString &fileName)
Multi-valued settings are not fully implemented. Setting values
loaded in later files will always overwrite previously loaded values.
- Member CSMTools::BirthsignCheckStage::perform (int stage, std::vector< std::string > &messages)
test if the texture exists
check data members that can't be edited in the table view
- Member CSMTools::FactionCheckStage::perform (int stage, std::vector< std::string > &messages)
- check data members that can't be edited in the table view
- Member CSMTools::RaceCheckStage::performPerRecord (int stage, std::vector< std::string > &messages)
- check data members that can't be edited in the table view
- Member CSMTools::RegionCheckStage::perform (int stage, std::vector< std::string > &messages)
test that the ID in mSleeplist exists
check data members that can't be edited in the table view
- Member CSMTools::SoundCheckStage::perform (int stage, std::vector< std::string > &messages)
- check, if the sound file exists
- Member CSMTools::SpellCheckStage::perform (int stage, std::vector< std::string > &messages)
- check data members that can't be edited in the table view
- Member CSMWorld::Data::loadFile (const boost::filesystem::path &path, bool base, bool project)
set encoding properly, once config implementation has been fixed.
handle info records
handle info records
report deletion of non-existing record
INFO record without matching DIAL record -> report to user
throw an exception instead, once all records are implemented or maybe report error and continue?
- Member CSMWorld::IdCollection< ESXRecordT, IdAccessorT >::load (ESM::ESMReader &reader, bool base)
- report the problem to the user
- Member CSMWorld::InfoCollection::load (ESM::ESMReader &reader, bool base, const ESM::Dialogue &dialogue)
- report the problem to the user
- Class CSMWorld::MapColourColumn< ESXRecordT >
- QColor is a GUI class and should not be in model. Need to think of an alternative solution.
- Member CSMWorld::MapColourColumn< ESXRecordT >::MapColourColumn ()
- Replace Display_Integer with something that displays the colour value more directly.
- Member CSMWorld::RefCollection::load (ESM::ESMReader &reader, int cellIndex, bool base)
- handle deleted and moved references
- Member CSMWorld::RefIdCollection::load (ESM::ESMReader &reader, bool base, UniversalId::Type type)
- report the problem to the user
- Member CSMWorld::RefIdDataContainer< RecordT >::save (int index, ESM::ESMWriter &writer) const
make endianess agnostic (change ESMWriter interface?)
write record with delete flag
- Member CSMWorld::RegionMap::data (const QModelIndex &index, int role=Qt::DisplayRole) const
- GUI class in non-GUI code. Needs to be addressed eventually.
- Member CSVDoc::AdjusterWidget::setName (const QString &name, bool addon)
- add an user setting to make this an error.
- Member CSVDoc::Operation::Operation (int type, QWidget *parent)
Add a cancel button or a pop up menu with a cancel item
assign different progress bar colours to allow the user to distinguish easily between operation types
- Member CSVDoc::Operations::Operations ()
- make widget height fixed (exactly the height required to display all operations)
- Member CSVDoc::StartupDialogue::createButtons ()
- add icons
- Member CSVDoc::StartupDialogue::StartupDialogue ()
- remove this label once loading and saving are fully implemented
- Member CSVDoc::SubView::SubView (const CSMWorld::UniversalId &id)
- add a button to the title bar that clones this sub view
- Member CSVDoc::View::addSubView (const CSMWorld::UniversalId &id)
add an user setting for limiting the number of sub views per top level view. Automatically open a new top level view if this number is exceeded
if the sub view limit setting is one, the sub view title bar should be hidden and the text in the main title bar adjusted accordingly
add an user setting to reuse sub views (on a per document basis or on a per top level view basis)
- Member CSVFilter::EditWidget::textChanged (const QString &text)
- improve error reporting; mark only the faulty part
- Member CSVFilter::FilterCreator::FilterCreator (CSMWorld::Data &data, QUndoStack &undoStack, const CSMWorld::UniversalId &id)
- re-enable for OpenMW 1.1
- Class CSVSettings::AbstractPage
Scripted implementation of settings should eliminate the need
derive page classes.
AbstractPage should be replaced with a general page construction class.
- Class CSVSettings::SettingWidget< QListWidget >
- Not fully implemented. Only widget supporting multi-valued settings
- Member CSVWorld::DialogueSubView::DialogueSubView (const CSMWorld::UniversalId &id, CSMDoc::Document &document, bool createAndDelete)
configure widget properly (range)
configure widget properly (range, format?)
- Member CSVWorld::IdTypeDelegate::updateEditorSetting (const QString &settingName, const QString &settingValue)
- make the setting key a member variable, that is initialised from a constructor argument
- Member CSVWorld::SceneSubView::SceneSubView (const CSMWorld::UniversalId &id, CSMDoc::Document &document)
- replace with rendering widget
- Member CSVWorld::ScriptHighlighter::ScriptHighlighter (const CSMWorld::Data &data, QTextDocument *parent)
- replace this with user settings
- Member CSVWorld::Table::contextMenuEvent (QContextMenuEvent *event)
add menu items for select all and clear selection
Reverting temporarily disabled on tables that support reordering, because revert logic currently can not handle reordering.
allow reordering of multiple rows
- Member ESM::GameSetting::getInt () const
- remove the get* functions (redundant, since mValue has equivalent functions now).
- Member ESM::Land::isDataLoaded (int flags)
- reimplement this
- Member ESM::Land::loadData (int flags)
- remove memory allocation when only defaults needed
- Member MWBase::WindowManager::getDialogueWindow ()=0
- investigate, if we really need to expose every single lousy UI element to the outside world
- Member MWBase::WindowManager::getPlayerSkillValues ()=0
- get rid of this stuff. Move it to the respective UI element classes, if needed.
- Member MWBase::World::disable (const MWWorld::Ptr &ptr)=0
- disable reference in the OGRE scene
- Member MWBase::World::enable (const MWWorld::Ptr &ptr)=0
- enable reference in the OGRE scene
- Member MWBase::World::getAnimation (const MWWorld::Ptr &ptr)=0
- Probably shouldn't be here
- Member MWBase::World::playVideo (const std::string &name, bool allowSkipping)=0
- this does not belong here
- Member MWClass::Creature::getArmorRating (const MWWorld::Ptr &ptr) const
- add Shield magic effect magnitude here, controlled by a GMST (Vanilla vs MCP behaviour)
- Member MWClass::Creature::getSpeed (const MWWorld::Ptr &ptr) const
- what about the rest?
- Member MWClass::Creature::hasToolTip (const MWWorld::Ptr &ptr) const
- We don't want tooltips for Creatures in combat mode.
- Member MWClass::Door::activate (const MWWorld::Ptr &ptr, const MWWorld::Ptr &actor) const
- remove this if clause once ActionTeleport can also support other actors
- Member MWClass::Light::canBeEquipped (const MWWorld::Ptr &ptr, const MWWorld::Ptr &npc) const
- the 2h check is repeated many times; put it in a function
- Member MWClass::Npc::hasToolTip (const MWWorld::Ptr &ptr) const
- We don't want tooltips for NPCs in combat mode.
- Member MWDialogue::JournalEntry::idFromIndex (const std::string &topic, int index)
- cleanup info structure
- Member MWDialogue::Quest::addEntry (const JournalEntry &entry)
- cleanup info structure
- Member MWGui::BookTextParser::parseFont (std::string tag)
- Member MWGui::ItemView::update ()
- performance improvement: don't create/destroy all the widgets everytime the container window changes size, only reposition them
- Member MWGui::JournalViewModelImpl::TopicEntryImpl::getText () const
- defines are not replaced (PCName etc). should probably be done elsewhere though since we need the actor
- Member MWGui::JournalViewModelImpl::toUtf8Span (std::string const &str)
- replace this nasty BS
- Member MWGui::JournalViewModelImpl::visitQuestNames (bool active_only, boost::function< void(QuestId, Utf8Span)> visitor) const
- quest.getName() is broken? returns empty string
- Member MWGui::MagicSelectionDialog::open ()
- lots of copy&pasted code from SpellWindow
- Member MWGui::PickpocketItemModel::removeItem (const ItemStack &item, size_t count)
- check if player is detected
- Member MWGui::WindowManager::getDialogueWindow ()
- investigate, if we really need to expose every single lousy UI element to the outside world
- Member MWGui::WindowManager::getPlayerSkillValues ()
- get rid of this stuff. Move it to the respective UI element classes, if needed.
- Member MWGui::WindowManager::mPlayerName
- get rid of this stuff. Move it to the respective UI element classes, if needed.
- Member MWGui::WindowManager::setValue (int parSkill, const MWMechanics::Stat< float > &value)
- Don't use the skill enum as a parameter type (we will have to drop it anyway, once we allow custom skills.
- Member MWInput::InputManager::clearAllBindings (ICS::Control *control)
- add joysticks here once they are added
- Member MWInput::InputManager::rest ()
- check if resting is currently allowed (enemies nearby?)
- Member MWMechanics::NpcStats::increaseSkill (int skillIndex, const ESM::Class &class_, bool preserveProgress)
- check if character is the player, if levelling is ever implemented for NPCs
- Member MWRender::CharacterPreview::setup ()
- Read the fallback values from INIImporter (Inventory:Directional*)
- Member MWRender::RenderingManager::cellAdded (MWWorld::CellStore *store)
- this function should be removed later. Instead the rendering subsystems should track when rebatching is needed and update automatically at the end of each frame.
- Member MWRender::RenderingManager::moveObject (const MWWorld::Ptr &ptr, const Ogre::Vector3 &position)
- move this to the rendering-subsystems
- Member MWRender::RippleSimulation::addImpulses ()
- it should be more efficient to render all emitters at once
- Member MWRender::SkyManager::setLightningEnabled (bool enabled)
- Member MWRender::SkyManager::update (float duration)
- improve this
- Member MWWorld::Cells::Cells (const MWWorld::ESMStore &store, std::vector< ESM::ESMReader > &reader)
- pass the dynamic part of the ESMStore isntead (once it is written) of the whole world
- Member MWWorld::ContainerStore::addInitialItem (const std::string &id, const std::string &owner, int count, unsigned char failChance=0, bool topLevel=true)
- implement item restocking (indicated by negative count)
- Member MWWorld::ESMStore::iterator
- replace with SharedIterator<StoreBase>
- Member MWWorld::ESMStore::load (ESM::ESMReader &esm, Loading::Listener *listener)
- Move this to somewhere else. ESMReader?
- Member MWWorld::IndexedStore< T >::load (ESM::ESMReader &esm)
- refine loading order
- Member MWWorld::PhysicsSystem::castRay (float mouseX, float mouseY)
make this distance (ray length) configurable
make this distance (ray length) configurable
- Member MWWorld::Player::setAutoMove (bool enable)
- constness
- Member MWWorld::Scene::loadCell (CellStore *cell, Loading::Listener *loadingListener)
- rescale depending on the state of a new GMST
- Member MWWorld::World::canPlaceObject (float cursorX, float cursorY)
- also check if the wanted position is on a flat surface, and not e.g. against a vertical wall!
- Member MWWorld::World::copyObjectToCell (const Ptr &ptr, CellStore &cell, const ESM::Position &pos, bool adjustPos=true)
- add searching correct cell for position specified
- Member MWWorld::World::getAnimation (const MWWorld::Ptr &ptr)
- Probably shouldn't be here
- Member MWWorld::World::isSwimming (const MWWorld::Ptr &object) const
- add check ifActor() - only actors can swim
- Member MWWorld::World::playVideo (const std::string &name, bool allowSkipping)
- this does not belong here
- Member MWWorld::World::processDoors (float duration)
- should use convexSweepTest here
- Member Nif::NiSkinInstance::post (NIFFile *nif)
- move to the write cpp file
- Member NifBullet::ManualBulletShapeLoader::handleNode (btTriangleMesh *mesh, Nif::Node const *node, int flags, bool isCollisionNode, bool raycasting, bool isMarker)
- don't do this in the editor
- Member NifOgre::NIFObjectLoader::createObjects (const std::string &name, const std::string &group, Ogre::SceneNode *sceneNode, const Nif::Node *node, ObjectScenePtr scene, int flags, int animflags, int partflags)
- don't do this in the editor
- Member OpenDialog::OpenDialog (QWidget *parent=0)
- move config to Editor class and add command line options.
- Member Terrain::QuadTreeNode::update (const Ogre::Vector3 &cameraPos, Loading::Listener *loadingListener)
- implement error metrics or some other means of not using arbitrary values (general quality needs to be user configurable as well)
- Member Terrain::Storage::getMinMaxHeights (float size, const Ogre::Vector2 ¢er, float &min, float &max)
- investigate if min/max heights should be stored at load time in ESM::Land instead