Full Code of TES3MP/openmw-tes3mp for AI

0.8.1 49be5b6405d6 cached
2839 files
14.4 MB
3.9M tokens
13025 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (15,686K chars total). Download the full file to get everything.
Repository: TES3MP/openmw-tes3mp
Branch: 0.8.1
Commit: 49be5b6405d6
Files: 2839
Total size: 14.4 MB

Directory structure:
gitextract_s3cv9ifw/

├── .editorconfig
├── .github/
│   └── FUNDING.yml
├── .gitignore
├── .gitlab-ci.yml
├── .gitmodules
├── .readthedocs.yaml
├── .travis.yml
├── AUTHORS.md
├── CHANGELOG.md
├── CHANGELOG_PR.md
├── CI/
│   ├── ActivateMSVC.ps1
│   ├── activate_msvc.sh
│   ├── before_install.android.sh
│   ├── before_install.linux.sh
│   ├── before_install.osx.sh
│   ├── before_script.android.sh
│   ├── before_script.linux.sh
│   ├── before_script.msvc.sh
│   ├── before_script.osx.sh
│   ├── build.msvc.sh
│   ├── build_googletest.sh
│   ├── check_package.osx.sh
│   ├── check_tabs.sh
│   ├── deploy.osx.sh
│   └── install_debian_deps.sh
├── CMakeLists.txt
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── apps/
│   ├── benchmarks/
│   │   ├── CMakeLists.txt
│   │   └── detournavigator/
│   │       └── navmeshtilescache.cpp
│   ├── browser/
│   │   ├── CMakeLists.txt
│   │   ├── MainWindow.cpp
│   │   ├── MainWindow.hpp
│   │   ├── MySortFilterProxyModel.cpp
│   │   ├── MySortFilterProxyModel.hpp
│   │   ├── PingHelper.cpp
│   │   ├── PingHelper.hpp
│   │   ├── PingUpdater.cpp
│   │   ├── PingUpdater.hpp
│   │   ├── QueryHelper.cpp
│   │   ├── QueryHelper.hpp
│   │   ├── ServerInfoDialog.cpp
│   │   ├── ServerInfoDialog.hpp
│   │   ├── ServerModel.cpp
│   │   ├── ServerModel.hpp
│   │   ├── Types.hpp
│   │   ├── main.cpp
│   │   └── netutils/
│   │       ├── HTTPNetwork.cpp
│   │       ├── HTTPNetwork.hpp
│   │       ├── QueryClient.cpp
│   │       ├── QueryClient.hpp
│   │       ├── Utils.cpp
│   │       └── Utils.hpp
│   ├── bsatool/
│   │   ├── CMakeLists.txt
│   │   └── bsatool.cpp
│   ├── doc.hpp
│   ├── essimporter/
│   │   ├── CMakeLists.txt
│   │   ├── convertacdt.cpp
│   │   ├── convertacdt.hpp
│   │   ├── convertcntc.cpp
│   │   ├── convertcntc.hpp
│   │   ├── convertcrec.cpp
│   │   ├── convertcrec.hpp
│   │   ├── converter.cpp
│   │   ├── converter.hpp
│   │   ├── convertinventory.cpp
│   │   ├── convertinventory.hpp
│   │   ├── convertnpcc.cpp
│   │   ├── convertnpcc.hpp
│   │   ├── convertplayer.cpp
│   │   ├── convertplayer.hpp
│   │   ├── convertscpt.cpp
│   │   ├── convertscpt.hpp
│   │   ├── convertscri.cpp
│   │   ├── convertscri.hpp
│   │   ├── importacdt.cpp
│   │   ├── importacdt.hpp
│   │   ├── importcellref.cpp
│   │   ├── importcellref.hpp
│   │   ├── importcntc.cpp
│   │   ├── importcntc.hpp
│   │   ├── importcrec.cpp
│   │   ├── importcrec.hpp
│   │   ├── importdial.cpp
│   │   ├── importdial.hpp
│   │   ├── importer.cpp
│   │   ├── importer.hpp
│   │   ├── importercontext.cpp
│   │   ├── importercontext.hpp
│   │   ├── importgame.cpp
│   │   ├── importgame.hpp
│   │   ├── importinfo.cpp
│   │   ├── importinfo.hpp
│   │   ├── importinventory.cpp
│   │   ├── importinventory.hpp
│   │   ├── importjour.cpp
│   │   ├── importjour.hpp
│   │   ├── importklst.cpp
│   │   ├── importklst.hpp
│   │   ├── importnpcc.cpp
│   │   ├── importnpcc.hpp
│   │   ├── importplayer.cpp
│   │   ├── importplayer.hpp
│   │   ├── importproj.cpp
│   │   ├── importproj.h
│   │   ├── importques.cpp
│   │   ├── importques.hpp
│   │   ├── importscpt.cpp
│   │   ├── importscpt.hpp
│   │   ├── importscri.cpp
│   │   ├── importscri.hpp
│   │   ├── importsplm.cpp
│   │   ├── importsplm.h
│   │   └── main.cpp
│   ├── launcher/
│   │   ├── CMakeLists.txt
│   │   ├── advancedpage.cpp
│   │   ├── advancedpage.hpp
│   │   ├── datafilespage.cpp
│   │   ├── datafilespage.hpp
│   │   ├── graphicspage.cpp
│   │   ├── graphicspage.hpp
│   │   ├── main.cpp
│   │   ├── maindialog.cpp
│   │   ├── maindialog.hpp
│   │   ├── playpage.cpp
│   │   ├── playpage.hpp
│   │   ├── sdlinit.cpp
│   │   ├── sdlinit.hpp
│   │   ├── settingspage.cpp
│   │   ├── settingspage.hpp
│   │   ├── textslotmsgbox.cpp
│   │   ├── textslotmsgbox.hpp
│   │   └── utils/
│   │       ├── cellnameloader.cpp
│   │       ├── cellnameloader.hpp
│   │       ├── lineedit.cpp
│   │       ├── lineedit.hpp
│   │       ├── openalutil.cpp
│   │       ├── openalutil.hpp
│   │       ├── profilescombobox.cpp
│   │       ├── profilescombobox.hpp
│   │       ├── textinputdialog.cpp
│   │       └── textinputdialog.hpp
│   ├── master/
│   │   ├── CMakeLists.txt
│   │   ├── MasterServer.cpp
│   │   ├── MasterServer.hpp
│   │   ├── RestServer.cpp
│   │   ├── RestServer.hpp
│   │   ├── ServerTest.cpp
│   │   ├── SimpleWeb/
│   │   │   ├── base_server.hpp
│   │   │   ├── http_server.hpp
│   │   │   └── https_server.hpp
│   │   └── main.cpp
│   ├── mwiniimporter/
│   │   ├── CMakeLists.txt
│   │   ├── importer.cpp
│   │   ├── importer.hpp
│   │   └── main.cpp
│   ├── niftest/
│   │   ├── CMakeLists.txt
│   │   └── niftest.cpp
│   ├── opencs/
│   │   ├── CMakeLists.txt
│   │   ├── Networking.cpp
│   │   ├── editor.cpp
│   │   ├── editor.hpp
│   │   ├── main.cpp
│   │   ├── model/
│   │   │   ├── doc/
│   │   │   │   ├── blacklist.cpp
│   │   │   │   ├── blacklist.hpp
│   │   │   │   ├── document.cpp
│   │   │   │   ├── document.hpp
│   │   │   │   ├── documentmanager.cpp
│   │   │   │   ├── documentmanager.hpp
│   │   │   │   ├── loader.cpp
│   │   │   │   ├── loader.hpp
│   │   │   │   ├── messages.cpp
│   │   │   │   ├── messages.hpp
│   │   │   │   ├── operation.cpp
│   │   │   │   ├── operation.hpp
│   │   │   │   ├── operationholder.cpp
│   │   │   │   ├── operationholder.hpp
│   │   │   │   ├── runner.cpp
│   │   │   │   ├── runner.hpp
│   │   │   │   ├── saving.cpp
│   │   │   │   ├── saving.hpp
│   │   │   │   ├── savingstages.cpp
│   │   │   │   ├── savingstages.hpp
│   │   │   │   ├── savingstate.cpp
│   │   │   │   ├── savingstate.hpp
│   │   │   │   ├── stage.cpp
│   │   │   │   ├── stage.hpp
│   │   │   │   └── state.hpp
│   │   │   ├── filter/
│   │   │   │   ├── andnode.cpp
│   │   │   │   ├── andnode.hpp
│   │   │   │   ├── booleannode.cpp
│   │   │   │   ├── booleannode.hpp
│   │   │   │   ├── leafnode.cpp
│   │   │   │   ├── leafnode.hpp
│   │   │   │   ├── narynode.cpp
│   │   │   │   ├── narynode.hpp
│   │   │   │   ├── node.cpp
│   │   │   │   ├── node.hpp
│   │   │   │   ├── notnode.cpp
│   │   │   │   ├── notnode.hpp
│   │   │   │   ├── ornode.cpp
│   │   │   │   ├── ornode.hpp
│   │   │   │   ├── parser.cpp
│   │   │   │   ├── parser.hpp
│   │   │   │   ├── textnode.cpp
│   │   │   │   ├── textnode.hpp
│   │   │   │   ├── unarynode.cpp
│   │   │   │   ├── unarynode.hpp
│   │   │   │   ├── valuenode.cpp
│   │   │   │   └── valuenode.hpp
│   │   │   ├── prefs/
│   │   │   │   ├── boolsetting.cpp
│   │   │   │   ├── boolsetting.hpp
│   │   │   │   ├── category.cpp
│   │   │   │   ├── category.hpp
│   │   │   │   ├── coloursetting.cpp
│   │   │   │   ├── coloursetting.hpp
│   │   │   │   ├── doublesetting.cpp
│   │   │   │   ├── doublesetting.hpp
│   │   │   │   ├── enumsetting.cpp
│   │   │   │   ├── enumsetting.hpp
│   │   │   │   ├── intsetting.cpp
│   │   │   │   ├── intsetting.hpp
│   │   │   │   ├── modifiersetting.cpp
│   │   │   │   ├── modifiersetting.hpp
│   │   │   │   ├── setting.cpp
│   │   │   │   ├── setting.hpp
│   │   │   │   ├── shortcut.cpp
│   │   │   │   ├── shortcut.hpp
│   │   │   │   ├── shortcuteventhandler.cpp
│   │   │   │   ├── shortcuteventhandler.hpp
│   │   │   │   ├── shortcutmanager.cpp
│   │   │   │   ├── shortcutmanager.hpp
│   │   │   │   ├── shortcutsetting.cpp
│   │   │   │   ├── shortcutsetting.hpp
│   │   │   │   ├── state.cpp
│   │   │   │   ├── state.hpp
│   │   │   │   ├── stringsetting.cpp
│   │   │   │   └── stringsetting.hpp
│   │   │   ├── tools/
│   │   │   │   ├── birthsigncheck.cpp
│   │   │   │   ├── birthsigncheck.hpp
│   │   │   │   ├── bodypartcheck.cpp
│   │   │   │   ├── bodypartcheck.hpp
│   │   │   │   ├── classcheck.cpp
│   │   │   │   ├── classcheck.hpp
│   │   │   │   ├── enchantmentcheck.cpp
│   │   │   │   ├── enchantmentcheck.hpp
│   │   │   │   ├── factioncheck.cpp
│   │   │   │   ├── factioncheck.hpp
│   │   │   │   ├── gmstcheck.cpp
│   │   │   │   ├── gmstcheck.hpp
│   │   │   │   ├── journalcheck.cpp
│   │   │   │   ├── journalcheck.hpp
│   │   │   │   ├── magiceffectcheck.cpp
│   │   │   │   ├── magiceffectcheck.hpp
│   │   │   │   ├── mandatoryid.cpp
│   │   │   │   ├── mandatoryid.hpp
│   │   │   │   ├── mergeoperation.cpp
│   │   │   │   ├── mergeoperation.hpp
│   │   │   │   ├── mergestages.cpp
│   │   │   │   ├── mergestages.hpp
│   │   │   │   ├── mergestate.hpp
│   │   │   │   ├── pathgridcheck.cpp
│   │   │   │   ├── pathgridcheck.hpp
│   │   │   │   ├── racecheck.cpp
│   │   │   │   ├── racecheck.hpp
│   │   │   │   ├── referenceablecheck.cpp
│   │   │   │   ├── referenceablecheck.hpp
│   │   │   │   ├── referencecheck.cpp
│   │   │   │   ├── referencecheck.hpp
│   │   │   │   ├── regioncheck.cpp
│   │   │   │   ├── regioncheck.hpp
│   │   │   │   ├── reportmodel.cpp
│   │   │   │   ├── reportmodel.hpp
│   │   │   │   ├── scriptcheck.cpp
│   │   │   │   ├── scriptcheck.hpp
│   │   │   │   ├── search.cpp
│   │   │   │   ├── search.hpp
│   │   │   │   ├── searchoperation.cpp
│   │   │   │   ├── searchoperation.hpp
│   │   │   │   ├── searchstage.cpp
│   │   │   │   ├── searchstage.hpp
│   │   │   │   ├── skillcheck.cpp
│   │   │   │   ├── skillcheck.hpp
│   │   │   │   ├── soundcheck.cpp
│   │   │   │   ├── soundcheck.hpp
│   │   │   │   ├── soundgencheck.cpp
│   │   │   │   ├── soundgencheck.hpp
│   │   │   │   ├── spellcheck.cpp
│   │   │   │   ├── spellcheck.hpp
│   │   │   │   ├── startscriptcheck.cpp
│   │   │   │   ├── startscriptcheck.hpp
│   │   │   │   ├── tools.cpp
│   │   │   │   ├── tools.hpp
│   │   │   │   ├── topicinfocheck.cpp
│   │   │   │   └── topicinfocheck.hpp
│   │   │   └── world/
│   │   │       ├── actoradapter.cpp
│   │   │       ├── actoradapter.hpp
│   │   │       ├── cell.cpp
│   │   │       ├── cell.hpp
│   │   │       ├── cellcoordinates.cpp
│   │   │       ├── cellcoordinates.hpp
│   │   │       ├── cellselection.cpp
│   │   │       ├── cellselection.hpp
│   │   │       ├── collection.hpp
│   │   │       ├── collectionbase.cpp
│   │   │       ├── collectionbase.hpp
│   │   │       ├── columnbase.cpp
│   │   │       ├── columnbase.hpp
│   │   │       ├── columnimp.cpp
│   │   │       ├── columnimp.hpp
│   │   │       ├── columns.cpp
│   │   │       ├── columns.hpp
│   │   │       ├── commanddispatcher.cpp
│   │   │       ├── commanddispatcher.hpp
│   │   │       ├── commandmacro.cpp
│   │   │       ├── commandmacro.hpp
│   │   │       ├── commands.cpp
│   │   │       ├── commands.hpp
│   │   │       ├── data.cpp
│   │   │       ├── data.hpp
│   │   │       ├── defaultgmsts.cpp
│   │   │       ├── defaultgmsts.hpp
│   │   │       ├── idcollection.hpp
│   │   │       ├── idcompletionmanager.cpp
│   │   │       ├── idcompletionmanager.hpp
│   │   │       ├── idtable.cpp
│   │   │       ├── idtable.hpp
│   │   │       ├── idtablebase.cpp
│   │   │       ├── idtablebase.hpp
│   │   │       ├── idtableproxymodel.cpp
│   │   │       ├── idtableproxymodel.hpp
│   │   │       ├── idtree.cpp
│   │   │       ├── idtree.hpp
│   │   │       ├── info.hpp
│   │   │       ├── infocollection.cpp
│   │   │       ├── infocollection.hpp
│   │   │       ├── infoselectwrapper.cpp
│   │   │       ├── infoselectwrapper.hpp
│   │   │       ├── infotableproxymodel.cpp
│   │   │       ├── infotableproxymodel.hpp
│   │   │       ├── land.cpp
│   │   │       ├── land.hpp
│   │   │       ├── landtexture.cpp
│   │   │       ├── landtexture.hpp
│   │   │       ├── landtexturetableproxymodel.cpp
│   │   │       ├── landtexturetableproxymodel.hpp
│   │   │       ├── metadata.cpp
│   │   │       ├── metadata.hpp
│   │   │       ├── nestedcoladapterimp.cpp
│   │   │       ├── nestedcoladapterimp.hpp
│   │   │       ├── nestedcollection.cpp
│   │   │       ├── nestedcollection.hpp
│   │   │       ├── nestedcolumnadapter.hpp
│   │   │       ├── nestedidcollection.hpp
│   │   │       ├── nestedinfocollection.cpp
│   │   │       ├── nestedinfocollection.hpp
│   │   │       ├── nestedtableproxymodel.cpp
│   │   │       ├── nestedtableproxymodel.hpp
│   │   │       ├── nestedtablewrapper.cpp
│   │   │       ├── nestedtablewrapper.hpp
│   │   │       ├── pathgrid.cpp
│   │   │       ├── pathgrid.hpp
│   │   │       ├── record.cpp
│   │   │       ├── record.hpp
│   │   │       ├── ref.cpp
│   │   │       ├── ref.hpp
│   │   │       ├── refcollection.cpp
│   │   │       ├── refcollection.hpp
│   │   │       ├── refidadapter.cpp
│   │   │       ├── refidadapter.hpp
│   │   │       ├── refidadapterimp.cpp
│   │   │       ├── refidadapterimp.hpp
│   │   │       ├── refidcollection.cpp
│   │   │       ├── refidcollection.hpp
│   │   │       ├── refiddata.cpp
│   │   │       ├── refiddata.hpp
│   │   │       ├── regionmap.cpp
│   │   │       ├── regionmap.hpp
│   │   │       ├── resources.cpp
│   │   │       ├── resources.hpp
│   │   │       ├── resourcesmanager.cpp
│   │   │       ├── resourcesmanager.hpp
│   │   │       ├── resourcetable.cpp
│   │   │       ├── resourcetable.hpp
│   │   │       ├── scope.cpp
│   │   │       ├── scope.hpp
│   │   │       ├── scriptcontext.cpp
│   │   │       ├── scriptcontext.hpp
│   │   │       ├── subcellcollection.hpp
│   │   │       ├── tablemimedata.cpp
│   │   │       ├── tablemimedata.hpp
│   │   │       ├── universalid.cpp
│   │   │       └── universalid.hpp
│   │   └── view/
│   │       ├── doc/
│   │       │   ├── adjusterwidget.cpp
│   │       │   ├── adjusterwidget.hpp
│   │       │   ├── filedialog.cpp
│   │       │   ├── filedialog.hpp
│   │       │   ├── filewidget.cpp
│   │       │   ├── filewidget.hpp
│   │       │   ├── globaldebugprofilemenu.cpp
│   │       │   ├── globaldebugprofilemenu.hpp
│   │       │   ├── loader.cpp
│   │       │   ├── loader.hpp
│   │       │   ├── newgame.cpp
│   │       │   ├── newgame.hpp
│   │       │   ├── operation.cpp
│   │       │   ├── operation.hpp
│   │       │   ├── operations.cpp
│   │       │   ├── operations.hpp
│   │       │   ├── runlogsubview.cpp
│   │       │   ├── runlogsubview.hpp
│   │       │   ├── sizehint.cpp
│   │       │   ├── sizehint.hpp
│   │       │   ├── startup.cpp
│   │       │   ├── startup.hpp
│   │       │   ├── subview.cpp
│   │       │   ├── subview.hpp
│   │       │   ├── subviewfactory.cpp
│   │       │   ├── subviewfactory.hpp
│   │       │   ├── subviewfactoryimp.hpp
│   │       │   ├── view.cpp
│   │       │   ├── view.hpp
│   │       │   ├── viewmanager.cpp
│   │       │   └── viewmanager.hpp
│   │       ├── filter/
│   │       │   ├── editwidget.cpp
│   │       │   ├── editwidget.hpp
│   │       │   ├── filterbox.cpp
│   │       │   ├── filterbox.hpp
│   │       │   ├── recordfilterbox.cpp
│   │       │   └── recordfilterbox.hpp
│   │       ├── prefs/
│   │       │   ├── contextmenulist.cpp
│   │       │   ├── contextmenulist.hpp
│   │       │   ├── dialogue.cpp
│   │       │   ├── dialogue.hpp
│   │       │   ├── keybindingpage.cpp
│   │       │   ├── keybindingpage.hpp
│   │       │   ├── page.cpp
│   │       │   ├── page.hpp
│   │       │   ├── pagebase.cpp
│   │       │   └── pagebase.hpp
│   │       ├── render/
│   │       │   ├── actor.cpp
│   │       │   ├── actor.hpp
│   │       │   ├── brushdraw.cpp
│   │       │   ├── brushdraw.hpp
│   │       │   ├── cameracontroller.cpp
│   │       │   ├── cameracontroller.hpp
│   │       │   ├── cell.cpp
│   │       │   ├── cell.hpp
│   │       │   ├── cellarrow.cpp
│   │       │   ├── cellarrow.hpp
│   │       │   ├── cellborder.cpp
│   │       │   ├── cellborder.hpp
│   │       │   ├── cellmarker.cpp
│   │       │   ├── cellmarker.hpp
│   │       │   ├── cellwater.cpp
│   │       │   ├── cellwater.hpp
│   │       │   ├── commands.cpp
│   │       │   ├── commands.hpp
│   │       │   ├── editmode.cpp
│   │       │   ├── editmode.hpp
│   │       │   ├── instancedragmodes.hpp
│   │       │   ├── instancemode.cpp
│   │       │   ├── instancemode.hpp
│   │       │   ├── instancemovemode.cpp
│   │       │   ├── instancemovemode.hpp
│   │       │   ├── instanceselectionmode.cpp
│   │       │   ├── instanceselectionmode.hpp
│   │       │   ├── lighting.cpp
│   │       │   ├── lighting.hpp
│   │       │   ├── lightingbright.cpp
│   │       │   ├── lightingbright.hpp
│   │       │   ├── lightingday.cpp
│   │       │   ├── lightingday.hpp
│   │       │   ├── lightingnight.cpp
│   │       │   ├── lightingnight.hpp
│   │       │   ├── mask.hpp
│   │       │   ├── object.cpp
│   │       │   ├── object.hpp
│   │       │   ├── orbitcameramode.cpp
│   │       │   ├── orbitcameramode.hpp
│   │       │   ├── pagedworldspacewidget.cpp
│   │       │   ├── pagedworldspacewidget.hpp
│   │       │   ├── pathgrid.cpp
│   │       │   ├── pathgrid.hpp
│   │       │   ├── pathgridmode.cpp
│   │       │   ├── pathgridmode.hpp
│   │       │   ├── pathgridselectionmode.cpp
│   │       │   ├── pathgridselectionmode.hpp
│   │       │   ├── previewwidget.cpp
│   │       │   ├── previewwidget.hpp
│   │       │   ├── scenewidget.cpp
│   │       │   ├── scenewidget.hpp
│   │       │   ├── selectionmode.cpp
│   │       │   ├── selectionmode.hpp
│   │       │   ├── tagbase.cpp
│   │       │   ├── tagbase.hpp
│   │       │   ├── terrainselection.cpp
│   │       │   ├── terrainselection.hpp
│   │       │   ├── terrainshapemode.cpp
│   │       │   ├── terrainshapemode.hpp
│   │       │   ├── terrainstorage.cpp
│   │       │   ├── terrainstorage.hpp
│   │       │   ├── terraintexturemode.cpp
│   │       │   ├── terraintexturemode.hpp
│   │       │   ├── unpagedworldspacewidget.cpp
│   │       │   ├── unpagedworldspacewidget.hpp
│   │       │   ├── worldspacewidget.cpp
│   │       │   └── worldspacewidget.hpp
│   │       ├── tools/
│   │       │   ├── merge.cpp
│   │       │   ├── merge.hpp
│   │       │   ├── reportsubview.cpp
│   │       │   ├── reportsubview.hpp
│   │       │   ├── reporttable.cpp
│   │       │   ├── reporttable.hpp
│   │       │   ├── searchbox.cpp
│   │       │   ├── searchbox.hpp
│   │       │   ├── searchsubview.cpp
│   │       │   ├── searchsubview.hpp
│   │       │   ├── subviews.cpp
│   │       │   └── subviews.hpp
│   │       ├── widget/
│   │       │   ├── brushshapes.hpp
│   │       │   ├── coloreditor.cpp
│   │       │   ├── coloreditor.hpp
│   │       │   ├── colorpickerpopup.cpp
│   │       │   ├── colorpickerpopup.hpp
│   │       │   ├── completerpopup.cpp
│   │       │   ├── completerpopup.hpp
│   │       │   ├── droplineedit.cpp
│   │       │   ├── droplineedit.hpp
│   │       │   ├── modebutton.cpp
│   │       │   ├── modebutton.hpp
│   │       │   ├── pushbutton.cpp
│   │       │   ├── pushbutton.hpp
│   │       │   ├── scenetool.cpp
│   │       │   ├── scenetool.hpp
│   │       │   ├── scenetoolbar.cpp
│   │       │   ├── scenetoolbar.hpp
│   │       │   ├── scenetoolmode.cpp
│   │       │   ├── scenetoolmode.hpp
│   │       │   ├── scenetoolrun.cpp
│   │       │   ├── scenetoolrun.hpp
│   │       │   ├── scenetoolshapebrush.cpp
│   │       │   ├── scenetoolshapebrush.hpp
│   │       │   ├── scenetooltexturebrush.cpp
│   │       │   ├── scenetooltexturebrush.hpp
│   │       │   ├── scenetooltoggle.cpp
│   │       │   ├── scenetooltoggle.hpp
│   │       │   ├── scenetooltoggle2.cpp
│   │       │   └── scenetooltoggle2.hpp
│   │       └── world/
│   │           ├── bodypartcreator.cpp
│   │           ├── bodypartcreator.hpp
│   │           ├── cellcreator.cpp
│   │           ├── cellcreator.hpp
│   │           ├── colordelegate.cpp
│   │           ├── colordelegate.hpp
│   │           ├── creator.cpp
│   │           ├── creator.hpp
│   │           ├── datadisplaydelegate.cpp
│   │           ├── datadisplaydelegate.hpp
│   │           ├── dialoguecreator.cpp
│   │           ├── dialoguecreator.hpp
│   │           ├── dialoguespinbox.cpp
│   │           ├── dialoguespinbox.hpp
│   │           ├── dialoguesubview.cpp
│   │           ├── dialoguesubview.hpp
│   │           ├── dragdroputils.cpp
│   │           ├── dragdroputils.hpp
│   │           ├── dragrecordtable.cpp
│   │           ├── dragrecordtable.hpp
│   │           ├── enumdelegate.cpp
│   │           ├── enumdelegate.hpp
│   │           ├── extendedcommandconfigurator.cpp
│   │           ├── extendedcommandconfigurator.hpp
│   │           ├── genericcreator.cpp
│   │           ├── genericcreator.hpp
│   │           ├── globalcreator.cpp
│   │           ├── globalcreator.hpp
│   │           ├── idcompletiondelegate.cpp
│   │           ├── idcompletiondelegate.hpp
│   │           ├── idtypedelegate.cpp
│   │           ├── idtypedelegate.hpp
│   │           ├── idvalidator.cpp
│   │           ├── idvalidator.hpp
│   │           ├── infocreator.cpp
│   │           ├── infocreator.hpp
│   │           ├── landcreator.cpp
│   │           ├── landcreator.hpp
│   │           ├── landtexturecreator.cpp
│   │           ├── landtexturecreator.hpp
│   │           ├── nestedtable.cpp
│   │           ├── nestedtable.hpp
│   │           ├── pathgridcreator.cpp
│   │           ├── pathgridcreator.hpp
│   │           ├── previewsubview.cpp
│   │           ├── previewsubview.hpp
│   │           ├── recordbuttonbar.cpp
│   │           ├── recordbuttonbar.hpp
│   │           ├── recordstatusdelegate.cpp
│   │           ├── recordstatusdelegate.hpp
│   │           ├── referenceablecreator.cpp
│   │           ├── referenceablecreator.hpp
│   │           ├── referencecreator.cpp
│   │           ├── referencecreator.hpp
│   │           ├── regionmap.cpp
│   │           ├── regionmap.hpp
│   │           ├── regionmapsubview.cpp
│   │           ├── regionmapsubview.hpp
│   │           ├── scenesubview.cpp
│   │           ├── scenesubview.hpp
│   │           ├── scriptedit.cpp
│   │           ├── scriptedit.hpp
│   │           ├── scripterrortable.cpp
│   │           ├── scripterrortable.hpp
│   │           ├── scripthighlighter.cpp
│   │           ├── scripthighlighter.hpp
│   │           ├── scriptsubview.cpp
│   │           ├── scriptsubview.hpp
│   │           ├── startscriptcreator.cpp
│   │           ├── startscriptcreator.hpp
│   │           ├── subviews.cpp
│   │           ├── subviews.hpp
│   │           ├── table.cpp
│   │           ├── table.hpp
│   │           ├── tablebottombox.cpp
│   │           ├── tablebottombox.hpp
│   │           ├── tableeditidaction.cpp
│   │           ├── tableeditidaction.hpp
│   │           ├── tablesubview.cpp
│   │           ├── tablesubview.hpp
│   │           ├── util.cpp
│   │           ├── util.hpp
│   │           ├── vartypedelegate.cpp
│   │           └── vartypedelegate.hpp
│   ├── openmw/
│   │   ├── CMakeLists.txt
│   │   ├── android_main.cpp
│   │   ├── doc.hpp
│   │   ├── engine.cpp
│   │   ├── engine.hpp
│   │   ├── main.cpp
│   │   ├── mwbase/
│   │   │   ├── dialoguemanager.hpp
│   │   │   ├── environment.cpp
│   │   │   ├── environment.hpp
│   │   │   ├── inputmanager.hpp
│   │   │   ├── journal.hpp
│   │   │   ├── mechanicsmanager.hpp
│   │   │   ├── rotationflags.hpp
│   │   │   ├── scriptmanager.hpp
│   │   │   ├── soundmanager.hpp
│   │   │   ├── statemanager.hpp
│   │   │   ├── windowmanager.hpp
│   │   │   └── world.hpp
│   │   ├── mwclass/
│   │   │   ├── activator.cpp
│   │   │   ├── activator.hpp
│   │   │   ├── actor.cpp
│   │   │   ├── actor.hpp
│   │   │   ├── apparatus.cpp
│   │   │   ├── apparatus.hpp
│   │   │   ├── armor.cpp
│   │   │   ├── armor.hpp
│   │   │   ├── bodypart.cpp
│   │   │   ├── bodypart.hpp
│   │   │   ├── book.cpp
│   │   │   ├── book.hpp
│   │   │   ├── classes.cpp
│   │   │   ├── classes.hpp
│   │   │   ├── clothing.cpp
│   │   │   ├── clothing.hpp
│   │   │   ├── container.cpp
│   │   │   ├── container.hpp
│   │   │   ├── creature.cpp
│   │   │   ├── creature.hpp
│   │   │   ├── creaturelevlist.cpp
│   │   │   ├── creaturelevlist.hpp
│   │   │   ├── door.cpp
│   │   │   ├── door.hpp
│   │   │   ├── ingredient.cpp
│   │   │   ├── ingredient.hpp
│   │   │   ├── itemlevlist.cpp
│   │   │   ├── itemlevlist.hpp
│   │   │   ├── light.cpp
│   │   │   ├── light.hpp
│   │   │   ├── lockpick.cpp
│   │   │   ├── lockpick.hpp
│   │   │   ├── misc.cpp
│   │   │   ├── misc.hpp
│   │   │   ├── npc.cpp
│   │   │   ├── npc.hpp
│   │   │   ├── potion.cpp
│   │   │   ├── potion.hpp
│   │   │   ├── probe.cpp
│   │   │   ├── probe.hpp
│   │   │   ├── repair.cpp
│   │   │   ├── repair.hpp
│   │   │   ├── static.cpp
│   │   │   ├── static.hpp
│   │   │   ├── weapon.cpp
│   │   │   └── weapon.hpp
│   │   ├── mwdialogue/
│   │   │   ├── dialoguemanagerimp.cpp
│   │   │   ├── dialoguemanagerimp.hpp
│   │   │   ├── filter.cpp
│   │   │   ├── filter.hpp
│   │   │   ├── hypertextparser.cpp
│   │   │   ├── hypertextparser.hpp
│   │   │   ├── journalentry.cpp
│   │   │   ├── journalentry.hpp
│   │   │   ├── journalimp.cpp
│   │   │   ├── journalimp.hpp
│   │   │   ├── keywordsearch.cpp
│   │   │   ├── keywordsearch.hpp
│   │   │   ├── quest.cpp
│   │   │   ├── quest.hpp
│   │   │   ├── scripttest.cpp
│   │   │   ├── scripttest.hpp
│   │   │   ├── selectwrapper.cpp
│   │   │   ├── selectwrapper.hpp
│   │   │   ├── topic.cpp
│   │   │   └── topic.hpp
│   │   ├── mwgui/
│   │   │   ├── alchemywindow.cpp
│   │   │   ├── alchemywindow.hpp
│   │   │   ├── backgroundimage.cpp
│   │   │   ├── backgroundimage.hpp
│   │   │   ├── birth.cpp
│   │   │   ├── birth.hpp
│   │   │   ├── bookpage.cpp
│   │   │   ├── bookpage.hpp
│   │   │   ├── bookwindow.cpp
│   │   │   ├── bookwindow.hpp
│   │   │   ├── charactercreation.cpp
│   │   │   ├── charactercreation.hpp
│   │   │   ├── class.cpp
│   │   │   ├── class.hpp
│   │   │   ├── companionitemmodel.cpp
│   │   │   ├── companionitemmodel.hpp
│   │   │   ├── companionwindow.cpp
│   │   │   ├── companionwindow.hpp
│   │   │   ├── confirmationdialog.cpp
│   │   │   ├── confirmationdialog.hpp
│   │   │   ├── console.cpp
│   │   │   ├── console.hpp
│   │   │   ├── container.cpp
│   │   │   ├── container.hpp
│   │   │   ├── containeritemmodel.cpp
│   │   │   ├── containeritemmodel.hpp
│   │   │   ├── controllers.cpp
│   │   │   ├── controllers.hpp
│   │   │   ├── countdialog.cpp
│   │   │   ├── countdialog.hpp
│   │   │   ├── cursor.cpp
│   │   │   ├── cursor.hpp
│   │   │   ├── debugwindow.cpp
│   │   │   ├── debugwindow.hpp
│   │   │   ├── dialogue.cpp
│   │   │   ├── dialogue.hpp
│   │   │   ├── draganddrop.cpp
│   │   │   ├── draganddrop.hpp
│   │   │   ├── enchantingdialog.cpp
│   │   │   ├── enchantingdialog.hpp
│   │   │   ├── exposedwindow.cpp
│   │   │   ├── exposedwindow.hpp
│   │   │   ├── formatting.cpp
│   │   │   ├── formatting.hpp
│   │   │   ├── hud.cpp
│   │   │   ├── hud.hpp
│   │   │   ├── inventoryitemmodel.cpp
│   │   │   ├── inventoryitemmodel.hpp
│   │   │   ├── inventorywindow.cpp
│   │   │   ├── inventorywindow.hpp
│   │   │   ├── itemchargeview.cpp
│   │   │   ├── itemchargeview.hpp
│   │   │   ├── itemmodel.cpp
│   │   │   ├── itemmodel.hpp
│   │   │   ├── itemselection.cpp
│   │   │   ├── itemselection.hpp
│   │   │   ├── itemview.cpp
│   │   │   ├── itemview.hpp
│   │   │   ├── itemwidget.cpp
│   │   │   ├── itemwidget.hpp
│   │   │   ├── jailscreen.cpp
│   │   │   ├── jailscreen.hpp
│   │   │   ├── journalbooks.cpp
│   │   │   ├── journalbooks.hpp
│   │   │   ├── journalviewmodel.cpp
│   │   │   ├── journalviewmodel.hpp
│   │   │   ├── journalwindow.cpp
│   │   │   ├── journalwindow.hpp
│   │   │   ├── keyboardnavigation.cpp
│   │   │   ├── keyboardnavigation.hpp
│   │   │   ├── layout.cpp
│   │   │   ├── layout.hpp
│   │   │   ├── levelupdialog.cpp
│   │   │   ├── levelupdialog.hpp
│   │   │   ├── loadingscreen.cpp
│   │   │   ├── loadingscreen.hpp
│   │   │   ├── mainmenu.cpp
│   │   │   ├── mainmenu.hpp
│   │   │   ├── mapwindow.cpp
│   │   │   ├── mapwindow.hpp
│   │   │   ├── merchantrepair.cpp
│   │   │   ├── merchantrepair.hpp
│   │   │   ├── messagebox.cpp
│   │   │   ├── messagebox.hpp
│   │   │   ├── mode.hpp
│   │   │   ├── pickpocketitemmodel.cpp
│   │   │   ├── pickpocketitemmodel.hpp
│   │   │   ├── quickkeysmenu.cpp
│   │   │   ├── quickkeysmenu.hpp
│   │   │   ├── race.cpp
│   │   │   ├── race.hpp
│   │   │   ├── recharge.cpp
│   │   │   ├── recharge.hpp
│   │   │   ├── referenceinterface.cpp
│   │   │   ├── referenceinterface.hpp
│   │   │   ├── repair.cpp
│   │   │   ├── repair.hpp
│   │   │   ├── resourceskin.cpp
│   │   │   ├── resourceskin.hpp
│   │   │   ├── review.cpp
│   │   │   ├── review.hpp
│   │   │   ├── savegamedialog.cpp
│   │   │   ├── savegamedialog.hpp
│   │   │   ├── screenfader.cpp
│   │   │   ├── screenfader.hpp
│   │   │   ├── scrollwindow.cpp
│   │   │   ├── scrollwindow.hpp
│   │   │   ├── settingswindow.cpp
│   │   │   ├── settingswindow.hpp
│   │   │   ├── sortfilteritemmodel.cpp
│   │   │   ├── sortfilteritemmodel.hpp
│   │   │   ├── soulgemdialog.cpp
│   │   │   ├── soulgemdialog.hpp
│   │   │   ├── spellbuyingwindow.cpp
│   │   │   ├── spellbuyingwindow.hpp
│   │   │   ├── spellcreationdialog.cpp
│   │   │   ├── spellcreationdialog.hpp
│   │   │   ├── spellicons.cpp
│   │   │   ├── spellicons.hpp
│   │   │   ├── spellmodel.cpp
│   │   │   ├── spellmodel.hpp
│   │   │   ├── spellview.cpp
│   │   │   ├── spellview.hpp
│   │   │   ├── spellwindow.cpp
│   │   │   ├── spellwindow.hpp
│   │   │   ├── statswatcher.cpp
│   │   │   ├── statswatcher.hpp
│   │   │   ├── statswindow.cpp
│   │   │   ├── statswindow.hpp
│   │   │   ├── textcolours.cpp
│   │   │   ├── textcolours.hpp
│   │   │   ├── textinput.cpp
│   │   │   ├── textinput.hpp
│   │   │   ├── timeadvancer.cpp
│   │   │   ├── timeadvancer.hpp
│   │   │   ├── tooltips.cpp
│   │   │   ├── tooltips.hpp
│   │   │   ├── tradeitemmodel.cpp
│   │   │   ├── tradeitemmodel.hpp
│   │   │   ├── tradewindow.cpp
│   │   │   ├── tradewindow.hpp
│   │   │   ├── trainingwindow.cpp
│   │   │   ├── trainingwindow.hpp
│   │   │   ├── travelwindow.cpp
│   │   │   ├── travelwindow.hpp
│   │   │   ├── videowidget.cpp
│   │   │   ├── videowidget.hpp
│   │   │   ├── waitdialog.cpp
│   │   │   ├── waitdialog.hpp
│   │   │   ├── widgets.cpp
│   │   │   ├── widgets.hpp
│   │   │   ├── windowbase.cpp
│   │   │   ├── windowbase.hpp
│   │   │   ├── windowmanagerimp.cpp
│   │   │   ├── windowmanagerimp.hpp
│   │   │   ├── windowpinnablebase.cpp
│   │   │   └── windowpinnablebase.hpp
│   │   ├── mwinput/
│   │   │   ├── actionmanager.cpp
│   │   │   ├── actionmanager.hpp
│   │   │   ├── actions.hpp
│   │   │   ├── bindingsmanager.cpp
│   │   │   ├── bindingsmanager.hpp
│   │   │   ├── controllermanager.cpp
│   │   │   ├── controllermanager.hpp
│   │   │   ├── controlswitch.cpp
│   │   │   ├── controlswitch.hpp
│   │   │   ├── inputmanagerimp.cpp
│   │   │   ├── inputmanagerimp.hpp
│   │   │   ├── keyboardmanager.cpp
│   │   │   ├── keyboardmanager.hpp
│   │   │   ├── mousemanager.cpp
│   │   │   ├── mousemanager.hpp
│   │   │   ├── sdlmappings.cpp
│   │   │   ├── sdlmappings.hpp
│   │   │   ├── sensormanager.cpp
│   │   │   └── sensormanager.hpp
│   │   ├── mwmechanics/
│   │   │   ├── activespells.cpp
│   │   │   ├── activespells.hpp
│   │   │   ├── actor.cpp
│   │   │   ├── actor.hpp
│   │   │   ├── actors.cpp
│   │   │   ├── actors.hpp
│   │   │   ├── actorutil.cpp
│   │   │   ├── actorutil.hpp
│   │   │   ├── aiactivate.cpp
│   │   │   ├── aiactivate.hpp
│   │   │   ├── aiavoiddoor.cpp
│   │   │   ├── aiavoiddoor.hpp
│   │   │   ├── aibreathe.cpp
│   │   │   ├── aibreathe.hpp
│   │   │   ├── aicast.cpp
│   │   │   ├── aicast.hpp
│   │   │   ├── aicombat.cpp
│   │   │   ├── aicombat.hpp
│   │   │   ├── aicombataction.cpp
│   │   │   ├── aicombataction.hpp
│   │   │   ├── aiescort.cpp
│   │   │   ├── aiescort.hpp
│   │   │   ├── aiface.cpp
│   │   │   ├── aiface.hpp
│   │   │   ├── aifollow.cpp
│   │   │   ├── aifollow.hpp
│   │   │   ├── aipackage.cpp
│   │   │   ├── aipackage.hpp
│   │   │   ├── aipackagetypeid.hpp
│   │   │   ├── aipursue.cpp
│   │   │   ├── aipursue.hpp
│   │   │   ├── aisequence.cpp
│   │   │   ├── aisequence.hpp
│   │   │   ├── aistate.hpp
│   │   │   ├── aitimer.hpp
│   │   │   ├── aitravel.cpp
│   │   │   ├── aitravel.hpp
│   │   │   ├── aiwander.cpp
│   │   │   ├── aiwander.hpp
│   │   │   ├── alchemy.cpp
│   │   │   ├── alchemy.hpp
│   │   │   ├── autocalcspell.cpp
│   │   │   ├── autocalcspell.hpp
│   │   │   ├── character.cpp
│   │   │   ├── character.hpp
│   │   │   ├── combat.cpp
│   │   │   ├── combat.hpp
│   │   │   ├── creaturestats.cpp
│   │   │   ├── creaturestats.hpp
│   │   │   ├── difficultyscaling.cpp
│   │   │   ├── difficultyscaling.hpp
│   │   │   ├── disease.hpp
│   │   │   ├── drawstate.hpp
│   │   │   ├── enchanting.cpp
│   │   │   ├── enchanting.hpp
│   │   │   ├── levelledlist.hpp
│   │   │   ├── linkedeffects.cpp
│   │   │   ├── linkedeffects.hpp
│   │   │   ├── magiceffects.cpp
│   │   │   ├── magiceffects.hpp
│   │   │   ├── mechanicsmanagerimp.cpp
│   │   │   ├── mechanicsmanagerimp.hpp
│   │   │   ├── movement.hpp
│   │   │   ├── npcstats.cpp
│   │   │   ├── npcstats.hpp
│   │   │   ├── objects.cpp
│   │   │   ├── objects.hpp
│   │   │   ├── obstacle.cpp
│   │   │   ├── obstacle.hpp
│   │   │   ├── pathfinding.cpp
│   │   │   ├── pathfinding.hpp
│   │   │   ├── pathgrid.cpp
│   │   │   ├── pathgrid.hpp
│   │   │   ├── pickpocket.cpp
│   │   │   ├── pickpocket.hpp
│   │   │   ├── recharge.cpp
│   │   │   ├── recharge.hpp
│   │   │   ├── repair.cpp
│   │   │   ├── repair.hpp
│   │   │   ├── security.cpp
│   │   │   ├── security.hpp
│   │   │   ├── spellabsorption.cpp
│   │   │   ├── spellabsorption.hpp
│   │   │   ├── spellcasting.cpp
│   │   │   ├── spellcasting.hpp
│   │   │   ├── spelllist.cpp
│   │   │   ├── spelllist.hpp
│   │   │   ├── spellpriority.cpp
│   │   │   ├── spellpriority.hpp
│   │   │   ├── spellresistance.cpp
│   │   │   ├── spellresistance.hpp
│   │   │   ├── spells.cpp
│   │   │   ├── spells.hpp
│   │   │   ├── spellutil.cpp
│   │   │   ├── spellutil.hpp
│   │   │   ├── stat.cpp
│   │   │   ├── stat.hpp
│   │   │   ├── steering.cpp
│   │   │   ├── steering.hpp
│   │   │   ├── summoning.cpp
│   │   │   ├── summoning.hpp
│   │   │   ├── tickableeffects.cpp
│   │   │   ├── tickableeffects.hpp
│   │   │   ├── trading.cpp
│   │   │   ├── trading.hpp
│   │   │   ├── typedaipackage.hpp
│   │   │   ├── weaponpriority.cpp
│   │   │   ├── weaponpriority.hpp
│   │   │   ├── weapontype.cpp
│   │   │   └── weapontype.hpp
│   │   ├── mwmp/
│   │   │   ├── ActorList.cpp
│   │   │   ├── ActorList.hpp
│   │   │   ├── Cell.cpp
│   │   │   ├── Cell.hpp
│   │   │   ├── CellController.cpp
│   │   │   ├── CellController.hpp
│   │   │   ├── DedicatedActor.cpp
│   │   │   ├── DedicatedActor.hpp
│   │   │   ├── DedicatedPlayer.cpp
│   │   │   ├── DedicatedPlayer.hpp
│   │   │   ├── GUI/
│   │   │   │   ├── GUIChat.cpp
│   │   │   │   ├── GUIChat.hpp
│   │   │   │   ├── GUIDialogList.cpp
│   │   │   │   ├── GUIDialogList.hpp
│   │   │   │   ├── GUILogin.cpp
│   │   │   │   ├── GUILogin.hpp
│   │   │   │   ├── PlayerMarkerCollection.cpp
│   │   │   │   ├── PlayerMarkerCollection.hpp
│   │   │   │   ├── TextInputDialog.cpp
│   │   │   │   └── TextInputDialog.hpp
│   │   │   ├── GUIController.cpp
│   │   │   ├── GUIController.hpp
│   │   │   ├── LocalActor.cpp
│   │   │   ├── LocalActor.hpp
│   │   │   ├── LocalPlayer.cpp
│   │   │   ├── LocalPlayer.hpp
│   │   │   ├── LocalSystem.cpp
│   │   │   ├── LocalSystem.hpp
│   │   │   ├── Main.cpp
│   │   │   ├── Main.hpp
│   │   │   ├── MechanicsHelper.cpp
│   │   │   ├── MechanicsHelper.hpp
│   │   │   ├── Networking.cpp
│   │   │   ├── Networking.hpp
│   │   │   ├── ObjectList.cpp
│   │   │   ├── ObjectList.hpp
│   │   │   ├── PlayerList.cpp
│   │   │   ├── PlayerList.hpp
│   │   │   ├── RecordHelper.cpp
│   │   │   ├── RecordHelper.hpp
│   │   │   ├── ScriptController.cpp
│   │   │   ├── ScriptController.hpp
│   │   │   ├── Worldstate.cpp
│   │   │   ├── Worldstate.hpp
│   │   │   └── processors/
│   │   │       ├── ActorProcessor.cpp
│   │   │       ├── ActorProcessor.hpp
│   │   │       ├── BaseClientPacketProcessor.cpp
│   │   │       ├── BaseClientPacketProcessor.hpp
│   │   │       ├── ObjectProcessor.cpp
│   │   │       ├── ObjectProcessor.hpp
│   │   │       ├── PlayerProcessor.cpp
│   │   │       ├── PlayerProcessor.hpp
│   │   │       ├── ProcessorInitializer.cpp
│   │   │       ├── ProcessorInitializer.hpp
│   │   │       ├── SystemProcessor.cpp
│   │   │       ├── SystemProcessor.hpp
│   │   │       ├── WorldstateProcessor.cpp
│   │   │       ├── WorldstateProcessor.hpp
│   │   │       ├── actor/
│   │   │       │   ├── ProcessorActorAI.hpp
│   │   │       │   ├── ProcessorActorAnimFlags.hpp
│   │   │       │   ├── ProcessorActorAnimPlay.hpp
│   │   │       │   ├── ProcessorActorAttack.hpp
│   │   │       │   ├── ProcessorActorAuthority.hpp
│   │   │       │   ├── ProcessorActorCast.hpp
│   │   │       │   ├── ProcessorActorCellChange.hpp
│   │   │       │   ├── ProcessorActorDeath.hpp
│   │   │       │   ├── ProcessorActorEquipment.hpp
│   │   │       │   ├── ProcessorActorList.hpp
│   │   │       │   ├── ProcessorActorPosition.hpp
│   │   │       │   ├── ProcessorActorSpeech.hpp
│   │   │       │   ├── ProcessorActorSpellsActive.hpp
│   │   │       │   ├── ProcessorActorStatsDynamic.hpp
│   │   │       │   └── ProcessorActorTest.hpp
│   │   │       ├── object/
│   │   │       │   ├── BaseObjectProcessor.hpp
│   │   │       │   ├── ProcessorClientScriptLocal.hpp
│   │   │       │   ├── ProcessorConsoleCommand.hpp
│   │   │       │   ├── ProcessorContainer.hpp
│   │   │       │   ├── ProcessorDoorDestination.hpp
│   │   │       │   ├── ProcessorDoorState.hpp
│   │   │       │   ├── ProcessorMusicPlay.hpp
│   │   │       │   ├── ProcessorObjectActivate.hpp
│   │   │       │   ├── ProcessorObjectAnimPlay.hpp
│   │   │       │   ├── ProcessorObjectAttach.hpp
│   │   │       │   ├── ProcessorObjectDelete.hpp
│   │   │       │   ├── ProcessorObjectDialogueChoice.hpp
│   │   │       │   ├── ProcessorObjectHit.hpp
│   │   │       │   ├── ProcessorObjectLock.hpp
│   │   │       │   ├── ProcessorObjectMiscellaneous.hpp
│   │   │       │   ├── ProcessorObjectMove.hpp
│   │   │       │   ├── ProcessorObjectPlace.hpp
│   │   │       │   ├── ProcessorObjectRestock.hpp
│   │   │       │   ├── ProcessorObjectRotate.hpp
│   │   │       │   ├── ProcessorObjectScale.hpp
│   │   │       │   ├── ProcessorObjectSound.hpp
│   │   │       │   ├── ProcessorObjectSpawn.hpp
│   │   │       │   ├── ProcessorObjectState.hpp
│   │   │       │   ├── ProcessorObjectTrap.hpp
│   │   │       │   ├── ProcessorScriptMemberShort.hpp
│   │   │       │   └── ProcessorVideoPlay.hpp
│   │   │       ├── player/
│   │   │       │   ├── ProcessorChatMessage.hpp
│   │   │       │   ├── ProcessorGUIMessageBox.hpp
│   │   │       │   ├── ProcessorGameSettings.hpp
│   │   │       │   ├── ProcessorPlayerAlly.hpp
│   │   │       │   ├── ProcessorPlayerAnimFlags.hpp
│   │   │       │   ├── ProcessorPlayerAnimPlay.hpp
│   │   │       │   ├── ProcessorPlayerAttack.hpp
│   │   │       │   ├── ProcessorPlayerAttribute.hpp
│   │   │       │   ├── ProcessorPlayerBaseInfo.hpp
│   │   │       │   ├── ProcessorPlayerBehavior.hpp
│   │   │       │   ├── ProcessorPlayerBook.hpp
│   │   │       │   ├── ProcessorPlayerBounty.hpp
│   │   │       │   ├── ProcessorPlayerCast.hpp
│   │   │       │   ├── ProcessorPlayerCellChange.hpp
│   │   │       │   ├── ProcessorPlayerCellState.hpp
│   │   │       │   ├── ProcessorPlayerCharClass.hpp
│   │   │       │   ├── ProcessorPlayerCharGen.hpp
│   │   │       │   ├── ProcessorPlayerCooldowns.hpp
│   │   │       │   ├── ProcessorPlayerDeath.hpp
│   │   │       │   ├── ProcessorPlayerDisposition.hpp
│   │   │       │   ├── ProcessorPlayerEquipment.hpp
│   │   │       │   ├── ProcessorPlayerFaction.hpp
│   │   │       │   ├── ProcessorPlayerInput.hpp
│   │   │       │   ├── ProcessorPlayerInventory.hpp
│   │   │       │   ├── ProcessorPlayerItemUse.hpp
│   │   │       │   ├── ProcessorPlayerJail.hpp
│   │   │       │   ├── ProcessorPlayerJournal.hpp
│   │   │       │   ├── ProcessorPlayerLevel.hpp
│   │   │       │   ├── ProcessorPlayerMiscellaneous.hpp
│   │   │       │   ├── ProcessorPlayerMomentum.hpp
│   │   │       │   ├── ProcessorPlayerPosition.hpp
│   │   │       │   ├── ProcessorPlayerQuickKeys.hpp
│   │   │       │   ├── ProcessorPlayerReputation.hpp
│   │   │       │   ├── ProcessorPlayerRest.hpp
│   │   │       │   ├── ProcessorPlayerResurrect.hpp
│   │   │       │   ├── ProcessorPlayerShapeshift.hpp
│   │   │       │   ├── ProcessorPlayerSkill.hpp
│   │   │       │   ├── ProcessorPlayerSpeech.hpp
│   │   │       │   ├── ProcessorPlayerSpellbook.hpp
│   │   │       │   ├── ProcessorPlayerSpellsActive.hpp
│   │   │       │   ├── ProcessorPlayerStatsDynamic.hpp
│   │   │       │   ├── ProcessorPlayerTopic.hpp
│   │   │       │   └── ProcessorUserDisconnected.hpp
│   │   │       ├── system/
│   │   │       │   └── ProcessorSystemHandshake.hpp
│   │   │       └── worldstate/
│   │   │           ├── ProcessorCellReset.hpp
│   │   │           ├── ProcessorClientScriptGlobal.hpp
│   │   │           ├── ProcessorClientScriptSettings.hpp
│   │   │           ├── ProcessorRecordDynamic.hpp
│   │   │           ├── ProcessorWorldCollisionOverride.hpp
│   │   │           ├── ProcessorWorldDestinationOverride.hpp
│   │   │           ├── ProcessorWorldKillCount.hpp
│   │   │           ├── ProcessorWorldMap.hpp
│   │   │           ├── ProcessorWorldRegionAuthority.hpp
│   │   │           ├── ProcessorWorldTime.hpp
│   │   │           └── ProcessorWorldWeather.hpp
│   │   ├── mwphysics/
│   │   │   ├── actor.cpp
│   │   │   ├── actor.hpp
│   │   │   ├── actorconvexcallback.cpp
│   │   │   ├── actorconvexcallback.hpp
│   │   │   ├── closestnotmerayresultcallback.cpp
│   │   │   ├── closestnotmerayresultcallback.hpp
│   │   │   ├── collisiontype.hpp
│   │   │   ├── constants.hpp
│   │   │   ├── contacttestresultcallback.cpp
│   │   │   ├── contacttestresultcallback.hpp
│   │   │   ├── contacttestwrapper.cpp
│   │   │   ├── contacttestwrapper.h
│   │   │   ├── deepestnotmecontacttestresultcallback.cpp
│   │   │   ├── deepestnotmecontacttestresultcallback.hpp
│   │   │   ├── hasspherecollisioncallback.hpp
│   │   │   ├── heightfield.cpp
│   │   │   ├── heightfield.hpp
│   │   │   ├── movementsolver.cpp
│   │   │   ├── movementsolver.hpp
│   │   │   ├── mtphysics.cpp
│   │   │   ├── mtphysics.hpp
│   │   │   ├── object.cpp
│   │   │   ├── object.hpp
│   │   │   ├── physicssystem.cpp
│   │   │   ├── physicssystem.hpp
│   │   │   ├── projectile.cpp
│   │   │   ├── projectile.hpp
│   │   │   ├── projectileconvexcallback.cpp
│   │   │   ├── projectileconvexcallback.hpp
│   │   │   ├── ptrholder.hpp
│   │   │   ├── raycasting.hpp
│   │   │   ├── stepper.cpp
│   │   │   ├── stepper.hpp
│   │   │   ├── trace.cpp
│   │   │   └── trace.h
│   │   ├── mwrender/
│   │   │   ├── .gitignore
│   │   │   ├── actoranimation.cpp
│   │   │   ├── actoranimation.hpp
│   │   │   ├── actorspaths.cpp
│   │   │   ├── actorspaths.hpp
│   │   │   ├── animation.cpp
│   │   │   ├── animation.hpp
│   │   │   ├── bulletdebugdraw.cpp
│   │   │   ├── bulletdebugdraw.hpp
│   │   │   ├── camera.cpp
│   │   │   ├── camera.hpp
│   │   │   ├── cell.hpp
│   │   │   ├── characterpreview.cpp
│   │   │   ├── characterpreview.hpp
│   │   │   ├── creatureanimation.cpp
│   │   │   ├── creatureanimation.hpp
│   │   │   ├── effectmanager.cpp
│   │   │   ├── effectmanager.hpp
│   │   │   ├── fogmanager.cpp
│   │   │   ├── fogmanager.hpp
│   │   │   ├── globalmap.cpp
│   │   │   ├── globalmap.hpp
│   │   │   ├── groundcover.cpp
│   │   │   ├── groundcover.hpp
│   │   │   ├── landmanager.cpp
│   │   │   ├── landmanager.hpp
│   │   │   ├── localmap.cpp
│   │   │   ├── localmap.hpp
│   │   │   ├── navmesh.cpp
│   │   │   ├── navmesh.hpp
│   │   │   ├── npcanimation.cpp
│   │   │   ├── npcanimation.hpp
│   │   │   ├── objectpaging.cpp
│   │   │   ├── objectpaging.hpp
│   │   │   ├── objects.cpp
│   │   │   ├── objects.hpp
│   │   │   ├── pathgrid.cpp
│   │   │   ├── pathgrid.hpp
│   │   │   ├── recastmesh.cpp
│   │   │   ├── recastmesh.hpp
│   │   │   ├── renderbin.hpp
│   │   │   ├── renderinginterface.hpp
│   │   │   ├── renderingmanager.cpp
│   │   │   ├── renderingmanager.hpp
│   │   │   ├── rendermode.hpp
│   │   │   ├── ripplesimulation.cpp
│   │   │   ├── ripplesimulation.hpp
│   │   │   ├── rotatecontroller.cpp
│   │   │   ├── rotatecontroller.hpp
│   │   │   ├── screenshotmanager.cpp
│   │   │   ├── screenshotmanager.hpp
│   │   │   ├── sky.cpp
│   │   │   ├── sky.hpp
│   │   │   ├── terrainstorage.cpp
│   │   │   ├── terrainstorage.hpp
│   │   │   ├── util.cpp
│   │   │   ├── util.hpp
│   │   │   ├── viewovershoulder.cpp
│   │   │   ├── viewovershoulder.hpp
│   │   │   ├── vismask.hpp
│   │   │   ├── water.cpp
│   │   │   ├── water.hpp
│   │   │   ├── weaponanimation.cpp
│   │   │   └── weaponanimation.hpp
│   │   ├── mwscript/
│   │   │   ├── aiextensions.cpp
│   │   │   ├── aiextensions.hpp
│   │   │   ├── animationextensions.cpp
│   │   │   ├── animationextensions.hpp
│   │   │   ├── cellextensions.cpp
│   │   │   ├── cellextensions.hpp
│   │   │   ├── compilercontext.cpp
│   │   │   ├── compilercontext.hpp
│   │   │   ├── consoleextensions.cpp
│   │   │   ├── consoleextensions.hpp
│   │   │   ├── containerextensions.cpp
│   │   │   ├── containerextensions.hpp
│   │   │   ├── controlextensions.cpp
│   │   │   ├── controlextensions.hpp
│   │   │   ├── dialogueextensions.cpp
│   │   │   ├── dialogueextensions.hpp
│   │   │   ├── docs/
│   │   │   │   └── vmformat.txt
│   │   │   ├── extensions.cpp
│   │   │   ├── extensions.hpp
│   │   │   ├── globalscripts.cpp
│   │   │   ├── globalscripts.hpp
│   │   │   ├── guiextensions.cpp
│   │   │   ├── guiextensions.hpp
│   │   │   ├── interpretercontext.cpp
│   │   │   ├── interpretercontext.hpp
│   │   │   ├── locals.cpp
│   │   │   ├── locals.hpp
│   │   │   ├── miscextensions.cpp
│   │   │   ├── miscextensions.hpp
│   │   │   ├── ref.cpp
│   │   │   ├── ref.hpp
│   │   │   ├── scriptmanagerimp.cpp
│   │   │   ├── scriptmanagerimp.hpp
│   │   │   ├── skyextensions.cpp
│   │   │   ├── skyextensions.hpp
│   │   │   ├── soundextensions.cpp
│   │   │   ├── soundextensions.hpp
│   │   │   ├── statsextensions.cpp
│   │   │   ├── statsextensions.hpp
│   │   │   ├── transformationextensions.cpp
│   │   │   ├── transformationextensions.hpp
│   │   │   ├── userextensions.cpp
│   │   │   └── userextensions.hpp
│   │   ├── mwsound/
│   │   │   ├── alext.h
│   │   │   ├── efx-presets.h
│   │   │   ├── efx.h
│   │   │   ├── ffmpeg_decoder.cpp
│   │   │   ├── ffmpeg_decoder.hpp
│   │   │   ├── loudness.cpp
│   │   │   ├── loudness.hpp
│   │   │   ├── movieaudiofactory.cpp
│   │   │   ├── movieaudiofactory.hpp
│   │   │   ├── openal_output.cpp
│   │   │   ├── openal_output.hpp
│   │   │   ├── regionsoundselector.cpp
│   │   │   ├── regionsoundselector.hpp
│   │   │   ├── sound.hpp
│   │   │   ├── sound_buffer.cpp
│   │   │   ├── sound_buffer.hpp
│   │   │   ├── sound_decoder.hpp
│   │   │   ├── sound_output.hpp
│   │   │   ├── soundmanagerimp.cpp
│   │   │   ├── soundmanagerimp.hpp
│   │   │   ├── type.hpp
│   │   │   ├── volumesettings.cpp
│   │   │   ├── volumesettings.hpp
│   │   │   ├── watersoundupdater.cpp
│   │   │   └── watersoundupdater.hpp
│   │   ├── mwstate/
│   │   │   ├── character.cpp
│   │   │   ├── character.hpp
│   │   │   ├── charactermanager.cpp
│   │   │   ├── charactermanager.hpp
│   │   │   ├── quicksavemanager.cpp
│   │   │   ├── quicksavemanager.hpp
│   │   │   ├── statemanagerimp.cpp
│   │   │   └── statemanagerimp.hpp
│   │   └── mwworld/
│   │       ├── action.cpp
│   │       ├── action.hpp
│   │       ├── actionalchemy.cpp
│   │       ├── actionalchemy.hpp
│   │       ├── actionapply.cpp
│   │       ├── actionapply.hpp
│   │       ├── actiondoor.cpp
│   │       ├── actiondoor.hpp
│   │       ├── actioneat.cpp
│   │       ├── actioneat.hpp
│   │       ├── actionequip.cpp
│   │       ├── actionequip.hpp
│   │       ├── actionharvest.cpp
│   │       ├── actionharvest.hpp
│   │       ├── actionopen.cpp
│   │       ├── actionopen.hpp
│   │       ├── actionread.cpp
│   │       ├── actionread.hpp
│   │       ├── actionrepair.cpp
│   │       ├── actionrepair.hpp
│   │       ├── actionsoulgem.cpp
│   │       ├── actionsoulgem.hpp
│   │       ├── actiontake.cpp
│   │       ├── actiontake.hpp
│   │       ├── actiontalk.cpp
│   │       ├── actiontalk.hpp
│   │       ├── actionteleport.cpp
│   │       ├── actionteleport.hpp
│   │       ├── actiontrap.cpp
│   │       ├── actiontrap.hpp
│   │       ├── cellpreloader.cpp
│   │       ├── cellpreloader.hpp
│   │       ├── cellref.cpp
│   │       ├── cellref.hpp
│   │       ├── cellreflist.hpp
│   │       ├── cells.cpp
│   │       ├── cells.hpp
│   │       ├── cellstore.cpp
│   │       ├── cellstore.hpp
│   │       ├── cellvisitors.hpp
│   │       ├── class.cpp
│   │       ├── class.hpp
│   │       ├── containerstore.cpp
│   │       ├── containerstore.hpp
│   │       ├── contentloader.hpp
│   │       ├── customdata.cpp
│   │       ├── customdata.hpp
│   │       ├── datetimemanager.cpp
│   │       ├── datetimemanager.hpp
│   │       ├── doorstate.hpp
│   │       ├── esmloader.cpp
│   │       ├── esmloader.hpp
│   │       ├── esmstore.cpp
│   │       ├── esmstore.hpp
│   │       ├── failedaction.cpp
│   │       ├── failedaction.hpp
│   │       ├── globals.cpp
│   │       ├── globals.hpp
│   │       ├── inventorystore.cpp
│   │       ├── inventorystore.hpp
│   │       ├── livecellref.cpp
│   │       ├── livecellref.hpp
│   │       ├── localscripts.cpp
│   │       ├── localscripts.hpp
│   │       ├── manualref.cpp
│   │       ├── manualref.hpp
│   │       ├── nullaction.hpp
│   │       ├── player.cpp
│   │       ├── player.hpp
│   │       ├── projectilemanager.cpp
│   │       ├── projectilemanager.hpp
│   │       ├── ptr.cpp
│   │       ├── ptr.hpp
│   │       ├── recordcmp.hpp
│   │       ├── refdata.cpp
│   │       ├── refdata.hpp
│   │       ├── scene.cpp
│   │       ├── scene.hpp
│   │       ├── store.cpp
│   │       ├── store.hpp
│   │       ├── timestamp.cpp
│   │       ├── timestamp.hpp
│   │       ├── weather.cpp
│   │       ├── weather.hpp
│   │       ├── worldimp.cpp
│   │       └── worldimp.hpp
│   ├── openmw-mp/
│   │   ├── CMakeLists.txt
│   │   ├── Cell.cpp
│   │   ├── Cell.hpp
│   │   ├── CellController.cpp
│   │   ├── CellController.hpp
│   │   ├── MasterClient.cpp
│   │   ├── MasterClient.hpp
│   │   ├── Networking.cpp
│   │   ├── Networking.hpp
│   │   ├── Player.cpp
│   │   ├── Player.hpp
│   │   ├── Script/
│   │   │   ├── API/
│   │   │   │   ├── PublicFnAPI.cpp
│   │   │   │   ├── PublicFnAPI.hpp
│   │   │   │   ├── TimerAPI.cpp
│   │   │   │   └── TimerAPI.hpp
│   │   │   ├── Functions/
│   │   │   │   ├── Actors.cpp
│   │   │   │   ├── Actors.hpp
│   │   │   │   ├── Books.cpp
│   │   │   │   ├── Books.hpp
│   │   │   │   ├── Cells.cpp
│   │   │   │   ├── Cells.hpp
│   │   │   │   ├── CharClass.cpp
│   │   │   │   ├── CharClass.hpp
│   │   │   │   ├── Chat.cpp
│   │   │   │   ├── Chat.hpp
│   │   │   │   ├── Dialogue.cpp
│   │   │   │   ├── Dialogue.hpp
│   │   │   │   ├── Factions.cpp
│   │   │   │   ├── Factions.hpp
│   │   │   │   ├── GUI.cpp
│   │   │   │   ├── GUI.hpp
│   │   │   │   ├── Items.cpp
│   │   │   │   ├── Items.hpp
│   │   │   │   ├── Mechanics.cpp
│   │   │   │   ├── Mechanics.hpp
│   │   │   │   ├── Miscellaneous.cpp
│   │   │   │   ├── Miscellaneous.hpp
│   │   │   │   ├── Objects.cpp
│   │   │   │   ├── Objects.hpp
│   │   │   │   ├── Positions.cpp
│   │   │   │   ├── Positions.hpp
│   │   │   │   ├── Quests.cpp
│   │   │   │   ├── Quests.hpp
│   │   │   │   ├── RecordsDynamic.cpp
│   │   │   │   ├── RecordsDynamic.hpp
│   │   │   │   ├── Server.cpp
│   │   │   │   ├── Server.hpp
│   │   │   │   ├── Settings.cpp
│   │   │   │   ├── Settings.hpp
│   │   │   │   ├── Shapeshift.cpp
│   │   │   │   ├── Shapeshift.hpp
│   │   │   │   ├── Spells.cpp
│   │   │   │   ├── Spells.hpp
│   │   │   │   ├── Stats.cpp
│   │   │   │   ├── Stats.hpp
│   │   │   │   ├── Timer.cpp
│   │   │   │   ├── Worldstate.cpp
│   │   │   │   └── Worldstate.hpp
│   │   │   ├── LangLua/
│   │   │   │   ├── LangLua.cpp
│   │   │   │   ├── LangLua.hpp
│   │   │   │   └── LuaFunc.cpp
│   │   │   ├── LangNative/
│   │   │   │   ├── LangNative.cpp
│   │   │   │   └── LangNative.hpp
│   │   │   ├── Language.hpp
│   │   │   ├── Platform.hpp
│   │   │   ├── Script.cpp
│   │   │   ├── Script.hpp
│   │   │   ├── ScriptFunction.cpp
│   │   │   ├── ScriptFunction.hpp
│   │   │   ├── ScriptFunctions.cpp
│   │   │   ├── ScriptFunctions.hpp
│   │   │   ├── SystemInterface.hpp
│   │   │   └── Types.hpp
│   │   ├── Utils.cpp
│   │   ├── Utils.hpp
│   │   ├── handleInput.cpp
│   │   ├── main.cpp
│   │   └── processors/
│   │       ├── ActorProcessor.cpp
│   │       ├── ActorProcessor.hpp
│   │       ├── ObjectProcessor.cpp
│   │       ├── ObjectProcessor.hpp
│   │       ├── PlayerProcessor.cpp
│   │       ├── PlayerProcessor.hpp
│   │       ├── ProcessorInitializer.cpp
│   │       ├── ProcessorInitializer.hpp
│   │       ├── WorldstateProcessor.cpp
│   │       ├── WorldstateProcessor.hpp
│   │       ├── actor/
│   │       │   ├── ProcessorActorAI.hpp
│   │       │   ├── ProcessorActorAnimFlags.hpp
│   │       │   ├── ProcessorActorAnimPlay.hpp
│   │       │   ├── ProcessorActorAttack.hpp
│   │       │   ├── ProcessorActorCast.hpp
│   │       │   ├── ProcessorActorCellChange.hpp
│   │       │   ├── ProcessorActorDeath.hpp
│   │       │   ├── ProcessorActorEquipment.hpp
│   │       │   ├── ProcessorActorList.hpp
│   │       │   ├── ProcessorActorPosition.hpp
│   │       │   ├── ProcessorActorSpeech.hpp
│   │       │   ├── ProcessorActorSpellsActive.hpp
│   │       │   ├── ProcessorActorStatsDynamic.hpp
│   │       │   └── ProcessorActorTest.hpp
│   │       ├── object/
│   │       │   ├── ProcessorClientScriptLocal.hpp
│   │       │   ├── ProcessorConsoleCommand.hpp
│   │       │   ├── ProcessorContainer.hpp
│   │       │   ├── ProcessorDoorState.hpp
│   │       │   ├── ProcessorMusicPlay.hpp
│   │       │   ├── ProcessorObjectActivate.hpp
│   │       │   ├── ProcessorObjectAnimPlay.hpp
│   │       │   ├── ProcessorObjectDelete.hpp
│   │       │   ├── ProcessorObjectDialogueChoice.hpp
│   │       │   ├── ProcessorObjectHit.hpp
│   │       │   ├── ProcessorObjectLock.hpp
│   │       │   ├── ProcessorObjectMiscellaneous.hpp
│   │       │   ├── ProcessorObjectMove.hpp
│   │       │   ├── ProcessorObjectPlace.hpp
│   │       │   ├── ProcessorObjectRestock.hpp
│   │       │   ├── ProcessorObjectRotate.hpp
│   │       │   ├── ProcessorObjectScale.hpp
│   │       │   ├── ProcessorObjectSound.hpp
│   │       │   ├── ProcessorObjectSpawn.hpp
│   │       │   ├── ProcessorObjectState.hpp
│   │       │   ├── ProcessorObjectTrap.hpp
│   │       │   ├── ProcessorScriptMemberShort.hpp
│   │       │   └── ProcessorVideoPlay.hpp
│   │       ├── player/
│   │       │   ├── ProcessorChatMsg.hpp
│   │       │   ├── ProcessorGUIMessageBox.hpp
│   │       │   ├── ProcessorPlayerAnimFlags.hpp
│   │       │   ├── ProcessorPlayerAnimPlay.hpp
│   │       │   ├── ProcessorPlayerAttack.hpp
│   │       │   ├── ProcessorPlayerAttribute.hpp
│   │       │   ├── ProcessorPlayerBook.hpp
│   │       │   ├── ProcessorPlayerBounty.hpp
│   │       │   ├── ProcessorPlayerCast.hpp
│   │       │   ├── ProcessorPlayerCellChange.hpp
│   │       │   ├── ProcessorPlayerCellState.hpp
│   │       │   ├── ProcessorPlayerCharClass.hpp
│   │       │   ├── ProcessorPlayerCharGen.hpp
│   │       │   ├── ProcessorPlayerCooldowns.hpp
│   │       │   ├── ProcessorPlayerDeath.hpp
│   │       │   ├── ProcessorPlayerDisposition.hpp
│   │       │   ├── ProcessorPlayerEquipment.hpp
│   │       │   ├── ProcessorPlayerFaction.hpp
│   │       │   ├── ProcessorPlayerInput.hpp
│   │       │   ├── ProcessorPlayerInventory.hpp
│   │       │   ├── ProcessorPlayerItemUse.hpp
│   │       │   ├── ProcessorPlayerJournal.hpp
│   │       │   ├── ProcessorPlayerLevel.hpp
│   │       │   ├── ProcessorPlayerMiscellaneous.hpp
│   │       │   ├── ProcessorPlayerPlaceholder.hpp
│   │       │   ├── ProcessorPlayerPosition.hpp
│   │       │   ├── ProcessorPlayerQuickKeys.hpp
│   │       │   ├── ProcessorPlayerReputation.hpp
│   │       │   ├── ProcessorPlayerRest.hpp
│   │       │   ├── ProcessorPlayerResurrect.hpp
│   │       │   ├── ProcessorPlayerShapeshift.hpp
│   │       │   ├── ProcessorPlayerSkill.hpp
│   │       │   ├── ProcessorPlayerSpeech.hpp
│   │       │   ├── ProcessorPlayerSpellbook.hpp
│   │       │   ├── ProcessorPlayerSpellsActive.hpp
│   │       │   ├── ProcessorPlayerStatsDynamic.hpp
│   │       │   └── ProcessorPlayerTopic.hpp
│   │       └── worldstate/
│   │           ├── ProcessorClientScriptGlobal.hpp
│   │           ├── ProcessorRecordDynamic.hpp
│   │           ├── ProcessorWorldKillCount.hpp
│   │           ├── ProcessorWorldMap.hpp
│   │           └── ProcessorWorldWeather.hpp
│   ├── openmw_test_suite/
│   │   ├── CMakeLists.txt
│   │   ├── detournavigator/
│   │   │   ├── gettilespositions.cpp
│   │   │   ├── navigator.cpp
│   │   │   ├── navmeshtilescache.cpp
│   │   │   ├── operators.hpp
│   │   │   ├── recastmeshbuilder.cpp
│   │   │   ├── recastmeshobject.cpp
│   │   │   ├── settingsutils.cpp
│   │   │   └── tilecachedrecastmeshmanager.cpp
│   │   ├── esm/
│   │   │   ├── test_fixed_string.cpp
│   │   │   └── variant.cpp
│   │   ├── misc/
│   │   │   ├── test_endianness.cpp
│   │   │   └── test_stringops.cpp
│   │   ├── mwdialogue/
│   │   │   └── test_keywordsearch.cpp
│   │   ├── mwworld/
│   │   │   └── test_store.cpp
│   │   ├── nifloader/
│   │   │   └── testbulletnifloader.cpp
│   │   ├── openmw_test_suite.cpp
│   │   ├── settings/
│   │   │   └── parser.cpp
│   │   └── shader/
│   │       ├── parsedefines.cpp
│   │       ├── parsefors.cpp
│   │       └── shadermanager.cpp
│   └── wizard/
│       ├── CMakeLists.txt
│       ├── componentselectionpage.cpp
│       ├── componentselectionpage.hpp
│       ├── conclusionpage.cpp
│       ├── conclusionpage.hpp
│       ├── existinginstallationpage.cpp
│       ├── existinginstallationpage.hpp
│       ├── importpage.cpp
│       ├── importpage.hpp
│       ├── inisettings.cpp
│       ├── inisettings.hpp
│       ├── installationpage.cpp
│       ├── installationpage.hpp
│       ├── installationtargetpage.cpp
│       ├── installationtargetpage.hpp
│       ├── intropage.cpp
│       ├── intropage.hpp
│       ├── languageselectionpage.cpp
│       ├── languageselectionpage.hpp
│       ├── main.cpp
│       ├── mainwizard.cpp
│       ├── mainwizard.hpp
│       ├── methodselectionpage.cpp
│       ├── methodselectionpage.hpp
│       ├── unshield/
│       │   ├── unshieldworker.cpp
│       │   └── unshieldworker.hpp
│       └── utils/
│           ├── componentlistwidget.cpp
│           └── componentlistwidget.hpp
├── appveyor.yml
├── cmake/
│   ├── COPYING-CMAKE-SCRIPTS
│   ├── CheckBulletPrecision.cmake
│   ├── FindCallFF.cmake
│   ├── FindFFmpeg.cmake
│   ├── FindGMock.cmake
│   ├── FindLIBUNSHIELD.cmake
│   ├── FindLZ4.cmake
│   ├── FindLuaJit.cmake
│   ├── FindMyGUI.cmake
│   ├── FindOSGPlugins.cmake
│   ├── FindRakNet.cmake
│   ├── FindRecastNavigation.cmake
│   ├── FindSDL2.cmake
│   ├── FindSphinx.cmake
│   ├── FindTinyXML.cmake
│   ├── GitVersion.cmake
│   ├── LibFindMacros.cmake
│   ├── OpenMWMacros.cmake
│   ├── WholeArchive.cmake
│   └── base64.cmake
├── components/
│   ├── CMakeLists.txt
│   ├── bsa/
│   │   ├── bsa_file.cpp
│   │   ├── bsa_file.hpp
│   │   ├── compressedbsafile.cpp
│   │   ├── compressedbsafile.hpp
│   │   ├── memorystream.cpp
│   │   └── memorystream.hpp
│   ├── bullethelpers/
│   │   ├── aabb.hpp
│   │   ├── operators.hpp
│   │   ├── processtrianglecallback.hpp
│   │   └── transformboundingbox.hpp
│   ├── compiler/
│   │   ├── context.hpp
│   │   ├── controlparser.cpp
│   │   ├── controlparser.hpp
│   │   ├── declarationparser.cpp
│   │   ├── declarationparser.hpp
│   │   ├── discardparser.cpp
│   │   ├── discardparser.hpp
│   │   ├── errorhandler.cpp
│   │   ├── errorhandler.hpp
│   │   ├── exception.hpp
│   │   ├── exprparser.cpp
│   │   ├── exprparser.hpp
│   │   ├── extensions.cpp
│   │   ├── extensions.hpp
│   │   ├── extensions0.cpp
│   │   ├── extensions0.hpp
│   │   ├── fileparser.cpp
│   │   ├── fileparser.hpp
│   │   ├── generator.cpp
│   │   ├── generator.hpp
│   │   ├── junkparser.cpp
│   │   ├── junkparser.hpp
│   │   ├── lineparser.cpp
│   │   ├── lineparser.hpp
│   │   ├── literals.cpp
│   │   ├── literals.hpp
│   │   ├── locals.cpp
│   │   ├── locals.hpp
│   │   ├── nullerrorhandler.cpp
│   │   ├── nullerrorhandler.hpp
│   │   ├── opcodes.cpp
│   │   ├── opcodes.hpp
│   │   ├── output.cpp
│   │   ├── output.hpp
│   │   ├── parser.cpp
│   │   ├── parser.hpp
│   │   ├── quickfileparser.cpp
│   │   ├── quickfileparser.hpp
│   │   ├── scanner.cpp
│   │   ├── scanner.hpp
│   │   ├── scriptparser.cpp
│   │   ├── scriptparser.hpp
│   │   ├── skipparser.cpp
│   │   ├── skipparser.hpp
│   │   ├── streamerrorhandler.cpp
│   │   ├── streamerrorhandler.hpp
│   │   ├── stringparser.cpp
│   │   ├── stringparser.hpp
│   │   └── tokenloc.hpp
│   ├── config/
│   │   ├── gamesettings.cpp
│   │   ├── gamesettings.hpp
│   │   ├── launchersettings.cpp
│   │   ├── launchersettings.hpp
│   │   └── settingsbase.hpp
│   ├── contentselector/
│   │   ├── model/
│   │   │   ├── contentmodel.cpp
│   │   │   ├── contentmodel.hpp
│   │   │   ├── esmfile.cpp
│   │   │   ├── esmfile.hpp
│   │   │   ├── loadordererror.cpp
│   │   │   ├── loadordererror.hpp
│   │   │   ├── modelitem.cpp
│   │   │   ├── modelitem.hpp
│   │   │   ├── naturalsort.cpp
│   │   │   └── naturalsort.hpp
│   │   └── view/
│   │       ├── combobox.cpp
│   │       ├── combobox.hpp
│   │       ├── contentselector.cpp
│   │       └── contentselector.hpp
│   ├── crashcatcher/
│   │   ├── crashcatcher.cpp
│   │   ├── crashcatcher.hpp
│   │   ├── windows_crashcatcher.cpp
│   │   ├── windows_crashcatcher.hpp
│   │   ├── windows_crashmonitor.cpp
│   │   ├── windows_crashmonitor.hpp
│   │   └── windows_crashshm.hpp
│   ├── debug/
│   │   ├── debugging.cpp
│   │   ├── debugging.hpp
│   │   ├── debuglog.cpp
│   │   ├── debuglog.hpp
│   │   ├── gldebug.cpp
│   │   └── gldebug.hpp
│   ├── detournavigator/
│   │   ├── areatype.hpp
│   │   ├── asyncnavmeshupdater.cpp
│   │   ├── asyncnavmeshupdater.hpp
│   │   ├── bounds.hpp
│   │   ├── cachedrecastmeshmanager.cpp
│   │   ├── cachedrecastmeshmanager.hpp
│   │   ├── debug.cpp
│   │   ├── debug.hpp
│   │   ├── dtstatus.hpp
│   │   ├── exceptions.hpp
│   │   ├── findrandompointaroundcircle.cpp
│   │   ├── findrandompointaroundcircle.hpp
│   │   ├── findsmoothpath.cpp
│   │   ├── findsmoothpath.hpp
│   │   ├── flags.hpp
│   │   ├── gettilespositions.hpp
│   │   ├── makenavmesh.cpp
│   │   ├── makenavmesh.hpp
│   │   ├── navigator.cpp
│   │   ├── navigator.hpp
│   │   ├── navigatorimpl.cpp
│   │   ├── navigatorimpl.hpp
│   │   ├── navigatorstub.hpp
│   │   ├── navmeshcacheitem.hpp
│   │   ├── navmeshdata.hpp
│   │   ├── navmeshmanager.cpp
│   │   ├── navmeshmanager.hpp
│   │   ├── navmeshtilescache.cpp
│   │   ├── navmeshtilescache.hpp
│   │   ├── navmeshtileview.cpp
│   │   ├── navmeshtileview.hpp
│   │   ├── objectid.hpp
│   │   ├── offmeshconnection.hpp
│   │   ├── offmeshconnectionsmanager.cpp
│   │   ├── offmeshconnectionsmanager.hpp
│   │   ├── oscillatingrecastmeshobject.cpp
│   │   ├── oscillatingrecastmeshobject.hpp
│   │   ├── raycast.cpp
│   │   ├── raycast.hpp
│   │   ├── recastallocutils.hpp
│   │   ├── recastglobalallocator.hpp
│   │   ├── recastmesh.cpp
│   │   ├── recastmesh.hpp
│   │   ├── recastmeshbuilder.cpp
│   │   ├── recastmeshbuilder.hpp
│   │   ├── recastmeshmanager.cpp
│   │   ├── recastmeshmanager.hpp
│   │   ├── recastmeshobject.cpp
│   │   ├── recastmeshobject.hpp
│   │   ├── recastmeshtiles.hpp
│   │   ├── recasttempallocator.hpp
│   │   ├── settings.cpp
│   │   ├── settings.hpp
│   │   ├── settingsutils.hpp
│   │   ├── sharednavmesh.hpp
│   │   ├── status.hpp
│   │   ├── tilebounds.hpp
│   │   ├── tilecachedrecastmeshmanager.cpp
│   │   ├── tilecachedrecastmeshmanager.hpp
│   │   ├── tileposition.hpp
│   │   ├── version.hpp
│   │   └── waitconditiontype.hpp
│   ├── doc.hpp
│   ├── esm/
│   │   ├── activespells.cpp
│   │   ├── activespells.hpp
│   │   ├── aipackage.cpp
│   │   ├── aipackage.hpp
│   │   ├── aisequence.cpp
│   │   ├── aisequence.hpp
│   │   ├── animationstate.cpp
│   │   ├── animationstate.hpp
│   │   ├── attr.cpp
│   │   ├── attr.hpp
│   │   ├── cellid.cpp
│   │   ├── cellid.hpp
│   │   ├── cellref.cpp
│   │   ├── cellref.hpp
│   │   ├── cellstate.cpp
│   │   ├── cellstate.hpp
│   │   ├── containerstate.cpp
│   │   ├── containerstate.hpp
│   │   ├── controlsstate.cpp
│   │   ├── controlsstate.hpp
│   │   ├── creaturelevliststate.cpp
│   │   ├── creaturelevliststate.hpp
│   │   ├── creaturestate.cpp
│   │   ├── creaturestate.hpp
│   │   ├── creaturestats.cpp
│   │   ├── creaturestats.hpp
│   │   ├── custommarkerstate.cpp
│   │   ├── custommarkerstate.hpp
│   │   ├── debugprofile.cpp
│   │   ├── debugprofile.hpp
│   │   ├── defs.hpp
│   │   ├── dialoguestate.cpp
│   │   ├── dialoguestate.hpp
│   │   ├── doorstate.cpp
│   │   ├── doorstate.hpp
│   │   ├── effectlist.cpp
│   │   ├── effectlist.hpp
│   │   ├── esmcommon.hpp
│   │   ├── esmreader.cpp
│   │   ├── esmreader.hpp
│   │   ├── esmwriter.cpp
│   │   ├── esmwriter.hpp
│   │   ├── filter.cpp
│   │   ├── filter.hpp
│   │   ├── fogstate.cpp
│   │   ├── fogstate.hpp
│   │   ├── globalmap.cpp
│   │   ├── globalmap.hpp
│   │   ├── globalscript.cpp
│   │   ├── globalscript.hpp
│   │   ├── inventorystate.cpp
│   │   ├── inventorystate.hpp
│   │   ├── journalentry.cpp
│   │   ├── journalentry.hpp
│   │   ├── loadacti.cpp
│   │   ├── loadacti.hpp
│   │   ├── loadalch.cpp
│   │   ├── loadalch.hpp
│   │   ├── loadappa.cpp
│   │   ├── loadappa.hpp
│   │   ├── loadarmo.cpp
│   │   ├── loadarmo.hpp
│   │   ├── loadbody.cpp
│   │   ├── loadbody.hpp
│   │   ├── loadbook.cpp
│   │   ├── loadbook.hpp
│   │   ├── loadbsgn.cpp
│   │   ├── loadbsgn.hpp
│   │   ├── loadcell.cpp
│   │   ├── loadcell.hpp
│   │   ├── loadclas.cpp
│   │   ├── loadclas.hpp
│   │   ├── loadclot.cpp
│   │   ├── loadclot.hpp
│   │   ├── loadcont.cpp
│   │   ├── loadcont.hpp
│   │   ├── loadcrea.cpp
│   │   ├── loadcrea.hpp
│   │   ├── loaddial.cpp
│   │   ├── loaddial.hpp
│   │   ├── loaddoor.cpp
│   │   ├── loaddoor.hpp
│   │   ├── loadench.cpp
│   │   ├── loadench.hpp
│   │   ├── loadfact.cpp
│   │   ├── loadfact.hpp
│   │   ├── loadglob.cpp
│   │   ├── loadglob.hpp
│   │   ├── loadgmst.cpp
│   │   ├── loadgmst.hpp
│   │   ├── loadinfo.cpp
│   │   ├── loadinfo.hpp
│   │   ├── loadingr.cpp
│   │   ├── loadingr.hpp
│   │   ├── loadland.cpp
│   │   ├── loadland.hpp
│   │   ├── loadlevlist.cpp
│   │   ├── loadlevlist.hpp
│   │   ├── loadligh.cpp
│   │   ├── loadligh.hpp
│   │   ├── loadlock.cpp
│   │   ├── loadlock.hpp
│   │   ├── loadltex.cpp
│   │   ├── loadltex.hpp
│   │   ├── loadmgef.cpp
│   │   ├── loadmgef.hpp
│   │   ├── loadmisc.cpp
│   │   ├── loadmisc.hpp
│   │   ├── loadnpc.cpp
│   │   ├── loadnpc.hpp
│   │   ├── loadpgrd.cpp
│   │   ├── loadpgrd.hpp
│   │   ├── loadprob.cpp
│   │   ├── loadprob.hpp
│   │   ├── loadrace.cpp
│   │   ├── loadrace.hpp
│   │   ├── loadregn.cpp
│   │   ├── loadregn.hpp
│   │   ├── loadrepa.cpp
│   │   ├── loadrepa.hpp
│   │   ├── loadscpt.cpp
│   │   ├── loadscpt.hpp
│   │   ├── loadskil.cpp
│   │   ├── loadskil.hpp
│   │   ├── loadsndg.cpp
│   │   ├── loadsndg.hpp
│   │   ├── loadsoun.cpp
│   │   ├── loadsoun.hpp
│   │   ├── loadspel.cpp
│   │   ├── loadspel.hpp
│   │   ├── loadsscr.cpp
│   │   ├── loadsscr.hpp
│   │   ├── loadstat.cpp
│   │   ├── loadstat.hpp
│   │   ├── loadtes3.cpp
│   │   ├── loadtes3.hpp
│   │   ├── loadweap.cpp
│   │   ├── loadweap.hpp
│   │   ├── locals.cpp
│   │   ├── locals.hpp
│   │   ├── magiceffects.cpp
│   │   ├── magiceffects.hpp
│   │   ├── mappings.cpp
│   │   ├── mappings.hpp
│   │   ├── npcstate.cpp
│   │   ├── npcstate.hpp
│   │   ├── npcstats.cpp
│   │   ├── npcstats.hpp
│   │   ├── objectstate.cpp
│   │   ├── objectstate.hpp
│   │   ├── player.cpp
│   │   ├── player.hpp
│   │   ├── projectilestate.cpp
│   │   ├── projectilestate.hpp
│   │   ├── queststate.cpp
│   │   ├── queststate.hpp
│   │   ├── quickkeys.cpp
│   │   ├── quickkeys.hpp
│   │   ├── records.hpp
│   │   ├── savedgame.cpp
│   │   ├── savedgame.hpp
│   │   ├── spelllist.cpp
│   │   ├── spelllist.hpp
│   │   ├── spellstate.cpp
│   │   ├── spellstate.hpp
│   │   ├── statstate.cpp
│   │   ├── statstate.hpp
│   │   ├── stolenitems.cpp
│   │   ├── stolenitems.hpp
│   │   ├── transport.cpp
│   │   ├── transport.hpp
│   │   ├── util.hpp
│   │   ├── variant.cpp
│   │   ├── variant.hpp
│   │   ├── variantimp.cpp
│   │   ├── variantimp.hpp
│   │   ├── weatherstate.cpp
│   │   └── weatherstate.hpp
│   ├── esmterrain/
│   │   ├── storage.cpp
│   │   └── storage.hpp
│   ├── fallback/
│   │   ├── fallback.cpp
│   │   ├── fallback.hpp
│   │   ├── validate.cpp
│   │   └── validate.hpp
│   ├── files/
│   │   ├── androidpath.cpp
│   │   ├── androidpath.hpp
│   │   ├── collections.cpp
│   │   ├── collections.hpp
│   │   ├── configurationmanager.cpp
│   │   ├── configurationmanager.hpp
│   │   ├── constrainedfilestream.cpp
│   │   ├── constrainedfilestream.hpp
│   │   ├── escape.cpp
│   │   ├── escape.hpp
│   │   ├── fixedpath.hpp
│   │   ├── linuxpath.cpp
│   │   ├── linuxpath.hpp
│   │   ├── lowlevelfile.cpp
│   │   ├── lowlevelfile.hpp
│   │   ├── macospath.cpp
│   │   ├── macospath.hpp
│   │   ├── memorystream.hpp
│   │   ├── multidircollection.cpp
│   │   ├── multidircollection.hpp
│   │   ├── windowspath.cpp
│   │   └── windowspath.hpp
│   ├── fontloader/
│   │   ├── fontloader.cpp
│   │   └── fontloader.hpp
│   ├── interpreter/
│   │   ├── context.hpp
│   │   ├── controlopcodes.hpp
│   │   ├── defines.cpp
│   │   ├── defines.hpp
│   │   ├── docs/
│   │   │   └── vmformat.txt
│   │   ├── genericopcodes.hpp
│   │   ├── installopcodes.cpp
│   │   ├── installopcodes.hpp
│   │   ├── interpreter.cpp
│   │   ├── interpreter.hpp
│   │   ├── localopcodes.hpp
│   │   ├── mathopcodes.hpp
│   │   ├── miscopcodes.hpp
│   │   ├── opcodes.hpp
│   │   ├── runtime.cpp
│   │   ├── runtime.hpp
│   │   └── types.hpp
│   ├── loadinglistener/
│   │   └── loadinglistener.hpp
│   ├── misc/
│   │   ├── algorithm.hpp
│   │   ├── barrier.hpp
│   │   ├── budgetmeasurement.hpp
│   │   ├── constants.hpp
│   │   ├── convert.hpp
│   │   ├── coordinateconverter.hpp
│   │   ├── debugging.hpp
│   │   ├── endianness.hpp
│   │   ├── frameratelimiter.hpp
│   │   ├── guarded.hpp
│   │   ├── hash.hpp
│   │   ├── helpviewer.cpp
│   │   ├── helpviewer.hpp
│   │   ├── mathutil.hpp
│   │   ├── messageformatparser.cpp
│   │   ├── messageformatparser.hpp
│   │   ├── objectpool.hpp
│   │   ├── resourcehelpers.cpp
│   │   ├── resourcehelpers.hpp
│   │   ├── rng.cpp
│   │   ├── rng.hpp
│   │   ├── stringops.hpp
│   │   ├── thread.cpp
│   │   ├── thread.hpp
│   │   ├── timer.hpp
│   │   ├── utf8stream.hpp
│   │   └── weakcache.hpp
│   ├── myguiplatform/
│   │   ├── additivelayer.cpp
│   │   ├── additivelayer.hpp
│   │   ├── myguicompat.h
│   │   ├── myguidatamanager.cpp
│   │   ├── myguidatamanager.hpp
│   │   ├── myguiloglistener.cpp
│   │   ├── myguiloglistener.hpp
│   │   ├── myguiplatform.cpp
│   │   ├── myguiplatform.hpp
│   │   ├── myguirendermanager.cpp
│   │   ├── myguirendermanager.hpp
│   │   ├── myguitexture.cpp
│   │   ├── myguitexture.hpp
│   │   ├── scalinglayer.cpp
│   │   └── scalinglayer.hpp
│   ├── nif/
│   │   ├── base.hpp
│   │   ├── controlled.cpp
│   │   ├── controlled.hpp
│   │   ├── controller.cpp
│   │   ├── controller.hpp
│   │   ├── data.cpp
│   │   ├── data.hpp
│   │   ├── effect.cpp
│   │   ├── effect.hpp
│   │   ├── extra.cpp
│   │   ├── extra.hpp
│   │   ├── niffile.cpp
│   │   ├── niffile.hpp
│   │   ├── nifkey.hpp
│   │   ├── nifstream.cpp
│   │   ├── nifstream.hpp
│   │   ├── niftypes.hpp
│   │   ├── node.cpp
│   │   ├── node.hpp
│   │   ├── property.cpp
│   │   ├── property.hpp
│   │   ├── record.hpp
│   │   └── recordptr.hpp
│   ├── nifbullet/
│   │   ├── bulletnifloader.cpp
│   │   └── bulletnifloader.hpp
│   ├── nifosg/
│   │   ├── controller.cpp
│   │   ├── controller.hpp
│   │   ├── matrixtransform.cpp
│   │   ├── matrixtransform.hpp
│   │   ├── nifloader.cpp
│   │   ├── nifloader.hpp
│   │   ├── particle.cpp
│   │   └── particle.hpp
│   ├── openmw-mp/
│   │   ├── Base/
│   │   │   ├── BaseActor.hpp
│   │   │   ├── BaseObject.hpp
│   │   │   ├── BasePacketProcessor.hpp
│   │   │   ├── BasePlayer.hpp
│   │   │   ├── BaseStructs.hpp
│   │   │   ├── BaseSystem.hpp
│   │   │   └── BaseWorldstate.hpp
│   │   ├── Controllers/
│   │   │   ├── ActorPacketController.cpp
│   │   │   ├── ActorPacketController.hpp
│   │   │   ├── ObjectPacketController.cpp
│   │   │   ├── ObjectPacketController.hpp
│   │   │   ├── PlayerPacketController.cpp
│   │   │   ├── PlayerPacketController.hpp
│   │   │   ├── SystemPacketController.cpp
│   │   │   ├── SystemPacketController.hpp
│   │   │   ├── WorldstatePacketController.cpp
│   │   │   └── WorldstatePacketController.hpp
│   │   ├── ErrorMessages.hpp
│   │   ├── Master/
│   │   │   ├── MasterData.hpp
│   │   │   ├── PacketMasterAnnounce.cpp
│   │   │   ├── PacketMasterAnnounce.hpp
│   │   │   ├── PacketMasterQuery.cpp
│   │   │   ├── PacketMasterQuery.hpp
│   │   │   ├── PacketMasterUpdate.cpp
│   │   │   ├── PacketMasterUpdate.hpp
│   │   │   └── ProxyMasterPacket.hpp
│   │   ├── NetworkMessages.hpp
│   │   ├── Packets/
│   │   │   ├── Actor/
│   │   │   │   ├── ActorPacket.cpp
│   │   │   │   ├── ActorPacket.hpp
│   │   │   │   ├── PacketActorAI.cpp
│   │   │   │   ├── PacketActorAI.hpp
│   │   │   │   ├── PacketActorAnimFlags.cpp
│   │   │   │   ├── PacketActorAnimFlags.hpp
│   │   │   │   ├── PacketActorAnimPlay.cpp
│   │   │   │   ├── PacketActorAnimPlay.hpp
│   │   │   │   ├── PacketActorAttack.cpp
│   │   │   │   ├── PacketActorAttack.hpp
│   │   │   │   ├── PacketActorAuthority.cpp
│   │   │   │   ├── PacketActorAuthority.hpp
│   │   │   │   ├── PacketActorCast.cpp
│   │   │   │   ├── PacketActorCast.hpp
│   │   │   │   ├── PacketActorCellChange.cpp
│   │   │   │   ├── PacketActorCellChange.hpp
│   │   │   │   ├── PacketActorDeath.cpp
│   │   │   │   ├── PacketActorDeath.hpp
│   │   │   │   ├── PacketActorEquipment.cpp
│   │   │   │   ├── PacketActorEquipment.hpp
│   │   │   │   ├── PacketActorList.cpp
│   │   │   │   ├── PacketActorList.hpp
│   │   │   │   ├── PacketActorPosition.cpp
│   │   │   │   ├── PacketActorPosition.hpp
│   │   │   │   ├── PacketActorSpeech.cpp
│   │   │   │   ├── PacketActorSpeech.hpp
│   │   │   │   ├── PacketActorSpellsActive.cpp
│   │   │   │   ├── PacketActorSpellsActive.hpp
│   │   │   │   ├── PacketActorStatsDynamic.cpp
│   │   │   │   ├── PacketActorStatsDynamic.hpp
│   │   │   │   ├── PacketActorTest.cpp
│   │   │   │   └── PacketActorTest.hpp
│   │   │   ├── BasePacket.cpp
│   │   │   ├── BasePacket.hpp
│   │   │   ├── Object/
│   │   │   │   ├── ObjectPacket.cpp
│   │   │   │   ├── ObjectPacket.hpp
│   │   │   │   ├── PacketClientScriptLocal.cpp
│   │   │   │   ├── PacketClientScriptLocal.hpp
│   │   │   │   ├── PacketConsoleCommand.cpp
│   │   │   │   ├── PacketConsoleCommand.hpp
│   │   │   │   ├── PacketContainer.cpp
│   │   │   │   ├── PacketContainer.hpp
│   │   │   │   ├── PacketDoorDestination.cpp
│   │   │   │   ├── PacketDoorDestination.hpp
│   │   │   │   ├── PacketDoorState.cpp
│   │   │   │   ├── PacketDoorState.hpp
│   │   │   │   ├── PacketMusicPlay.cpp
│   │   │   │   ├── PacketMusicPlay.hpp
│   │   │   │   ├── PacketObjectActivate.cpp
│   │   │   │   ├── PacketObjectActivate.hpp
│   │   │   │   ├── PacketObjectAnimPlay.cpp
│   │   │   │   ├── PacketObjectAnimPlay.hpp
│   │   │   │   ├── PacketObjectAttach.cpp
│   │   │   │   ├── PacketObjectAttach.hpp
│   │   │   │   ├── PacketObjectDelete.cpp
│   │   │   │   ├── PacketObjectDelete.hpp
│   │   │   │   ├── PacketObjectDialogueChoice.cpp
│   │   │   │   ├── PacketObjectDialogueChoice.hpp
│   │   │   │   ├── PacketObjectHit.cpp
│   │   │   │   ├── PacketObjectHit.hpp
│   │   │   │   ├── PacketObjectLock.cpp
│   │   │   │   ├── PacketObjectLock.hpp
│   │   │   │   ├── PacketObjectMiscellaneous.cpp
│   │   │   │   ├── PacketObjectMiscellaneous.hpp
│   │   │   │   ├── PacketObjectMove.cpp
│   │   │   │   ├── PacketObjectMove.hpp
│   │   │   │   ├── PacketObjectPlace.cpp
│   │   │   │   ├── PacketObjectPlace.hpp
│   │   │   │   ├── PacketObjectRestock.cpp
│   │   │   │   ├── PacketObjectRestock.hpp
│   │   │   │   ├── PacketObjectRotate.cpp
│   │   │   │   ├── PacketObjectRotate.hpp
│   │   │   │   ├── PacketObjectScale.cpp
│   │   │   │   ├── PacketObjectScale.hpp
│   │   │   │   ├── PacketObjectSound.cpp
│   │   │   │   ├── PacketObjectSound.hpp
│   │   │   │   ├── PacketObjectSpawn.cpp
│   │   │   │   ├── PacketObjectSpawn.hpp
│   │   │   │   ├── PacketObjectState.cpp
│   │   │   │   ├── PacketObjectState.hpp
│   │   │   │   ├── PacketObjectTrap.cpp
│   │   │   │   ├── PacketObjectTrap.hpp
│   │   │   │   ├── PacketScriptMemberShort.cpp
│   │   │   │   ├── PacketScriptMemberShort.hpp
│   │   │   │   ├── PacketVideoPlay.cpp
│   │   │   │   └── PacketVideoPlay.hpp
│   │   │   ├── PacketPreInit.cpp
│   │   │   ├── PacketPreInit.hpp
│   │   │   ├── Player/
│   │   │   │   ├── PacketChatMessage.cpp
│   │   │   │   ├── PacketChatMessage.hpp
│   │   │   │   ├── PacketDisconnect.hpp
│   │   │   │   ├── PacketGUIBoxes.cpp
│   │   │   │   ├── PacketGUIBoxes.hpp
│   │   │   │   ├── PacketGameSettings.cpp
│   │   │   │   ├── PacketGameSettings.hpp
│   │   │   │   ├── PacketLoaded.hpp
│   │   │   │   ├── PacketPlayerAlly.cpp
│   │   │   │   ├── PacketPlayerAlly.hpp
│   │   │   │   ├── PacketPlayerAnimFlags.cpp
│   │   │   │   ├── PacketPlayerAnimFlags.hpp
│   │   │   │   ├── PacketPlayerAnimPlay.cpp
│   │   │   │   ├── PacketPlayerAnimPlay.hpp
│   │   │   │   ├── PacketPlayerAttack.cpp
│   │   │   │   ├── PacketPlayerAttack.hpp
│   │   │   │   ├── PacketPlayerAttribute.cpp
│   │   │   │   ├── PacketPlayerAttribute.hpp
│   │   │   │   ├── PacketPlayerBaseInfo.cpp
│   │   │   │   ├── PacketPlayerBaseInfo.hpp
│   │   │   │   ├── PacketPlayerBehavior.cpp
│   │   │   │   ├── PacketPlayerBehavior.hpp
│   │   │   │   ├── PacketPlayerBook.cpp
│   │   │   │   ├── PacketPlayerBook.hpp
│   │   │   │   ├── PacketPlayerBounty.cpp
│   │   │   │   ├── PacketPlayerBounty.hpp
│   │   │   │   ├── PacketPlayerCast.cpp
│   │   │   │   ├── PacketPlayerCast.hpp
│   │   │   │   ├── PacketPlayerCellChange.cpp
│   │   │   │   ├── PacketPlayerCellChange.hpp
│   │   │   │   ├── PacketPlayerCellState.cpp
│   │   │   │   ├── PacketPlayerCellState.hpp
│   │   │   │   ├── PacketPlayerCharGen.cpp
│   │   │   │   ├── PacketPlayerCharGen.hpp
│   │   │   │   ├── PacketPlayerClass.cpp
│   │   │   │   ├── PacketPlayerClass.hpp
│   │   │   │   ├── PacketPlayerCooldowns.cpp
│   │   │   │   ├── PacketPlayerCooldowns.hpp
│   │   │   │   ├── PacketPlayerDeath.cpp
│   │   │   │   ├── PacketPlayerDeath.hpp
│   │   │   │   ├── PacketPlayerEquipment.cpp
│   │   │   │   ├── PacketPlayerEquipment.hpp
│   │   │   │   ├── PacketPlayerFaction.cpp
│   │   │   │   ├── PacketPlayerFaction.hpp
│   │   │   │   ├── PacketPlayerInput.cpp
│   │   │   │   ├── PacketPlayerInput.hpp
│   │   │   │   ├── PacketPlayerInventory.cpp
│   │   │   │   ├── PacketPlayerInventory.hpp
│   │   │   │   ├── PacketPlayerItemUse.cpp
│   │   │   │   ├── PacketPlayerItemUse.hpp
│   │   │   │   ├── PacketPlayerJail.cpp
│   │   │   │   ├── PacketPlayerJail.hpp
│   │   │   │   ├── PacketPlayerJournal.cpp
│   │   │   │   ├── PacketPlayerJournal.hpp
│   │   │   │   ├── PacketPlayerLevel.cpp
│   │   │   │   ├── PacketPlayerLevel.hpp
│   │   │   │   ├── PacketPlayerMiscellaneous.cpp
│   │   │   │   ├── PacketPlayerMiscellaneous.hpp
│   │   │   │   ├── PacketPlayerMomentum.cpp
│   │   │   │   ├── PacketPlayerMomentum.hpp
│   │   │   │   ├── PacketPlayerPosition.cpp
│   │   │   │   ├── PacketPlayerPosition.hpp
│   │   │   │   ├── PacketPlayerQuickKeys.cpp
│   │   │   │   ├── PacketPlayerQuickKeys.hpp
│   │   │   │   ├── PacketPlayerRegionAuthority.cpp
│   │   │   │   ├── PacketPlayerReputation.cpp
│   │   │   │   ├── PacketPlayerReputation.hpp
│   │   │   │   ├── PacketPlayerRest.cpp
│   │   │   │   ├── PacketPlayerRest.hpp
│   │   │   │   ├── PacketPlayerResurrect.cpp
│   │   │   │   ├── PacketPlayerResurrect.hpp
│   │   │   │   ├── PacketPlayerShapeshift.cpp
│   │   │   │   ├── PacketPlayerShapeshift.hpp
│   │   │   │   ├── PacketPlayerSkill.cpp
│   │   │   │   ├── PacketPlayerSkill.hpp
│   │   │   │   ├── PacketPlayerSpeech.cpp
│   │   │   │   ├── PacketPlayerSpeech.hpp
│   │   │   │   ├── PacketPlayerSpellbook.cpp
│   │   │   │   ├── PacketPlayerSpellbook.hpp
│   │   │   │   ├── PacketPlayerSpellsActive.cpp
│   │   │   │   ├── PacketPlayerSpellsActive.hpp
│   │   │   │   ├── PacketPlayerStatsDynamic.cpp
│   │   │   │   ├── PacketPlayerStatsDynamic.hpp
│   │   │   │   ├── PacketPlayerTopic.cpp
│   │   │   │   ├── PacketPlayerTopic.hpp
│   │   │   │   ├── PlayerPacket.cpp
│   │   │   │   └── PlayerPacket.hpp
│   │   │   ├── System/
│   │   │   │   ├── PacketSystemHandshake.cpp
│   │   │   │   ├── PacketSystemHandshake.hpp
│   │   │   │   ├── SystemPacket.cpp
│   │   │   │   └── SystemPacket.hpp
│   │   │   └── Worldstate/
│   │   │       ├── PacketCellReset.cpp
│   │   │       ├── PacketCellReset.hpp
│   │   │       ├── PacketClientScriptGlobal.cpp
│   │   │       ├── PacketClientScriptGlobal.hpp
│   │   │       ├── PacketClientScriptSettings.cpp
│   │   │       ├── PacketClientScriptSettings.hpp
│   │   │       ├── PacketRecordDynamic.cpp
│   │   │       ├── PacketRecordDynamic.hpp
│   │   │       ├── PacketWorldCollisionOverride.cpp
│   │   │       ├── PacketWorldCollisionOverride.hpp
│   │   │       ├── PacketWorldDestinationOverride.cpp
│   │   │       ├── PacketWorldDestinationOverride.hpp
│   │   │       ├── PacketWorldKillCount.cpp
│   │   │       ├── PacketWorldKillCount.hpp
│   │   │       ├── PacketWorldMap.cpp
│   │   │       ├── PacketWorldMap.hpp
│   │   │       ├── PacketWorldRegionAuthority.cpp
│   │   │       ├── PacketWorldRegionAuthority.hpp
│   │   │       ├── PacketWorldTime.cpp
│   │   │       ├── PacketWorldTime.hpp
│   │   │       ├── PacketWorldWeather.cpp
│   │   │       ├── PacketWorldWeather.hpp
│   │   │       ├── WorldstatePacket.cpp
│   │   │       └── WorldstatePacket.hpp
│   │   ├── TimedLog.cpp
│   │   ├── TimedLog.hpp
│   │   ├── Utils.cpp
│   │   ├── Utils.hpp
│   │   └── Version.hpp
│   ├── process/
│   │   ├── processinvoker.cpp
│   │   └── processinvoker.hpp
│   ├── resource/
│   │   ├── animation.cpp
│   │   ├── animation.hpp
│   │   ├── bulletshape.cpp
│   │   ├── bulletshape.hpp
│   │   ├── bulletshapemanager.cpp
│   │   ├── bulletshapemanager.hpp
│   │   ├── imagemanager.cpp
│   │   ├── imagemanager.hpp
│   │   ├── keyframemanager.cpp
│   │   ├── keyframemanager.hpp
│   │   ├── multiobjectcache.cpp
│   │   ├── multiobjectcache.hpp
│   │   ├── niffilemanager.cpp
│   │   ├── niffilemanager.hpp
│   │   ├── objectcache.hpp
│   │   ├── resourcemanager.hpp
│   │   ├── resourcesystem.cpp
│   │   ├── resourcesystem.hpp
│   │   ├── scenemanager.cpp
│   │   ├── scenemanager.hpp
│   │   ├── stats.cpp
│   │   └── stats.hpp
│   ├── sceneutil/
│   │   ├── actorutil.cpp
│   │   ├── actorutil.hpp
│   │   ├── agentpath.cpp
│   │   ├── agentpath.hpp
│   │   ├── attach.cpp
│   │   ├── attach.hpp
│   │   ├── clone.cpp
│   │   ├── clone.hpp
│   │   ├── controller.cpp
│   │   ├── controller.hpp
│   │   ├── detourdebugdraw.cpp
│   │   ├── detourdebugdraw.hpp
│   │   ├── keyframe.hpp
│   │   ├── lightcontroller.cpp
│   │   ├── lightcontroller.hpp
│   │   ├── lightmanager.cpp
│   │   ├── lightmanager.hpp
│   │   ├── lightutil.cpp
│   │   ├── lightutil.hpp
│   │   ├── morphgeometry.cpp
│   │   ├── morphgeometry.hpp
│   │   ├── mwshadowtechnique.cpp
│   │   ├── mwshadowtechnique.hpp
│   │   ├── navmesh.cpp
│   │   ├── navmesh.hpp
│   │   ├── optimizer.cpp
│   │   ├── optimizer.hpp
│   │   ├── osgacontroller.cpp
│   │   ├── osgacontroller.hpp
│   │   ├── pathgridutil.cpp
│   │   ├── pathgridutil.hpp
│   │   ├── positionattitudetransform.cpp
│   │   ├── positionattitudetransform.hpp
│   │   ├── recastmesh.cpp
│   │   ├── recastmesh.hpp
│   │   ├── riggeometry.cpp
│   │   ├── riggeometry.hpp
│   │   ├── serialize.cpp
│   │   ├── serialize.hpp
│   │   ├── shadow.cpp
│   │   ├── shadow.hpp
│   │   ├── shadowsbin.cpp
│   │   ├── shadowsbin.hpp
│   │   ├── skeleton.cpp
│   │   ├── skeleton.hpp
│   │   ├── statesetupdater.cpp
│   │   ├── statesetupdater.hpp
│   │   ├── textkeymap.hpp
│   │   ├── unrefqueue.cpp
│   │   ├── unrefqueue.hpp
│   │   ├── util.cpp
│   │   ├── util.hpp
│   │   ├── visitor.cpp
│   │   ├── visitor.hpp
│   │   ├── waterutil.cpp
│   │   ├── waterutil.hpp
│   │   ├── workqueue.cpp
│   │   ├── workqueue.hpp
│   │   ├── writescene.cpp
│   │   └── writescene.hpp
│   ├── sdlutil/
│   │   ├── events.hpp
│   │   ├── gl4es_init.cpp
│   │   ├── gl4es_init.h
│   │   ├── imagetosurface.cpp
│   │   ├── imagetosurface.hpp
│   │   ├── sdlcursormanager.cpp
│   │   ├── sdlcursormanager.hpp
│   │   ├── sdlgraphicswindow.cpp
│   │   ├── sdlgraphicswindow.hpp
│   │   ├── sdlinputwrapper.cpp
│   │   ├── sdlinputwrapper.hpp
│   │   ├── sdlvideowrapper.cpp
│   │   └── sdlvideowrapper.hpp
│   ├── settings/
│   │   ├── categories.hpp
│   │   ├── parser.cpp
│   │   ├── parser.hpp
│   │   ├── settings.cpp
│   │   └── settings.hpp
│   ├── shader/
│   │   ├── removedalphafunc.cpp
│   │   ├── removedalphafunc.hpp
│   │   ├── shadermanager.cpp
│   │   ├── shadermanager.hpp
│   │   ├── shadervisitor.cpp
│   │   └── shadervisitor.hpp
│   ├── terrain/
│   │   ├── buffercache.cpp
│   │   ├── buffercache.hpp
│   │   ├── cellborder.cpp
│   │   ├── cellborder.hpp
│   │   ├── chunkmanager.cpp
│   │   ├── chunkmanager.hpp
│   │   ├── compositemaprenderer.cpp
│   │   ├── compositemaprenderer.hpp
│   │   ├── defs.hpp
│   │   ├── material.cpp
│   │   ├── material.hpp
│   │   ├── quadtreenode.cpp
│   │   ├── quadtreenode.hpp
│   │   ├── quadtreeworld.cpp
│   │   ├── quadtreeworld.hpp
│   │   ├── storage.hpp
│   │   ├── terraindrawable.cpp
│   │   ├── terraindrawable.hpp
│   │   ├── terraingrid.cpp
│   │   ├── terraingrid.hpp
│   │   ├── texturemanager.cpp
│   │   ├── texturemanager.hpp
│   │   ├── viewdata.cpp
│   │   ├── viewdata.hpp
│   │   ├── world.cpp
│   │   └── world.hpp
│   ├── to_utf8/
│   │   ├── .gitignore
│   │   ├── gen_iconv.cpp
│   │   ├── tables_gen.hpp
│   │   ├── tests/
│   │   │   ├── .gitignore
│   │   │   ├── output/
│   │   │   │   └── to_utf8_test.out
│   │   │   ├── test.sh
│   │   │   ├── test_data/
│   │   │   │   ├── french-utf8.txt
│   │   │   │   ├── french-win1252.txt
│   │   │   │   ├── russian-utf8.txt
│   │   │   │   └── russian-win1251.txt
│   │   │   └── to_utf8_test.cpp
│   │   ├── to_utf8.cpp
│   │   └── to_utf8.hpp
│   ├── translation/
│   │   ├── translation.cpp
│   │   └── translation.hpp
│   ├── version/
│   │   ├── version.cpp
│   │   └── version.hpp
│   ├── vfs/
│   │   ├── archive.hpp
│   │   ├── bsaarchive.cpp
│   │   ├── bsaarchive.hpp
│   │   ├── filesystemarchive.cpp
│   │   ├── filesystemarchive.hpp
│   │   ├── manager.cpp
│   │   ├── manager.hpp
│   │   ├── registerarchives.cpp
│   │   └── registerarchives.hpp
│   └── widgets/
│       ├── box.cpp
│       ├── box.hpp
│       ├── fontwrapper.hpp
│       ├── imagebutton.cpp
│       ├── imagebutton.hpp
│       ├── list.cpp
│       ├── list.hpp
│       ├── numericeditbox.cpp
│       ├── numericeditbox.hpp
│       ├── sharedstatebutton.cpp
│       ├── sharedstatebutton.hpp
│       ├── tags.cpp
│       ├── tags.hpp
│       ├── widgets.cpp
│       ├── widgets.hpp
│       ├── windowcaption.cpp
│       └── windowcaption.hpp
├── docs/
│   ├── Doxyfile.cmake
│   ├── DoxyfilePages.cmake
│   ├── license/
│   │   └── RussoOne Font License.txt
│   ├── mainpage.hpp.cmake
│   ├── openmw-stage1.md
│   ├── requirements.txt
│   └── source/
│       ├── _static/
│       │   ├── .keep
│       │   └── figures.css
│       ├── conf.py
│       ├── index.rst
│       ├── manuals/
│       │   ├── index.rst
│       │   ├── installation/
│       │   │   ├── common-problems.rst
│       │   │   ├── index.rst
│       │   │   ├── install-game-files.rst
│       │   │   └── install-openmw.rst
│       │   └── openmw-cs/
│       │       ├── files-and-directories.rst
│       │       ├── foreword.rst
│       │       ├── index.rst
│       │       ├── record-filters.rst
│       │       ├── record-types.rst
│       │       ├── starting-dialog.rst
│       │       ├── tables.rst
│       │       └── tour.rst
│       ├── reference/
│       │   ├── documentationHowTo.rst
│       │   ├── index.rst
│       │   └── modding/
│       │       ├── custom-models/
│       │       │   ├── index.rst
│       │       │   ├── pipeline-blender-collada.rst
│       │       │   ├── pipeline-blender-nif.rst
│       │       │   └── pipeline-blender-osgnative.rst
│       │       ├── differences.rst
│       │       ├── extended.rst
│       │       ├── font.rst
│       │       ├── foreword.rst
│       │       ├── index.rst
│       │       ├── mod-install.rst
│       │       ├── openmw-game-template.rst
│       │       ├── paths.rst
│       │       ├── settings/
│       │       │   ├── GUI.rst
│       │       │   ├── HUD.rst
│       │       │   ├── camera.rst
│       │       │   ├── cells.rst
│       │       │   ├── fog.rst
│       │       │   ├── game.rst
│       │       │   ├── general.rst
│       │       │   ├── groundcover.rst
│       │       │   ├── index.rst
│       │       │   ├── input.rst
│       │       │   ├── map.rst
│       │       │   ├── models.rst
│       │       │   ├── navigator.rst
│       │       │   ├── physics.rst
│       │       │   ├── saves.rst
│       │       │   ├── shaders.rst
│       │       │   ├── shadows.rst
│       │       │   ├── sound.rst
│       │       │   ├── terrain.rst
│       │       │   ├── video.rst
│       │       │   ├── water.rst
│       │       │   └── windows.rst
│       │       ├── sky-system.rst
│       │       └── texture-modding/
│       │           ├── convert-bump-mapped-mods.rst
│       │           ├── index.rst
│       │           └── texture-basics.rst
│       └── tutorial-style-guide.txt
├── extern/
│   ├── Base64/
│   │   ├── Base64.h
│   │   └── CMakeLists.txt
│   ├── CMakeLists.txt
│   ├── LuaBridge/
│   │   ├── List.h
│   │   ├── LuaBridge.h
│   │   ├── Map.h
│   │   ├── RefCountedObject.h
│   │   ├── RefCountedPtr.h
│   │   ├── Vector.h
│   │   └── detail/
│   │       ├── CFunctions.h
│   │       ├── ClassInfo.h
│   │       ├── Constructor.h
│   │       ├── FuncTraits.h
│   │       ├── Iterator.h
│   │       ├── LuaException.h
│   │       ├── LuaHelpers.h
│   │       ├── LuaRef.h
│   │       ├── Namespace.h
│   │       ├── Security.h
│   │       ├── Stack.h
│   │       ├── TypeList.h
│   │       ├── TypeTraits.h
│   │       ├── Userdata.h
│   │       └── dump.h
│   ├── PicoSHA2/
│   │   └── picosha2.h
│   ├── oics/
│   │   ├── CMakeLists.txt
│   │   ├── ICSChannel.cpp
│   │   ├── ICSChannel.h
│   │   ├── ICSChannelListener.h
│   │   ├── ICSControl.cpp
│   │   ├── ICSControl.h
│   │   ├── ICSControlListener.h
│   │   ├── ICSInputControlSystem.cpp
│   │   ├── ICSInputControlSystem.h
│   │   ├── ICSInputControlSystem_joystick.cpp
│   │   ├── ICSInputControlSystem_keyboard.cpp
│   │   ├── ICSInputControlSystem_mouse.cpp
│   │   ├── ICSPrerequisites.cpp
│   │   ├── ICSPrerequisites.h
│   │   ├── tinystr.cpp
│   │   ├── tinystr.h
│   │   ├── tinyxml.cpp
│   │   ├── tinyxml.h
│   │   ├── tinyxmlerror.cpp
│   │   └── tinyxmlparser.cpp
│   ├── osg-ffmpeg-videoplayer/
│   │   ├── CMakeLists.txt
│   │   ├── License.txt
│   │   ├── audiodecoder.cpp
│   │   ├── audiodecoder.hpp
│   │   ├── audiofactory.hpp
│   │   ├── videodefs.hpp
│   │   ├── videoplayer.cpp
│   │   ├── videoplayer.hpp
│   │   ├── videostate.cpp
│   │   └── videostate.hpp
│   └── osgQt/
│       ├── CMakeLists.txt
│       ├── GraphicsWindowQt
│       └── GraphicsWindowQt.cpp
├── files/
│   ├── CMakeLists.txt
│   ├── gamecontrollerdb.txt
│   ├── launcher/
│   │   ├── icons/
│   │   │   └── tango/
│   │   │       └── index.theme
│   │   └── launcher.qrc
│   ├── mac/
│   │   ├── openmw-Info.plist.in
│   │   ├── openmw-cs-Info.plist.in
│   │   ├── openmw-cs.icns
│   │   ├── openmw.icns
│   │   └── qt.conf
│   ├── mygui/
│   │   ├── CMakeLists.txt
│   │   ├── DejaVuFontLicense.txt
│   │   ├── OpenMWResourcePlugin.xml
│   │   ├── core.skin
│   │   ├── core.xml
│   │   ├── core_layouteditor.xml
│   │   ├── openmw_alchemy_window.layout
│   │   ├── openmw_book.layout
│   │   ├── openmw_box.skin.xml
│   │   ├── openmw_button.skin.xml
│   │   ├── openmw_chargen_birth.layout
│   │   ├── openmw_chargen_class.layout
│   │   ├── openmw_chargen_class_description.layout
│   │   ├── openmw_chargen_create_class.layout
│   │   ├── openmw_chargen_generate_class_result.layout
│   │   ├── openmw_chargen_race.layout
│   │   ├── openmw_chargen_review.layout
│   │   ├── openmw_chargen_select_attribute.layout
│   │   ├── openmw_chargen_select_skill.layout
│   │   ├── openmw_chargen_select_specialization.layout
│   │   ├── openmw_companion_window.layout
│   │   ├── openmw_confirmation_dialog.layout
│   │   ├── openmw_console.layout
│   │   ├── openmw_console.skin.xml
│   │   ├── openmw_container_window.layout
│   │   ├── openmw_count_window.layout
│   │   ├── openmw_debug_window.layout
│   │   ├── openmw_debug_window.skin.xml
│   │   ├── openmw_dialogue_window.layout
│   │   ├── openmw_dialogue_window.skin.xml
│   │   ├── openmw_edit.skin.xml
│   │   ├── openmw_edit_effect.layout
│   │   ├── openmw_edit_note.layout
│   │   ├── openmw_enchanting_dialog.layout
│   │   ├── openmw_font.xml
│   │   ├── openmw_hud.layout
│   │   ├── openmw_hud_box.skin.xml
│   │   ├── openmw_hud_energybar.skin.xml
│   │   ├── openmw_infobox.layout
│   │   ├── openmw_interactive_messagebox.layout
│   │   ├── openmw_interactive_messagebox_notransp.layout
│   │   ├── openmw_inventory_window.layout
│   │   ├── openmw_itemselection_dialog.layout
│   │   ├── openmw_jail_screen.layout
│   │   ├── openmw_journal.layout
│   │   ├── openmw_journal.skin.xml
│   │   ├── openmw_layers.xml
│   │   ├── openmw_levelup_dialog.layout
│   │   ├── openmw_list.skin.xml
│   │   ├── openmw_loading_screen.layout
│   │   ├── openmw_magicselection_dialog.layout
│   │   ├── openmw_mainmenu.layout
│   │   ├── openmw_mainmenu.skin.xml
│   │   ├── openmw_map_window.layout
│   │   ├── openmw_map_window.skin.xml
│   │   ├── openmw_merchantrepair.layout
│   │   ├── openmw_messagebox.layout
│   │   ├── openmw_persuasion_dialog.layout
│   │   ├── openmw_pointer.xml
│   │   ├── openmw_progress.skin.xml
│   │   ├── openmw_quickkeys_menu.layout
│   │   ├── openmw_quickkeys_menu_assign.layout
│   │   ├── openmw_recharge_dialog.layout
│   │   ├── openmw_repair.layout
│   │   ├── openmw_resources.xml
│   │   ├── openmw_savegame_dialog.layout
│   │   ├── openmw_screen_fader.layout
│   │   ├── openmw_screen_fader_hit.layout
│   │   ├── openmw_scroll.layout
│   │   ├── openmw_scroll.skin.xml
│   │   ├── openmw_settings.xml
│   │   ├── openmw_settings_window.layout
│   │   ├── openmw_spell_buying_window.layout
│   │   ├── openmw_spell_window.layout
│   │   ├── openmw_spellcreation_dialog.layout
│   │   ├── openmw_stats_window.layout
│   │   ├── openmw_text.skin.xml
│   │   ├── openmw_text_input.layout
│   │   ├── openmw_tooltips.layout
│   │   ├── openmw_trade_window.layout
│   │   ├── openmw_trainingwindow.layout
│   │   ├── openmw_travel_window.layout
│   │   ├── openmw_wait_dialog.layout
│   │   ├── openmw_wait_dialog_progressbar.layout
│   │   ├── openmw_windows.skin.xml
│   │   ├── skins.xml
│   │   ├── tes3mp_chat.layout
│   │   ├── tes3mp_chat.skin.xml
│   │   ├── tes3mp_dialog_list.layout
│   │   ├── tes3mp_login.layout
│   │   ├── tes3mp_login.skin.xml
│   │   └── tes3mp_text_input.layout
│   ├── opencs/
│   │   ├── defaultfilters
│   │   ├── raster/
│   │   │   ├── scene-exterior-parts/
│   │   │   │   └── composite_the_icons.sh
│   │   │   ├── scene-play-rev9_masked.xcf
│   │   │   └── scene-view-parts/
│   │   │       ├── README
│   │   │       └── composite_the_32_icons.sh
│   │   ├── resources.qrc
│   │   └── scalable/
│   │       ├── referenceable-record/
│   │       │   └── book2.svgz
│   │       └── startup/
│   │           ├── configure.svgz
│   │           ├── create-addon.svgz
│   │           ├── edit-content.svgz
│   │           └── new-game.svgz
│   ├── openmw-cs.cfg
│   ├── openmw.appdata.xml
│   ├── openmw.cfg
│   ├── openmw.cfg.local
│   ├── org.openmw.cs.desktop
│   ├── org.openmw.launcher.desktop
│   ├── settings-default.cfg
│   ├── shaders/
│   │   ├── CMakeLists.txt
│   │   ├── alpha.glsl
│   │   ├── groundcover_fragment.glsl
│   │   ├── groundcover_vertex.glsl
│   │   ├── lighting.glsl
│   │   ├── lighting_util.glsl
│   │   ├── nv_default_fragment.glsl
│   │   ├── nv_default_vertex.glsl
│   │   ├── nv_nolighting_fragment.glsl
│   │   ├── nv_nolighting_vertex.glsl
│   │   ├── objects_fragment.glsl
│   │   ├── objects_vertex.glsl
│   │   ├── parallax.glsl
│   │   ├── s360_fragment.glsl
│   │   ├── s360_vertex.glsl
│   │   ├── shadowcasting_fragment.glsl
│   │   ├── shadowcasting_vertex.glsl
│   │   ├── shadows_fragment.glsl
│   │   ├── shadows_vertex.glsl
│   │   ├── terrain_fragment.glsl
│   │   ├── terrain_vertex.glsl
│   │   ├── vertexcolors.glsl
│   │   ├── water_fragment.glsl
│   │   └── water_vertex.glsl
│   ├── tes3mp/
│   │   ├── browser.rc
│   │   ├── tes3mp-client-default.cfg
│   │   ├── tes3mp-server-default.cfg
│   │   ├── tes3mp.exe.manifest
│   │   ├── tes3mp.rc
│   │   └── ui/
│   │       ├── Main.ui
│   │       └── ServerInfo.ui
│   ├── tes3mp-browser.desktop
│   ├── ui/
│   │   ├── advancedpage.ui
│   │   ├── contentselector.ui
│   │   ├── datafilespage.ui
│   │   ├── filedialog.ui
│   │   ├── graphicspage.ui
│   │   ├── mainwindow.ui
│   │   ├── playpage.ui
│   │   ├── settingspage.ui
│   │   └── wizard/
│   │       ├── componentselectionpage.ui
│   │       ├── conclusionpage.ui
│   │       ├── existinginstallationpage.ui
│   │       ├── importpage.ui
│   │       ├── installationpage.ui
│   │       ├── installationtargetpage.ui
│   │       ├── intropage.ui
│   │       ├── languageselectionpage.ui
│   │       └── methodselectionpage.ui
│   ├── version.in
│   ├── vfs/
│   │   ├── CMakeLists.txt
│   │   └── textures/
│   │       ├── omw_menu_scroll_center_h.dds
│   │       ├── omw_menu_scroll_center_v.dds
│   │       ├── omw_menu_scroll_down.dds
│   │       ├── omw_menu_scroll_left.dds
│   │       ├── omw_menu_scroll_right.dds
│   │       └── omw_menu_scroll_up.dds
│   ├── windows/
│   │   ├── launcher.rc
│   │   ├── opencs.rc
│   │   ├── openmw-wizard.rc
│   │   ├── openmw.exe.manifest
│   │   └── openmw.rc
│   └── wizard/
│       ├── icons/
│       │   └── tango/
│       │       └── index.theme
│       └── wizard.qrc
├── manual/
│   └── opencs/
│       ├── .gitignore
│       ├── creating_file.tex
│       ├── files_and_directories.tex
│       ├── filters.tex
│       ├── main.tex
│       ├── recordmodification.tex
│       ├── recordtypes.tex
│       ├── tables.tex
│       └── windows.tex
├── tes3mp-changelog.md
└── tes3mp-credits.md

================================================
FILE CONTENTS
================================================

================================================
FILE: .editorconfig
================================================
root = true

[*.cpp]
indent_style = space
indent_size = 4
insert_final_newline = true

[*.hpp]
indent_style = space
indent_size = 4
insert_final_newline = true

[*.glsl]
indent_style = space
indent_size = 4
insert_final_newline = false

================================================
FILE: .github/FUNDING.yml
================================================
patreon: davidcernat
custom: https://www.paypal.me/DavidCernat


================================================
FILE: .gitignore
================================================
## make
CMakeFiles
*/CMakeFiles
CMakeCache.txt
cmake_install.cmake
Makefile
makefile
build*/
prebuilt

##windows build process
/deps
/MSVC*

## doxygen
Doxygen

## ides/editors
*~
*.kdev4
*.swp
*.swo
*.kate-swp
.cproject
.project
.settings
.directory
.idea
cmake-build-*
files/windows/*.aps
cmake-build-*
## qt-creator
CMakeLists.txt.user*
.vs
.vscode

## resources
data
resources
/*.cfg
/*.desktop
/*.install

## binaries
/esmtool
/openmw
/opencs
/niftest
/bsatool
/openmw-cs
/openmw-essimporter
/openmw-iniimporter
/openmw-launcher
/openmw-wizard

## generated objects
apps/openmw/config.hpp
apps/launcher/ui_contentselector.h
apps/launcher/ui_settingspage.h
apps/opencs/ui_contentselector.h
apps/opencs/ui_filedialog.h
apps/wizard/qrc_wizard.cxx
apps/wizard/ui_componentselectionpage.h
apps/wizard/ui_conclusionpage.h
apps/wizard/ui_existinginstallationpage.h
apps/wizard/ui_importpage.h
apps/wizard/ui_installationpage.h
apps/wizard/ui_installationtargetpage.h
apps/wizard/ui_intropage.h
apps/wizard/ui_languageselectionpage.h
apps/wizard/ui_methodselectionpage.h
components/ui_contentselector.h
docs/mainpage.hpp
docs/Doxyfile
docs/DoxyfilePages
moc_*.cxx
*.cxx_parameters
*qrc_launcher.cxx
*qrc_resources.cxx
*__*
*ui_datafilespage.h
*ui_graphicspage.h
*ui_mainwindow.h
*ui_playpage.h
*.[ao]
*.so
venv/


================================================
FILE: .gitlab-ci.yml
================================================
# Note: We set `needs` on each job to control the job DAG.
# See https://docs.gitlab.com/ee/ci/yaml/#needs
stages:
  - build

.Debian_Image:
  tags:
    - docker
    - linux
  image: debian:bullseye

.Debian:
  extends: .Debian_Image
  cache:
    paths:
    - apt-cache/
    - ccache/
  stage: build
  script:
    - export CCACHE_BASEDIR="`pwd`"
    - export CCACHE_DIR="`pwd`/ccache" && mkdir -pv "$CCACHE_DIR"
    - ccache -z -M "${CCACHE_SIZE}"
    - CI/before_script.linux.sh
    - cd build
    - cmake --build . -- -j $(nproc)
    - cmake --install .
    - if [[ "${BUILD_TESTS_ONLY}" ]]; then ./openmw_test_suite; fi
    - if [[ "${BUILD_TESTS_ONLY}" ]]; then ./openmw_detournavigator_navmeshtilescache_benchmark; fi
    - ccache -s
  artifacts:
    paths:
      - build/install/

Coverity:
  extends: .Debian_Image
  stage: build
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
  before_script:
    - CI/install_debian_deps.sh gcc openmw-deps openmw-deps-dynamic coverity
    - curl -o /tmp/cov-analysis-linux64.tgz https://scan.coverity.com/download/linux64 --form project=$COVERITY_SCAN_PROJECT_NAME --form token=$COVERITY_SCAN_TOKEN
    - tar xfz /tmp/cov-analysis-linux64.tgz
  script:
    - CI/before_script.linux.sh
    # Add more than just `openmw` once we can build everything under 3h
    - cov-analysis-linux64-*/bin/cov-build --dir cov-int cmake --build build -- -j $(nproc) openmw
  after_script:
    - tar cfz cov-int.tar.gz cov-int
    - curl https://scan.coverity.com/builds?project=$COVERITY_SCAN_PROJECT_NAME
      --form token=$COVERITY_SCAN_TOKEN --form email=$GITLAB_USER_EMAIL
      --form file=@cov-int.tar.gz --form version="`git describe --tags`"
      --form description="`git describe --tags` / $CI_COMMIT_TITLE / $CI_COMMIT_REF_NAME:$CI_PIPELINE_ID"
  variables:
    CC: gcc
    CXX: g++
  timeout: 8h

Debian_GCC:
  extends: .Debian
  cache:
    key: Debian_GCC.v2
  before_script:
    - CI/install_debian_deps.sh gcc openmw-deps openmw-deps-dynamic
  variables:
    CC: gcc
    CXX: g++
    CCACHE_SIZE: 3G
  # When CCache doesn't exist (e.g. first build on a fork), build takes more than 1h, which is the default for forks.
  timeout: 2h

Debian_GCC_tests:
  extends: Debian_GCC
  cache:
    key: Debian_GCC_tests.v2
  variables:
    CCACHE_SIZE: 1G
    BUILD_TESTS_ONLY: 1

Debian_GCC_Static_Deps:
  extends: Debian_GCC
  cache:
    key: Debian_GCC_Static_Deps
    paths:
    - apt-cache/
    - ccache/
    - build/extern/fetched/
  before_script:
    - CI/install_debian_deps.sh gcc openmw-deps openmw-deps-static
  variables:
    CI_OPENMW_USE_STATIC_DEPS: 1

Debian_GCC_Static_Deps_tests:
  extends: Debian_GCC_Static_Deps
  cache:
    key: Debian_GCC_Static_Deps_tests
  variables:
    CCACHE_SIZE: 1G
    BUILD_TESTS_ONLY: 1

Debian_Clang:
  extends: .Debian
  before_script:
    - CI/install_debian_deps.sh clang openmw-deps openmw-deps-dynamic
  cache:
    key: Debian_Clang.v2
  variables:
    CC: clang
    CXX: clang++
    CCACHE_SIZE: 2G
  # When CCache doesn't exist (e.g. first build on a fork), build takes more than 1h, which is the default for forks.
  timeout: 2h

Debian_Clang_tests:
  extends: Debian_Clang
  cache:
    key: Debian_Clang_tests.v2
  variables:
    CCACHE_SIZE: 1G
    BUILD_TESTS_ONLY: 1

.MacOS:
  image: macos-11-xcode-12
  tags:
    - shared-macos-amd64
  stage: build
  only:
    variables:
      - $CI_PROJECT_ID == "7107382"
  cache:
    paths:
    - ccache/
  script:
    - rm -fr build  # remove the build directory
    - CI/before_install.osx.sh
    - export CCACHE_BASEDIR="$(pwd)"
    - export CCACHE_DIR="$(pwd)/ccache"
    - mkdir -pv "${CCACHE_DIR}"
    - ccache -z -M "${CCACHE_SIZE}"
    - CI/before_script.osx.sh
    - cd build; make -j $(sysctl -n hw.logicalcpu) package
    - for dmg in *.dmg; do mv "$dmg" "${dmg%.dmg}_${CI_COMMIT_REF_NAME}_${CI_JOB_ID}.dmg"; done
    - ccache -s
  artifacts:
    paths:
      - build/OpenMW-*.dmg
      - "build/**/*.log"

macOS11_Xcode12:
  extends: .MacOS
  image: macos-11-xcode-12
  allow_failure: true
  cache:
    key: macOS11_Xcode12.v1
  variables:
    CCACHE_SIZE: 3G

macOS10.15_Xcode11:
  extends: .MacOS
  image: macos-10.15-xcode-11
  cache:
    key: macOS10.15_Xcode11.v1
  variables:
    CCACHE_SIZE: 3G

variables: &engine-targets
  targets: "openmw,openmw-essimporter,openmw-iniimporter,openmw-launcher,openmw-wizard"
  package: "Engine"

variables: &cs-targets
  targets: "openmw-cs,bsatool,esmtool,niftest"
  package: "CS"

variables: &tests-targets
  targets: "openmw_test_suite,openmw_detournavigator_navmeshtilescache_benchmark"
  package: "Tests"

.Windows_Ninja_Base:
  tags:
    - windows
  before_script:
  - Import-Module "$env:ChocolateyInstall\helpers\chocolateyProfile.psm1"
  - choco source add -n=openmw-proxy -s="https://repo.openmw.org/repository/Chocolatey/" --priority=1
  - choco install git --force --params "/GitAndUnixToolsOnPath" -y
  - choco install 7zip -y
  - choco install cmake.install --installargs 'ADD_CMAKE_TO_PATH=System' -y
  - choco install vswhere -y
  - choco install ninja -y
  - choco install python -y
  - refreshenv
  stage: build
  script:
    - $time = (Get-Date -Format "HH:mm:ss")
    - echo ${time}
    - echo "started by ${GITLAB_USER_NAME}"
    - sh CI/before_script.msvc.sh -c $config -p Win64 -v 2019 -k -V -N -b -t
    - cd MSVC2019_64_Ninja
    - .\ActivateMSVC.ps1
    - cmake --build . --config $config --target ($targets.Split(','))
    - cd $config
    - echo "CI_COMMIT_REF_NAME ${CI_COMMIT_REF_NAME}`nCI_JOB_ID ${CI_JOB_ID}`nCI_COMMIT_SHA ${CI_COMMIT_SHA}" | Out-File -Encoding UTF8 CI-ID.txt
    - |
      if (Get-ChildItem -Recurse *.pdb) {
        7z a -tzip ..\..\OpenMW_MSVC2019_64_${package}_${config}_${CI_COMMIT_REF_NAME}_${CI_JOB_ID}_symbols.zip '*.pdb' CI-ID.txt
        Get-ChildItem -Recurse *.pdb | Remove-Item
      }
    - 7z a -tzip ..\..\OpenMW_MSVC2019_64_${package}_${config}_${CI_COMMIT_REF_NAME}.zip '*'
    - if ($executables) { foreach ($exe in $executables.Split(',')) { & .\$exe } }
  after_script:
    - Copy-Item C:\ProgramData\chocolatey\logs\chocolatey.log
  cache:
    key: ninja-v2
    paths:
    - deps
    - MSVC2019_64_Ninja/deps/Qt
  artifacts:
    when: always
    paths:
    - "*.zip"
    - "*.log"
    - MSVC2019_64_Ninja/*.log
    - MSVC2019_64_Ninja/*/*.log
    - MSVC2019_64_Ninja/*/*/*.log
    - MSVC2019_64_Ninja/*/*/*/*.log
    - MSVC2019_64_Ninja/*/*/*/*/*.log
    - MSVC2019_64_Ninja/*/*/*/*/*/*.log
    - MSVC2019_64_Ninja/*/*/*/*/*/*/*.log
    - MSVC2019_64_Ninja/*/*/*/*/*/*/*/*.log

Windows_Ninja_Engine_Release:
  extends:
    - .Windows_Ninja_Base
  variables:
    <<: *engine-targets
    config: "Release"

Windows_Ninja_Engine_Debug:
  extends:
    - .Windows_Ninja_Base
  variables:
    <<: *engine-targets
    config: "Debug"

Windows_Ninja_Engine_RelWithDebInfo:
  extends:
    - .Windows_Ninja_Base
  variables:
    <<: *engine-targets
    config: "RelWithDebInfo"

Windows_Ninja_CS_Release:
  extends:
    - .Windows_Ninja_Base
  variables:
    <<: *cs-targets
    config: "Release"

Windows_Ninja_CS_Debug:
  extends:
    - .Windows_Ninja_Base
  variables:
    <<: *cs-targets
    config: "Debug"

Windows_Ninja_CS_RelWithDebInfo:
  extends:
    - .Windows_Ninja_Base
  variables:
    <<: *cs-targets
    config: "RelWithDebInfo"

Windows_Ninja_Tests_RelWithDebInfo:
  extends: .Windows_Ninja_Base
  stage: build
  variables:
    <<: *tests-targets
    config: "RelWithDebInfo"
    # Gitlab can't successfully execute following binaries due to unknown reason
    # executables: "openmw_test_suite.exe,openmw_detournavigator_navmeshtilescache_benchmark.exe"

.Windows_MSBuild_Base:
  tags:
    - windows
  before_script:
  - Import-Module "$env:ChocolateyInstall\helpers\chocolateyProfile.psm1"
  - choco source add -n=openmw-proxy -s="https://repo.openmw.org/repository/Chocolatey/" --priority=1
  - choco install git --force --params "/GitAndUnixToolsOnPath" -y
  - choco install 7zip -y
  - choco install cmake.install --installargs 'ADD_CMAKE_TO_PATH=System' -y
  - choco install vswhere -y
  - choco install python -y
  - refreshenv
  stage: build
  script:
    - $time = (Get-Date -Format "HH:mm:ss")
    - echo ${time}
    - echo "started by ${GITLAB_USER_NAME}"
    - sh CI/before_script.msvc.sh -c $config -p Win64 -v 2019 -k -V -b -t
    - cd MSVC2019_64
    - cmake --build . --config $config --target ($targets.Split(','))
    - cd $config
    - echo "CI_COMMIT_REF_NAME ${CI_COMMIT_REF_NAME}`nCI_JOB_ID ${CI_JOB_ID}`nCI_COMMIT_SHA ${CI_COMMIT_SHA}" | Out-File -Encoding UTF8 CI-ID.txt
    - |
      if (Get-ChildItem -Recurse *.pdb) {
        7z a -tzip ..\..\OpenMW_MSVC2019_64_${package}_${config}_${CI_COMMIT_REF_NAME}_${CI_JOB_ID}_symbols.zip '*.pdb' CI-ID.txt
        Get-ChildItem -Recurse *.pdb | Remove-Item
      }
    - 7z a -tzip ..\..\OpenMW_MSVC2019_64_${package}_${config}_${CI_COMMIT_REF_NAME}.zip '*'
    - if ($executables) { foreach ($exe in $executables.Split(',')) { & .\$exe } }
  after_script:
    - Copy-Item C:\ProgramData\chocolatey\logs\chocolatey.log
  cache:
    key: msbuild-v2
    paths:
    - deps
    - MSVC2019_64/deps/Qt
  artifacts:
    when: always
    paths:
    - "*.zip"
    - "*.log"
    - MSVC2019_64/*.log
    - MSVC2019_64/*/*.log
    - MSVC2019_64/*/*/*.log
    - MSVC2019_64/*/*/*/*.log
    - MSVC2019_64/*/*/*/*/*.log
    - MSVC2019_64/*/*/*/*/*/*.log
    - MSVC2019_64/*/*/*/*/*/*/*.log
    - MSVC2019_64/*/*/*/*/*/*/*/*.log

Windows_MSBuild_Engine_Release:
  extends:
    - .Windows_MSBuild_Base
  variables:
    <<: *engine-targets
    config: "Release"

Windows_MSBuild_Engine_Debug:
  extends:
    - .Windows_MSBuild_Base
  variables:
    <<: *engine-targets
    config: "Debug"

Windows_MSBuild_Engine_RelWithDebInfo:
  extends:
    - .Windows_MSBuild_Base
  variables:
    <<: *engine-targets
    config: "RelWithDebInfo"

Windows_MSBuild_CS_Release:
  extends:
    - .Windows_MSBuild_Base
  variables:
    <<: *cs-targets
    config: "Release"

Windows_MSBuild_CS_Debug:
  extends:
    - .Windows_MSBuild_Base
  variables:
    <<: *cs-targets
    config: "Debug"

Windows_MSBuild_CS_RelWithDebInfo:
  extends:
    - .Windows_MSBuild_Base
  variables:
    <<: *cs-targets
    config: "RelWithDebInfo"

Windows_MSBuild_Tests_RelWithDebInfo:
  extends: .Windows_MSBuild_Base
  stage: build
  variables:
    <<: *tests-targets
    config: "RelWithDebInfo"
    # Gitlab can't successfully execute following binaries due to unknown reason
    # executables: "openmw_test_suite.exe,openmw_detournavigator_navmeshtilescache_benchmark.exe"

Debian_AndroidNDK_arm64-v8a:
  tags:
    - linux
  image: debian:bullseye
  variables:
    CCACHE_SIZE: 3G
  cache:
    key: Debian_AndroidNDK_arm64-v8a.v3
    paths:
      - apt-cache/
      - ccache/
      - build/extern/fetched/
  before_script:
    - export APT_CACHE_DIR=`pwd`/apt-cache && mkdir -pv $APT_CACHE_DIR
    - echo "deb http://deb.debian.org/debian unstable main contrib" > /etc/apt/sources.list
    - echo "google-android-ndk-installer google-android-installers/mirror select https://dl.google.com" | debconf-set-selections
    - apt-get update -yq
    - apt-get -q -o dir::cache::archives="$APT_CACHE_DIR" install -y cmake ccache curl unzip git build-essential google-android-ndk-installer
  stage: build
  script:
    - export CCACHE_BASEDIR="`pwd`"
    - export CCACHE_DIR="`pwd`/ccache" && mkdir -pv "$CCACHE_DIR"
    - ccache -z -M "${CCACHE_SIZE}"
    - CI/before_install.android.sh
    - CI/before_script.android.sh
    - cd build
    - cmake --build . -- -j $(nproc)
    - cmake --install .
    - ccache -s
  artifacts:
    paths:
      - build/install/
  # When CCache doesn't exist (e.g. first build on a fork), build takes more than 1h, which is the default for forks.
  timeout: 1h30m


================================================
FILE: .gitmodules
================================================
[submodule "extern/breakpad"]
	path = extern/breakpad
	url = https://chromium.googlesource.com/breakpad/breakpad


================================================
FILE: .readthedocs.yaml
================================================
version: 2

sphinx:
  configuration: docs/source/conf.py

python:
  version: 3.8
  install:
    - requirements: docs/requirements.txt



================================================
FILE: .travis.yml
================================================
language: cpp
branches:
  only:
    - master
    - coverity_scan
    - /openmw-.*$/
    - /^[0-9]+\.[0-9]+\.[0-9]+.*$/
env:
  global:
   # The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
   #   via the "travis encrypt" command using the project repo's public key
   - secure: "1QK0yVyoOB+gf2I7XzvhXu9w/5lq4stBXIwJbVCTjz4Q4XVHCosURaW1MAgKzMrPnbFEwjyn5uQ8BwsvvfkuN1AZD0YXITgc7gyI+J1wQ/p/ljxRxglakU6WEgsTs2J5z9UmGac4YTXg+quK7YP3rv+zuGim2I2rhzImejyzp0Ym3kRCnNcy+SGBsiRaevRJMe00Ch8zGAbEhduQGeSoS6W0rcu02DNlQKiq5NktWsXR+TWWWVfIeIlQR/lbPsCd0pdxMaMv2QCY0rVbwrYxWJwr/Qe45dAdWp+8/C3PbXpeMSGxlLa33nJNX4Lf/djxbjm8KWk6edaXPajrjR/0iwcpwq0jg2Jt6XfEdnJt35F1gpXlc04sxStjG45uloOKCFYT0wdhIO1Lq+hDP54wypQl+JInd5qC001O7pwhVxO36EgKWqo8HD+BqGDBwsNj2engy9Qcp3wO6G0rLBPB3CrZsk9wrHVv5cSiQSLMhId3Xviu3ZI2qEDA+kgTvxrKrsnMj4bILVCyG5Ka2Mj22wIDW9e8oIab9oTdujax3DTN1GkD6QuOAGzwDsNwGASsgfoeZ+FUhgM75RlBWGMilgkmnF7EJ0oAXLEpjtABnEr2d4qHv+y08kOuTDBLB9ExzCIj024dYYYNLZrqPKx0ncHuCMG2QNj2aJAJEZtj1rQ="
cache: ccache
addons:
  apt:
    sources:
      - sourceline: 'ppa:openmw/openmw'
      - ubuntu-toolchain-r-test
    packages: [
      # Dev
      cmake, clang-tools-7, gcc-8, g++-8, ccache,
      # Boost
      libboost-filesystem-dev, libboost-iostreams-dev, libboost-program-options-dev, libboost-system-dev,
      # FFmpeg
      libavcodec-dev, libavformat-dev, libavutil-dev, libswresample-dev, libswscale-dev,
      # Audio, Video and Misc. deps
      libsdl2-dev, libqt5opengl5-dev, libopenal-dev, libunshield-dev, libtinyxml-dev, liblz4-dev,
      # The other ones from OpenMW ppa
      libbullet-dev, libopenscenegraph-3.4-dev, libmygui-dev,
      # tes3mp stuff
      libboost-dev, libqt5opengl5-dev, libluajit-5.1-dev
    ]
  coverity_scan:
    project:
      name: "TES3MP/openmw-tes3mp"
      description: "<Your project description here>"
    branch_pattern: coverity_scan
    notification_email: koncord@tes3mp.com
    build_command_prepend: "cov-configure --comptype gcc --compiler gcc-8 --template; cmake . -DBUILD_UNITTESTS=FALSE -DBUILD_OPENCS=FALSE -DBUILD_BSATOOL=FALSE -DBUILD_ESMTOOL=FALSE -DBUILD_MWINIIMPORTER=FALSE -DBUILD_LAUNCHER=FALSE"
    build_command: "make VERBOSE=1 -j3"
matrix:
  include:
    - os: linux
      env:
        - ANALYZE="scan-build-7 --use-cc clang-7 --use-c++ clang++-7 "
        - MATRIX_CC="CC=clang-7 && CXX=clang++-7"
      compiler: clang
      sudo: required
      dist: bionic
    - os: linux
      env:
        - MATRIX_CC="CC=gcc-8 && CXX=g++-8"
      sudo: required
      dist: bionic
    - os: linux
      env:
        - MATRIX_CC="CC=clang-7 && CXX=clang++-7"
      sudo: required
      dist: bionic
  allow_failures:
    - env:
        - MATRIX_CC="CC=clang-7 && CXX=clang++-7"
    - env:
        - ANALYZE="scan-build-7 --use-cc clang-7 --use-c++ clang++-7 "
        - MATRIX_CC="CC=clang-7 && CXX=clang++-7"

before_install:
    - ./CI/before_install.${TRAVIS_OS_NAME}.sh
before_script:
    - ccache -z
    - ./CI/before_script.${TRAVIS_OS_NAME}.sh
script:
 - cd ./build
 - ${ANALYZE} make -j3; fi
 - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then make package; fi
 - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then ../CI/check_package.osx.sh; fi
 - if [ "${TRAVIS_OS_NAME}" = "linux" ] && [ "${BUILD_TESTS_ONLY}" ]; then ./openmw_test_suite; fi
 - if [ "${TRAVIS_OS_NAME}" = "linux" ]; then cd .. && ./CI/check_tabs.sh; fi
 - cd "${TRAVIS_BUILD_DIR}"
 - ccache -s
#deploy:
# provider: script
# script: ./CI/deploy.osx.sh
# skip_cleanup: true
# on:
#  branch: master
#  condition: "$TRAVIS_EVENT_TYPE = cron && $TRAVIS_OS_NAME = osx"
#  repo: TES3MP/openmw-tes3mp
#notifications:
#  email:
#    recipients:
#      - corrmage+travis-ci@gmail.com
#    on_success: change
#    on_failure: always
#  irc:
#    channels:
#      - "chat.freenode.net#openmw"
#    on_success: change
#    on_failure: always
#    use_notice: true


================================================
FILE: AUTHORS.md
================================================
Contributors
============

The OpenMW project was started in 2008 by Nicolay Korslund.
In the course of years many people have contributed to the project.

If you feel your name is missing from this list, please add it to `AUTHORS.md`.


Programmers
-----------

    Bret Curtis (psi29a) - Project leader 2019-present
    Marc Zinnschlag (Zini) - Project leader 2010-2018
    Nicolay Korslund - Project leader 2008-2010
    scrawl - Top contributor

    Adam Hogan (aurix)
    Aesylwinn
    aegis
    AHSauge
    Aleksandar Jovanov
    Alex Haddad (rainChu)
    Alex McKibben
    alexanderkjall
    Alexander Nadeau (wareya)
    Alexander Olofsson (Ananace)
    Alex Rice
    Alex S (docwest)
    Allofich
    Andrei Kortunov (akortunov)
    AnyOldName3
    Ardekantur
    Armin Preiml
    Artem Kotsynyak (greye)
    Artem Nykolenko (anikm21)
    artemutin
    Arthur Moore (EmperorArthur)
    Assumeru
    athile
    Aussiemon
    Austin Salgat (Salgat)
    Ben Shealy (bentsherman)
    Berulacks
    Britt Mathis (galdor557)
    Capostrophic
    Carl Maxwell
    cc9cii
    Cédric Mocquillon
    Chris Boyce (slothlife)
    Chris Robinson (KittyCat)
    Cody Glassman (Wazabear)
    Coleman Smith (olcoal)
    Cory F. Cohen (cfcohen)
    Cris Mihalache (Mirceam)
    crussell187
    DanielVukelich
    darkf
    David Cernat (davidcernat)
    Declan Millar (declan-millar)
    devnexen
    Dieho
    Dmitry Shkurskiy (endorph)
    Douglas Diniz (Dgdiniz)
    Douglas Mencken (dougmencken)
    dreamer-dead
    David Teviotdale (dteviot)
    Diggory Hardy
    Dmitry Marakasov (AMDmi3)
    Edmondo Tommasina (edmondo)
    Eduard Cot (trombonecot)
    Eli2
    Emanuel Guével (potatoesmaster)
    eroen
    escondida
    Evgeniy Mineev (sandstranger)
    Federico Guerra (FedeWar)
    Fil Krynicki (filkry)
    Finbar Crago (finbar-crago)
    Florian Weber (Florianjw)
    Frédéric Chardon (fr3dz10)
    Gaëtan Dezeiraud (Brouilles)
    Gašper Sedej
    Gijsbert ter Horst (Ghostbird)
    Gohan1989
    gugus/gus
    guidoj
    Haoda Wang (h313)
    hristoast
    Internecine
    Jackerty
    Jacob Essex (Yacoby)
    Jacob Turnbull (Tankinfrank)
    Jake Westrip (16bitint)
    James Carty (MrTopCat)
    James Moore (moore.work)
    James Stephens (james-h-stephens)
    Jan-Peter Nilsson (peppe)
    Jan Borsodi (am0s)
    Jason Hooks (jhooks)
    jeaye
    jefetienne
    Jeffrey Haines (Jyby)
    Jengerer
    Jiří Kuneš (kunesj)
    Joe Wilkerson (neuralroberts)
    Joel Graff (graffy)
    John Blomberg (fstp)
    Jordan Ayers
    Jordan Milne
    Josua Grawitter
    Jules Blok (Armada651)
    julianko
    Julien Voisin (jvoisin/ap0)
    Karl-Felix Glatzer (k1ll)
    Kevin Poitra (PuppyKevin)
    Koncord
    Kurnevsky Evgeny (kurnevsky)
    Lars Söderberg (Lazaroth)
    lazydev
    Leon Krieg (lkrieg)
    Leon Saunders (emoose)
    logzero
    lohikaarme
    Lordrea
    Łukasz Gołębiewski (lukago)
    Lukasz Gromanowski (lgro)
    Marc Bouvier (CramitDeFrog)
    Marcin Hulist (Gohan)
    Mark Siewert (mark76)
    Marco Melletti (mellotanica)
    Marco Schulze
    Martin Otto (MAtahualpa)
    Mateusz Kołaczek (PL_kolek)
    Mateusz Malisz (malice)
    Max Henzerling (SaintMercury)
    megaton
    Michael Hogan (Xethik)
    Michael Mc Donnell
    Michael Papageorgiou (werdanith)
    Michael Stopa (Stomy)
    Michał Ściubidło (mike-sc)
    Michał Bień (Glorf)
    Michał Moroz (dragonee)
    Miloslav Číž (drummyfish)
    Miroslav Puda (pakanek)
    MiroslavR
    Mitchell Schwitzer (schwitzerm)
    naclander
    Narmo
    Nat Meo (Utopium)
    Nathan Jeffords (blunted2night)
    NeveHanter
    Nialsy
    Nick Crawford (nighthawk469)
    Nikolay Kasyanov (corristo)
    nobrakal
    Nolan Poe (nopoe)
    Oleg Chkan (mrcheko)
    Paul Cercueil (pcercuei)
    Paul McElroy (Greendogo)
    pchan3
    Perry Hugh
    Petr Mikheev (ptmikheev)
    Phillip Andrews (PhillipAnd)
    Pi03k
    Pieter van der Kloet (pvdk)
    pkubik
    PLkolek
    PlutonicOverkill
    Radu-Marius Popovici (rpopovici)
    Rafael Moura (dhustkoder)
    rdimesio
    rexelion
    riothamus
    Rob Cutmore (rcutmore)
    Robert MacGregor (Ragora)
    Rohit Nirmal
    Roman Melnik (Kromgart)
    Roman Proskuryakov (kpp)
    Roman Siromakha (elsid)
    Sandy Carter (bwrsandman)
    Scott Howard (maqifrnswa)
    Sebastian Wick (swick)
    Sergey Fukanchik
    Sergey Shambir (sergey-shambir)
    sergoz
    ShadowRadiance
    Siimacore
    Simon Meulenbeek (simonmb)
    sir_herrbatka
    smbas
    Sophie Kirschner (pineapplemachine)
    spycrab
    Stefan Galowicz (bogglez)
    Stanislav Bobrov (Jiub)
    Stanislaw Halik (sthalik)
    Star-Demon
    stil-t
    svaante
    Sylvain Thesnieres (Garvek)
    t6
    terrorfisch
    Tess (tescoShoppah)
    thegriglat
    Thomas Luppi (Digmaster)
    tlmullis
    tri4ng1e
    Thoronador
    Tom Mason (wheybags)
    Torben Leif Carrington (TorbenC)
    unelsson
    uramer
    viadanna
    Vincent Heuken
    Vladimir Panteleev (CyberShadow)
    Wang Ryu (bzzt)
    Will Herrmann (Thunderforge)
    vocollapse
    xyzz
    Yohaulticetl
    Yuri Krupenin
    zelurker
    Noah Gooder
    Andrew Appuhamy (andrew-app)

Documentation
-------------

    Adam Bowen (adamnbowen)
    Alejandro Sanchez (HiPhish)
    Bodillium
    Bret Curtis (psi29a)
    Cramal
    David Walley (Loriel)
    Diego Crespo
    Joakim Berg (lysol90)
    Ryan Tucker (Ravenwing)
    sir_herrbatka

Packagers
---------

    Alexander Olofsson (Ananace) - Windows and Flatpak
    Alexey Sokolov (DarthGandalf) - Gentoo Linux
    Bret Curtis (psi29a) - Debian and Ubuntu Linux
    Edmondo Tommasina (edmondo) - Gentoo Linux
    Julian Ospald (hasufell) - Gentoo Linux
    Karl-Felix Glatzer (k1ll) - Linux Binaries
    Kenny Armstrong (artorius) - Fedora Linux
    Nikolay Kasyanov (corristo) - Mac OS X
    Sandy Carter (bwrsandman) - Arch Linux

Public Relations and Translations
---------------------------------

    Artem Kotsynyak (greye) - Russian News Writer
    Dawid Lakomy (Vedyimyn) - Polish News Writer
    ElderTroll - Release Manager
    Jim Clauwaert (Zedd) - Public Outreach
    juanmnzsk8 - Spanish News Writer
    Julien Voisin (jvoisin/ap0) - French News Writer
    Kingpix - Italian News Writer
    Lukasz Gromanowski (lgro) - English News Writer
    Martin Otto (Atahualpa) - Podcaster, Public Outreach, German Translator
    Mickey Lyle (raevol) - Release Manager
    Nekochan - English News Writer
    penguinroad - Indonesian News Writer
    Pithorn - Chinese News Writer
    sir_herrbatka - Polish News Writer
    spyboot - German Translator
    Tom Koenderink (Okulo) - English News Writer

Website
-------

    Lukasz Gromanowski (Lgro) - Website Administrator
    Ryan Sardonic (Wry) - Wiki Editor
    sir_herrbatka - Forum Administrator

Formula Research
----------------

    Hrnchamd
    Epsilon
    fragonard
    Greendogo
    HiPhish
    modred11
    Myckel
    natirips
    Sadler

Artwork
-------

    Necrod - OpenMW Logo
    Mickey Lyle (raevol) - Wordpress Theme
    Tom Koenderink (Okulo), SirHerrbatka, crysthala, Shnatsel, Lamoot - OpenMW Editor Icons

Additional Credits
------------------
In this section we would like to thank people not part of OpenMW for their work.

Thanks to Maxim Nikolaev,
for allowing us to use his excellent Morrowind fan-art on our website and in other places.

Thanks to DokterDume,
for kindly providing us with the Moon and Star logo, used as the application icon and project logo.

Thanks to Kevin Ryan,
for creating the icon used for the Data Files tab of the OpenMW Launcher.

Thanks to DejaVu team,
for their DejaVuLGCSansMono fontface, see DejaVuFontLicense.txt for their license terms.


================================================
FILE: CHANGELOG.md
================================================
0.47.0
------

    Bug #1662: Qt4 and Windows binaries crash if there's a non-ASCII character in a file path/config path
    Bug #1901: Actors colliding behaviour is different from vanilla
    Bug #1952: Incorrect particle lighting
    Bug #2069: Fireflies in Fireflies invade Morrowind look wrong
    Bug #2311: Targeted scripts are not properly supported on non-unique RefIDs
    Bug #2473: Unable to overstock merchants
    Bug #2976: [reopened]: Issues combining settings from the command line and both config files
    Bug #3137: Walking into a wall prevents jumping
    Bug #3372: Projectiles and magic bolts go through moving targets
    Bug #3676: NiParticleColorModifier isn't applied properly
    Bug #3714: Savegame fails to load due to conflict between SpellState and MagicEffects
    Bug #3789: Crash in visitEffectSources while in battle
    Bug #3862: Random container contents behave differently than vanilla
    Bug #3929: Leveled list merchant containers respawn on barter
    Bug #4021: Attributes and skills are not stored as floats
    Bug #4039: Multiple followers should have the same following distance
    Bug #4055: Local scripts don't inherit variables from their base record
    Bug #4083: Door animation freezes when colliding with actors
    Bug #4247: Cannot walk up stairs in Ebonheart docks
    Bug #4357: OpenMW-CS: TopicInfos index sorting and rearranging isn't fully functional
    Bug #4363: OpenMW-CS: Defect in Clone Function for Dialogue Info records
    Bug #4447: Actor collision capsule shape allows looking through some walls
    Bug #4465: Collision shape overlapping causes twitching
    Bug #4476: Abot Gondoliers: player hangs in air during scenic travel
    Bug #4568: Too many actors in one spot can push other actors out of bounds
    Bug #4623: Corprus implementation is incorrect
    Bug #4631: Setting MSAA level too high doesn't fall back to highest supported level
    Bug #4764: Data race in osg ParticleSystem
    Bug #4765: Data race in ChunkManager -> Array::setBinding
    Bug #4774: Guards are ignorant of an invisible player that tries to attack them
    Bug #5026: Data races with rain intensity uniform set by sky and used by water
    Bug #5101: Hostile followers travel with the player
    Bug #5108: Savegame bloating due to inefficient fog textures format
    Bug #5165: Active spells should use real time intead of timestamps
    Bug #5300: NPCs don't switch from torch to shield when starting combat
    Bug #5358: ForceGreeting always resets the dialogue window completely
    Bug #5363: Enchantment autocalc not always 0/1
    Bug #5364: Script fails/stops if trying to startscript an unknown script
    Bug #5367: Selecting a spell on an enchanted item per hotkey always plays the equip sound
    Bug #5369: Spawnpoint in the Grazelands doesn't produce oversized creatures
    Bug #5370: Opening an unlocked but trapped door uses the key
    Bug #5384: OpenMW-CS: Deleting an instance requires reload of scene window to show in editor
    Bug #5387: Move/MoveWorld don't update the object's cell properly
    Bug #5391: Races Redone 1.2 bodies don't show on the inventory
    Bug #5397: NPC greeting does not reset if you leave + reenter area
    Bug #5400: OpenMW-CS: Verifier checks race of non-skin bodyparts
    Bug #5403: Enchantment effect doesn't show on an enemy during death animation
    Bug #5415: Environment maps in ebony cuirass and HiRez Armors Indoril cuirass don't work
    Bug #5416: Junk non-node records before the root node are not handled gracefully
    Bug #5422: The player loses all spells when resurrected
    Bug #5423: Guar follows actors too closely
    Bug #5424: Creatures do not headtrack player
    Bug #5425: Poison effect only appears for one frame
    Bug #5427: GetDistance unknown ID error is misleading
    Bug #5431: Physics performance degradation after a specific number of actors on a scene
    Bug #5435: Enemies can't hurt the player when collision is off
    Bug #5441: Enemies can't push a player character when in critical strike stance
    Bug #5451: Magic projectiles don't disappear with the caster
    Bug #5452: Autowalk is being included in savegames
    Bug #5469: Local map is reset when re-entering certain cells
    Bug #5472: Mistify mod causes CTD in 0.46 on Mac
    Bug #5473: OpenMW-CS: Cell border lines don't update properly on terrain change
    Bug #5479: NPCs who should be walking around town are standing around without walking
    Bug #5484: Zero value items shouldn't be able to be bought or sold for 1 gold
    Bug #5485: Intimidate doesn't increase disposition on marginal wins
    Bug #5490: Hits to carried left slot aren't redistributed if there's no shield equipped
    Bug #5499: Faction advance is available when requirements not met
    Bug #5502: Dead zone for analogue stick movement is too small
    Bug #5507: Sound volume is not clamped on ingame settings update
    Bug #5525: Case-insensitive search in the inventory window does not work with non-ASCII characters
    Bug #5531: Actors flee using current rotation by axis x
    Bug #5539: Window resize breaks when going from a lower resolution to full screen resolution
    Bug #5548: Certain exhausted topics can be highlighted again even though there's no new dialogue
    Bug #5557: Diagonal movement is noticeably slower with analogue stick
    Bug #5588: Randomly clicking on the journal's right-side page when it's empty shows random topics
    Bug #5603: Setting constant effect cast style doesn't correct effects view
    Bug #5604: Only one valid NIF root node is loaded from a single file
    Bug #5611: Usable items with "0 Uses" should be used only once
    Bug #5619: Input events are queued during save loading
    Bug #5622: Can't properly interact with the console when in pause menu
    Bug #5627: Bookart not shown if it isn't followed by <BR> statement
    Bug #5633: Damage Spells in effect before god mode is enabled continue to hurt the player character and can kill them
    Bug #5639: Tooltips cover Messageboxes
    Bug #5644: Summon effects running on the player during game initialization cause crashes
    Bug #5656: Sneaking characters block hits while standing
    Bug #5661: Region sounds don't play at the right interval
    Bug #5675: OpenMW-CS: FRMR subrecords are saved with the wrong MastIdx
    Bug #5680: Bull Netches incorrectly aim over the player character's head and always miss
    Bug #5681: Player character can clip or pass through bridges instead of colliding against them
    Bug #5687: Bound items covering the same inventory slot expiring at the same time freezes the game
    Bug #5688: Water shader broken indoors with enable indoor shadows = false
    Bug #5695: ExplodeSpell for actors doesn't target the ground
    Bug #5703: OpenMW-CS menu system crashing on XFCE
    Bug #5706: AI sequences stop looping after the saved game is reloaded
    Bug #5713: OpenMW-CS: Collada models are corrupted in Qt-based scene view
    Bug #5731: OpenMW-CS: skirts are invisible on characters
    Bug #5739: Saving and loading the save a second or two before hitting the ground doesn't count fall damage
    Bug #5758: Paralyzed actors behavior is inconsistent with vanilla
    Bug #5762: Movement solver is insufficiently robust
    Bug #5800: Equipping a CE enchanted ring deselects an already equipped and selected enchanted ring from the spell menu
    Bug #5807: Video decoding crash on ARM
    Bug #5821: NPCs from mods getting removed if mod order was changed
    Bug #5835: OpenMW doesn't accept negative values for NPC's hello, alarm, fight, and flee
    Bug #5836: OpenMW dialogue/greeting/voice filter doesn't accept negative Ai values for NPC's hello, alarm, fight, and flee
    Bug #5838: Local map and other menus become blank in some locations while playing Wizards' Islands mod.
    Bug #5840: GetSoundPlaying "Health Damage" doesn't play when NPC hits target with shield effect ( vanilla engine behavior )
    Bug #5841: Can't Cast Zero Cost Spells When Magicka is < 0
    Bug #5869: Guards can initiate arrest dialogue behind locked doors
    Bug #5871: The console appears if you type the Russian letter "Ё" in the name of the enchantment
    Bug #5877: Effects appearing with empty icon
    Bug #5899: Visible modal windows and dropdowns crashing game on exit
    Bug #5902: NiZBufferProperty is unable to disable the depth test
    Bug #5906: Sunglare doesn't work with Mesa drivers and AMD GPUs
    Bug #5912: ImprovedBound mod doesn't work
    Bug #5914: BM: The Swimmer can't reach destination
    Bug #5923: Clicking on empty spaces between journal entries might show random topics
    Bug #5934: AddItem command doesn't accept negative values
    Bug #5975: NIF controllers from sheath meshes are used
    Bug #5991: Activate should always be allowed for inventory items
    Bug #5995: NiUVController doesn't calculate the UV offset properly
    Bug #6007: Crash when ending cutscene is playing
    Bug #6016: Greeting interrupts Fargoth's sneak-walk
    Bug #6022: OpenMW-CS: Terrain selection is not updated when undoing/redoing terrain changes
    Bug #6023: OpenMW-CS: Clicking on a reference in "Terrain land editing" mode discards corresponding select/edit action
    Bug #6028: Particle system controller values are incorrectly used
    Bug #6035: OpenMW-CS: Circle brush in "Terrain land editing" mode sometimes includes vertices outside its radius
    Bug #6036: OpenMW-CS: Terrain selection at the border of cells omits certain corner vertices
    Bug #6043: Actor can have torch missing when torch animation is played
    Bug #6047: Mouse bindings can be triggered during save loading
    Bug #6136: Game freezes when NPCs try to open doors that are about to be closed
    Bug #6294: Game crashes with empty pathgrid
    Feature #390: 3rd person look "over the shoulder"
    Feature #832: OpenMW-CS: Handle deleted references
    Feature #1536: Show more information about level on menu
    Feature #2159: "Graying out" exhausted dialogue topics
    Feature #2386: Distant Statics in the form of Object Paging
    Feature #2404: Levelled List can not be placed into a container
    Feature #2686: Timestamps in openmw.log
    Feature #2798: Mutable ESM records
    Feature #3171: OpenMW-CS: Instance drag selection
    Feature #3983: Wizard: Add link to buy Morrowind
    Feature #4201: Projectile-projectile collision
    Feature #4486: Handle crashes on Windows
    Feature #4894: Consider actors as obstacles for pathfinding
    Feature #4899: Alpha-To-Coverage Anti-Aliasing for alpha testing
    Feature #4917: Do not trigger NavMesh update when RecastMesh update should not change NavMesh
    Feature #4977: Use the "default icon.tga" when an item's icon is not found
    Feature #5043: Head Bobbing
    Feature #5199: OpenMW-CS: Improve scene view colors
    Feature #5297: Add a search function to the "Datafiles" tab of the OpenMW launcher
    Feature #5362: Show the soul gems' trapped soul in count dialog
    Feature #5445: Handle NiLines
    Feature #5456: Basic collada animation support
    Feature #5457: Realistic diagonal movement
    Feature #5486: Fixes trainers to choose their training skills based on their base skill points
    Feature #5500: Prepare enough navmesh tiles before scene loading ends
    Feature #5511: Add in game option to toggle HRTF support in OpenMW
    Feature #5519: Code Patch tab in launcher
    Feature #5524: Resume failed script execution after reload
    Feature #5545: Option to allow stealing from an unconscious NPC during combat
    Feature #5551: Do not reboot PC after OpenMW installation on Windows
    Feature #5563: Run physics update in background thread
    Feature #5579: MCP SetAngle enhancement
    Feature #5580: Service refusal filtering
    Feature #5610: Actors movement should be smoother
    Feature #5642: Ability to attach arrows to actor skeleton instead of bow mesh
    Feature #5649: Skyrim SE compressed BSA format support
    Feature #5672: Make stretch menu background configuration more accessible
    Feature #5692: Improve spell/magic item search to factor in magic effect names
    Feature #5730: Add graphic herbalism option to the launcher and documents
    Feature #5771: ori command should report where a mesh is loaded from and whether the x version is used.
    Feature #5813: Instanced groundcover support
    Feature #5814: Bsatool should be able to create BSA archives, not only to extract it
    Feature #5828: Support more than 8 lights
    Feature #5910: Fall back to delta time when physics can't keep up
    Feature #5980: Support Bullet with double precision instead of one with single precision
    Feature #6024: OpenMW-CS: Selecting terrain in "Terrain land editing" should support "Add to selection" and "Remove from selection" modes
    Feature #6033: Include pathgrid to navigation mesh
    Feature #6034: Find path based on area cost depending on NPC stats
    Task #5480: Drop Qt4 support
    Task #5520: Improve cell name autocompleter implementation

0.46.0
------

    Bug #1515: Opening console masks dialogue, inventory menu
    Bug #1933: Actors can have few stocks of the same item
    Bug #2395: Duplicated plugins in the launcher when multiple data directories provide the same plugin
    Bug #2679: Unable to map mouse wheel under control settings
    Bug #2969: Scripted items can stack
    Bug #2976: [reopened in 0.47] Data lines in global openmw.cfg take priority over user openmw.cfg
    Bug #2987: Editor: some chance and AI data fields can overflow
    Bug #3006: 'else if' operator breaks script compilation
    Bug #3109: SetPos/Position handles actors differently
    Bug #3282: Unintended behaviour when assigning F3 and Windows keys
    Bug #3550: Companion from mod attacks the air after combat has ended
    Bug #3609: Items from evidence chest are not considered to be stolen if player is allowed to use the chest
    Bug #3623: Display scaling breaks mouse recognition
    Bug #3725: Using script function in a non-conditional expression breaks script compilation
    Bug #3733: Normal maps are inverted on mirrored UVs
    Bug #3765: DisableTeleporting makes Mark/Recall/Intervention effects undetectable
    Bug #3778: [Mod] Improved Thrown Weapon Projectiles - weapons have wrong transformation during throw animation
    Bug #3812: Wrong multiline tooltips width when word-wrapping is enabled
    Bug #3894: Hostile spell effects not detected/present on first frame of OnPCHitMe
    Bug #3977: Non-ASCII characters in object ID's are not supported
    Bug #4009: Launcher does not show data files on the first run after installing
    Bug #4077: Enchanted items are not recharged if they are not in the player's inventory
    Bug #4141: PCSkipEquip isn't set to 1 when reading books/scrolls
    Bug #4240: Ash storm origin coordinates and hand shielding animation behavior are incorrect
    Bug #4262: Rain settings are hardcoded
    Bug #4270: Closing doors while they are obstructed desyncs closing sfx
    Bug #4276: Resizing character window differs from vanilla
    Bug #4284: ForceSneak behaviour is inconsistent if the target has AiWander package
    Bug #4329: Removed birthsign abilities are restored after reloading the save
    Bug #4341: Error message about missing GDB is too vague
    Bug #4383: Bow model obscures crosshair when arrow is drawn
    Bug #4384: Resist Normal Weapons only checks ammunition for ranged weapons
    Bug #4411: Reloading a saved game while falling prevents damage in some cases
    Bug #4449: Value returned by GetWindSpeed is incorrect
    Bug #4456: AiActivate should not be cancelled after target activation
    Bug #4493: If the setup doesn't find what it is expecting, it fails silently and displays the requester again instead of letting the user know what wasn't found.
    Bug #4523: "player->ModCurrentFatigue -0.001" in global script does not cause the running player to fall
    Bug #4540: Rain delay when exiting water
    Bug #4594: Actors without AI packages don't use Hello dialogue
    Bug #4598: Script parser does not support non-ASCII characters
    Bug #4600: Crash when no sound output is available or --no-sound is used.
    Bug #4601: Filtering referenceables by gender is broken
    Bug #4639: Black screen after completing first mages guild mission + training
    Bug #4650: Focus is lost after pressing ESC in confirmation dialog inside savegame dialog
    Bug #4680: Heap corruption on faulty esp
    Bug #4701: PrisonMarker record is not hardcoded like other markers
    Bug #4703: Editor: it's possible to preview levelled list records
    Bug #4705: Editor: unable to open exterior cell views from Instances table
    Bug #4714: Crash upon game load in the repair menu while the "Your repair failed!" message is active
    Bug #4715: "Cannot get class of an empty object" exception after pressing ESC in the dialogue mode
    Bug #4720: Inventory avatar has shield with two-handed weapon during [un]equipping animation
    Bug #4723: ResetActors command works incorrectly
    Bug #4736: LandTexture records overrides do not work
    Bug #4745: Editor: Interior cell lighting field values are not displayed as colors
    Bug #4746: Non-solid player can't run or sneak
    Bug #4747: Bones are not read from X.NIF file for NPC animation
    Bug #4748: Editor: Cloned, moved, added instances re-use RefNum indices
    Bug #4750: Sneaking doesn't work in first person view if the player is in attack ready state
    Bug #4756: Animation issues with VAOs
    Bug #4757: Content selector: files can be cleared when there aren't any files to clear
    Bug #4768: Fallback numerical value recovery chokes on invalid arguments
    Bug #4775: Slowfall effect resets player jumping flag
    Bug #4778: Interiors of Illusion puzzle in Sotha Sil Expanded mod is broken
    Bug #4783: Blizzard behavior is incorrect
    Bug #4787: Sneaking makes 1st person walking/bobbing animation super-slow
    Bug #4797: Player sneaking and running stances are not accounted for when in air
    Bug #4800: Standing collisions are not updated immediately when an object is teleported without a cell change
    Bug #4802: You can rest before taking falling damage from landing from a jump
    Bug #4803: Stray special characters before begin statement break script compilation
    Bug #4804: Particle system with the "Has Sizes = false" causes an exception
    Bug #4805: NPC movement speed calculations do not take race Weight into account
    Bug #4810: Raki creature broken in OpenMW
    Bug #4813: Creatures with known file but no "Sound Gen Creature" assigned use default sounds
    Bug #4815: "Finished" journal entry with lower index doesn't close journal, SetJournalIndex closes journal
    Bug #4820: Spell absorption is broken
    Bug #4823: Jail progress bar works incorrectly
    Bug #4826: Uninitialized memory in unit test
    Bug #4827: NiUVController is handled incorrectly
    Bug #4828: Potion looping effects VFX are not shown for NPCs
    Bug #4837: CTD when a mesh with NiLODNode root node with particles is loaded
    Bug #4841: Russian localization ignores implicit keywords
    Bug #4844: Data race in savegame loading / GlobalMap render
    Bug #4847: Idle animation reset oddities
    Bug #4851: No shadows since switch to OSG
    Bug #4860: Actors outside of processing range visible for one frame after spawning
    Bug #4867: Arbitrary text after local variable declarations breaks script compilation
    Bug #4876: AI ratings handling inconsistencies
    Bug #4877: Startup script executes only on a new game start
    Bug #4879: SayDone returns 0 on the frame Say is called
    Bug #4888: Global variable stray explicit reference calls break script compilation
    Bug #4896: Title screen music doesn't loop
    Bug #4902: Using scrollbars in settings causes resolution to change
    Bug #4904: Editor: Texture painting with duplicate of a base-version texture
    Bug #4911: Editor: QOpenGLContext::swapBuffers() warning with Qt5
    Bug #4916: Specular power (shininess) material parameter is ignored when shaders are used.
    Bug #4918: Abilities don't play looping VFX when they're initially applied
    Bug #4920: Combat AI uses incorrect invisibility check
    Bug #4922: Werewolves can not attack if the transformation happens during attack
    Bug #4927: Spell effect having both a skill and an attribute assigned is a fatal error
    Bug #4932: Invalid records matching when loading save with edited plugin
    Bug #4933: Field of View not equal with Morrowind
    Bug #4938: Strings from subrecords with actually empty headers can't be empty
    Bug #4942: Hand-to-Hand attack type is chosen randomly when "always use best attack" is turned off
    Bug #4945: Poor random magic magnitude distribution
    Bug #4947: Player character doesn't use lip animation
    Bug #4948: Footstep sounds while levitating on ground level
    Bug #4952: Torches held by NPCs flicker too quickly
    Bug #4961: Flying creature combat engagement takes z-axis into account
    Bug #4963: Enchant skill progress is incorrect
    Bug #4964: Multiple effect spell projectile sounds play louder than vanilla
    Bug #4965: Global light attenuation settings setup is lacking
    Bug #4969: "Miss" sound plays for any actor
    Bug #4972: Player is able to use quickkeys while disableplayerfighting is active
    Bug #4979: AiTravel maximum range depends on "actors processing range" setting
    Bug #4980: Drowning mechanics is applied for actors indifferently from distance to player
    Bug #4984: "Friendly hits" feature should be used only for player's followers
    Bug #4989: Object dimension-dependent VFX scaling behavior is inconsistent
    Bug #4990: Dead bodies prevent you from hitting
    Bug #4991: Jumping occasionally takes too much fatigue
    Bug #4999: Drop instruction behaves differently from vanilla
    Bug #5001: Possible data race in the Animation::setAlpha()
    Bug #5004: Werewolves shield their eyes during storm
    Bug #5012: "Take all" on owned container generates a messagebox per item
    Bug #5018: Spell tooltips don't support purely negative magnitudes
    Bug #5025: Data race in the ICO::setMaximumNumOfObjectsToCompilePerFrame()
    Bug #5028: Offered price caps are not trading-specific
    Bug #5038: Enchanting success chance calculations are blatantly wrong
    Bug #5047: # in cell names sets color
    Bug #5050: Invalid spell effects are not handled gracefully
    Bug #5055: Mark, Recall, Intervention magic effect abilities have no effect when added and removed in the same frame
    Bug #5056: Calling Cast function on player doesn't equip the spell but casts it
    Bug #5059: Modded animation with combined attack keys always does max damage and can double damage
    Bug #5060: Magic effect visuals stop when death animation begins instead of when it ends
    Bug #5063: Shape named "Tri Shadow" in creature mesh is visible if it isn't hidden
    Bug #5067: Ranged attacks on unaware opponents ("critical hits") differ from the vanilla engine
    Bug #5069: Blocking creatures' attacks doesn't degrade shields
    Bug #5073: NPCs open doors in front of them even if they don't have to
    Bug #5074: Paralyzed actors greet the player
    Bug #5075: Enchanting cast style can be changed if there's no object
    Bug #5078: DisablePlayerLooking is broken
    Bug #5081: OpenMW-CS: Apparatus type "Alembic" is erroneously named "Albemic"
    Bug #5082: Scrolling with controller in GUI mode is broken
    Bug #5087: Some valid script names can't be used as string arguments
    Bug #5089: Swimming/Underwater creatures only swim around ground level
    Bug #5092: NPCs with enchanted weapons play sound when out of charges
    Bug #5093: Hand to hand sound plays on knocked out enemies
    Bug #5097: String arguments can't be parsed as number literals in scripts
    Bug #5099: Non-swimming enemies will enter water if player is water walking
    Bug #5103: Sneaking state behavior is still inconsistent
    Bug #5104: Black Dart's enchantment doesn't trigger at low Enchant levels
    Bug #5106: Still can jump even when encumbered
    Bug #5110: ModRegion with a redundant numerical argument breaks script execution
    Bug #5112: Insufficient magicka for current spell not reflected on HUD icon
    Bug #5113: Unknown alchemy question mark not centered
    Bug #5123: Script won't run on respawn
    Bug #5124: Arrow remains attached to actor if pulling animation was cancelled
    Bug #5126: Swimming creatures without RunForward animations are motionless during combat
    Bug #5134: Doors rotation by "Lock" console command is inconsistent
    Bug #5136: LegionUniform script: can not access local variables
    Bug #5137: Textures with Clamp Mode set to Clamp instead of Wrap are too dark outside the boundaries
    Bug #5138: Actors stuck in half closed door
    Bug #5149: Failing lock pick attempts isn't always a crime
    Bug #5155: Lock/unlock behavior differs from vanilla
    Bug #5158: Objects without a name don't fallback to their ID
    Bug #5159: NiMaterialColorController can only control the diffuse color
    Bug #5161: Creature companions can't be activated when they are knocked down
    Bug #5163: UserData is not copied during node cloning
    Bug #5164: Faction owned items handling is incorrect
    Bug #5166: Scripts still should be executed after player's death
    Bug #5167: Player can select and cast spells before magic menu is enabled
    Bug #5168: Force1stPerson and Force3rdPerson commands are not really force view change
    Bug #5169: Nested levelled items/creatures have significantly higher chance not to spawn
    Bug #5175: Random script function returns an integer value
    Bug #5177: Editor: Unexplored map tiles get corrupted after a file with terrain is saved
    Bug #5182: OnPCEquip doesn't trigger on skipped beast race attempts to equip something not equippable by beasts
    Bug #5186: Equipped item enchantments don't affect creatures
    Bug #5190: On-strike enchantments can be applied to and used with non-projectile ranged weapons
    Bug #5196: Dwarven ghosts do not use idle animations
    Bug #5206: A "class does not have NPC stats" error when player's follower kills an enemy with damage spell
    Bug #5209: Spellcasting ignores race height
    Bug #5210: AiActivate allows actors to open dialogue and inventory windows
    Bug #5211: Screen fades in if the first loaded save is in interior cell
    Bug #5212: AiTravel does not work for actors outside of AI processing range
    Bug #5213: SameFaction script function is broken
    Bug #5218: Crash when disabling ToggleBorders
    Bug #5220: GetLOS crashes when actor isn't loaded
    Bug #5222: Empty cell name subrecords are not saved
    Bug #5223: Bow replacement during attack animation removes attached arrow
    Bug #5226: Reputation should be capped
    Bug #5229: Crash if mesh controller node has no data node
    Bug #5239: OpenMW-CS does not support non-ASCII characters in path names
    Bug #5241: On-self absorb spells cannot be detected
    Bug #5242: ExplodeSpell behavior differs from Cast behavior
    Bug #5246: Water ripples persist after cell change
    Bug #5249: Wandering NPCs start walking too soon after they hello
    Bug #5250: Creatures display shield ground mesh instead of shield body part
    Bug #5255: "GetTarget, player" doesn't return 1 during NPC hello
    Bug #5261: Creatures can sometimes become stuck playing idles and never wander again
    Bug #5264: "Damage Fatigue" Magic Effect Can Bring Fatigue below 0
    Bug #5269: Editor: Cell lighting in resaved cleaned content files is corrupted
    Bug #5278: Console command Show doesn't fall back to global variable after local var not found
    Bug #5308: World map copying makes save loading much slower
    Bug #5313: Node properties of identical type are not applied in the correct order
    Bug #5326: Formatting issues in the settings.cfg
    Bug #5328: Skills aren't properly reset for dead actors
    Bug #5345: Dopey Necromancy does not work due to a missing quote
    Bug #5350: An attempt to launch magic bolt causes "AL error invalid value" error
    Bug #5352: Light source items' duration is decremented while they aren't visible
    Feature #1724: Handle AvoidNode
    Feature #2229: Improve pathfinding AI
    Feature #3025: Analogue gamepad movement controls
    Feature #3442: Default values for fallbacks from ini file
    Feature #3517: Multiple projectiles enchantment
    Feature #3610: Option to invert X axis
    Feature #3871: Editor: Terrain Selection
    Feature #3893: Implicit target for "set" function in console
    Feature #3980: In-game option to disable controller
    Feature #3999: Shift + Double Click should maximize/restore menu size
    Feature #4001: Toggle sneak controller shortcut
    Feature #4068: OpenMW-CS: Add a button to reset key bindings to defaults
    Feature #4129: Beta Comment to File
    Feature #4202: Open .omwaddon files without needing to open openmw-cs first
    Feature #4209: Editor: Faction rank sub-table
    Feature #4255: Handle broken RepairedOnMe script function
    Feature #4316: Implement RaiseRank/LowerRank functions properly
    Feature #4360: Improve default controller bindings
    Feature #4544: Actors movement deceleration
    Feature #4673: Weapon sheathing
    Feature #4675: Support for NiRollController
    Feature #4708: Radial fog support
    Feature #4730: Native animated containers support
    Feature #4784: Launcher: Duplicate Content Lists
    Feature #4812: Support NiSwitchNode
    Feature #4831: Item search in the player's inventory
    Feature #4836: Daytime node switch
    Feature #4840: Editor: Transient terrain change support
    Feature #4859: Make water reflections more configurable
    Feature #4882: Support for NiPalette node
    Feature #4887: Add openmw command option to set initial random seed
    Feature #4890: Make Distant Terrain configurable
    Feature #4944: Pause audio when OpenMW is minimized
    Feature #4958: Support eight blood types
    Feature #4962: Add casting animations for magic items
    Feature #4968: Scalable UI widget skins
    Feature #4971: OpenMW-CS: Make rotations display as degrees instead of radians
    Feature #4994: Persistent pinnable windows hiding
    Feature #5000: Compressed BSA format support
    Feature #5005: Editor: Instance window via Scene window
    Feature #5010: Native graphics herbalism support
    Feature #5031: Make GetWeaponType function return different values for tools
    Feature #5033: Magic armor mitigation for creatures
    Feature #5034: Make enchanting window stay open after a failed attempt
    Feature #5036: Allow scripted faction leaving
    Feature #5046: Gamepad thumbstick cursor speed
    Feature #5051: Provide a separate textures for scrollbars
    Feature #5091: Human-readable light source duration
    Feature #5094: Unix like console hotkeys
    Feature #5098: Allow user controller bindings
    Feature #5114: Refresh launcher mod list
    Feature #5121: Handle NiTriStrips and NiTriStripsData
    Feature #5122: Use magic glow for enchanted arrows
    Feature #5131: Custom skeleton bones
    Feature #5132: Unique animations for different weapon types
    Feature #5146: Safe Dispose corpse
    Feature #5147: Show spell magicka cost in spell buying window
    Feature #5170: Editor: Land shape editing, land selection
    Feature #5172: Editor: Delete instances/references with keypress in scene window
    Feature #5193: Shields sheathing
    Feature #5201: Editor: Show tool outline in scene view, when using editmodes
    Feature #5219: Impelement TestCells console command
    Feature #5224: Handle NiKeyframeController for NiTriShape
    Feature #5274: Editor: Keyboard shortcut to drop objects to ground/obstacle in scene view
    Feature #5304: Morrowind-style bump-mapping
    Feature #5311: Support for gyroscopic input (e.g. Android)
    Feature #5314: Ingredient filter in the alchemy window
    Task #4686: Upgrade media decoder to a more current FFmpeg API
    Task #4695: Optimize Distant Terrain memory consumption
    Task #4789: Optimize cell transitions
    Task #4721: Add NMake support to the Windows prebuild script

0.45.0
------

    Bug #1875: Actors in inactive cells don't heal from resting
    Bug #1990: Sunrise/sunset not set correct
    Bug #2131: Lustidrike's spell misses the player every time
    Bug #2222: Fatigue's effect on selling price is backwards
    Bug #2256: Landing sound not playing when jumping immediately after landing
    Bug #2274: Thin platform clips through player character instead of lifting
    Bug #2326: After a bound item expires the last equipped item of that type is not automatically re-equipped
    Bug #2446: Restore Attribute/Skill should allow restoring drained attributes
    Bug #2455: Creatures attacks degrade armor
    Bug #2562: Forcing AI to activate a teleport door sometimes causes a crash
    Bug #2626: Resurrecting the player does not resume the game
    Bug #2772: Non-existing class or faction freezes the game
    Bug #2835: Player able to slowly move when overencumbered
    Bug #2852: No murder bounty when a player follower commits murder
    Bug #2862: [macOS] Can't quit launcher using Command-Q or OpenMW->Quit
    Bug #2872: Tab completion in console doesn't work with explicit reference
    Bug #2971: Compiler did not reject lines with naked expressions beginning with x.y
    Bug #3049: Drain and Fortify effects are not properly applied on health, magicka and fatigue
    Bug #3059: Unable to hit with marksman weapons when too close to an enemy
    Bug #3072: Fatal error on AddItem <item> that has a script containing Equip <item>
    Bug #3219: NPC and creature initial position tracing down limit is too small
    Bug #3249: Fixed revert function not updating views properly
    Bug #3288: TrueType fonts are handled incorrectly
    Bug #3374: Touch spells not hitting kwama foragers
    Bug #3486: [Mod] NPC Commands does not work
    Bug #3533: GetSpellEffects should detect effects with zero duration
    Bug #3591: Angled hit distance too low
    Bug #3629: DB assassin attack never triggers creature spawning
    Bug #3681: OpenMW-CS: Clicking Scripts in Preferences spawns many color pickers
    Bug #3762: AddSoulGem and RemoveSpell redundant count arguments break script execution
    Bug #3788: GetPCInJail and GetPCTraveling do not work as in vanilla
    Bug #3836: Script fails to compile when command argument contains "\n"
    Bug #3876: Landscape texture painting is misaligned
    Bug #3890: Magic light source attenuation is inaccurate
    Bug #3897: Have Goodbye give all choices the effects of Goodbye
    Bug #3911: [macOS] Typing in the "Content List name" dialog box produces double characters
    Bug #3920: RemoveSpellEffects doesn't remove constant effects
    Bug #3948: AiCombat moving target aiming uses incorrect speed for magic projectiles
    Bug #3950: FLATTEN_STATIC_TRANSFORMS optimization breaks animated collision shapes
    Bug #3993: Terrain texture blending map is not upscaled
    Bug #3997: Almalexia doesn't pace
    Bug #4036: Weird behaviour of AI packages if package target has non-unique ID
    Bug #4047: OpenMW not reporting its version number in MacOS; OpenMW-CS not doing it fully
    Bug #4110: Fixed undo / redo menu text losing the assigned shortcuts
    Bug #4125: OpenMW logo cropped on bugtracker
    Bug #4215: OpenMW shows book text after last EOL tag
    Bug #4217: Fixme implementation differs from Morrowind's
    Bug #4221: Characters get stuck in V-shaped terrain
    Bug #4230: AiTravel package issues break some Tribunal quests
    Bug #4231: Infected rats from the "Crimson Plague" quest rendered unconscious by change in Drain Fatigue functionality
    Bug #4251: Stationary NPCs do not return to their position after combat
    Bug #4260: Keyboard navigation makes persuasion exploitable
    Bug #4271: Scamp flickers when attacking
    Bug #4274: Pre-0.43 death animations are not forward-compatible with 0.43+
    Bug #4286: Scripted animations can be interrupted
    Bug #4291: Non-persistent actors that started the game as dead do not play death animations
    Bug #4292: CenterOnCell implementation differs from vanilla
    Bug #4293: Faction members are not aware of faction ownerships in barter
    Bug #4304: "Follow" not working as a second AI package
    Bug #4307: World cleanup should remove dead bodies only if death animation is finished
    Bug #4311: OpenMW does not handle RootCollisionNode correctly
    Bug #4327: Missing animations during spell/weapon stance switching
    Bug #4333: Keyboard navigation in containers is not intuitive
    Bug #4358: Running animation is interrupted when magic mode is toggled
    Bug #4368: Settings window ok button doesn't have key focus by default
    Bug #4378: On-self absorb spells restore stats
    Bug #4393: NPCs walk back to where they were after using ResetActors
    Bug #4416: Non-music files crash the game when they are tried to be played
    Bug #4419: MRK NiStringExtraData is handled incorrectly
    Bug #4426: RotateWorld behavior is incorrect
    Bug #4429: [Windows] Error on build INSTALL.vcxproj project (debug) with cmake 3.7.2
    Bug #4431: "Lock 0" console command is a no-op
    Bug #4432: Guards behaviour is incorrect if they do not have AI packages
    Bug #4433: Guard behaviour is incorrect with Alarm = 0
    Bug #4451: Script fails to compile when using "Begin, [ScriptName]" syntax
    Bug #4452: Default terrain texture bleeds through texture transitions
    Bug #4453: Quick keys behaviour is invalid for equipment
    Bug #4454: AI opens doors too slow
    Bug #4457: Item without CanCarry flag prevents shield autoequipping in dark areas
    Bug #4458: AiWander console command handles idle chances incorrectly
    Bug #4459: NotCell dialogue condition doesn't support partial matches
    Bug #4460: Script function "Equip" doesn't bypass beast restrictions
    Bug #4461: "Open" spell from non-player caster isn't a crime
    Bug #4463: %g format doesn't return more digits
    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 #4470: Non-bipedal creatures with Weapon & Shield flag have inconsistent behaviour
    Bug #4474: No fallback when getVampireHead fails
    Bug #4475: Scripted animations should not cause movement
    Bug #4479: "Game" category on Advanced page is getting too long
    Bug #4480: Segfault in QuickKeysMenu when item no longer in inventory
    Bug #4489: Goodbye doesn't block dialogue hyperlinks
    Bug #4490: PositionCell on player gives "Error: tried to add local script twice"
    Bug #4494: Training cap based off Base Skill instead of Modified Skill
    Bug #4495: Crossbow animations blending is buggy
    Bug #4496: SpellTurnLeft and SpellTurnRight animation groups are unused
    Bug #4497: File names starting with x or X are not classified as animation
    Bug #4503: Cast and ExplodeSpell commands increase alteration skill
    Bug #4510: Division by zero in MWMechanics::CreatureStats::setAttribute
    Bug #4519: Knockdown does not discard movement in the 1st-person mode
    Bug #4527: Sun renders on water shader in some situations where it shouldn't
    Bug #4531: Movement does not reset idle animations
    Bug #4532: Underwater sfx isn't tied to 3rd person camera
    Bug #4539: Paper Doll is affected by GUI scaling
    Bug #4543: Picking cursed items through inventory (menumode) makes it disappear
    Bug #4545: Creatures flee from werewolves
    Bug #4551: Replace 0 sound range with default range separately
    Bug #4553: Forcegreeting on non-actor opens a dialogue window which cannot be closed
    Bug #4557: Topics with reserved names are handled differently from vanilla
    Bug #4558: Mesh optimizer: check for reserved node name is case-sensitive
    Bug #4560: OpenMW does not update pinned windows properly
    Bug #4563: Fast travel price logic checks destination cell instead of service actor cell
    Bug #4565: Underwater view distance should be limited
    Bug #4573: Player uses headtracking in the 1st-person mode
    Bug #4574: Player turning animations are twitchy
    Bug #4575: Weird result of attack animation blending with movement animations
    Bug #4576: Reset of idle animations when attack can not be started
    Bug #4591: Attack strength should be 0 if player did not hold the attack button
    Bug #4593: Editor: Instance dragging is broken
    Bug #4597: <> operator causes a compile error
    Bug #4604: Picking up gold from the ground only makes 1 grabbed
    Bug #4607: Scaling for animated collision shapes is applied twice
    Bug #4608: Falling damage is applied twice
    Bug #4611: Instant magic effects have 0 duration in custom spell cost calculations unlike vanilla
    Bug #4614: Crash due to division by zero when FlipController has no textures
    Bug #4615: Flicker effects for light sources are handled incorrectly
    Bug #4617: First person sneaking offset is not applied while the character is in air
    Bug #4618: Sneaking is possible while the character is flying
    Bug #4622: Recharging enchanted items with Soul Gems does not award experience if it fails
    Bug #4628: NPC record reputation, disposition and faction rank should have unsigned char type
    Bug #4633: Sneaking stance affects speed even if the actor is not able to crouch
    Bug #4641: GetPCJumping is handled incorrectly
    Bug #4644: %Name should be available for all actors, not just for NPCs
    Bug #4646: Weapon force-equipment messes up ongoing attack animations
    Bug #4648: Hud thinks that throwing weapons have condition
    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 #4656: Combat AI: back up behaviour is incorrect
    Bug #4668: Editor: Light source color is displayed as an integer
    Bug #4669: ToggleCollision should trace the player down after collision being enabled
    Bug #4671: knownEffect functions should use modified Alchemy skill
    Bug #4672: Pitch factor is handled incorrectly for crossbow animations
    Bug #4674: Journal can be opened when settings window is open
    Bug #4677: Crash in ESM reader when NPC record has DNAM record without DODT one
    Bug #4678: Crash in ESP parser when SCVR has no variable names
    Bug #4684: Spell Absorption is additive
    Bug #4685: Missing sound causes an exception inside Say command
    Bug #4689: Default creature soundgen entries are not used
    Bug #4691: Loading bar for cell should be moved up when text is still active at bottom of screen
    Feature #912: Editor: Add missing icons to UniversalId tables
    Feature #1221: Editor: Creature/NPC rendering
    Feature #1617: Editor: Enchantment effect record verifier
    Feature #1645: Casting effects from objects
    Feature #2606: Editor: Implemented (optional) case sensitive global search
    Feature #2787: Use the autogenerated collision box, if the creature mesh has no predefined one
    Feature #2845: Editor: add record view and preview default keybindings
    Feature #2847: Content selector: allow to copy the path to a file by using the context menu
    Feature #3083: Play animation when NPC is casting spell via script
    Feature #3103: Provide option for disposition to get increased by successful trade
    Feature #3276: Editor: Search - Show number of (remaining) search results and indicate a search without any results
    Feature #3641: Editor: Limit FPS in 3d preview window
    Feature #3703: Ranged sneak attack criticals
    Feature #4012: Editor: Write a log file if OpenCS crashes
    Feature #4222: 360° screenshots
    Feature #4256: Implement ToggleBorders (TB) console command
    Feature #4285: Support soundgen calls for activators
    Feature #4324: Add CFBundleIdentifier in Info.plist to allow for macOS function key shortcuts
    Feature #4345: Add equivalents for the command line commands to Launcher
    Feature #4404: Editor: All EnumDelegate fields should have their items sorted alphabetically
    Feature #4444: Per-group KF-animation files support
    Feature #4466: Editor: Add option to ignore "Base" records when running verifier
    Feature #4488: Make water shader rougher during rain
    Feature #4509: Show count of enchanted items in stack in the spells list
    Feature #4512: Editor: Use markers for lights and creatures levelled lists
    Feature #4548: Weapon priority: use the actual chance to hit the target instead of weapon skill
    Feature #4549: Weapon priority: use the actual damage in weapon rating calculations
    Feature #4550: Weapon priority: make ranged weapon bonus more sensible
    Feature #4579: Add option for applying Strength into hand to hand damage
    Feature #4581: Use proper logging system
    Feature #4624: Spell priority: don't cast hit chance-affecting spells if the enemy is not in respective stance at the moment
    Feature #4625: Weapon priority: use weighted mean for melee damage rating
    Feature #4626: Weapon priority: account for weapon speed
    Feature #4632: AI priority: utilize vanilla AI GMSTs for priority rating
    Feature #4636: Use sTo GMST in spellmaking menu
    Feature #4642: Batching potion creation
    Feature #4647: Cull actors outside of AI processing range
    Feature #4682: Use the collision box from basic creature mesh if the X one have no collisions
    Feature #4697: Use the real thrown weapon damage in tooltips and AI
    Task #2490: Don't open command prompt window on Release-mode builds automatically
    Task #4545: Enable is_pod string test
    Task #4605: Optimize skinning
    Task #4606: Support Rapture3D's OpenAL driver
    Task #4613: Incomplete type errors when compiling with g++ on OSX 10.9
    Task #4621: Optimize combat AI
    Task #4643: Revise editor record verifying functionality
    Task #4645: Use constants instead of widely used magic numbers
    Task #4652: Move call to enemiesNearby() from InputManager::rest() to World::canRest()

0.44.0
------

    Bug #1428: Daedra summoning scripts aren't executed when the item is taken through the inventory
    Bug #1987: Some glyphs are not supported
    Bug #2254: Magic related visual effects are not rendered when loading a saved game
    Bug #2485: Journal alphabetical index doesn't match "Morrowind content language" setting
    Bug #2703: OnPCHitMe is not handled correctly
    Bug #2829: Incorrect order for content list consisting of a game file and an esp without dependencies
    Bug #2841: "Total eclipse" happens if weather settings are not defined.
    Bug #2897: Editor: Rename "Original creature" field
    Bug #3278: Editor: Unchecking "Auto Calc" flag changes certain values
    Bug #3343: Editor: ID sorting is case-sensitive in certain tables
    Bug #3557: Resource priority confusion when using the local data path as installation root
    Bug #3587: Pathgrid and Flying Creatures wrong behaviour – abotWhereAreAllBirdsGoing
    Bug #3603: SetPos should not skip weather transitions
    Bug #3618: Myar Aranath total conversion can't be started due to capital-case extension of the master file
    Bug #3638: Fast forwarding can move NPC inside objects
    Bug #3664: Combat music does not start in dialogue
    Bug #3696: Newlines are accompanied by empty rectangle glyph in dialogs
    Bug #3708: Controllers broken on macOS
    Bug #3726: Items with suppressed activation can be picked up via the inventory menu
    Bug #3783: [Mod] Abot's Silt Striders 1.16 - silt strider "falls" to ground and glides on floor during travel
    Bug #3863: Can be forced to not resist arrest if you cast Calm Humanoid on aggroed death warrant guards
    Bug #3884: Incorrect enemy behavior when exhausted
    Bug #3926: Installation Wizard places Morrowind.esm after Tribunal/Bloodmoon if it has a later file creation date
    Bug #4061: Scripts error on special token included in name
    Bug #4111: Crash when mouse over soulgem with a now-missing soul
    Bug #4122: Swim animation should not be interrupted during underwater attack
    Bug #4134: Battle music behaves different than vanilla
    Bug #4135: Reflecting an absorb spell different from vanilla
    Bug #4136: Enchanted weapons without "ignore normal weapons" flag don't bypass creature "ignore normal weapons" effect
    Bug #4143: Antialiasing produces graphical artifacts when used with shader lighting
    Bug #4159: NPCs' base skeleton files should not be optimized
    Bug #4177: Jumping/landing animation interference/flickering
    Bug #4179: NPCs do not face target
    Bug #4180: Weapon switch sound playing even though no weapon is switched
    Bug #4184: Guards can initiate dialogue even though you are far above them
    Bug #4190: Enchanted clothes changes visibility with Chameleon on equip/unequip
    Bug #4191: "screenshot saved" message also appears in the screenshot image
    Bug #4192: Archers in OpenMW have shorter attack range than archers in Morrowind
    Bug #4210: Some dialogue topics are not highlighted on first encounter
    Bug #4211: FPS drops after minimizing the game during rainy weather
    Bug #4216: Thrown weapon projectile doesn't rotate
    Bug #4223: Displayed spell casting chance must be 0 if player doesn't have enough magicka to cast it
    Bug #4225: Double "Activate" key presses with Mouse and Gamepad.
    Bug #4226: The current player's class should be default value in the class select menu
    Bug #4229: Tribunal/Bloodmoon summoned creatures fight other summons
    Bug #4233: W and A keys override S and D Keys
    Bug #4235: Wireframe mode affects local map
    Bug #4239: Quick load from container screen causes crash
    Bug #4242: Crime greetings display in Journal
    Bug #4245: Merchant NPCs sell ingredients growing on potted plants they own
    Bug #4246: Take armor condition into account when calcuting armor rating
    Bug #4250: Jumping is not as fluid as it was pre-0.43.0
    Bug #4252: "Error in frame: FFmpeg exception: Failed to allocate input stream" message spam if OpenMW encounter non-music file in the Music folder
    Bug #4261: Magic effects from eaten ingredients always have 1 sec duration
    Bug #4263: Arrow position is incorrect in 3rd person view during attack for beast races
    Bug #4264: Player in god mode can be affected by some negative spell effects
    Bug #4269: Crash when hovering the faction section and the 'sAnd' GMST is missing (as in MW 1.0)
    Bug #4272: Root note transformations are discarded again
    Bug #4279: Sometimes cells are not marked as explored on the map
    Bug #4298: Problem with MessageBox and chargen menu interaction order
    Bug #4301: Optimizer breaks LOD nodes
    Bug #4308: PlaceAtMe doesn't inherit scale of calling object
    Bug #4309: Only harmful effects with resistance effect set are resistable
    Bug #4313: Non-humanoid creatures are capable of opening doors
    Bug #4314: Rainy weather slows down the game when changing from indoors/outdoors
    Bug #4319: Collisions for certain meshes are incorrectly ignored
    Bug #4320: Using mouse 1 to move forward causes selection dialogues to jump selections forward.
    Bug #4322: NPC disposition: negative faction reaction modifier doesn't take PC rank into account
    Bug #4328: Ownership by dead actors is not cleared from picked items
    Bug #4334: Torch and shield usage inconsistent with original game
    Bug #4336: Wizard: Incorrect Morrowind assets path autodetection
    Bug #4343: Error message for coc and starting cell shouldn't imply that it only works for interior cells
    Bug #4346: Count formatting does not work well with very high numbers
    Bug #4351: Using AddSoulgem fills all soul gems of the specified type
    Bug #4391: No visual indication is provided when an unavailable spell fails to be chosen via a quick key
    Bug #4392: Inventory filter breaks after loading a game
    Bug #4405: No default terrain in empty cells when distant terrain is enabled
    Bug #4410: [Mod] Arktwend: OpenMW does not use default marker definitions
    Bug #4412: openmw-iniimporter ignores data paths from config
    Bug #4413: Moving with 0 strength uses all of your fatigue
    Bug #4420: Camera flickering when I open up and close menus while sneaking
    Bug #4424: [macOS] Cursor is either empty or garbage when compiled against macOS 10.13 SDK
    Bug #4435: Item health is considered a signed integer
    Bug #4441: Adding items to currently disabled weapon-wielding creatures crashes the game
    Feature #1786: Round up encumbrance value in the encumbrance bar
    Feature #2694: Editor: rename "model" column to make its purpose clear
    Feature #3870: Editor: Terrain Texture Brush Button
    Feature #3872: Editor: Edit functions in terrain texture editing mode
    Feature #4054: Launcher: Create menu for settings.cfg options
    Feature #4064: Option for fast travel services to charge for the first companion
    Feature #4142: Implement fWereWolfHealth GMST
    Feature #4174: Multiple quicksaves
    Feature #4407: Support NiLookAtController
    Feature #4423: Rebalance soul gem values
    Task #4015: Use AppVeyor build artifact features to make continuous builds available
    Editor: New (and more complete) icon set

0.43.0
------

    Bug #815: Different settings cause inconsistent underwater visibility
    Bug #1452: autosave is not executed when waiting
    Bug #1555: Closing containers with spacebar doesn't work after touching an item
    Bug #1692: Can't close container when item is "held"
    Bug #2405: Maximum distance for guards attacking hostile creatures is incorrect
    Bug #2445: Spellcasting can be interrupted
    Bug #2489: Keeping map open not persisted between saves
    Bug #2594: 1st person view uses wrong body texture with Better bodies
    Bug #2628: enablestatreviewmenu command doen't read race, class and sign values from current game
    Bug #2639: Attacking flag isn't reset upon reloading
    Bug #2698: Snow and rain VFX move with the player
    Bug #2704: Some creature swim animations not being used
    Bug #2789: Potential risk of misunderstanding using the colored "owned" crosshair feature
    Bug #3045: Settings containing '#' cannot be loaded
    Bug #3097: Drop() doesn't work when an item is held (with the mouse)
    Bug #3110: GetDetected doesn't work without a reference
    Bug #3126: Framerate nosedives when adjusting dialogue window size
    Bug #3243: Ampersand in configuration files isn't escaped automatically
    Bug #3365: Wrong water reflection along banks
    Bug #3441: Golden saint always dispelling soul trap / spell priority issue
    Bug #3528: Disposing of corpses breaks quests
    Bug #3531: No FPS limit when playing bink videos even though "framerate limit" is set in settings.cfg
    Bug #3647: Multi-effect spells play audio louder than in Vanilla
    Bug #3656: NPCs forget where their place in the world is
    Bug #3665: Music transitions are too abrupt
    Bug #3679: Spell cast effect should disappear after using rest command
    Bug #3684: Merchants do not restock empty soul gems if they acquire filled ones.
    Bug #3694: Wrong magicka bonus applied on character creation
    Bug #3706: Guards don't try to arrest the player if attacked
    Bug #3709: Editor: Camera is not positioned correctly on mode switches related to orbital mode
    Bug #3720: Death counter not cleaned of non-existing IDs when loading a game
    Bug #3744: "Greater/lesser or equal" operators are not parsed when their signs are swapped
    Bug #3749: Yagrum Bagarn moves to different position on encountering
    Bug #3766: DisableLevitation does not remove visuals of preexisting effect
    Bug #3787: Script commands in result box for voiced dialogue are ignored
    Bug #3793: OpenMW tries to animate animated references even when they are disabled
    Bug #3794: Default sound buffer size is too small for mods
    Bug #3796: Mod 'Undress for me' doesn't work: NPCs re-equip everything
    Bug #3798: tgm command behaviour differs from vanilla
    Bug #3804: [Mod] Animated Morrowind: some animations do not loop correctly
    Bug #3805: Slight enchant miscalculation
    Bug #3826: Rendering problems with an image in a letter
    Bug #3833: [Mod] Windows Glow: windows textures are much darker than in original game
    Bug #3835: Bodyparts with multiple NiTriShapes are not handled correctly
    Bug #3839: InventoryStore::purgeEffect() removes only first effect with argument ID
    Bug #3843: Wrong jumping fatigue loss calculations
    Bug #3850: Boethiah's voice is distorted underwater
    Bug #3851: NPCs and player say things while underwater
    Bug #3864: Crash when exiting to Khartag point from Ilunibi
    Bug #3878: Swapping soul gems while enchanting allows constant effect enchantments using any soul gem
    Bug #3879: Dialogue option: Go to jail, persists beyond quickload
    Bug #3891: Journal displays empty entries
    Bug #3892: Empty space before dialogue entry display
    Bug #3898: (mod) PositionCell in dialogue results closes dialogue window
    Bug #3906: "Could not find Data Files location" dialog can appear multiple times
    Bug #3908: [Wizard] User gets stuck if they cancel out of installing from a CD
    Bug #3909: Morrowind Content Language dropdown is the only element on the right half of the Settings window
    Bug #3910: Launcher window can be resized so that it cuts off the scroll
    Bug #3915: NC text key on nifs doesn't work
    Bug #3919: Closing inventory while cursor hovers over spell (or other magic menu item) produces left click sound
    Bug #3922: Combat AI should avoid enemy hits when casts Self-ranged spells
    Bug #3934: [macOS] Copy/Paste from system clipboard uses Control key instead of Command key
    Bug #3935: Incorrect attack strength for AI actors
    Bug #3937: Combat AI: enchanted weapons have too high rating
    Bug #3942: UI sounds are distorted underwater
    Bug #3943: CPU/GPU usage should stop when the game is minimised
    Bug #3944: Attempting to sell stolen items back to their owner does not remove them from your inventory
    Bug #3955: Player's avatar rendering issues
    Bug #3956: EditEffectDialog: Cancel button does not update a Range button and an Area slider properly
    Bug #3957: Weird bodypart rendering if a node has reserved name
    Bug #3960: Clothes with high cost (> 32768) are not handled properly
    Bug #3963: When on edge of being burdened the condition doesn't lower as you run.
    Bug #3971: Editor: Incorrect colour field in cell table
    Bug #3974: Journal page turning doesn't produce sounds
    Bug #3978: Instant opening and closing happens when using a Controller with Menus/Containers
    Bug #3981: Lagging when spells are cast, especially noticeable on new landmasses such as Tamriel Rebuilt
    Bug #3982: Down sounds instead of Up ones are played when trading
    Bug #3987: NPCs attack after some taunting with no "Goodbye"
    Bug #3991: Journal can still be opened at main menu
    Bug #3995: Dispel cancels every temporary magic effect
    Bug #4002: Build broken on OpenBSD with clang
    Bug #4003: Reduce Render Area of Inventory Doll to Fit Within Border
    Bug #4004: Manis Virmaulese attacks without saying anything
    Bug #4010: AiWander: "return to the spawn position" feature does not work properly
    Bug #4016: Closing menus with spacebar will still send certain assigned actions through afterwards
    Bug #4017: GetPCRunning and GetPCSneaking should check that the PC is actually moving
    Bug #4024: Poor music track distribution
    Bug #4025: Custom spell with copy-pasted name always sorts to top of spell list
    Bug #4027: Editor: OpenMW-CS misreports its own name as "OpenCS", under Mac OS
    Bug #4033: Archers don't attack if the arrows have run out and there is no other weapon
    Bug #4037: Editor: New greetings do not work in-game.
    Bug #4049: Reloading a saved game while falling prevents damage
    Bug #4056: Draw animation should not be played when player equips a new weapon
    Bug #4074: Editor: Merging of LAND/LTEX records
    Bug #4076: Disposition bar is not updated when "goodbye" selected in dialogue
    Bug #4079: Alchemy skill increases do not take effect until next batch
    Bug #4093: GetResistFire, getResistFrost and getResistShock doesn't work as in vanilla
    Bug #4094: Level-up messages for levels past 20 are hardcoded not to be used
    Bug #4095: Error in framelistener when take all items from a dead corpse
    Bug #4096: Messagebox with the "%0.f" format should use 0 digit precision
    Bug #4104: Cycling through weapons does not skip broken ones
    Bug #4105: birthsign generation menu does not show full details
    Bug #4107: Editor: Left pane in Preferences window is too narrow
    Bug #4112: Inventory sort order is inconsistent
    Bug #4113: 'Resolution not supported in fullscreen' message is inconvenient
    Bug #4131: Pickpocketing behaviour is different from vanilla
    Bug #4155: NPCs don't equip a second ring in some cases
    Bug #4156: Snow doesn't create water ripples
    Bug #4165: NPCs autoequip new clothing with the same price
    Feature #452: Rain-induced water ripples
    Feature #824: Fading for doors and teleport commands
    Feature #933: Editor: LTEX record table
    Feature #936: Editor: LAND record table
    Feature #1374: AI: Resurface to breathe
    Feature #2320: ess-Importer: convert projectiles
    Feature #2509: Editor: highlighting occurrences of a word in a script
    Feature #2748: Editor: Should use one resource manager per document
    Feature #2834: Have openMW's UI remember what menu items were 'pinned' across boots.
    Feature #2923: Option to show the damage of the arrows through tooltip.
    Feature #3099: Disabling inventory while dragging an item forces you to drop it
    Feature #3274: Editor: Script Editor - Shortcuts and context menu options for commenting code out and uncommenting code respectively
    Feature #3275: Editor: User Settings- Add an option to reset settings to their default status (per category / all)
    Feature #3400: Add keyboard shortcuts for menus
    Feature #3492: Show success rate while enchanting
    Feature #3530: Editor: Reload data files
    Feature #3682: Editor: Default key binding reset
    Feature #3921: Combat AI: aggro priorities
    Feature #3941: Allow starting at an unnamed exterior cell with --start
    Feature #3952: Add Visual Studio 2017 support
    Feature #3953: Combat AI: use "WhenUsed" enchantments
    Feature #4082: Leave the stack of ingredients or potions grabbed after using an ingredient/potion
    Task #2258: Windows installer: launch OpenMW tickbox
    Task #4152: The Windows CI script is moving files around that CMake should be dealing with

0.42.0
------

    Bug #1956: Duplicate objects after loading the game, when a mod was edited
    Bug #2100: Falling leaves in Vurt's Leafy West Gash II not rendered correctly
    Bug #2116: Cant fit through some doorways pressed against staircases
    Bug #2289: Some modal dialogs are not centered on the screen when the window resizes
    Bug #2409: Softlock when pressing weapon/magic switch keys during chargen, afterwards switches weapons even though a text field is selected
    Bug #2483: Previous/Next Weapon hotkeys triggered while typing the name of game save
    Bug #2629: centeroncell, coc causes death / fall damage time to time when teleporting from high
    Bug #2645: Cycling weapons is possible while console/pause menu is open
    Bug #2678: Combat with water creatures do not end upon exiting water
    Bug #2759: Light Problems in Therana's Chamber in Tel Branora
    Bug #2771: unhandled sdl event of type 0x302
    Bug #2777: (constant/on cast) disintegrate armor/weapon on self is seemingly not working
    Bug #2838: Editor: '.' in a record name should be allowed
    Bug #2909: NPCs appear floating when standing on a slope
    Bug #3093: Controller movement cannot be used while mouse is moving
    Bug #3134: Crash possible when using console with open container
    Bug #3254: AI enemies hit between them.
    Bug #3344: Editor: Verification results sorting by Type is not alphabetical.
    Bug #3345: Editor: Cloned and added pathgrids are lost after reopen of saved omwgame file
    Bug #3355: [MGSO] Physics maxing out in south cornerclub Balmora
    Bug #3484: Editor: camera position is not set when changing cell via drag&drop
    Bug #3508: Slowfall kills Jump momentum
    Bug #3580: Crash: Error ElementBufferObject::remove BufferData<0> out of range
    Bug #3581: NPCs wander too much
    Bug #3601: Menu Titles not centered vertically
    Bug #3607: [Mac OS] Beginning of NPC speech cut off (same issue as closed bug #3453)
    Bug #3613: Can not map "next weapon" or "next spell" to controller
    Bug #3617: Enchanted arrows don't explode when hitting the ground
    Bug #3645: Unable to use steps in Vivec, Palace of Vivec
    Bug #3650: Tamriel Rebuilt 16.09.1 – Hist Cuirass GND nif is rendered inside a Pink Box
    Bug #3652: Item icon shadows get stuck in the alchemy GUI
    Bug #3653: Incorrect swish sounds
    Bug #3666: NPC collision should not be disabled until death animation has finished
    Bug #3669: Editor: Text field was missing from book object editing dialogue
    Bug #3670: Unhandled SDL event of type 0x304
    Bug #3671: Incorrect local variable value after picking up bittercup
    Bug #3686: Travelling followers doesn't increase travel fee
    Bug #3689: Problematic greetings from Antares Big Mod that override the appropriate ones.
    Bug #3690: Certain summoned creatures do not engage in combat with underwater creatures
    Bug #3691: Enemies do not initiate combat with player followers on sight
    Bug #3695: [Regression] Dispel does not always dispel spell effects in 0.41
    Bug #3699: Crash on MWWorld::ProjectileManager::moveMagicBolts
    Bug #3700: Climbing on rocks and mountains
    Bug #3704: Creatures don't auto-equip their shields on creation
    Bug #3705: AI combat engagement logic differs from vanilla
    Bug #3707: Animation playing does some very odd things if pc comes in contact with the animated mesh
    Bug #3712: [Mod] Freeze upon entering Adanumuran with mod Adanumuran Reclaimed
    Bug #3713: [Regression] Cancelling dialogue or using travel with creatures throws a (possibly game-breaking) exception
    Bug #3719: Dropped identification papers can't be picked up again
    Bug #3722: Command spell doesn't bring enemies out of combat
    Bug #3727: Using "Activate" mid-script-execution invalidates interpreter context
    Bug #3746: Editor: Book records show attribute IDs instead of skill IDs for teached skills entry.
    Bug #3755: Followers stop following after loading from savegame
    Bug #3772: ModStat lowers attribute to 100 if it was greater
    Bug #3781: Guns in Clean Hunter Rifles mod use crossbow sounds
    Bug #3797: NPC and creature names don't show up in combat when RMB windows are displayed
    Bug #3800: Wrong tooltip maximum width
    Bug #3801: Drowning widget is bugged
    Bug #3802: BarterOffer shouldn't limit pcMercantile
    Bug #3813: Some fatal error
    Bug #3816: Expression parser thinks the -> token is unexpected when a given explicit refID clashes with a journal ID
    Bug #3822: Custom added creatures are not animated
    Feature #451: Water sounds
    Feature #2691: Light particles sometimes not shown in inventory character preview
    Feature #3523: Light source on magic projectiles
    Feature #3644: Nif NiSphericalCollider Unknown Record Type
    Feature #3675: ess-Importer: convert mark location
    Feature #3693: ess-Importer: convert last known exterior cell
    Feature #3748: Editor: Replace "Scroll" check box in Book records with "Book Type" combo box.
    Feature #3751: Editor: Replace "Xyz Blood" check boxes in NPC and Creature records with "Blood Type" combo box
    Feature #3752: Editor: Replace emitter check boxes in Light records with "Emitter Type" combo box
    Feature #3756: Editor: Replace "Female" check box in NPC records with "Gender" combo box
    Feature #3757: Editor: Replace "Female" check box in BodyPart records with "Gender" combo box
    Task #3092: const version of ContainerStoreIterator
    Task #3795: /deps folder not in .gitignore

0.41.0
------

    Bug #1138: Casting water walking doesn't move the player out of the water
    Bug #1931: Rocks from blocked passage in Bamz-Amschend, Radacs Forge can reset and cant be removed again.
    Bug #2048: Almvisi and Divine Intervention display wrong spell effect
    Bug #2054: Show effect-indicator for "instant effect" spells and potions
    Bug #2150: Clockwork City door animation problem
    Bug #2288: Playback of weapon idle animation not correct
    Bug #2410: Stat-review window doesn't display starting spells, powers, or abilities
    Bug #2493: Repairing occasionally very slow
    Bug #2716: [OSG] Water surface is too transparent from some angles
    Bug #2859: [MAC OS X] Cannot exit fullscreen once enabled
    Bug #3091: Editor: will not save addon if global variable value type is null
    Bug #3277: Editor: Non-functional nested tables in subviews need to be hidden instead of being disabled
    Bug #3348: Disabled map markers show on minimap
    Bug #3350: Extending selection to instances with same object results in duplicates.
    Bug #3353: [Mod] Romance version 3.7 script failed
    Bug #3376: [Mod] Vampire Embrace script fails to execute
    Bug #3385: Banners don't animate in stormy weather as they do in the original game
    Bug #3393: Akulakhan re-enabled after main quest
    Bug #3427: Editor: OpenMW-CS instances won´t get deleted
    Bug #3451: Feril Salmyn corpse isn't where it is supposed to be
    Bug #3497: Zero-weight armor is displayed as "heavy" in inventory tooltip
    Bug #3499: Idle animations don't always loop
    Bug #3500: Spark showers at Sotha Sil do not appear until you look at the ceiling
    Bug #3515: Editor: Moved objects in interior cells are teleported to exterior cells.
    Bug #3520: Editor: OpenMW-CS cannot find project file when launching the game
    Bug #3521: Armed NPCs don't use correct melee attacks
    Bug #3535: Changing cell immediately after dying causes character to freeze.
    Bug #3542: Unable to rest if unalerted slaughterfish are in the cell with you
    Bug #3549: Blood effects occur even when a hit is resisted
    Bug #3551: NPC Todwendy in german version can't interact
    Bug #3552: Opening the journal when fonts are missing results in a crash
    Bug #3555: SetInvisible command should not apply graphic effect
    Bug #3561: Editor: changes from omwaddon are not loaded in [New Addon] mode
    Bug #3562: Non-hostile NPCs can be disarmed by stealing their weapons via sneaking
    Bug #3564: Editor: openmw-cs verification results
    Bug #3568: Items that should be invisible are shown in the inventory
    Bug #3574: Alchemy: Alembics and retorts are used in reverse
    Bug #3575: Diaglog choices don't work in mw 0.40
    Bug #3576: Minor differences in AI reaction to hostile spell effects
    Bug #3577: not local nolore dialog test
    Bug #3578: Animation Replacer hangs after one cicle/step
    Bug #3579: Bound Armor skillups and sounds
    Bug #3583: Targetted GetCurrentAiPackage returns 0
    Bug #3584: Persuasion bug
    Bug #3590: Vendor, Ilen Faveran, auto equips items from stock
    Bug #3594: Weather doesn't seem to update correctly in Mournhold
    Bug #3598: Saving doesn't save status of objects
    Bug #3600: Screen goes black when trying to travel to Sadrith Mora
    Bug #3608: Water ripples aren't created when walking on water
    Bug #3626: Argonian NPCs swim like khajiits
    Bug #3627: Cannot delete "Blessed touch" spell from spellbook
    Bug #3634: An enchanted throwing weapon consumes charges from the stack in your inventory. (0.40.0)
    Bug #3635: Levelled items in merchants are "re-rolled" (not bug 2952, see inside)
    Feature #1118: AI combat: flee
    Feature #1596: Editor: Render water
    Feature #2042: Adding a non-portable Light to the inventory should cause the player to glow
    Feature #3166: Editor: Instance editing mode - rotate sub mode
    Feature #3167: Editor: Instance editing mode - scale sub mode
    Feature #3420: ess-Importer: player control flags
    Feature #3489: You shouldn't be be able to re-cast a bound equipment spell
    Feature #3496: Zero-weight boots should play light boot footsteps
    Feature #3516: Water Walking should give a "can't cast" message and fail when you are too deep
    Feature #3519: Play audio and visual effects for all effects in a spell
    Feature #3527: Double spell explosion scaling
    Feature #3534: Play particle textures for spell effects
    Feature #3539: Make NPCs use opponent's weapon range to decide whether to dodge
    Feature #3540: Allow dodging for creatures with "biped" flag
    Feature #3545: Drop shadow for items in menu
    Feature #3558: Implement same spell range for "on touch" spells as original engine
    Feature #3560: Allow using telekinesis with touch spells on objects
    Task #3585: Some objects added by Morrowind Rebirth do not display properly their texture

0.40.0
------

    Bug #1320: AiWander - Creatures in cells without pathgrids do not wander
    Bug #1873: Death events are triggered at the beginning of the death animation
    Bug #1996: Resting interrupts magic effects
    Bug #2399: Vampires can rest in broad daylight and survive the experience
    Bug #2604: Incorrect magicka recalculation
    Bug #2721: Telekinesis extends interaction range where it shouldn't
    Bug #2981: When waiting, NPCs can go where they wouldn't go normally.
    Bug #3045: Esp files containing the letter '#' in the file name cannot be loaded on startup
    Bug #3071: Slowfall does not stop momentum when jumping
    Bug #3085: Plugins can not replace parent cell references with a cell reference of different type
    Bug #3145: Bug with AI Cliff Racer. He will not attack you, unless you put in front of him.
    Bug #3149: Editor: Weather tables were missing from regions
    Bug #3201: Netch shoots over your head
    Bug #3269: If you deselect a mod and try to load a save made inside a cell added by it, you end bellow the terrain in the grid 0/0
    Bug #3286: Editor: Script editor tab width
    Bug #3329: Teleportation spells cause crash to desktop after build update from 0.37 to 0.38.0
    Bug #3331: Editor: Start Scripts table: Adding a script doesn't refresh the list of Start Scripts and allows to add a single script multiple times
    Bug #3332: Editor: Scene view: Tool tips only occur when holding the left mouse button
    Bug #3340: ESS-Importer does not separate item stacks
    Bug #3342: Editor: Creation of pathgrids did not check if the pathgrid already existed
    Bug #3346: "Talked to PC" is always 0 for "Hello" dialogue
    Bug #3349: AITravel doesn't repeat
    Bug #3370: NPCs wandering to invalid locations after training
    Bug #3378: "StopCombat" command does not function in vanilla quest
    Bug #3384: Battle at Nchurdamz - Larienna Macrina does not stop combat after killing Hrelvesuu
    Bug #3388: Monster Respawn tied to Quicksave
    Bug #3390: Strange visual effect in Dagoth Ur's chamber
    Bug #3391: Inappropriate Blight weather behavior at end of main quest
    Bug #3394: Replaced dialogue inherits some of its old data
    Bug #3397: Actors that start the game dead always have the same death pose
    Bug #3401: Sirollus Saccus sells not glass arrows
    Bug #3402: Editor: Weapon data not being properly set
    Bug #3405: Mulvisic Othril will not use her chitin throwing stars
    Bug #3407: Tanisie Verethi will immediately detect the player
    Bug #3408: Improper behavior of ashmire particles
    Bug #3412: Ai Wander start time resets when saving/loading the game
    Bug #3416: 1st person and 3rd person camera isn't converted from .ess correctly
    Bug #3421: Idling long enough while paralyzed sometimes causes character to get stuck
    Bug #3423: Sleep interruption inside dungeons too agressive
    Bug #3424: Pickpocketing sometimes won't work
    Bug #3432: AiFollow / AiEscort durations handled incorrectly
    Bug #3434: Dead NPC's and Creatures still contribute to sneak skill increases
    Bug #3437: Weather-conditioned dialogue should not play in interiors
    Bug #3439: Effects cast by summon stick around after their death
    Bug #3440: Parallax maps looks weird
    Bug #3443: Class graphic for custom class should be Acrobat
    Bug #3446: OpenMW segfaults when using Atrayonis's "Anthology Solstheim: Tomb of the Snow Prince" mod
    Bug #3448: After dispelled, invisibility icon is still displayed
    Bug #3453: First couple of seconds of NPC speech is muted
    Bug #3455: Portable house mods lock player and npc movement up exiting house.
    Bug #3456: Equipping an item will undo dispel of constant effect invisibility
    Bug #3458: Constant effect restore health doesn't work during Wait
    Bug #3466: It is possible to stack multiple scroll effects of the same type
    Bug #3471: When two mods delete the same references, many references are not disabled by the engine.
    Bug #3473: 3rd person camera can be glitched
    Feature #1424: NPC "Face" function
    Feature #2974: Editor: Multiple Deletion of Subrecords
    Feature #3044: Editor: Render path grid v2
    Feature #3362: Editor: Configurable key bindings
    Feature #3375: Make sun / moon reflections weather dependent
    Feature #3386: Editor: Edit pathgrid

0.39.0
------

    Bug #1384: Dark Brotherhood Assassin (and other scripted NPCs?) spawns beneath/inside solid objects
    Bug #1544: "Drop" drops equipped item in a separate stack
    Bug #1587: Collision detection glitches
    Bug #1629: Container UI locks up in Vivec at Jeanne's
    Bug #1771: Dark Brotherhood Assassin oddity in Eight Plates
    Bug #1827: Unhandled NiTextureEffect in ex_dwrv_ruin30.nif
    Bug #2089: When saving while swimming in water in an interior cell, you will be spawned under water on loading
    Bug #2295: Internal texture not showing, nipixeldata
    Bug #2363: Corpses don't disappear
    Bug #2369: Respawns should be timed individually
    Bug #2393: Сharacter is stuck in the tree
    Bug #2444: [Mod] NPCs from Animated Morrowind appears not using proper animations
    Bug #2467: Creatures do not respawn
    Bug #2515: Ghosts in Ibar-Dad spawn stuck in walls
    Bug #2610: FixMe script still needs to be implemented
    Bug #2689: Riekling raider pig constantly screams while running
    Bug #2719: Vivec don't put their hands on the knees with this replacer (Psymoniser Vivec God Replacement NPC Edition v1.0
    Bug #2737: Camera shaking when side stepping around object
    Bug #2760: AI Combat Priority Problem - Use of restoration spell instead of attacking
    Bug #2806: Stack overflow in LocalScripts::getNext
    Bug #2807: Collision detection allows player to become stuck inside objects
    Bug #2814: Stairs to Marandus have improper collision
    Bug #2925: Ranes Ienith will not appear, breaking the Morag Tong and Thieves Guid questlines
    Bug #3024: Editor: Creator bar in startscript subview does not accept script ID drops
    Bug #3046: Sleep creature: Velk is spawned half-underground in the Thirr River Valley
    Bug #3080: Calling aifollow without operant in local script every frame causes mechanics to overheat + log
    Bug #3101: Regression: White guar does not move
    Bug #3108: Game Freeze after Killing Diseased Rat in Foreign Quarter Tomb
    Bug #3124: Bloodmoon Quest - Rite of the Wolf Giver (BM_WolfGiver) – Innocent victim won't turn werewolf
    Bug #3125: Improper dialogue window behavior when talking to creatures
    Bug #3130: Some wandering NPCs disappearing, cannot finish quests
    Bug #3132: Editor: GMST ID named sMake Enchantment is instead named sMake when making new game from scratch
    Bug #3133: OpenMW and the OpenCS are writting warnings about scripts that use the function GetDisabled.
    Bug #3135: Journal entry for The Pigrim's Path missing name
    Bug #3136: Dropped bow is displaced
    Bug #3140: Editor: OpenMW-CS fails to open newly converted and saved omwaddon file.
    Bug #3142: Duplicate Resist Magic message
    Bug #3143: Azura missing her head
    Bug #3146: Potion effect showing when ingredient effects are not known
    Bug #3155: When executing chop attack with a spear, hands turn partly invisible
    Bug #3161: Fast travel from Silt Strider or Boat Ride will break save files made afterwards
    Bug #3163: Editor: Objects dropped to scene do not always save
    Bug #3173: Game Crashes After Casting Recall Spell
    Bug #3174: Constant effect enchantments play spell animation on dead bodies
    Bug #3175: Spell effects do not wear down when caster dies
    Bug #3176: NPCs appearing randomly far away from towns
    Bug #3177: Submerged corpse floats ontop of water when it shouldn't (Widow Vabdas' Deed quest)
    Bug #3184: Bacola Closcius in Balmora, South Wall Cornerclub spams magic effects if attacked
    Bug #3207: Editor: New objects do not render
    Bug #3212: Arrow of Ranged Silence
    Bug #3213: Looking at Floor After Magical Transport
    Bug #3220: The number of remaining ingredients in the alchemy window doesn't go down when failing to brew a potion
    Bug #3222: Falling through the water in Vivec
    Bug #3223: Crash at the beginning with MOD (The Symphony)
    Bug #3228: Purple screen when leveling up.
    Bug #3233: Infinite disposition via MWDialogue::Filter::testDisposition() glitch
    Bug #3234: Armor mesh stuck on body in inventory menu
    Bug #3235: Unlike vanilla, OpenMW don't allow statics and activators cast effects on the player.
    Bug #3238: Not loading cells when using Poorly Placed Object Fix.esm
    Bug #3248: Editor: Using the "Next Script" and "Previous Script" buttons changes the record status to "Modified"
    Bug #3258: Woman biped skeleton
    Bug #3259: No alternating punches
    Bug #3262: Crash in class selection menu
    Bug #3279: Load menu: Deleting a savegame makes scroll bar jump to the top
    Bug #3326: Starting a new game, getting to class selection, then starting another new game temporarily assigns Acrobat class
    Bug #3327: Stuck in table after loading when character was sneaking when quicksave
    Feature #652: Editor: GMST verifier
    Feature #929: Editor: Info record verifier
    Feature #1279: Editor: Render cell border markers
    Feature #2482: Background cell loading and caching of loaded cells
    Feature #2484: Editor: point lighting
    Feature #2801: Support NIF bump map textures in osg
    Feature #2926: Editor: Optional line wrap in script editor wrap lines
    Feature #3000: Editor: Reimplement 3D scene camera system
    Feature #3035: Editor: Make scenes a drop target for referenceables
    Feature #3043: Editor: Render cell markers v2
    Feature #3164: Editor: Instance Selection Menu
    Feature #3165: Editor: Instance editing mode - move sub mode
    Feature #3244: Allow changing water Level of Interiors behaving like exteriors
    Feature #3250: Editor: Use "Enter" key instead of clicking "Create" button to confirm ID input in Creator Bar
    Support #3179: Fatal error on startup

0.38.0
------

    Bug #1699: Guard will continuously run into mudcrab
    Bug #1934: Saw in Dome of Kasia doesnt harm the player
    Bug #1962: Rat floats when killed near the door
    Bug #1963: Kwama eggsacks pulse too fast
    Bug #2198: NPC voice sound source should be placed at their head
    Bug #2210: OpenMW installation wizard crashes...
    Bug #2211: Editor: handle DELE subrecord at the end of a record
    Bug #2413: ESM error Unknown subrecord in Grandmaster of Hlaalu
    Bug #2537: Bloodmoon quest Ristaag: Sattir not consistently dying, plot fails to advance; same with Grerid
    Bug #2697: "The Swimmer" moves away after leading you to underwater cave
    Bug #2724: Loading previous save duplicates containers and harvestables
    Bug #2769: Inventory doll - Cursor not respecting order of clothes
    Bug #2865: Scripts silently fail when moving NPCs between cells.
    Bug #2873: Starting a new game leads to CTD / Fatal Error
    Bug #2918: Editor: it's not possible to create an omwaddon containing a dot in the file name
    Bug #2933: Dialog box can't disable a npc if it is in another cell. (Rescue Madura Seran).
    Bug #2942: atronach sign behavior (spell absorption) changes when trying to receive a blessing at "shrine of tribunal"
    Bug #2952: Enchantment Merchant Items reshuffled EVERY time 'barter' is clicked
    Bug #2961: ESM Error: Unknown subrecord if Deus Ex Machina mod is loaded
    Bug #2972: Resurrecting the player via console does not work when health was 0
    Bug #2986: Projectile weapons work underwater
    Bug #2988: "Expected subrecord" bugs showing up.
    Bug #2991: Can't use keywords in strings for MessageBox
    Bug #2993: Tribunal:The Shrine of the Dead – Urvel Dulni can't stop to follow the player.
    Bug #3008: NIFFile Error while loading meshes with a NiLODNode
    Bug #3010: Engine: items should sink to the ground when dropped under water
    Bug #3011: NIFFile Error while loading meshes with a NiPointLight
    Bug #3016: Engine: something wrong with scripting - crash / fatal error
    Bug #3020: Editor: verify does not check if given "item ID" (as content) for a "container" exists
    Bug #3026: [MOD: Julan Ashlander Companion] Dialogue not triggering correctly
    Bug #3028: Tooltips for Health, Magicka and Fatigue show in Options menu even when bars aren't visible
    Bug #3034: Item count check dialogue option doesn't work (Guards accept gold even if you don't have enough)
    Bug #3036: Owned tooltip color affects spell tooltips incorrrectly
    Bug #3037: Fatal error loading old ES_Landscape.esp in Store<ESM::LandTexture>::search
    Bug #3038: Player sounds come from underneath
    Bug #3040: Execution of script failed: There is a message box already
    Bug #3047: [MOD: Julan Ashlander Companion] Scripts KS_Bedscript or KS_JulanNight not working as intended
    Bug #3048: Fatal Error
    Bug #3051: High field of view results in first person rendering glitches
    Bug #3053: Crash on new game at character class selection
    Bug #3058: Physiched sleeves aren't rendered correctly.
    Bug #3060: NPCs use wrong landing sound
    Bug #3062: Mod support regression: Andromeda's fast travel.
    Bug #3063: Missing Journal Textures without Tribunal and Bloodmoon installed
    Bug #3077: repeated aifollow causes the distance to stack
    Bug #3078: Creature Dialogues not showing when certain Function/Conditions are required.
    Bug #3082: Crash when entering Holamayan Monastery with mesh replacer installed
    Bug #3086: Party at Boro's House – Creature with Class don't talk under OpenMW
    Bug #3089: Dreamers spawn too soon
    Bug #3100: Certain controls erroneously work as a werewolf
    Bug #3102: Multiple unique soultrap spell sources clone souls.
    Bug #3105: Summoned creatures and objects disappear at midnight
    Bug #3112: gamecontrollerdb file creation with wrong extension
    Bug #3116: Dialogue Function "Same Race" is avoided
    Bug #3117: Dialogue Bug: Choice conditions are tested when not in a choice
    Bug #3118: Body Parts are not rendered when used in a pose.
    Bug #3122: NPC direction is reversed during sneak awareness check
    Feature #776: Sound effects from one direction don't necessarily affect both speakers in stereo
    Feature #858: Different fov settings for hands and the game world
    Feature #1176: Handle movement of objects between cells
    Feature #2507: Editor: choosing colors for syntax highlighting
    Feature #2867: Editor: hide script error list when there are no errors
    Feature #2885: Accept a file format other than nif
    Feature #2982: player->SetDelete 1 results in: PC can't move, menu can be opened
    Feature #2996: Editor: make it possible to preset the height of the script check area in a script view
    Feature #3014: Editor: Tooltips in 3D scene
    Feature #3064: Werewolf field of view
    Feature #3074: Quicksave indicator
    Task #287: const version of Ptr
    Task #2542: Editor: redo user settings system

0.37.0
------

    Bug #385: Light emitting objects have a too short distance of activation
    Bug #455: Animation doesn't resize creature's bounding box
    Bug #602: Only collision model is updated when modifying objects trough console
    Bug #639: Sky horizon at nighttime
    Bug #672: incorrect trajectory of the moons
    Bug #814: incorrect NPC width
    Bug #827: Inaccurate raycasting for dead actors
    Bug #996: Can see underwater clearly when at right height/angle
    Bug #1317: Erene Llenim in Seyda Neen does not walk around
    Bug #1330: Cliff racers fail to hit the player
    Bug #1366: Combat AI can't aim down (in order to hit small creatures)
    Bug #1511: View distance while under water is much too short
    Bug #1563: Terrain positioned incorrectly and appears to vibrate in far-out cells
    Bug #1612: First person models clip through walls
    Bug #1647: Crash switching from full screen to windows mode - D3D9
    Bug #1650: No textures with directx on windows
    Bug #1730: Scripts names starting with digit(s) fail to compile
    Bug #1738: Socucius Ergalla's greetings are doubled during the tutorial
    Bug #1784: First person weapons always in the same position
    Bug #1813: Underwater flora lighting up entire area.
    Bug #1871: Handle controller extrapolation flags
    Bug #1921: Footstep frequency and velocity do not immediately update when speed attribute changes
    Bug #2001: OpenMW crashes on start with OpenGL 1.4 drivers
    Bug #2014: Antialiasing setting does nothing on Linux
    Bug #2037: Some enemies attack the air when spotting the player
    Bug #2052: NIF rotation matrices including scales are not supported
    Bug #2062: Crank in Old Mournhold: Forgotten Sewer turns about the wrong axis
    Bug #2111: Raindrops in front of fire look wrong
    Bug #2140: [OpenGL] Water effects, flames and parts of creatures solid black when observed through brazier flame
    Bug #2147: Trueflame and Hopesfire flame effects not properly aligned with blade
    Bug #2148: Verminous fabricants have little coloured box beneath their feet
    Bug #2149: Sparks in Clockwork City should bounce off the floor
    Bug #2151: Clockwork City dicer trap doesn't activate when you're too close
    Bug #2186: Mini map contains scrambled pixels that cause the mini map to flicker
    Bug #2187: NIF file with more than 255 NiBillboardNodes does not load
    Bug #2191: Editor: Crash when trying to view cell in render view in OpenCS
    Bug #2270: Objects flicker transparently
    Bug #2280: Latest 32bit windows build of openmw runns out of vram
    Bug #2281: NPCs don't scream when they die
    Bug #2286: Jumping animation restarts when equipping mid-air
    Bug #2287: Weapon idle animation stops when turning
    Bug #2355: Light spell doesn't work in 1st person view
    Bug #2362: Lantern glas opaque to flame effect from certain viewing angles
    Bug #2364: Light spells are not as bright as in Morrowind
    Bug #2383: Remove the alpha testing override list
    Bug #2436: Crash on entering cell "Tower of Tel Fyr, Hall of Fyr"
    Bug #2457: Player followers should not report crimes
    Bug #2458: crash in some fighting situations
    Bug #2464: Hiding an emitter node should make that emitter stop firing particles
    Bug #2466: Can't load a save created with OpenMW-0.35.0-win64
    Bug #2468: music from title screen continues after loading savegame
    Bug #2494: Map not consistent between saves
    Bug #2504: Dialog scroll should always start at the top
    Bug #2506: Editor: Undo/Redo shortcuts do not work in script editor
    Bug #2513: Mannequins in mods appear as dead bodies
    Bug #2524: Editor: TopicInfo "custom" condition section is missing
    Bug #2540: Editor: search and verification result table can not be sorted by clicking on the column names
    Bug #2543: Editor: there is a problem with spell effects
    Bug #2544: Editor fails to save NPC information correctly.
    Bug #2545: Editor: delete record in Objects (referenceables) table messes up data
    Bug #2546: Editor: race base attributes and skill boni are not displayed, thus not editable
    Bug #2547: Editor: some NPC data is not displayed, thus not editable
    Bug #2551: Editor: missing data in cell definition
    Bug #2553: Editor: value filter does not work for float values
    Bug #2555: Editor: undo leaves the record status as Modified
    Bug #2559: Make Detect Enchantment marks appear on top of the player arrow
    Bug #2563: position consoling npc doesn't work without cell reload
    Bug #2564: Editor: Closing a subview from code does not clean up properly and will lead to crash on opening the next subview
    Bug #2568: Editor: Setting default window size is ignored
    Bug #2569: Editor: saving from an esp to omwaddon file results in data loss for TopicInfo
    Bug #2575: Editor: Deleted record (with Added (ModifiedOnly) status) remains in the Dialog SubView
    Bug #2576: Editor: Editor doesn't scroll to a newly opened subview, when ScrollBar Only mode is active
    Bug #2578: Editor: changing Level or Reputation of an NPC crashes the editor
    Bug #2579: Editor: filters not updated when adding or cloning records
    Bug #2580: Editor: omwaddon makes OpenMW crash
    Bug #2581: Editor: focus problems in edit subviews single- and multiline input fields
    Bug #2582: Editor: object verifier should check for non-existing scripts being referenced
    Bug #2583: Editor: applying filter to TopicInfo on mods that have added dialouge makes the Editor crash
    Bug #2586: Editor: some dialogue only editable items do not refresh after undo
    Bug #2588: Editor: Cancel button exits program
    Bug #2589: Editor: Regions table - mapcolor does not change correctly
    Bug #2591: Placeatme - spurious 5th parameter raises error
    Bug #2593: COC command prints multiple times when GUI is hidden
    Bug #2598: Editor: scene view of instances has to be zoomed out to displaying something - center camera instance please
    Bug #2607: water behind an invisible NPC becomes invisible as well
    Bug #2611: Editor: Sort problem in Objects table when few nested rows are added
    Bug #2621: crash when a creature has no model
    Bug #2624: Editor: missing columns in tables
    Bug #2627: Character sheet doesn't properly update when backing out of CharGen
    Bug #2642: Editor: endif without if - is not reported as error when "verify" was executed
    Bug #2644: Editor: rebuild the list of available content files when opening the open/new dialogues
    Bug #2656: OpenMW & OpenMW-CS: setting "Flies" flag for ghosts has no effect
    Bug #2659: OpenMW & OpenMW-CS: savegame load fail due to script attached to NPCs
    Bug #2668: Editor: reputation value in the input field is not stored
    Bug #2696: Horkers use land idle animations under water
    Bug #2705: Editor: Sort by Record Type (Objects table) is incorrect
    Bug #2711: Map notes on an exterior cell that shows up with a map marker on the world map do not show up in the tooltip for that cell's marker on the world map
    Bug #2714: Editor: Can't reorder rows with the same topic in different letter case
    Bug #2720: Head tracking for creatures not implemented
    Bug #2722: Alchemy should only include effects shared by at least 2 ingredients
    Bug #2723: "ori" console command is not working
    Bug #2726: Ashlanders in front of Ghostgate start wandering around
    Bug #2727: ESM writer does not handle encoding when saving the TES3 header
    Bug #2728: Editor: Incorrect position of an added row in Info tables
    Bug #2731: Editor: Deleting a record triggers a Qt warning
    Bug #2733: Editor: Undo doesn't restore the Modified status of a record when a nested data is changed
    Bug #2734: Editor: The Search doesn't work
    Bug #2738: Additive moon blending
    Bug #2746: NIF node names should be case insensitive
    Bug #2752: Fog depth/density not handled correctly
    Bug #2753: Editor: line edit in dialogue subview tables shows after a single click
    Bug #2755: Combat AI changes target too frequently
    Bug #2761: Can't attack during block animations
    Bug #2764: Player doesn't raise arm in 3rd person for weathertype 9
    Bug #2768: Current screen resolution not selected in options when starting OpenMW
    Bug #2773: Editor: Deleted scripts are editable
    Bug #2776: ordinators still think I'm wearing their helm even though Khajiit and argonians can't
    Bug #2779: Slider bars continue to move if you don't release mouse button
    Bug #2781: sleep interruption is a little off (is this an added feature?)
    Bug #2782: erroneously able to ready weapon/magic (+sheathe weapon/magic) while paralyzed
    Bug #2785: Editor: Incorrect GMSTs for newly created omwgame files
    Bug #2786: Kwama Queen head is inverted under OpenMW
    Bug #2788: additem and removeitem incorrect gold behavior
    Bug #2790: --start doesn't trace down
    Bug #2791: Editor: Listed attributes and skill should not be based on number of NPC objects.
    Bug #2792: glitched merchantile/infinite free items
    Bug #2794: Need to ignore quotes in names of script function
    Bug #2797: Editor: Crash when removing the first row in a nested table
    Bug #2800: Show an error message when S3TC support is missing
    Bug #2811: Targetted Open spell effect persists.
    Bug #2819: Editor: bodypart's race filter not displayed correctly
    Bug #2820: Editor: table sorting is inverted
    Bug #2821: Editor: undo/redo command labels are incorrect
    Bug #2826: locking beds that have been locked via magic psuedo-freezes the game
    Bug #2830: Script compiler does not accept IDs as instruction/functions arguments if the ID is also a keyword
    Bug #2832: Cell names are not localized on the world map
    Bug #2833: [cosmetic] Players swimming at water's surface are slightly too low.
    Bug #2840: Save/load menu is not entirely localized
    Bug #2853: [exploit/bug] disintegrate weapon incorrectly applying to lockpicks, probes. creates unbreakable lockpicks
    Bug #2855: Mouse wheel in journal is not disabled by "Options" panel.
    Bug #2856: Heart of Lorkhan doesn't visually respond to attacks
    Bug #2863: Inventory highlights wrong category after load
    Bug #2864: Illuminated Order 1.0c Bug – The teleport amulet is not placed in the PC inventory.
    Bug #2866: Editor: use checkbox instead of combobox for boolean values
    Bug #2875: special cases of fSleepRandMod not behaving properly.
    Bug #2878: Editor: Verify reports "creature has non-positive level" but there is no level setting
    Bug #2879: Editor: entered value of field "Buys *" is not saved for a creature
    Bug #2880: OpenMW & OpenMW-CS: having a scale value of 0.000 makes the game laggy
    Bug #2882: Freeze when entering cell "Guild of Fighters (Ald'ruhn)" after dropping some items inside
    Bug #2883: game not playable if mod providing a spell is removed but the list of known spells still contains it
    Bug #2884: NPC chats about wrong player race
    Bug #2886: Adding custom races breaks existing numbering of PcRace
    Bug #2888: Editor: value entered in "AI Wander Idle" is not kept
    Bug #2889: Editor: creatures made with the CS (not cloned) are always dead
    Bug #2890: Editor: can't make NPC say a specific "Hello" voice-dialouge
    Bug #2893: Editor: making a creature use textual dialogue doesn't work.
    Bug #2901: Editor: gold for trading can not be set for creatures
    Bug #2907: looking from uderwater part of the PC that is below the surface looks like it would be above the water
    Bug #2914: Magicka not recalculated on character generation
    Bug #2915: When paralyzed, you can still enter and exit sneak
    Bug #2917: chameleon does not work for creatures
    Bug #2927: Editor: in the automatic script checker local variable caches are not invalidated/updated on modifications of other scripts
    Bug #2930: Editor: AIWander Idle can not be set for a creature
    Bug #2932: Editor: you can add rows to "Creature Attack" but you can not enter values
    Bug #2938: Editor: Can't add a start script.
    Bug #2944: Spell chance for power to show as 0 on hud when used
    Bug #2953: Editor: rightclick in an empty place in the menu bar shows an unnamed checkbox
    Bug #2956: Editor: freezes while editing Filter
    Bug #2959: space character in field enchantment (of an amulet) prevents rendering of surroundings
    Bug #2962: OpenMW: Assertion `it != invStore.end()' failed
    Bug #2964: Recursive script execution can corrupt script runtime data
    Bug #2973: Editor: placing a chest in the game world and activating it heavily blurrs the character portrait
    Bug #2978: Editor: Cannot edit alchemy ingredient properties
    Bug #2980: Editor: Attribute and Skill can be selected for spells that do not require these parameters, leading to non-functional spells
    Bug #2990: Compiling a script with warning mode 2 and enabled error downgrading leads to infinite recursion
    Bug #2992: [Mod: Great House Dagoth] Killing Dagoth Gares freezes the game
    Bug #3007: PlaceItem takes radians instead of degrees + angle reliability
    Feature #706: Editor: Script Editor enhancements
    Feature #872: Editor: Colour values in tables
    Feature #880: Editor: ID auto-complete
    Feature #928: Editor: Partial sorting in info tables
    Feature #942: Editor: Dialogue for editing/viewing content file meta information
    Feature #1057: NiStencilProperty
    Feature #1278: Editor: Mouse picking in worldspace widget
    Feature #1280: Editor: Cell border arrows
    Feature #1401: Editor: Cloning enhancements
    Feature #1463: Editor: Fine grained configuration of extended revert/delete commands
    Feature #1591: Editor: Make fields in creation bar drop targets where applicable
    Feature #1998: Editor: Magic effect record verifier
    Feature #1999: Editor Sound Gen record verifier
    Feature #2000: Editor: Pathgrid record verifier
    Feature #2528: Game Time Tracker
    Feature #2534: Editor: global search does not auomatically focus the search input field
    Feature #2535: OpenMW: allow comments in openmw.cfg
    Feature #2541: Editor: provide a go to the very bottom button for TopicInfo and JournalInfo
    Feature #2549: Editor: add a horizontal slider to scroll between opened tables
    Feature #2558: Editor: provide a shortcut for closing the subview that has the focus
    Feature #2565: Editor: add context menu for dialogue sub view fields with an item matching "Edit 'x'" from the table subview context menu
    Feature #2585: Editor: Ignore mouse wheel input for numeric values unless the respective widget has the focus
    Feature #2620: Editor: make the verify-view refreshable
    Feature #2622: Editor: Make double click behaviour in result tables configurable (see ID tables)
    Feature #2717: Editor: Add severity column to report tables
    Feature #2729: Editor: Various dialogue button bar improvements
    Feature #2739: Profiling overlay
    Feature #2740: Resource manager optimizations
    Feature #2741: Make NIF files into proper resources
    Feature #2742: Use the skinning data in NIF files as-is
    Feature #2743: Small feature culling
    Feature #2744: Configurable near clip distance
    Feature #2745: GUI scaling option
    Feature #2747: Support anonymous textures
    Feature #2749: Loading screen optimizations
    Feature #2751: Character preview optimization
    Feature #2804: Editor: Merge Tool
    Feature #2818: Editor: allow copying a record ID to the clipboard
    Feature #2946: Editor: add script line number in results of search
    Feature #2963: Editor: Mouse button bindings in 3D scene
    Feature #2983: Sun Glare fader
    Feature #2999: Scaling of journal and books
    Task #2665: Support building with Qt5
    Task #2725: Editor: Remove Display_YesNo
    Task #2730: Replace hardcoded column numbers in SimpleDialogueSubView/DialogueSubView
    Task #2750: Bullet shape instancing optimization
    Task #2793: Replace grid size setting with half grid size setting
    Task #3003: Support FFMPEG 2.9 (Debian request)

0.36.1
------

    Bug #2590: Start scripts not added correctly

0.36.0
------

    Bug #923: Editor: Operations-Multithreading is broken
    Bug #1317: Erene Llenim in Seyda Neen does not walk around
    Bug #1405: Water rendering glitch near Seyda Neen lighthouse
    Bug #1621: "Error Detecting Morrowind Installation" in the default directory
    Bug #2216: Creating a clone of the player stops you moving.
    Bug #2387: Casting bound weapon spell doesn't switch to "ready weapon" mode
    Bug #2407: Default to (0, 0) when "unknown cell" is encountered.
    Bug #2411: enchanted item charges don't update/refresh if spell list window is pinned open
    Bug #2428: Editor: cloning / creating new container class results in invalid omwaddon file - openmw-0.35
    Bug #2429: Editor - cloning omits some values or sets different values than the original has
    Bug #2430: NPC with negative fatigue don't fall (LGNPC Vivec, Foreign Quarter v2.21)
    Bug #2432: Error on startup with Uvirith's Legacy enabled
    Bug #2435: Editor: changed entries in the objects window are not shown as such
    Bug #2437: Editor: changing an entry of a container/NPC/clothing/ingredient/globals will not be saved in the omwaddon file
    Bug #2447: Editor doesn't save terrain information
    Bug #2451: Editor not listing files with accented characters
    Bug #2453: Chargen: sex, race and hair sliders not initialized properly
    Bug #2459: Minor terrain clipping through statics due to difference in triangle alignment
    Bug #2461: Invisible sound mark has collision in Sandus Ancestral Tomb
    Bug #2465: tainted gold stack
    Bug #2475: cumulative stacks of 100 point fortify skill speechcraft boosts do not apply correctly
    Bug #2498: Editor: crash when issuing undo command after the table subview is closed
    Bug #2500: Editor: object table - can't undo delete record
    Bug #2518: OpenMW detect spell returns false positives
    Bug #2521: NPCs don't react to stealing when inventory menu is open.
    Bug #2525: Can't click on red dialogue choice [rise of house telvanni][60fffec]
    Bug #2530: GetSpellEffects not working as in vanilla
    Bug #2557: Crash on first launch after choosing "Run installation wizard"
    Feature #139: Editor: Global Search & Replace
    Feature #1219: Editor: Add dialogue mode only columns
    Feature #2024: Hotkey for hand to hand (i.e. unequip any weapon)
    Feature #2119: "Always Sneak" key bind
    Feature #2262: Editor: Handle moved instances
    Feature #2425: Editor: Add start script table
    Feature #2426: Editor: start script record verifier
    Feature #2480: Launcher: Multiselect entries in the Data Files list
    Feature #2505: Editor: optionally show a line number column in the script editor
    Feature #2512: Editor: Offer use of monospace fonts in the script editor as an option
    Feature #2514: Editor: focus on ID input field on clone/add
    Feature #2519: it is not possible to change icons that appear on the map after casting the Detect <animal | enchantment | key> spells
    Task #2460: OS X: Use Application Support directory as user data path
    Task #2516: Editor: Change References / Referenceables terminology

0.35.1
------

    Bug #781: incorrect trajectory of the sun
    Bug #1079: Wrong starting position in "Character Stuff Wonderland"
    Bug #1443: Repetitive taking of a stolen object is repetitively considered as a crime
    Bug #1533: Divine Intervention goes to the wrong place.
    Bug #1714: No visual indicator for time passed during training
    Bug #1916: Telekinesis does not allow safe opening of traps
    Bug #2227: Editor: addon file name inconsistency
    Bug #2271: Player can melee enemies from water with impunity
    Bug #2275: Objects with bigger scale move further using Move script
    Bug #2285: Aryon's Dominator enchantment does not work properly
    Bug #2290: No punishment for stealing gold from owned containers
    Bug #2328: Launcher does not respond to Ctrl+C
    Bug #2334: Drag-and-drop on a content file in the launcher creates duplicate items
    Bug #2338: Arrows reclaimed from corpses do not stack sometimes
    Bug #2344: Launcher - Settings importer running correctly?
    Bug #2346: Launcher - Importing plugins into content list screws up the load order
    Bug #2348: Mod: H.E.L.L.U.V.A. Handy Holdables does not appear in the content list
    Bug #2353: Detect Animal detects dead creatures
    Bug #2354: Cmake does not respect LIB_SUFFIX
    Bug #2356: Active magic set inactive when switching magic items
    Bug #2361: ERROR: ESM Error: Previous record contains unread bytes
    Bug #2382: Switching spells with "next spell" or "previous spell" while holding shift promps delete spell dialog
    Bug #2388: Regression: Can't toggle map on/off
    Bug #2392: MOD Shrines - Restore Health and Cancel Options adds 100 health points
    Bug #2394: List of Data Files tab in openmw-laucher needs to show all content files.
    Bug #2402: Editor: skills saved incorrectly
    Bug #2408: Equipping a constant effect Restore Health/Magicka/Fatigue item will permanently boost the stat it's restoring
    Bug #2415: It is now possible to fall off the prison ship into the water when starting a new game
    Bug #2419: MOD MCA crash to desktop
    Bug #2420: Game crashes when character enters a certain area
    Bug #2421: infinite loop when using cycle weapon without having a weapon
    Feature #2221: Cannot dress dead NPCs
    Feature #2349: Check CMake sets correct MSVC compiler settings for release build.
    Feature #2397: Set default values for global mandatory records.
    Feature #2412: Basic joystick support

0.35.0
------

    Bug #244: Clipping/static in relation to the ghostgate/fence sound.
    Bug #531: Missing transparent menu items
    Bug #811: Content Lists in openmw.cfg are overwritten
    Bug #925: OpenCS doesn't launch because it thinks its already started
    Bug #969: Water shader strange behaviour on AMD card
    Bug #1049: Partially highlighted word in dialogue may cause incorrect line break
    Bug #1069: omwlauncher.exe crashes due to file lock
    Bug #1192: It is possible to jump on top of hostile creatures in combat
    Bug #1342: Loud ambient sounds
    Bug #1431: Creatures can climb the player
    Bug #1605: Guard in CharGen doesn't turn around to face you when reaching stairs
    Bug #1624: Moon edges don't transition properly
    Bug #1634: Items dropped by PC have collision
    Bug #1637: Weird NPC behaviour in Vivec, Hlaalu Ancestral Vaults?
    Bug #1638: Cannot climb staircases
    Bug #1648: Enchanted equipment badly handled at game reload
    Bug #1663: Crash when casting spell at enemy near you
    Bug #1683: Scale doesn't apply to animated collision nodes
    Bug #1702: Active enchanted item forgotten
    Bug #1730: Scripts names starting with digit(s) fail to compile
    Bug #1743: Moons are transparent
    Bug #1745: Shadows crash: Assertion `mEffects.empty()' failed.
    Bug #1785: Can't equip two-handed weapon and shield
    Bug #1809: Player falls too easily
    Bug #1825: Sword of Perithia can´t run in OpenMW
    Bug #1899: The launcher resets any alterations you´ve made in the mod list order,
    Bug #1964: Idle voices/dialogs not triggered correctly
    Bug #1980: Please, change default click behavior in OpenMW Launchers Data Files list
    Bug #1984: Vampire corpses standing up when looting the first item
    Bug #1985: Calm spell does nothing
    Bug #1986: Spell name lights up on mouseover but spell cost does not
    Bug #1989: Tooltip still shown when menu toggled off
    Bug #2010: Raindrops Displayed While Underwater
    Bug #2023: Walking into plants causes massive framedrop
    Bug #2031: [MOD: Shrines - Restore Health and Cancel Options]: Restore health option doesn't work
    Bug #2039: Lake Fjalding pillar of fire not rendered
    Bug #2040: AI_follow should stop further from the target
    Bug #2076: Slaughterfish AI
    Bug #2077: Direction of long jump can be changed much more than it is possible in vanilla
    Bug #2078: error during rendering: Object '' not found (const)
    Bug #2105: Lockpicking causes screen sync glitch
    Bug #2113: [MOD: Julan Ashlander Companion] Julan does not act correctly within the Ghostfence.
    Bug #2123: Window glow mod: Collision issues
    Bug #2133: Missing collision for bridges in Balmora when using Morrowind Rebirth 2.81
    Bug #2135: Casting a summon spell while the summon is active does not reset the summon.
    Bug #2144: Changing equipment will unequip drawn arrows/bolts
    Bug #2169: Yellow on faces when using opengl renderer and mods from overhaul on windows
    Bug #2175: Pathgrid mods do not overwrite the existing pathgrid
    Bug #2176: Morrowind -Russian localization end add-on ChaosHeart. Error in framelistener;object ;frenzying toush; not found <const>
    Bug #2181: Mod Morrowind crafting merchants die.
    Bug #2182: mods changing skill progression double the bonus for class specialization
    Bug #2183: Editor: Skills "use value" only allows integer between 0 and 99
    Bug #2184: Animated Morrowind Expanded produces an error on Open MW Launch
    Bug #2185: Conditional Operator formats
    Bug #2193: Quest: Gateway Ghost
    Bug #2194: Cannot summon multiples of the same creature
    Bug #2195: Pathgrid in the (0,0) exterior cell not loaded
    Bug #2200: Outdoor NPCs can stray away and keep walking into a wall
    Bug #2201: Creatures do not receive fall damage
    Bug #2202: The enchantment the item can hold is calculated incorrectly
    Bug #2203: Having the mod Living Cities of Vvardenfall running causes the game world to fail to load after leaving the prison ship
    Bug #2204: Abot's Water Life - Book rendered incorrectly
    Bug #2205: sound_waterfall script no longer compiles
    Bug #2206: Dialogue script fails to compile (extra .)
    Bug #2207: Script using – instead of - character does not compile
    Bug #2208: Failing dialogue scripts in french Morrowind.esm
    Bug #2214: LGNPC Vivec Redoran 1.62 and The King Rat (Size and inventory Issues)
    Bug #2215: Beast races can use enchanted boots
    Bug #2218: Incorrect names body parts in 3D models for open helmet with skinning
    Bug #2219: Orcs in Ghorak Manor in Caldera don't attack if you pick their pockets.
    Bug #2220: Chargen race preview head incorrect orientation
    Bug #2223: Reseting rock falling animation
    Bug #2224: Fortify Attribute effects do not stack when Spellmaking.
    Bug #2226: OpenCS pseudo-crash
    Bug #2230: segfaulting when entering Ald'ruhn with a specific mod: "fermeture la nuit" (closed by night)
    Bug #2233: Area effect spells on touch do not have the area effect
    Bug #2234: Dwarven Crossbow clips through the ground when dropped
    Bug #2235: class SettingsBase<> reverses the order of entries with multiple keys.
    Bug #2236: Weird two handed longsword + torch interaction
    Bug #2237: Shooting arrows while sneaking do not agro
    Bug #2238: Bipedal creatures not using weapons are not handled properly
    Bug #2245: Incorrect topic highlighting in HT_SpyBaladas quest
    Bug #2252: Tab completion incomplete for places using COC from the console.
    Bug #2255: Camera reverts to first person on load
    Bug #2259: enhancement: the save/load progress bar is not very progressive
    Bug #2263: TogglePOV can not be bound to Alt key
    Bug #2267: dialogue disabling via mod
    Bug #2268: Highlighting Files with load order problems in Data Files tab of Launcher
    Bug #2276: [Mod]ShotN issues with Karthwasten
    Bug #2283: Count argument for PlaceAt functions not working
    Bug #2284: Local map notes should be visible on door marker leading to the cell with the note
    Bug #2293: There is a graphical glitch at the end of the spell's animation in 3rd Person (looking over the shoulder) view
    Bug #2294: When using Skyrim UI Overhaul, the tops of pinnable menus are invisible
    Bug #2302: Random leveled items repeat way too often in a single dungeon
    Bug #2306: Enchanted arrows should not be retrievable from corpses
    Bug #2308: No sound effect when drawing the next throwing knife
    Bug #2309: Guards chase see the player character even if they're invisible
    Bug #2319: Inverted controls and other issues after becoming a vampire
    Bug #2324: Spells cast when crossing cell border are imprinted on the local map
    Bug #2330: Actors with Drain Health effect retain health after dying
    Bug #2331: tgm (god mode) won't allow the player to cast spells if the player doesn't have enough mana
    Bug #2332: Error in framelistener: Need a skeleton to attach the arrow to
    Feature #114: ess-Importer
    Feature #504: Editor: Delete selected rows from result windows
    Feature #1024: Addition of remaining equipping hotkeys
    Feature #1067: Handle NIF interpolation type 4 (XYZ_ROTATION_KEY)
    Feature #1125: AI fast-forward
    Feature #1228: Drowning while knocked out
    Feature #1325: Editor: Opening window and User Settings window cleanup
    Feature #1537: Ability to change the grid size from 3x3 to 5x5 (or more with good pc)
    Feature #1546: Leveled list script functions
    Feature #1659: Test dialogue scripts in --script-all
    Feature #1720: NPC lookAt controller
    Feature #2178: Load initial particle system state from NIF files
    Feature #2197: Editor: When clicking on a script error in the report window set cursor in script editor to the respective line/column
    Feature #2261: Warn when loading save games with mod mismatch
    Feature #2313: ess-Importer: convert global map exploration overlay
    Feature #2318: Add commandline option to load a save game
    Task #810: Rename "profile" to "content list"
    Task #2196: Label local/global openmw.cfg files via comments

0.34.0
------

    Bug #904: omwlauncher doesn't allow installing Tribunal and Bloodmoon if only MW is installed
    Bug #986: Launcher: renaming profile names is broken
    Bug #1061: "Browse to CD..." launcher crash
    Bug #1135: Launcher crashes if user does not have write permission
    Bug #1231: Current installer in launcher does not correctly import russian Morrowind.ini settings from setup.inx
    Bug #1288: Fix the Alignment of the Resolution Combobox
    Bug #1343: BIK videos occasionally out of sync with audio
    Bug #1684: Morrowind Grass Mod graphical glitches
    Bug #1734: NPC in fight with invisible/sneaking player
    Bug #1982: Long class names are cut off in the UI
    Bug #2012: Editor: OpenCS script compiler sometimes fails to find IDs
    Bug #2015: Running while levitating does not affect speed but still drains fatigue
    Bug #2018: OpenMW don´t reset modified cells to vanilla when a plugin is deselected and don´t apply changes to cells already visited.
    Bug #2045: ToggleMenus command should close dialogue windows
    Bug #2046: Crash: light_de_streetlight_01_223
    Bug #2047: Buglamp tooltip minor correction
    Bug #2050: Roobrush floating texture bits
    Bug #2053: Slaves react negatively to PC picking up slave's bracers
    Bug #2055: Dremora corpses use the wrong model
    Bug #2056: Mansilamat Vabdas's corpse is floating in the water
    Bug #2057: "Quest: Larius Varro Tells A Little Story": Bounty not completely removed after finishing quest
    Bug #2059: Silenced enemies try to cast spells anyway
    Bug #2060: Editor: Special case implementation for top level window with single sub-window should be optional
    Bug #2061: Editor: SubView closing that is not directly triggered by the user isn't handled properly
    Bug #2063: Tribunal: Quest 'The Warlords' doesn't work
    Bug #2064: Sneak attack on hostiles causes bounty
    Bug #2065: Editor: Qt signal-slot error when closing a dialogue subview
    Bug #2070: Loading ESP in OpenMW works but fails in OpenCS
    Bug #2071: CTD in 0.33
    Bug #2073: Storm atronach animation stops now and then
    Bug #2075: Molag Amur Region, Map shows water on solid ground
    Bug #2080: game won't work with fair magicka regen
    Bug #2082: NPCs appear frozen or switched off after leaving and quickly reentering a cell
    Bug #2088: OpenMW is unable to play OGG files.
    Bug #2093: Darth Gares talks to you in Ilunibi even when he's not there, screwing up the Main Quests
    Bug #2095: Coordinate and rotation editing in the Reference table does not work.
    Bug #2096: Some overflow fun and bartering exploit
    Bug #2098: [D3D] Game crash on maximize
    Bug #2099: Activate, player seems not to work
    Bug #2104: Only labels are sensitive in buttons
    Bug #2107: "Slowfall" effect is too weak
    Bug #2114: OpenCS doesn't load an ESP file full of errors even though Vanilla MW Construction Set can
    Bug #2117: Crash when encountering bandits on opposite side of river from the egg mine south of Balmora
    Bug #2124: [Mod: Baldurians Transparent Glass Amor] Armor above head
    Bug #2125: Unnamed NiNodes in weapons problem in First Person
    Bug #2126: Dirty dialog script in tribunal.esm causing bug in Tribunal MQ
    Bug #2128: Crash when picking character's face
    Bug #2129: Disable the third-person zoom feature by default
    Bug #2130: Ash storm particles shown too long during transition to clear sky
    Bug #2137: Editor: exception caused by following the Creature column of a SoundGen record
    Bug #2139: Mouse movement should be ignored during intro video
    Bug #2143: Editor: Saving is broken
    Bug #2145: OpenMW - crash while exiting x64 debug build
    Bug #2152: You can attack Almalexia during her final monologue
    Bug #2154: Visual effects behave weirdly after loading/taking a screenshot
    Bug #2155: Vivec has too little magicka
    Bug #2156: Azura's spirit fades away too fast
    Bug #2158: [Mod]Julan Ashlander Companion 2.0: Negative magicka
    Bug #2161: Editor: combat/magic/stealth values of creature not displayed correctly
    Bug #2163: OpenMW can't detect death if the NPC die by the post damage effect of a magic weapon.
    Bug #2168: Westly's Master Head Pack X – Some hairs aren't rendered correctly.
    Bug #2170: Mods using conversations to update PC inconsistant
    Bug #2180: Editor: Verifier doesn't handle Windows-specific path issues when dealing with resources
    Bug #2212: Crash or unexpected behavior while closing OpenCS cell render window on OS X
    Feature #238: Add UI to run INI-importer from the launcher
    Feature #854: Editor: Add user setting to show status bar
    Feature #987: Launcher: first launch instructions for CD need to be more explicit
    Feature #1232: There is no way to set the "encoding" option using launcher UI.
    Feature #1281: Editor: Render cell markers
    Feature #1918: Editor: Functionality for Double-Clicking in Tables
    Feature #1966: Editor: User Settings dialogue grouping/labelling/tooltips
    Feature #2097: Editor: Edit position of references in 3D scene
    Feature #2121: Editor: Add edit mode button to scene toolbar
    Task #1965: Editor: Improve layout of user settings dialogue

0.33.1
------

    Bug #2108: OpenCS fails to build

0.33.0
------

    Bug #371: If console assigned to ` (probably to any symbolic key), "`" symbol will be added to console every time it closed
    Bug #1148: Some books'/scrolls' contents are displayed incorrectly
    Bug #1290: Editor: status bar is not updated when record filter is changed
    Bug #1292: Editor: Documents are not removed on closing the last view
    Bug #1301: Editor: File->Exit only checks the document it was issued from.
    Bug #1353: Bluetooth on with no speaker connected results in significantly longer initial load times
    Bug #1436: NPCs react from too far distance
    Bug #1472: PC is placed on top of following NPC when changing cell
    Bug #1487: Tall PC can get stuck in staircases
    Bug #1565: Editor: Subviews are deleted on shutdown instead when they are closed
    Bug #1623: Door marker on Ghorak Manor's balcony makes PC stuck
    Bug #1633: Loaddoor to Sadrith Mora, Telvanni Council House spawns PC in the air
    Bug #1655: Use Appropriate Application Icons on Windows
    Bug #1679: Tribunal expansion, Meryn Othralas the backstage manager in the theatre group in Mournhold in the great bazaar district is floating a good feet above the ground.
    Bug #1705: Rain is broken in third person
    Bug #1706: Thunder and lighting still occurs while the game is paused during the rain
    Bug #1708: No long jumping
    Bug #1710: Editor: ReferenceableID drag to references record filter field creates incorrect filter
    Bug #1712: Rest on Water
    Bug #1715: "Cancel" button is not always on the same side of menu
    Bug #1725: Editor: content file can be opened multiple times from the same dialogue
    Bug #1730: [MOD: Less Generic Nerevarine] Compile failure attempting to enter the Corprusarium.
    Bug #1733: Unhandled ffmpeg sample formats
    Bug #1735: Editor: "Edit Record" context menu button not opening subview for journal infos
    Bug #1750: Editor: record edits result in duplicate entries
    Bug #1789: Editor: Some characters cannot be used in addon name
    Bug #1803: Resizing the map does not keep the pre-resize center at the post-resize center
    Bug #1821: Recovering Cloudcleaver quest: attacking Sosia is considered a crime when you side with Hlormar
    Bug #1838: Editor: Preferences window appears off screen
    Bug #1839: Editor: Record filter title should be moved two pixels to the right
    Bug #1849: Subrecord error in MAO_Containers
    Bug #1854: Knocked-out actors don't fully act knocked out
    Bug #1855: "Soul trapped" sound doesn't play
    Bug #1857: Missing sound effect for enchanted items with empty charge
    Bug #1859: Missing console command: ResetActors (RA)
    Bug #1861: Vendor category "MagicItems" is unhandled
    Bug #1862: Launcher doesn't start if a file listed in launcher.cfg has correct name but wrong capitalization
    Bug #1864: Editor: Region field for cell record in dialogue subview not working
    Bug #1869: Editor: Change label "Musics" to "Music"
    Bug #1870: Goblins killed while knocked down remain in knockdown-pose
    Bug #1874: CellChanged events should not trigger when crossing exterior cell border
    Bug #1877: Spriggans killed instantly if hit while regening
    Bug #1878: Magic Menu text not un-highlighting correctly when going from spell to item as active magic
    Bug #1881: Stuck in ceiling when entering castle karstaags tower
    Bug #1884: Unlit torches still produce a burning sound
    Bug #1885: Can type text in price field in barter window
    Bug #1887: Equipped items do not emit sounds
    Bug #1889: draugr lord aesliip will attack you and remain non-hostile
    Bug #1892: Guard asks player to pay bounty of 0 gold
    Bug #1895: getdistance should only return max float if ref and target are in different worldspaces
    Bug #1896: Crash Report
    Bug #1897: Conjured Equipment cant be re-equipped if removed
    Bug #1898: Only Gidar Verothan follows you during establish the mine quest
    Bug #1900: Black screen when you open the door and breath underwater
    Bug #1904: Crash on casting recall spell
    Bug #1906: Bound item checks should use the GMSTs
    Bug #1907: Bugged door. Mournhold, The Winged Guar
    Bug #1908: Crime reported for attacking Drathas Nerus's henchmen while they attack Dilborn
    Bug #1909: Weird Quest Flow Infidelities quest
    Bug #1910: Follower fighting with gone npc
    Bug #1911: Npcs will drown themselves
    Bug #1912: World map arrow stays static when inside a building
    Bug #1920: Ulyne Henim disappears when game is loaded inside Vas
    Bug #1922: alchemy-> potion of paralyze
    Bug #1923: "levitation magic cannot be used here" shows outside of tribunal
    Bug #1927: AI prefer melee over magic.
    Bug #1929: Tamriel Rebuilt: Named cells that lie within the overlap with Morrowind.esm are not shown
    Bug #1932: BTB - Spells 14.1 magic effects don´t overwrite the Vanilla ones but are added
    Bug #1935: Stacks of items are worth more when sold individually
    Bug #1940: Launcher does not list addon files if base game file is renamed to a different case
    Bug #1946: Mod "Tel Nechim - moved" breaks savegames
    Bug #1947: Buying/Selling price doesn't properly affect the growth of mercantile skill
    Bug #1950: followers from east empire company quest will fight each other if combat happens with anything
    Bug #1958: Journal can be scrolled indefinitely with a mouse wheel
    Bug #1959: Follower not leaving party on quest end
    Bug #1960: Key bindings not always saved correctly
    Bug #1961: Spell merchants selling racial bonus spells
    Bug #1967: segmentation fault on load saves
    Bug #1968: Jump sounds are not controlled by footsteps slider, sound weird compared to footsteps
    Bug #1970: PC suffers silently when taking damage from lava
    Bug #1971: Dwarven Sceptre collision area is not removed after killing one
    Bug #1974: Dalin/Daris Norvayne follows player indefinitely
    Bug #1975: East Empire Company faction rank breaks during Raven Rock questline
    Bug #1979: 0 strength = permanently over encumbered
    Bug #1993: Shrine blessing in Maar Gan doesn't work
    Bug #2008: Enchanted items do not recharge
    Bug #2011: Editor: OpenCS script compiler doesn't handle member variable access properly
    Bug #2016: Dagoth Ur already dead in Facility Cavern
    Bug #2017: Fighters Guild Quest: The Code Book - dialogue loop when UMP is loaded.
    Bug #2019: Animation of 'Correct UV Mudcrabs' broken
    Bug #2022: Alchemy window - Removing ingredient doesn't remove the number of ingredients
    Bug #2025: Missing mouse-over text for non affordable items
    Bug #2028: [MOD: Tamriel Rebuilt] Crashing when trying to enter interior cell "Ruinous Keep, Great Hall"
    Bug #2029: Ienith Brothers Thiev's Guild quest journal entry not adding
    Feature #471: Editor: Special case implementation for top-level window with single sub-window
    Feature #472: Editor: Sub-Window re-use settings
    Feature #704: Font colors import from fallback settings
    Feature #879: Editor: Open sub-views in a new top-level window
    Feature #932: Editor: magic effect table
    Feature #937: Editor: Path Grid table
    Feature #938: Editor: Sound Gen table
    Feature #1117: Death and LevelUp music
    Feature #1226: Editor: Request UniversalId editing from table columns
    Feature #1545: Targeting console on player
    Feature #1597: Editor: Render terrain
    Feature #1695: Editor: add column for CellRef's global variable
    Feature #1696: Editor: use ESM::Cell's RefNum counter
    Feature #1697: Redden player's vision when hit
    Feature #1856: Spellcasting for non-biped creatures
    Feature #1879: Editor: Run OpenMW with the currently edited content list
    Task #1851: Move AI temporary state out of AI packages
    Task #1865: Replace char type in records

0.32.0
------

    Bug #1132: Unable to jump when facing a wall
    Bug #1341: Summoned Creatures do not immediately disappear when killed.
    Bug #1430: CharGen Revamped script does not compile
    Bug #1451: NPCs shouldn't equip weapons prior to fighting
    Bug #1461: Stopped start scripts do not restart on load
    Bug #1473: Dead NPC standing and in 2 pieces
    Bug #1482: Abilities are depleted when interrupted during casting
    Bug #1503: Behaviour of NPCs facing the player
    Bug #1506: Missing character, French edition: three-points
    Bug #1528: Inventory very slow after 2 hours
    Bug #1540: Extra arguments should be ignored for script functions
    Bug #1541: Helseth's Champion: Tribunal
    Bug #1570: Journal cannot be opened while in inventory screen
    Bug #1573: PC joins factions at random
    Bug #1576: NPCs aren't switching their weapons when out of ammo
    Bug #1579: Guards detect creatures in far distance, instead on sight
    Bug #1588: The Siege of the Skaal Village: bloodmoon
    Bug #1593: The script compiler isn't recognising some names that contain a -
    Bug #1606: Books: Question marks instead of quotation marks
    Bug #1608: Dead bodies prevent door from opening/closing.
    Bug #1609: Imperial guards in Sadrith Mora are not using their spears
    Bug #1610: The bounty number is not displayed properly with high numbers
    Bug #1620: Implement correct formula for auto-calculated NPC spells
    Bug #1630: Boats standing vertically in Vivec
    Bug #1635: Arrest dialogue is executed second time after I select "Go to jail"
    Bug #1637: Weird NPC behaviour in Vivec, Hlaalu Ancestral Vaults?
    Bug #1641: Persuasion dialog remains after loading, possibly resulting in crash
    Bug #1644: "Goodbye" and similar options on dialogues prevents escape working properly.
    Bug #1646: PC skill stats are not updated immediately when changing equipment
    Bug #1652: Non-aggressive creature
    Bug #1653: Quickloading while the container window is open crashes the game
    Bug #1654: Priority of checks in organic containers
    Bug #1656: Inventory items merge issue when repairing
    Bug #1657: Attacked state of NPCs is not saved properly
    Bug #1660: Rank dialogue condition ignored
    Bug #1668: Game starts on day 2 instead of day 1
    Bug #1669: Critical Strikes while fighting a target who is currently fighting me
    Bug #1672: OpenCS doesn't save the projects
    Bug #1673: Fatigue decreasing by only one point when running
    Bug #1675: Minimap and localmap graphic glitches
    Bug #1676: Pressing the OK button on the travel menu cancels the travel and exits the menu
    Bug #1677: Sleeping in a rented bed is considered a crime
    Bug #1685: NPCs turn towards player even if invisible/sneaking
    Bug #1686: UI bug: cursor is clicking "world/local" map button while inventory window is closed?
    Bug #1690: Double clicking on a inventory window header doesn't close it.
    Bug #1693: Spell Absorption does not absorb shrine blessings
    Bug #1694: journal displays learned topics as quests
    Bug #1700: Sideways scroll of text boxes
    Bug #1701: Player enchanting requires player hold money, always 100% sucessful.
    Bug #1704: self-made Fortify Intelligence/Drain willpower potions are broken
    Bug #1707: Pausing the game through the esc menu will silence rain, pausing it by opening the inventory will not.
    Bug #1709: Remesa Othril is hostile to Hlaalu members
    Bug #1713: Crash on load after death
    Bug #1719: Blind effect has slight border at the edge of the screen where it is ineffective.
    Bug #1722: Crash after creating enchanted item, reloading saved game
    Bug #1723: Content refs that are stacked share the same index after unstacking
    Bug #1726: Can't finish Aengoth the Jeweler's quest : Retrieve the Scrap Metal
    Bug #1727: Targets almost always resist soultrap scrolls
    Bug #1728: Casting a soultrap spell on invalid target yields no message
    Bug #1729: Chop attack doesn't work if walking diagonally
    Bug #1732: Error handling for missing script function arguments produces weird message
    Bug #1736: Alt-tabbing removes detail from overworld map.
    Bug #1737: Going through doors with (high magnitude?) leviation will put the player high up, possibly even out of bounds.
    Bug #1739: Setting a variable on an NPC from another NPC's dialogue result sets the wrong variable
    Bug #1741: The wait dialogue doesn't black the screen out properly during waiting.
    Bug #1742: ERROR: Object 'sDifficulty' not found (const)
    Bug #1744: Night sky in Skies V.IV (& possibly v3) by SWG rendered incorrectly
    Bug #1746: Bow/marksman weapon condition does not degrade with use
    Bug #1749: Constant Battle Music
    Bug #1752: Alt-Tabbing in the character menus makes the paper doll disappear temporarily
    Bug #1753: Cost of training is not added to merchant's inventory
    Bug #1755: Disposition changes do not persist if the conversation menu is closed by purchasing training.
    Bug #1756: Caught Blight after being cured of Corprus
    Bug #1758: Crash Upon Loading New Cell
    Bug #1760: Player's Magicka is not recalculated upon drained or boosted intelligence
    Bug #1761: Equiped torches lost on reload
    Bug #1762: Your spell did not get a target. Soul trap. Gorenea Andrano
    Bug #1763: Custom Spell Magicka Cost
    Bug #1765: Azuras Star breaks on recharging item
    Bug #1767: GetPCRank did not handle ignored explicit references
    Bug #1772: Dark Brotherhood Assassins never use their Carved Ebony Dart, sticking to their melee weapon.
    Bug #1774: String table overflow also occurs when loading TheGloryRoad.esm
    Bug #1776: dagoth uthol runs in slow motion
    Bug #1778: Incorrect values in spellmaking window
    Bug #1779: Icon of Master Propylon Index is not visible
    Bug #1783: Invisible NPC after looting corpse
    Bug #1787: Health Calculation
    Bug #1788: Skeletons, ghosts etc block doors when we try to open
    Bug #1791: [MOD: LGNPC Foreign Quarter] NPC in completely the wrong place.
    Bug #1792: Potions should show more effects
    Bug #1793: Encumbrance while bartering
    Bug #1794: Fortify attribute not affecting fatigue
    Bug #1795: Too much magicka
    Bug #1796: "Off by default" torch burning
    Bug #1797: Fish too slow
    Bug #1798: Rest until healed shouldn't show with full health and magicka
    Bug #1802: Mark location moved
    Bug #1804: stutter with recent builds
    Bug #1810: attack gothens dremora doesnt agro the others.
    Bug #1811: Regression: Crash Upon Loading New Cell
    Bug #1812: Mod: "QuickChar" weird button placement
    Bug #1815: Keys show value and weight, Vanilla Morrowind's keys dont.
    Bug #1817: Persuasion results do not show using unpatched MW ESM
    Bug #1818: Quest B3_ZainabBride moves to stage 47 upon loading save while Falura Llervu is following
    Bug #1823: AI response to theft incorrect - only guards react, in vanilla everyone does.
    Bug #1829: On-Target Spells Rendered Behind Water Surface Effects
    Bug #1830: Galsa Gindu's house is on fire
    Bug #1832: Fatal Error: OGRE Exception(2:InvalidParametersException)
    Bug #1836: Attacked Guards open "fine/jail/resist"-dialogue after killing you
    Bug #1840: Infinite recursion in ActionTeleport
    Bug #1843: Escorted people change into player's cell after completion of escort stage
    Bug #1845: Typing 'j' into 'Name' fields opens the journal
    Bug #1846: Text pasted into the console still appears twice (Windows)
    Bug #1847: "setfatigue 0" doesn't render NPC unconscious
    Bug #1848: I can talk to unconscious actors
    Bug #1866: Crash when player gets killed by a creature summoned by him
    Bug #1868: Memory leaking when openmw window is minimized
    Feature #47: Magic Effects
    Feature #642: Control NPC mouth movement using current Say sound
    Feature #939: Editor: Resources tables
    Feature #961: AI Combat for magic (spells, potions and enchanted items)
    Feature #1111: Collision script instructions (used e.g. by Lava)
    Feature #1120: Command creature/humanoid magic effects
    Feature #1121: Elemental shield magic effects
    Feature #1122: Light magic effect
    Feature #1139: AI: Friendly hits
    Feature #1141: AI: combat party
    Feature #1326: Editor: Add tooltips to all graphical buttons
    Feature #1489: Magic effect Get/Mod/Set functions
    Feature #1505: Difficulty slider
    Feature #1538: Targeted scripts
    Feature #1571: Allow creating custom markers on the local map
    Feature #1615: Determine local variables from compiled scripts instead of the values in the script record
    Feature #1616: Editor: Body part record verifier
    Feature #1651: Editor: Improved keyboard navigation for scene toolbar
    Feature #1666: Script blacklisting
    Feature #1711: Including the Git revision number from the command line "--version" switch.
    Feature #1721: NPC eye blinking
    Feature #1740: Scene toolbar buttons for selecting which type of elements are rendered
    Feature #1790: Mouse wheel scrolling for the journal
    Feature #1850: NiBSPArrayController
    Task #768: On windows, settings folder should be "OpenMW", not "openmw"
    Task #908: Share keyframe data
    Task #1716: Remove defunct option for building without FFmpeg

0.31.0
------

    Bug #245: Cloud direction and weather systems differ from Morrowind
    Bug #275: Local Map does not always show objects that span multiple cells
    Bug #538: Update CenterOnCell (COC) function behavior
    Bug #618: Local and World Map Textures are sometimes Black
    Bug #640: Water behaviour at night
    Bug #668: OpenMW doesn't support non-latin paths on Windows
    Bug #746: OpenMW doesn't check if the background music was already played
    Bug #747: Door is stuck if cell is left before animation finishes
    Bug #772: Disabled statics are visible on map
    Bug #829: OpenMW uses up all available vram, when playing for extended time
    Bug #869: Dead bodies don't collide with anything
    Bug #894: Various character creation issues
    Bug #897/#1369: opencs Segmentation Fault after "new" or "load"
    Bug #899: Various jumping issues
    Bug #952: Reflection effects are one frame delayed
    Bug #993: Able to interact with world during Wait/Rest dialog
    Bug #995: Dropped items can be placed inside the wall
    Bug #1008: Corpses always face up upon reentering the cell
    Bug #1035: Random colour patterns appearing in automap
    Bug #1037: Footstep volume issues
    Bug #1047: Creation of wrong links in dialogue window
    Bug #1129: Summoned creature time life duration seems infinite
    Bug #1134: Crimes can be committed against hostile NPCs
    Bug #1136: Creature run speed formula is incorrect
    Bug #1150: Weakness to Fire doesn't apply to Fire Damage in the same spell
    Bug #1155: NPCs killing each other
    Bug #1166: Bittercup script still does not work
    Bug #1178: .bsa file names are case sensitive.
    Bug #1179: Crash after trying to load game after being killed
    Bug #1180: Changing footstep sound location
    Bug #1196: Jumping not disabled when showing messageboxes
    Bug #1202: "strange" keys are not shown in binding menu, and are not saved either, but works
    Bug #1216: Broken dialog topics in russian Morrowind
    Bug #1217: Container content changes based on the current position of the mouse
    Bug #1234: Loading/saving issues with dynamic records
    Bug #1277: Text pasted into the console appears twice
    Bug #1284: Crash on New Game
    Bug #1303: It's possible to skip the chargen
    Bug #1304: Slaughterfish should not detect the player unless the player is in the water
    Bug #1311: Editor: deleting Record Filter line does not reset the filter
    Bug #1324: ERROR: ESM Error: String table overflow when loading Animated Morrowind.esp
    Bug #1328: Editor: Bogus Filter created when dragging multiple records to filter bar of non-applicable table
    Bug #1331: Walking/running sound persist after killing NPC`s that are walking/running.
    Bug #1334: Previously equipped items not shown as unequipped after attempting to sell them.
    Bug #1335: Actors ignore vertical axis when deciding to attack
    Bug #1338: Unknown toggle option for shadows
    Bug #1339: "Ashlands Region" is visible when beginning new game during "Loading Area" process
    Bug #1340: Guards prompt Player with punishment options after resisting arrest with another guard.
    Bug #1348: Regression: Bug #1098 has returned with a vengeance
    Bug #1349: [TR] TR_Data mesh tr_ex_imp_gatejamb01 cannot be activated
    Bug #1352: Disabling an ESX file does not disable dependent ESX files
    Bug #1355: CppCat Checks OpenMW
    Bug #1356: Incorrect voice type filtering for sleep interrupts
    Bug #1357: Restarting the game clears saves
    Bug #1360: Seyda Neen silk rider dialog problem
    Bug #1361: Some lights don't work
    Bug #1364: It is difficult to bind "Mouse 1" to an action in the options menu
    Bug #1370: Animation compilation mod does not work properly
    Bug #1371: SL_Pick01.nif from third party fails to load in openmw, but works in Vanilla
    Bug #1373: When stealing in front of Sellus Gravius cannot exit the dialog
    Bug #1378: Installs to /usr/local are not working
    Bug #1380: Loading a save file fail if one of the content files is disabled
    Bug #1382: "getHExact() size mismatch" crash on loading official plugin "Siege at Firemoth.esp"
    Bug #1386: Arkngthand door will not open
    Bug #1388: Segfault when modifying View Distance in Menu options
    Bug #1389: Crash when loading a save after dying
    Bug #1390: Apostrophe characters not displayed [French version]
    Bug #1391: Custom made icon background texture for magical weapons and stuff isn't scaled properly on GUI.
    Bug #1393: Coin icon during the level up dialogue are off of the background
    Bug #1394: Alt+F4 doesn't work on Win version
    Bug #1395: Changing rings switches only the last one put on
    Bug #1396: Pauldron parts aren't showing when the robe is equipped
    Bug #1402: Dialogue of some shrines have wrong button orientation
    Bug #1403: Items are floating in the air when they're dropped onto dead bodies.
    Bug #1404: Forearms are not rendered on Argonian females
    Bug #1407: Alchemy allows making potions from two of the same item
    Bug #1408: "Max sale" button gives you all the items AND all the trader's gold
    Bug #1409: Rest "Until Healed" broken for characters with stunted magicka.
    Bug #1412: Empty travel window opens while playing through start game
    Bug #1413: Save game ignores missing writing permission
    Bug #1414: The Underground 2 ESM Error
    Bug #1416: Not all splash screens in the Splash directory are used
    Bug #1417: Loading saved game does not terminate
    Bug #1419: Skyrim: Home of the Nords error
    Bug #1422: ClearInfoActor
    Bug #1423: ForceGreeting closes existing dialogue windows
    Bug #1425: Cannot load save game
    Bug #1426: Read skill books aren't stored in savegame
    Bug #1427: Useless items can be set under hotkeys
    Bug #1429: Text variables in journal
    Bug #1432: When attacking friendly NPC, the crime is reported and bounty is raised after each swing
    Bug #1435: Stealing priceless items is without punishment
    Bug #1437: Door marker at Jobasha's Rare Books is spawning PC in the air
    Bug #1440: Topic selection menu should be wider
    Bug #1441: Dropping items on the rug makes them inaccessible
    Bug #1442: When dropping and taking some looted items, bystanders consider that as a crime
    Bug #1444: Arrows and bolts are not dropped where the cursor points
    Bug #1445: Security trainers offering acrobatics instead
    Bug #1447: Character dash not displayed, French edition
    Bug #1448: When the player is killed by the guard while having a bounty on his head, the guard dialogue opens over and over instead of loading dialogue
    Bug #1454: Script error in SkipTutorial
    Bug #1456: Bad lighting when using certain Morrowind.ini generated by MGE
    Bug #1457: Heart of Lorkan comes after you when attacking it
    Bug #1458: Modified Keybindings are not remembered
    Bug #1459: Dura Gra-Bol doesn't respond to PC attack
    Bug #1462: Interior cells not loaded with Morrowind Patch active
    Bug #1469: Item tooltip should show the base value, not real value
    Bug #1477: Death count is not stored in savegame
    Bug #1478: AiActivate does not trigger activate scripts
    Bug #1481: Weapon not rendered when partially submerged in water
    Bug #1483: Enemies are attacking even while dying
    Bug #1486: ESM Error: Don't know what to do with INFO
    Bug #1490: Arrows shot at PC can end up in inventory
    Bug #1492: Monsters respawn on top of one another
    Bug #1493: Dialogue box opens with follower NPC even if NPC is dead
    Bug #1494: Paralysed cliffracers remain airbourne
    Bug #1495: Dialogue box opens with follower NPC even the game is paused
    Bug #1496: GUI messages are not cleared when loading another saved game
    Bug #1499: Underwater sound sometimes plays when transitioning from interior.
    Bug #1500: Targetted spells and water.
    Bug #1502: Console error message on info refusal
    Bug #1507: Bloodmoon MQ The Ritual of Beasts: Can't remove the arrow
    Bug #1508: Bloodmoon: Fort Frostmoth, cant talk with Carnius Magius
    Bug #1516: PositionCell doesn't move actors to current cell
    Bug #1518: ForceGreeting broken for explicit references
    Bug #1522: Crash after attempting to play non-music file
    Bug #1523: World map empty after loading interior save
    Bug #1524: Arrows in waiting/resting dialog act like minimum and maximum buttons
    Bug #1525: Werewolf: Killed NPC's don't fill werewolfs hunger for blood
    Bug #1527: Werewolf: Detect life detects wrong type of actor
    Bug #1529: OpenMW crash during "the shrine of the dead" mission (tribunal)
    Bug #1530: Selected text in the console has the same color as the background
    Bug #1539: Barilzar's Mazed Band: Tribunal
    Bug #1542: Looping taunts from NPC`s after death: Tribunal
    Bug #1543: OpenCS crash when using drag&drop in script editor
    Bug #1547: Bamz-Amschend: Centurion Archers combat problem
    Bug #1548: The Missing Hand: Tribunal
    Bug #1549: The Mad God: Tribunal, Dome of Serlyn
    Bug #1557: A bounty is calculated from actual item cost
    Bug #1562: Invisible terrain on top of Red Mountain
    Bug #1564: Cave of the hidden music: Bloodmoon
    Bug #1567: Editor: Deleting of referenceables does not work
    Bug #1568: Picking up a stack of items and holding the enter key and moving your mouse around paints a bunch of garbage on screen.
    Bug #1574: Solstheim: Drauger cant inflict damage on player
    Bug #1578: Solstheim: Bonewolf running animation not working
    Bug #1585: Particle effects on PC are stopped when paralyzed
    Bug #1589: Tribunal: Crimson Plague quest does not update when Gedna Relvel is killed
    Bug #1590: Failed to save game: compile error
    Bug #1598: Segfault when making Drain/Fortify Skill spells
    Bug #1599: Unable to switch to fullscreen
    Bug #1613: Morrowind Rebirth duplicate objects / vanilla objects not removed
    Bug #1618: Death notice fails to show up
    Bug #1628: Alt+Tab Segfault
    Feature #32: Periodic Cleanup/Refill
    Feature #41: Precipitation and weather particles
    Feature #568: Editor: Configuration setup
    Feature #649: Editor: Threaded loading
    Feature #930: Editor: Cell record saving
    Feature #934: Editor: Body part table
    Feature #935: Editor: Enchantment effect table
    Feature #1162: Dialogue merging
    Feature #1174: Saved Game: add missing creature state
    Feature #1177: Saved Game: fog of war state
    Feature #1312: Editor: Combat/Magic/Stealth values for creatures are not displayed
    Feature #1314: Make NPCs and creatures fight each other
    Feature #1315: Crime: Murder
    Feature #1321: Sneak skill enhancements
    Feature #1323: Handle restocking items
    Feature #1332: Saved Game: levelled creatures
    Feature #1347: modFactionReaction script instruction
    Feature #1362: Animated main menu support
    Feature #1433: Store walk/run toggle
    Feature #1449: Use names instead of numbers for saved game files and folders
    Feature #1453: Adding Delete button to the load menu
    Feature #1460: Enable Journal screen while in dialogue
    Feature #1480: Play Battle music when in combat
    Feature #1501: Followers unable to fast travel with you
    Feature #1520: Disposition and distance-based aggression/ShouldAttack
    Feature #1595: Editor: Object rendering in cells
    Task #940: Move license to locations where applicable
    Task #1333: Remove cmake git tag reading
    Task #1566: Editor: Object rendering refactoring

0.30.0
------

    Bug #416: Extreme shaking can occur during cell transitions while moving
    Bug #1003: Province Cyrodiil: Ogre Exception in Stirk
    Bug #1071: Crash when given a non-existent content file
    Bug #1080: OpenMW allows resting/using a bed while in combat
    Bug #1097: Wrong punishment for stealing in Census and Excise Office at the start of a new game
    Bug #1098: Unlocked evidence chests should get locked after new evidence is put into them
    Bug #1099: NPCs that you attacked still fight you after you went to jail/paid your fine
    Bug #1100: Taking items from a corpse is considered stealing
    Bug #1126: Some creatures can't get close enough to attack
    Bug #1144: Killed creatures seem to die again each time player transitions indoors/outdoors
    Bug #1181: loading a saved game does not reset the player control status
    Bug #1185: Collision issues in Addamasartus
    Bug #1187: Athyn Sarethi mission, rescuing varvur sarethi from the doesnt end the mission
    Bug #1189: Crash when entering interior cell "Gnisis, Arvs-Drelen"
    Bug #1191: Picking up papers without inventory in new game
    Bug #1195: NPCs do not equip torches in certain interiors
    Bug #1197: mouse wheel makes things scroll too fast
    Bug #1200: door blocked by monsters
    Bug #1201: item's magical charges are only refreshed when they are used
    Bug #1203: Scribs do not defend themselves
    Bug #1204: creatures life is not empty when they are dead
    Bug #1205: armor experience does not progress when hits are taken
    Bug #1206: blood particules always red. Undeads and mechanicals should have a different one.
    Bug #1209: Tarhiel never falls
    Bug #1210: journal adding script is ran again after having saved/loaded
    Bug #1224: Names of custom classes are not properly handled in save games
    Bug #1227: Editor: Fixed case handling for broken localised versions of Morrowind.esm
    Bug #1235: Indoors walk stutter
    Bug #1236: Aborting intro movie brings up the menu
    Bug #1239: NPCs get stuck when walking past each other
    Bug #1240: BTB - Settings 14.1 and Health Bar.
    Bug #1241: BTB - Character and Khajiit Prejudice
    Bug #1248: GUI Weapon icon is changed to hand-to-hand after save load
    Bug #1254: Guild ranks do not show in dialogue
    Bug #1255: When opening a container and selecting "Take All", the screen flashes blue
    Bug #1260: Level Up menu doesn't show image when using a custom class
    Bug #1265: Quit Menu Has Misaligned Buttons
    Bug #1270: Active weapon icon is not updated when weapon is repaired
    Bug #1271: NPC Stuck in hovering "Jumping" animation
    Bug #1272: Crash when attempting to load Big City esm file.
    Bug #1276: Editor: Dropping a region into the filter of a cell subview fails
    Bug #1286: Dialogue topic list clips with window frame
    Bug #1291: Saved game: store faction membership
    Bug #1293: Pluginless Khajiit Head Pack by ashiraniir makes OpenMW close.
    Bug #1294: Pasting in console adds text to end, not at cursor
    Bug #1295: Conversation loop when asking about "specific place" in Vivec
    Bug #1296: Caius doesn't leave at start of quest "Mehra Milo and the Lost Prophecies"
    Bug #1297: Saved game: map markers
    Bug #1302: ring_keley script causes vector::_M_range_check exception
    Bug #1309: Bug on "You violated the law" dialog
    Bug #1319: Creatures sometimes rendered incorrectly
    Feature #50: Ranged Combat
    Feature #58: Sneaking Skill
    Feature #73: Crime and Punishment
    Feature #135: Editor: OGRE integration
    Feature #541: Editor: Dialogue Sub-Views
    Feature #853: Editor: Rework User Settings
    Feature #944: Editor: lighting modes
    Feature #945: Editor: Camera navigation mode
    Feature #953: Trader gold
    Feature #1140: AI: summoned creatures
    Feature #1142: AI follow: Run stance
    Feature #1154: Not all NPCs get aggressive when one is attacked
    Feature #1169: Terrain threading
    Feature #1172: Loading screen and progress bars during saved/loading game
    Feature #1173: Saved Game: include weather state
    Feature #1207: Class creation form does not remember
    Feature #1220: Editor: Preview Subview
    Feature #1223: Saved Game: Local Variables
    Feature #1229: Quicksave, quickload, autosave
    Feature #1230: Deleting saves
    Feature #1233: Bribe gold is placed into NPCs inventory
    Feature #1252: Saved Game: quick key bindings
    Feature #1273: Editor: Region Map context menu
    Feature #1274: Editor: Region Map drag & drop
    Feature #1275: Editor: Scene subview drop
    Feature #1282: Non-faction member crime recognition.
    Feature #1289: NPCs return to default position
    Task #941: Remove unused cmake files

0.29.0
------

    Bug #556: Video soundtrack not played when music volume is set to zero
    Bug #829: OpenMW uses up all available vram, when playing for extended time
    Bug #848: Wrong amount of footsteps playing in 1st person
    Bug #888: Ascended Sleepers have movement issues
    Bug #892: Explicit references are allowed on all script functions
    Bug #999: Graphic Herbalism (mod): sometimes doesn't activate properly
    Bug #1009: Lake Fjalding AI related slowdown.
    Bug #1041: Music playback issues on OS X >= 10.9
    Bug #1043: No message box when advancing skill "Speechcraft" while in dialog window
    Bug #1060: Some message boxes are cut off at the bottom
    Bug #1062: Bittercup script does not work ('end' variable)
    Bug #1074: Inventory paperdoll obscures armour rating
    Bug #1077: Message after killing an essential NPC disappears too fast
    Bug #1078: "Clutterbane" shows empty charge bar
    Bug #1083: UndoWerewolf fails
    Bug #1088: Better Clothes Bloodmoon Plus 1.5 by Spirited Treasure pants are not rendered
    Bug #1090: Start scripts fail when going to a non-predefined cell
    Bug #1091: Crash: Assertion `!q.isNaN() && "Invalid orientation supplied as parameter"' failed.
    Bug #1093: Weapons of aggressive NPCs are invisible after you exit and re-enter interior
    Bug #1105: Magicka is depleted when using uncastable spells
    Bug #1106: Creatures should be able to run
    Bug #1107: TR cliffs have way too huge collision boxes in OpenMW
    Bug #1109: Cleaning True Light and Darkness with Tes3cmd makes Addamasartus , Zenarbael and Yasamsi flooded.
    Bug #1114: Bad output for desktop-file-validate on openmw.desktop (and opencs.desktop)
    Bug #1115: Memory leak when spying on Fargoth
    Bug #1137: Script execution fails (drenSlaveOwners script)
    Bug #1143: Mehra Milo quest (vivec informants) is broken
    Bug #1145: Issues with moving gold between inventory and containers
    Bug #1146: Issues with picking up stacks of gold
    Bug #1147: Dwemer Crossbows are held incorrectly
    Bug #1158: Armor rating should always stay below inventory mannequin
    Bug #1159: Quick keys can be set during character generation
    Bug #1160: Crash on equip lockpick when
    Bug #1167: Editor: Referenceables are not correctly loaded when dealing with more than one content file
    Bug #1184: Game Save: overwriting an existing save does not actually overwrites the file
    Feature #30: Loading/Saving (still missing a few parts)
    Feature #101: AI Package: Activate
    Feature #103: AI Package: Follow, FollowCell
    Feature #138: Editor: Drag & Drop
    Feature #428: Player death
    Feature #505: Editor: Record Cloning
    Feature #701: Levelled creatures
    Feature #708: Improved Local Variable handling
    Feature #709: Editor: Script verifier
    Feature #764: Missing journal backend features
    Feature #777: Creature weapons/shields
    Feature #789: Editor: Referenceable record verifier
    Feature #924: Load/Save GUI (still missing loading screen and progress bars)
    Feature #946: Knockdown
    Feature #947: Decrease fatigue when running, swimming and attacking
    Feature #956: Melee Combat: Blocking
    Feature #957: Area magic
    Feature #960: Combat/AI combat for creatures
    Feature #962: Combat-Related AI instructions
    Feature #1075: Damage/Restore skill/attribute magic effects
    Feature #1076: Soultrap magic effect
    Feature #1081: Disease contraction
    Feature #1086: Blood particles
    Feature #1092: Interrupt resting
    Feature #1101: Inventory equip scripts
    Feature #1116: Version/Build number in Launcher window
    Feature #1119: Resistance/weakness to normal weapons magic effect
    Feature #1123: Slow Fall magic effect
    Feature #1130: Auto-calculate spells
    Feature #1164: Editor: Case-insensitive sorting in tables

0.28.0
------

    Bug #399: Inventory changes are not visible immediately
    Bug #417: Apply weather instantly when teleporting
    Bug #566: Global Map position marker not updated for interior cells
    Bug #712: Looting corpse delay
    Bug #716: Problem with the "Vurt's Ascadian Isles Mod" mod
    Bug #805: Two TR meshes appear black (v0.24RC)
    Bug #841: Third-person activation distance taken from camera rather than head
    Bug #845: NPCs hold torches during the day
    Bug #855: Vvardenfell Visages Volume I some hairs don´t appear since 0,24
    Bug #856: Maormer race by Mac Kom - The heads are way up
    Bug #864: Walk locks during loading in 3rd person
    Bug #871: active weapon/magic item icon is not immediately made blank if item is removed during dialog
    Bug #882: Hircine's Ring doesn't always work
    Bug #909: [Tamriel Rebuilt] crashes in Akamora
    Bug #922: Launcher writing merged openmw.cfg files
    Bug #943: Random magnitude should be calculated per effect
    Bug #948: Negative fatigue level should be allowed
    Bug #949: Particles in world space
    Bug #950: Hard crash on x64 Linux running --new-game (on startup)
    Bug #951: setMagicka and setFatigue have no effect
    Bug #954: Problem with equipping inventory items when using a keyboard shortcut
    Bug #955: Issues with equipping torches
    Bug #966: Shield is visible when casting spell
    Bug #967: Game crashes when equipping silver candlestick
    Bug #970: Segmentation fault when starting at Bal Isra
    Bug #977: Pressing down key in console doesn't go forward in history
    Bug #979: Tooltip disappears when changing inventory
    Bug #980: Barter: item category is remembered, but not shown
    Bug #981: Mod: replacing model has wrong position/orientation
    Bug #982: Launcher: Addon unchecking is not saved
    Bug #983: Fix controllers to affect objects attached to the base node
    Bug #985: Player can talk to NPCs who are in combat
    Bug #989: OpenMW crashes when trying to include mod with capital .ESP
    Bug #991: Merchants equip items with harmful constant effect enchantments
    Bug #994: Don't cap skills/attributes when set via console
    Bug #998: Setting the max health should also set the current health
    Bug #1005: Torches are visible when casting spells and during hand to hand combat.
    Bug #1006: Many NPCs have 0 skill
    Bug #1007: Console fills up with text
    Bug #1013: Player randomly loses health or dies
    Bug #1014: Persuasion window is not centered in maximized window
    Bug #1015: Player status window scroll state resets on status change
    Bug #1016: Notification window not big enough for all skill level ups
    Bug #1020: Saved window positions are not rescaled appropriately on resolution change
    Bug #1022: Messages stuck permanently on screen when they pile up
    Bug #1023: Journals doesn't open
    Bug #1026: Game loses track of torch usage.
    Bug #1028: Crash on pickup of jug in Unexplored Shipwreck, Upper level
    Bug #1029: Quick keys menu: Select compatible replacement when tool used up
    Bug #1042: TES3 header data wrong encoding
    Bug #1045: OS X: deployed OpenCS won't launch
    Bug #1046: All damaged weaponry is worth 1 gold
    Bug #1048: Links in "locked" dialogue are still clickable
    Bug #1052: Using color codes when naming your character actually changes the name's color
    Bug #1054: Spell effects not visible in front of water
    Bug #1055: Power-Spell animation starts even though you already casted it that day
    Bug #1059: Cure disease potion removes all effects from player, even your race bonus and race ability
    Bug #1063: Crash upon checking out game start ship area in Seyda Neen
    Bug #1064: openmw binaries link to unnecessary libraries
    Bug #1065: Landing from a high place in water still causes fall damage
    Bug #1072: Drawing weapon increases torch brightness
    Bug #1073: Merchants sell stacks of gold
    Feature #43: Visuals for Magic Effects
    Feature #51: Ranged Magic
    Feature #52: Touch Range Magic
    Feature #53: Self Range Magic
    Feature #54: Spell Casting
    Feature #70: Vampirism
    Feature #100: Combat AI
    Feature #171: Implement NIF record NiFlipController
    Feature #410: Window to restore enchanted item charge
    Feature #647: Enchanted item glow
    Feature #723: Invisibility/Chameleon magic effects
    Feature #737: Resist Magicka magic effect
    Feature #758: GetLOS
    Feature #926: Editor: Info-Record tables
    Feature #958: Material controllers
    Feature #959: Terrain bump, specular, & parallax mapping
    Feature #990: Request: unlock mouse when in any menu
    Feature #1018: Do not allow view mode switching while performing an action
    Feature #1027: Vertex morph animation (NiGeomMorpherController)
    Feature #1031: Handle NiBillboardNode
    Feature #1051: Implement NIF texture slot DarkTexture
    Task #873: Unify OGRE initialisation

0.27.0
------

    Bug #597: Assertion `dialogue->mId == id' failed in esmstore.cpp
    Bug #794: incorrect display of decimal numbers
    Bug #840: First-person sneaking camera height
    Bug #887: Ambient sounds playing while paused
    Bug #902: Problems with Polish character encoding
    Bug #907: Entering third person using the mousewheel is possible even if it's impossible using the key
    Bug #910: Some CDs not working correctly with Unshield installer
    Bug #917: Quick character creation plugin does not work
    Bug #918: Fatigue does not refill
    Bug #919: The PC falls dead in Beshara - OpenMW nightly Win64 (708CDE2)
    Feature #57: Acrobatics Skill
    Feature #462: Editor: Start Dialogue
    Feature #546: Modify ESX selector to handle new content file scheme
    Feature #588: Editor: Adjust name/path of edited content files
    Feature #644: Editor: Save
    Feature #710: Editor: Configure script compiler context
    Feature #790: God Mode
    Feature #881: Editor: Allow only one instance of OpenCS
    Feature #889: Editor: Record filtering
    Feature #895: Extinguish torches
    Feature #898: Breath meter enhancements
    Feature #901: Editor: Default record filter
    Feature #913: Merge --master and --plugin switches

0.26.0
------

    Bug #274: Inconsistencies in the terrain
    Bug #557: Already-dead NPCs do not equip clothing/items.
    Bug #592: Window resizing
    Bug #612: [Tamriel Rebuilt] Missing terrain (South of Tel Oren)
    Bug #664: Heart of lorkhan acts like a dead body (container)
    Bug #767: Wonky ramp physics & water
    Bug #780: Swimming out of water
    Bug #792: Wrong ground alignment on actors when no clipping
    Bug #796: Opening and closing door sound issue
    Bug #797: No clipping hinders opening and closing of doors
    Bug #799: sliders in enchanting window
    Bug #838: Pressing key during startup procedure freezes the game
    Bug #839: Combat/magic stances during character creation
    Bug #843: [Tribunal] Dark Brotherhood assassin appears without equipment
    Bug #844: Resting "until healed" option given even with full stats
    Bug #846: Equipped torches are invisible.
    Bug #847: Incorrect formula for autocalculated NPC initial health
    Bug #850: Shealt weapon sound plays when leaving magic-ready stance
    Bug #852: Some boots do not produce footstep sounds
    Bug #860: FPS bar misalignment
    Bug #861: Unable to print screen
    Bug #863: No sneaking and jumping at the same time
    Bug #866: Empty variables in [Movies] section of Morrowind.ini gets imported into OpenMW.cfg as blank fallback option and crashes game on start.
    Bug #867: Dancing girls in "Suran, Desele's House of Earthly Delights" don't dance.
    Bug #868: Idle animations are repeated
    Bug #874: Underwater swimming close to the ground is jerky
    Bug #875: Animation problem while swimming on the surface and looking up
    Bug #876: Always a starting upper case letter in the inventory
    Bug #878: Active spell effects don't update the layout properly when ended
    Bug #891: Cell 24,-12 (Tamriel Rebuilt) crashes on load
    Bug #896: New game sound issue
    Feature #49: Melee Combat
    Feature #71: Lycanthropy
    Feature #393: Initialise MWMechanics::AiSequence from ESM::AIPackageList
    Feature #622: Multiple positions for inventory window
    Feature #627: Drowning
    Feature #786: Allow the 'Activate' key to close the countdialog window
    Feature #798: Morrowind installation via Launcher (Linux/Max OS only)
    Feature #851: First/Third person transitions with mouse wheel
    Task #689: change PhysicActor::enableCollisions
    Task #707: Reorganise Compiler

0.25.0
------

    Bug #411: Launcher crash on OS X < 10.8
    Bug #604: Terrible performance drop in the Census and Excise Office.
    Bug #676: Start Scripts fail to load
    Bug #677: OpenMW does not accept script names with -
    Bug #766: Extra space in front of topic links
    Bug #793: AIWander Isn't Being Passed The Repeat Parameter
    Bug #795: Sound playing with drawn weapon and crossing cell-border
    Bug #800: can't select weapon for enchantment
    Bug #801: Player can move while over-encumbered
    Bug #802: Dead Keys not working
    Bug #808: mouse capture
    Bug #809: ini Importer does not work without an existing cfg file
    Bug #812: Launcher will run OpenMW with no ESM or ESP selected
    Bug #813: OpenMW defaults to Morrowind.ESM with no ESM or ESP selected
    Bug #817: Dead NPCs and Creatures still have collision boxes
    Bug #820: Incorrect sorting of answers (Dialogue)
    Bug #826: mwinimport dumps core when given an unknown parameter
    Bug #833: getting stuck in door
    Bug #835: Journals/books not showing up properly.
    Feature #38: SoundGen
    Feature #105: AI Package: Wander
    Feature #230: 64-bit compatibility for OS X
    Feature #263: Hardware mouse cursors
    Feature #449: Allow mouse outside of window while paused
    Feature #736: First person animations
    Feature #750: Using mouse wheel in third person mode
    Feature #822: Autorepeat for slider buttons

0.24.0
------

    Bug #284: Book's text misalignment
    Bug #445: Camera able to get slightly below floor / terrain
    Bug #582: Seam issue in Red Mountain
    Bug #632: Journal Next Button shows white square
    Bug #653: IndexedStore ignores index
    Bug #694: Parser does not recognize float values starting with .
    Bug #699: Resource handling broken with Ogre 1.9 trunk
    Bug #718: components/esm/loadcell is using the mwworld subsystem
    Bug #729: Levelled item list tries to add nonexistent item
    Bug #730: Arrow buttons in the settings menu do not work.
    Bug #732: Erroneous behavior when binding keys
    Bug #733: Unclickable dialogue topic
    Bug #734: Book empty line problem
    Bug #738: OnDeath only works with implicit references
    Bug #740: Script compiler fails on scripts with special names
    Bug #742: Wait while no clipping
    Bug #743: Problem with changeweather console command
    Bug #744: No wait dialogue after starting a new game
    Bug #748: Player is not able to unselect objects with the console
    Bug #751: AddItem should only spawn a message box when called from dialogue
    Bug #752: The enter button has several functions in trade and looting that is not impelemted.
    Bug #753: Fargoth's Ring Quest Strange Behavior
    Bug #755: Launcher writes duplicate lines into settings.cfg
    Bug #759: Second quest in mages guild does not work
    Bug #763: Enchantment cast cost is wrong
    Bug #770: The "Take" and "Close" buttons in the scroll GUI are stretched incorrectly
    Bug #773: AIWander Isn't Being Passed The Correct idle Values
    Bug #778: The journal can be opened at the start of a new game
    Bug #779: Divayth Fyr starts as dead
    Bug #787: "Batch count" on detailed FPS counter gets cut-off
    Bug #788: chargen scroll layout does not match vanilla
    Feature #60: Atlethics Skill
    Feature #65: Security Skill
    Feature #74: Interaction with non-load-doors
    Feature #98: Render Weapon and Shield
    Feature #102: AI Package: Escort, EscortCell
    Feature #182: Advanced Journal GUI
    Feature #288: Trading enhancements
    Feature #405: Integrate "new game" into the menu
    Feature #537: Highlight dialogue topic links
    Feature #658: Rotate, RotateWorld script instructions and local rotations
    Feature #690: Animation Layering
    Feature #722: Night Eye/Blind magi
Download .txt
gitextract_s3cv9ifw/

├── .editorconfig
├── .github/
│   └── FUNDING.yml
├── .gitignore
├── .gitlab-ci.yml
├── .gitmodules
├── .readthedocs.yaml
├── .travis.yml
├── AUTHORS.md
├── CHANGELOG.md
├── CHANGELOG_PR.md
├── CI/
│   ├── ActivateMSVC.ps1
│   ├── activate_msvc.sh
│   ├── before_install.android.sh
│   ├── before_install.linux.sh
│   ├── before_install.osx.sh
│   ├── before_script.android.sh
│   ├── before_script.linux.sh
│   ├── before_script.msvc.sh
│   ├── before_script.osx.sh
│   ├── build.msvc.sh
│   ├── build_googletest.sh
│   ├── check_package.osx.sh
│   ├── check_tabs.sh
│   ├── deploy.osx.sh
│   └── install_debian_deps.sh
├── CMakeLists.txt
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── apps/
│   ├── benchmarks/
│   │   ├── CMakeLists.txt
│   │   └── detournavigator/
│   │       └── navmeshtilescache.cpp
│   ├── browser/
│   │   ├── CMakeLists.txt
│   │   ├── MainWindow.cpp
│   │   ├── MainWindow.hpp
│   │   ├── MySortFilterProxyModel.cpp
│   │   ├── MySortFilterProxyModel.hpp
│   │   ├── PingHelper.cpp
│   │   ├── PingHelper.hpp
│   │   ├── PingUpdater.cpp
│   │   ├── PingUpdater.hpp
│   │   ├── QueryHelper.cpp
│   │   ├── QueryHelper.hpp
│   │   ├── ServerInfoDialog.cpp
│   │   ├── ServerInfoDialog.hpp
│   │   ├── ServerModel.cpp
│   │   ├── ServerModel.hpp
│   │   ├── Types.hpp
│   │   ├── main.cpp
│   │   └── netutils/
│   │       ├── HTTPNetwork.cpp
│   │       ├── HTTPNetwork.hpp
│   │       ├── QueryClient.cpp
│   │       ├── QueryClient.hpp
│   │       ├── Utils.cpp
│   │       └── Utils.hpp
│   ├── bsatool/
│   │   ├── CMakeLists.txt
│   │   └── bsatool.cpp
│   ├── doc.hpp
│   ├── essimporter/
│   │   ├── CMakeLists.txt
│   │   ├── convertacdt.cpp
│   │   ├── convertacdt.hpp
│   │   ├── convertcntc.cpp
│   │   ├── convertcntc.hpp
│   │   ├── convertcrec.cpp
│   │   ├── convertcrec.hpp
│   │   ├── converter.cpp
│   │   ├── converter.hpp
│   │   ├── convertinventory.cpp
│   │   ├── convertinventory.hpp
│   │   ├── convertnpcc.cpp
│   │   ├── convertnpcc.hpp
│   │   ├── convertplayer.cpp
│   │   ├── convertplayer.hpp
│   │   ├── convertscpt.cpp
│   │   ├── convertscpt.hpp
│   │   ├── convertscri.cpp
│   │   ├── convertscri.hpp
│   │   ├── importacdt.cpp
│   │   ├── importacdt.hpp
│   │   ├── importcellref.cpp
│   │   ├── importcellref.hpp
│   │   ├── importcntc.cpp
│   │   ├── importcntc.hpp
│   │   ├── importcrec.cpp
│   │   ├── importcrec.hpp
│   │   ├── importdial.cpp
│   │   ├── importdial.hpp
│   │   ├── importer.cpp
│   │   ├── importer.hpp
│   │   ├── importercontext.cpp
│   │   ├── importercontext.hpp
│   │   ├── importgame.cpp
│   │   ├── importgame.hpp
│   │   ├── importinfo.cpp
│   │   ├── importinfo.hpp
│   │   ├── importinventory.cpp
│   │   ├── importinventory.hpp
│   │   ├── importjour.cpp
│   │   ├── importjour.hpp
│   │   ├── importklst.cpp
│   │   ├── importklst.hpp
│   │   ├── importnpcc.cpp
│   │   ├── importnpcc.hpp
│   │   ├── importplayer.cpp
│   │   ├── importplayer.hpp
│   │   ├── importproj.cpp
│   │   ├── importproj.h
│   │   ├── importques.cpp
│   │   ├── importques.hpp
│   │   ├── importscpt.cpp
│   │   ├── importscpt.hpp
│   │   ├── importscri.cpp
│   │   ├── importscri.hpp
│   │   ├── importsplm.cpp
│   │   ├── importsplm.h
│   │   └── main.cpp
│   ├── launcher/
│   │   ├── CMakeLists.txt
│   │   ├── advancedpage.cpp
│   │   ├── advancedpage.hpp
│   │   ├── datafilespage.cpp
│   │   ├── datafilespage.hpp
│   │   ├── graphicspage.cpp
│   │   ├── graphicspage.hpp
│   │   ├── main.cpp
│   │   ├── maindialog.cpp
│   │   ├── maindialog.hpp
│   │   ├── playpage.cpp
│   │   ├── playpage.hpp
│   │   ├── sdlinit.cpp
│   │   ├── sdlinit.hpp
│   │   ├── settingspage.cpp
│   │   ├── settingspage.hpp
│   │   ├── textslotmsgbox.cpp
│   │   ├── textslotmsgbox.hpp
│   │   └── utils/
│   │       ├── cellnameloader.cpp
│   │       ├── cellnameloader.hpp
│   │       ├── lineedit.cpp
│   │       ├── lineedit.hpp
│   │       ├── openalutil.cpp
│   │       ├── openalutil.hpp
│   │       ├── profilescombobox.cpp
│   │       ├── profilescombobox.hpp
│   │       ├── textinputdialog.cpp
│   │       └── textinputdialog.hpp
│   ├── master/
│   │   ├── CMakeLists.txt
│   │   ├── MasterServer.cpp
│   │   ├── MasterServer.hpp
│   │   ├── RestServer.cpp
│   │   ├── RestServer.hpp
│   │   ├── ServerTest.cpp
│   │   ├── SimpleWeb/
│   │   │   ├── base_server.hpp
│   │   │   ├── http_server.hpp
│   │   │   └── https_server.hpp
│   │   └── main.cpp
│   ├── mwiniimporter/
│   │   ├── CMakeLists.txt
│   │   ├── importer.cpp
│   │   ├── importer.hpp
│   │   └── main.cpp
│   ├── niftest/
│   │   ├── CMakeLists.txt
│   │   └── niftest.cpp
│   ├── opencs/
│   │   ├── CMakeLists.txt
│   │   ├── Networking.cpp
│   │   ├── editor.cpp
│   │   ├── editor.hpp
│   │   ├── main.cpp
│   │   ├── model/
│   │   │   ├── doc/
│   │   │   │   ├── blacklist.cpp
│   │   │   │   ├── blacklist.hpp
│   │   │   │   ├── document.cpp
│   │   │   │   ├── document.hpp
│   │   │   │   ├── documentmanager.cpp
│   │   │   │   ├── documentmanager.hpp
│   │   │   │   ├── loader.cpp
│   │   │   │   ├── loader.hpp
│   │   │   │   ├── messages.cpp
│   │   │   │   ├── messages.hpp
│   │   │   │   ├── operation.cpp
│   │   │   │   ├── operation.hpp
│   │   │   │   ├── operationholder.cpp
│   │   │   │   ├── operationholder.hpp
│   │   │   │   ├── runner.cpp
│   │   │   │   ├── runner.hpp
│   │   │   │   ├── saving.cpp
│   │   │   │   ├── saving.hpp
│   │   │   │   ├── savingstages.cpp
│   │   │   │   ├── savingstages.hpp
│   │   │   │   ├── savingstate.cpp
│   │   │   │   ├── savingstate.hpp
│   │   │   │   ├── stage.cpp
│   │   │   │   ├── stage.hpp
│   │   │   │   └── state.hpp
│   │   │   ├── filter/
│   │   │   │   ├── andnode.cpp
│   │   │   │   ├── andnode.hpp
│   │   │   │   ├── booleannode.cpp
│   │   │   │   ├── booleannode.hpp
│   │   │   │   ├── leafnode.cpp
│   │   │   │   ├── leafnode.hpp
│   │   │   │   ├── narynode.cpp
│   │   │   │   ├── narynode.hpp
│   │   │   │   ├── node.cpp
│   │   │   │   ├── node.hpp
│   │   │   │   ├── notnode.cpp
│   │   │   │   ├── notnode.hpp
│   │   │   │   ├── ornode.cpp
│   │   │   │   ├── ornode.hpp
│   │   │   │   ├── parser.cpp
│   │   │   │   ├── parser.hpp
│   │   │   │   ├── textnode.cpp
│   │   │   │   ├── textnode.hpp
│   │   │   │   ├── unarynode.cpp
│   │   │   │   ├── unarynode.hpp
│   │   │   │   ├── valuenode.cpp
│   │   │   │   └── valuenode.hpp
│   │   │   ├── prefs/
│   │   │   │   ├── boolsetting.cpp
│   │   │   │   ├── boolsetting.hpp
│   │   │   │   ├── category.cpp
│   │   │   │   ├── category.hpp
│   │   │   │   ├── coloursetting.cpp
│   │   │   │   ├── coloursetting.hpp
│   │   │   │   ├── doublesetting.cpp
│   │   │   │   ├── doublesetting.hpp
│   │   │   │   ├── enumsetting.cpp
│   │   │   │   ├── enumsetting.hpp
│   │   │   │   ├── intsetting.cpp
│   │   │   │   ├── intsetting.hpp
│   │   │   │   ├── modifiersetting.cpp
│   │   │   │   ├── modifiersetting.hpp
│   │   │   │   ├── setting.cpp
│   │   │   │   ├── setting.hpp
│   │   │   │   ├── shortcut.cpp
│   │   │   │   ├── shortcut.hpp
│   │   │   │   ├── shortcuteventhandler.cpp
│   │   │   │   ├── shortcuteventhandler.hpp
│   │   │   │   ├── shortcutmanager.cpp
│   │   │   │   ├── shortcutmanager.hpp
│   │   │   │   ├── shortcutsetting.cpp
│   │   │   │   ├── shortcutsetting.hpp
│   │   │   │   ├── state.cpp
│   │   │   │   ├── state.hpp
│   │   │   │   ├── stringsetting.cpp
│   │   │   │   └── stringsetting.hpp
│   │   │   ├── tools/
│   │   │   │   ├── birthsigncheck.cpp
│   │   │   │   ├── birthsigncheck.hpp
│   │   │   │   ├── bodypartcheck.cpp
│   │   │   │   ├── bodypartcheck.hpp
│   │   │   │   ├── classcheck.cpp
│   │   │   │   ├── classcheck.hpp
│   │   │   │   ├── enchantmentcheck.cpp
│   │   │   │   ├── enchantmentcheck.hpp
│   │   │   │   ├── factioncheck.cpp
│   │   │   │   ├── factioncheck.hpp
│   │   │   │   ├── gmstcheck.cpp
│   │   │   │   ├── gmstcheck.hpp
│   │   │   │   ├── journalcheck.cpp
│   │   │   │   ├── journalcheck.hpp
│   │   │   │   ├── magiceffectcheck.cpp
│   │   │   │   ├── magiceffectcheck.hpp
│   │   │   │   ├── mandatoryid.cpp
│   │   │   │   ├── mandatoryid.hpp
│   │   │   │   ├── mergeoperation.cpp
│   │   │   │   ├── mergeoperation.hpp
│   │   │   │   ├── mergestages.cpp
│   │   │   │   ├── mergestages.hpp
│   │   │   │   ├── mergestate.hpp
│   │   │   │   ├── pathgridcheck.cpp
│   │   │   │   ├── pathgridcheck.hpp
│   │   │   │   ├── racecheck.cpp
│   │   │   │   ├── racecheck.hpp
│   │   │   │   ├── referenceablecheck.cpp
│   │   │   │   ├── referenceablecheck.hpp
│   │   │   │   ├── referencecheck.cpp
│   │   │   │   ├── referencecheck.hpp
│   │   │   │   ├── regioncheck.cpp
│   │   │   │   ├── regioncheck.hpp
│   │   │   │   ├── reportmodel.cpp
│   │   │   │   ├── reportmodel.hpp
│   │   │   │   ├── scriptcheck.cpp
│   │   │   │   ├── scriptcheck.hpp
│   │   │   │   ├── search.cpp
│   │   │   │   ├── search.hpp
│   │   │   │   ├── searchoperation.cpp
│   │   │   │   ├── searchoperation.hpp
│   │   │   │   ├── searchstage.cpp
│   │   │   │   ├── searchstage.hpp
│   │   │   │   ├── skillcheck.cpp
│   │   │   │   ├── skillcheck.hpp
│   │   │   │   ├── soundcheck.cpp
│   │   │   │   ├── soundcheck.hpp
│   │   │   │   ├── soundgencheck.cpp
│   │   │   │   ├── soundgencheck.hpp
│   │   │   │   ├── spellcheck.cpp
│   │   │   │   ├── spellcheck.hpp
│   │   │   │   ├── startscriptcheck.cpp
│   │   │   │   ├── startscriptcheck.hpp
│   │   │   │   ├── tools.cpp
│   │   │   │   ├── tools.hpp
│   │   │   │   ├── topicinfocheck.cpp
│   │   │   │   └── topicinfocheck.hpp
│   │   │   └── world/
│   │   │       ├── actoradapter.cpp
│   │   │       ├── actoradapter.hpp
│   │   │       ├── cell.cpp
│   │   │       ├── cell.hpp
│   │   │       ├── cellcoordinates.cpp
│   │   │       ├── cellcoordinates.hpp
│   │   │       ├── cellselection.cpp
│   │   │       ├── cellselection.hpp
│   │   │       ├── collection.hpp
│   │   │       ├── collectionbase.cpp
│   │   │       ├── collectionbase.hpp
│   │   │       ├── columnbase.cpp
│   │   │       ├── columnbase.hpp
│   │   │       ├── columnimp.cpp
│   │   │       ├── columnimp.hpp
│   │   │       ├── columns.cpp
│   │   │       ├── columns.hpp
│   │   │       ├── commanddispatcher.cpp
│   │   │       ├── commanddispatcher.hpp
│   │   │       ├── commandmacro.cpp
│   │   │       ├── commandmacro.hpp
│   │   │       ├── commands.cpp
│   │   │       ├── commands.hpp
│   │   │       ├── data.cpp
│   │   │       ├── data.hpp
│   │   │       ├── defaultgmsts.cpp
│   │   │       ├── defaultgmsts.hpp
│   │   │       ├── idcollection.hpp
│   │   │       ├── idcompletionmanager.cpp
│   │   │       ├── idcompletionmanager.hpp
│   │   │       ├── idtable.cpp
│   │   │       ├── idtable.hpp
│   │   │       ├── idtablebase.cpp
│   │   │       ├── idtablebase.hpp
│   │   │       ├── idtableproxymodel.cpp
│   │   │       ├── idtableproxymodel.hpp
│   │   │       ├── idtree.cpp
│   │   │       ├── idtree.hpp
│   │   │       ├── info.hpp
│   │   │       ├── infocollection.cpp
│   │   │       ├── infocollection.hpp
│   │   │       ├── infoselectwrapper.cpp
│   │   │       ├── infoselectwrapper.hpp
│   │   │       ├── infotableproxymodel.cpp
│   │   │       ├── infotableproxymodel.hpp
│   │   │       ├── land.cpp
│   │   │       ├── land.hpp
│   │   │       ├── landtexture.cpp
│   │   │       ├── landtexture.hpp
│   │   │       ├── landtexturetableproxymodel.cpp
│   │   │       ├── landtexturetableproxymodel.hpp
│   │   │       ├── metadata.cpp
│   │   │       ├── metadata.hpp
│   │   │       ├── nestedcoladapterimp.cpp
│   │   │       ├── nestedcoladapterimp.hpp
│   │   │       ├── nestedcollection.cpp
│   │   │       ├── nestedcollection.hpp
│   │   │       ├── nestedcolumnadapter.hpp
│   │   │       ├── nestedidcollection.hpp
│   │   │       ├── nestedinfocollection.cpp
│   │   │       ├── nestedinfocollection.hpp
│   │   │       ├── nestedtableproxymodel.cpp
│   │   │       ├── nestedtableproxymodel.hpp
│   │   │       ├── nestedtablewrapper.cpp
│   │   │       ├── nestedtablewrapper.hpp
│   │   │       ├── pathgrid.cpp
│   │   │       ├── pathgrid.hpp
│   │   │       ├── record.cpp
│   │   │       ├── record.hpp
│   │   │       ├── ref.cpp
│   │   │       ├── ref.hpp
│   │   │       ├── refcollection.cpp
│   │   │       ├── refcollection.hpp
│   │   │       ├── refidadapter.cpp
│   │   │       ├── refidadapter.hpp
│   │   │       ├── refidadapterimp.cpp
│   │   │       ├── refidadapterimp.hpp
│   │   │       ├── refidcollection.cpp
│   │   │       ├── refidcollection.hpp
│   │   │       ├── refiddata.cpp
│   │   │       ├── refiddata.hpp
│   │   │       ├── regionmap.cpp
│   │   │       ├── regionmap.hpp
│   │   │       ├── resources.cpp
│   │   │       ├── resources.hpp
│   │   │       ├── resourcesmanager.cpp
│   │   │       ├── resourcesmanager.hpp
│   │   │       ├── resourcetable.cpp
│   │   │       ├── resourcetable.hpp
│   │   │       ├── scope.cpp
│   │   │       ├── scope.hpp
│   │   │       ├── scriptcontext.cpp
│   │   │       ├── scriptcontext.hpp
│   │   │       ├── subcellcollection.hpp
│   │   │       ├── tablemimedata.cpp
│   │   │       ├── tablemimedata.hpp
│   │   │       ├── universalid.cpp
│   │   │       └── universalid.hpp
│   │   └── view/
│   │       ├── doc/
│   │       │   ├── adjusterwidget.cpp
│   │       │   ├── adjusterwidget.hpp
│   │       │   ├── filedialog.cpp
│   │       │   ├── filedialog.hpp
│   │       │   ├── filewidget.cpp
│   │       │   ├── filewidget.hpp
│   │       │   ├── globaldebugprofilemenu.cpp
│   │       │   ├── globaldebugprofilemenu.hpp
│   │       │   ├── loader.cpp
│   │       │   ├── loader.hpp
│   │       │   ├── newgame.cpp
│   │       │   ├── newgame.hpp
│   │       │   ├── operation.cpp
│   │       │   ├── operation.hpp
│   │       │   ├── operations.cpp
│   │       │   ├── operations.hpp
│   │       │   ├── runlogsubview.cpp
│   │       │   ├── runlogsubview.hpp
│   │       │   ├── sizehint.cpp
│   │       │   ├── sizehint.hpp
│   │       │   ├── startup.cpp
│   │       │   ├── startup.hpp
│   │       │   ├── subview.cpp
│   │       │   ├── subview.hpp
│   │       │   ├── subviewfactory.cpp
│   │       │   ├── subviewfactory.hpp
│   │       │   ├── subviewfactoryimp.hpp
│   │       │   ├── view.cpp
│   │       │   ├── view.hpp
│   │       │   ├── viewmanager.cpp
│   │       │   └── viewmanager.hpp
│   │       ├── filter/
│   │       │   ├── editwidget.cpp
│   │       │   ├── editwidget.hpp
│   │       │   ├── filterbox.cpp
│   │       │   ├── filterbox.hpp
│   │       │   ├── recordfilterbox.cpp
│   │       │   └── recordfilterbox.hpp
│   │       ├── prefs/
│   │       │   ├── contextmenulist.cpp
│   │       │   ├── contextmenulist.hpp
│   │       │   ├── dialogue.cpp
│   │       │   ├── dialogue.hpp
│   │       │   ├── keybindingpage.cpp
│   │       │   ├── keybindingpage.hpp
│   │       │   ├── page.cpp
│   │       │   ├── page.hpp
│   │       │   ├── pagebase.cpp
│   │       │   └── pagebase.hpp
│   │       ├── render/
│   │       │   ├── actor.cpp
│   │       │   ├── actor.hpp
│   │       │   ├── brushdraw.cpp
│   │       │   ├── brushdraw.hpp
│   │       │   ├── cameracontroller.cpp
│   │       │   ├── cameracontroller.hpp
│   │       │   ├── cell.cpp
│   │       │   ├── cell.hpp
│   │       │   ├── cellarrow.cpp
│   │       │   ├── cellarrow.hpp
│   │       │   ├── cellborder.cpp
│   │       │   ├── cellborder.hpp
│   │       │   ├── cellmarker.cpp
│   │       │   ├── cellmarker.hpp
│   │       │   ├── cellwater.cpp
│   │       │   ├── cellwater.hpp
│   │       │   ├── commands.cpp
│   │       │   ├── commands.hpp
│   │       │   ├── editmode.cpp
│   │       │   ├── editmode.hpp
│   │       │   ├── instancedragmodes.hpp
│   │       │   ├── instancemode.cpp
│   │       │   ├── instancemode.hpp
│   │       │   ├── instancemovemode.cpp
│   │       │   ├── instancemovemode.hpp
│   │       │   ├── instanceselectionmode.cpp
│   │       │   ├── instanceselectionmode.hpp
│   │       │   ├── lighting.cpp
│   │       │   ├── lighting.hpp
│   │       │   ├── lightingbright.cpp
│   │       │   ├── lightingbright.hpp
│   │       │   ├── lightingday.cpp
│   │       │   ├── lightingday.hpp
│   │       │   ├── lightingnight.cpp
│   │       │   ├── lightingnight.hpp
│   │       │   ├── mask.hpp
│   │       │   ├── object.cpp
│   │       │   ├── object.hpp
│   │       │   ├── orbitcameramode.cpp
│   │       │   ├── orbitcameramode.hpp
│   │       │   ├── pagedworldspacewidget.cpp
│   │       │   ├── pagedworldspacewidget.hpp
│   │       │   ├── pathgrid.cpp
│   │       │   ├── pathgrid.hpp
│   │       │   ├── pathgridmode.cpp
│   │       │   ├── pathgridmode.hpp
│   │       │   ├── pathgridselectionmode.cpp
│   │       │   ├── pathgridselectionmode.hpp
│   │       │   ├── previewwidget.cpp
│   │       │   ├── previewwidget.hpp
│   │       │   ├── scenewidget.cpp
│   │       │   ├── scenewidget.hpp
│   │       │   ├── selectionmode.cpp
│   │       │   ├── selectionmode.hpp
│   │       │   ├── tagbase.cpp
│   │       │   ├── tagbase.hpp
│   │       │   ├── terrainselection.cpp
│   │       │   ├── terrainselection.hpp
│   │       │   ├── terrainshapemode.cpp
│   │       │   ├── terrainshapemode.hpp
│   │       │   ├── terrainstorage.cpp
│   │       │   ├── terrainstorage.hpp
│   │       │   ├── terraintexturemode.cpp
│   │       │   ├── terraintexturemode.hpp
│   │       │   ├── unpagedworldspacewidget.cpp
│   │       │   ├── unpagedworldspacewidget.hpp
│   │       │   ├── worldspacewidget.cpp
│   │       │   └── worldspacewidget.hpp
│   │       ├── tools/
│   │       │   ├── merge.cpp
│   │       │   ├── merge.hpp
│   │       │   ├── reportsubview.cpp
│   │       │   ├── reportsubview.hpp
│   │       │   ├── reporttable.cpp
│   │       │   ├── reporttable.hpp
│   │       │   ├── searchbox.cpp
│   │       │   ├── searchbox.hpp
│   │       │   ├── searchsubview.cpp
│   │       │   ├── searchsubview.hpp
│   │       │   ├── subviews.cpp
│   │       │   └── subviews.hpp
│   │       ├── widget/
│   │       │   ├── brushshapes.hpp
│   │       │   ├── coloreditor.cpp
│   │       │   ├── coloreditor.hpp
│   │       │   ├── colorpickerpopup.cpp
│   │       │   ├── colorpickerpopup.hpp
│   │       │   ├── completerpopup.cpp
│   │       │   ├── completerpopup.hpp
│   │       │   ├── droplineedit.cpp
│   │       │   ├── droplineedit.hpp
│   │       │   ├── modebutton.cpp
│   │       │   ├── modebutton.hpp
│   │       │   ├── pushbutton.cpp
│   │       │   ├── pushbutton.hpp
│   │       │   ├── scenetool.cpp
│   │       │   ├── scenetool.hpp
│   │       │   ├── scenetoolbar.cpp
│   │       │   ├── scenetoolbar.hpp
│   │       │   ├── scenetoolmode.cpp
│   │       │   ├── scenetoolmode.hpp
│   │       │   ├── scenetoolrun.cpp
│   │       │   ├── scenetoolrun.hpp
│   │       │   ├── scenetoolshapebrush.cpp
│   │       │   ├── scenetoolshapebrush.hpp
│   │       │   ├── scenetooltexturebrush.cpp
│   │       │   ├── scenetooltexturebrush.hpp
│   │       │   ├── scenetooltoggle.cpp
│   │       │   ├── scenetooltoggle.hpp
│   │       │   ├── scenetooltoggle2.cpp
│   │       │   └── scenetooltoggle2.hpp
│   │       └── world/
│   │           ├── bodypartcreator.cpp
│   │           ├── bodypartcreator.hpp
│   │           ├── cellcreator.cpp
│   │           ├── cellcreator.hpp
│   │           ├── colordelegate.cpp
│   │           ├── colordelegate.hpp
│   │           ├── creator.cpp
│   │           ├── creator.hpp
│   │           ├── datadisplaydelegate.cpp
│   │           ├── datadisplaydelegate.hpp
│   │           ├── dialoguecreator.cpp
│   │           ├── dialoguecreator.hpp
│   │           ├── dialoguespinbox.cpp
│   │           ├── dialoguespinbox.hpp
│   │           ├── dialoguesubview.cpp
│   │           ├── dialoguesubview.hpp
│   │           ├── dragdroputils.cpp
│   │           ├── dragdroputils.hpp
│   │           ├── dragrecordtable.cpp
│   │           ├── dragrecordtable.hpp
│   │           ├── enumdelegate.cpp
│   │           ├── enumdelegate.hpp
│   │           ├── extendedcommandconfigurator.cpp
│   │           ├── extendedcommandconfigurator.hpp
│   │           ├── genericcreator.cpp
│   │           ├── genericcreator.hpp
│   │           ├── globalcreator.cpp
│   │           ├── globalcreator.hpp
│   │           ├── idcompletiondelegate.cpp
│   │           ├── idcompletiondelegate.hpp
│   │           ├── idtypedelegate.cpp
│   │           ├── idtypedelegate.hpp
│   │           ├── idvalidator.cpp
│   │           ├── idvalidator.hpp
│   │           ├── infocreator.cpp
│   │           ├── infocreator.hpp
│   │           ├── landcreator.cpp
│   │           ├── landcreator.hpp
│   │           ├── landtexturecreator.cpp
│   │           ├── landtexturecreator.hpp
│   │           ├── nestedtable.cpp
│   │           ├── nestedtable.hpp
│   │           ├── pathgridcreator.cpp
│   │           ├── pathgridcreator.hpp
│   │           ├── previewsubview.cpp
│   │           ├── previewsubview.hpp
│   │           ├── recordbuttonbar.cpp
│   │           ├── recordbuttonbar.hpp
│   │           ├── recordstatusdelegate.cpp
│   │           ├── recordstatusdelegate.hpp
│   │           ├── referenceablecreator.cpp
│   │           ├── referenceablecreator.hpp
│   │           ├── referencecreator.cpp
│   │           ├── referencecreator.hpp
│   │           ├── regionmap.cpp
│   │           ├── regionmap.hpp
│   │           ├── regionmapsubview.cpp
│   │           ├── regionmapsubview.hpp
│   │           ├── scenesubview.cpp
│   │           ├── scenesubview.hpp
│   │           ├── scriptedit.cpp
│   │           ├── scriptedit.hpp
│   │           ├── scripterrortable.cpp
│   │           ├── scripterrortable.hpp
│   │           ├── scripthighlighter.cpp
│   │           ├── scripthighlighter.hpp
│   │           ├── scriptsubview.cpp
│   │           ├── scriptsubview.hpp
│   │           ├── startscriptcreator.cpp
│   │           ├── startscriptcreator.hpp
│   │           ├── subviews.cpp
│   │           ├── subviews.hpp
│   │           ├── table.cpp
│   │           ├── table.hpp
│   │           ├── tablebottombox.cpp
│   │           ├── tablebottombox.hpp
│   │           ├── tableeditidaction.cpp
│   │           ├── tableeditidaction.hpp
│   │           ├── tablesubview.cpp
│   │           ├── tablesubview.hpp
│   │           ├── util.cpp
│   │           ├── util.hpp
│   │           ├── vartypedelegate.cpp
│   │           └── vartypedelegate.hpp
│   ├── openmw/
│   │   ├── CMakeLists.txt
│   │   ├── android_main.cpp
│   │   ├── doc.hpp
│   │   ├── engine.cpp
│   │   ├── engine.hpp
│   │   ├── main.cpp
│   │   ├── mwbase/
│   │   │   ├── dialoguemanager.hpp
│   │   │   ├── environment.cpp
│   │   │   ├── environment.hpp
│   │   │   ├── inputmanager.hpp
│   │   │   ├── journal.hpp
│   │   │   ├── mechanicsmanager.hpp
│   │   │   ├── rotationflags.hpp
│   │   │   ├── scriptmanager.hpp
│   │   │   ├── soundmanager.hpp
│   │   │   ├── statemanager.hpp
│   │   │   ├── windowmanager.hpp
│   │   │   └── world.hpp
│   │   ├── mwclass/
│   │   │   ├── activator.cpp
│   │   │   ├── activator.hpp
│   │   │   ├── actor.cpp
│   │   │   ├── actor.hpp
│   │   │   ├── apparatus.cpp
│   │   │   ├── apparatus.hpp
│   │   │   ├── armor.cpp
│   │   │   ├── armor.hpp
│   │   │   ├── bodypart.cpp
│   │   │   ├── bodypart.hpp
│   │   │   ├── book.cpp
│   │   │   ├── book.hpp
│   │   │   ├── classes.cpp
│   │   │   ├── classes.hpp
│   │   │   ├── clothing.cpp
│   │   │   ├── clothing.hpp
│   │   │   ├── container.cpp
│   │   │   ├── container.hpp
│   │   │   ├── creature.cpp
│   │   │   ├── creature.hpp
│   │   │   ├── creaturelevlist.cpp
│   │   │   ├── creaturelevlist.hpp
│   │   │   ├── door.cpp
│   │   │   ├── door.hpp
│   │   │   ├── ingredient.cpp
│   │   │   ├── ingredient.hpp
│   │   │   ├── itemlevlist.cpp
│   │   │   ├── itemlevlist.hpp
│   │   │   ├── light.cpp
│   │   │   ├── light.hpp
│   │   │   ├── lockpick.cpp
│   │   │   ├── lockpick.hpp
│   │   │   ├── misc.cpp
│   │   │   ├── misc.hpp
│   │   │   ├── npc.cpp
│   │   │   ├── npc.hpp
│   │   │   ├── potion.cpp
│   │   │   ├── potion.hpp
│   │   │   ├── probe.cpp
│   │   │   ├── probe.hpp
│   │   │   ├── repair.cpp
│   │   │   ├── repair.hpp
│   │   │   ├── static.cpp
│   │   │   ├── static.hpp
│   │   │   ├── weapon.cpp
│   │   │   └── weapon.hpp
│   │   ├── mwdialogue/
│   │   │   ├── dialoguemanagerimp.cpp
│   │   │   ├── dialoguemanagerimp.hpp
│   │   │   ├── filter.cpp
│   │   │   ├── filter.hpp
│   │   │   ├── hypertextparser.cpp
│   │   │   ├── hypertextparser.hpp
│   │   │   ├── journalentry.cpp
│   │   │   ├── journalentry.hpp
│   │   │   ├── journalimp.cpp
│   │   │   ├── journalimp.hpp
│   │   │   ├── keywordsearch.cpp
│   │   │   ├── keywordsearch.hpp
│   │   │   ├── quest.cpp
│   │   │   ├── quest.hpp
│   │   │   ├── scripttest.cpp
│   │   │   ├── scripttest.hpp
│   │   │   ├── selectwrapper.cpp
│   │   │   ├── selectwrapper.hpp
│   │   │   ├── topic.cpp
│   │   │   └── topic.hpp
│   │   ├── mwgui/
│   │   │   ├── alchemywindow.cpp
│   │   │   ├── alchemywindow.hpp
│   │   │   ├── backgroundimage.cpp
│   │   │   ├── backgroundimage.hpp
│   │   │   ├── birth.cpp
│   │   │   ├── birth.hpp
│   │   │   ├── bookpage.cpp
│   │   │   ├── bookpage.hpp
│   │   │   ├── bookwindow.cpp
│   │   │   ├── bookwindow.hpp
│   │   │   ├── charactercreation.cpp
│   │   │   ├── charactercreation.hpp
│   │   │   ├── class.cpp
│   │   │   ├── class.hpp
│   │   │   ├── companionitemmodel.cpp
│   │   │   ├── companionitemmodel.hpp
│   │   │   ├── companionwindow.cpp
│   │   │   ├── companionwindow.hpp
│   │   │   ├── confirmationdialog.cpp
│   │   │   ├── confirmationdialog.hpp
│   │   │   ├── console.cpp
│   │   │   ├── console.hpp
│   │   │   ├── container.cpp
│   │   │   ├── container.hpp
│   │   │   ├── containeritemmodel.cpp
│   │   │   ├── containeritemmodel.hpp
│   │   │   ├── controllers.cpp
│   │   │   ├── controllers.hpp
│   │   │   ├── countdialog.cpp
│   │   │   ├── countdialog.hpp
│   │   │   ├── cursor.cpp
│   │   │   ├── cursor.hpp
│   │   │   ├── debugwindow.cpp
│   │   │   ├── debugwindow.hpp
│   │   │   ├── dialogue.cpp
│   │   │   ├── dialogue.hpp
│   │   │   ├── draganddrop.cpp
│   │   │   ├── draganddrop.hpp
│   │   │   ├── enchantingdialog.cpp
│   │   │   ├── enchantingdialog.hpp
│   │   │   ├── exposedwindow.cpp
│   │   │   ├── exposedwindow.hpp
│   │   │   ├── formatting.cpp
│   │   │   ├── formatting.hpp
│   │   │   ├── hud.cpp
│   │   │   ├── hud.hpp
│   │   │   ├── inventoryitemmodel.cpp
│   │   │   ├── inventoryitemmodel.hpp
│   │   │   ├── inventorywindow.cpp
│   │   │   ├── inventorywindow.hpp
│   │   │   ├── itemchargeview.cpp
│   │   │   ├── itemchargeview.hpp
│   │   │   ├── itemmodel.cpp
│   │   │   ├── itemmodel.hpp
│   │   │   ├── itemselection.cpp
│   │   │   ├── itemselection.hpp
│   │   │   ├── itemview.cpp
│   │   │   ├── itemview.hpp
│   │   │   ├── itemwidget.cpp
│   │   │   ├── itemwidget.hpp
│   │   │   ├── jailscreen.cpp
│   │   │   ├── jailscreen.hpp
│   │   │   ├── journalbooks.cpp
│   │   │   ├── journalbooks.hpp
│   │   │   ├── journalviewmodel.cpp
│   │   │   ├── journalviewmodel.hpp
│   │   │   ├── journalwindow.cpp
│   │   │   ├── journalwindow.hpp
│   │   │   ├── keyboardnavigation.cpp
│   │   │   ├── keyboardnavigation.hpp
│   │   │   ├── layout.cpp
│   │   │   ├── layout.hpp
│   │   │   ├── levelupdialog.cpp
│   │   │   ├── levelupdialog.hpp
│   │   │   ├── loadingscreen.cpp
│   │   │   ├── loadingscreen.hpp
│   │   │   ├── mainmenu.cpp
│   │   │   ├── mainmenu.hpp
│   │   │   ├── mapwindow.cpp
│   │   │   ├── mapwindow.hpp
│   │   │   ├── merchantrepair.cpp
│   │   │   ├── merchantrepair.hpp
│   │   │   ├── messagebox.cpp
│   │   │   ├── messagebox.hpp
│   │   │   ├── mode.hpp
│   │   │   ├── pickpocketitemmodel.cpp
│   │   │   ├── pickpocketitemmodel.hpp
│   │   │   ├── quickkeysmenu.cpp
│   │   │   ├── quickkeysmenu.hpp
│   │   │   ├── race.cpp
│   │   │   ├── race.hpp
│   │   │   ├── recharge.cpp
│   │   │   ├── recharge.hpp
│   │   │   ├── referenceinterface.cpp
│   │   │   ├── referenceinterface.hpp
│   │   │   ├── repair.cpp
│   │   │   ├── repair.hpp
│   │   │   ├── resourceskin.cpp
│   │   │   ├── resourceskin.hpp
│   │   │   ├── review.cpp
│   │   │   ├── review.hpp
│   │   │   ├── savegamedialog.cpp
│   │   │   ├── savegamedialog.hpp
│   │   │   ├── screenfader.cpp
│   │   │   ├── screenfader.hpp
│   │   │   ├── scrollwindow.cpp
│   │   │   ├── scrollwindow.hpp
│   │   │   ├── settingswindow.cpp
│   │   │   ├── settingswindow.hpp
│   │   │   ├── sortfilteritemmodel.cpp
│   │   │   ├── sortfilteritemmodel.hpp
│   │   │   ├── soulgemdialog.cpp
│   │   │   ├── soulgemdialog.hpp
│   │   │   ├── spellbuyingwindow.cpp
│   │   │   ├── spellbuyingwindow.hpp
│   │   │   ├── spellcreationdialog.cpp
│   │   │   ├── spellcreationdialog.hpp
│   │   │   ├── spellicons.cpp
│   │   │   ├── spellicons.hpp
│   │   │   ├── spellmodel.cpp
│   │   │   ├── spellmodel.hpp
│   │   │   ├── spellview.cpp
│   │   │   ├── spellview.hpp
│   │   │   ├── spellwindow.cpp
│   │   │   ├── spellwindow.hpp
│   │   │   ├── statswatcher.cpp
│   │   │   ├── statswatcher.hpp
│   │   │   ├── statswindow.cpp
│   │   │   ├── statswindow.hpp
│   │   │   ├── textcolours.cpp
│   │   │   ├── textcolours.hpp
│   │   │   ├── textinput.cpp
│   │   │   ├── textinput.hpp
│   │   │   ├── timeadvancer.cpp
│   │   │   ├── timeadvancer.hpp
│   │   │   ├── tooltips.cpp
│   │   │   ├── tooltips.hpp
│   │   │   ├── tradeitemmodel.cpp
│   │   │   ├── tradeitemmodel.hpp
│   │   │   ├── tradewindow.cpp
│   │   │   ├── tradewindow.hpp
│   │   │   ├── trainingwindow.cpp
│   │   │   ├── trainingwindow.hpp
│   │   │   ├── travelwindow.cpp
│   │   │   ├── travelwindow.hpp
│   │   │   ├── videowidget.cpp
│   │   │   ├── videowidget.hpp
│   │   │   ├── waitdialog.cpp
│   │   │   ├── waitdialog.hpp
│   │   │   ├── widgets.cpp
│   │   │   ├── widgets.hpp
│   │   │   ├── windowbase.cpp
│   │   │   ├── windowbase.hpp
│   │   │   ├── windowmanagerimp.cpp
│   │   │   ├── windowmanagerimp.hpp
│   │   │   ├── windowpinnablebase.cpp
│   │   │   └── windowpinnablebase.hpp
│   │   ├── mwinput/
│   │   │   ├── actionmanager.cpp
│   │   │   ├── actionmanager.hpp
│   │   │   ├── actions.hpp
│   │   │   ├── bindingsmanager.cpp
│   │   │   ├── bindingsmanager.hpp
│   │   │   ├── controllermanager.cpp
│   │   │   ├── controllermanager.hpp
│   │   │   ├── controlswitch.cpp
│   │   │   ├── controlswitch.hpp
│   │   │   ├── inputmanagerimp.cpp
│   │   │   ├── inputmanagerimp.hpp
│   │   │   ├── keyboardmanager.cpp
│   │   │   ├── keyboardmanager.hpp
│   │   │   ├── mousemanager.cpp
│   │   │   ├── mousemanager.hpp
│   │   │   ├── sdlmappings.cpp
│   │   │   ├── sdlmappings.hpp
│   │   │   ├── sensormanager.cpp
│   │   │   └── sensormanager.hpp
│   │   ├── mwmechanics/
│   │   │   ├── activespells.cpp
│   │   │   ├── activespells.hpp
│   │   │   ├── actor.cpp
│   │   │   ├── actor.hpp
│   │   │   ├── actors.cpp
│   │   │   ├── actors.hpp
│   │   │   ├── actorutil.cpp
│   │   │   ├── actorutil.hpp
│   │   │   ├── aiactivate.cpp
│   │   │   ├── aiactivate.hpp
│   │   │   ├── aiavoiddoor.cpp
│   │   │   ├── aiavoiddoor.hpp
│   │   │   ├── aibreathe.cpp
│   │   │   ├── aibreathe.hpp
│   │   │   ├── aicast.cpp
│   │   │   ├── aicast.hpp
│   │   │   ├── aicombat.cpp
│   │   │   ├── aicombat.hpp
│   │   │   ├── aicombataction.cpp
│   │   │   ├── aicombataction.hpp
│   │   │   ├── aiescort.cpp
│   │   │   ├── aiescort.hpp
│   │   │   ├── aiface.cpp
│   │   │   ├── aiface.hpp
│   │   │   ├── aifollow.cpp
│   │   │   ├── aifollow.hpp
│   │   │   ├── aipackage.cpp
│   │   │   ├── aipackage.hpp
│   │   │   ├── aipackagetypeid.hpp
│   │   │   ├── aipursue.cpp
│   │   │   ├── aipursue.hpp
│   │   │   ├── aisequence.cpp
│   │   │   ├── aisequence.hpp
│   │   │   ├── aistate.hpp
│   │   │   ├── aitimer.hpp
│   │   │   ├── aitravel.cpp
│   │   │   ├── aitravel.hpp
│   │   │   ├── aiwander.cpp
│   │   │   ├── aiwander.hpp
│   │   │   ├── alchemy.cpp
│   │   │   ├── alchemy.hpp
│   │   │   ├── autocalcspell.cpp
│   │   │   ├── autocalcspell.hpp
│   │   │   ├── character.cpp
│   │   │   ├── character.hpp
│   │   │   ├── combat.cpp
│   │   │   ├── combat.hpp
│   │   │   ├── creaturestats.cpp
│   │   │   ├── creaturestats.hpp
│   │   │   ├── difficultyscaling.cpp
│   │   │   ├── difficultyscaling.hpp
│   │   │   ├── disease.hpp
│   │   │   ├── drawstate.hpp
│   │   │   ├── enchanting.cpp
│   │   │   ├── enchanting.hpp
│   │   │   ├── levelledlist.hpp
│   │   │   ├── linkedeffects.cpp
│   │   │   ├── linkedeffects.hpp
│   │   │   ├── magiceffects.cpp
│   │   │   ├── magiceffects.hpp
│   │   │   ├── mechanicsmanagerimp.cpp
│   │   │   ├── mechanicsmanagerimp.hpp
│   │   │   ├── movement.hpp
│   │   │   ├── npcstats.cpp
│   │   │   ├── npcstats.hpp
│   │   │   ├── objects.cpp
│   │   │   ├── objects.hpp
│   │   │   ├── obstacle.cpp
│   │   │   ├── obstacle.hpp
│   │   │   ├── pathfinding.cpp
│   │   │   ├── pathfinding.hpp
│   │   │   ├── pathgrid.cpp
│   │   │   ├── pathgrid.hpp
│   │   │   ├── pickpocket.cpp
│   │   │   ├── pickpocket.hpp
│   │   │   ├── recharge.cpp
│   │   │   ├── recharge.hpp
│   │   │   ├── repair.cpp
│   │   │   ├── repair.hpp
│   │   │   ├── security.cpp
│   │   │   ├── security.hpp
│   │   │   ├── spellabsorption.cpp
│   │   │   ├── spellabsorption.hpp
│   │   │   ├── spellcasting.cpp
│   │   │   ├── spellcasting.hpp
│   │   │   ├── spelllist.cpp
│   │   │   ├── spelllist.hpp
│   │   │   ├── spellpriority.cpp
│   │   │   ├── spellpriority.hpp
│   │   │   ├── spellresistance.cpp
│   │   │   ├── spellresistance.hpp
│   │   │   ├── spells.cpp
│   │   │   ├── spells.hpp
│   │   │   ├── spellutil.cpp
│   │   │   ├── spellutil.hpp
│   │   │   ├── stat.cpp
│   │   │   ├── stat.hpp
│   │   │   ├── steering.cpp
│   │   │   ├── steering.hpp
│   │   │   ├── summoning.cpp
│   │   │   ├── summoning.hpp
│   │   │   ├── tickableeffects.cpp
│   │   │   ├── tickableeffects.hpp
│   │   │   ├── trading.cpp
│   │   │   ├── trading.hpp
│   │   │   ├── typedaipackage.hpp
│   │   │   ├── weaponpriority.cpp
│   │   │   ├── weaponpriority.hpp
│   │   │   ├── weapontype.cpp
│   │   │   └── weapontype.hpp
│   │   ├── mwmp/
│   │   │   ├── ActorList.cpp
│   │   │   ├── ActorList.hpp
│   │   │   ├── Cell.cpp
│   │   │   ├── Cell.hpp
│   │   │   ├── CellController.cpp
│   │   │   ├── CellController.hpp
│   │   │   ├── DedicatedActor.cpp
│   │   │   ├── DedicatedActor.hpp
│   │   │   ├── DedicatedPlayer.cpp
│   │   │   ├── DedicatedPlayer.hpp
│   │   │   ├── GUI/
│   │   │   │   ├── GUIChat.cpp
│   │   │   │   ├── GUIChat.hpp
│   │   │   │   ├── GUIDialogList.cpp
│   │   │   │   ├── GUIDialogList.hpp
│   │   │   │   ├── GUILogin.cpp
│   │   │   │   ├── GUILogin.hpp
│   │   │   │   ├── PlayerMarkerCollection.cpp
│   │   │   │   ├── PlayerMarkerCollection.hpp
│   │   │   │   ├── TextInputDialog.cpp
│   │   │   │   └── TextInputDialog.hpp
│   │   │   ├── GUIController.cpp
│   │   │   ├── GUIController.hpp
│   │   │   ├── LocalActor.cpp
│   │   │   ├── LocalActor.hpp
│   │   │   ├── LocalPlayer.cpp
│   │   │   ├── LocalPlayer.hpp
│   │   │   ├── LocalSystem.cpp
│   │   │   ├── LocalSystem.hpp
│   │   │   ├── Main.cpp
│   │   │   ├── Main.hpp
│   │   │   ├── MechanicsHelper.cpp
│   │   │   ├── MechanicsHelper.hpp
│   │   │   ├── Networking.cpp
│   │   │   ├── Networking.hpp
│   │   │   ├── ObjectList.cpp
│   │   │   ├── ObjectList.hpp
│   │   │   ├── PlayerList.cpp
│   │   │   ├── PlayerList.hpp
│   │   │   ├── RecordHelper.cpp
│   │   │   ├── RecordHelper.hpp
│   │   │   ├── ScriptController.cpp
│   │   │   ├── ScriptController.hpp
│   │   │   ├── Worldstate.cpp
│   │   │   ├── Worldstate.hpp
│   │   │   └── processors/
│   │   │       ├── ActorProcessor.cpp
│   │   │       ├── ActorProcessor.hpp
│   │   │       ├── BaseClientPacketProcessor.cpp
│   │   │       ├── BaseClientPacketProcessor.hpp
│   │   │       ├── ObjectProcessor.cpp
│   │   │       ├── ObjectProcessor.hpp
│   │   │       ├── PlayerProcessor.cpp
│   │   │       ├── PlayerProcessor.hpp
│   │   │       ├── ProcessorInitializer.cpp
│   │   │       ├── ProcessorInitializer.hpp
│   │   │       ├── SystemProcessor.cpp
│   │   │       ├── SystemProcessor.hpp
│   │   │       ├── WorldstateProcessor.cpp
│   │   │       ├── WorldstateProcessor.hpp
│   │   │       ├── actor/
│   │   │       │   ├── ProcessorActorAI.hpp
│   │   │       │   ├── ProcessorActorAnimFlags.hpp
│   │   │       │   ├── ProcessorActorAnimPlay.hpp
│   │   │       │   ├── ProcessorActorAttack.hpp
│   │   │       │   ├── ProcessorActorAuthority.hpp
│   │   │       │   ├── ProcessorActorCast.hpp
│   │   │       │   ├── ProcessorActorCellChange.hpp
│   │   │       │   ├── ProcessorActorDeath.hpp
│   │   │       │   ├── ProcessorActorEquipment.hpp
│   │   │       │   ├── ProcessorActorList.hpp
│   │   │       │   ├── ProcessorActorPosition.hpp
│   │   │       │   ├── ProcessorActorSpeech.hpp
│   │   │       │   ├── ProcessorActorSpellsActive.hpp
│   │   │       │   ├── ProcessorActorStatsDynamic.hpp
│   │   │       │   └── ProcessorActorTest.hpp
│   │   │       ├── object/
│   │   │       │   ├── BaseObjectProcessor.hpp
│   │   │       │   ├── ProcessorClientScriptLocal.hpp
│   │   │       │   ├── ProcessorConsoleCommand.hpp
│   │   │       │   ├── ProcessorContainer.hpp
│   │   │       │   ├── ProcessorDoorDestination.hpp
│   │   │       │   ├── ProcessorDoorState.hpp
│   │   │       │   ├── ProcessorMusicPlay.hpp
│   │   │       │   ├── ProcessorObjectActivate.hpp
│   │   │       │   ├── ProcessorObjectAnimPlay.hpp
│   │   │       │   ├── ProcessorObjectAttach.hpp
│   │   │       │   ├── ProcessorObjectDelete.hpp
│   │   │       │   ├── ProcessorObjectDialogueChoice.hpp
│   │   │       │   ├── ProcessorObjectHit.hpp
│   │   │       │   ├── ProcessorObjectLock.hpp
│   │   │       │   ├── ProcessorObjectMiscellaneous.hpp
│   │   │       │   ├── ProcessorObjectMove.hpp
│   │   │       │   ├── ProcessorObjectPlace.hpp
│   │   │       │   ├── ProcessorObjectRestock.hpp
│   │   │       │   ├── ProcessorObjectRotate.hpp
│   │   │       │   ├── ProcessorObjectScale.hpp
│   │   │       │   ├── ProcessorObjectSound.hpp
│   │   │       │   ├── ProcessorObjectSpawn.hpp
│   │   │       │   ├── ProcessorObjectState.hpp
│   │   │       │   ├── ProcessorObjectTrap.hpp
│   │   │       │   ├── ProcessorScriptMemberShort.hpp
│   │   │       │   └── ProcessorVideoPlay.hpp
│   │   │       ├── player/
│   │   │       │   ├── ProcessorChatMessage.hpp
│   │   │       │   ├── ProcessorGUIMessageBox.hpp
│   │   │       │   ├── ProcessorGameSettings.hpp
│   │   │       │   ├── ProcessorPlayerAlly.hpp
│   │   │       │   ├── ProcessorPlayerAnimFlags.hpp
│   │   │       │   ├── ProcessorPlayerAnimPlay.hpp
│   │   │       │   ├── ProcessorPlayerAttack.hpp
│   │   │       │   ├── ProcessorPlayerAttribute.hpp
│   │   │       │   ├── ProcessorPlayerBaseInfo.hpp
│   │   │       │   ├── ProcessorPlayerBehavior.hpp
│   │   │       │   ├── ProcessorPlayerBook.hpp
│   │   │       │   ├── ProcessorPlayerBounty.hpp
│   │   │       │   ├── ProcessorPlayerCast.hpp
│   │   │       │   ├── ProcessorPlayerCellChange.hpp
│   │   │       │   ├── ProcessorPlayerCellState.hpp
│   │   │       │   ├── ProcessorPlayerCharClass.hpp
│   │   │       │   ├── ProcessorPlayerCharGen.hpp
│   │   │       │   ├── ProcessorPlayerCooldowns.hpp
│   │   │       │   ├── ProcessorPlayerDeath.hpp
│   │   │       │   ├── ProcessorPlayerDisposition.hpp
│   │   │       │   ├── ProcessorPlayerEquipment.hpp
│   │   │       │   ├── ProcessorPlayerFaction.hpp
│   │   │       │   ├── ProcessorPlayerInput.hpp
│   │   │       │   ├── ProcessorPlayerInventory.hpp
│   │   │       │   ├── ProcessorPlayerItemUse.hpp
│   │   │       │   ├── ProcessorPlayerJail.hpp
│   │   │       │   ├── ProcessorPlayerJournal.hpp
│   │   │       │   ├── ProcessorPlayerLevel.hpp
│   │   │       │   ├── ProcessorPlayerMiscellaneous.hpp
│   │   │       │   ├── ProcessorPlayerMomentum.hpp
│   │   │       │   ├── ProcessorPlayerPosition.hpp
│   │   │       │   ├── ProcessorPlayerQuickKeys.hpp
│   │   │       │   ├── ProcessorPlayerReputation.hpp
│   │   │       │   ├── ProcessorPlayerRest.hpp
│   │   │       │   ├── ProcessorPlayerResurrect.hpp
│   │   │       │   ├── ProcessorPlayerShapeshift.hpp
│   │   │       │   ├── ProcessorPlayerSkill.hpp
│   │   │       │   ├── ProcessorPlayerSpeech.hpp
│   │   │       │   ├── ProcessorPlayerSpellbook.hpp
│   │   │       │   ├── ProcessorPlayerSpellsActive.hpp
│   │   │       │   ├── ProcessorPlayerStatsDynamic.hpp
│   │   │       │   ├── ProcessorPlayerTopic.hpp
│   │   │       │   └── ProcessorUserDisconnected.hpp
│   │   │       ├── system/
│   │   │       │   └── ProcessorSystemHandshake.hpp
│   │   │       └── worldstate/
│   │   │           ├── ProcessorCellReset.hpp
│   │   │           ├── ProcessorClientScriptGlobal.hpp
│   │   │           ├── ProcessorClientScriptSettings.hpp
│   │   │           ├── ProcessorRecordDynamic.hpp
│   │   │           ├── ProcessorWorldCollisionOverride.hpp
│   │   │           ├── ProcessorWorldDestinationOverride.hpp
│   │   │           ├── ProcessorWorldKillCount.hpp
│   │   │           ├── ProcessorWorldMap.hpp
│   │   │           ├── ProcessorWorldRegionAuthority.hpp
│   │   │           ├── ProcessorWorldTime.hpp
│   │   │           └── ProcessorWorldWeather.hpp
│   │   ├── mwphysics/
│   │   │   ├── actor.cpp
│   │   │   ├── actor.hpp
│   │   │   ├── actorconvexcallback.cpp
│   │   │   ├── actorconvexcallback.hpp
│   │   │   ├── closestnotmerayresultcallback.cpp
│   │   │   ├── closestnotmerayresultcallback.hpp
│   │   │   ├── collisiontype.hpp
│   │   │   ├── constants.hpp
│   │   │   ├── contacttestresultcallback.cpp
│   │   │   ├── contacttestresultcallback.hpp
│   │   │   ├── contacttestwrapper.cpp
│   │   │   ├── contacttestwrapper.h
│   │   │   ├── deepestnotmecontacttestresultcallback.cpp
│   │   │   ├── deepestnotmecontacttestresultcallback.hpp
│   │   │   ├── hasspherecollisioncallback.hpp
│   │   │   ├── heightfield.cpp
│   │   │   ├── heightfield.hpp
│   │   │   ├── movementsolver.cpp
│   │   │   ├── movementsolver.hpp
│   │   │   ├── mtphysics.cpp
│   │   │   ├── mtphysics.hpp
│   │   │   ├── object.cpp
│   │   │   ├── object.hpp
│   │   │   ├── physicssystem.cpp
│   │   │   ├── physicssystem.hpp
│   │   │   ├── projectile.cpp
│   │   │   ├── projectile.hpp
│   │   │   ├── projectileconvexcallback.cpp
│   │   │   ├── projectileconvexcallback.hpp
│   │   │   ├── ptrholder.hpp
│   │   │   ├── raycasting.hpp
│   │   │   ├── stepper.cpp
│   │   │   ├── stepper.hpp
│   │   │   ├── trace.cpp
│   │   │   └── trace.h
│   │   ├── mwrender/
│   │   │   ├── .gitignore
│   │   │   ├── actoranimation.cpp
│   │   │   ├── actoranimation.hpp
│   │   │   ├── actorspaths.cpp
│   │   │   ├── actorspaths.hpp
│   │   │   ├── animation.cpp
│   │   │   ├── animation.hpp
│   │   │   ├── bulletdebugdraw.cpp
│   │   │   ├── bulletdebugdraw.hpp
│   │   │   ├── camera.cpp
│   │   │   ├── camera.hpp
│   │   │   ├── cell.hpp
│   │   │   ├── characterpreview.cpp
│   │   │   ├── characterpreview.hpp
│   │   │   ├── creatureanimation.cpp
│   │   │   ├── creatureanimation.hpp
│   │   │   ├── effectmanager.cpp
│   │   │   ├── effectmanager.hpp
│   │   │   ├── fogmanager.cpp
│   │   │   ├── fogmanager.hpp
│   │   │   ├── globalmap.cpp
│   │   │   ├── globalmap.hpp
│   │   │   ├── groundcover.cpp
│   │   │   ├── groundcover.hpp
│   │   │   ├── landmanager.cpp
│   │   │   ├── landmanager.hpp
│   │   │   ├── localmap.cpp
│   │   │   ├── localmap.hpp
│   │   │   ├── navmesh.cpp
│   │   │   ├── navmesh.hpp
│   │   │   ├── npcanimation.cpp
│   │   │   ├── npcanimation.hpp
│   │   │   ├── objectpaging.cpp
│   │   │   ├── objectpaging.hpp
│   │   │   ├── objects.cpp
│   │   │   ├── objects.hpp
│   │   │   ├── pathgrid.cpp
│   │   │   ├── pathgrid.hpp
│   │   │   ├── recastmesh.cpp
│   │   │   ├── recastmesh.hpp
│   │   │   ├── renderbin.hpp
│   │   │   ├── renderinginterface.hpp
│   │   │   ├── renderingmanager.cpp
│   │   │   ├── renderingmanager.hpp
│   │   │   ├── rendermode.hpp
│   │   │   ├── ripplesimulation.cpp
│   │   │   ├── ripplesimulation.hpp
│   │   │   ├── rotatecontroller.cpp
│   │   │   ├── rotatecontroller.hpp
│   │   │   ├── screenshotmanager.cpp
│   │   │   ├── screenshotmanager.hpp
│   │   │   ├── sky.cpp
│   │   │   ├── sky.hpp
│   │   │   ├── terrainstorage.cpp
│   │   │   ├── terrainstorage.hpp
│   │   │   ├── util.cpp
│   │   │   ├── util.hpp
│   │   │   ├── viewovershoulder.cpp
│   │   │   ├── viewovershoulder.hpp
│   │   │   ├── vismask.hpp
│   │   │   ├── water.cpp
│   │   │   ├── water.hpp
│   │   │   ├── weaponanimation.cpp
│   │   │   └── weaponanimation.hpp
│   │   ├── mwscript/
│   │   │   ├── aiextensions.cpp
│   │   │   ├── aiextensions.hpp
│   │   │   ├── animationextensions.cpp
│   │   │   ├── animationextensions.hpp
│   │   │   ├── cellextensions.cpp
│   │   │   ├── cellextensions.hpp
│   │   │   ├── compilercontext.cpp
│   │   │   ├── compilercontext.hpp
│   │   │   ├── consoleextensions.cpp
│   │   │   ├── consoleextensions.hpp
│   │   │   ├── containerextensions.cpp
│   │   │   ├── containerextensions.hpp
│   │   │   ├── controlextensions.cpp
│   │   │   ├── controlextensions.hpp
│   │   │   ├── dialogueextensions.cpp
│   │   │   ├── dialogueextensions.hpp
│   │   │   ├── docs/
│   │   │   │   └── vmformat.txt
│   │   │   ├── extensions.cpp
│   │   │   ├── extensions.hpp
│   │   │   ├── globalscripts.cpp
│   │   │   ├── globalscripts.hpp
│   │   │   ├── guiextensions.cpp
│   │   │   ├── guiextensions.hpp
│   │   │   ├── interpretercontext.cpp
│   │   │   ├── interpretercontext.hpp
│   │   │   ├── locals.cpp
│   │   │   ├── locals.hpp
│   │   │   ├── miscextensions.cpp
│   │   │   ├── miscextensions.hpp
│   │   │   ├── ref.cpp
│   │   │   ├── ref.hpp
│   │   │   ├── scriptmanagerimp.cpp
│   │   │   ├── scriptmanagerimp.hpp
│   │   │   ├── skyextensions.cpp
│   │   │   ├── skyextensions.hpp
│   │   │   ├── soundextensions.cpp
│   │   │   ├── soundextensions.hpp
│   │   │   ├── statsextensions.cpp
│   │   │   ├── statsextensions.hpp
│   │   │   ├── transformationextensions.cpp
│   │   │   ├── transformationextensions.hpp
│   │   │   ├── userextensions.cpp
│   │   │   └── userextensions.hpp
│   │   ├── mwsound/
│   │   │   ├── alext.h
│   │   │   ├── efx-presets.h
│   │   │   ├── efx.h
│   │   │   ├── ffmpeg_decoder.cpp
│   │   │   ├── ffmpeg_decoder.hpp
│   │   │   ├── loudness.cpp
│   │   │   ├── loudness.hpp
│   │   │   ├── movieaudiofactory.cpp
│   │   │   ├── movieaudiofactory.hpp
│   │   │   ├── openal_output.cpp
│   │   │   ├── openal_output.hpp
│   │   │   ├── regionsoundselector.cpp
│   │   │   ├── regionsoundselector.hpp
│   │   │   ├── sound.hpp
│   │   │   ├── sound_buffer.cpp
│   │   │   ├── sound_buffer.hpp
│   │   │   ├── sound_decoder.hpp
│   │   │   ├── sound_output.hpp
│   │   │   ├── soundmanagerimp.cpp
│   │   │   ├── soundmanagerimp.hpp
│   │   │   ├── type.hpp
│   │   │   ├── volumesettings.cpp
│   │   │   ├── volumesettings.hpp
│   │   │   ├── watersoundupdater.cpp
│   │   │   └── watersoundupdater.hpp
│   │   ├── mwstate/
│   │   │   ├── character.cpp
│   │   │   ├── character.hpp
│   │   │   ├── charactermanager.cpp
│   │   │   ├── charactermanager.hpp
│   │   │   ├── quicksavemanager.cpp
│   │   │   ├── quicksavemanager.hpp
│   │   │   ├── statemanagerimp.cpp
│   │   │   └── statemanagerimp.hpp
│   │   └── mwworld/
│   │       ├── action.cpp
│   │       ├── action.hpp
│   │       ├── actionalchemy.cpp
│   │       ├── actionalchemy.hpp
│   │       ├── actionapply.cpp
│   │       ├── actionapply.hpp
│   │       ├── actiondoor.cpp
│   │       ├── actiondoor.hpp
│   │       ├── actioneat.cpp
│   │       ├── actioneat.hpp
│   │       ├── actionequip.cpp
│   │       ├── actionequip.hpp
│   │       ├── actionharvest.cpp
│   │       ├── actionharvest.hpp
│   │       ├── actionopen.cpp
│   │       ├── actionopen.hpp
│   │       ├── actionread.cpp
│   │       ├── actionread.hpp
│   │       ├── actionrepair.cpp
│   │       ├── actionrepair.hpp
│   │       ├── actionsoulgem.cpp
│   │       ├── actionsoulgem.hpp
│   │       ├── actiontake.cpp
│   │       ├── actiontake.hpp
│   │       ├── actiontalk.cpp
│   │       ├── actiontalk.hpp
│   │       ├── actionteleport.cpp
│   │       ├── actionteleport.hpp
│   │       ├── actiontrap.cpp
│   │       ├── actiontrap.hpp
│   │       ├── cellpreloader.cpp
│   │       ├── cellpreloader.hpp
│   │       ├── cellref.cpp
│   │       ├── cellref.hpp
│   │       ├── cellreflist.hpp
│   │       ├── cells.cpp
│   │       ├── cells.hpp
│   │       ├── cellstore.cpp
│   │       ├── cellstore.hpp
│   │       ├── cellvisitors.hpp
│   │       ├── class.cpp
│   │       ├── class.hpp
│   │       ├── containerstore.cpp
│   │       ├── containerstore.hpp
│   │       ├── contentloader.hpp
│   │       ├── customdata.cpp
│   │       ├── customdata.hpp
│   │       ├── datetimemanager.cpp
│   │       ├── datetimemanager.hpp
│   │       ├── doorstate.hpp
│   │       ├── esmloader.cpp
│   │       ├── esmloader.hpp
│   │       ├── esmstore.cpp
│   │       ├── esmstore.hpp
│   │       ├── failedaction.cpp
│   │       ├── failedaction.hpp
│   │       ├── globals.cpp
│   │       ├── globals.hpp
│   │       ├── inventorystore.cpp
│   │       ├── inventorystore.hpp
│   │       ├── livecellref.cpp
│   │       ├── livecellref.hpp
│   │       ├── localscripts.cpp
│   │       ├── localscripts.hpp
│   │       ├── manualref.cpp
│   │       ├── manualref.hpp
│   │       ├── nullaction.hpp
│   │       ├── player.cpp
│   │       ├── player.hpp
│   │       ├── projectilemanager.cpp
│   │       ├── projectilemanager.hpp
│   │       ├── ptr.cpp
│   │       ├── ptr.hpp
│   │       ├── recordcmp.hpp
│   │       ├── refdata.cpp
│   │       ├── refdata.hpp
│   │       ├── scene.cpp
│   │       ├── scene.hpp
│   │       ├── store.cpp
│   │       ├── store.hpp
│   │       ├── timestamp.cpp
│   │       ├── timestamp.hpp
│   │       ├── weather.cpp
│   │       ├── weather.hpp
│   │       ├── worldimp.cpp
│   │       └── worldimp.hpp
│   ├── openmw-mp/
│   │   ├── CMakeLists.txt
│   │   ├── Cell.cpp
│   │   ├── Cell.hpp
│   │   ├── CellController.cpp
│   │   ├── CellController.hpp
│   │   ├── MasterClient.cpp
│   │   ├── MasterClient.hpp
│   │   ├── Networking.cpp
│   │   ├── Networking.hpp
│   │   ├── Player.cpp
│   │   ├── Player.hpp
│   │   ├── Script/
│   │   │   ├── API/
│   │   │   │   ├── PublicFnAPI.cpp
│   │   │   │   ├── PublicFnAPI.hpp
│   │   │   │   ├── TimerAPI.cpp
│   │   │   │   └── TimerAPI.hpp
│   │   │   ├── Functions/
│   │   │   │   ├── Actors.cpp
│   │   │   │   ├── Actors.hpp
│   │   │   │   ├── Books.cpp
│   │   │   │   ├── Books.hpp
│   │   │   │   ├── Cells.cpp
│   │   │   │   ├── Cells.hpp
│   │   │   │   ├── CharClass.cpp
│   │   │   │   ├── CharClass.hpp
│   │   │   │   ├── Chat.cpp
│   │   │   │   ├── Chat.hpp
│   │   │   │   ├── Dialogue.cpp
│   │   │   │   ├── Dialogue.hpp
│   │   │   │   ├── Factions.cpp
│   │   │   │   ├── Factions.hpp
│   │   │   │   ├── GUI.cpp
│   │   │   │   ├── GUI.hpp
│   │   │   │   ├── Items.cpp
│   │   │   │   ├── Items.hpp
│   │   │   │   ├── Mechanics.cpp
│   │   │   │   ├── Mechanics.hpp
│   │   │   │   ├── Miscellaneous.cpp
│   │   │   │   ├── Miscellaneous.hpp
│   │   │   │   ├── Objects.cpp
│   │   │   │   ├── Objects.hpp
│   │   │   │   ├── Positions.cpp
│   │   │   │   ├── Positions.hpp
│   │   │   │   ├── Quests.cpp
│   │   │   │   ├── Quests.hpp
│   │   │   │   ├── RecordsDynamic.cpp
│   │   │   │   ├── RecordsDynamic.hpp
│   │   │   │   ├── Server.cpp
│   │   │   │   ├── Server.hpp
│   │   │   │   ├── Settings.cpp
│   │   │   │   ├── Settings.hpp
│   │   │   │   ├── Shapeshift.cpp
│   │   │   │   ├── Shapeshift.hpp
│   │   │   │   ├── Spells.cpp
│   │   │   │   ├── Spells.hpp
│   │   │   │   ├── Stats.cpp
│   │   │   │   ├── Stats.hpp
│   │   │   │   ├── Timer.cpp
│   │   │   │   ├── Worldstate.cpp
│   │   │   │   └── Worldstate.hpp
│   │   │   ├── LangLua/
│   │   │   │   ├── LangLua.cpp
│   │   │   │   ├── LangLua.hpp
│   │   │   │   └── LuaFunc.cpp
│   │   │   ├── LangNative/
│   │   │   │   ├── LangNative.cpp
│   │   │   │   └── LangNative.hpp
│   │   │   ├── Language.hpp
│   │   │   ├── Platform.hpp
│   │   │   ├── Script.cpp
│   │   │   ├── Script.hpp
│   │   │   ├── ScriptFunction.cpp
│   │   │   ├── ScriptFunction.hpp
│   │   │   ├── ScriptFunctions.cpp
│   │   │   ├── ScriptFunctions.hpp
│   │   │   ├── SystemInterface.hpp
│   │   │   └── Types.hpp
│   │   ├── Utils.cpp
│   │   ├── Utils.hpp
│   │   ├── handleInput.cpp
│   │   ├── main.cpp
│   │   └── processors/
│   │       ├── ActorProcessor.cpp
│   │       ├── ActorProcessor.hpp
│   │       ├── ObjectProcessor.cpp
│   │       ├── ObjectProcessor.hpp
│   │       ├── PlayerProcessor.cpp
│   │       ├── PlayerProcessor.hpp
│   │       ├── ProcessorInitializer.cpp
│   │       ├── ProcessorInitializer.hpp
│   │       ├── WorldstateProcessor.cpp
│   │       ├── WorldstateProcessor.hpp
│   │       ├── actor/
│   │       │   ├── ProcessorActorAI.hpp
│   │       │   ├── ProcessorActorAnimFlags.hpp
│   │       │   ├── ProcessorActorAnimPlay.hpp
│   │       │   ├── ProcessorActorAttack.hpp
│   │       │   ├── ProcessorActorCast.hpp
│   │       │   ├── ProcessorActorCellChange.hpp
│   │       │   ├── ProcessorActorDeath.hpp
│   │       │   ├── ProcessorActorEquipment.hpp
│   │       │   ├── ProcessorActorList.hpp
│   │       │   ├── ProcessorActorPosition.hpp
│   │       │   ├── ProcessorActorSpeech.hpp
│   │       │   ├── ProcessorActorSpellsActive.hpp
│   │       │   ├── ProcessorActorStatsDynamic.hpp
│   │       │   └── ProcessorActorTest.hpp
│   │       ├── object/
│   │       │   ├── ProcessorClientScriptLocal.hpp
│   │       │   ├── ProcessorConsoleCommand.hpp
│   │       │   ├── ProcessorContainer.hpp
│   │       │   ├── ProcessorDoorState.hpp
│   │       │   ├── ProcessorMusicPlay.hpp
│   │       │   ├── ProcessorObjectActivate.hpp
│   │       │   ├── ProcessorObjectAnimPlay.hpp
│   │       │   ├── ProcessorObjectDelete.hpp
│   │       │   ├── ProcessorObjectDialogueChoice.hpp
│   │       │   ├── ProcessorObjectHit.hpp
│   │       │   ├── ProcessorObjectLock.hpp
│   │       │   ├── ProcessorObjectMiscellaneous.hpp
│   │       │   ├── ProcessorObjectMove.hpp
│   │       │   ├── ProcessorObjectPlace.hpp
│   │       │   ├── ProcessorObjectRestock.hpp
│   │       │   ├── ProcessorObjectRotate.hpp
│   │       │   ├── ProcessorObjectScale.hpp
│   │       │   ├── ProcessorObjectSound.hpp
│   │       │   ├── ProcessorObjectSpawn.hpp
│   │       │   ├── ProcessorObjectState.hpp
│   │       │   ├── ProcessorObjectTrap.hpp
│   │       │   ├── ProcessorScriptMemberShort.hpp
│   │       │   └── ProcessorVideoPlay.hpp
│   │       ├── player/
│   │       │   ├── ProcessorChatMsg.hpp
│   │       │   ├── ProcessorGUIMessageBox.hpp
│   │       │   ├── ProcessorPlayerAnimFlags.hpp
│   │       │   ├── ProcessorPlayerAnimPlay.hpp
│   │       │   ├── ProcessorPlayerAttack.hpp
│   │       │   ├── ProcessorPlayerAttribute.hpp
│   │       │   ├── ProcessorPlayerBook.hpp
│   │       │   ├── ProcessorPlayerBounty.hpp
│   │       │   ├── ProcessorPlayerCast.hpp
│   │       │   ├── ProcessorPlayerCellChange.hpp
│   │       │   ├── ProcessorPlayerCellState.hpp
│   │       │   ├── ProcessorPlayerCharClass.hpp
│   │       │   ├── ProcessorPlayerCharGen.hpp
│   │       │   ├── ProcessorPlayerCooldowns.hpp
│   │       │   ├── ProcessorPlayerDeath.hpp
│   │       │   ├── ProcessorPlayerDisposition.hpp
│   │       │   ├── ProcessorPlayerEquipment.hpp
│   │       │   ├── ProcessorPlayerFaction.hpp
│   │       │   ├── ProcessorPlayerInput.hpp
│   │       │   ├── ProcessorPlayerInventory.hpp
│   │       │   ├── ProcessorPlayerItemUse.hpp
│   │       │   ├── ProcessorPlayerJournal.hpp
│   │       │   ├── ProcessorPlayerLevel.hpp
│   │       │   ├── ProcessorPlayerMiscellaneous.hpp
│   │       │   ├── ProcessorPlayerPlaceholder.hpp
│   │       │   ├── ProcessorPlayerPosition.hpp
│   │       │   ├── ProcessorPlayerQuickKeys.hpp
│   │       │   ├── ProcessorPlayerReputation.hpp
│   │       │   ├── ProcessorPlayerRest.hpp
│   │       │   ├── ProcessorPlayerResurrect.hpp
│   │       │   ├── ProcessorPlayerShapeshift.hpp
│   │       │   ├── ProcessorPlayerSkill.hpp
│   │       │   ├── ProcessorPlayerSpeech.hpp
│   │       │   ├── ProcessorPlayerSpellbook.hpp
│   │       │   ├── ProcessorPlayerSpellsActive.hpp
│   │       │   ├── ProcessorPlayerStatsDynamic.hpp
│   │       │   └── ProcessorPlayerTopic.hpp
│   │       └── worldstate/
│   │           ├── ProcessorClientScriptGlobal.hpp
│   │           ├── ProcessorRecordDynamic.hpp
│   │           ├── ProcessorWorldKillCount.hpp
│   │           ├── ProcessorWorldMap.hpp
│   │           └── ProcessorWorldWeather.hpp
│   ├── openmw_test_suite/
│   │   ├── CMakeLists.txt
│   │   ├── detournavigator/
│   │   │   ├── gettilespositions.cpp
│   │   │   ├── navigator.cpp
│   │   │   ├── navmeshtilescache.cpp
│   │   │   ├── operators.hpp
│   │   │   ├── recastmeshbuilder.cpp
│   │   │   ├── recastmeshobject.cpp
│   │   │   ├── settingsutils.cpp
│   │   │   └── tilecachedrecastmeshmanager.cpp
│   │   ├── esm/
│   │   │   ├── test_fixed_string.cpp
│   │   │   └── variant.cpp
│   │   ├── misc/
│   │   │   ├── test_endianness.cpp
│   │   │   └── test_stringops.cpp
│   │   ├── mwdialogue/
│   │   │   └── test_keywordsearch.cpp
│   │   ├── mwworld/
│   │   │   └── test_store.cpp
│   │   ├── nifloader/
│   │   │   └── testbulletnifloader.cpp
│   │   ├── openmw_test_suite.cpp
│   │   ├── settings/
│   │   │   └── parser.cpp
│   │   └── shader/
│   │       ├── parsedefines.cpp
│   │       ├── parsefors.cpp
│   │       └── shadermanager.cpp
│   └── wizard/
│       ├── CMakeLists.txt
│       ├── componentselectionpage.cpp
│       ├── componentselectionpage.hpp
│       ├── conclusionpage.cpp
│       ├── conclusionpage.hpp
│       ├── existinginstallationpage.cpp
│       ├── existinginstallationpage.hpp
│       ├── importpage.cpp
│       ├── importpage.hpp
│       ├── inisettings.cpp
│       ├── inisettings.hpp
│       ├── installationpage.cpp
│       ├── installationpage.hpp
│       ├── installationtargetpage.cpp
│       ├── installationtargetpage.hpp
│       ├── intropage.cpp
│       ├── intropage.hpp
│       ├── languageselectionpage.cpp
│       ├── languageselectionpage.hpp
│       ├── main.cpp
│       ├── mainwizard.cpp
│       ├── mainwizard.hpp
│       ├── methodselectionpage.cpp
│       ├── methodselectionpage.hpp
│       ├── unshield/
│       │   ├── unshieldworker.cpp
│       │   └── unshieldworker.hpp
│       └── utils/
│           ├── componentlistwidget.cpp
│           └── componentlistwidget.hpp
├── appveyor.yml
├── cmake/
│   ├── COPYING-CMAKE-SCRIPTS
│   ├── CheckBulletPrecision.cmake
│   ├── FindCallFF.cmake
│   ├── FindFFmpeg.cmake
│   ├── FindGMock.cmake
│   ├── FindLIBUNSHIELD.cmake
│   ├── FindLZ4.cmake
│   ├── FindLuaJit.cmake
│   ├── FindMyGUI.cmake
│   ├── FindOSGPlugins.cmake
│   ├── FindRakNet.cmake
│   ├── FindRecastNavigation.cmake
│   ├── FindSDL2.cmake
│   ├── FindSphinx.cmake
│   ├── FindTinyXML.cmake
│   ├── GitVersion.cmake
│   ├── LibFindMacros.cmake
│   ├── OpenMWMacros.cmake
│   ├── WholeArchive.cmake
│   └── base64.cmake
├── components/
│   ├── CMakeLists.txt
│   ├── bsa/
│   │   ├── bsa_file.cpp
│   │   ├── bsa_file.hpp
│   │   ├── compressedbsafile.cpp
│   │   ├── compressedbsafile.hpp
│   │   ├── memorystream.cpp
│   │   └── memorystream.hpp
│   ├── bullethelpers/
│   │   ├── aabb.hpp
│   │   ├── operators.hpp
│   │   ├── processtrianglecallback.hpp
│   │   └── transformboundingbox.hpp
│   ├── compiler/
│   │   ├── context.hpp
│   │   ├── controlparser.cpp
│   │   ├── controlparser.hpp
│   │   ├── declarationparser.cpp
│   │   ├── declarationparser.hpp
│   │   ├── discardparser.cpp
│   │   ├── discardparser.hpp
│   │   ├── errorhandler.cpp
│   │   ├── errorhandler.hpp
│   │   ├── exception.hpp
│   │   ├── exprparser.cpp
│   │   ├── exprparser.hpp
│   │   ├── extensions.cpp
│   │   ├── extensions.hpp
│   │   ├── extensions0.cpp
│   │   ├── extensions0.hpp
│   │   ├── fileparser.cpp
│   │   ├── fileparser.hpp
│   │   ├── generator.cpp
│   │   ├── generator.hpp
│   │   ├── junkparser.cpp
│   │   ├── junkparser.hpp
│   │   ├── lineparser.cpp
│   │   ├── lineparser.hpp
│   │   ├── literals.cpp
│   │   ├── literals.hpp
│   │   ├── locals.cpp
│   │   ├── locals.hpp
│   │   ├── nullerrorhandler.cpp
│   │   ├── nullerrorhandler.hpp
│   │   ├── opcodes.cpp
│   │   ├── opcodes.hpp
│   │   ├── output.cpp
│   │   ├── output.hpp
│   │   ├── parser.cpp
│   │   ├── parser.hpp
│   │   ├── quickfileparser.cpp
│   │   ├── quickfileparser.hpp
│   │   ├── scanner.cpp
│   │   ├── scanner.hpp
│   │   ├── scriptparser.cpp
│   │   ├── scriptparser.hpp
│   │   ├── skipparser.cpp
│   │   ├── skipparser.hpp
│   │   ├── streamerrorhandler.cpp
│   │   ├── streamerrorhandler.hpp
│   │   ├── stringparser.cpp
│   │   ├── stringparser.hpp
│   │   └── tokenloc.hpp
│   ├── config/
│   │   ├── gamesettings.cpp
│   │   ├── gamesettings.hpp
│   │   ├── launchersettings.cpp
│   │   ├── launchersettings.hpp
│   │   └── settingsbase.hpp
│   ├── contentselector/
│   │   ├── model/
│   │   │   ├── contentmodel.cpp
│   │   │   ├── contentmodel.hpp
│   │   │   ├── esmfile.cpp
│   │   │   ├── esmfile.hpp
│   │   │   ├── loadordererror.cpp
│   │   │   ├── loadordererror.hpp
│   │   │   ├── modelitem.cpp
│   │   │   ├── modelitem.hpp
│   │   │   ├── naturalsort.cpp
│   │   │   └── naturalsort.hpp
│   │   └── view/
│   │       ├── combobox.cpp
│   │       ├── combobox.hpp
│   │       ├── contentselector.cpp
│   │       └── contentselector.hpp
│   ├── crashcatcher/
│   │   ├── crashcatcher.cpp
│   │   ├── crashcatcher.hpp
│   │   ├── windows_crashcatcher.cpp
│   │   ├── windows_crashcatcher.hpp
│   │   ├── windows_crashmonitor.cpp
│   │   ├── windows_crashmonitor.hpp
│   │   └── windows_crashshm.hpp
│   ├── debug/
│   │   ├── debugging.cpp
│   │   ├── debugging.hpp
│   │   ├── debuglog.cpp
│   │   ├── debuglog.hpp
│   │   ├── gldebug.cpp
│   │   └── gldebug.hpp
│   ├── detournavigator/
│   │   ├── areatype.hpp
│   │   ├── asyncnavmeshupdater.cpp
│   │   ├── asyncnavmeshupdater.hpp
│   │   ├── bounds.hpp
│   │   ├── cachedrecastmeshmanager.cpp
│   │   ├── cachedrecastmeshmanager.hpp
│   │   ├── debug.cpp
│   │   ├── debug.hpp
│   │   ├── dtstatus.hpp
│   │   ├── exceptions.hpp
│   │   ├── findrandompointaroundcircle.cpp
│   │   ├── findrandompointaroundcircle.hpp
│   │   ├── findsmoothpath.cpp
│   │   ├── findsmoothpath.hpp
│   │   ├── flags.hpp
│   │   ├── gettilespositions.hpp
│   │   ├── makenavmesh.cpp
│   │   ├── makenavmesh.hpp
│   │   ├── navigator.cpp
│   │   ├── navigator.hpp
│   │   ├── navigatorimpl.cpp
│   │   ├── navigatorimpl.hpp
│   │   ├── navigatorstub.hpp
│   │   ├── navmeshcacheitem.hpp
│   │   ├── navmeshdata.hpp
│   │   ├── navmeshmanager.cpp
│   │   ├── navmeshmanager.hpp
│   │   ├── navmeshtilescache.cpp
│   │   ├── navmeshtilescache.hpp
│   │   ├── navmeshtileview.cpp
│   │   ├── navmeshtileview.hpp
│   │   ├── objectid.hpp
│   │   ├── offmeshconnection.hpp
│   │   ├── offmeshconnectionsmanager.cpp
│   │   ├── offmeshconnectionsmanager.hpp
│   │   ├── oscillatingrecastmeshobject.cpp
│   │   ├── oscillatingrecastmeshobject.hpp
│   │   ├── raycast.cpp
│   │   ├── raycast.hpp
│   │   ├── recastallocutils.hpp
│   │   ├── recastglobalallocator.hpp
│   │   ├── recastmesh.cpp
│   │   ├── recastmesh.hpp
│   │   ├── recastmeshbuilder.cpp
│   │   ├── recastmeshbuilder.hpp
│   │   ├── recastmeshmanager.cpp
│   │   ├── recastmeshmanager.hpp
│   │   ├── recastmeshobject.cpp
│   │   ├── recastmeshobject.hpp
│   │   ├── recastmeshtiles.hpp
│   │   ├── recasttempallocator.hpp
│   │   ├── settings.cpp
│   │   ├── settings.hpp
│   │   ├── settingsutils.hpp
│   │   ├── sharednavmesh.hpp
│   │   ├── status.hpp
│   │   ├── tilebounds.hpp
│   │   ├── tilecachedrecastmeshmanager.cpp
│   │   ├── tilecachedrecastmeshmanager.hpp
│   │   ├── tileposition.hpp
│   │   ├── version.hpp
│   │   └── waitconditiontype.hpp
│   ├── doc.hpp
│   ├── esm/
│   │   ├── activespells.cpp
│   │   ├── activespells.hpp
│   │   ├── aipackage.cpp
│   │   ├── aipackage.hpp
│   │   ├── aisequence.cpp
│   │   ├── aisequence.hpp
│   │   ├── animationstate.cpp
│   │   ├── animationstate.hpp
│   │   ├── attr.cpp
│   │   ├── attr.hpp
│   │   ├── cellid.cpp
│   │   ├── cellid.hpp
│   │   ├── cellref.cpp
│   │   ├── cellref.hpp
│   │   ├── cellstate.cpp
│   │   ├── cellstate.hpp
│   │   ├── containerstate.cpp
│   │   ├── containerstate.hpp
│   │   ├── controlsstate.cpp
│   │   ├── controlsstate.hpp
│   │   ├── creaturelevliststate.cpp
│   │   ├── creaturelevliststate.hpp
│   │   ├── creaturestate.cpp
│   │   ├── creaturestate.hpp
│   │   ├── creaturestats.cpp
│   │   ├── creaturestats.hpp
│   │   ├── custommarkerstate.cpp
│   │   ├── custommarkerstate.hpp
│   │   ├── debugprofile.cpp
│   │   ├── debugprofile.hpp
│   │   ├── defs.hpp
│   │   ├── dialoguestate.cpp
│   │   ├── dialoguestate.hpp
│   │   ├── doorstate.cpp
│   │   ├── doorstate.hpp
│   │   ├── effectlist.cpp
│   │   ├── effectlist.hpp
│   │   ├── esmcommon.hpp
│   │   ├── esmreader.cpp
│   │   ├── esmreader.hpp
│   │   ├── esmwriter.cpp
│   │   ├── esmwriter.hpp
│   │   ├── filter.cpp
│   │   ├── filter.hpp
│   │   ├── fogstate.cpp
│   │   ├── fogstate.hpp
│   │   ├── globalmap.cpp
│   │   ├── globalmap.hpp
│   │   ├── globalscript.cpp
│   │   ├── globalscript.hpp
│   │   ├── inventorystate.cpp
│   │   ├── inventorystate.hpp
│   │   ├── journalentry.cpp
│   │   ├── journalentry.hpp
│   │   ├── loadacti.cpp
│   │   ├── loadacti.hpp
│   │   ├── loadalch.cpp
│   │   ├── loadalch.hpp
│   │   ├── loadappa.cpp
│   │   ├── loadappa.hpp
│   │   ├── loadarmo.cpp
│   │   ├── loadarmo.hpp
│   │   ├── loadbody.cpp
│   │   ├── loadbody.hpp
│   │   ├── loadbook.cpp
│   │   ├── loadbook.hpp
│   │   ├── loadbsgn.cpp
│   │   ├── loadbsgn.hpp
│   │   ├── loadcell.cpp
│   │   ├── loadcell.hpp
│   │   ├── loadclas.cpp
│   │   ├── loadclas.hpp
│   │   ├── loadclot.cpp
│   │   ├── loadclot.hpp
│   │   ├── loadcont.cpp
│   │   ├── loadcont.hpp
│   │   ├── loadcrea.cpp
│   │   ├── loadcrea.hpp
│   │   ├── loaddial.cpp
│   │   ├── loaddial.hpp
│   │   ├── loaddoor.cpp
│   │   ├── loaddoor.hpp
│   │   ├── loadench.cpp
│   │   ├── loadench.hpp
│   │   ├── loadfact.cpp
│   │   ├── loadfact.hpp
│   │   ├── loadglob.cpp
│   │   ├── loadglob.hpp
│   │   ├── loadgmst.cpp
│   │   ├── loadgmst.hpp
│   │   ├── loadinfo.cpp
│   │   ├── loadinfo.hpp
│   │   ├── loadingr.cpp
│   │   ├── loadingr.hpp
│   │   ├── loadland.cpp
│   │   ├── loadland.hpp
│   │   ├── loadlevlist.cpp
│   │   ├── loadlevlist.hpp
│   │   ├── loadligh.cpp
│   │   ├── loadligh.hpp
│   │   ├── loadlock.cpp
│   │   ├── loadlock.hpp
│   │   ├── loadltex.cpp
│   │   ├── loadltex.hpp
│   │   ├── loadmgef.cpp
│   │   ├── loadmgef.hpp
│   │   ├── loadmisc.cpp
│   │   ├── loadmisc.hpp
│   │   ├── loadnpc.cpp
│   │   ├── loadnpc.hpp
│   │   ├── loadpgrd.cpp
│   │   ├── loadpgrd.hpp
│   │   ├── loadprob.cpp
│   │   ├── loadprob.hpp
│   │   ├── loadrace.cpp
│   │   ├── loadrace.hpp
│   │   ├── loadregn.cpp
│   │   ├── loadregn.hpp
│   │   ├── loadrepa.cpp
│   │   ├── loadrepa.hpp
│   │   ├── loadscpt.cpp
│   │   ├── loadscpt.hpp
│   │   ├── loadskil.cpp
│   │   ├── loadskil.hpp
│   │   ├── loadsndg.cpp
│   │   ├── loadsndg.hpp
│   │   ├── loadsoun.cpp
│   │   ├── loadsoun.hpp
│   │   ├── loadspel.cpp
│   │   ├── loadspel.hpp
│   │   ├── loadsscr.cpp
│   │   ├── loadsscr.hpp
│   │   ├── loadstat.cpp
│   │   ├── loadstat.hpp
│   │   ├── loadtes3.cpp
│   │   ├── loadtes3.hpp
│   │   ├── loadweap.cpp
│   │   ├── loadweap.hpp
│   │   ├── locals.cpp
│   │   ├── locals.hpp
│   │   ├── magiceffects.cpp
│   │   ├── magiceffects.hpp
│   │   ├── mappings.cpp
│   │   ├── mappings.hpp
│   │   ├── npcstate.cpp
│   │   ├── npcstate.hpp
│   │   ├── npcstats.cpp
│   │   ├── npcstats.hpp
│   │   ├── objectstate.cpp
│   │   ├── objectstate.hpp
│   │   ├── player.cpp
│   │   ├── player.hpp
│   │   ├── projectilestate.cpp
│   │   ├── projectilestate.hpp
│   │   ├── queststate.cpp
│   │   ├── queststate.hpp
│   │   ├── quickkeys.cpp
│   │   ├── quickkeys.hpp
│   │   ├── records.hpp
│   │   ├── savedgame.cpp
│   │   ├── savedgame.hpp
│   │   ├── spelllist.cpp
│   │   ├── spelllist.hpp
│   │   ├── spellstate.cpp
│   │   ├── spellstate.hpp
│   │   ├── statstate.cpp
│   │   ├── statstate.hpp
│   │   ├── stolenitems.cpp
│   │   ├── stolenitems.hpp
│   │   ├── transport.cpp
│   │   ├── transport.hpp
│   │   ├── util.hpp
│   │   ├── variant.cpp
│   │   ├── variant.hpp
│   │   ├── variantimp.cpp
│   │   ├── variantimp.hpp
│   │   ├── weatherstate.cpp
│   │   └── weatherstate.hpp
│   ├── esmterrain/
│   │   ├── storage.cpp
│   │   └── storage.hpp
│   ├── fallback/
│   │   ├── fallback.cpp
│   │   ├── fallback.hpp
│   │   ├── validate.cpp
│   │   └── validate.hpp
│   ├── files/
│   │   ├── androidpath.cpp
│   │   ├── androidpath.hpp
│   │   ├── collections.cpp
│   │   ├── collections.hpp
│   │   ├── configurationmanager.cpp
│   │   ├── configurationmanager.hpp
│   │   ├── constrainedfilestream.cpp
│   │   ├── constrainedfilestream.hpp
│   │   ├── escape.cpp
│   │   ├── escape.hpp
│   │   ├── fixedpath.hpp
│   │   ├── linuxpath.cpp
│   │   ├── linuxpath.hpp
│   │   ├── lowlevelfile.cpp
│   │   ├── lowlevelfile.hpp
│   │   ├── macospath.cpp
│   │   ├── macospath.hpp
│   │   ├── memorystream.hpp
│   │   ├── multidircollection.cpp
│   │   ├── multidircollection.hpp
│   │   ├── windowspath.cpp
│   │   └── windowspath.hpp
│   ├── fontloader/
│   │   ├── fontloader.cpp
│   │   └── fontloader.hpp
│   ├── interpreter/
│   │   ├── context.hpp
│   │   ├── controlopcodes.hpp
│   │   ├── defines.cpp
│   │   ├── defines.hpp
│   │   ├── docs/
│   │   │   └── vmformat.txt
│   │   ├── genericopcodes.hpp
│   │   ├── installopcodes.cpp
│   │   ├── installopcodes.hpp
│   │   ├── interpreter.cpp
│   │   ├── interpreter.hpp
│   │   ├── localopcodes.hpp
│   │   ├── mathopcodes.hpp
│   │   ├── miscopcodes.hpp
│   │   ├── opcodes.hpp
│   │   ├── runtime.cpp
│   │   ├── runtime.hpp
│   │   └── types.hpp
│   ├── loadinglistener/
│   │   └── loadinglistener.hpp
│   ├── misc/
│   │   ├── algorithm.hpp
│   │   ├── barrier.hpp
│   │   ├── budgetmeasurement.hpp
│   │   ├── constants.hpp
│   │   ├── convert.hpp
│   │   ├── coordinateconverter.hpp
│   │   ├── debugging.hpp
│   │   ├── endianness.hpp
│   │   ├── frameratelimiter.hpp
│   │   ├── guarded.hpp
│   │   ├── hash.hpp
│   │   ├── helpviewer.cpp
│   │   ├── helpviewer.hpp
│   │   ├── mathutil.hpp
│   │   ├── messageformatparser.cpp
│   │   ├── messageformatparser.hpp
│   │   ├── objectpool.hpp
│   │   ├── resourcehelpers.cpp
│   │   ├── resourcehelpers.hpp
│   │   ├── rng.cpp
│   │   ├── rng.hpp
│   │   ├── stringops.hpp
│   │   ├── thread.cpp
│   │   ├── thread.hpp
│   │   ├── timer.hpp
│   │   ├── utf8stream.hpp
│   │   └── weakcache.hpp
│   ├── myguiplatform/
│   │   ├── additivelayer.cpp
│   │   ├── additivelayer.hpp
│   │   ├── myguicompat.h
│   │   ├── myguidatamanager.cpp
│   │   ├── myguidatamanager.hpp
│   │   ├── myguiloglistener.cpp
│   │   ├── myguiloglistener.hpp
│   │   ├── myguiplatform.cpp
│   │   ├── myguiplatform.hpp
│   │   ├── myguirendermanager.cpp
│   │   ├── myguirendermanager.hpp
│   │   ├── myguitexture.cpp
│   │   ├── myguitexture.hpp
│   │   ├── scalinglayer.cpp
│   │   └── scalinglayer.hpp
│   ├── nif/
│   │   ├── base.hpp
│   │   ├── controlled.cpp
│   │   ├── controlled.hpp
│   │   ├── controller.cpp
│   │   ├── controller.hpp
│   │   ├── data.cpp
│   │   ├── data.hpp
│   │   ├── effect.cpp
│   │   ├── effect.hpp
│   │   ├── extra.cpp
│   │   ├── extra.hpp
│   │   ├── niffile.cpp
│   │   ├── niffile.hpp
│   │   ├── nifkey.hpp
│   │   ├── nifstream.cpp
│   │   ├── nifstream.hpp
│   │   ├── niftypes.hpp
│   │   ├── node.cpp
│   │   ├── node.hpp
│   │   ├── property.cpp
│   │   ├── property.hpp
│   │   ├── record.hpp
│   │   └── recordptr.hpp
│   ├── nifbullet/
│   │   ├── bulletnifloader.cpp
│   │   └── bulletnifloader.hpp
│   ├── nifosg/
│   │   ├── controller.cpp
│   │   ├── controller.hpp
│   │   ├── matrixtransform.cpp
│   │   ├── matrixtransform.hpp
│   │   ├── nifloader.cpp
│   │   ├── nifloader.hpp
│   │   ├── particle.cpp
│   │   └── particle.hpp
│   ├── openmw-mp/
│   │   ├── Base/
│   │   │   ├── BaseActor.hpp
│   │   │   ├── BaseObject.hpp
│   │   │   ├── BasePacketProcessor.hpp
│   │   │   ├── BasePlayer.hpp
│   │   │   ├── BaseStructs.hpp
│   │   │   ├── BaseSystem.hpp
│   │   │   └── BaseWorldstate.hpp
│   │   ├── Controllers/
│   │   │   ├── ActorPacketController.cpp
│   │   │   ├── ActorPacketController.hpp
│   │   │   ├── ObjectPacketController.cpp
│   │   │   ├── ObjectPacketController.hpp
│   │   │   ├── PlayerPacketController.cpp
│   │   │   ├── PlayerPacketController.hpp
│   │   │   ├── SystemPacketController.cpp
│   │   │   ├── SystemPacketController.hpp
│   │   │   ├── WorldstatePacketController.cpp
│   │   │   └── WorldstatePacketController.hpp
│   │   ├── ErrorMessages.hpp
│   │   ├── Master/
│   │   │   ├── MasterData.hpp
│   │   │   ├── PacketMasterAnnounce.cpp
│   │   │   ├── PacketMasterAnnounce.hpp
│   │   │   ├── PacketMasterQuery.cpp
│   │   │   ├── PacketMasterQuery.hpp
│   │   │   ├── PacketMasterUpdate.cpp
│   │   │   ├── PacketMasterUpdate.hpp
│   │   │   └── ProxyMasterPacket.hpp
│   │   ├── NetworkMessages.hpp
│   │   ├── Packets/
│   │   │   ├── Actor/
│   │   │   │   ├── ActorPacket.cpp
│   │   │   │   ├── ActorPacket.hpp
│   │   │   │   ├── PacketActorAI.cpp
│   │   │   │   ├── PacketActorAI.hpp
│   │   │   │   ├── PacketActorAnimFlags.cpp
│   │   │   │   ├── PacketActorAnimFlags.hpp
│   │   │   │   ├── PacketActorAnimPlay.cpp
│   │   │   │   ├── PacketActorAnimPlay.hpp
│   │   │   │   ├── PacketActorAttack.cpp
│   │   │   │   ├── PacketActorAttack.hpp
│   │   │   │   ├── PacketActorAuthority.cpp
│   │   │   │   ├── PacketActorAuthority.hpp
│   │   │   │   ├── PacketActorCast.cpp
│   │   │   │   ├── PacketActorCast.hpp
│   │   │   │   ├── PacketActorCellChange.cpp
│   │   │   │   ├── PacketActorCellChange.hpp
│   │   │   │   ├── PacketActorDeath.cpp
│   │   │   │   ├── PacketActorDeath.hpp
│   │   │   │   ├── PacketActorEquipment.cpp
│   │   │   │   ├── PacketActorEquipment.hpp
│   │   │   │   ├── PacketActorList.cpp
│   │   │   │   ├── PacketActorList.hpp
│   │   │   │   ├── PacketActorPosition.cpp
│   │   │   │   ├── PacketActorPosition.hpp
│   │   │   │   ├── PacketActorSpeech.cpp
│   │   │   │   ├── PacketActorSpeech.hpp
│   │   │   │   ├── PacketActorSpellsActive.cpp
│   │   │   │   ├── PacketActorSpellsActive.hpp
│   │   │   │   ├── PacketActorStatsDynamic.cpp
│   │   │   │   ├── PacketActorStatsDynamic.hpp
│   │   │   │   ├── PacketActorTest.cpp
│   │   │   │   └── PacketActorTest.hpp
│   │   │   ├── BasePacket.cpp
│   │   │   ├── BasePacket.hpp
│   │   │   ├── Object/
│   │   │   │   ├── ObjectPacket.cpp
│   │   │   │   ├── ObjectPacket.hpp
│   │   │   │   ├── PacketClientScriptLocal.cpp
│   │   │   │   ├── PacketClientScriptLocal.hpp
│   │   │   │   ├── PacketConsoleCommand.cpp
│   │   │   │   ├── PacketConsoleCommand.hpp
│   │   │   │   ├── PacketContainer.cpp
│   │   │   │   ├── PacketContainer.hpp
│   │   │   │   ├── PacketDoorDestination.cpp
│   │   │   │   ├── PacketDoorDestination.hpp
│   │   │   │   ├── PacketDoorState.cpp
│   │   │   │   ├── PacketDoorState.hpp
│   │   │   │   ├── PacketMusicPlay.cpp
│   │   │   │   ├── PacketMusicPlay.hpp
│   │   │   │   ├── PacketObjectActivate.cpp
│   │   │   │   ├── PacketObjectActivate.hpp
│   │   │   │   ├── PacketObjectAnimPlay.cpp
│   │   │   │   ├── PacketObjectAnimPlay.hpp
│   │   │   │   ├── PacketObjectAttach.cpp
│   │   │   │   ├── PacketObjectAttach.hpp
│   │   │   │   ├── PacketObjectDelete.cpp
│   │   │   │   ├── PacketObjectDelete.hpp
│   │   │   │   ├── PacketObjectDialogueChoice.cpp
│   │   │   │   ├── PacketObjectDialogueChoice.hpp
│   │   │   │   ├── PacketObjectHit.cpp
│   │   │   │   ├── PacketObjectHit.hpp
│   │   │   │   ├── PacketObjectLock.cpp
│   │   │   │   ├── PacketObjectLock.hpp
│   │   │   │   ├── PacketObjectMiscellaneous.cpp
│   │   │   │   ├── PacketObjectMiscellaneous.hpp
│   │   │   │   ├── PacketObjectMove.cpp
│   │   │   │   ├── PacketObjectMove.hpp
│   │   │   │   ├── PacketObjectPlace.cpp
│   │   │   │   ├── PacketObjectPlace.hpp
│   │   │   │   ├── PacketObjectRestock.cpp
│   │   │   │   ├── PacketObjectRestock.hpp
│   │   │   │   ├── PacketObjectRotate.cpp
│   │   │   │   ├── PacketObjectRotate.hpp
│   │   │   │   ├── PacketObjectScale.cpp
│   │   │   │   ├── PacketObjectScale.hpp
│   │   │   │   ├── PacketObjectSound.cpp
│   │   │   │   ├── PacketObjectSound.hpp
│   │   │   │   ├── PacketObjectSpawn.cpp
│   │   │   │   ├── PacketObjectSpawn.hpp
│   │   │   │   ├── PacketObjectState.cpp
│   │   │   │   ├── PacketObjectState.hpp
│   │   │   │   ├── PacketObjectTrap.cpp
│   │   │   │   ├── PacketObjectTrap.hpp
│   │   │   │   ├── PacketScriptMemberShort.cpp
│   │   │   │   ├── PacketScriptMemberShort.hpp
│   │   │   │   ├── PacketVideoPlay.cpp
│   │   │   │   └── PacketVideoPlay.hpp
│   │   │   ├── PacketPreInit.cpp
│   │   │   ├── PacketPreInit.hpp
│   │   │   ├── Player/
│   │   │   │   ├── PacketChatMessage.cpp
│   │   │   │   ├── PacketChatMessage.hpp
│   │   │   │   ├── PacketDisconnect.hpp
│   │   │   │   ├── PacketGUIBoxes.cpp
│   │   │   │   ├── PacketGUIBoxes.hpp
│   │   │   │   ├── PacketGameSettings.cpp
│   │   │   │   ├── PacketGameSettings.hpp
│   │   │   │   ├── PacketLoaded.hpp
│   │   │   │   ├── PacketPlayerAlly.cpp
│   │   │   │   ├── PacketPlayerAlly.hpp
│   │   │   │   ├── PacketPlayerAnimFlags.cpp
│   │   │   │   ├── PacketPlayerAnimFlags.hpp
│   │   │   │   ├── PacketPlayerAnimPlay.cpp
│   │   │   │   ├── PacketPlayerAnimPlay.hpp
│   │   │   │   ├── PacketPlayerAttack.cpp
│   │   │   │   ├── PacketPlayerAttack.hpp
│   │   │   │   ├── PacketPlayerAttribute.cpp
│   │   │   │   ├── PacketPlayerAttribute.hpp
│   │   │   │   ├── PacketPlayerBaseInfo.cpp
│   │   │   │   ├── PacketPlayerBaseInfo.hpp
│   │   │   │   ├── PacketPlayerBehavior.cpp
│   │   │   │   ├── PacketPlayerBehavior.hpp
│   │   │   │   ├── PacketPlayerBook.cpp
│   │   │   │   ├── PacketPlayerBook.hpp
│   │   │   │   ├── PacketPlayerBounty.cpp
│   │   │   │   ├── PacketPlayerBounty.hpp
│   │   │   │   ├── PacketPlayerCast.cpp
│   │   │   │   ├── PacketPlayerCast.hpp
│   │   │   │   ├── PacketPlayerCellChange.cpp
│   │   │   │   ├── PacketPlayerCellChange.hpp
│   │   │   │   ├── PacketPlayerCellState.cpp
│   │   │   │   ├── PacketPlayerCellState.hpp
│   │   │   │   ├── PacketPlayerCharGen.cpp
│   │   │   │   ├── PacketPlayerCharGen.hpp
│   │   │   │   ├── PacketPlayerClass.cpp
│   │   │   │   ├── PacketPlayerClass.hpp
│   │   │   │   ├── PacketPlayerCooldowns.cpp
│   │   │   │   ├── PacketPlayerCooldowns.hpp
│   │   │   │   ├── PacketPlayerDeath.cpp
│   │   │   │   ├── PacketPlayerDeath.hpp
│   │   │   │   ├── PacketPlayerEquipment.cpp
│   │   │   │   ├── PacketPlayerEquipment.hpp
│   │   │   │   ├── PacketPlayerFaction.cpp
│   │   │   │   ├── PacketPlayerFaction.hpp
│   │   │   │   ├── PacketPlayerInput.cpp
│   │   │   │   ├── PacketPlayerInput.hpp
│   │   │   │   ├── PacketPlayerInventory.cpp
│   │   │   │   ├── PacketPlayerInventory.hpp
│   │   │   │   ├── PacketPlayerItemUse.cpp
│   │   │   │   ├── PacketPlayerItemUse.hpp
│   │   │   │   ├── PacketPlayerJail.cpp
│   │   │   │   ├── PacketPlayerJail.hpp
│   │   │   │   ├── PacketPlayerJournal.cpp
│   │   │   │   ├── PacketPlayerJournal.hpp
│   │   │   │   ├── PacketPlayerLevel.cpp
│   │   │   │   ├── PacketPlayerLevel.hpp
│   │   │   │   ├── PacketPlayerMiscellaneous.cpp
│   │   │   │   ├── PacketPlayerMiscellaneous.hpp
│   │   │   │   ├── PacketPlayerMomentum.cpp
│   │   │   │   ├── PacketPlayerMomentum.hpp
│   │   │   │   ├── PacketPlayerPosition.cpp
│   │   │   │   ├── PacketPlayerPosition.hpp
│   │   │   │   ├── PacketPlayerQuickKeys.cpp
│   │   │   │   ├── PacketPlayerQuickKeys.hpp
│   │   │   │   ├── PacketPlayerRegionAuthority.cpp
│   │   │   │   ├── PacketPlayerReputation.cpp
│   │   │   │   ├── PacketPlayerReputation.hpp
│   │   │   │   ├── PacketPlayerRest.cpp
│   │   │   │   ├── PacketPlayerRest.hpp
│   │   │   │   ├── PacketPlayerResurrect.cpp
│   │   │   │   ├── PacketPlayerResurrect.hpp
│   │   │   │   ├── PacketPlayerShapeshift.cpp
│   │   │   │   ├── PacketPlayerShapeshift.hpp
│   │   │   │   ├── PacketPlayerSkill.cpp
│   │   │   │   ├── PacketPlayerSkill.hpp
│   │   │   │   ├── PacketPlayerSpeech.cpp
│   │   │   │   ├── PacketPlayerSpeech.hpp
│   │   │   │   ├── PacketPlayerSpellbook.cpp
│   │   │   │   ├── PacketPlayerSpellbook.hpp
│   │   │   │   ├── PacketPlayerSpellsActive.cpp
│   │   │   │   ├── PacketPlayerSpellsActive.hpp
│   │   │   │   ├── PacketPlayerStatsDynamic.cpp
│   │   │   │   ├── PacketPlayerStatsDynamic.hpp
│   │   │   │   ├── PacketPlayerTopic.cpp
│   │   │   │   ├── PacketPlayerTopic.hpp
│   │   │   │   ├── PlayerPacket.cpp
│   │   │   │   └── PlayerPacket.hpp
│   │   │   ├── System/
│   │   │   │   ├── PacketSystemHandshake.cpp
│   │   │   │   ├── PacketSystemHandshake.hpp
│   │   │   │   ├── SystemPacket.cpp
│   │   │   │   └── SystemPacket.hpp
│   │   │   └── Worldstate/
│   │   │       ├── PacketCellReset.cpp
│   │   │       ├── PacketCellReset.hpp
│   │   │       ├── PacketClientScriptGlobal.cpp
│   │   │       ├── PacketClientScriptGlobal.hpp
│   │   │       ├── PacketClientScriptSettings.cpp
│   │   │       ├── PacketClientScriptSettings.hpp
│   │   │       ├── PacketRecordDynamic.cpp
│   │   │       ├── PacketRecordDynamic.hpp
│   │   │       ├── PacketWorldCollisionOverride.cpp
│   │   │       ├── PacketWorldCollisionOverride.hpp
│   │   │       ├── PacketWorldDestinationOverride.cpp
│   │   │       ├── PacketWorldDestinationOverride.hpp
│   │   │       ├── PacketWorldKillCount.cpp
│   │   │       ├── PacketWorldKillCount.hpp
│   │   │       ├── PacketWorldMap.cpp
│   │   │       ├── PacketWorldMap.hpp
│   │   │       ├── PacketWorldRegionAuthority.cpp
│   │   │       ├── PacketWorldRegionAuthority.hpp
│   │   │       ├── PacketWorldTime.cpp
│   │   │       ├── PacketWorldTime.hpp
│   │   │       ├── PacketWorldWeather.cpp
│   │   │       ├── PacketWorldWeather.hpp
│   │   │       ├── WorldstatePacket.cpp
│   │   │       └── WorldstatePacket.hpp
│   │   ├── TimedLog.cpp
│   │   ├── TimedLog.hpp
│   │   ├── Utils.cpp
│   │   ├── Utils.hpp
│   │   └── Version.hpp
│   ├── process/
│   │   ├── processinvoker.cpp
│   │   └── processinvoker.hpp
│   ├── resource/
│   │   ├── animation.cpp
│   │   ├── animation.hpp
│   │   ├── bulletshape.cpp
│   │   ├── bulletshape.hpp
│   │   ├── bulletshapemanager.cpp
│   │   ├── bulletshapemanager.hpp
│   │   ├── imagemanager.cpp
│   │   ├── imagemanager.hpp
│   │   ├── keyframemanager.cpp
│   │   ├── keyframemanager.hpp
│   │   ├── multiobjectcache.cpp
│   │   ├── multiobjectcache.hpp
│   │   ├── niffilemanager.cpp
│   │   ├── niffilemanager.hpp
│   │   ├── objectcache.hpp
│   │   ├── resourcemanager.hpp
│   │   ├── resourcesystem.cpp
│   │   ├── resourcesystem.hpp
│   │   ├── scenemanager.cpp
│   │   ├── scenemanager.hpp
│   │   ├── stats.cpp
│   │   └── stats.hpp
│   ├── sceneutil/
│   │   ├── actorutil.cpp
│   │   ├── actorutil.hpp
│   │   ├── agentpath.cpp
│   │   ├── agentpath.hpp
│   │   ├── attach.cpp
│   │   ├── attach.hpp
│   │   ├── clone.cpp
│   │   ├── clone.hpp
│   │   ├── controller.cpp
│   │   ├── controller.hpp
│   │   ├── detourdebugdraw.cpp
│   │   ├── detourdebugdraw.hpp
│   │   ├── keyframe.hpp
│   │   ├── lightcontroller.cpp
│   │   ├── lightcontroller.hpp
│   │   ├── lightmanager.cpp
│   │   ├── lightmanager.hpp
│   │   ├── lightutil.cpp
│   │   ├── lightutil.hpp
│   │   ├── morphgeometry.cpp
│   │   ├── morphgeometry.hpp
│   │   ├── mwshadowtechnique.cpp
│   │   ├── mwshadowtechnique.hpp
│   │   ├── navmesh.cpp
│   │   ├── navmesh.hpp
│   │   ├── optimizer.cpp
│   │   ├── optimizer.hpp
│   │   ├── osgacontroller.cpp
│   │   ├── osgacontroller.hpp
│   │   ├── pathgridutil.cpp
│   │   ├── pathgridutil.hpp
│   │   ├── positionattitudetransform.cpp
│   │   ├── positionattitudetransform.hpp
│   │   ├── recastmesh.cpp
│   │   ├── recastmesh.hpp
│   │   ├── riggeometry.cpp
│   │   ├── riggeometry.hpp
│   │   ├── serialize.cpp
│   │   ├── serialize.hpp
│   │   ├── shadow.cpp
│   │   ├── shadow.hpp
│   │   ├── shadowsbin.cpp
│   │   ├── shadowsbin.hpp
│   │   ├── skeleton.cpp
│   │   ├── skeleton.hpp
│   │   ├── statesetupdater.cpp
│   │   ├── statesetupdater.hpp
│   │   ├── textkeymap.hpp
│   │   ├── unrefqueue.cpp
│   │   ├── unrefqueue.hpp
│   │   ├── util.cpp
│   │   ├── util.hpp
│   │   ├── visitor.cpp
│   │   ├── visitor.hpp
│   │   ├── waterutil.cpp
│   │   ├── waterutil.hpp
│   │   ├── workqueue.cpp
│   │   ├── workqueue.hpp
│   │   ├── writescene.cpp
│   │   └── writescene.hpp
│   ├── sdlutil/
│   │   ├── events.hpp
│   │   ├── gl4es_init.cpp
│   │   ├── gl4es_init.h
│   │   ├── imagetosurface.cpp
│   │   ├── imagetosurface.hpp
│   │   ├── sdlcursormanager.cpp
│   │   ├── sdlcursormanager.hpp
│   │   ├── sdlgraphicswindow.cpp
│   │   ├── sdlgraphicswindow.hpp
│   │   ├── sdlinputwrapper.cpp
│   │   ├── sdlinputwrapper.hpp
│   │   ├── sdlvideowrapper.cpp
│   │   └── sdlvideowrapper.hpp
│   ├── settings/
│   │   ├── categories.hpp
│   │   ├── parser.cpp
│   │   ├── parser.hpp
│   │   ├── settings.cpp
│   │   └── settings.hpp
│   ├── shader/
│   │   ├── removedalphafunc.cpp
│   │   ├── removedalphafunc.hpp
│   │   ├── shadermanager.cpp
│   │   ├── shadermanager.hpp
│   │   ├── shadervisitor.cpp
│   │   └── shadervisitor.hpp
│   ├── terrain/
│   │   ├── buffercache.cpp
│   │   ├── buffercache.hpp
│   │   ├── cellborder.cpp
│   │   ├── cellborder.hpp
│   │   ├── chunkmanager.cpp
│   │   ├── chunkmanager.hpp
│   │   ├── compositemaprenderer.cpp
│   │   ├── compositemaprenderer.hpp
│   │   ├── defs.hpp
│   │   ├── material.cpp
│   │   ├── material.hpp
│   │   ├── quadtreenode.cpp
│   │   ├── quadtreenode.hpp
│   │   ├── quadtreeworld.cpp
│   │   ├── quadtreeworld.hpp
│   │   ├── storage.hpp
│   │   ├── terraindrawable.cpp
│   │   ├── terraindrawable.hpp
│   │   ├── terraingrid.cpp
│   │   ├── terraingrid.hpp
│   │   ├── texturemanager.cpp
│   │   ├── texturemanager.hpp
│   │   ├── viewdata.cpp
│   │   ├── viewdata.hpp
│   │   ├── world.cpp
│   │   └── world.hpp
│   ├── to_utf8/
│   │   ├── .gitignore
│   │   ├── gen_iconv.cpp
│   │   ├── tables_gen.hpp
│   │   ├── tests/
│   │   │   ├── .gitignore
│   │   │   ├── output/
│   │   │   │   └── to_utf8_test.out
│   │   │   ├── test.sh
│   │   │   ├── test_data/
│   │   │   │   ├── french-utf8.txt
│   │   │   │   ├── french-win1252.txt
│   │   │   │   ├── russian-utf8.txt
│   │   │   │   └── russian-win1251.txt
│   │   │   └── to_utf8_test.cpp
│   │   ├── to_utf8.cpp
│   │   └── to_utf8.hpp
│   ├── translation/
│   │   ├── translation.cpp
│   │   └── translation.hpp
│   ├── version/
│   │   ├── version.cpp
│   │   └── version.hpp
│   ├── vfs/
│   │   ├── archive.hpp
│   │   ├── bsaarchive.cpp
│   │   ├── bsaarchive.hpp
│   │   ├── filesystemarchive.cpp
│   │   ├── filesystemarchive.hpp
│   │   ├── manager.cpp
│   │   ├── manager.hpp
│   │   ├── registerarchives.cpp
│   │   └── registerarchives.hpp
│   └── widgets/
│       ├── box.cpp
│       ├── box.hpp
│       ├── fontwrapper.hpp
│       ├── imagebutton.cpp
│       ├── imagebutton.hpp
│       ├── list.cpp
│       ├── list.hpp
│       ├── numericeditbox.cpp
│       ├── numericeditbox.hpp
│       ├── sharedstatebutton.cpp
│       ├── sharedstatebutton.hpp
│       ├── tags.cpp
│       ├── tags.hpp
│       ├── widgets.cpp
│       ├── widgets.hpp
│       ├── windowcaption.cpp
│       └── windowcaption.hpp
├── docs/
│   ├── Doxyfile.cmake
│   ├── DoxyfilePages.cmake
│   ├── license/
│   │   └── RussoOne Font License.txt
│   ├── mainpage.hpp.cmake
│   ├── openmw-stage1.md
│   ├── requirements.txt
│   └── source/
│       ├── _static/
│       │   ├── .keep
│       │   └── figures.css
│       ├── conf.py
│       ├── index.rst
│       ├── manuals/
│       │   ├── index.rst
│       │   ├── installation/
│       │   │   ├── common-problems.rst
│       │   │   ├── index.rst
│       │   │   ├── install-game-files.rst
│       │   │   └── install-openmw.rst
│       │   └── openmw-cs/
│       │       ├── files-and-directories.rst
│       │       ├── foreword.rst
│       │       ├── index.rst
│       │       ├── record-filters.rst
│       │       ├── record-types.rst
│       │       ├── starting-dialog.rst
│       │       ├── tables.rst
│       │       └── tour.rst
│       ├── reference/
│       │   ├── documentationHowTo.rst
│       │   ├── index.rst
│       │   └── modding/
│       │       ├── custom-models/
│       │       │   ├── index.rst
│       │       │   ├── pipeline-blender-collada.rst
│       │       │   ├── pipeline-blender-nif.rst
│       │       │   └── pipeline-blender-osgnative.rst
│       │       ├── differences.rst
│       │       ├── extended.rst
│       │       ├── font.rst
│       │       ├── foreword.rst
│       │       ├── index.rst
│       │       ├── mod-install.rst
│       │       ├── openmw-game-template.rst
│       │       ├── paths.rst
│       │       ├── settings/
│       │       │   ├── GUI.rst
│       │       │   ├── HUD.rst
│       │       │   ├── camera.rst
│       │       │   ├── cells.rst
│       │       │   ├── fog.rst
│       │       │   ├── game.rst
│       │       │   ├── general.rst
│       │       │   ├── groundcover.rst
│       │       │   ├── index.rst
│       │       │   ├── input.rst
│       │       │   ├── map.rst
│       │       │   ├── models.rst
│       │       │   ├── navigator.rst
│       │       │   ├── physics.rst
│       │       │   ├── saves.rst
│       │       │   ├── shaders.rst
│       │       │   ├── shadows.rst
│       │       │   ├── sound.rst
│       │       │   ├── terrain.rst
│       │       │   ├── video.rst
│       │       │   ├── water.rst
│       │       │   └── windows.rst
│       │       ├── sky-system.rst
│       │       └── texture-modding/
│       │           ├── convert-bump-mapped-mods.rst
│       │           ├── index.rst
│       │           └── texture-basics.rst
│       └── tutorial-style-guide.txt
├── extern/
│   ├── Base64/
│   │   ├── Base64.h
│   │   └── CMakeLists.txt
│   ├── CMakeLists.txt
│   ├── LuaBridge/
│   │   ├── List.h
│   │   ├── LuaBridge.h
│   │   ├── Map.h
│   │   ├── RefCountedObject.h
│   │   ├── RefCountedPtr.h
│   │   ├── Vector.h
│   │   └── detail/
│   │       ├── CFunctions.h
│   │       ├── ClassInfo.h
│   │       ├── Constructor.h
│   │       ├── FuncTraits.h
│   │       ├── Iterator.h
│   │       ├── LuaException.h
│   │       ├── LuaHelpers.h
│   │       ├── LuaRef.h
│   │       ├── Namespace.h
│   │       ├── Security.h
│   │       ├── Stack.h
│   │       ├── TypeList.h
│   │       ├── TypeTraits.h
│   │       ├── Userdata.h
│   │       └── dump.h
│   ├── PicoSHA2/
│   │   └── picosha2.h
│   ├── oics/
│   │   ├── CMakeLists.txt
│   │   ├── ICSChannel.cpp
│   │   ├── ICSChannel.h
│   │   ├── ICSChannelListener.h
│   │   ├── ICSControl.cpp
│   │   ├── ICSControl.h
│   │   ├── ICSControlListener.h
│   │   ├── ICSInputControlSystem.cpp
│   │   ├── ICSInputControlSystem.h
│   │   ├── ICSInputControlSystem_joystick.cpp
│   │   ├── ICSInputControlSystem_keyboard.cpp
│   │   ├── ICSInputControlSystem_mouse.cpp
│   │   ├── ICSPrerequisites.cpp
│   │   ├── ICSPrerequisites.h
│   │   ├── tinystr.cpp
│   │   ├── tinystr.h
│   │   ├── tinyxml.cpp
│   │   ├── tinyxml.h
│   │   ├── tinyxmlerror.cpp
│   │   └── tinyxmlparser.cpp
│   ├── osg-ffmpeg-videoplayer/
│   │   ├── CMakeLists.txt
│   │   ├── License.txt
│   │   ├── audiodecoder.cpp
│   │   ├── audiodecoder.hpp
│   │   ├── audiofactory.hpp
│   │   ├── videodefs.hpp
│   │   ├── videoplayer.cpp
│   │   ├── videoplayer.hpp
│   │   ├── videostate.cpp
│   │   └── videostate.hpp
│   └── osgQt/
│       ├── CMakeLists.txt
│       ├── GraphicsWindowQt
│       └── GraphicsWindowQt.cpp
├── files/
│   ├── CMakeLists.txt
│   ├── gamecontrollerdb.txt
│   ├── launcher/
│   │   ├── icons/
│   │   │   └── tango/
│   │   │       └── index.theme
│   │   └── launcher.qrc
│   ├── mac/
│   │   ├── openmw-Info.plist.in
│   │   ├── openmw-cs-Info.plist.in
│   │   ├── openmw-cs.icns
│   │   ├── openmw.icns
│   │   └── qt.conf
│   ├── mygui/
│   │   ├── CMakeLists.txt
│   │   ├── DejaVuFontLicense.txt
│   │   ├── OpenMWResourcePlugin.xml
│   │   ├── core.skin
│   │   ├── core.xml
│   │   ├── core_layouteditor.xml
│   │   ├── openmw_alchemy_window.layout
│   │   ├── openmw_book.layout
│   │   ├── openmw_box.skin.xml
│   │   ├── openmw_button.skin.xml
│   │   ├── openmw_chargen_birth.layout
│   │   ├── openmw_chargen_class.layout
│   │   ├── openmw_chargen_class_description.layout
│   │   ├── openmw_chargen_create_class.layout
│   │   ├── openmw_chargen_generate_class_result.layout
│   │   ├── openmw_chargen_race.layout
│   │   ├── openmw_chargen_review.layout
│   │   ├── openmw_chargen_select_attribute.layout
│   │   ├── openmw_chargen_select_skill.layout
│   │   ├── openmw_chargen_select_specialization.layout
│   │   ├── openmw_companion_window.layout
│   │   ├── openmw_confirmation_dialog.layout
│   │   ├── openmw_console.layout
│   │   ├── openmw_console.skin.xml
│   │   ├── openmw_container_window.layout
│   │   ├── openmw_count_window.layout
│   │   ├── openmw_debug_window.layout
│   │   ├── openmw_debug_window.skin.xml
│   │   ├── openmw_dialogue_window.layout
│   │   ├── openmw_dialogue_window.skin.xml
│   │   ├── openmw_edit.skin.xml
│   │   ├── openmw_edit_effect.layout
│   │   ├── openmw_edit_note.layout
│   │   ├── openmw_enchanting_dialog.layout
│   │   ├── openmw_font.xml
│   │   ├── openmw_hud.layout
│   │   ├── openmw_hud_box.skin.xml
│   │   ├── openmw_hud_energybar.skin.xml
│   │   ├── openmw_infobox.layout
│   │   ├── openmw_interactive_messagebox.layout
│   │   ├── openmw_interactive_messagebox_notransp.layout
│   │   ├── openmw_inventory_window.layout
│   │   ├── openmw_itemselection_dialog.layout
│   │   ├── openmw_jail_screen.layout
│   │   ├── openmw_journal.layout
│   │   ├── openmw_journal.skin.xml
│   │   ├── openmw_layers.xml
│   │   ├── openmw_levelup_dialog.layout
│   │   ├── openmw_list.skin.xml
│   │   ├── openmw_loading_screen.layout
│   │   ├── openmw_magicselection_dialog.layout
│   │   ├── openmw_mainmenu.layout
│   │   ├── openmw_mainmenu.skin.xml
│   │   ├── openmw_map_window.layout
│   │   ├── openmw_map_window.skin.xml
│   │   ├── openmw_merchantrepair.layout
│   │   ├── openmw_messagebox.layout
│   │   ├── openmw_persuasion_dialog.layout
│   │   ├── openmw_pointer.xml
│   │   ├── openmw_progress.skin.xml
│   │   ├── openmw_quickkeys_menu.layout
│   │   ├── openmw_quickkeys_menu_assign.layout
│   │   ├── openmw_recharge_dialog.layout
│   │   ├── openmw_repair.layout
│   │   ├── openmw_resources.xml
│   │   ├── openmw_savegame_dialog.layout
│   │   ├── openmw_screen_fader.layout
│   │   ├── openmw_screen_fader_hit.layout
│   │   ├── openmw_scroll.layout
│   │   ├── openmw_scroll.skin.xml
│   │   ├── openmw_settings.xml
│   │   ├── openmw_settings_window.layout
│   │   ├── openmw_spell_buying_window.layout
│   │   ├── openmw_spell_window.layout
│   │   ├── openmw_spellcreation_dialog.layout
│   │   ├── openmw_stats_window.layout
│   │   ├── openmw_text.skin.xml
│   │   ├── openmw_text_input.layout
│   │   ├── openmw_tooltips.layout
│   │   ├── openmw_trade_window.layout
│   │   ├── openmw_trainingwindow.layout
│   │   ├── openmw_travel_window.layout
│   │   ├── openmw_wait_dialog.layout
│   │   ├── openmw_wait_dialog_progressbar.layout
│   │   ├── openmw_windows.skin.xml
│   │   ├── skins.xml
│   │   ├── tes3mp_chat.layout
│   │   ├── tes3mp_chat.skin.xml
│   │   ├── tes3mp_dialog_list.layout
│   │   ├── tes3mp_login.layout
│   │   ├── tes3mp_login.skin.xml
│   │   └── tes3mp_text_input.layout
│   ├── opencs/
│   │   ├── defaultfilters
│   │   ├── raster/
│   │   │   ├── scene-exterior-parts/
│   │   │   │   └── composite_the_icons.sh
│   │   │   ├── scene-play-rev9_masked.xcf
│   │   │   └── scene-view-parts/
│   │   │       ├── README
│   │   │       └── composite_the_32_icons.sh
│   │   ├── resources.qrc
│   │   └── scalable/
│   │       ├── referenceable-record/
│   │       │   └── book2.svgz
│   │       └── startup/
│   │           ├── configure.svgz
│   │           ├── create-addon.svgz
│   │           ├── edit-content.svgz
│   │           └── new-game.svgz
│   ├── openmw-cs.cfg
│   ├── openmw.appdata.xml
│   ├── openmw.cfg
│   ├── openmw.cfg.local
│   ├── org.openmw.cs.desktop
│   ├── org.openmw.launcher.desktop
│   ├── settings-default.cfg
│   ├── shaders/
│   │   ├── CMakeLists.txt
│   │   ├── alpha.glsl
│   │   ├── groundcover_fragment.glsl
│   │   ├── groundcover_vertex.glsl
│   │   ├── lighting.glsl
│   │   ├── lighting_util.glsl
│   │   ├── nv_default_fragment.glsl
│   │   ├── nv_default_vertex.glsl
│   │   ├── nv_nolighting_fragment.glsl
│   │   ├── nv_nolighting_vertex.glsl
│   │   ├── objects_fragment.glsl
│   │   ├── objects_vertex.glsl
│   │   ├── parallax.glsl
│   │   ├── s360_fragment.glsl
│   │   ├── s360_vertex.glsl
│   │   ├── shadowcasting_fragment.glsl
│   │   ├── shadowcasting_vertex.glsl
│   │   ├── shadows_fragment.glsl
│   │   ├── shadows_vertex.glsl
│   │   ├── terrain_fragment.glsl
│   │   ├── terrain_vertex.glsl
│   │   ├── vertexcolors.glsl
│   │   ├── water_fragment.glsl
│   │   └── water_vertex.glsl
│   ├── tes3mp/
│   │   ├── browser.rc
│   │   ├── tes3mp-client-default.cfg
│   │   ├── tes3mp-server-default.cfg
│   │   ├── tes3mp.exe.manifest
│   │   ├── tes3mp.rc
│   │   └── ui/
│   │       ├── Main.ui
│   │       └── ServerInfo.ui
│   ├── tes3mp-browser.desktop
│   ├── ui/
│   │   ├── advancedpage.ui
│   │   ├── contentselector.ui
│   │   ├── datafilespage.ui
│   │   ├── filedialog.ui
│   │   ├── graphicspage.ui
│   │   ├── mainwindow.ui
│   │   ├── playpage.ui
│   │   ├── settingspage.ui
│   │   └── wizard/
│   │       ├── componentselectionpage.ui
│   │       ├── conclusionpage.ui
│   │       ├── existinginstallationpage.ui
│   │       ├── importpage.ui
│   │       ├── installationpage.ui
│   │       ├── installationtargetpage.ui
│   │       ├── intropage.ui
│   │       ├── languageselectionpage.ui
│   │       └── methodselectionpage.ui
│   ├── version.in
│   ├── vfs/
│   │   ├── CMakeLists.txt
│   │   └── textures/
│   │       ├── omw_menu_scroll_center_h.dds
│   │       ├── omw_menu_scroll_center_v.dds
│   │       ├── omw_menu_scroll_down.dds
│   │       ├── omw_menu_scroll_left.dds
│   │       ├── omw_menu_scroll_right.dds
│   │       └── omw_menu_scroll_up.dds
│   ├── windows/
│   │   ├── launcher.rc
│   │   ├── opencs.rc
│   │   ├── openmw-wizard.rc
│   │   ├── openmw.exe.manifest
│   │   └── openmw.rc
│   └── wizard/
│       ├── icons/
│       │   └── tango/
│       │       └── index.theme
│       └── wizard.qrc
├── manual/
│   └── opencs/
│       ├── .gitignore
│       ├── creating_file.tex
│       ├── files_and_directories.tex
│       ├── filters.tex
│       ├── main.tex
│       ├── recordmodification.tex
│       ├── recordtypes.tex
│       ├── tables.tex
│       └── windows.tex
├── tes3mp-changelog.md
└── tes3mp-credits.md
Download .txt
Showing preview only (1,048K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (13025 symbols across 2097 files)

FILE: apps/benchmarks/detournavigator/navmeshtilescache.cpp
  type Key (line 13) | struct Key
  type Item (line 21) | struct Item
  function TilePosition (line 28) | TilePosition generateTilePosition(int max, Random& random)
  function generateAgentHalfExtents (line 35) | osg::Vec3f generateAgentHalfExtents(float min, float max, Random& random)
  function generateVertices (line 42) | void generateVertices(OutputIterator out, std::size_t number, Random& ra...
  function generateIndices (line 49) | void generateIndices(OutputIterator out, int max, std::size_t number, Ra...
  function AreaType (line 55) | AreaType toAreaType(int index)
  function AreaType (line 69) | AreaType generateAreaType(Random& random)
  function generateAreaTypes (line 76) | void generateAreaTypes(OutputIterator out, std::size_t triangles, Random...
  function generateWater (line 82) | void generateWater(OutputIterator out, std::size_t count, Random& random)
  function generateOffMeshConnection (line 92) | void generateOffMeshConnection(OutputIterator out, std::size_t count, Ra...
  function Key (line 103) | Key generateKey(std::size_t triangles, Random& random)
  function generateKeys (line 127) | void generateKeys(OutputIterator out, std::size_t count, Random& random)
  function fillCache (line 133) | void fillCache(OutputIterator out, Random& random, NavMeshTilesCache& ca...
  function getFromFilledCache (line 150) | void getFromFilledCache(benchmark::State& state)
  function setToBoundedNonEmptyCache (line 177) | void setToBoundedNonEmptyCache(benchmark::State& state)

FILE: apps/browser/MainWindow.hpp
  class QueryHelper (line 10) | class QueryHelper
  class MainWindow (line 12) | class MainWindow : public QMainWindow,  private Ui::MainWindow

FILE: apps/browser/MySortFilterProxyModel.hpp
  class MySortFilterProxyModel (line 7) | class MySortFilterProxyModel : public QSortFilterProxyModel

FILE: apps/browser/PingHelper.cpp
  function PingHelper (line 34) | PingHelper &PingHelper::Get()

FILE: apps/browser/PingHelper.hpp
  class PingUpdater (line 9) | class PingUpdater
  class PingHelper (line 11) | class PingHelper : public QObject
    method PingHelper (line 23) | PingHelper(const PingHelper&) = delete;
    method PingHelper (line 24) | PingHelper& operator=(const PingHelper&) = delete;

FILE: apps/browser/PingUpdater.hpp
  class PingUpdater (line 9) | class PingUpdater : public QObject

FILE: apps/browser/QueryHelper.hpp
  class QueryHelper (line 12) | class QueryHelper : public QObject
  class QueryUpdate (line 30) | class QueryUpdate : public QObject

FILE: apps/browser/ServerInfoDialog.hpp
  class ThrWorker (line 9) | class ThrWorker
  class ServerInfoDialog (line 11) | class ServerInfoDialog : public QDialog,  public Ui::Dialog
  class ThrWorker (line 28) | class ThrWorker: public QObject

FILE: apps/browser/ServerModel.cpp
  function QVariant (line 14) | QVariant ServerModel::data(const QModelIndex &index, int role) const
  function QVariant (line 61) | QVariant ServerModel::headerData(int section, Qt::Orientation orientatio...
  function QModelIndex (line 186) | QModelIndex ServerModel::index(int row, int column, const QModelIndex &p...

FILE: apps/browser/ServerModel.hpp
  type ServerData (line 10) | struct ServerData : public QueryData
    type IDS (line 14) | enum IDS
  class ServerModel (line 28) | class ServerModel: public QAbstractTableModel

FILE: apps/browser/main.cpp
  function loadSettings (line 7) | std::string loadSettings (Settings::Manager & settings)
  function main (line 30) | int main(int argc, char *argv[])

FILE: apps/browser/netutils/HTTPNetwork.hpp
  type RakNet (line 7) | namespace RakNet
    class TCPInterface (line 9) | class TCPInterface
    class HTTPConnection2 (line 10) | class HTTPConnection2
  class HTTPNetwork (line 13) | class HTTPNetwork

FILE: apps/browser/netutils/QueryClient.cpp
  function QueryClient (line 34) | QueryClient &QueryClient::Get()
  function MASTER_PACKETS (line 117) | MASTER_PACKETS QueryClient::GetAnswer(MASTER_PACKETS waitingPacket)
  function ConnectionState (line 174) | ConnectionState QueryClient::Connect()

FILE: apps/browser/netutils/QueryClient.hpp
  class QueryClient (line 11) | class QueryClient
    method QueryClient (line 14) | QueryClient(QueryClient const &) = delete;
    method QueryClient (line 15) | QueryClient(QueryClient &&) = delete;
    method QueryClient (line 16) | QueryClient &operator=(QueryClient const &) = delete;
    method QueryClient (line 17) | QueryClient &operator=(QueryClient &&) = delete;

FILE: apps/browser/netutils/Utils.cpp
  function PingRakNetServer (line 13) | unsigned int PingRakNetServer(const char *addr, unsigned short port)
  function ServerExtendedData (line 61) | ServerExtendedData getExtendedData(const char *addr, unsigned short port)

FILE: apps/browser/netutils/Utils.hpp
  type ServerExtendedData (line 12) | struct ServerExtendedData

FILE: apps/bsatool/bsatool.cpp
  type Arguments (line 18) | struct Arguments
  function parseOptions (line 30) | bool parseOptions (int argc, char** argv, Arguments &info)
  function main (line 159) | int main(int argc, char** argv)
  function list (line 206) | int list(std::unique_ptr<Bsa::BSAFile>& bsa, Arguments& info)
  function extract (line 228) | int extract(std::unique_ptr<Bsa::BSAFile>& bsa, Arguments& info)
  function extractAll (line 277) | int extractAll(std::unique_ptr<Bsa::BSAFile>& bsa, Arguments& info)
  function add (line 312) | int add(std::unique_ptr<Bsa::BSAFile>& bsa, Arguments& info)

FILE: apps/essimporter/convertacdt.cpp
  type ESSImport (line 9) | namespace ESSImport
    function translateDynamicIndex (line 12) | int translateDynamicIndex(int mwIndex)
    function convertACDT (line 21) | void convertACDT (const ACDT& acdt, ESM::CreatureStats& cStats)
    function convertACSC (line 41) | void convertACSC (const ACSC& acsc, ESM::CreatureStats& cStats)
    function convertNpcData (line 46) | void convertNpcData (const ActorData& actorData, ESM::NpcStats& npcStats)
    function convertANIS (line 58) | void convertANIS (const ANIS& anis, ESM::AnimationState& state)

FILE: apps/essimporter/convertacdt.hpp
  type ESSImport (line 11) | namespace ESSImport

FILE: apps/essimporter/convertcntc.cpp
  type ESSImport (line 5) | namespace ESSImport
    function convertCNTC (line 8) | void convertCNTC(const CNTC &cntc, ESM::ContainerState &state)

FILE: apps/essimporter/convertcntc.hpp
  type ESSImport (line 8) | namespace ESSImport

FILE: apps/essimporter/convertcrec.cpp
  type ESSImport (line 5) | namespace ESSImport
    function convertCREC (line 8) | void convertCREC(const CREC &crec, ESM::CreatureState &state)

FILE: apps/essimporter/convertcrec.hpp
  type ESSImport (line 8) | namespace ESSImport

FILE: apps/essimporter/converter.cpp
  function convertImage (line 20) | void convertImage(char* data, int size, int width, int height, GLenum pf...
  function convertCellRef (line 31) | void convertCellRef(const ESSImport::CellRef& cellref, ESM::ObjectState&...
  function isIndexedRefId (line 45) | bool isIndexedRefId(const std::string& indexedRefId)
  function splitIndexedRefId (line 58) | void splitIndexedRefId(const std::string& indexedRefId, int& refIndex, s...
  function convertActorId (line 67) | int convertActorId(const std::string& indexedRefId, ESSImport::Context& ...
  type ESSImport (line 89) | namespace ESSImport
    type MAPH (line 93) | struct MAPH

FILE: apps/essimporter/converter.hpp
  type ESSImport (line 47) | namespace ESSImport
    class Converter (line 50) | class Converter
      method getStage (line 54) | virtual int getStage() { return 1; }
      method setContext (line 58) | void setContext(Context& context) { mContext = &context; }
      method read (line 62) | virtual void read(ESM::ESMReader& esm)
      method write (line 68) | virtual void write(ESM::ESMWriter& esm)
    class DefaultConverter (line 79) | class DefaultConverter : public Converter
      method getStage (line 82) | int getStage() override { return 0; }
      method read (line 84) | void read(ESM::ESMReader& esm) override
      method write (line 93) | void write(ESM::ESMWriter& esm) override
    class ConvertNPC (line 107) | class ConvertNPC : public Converter
      method read (line 110) | void read(ESM::ESMReader &esm) override
    class ConvertCREA (line 144) | class ConvertCREA : public Converter
      method read (line 147) | void read(ESM::ESMReader &esm) override
    class ConvertGlobal (line 162) | class ConvertGlobal : public DefaultConverter<ESM::Global>
      method read (line 165) | void read(ESM::ESMReader &esm) override
    class ConvertClass (line 183) | class ConvertClass : public DefaultConverter<ESM::Class>
      method read (line 186) | void read(ESM::ESMReader &esm) override
    class ConvertBook (line 199) | class ConvertBook : public DefaultConverter<ESM::Book>
      method read (line 202) | void read(ESM::ESMReader &esm) override
    class ConvertNPCC (line 215) | class ConvertNPCC : public Converter
      method read (line 218) | void read(ESM::ESMReader &esm) override
    class ConvertREFR (line 235) | class ConvertREFR : public Converter
      method read (line 238) | void read(ESM::ESMReader &esm) override
      method write (line 264) | void write(ESM::ESMWriter& esm) override
    class ConvertPCDT (line 274) | class ConvertPCDT : public Converter
      method ConvertPCDT (line 277) | ConvertPCDT()
      method read (line 283) | void read(ESM::ESMReader &esm) override
      method write (line 290) | void write(ESM::ESMWriter &esm) override
    class ConvertCNTC (line 307) | class ConvertCNTC : public Converter
      method read (line 309) | void read(ESM::ESMReader &esm) override
    class ConvertCREC (line 318) | class ConvertCREC : public Converter
      method read (line 321) | void read(ESM::ESMReader &esm) override
    class ConvertFMAP (line 330) | class ConvertFMAP : public Converter
    class ConvertCell (line 340) | class ConvertCell : public Converter
      type Cell (line 347) | struct Cell
    class ConvertKLST (line 362) | class ConvertKLST : public Converter
      method read (line 365) | void read(ESM::ESMReader& esm) override
      method write (line 374) | void write(ESM::ESMWriter &esm) override
    class ConvertFACT (line 389) | class ConvertFACT : public Converter
      method read (line 392) | void read(ESM::ESMReader& esm) override
    class ConvertSTLN (line 409) | class ConvertSTLN : public Converter
      method read (line 412) | void read(ESM::ESMReader &esm) override
      method write (line 431) | void write(ESM::ESMWriter &esm) override
    class ConvertINFO (line 467) | class ConvertINFO : public Converter
      method read (line 470) | void read(ESM::ESMReader& esm) override
    class ConvertDIAL (line 477) | class ConvertDIAL : public Converter
      method read (line 480) | void read(ESM::ESMReader& esm) override
      method write (line 488) | void write(ESM::ESMWriter &esm) override
    class ConvertQUES (line 505) | class ConvertQUES : public Converter
      method read (line 508) | void read(ESM::ESMReader& esm) override
    class ConvertJOUR (line 516) | class ConvertJOUR : public Converter
      method read (line 519) | void read(ESM::ESMReader& esm) override
    class ConvertGAME (line 526) | class ConvertGAME : public Converter
      method ConvertGAME (line 529) | ConvertGAME()
      method read (line 534) | void read(ESM::ESMReader &esm) override
      method validateWeatherID (line 540) | int validateWeatherID(int weatherID)
      method write (line 554) | void write(ESM::ESMWriter &esm) override
    class ConvertSCPT (line 578) | class ConvertSCPT : public Converter
      method read (line 581) | void read(ESM::ESMReader &esm) override
      method write (line 589) | void write(ESM::ESMWriter &esm) override
    class ConvertPROJ (line 603) | class ConvertPROJ : public Converter
      method getStage (line 606) | int getStage() override { return 2; }
    class ConvertSPLM (line 614) | class ConvertSPLM : public Converter

FILE: apps/essimporter/convertinventory.cpp
  type ESSImport (line 6) | namespace ESSImport
    function convertInventory (line 9) | void convertInventory(const Inventory &inventory, ESM::InventoryState ...

FILE: apps/essimporter/convertinventory.hpp
  type ESSImport (line 8) | namespace ESSImport

FILE: apps/essimporter/convertnpcc.cpp
  type ESSImport (line 5) | namespace ESSImport
    function convertNPCC (line 8) | void convertNPCC(const NPCC &npcc, ESM::NpcState &npcState)

FILE: apps/essimporter/convertnpcc.hpp
  type ESSImport (line 8) | namespace ESSImport

FILE: apps/essimporter/convertplayer.cpp
  type ESSImport (line 6) | namespace ESSImport
    function convertPCDT (line 9) | void convertPCDT(const PCDT& pcdt, ESM::Player& out, std::vector<std::...

FILE: apps/essimporter/convertplayer.hpp
  type ESSImport (line 9) | namespace ESSImport

FILE: apps/essimporter/convertscpt.cpp
  type ESSImport (line 7) | namespace ESSImport
    function convertSCPT (line 10) | void convertSCPT(const SCPT &scpt, ESM::GlobalScript &out)

FILE: apps/essimporter/convertscpt.hpp
  type ESSImport (line 8) | namespace ESSImport

FILE: apps/essimporter/convertscri.cpp
  function storeVariables (line 7) | void storeVariables(const std::vector<T>& variables, ESM::Locals& locals...
  type ESSImport (line 19) | namespace ESSImport
    function convertSCRI (line 22) | void convertSCRI(const SCRI &scri, ESM::Locals &locals)

FILE: apps/essimporter/convertscri.hpp
  type ESSImport (line 8) | namespace ESSImport

FILE: apps/essimporter/importacdt.cpp
  type ESSImport (line 7) | namespace ESSImport

FILE: apps/essimporter/importacdt.hpp
  type ESM (line 10) | namespace ESM
    class ESMReader (line 12) | class ESMReader
  type ESSImport (line 15) | namespace ESSImport
    type ACDTFlags (line 18) | enum ACDTFlags
    type ACSCFlags (line 24) | enum ACSCFlags
    type ACDT (line 32) | struct ACDT
    type ACSC (line 50) | struct ACSC
    type ANIS (line 58) | struct ANIS
    type ActorData (line 66) | struct ActorData : public ESM::CellRef

FILE: apps/essimporter/importcellref.cpp
  type ESSImport (line 5) | namespace ESSImport

FILE: apps/essimporter/importcellref.hpp
  type ESM (line 10) | namespace ESM
    class ESMReader (line 12) | class ESMReader
  type ESSImport (line 15) | namespace ESSImport
    type CellRef (line 18) | struct CellRef : public ActorData

FILE: apps/essimporter/importcntc.cpp
  type ESSImport (line 5) | namespace ESSImport

FILE: apps/essimporter/importcntc.hpp
  type ESM (line 6) | namespace ESM
    class ESMReader (line 8) | class ESMReader
  type ESSImport (line 11) | namespace ESSImport
    type CNTC (line 15) | struct CNTC

FILE: apps/essimporter/importcrec.cpp
  type ESSImport (line 5) | namespace ESSImport

FILE: apps/essimporter/importcrec.hpp
  type ESM (line 7) | namespace ESM
    class ESMReader (line 9) | class ESMReader
  type ESSImport (line 12) | namespace ESSImport
    type CREC (line 16) | struct CREC

FILE: apps/essimporter/importdial.cpp
  type ESSImport (line 5) | namespace ESSImport

FILE: apps/essimporter/importdial.hpp
  type ESM (line 3) | namespace ESM
    class ESMReader (line 5) | class ESMReader
  type ESSImport (line 8) | namespace ESSImport
    type DIAL (line 11) | struct DIAL

FILE: apps/essimporter/importer.cpp
  function writeScreenshot (line 37) | void writeScreenshot(const ESM::Header& fileHeader, ESM::SavedGame& out)
  type ESSImport (line 86) | namespace ESSImport
    type File (line 97) | struct File
      type Subrecord (line 99) | struct Subrecord
      type Record (line 106) | struct Record
    function read (line 116) | void read(const std::string& filename, File& file)

FILE: apps/essimporter/importer.hpp
  type ESSImport (line 6) | namespace ESSImport
    class Importer (line 9) | class Importer

FILE: apps/essimporter/importercontext.hpp
  type ESSImport (line 22) | namespace ESSImport
    type Context (line 25) | struct Context
      method Context (line 59) | Context()
      method generateActorId (line 90) | int generateActorId()

FILE: apps/essimporter/importgame.cpp
  type ESSImport (line 5) | namespace ESSImport

FILE: apps/essimporter/importgame.hpp
  type ESM (line 4) | namespace ESM
    class ESMReader (line 6) | class ESMReader
  type ESSImport (line 9) | namespace ESSImport
    type GAME (line 13) | struct GAME
      type GMDT (line 15) | struct GMDT

FILE: apps/essimporter/importinfo.cpp
  type ESSImport (line 5) | namespace ESSImport

FILE: apps/essimporter/importinfo.hpp
  type ESM (line 6) | namespace ESM
    class ESMReader (line 8) | class ESMReader
  type ESSImport (line 11) | namespace ESSImport
    type INFO (line 14) | struct INFO

FILE: apps/essimporter/importinventory.cpp
  type ESSImport (line 7) | namespace ESSImport

FILE: apps/essimporter/importinventory.hpp
  type ESM (line 12) | namespace ESM
    class ESMReader (line 14) | class ESMReader
  type ESSImport (line 17) | namespace ESSImport
    type ContItem (line 20) | struct ContItem
    type Inventory (line 26) | struct Inventory
      type InventoryItem (line 28) | struct InventoryItem : public ESM::CellRef

FILE: apps/essimporter/importjour.cpp
  type ESSImport (line 5) | namespace ESSImport

FILE: apps/essimporter/importjour.hpp
  type ESM (line 6) | namespace ESM
    class ESMReader (line 8) | class ESMReader
  type ESSImport (line 11) | namespace ESSImport
    type JOUR (line 15) | struct JOUR

FILE: apps/essimporter/importklst.cpp
  type ESSImport (line 5) | namespace ESSImport

FILE: apps/essimporter/importklst.hpp
  type ESM (line 7) | namespace ESM
    class ESMReader (line 9) | class ESMReader
  type ESSImport (line 12) | namespace ESSImport
    type KLST (line 16) | struct KLST

FILE: apps/essimporter/importnpcc.cpp
  type ESSImport (line 5) | namespace ESSImport

FILE: apps/essimporter/importnpcc.hpp
  type ESM (line 10) | namespace ESM
    class ESMReader (line 12) | class ESMReader
  type ESSImport (line 15) | namespace ESSImport
    type NPCC (line 18) | struct NPCC
      type NPDT (line 20) | struct NPDT

FILE: apps/essimporter/importplayer.cpp
  type ESSImport (line 5) | namespace ESSImport

FILE: apps/essimporter/importplayer.hpp
  type ESM (line 13) | namespace ESM
    class ESMReader (line 15) | class ESMReader
  type ESSImport (line 18) | namespace ESSImport
    type REFR (line 22) | struct REFR
    type PCDT (line 34) | struct PCDT
      type PlayerFlags (line 41) | enum PlayerFlags
      type FNAM (line 62) | struct FNAM
      type PNAM (line 72) | struct PNAM
        type MarkLocation (line 74) | struct MarkLocation
      type ENAM (line 96) | struct ENAM
      type AADT (line 102) | struct AADT // 44 bytes

FILE: apps/essimporter/importproj.cpp
  type ESSImport (line 5) | namespace ESSImport

FILE: apps/essimporter/importproj.h
  function namespace (line 8) | namespace ESM
  function namespace (line 13) | namespace ESSImport

FILE: apps/essimporter/importques.cpp
  type ESSImport (line 5) | namespace ESSImport

FILE: apps/essimporter/importques.hpp
  type ESM (line 7) | namespace ESM
    class ESMReader (line 9) | class ESMReader
  type ESSImport (line 12) | namespace ESSImport
    type QUES (line 18) | struct QUES

FILE: apps/essimporter/importscpt.cpp
  type ESSImport (line 7) | namespace ESSImport

FILE: apps/essimporter/importscpt.hpp
  type ESM (line 8) | namespace ESM
    class ESMReader (line 10) | class ESMReader
  type ESSImport (line 13) | namespace ESSImport
    type SCHD (line 16) | struct SCHD
    type SCPT (line 23) | struct SCPT

FILE: apps/essimporter/importscri.cpp
  type ESSImport (line 5) | namespace ESSImport

FILE: apps/essimporter/importscri.hpp
  type ESM (line 8) | namespace ESM
    class ESMReader (line 10) | class ESMReader
  type ESSImport (line 13) | namespace ESSImport
    type SCRI (line 17) | struct SCRI

FILE: apps/essimporter/importsplm.cpp
  type ESSImport (line 5) | namespace ESSImport

FILE: apps/essimporter/importsplm.h
  function namespace (line 8) | namespace ESM
  function namespace (line 13) | namespace ESSImport

FILE: apps/essimporter/main.cpp
  function main (line 15) | int main(int argc, char** argv)

FILE: apps/launcher/advancedpage.cpp
  function convertToCells (line 74) | double convertToCells(double unitRadius)
  function convertToUnits (line 79) | double convertToUnits(double CellGridRadius)

FILE: apps/launcher/advancedpage.hpp
  type Config (line 11) | namespace Config { class GameSettings; }
    class GameSettings (line 11) | class GameSettings
  type Launcher (line 13) | namespace Launcher
    class AdvancedPage (line 15) | class AdvancedPage : public QWidget, private Ui::AdvancedPage

FILE: apps/launcher/datafilespage.cpp
  function QStringList (line 131) | QStringList Launcher::DataFilesPage::filesInProfile(const QString& profi...
  function QStringList (line 169) | QStringList Launcher::DataFilesPage::selectedFilePaths()
  function QAbstractItemModel (line 195) | QAbstractItemModel *Launcher::DataFilesPage::profilesModel() const

FILE: apps/launcher/datafilespage.hpp
  class QSortFilterProxyModel (line 11) | class QSortFilterProxyModel
  class QAbstractItemModel (line 12) | class QAbstractItemModel
  class QMenu (line 13) | class QMenu
  type Files (line 15) | namespace Files { struct ConfigurationManager; }
    type ConfigurationManager (line 15) | struct ConfigurationManager
  type ContentSelectorView (line 16) | namespace ContentSelectorView { class ContentSelector; }
    class ContentSelector (line 16) | class ContentSelector
  type Config (line 17) | namespace Config { class GameSettings;
    class GameSettings (line 17) | class GameSettings
    class LauncherSettings (line 18) | class LauncherSettings
  type Launcher (line 20) | namespace Launcher
    class TextInputDialog (line 22) | class TextInputDialog
    class ProfilesComboBox (line 23) | class ProfilesComboBox
    class DataFilesPage (line 25) | class DataFilesPage : public QWidget
      class PathIterator (line 101) | class PathIterator
        method PathIterator (line 110) | PathIterator (const QStringList &list)
        method QString (line 117) | QString findFirstPath (const QString &file)
        method QString (line 124) | QString findNextPath () { return path(); }
        method QString (line 128) | QString path ()

FILE: apps/launcher/graphicspage.cpp
  function QString (line 20) | QString getAspect(int x, int y)
  function QStringList (line 290) | QStringList Launcher::GraphicsPage::getAvailableResolutions(int screen)
  function QRect (line 337) | QRect Launcher::GraphicsPage::getMaximumResolution()

FILE: apps/launcher/graphicspage.hpp
  type Files (line 10) | namespace Files { struct ConfigurationManager; }
    type ConfigurationManager (line 10) | struct ConfigurationManager
  type Launcher (line 12) | namespace Launcher
    class GraphicsSettings (line 14) | class GraphicsSettings
    class GraphicsPage (line 16) | class GraphicsPage : public QWidget, private Ui::GraphicsPage

FILE: apps/launcher/main.cpp
  function main (line 15) | int main(int argc, char *argv[])

FILE: apps/launcher/maindialog.cpp
  function cfgError (line 22) | void cfgError(const QString& title, const QString& msg) {

FILE: apps/launcher/maindialog.hpp
  class QListWidgetItem (line 18) | class QListWidgetItem
  class QStackedWidget (line 19) | class QStackedWidget
  class QStringList (line 20) | class QStringList
  class QStringListModel (line 21) | class QStringListModel
  class QString (line 22) | class QString
  type Launcher (line 24) | namespace Launcher
    class PlayPage (line 26) | class PlayPage
    class GraphicsPage (line 27) | class GraphicsPage
    class DataFilesPage (line 28) | class DataFilesPage
    class UnshieldThread (line 29) | class UnshieldThread
    class SettingsPage (line 30) | class SettingsPage
    class AdvancedPage (line 31) | class AdvancedPage
    type FirstRunDialogResult (line 33) | enum FirstRunDialogResult
    class MainDialog (line 44) | class MainDialog : public QMainWindow, private Ui::MainWindow
      method startProgram (line 82) | inline bool startProgram(const QString &name, bool detached = false)...

FILE: apps/launcher/playpage.hpp
  class QComboBox (line 6) | class QComboBox
  class QPushButton (line 7) | class QPushButton
  class QAbstractItemModel (line 8) | class QAbstractItemModel
  type Launcher (line 10) | namespace Launcher
    class PlayPage (line 12) | class PlayPage : public QWidget, private Ui::PlayPage

FILE: apps/launcher/sdlinit.cpp
  function initSDL (line 5) | bool initSDL()
  function quitSDL (line 20) | void quitSDL()

FILE: apps/launcher/settingspage.hpp
  type Files (line 10) | namespace Files { struct ConfigurationManager; }
    type ConfigurationManager (line 10) | struct ConfigurationManager
  type Config (line 11) | namespace Config { class GameSettings;
    class GameSettings (line 11) | class GameSettings
    class LauncherSettings (line 12) | class LauncherSettings
  type Launcher (line 14) | namespace Launcher
    class TextInputDialog (line 16) | class TextInputDialog
    class SettingsPage (line 18) | class SettingsPage : public QWidget, private Ui::SettingsPage

FILE: apps/launcher/textslotmsgbox.hpp
  type Launcher (line 6) | namespace Launcher
    class TextSlotMsgBox (line 8) | class TextSlotMsgBox : public QMessageBox

FILE: apps/launcher/utils/cellnameloader.cpp
  function QString (line 41) | QString CellNameLoader::getCellName(ESM::ESMReader &esmReader)

FILE: apps/launcher/utils/cellnameloader.hpp
  type ESM (line 9) | namespace ESM {class ESMReader; struct Cell;}
    class ESMReader (line 9) | class ESMReader
    type Cell (line 9) | struct Cell
  type ContentSelectorView (line 10) | namespace ContentSelectorView {class ContentSelector;}
    class ContentSelector (line 10) | class ContentSelector
  class CellNameLoader (line 12) | class CellNameLoader {

FILE: apps/launcher/utils/lineedit.hpp
  class QToolButton (line 17) | class QToolButton
  class LineEdit (line 19) | class LineEdit : public QLineEdit

FILE: apps/launcher/utils/openalutil.hpp
  type Launcher (line 3) | namespace Launcher

FILE: apps/launcher/utils/profilescombobox.hpp
  class QString (line 9) | class QString
  class ProfilesComboBox (line 11) | class ProfilesComboBox : public ContentSelectorView::ComboBox
  function setCurrentProfile (line 26) | void setCurrentProfile(int index)

FILE: apps/launcher/utils/textinputdialog.hpp
  class QDialogButtonBox (line 8) | class QDialogButtonBox
  type Launcher (line 10) | namespace Launcher
    class TextInputDialog (line 12) | class TextInputDialog : public QDialog
      method LineEdit (line 21) | inline LineEdit *lineEdit() { return mLineEdit; }

FILE: apps/master/MasterServer.hpp
  class MasterServer (line 9) | class MasterServer
    type Ban (line 12) | struct Ban
      type Date (line 16) | struct Date
    type SServer (line 20) | struct SServer : QueryData

FILE: apps/master/RestServer.cpp
  function ResponseStr (line 14) | inline void ResponseStr(HttpServer::Response &response, string content, ...
  function ptreeToServer (line 22) | inline void ptreeToServer(boost::property_tree::ptree &pt, MasterServer:...
  function queryToStringStream (line 33) | inline void queryToStringStream(stringstream &ss, string addr, MasterSer...

FILE: apps/master/RestServer.hpp
  class RestServer (line 11) | class RestServer

FILE: apps/master/ServerTest.cpp
  function main (line 17) | int main()

FILE: apps/master/SimpleWeb/base_server.hpp
  type case_insensitive_equals (line 20) | struct case_insensitive_equals
  type case_insensitive_hash (line 28) | struct case_insensitive_hash
  type SimpleWeb (line 41) | namespace SimpleWeb
    class Server (line 44) | class Server
    class ServerBase (line 47) | class ServerBase
      class Response (line 53) | class Response : public std::ostream
        method Response (line 61) | Response(const std::shared_ptr<socket_type> &socket) : std::ostrea...
        method size (line 65) | size_t size()
      class Content (line 77) | class Content : public std::istream
        method size (line 82) | size_t size()
        method string (line 87) | std::string string()
        method Content (line 97) | Content(boost::asio::streambuf &streambuf) : std::istream(&streamb...
      class Request (line 101) | class Request
        method Request (line 120) | Request(const socket_type &socket) : content(streambuf)
      class Config (line 134) | class Config
        method Config (line 138) | Config(unsigned short port) : port(port)
      class regex_orderable (line 161) | class regex_orderable : public std::regex
        method regex_orderable (line 165) | regex_orderable(const char *regex_cstr) : std::regex(regex_cstr), ...
        method regex_orderable (line 168) | regex_orderable(const std::string &regex_str) : std::regex(regex_s...
      method start (line 196) | virtual void start()
      method stop (line 242) | void stop()
      method send (line 250) | void send(const std::shared_ptr<Response> &response,
      method ServerBase (line 268) | ServerBase(unsigned short port) : config(port)
      method get_timeout_timer (line 273) | std::shared_ptr<boost::asio::deadline_timer>
      method read_request_and_content (line 293) | void read_request_and_content(const std::shared_ptr<socket_type> &so...
      method parse_request (line 370) | bool parse_request(const std::shared_ptr<Request> &request) const
      method find_resource (line 418) | void find_resource(const std::shared_ptr<socket_type> &socket, const...
      method write_response (line 452) | void write_response(const std::shared_ptr<socket_type> &socket, cons...

FILE: apps/master/SimpleWeb/http_server.hpp
  type SimpleWeb (line 13) | namespace SimpleWeb
    class Server (line 17) | class Server : public ServerBase<socket_type> {}
    class Server<HTTP> (line 22) | class Server<HTTP> : public ServerBase<HTTP>
      method Server (line 25) | Server() : ServerBase<HTTP>::ServerBase(80)
      method accept (line 29) | virtual void accept()

FILE: apps/master/SimpleWeb/https_server.hpp
  type SimpleWeb (line 9) | namespace SimpleWeb
    class Server<HTTPS> (line 14) | class Server<HTTPS> : public ServerBase<HTTPS>
      method Server (line 19) | Server(const std::string &cert_file, const std::string &private_key_...
      method start (line 35) | void start()
      method accept (line 53) | virtual void accept()

FILE: apps/master/main.cpp
  function main (line 14) | int main()

FILE: apps/mwiniimporter/importer.hpp
  class MwIniImporter (line 13) | class MwIniImporter {

FILE: apps/mwiniimporter/main.cpp
  class utf8argv (line 19) | class utf8argv
    method utf8argv (line 23) | utf8argv(int argc, wchar_t *wargv[])
  function wmain (line 52) | int wmain(int argc, wchar_t *wargv[]) {

FILE: apps/niftest/niftest.cpp
  function hasExtension (line 21) | bool hasExtension(std::string filename, std::string  extensionToFind)
  function isNIF (line 36) | bool isNIF(const std::string & filename)
  function isBSA (line 41) | bool isBSA(const std::string & filename)
  function readVFS (line 49) | void readVFS(VFS::Archive* anArchive,std::string archivePath = "")
  function parseOptions (line 83) | bool parseOptions (int argc, char** argv, std::vector<std::string>& files)
  function main (line 129) | int main(int argc, char **argv)

FILE: apps/opencs/Networking.cpp
  class Application (line 21) | class Application : public QApplication
    method notify (line 25) | bool notify (QObject *receiver, QEvent *event)
    method Application (line 41) | Application (int& argc, char *argv[]) : QApplication (argc, argv) {}
  function main (line 44) | int main(int argc, char *argv[])

FILE: apps/opencs/editor.hpp
  type CSMDoc (line 31) | namespace CSMDoc
    class Document (line 33) | class Document
  type CS (line 36) | namespace CS
    class Editor (line 38) | class Editor : public QObject

FILE: apps/opencs/main.cpp
  class Application (line 21) | class Application : public QApplication
    method notify (line 25) | bool notify (QObject *receiver, QEvent *event) override
    method Application (line 41) | Application (int& argc, char *argv[]) : QApplication (argc, argv) {}
  function runApplication (line 44) | int runApplication(int argc, char *argv[])
  function main (line 80) | int main(int argc, char *argv[])

FILE: apps/opencs/model/doc/blacklist.hpp
  type CSMDoc (line 10) | namespace CSMDoc
    class Blacklist (line 13) | class Blacklist

FILE: apps/opencs/model/doc/document.cpp
  function QUndoStack (line 343) | QUndoStack& CSMDoc::Document::getUndoStack()
  function QTextDocument (line 509) | QTextDocument *CSMDoc::Document::getRunLog()

FILE: apps/opencs/model/doc/document.hpp
  class QAbstractItemModel (line 26) | class QAbstractItemModel
  type Fallback (line 28) | namespace Fallback
    class Map (line 30) | class Map
  type VFS (line 33) | namespace VFS
    class Manager (line 35) | class Manager
  type ESM (line 38) | namespace ESM
    type GameSetting (line 40) | struct GameSetting
    type Global (line 41) | struct Global
    type MagicEffect (line 42) | struct MagicEffect
  type Files (line 45) | namespace Files
    type ConfigurationManager (line 47) | struct ConfigurationManager
  type CSMWorld (line 50) | namespace CSMWorld
    class ResourcesManager (line 52) | class ResourcesManager
  type CSMDoc (line 55) | namespace CSMDoc
    class Document (line 57) | class Document : public QObject

FILE: apps/opencs/model/doc/documentmanager.hpp
  type VFS (line 18) | namespace VFS
    class Manager (line 20) | class Manager
  type Files (line 23) | namespace Files
    type ConfigurationManager (line 25) | struct ConfigurationManager
  type CSMDoc (line 28) | namespace CSMDoc
    class Document (line 30) | class Document
    class DocumentManager (line 32) | class DocumentManager : public QObject

FILE: apps/opencs/model/doc/loader.cpp
  function QWaitCondition (line 21) | QWaitCondition& CSMDoc::Loader::hasThingsToDo()

FILE: apps/opencs/model/doc/loader.hpp
  type CSMDoc (line 11) | namespace CSMDoc
    class Document (line 13) | class Document
    class Loader (line 15) | class Loader : public QObject
      method Q_OBJECT (line 17) | Q_OBJECT

FILE: apps/opencs/model/doc/messages.hpp
  type CSMDoc (line 11) | namespace CSMDoc
    type Message (line 13) | struct Message
      type Severity (line 15) | enum Severity
    class Messages (line 38) | class Messages

FILE: apps/opencs/model/doc/operation.hpp
  type CSMWorld (line 13) | namespace CSMWorld
    class UniversalId (line 15) | class UniversalId
  type CSMDoc (line 18) | namespace CSMDoc
    class Stage (line 20) | class Stage
    class Operation (line 22) | class Operation : public QObject

FILE: apps/opencs/model/doc/operationholder.hpp
  type CSMWorld (line 9) | namespace CSMWorld
    class UniversalId (line 11) | class UniversalId
  type CSMDoc (line 14) | namespace CSMDoc
    class Operation (line 16) | class Operation
    class OperationHolder (line 18) | class OperationHolder : public QObject

FILE: apps/opencs/model/doc/runner.cpp
  function QTextDocument (line 137) | QTextDocument *CSMDoc::Runner::getLog()

FILE: apps/opencs/model/doc/runner.hpp
  class QTemporaryFile (line 15) | class QTemporaryFile
  type CSMDoc (line 17) | namespace CSMDoc
    class OperationHolder (line 19) | class OperationHolder
    class Runner (line 21) | class Runner : public QObject
    class Operation (line 67) | class Operation
    class SaveWatcher (line 70) | class SaveWatcher : public QObject

FILE: apps/opencs/model/doc/saving.hpp
  type CSMDoc (line 11) | namespace CSMDoc
    class Document (line 13) | class Document
    class Saving (line 15) | class Saving : public Operation

FILE: apps/opencs/model/doc/savingstages.hpp
  type ESM (line 14) | namespace ESM
    type Dialogue (line 16) | struct Dialogue
  type CSMWorld (line 19) | namespace CSMWorld
    class InfoCollection (line 21) | class InfoCollection
  type CSMDoc (line 24) | namespace CSMDoc
    class Document (line 26) | class Document
    class SavingState (line 27) | class SavingState
    class OpenSaveStage (line 29) | class OpenSaveStage : public Stage
    class WriteHeaderStage (line 47) | class WriteHeaderStage : public Stage
    class WriteCollectionStage (line 67) | class WriteCollectionStage : public Stage
    class WriteDialogueCollectionStage (line 118) | class WriteDialogueCollectionStage : public Stage
    class WriteRefIdCollectionStage (line 136) | class WriteRefIdCollectionStage : public Stage
    class CollectionReferencesStage (line 153) | class CollectionReferencesStage : public Stage
    class WriteCellCollectionStage (line 169) | class WriteCellCollectionStage : public Stage
    class WritePathgridCollectionStage (line 186) | class WritePathgridCollectionStage : public Stage
    class WriteLandCollectionStage (line 203) | class WriteLandCollectionStage : public Stage
    class WriteLandTextureCollectionStage (line 220) | class WriteLandTextureCollectionStage : public Stage
    class CloseSaveStage (line 236) | class CloseSaveStage : public Stage
    class FinalSavingStage (line 251) | class FinalSavingStage : public Stage

FILE: apps/opencs/model/doc/savingstate.hpp
  type CSMDoc (line 15) | namespace CSMDoc
    class Operation (line 17) | class Operation
    class Document (line 18) | class Document
    class SavingState (line 20) | class SavingState

FILE: apps/opencs/model/doc/stage.hpp
  class QString (line 11) | class QString
  type CSMDoc (line 13) | namespace CSMDoc
    class Stage (line 15) | class Stage

FILE: apps/opencs/model/doc/state.hpp
  type CSMDoc (line 4) | namespace CSMDoc
    type State (line 6) | enum State

FILE: apps/opencs/model/filter/andnode.hpp
  type CSMFilter (line 6) | namespace CSMFilter
    class AndNode (line 8) | class AndNode : public NAryNode

FILE: apps/opencs/model/filter/booleannode.hpp
  type CSMFilter (line 6) | namespace CSMFilter
    class BooleanNode (line 8) | class BooleanNode : public LeafNode

FILE: apps/opencs/model/filter/leafnode.hpp
  type CSMFilter (line 8) | namespace CSMFilter
    class LeafNode (line 10) | class LeafNode : public Node

FILE: apps/opencs/model/filter/narynode.hpp
  type CSMFilter (line 9) | namespace CSMFilter
    class NAryNode (line 11) | class NAryNode : public Node

FILE: apps/opencs/model/filter/node.hpp
  type CSMWorld (line 11) | namespace CSMWorld
    class IdTableBase (line 13) | class IdTableBase
  type CSMFilter (line 16) | namespace CSMFilter
    class Node (line 22) | class Node

FILE: apps/opencs/model/filter/notnode.hpp
  type CSMFilter (line 6) | namespace CSMFilter
    class NotNode (line 8) | class NotNode : public UnaryNode

FILE: apps/opencs/model/filter/ornode.hpp
  type CSMFilter (line 6) | namespace CSMFilter
    class OrNode (line 8) | class OrNode : public NAryNode

FILE: apps/opencs/model/filter/parser.cpp
  type CSMFilter (line 20) | namespace CSMFilter
    type Token (line 22) | struct Token
      type Type (line 24) | enum Type

FILE: apps/opencs/model/filter/parser.hpp
  type CSMWorld (line 6) | namespace CSMWorld
    class Data (line 8) | class Data
  type CSMFilter (line 11) | namespace CSMFilter
    type Token (line 13) | struct Token
    class Parser (line 15) | class Parser

FILE: apps/opencs/model/filter/textnode.hpp
  type CSMFilter (line 6) | namespace CSMFilter
    class TextNode (line 8) | class TextNode : public LeafNode

FILE: apps/opencs/model/filter/unarynode.hpp
  type CSMFilter (line 6) | namespace CSMFilter
    class UnaryNode (line 8) | class UnaryNode : public Node

FILE: apps/opencs/model/filter/valuenode.hpp
  type CSMFilter (line 6) | namespace CSMFilter
    class ValueNode (line 8) | class ValueNode : public LeafNode
      type Type (line 12) | enum Type

FILE: apps/opencs/model/prefs/boolsetting.hpp
  class QCheckBox (line 6) | class QCheckBox
  type CSMPrefs (line 8) | namespace CSMPrefs
    class BoolSetting (line 10) | class BoolSetting : public Setting

FILE: apps/opencs/model/prefs/category.hpp
  type CSMPrefs (line 7) | namespace CSMPrefs
    class State (line 9) | class State
    class Setting (line 10) | class Setting
    class Category (line 12) | class Category

FILE: apps/opencs/model/prefs/coloursetting.hpp
  type CSVWidget (line 8) | namespace CSVWidget
    class ColorEditor (line 10) | class ColorEditor
  type CSMPrefs (line 13) | namespace CSMPrefs
    class ColourSetting (line 15) | class ColourSetting : public Setting

FILE: apps/opencs/model/prefs/doublesetting.hpp
  class QDoubleSpinBox (line 6) | class QDoubleSpinBox
  type CSMPrefs (line 8) | namespace CSMPrefs
    class DoubleSetting (line 10) | class DoubleSetting : public Setting

FILE: apps/opencs/model/prefs/enumsetting.hpp
  class QComboBox (line 8) | class QComboBox
  type CSMPrefs (line 10) | namespace CSMPrefs
    type EnumValue (line 12) | struct EnumValue
    type EnumValues (line 22) | struct EnumValues
    class EnumSetting (line 33) | class EnumSetting : public Setting

FILE: apps/opencs/model/prefs/intsetting.hpp
  class QSpinBox (line 6) | class QSpinBox
  type CSMPrefs (line 8) | namespace CSMPrefs
    class IntSetting (line 10) | class IntSetting : public Setting

FILE: apps/opencs/model/prefs/modifiersetting.cpp
  type CSMPrefs (line 13) | namespace CSMPrefs

FILE: apps/opencs/model/prefs/modifiersetting.hpp
  class QEvent (line 8) | class QEvent
  class QPushButton (line 9) | class QPushButton
  type CSMPrefs (line 11) | namespace CSMPrefs
    class ModifierSetting (line 13) | class ModifierSetting : public Setting

FILE: apps/opencs/model/prefs/setting.cpp
  function QMutex (line 15) | QMutex *CSMPrefs::Setting::getMutex()
  function QColor (line 76) | QColor CSMPrefs::Setting::toColor() const

FILE: apps/opencs/model/prefs/setting.hpp
  class QWidget (line 9) | class QWidget
  class QColor (line 10) | class QColor
  class QMutex (line 11) | class QMutex
  type Settings (line 13) | namespace Settings
    class Manager (line 15) | class Manager
  type CSMPrefs (line 18) | namespace CSMPrefs
    class Category (line 20) | class Category
    class Setting (line 22) | class Setting : public QObject

FILE: apps/opencs/model/prefs/shortcut.cpp
  type CSMPrefs (line 13) | namespace CSMPrefs
    function QKeySequence (line 106) | const QKeySequence& Shortcut::getSequence() const
    function QString (line 214) | QString Shortcut::toString() const

FILE: apps/opencs/model/prefs/shortcut.hpp
  class QAction (line 10) | class QAction
  class QWidget (line 11) | class QWidget
  type CSMPrefs (line 13) | namespace CSMPrefs
    class Shortcut (line 16) | class Shortcut : public QObject
      type SecondaryMode (line 29) | enum SecondaryMode

FILE: apps/opencs/model/prefs/shortcuteventhandler.cpp
  type CSMPrefs (line 13) | namespace CSMPrefs

FILE: apps/opencs/model/prefs/shortcuteventhandler.hpp
  class QEvent (line 9) | class QEvent
  class QWidget (line 10) | class QWidget
  type CSMPrefs (line 12) | namespace CSMPrefs
    class Shortcut (line 14) | class Shortcut
    class ShortcutEventHandler (line 17) | class ShortcutEventHandler : public QObject
      type MatchResult (line 39) | enum MatchResult

FILE: apps/opencs/model/prefs/shortcutmanager.cpp
  type CSMPrefs (line 11) | namespace CSMPrefs
    function QString (line 289) | QString ShortcutManager::processToolTip(const QString& toolTip) const

FILE: apps/opencs/model/prefs/shortcutmanager.hpp
  type CSMPrefs (line 10) | namespace CSMPrefs
    class Shortcut (line 12) | class Shortcut
    class ShortcutEventHandler (line 13) | class ShortcutEventHandler
    class ShortcutManager (line 16) | class ShortcutManager : public QObject

FILE: apps/opencs/model/prefs/shortcutsetting.cpp
  type CSMPrefs (line 14) | namespace CSMPrefs

FILE: apps/opencs/model/prefs/shortcutsetting.hpp
  class QEvent (line 8) | class QEvent
  class QPushButton (line 9) | class QPushButton
  type CSMPrefs (line 11) | namespace CSMPrefs
    class ShortcutSetting (line 13) | class ShortcutSetting : public Setting

FILE: apps/opencs/model/prefs/state.hpp
  class QColor (line 22) | class QColor
  type CSMPrefs (line 24) | namespace CSMPrefs
    class IntSetting (line 26) | class IntSetting
    class DoubleSetting (line 27) | class DoubleSetting
    class BoolSetting (line 28) | class BoolSetting
    class ColourSetting (line 29) | class ColourSetting
    class ShortcutSetting (line 30) | class ShortcutSetting
    class ModifierSetting (line 31) | class ModifierSetting
    class State (line 37) | class State : public QObject

FILE: apps/opencs/model/prefs/stringsetting.hpp
  class QLineEdit (line 6) | class QLineEdit
  type CSMPrefs (line 8) | namespace CSMPrefs
    class StringSetting (line 10) | class StringSetting : public Setting

FILE: apps/opencs/model/tools/birthsigncheck.hpp
  type CSMTools (line 11) | namespace CSMTools
    class BirthsignCheckStage (line 14) | class BirthsignCheckStage : public CSMDoc::Stage

FILE: apps/opencs/model/tools/bodypartcheck.hpp
  type CSMTools (line 12) | namespace CSMTools
    class BodyPartCheckStage (line 15) | class BodyPartCheckStage : public CSMDoc::Stage

FILE: apps/opencs/model/tools/classcheck.hpp
  type CSMTools (line 10) | namespace CSMTools
    class ClassCheckStage (line 13) | class ClassCheckStage : public CSMDoc::Stage

FILE: apps/opencs/model/tools/enchantmentcheck.hpp
  type CSMTools (line 10) | namespace CSMTools
    class EnchantmentCheckStage (line 13) | class EnchantmentCheckStage : public CSMDoc::Stage

FILE: apps/opencs/model/tools/factioncheck.hpp
  type CSMTools (line 10) | namespace CSMTools
    class FactionCheckStage (line 13) | class FactionCheckStage : public CSMDoc::Stage

FILE: apps/opencs/model/tools/gmstcheck.hpp
  type CSMTools (line 10) | namespace CSMTools
    class GmstCheckStage (line 13) | class GmstCheckStage : public CSMDoc::Stage

FILE: apps/opencs/model/tools/journalcheck.hpp
  type CSMTools (line 11) | namespace CSMTools
    class JournalCheckStage (line 14) | class JournalCheckStage : public CSMDoc::Stage

FILE: apps/opencs/model/tools/magiceffectcheck.hpp
  type CSMTools (line 13) | namespace CSMTools
    class MagicEffectCheckStage (line 16) | class MagicEffectCheckStage : public CSMDoc::Stage

FILE: apps/opencs/model/tools/mandatoryid.hpp
  type CSMWorld (line 11) | namespace CSMWorld
    class CollectionBase (line 13) | class CollectionBase
  type CSMTools (line 16) | namespace CSMTools
    class MandatoryIdStage (line 19) | class MandatoryIdStage : public CSMDoc::Stage

FILE: apps/opencs/model/tools/mergeoperation.hpp
  type CSMDoc (line 12) | namespace CSMDoc
    class Document (line 14) | class Document
  type CSMTools (line 17) | namespace CSMTools
    class MergeOperation (line 19) | class MergeOperation : public CSMDoc::Operation

FILE: apps/opencs/model/tools/mergestages.hpp
  type CSMTools (line 15) | namespace CSMTools
    class StartMergeStage (line 17) | class StartMergeStage : public CSMDoc::Stage
    class FinishMergedDocumentStage (line 32) | class FinishMergedDocumentStage : public CSMDoc::Stage
    class MergeIdCollectionStage (line 49) | class MergeIdCollectionStage : public CSMDoc::Stage
    class MergeRefIdsStage (line 88) | class MergeRefIdsStage : public CSMDoc::Stage
    class MergeReferencesStage (line 103) | class MergeReferencesStage : public CSMDoc::Stage
    class PopulateLandTexturesMergeStage (line 120) | class PopulateLandTexturesMergeStage : public CSMDoc::Stage
    class MergeLandStage (line 135) | class MergeLandStage : public CSMDoc::Stage
    class FixLandsAndLandTexturesMergeStage (line 152) | class FixLandsAndLandTexturesMergeStage : public CSMDoc::Stage
    class CleanupLandTexturesMergeStage (line 169) | class CleanupLandTexturesMergeStage : public CSMDoc::Stage

FILE: apps/opencs/model/tools/mergestate.hpp
  type CSMTools (line 11) | namespace CSMTools
    type MergeState (line 13) | struct MergeState
      method MergeState (line 20) | MergeState (CSMDoc::Document& source) : mSource (source), mCompleted...

FILE: apps/opencs/model/tools/pathgridcheck.hpp
  type CSMWorld (line 8) | namespace CSMWorld
    type Pathgrid (line 10) | struct Pathgrid
    class SubCellCollection (line 12) | class SubCellCollection
  type CSMTools (line 15) | namespace CSMTools
    type Point (line 17) | struct Point
      method Point (line 21) | Point() : mConnectionNum(0), mOtherIndex(0) {}
    class PathgridCheckStage (line 24) | class PathgridCheckStage : public CSMDoc::Stage

FILE: apps/opencs/model/tools/racecheck.hpp
  type CSMTools (line 10) | namespace CSMTools
    class RaceCheckStage (line 13) | class RaceCheckStage : public CSMDoc::Stage

FILE: apps/opencs/model/tools/referenceablecheck.hpp
  type CSMTools (line 10) | namespace CSMTools
    class ReferenceableCheckStage (line 12) | class ReferenceableCheckStage : public CSMDoc::Stage

FILE: apps/opencs/model/tools/referencecheck.hpp
  type CSMTools (line 7) | namespace CSMTools
    class ReferenceCheckStage (line 9) | class ReferenceCheckStage : public CSMDoc::Stage

FILE: apps/opencs/model/tools/regioncheck.hpp
  type CSMTools (line 10) | namespace CSMTools
    class RegionCheckStage (line 13) | class RegionCheckStage : public CSMDoc::Stage

FILE: apps/opencs/model/tools/reportmodel.cpp
  function QVariant (line 38) | QVariant CSMTools::ReportModel::data (const QModelIndex & index, int rol...
  function QVariant (line 98) | QVariant CSMTools::ReportModel::headerData (int section, Qt::Orientation...

FILE: apps/opencs/model/tools/reportmodel.hpp
  type CSMTools (line 13) | namespace CSMTools
    class ReportModel (line 15) | class ReportModel : public QAbstractTableModel
      type Columns (line 22) | enum Columns

FILE: apps/opencs/model/tools/scriptcheck.hpp
  type CSMDoc (line 11) | namespace CSMDoc
    class Document (line 13) | class Document
  type CSMTools (line 16) | namespace CSMTools
    class ScriptCheckStage (line 19) | class ScriptCheckStage : public CSMDoc::Stage, private Compiler::Error...
      type WarningMode (line 21) | enum WarningMode

FILE: apps/opencs/model/tools/search.cpp
  function QString (line 86) | QString CSMTools::Search::formatDescription (const QString& description,...
  function QString (line 109) | QString CSMTools::Search::flatten (const QString& text) const

FILE: apps/opencs/model/tools/search.hpp
  class QModelIndex (line 10) | class QModelIndex
  type CSMDoc (line 12) | namespace CSMDoc
    class Messages (line 14) | class Messages
    class Document (line 15) | class Document
  type CSMWorld (line 18) | namespace CSMWorld
    class IdTableBase (line 20) | class IdTableBase
    class UniversalId (line 21) | class UniversalId
  type CSMTools (line 24) | namespace CSMTools
    class Search (line 26) | class Search
      type Type (line 30) | enum Type

FILE: apps/opencs/model/tools/searchoperation.hpp
  type CSMDoc (line 8) | namespace CSMDoc
    class Document (line 10) | class Document
  type CSMTools (line 13) | namespace CSMTools
    class SearchStage (line 15) | class SearchStage
    class SearchOperation (line 17) | class SearchOperation : public CSMDoc::Operation

FILE: apps/opencs/model/tools/searchstage.hpp
  type CSMWorld (line 8) | namespace CSMWorld
    class IdTableBase (line 10) | class IdTableBase
  type CSMTools (line 13) | namespace CSMTools
    class SearchOperation (line 15) | class SearchOperation
    class SearchStage (line 17) | class SearchStage : public CSMDoc::Stage

FILE: apps/opencs/model/tools/skillcheck.hpp
  type CSMTools (line 10) | namespace CSMTools
    class SkillCheckStage (line 13) | class SkillCheckStage : public CSMDoc::Stage

FILE: apps/opencs/model/tools/soundcheck.hpp
  type CSMTools (line 11) | namespace CSMTools
    class SoundCheckStage (line 14) | class SoundCheckStage : public CSMDoc::Stage

FILE: apps/opencs/model/tools/soundgencheck.hpp
  type CSMTools (line 8) | namespace CSMTools
    class SoundGenCheckStage (line 11) | class SoundGenCheckStage : public CSMDoc::Stage

FILE: apps/opencs/model/tools/spellcheck.hpp
  type CSMTools (line 10) | namespace CSMTools
    class SpellCheckStage (line 13) | class SpellCheckStage : public CSMDoc::Stage

FILE: apps/opencs/model/tools/startscriptcheck.hpp
  type CSMTools (line 11) | namespace CSMTools
    class StartScriptCheckStage (line 13) | class StartScriptCheckStage : public CSMDoc::Stage

FILE: apps/opencs/model/tools/tools.hpp
  type CSMWorld (line 15) | namespace CSMWorld
    class Data (line 17) | class Data
    class UniversalId (line 18) | class UniversalId
  type CSMDoc (line 21) | namespace CSMDoc
    class Operation (line 23) | class Operation
    class Document (line 24) | class Document
  type CSMTools (line 27) | namespace CSMTools
    class ReportModel (line 29) | class ReportModel
    class Search (line 30) | class Search
    class SearchOperation (line 31) | class SearchOperation
    class MergeOperation (line 32) | class MergeOperation
    class Tools (line 34) | class Tools : public QObject

FILE: apps/opencs/model/tools/topicinfocheck.hpp
  type CSMTools (line 22) | namespace CSMTools
    class TopicInfoCheckStage (line 25) | class TopicInfoCheckStage : public CSMDoc::Stage

FILE: apps/opencs/model/world/actoradapter.cpp
  type CSMWorld (line 12) | namespace CSMWorld
    function QModelIndex (line 413) | QModelIndex ActorAdapter::getHighestIndex(QModelIndex index) const

FILE: apps/opencs/model/world/actoradapter.hpp
  type ESM (line 18) | namespace ESM
    type Race (line 20) | struct Race
  type CSMWorld (line 23) | namespace CSMWorld
    class Data (line 25) | class Data
    class ActorAdapter (line 29) | class ActorAdapter : public QObject
      class RaceData (line 43) | class RaceData
      class ActorData (line 82) | class ActorData
      method ActorAdapter (line 147) | ActorAdapter(const ActorAdapter&) = delete;
      method ActorAdapter (line 148) | ActorAdapter& operator=(const ActorAdapter&) = delete;

FILE: apps/opencs/model/world/cell.hpp
  type CSMWorld (line 9) | namespace CSMWorld
    type Cell (line 15) | struct Cell : public ESM::Cell

FILE: apps/opencs/model/world/cellcoordinates.hpp
  type CSMWorld (line 12) | namespace CSMWorld
    class CellCoordinates (line 14) | class CellCoordinates

FILE: apps/opencs/model/world/cellselection.hpp
  type CSMWorld (line 10) | namespace CSMWorld
    class CellSelection (line 15) | class CellSelection

FILE: apps/opencs/model/world/collection.hpp
  type CSMWorld (line 22) | namespace CSMWorld
    type IdAccessor (line 26) | struct IdAccessor
    class Collection (line 79) | class Collection : public CollectionBase
    function QVariant (line 389) | QVariant Collection<ESXRecordT, IdAccessorT>::getData (int index, int ...
    function ColumnBase (line 401) | const ColumnBase& Collection<ESXRecordT, IdAccessorT>::getColumn (int ...
    function NestableColumn (line 407) | NestableColumn *Collection<ESXRecordT, IdAccessorT>::getNestableColumn...

FILE: apps/opencs/model/world/collectionbase.hpp
  class QVariant (line 10) | class QVariant
  type CSMWorld (line 12) | namespace CSMWorld
    type ColumnBase (line 14) | struct ColumnBase
    type RecordBase (line 15) | struct RecordBase
    class CollectionBase (line 23) | class CollectionBase

FILE: apps/opencs/model/world/columnbase.hpp
  type CSMWorld (line 13) | namespace CSMWorld
    type ColumnBase (line 15) | struct ColumnBase
      type TableEditModes (line 17) | enum TableEditModes
      type Roles (line 24) | enum Roles
      type Flags (line 31) | enum Flags
      type Display (line 39) | enum Display
    class NestableColumn (line 176) | class NestableColumn : public ColumnBase
    type Column (line 194) | struct Column : public NestableColumn
      method Column (line 196) | Column (int columnId, Display displayType, int flags = Flag_Table | ...
      method set (line 201) | virtual void set (Record<ESXRecordT>& record, const QVariant& data)
    type NestedParentColumn (line 208) | struct NestedParentColumn : public Column<ESXRecordT>
      method NestedParentColumn (line 210) | NestedParentColumn (int id, int flags = ColumnBase::Flag_Dialogue, b...
      method set (line 214) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method QVariant (line 220) | QVariant get (const Record<ESXRecordT>& record) const override
      method isEditable (line 229) | bool isEditable() const override
    type NestedChildColumn (line 238) | struct NestedChildColumn : public NestableColumn

FILE: apps/opencs/model/world/columnimp.cpp
  type CSMWorld (line 6) | namespace CSMWorld
    function QVariant (line 14) | QVariant LandTextureNicknameColumn::get(const Record<LandTexture>& rec...
    function QVariant (line 37) | QVariant LandTextureIndexColumn::get(const Record<LandTexture>& record...
    function QVariant (line 53) | QVariant LandPluginIndexColumn::get(const Record<Land>& record) const
    function QVariant (line 69) | QVariant LandTexturePluginIndexColumn::get(const Record<LandTexture>& ...
    function QVariant (line 85) | QVariant LandNormalsColumn::get(const Record<Land>& record) const
    function QVariant (line 132) | QVariant LandHeightsColumn::get(const Record<Land>& record) const
    function QVariant (line 179) | QVariant LandColoursColumn::get(const Record<Land>& record) const
    function QVariant (line 226) | QVariant LandTexturesColumn::get(const Record<Land>& record) const
    function QVariant (line 272) | QVariant BodyPartRaceColumn::get(const Record<ESM::BodyPart> &record) ...

FILE: apps/opencs/model/world/columnimp.hpp
  type CSMWorld (line 23) | namespace CSMWorld
    type FloatValueColumn (line 27) | struct FloatValueColumn : public Column<ESXRecordT>
      method FloatValueColumn (line 29) | FloatValueColumn() : Column<ESXRecordT> (Columns::ColumnId_Value, Co...
      method QVariant (line 31) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 36) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 43) | bool isEditable() const override
    type StringIdColumn (line 50) | struct StringIdColumn : public Column<ESXRecordT>
      method StringIdColumn (line 52) | StringIdColumn (bool hidden = false)
      method QVariant (line 57) | QVariant get (const Record<ESXRecordT>& record) const override
      method isEditable (line 62) | bool isEditable() const override
    function QVariant (line 69) | inline QVariant StringIdColumn<Land>::get(const Record<Land>& record) ...
    function QVariant (line 76) | inline QVariant StringIdColumn<LandTexture>::get(const Record<LandText...
    type RecordStateColumn (line 83) | struct RecordStateColumn : public Column<ESXRecordT>
      method RecordStateColumn (line 85) | RecordStateColumn()
      method QVariant (line 89) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 97) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 102) | bool isEditable() const override
      method isUserEditable (line 107) | bool isUserEditable() const override
    type FixedRecordTypeColumn (line 114) | struct FixedRecordTypeColumn : public Column<ESXRecordT>
      method FixedRecordTypeColumn (line 118) | FixedRecordTypeColumn (int type)
      method QVariant (line 123) | QVariant get (const Record<ESXRecordT>& record) const override
      method isEditable (line 128) | bool isEditable() const override
    type VarTypeColumn (line 136) | struct VarTypeColumn : public Column<ESXRecordT>
      method VarTypeColumn (line 138) | VarTypeColumn (ColumnBase::Display display)
      method QVariant (line 142) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 147) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 154) | bool isEditable() const override
    type VarValueColumn (line 162) | struct VarValueColumn : public Column<ESXRecordT>
      method VarValueColumn (line 164) | VarValueColumn() : Column<ESXRecordT> (Columns::ColumnId_Value, Colu...
      method QVariant (line 166) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 188) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 217) | bool isEditable() const override
    type DescriptionColumn (line 224) | struct DescriptionColumn : public Column<ESXRecordT>
      method DescriptionColumn (line 226) | DescriptionColumn()
      method QVariant (line 230) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 235) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 244) | bool isEditable() const override
    type SpecialisationColumn (line 251) | struct SpecialisationColumn : public Column<ESXRecordT>
      method SpecialisationColumn (line 253) | SpecialisationColumn()
      method QVariant (line 257) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 262) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 271) | bool isEditable() const override
    type UseValueColumn (line 278) | struct UseValueColumn : public Column<ESXRecordT>
      method UseValueColumn (line 282) | UseValueColumn (int index)
      method QVariant (line 287) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 292) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 301) | bool isEditable() const override
    type AttributeColumn (line 308) | struct AttributeColumn : public Column<ESXRecordT>
      method AttributeColumn (line 310) | AttributeColumn()
      method QVariant (line 314) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 319) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 328) | bool isEditable() const override
    type NameColumn (line 335) | struct NameColumn : public Column<ESXRecordT>
      method NameColumn (line 337) | NameColumn() : Column<ESXRecordT> (Columns::ColumnId_Name, ColumnBas...
      method QVariant (line 339) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 344) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 353) | bool isEditable() const override
    type AttributesColumn (line 360) | struct AttributesColumn : public Column<ESXRecordT>
      method AttributesColumn (line 364) | AttributesColumn (int index)
      method QVariant (line 369) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 374) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 383) | bool isEditable() const override
    type SkillsColumn (line 390) | struct SkillsColumn : public Column<ESXRecordT>
      method SkillsColumn (line 395) | SkillsColumn (int index, bool typePrefix = false, bool major = false)
      method QVariant (line 402) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 409) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 428) | bool isEditable() const override
    type PlayableColumn (line 435) | struct PlayableColumn : public Column<ESXRecordT>
      method PlayableColumn (line 437) | PlayableColumn() : Column<ESXRecordT> (Columns::ColumnId_Playable, C...
      method QVariant (line 440) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 445) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 454) | bool isEditable() const override
    type HiddenColumn (line 461) | struct HiddenColumn : public Column<ESXRecordT>
      method HiddenColumn (line 463) | HiddenColumn() : Column<ESXRecordT> (Columns::ColumnId_Hidden, Colum...
      method QVariant (line 465) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 470) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 479) | bool isEditable() const override
    type FlagColumn (line 486) | struct FlagColumn : public Column<ESXRecordT>
      method FlagColumn (line 491) | FlagColumn (int columnId, int mask,
      method QVariant (line 497) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 507) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 521) | bool isEditable() const override
    type FlagColumn2 (line 528) | struct FlagColumn2 : public Column<ESXRecordT>
      method FlagColumn2 (line 533) | FlagColumn2 (int columnId, int mask, bool inverted = false)
      method QVariant (line 538) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 548) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 562) | bool isEditable() const override
    type WeightHeightColumn (line 569) | struct WeightHeightColumn : public Column<ESXRecordT>
      method WeightHeightColumn (line 574) | WeightHeightColumn (bool male, bool weight)
      method QVariant (line 582) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 590) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 602) | bool isEditable() const override
    type SoundParamColumn (line 609) | struct SoundParamColumn : public Column<ESXRecordT>
      type Type (line 611) | enum Type
      method SoundParamColumn (line 620) | SoundParamColumn (Type type)
      method QVariant (line 627) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 641) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 662) | bool isEditable() const override
    type SoundFileColumn (line 669) | struct SoundFileColumn : public Column<ESXRecordT>
      method SoundFileColumn (line 671) | SoundFileColumn()
      method QVariant (line 675) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 680) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 689) | bool isEditable() const override
    type MapColourColumn (line 696) | struct MapColourColumn : public Column<ESXRecordT>
      method MapColourColumn (line 698) | MapColourColumn()
      method QVariant (line 702) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 707) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 714) | bool isEditable() const override
    type SleepListColumn (line 721) | struct SleepListColumn : public Column<ESXRecordT>
      method SleepListColumn (line 723) | SleepListColumn()
      method QVariant (line 727) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 732) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 741) | bool isEditable() const override
    type TextureColumn (line 748) | struct TextureColumn : public Column<ESXRecordT>
      method TextureColumn (line 750) | TextureColumn() : Column<ESXRecordT> (Columns::ColumnId_Texture, Col...
      method QVariant (line 752) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 757) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 766) | bool isEditable() const override
    type SpellTypeColumn (line 773) | struct SpellTypeColumn : public Column<ESXRecordT>
      method SpellTypeColumn (line 775) | SpellTypeColumn()
      method QVariant (line 779) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 784) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 793) | bool isEditable() const override
    type CostColumn (line 800) | struct CostColumn : public Column<ESXRecordT>
      method CostColumn (line 802) | CostColumn() : Column<ESXRecordT> (Columns::ColumnId_Cost, ColumnBas...
      method QVariant (line 804) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 809) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 816) | bool isEditable() const override
    type ScriptColumn (line 823) | struct ScriptColumn : public Column<ESXRecordT>
      type Type (line 825) | enum Type
      method ScriptColumn (line 832) | ScriptColumn (Type type)
      method QVariant (line 838) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 843) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 852) | bool isEditable() const override
    type RegionColumn (line 859) | struct RegionColumn : public Column<ESXRecordT>
      method RegionColumn (line 861) | RegionColumn() : Column<ESXRecordT> (Columns::ColumnId_Region, Colum...
      method QVariant (line 863) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 868) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 877) | bool isEditable() const override
    type CellColumn (line 884) | struct CellColumn : public Column<ESXRecordT>
      method CellColumn (line 889) | CellColumn (bool blocked = false)
      method QVariant (line 894) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 899) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 908) | bool isEditable() const override
      method isUserEditable (line 913) | bool isUserEditable() const override
    type OriginalCellColumn (line 920) | struct OriginalCellColumn : public Column<ESXRecordT>
      method OriginalCellColumn (line 922) | OriginalCellColumn()
      method QVariant (line 926) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 931) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 940) | bool isEditable() const override
      method isUserEditable (line 945) | bool isUserEditable() const override
    type IdColumn (line 952) | struct IdColumn : public Column<ESXRecordT>
      method IdColumn (line 954) | IdColumn() : Column<ESXRecordT> (Columns::ColumnId_ReferenceableId,
      method QVariant (line 957) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 962) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 971) | bool isEditable() const override
    type ScaleColumn (line 978) | struct ScaleColumn : public Column<ESXRecordT>
      method ScaleColumn (line 980) | ScaleColumn() : Column<ESXRecordT> (Columns::ColumnId_Scale, ColumnB...
      method QVariant (line 982) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 987) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 994) | bool isEditable() const override
    type OwnerColumn (line 1001) | struct OwnerColumn : public Column<ESXRecordT>
      method OwnerColumn (line 1003) | OwnerColumn() : Column<ESXRecordT> (Columns::ColumnId_Owner, ColumnB...
      method QVariant (line 1005) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 1010) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 1019) | bool isEditable() const override
    type SoulColumn (line 1026) | struct SoulColumn : public Column<ESXRecordT>
      method SoulColumn (line 1028) | SoulColumn() : Column<ESXRecordT> (Columns::ColumnId_Soul, ColumnBas...
      method QVariant (line 1030) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 1035) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 1044) | bool isEditable() const override
    type FactionColumn (line 1051) | struct FactionColumn : public Column<ESXRecordT>
      method FactionColumn (line 1053) | FactionColumn() : Column<ESXRecordT> (Columns::ColumnId_Faction, Col...
      method QVariant (line 1055) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 1060) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 1069) | bool isEditable() const override
    type FactionIndexColumn (line 1076) | struct FactionIndexColumn : public Column<ESXRecordT>
      method FactionIndexColumn (line 1078) | FactionIndexColumn()
      method QVariant (line 1082) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 1087) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 1094) | bool isEditable() const override
    type ChargesColumn (line 1101) | struct ChargesColumn : public Column<ESXRecordT>
      method ChargesColumn (line 1103) | ChargesColumn() : Column<ESXRecordT> (Columns::ColumnId_Charges, Col...
      method QVariant (line 1105) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 1110) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 1117) | bool isEditable() const override
    type EnchantmentChargesColumn (line 1124) | struct EnchantmentChargesColumn : public Column<ESXRecordT>
      method EnchantmentChargesColumn (line 1126) | EnchantmentChargesColumn()
      method QVariant (line 1130) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 1135) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 1142) | bool isEditable() const override
    type GoldValueColumn (line 1149) | struct GoldValueColumn : public Column<ESXRecordT>
      method GoldValueColumn (line 1151) | GoldValueColumn()
      method QVariant (line 1154) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 1159) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 1166) | bool isEditable() const override
    type TeleportColumn (line 1173) | struct TeleportColumn : public Column<ESXRecordT>
      method TeleportColumn (line 1175) | TeleportColumn()
      method QVariant (line 1179) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 1184) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 1193) | bool isEditable() const override
    type TeleportCellColumn (line 1200) | struct TeleportCellColumn : public Column<ESXRecordT>
      method TeleportCellColumn (line 1202) | TeleportCellColumn()
      method QVariant (line 1206) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 1211) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 1220) | bool isEditable() const override
      method isUserEditable (line 1225) | bool isUserEditable() const override
    type LockLevelColumn (line 1232) | struct LockLevelColumn : public Column<ESXRecordT>
      method LockLevelColumn (line 1234) | LockLevelColumn()
      method QVariant (line 1238) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 1243) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 1250) | bool isEditable() const override
    type KeyColumn (line 1257) | struct KeyColumn : public Column<ESXRecordT>
      method KeyColumn (line 1259) | KeyColumn() : Column<ESXRecordT> (Columns::ColumnId_Key, ColumnBase:...
      method QVariant (line 1261) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 1266) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 1275) | bool isEditable() const override
    type TrapColumn (line 1282) | struct TrapColumn : public Column<ESXRecordT>
      method TrapColumn (line 1284) | TrapColumn() : Column<ESXRecordT> (Columns::ColumnId_Trap, ColumnBas...
      method QVariant (line 1286) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 1291) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 1300) | bool isEditable() const override
    type FilterColumn (line 1307) | struct FilterColumn : public Column<ESXRecordT>
      method FilterColumn (line 1309) | FilterColumn() : Column<ESXRecordT> (Columns::ColumnId_Filter, Colum...
      method QVariant (line 1311) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 1316) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 1325) | bool isEditable() const override
    type PosColumn (line 1332) | struct PosColumn : public Column<ESXRecordT>
      method PosColumn (line 1337) | PosColumn (ESM::Position ESXRecordT::* position, int index, bool door)
      method QVariant (line 1342) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 1348) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 1359) | bool isEditable() const override
    type RotColumn (line 1366) | struct RotColumn : public Column<ESXRecordT>
      method RotColumn (line 1371) | RotColumn (ESM::Position ESXRecordT::* position, int index, bool door)
      method QVariant (line 1376) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 1382) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 1393) | bool isEditable() const override
    type DialogueTypeColumn (line 1400) | struct DialogueTypeColumn : public Column<ESXRecordT>
      method DialogueTypeColumn (line 1402) | DialogueTypeColumn (bool hidden = false)
      method QVariant (line 1407) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 1412) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 1421) | bool isEditable() const override
      method isUserEditable (line 1426) | bool isUserEditable() const override
    type QuestStatusTypeColumn (line 1433) | struct QuestStatusTypeColumn : public Column<ESXRecordT>
      method QuestStatusTypeColumn (line 1435) | QuestStatusTypeColumn()
      method QVariant (line 1439) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 1444) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 1453) | bool isEditable() const override
    type QuestDescriptionColumn (line 1460) | struct QuestDescriptionColumn : public Column<ESXRecordT>
      method QuestDescriptionColumn (line 1462) | QuestDescriptionColumn() : Column<ESXRecordT> (Columns::ColumnId_Que...
      method QVariant (line 1464) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 1469) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 1478) | bool isEditable() const override
    type QuestIndexColumn (line 1485) | struct QuestIndexColumn : public Column<ESXRecordT>
      method QuestIndexColumn (line 1487) | QuestIndexColumn()
      method QVariant (line 1491) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 1496) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 1503) | bool isEditable() const override
    type TopicColumn (line 1510) | struct TopicColumn : public Column<ESXRecordT>
      method TopicColumn (line 1512) | TopicColumn (bool journal)
      method QVariant (line 1517) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 1522) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 1531) | bool isEditable() const override
      method isUserEditable (line 1536) | bool isUserEditable() const override
    type ActorColumn (line 1543) | struct ActorColumn : public Column<ESXRecordT>
      method ActorColumn (line 1545) | ActorColumn() : Column<ESXRecordT> (Columns::ColumnId_Actor, ColumnB...
      method QVariant (line 1547) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 1552) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 1561) | bool isEditable() const override
    type RaceColumn (line 1568) | struct RaceColumn : public Column<ESXRecordT>
      method RaceColumn (line 1570) | RaceColumn() : Column<ESXRecordT> (Columns::ColumnId_Race, ColumnBas...
      method QVariant (line 1572) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 1577) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 1586) | bool isEditable() const override
    type ClassColumn (line 1593) | struct ClassColumn : public Column<ESXRecordT>
      method ClassColumn (line 1595) | ClassColumn() : Column<ESXRecordT> (Columns::ColumnId_Class, ColumnB...
      method QVariant (line 1597) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 1602) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 1611) | bool isEditable() const override
    type PcFactionColumn (line 1618) | struct PcFactionColumn : public Column<ESXRecordT>
      method PcFactionColumn (line 1620) | PcFactionColumn() : Column<ESXRecordT> (Columns::ColumnId_PcFaction,...
      method QVariant (line 1622) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 1627) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 1636) | bool isEditable() const override
    type ResponseColumn (line 1643) | struct ResponseColumn : public Column<ESXRecordT>
      method ResponseColumn (line 1645) | ResponseColumn() : Column<ESXRecordT> (Columns::ColumnId_Response, C...
      method QVariant (line 1647) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 1652) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 1661) | bool isEditable() const override
    type DispositionColumn (line 1668) | struct DispositionColumn : public Column<ESXRecordT>
      method DispositionColumn (line 1670) | DispositionColumn()
      method QVariant (line 1674) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 1679) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 1686) | bool isEditable() const override
    type RankColumn (line 1693) | struct RankColumn : public Column<ESXRecordT>
      method RankColumn (line 1695) | RankColumn()
      method QVariant (line 1699) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 1704) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 1711) | bool isEditable() const override
    type PcRankColumn (line 1718) | struct PcRankColumn : public Column<ESXRecordT>
      method PcRankColumn (line 1720) | PcRankColumn()
      method QVariant (line 1724) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 1729) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 1736) | bool isEditable() const override
    type GenderColumn (line 1743) | struct GenderColumn : public Column<ESXRecordT>
      method GenderColumn (line 1745) | GenderColumn()
      method QVariant (line 1749) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 1754) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 1763) | bool isEditable() const override
    type GenderNpcColumn (line 1770) | struct GenderNpcColumn : public Column<ESXRecordT>
      method GenderNpcColumn (line 1772) | GenderNpcColumn()
      method QVariant (line 1776) | QVariant get(const Record<ESXRecordT>& record) const override
      method set (line 1785) | void set(Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 1798) | bool isEditable() const override
    type EnchantmentTypeColumn (line 1805) | struct EnchantmentTypeColumn : public Column<ESXRecordT>
      method EnchantmentTypeColumn (line 1807) | EnchantmentTypeColumn()
      method QVariant (line 1811) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 1816) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 1825) | bool isEditable() const override
    type ChargesColumn2 (line 1832) | struct ChargesColumn2 : public Column<ESXRecordT>
      method ChargesColumn2 (line 1834) | ChargesColumn2() : Column<ESXRecordT> (Columns::ColumnId_Charges, Co...
      method QVariant (line 1836) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 1841) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 1848) | bool isEditable() const override
    type AutoCalcColumn (line 1855) | struct AutoCalcColumn : public Column<ESXRecordT>
      method AutoCalcColumn (line 1857) | AutoCalcColumn() : Column<ESXRecordT> (Columns::ColumnId_AutoCalc, C...
      method QVariant (line 1860) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 1865) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 1874) | bool isEditable() const override
    type ModelColumn (line 1881) | struct ModelColumn : public Column<ESXRecordT>
      method ModelColumn (line 1883) | ModelColumn() : Column<ESXRecordT> (Columns::ColumnId_Model, ColumnB...
      method QVariant (line 1885) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 1890) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 1899) | bool isEditable() const override
    type VampireColumn (line 1906) | struct VampireColumn : public Column<ESXRecordT>
      method VampireColumn (line 1908) | VampireColumn() : Column<ESXRecordT> (Columns::ColumnId_Vampire, Col...
      method QVariant (line 1911) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 1916) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 1925) | bool isEditable() const override
    type BodyPartTypeColumn (line 1932) | struct BodyPartTypeColumn : public Column<ESXRecordT>
      method BodyPartTypeColumn (line 1934) | BodyPartTypeColumn()
      method QVariant (line 1938) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 1943) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 1952) | bool isEditable() const override
    type MeshTypeColumn (line 1959) | struct MeshTypeColumn : public Column<ESXRecordT>
      method MeshTypeColumn (line 1961) | MeshTypeColumn(int flags = ColumnBase::Flag_Table | ColumnBase::Flag...
      method QVariant (line 1965) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 1970) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 1979) | bool isEditable() const override
    type OwnerGlobalColumn (line 1986) | struct OwnerGlobalColumn : public Column<ESXRecordT>
      method OwnerGlobalColumn (line 1988) | OwnerGlobalColumn()
      method QVariant (line 1992) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 1997) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 2006) | bool isEditable() const override
    type RefNumCounterColumn (line 2013) | struct RefNumCounterColumn : public Column<ESXRecordT>
      method RefNumCounterColumn (line 2015) | RefNumCounterColumn()
      method QVariant (line 2019) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 2024) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 2033) | bool isEditable() const override
      method isUserEditable (line 2038) | bool isUserEditable() const override
    type RefNumColumn (line 2045) | struct RefNumColumn : public Column<ESXRecordT>
      method RefNumColumn (line 2047) | RefNumColumn()
      method QVariant (line 2051) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 2056) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 2065) | bool isEditable() const override
      method isUserEditable (line 2070) | bool isUserEditable() const override
    type SoundColumn (line 2077) | struct SoundColumn : public Column<ESXRecordT>
      method SoundColumn (line 2079) | SoundColumn()
      method QVariant (line 2083) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 2088) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 2097) | bool isEditable() const override
    type CreatureColumn (line 2104) | struct CreatureColumn : public Column<ESXRecordT>
      method CreatureColumn (line 2106) | CreatureColumn()
      method QVariant (line 2110) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 2115) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 2124) | bool isEditable() const override
    type SoundGeneratorTypeColumn (line 2131) | struct SoundGeneratorTypeColumn : public Column<ESXRecordT>
      method SoundGeneratorTypeColumn (line 2133) | SoundGeneratorTypeColumn()
      method QVariant (line 2137) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 2142) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 2151) | bool isEditable() const override
    type BaseCostColumn (line 2158) | struct BaseCostColumn : public Column<ESXRecordT>
      method BaseCostColumn (line 2160) | BaseCostColumn() : Column<ESXRecordT> (Columns::ColumnId_BaseCost, C...
      method QVariant (line 2162) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 2167) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 2174) | bool isEditable() const override
    type SchoolColumn (line 2181) | struct SchoolColumn : public Column<ESXRecordT>
      method SchoolColumn (line 2183) | SchoolColumn()
      method QVariant (line 2187) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 2192) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 2201) | bool isEditable() const override
    type EffectTextureColumn (line 2208) | struct EffectTextureColumn : public Column<ESXRecordT>
      method EffectTextureColumn (line 2210) | EffectTextureColumn (Columns::ColumnId columnId)
      method QVariant (line 2219) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 2226) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 2237) | bool isEditable() const override
    type EffectObjectColumn (line 2244) | struct EffectObjectColumn : public Column<ESXRecordT>
      method EffectObjectColumn (line 2246) | EffectObjectColumn (Columns::ColumnId columnId)
      method QVariant (line 2255) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 2273) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 2295) | bool isEditable() const override
    type EffectSoundColumn (line 2302) | struct EffectSoundColumn : public Column<ESXRecordT>
      method EffectSoundColumn (line 2304) | EffectSoundColumn (Columns::ColumnId columnId)
      method QVariant (line 2313) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 2331) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 2353) | bool isEditable() const override
    type FormatColumn (line 2360) | struct FormatColumn : public Column<ESXRecordT>
      method FormatColumn (line 2362) | FormatColumn()
      method QVariant (line 2366) | QVariant get (const Record<ESXRecordT>& record) const override
      method isEditable (line 2371) | bool isEditable() const override
    type AuthorColumn (line 2378) | struct AuthorColumn : public Column<ESXRecordT>
      method AuthorColumn (line 2380) | AuthorColumn()
      method QVariant (line 2384) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 2389) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 2398) | bool isEditable() const override
    type FileDescriptionColumn (line 2405) | struct FileDescriptionColumn : public Column<ESXRecordT>
      method FileDescriptionColumn (line 2407) | FileDescriptionColumn()
      method QVariant (line 2411) | QVariant get (const Record<ESXRecordT>& record) const override
      method set (line 2416) | void set (Record<ESXRecordT>& record, const QVariant& data) override
      method isEditable (line 2425) | bool isEditable() const override
    type LandTextureNicknameColumn (line 2431) | struct LandTextureNicknameColumn : public Column<LandTexture>
    type LandTextureIndexColumn (line 2440) | struct LandTextureIndexColumn : public Column<LandTexture>
    type LandPluginIndexColumn (line 2448) | struct LandPluginIndexColumn : public Column<Land>
    type LandTexturePluginIndexColumn (line 2456) | struct LandTexturePluginIndexColumn : public Column<LandTexture>
    type LandNormalsColumn (line 2464) | struct LandNormalsColumn : public Column<Land>
    type LandHeightsColumn (line 2475) | struct LandHeightsColumn : public Column<Land>
    type LandColoursColumn (line 2486) | struct LandColoursColumn : public Column<Land>
    type LandTexturesColumn (line 2497) | struct LandTexturesColumn : public Column<Land>
    type BodyPartRaceColumn (line 2508) | struct BodyPartRaceColumn : public RaceColumn<ESM::BodyPart>

FILE: apps/opencs/model/world/columns.cpp
  type CSMWorld (line 9) | namespace CSMWorld
    type Columns (line 11) | namespace Columns
      type ColumnDesc (line 13) | struct ColumnDesc

FILE: apps/opencs/model/world/columns.hpp
  type CSMWorld (line 9) | namespace CSMWorld
    type Columns (line 11) | namespace Columns
      type ColumnId (line 13) | enum ColumnId

FILE: apps/opencs/model/world/commanddispatcher.hpp
  class QModelIndex (line 10) | class QModelIndex
  class QAbstractItemModel (line 11) | class QAbstractItemModel
  type CSMDoc (line 13) | namespace CSMDoc
    class Document (line 15) | class Document
  type CSMWorld (line 18) | namespace CSMWorld
    class CommandDispatcher (line 20) | class CommandDispatcher : public QObject

FILE: apps/opencs/model/world/commandmacro.hpp
  class QUndoStack (line 4) | class QUndoStack
  class QUndoCommand (line 5) | class QUndoCommand
  type CSMWorld (line 9) | namespace CSMWorld
    class CommandMacro (line 11) | class CommandMacro

FILE: apps/opencs/model/world/commands.hpp
  class QModelIndex (line 19) | class QModelIndex
  class QAbstractItemModel (line 20) | class QAbstractItemModel
  type CSMWorld (line 22) | namespace CSMWorld
    class IdTable (line 24) | class IdTable
    class IdTree (line 25) | class IdTree
    type RecordBase (line 26) | struct RecordBase
    type NestedTableWrapperBase (line 27) | struct NestedTableWrapperBase
    class TouchCommand (line 29) | class TouchCommand : public QUndoCommand
    class ImportLandTexturesCommand (line 56) | class ImportLandTexturesCommand : public QUndoCommand
    class CopyLandTexturesCommand (line 86) | class CopyLandTexturesCommand : public ImportLandTexturesCommand
      method onRedo (line 98) | void onRedo() override {}
      method onUndo (line 99) | void onUndo() override {}
    class TouchLandCommand (line 108) | class TouchLandCommand : public ImportLandTexturesCommand
    class ModifyCommand (line 129) | class ModifyCommand : public QUndoCommand
    class CreateCommand (line 150) | class CreateCommand : public QUndoCommand
    class CloneCommand (line 183) | class CloneCommand : public CreateCommand
    class RevertCommand (line 202) | class RevertCommand : public QUndoCommand
    class DeleteCommand (line 223) | class DeleteCommand : public QUndoCommand
    class ReorderRowsCommand (line 246) | class ReorderRowsCommand : public QUndoCommand
    class CreatePathgridCommand (line 261) | class CreatePathgridCommand : public CreateCommand
    class UpdateCellCommand (line 275) | class UpdateCellCommand : public QUndoCommand
    class NestedTableStoring (line 293) | class NestedTableStoring
    class DeleteNestedCommand (line 307) | class DeleteNestedCommand : public QUndoCommand, private NestedTableSt...
    class AddNestedCommand (line 329) | class AddNestedCommand : public QUndoCommand, private NestedTableStoring

FILE: apps/opencs/model/world/data.cpp
  function QAbstractItemModel (line 924) | QAbstractItemModel *CSMWorld::Data::getTableModel (const CSMWorld::Unive...

FILE: apps/opencs/model/world/data.hpp
  class QAbstractItemModel (line 57) | class QAbstractItemModel
  type VFS (line 59) | namespace VFS
    class Manager (line 61) | class Manager
  type Fallback (line 64) | namespace Fallback
    class Map (line 66) | class Map
  type ESM (line 69) | namespace ESM
    class ESMReader (line 71) | class ESMReader
    type Dialogue (line 72) | struct Dialogue
  type CSMWorld (line 75) | namespace CSMWorld
    class ResourcesManager (line 77) | class ResourcesManager
    class Resources (line 78) | class Resources
    class Data (line 80) | class Data : public QObject

FILE: apps/opencs/model/world/defaultgmsts.hpp
  type CSMWorld (line 6) | namespace CSMWorld {
    type DefaultGmsts (line 7) | namespace DefaultGmsts {

FILE: apps/opencs/model/world/idcollection.hpp
  type CSMWorld (line 9) | namespace CSMWorld
    class IdCollection (line 13) | class IdCollection : public Collection<ESXRecordT, IdAccessorT>

FILE: apps/opencs/model/world/idcompletionmanager.cpp
  function generateModelTypes (line 12) | std::map<CSMWorld::ColumnBase::Display, CSMWorld::UniversalId::Type> gen...

FILE: apps/opencs/model/world/idcompletionmanager.hpp
  class QCompleter (line 11) | class QCompleter
  type CSMWorld (line 13) | namespace CSMWorld
    class Data (line 15) | class Data
    class IdCompletionManager (line 18) | class IdCompletionManager

FILE: apps/opencs/model/world/idtable.cpp
  function QVariant (line 39) | QVariant CSMWorld::IdTable::data (const QModelIndex & index, int role) c...
  function QVariant (line 59) | QVariant CSMWorld::IdTable::headerData (int section, Qt::Orientation ori...
  function QModelIndex (line 143) | QModelIndex CSMWorld::IdTable::index (int row, int column, const QModelI...
  function QModelIndex (line 157) | QModelIndex CSMWorld::IdTable::parent (const QModelIndex& index) const
  function QModelIndex (line 222) | QModelIndex CSMWorld::IdTable::getModelIndex (const std::string& id, int...

FILE: apps/opencs/model/world/idtable.hpp
  type CSMWorld (line 10) | namespace CSMWorld
    class CollectionBase (line 12) | class CollectionBase
    type RecordBase (line 13) | struct RecordBase
    class IdTable (line 15) | class IdTable : public IdTableBase
    class LandTextureIdTable (line 104) | class LandTextureIdTable : public IdTable
      type ImportResults (line 108) | struct ImportResults

FILE: apps/opencs/model/world/idtablebase.hpp
  type CSMWorld (line 8) | namespace CSMWorld
    class UniversalId (line 10) | class UniversalId
    class IdTableBase (line 12) | class IdTableBase : public QAbstractItemModel

FILE: apps/opencs/model/world/idtableproxymodel.cpp
  function getEnumValue (line 9) | std::string getEnumValue(const std::vector<std::pair<int,std::string>> &...
  function QModelIndex (line 59) | QModelIndex CSMWorld::IdTableProxyModel::getModelIndex (const std::strin...
  function QString (line 114) | QString CSMWorld::IdTableProxyModel::getRecordId(int sourceRow) const

FILE: apps/opencs/model/world/idtableproxymodel.hpp
  type CSMWorld (line 14) | namespace CSMWorld
    class IdTableProxyModel (line 16) | class IdTableProxyModel : public QSortFilterProxyModel

FILE: apps/opencs/model/world/idtree.cpp
  function QVariant (line 33) | QVariant CSMWorld::IdTree::data  (const QModelIndex & index, int role) c...
  function QVariant (line 64) | QVariant CSMWorld::IdTree::nestedHeaderData(int section, int subSection,...
  function QModelIndex (line 173) | QModelIndex CSMWorld::IdTree::index (int row, int column, const QModelIn...
  function QModelIndex (line 190) | QModelIndex CSMWorld::IdTree::getNestedModelIndex (const std::string& id...
  function QModelIndex (line 195) | QModelIndex CSMWorld::IdTree::parent (const QModelIndex& index) const

FILE: apps/opencs/model/world/idtree.hpp
  type CSMWorld (line 19) | namespace CSMWorld
    class NestedCollection (line 21) | class NestedCollection
    type RecordBase (line 22) | struct RecordBase
    type NestedTableWrapperBase (line 23) | struct NestedTableWrapperBase
    class IdTree (line 25) | class IdTree : public IdTable

FILE: apps/opencs/model/world/info.hpp
  type CSMWorld (line 6) | namespace CSMWorld
    type Info (line 8) | struct Info : public ESM::DialInfo

FILE: apps/opencs/model/world/infocollection.hpp
  type ESM (line 7) | namespace ESM
    type Dialogue (line 9) | struct Dialogue
  type CSMWorld (line 12) | namespace CSMWorld
    class InfoCollection (line 14) | class InfoCollection : public Collection<Info, IdAccessor<Info> >

FILE: apps/opencs/model/world/infoselectwrapper.hpp
  type CSMWorld (line 6) | namespace CSMWorld
    class ConstInfoSelectWrapper (line 20) | class ConstInfoSelectWrapper
      type FunctionName (line 25) | enum FunctionName
      type RelationType (line 117) | enum RelationType
      type ComparisonType (line 129) | enum ComparisonType
    class InfoSelectWrapper (line 216) | class InfoSelectWrapper : public ConstInfoSelectWrapper

FILE: apps/opencs/model/world/infotableproxymodel.cpp
  function QString (line 10) | QString toLower(const QString &str)

FILE: apps/opencs/model/world/infotableproxymodel.hpp
  type CSMWorld (line 10) | namespace CSMWorld
    class IdTableBase (line 12) | class IdTableBase
    class InfoTableProxyModel (line 14) | class InfoTableProxyModel : public IdTableProxyModel

FILE: apps/opencs/model/world/land.cpp
  type CSMWorld (line 6) | namespace CSMWorld

FILE: apps/opencs/model/world/land.hpp
  type CSMWorld (line 8) | namespace CSMWorld
    type Land (line 13) | struct Land : public ESM::Land

FILE: apps/opencs/model/world/landtexture.cpp
  type CSMWorld (line 8) | namespace CSMWorld

FILE: apps/opencs/model/world/landtexture.hpp
  type CSMWorld (line 8) | namespace CSMWorld
    type LandTexture (line 11) | struct LandTexture : public ESM::LandTexture

FILE: apps/opencs/model/world/landtexturetableproxymodel.cpp
  type CSMWorld (line 5) | namespace CSMWorld

FILE: apps/opencs/model/world/landtexturetableproxymodel.hpp
  type CSMWorld (line 6) | namespace CSMWorld
    class LandTextureTableProxyModel (line 9) | class LandTextureTableProxyModel : public IdTableProxyModel

FILE: apps/opencs/model/world/metadata.hpp
  type ESM (line 6) | namespace ESM
    class ESMReader (line 8) | class ESMReader
    class ESMWriter (line 9) | class ESMWriter
  type CSMWorld (line 12) | namespace CSMWorld
    type MetaData (line 14) | struct MetaData

FILE: apps/opencs/model/world/nestedcoladapterimp.cpp
  type CSMWorld (line 11) | namespace CSMWorld
    function NestedTableWrapperBase (line 63) | NestedTableWrapperBase* PathgridPointListAdapter::table(const Record<P...
    function QVariant (line 69) | QVariant PathgridPointListAdapter::getData(const Record<Pathgrid>& rec...
    function NestedTableWrapperBase (line 160) | NestedTableWrapperBase* PathgridEdgeListAdapter::table(const Record<Pa...
    function QVariant (line 166) | QVariant PathgridEdgeListAdapter::getData(const Record<Pathgrid>& record,
    function NestedTableWrapperBase (line 260) | NestedTableWrapperBase* FactionReactionsAdapter::table(const Record<ES...
    function QVariant (line 266) | QVariant FactionReactionsAdapter::getData(const Record<ESM::Faction>& ...
    function NestedTableWrapperBase (line 380) | NestedTableWrapperBase* RegionSoundListAdapter::table(const Record<ESM...
    function QVariant (line 386) | QVariant RegionSoundListAdapter::getData(const Record<ESM::Region>& re...
    function NestedTableWrapperBase (line 456) | NestedTableWrapperBase* InfoListAdapter::table(const Record<Info>& rec...
    function QVariant (line 461) | QVariant InfoListAdapter::getData(const Record<Info>& record,
    function NestedTableWrapperBase (line 539) | NestedTableWrapperBase* InfoConditionAdapter::table(const Record<Info>...
    function QVariant (line 545) | QVariant InfoConditionAdapter::getData(const Record<Info>& record,
    function NestedTableWrapperBase (line 705) | NestedTableWrapperBase* RaceAttributeAdapter::table(const Record<ESM::...
    function QVariant (line 713) | QVariant RaceAttributeAdapter::getData(const Record<ESM::Race>& record,
    function NestedTableWrapperBase (line 782) | NestedTableWrapperBase* RaceSkillsBonusAdapter::table(const Record<ESM...
    function QVariant (line 790) | QVariant RaceSkillsBonusAdapter::getData(const Record<ESM::Race>& record,
    function NestedTableWrapperBase (line 853) | NestedTableWrapperBase* CellListAdapter::table(const Record<CSMWorld::...
    function QVariant (line 858) | QVariant CellListAdapter::getData(const Record<CSMWorld::Cell>& record,
    function NestedTableWrapperBase (line 1024) | NestedTableWrapperBase* RegionWeatherAdapter::table(const Record<ESM::...
    function QVariant (line 1029) | QVariant RegionWeatherAdapter::getData(const Record<ESM::Region>& reco...
    function NestedTableWrapperBase (line 1126) | NestedTableWrapperBase* FactionRanksAdapter::table(const Record<ESM::F...
    function QVariant (line 1131) | QVariant FactionRanksAdapter::getData(const Record<ESM::Faction>& record,

FILE: apps/opencs/model/world/nestedcoladapterimp.hpp
  type ESM (line 17) | namespace ESM
    type Faction (line 19) | struct Faction
    type Region (line 20) | struct Region
  type CSMWorld (line 23) | namespace CSMWorld
    type Pathgrid (line 25) | struct Pathgrid
    type Info (line 26) | struct Info
    class PathgridPointListAdapter (line 28) | class PathgridPointListAdapter : public NestedColumnAdapter<Pathgrid>
    class PathgridEdgeListAdapter (line 53) | class PathgridEdgeListAdapter : public NestedColumnAdapter<Pathgrid>
    class FactionReactionsAdapter (line 78) | class FactionReactionsAdapter : public NestedColumnAdapter<ESM::Faction>
    class FactionRanksAdapter (line 103) | class FactionRanksAdapter : public NestedColumnAdapter<ESM::Faction>
    class RegionSoundListAdapter (line 128) | class RegionSoundListAdapter : public NestedColumnAdapter<ESM::Region>
    class SpellListAdapter (line 154) | class SpellListAdapter : public NestedColumnAdapter<ESXRecordT>
      method SpellListAdapter (line 157) | SpellListAdapter () {}
      method addRow (line 159) | void addRow(Record<ESXRecordT>& record, int position) const override
      method removeRow (line 173) | void removeRow(Record<ESXRecordT>& record, int rowToRemove) const ov...
      method setTable (line 187) | void setTable(Record<ESXRecordT>& record, const NestedTableWrapperBa...
      method NestedTableWrapperBase (line 197) | NestedTableWrapperBase* table(const Record<ESXRecordT>& record) cons...
      method QVariant (line 203) | QVariant getData(const Record<ESXRecordT>& record, int subRowIndex, ...
      method setData (line 220) | void setData(Record<ESXRecordT>& record, const QVariant& value,
      method getColumnsCount (line 242) | int getColumnsCount(const Record<ESXRecordT>& record) const override
      method getRowsCount (line 247) | int getRowsCount(const Record<ESXRecordT>& record) const override
    class EffectsListAdapter (line 254) | class EffectsListAdapter : public NestedColumnAdapter<ESXRecordT>
      method EffectsListAdapter (line 257) | EffectsListAdapter () {}
      method addRow (line 259) | void addRow(Record<ESXRecordT>& record, int position) const override
      method removeRow (line 281) | void removeRow(Record<ESXRecordT>& record, int rowToRemove) const ov...
      method setTable (line 295) | void setTable(Record<ESXRecordT>& record, const NestedTableWrapperBa...
      method NestedTableWrapperBase (line 305) | NestedTableWrapperBase* table(const Record<ESXRecordT>& record) cons...
      method QVariant (line 311) | QVariant getData(const Record<ESXRecordT>& record, int subRowIndex, ...
      method setData (line 373) | void setData(Record<ESXRecordT>& record, const QVariant& value,
      method getColumnsCount (line 418) | int getColumnsCount(const Record<ESXRecordT>& record) const override
      method getRowsCount (line 423) | int getRowsCount(const Record<ESXRecordT>& record) const override
    class InfoListAdapter (line 429) | class InfoListAdapter : public NestedColumnAdapter<Info>
    class InfoConditionAdapter (line 454) | class InfoConditionAdapter : public NestedColumnAdapter<Info>
    class RaceAttributeAdapter (line 479) | class RaceAttributeAdapter : public NestedColumnAdapter<ESM::Race>
    class RaceSkillsBonusAdapter (line 504) | class RaceSkillsBonusAdapter : public NestedColumnAdapter<ESM::Race>
    class CellListAdapter (line 529) | class CellListAdapter : public NestedColumnAdapter<CSMWorld::Cell>
    class RegionWeatherAdapter (line 554) | class RegionWeatherAdapter : public NestedColumnAdapter<ESM::Region>

FILE: apps/opencs/model/world/nestedcollection.hpp
  class QVariant (line 6) | class QVariant
  type CSMWorld (line 8) | namespace CSMWorld
    class NestableColumn (line 10) | class NestableColumn
    type NestedTableWrapperBase (line 11) | struct NestedTableWrapperBase
    class NestedCollection (line 13) | class NestedCollection

FILE: apps/opencs/model/world/nestedcolumnadapter.hpp
  class QVariant (line 4) | class QVariant
  type CSMWorld (line 6) | namespace CSMWorld
    type NestedTableWrapperBase (line 8) | struct NestedTableWrapperBase
    type Record (line 11) | struct Record
    class NestedColumnAdapter (line 14) | class NestedColumnAdapter
      method NestedColumnAdapter (line 18) | NestedColumnAdapter() {}

FILE: apps/opencs/model/world/nestedidcollection.hpp
  type ESM (line 10) | namespace ESM
    class ESMReader (line 12) | class ESMReader
  type CSMWorld (line 15) | namespace CSMWorld
    type NestedTableWrapperBase (line 17) | struct NestedTableWrapperBase
    type Cell (line 18) | struct Cell
    class IdCollection (line 21) | class IdCollection
    class NestedIdCollection (line 24) | class NestedIdCollection : public IdCollection<ESXRecordT, IdAccessorT...
    function QVariant (line 113) | QVariant NestedIdCollection<ESXRecordT, IdAccessorT>::getNestedData (i...

FILE: apps/opencs/model/world/nestedinfocollection.cpp
  type CSMWorld (line 5) | namespace CSMWorld
    function QVariant (line 56) | QVariant NestedInfoCollection::getNestedData (int row,

FILE: apps/opencs/model/world/nestedinfocollection.hpp
  type CSMWorld (line 9) | namespace CSMWorld
    type NestedTableWrapperBase (line 11) | struct NestedTableWrapperBase
    class NestedColumnAdapter (line 14) | class NestedColumnAdapter
    class NestedInfoCollection (line 16) | class NestedInfoCollection : public InfoCollection, public NestedColle...

FILE: apps/opencs/model/world/nestedtableproxymodel.cpp
  function QModelIndex (line 40) | QModelIndex CSMWorld::NestedTableProxyModel::mapFromSource(const QModelI...
  function QModelIndex (line 54) | QModelIndex CSMWorld::NestedTableProxyModel::mapToSource(const QModelInd...
  function QModelIndex (line 74) | QModelIndex CSMWorld::NestedTableProxyModel::index(int row, int column, ...
  function QModelIndex (line 87) | QModelIndex CSMWorld::NestedTableProxyModel::parent(const QModelIndex& i...
  function QVariant (line 92) | QVariant CSMWorld::NestedTableProxyModel::headerData(int section,
  function QVariant (line 99) | QVariant CSMWorld::NestedTableProxyModel::data(const QModelIndex& index,...

FILE: apps/opencs/model/world/nestedtableproxymodel.hpp
  type CSMWorld (line 16) | namespace CSMWorld
    class CollectionBase (line 18) | class CollectionBase
    type RecordBase (line 19) | struct RecordBase
    class IdTree (line 20) | class IdTree
    class NestedTableProxyModel (line 22) | class NestedTableProxyModel : public QAbstractProxyModel

FILE: apps/opencs/model/world/nestedtablewrapper.hpp
  type CSMWorld (line 4) | namespace CSMWorld
    type NestedTableWrapperBase (line 6) | struct NestedTableWrapperBase
    type NestedTableWrapper (line 16) | struct NestedTableWrapper : public NestedTableWrapperBase
      method NestedTableWrapper (line 20) | NestedTableWrapper(const NestedTable& nestedTable)
      method size (line 25) | int size() const override

FILE: apps/opencs/model/world/pathgrid.hpp
  type CSMWorld (line 9) | namespace CSMWorld
    type Cell (line 11) | struct Cell
    class IdCollection (line 13) | class IdCollection
    type Pathgrid (line 19) | struct Pathgrid : public ESM::Pathgrid

FILE: apps/opencs/model/world/record.hpp
  type CSMWorld (line 6) | namespace CSMWorld
    type RecordBase (line 8) | struct RecordBase
      type State (line 10) | enum State
    type Record (line 38) | struct Record : public RecordBase
    function RecordBase (line 88) | RecordBase *Record<ESXRecordT>::modifiedCopy() const
      type State (line 10) | enum State
    function RecordBase (line 94) | RecordBase *Record<ESXRecordT>::clone() const
      type State (line 10) | enum State
    function ESXRecordT (line 106) | const ESXRecordT& Record<ESXRecordT>::get() const
    function ESXRecordT (line 115) | ESXRecordT& Record<ESXRecordT>::get()
    function ESXRecordT (line 124) | const ESXRecordT& Record<ESXRecordT>::getBase() const

FILE: apps/opencs/model/world/ref.hpp
  type CSMWorld (line 8) | namespace CSMWorld
    type CellRef (line 11) | struct CellRef : public ESM::CellRef

FILE: apps/opencs/model/world/refcollection.hpp
  type CSMWorld (line 12) | namespace CSMWorld
    type Cell (line 14) | struct Cell
    class UniversalId (line 15) | class UniversalId
    class RefCollection (line 18) | class RefCollection : public Collection<CellRef>
      method RefCollection (line 25) | RefCollection (Collection<Cell>& cells)

FILE: apps/opencs/model/world/refidadapter.hpp
  class QVariant (line 14) | class QVariant
  type CSMWorld (line 16) | namespace CSMWorld
    class RefIdColumn (line 18) | class RefIdColumn
    class RefIdData (line 19) | class RefIdData
    type RecordBase (line 20) | struct RecordBase
    type NestedTableWrapperBase (line 21) | struct NestedTableWrapperBase
    class HelperBase (line 22) | class HelperBase
    class RefIdAdapter (line 24) | class RefIdAdapter
    class NestedRefIdAdapterBase (line 49) | class NestedRefIdAdapterBase

FILE: apps/opencs/model/world/refidadapterimp.cpp
  function QVariant (line 21) | QVariant CSMWorld::PotionRefIdAdapter::getData (const RefIdColumn *colum...
  function QVariant (line 68) | QVariant CSMWorld::IngredientRefIdAdapter::getData (const RefIdColumn *c...
  function QVariant (line 132) | QVariant CSMWorld::IngredEffectRefIdAdapter::getNestedData (const RefIdC...
  function QVariant (line 216) | QVariant CSMWorld::ApparatusRefIdAdapter::getData (const RefIdColumn *co...
  function QVariant (line 260) | QVariant CSMWorld::ArmorRefIdAdapter::getData (const RefIdColumn *column,
  function QVariant (line 311) | QVariant CSMWorld::BookRefIdAdapter::getData (const RefIdColumn *column,
  function QVariant (line 359) | QVariant CSMWorld::ClothingRefIdAdapter::getData (const RefIdColumn *col...
  function QVariant (line 400) | QVariant CSMWorld::ContainerRefIdAdapter::getData (const RefIdColumn *co...
  function QVariant (line 471) | QVariant CSMWorld::CreatureRefIdAdapter::getData (const RefIdColumn *col...
  function QVariant (line 552) | QVariant CSMWorld::DoorRefIdAdapter::getData (const RefIdColumn *column,...
  function QVariant (line 602) | QVariant CSMWorld::LightRefIdAdapter::getData (const RefIdColumn *column...
  function QVariant (line 706) | QVariant CSMWorld::MiscRefIdAdapter::getData (const RefIdColumn *column,...
  function QVariant (line 756) | QVariant CSMWorld::NpcRefIdAdapter::getData (const RefIdColumn *column, ...
  function QVariant (line 906) | QVariant CSMWorld::NpcAttributesRefIdAdapter::getNestedData (const RefId...
  function QVariant (line 1013) | QVariant CSMWorld::NpcSkillsRefIdAdapter::getNestedData (const RefIdColu...
  function QVariant (line 1092) | QVariant CSMWorld::NpcMiscRefIdAdapter::getNestedData (const RefIdColumn...
  function QVariant (line 1223) | QVariant CSMWorld::CreatureAttributesRefIdAdapter::getNestedData (const ...
  function QVariant (line 1329) | QVariant CSMWorld::CreatureAttackRefIdAdapter::getNestedData (const RefI...
  function QVariant (line 1407) | QVariant CSMWorld::CreatureMiscRefIdAdapter::getNestedData (const RefIdC...
  function QVariant (line 1479) | QVariant CSMWorld::WeaponRefIdAdapter::getData (const RefIdColumn *colum...

FILE: apps/opencs/model/world/refidadapterimp.hpp
  type CSMWorld (line 21) | namespace CSMWorld
    type BaseColumns (line 23) | struct BaseColumns
    class BaseRefIdAdapter (line 33) | class BaseRefIdAdapter : public RefIdAdapter
    function QVariant (line 73) | QVariant BaseRefIdAdapter<RecordT>::getData (const RefIdColumn *column...
    type ModelColumns (line 114) | struct ModelColumns : public BaseColumns
      method ModelColumns (line 118) | ModelColumns (const BaseColumns& base) : BaseColumns (base), mModel(...
    class ModelRefIdAdapter (line 123) | class ModelRefIdAdapter : public BaseRefIdAdapter<RecordT>
    function QVariant (line 145) | QVariant ModelRefIdAdapter<RecordT>::getData (const RefIdColumn *colum...
    type NameColumns (line 176) | struct NameColumns : public ModelColumns
      method NameColumns (line 181) | NameColumns (const ModelColumns& base)
    class NameRefIdAdapter (line 190) | class NameRefIdAdapter : public ModelRefIdAdapter<RecordT>
    function QVariant (line 212) | QVariant NameRefIdAdapter<RecordT>::getData (const RefIdColumn *column...
    type InventoryColumns (line 248) | struct InventoryColumns : public NameColumns
      method InventoryColumns (line 254) | InventoryColumns (const NameColumns& base)
    class InventoryRefIdAdapter (line 264) | class InventoryRefIdAdapter : public NameRefIdAdapter<RecordT>
    function QVariant (line 287) | QVariant InventoryRefIdAdapter<RecordT>::getData (const RefIdColumn *c...
    type PotionColumns (line 328) | struct PotionColumns : public InventoryColumns
    class PotionRefIdAdapter (line 335) | class PotionRefIdAdapter : public InventoryRefIdAdapter<ESM::Potion>
    type IngredientColumns (line 352) | struct IngredientColumns : public InventoryColumns
    class IngredientRefIdAdapter (line 359) | class IngredientRefIdAdapter : public InventoryRefIdAdapter<ESM::Ingre...
    class IngredEffectRefIdAdapter (line 375) | class IngredEffectRefIdAdapter : public NestedRefIdAdapterBase
    type EnchantableColumns (line 412) | struct EnchantableColumns : public InventoryColumns
      method EnchantableColumns (line 417) | EnchantableColumns (const InventoryColumns& base)
    class EnchantableRefIdAdapter (line 426) | class EnchantableRefIdAdapter : public InventoryRefIdAdapter<RecordT>
    function QVariant (line 449) | QVariant EnchantableRefIdAdapter<RecordT>::getData (const RefIdColumn ...
    type ToolColumns (line 485) | struct ToolColumns : public InventoryColumns
      method ToolColumns (line 490) | ToolColumns (const InventoryColumns& base)
    class ToolRefIdAdapter (line 499) | class ToolRefIdAdapter : public InventoryRefIdAdapter<RecordT>
    function QVariant (line 521) | QVariant ToolRefIdAdapter<RecordT>::getData (const RefIdColumn *column...
    type ActorColumns (line 557) | struct ActorColumns : public NameColumns
      method ActorColumns (line 569) | ActorColumns (const NameColumns& base)
    class ActorRefIdAdapter (line 584) | class ActorRefIdAdapter : public NameRefIdAdapter<RecordT>
    function QVariant (line 607) | QVariant ActorRefIdAdapter<RecordT>::getData (const RefIdColumn *colum...
    class ApparatusRefIdAdapter (line 683) | class ApparatusRefIdAdapter : public InventoryRefIdAdapter<ESM::Appara...
    class ArmorRefIdAdapter (line 701) | class ArmorRefIdAdapter : public EnchantableRefIdAdapter<ESM::Armor>
    class BookRefIdAdapter (line 721) | class BookRefIdAdapter : public EnchantableRefIdAdapter<ESM::Book>
    class ClothingRefIdAdapter (line 740) | class ClothingRefIdAdapter : public EnchantableRefIdAdapter<ESM::Cloth...
    class ContainerRefIdAdapter (line 758) | class ContainerRefIdAdapter : public NameRefIdAdapter<ESM::Container>
    type CreatureColumns (line 777) | struct CreatureColumns : public ActorColumns
    class CreatureRefIdAdapter (line 791) | class CreatureRefIdAdapter : public ActorRefIdAdapter<ESM::Creature>
    class DoorRefIdAdapter (line 807) | class DoorRefIdAdapter : public NameRefIdAdapter<ESM::Door>
    type LightColumns (line 825) | struct LightColumns : public InventoryColumns
    class LightRefIdAdapter (line 837) | class LightRefIdAdapter : public InventoryRefIdAdapter<ESM::Light>
    class MiscRefIdAdapter (line 853) | class MiscRefIdAdapter : public InventoryRefIdAdapter<ESM::Miscellaneous>
    type NpcColumns (line 869) | struct NpcColumns : public ActorColumns
    class NpcRefIdAdapter (line 886) | class NpcRefIdAdapter : public ActorRefIdAdapter<ESM::NPC>
    type WeaponColumns (line 902) | struct WeaponColumns : public EnchantableColumns
    class WeaponRefIdAdapter (line 916) | class WeaponRefIdAdapter : public EnchantableRefIdAdapter<ESM::Weapon>
    class NestedRefIdAdapterBase (line 933) | class NestedRefIdAdapterBase
    class NpcAttributesRefIdAdapter (line 935) | class NpcAttributesRefIdAdapter : public NestedRefIdAdapterBase
    class NpcSkillsRefIdAdapter (line 964) | class NpcSkillsRefIdAdapter : public NestedRefIdAdapterBase
    class NpcMiscRefIdAdapter (line 993) | class NpcMiscRefIdAdapter : public NestedRefIdAdapterBase
    class CreatureAttributesRefIdAdapter (line 1026) | class CreatureAttributesRefIdAdapter : public NestedRefIdAdapterBase
    class CreatureAttackRefIdAdapter (line 1055) | class CreatureAttackRefIdAdapter : public NestedRefIdAdapterBase
    class CreatureMiscRefIdAdapter (line 1084) | class CreatureMiscRefIdAdapter : public NestedRefIdAdapterBase
    class EffectsListAdapter (line 1118) | class EffectsListAdapter
    class EffectsRefIdAdapter (line 1121) | class EffectsRefIdAdapter : public EffectsListAdapter<ESXRecordT>, pub...
      method EffectsRefIdAdapter (line 1131) | EffectsRefIdAdapter(UniversalId::Type type) :mType(type) {}
      method addNestedRow (line 1135) | void addNestedRow (const RefIdColumn *column,
      method removeNestedRow (line 1143) | void removeNestedRow (const RefIdColumn *column,
      method setNestedTable (line 1151) | void setNestedTable (const RefIdColumn* column,
      method NestedTableWrapperBase (line 1159) | NestedTableWrapperBase* nestedTable (const RefIdColumn* column,
      method QVariant (line 1167) | QVariant getNestedData (const RefIdColumn *column,
      method setNestedData (line 1175) | void setNestedData (const RefIdColumn *column,
      method getNestedColumnsCount (line 1183) | int getNestedColumnsCount(const RefIdColumn *column, const RefIdData...
      method getNestedRowsCount (line 1189) | int getNestedRowsCount(const RefIdColumn *column, const RefIdData& d...
    class NestedInventoryRefIdAdapter (line 1198) | class NestedInventoryRefIdAdapter : public NestedRefIdAdapterBase
      method NestedInventoryRefIdAdapter (line 1208) | NestedInventoryRefIdAdapter(UniversalId::Type type) :mType(type) {}
      method addNestedRow (line 1212) | void addNestedRow (const RefIdColumn *column,
      method removeNestedRow (line 1231) | void removeNestedRow (const RefIdColumn *column,
      method setNestedTable (line 1248) | void setNestedTable (const RefIdColumn* column,
      method NestedTableWrapperBase (line 1261) | NestedTableWrapperBase* nestedTable (const RefIdColumn* column,
      method QVariant (line 1271) | QVariant getNestedData (const RefIdColumn *column,
      method setNestedData (line 1293) | void setNestedData (const RefIdColumn *column,
      method getNestedColumnsCount (line 1321) | int getNestedColumnsCount(const RefIdColumn *column, const RefIdData...
      method getNestedRowsCount (line 1326) | int getNestedRowsCount(const RefIdColumn *column, const RefIdData& d...
    class NestedSpellRefIdAdapter (line 1336) | class NestedSpellRefIdAdapter : public NestedRefIdAdapterBase
      method NestedSpellRefIdAdapter (line 1346) | NestedSpellRefIdAdapter(UniversalId::Type type) :mType(type) {}
      method addNestedRow (line 1350) | void addNestedRow (const RefIdColumn *column,
      method removeNestedRow (line 1369) | void removeNestedRow (const RefIdColumn *column,
      method setNestedTable (line 1386) | void setNestedTable (const RefIdColumn* column,
      method NestedTableWrapperBase (line 1399) | NestedTableWrapperBase* nestedTable (const RefIdColumn* column,
      method QVariant (line 1409) | QVariant getNestedData (const RefIdColumn *column,
      method setNestedData (line 1428) | void setNestedData (const RefIdColumn *column,
      method getNestedColumnsCount (line 1447) | int getNestedColumnsCount(const RefIdColumn *column, const RefIdData...
      method getNestedRowsCount (line 1452) | int getNestedRowsCount(const RefIdColumn *column, const RefIdData& d...
    class NestedTravelRefIdAdapter (line 1462) | class NestedTravelRefIdAdapter : public NestedRefIdAdapterBase
      method NestedTravelRefIdAdapter (line 1472) | NestedTravelRefIdAdapter(UniversalId::Type type) :mType(type) {}
      method addNestedRow (line 1476) | void addNestedRow (const RefIdColumn *column,
      method removeNestedRow (line 1504) | void removeNestedRow (const RefIdColumn *column,
      method setNestedTable (line 1521) | void setNestedTable (const RefIdColumn* column,
      method NestedTableWrapperBase (line 1534) | NestedTableWrapperBase* nestedTable (const RefIdColumn* column,
      method QVariant (line 1544) | QVariant getNestedData (const RefIdColumn *column,
      method setNestedData (line 1571) | void setNestedData (const RefIdColumn *column,
      method getNestedColumnsCount (line 1598) | int getNestedColumnsCount(const RefIdColumn *column, const RefIdData...
      method getNestedRowsCount (line 1603) | int getNestedRowsCount(const RefIdColumn *column, const RefIdData& d...
    class ActorAiRefIdAdapter (line 1613) | class ActorAiRefIdAdapter : public NestedRefIdAdapterBase
      method ActorAiRefIdAdapter (line 1623) | ActorAiRefIdAdapter(UniversalId::Type type) :mType(type) {}
      method addNestedRow (line 1629) | void addNestedRow (const RefIdColumn *column,
      method removeNestedRow (line 1656) | void removeNestedRow (const RefIdColumn *column,
      method setNestedTable (line 1673) | void setNestedTable (const RefIdColumn* column,
      method NestedTableWrapperBase (line 1686) | NestedTableWrapperBase* nestedTable (const RefIdColumn* column,
      method QVariant (line 1696) | QVariant getNestedData (const RefIdColumn *column,
      method setNestedData (line 1797) | void setNestedData (const RefIdColumn *column,
      method getNestedColumnsCount (line 1920) | int getNestedColumnsCount(const RefIdColumn *column, const RefIdData...
      method getNestedRowsCount (line 1925) | int getNestedRowsCount(const RefIdColumn *column, const RefIdData& d...
    class BodyPartRefIdAdapter (line 1936) | class BodyPartRefIdAdapter : public NestedRefIdAdapterBase
      method BodyPartRefIdAdapter (line 1946) | BodyPartRefIdAdapter(UniversalId::Type type) :mType(type) {}
      method addNestedRow (line 1950) | void addNestedRow (const RefIdColumn *column,
      method removeNestedRow (line 1972) | void removeNestedRow (const RefIdColumn *column,
      method setNestedTable (line 1989) | void setNestedTable (const RefIdColumn* column,
      method NestedTableWrapperBase (line 2002) | NestedTableWrapperBase* nestedTable (const RefIdColumn* column,
      method QVariant (line 2012) | QVariant getNestedData (const RefIdColumn *column,
      method setNestedData (line 2041) | void setNestedData (const RefIdColumn *column,
      method getNestedColumnsCount (line 2064) | int getNestedColumnsCount(const RefIdColumn *column, const RefIdData...
      method getNestedRowsCount (line 2069) | int getNestedRowsCount(const RefIdColumn *column, const RefIdData& d...
    type LevListColumns (line 2079) | struct LevListColumns : public BaseColumns
      method LevListColumns (line 2084) | LevListColumns (const BaseColumns& base)
    class LevelledListRefIdAdapter (line 2092) | class LevelledListRefIdAdapter : public BaseRefIdAdapter<RecordT>
    function QVariant (line 2115) | QVariant LevelledListRefIdAdapter<RecordT>::getData (const RefIdColumn...
    class NestedListLevListRefIdAdapter (line 2135) | class NestedListLevListRefIdAdapter : public NestedRefIdAdapterBase
      method NestedListLevListRefIdAdapter (line 2145) | NestedListLevListRefIdAdapter(UniversalId::Type type)
      method addNestedRow (line 2150) | void addNestedRow (const RefIdColumn *column,
      method removeNestedRow (line 2156) | void removeNestedRow (const RefIdColumn *column,
      method setNestedTable (line 2162) | void setNestedTable (const RefIdColumn* column,
      method NestedTableWrapperBase (line 2168) | NestedTableWrapperBase* nestedTable (const RefIdColumn* column,
      method QVariant (line 2174) | QVariant getNestedData (const RefIdColumn *column,
      method setNestedData (line 2204) | void setNestedData (const RefIdColumn *column,
      method getNestedColumnsCount (line 2273) | int getNestedColumnsCount(const RefIdColumn *column, const RefIdData...
      method getNestedRowsCount (line 2278) | int getNestedRowsCount(const RefIdColumn *column, const RefIdData& d...
    class NestedLevListRefIdAdapter (line 2286) | class NestedLevListRefIdAdapter : public NestedRefIdAdapterBase
      method NestedLevListRefIdAdapter (line 2296) | NestedLevListRefIdAdapter(UniversalId::Type type) :mType(type) {}
      method addNestedRow (line 2300) | void addNestedRow (const RefIdColumn *column,
      method removeNestedRow (line 2321) | void removeNestedRow (const RefIdColumn *column,
      method setNestedTable (line 2338) | void setNestedTable (const RefIdColumn* column,
      method NestedTableWrapperBase (line 2351) | NestedTableWrapperBase* nestedTable (const RefIdColumn* column,
      method QVariant (line 2361) | QVariant getNestedData (const RefIdColumn *column,
      method setNestedData (line 2383) | void setNestedData (const RefIdColumn *column,
      method getNestedColumnsCount (line 2405) | int getNestedColumnsCount(const RefIdColumn *column, const RefIdData...
      method getNestedRowsCount (line 2410) | int getNestedRowsCount(const RefIdColumn *column, const RefIdData& d...

FILE: apps/opencs/model/world/refidcollection.cpp
  function QVariant (line 735) | QVariant CSMWorld::RefIdCollection::getData (int index, int column) const
  function QVariant (line 744) | QVariant CSMWorld::RefIdCollection::getNestedData (int row, int column, ...

FILE: apps/opencs/model/world/refidcollection.hpp
  type ESM (line 13) | namespace ESM
    class ESMWriter (line 15) | class ESMWriter
  type CSMWorld (line 18) | namespace CSMWorld
    class RefIdAdapter (line 20) | class RefIdAdapter
    type NestedTableWrapperBase (line 21) | struct NestedTableWrapperBase
    class NestedRefIdAdapterBase (line 22) | class NestedRefIdAdapterBase
    class RefIdColumn (line 24) | class RefIdColumn : public NestableColumn
    class RefIdCollection (line 40) | class RefIdCollection : public CollectionBase, public NestedCollection

FILE: apps/opencs/model/world/refiddata.hpp
  type ESM (line 33) | namespace ESM
    class ESMReader (line 35) | class ESMReader
  type CSMWorld (line 38) | namespace CSMWorld
    type RefIdDataContainerBase (line 40) | struct RefIdDataContainerBase
    type RefIdDataContainer (line 65) | struct RefIdDataContainer : public RefIdDataContainerBase
    function RecordBase (line 103) | const RecordBase& RefIdDataContainer<RecordT>::getRecord (int index) c...
    function RecordBase (line 109) | RecordBase& RefIdDataContainer<RecordT>::getRecord (int index)
    class RefIdData (line 219) | class RefIdData

FILE: apps/opencs/model/world/regionmap.cpp
  function QModelIndex (line 33) | QModelIndex CSMWorld::RegionMap::getIndex (const CellCoordinates& index)...
  function QVariant (line 315) | QVariant CSMWorld::RegionMap::data (const QModelIndex& index, int role) ...

FILE: apps/opencs/model/world/regionmap.hpp
  type CSMWorld (line 14) | namespace CSMWorld
    class Data (line 16) | class Data
    class RegionMap (line 21) | class RegionMap : public QAbstractTableModel
      type CellDescription (line 35) | struct CellDescription

FILE: apps/opencs/model/world/resources.hpp
  type VFS (line 10) | namespace VFS
    class Manager (line 12) | class Manager
  type CSMWorld (line 15) | namespace CSMWorld
    class Resources (line 17) | class Resources

FILE: apps/opencs/model/world/resourcesmanager.hpp
  type VFS (line 9) | namespace VFS
    class Manager (line 11) | class Manager
  type CSMWorld (line 14) | namespace CSMWorld
    class ResourcesManager (line 16) | class ResourcesManager

FILE: apps/opencs/model/world/resourcetable.cpp
  function QVariant (line 31) | QVariant CSMWorld::ResourceTable::data  (const QModelIndex & index, int ...
  function QVariant (line 45) | QVariant CSMWorld::ResourceTable::headerData (int section, Qt::Orientati...
  function QModelIndex (line 91) | QModelIndex CSMWorld::ResourceTable::index (int row, int column, const Q...
  function QModelIndex (line 106) | QModelIndex CSMWorld::ResourceTable::parent (const QModelIndex& index) c...
  function QModelIndex (line 111) | QModelIndex CSMWorld::ResourceTable::getModelIndex (const std::string& i...

FILE: apps/opencs/model/world/resourcetable.hpp
  type CSMWorld (line 6) | namespace CSMWorld
    class Resources (line 8) | class Resources
    class ResourceTable (line 10) | class ResourceTable : public IdTableBase

FILE: apps/opencs/model/world/scope.hpp
  type CSMWorld (line 6) | namespace CSMWorld
    type Scope (line 8) | enum Scope

FILE: apps/opencs/model/world/scriptcontext.hpp
  type CSMWorld (line 11) | namespace CSMWorld
    class Data (line 13) | class Data
    class ScriptContext (line 15) | class ScriptContext : public Compiler::Context

FILE: apps/opencs/model/world/subcellcollection.hpp
  type ESM (line 6) | namespace ESM
    class ESMReader (line 8) | class ESMReader
  type CSMWorld (line 11) | namespace CSMWorld
    type Cell (line 13) | struct Cell
    class IdCollection (line 15) | class IdCollection
    class SubCellCollection (line 19) | class SubCellCollection : public NestedIdCollection<ESXRecordT, IdAcce...

FILE: apps/opencs/model/world/tablemimedata.cpp
  function QStringList (line 26) | QStringList CSMWorld::TableMimeData::formats() const
  type Mapping (line 214) | struct Mapping

FILE: apps/opencs/model/world/tablemimedata.hpp
  type CSMDoc (line 12) | namespace CSMDoc
    class Document (line 14) | class Document
  type CSMWorld (line 17) | namespace CSMWorld
    class TableMimeData (line 27) | class TableMimeData : public QMimeData

FILE: apps/opencs/model/world/universalid.cpp
  type TypeData (line 10) | struct TypeData

FILE: apps/opencs/model/world/universalid.hpp
  type CSMWorld (line 10) | namespace CSMWorld
    class UniversalId (line 12) | class UniversalId
      type Class (line 16) | enum Class
      type ArgumentType (line 31) | enum ArgumentType
      type Type (line 40) | enum Type

FILE: apps/opencs/view/doc/adjusterwidget.hpp
  class QLabel (line 8) | class QLabel
  type CSVDoc (line 10) | namespace CSVDoc
    type ContentAction (line 12) | enum ContentAction
    class AdjusterWidget (line 19) | class AdjusterWidget : public QWidget

FILE: apps/opencs/view/doc/filedialog.cpp
  function QStringList (line 46) | QStringList CSVDoc::FileDialog::selectedFilePaths()
  function QString (line 176) | QString CSVDoc::FileDialog::filename() const

FILE: apps/opencs/view/doc/filedialog.hpp
  type ContentSelectorView (line 21) | namespace ContentSelectorView
    class ContentSelector (line 23) | class ContentSelector
  type CSVDoc (line 26) | namespace CSVDoc
    class FileWidget (line 28) | class FileWidget
    class FileDialog (line 30) | class FileDialog : public QDialog

FILE: apps/opencs/view/doc/filewidget.cpp
  function QString (line 9) | QString CSVDoc::FileWidget::getExtension() const
  function QString (line 38) | QString CSVDoc::FileWidget::getName() const

FILE: apps/opencs/view/doc/filewidget.hpp
  class QLabel (line 8) | class QLabel
  class QString (line 9) | class QString
  class QLineEdit (line 10) | class QLineEdit
  type CSVDoc (line 12) | namespace CSVDoc
    class FileWidget (line 14) | class FileWidget : public QWidget

FILE: apps/opencs/view/doc/globaldebugprofilemenu.hpp
  class QModelIndex (line 6) | class QModelIndex
  class QActionGroup (line 7) | class QActionGroup
  type CSMWorld (line 9) | namespace CSMWorld
    class IdTable (line 11) | class IdTable
  type CSVDoc (line 14) | namespace CSVDoc
    class GlobalDebugProfileMenu (line 16) | class GlobalDebugProfileMenu : public QMenu

FILE: apps/opencs/view/doc/loader.hpp
  class QLabel (line 10) | class QLabel
  class QProgressBar (line 11) | class QProgressBar
  class QDialogButtonBox (line 12) | class QDialogButtonBox
  class QListWidget (line 13) | class QListWidget
  class QVBoxLayout (line 14) | class QVBoxLayout
  type CSMDoc (line 16) | namespace CSMDoc
    class Document (line 18) | class Document
  type CSVDoc (line 21) | namespace CSVDoc
    class LoadingDocument (line 23) | class LoadingDocument : public QWidget
    class Loader (line 68) | class Loader : public QObject

FILE: apps/opencs/view/doc/newgame.hpp
  class QPushButton (line 14) | class QPushButton
  type CSVDoc (line 16) | namespace CSVDoc
    class FileWidget (line 18) | class FileWidget
    class AdjusterWidget (line 19) | class AdjusterWidget
    class NewGameDialogue (line 21) | class NewGameDialogue : public QDialog

FILE: apps/opencs/view/doc/operation.cpp
  function QHBoxLayout (line 145) | QHBoxLayout *CSVDoc::Operation::getLayout() const

FILE: apps/opencs/view/doc/operation.hpp
  class QHBoxLayout (line 6) | class QHBoxLayout
  class QPushButton (line 7) | class QPushButton
  class QProgressBar (line 8) | class QProgressBar
  type CSVDoc (line 10) | namespace CSVDoc
    class Operation (line 12) | class Operation : public QObject

FILE: apps/opencs/view/doc/operations.hpp
  class QVBoxLayout (line 8) | class QVBoxLayout
  type CSVDoc (line 10) | namespace CSVDoc
    class Operation (line 12) | class Operation
    class Operations (line 14) | class Operations : public QDockWidget

FILE: apps/opencs/view/doc/runlogsubview.hpp
  type CSVDoc (line 6) | namespace CSVDoc
    class RunLogSubView (line 8) | class RunLogSubView : public SubView

FILE: apps/opencs/view/doc/sizehint.cpp
  function QSize (line 9) | QSize CSVDoc::SizeHintWidget::sizeHint() const

FILE: apps/opencs/view/doc/sizehint.hpp
  type CSVDoc (line 7) | namespace CSVDoc
    class SizeHintWidget (line 9) | class SizeHintWidget : public QWidget

FILE: apps/opencs/view/doc/startup.cpp
  function QPushButton (line 14) | QPushButton *CSVDoc::StartupDialogue::addButton (const QString& label, c...
  function QWidget (line 37) | QWidget *CSVDoc::StartupDialogue::createButtons()
  function QWidget (line 72) | QWidget *CSVDoc::StartupDialogue::createTools()

FILE: apps/opencs/view/doc/startup.hpp
  class QGridLayout (line 6) | class QGridLayout
  class QString (line 7) | class QString
  class QPushButton (line 8) | class QPushButton
  class QWidget (line 9) | class QWidget
  class QIcon (line 10) | class QIcon
  type CSVDoc (line 12) | namespace CSVDoc
    class StartupDialogue (line 14) | class StartupDialogue : public QWidget

FILE: apps/opencs/view/doc/subview.hpp
  class QUndoStack (line 12) | class QUndoStack
  type CSMWorld (line 14) | namespace CSMWorld
    class Data (line 16) | class Data
  type CSVDoc (line 19) | namespace CSVDoc
    class View (line 21) | class View
    class SubView (line 23) | class SubView : public QDockWidget

FILE: apps/opencs/view/doc/subviewfactory.hpp
  type CSMDoc (line 8) | namespace CSMDoc
    class Document (line 10) | class Document
  type CSVDoc (line 13) | namespace CSVDoc
    class SubView (line 15) | class SubView
    class SubViewFactoryBase (line 17) | class SubViewFactoryBase
    class SubViewFactoryManager (line 33) | class SubViewFactoryManager

FILE: apps/opencs/view/doc/subviewfactoryimp.hpp
  type CSVDoc (line 8) | namespace CSVDoc
    class SubViewFactory (line 11) | class SubViewFactory : public SubViewFactoryBase
    class SubViewFactoryWithCreator (line 27) | class SubViewFactoryWithCreator : public SubViewFactoryBase

FILE: apps/opencs/view/doc/view.cpp
  function updateUndoRedoAction (line 95) | void updateUndoRedoAction(QAction *action, const std::string &settingsKey)
  function QAction (line 329) | QAction* CSVDoc::View::createMenuEntry(CSMWorld::UniversalId::Type type,...
  function QAction (line 343) | QAction* CSVDoc::View::createMenuEntry(const std::string& title, const s...
  type tm (line 737) | struct tm

FILE: apps/opencs/view/doc/view.hpp
  class QAction (line 11) | class QAction
  class QDockWidget (line 12) | class QDockWidget
  class QScrollArea (line 13) | class QScrollArea
  type CSMDoc (line 15) | namespace CSMDoc
    class Document (line 17) | class Document
  type CSMWorld (line 20) | namespace CSMWorld
    class UniversalId (line 22) | class UniversalId
  type CSMPrefs (line 25) | namespace CSMPrefs
    class Setting (line 27) | class Setting
  type CSVDoc (line 30) | namespace CSVDoc
    class ViewManager (line 32) | class ViewManager
    class Operations (line 33) | class Operations
    class GlobalDebugProfileMenu (line 34) | class GlobalDebugProfileMenu
    class View (line 36) | class View : public QMainWindow

FILE: apps/opencs/view/doc/viewmanager.cpp
  type Mapping (line 74) | struct Mapping

FILE: apps/opencs/view/doc/viewmanager.hpp
  type CSMDoc (line 10) | namespace CSMDoc
    class Document (line 12) | class Document
    class DocumentManager (line 13) | class DocumentManager
  type CSVWorld (line 16) | namespace CSVWorld
    class CommandDelegateFactoryCollection (line 18) | class CommandDelegateFactoryCollection
  type CSMWorld (line 21) | namespace CSMWorld
    class UniversalId (line 23) | class UniversalId
  type CSVDoc (line 26) | namespace CSVDoc
    class View (line 28) | class View
    class ViewManager (line 30) | class ViewManager : public QObject

FILE: apps/opencs/view/filter/editwidget.hpp
  class QModelIndex (line 11) | class QModelIndex
  type CSMWorld (line 13) | namespace CSMWorld
    class Data (line 15) | class Data
  type CSVFilter (line 18) | namespace CSVFilter
    class EditWidget (line 20) | class EditWidget : public QLineEdit

FILE: apps/opencs/view/filter/filterbox.hpp
  type CSMWorld (line 12) | namespace CSMWorld
    class Data (line 14) | class Data
  type CSVFilter (line 17) | namespace CSVFilter
    class RecordFilterBox (line 19) | class RecordFilterBox
    class FilterBox (line 21) | class FilterBox : public QWidget

FILE: apps/opencs/view/filter/recordfilterbox.hpp
  type CSMWorld (line 11) | namespace CSMWorld
    class Data (line 13) | class Data
  type CSVFilter (line 16) | namespace CSVFilter
    class EditWidget (line 18) | class EditWidget
    class RecordFilterBox (line 20) | class RecordFilterBox : public QWidget

FILE: apps/opencs/view/prefs/contextmenulist.hpp
  class QContextMenuEvent (line 6) | class QContextMenuEvent
  class QMouseEvent (line 7) | class QMouseEvent
  type CSVPrefs (line 9) | namespace CSVPrefs
    class ContextMenuList (line 11) | class ContextMenuList : public QListWidget

FILE: apps/opencs/view/prefs/dialogue.hpp
  class QSplitter (line 6) | class QSplitter
  class QListWidget (line 7) | class QListWidget
  class QStackedWidget (line 8) | class QStackedWidget
  class QListWidgetItem (line 9) | class QListWidgetItem
  type CSVPrefs (line 11) | namespace CSVPrefs
    class PageBase (line 13) | class PageBase
    class Dialogue (line 15) | class Dialogue : public QMainWindow

FILE: apps/opencs/view/prefs/keybindingpage.cpp
  type CSVPrefs (line 15) | namespace CSVPrefs

FILE: apps/opencs/view/prefs/keybindingpage.hpp
  class QComboBox (line 6) | class QComboBox
  class QGridLayout (line 7) | class QGridLayout
  class QStackedLayout (line 8) | class QStackedLayout
  type CSMPrefs (line 10) | namespace CSMPrefs
    class Setting (line 12) | class Setting
  type CSVPrefs (line 15) | namespace CSVPrefs
    class KeyBindingPage (line 17) | class KeyBindingPage : public PageBase

FILE: apps/opencs/view/prefs/page.hpp
  class QGridLayout (line 6) | class QGridLayout
  type CSMPrefs (line 8) | namespace CSMPrefs
    class Setting (line 10) | class Setting
  type CSVPrefs (line 13) | namespace CSVPrefs
    class Page (line 15) | class Page : public PageBase

FILE: apps/opencs/view/prefs/pagebase.hpp
  class QContextMenuEvent (line 6) | class QContextMenuEvent
  type CSMPrefs (line 8) | namespace CSMPrefs
    class Category (line 10) | class Category
  type CSVPrefs (line 13) | namespace CSVPrefs
    class PageBase (line 15) | class PageBase : public QScrollArea

FILE: apps/opencs/view/render/actor.cpp
  type CSVRender (line 15) | namespace CSVRender

FILE: apps/opencs/view/render/actor.hpp
  type osg (line 15) | namespace osg
    class Group (line 17) | class Group
  type CSMWorld (line 20) | namespace CSMWorld
    class Data (line 22) | class Data
  type SceneUtil (line 25) | namespace SceneUtil
    class Skeleton (line 27) | class Skeleton
  type CSVRender (line 30) | namespace CSVRender
    class Actor (line 33) | class Actor : public QObject

FILE: apps/opencs/view/render/brushdraw.hpp
  type CSVRender (line 10) | namespace CSVRender
    class BrushDraw (line 12) | class BrushDraw

FILE: apps/opencs/view/render/cameracontroller.cpp
  type CSVRender (line 21) | namespace CSVRender

FILE: apps/opencs/view/render/cameracontroller.hpp
  type osg (line 12) | namespace osg
    class Camera (line 14) | class Camera
    class Group (line 15) | class Group
  type CSMPrefs (line 18) | namespace CSMPrefs
    class Shortcut (line 20) | class Shortcut
  type CSVRender (line 23) | namespace CSVRender
    class SceneWidget (line 25) | class SceneWidget
    class CameraController (line 27) | class CameraController : public QObject
    class FreeCameraController (line 80) | class FreeCameraController : public CameraController
    class OrbitCameraController (line 137) | class OrbitCameraController : public CameraController

FILE: apps/opencs/view/render/cell.cpp
  type CSVRender (line 32) | namespace CSVRender
    class CellNodeContainer (line 34) | class CellNodeContainer : public osg::Referenced
      method CellNodeContainer (line 38) | CellNodeContainer(Cell* cell) : mCell(cell) {}
      method Cell (line 40) | Cell* getCell(){ return mCell; }
    class CellNodeCallback (line 47) | class CellNodeCallback : public osg::NodeCallback

FILE: apps/opencs/view/render/cell.hpp
  class QModelIndex (line 15) | class QModelIndex
  type osg (line 17) | namespace osg
    class Group (line 19) | class Group
    class Geometry (line 20) | class Geometry
    class Geode (line 21) | class Geode
  type CSMWorld (line 24) | namespace CSMWorld
    class Data (line 26) | class Data
  type Terrain (line 29) | namespace Terrain
    class TerrainGrid (line 31) | class TerrainGrid
  type CSVRender (line 34) | namespace CSVRender
    class CellWater (line 36) | class CellWater
    class Pathgrid (line 37) | class Pathgrid
    class TagBase (line 38) | class TagBase
    class Object (line 39) | class Object
    class CellArrow (line 41) | class CellArrow
    class CellBorder (line 42) | class CellBorder
    class CellMarker (line 43) | class CellMarker
    class CellWater (line 44) | class CellWater
    class Cell (line 46) | class Cell
      type Selection (line 84) | enum Selection

FILE: apps/opencs/view/render/cellarrow.cpp
  function QString (line 26) | QString CSVRender::CellArrowTag::getToolTip (bool hideBasics) const

FILE: apps/opencs/view/render/cellarrow.hpp
  type osg (line 10) | namespace osg
    class PositionAttitudeTransform (line 12) | class PositionAttitudeTransform
    class Group (line 13) | class Group
  type CSVRender (line 16) | namespace CSVRender
    class CellArrow (line 18) | class CellArrow
      type Direction (line 38) | enum Direction
    class CellArrowTag (line 20) | class CellArrowTag : public TagBase
    class CellArrow (line 34) | class CellArrow
      type Direction (line 38) | enum Direction

FILE: apps/opencs/view/render/cellborder.hpp
  type osg (line 8) | namespace osg
    class Geometry (line 10) | class Geometry
    class Group (line 11) | class Group
    class PositionAttitudeTransform (line 12) | class PositionAttitudeTransform
  type ESM (line 15) | namespace ESM
    type Land (line 17) | struct Land
  type CSMWorld (line 20) | namespace CSMWorld
    class CellCoordinates (line 22) | class CellCoordinates
  type CSVRender (line 25) | namespace CSVRender
    class CellBorder (line 28) | class CellBorder

FILE: apps/opencs/view/render/cellmarker.hpp
  type osg (line 10) | namespace osg
    class AutoTransform (line 12) | class AutoTransform
    class Group (line 13) | class Group
  type CSVRender (line 16) | namespace CSVRender
    class CellMarker (line 18) | class CellMarker
    class CellMarkerTag (line 20) | class CellMarkerTag : public TagBase
    class CellMarker (line 34) | class CellMarker

FILE: apps/opencs/view/render/cellwater.cpp
  type CSVRender (line 21) | namespace CSVRender

FILE: apps/opencs/view/render/cellwater.hpp
  type osg (line 13) | namespace osg
    class Geode (line 15) | class Geode
    class Geometry (line 16) | class Geometry
    class Group (line 17) | class Group
    class PositionAttitudeTransform (line 18) | class PositionAttitudeTransform
  type CSMWorld (line 21) | namespace CSMWorld
    type Cell (line 23) | struct Cell
    class CellCoordinates (line 24) | class CellCoordinates
    class Data (line 25) | class Data
  type CSVRender (line 28) | namespace CSVRender
    class CellWater (line 32) | class CellWater : public QObject

FILE: apps/opencs/view/render/commands.hpp
  type CSVRender (line 10) | namespace CSVRender
    class TerrainSelection (line 12) | class TerrainSelection
    class DrawTerrainSelectionCommand (line 26) | class DrawTerrainSelectionCommand : public QUndoCommand

FILE: apps/opencs/view/render/editmode.hpp
  class QDragEnterEvent (line 8) | class QDragEnterEvent
  class QDropEvent (line 9) | class QDropEvent
  class QDragMoveEvent (line 10) | class QDragMoveEvent
  class QPoint (line 11) | class QPoint
  type CSVRender (line 13) | namespace CSVRender
    class WorldspaceWidget (line 15) | class WorldspaceWidget
    type WorldspaceHitResult (line 16) | struct WorldspaceHitResult
    class TagBase (line 17) | class TagBase
    class EditMode (line 19) | class EditMode : public CSVWidget::ModeButton

FILE: apps/opencs/view/render/instancedragmodes.hpp
  type CSVRender (line 4) | namespace CSVRender
    type DragMode (line 6) | enum DragMode

FILE: apps/opencs/view/render/instancemode.hpp
  type CSVWidget (line 14) | namespace CSVWidget
    class SceneToolMode (line 16) | class SceneToolMode
  type CSVRender (line 19) | namespace CSVRender
    class TagBase (line 21) | class TagBase
    class InstanceSelectionMode (line 22) | class InstanceSelectionMode
    class Object (line 23) | class Object
    class InstanceMode (line 25) | class InstanceMode : public EditMode
    class DropObjectHeightHandler (line 122) | class DropObjectHeightHandler

FILE: apps/opencs/view/render/instancemovemode.hpp
  type CSVRender (line 6) | namespace CSVRender
    class InstanceMoveMode (line 8) | class InstanceMoveMode : public CSVWidget::ModeButton

FILE: apps/opencs/view/render/instanceselectionmode.cpp
  type CSVRender (line 19) | namespace CSVRender

FILE: apps/opencs/view/render/instanceselectionmode.hpp
  type CSVRender (line 12) | namespace CSVRender
    class InstanceSelectionMode (line 14) | class InstanceSelectionMode : public SelectionMode

FILE: apps/opencs/view/render/lighting.cpp
  class DayNightSwitchVisitor (line 9) | class DayNightSwitchVisitor : public osg::NodeVisitor
    method DayNightSwitchVisitor (line 12) | DayNightSwitchVisitor(int index)
    method apply (line 17) | void apply(osg::Switch &switchNode) override

FILE: apps/opencs/view/render/lighting.hpp
  type osg (line 6) | namespace osg
    class Vec4f (line 8) | class Vec4f
    class LightSource (line 9) | class LightSource
    class Group (line 10) | class Group
  type CSVRender (line 13) | namespace CSVRender
    class Lighting (line 15) | class Lighting
      method Lighting (line 19) | Lighting() : mRootNode(nullptr) {}

FILE: apps/opencs/view/render/lightingbright.hpp
  type osg (line 6) | namespace osg
    class Light (line 8) | class Light
    class Group (line 9) | class Group
  type CSVRender (line 12) | namespace CSVRender
    class LightingBright (line 14) | class LightingBright : public Lighting

FILE: apps/opencs/view/render/lightingday.hpp
  type CSVRender (line 6) | namespace CSVRender
    class LightingDay (line 8) | class LightingDay : public Lighting

FILE: apps/opencs/view/render/lightingnight.hpp
  type CSVRender (line 6) | namespace CSVRender
    class LightingNight (line 8) | class LightingNight : public Lighting

FILE: apps/opencs/view/render/mask.hpp
  type CSVRender (line 4) | namespace CSVRender
    type Mask (line 11) | enum Mask : unsigned int

FILE: apps/opencs/view/render/object.cpp
  function createErrorCube (line 46) | osg::ref_ptr<osg::Geode> createErrorCube()
  function QString (line 64) | QString CSVRender::ObjectTag::getToolTip (bool hideBasics) const

FILE: apps/opencs/view/render/object.hpp
  class QModelIndex (line 15) | class QModelIndex
  class QUndoStack (line 16) | class QUndoStack
  type osg (line 18) | namespace osg
    class PositionAttitudeTransform (line 20) | class PositionAttitudeTransform
    class Group (line 21) | class Group
    class Node (line 22) | class Node
    class Geode (line 23) | class Geode
  type osgFX (line 26) | namespace osgFX
    class Scribe (line 28) | class Scribe
  type Resource (line 31) | namespace Resource
    class ResourceSystem (line 33) | class ResourceSystem
  type CSMWorld (line 36) | namespace CSMWorld
    class Data (line 38) | class Data
    type CellRef (line 39) | struct CellRef
    class CommandMacro (line 40) | class CommandMacro
  type CSVRender (line 43) | namespace CSVRender
    class Actor (line 45) | class Actor
    class Object (line 46) | class Object
      type OverrideFlags (line 73) | enum OverrideFlags
    class ObjectTag (line 49) | class ObjectTag : public TagBase
    class ObjectMarkerTag (line 60) | class ObjectMarkerTag : public ObjectTag
    class Object (line 69) | class Object
      type OverrideFlags (line 73) | enum OverrideFlags

FILE: apps/opencs/view/render/orbitcameramode.cpp
  type CSVRender (line 9) | namespace CSVRender

FILE: apps/opencs/view/render/orbitcameramode.hpp
  type CSMPrefs (line 8) | namespace CSMPrefs
    class Shortcut (line 10) | class Shortcut
  type CSVRender (line 13) | namespace CSVRender
    class WorldspaceWidget (line 15) | class WorldspaceWidget
    class OrbitCameraMode (line 17) | class OrbitCameraMode : public CSVWidget::ModeButton

FILE: apps/opencs/view/render/pagedworldspacewidget.hpp
  type CSVWidget (line 12) | namespace CSVWidget
    class SceneToolToggle (line 14) | class SceneToolToggle
    class SceneToolToggle2 (line 15) | class SceneToolToggle2
  type CSVRender (line 18) | namespace CSVRender
    class TextOverlay (line 20) | class TextOverlay
    class OverlayMask (line 21) | class OverlayMask
    class PagedWorldspaceWidget (line 23) | class PagedWorldspaceWidget : public WorldspaceWidget

FILE: apps/opencs/view/render/pathgrid.cpp
  type CSVRender (line 20) | namespace CSVRender
    class PathgridNodeCallback (line 22) | class PathgridNodeCallback : public osg::NodeCallback
    function Pathgrid (line 38) | Pathgrid* PathgridTag::getPathgrid() const
    function QString (line 43) | QString PathgridTag::getToolTip(bool hideBasics) const

FILE: apps/opencs/view/render/pathgrid.hpp
  type osg (line 16) | namespace osg
    class Geode (line 18) | class Geode
    class Geometry (line 19) | class Geometry
    class Group (line 20) | class Group
    class PositionAttitudeTransform (line 21) | class PositionAttitudeTransform
  type CSMWorld (line 24) | namespace CSMWorld
    class CommandMacro (line 26) | class CommandMacro
    class Data (line 27) | class Data
    type Pathgrid (line 28) | struct Pathgrid
  type CSVRender (line 31) | namespace CSVRender
    class Pathgrid (line 33) | class Pathgrid
    class PathgridTag (line 35) | class PathgridTag : public TagBase
    class Pathgrid (line 50) | class Pathgrid

FILE: apps/opencs/view/render/pathgridmode.cpp
  type CSVRender (line 21) | namespace CSVRender
    function QString (line 32) | QString PathgridMode::getTooltip()

FILE: apps/opencs/view/render/pathgridmode.hpp
  type CSVRender (line 8) | namespace CSVRender
    class PathgridSelectionMode (line 10) | class PathgridSelectionMode
    class PathgridMode (line 12) | class PathgridMode : public EditMode
      type DragMode (line 48) | enum DragMode

FILE: apps/opencs/view/render/pathgridselectionmode.cpp
  type CSVRender (line 13) | namespace CSVRender

FILE: apps/opencs/view/render/pathgridselectionmode.hpp
  type CSVRender (line 6) | namespace CSVRender
    class PathgridSelectionMode (line 8) | class PathgridSelectionMode : public SelectionMode

FILE: apps/opencs/view/render/previewwidget.hpp
  class QModelIndex (line 8) | class QModelIndex
  type VFS (line 10) | namespace VFS
    class Manager (line 12) | class Manager
  type CSMWorld (line 15) | namespace CSMWorld
    class Data (line 17) | class Data
  type CSVRender (line 20) | namespace CSVRender
    class PreviewWidget (line 22) | class PreviewWidget : public SceneWidget

FILE: apps/opencs/view/render/scenewidget.cpp
  type CSVRender (line 33) | namespace CSVRender
    function CompositeViewer (line 169) | CompositeViewer &CompositeViewer::get()

FILE: apps/opencs/view/render/scenewidget.hpp
  type Resource (line 18) | namespace Resource
    class ResourceSystem (line 20) | class ResourceSystem
  type osg (line 23) | namespace osg
    class Group (line 25) | class Group
    class Camera (line 26) | class Camera
  type CSVWidget (line 29) | namespace CSVWidget
    class SceneToolMode (line 31) | class SceneToolMode
    class SceneToolbar (line 32) | class SceneToolbar
  type CSMPrefs (line 35) | namespace CSMPrefs
    class Setting (line 37) | class Setting
  type CSVRender (line 40) | namespace CSVRender
    class CameraController (line 42) | class CameraController
    class FreeCameraController (line 43) | class FreeCameraController
    class OrbitCameraController (line 44) | class OrbitCameraController
    class Lighting (line 45) | class Lighting
    class RenderWidget (line 47) | class RenderWidget : public QWidget
    class SceneWidget (line 77) | class SceneWidget : public RenderWidget
    class CompositeViewer (line 148) | class CompositeViewer : public QObject, public osgViewer::CompositeViewer

FILE: apps/opencs/view/render/selectionmode.cpp
  type CSVRender (line 8) | namespace CSVRender
    function WorldspaceWidget (line 49) | WorldspaceWidget& SelectionMode::getWorldspaceWidget()

FILE: apps/opencs/view/render/selectionmode.hpp
  class QAction (line 8) | class QAction
  type CSVRender (line 10) | namespace CSVRender
    class WorldspaceWidget (line 12) | class WorldspaceWidget
    class SelectionMode (line 14) | class SelectionMode : public CSVWidget::SceneToolMode

FILE: apps/opencs/view/render/tagbase.cpp
  function QString (line 11) | QString CSVRender::TagBase::getToolTip (bool hideBasics) const

FILE: apps/opencs/view/render/tagbase.hpp
  type CSVRender (line 10) | namespace CSVRender
    class TagBase (line 12) | class TagBase : public osg::Referenced

FILE: apps/opencs/view/render/terrainselection.hpp
  type osg (line 14) | namespace osg
    class Group (line 16) | class Group
  type CSVRender (line 19) | namespace CSVRender
    type WorldspaceHitResult (line 21) | struct WorldspaceHitResult
    class WorldspaceWidget (line 22) | class WorldspaceWidget
    type TerrainSelectionType (line 24) | enum class TerrainSelectionType
    type SelectionMethod (line 30) | enum class SelectionMethod
    class TerrainSelection (line 39) | class TerrainSelection

FILE: apps/opencs/view/render/terrainshapemode.hpp
  type CSVWidget (line 25) | namespace CSVWidget
    class SceneToolShapeBrush (line 27) | class SceneToolShapeBrush
  type CSVRender (line 30) | namespace CSVRender
    class PagedWorldspaceWidget (line 32) | class PagedWorldspaceWidget
    class TerrainShapeMode (line 35) | class TerrainShapeMode : public EditMode
      type ShapeEditTool (line 50) | enum ShapeEditTool

FILE: apps/opencs/view/render/terrainstorage.cpp
  type CSVRender (line 8) | namespace CSVRender

FILE: apps/opencs/view/render/terrainstorage.hpp
  type CSVRender (line 10) | namespace CSVRender
    class TerrainStorage (line 15) | class TerrainStorage : public ESMTerrain::Storage
      method useAlteration (line 22) | bool useAlteration() const override { return true; }

FILE: apps/opencs/view/render/terraintexturemode.hpp
  type osg (line 26) | namespace osg
    class Group (line 28) | class Group
  type CSVWidget (line 31) | namespace CSVWidget
    class SceneToolTextureBrush (line 33) | class SceneToolTextureBrush
  type CSVRender (line 36) | namespace CSVRender
    class TerrainTextureMode (line 38) | class TerrainTextureMode : public EditMode

FILE: apps/opencs/view/render/unpagedworldspacewidget.hpp
  class QModelIndex (line 10) | class QModelIndex
  type CSMDoc (line 12) | namespace CSMDoc
    class Document (line 14) | class Document
  type CSMWorld (line 17) | namespace CSMWorld
    class IdTable (line 19) | class IdTable
    class CellCoordinates (line 20) | class CellCoordinates
  type CSVRender (line 23) | namespace CSVRender
    class UnpagedWorldspaceWidget (line 25) | class UnpagedWorldspaceWidget : public WorldspaceWidget

FILE: apps/opencs/view/render/worldspacewidget.hpp
  type CSMPrefs (line 14) | namespace CSMPrefs
    class Setting (line 16) | class Setting
  type CSMWorld (line 19) | namespace CSMWorld
    class CellCoordinates (line 21) | class CellCoordinates
    class UniversalId (line 22) | class UniversalId
  type CSVWidget (line 25) | namespace CSVWidget
    class SceneToolMode (line 27) | class SceneToolMode
    class SceneToolToggle2 (line 28) | class SceneToolToggle2
    class SceneToolbar (line 29) | class SceneToolbar
    class SceneToolRun (line 30) | class SceneToolRun
  type CSVRender (line 33) | namespace CSVRender
    class TagBase (line 35) | class TagBase
    class Cell (line 36) | class Cell
    class CellArrow (line 37) | class CellArrow
    class EditMode (line 38) | class EditMode
    type WorldspaceHitResult (line 40) | struct WorldspaceHitResult
    class WorldspaceWidget (line 48) | class WorldspaceWidget : public SceneWidget
      type DropType (line 74) | enum DropType
      type dropRequirments (line 82) | enum dropRequirments
      type InteractionType (line 90) | enum InteractionType
      type ButtonId (line 198) | enum ButtonId

FILE: apps/opencs/view/tools/merge.hpp
  class QPushButton (line 10) | class QPushButton
  class QListWidget (line 11) | class QListWidget
  type CSMDoc (line 13) | namespace CSMDoc
    class Document (line 15) | class Document
    class DocumentManager (line 16) | class DocumentManager
  type CSVDoc (line 19) | namespace CSVDoc
    class FileWidget (line 21) | class FileWidget
    class AdjusterWidget (line 22) | class AdjusterWidget
  type CSVTools (line 25) | namespace CSVTools
    class Merge (line 27) | class Merge : public QWidget

FILE: apps/opencs/view/tools/reportsubview.hpp
  class QTableView (line 6) | class QTableView
  class QModelIndex (line 7) | class QModelIndex
  type CSMDoc (line 9) | namespace CSMDoc
    class Document (line 11) | class Document
  type CSVTools (line 14) | namespace CSVTools
    class ReportTable (line 16) | class ReportTable
    class ReportSubView (line 18) | class ReportSubView : public CSVDoc::SubView

FILE: apps/opencs/view/tools/reporttable.cpp
  type CSVTools (line 22) | namespace CSVTools
    class RichTextDelegate (line 24) | class RichTextDelegate : public QStyledItemDelegate

FILE: apps/opencs/view/tools/reporttable.hpp
  class QAction (line 8) | class QAction
  class QSortFilterProxyModel (line 9) | class QSortFilterProxyModel
  type CSMTools (line 11) | namespace CSMTools
    class ReportModel (line 13) | class ReportModel
  type CSMPrefs (line 16) | namespace CSMPrefs
    class Setting (line 18) | class Setting
  type CSVWorld (line 21) | namespace CSVWorld
    class CommandDelegate (line 23) | class CommandDelegate
  type CSVTools (line 26) | namespace CSVTools
    class ReportTable (line 28) | class ReportTable : public CSVWorld::DragRecordTable

FILE: apps/opencs/view/tools/searchbox.hpp
  class QGridLayout (line 12) | class QGridLayout
  type CSMTools (line 14) | namespace CSMTools
    class Search (line 16) | class Search
  type CSVTools (line 19) | namespace CSVTools
    class SearchBox (line 21) | class SearchBox : public QWidget

FILE: apps/opencs/view/tools/searchsubview.hpp
  class QTableView (line 10) | class QTableView
  class QModelIndex (line 11) | class QModelIndex
  type CSMDoc (line 13) | namespace CSMDoc
    class Document (line 15) | class Document
  type CSVWorld (line 18) | namespace CSVWorld
    class TableBottomBox (line 20) | class TableBottomBox
  type CSVTools (line 23) | namespace CSVTools
    class ReportTable (line 25) | class ReportTable
    class SearchSubView (line 27) | class SearchSubView : public CSVDoc::SubView

FILE: apps/opencs/view/tools/subviews.hpp
  type CSVDoc (line 4) | namespace CSVDoc
    class SubViewFactoryManager (line 6) | class SubViewFactoryManager
  type CSVTools (line 9) | namespace CSVTools

FILE: apps/opencs/view/widget/brushshapes.hpp
  type CSVWidget (line 4) | namespace CSVWidget
    type BrushShape (line 6) | enum BrushShape

FILE: apps/opencs/view/widget/coloreditor.cpp
  function QColor (line 59) | QColor CSVWidget::ColorEditor::color() const
  function QPoint (line 95) | QPoint CSVWidget::ColorEditor::calculatePopupPosition()

FILE: apps/opencs/view/widget/coloreditor.hpp
  class QColor (line 6) | class QColor
  class QPoint (line 7) | class QPoint
  class QSize (line 8) | class QSize
  type CSVWidget (line 10) | namespace CSVWidget
    class ColorPickerPopup (line 12) | class ColorPickerPopup
    class ColorEditor (line 14) | class ColorEditor : public QPushButton

FILE: apps/opencs/view/widget/colorpickerpopup.hpp
  class QColorDialog (line 6) | class QColorDialog
  type CSVWidget (line 8) | namespace CSVWidget
    class ColorPickerPopup (line 10) | class ColorPickerPopup : public QFrame

FILE: apps/opencs/view/widget/completerpopup.hpp
  type CSVWidget (line 6) | namespace CSVWidget
    class CompleterPopup (line 8) | class CompleterPopup : public QListView

FILE: apps/opencs/view/widget/droplineedit.hpp
  type CSMDoc (line 8) | namespace CSMDoc
    class Document (line 10) | class Document
  type CSMWorld (line 13) | namespace CSMWorld
    class TableMimeData (line 15) | class TableMimeData
    class UniversalId (line 16) | class UniversalId
  type CSVWidget (line 19) | namespace CSVWidget
    class DropLineEdit (line 21) | class DropLineEdit : public QLineEdit

FILE: apps/opencs/view/widget/modebutton.hpp
  class QMenu (line 6) | class QMenu
  type CSVWidget (line 8) | namespace CSVWidget
    class SceneToolbar (line 10) | class SceneToolbar
    class ModeButton (line 13) | class ModeButton : public PushButton

FILE: apps/opencs/view/widget/pushbutton.cpp
  function QString (line 108) | QString CSVWidget::PushButton::getBaseToolTip() const

FILE: apps/opencs/view/widget/pushbutton.hpp
  type CSMPrefs (line 6) | namespace CSMPrefs
    class Setting (line 8) | class Setting
  type CSVWidget (line 11) | namespace CSVWidget
    class PushButton (line 13) | class PushButton : public QPushButton

FILE: apps/opencs/view/widget/scenetool.hpp
  type CSVWidget (line 6) | namespace CSVWidget
    class SceneToolbar (line 8) | class SceneToolbar
    class SceneTool (line 11) | class SceneTool : public PushButton

FILE: apps/opencs/view/widget/scenetoolbar.hpp
  class QVBoxLayout (line 6) | class QVBoxLayout
  type CSVWidget (line 8) | namespace CSVWidget
    class SceneTool (line 10) | class SceneTool
    class SceneToolbar (line 12) | class SceneToolbar : public QWidget

FILE: apps/opencs/view/widget/scenetoolmode.hpp
  class QHBoxLayout (line 8) | class QHBoxLayout
  class QMenu (line 9) | class QMenu
  class QEvent (line 10) | class QEvent
  type CSVWidget (line 12) | namespace CSVWidget
    class SceneToolbar (line 14) | class SceneToolbar
    class ModeButton (line 15) | class ModeButton
    class SceneToolMode (line 18) | class SceneToolMode : public SceneTool

FILE: apps/opencs/view/widget/scenetoolrun.hpp
  class QFrame (line 9) | class QFrame
  class QTableWidget (line 10) | class QTableWidget
  class QModelIndex (line 11) | class QModelIndex
  type CSVWidget (line 13) | namespace CSVWidget
    class SceneToolRun (line 15) | class SceneToolRun : public SceneTool

FILE: apps/opencs/view/widget/scenetoolshapebrush.hpp
  class QTableWidget (line 25) | class QTableWidget
  type CSVRender (line 27) | namespace CSVRender
    class TerrainShapeMode (line 29) | class TerrainShapeMode
  type CSVWidget (line 32) | namespace CSVWidget
    class ShapeBrushSizeControls (line 35) | class ShapeBrushSizeControls : public QGroupBox
    class ShapeBrushWindow (line 51) | class ShapeBrushWindow : public QFrame
    class SceneToolShapeBrush (line 90) | class SceneToolShapeBrush : public SceneTool

FILE: apps/opencs/view/widget/scenetooltexturebrush.hpp
  class QTableWidget (line 24) | class QTableWidget
  type CSVRender (line 26) | namespace CSVRender
    class TerrainTextureMode (line 28) | class TerrainTextureMode
  type CSVWidget (line 31) | namespace CSVWidget
    class SceneToolTextureBrush (line 33) | class SceneToolTextureBrush
    class BrushSizeControls (line 36) | class BrushSizeControls : public QGroupBox
    class SceneToolTextureBrush (line 52) | class SceneToolTextureBrush
    class TextureBrushWindow (line 55) | class TextureBrushWindow : public QFrame
    class SceneToolTextureBrush (line 96) | class SceneToolTextureBrush : public SceneTool

FILE: apps/opencs/view/widget/scenetooltoggle.cpp
  function QRect (line 67) | QRect CSVWidget::SceneToolToggle::getIconBox (int index) const

FILE: apps/opencs/view/widget/scenetooltoggle.hpp
  class QHBoxLayout (line 8) | class QHBoxLayout
  class QRect (line 9) | class QRect
  type CSVWidget (line 11) | namespace CSVWidget
    class SceneToolbar (line 13) | class SceneToolbar
    class PushButton (line 14) | class PushButton
    class SceneToolToggle (line 17) | class SceneToolToggle : public SceneTool
      method Q_OBJECT (line 19) | Q_OBJECT

FILE: apps/opencs/view/widget/scenetooltoggle2.hpp
  class QHBoxLayout (line 8) | class QHBoxLayout
  class QRect (line 9) | class QRect
  type CSVWidget (line 11) | namespace CSVWidget
    class SceneToolbar (line 13) | class SceneToolbar
    class PushButton (line 14) | class PushButton
    class SceneToolToggle2 (line 19) | class SceneToolToggle2 : public SceneTool
      method Q_OBJECT (line 21) | Q_OBJECT

FILE: apps/opencs/view/world/bodypartcreator.hpp
  class QCheckBox (line 4) | class QCheckBox
  type CSMWorld (line 8) | namespace CSMWorld
    class Data (line 10) | class Data
    class UniversalId (line 11) | class UniversalId
  type CSVWorld (line 14) | namespace CSVWorld
    class BodyPartCreator (line 17) | class BodyPartCreator : public GenericCreator

FILE: apps/opencs/view/world/cellcreator.hpp
  class QLabel (line 4) | class QLabel
  class QSpinBox (line 5) | class QSpinBox
  class QComboBox (line 6) | class QComboBox
  type CSVWorld (line 10) | namespace CSVWorld
    class CellCreator (line 12) | class CellCreator : public GenericCreator

FILE: apps/opencs/view/world/colordelegate.hpp
  class QRect (line 6) | class QRect
  type CSVWidget (line 8) | namespace CSVWidget
    class ColorEditButton (line 10) | class ColorEditButton
  type CSVWorld (line 13) | namespace CSVWorld
    class ColorDelegate (line 15) | class ColorDelegate : public CommandDelegate
    class ColorDelegateFactory (line 27) | class ColorDelegateFactory : public CommandDelegateFactory

FILE: apps/opencs/view/world/creator.hpp
  type CSMDoc (line 15) | namespace CSMDoc
    class Document (line 17) | class Document
  type CSVWorld (line 20) | namespace CSVWorld
    class Creator (line 23) | class Creator : public QWidget
    class CreatorFactoryBase (line 59) | class CreatorFactoryBase
    class NullCreatorFactory (line 73) | class NullCreatorFactory : public CreatorFactoryBase
    class CreatorFactory (line 84) | class CreatorFactory : public CreatorFactoryBase
    function Creator (line 96) | Creator *CreatorFactory<CreatorT, scope>::makeCreator (CSMDoc::Documen...

FILE: apps/opencs/view/world/datadisplaydelegate.cpp
  function QSize (line 51) | QSize CSVWorld::DataDisplayDelegate::sizeHint(const QStyleOptionViewItem...

FILE: apps/opencs/view/world/datadisplaydelegate.hpp
  type CSMPrefs (line 7) | namespace CSMPrefs
    class Setting (line 9) | class Setting
  type CSVWorld (line 12) | namespace CSVWorld
    type Icon (line 14) | struct Icon
    class DataDisplayDelegate (line 21) | class DataDisplayDelegate : public EnumDelegate
      type DisplayMode (line 30) | enum DisplayMode
    class DataDisplayDelegateFactory (line 80) | class DataDisplayDelegateFactory : public EnumDelegateFactory

FILE: apps/opencs/view/world/dialoguecreator.hpp
  type CSVWorld (line 6) | namespace CSVWorld
    class DialogueCreator (line 8) | class DialogueCreator : public GenericCreator
    class TopicCreatorFactory (line 22) | class TopicCreatorFactory : public CreatorFactoryBase
    class JournalCreatorFactory (line 30) | class JournalCreatorFactory : public CreatorFactoryBase

FILE: apps/opencs/view/world/dialoguespinbox.hpp
  type CSVWorld (line 7) | namespace CSVWorld
    class DialogueSpinBox (line 9) | class DialogueSpinBox : public QSpinBox
    class DialogueDoubleSpinBox (line 24) | class DialogueDoubleSpinBox : public QDoubleSpinBox

FILE: apps/opencs/view/world/dialoguesubview.cpp
  function QSize (line 98) | QSize CSVWorld::NotEditableSubDelegate::sizeHint (const QStyleOptionView...
  function QWidget (line 103) | QWidget* CSVWorld::NotEditableSubDelegate::createEditor (QWidget *parent,
  function QWidget (line 139) | QWidget* CSVWorld::DialogueDelegateDispatcherProxy::getEditor() const
  function QSize (line 238) | QSize CSVWorld::DialogueDelegateDispatcher::sizeHint (const QStyleOption...
  function QWidget (line 244) | QWidget* CSVWorld::DialogueDelegateDispatcher::makeEditor(CSMWorld::Colu...
  function QString (line 356) | QString CSVWorld::IdContextMenu::getWidgetValue() const
  function QVBoxLayout (line 707) | QVBoxLayout& CSVWorld::SimpleDialogueSubView::getMainLayout()

FILE: apps/opencs/view/world/dialoguesubview.hpp
  class QDataWidgetMapper (line 19) | class QDataWidgetMapper
  class QSize (line 20) | class QSize
  class QEvent (line 21) | class QEvent
  class QLabel (line 22) | class QLabel
  class QVBoxLayout (line 23) | class QVBoxLayout
  class QMenu (line 24) | class QMenu
  type CSMWorld (line 26) | namespace CSMWorld
    class IdTable (line 28) | class IdTable
    class NestedTableProxyModel (line 29) | class NestedTableProxyModel
  type CSMPrefs (line 32) | namespace CSMPrefs
    class Setting (line 34) | class Setting
  type CSMDoc (line 37) | namespace CSMDoc
    class Document (line 39) | class Document
  type CSVWorld (line 42) | namespace CSVWorld
    class CommandDelegate (line 44) | class CommandDelegate
    class CreatorFactoryBase (line 45) | class CreatorFactoryBase
    class TableBottomBox (line 46) | class TableBottomBox
    class NotEditableSubDelegate (line 48) | class NotEditableSubDelegate : public QAbstractItemDelegate
    class DialogueDelegateDispatcherProxy (line 74) | class DialogueDelegateDispatcherProxy : public QObject
      method Q_OBJECT (line 76) | Q_OBJECT
    class DialogueDelegateDispatcher (line 107) | class DialogueDelegateDispatcher : public QAbstractItemDelegate
    class IdContextMenu (line 163) | class IdContextMenu : public QObject
    class EditWidget (line 192) | class EditWidget : public QScrollArea
    class SimpleDialogueSubView (line 222) | class SimpleDialogueSubView : public CSVDoc::SubView
    class RecordButtonBar (line 261) | class RecordButtonBar
    class DialogueSubView (line 263) | class DialogueSubView : public SimpleDialogueSubView

FILE: apps/opencs/view/world/dragdroputils.hpp
  class QDropEvent (line 6) | class QDropEvent
  type CSMWorld (line 8) | namespace CSMWorld
    class TableMimeData (line 10) | class TableMimeData
    class UniversalId (line 11) | class UniversalId
  type CSVWorld (line 14) | namespace CSVWorld
    type DragDropUtils (line 16) | namespace DragDropUtils

FILE: apps/opencs/view/world/dragrecordtable.hpp
  class QWidget (line 9) | class QWidget
  class QAction (line 10) | class QAction
  type CSMDoc (line 12) | namespace CSMDoc
    class Document (line 14) | class Document
  type CSMWorld (line 17) | namespace CSMWorld
    class UniversalId (line 19) | class UniversalId
  type CSVWorld (line 22) | namespace CSVWorld
    class DragRecordTable (line 24) | class DragRecordTable : public QTableView

FILE: apps/opencs/view/world/enumdelegate.cpp
  function QWidget (line 63) | QWidget *CSVWorld::EnumDelegate::createEditor(QWidget *parent,
  function QWidget (line 70) | QWidget *CSVWorld::EnumDelegate::createEditor(QWidget *parent, const QSt...
  function QSize (line 119) | QSize CSVWorld::EnumDelegate::sizeHint(const QStyleOptionViewItem &optio...

FILE: apps/opencs/view/world/enumdelegate.hpp
  type CSVWorld (line 13) | namespace CSVWorld
    class EnumDelegate (line 16) | class EnumDelegate : public CommandDelegate
    class EnumDelegateFactory (line 55) | class EnumDelegateFactory : public CommandDelegateFactory

FILE: apps/opencs/view/world/extendedcommandconfigurator.hpp
  class QPushButton (line 10) | class QPushButton
  class QGroupBox (line 11) | class QGroupBox
  class QCheckBox (line 12) | class QCheckBox
  class QLabel (line 13) | class QLabel
  class QHBoxLayout (line 14) | class QHBoxLayout
  type CSMDoc (line 16) | namespace CSMDoc
    class Document (line 18) | class Document
  type CSMWorld (line 21) | namespace CSMWorld
    class CommandDispatcher (line 23) | class CommandDispatcher
    class Data (line 24) | class Data
  type CSVWorld (line 27) | namespace CSVWorld
    class ExtendedCommandConfigurator (line 29) | class ExtendedCommandConfigurator : public QWidget

FILE: apps/opencs/view/world/genericcreator.cpp
  function QUndoStack (line 82) | QUndoStack& CSVWorld::GenericCreator::getUndoStack()

FILE: apps/opencs/view/world/genericcreator.hpp
  class QString (line 10) | class QString
  class QPushButton (line 11) | class QPushButton
  class QLineEdit (line 12) | class QLineEdit
  class QHBoxLayout (line 13) | class QHBoxLayout
  class QComboBox (line 14) | class QComboBox
  class QLabel (line 15) | class QLabel
  class QUndoStack (line 16) | class QUndoStack
  type CSMWorld (line 18) | namespace CSMWorld
    class CreateCommand (line 20) | class CreateCommand
    class Data (line 21) | class Data
  type CSVWorld (line 24) | namespace CSVWorld
    class IdValidator (line 26) | class IdValidator
    class GenericCreator (line 28) | class GenericCreator : public Creator

FILE: apps/opencs/view/world/globalcreator.cpp
  type CSVWorld (line 10) | namespace CSVWorld

FILE: apps/opencs/view/world/globalcreator.hpp
  type CSVWorld (line 6) | namespace CSVWorld
    class GlobalCreator (line 8) | class GlobalCreator : public GenericCreator

FILE: apps/opencs/view/world/idcompletiondelegate.cpp
  function QWidget (line 14) | QWidget *CSVWorld::IdCompletionDelegate::createEditor(QWidget *parent,
  function QWidget (line 21) | QWidget *CSVWorld::IdCompletionDelegate::createEditor(QWidget *parent,

FILE: apps/opencs/view/world/idcompletiondelegate.hpp
  type CSVWorld (line 6) | namespace CSVWorld
    class IdCompletionDelegate (line 9) | class IdCompletionDelegate : public CommandDelegate
    class IdCompletionDelegateFactory (line 26) | class IdCompletionDelegateFactory : public CommandDelegateFactory

FILE: apps/opencs/view/world/idtypedelegate.hpp
  type CSVWorld (line 9) | namespace CSVWorld
    class IdTypeDelegate (line 11) | class IdTypeDelegate : public DataDisplayDelegate
    class IdTypeDelegateFactory (line 17) | class IdTypeDelegateFactory : public DataDisplayDelegateFactory

FILE: apps/opencs/view/world/idvalidator.hpp
  type CSVWorld (line 8) | namespace CSVWorld
    class IdValidator (line 10) | class IdValidator : public QValidator

FILE: apps/opencs/view/world/infocreator.hpp
  type CSMWorld (line 6) | namespace CSMWorld
    class InfoCollection (line 8) | class InfoCollection
    class IdCompletionManager (line 9) | class IdCompletionManager
  type CSVWidget (line 12) | namespace CSVWidget
    class DropLineEdit (line 14) | class DropLineEdit
  type CSVWorld (line 17) | namespace CSVWorld
    class InfoCreator (line 19) | class InfoCreator : public GenericCreator
    class InfoCreatorFactory (line 51) | class InfoCreatorFactory : public CreatorFactoryBase

FILE: apps/opencs/view/world/landcreator.cpp
  type CSVWorld (line 12) | namespace CSVWorld

FILE: apps/opencs/view/world/landcreator.hpp
  class QLabel (line 6) | class QLabel
  class QSpinBox (line 7) | class QSpinBox
  type CSVWorld (line 9) | namespace CSVWorld
    class LandCreator (line 11) | class LandCreator : public GenericCreator

FILE: apps/opencs/view/world/landtexturecreator.cpp
  type CSVWorld (line 14) | namespace CSVWorld

FILE: apps/opencs/view/world/landtexturecreator.hpp
  class QLineEdit (line 8) | class QLineEdit
  class QSpinBox (line 9) | class QSpinBox
  type CSVWorld (line 11) | namespace CSVWorld
    class LandTextureCreator (line 13) | class LandTextureCreator : public GenericCreator

FILE: apps/opencs/view/world/nestedtable.hpp
  class QAction (line 8) | class QAction
  class QContextMenuEvent (line 9) | class QContextMenuEvent
  type CSMWorld (line 11) | namespace CSMWorld
    class NestedTableProxyModel (line 13) | class NestedTableProxyModel
    class UniversalId (line 14) | class UniversalId
    class CommandDispatcher (line 15) | class CommandDispatcher
  type CSMDoc (line 18) | namespace CSMDoc
    class Document (line 20) | class Document
  type CSVWorld (line 23) | namespace CSVWorld
    class TableEditIdAction (line 25) | class TableEditIdAction
    class NestedTable (line 27) | class NestedTable : public DragRecordTable

FILE: apps/opencs/view/world/pathgridcreator.hpp
  type CSMDoc (line 6) | namespace CSMDoc
    class Document (line 8) | class Document
  type CSMWorld (line 11) | namespace CSMWorld
    class Data (line 13) | class Data
    class IdCompletionManager (line 14) | class IdCompletionManager
    class IdTable (line 15) | class IdTable
    class UniversalId (line 16) | class UniversalId
  type CSVWidget (line 19) | namespace CSVWidget
    class DropLineEdit (line 21) | class DropLineEdit
  type CSVWorld (line 24) | namespace CSVWorld
    class PathgridCreator (line 27) | class PathgridCreator : public GenericCreator
    class PathgridCreatorFactory (line 72) | class PathgridCreatorFactory : public CreatorFactoryBase

FILE: apps/opencs/view/world/previewsubview.hpp
  type CSMDoc (line 6) | namespace CSMDoc
    class Document (line 8) | class Document
  type CSVRender (line 11) | namespace CSVRender
    class PreviewWidget (line 13) | class PreviewWidget
  type CSVWorld (line 16) | namespace CSVWorld
    class PreviewSubView (line 18) | class PreviewSubView : public CSVDoc::SubView

FILE: apps/opencs/view/world/recordbuttonbar.hpp
  class QToolButton (line 8) | class QToolButton
  class QModelIndex (line 9) | class QModelIndex
  type CSMWorld (line 11) | namespace CSMWorld
    class IdTable (line 13) | class IdTable
    class CommandDispatcher (line 14) | class CommandDispatcher
  type CSMPrefs (line 17) | namespace CSMPrefs
    class Setting (line 19) | class Setting
  type CSVWorld (line 22) | namespace CSVWorld
    class TableBottomBox (line 24) | class TableBottomBox
    class RecordButtonBar (line 36) | class RecordButtonBar : public QWidget

FILE: apps/opencs/view/world/recordstatusdelegate.hpp
  class QIcon (line 11) | class QIcon
  class QFont (line 12) | class QFont
  type CSVWorld (line 14) | namespace CSVWorld
    class RecordStatusDelegate (line 16) | class RecordStatusDelegate : public DataDisplayDelegate
    class RecordStatusDelegateFactory (line 25) | class RecordStatusDelegateFactory : public DataDisplayDelegateFactory

FILE: apps/opencs/view/world/referenceablecreator.hpp
  class QComboBox (line 4) | class QComboBox
  type CSVWorld (line 8) | namespace CSVWorld
    class ReferenceableCreator (line 10) | class ReferenceableCreator : public GenericCreator

FILE: apps/opencs/view/world/referencecreator.hpp
  type CSMWorld (line 6) | namespace CSMWorld
    class IdCompletionManager (line 8) | class IdCompletionManager
  type CSVWidget (line 11) | namespace CSVWidget
    class DropLineEdit (line 13) | class DropLineEdit
  type CSVWorld (line 16) | namespace CSVWorld
    class ReferenceCreator (line 19) | class ReferenceCreator : public GenericCreator
    class ReferenceCreatorFactory (line 54) | class ReferenceCreatorFactory : public CreatorFactoryBase

FILE: apps/opencs/view/world/regionmap.cpp
  function QModelIndexList (line 70) | QModelIndexList CSVWorld::RegionMap::getUnselectedCells() const
  function QModelIndexList (line 100) | QModelIndexList CSVWorld::RegionMap::getSelectedCells (bool existent, bo...
  function QModelIndexList (line 119) | QModelIndexList CSVWorld::RegionMap::getMissingRegionCells() const

FILE: apps/opencs/view/world/regionmap.hpp
  class QAction (line 12) | class QAction
  type CSMDoc (line 14) | namespace CSMDoc
    class Document (line 16) | class Document
  type CSMWorld (line 19) | namespace CSMWorld
    class UniversalId (line 21) | class UniversalId
  type CSVWorld (line 24) | namespace CSVWorld
    class RegionMap (line 26) | class RegionMap : public DragRecordTable

FILE: apps/opencs/view/world/regionmapsubview.hpp
  class QAction (line 6) | class QAction
  type CSMDoc (line 8) | namespace CSMDoc
    class Document (line 10) | class Document
  type CSVWorld (line 13) | namespace CSVWorld
    class RegionMap (line 15) | class RegionMap
    class RegionMapSubView (line 17) | class RegionMapSubView : public CSVDoc::SubView

FILE: apps/opencs/view/world/scenesubview.hpp
  class QModelIndex (line 8) | class QModelIndex
  type CSMWorld (line 10) | namespace CSMWorld
    class CellSelection (line 12) | class CellSelection
  type CSMDoc (line 15) | namespace CSMDoc
    class Document (line 17) | class Document
  type CSVRender (line 20) | namespace CSVRender
    class WorldspaceWidget (line 22) | class WorldspaceWidget
    class PagedWorldspaceWidget (line 23) | class PagedWorldspaceWidget
    class UnpagedWorldspaceWidget (line 24) | class UnpagedWorldspaceWidget
  type CSVWidget (line 27) | namespace CSVWidget
    class SceneToolbar (line 29) | class SceneToolbar
    class SceneToolMode (line 30) | class SceneToolMode
  type CSVWorld (line 33) | namespace CSVWorld
    class Table (line 35) | class Table
    class TableBottomBox (line 36) | class TableBottomBox
    class CreatorFactoryBase (line 37) | class CreatorFactoryBase
    class SceneSubView (line 39) | class SceneSubView : public CSVDoc::SubView
      type widgetType (line 70) | enum widgetType

FILE: apps/opencs/view/world/scriptedit.cpp
  function QSize (line 471) | QSize CSVWorld::LineNumberArea::sizeHint() const

FILE: apps/opencs/view/world/scriptedit.hpp
  class QRegExp (line 15) | class QRegExp
  type CSMDoc (line 17) | namespace CSMDoc
    class Document (line 19) | class Document
  type CSVWorld (line 22) | namespace CSVWorld
    class LineNumberArea (line 24) | class LineNumberArea
    class ScriptEdit (line 27) | class ScriptEdit : public QPlainTextEdit
  class LineNumberArea (line 129) | class LineNumberArea : public QWidget

FILE: apps/opencs/view/world/scripterrortable.hpp
  type CSMDoc (line 12) | namespace CSMDoc
    class Document (line 14) | class Document
  type CSMPrefs (line 17) | namespace CSMPrefs
    class Setting (line 19) | class Setting
  type CSVWorld (line 22) | namespace CSVWorld
    class ScriptErrorTable (line 24) | class ScriptErrorTable : public QTableWidget, private Compiler::ErrorH...

FILE: apps/opencs/view/world/scripthighlighter.hpp
  type CSMPrefs (line 15) | namespace CSMPrefs
    class Setting (line 17) | class Setting
  type CSVWorld (line 20) | namespace CSVWorld
    class ScriptHighlighter (line 22) | class ScriptHighlighter : public QSyntaxHighlighter, private Compiler:...
      type Type (line 26) | enum Type
      type Mode (line 38) | enum Mode

FILE: apps/opencs/view/world/scriptsubview.hpp
  class QModelIndex (line 10) | class QModelIndex
  class QLabel (line 11) | class QLabel
  class QVBoxLayout (line 12) | class QVBoxLayout
  class QSplitter (line 13) | class QSplitter
  class QTime (line 14) | class QTime
  type CSMDoc (line 16) | namespace CSMDoc
    class Document (line 18) | class Document
  type CSMWorld (line 21) | namespace CSMWorld
    class IdTable (line 23) | class IdTable
  type CSMPrefs (line 26) | namespace CSMPrefs
    class Setting (line 28) | class Setting
  type CSVWorld (line 31) | namespace CSVWorld
    class ScriptEdit (line 33) | class ScriptEdit
    class RecordButtonBar (line 34) | class RecordButtonBar
    class TableBottomBox (line 35) | class TableBottomBox
    class ScriptErrorTable (line 36) | class ScriptErrorTable
    class ScriptSubView (line 38) | class ScriptSubView : public CSVDoc::SubView

FILE: apps/opencs/view/world/startscriptcreator.hpp
  type CSMWorld (line 6) | namespace CSMWorld
    class IdCompletionManager (line 8) | class IdCompletionManager
    class IdTable (line 9) | class IdTable
  type CSVWidget (line 12) | namespace CSVWidget
    class DropLineEdit (line 14) | class DropLineEdit
  type CSVWorld (line 17) | namespace CSVWorld
    class StartScriptCreator (line 20) | class StartScriptCreator : public GenericCreator
    class StartScriptCreatorFactory (line 65) | class StartScriptCreatorFactory : public CreatorFactoryBase

FILE: apps/opencs/view/world/subviews.hpp
  type CSVDoc (line 4) | namespace CSVDoc
    class SubViewFactoryManager (line 6) | class SubViewFactoryManager
  type CSVWorld (line 9) | namespace CSVWorld

FILE: apps/opencs/view/world/table.hpp
  class QAction (line 14) | class QAction
  type CSMDoc (line 16) | namespace CSMDoc
    class Document (line 18) | class Document
  type CSMWorld (line 21) | namespace CSMWorld
    class IdTableProxyModel (line 23) | class IdTableProxyModel
    class IdTableBase (line 24) | class IdTableBase
    class CommandDispatcher (line 25) | class CommandDispatcher
  type CSMPrefs (line 28) | namespace CSMPrefs
    class Setting (line 30) | class Setting
  type CSVWorld (line 33) | namespace CSVWorld
    class CommandDelegate (line 35) | class CommandDelegate
    class TableEditIdAction (line 36) | class TableEditIdAction
    class Table (line 39) | class Table : public DragRecordTable

FILE: apps/opencs/view/world/tablebottombox.hpp
  class QLabel (line 9) | class QLabel
  class QStackedLayout (line 10) | class QStackedLayout
  class QStatusBar (line 11) | class QStatusBar
  type CSMDoc (line 13) | namespace CSMDoc
    class Document (line 15) | class Document
  type CSVWorld (line 18) | namespace CSVWorld
    class CreatorFactoryBase (line 20) | class CreatorFactoryBase
    class Creator (line 21) | class Creator
    class TableBottomBox (line 23) | class TableBottomBox : public QWidget

FILE: apps/opencs/view/world/tableeditidaction.hpp
  class QTableView (line 9) | class QTableView
  type CSVWorld (line 11) | namespace CSVWorld
    class TableEditIdAction (line 13) | class TableEditIdAction : public QAction

FILE: apps/opencs/view/world/tablesubview.hpp
  class QModelIndex (line 8) | class QModelIndex
  type CSMWorld (line 10) | namespace CSMWorld
    class IdTable (line 12) | class IdTable
  type CSMDoc (line 15) | namespace CSMDoc
    class Document (line 17) | class Document
  type CSVFilter (line 20) | namespace CSVFilter
    class FilterBox (line 22) | class FilterBox
  type CSVWorld (line 25) | namespace CSVWorld
    class Table (line 27) | class Table
    class TableBottomBox (line 28) | class TableBottomBox
    class CreatorFactoryBase (line 29) | class CreatorFactoryBase
    class TableSubView (line 31) | class TableSubView : public CSVDoc::SubView

FILE: apps/opencs/view/world/util.cpp
  function QVariant (line 40) | QVariant CSVWorld::NastyTableModelHack::data  (const QModelIndex & index...
  function QVariant (line 51) | QVariant CSVWorld::NastyTableModelHack::getData() const
  function QUndoStack (line 107) | QUndoStack& CSVWorld::CommandDelegate::getUndoStack() const
  function QWidget (line 165) | QWidget *CSVWorld::CommandDelegate::createEditor (QWidget *parent, const...
  function QWidget (line 187) | QWidget *CSVWorld::CommandDelegate::createEditor (QWidget *parent, const...

FILE: apps/opencs/view/world/util.hpp
  class QUndoStack (line 15) | class QUndoStack
  type CSMWorld (line 17) | namespace CSMWorld
    class TableMimeData (line 19) | class TableMimeData
    class UniversalId (line 20) | class UniversalId
    class CommandDispatcher (line 21) | class CommandDispatcher
  type CSMPrefs (line 24) | namespace CSMPrefs
    class Setting (line 26) | class Setting
  type CSVWorld (line 29) | namespace CSVWorld
    class NastyTableModelHack (line 34) | class NastyTableModelHack : public QAbstractTableModel
    class CommandDelegate (line 54) | class CommandDelegate
    class CommandDelegateFactory (line 56) | class CommandDelegateFactory
    class CommandDelegateFactoryCollection (line 68) | class CommandDelegateFactoryCollection
    class CommandDelegate (line 102) | class CommandDelegate : public QStyledItemDelegate

FILE: apps/opencs/view/world/vartypedelegate.hpp
  type CSVWorld (line 8) | namespace CSVWorld
    class VarTypeDelegate (line 10) | class VarTypeDelegate : public EnumDelegate
    class VarTypeDelegateFactory (line 23) | class VarTypeDelegateFactory : public CommandDelegateFactory

FILE: apps/openmw-mp/Cell.hpp
  class Player (line 12) | class Player
  class Cell (line 13) | class Cell
  class Cell (line 15) | class Cell

FILE: apps/openmw-mp/CellController.cpp
  function CellController (line 34) | CellController *CellController::get()
  function Cell (line 40) | Cell *CellController::getCell(ESM::Cell *esmCell)
  function Cell (line 49) | Cell *CellController::getCellByXY(int x, int y)
  function Cell (line 65) | Cell *CellController::getCellByName(std::string cellName)
  function Cell (line 81) | Cell *CellController::addCell(ESM::Cell cellData)

FILE: apps/openmw-mp/CellController.hpp
  class Player (line 11) | class Player
  class Cell (line 12) | class Cell
  class CellController (line 15) | class CellController

FILE: apps/openmw-mp/MasterClient.hpp
  class MasterClient (line 11) | class MasterClient

FILE: apps/openmw-mp/Networking.cpp
  function PlayerPacketController (line 394) | PlayerPacketController *Networking::getPlayerPacketController() const
  function ActorPacketController (line 399) | ActorPacketController *Networking::getActorPacketController() const
  function ObjectPacketController (line 404) | ObjectPacketController *Networking::getObjectPacketController() const
  function WorldstatePacketController (line 409) | WorldstatePacketController *Networking::getWorldstatePacketController() ...
  function BaseActorList (line 414) | BaseActorList *Networking::getReceivedActorList()
  function BaseObjectList (line 419) | BaseObjectList *Networking::getReceivedObjectList()
  function BaseWorldstate (line 424) | BaseWorldstate *Networking::getReceivedWorldstate()
  function Networking (line 466) | const Networking &Networking::get()
  function Networking (line 472) | Networking *Networking::getPtr()
  function signalHandler (line 488) | void signalHandler(int signum)
  type sigaction (line 503) | struct sigaction
  function MasterClient (line 614) | MasterClient *Networking::getMasterClient()

FILE: apps/openmw-mp/Networking.hpp
  class MasterClient (line 12) | class MasterClient
  type mwmp (line 13) | namespace  mwmp
    class Networking (line 15) | class Networking

FILE: apps/openmw-mp/Player.cpp
  function Player (line 49) | Player *Players::getPlayer(RakNet::RakNetGUID guid)
  function TPlayers (line 57) | TPlayers *Players::getPlayers()
  function Player (line 119) | Player *Players::getPlayer(unsigned short id)

FILE: apps/openmw-mp/Player.hpp
  class Players (line 23) | class Players
  class Player (line 39) | class Player : public mwmp::BasePlayer

FILE: apps/openmw-mp/Script/API/PublicFnAPI.hpp
  class Public (line 8) | class Public : public ScriptFunction
    method MakePublic (line 22) | static void MakePublic(Args 
Copy disabled (too large) Download .json
Condensed preview — 2839 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (15,890K chars).
[
  {
    "path": ".editorconfig",
    "chars": 235,
    "preview": "root = true\n\n[*.cpp]\nindent_style = space\nindent_size = 4\ninsert_final_newline = true\n\n[*.hpp]\nindent_style = space\ninde"
  },
  {
    "path": ".github/FUNDING.yml",
    "chars": 63,
    "preview": "patreon: davidcernat\ncustom: https://www.paypal.me/DavidCernat\n"
  },
  {
    "path": ".gitignore",
    "chars": 1309,
    "preview": "## make\nCMakeFiles\n*/CMakeFiles\nCMakeCache.txt\ncmake_install.cmake\nMakefile\nmakefile\nbuild*/\nprebuilt\n\n##windows build p"
  },
  {
    "path": ".gitlab-ci.yml",
    "chars": 11783,
    "preview": "# Note: We set `needs` on each job to control the job DAG.\n# See https://docs.gitlab.com/ee/ci/yaml/#needs\nstages:\n  - b"
  },
  {
    "path": ".gitmodules",
    "chars": 113,
    "preview": "[submodule \"extern/breakpad\"]\n\tpath = extern/breakpad\n\turl = https://chromium.googlesource.com/breakpad/breakpad\n"
  },
  {
    "path": ".readthedocs.yaml",
    "chars": 135,
    "preview": "version: 2\n\nsphinx:\n  configuration: docs/source/conf.py\n\npython:\n  version: 3.8\n  install:\n    - requirements: docs/req"
  },
  {
    "path": ".travis.yml",
    "chars": 3856,
    "preview": "language: cpp\nbranches:\n  only:\n    - master\n    - coverity_scan\n    - /openmw-.*$/\n    - /^[0-9]+\\.[0-9]+\\.[0-9]+.*$/\ne"
  },
  {
    "path": "AUTHORS.md",
    "chars": 7687,
    "preview": "Contributors\n============\n\nThe OpenMW project was started in 2008 by Nicolay Korslund.\nIn the course of years many peopl"
  },
  {
    "path": "CHANGELOG.md",
    "chars": 199661,
    "preview": "0.47.0\n------\n\n    Bug #1662: Qt4 and Windows binaries crash if there's a non-ASCII character in a file path/config path"
  },
  {
    "path": "CHANGELOG_PR.md",
    "chars": 3628,
    "preview": "*** PLEASE PUT YOUR ISSUE DESCRIPTION FOR DUMMIES HERE FOR REVIEW ***\n\n- I'm just a placeholder description (#1337)\n- I'"
  },
  {
    "path": "CI/ActivateMSVC.ps1",
    "chars": 888,
    "preview": "& \"${env:COMSPEC}\" /c ActivateMSVC.bat \"&&\" set | ForEach-Object {\n    if ($_.Contains(\"=\")) {\n        $name, $value = $"
  },
  {
    "path": "CI/activate_msvc.sh",
    "chars": 1588,
    "preview": "#!/bin/bash\n\noldSettings=$-\nset -eu\n\nfunction restoreOldSettings {\n    if [[ $oldSettings != *e* ]]; then\n        set +e"
  },
  {
    "path": "CI/before_install.android.sh",
    "chars": 278,
    "preview": "#!/bin/sh -ex\n\ncurl -fSL -R -J https://gitlab.com/OpenMW/openmw-deps/-/raw/main/android/openmw-android-deps-20201129.zip"
  },
  {
    "path": "CI/before_install.linux.sh",
    "chars": 400,
    "preview": "#!/bin/sh -ex\necho -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICA"
  },
  {
    "path": "CI/before_install.osx.sh",
    "chars": 1053,
    "preview": "#!/bin/sh -ex\n\n# workaround python issue on travis\n[ -z \"${TRAVIS}\" ] && HOMEBREW_NO_AUTO_UPDATE=1 brew uninstall --igno"
  },
  {
    "path": "CI/before_script.android.sh",
    "chars": 690,
    "preview": "#!/bin/sh -ex\n\n# hack to work around: FFmpeg version is too old, 3.2 is required\nsed -i s/\"NOT FFVER_OK\"/\"FALSE\"/ CMakeL"
  },
  {
    "path": "CI/before_script.linux.sh",
    "chars": 1801,
    "preview": "#!/bin/bash\n\nset -xeo pipefail\n\nfree -m\n\nBUILD_UNITTESTS=OFF\nBUILD_BENCHMARKS=OFF\n\nif [[ \"${BUILD_TESTS_ONLY}\" ]]; then\n"
  },
  {
    "path": "CI/before_script.msvc.sh",
    "chars": 30322,
    "preview": "#!/bin/bash\n# set -x  # turn-on for debugging\n\nfunction wrappedExit {\n\tif [[ \"${BASH_SOURCE[0]}\" == \"${0}\" ]]; then\n\t\tex"
  },
  {
    "path": "CI/before_script.osx.sh",
    "chars": 764,
    "preview": "#!/bin/sh -e\n\nexport CXX=clang++\nexport CC=clang\n\nDEPENDENCIES_ROOT=\"/private/tmp/openmw-deps/openmw-deps\"\nQT_PATH=$(bre"
  },
  {
    "path": "CI/build.msvc.sh",
    "chars": 1629,
    "preview": "#!/bin/bash\n\nAPPVEYOR=\"\"\nCI=\"\"\n\nPACKAGE=\"\"\nPLATFORM=\"\"\nCONFIGURATION=\"\"\nVS_VERSION=\"\"\n\nif [ -z $PLATFORM ]; then\n\tPLATFO"
  },
  {
    "path": "CI/build_googletest.sh",
    "chars": 515,
    "preview": "#!/bin/sh -ex\n\ngit clone -b release-1.10.0 https://github.com/google/googletest.git\ncd googletest\nmkdir build\ncd build\nc"
  },
  {
    "path": "CI/check_package.osx.sh",
    "chars": 585,
    "preview": "#!/usr/bin/env bash\n\nhdiutil attach ./*.dmg -mountpoint \"${TRAVIS_BUILD_DIR}/openmw-package\" > /dev/null || echo \"hdutil"
  },
  {
    "path": "CI/check_tabs.sh",
    "chars": 193,
    "preview": "#!/bin/bash\n\nOUTPUT=$(grep -nRP '\\t' --include=\\*.{cpp,hpp,c,h} --exclude=ui_\\* apps components)\n\nif [[ $OUTPUT ]] ; the"
  },
  {
    "path": "CI/deploy.osx.sh",
    "chars": 1320,
    "preview": "#!/bin/sh\n\n# This script expect the following environment variables to be set:\n# - OSX_DEPLOY_KEY: private SSH key, must"
  },
  {
    "path": "CI/install_debian_deps.sh",
    "chars": 1807,
    "preview": "#!/bin/bash\n\nset -euo pipefail\n\nprint_help() {\n  echo \"usage: $0 [group]...\"\n  echo\n  echo \"  available groups: \"${!GROU"
  },
  {
    "path": "CMakeLists.txt",
    "chars": 45416,
    "preview": "project(OpenMW)\ncmake_minimum_required(VERSION 3.1.0)\nset(CMAKE_CXX_STANDARD 17)\nset(CMAKE_CXX_STANDARD_REQUIRED ON)\n\n# "
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 10719,
    "preview": "How to contribute to OpenMW\n=======================\n\nNot sure what to do with all your free time? Pick out a task from h"
  },
  {
    "path": "LICENSE",
    "chars": 35801,
    "preview": "                    GNU GENERAL PUBLIC LICENSE\n                       Version 3, 29 June 2007\n\n Copyright (C) 2007 Free "
  },
  {
    "path": "README.md",
    "chars": 2842,
    "preview": "TES3MP\n======\n\nCopyright (c) 2008-2015, OpenMW Team  \nCopyright (c) 2016-2022, David Cernat & Stanislav Zhukov\n\nTES3MP i"
  },
  {
    "path": "apps/benchmarks/CMakeLists.txt",
    "chars": 1100,
    "preview": "cmake_minimum_required(VERSION 3.11)\n\nset(BENCHMARK_ENABLE_TESTING OFF)\nset(BENCHMARK_ENABLE_INSTALL OFF)\nset(BENCHMARK_"
  },
  {
    "path": "apps/benchmarks/detournavigator/navmeshtilescache.cpp",
    "chars": 8849,
    "preview": "#include <benchmark/benchmark.h>\n\n#include <components/detournavigator/navmeshtilescache.hpp>\n\n#include <algorithm>\n#inc"
  },
  {
    "path": "apps/browser/CMakeLists.txt",
    "chars": 2504,
    "preview": "\nset (CMAKE_CXX_STANDARD 14)\n\nset(BROWSER_UI\n        ${CMAKE_SOURCE_DIR}/files/tes3mp/ui/Main.ui\n        ${CMAKE_SOURCE_"
  },
  {
    "path": "apps/browser/MainWindow.cpp",
    "chars": 7298,
    "preview": "#include \"MainWindow.hpp\"\n#include \"QueryHelper.hpp\"\n#include \"PingHelper.hpp\"\n#include \"ServerInfoDialog.hpp\"\n#include "
  },
  {
    "path": "apps/browser/MainWindow.hpp",
    "chars": 1090,
    "preview": "#ifndef NEWLAUNCHER_MAIN_HPP\n#define NEWLAUNCHER_MAIN_HPP\n\n\n#include \"ui_Main.h\"\n#include \"ServerModel.hpp\"\n#include \"My"
  },
  {
    "path": "apps/browser/MySortFilterProxyModel.cpp",
    "chars": 2511,
    "preview": "#include \"MySortFilterProxyModel.hpp\"\n#include \"ServerModel.hpp\"\n\n#include <qdebug.h>\n#include <apps/browser/netutils/Ut"
  },
  {
    "path": "apps/browser/MySortFilterProxyModel.hpp",
    "chars": 748,
    "preview": "#ifndef OPENMW_MYSORTFILTERPROXYMODEL_HPP\n#define OPENMW_MYSORTFILTERPROXYMODEL_HPP\n\n\n#include <QSortFilterProxyModel>\n\n"
  },
  {
    "path": "apps/browser/PingHelper.cpp",
    "chars": 1293,
    "preview": "#include \"PingHelper.hpp\"\n#include \"ServerModel.hpp\"\n#include <QDebug>\n#include \"PingUpdater.hpp\"\n\nvoid PingHelper::Add("
  },
  {
    "path": "apps/browser/PingHelper.hpp",
    "chars": 791,
    "preview": "#ifndef OPENMW_PINGHELPER_HPP\n#define OPENMW_PINGHELPER_HPP\n\n#include <QObject>\n#include <QAbstractTableModel>\n#include "
  },
  {
    "path": "apps/browser/PingUpdater.cpp",
    "chars": 1079,
    "preview": "#include \"PingUpdater.hpp\"\n#include \"netutils/Utils.hpp\"\n#include <QDebug>\n#include <QModelIndex>\n#include <QThread>\n\nvo"
  },
  {
    "path": "apps/browser/PingUpdater.hpp",
    "chars": 474,
    "preview": "#ifndef OPENMW_PINGUPDATER_HPP\n#define OPENMW_PINGUPDATER_HPP\n\n#include <QObject>\n#include <QVector>\n\n#include \"Types.hp"
  },
  {
    "path": "apps/browser/QueryHelper.cpp",
    "chars": 2460,
    "preview": "#include \"netutils/QueryClient.hpp\"\n#include \"netutils/Utils.hpp\"\n#include \"QueryHelper.hpp\"\n#include \"PingHelper.hpp\"\n\n"
  },
  {
    "path": "apps/browser/QueryHelper.hpp",
    "chars": 861,
    "preview": "#ifndef OPENMW_QUERYHELPER_HPP\n#define OPENMW_QUERYHELPER_HPP\n\n\n#include <QObject>\n#include <vector>\n#include <QAbstract"
  },
  {
    "path": "apps/browser/ServerInfoDialog.cpp",
    "chars": 3176,
    "preview": "#include <apps/browser/netutils/QueryClient.hpp>\n#include \"qdebug.h\"\n\n#include \"ServerInfoDialog.hpp\"\n#include <algorith"
  },
  {
    "path": "apps/browser/ServerInfoDialog.hpp",
    "chars": 1095,
    "preview": "#ifndef NEWLAUNCHER_SERVERINFODIALOG_HPP\n#define NEWLAUNCHER_SERVERINFODIALOG_HPP\n\n#include \"ui_ServerInfo.h\"\n#include <"
  },
  {
    "path": "apps/browser/ServerModel.cpp",
    "chars": 5496,
    "preview": "#include <qmessagebox.h>\n#include \"ServerModel.hpp\"\n#include <qdebug.h>\n#include <apps/browser/netutils/Utils.hpp>\n\nServ"
  },
  {
    "path": "apps/browser/ServerModel.hpp",
    "chars": 1457,
    "preview": "#ifndef SERVERMODEL_FONTMODEL_HPP\n#define SERVERMODEL_FONTMODEL_HPP\n\n#include <QObject>\n#include <vector>\n#include <QStr"
  },
  {
    "path": "apps/browser/Types.hpp",
    "chars": 207,
    "preview": "#ifndef OPENMW_TYPES_HPP\n#define OPENMW_TYPES_HPP\n\n#include <QPair>\n#include <QString>\n\ntypedef QPair <QString, unsigned"
  },
  {
    "path": "apps/browser/main.cpp",
    "chars": 1881,
    "preview": "#include <QApplication>\n#include <components/settings/settings.hpp>\n#include <components/files/configurationmanager.hpp>"
  },
  {
    "path": "apps/browser/netutils/HTTPNetwork.cpp",
    "chars": 3043,
    "preview": "#include <RakPeer.h>\n#include <HTTPConnection2.h>\n#include <TCPInterface.h>\n#include <RakSleep.h>\n\n#include <sstream>\n\n#"
  },
  {
    "path": "apps/browser/netutils/HTTPNetwork.hpp",
    "chars": 747,
    "preview": "#ifndef NEWLAUNCHER_HTTPNETWORK_HPP\n#define NEWLAUNCHER_HTTPNETWORK_HPP\n\n\n#include <string>\n\nnamespace RakNet\n{\n    clas"
  },
  {
    "path": "apps/browser/netutils/QueryClient.cpp",
    "chars": 6184,
    "preview": "#include \"QueryClient.hpp\"\n#include <RakSleep.h>\n#include <components/openmw-mp/NetworkMessages.hpp>\n#include <iostream>"
  },
  {
    "path": "apps/browser/netutils/QueryClient.hpp",
    "chars": 1223,
    "preview": "#ifndef OPENMW_QUERYCLIENT_HPP\n#define OPENMW_QUERYCLIENT_HPP\n\n#include <string>\n#include <RakPeerInterface.h>\n#include "
  },
  {
    "path": "apps/browser/netutils/Utils.cpp",
    "chars": 5178,
    "preview": "#include <RakPeer.h>\n#include <MessageIdentifiers.h>\n#include <RakSleep.h>\n#include <GetTime.h>\n\n#include <sstream>\n#inc"
  },
  {
    "path": "apps/browser/netutils/Utils.hpp",
    "chars": 412,
    "preview": "#ifndef NEWLAUNCHER_PING_HPP\n#define NEWLAUNCHER_PING_HPP\n\n#include <vector>\n#include <string>\n\n\n#define PING_UNREACHABL"
  },
  {
    "path": "apps/bsatool/CMakeLists.txt",
    "chars": 354,
    "preview": "set(BSATOOL\n\tbsatool.cpp\n)\nsource_group(apps\\\\bsatool FILES ${BSATOOL})\n\n# Main executable\nopenmw_add_executable(bsatool"
  },
  {
    "path": "apps/bsatool/bsatool.cpp",
    "chars": 10024,
    "preview": "#include <iostream>\n#include <iomanip>\n#include <vector>\n\n#include <boost/program_options.hpp>\n#include <boost/filesyste"
  },
  {
    "path": "apps/doc.hpp",
    "chars": 77,
    "preview": "// Note: This is not a regular source file.\n\n/// \\defgroup apps Applications\n"
  },
  {
    "path": "apps/essimporter/CMakeLists.txt",
    "chars": 999,
    "preview": "set(ESSIMPORTER_FILES\n    main.cpp\n    importer.cpp\n    importplayer.cpp\n    importnpcc.cpp\n    importcrec.cpp\n    impor"
  },
  {
    "path": "apps/essimporter/convertacdt.cpp",
    "chars": 5090,
    "preview": "#include <string>\n#include <iostream>\n#include <limits>\n\n#include <components/misc/stringops.hpp>\n\n#include \"convertacdt"
  },
  {
    "path": "apps/essimporter/convertacdt.hpp",
    "chars": 715,
    "preview": "#ifndef OPENMW_ESSIMPORT_CONVERTACDT_H\n#define OPENMW_ESSIMPORT_CONVERTACDT_H\n\n#include <components/esm/creaturestats.hp"
  },
  {
    "path": "apps/essimporter/convertcntc.cpp",
    "chars": 227,
    "preview": "#include \"convertcntc.hpp\"\n\n#include \"convertinventory.hpp\"\n\nnamespace ESSImport\n{\n\n    void convertCNTC(const CNTC &cnt"
  },
  {
    "path": "apps/essimporter/convertcntc.hpp",
    "chars": 254,
    "preview": "#ifndef OPENMW_ESSIMPORT_CONVERTCNTC_H\n#define OPENMW_ESSIMPORT_CONVERTCNTC_H\n\n#include \"importcntc.hpp\"\n\n#include <comp"
  },
  {
    "path": "apps/essimporter/convertcrec.cpp",
    "chars": 226,
    "preview": "#include \"convertcrec.hpp\"\n\n#include \"convertinventory.hpp\"\n\nnamespace ESSImport\n{\n\n    void convertCREC(const CREC &cre"
  },
  {
    "path": "apps/essimporter/convertcrec.hpp",
    "chars": 252,
    "preview": "#ifndef OPENMW_ESSIMPORT_CONVERTCREC_H\n#define OPENMW_ESSIMPORT_CONVERTCREC_H\n\n#include \"importcrec.hpp\"\n\n#include <comp"
  },
  {
    "path": "apps/essimporter/converter.cpp",
    "chars": 19264,
    "preview": "#include \"converter.hpp\"\n\n#include <stdexcept>\n#include <algorithm>\n\n#include <osgDB/WriteFile>\n\n#include <components/es"
  },
  {
    "path": "apps/essimporter/converter.hpp",
    "chars": 18016,
    "preview": "#ifndef OPENMW_ESSIMPORT_CONVERTER_H\n#define OPENMW_ESSIMPORT_CONVERTER_H\n\n#include <limits>\n\n#include <osg/Image>\n#incl"
  },
  {
    "path": "apps/essimporter/convertinventory.cpp",
    "chars": 1199,
    "preview": "#include \"convertinventory.hpp\"\n\n#include <components/misc/stringops.hpp>\n#include <cstdlib>\n\nnamespace ESSImport\n{\n\n   "
  },
  {
    "path": "apps/essimporter/convertinventory.hpp",
    "chars": 285,
    "preview": "#ifndef OPENMW_ESSIMPORT_CONVERTINVENTORY_H\n#define OPENMW_ESSIMPORT_CONVERTINVENTORY_H\n\n#include \"importinventory.hpp\"\n"
  },
  {
    "path": "apps/essimporter/convertnpcc.cpp",
    "chars": 359,
    "preview": "#include \"convertnpcc.hpp\"\n\n#include \"convertinventory.hpp\"\n\nnamespace ESSImport\n{\n\n    void convertNPCC(const NPCC &npc"
  },
  {
    "path": "apps/essimporter/convertnpcc.hpp",
    "chars": 246,
    "preview": "#ifndef OPENMW_ESSIMPORT_CONVERTNPCC_H\n#define OPENMW_ESSIMPORT_CONVERTNPCC_H\n\n#include \"importnpcc.hpp\"\n\n#include <comp"
  },
  {
    "path": "apps/essimporter/convertplayer.cpp",
    "chars": 3977,
    "preview": "#include \"convertplayer.hpp\"\n\n#include <components/misc/constants.hpp>\n#include <components/misc/stringops.hpp>\n\nnamespa"
  },
  {
    "path": "apps/essimporter/convertplayer.hpp",
    "chars": 434,
    "preview": "#ifndef OPENMW_ESSIMPORT_CONVERTPLAYER_H\n#define OPENMW_ESSIMPORT_CONVERTPLAYER_H\n\n#include \"importplayer.hpp\"\n\n#include"
  },
  {
    "path": "apps/essimporter/convertscpt.cpp",
    "chars": 443,
    "preview": "#include \"convertscpt.hpp\"\n\n#include <components/misc/stringops.hpp>\n\n#include \"convertscri.hpp\"\n\nnamespace ESSImport\n{\n"
  },
  {
    "path": "apps/essimporter/convertscpt.hpp",
    "chars": 244,
    "preview": "#ifndef OPENMW_ESSIMPORT_CONVERTSCPT_H\n#define OPENMW_ESSIMPORT_CONVERTSCPT_H\n\n#include <components/esm/globalscript.hpp"
  },
  {
    "path": "apps/essimporter/convertscri.cpp",
    "chars": 860,
    "preview": "#include \"convertscri.hpp\"\n\nnamespace\n{\n\n    template <typename T, ESM::VarType VariantType>\n    void storeVariables(con"
  },
  {
    "path": "apps/essimporter/convertscri.hpp",
    "chars": 284,
    "preview": "#ifndef OPENMW_ESSIMPORT_CONVERTSCRI_H\n#define OPENMW_ESSIMPORT_CONVERTSCRI_H\n\n#include \"importscri.hpp\"\n\n#include <comp"
  },
  {
    "path": "apps/essimporter/importacdt.cpp",
    "chars": 3856,
    "preview": "#include \"importacdt.hpp\"\n\n#include <components/esm/esmreader.hpp>\n\n#include <components/esm/cellref.hpp>\n\nnamespace ESS"
  },
  {
    "path": "apps/essimporter/importacdt.hpp",
    "chars": 2349,
    "preview": "#ifndef OPENMW_ESSIMPORT_ACDT_H\n#define OPENMW_ESSIMPORT_ACDT_H\n\n#include <string>\n\n#include <components/esm/cellref.hpp"
  },
  {
    "path": "apps/essimporter/importcellref.cpp",
    "chars": 1665,
    "preview": "#include \"importcellref.hpp\"\n\n#include <components/esm/esmreader.hpp>\n\nnamespace ESSImport\n{\n\n    void CellRef::load(ESM"
  },
  {
    "path": "apps/essimporter/importcellref.hpp",
    "chars": 483,
    "preview": "#ifndef OPENMW_ESSIMPORT_CELLREF_H\n#define OPENMW_ESSIMPORT_CELLREF_H\n\n#include <string>\n\n#include <components/esm/cellr"
  },
  {
    "path": "apps/essimporter/importcntc.cpp",
    "chars": 234,
    "preview": "#include \"importcntc.hpp\"\n\n#include <components/esm/esmreader.hpp>\n\nnamespace ESSImport\n{\n\n    void CNTC::load(ESM::ESMR"
  },
  {
    "path": "apps/essimporter/importcntc.hpp",
    "chars": 338,
    "preview": "#ifndef OPENMW_ESSIMPORT_IMPORTCNTC_H\n#define OPENMW_ESSIMPORT_IMPORTCNTC_H\n\n#include \"importinventory.hpp\"\n\nnamespace E"
  },
  {
    "path": "apps/essimporter/importcrec.cpp",
    "chars": 587,
    "preview": "#include \"importcrec.hpp\"\n\n#include <components/esm/esmreader.hpp>\n\nnamespace ESSImport\n{\n\n    void CREC::load(ESM::ESMR"
  },
  {
    "path": "apps/essimporter/importcrec.hpp",
    "chars": 397,
    "preview": "#ifndef OPENMW_ESSIMPORT_CREC_H\n#define OPENMW_ESSIMPORT_CREC_H\n\n#include \"importinventory.hpp\"\n#include <components/esm"
  },
  {
    "path": "apps/essimporter/importdial.cpp",
    "chars": 591,
    "preview": "#include \"importdial.hpp\"\n\n#include <components/esm/esmreader.hpp>\n\nnamespace ESSImport\n{\n\n    void DIAL::load(ESM::ESMR"
  },
  {
    "path": "apps/essimporter/importdial.hpp",
    "chars": 257,
    "preview": "#ifndef OPENMW_ESSIMPORT_IMPORTDIAL_H\n#define OPENMW_ESSIMPORT_IMPORTDIAL_H\nnamespace ESM\n{\n    class ESMReader;\n}\n\nname"
  },
  {
    "path": "apps/essimporter/importer.cpp",
    "chars": 17389,
    "preview": "#include \"importer.hpp\"\n\n#include <iomanip>\n\n#include <boost/filesystem.hpp>\n#include <boost/filesystem/fstream.hpp>\n\n#i"
  },
  {
    "path": "apps/essimporter/importer.hpp",
    "chars": 428,
    "preview": "#ifndef OPENMW_ESSIMPORTER_IMPORTER_H\n#define OPENMW_ESSIMPORTER_IMPORTER_H\n\n#include <string>\n\nnamespace ESSImport\n{\n\n "
  },
  {
    "path": "apps/essimporter/importercontext.cpp",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "apps/essimporter/importercontext.hpp",
    "chars": 2762,
    "preview": "#ifndef OPENMW_ESSIMPORT_CONTEXT_H\n#define OPENMW_ESSIMPORT_CONTEXT_H\n\n#include <map>\n\n#include <components/esm/loadnpc."
  },
  {
    "path": "apps/essimporter/importgame.cpp",
    "chars": 572,
    "preview": "#include \"importgame.hpp\"\n\n#include <components/esm/esmreader.hpp>\n\nnamespace ESSImport\n{\n\nvoid GAME::load(ESM::ESMReade"
  },
  {
    "path": "apps/essimporter/importgame.hpp",
    "chars": 736,
    "preview": "#ifndef OPENMW_ESSIMPORT_GAME_H\n#define OPENMW_ESSIMPORT_GAME_H\n\nnamespace ESM\n{\n    class ESMReader;\n}\n\nnamespace ESSIm"
  },
  {
    "path": "apps/essimporter/importinfo.cpp",
    "chars": 235,
    "preview": "#include \"importinfo.hpp\"\n\n#include <components/esm/esmreader.hpp>\n\nnamespace ESSImport\n{\n\n    void INFO::load(ESM::ESMR"
  },
  {
    "path": "apps/essimporter/importinfo.hpp",
    "chars": 300,
    "preview": "#ifndef OPENMW_ESSIMPORT_IMPORTINFO_H\n#define OPENMW_ESSIMPORT_IMPORTINFO_H\n\n#include <string>\n\nnamespace ESM\n{\n    clas"
  },
  {
    "path": "apps/essimporter/importinventory.cpp",
    "chars": 2293,
    "preview": "#include \"importinventory.hpp\"\n\n#include <stdexcept>\n\n#include <components/esm/esmreader.hpp>\n\nnamespace ESSImport\n{\n\n  "
  },
  {
    "path": "apps/essimporter/importinventory.hpp",
    "chars": 692,
    "preview": "#ifndef OPENMW_ESSIMPORT_IMPORTINVENTORY_H\n#define OPENMW_ESSIMPORT_IMPORTINVENTORY_H\n\n#include <vector>\n#include <strin"
  },
  {
    "path": "apps/essimporter/importjour.cpp",
    "chars": 188,
    "preview": "#include \"importjour.hpp\"\n\n#include <components/esm/esmreader.hpp>\n\nnamespace ESSImport\n{\n\n    void JOUR::load(ESM::ESMR"
  },
  {
    "path": "apps/essimporter/importjour.hpp",
    "chars": 322,
    "preview": "#ifndef OPENMW_ESSIMPORT_IMPORTJOUR_H\n#define OPENMW_ESSIMPORT_IMPORTJOUR_H\n\n#include <string>\n\nnamespace ESM\n{\n    clas"
  },
  {
    "path": "apps/essimporter/importklst.cpp",
    "chars": 432,
    "preview": "#include \"importklst.hpp\"\n\n#include <components/esm/esmreader.hpp>\n\nnamespace ESSImport\n{\n\n    void KLST::load(ESM::ESMR"
  },
  {
    "path": "apps/essimporter/importklst.hpp",
    "chars": 370,
    "preview": "#ifndef OPENMW_ESSIMPORT_KLST_H\n#define OPENMW_ESSIMPORT_KLST_H\n\n#include <string>\n#include <map>\n\nnamespace ESM\n{\n    c"
  },
  {
    "path": "apps/essimporter/importnpcc.cpp",
    "chars": 401,
    "preview": "#include \"importnpcc.hpp\"\n\n#include <components/esm/esmreader.hpp>\n\nnamespace ESSImport\n{\n\n    void NPCC::load(ESM::ESMR"
  },
  {
    "path": "apps/essimporter/importnpcc.hpp",
    "chars": 614,
    "preview": "#ifndef OPENMW_ESSIMPORT_NPCC_H\n#define OPENMW_ESSIMPORT_NPCC_H\n\n#include <components/esm/loadcont.hpp>\n\n#include <compo"
  },
  {
    "path": "apps/essimporter/importplayer.cpp",
    "chars": 2513,
    "preview": "#include \"importplayer.hpp\"\n\n#include <components/esm/esmreader.hpp>\n\nnamespace ESSImport\n{\n\n    void REFR::load(ESM::ES"
  },
  {
    "path": "apps/essimporter/importplayer.hpp",
    "chars": 3222,
    "preview": "#ifndef OPENMW_ESSIMPORT_PLAYER_H\n#define OPENMW_ESSIMPORT_PLAYER_H\n\n#include <vector>\n#include <string>\n\n#include <comp"
  },
  {
    "path": "apps/essimporter/importproj.cpp",
    "chars": 272,
    "preview": "#include \"importproj.h\"\n\n#include <components/esm/esmreader.hpp>\n\nnamespace ESSImport\n{\n\nvoid ESSImport::PROJ::load(ESM:"
  },
  {
    "path": "apps/essimporter/importproj.h",
    "chars": 975,
    "preview": "#ifndef OPENMW_ESSIMPORT_IMPORTPROJ_H\n#define OPENMW_ESSIMPORT_IMPORTPROJ_H\n\n#include <vector>\n#include <components/esm/"
  },
  {
    "path": "apps/essimporter/importques.cpp",
    "chars": 232,
    "preview": "#include \"importques.hpp\"\n\n#include <components/esm/esmreader.hpp>\n\nnamespace ESSImport\n{\n\n    void QUES::load(ESM::ESMR"
  },
  {
    "path": "apps/essimporter/importques.hpp",
    "chars": 589,
    "preview": "#ifndef OPENMW_ESSIMPORT_IMPORTQUES_H\n#define OPENMW_ESSIMPORT_IMPORTQUES_H\n\n#include <string>\n#include <vector>\n\nnamesp"
  },
  {
    "path": "apps/essimporter/importscpt.cpp",
    "chars": 392,
    "preview": "#include \"importscpt.hpp\"\n\n#include <components/esm/esmreader.hpp>\n\n\n\nnamespace ESSImport\n{\n\n    void SCPT::load(ESM::ES"
  },
  {
    "path": "apps/essimporter/importscpt.hpp",
    "chars": 592,
    "preview": "#ifndef OPENMW_ESSIMPORT_IMPORTSCPT_H\n#define OPENMW_ESSIMPORT_IMPORTSCPT_H\n\n#include \"importscri.hpp\"\n\n#include <compon"
  },
  {
    "path": "apps/essimporter/importscri.cpp",
    "chars": 1319,
    "preview": "#include \"importscri.hpp\"\n\n#include <components/esm/esmreader.hpp>\n\nnamespace ESSImport\n{\n\n    void SCRI::load(ESM::ESMR"
  },
  {
    "path": "apps/essimporter/importscri.hpp",
    "chars": 470,
    "preview": "#ifndef OPENMW_ESSIMPORT_IMPORTSCRI_H\n#define OPENMW_ESSIMPORT_IMPORTSCRI_H\n\n#include <components/esm/variant.hpp>\n\n#inc"
  },
  {
    "path": "apps/essimporter/importsplm.cpp",
    "chars": 1047,
    "preview": "#include \"importsplm.h\"\n\n#include <components/esm/esmreader.hpp>\n\nnamespace ESSImport\n{\n\nvoid SPLM::load(ESM::ESMReader&"
  },
  {
    "path": "apps/essimporter/importsplm.h",
    "chars": 1559,
    "preview": "#ifndef OPENMW_ESSIMPORT_IMPORTSPLM_H\n#define OPENMW_ESSIMPORT_IMPORTSPLM_H\n\n#include <vector>\n#include <components/esm/"
  },
  {
    "path": "apps/essimporter/main.cpp",
    "chars": 2413,
    "preview": "#include <iostream>\n\n#include <boost/program_options.hpp>\n#include <boost/filesystem.hpp>\n\n#include <components/files/co"
  },
  {
    "path": "apps/launcher/CMakeLists.txt",
    "chars": 2428,
    "preview": "set(LAUNCHER\n    datafilespage.cpp\n    graphicspage.cpp\n    sdlinit.cpp\n    main.cpp\n    maindialog.cpp\n    playpage.cpp"
  },
  {
    "path": "apps/launcher/advancedpage.cpp",
    "chars": 21005,
    "preview": "#include \"advancedpage.hpp\"\n\n#include <array>\n\n#include <components/config/gamesettings.hpp>\n#include <QFileDialog>\n#inc"
  },
  {
    "path": "apps/launcher/advancedpage.hpp",
    "chars": 1446,
    "preview": "#ifndef ADVANCEDPAGE_H\n#define ADVANCEDPAGE_H\n\n#include <QCompleter>\n#include <QStringListModel>\n\n#include \"ui_advancedp"
  },
  {
    "path": "apps/launcher/datafilespage.cpp",
    "chars": 13078,
    "preview": "#include \"datafilespage.hpp\"\n\n#include <QDebug>\n\n#include <QPushButton>\n#include <QMessageBox>\n#include <QMenu>\n#include"
  },
  {
    "path": "apps/launcher/datafilespage.hpp",
    "chars": 4508,
    "preview": "#ifndef DATAFILESPAGE_H\n#define DATAFILESPAGE_H\n\n#include \"ui_datafilespage.h\"\n#include <QWidget>\n\n\n#include <QDir>\n#inc"
  },
  {
    "path": "apps/launcher/graphicspage.cpp",
    "chars": 15550,
    "preview": "#include \"graphicspage.hpp\"\n\n#include <QDesktopWidget>\n#include <QMessageBox>\n#include <QDir>\n#include <QScreen>\n\n#ifdef"
  },
  {
    "path": "apps/launcher/graphicspage.hpp",
    "chars": 966,
    "preview": "#ifndef GRAPHICSPAGE_H\n#define GRAPHICSPAGE_H\n\n#include \"ui_graphicspage.h\"\n\n#include <components/settings/settings.hpp>"
  },
  {
    "path": "apps/launcher/main.cpp",
    "chars": 1393,
    "preview": "#include <iostream>\n\n#include <QTranslator>\n#include <QTextCodec>\n#include <QDir>\n\n#ifdef MAC_OS_X_VERSION_MIN_REQUIRED\n"
  },
  {
    "path": "apps/launcher/maindialog.cpp",
    "chars": 21904,
    "preview": "#include \"maindialog.hpp\"\n\n#include <components/version/version.hpp>\n#include <components/misc/helpviewer.hpp>\n\n#include"
  },
  {
    "path": "apps/launcher/maindialog.hpp",
    "chars": 2495,
    "preview": "#ifndef MAINDIALOG_H\n#define MAINDIALOG_H\n\n\n#ifndef Q_MOC_RUN\n#include <components/files/configurationmanager.hpp>\n\n\n#in"
  },
  {
    "path": "apps/launcher/playpage.cpp",
    "chars": 684,
    "preview": "#include \"playpage.hpp\"\n\n#include <QListView>\n\nLauncher::PlayPage::PlayPage(QWidget *parent) : QWidget(parent)\n{\n    set"
  },
  {
    "path": "apps/launcher/playpage.hpp",
    "chars": 572,
    "preview": "#ifndef PLAYPAGE_H\n#define PLAYPAGE_H\n\n#include \"ui_playpage.h\"\n\nclass QComboBox;\nclass QPushButton;\nclass QAbstractItem"
  },
  {
    "path": "apps/launcher/sdlinit.cpp",
    "chars": 540,
    "preview": "#include <signal.h>\n\n#include <SDL.h>\n\nbool initSDL()\n{\n    SDL_SetHint(SDL_HINT_RENDER_DRIVER, \"software\");\n    SDL_Set"
  },
  {
    "path": "apps/launcher/sdlinit.hpp",
    "chars": 78,
    "preview": "#ifndef SDLINIT_H\n#define SDLINIT_H\n\nbool initSDL();\n\nvoid quitSDL();\n\n#endif\n"
  },
  {
    "path": "apps/launcher/settingspage.cpp",
    "chars": 8137,
    "preview": "#include \"settingspage.hpp\"\n\n#include <QFileDialog>\n#include <QMessageBox>\n#include <QDir>\n\n#include <components/files/c"
  },
  {
    "path": "apps/launcher/settingspage.hpp",
    "chars": 1580,
    "preview": "#ifndef SETTINGSPAGE_HPP\n#define SETTINGSPAGE_HPP\n\n#include <components/process/processinvoker.hpp>\n\n#include \"ui_settin"
  },
  {
    "path": "apps/launcher/textslotmsgbox.cpp",
    "chars": 122,
    "preview": "#include \"textslotmsgbox.hpp\"\n\nvoid Launcher::TextSlotMsgBox::setTextSlot(const QString& string)\n{\n    setText(string);\n"
  },
  {
    "path": "apps/launcher/textslotmsgbox.hpp",
    "chars": 254,
    "preview": "#ifndef TEXT_SLOT_MSG_BOX\n#define TEXT_SLOT_MSG_BOX\n\n#include <QMessageBox>\n\nnamespace Launcher\n{\n    class TextSlotMsgB"
  },
  {
    "path": "apps/launcher/utils/cellnameloader.cpp",
    "chars": 1287,
    "preview": "#include \"cellnameloader.hpp\"\n\n#include <components/esm/loadcell.hpp>\n#include <components/contentselector/view/contents"
  },
  {
    "path": "apps/launcher/utils/cellnameloader.hpp",
    "chars": 1047,
    "preview": "#ifndef OPENMW_CELLNAMELOADER_H\n#define OPENMW_CELLNAMELOADER_H\n\n#include <QSet>\n#include <QString>\n\n#include <component"
  },
  {
    "path": "apps/launcher/utils/lineedit.cpp",
    "chars": 1040,
    "preview": "#include \"lineedit.hpp\"\n\nLineEdit::LineEdit(QWidget *parent)\n    : QLineEdit(parent)\n{\n    setupClearButton();\n}\n\nvoid L"
  },
  {
    "path": "apps/launcher/utils/lineedit.hpp",
    "chars": 821,
    "preview": "/****************************************************************************\n**\n** Copyright (c) 2007 Trolltech ASA <in"
  },
  {
    "path": "apps/launcher/utils/openalutil.cpp",
    "chars": 1656,
    "preview": "#include <cstring>\n#include <vector>\n#include <memory>\n\n#include <apps/openmw/mwsound/alext.h>\n\n#include \"openalutil.hpp"
  },
  {
    "path": "apps/launcher/utils/openalutil.hpp",
    "chars": 157,
    "preview": "#include <vector>\n\nnamespace Launcher\n{\n    std::vector<const char *> enumerateOpenALDevices();\n    std::vector<const ch"
  },
  {
    "path": "apps/launcher/utils/profilescombobox.cpp",
    "chars": 2606,
    "preview": "#include <QRegExpValidator>\n#include <QString>\n#include <QApplication>\n#include <QKeyEvent>\n\n#include \"profilescombobox."
  },
  {
    "path": "apps/launcher/utils/profilescombobox.hpp",
    "chars": 1101,
    "preview": "#ifndef PROFILESCOMBOBOX_HPP\n#define PROFILESCOMBOBOX_HPP\n\n#include \"components/contentselector/view/combobox.hpp\"\n#incl"
  },
  {
    "path": "apps/launcher/utils/textinputdialog.cpp",
    "chars": 1948,
    "preview": "#include \"textinputdialog.hpp\"\n\n#include <QDialogButtonBox>\n#include <QApplication>\n#include <QPushButton>\n#include <QVB"
  },
  {
    "path": "apps/launcher/utils/textinputdialog.hpp",
    "chars": 620,
    "preview": "#ifndef TEXTINPUTDIALOG_HPP\n#define TEXTINPUTDIALOG_HPP\n\n#include <QDialog>\n\n#include \"lineedit.hpp\"\n\nclass QDialogButto"
  },
  {
    "path": "apps/master/CMakeLists.txt",
    "chars": 917,
    "preview": "project(masterserver)\n\n#set(CMAKE_CXX_STANDARD 14)\nadd_definitions(-std=gnu++14)\n\ninclude_directories(\"./\")\n\nset(SOURCE_"
  },
  {
    "path": "apps/master/MasterServer.cpp",
    "chars": 8286,
    "preview": "#include <RakPeerInterface.h>\n#include <RakSleep.h>\n#include <BitStream.h>\n#include <iostream>\n#include \"MasterServer.hp"
  },
  {
    "path": "apps/master/MasterServer.hpp",
    "chars": 1154,
    "preview": "#ifndef NEWMASTERPROTO_MASTERSERVER_HPP\n#define NEWMASTERPROTO_MASTERSERVER_HPP\n\n#include <thread>\n#include <chrono>\n#in"
  },
  {
    "path": "apps/master/RestServer.cpp",
    "chars": 6440,
    "preview": "#include \"RestServer.hpp\"\n\n#include <boost/property_tree/ptree.hpp>\n#include <boost/property_tree/json_parser.hpp>\n\nusin"
  },
  {
    "path": "apps/master/RestServer.hpp",
    "chars": 536,
    "preview": "#ifndef NEWRESTAPI_RESTSERVER_HPP\n#define NEWRESTAPI_RESTSERVER_HPP\n\n#include <string>\n#include <unordered_map>\n#include"
  },
  {
    "path": "apps/master/ServerTest.cpp",
    "chars": 7290,
    "preview": "#include <RakPeerInterface.h>\n#include <RakSleep.h>\n#include <BitStream.h>\n#include <iostream>\n#include <Kbhit.h>\n#inclu"
  },
  {
    "path": "apps/master/SimpleWeb/base_server.hpp",
    "chars": 20024,
    "preview": "#ifndef BASE_SERVER_HPP\n#define BASE_SERVER_HPP\n\n#include <boost/asio.hpp>\n#include <boost/algorithm/string/predicate.hp"
  },
  {
    "path": "apps/master/SimpleWeb/http_server.hpp",
    "chars": 1496,
    "preview": "/*\n *  https://github.com/eidheim/Simple-Web-Server/\n *\n *  The MIT License (MIT)\n *  Copyright (c) 2014-2016 Ole Christ"
  },
  {
    "path": "apps/master/SimpleWeb/https_server.hpp",
    "chars": 3764,
    "preview": "#ifndef HTTPS_SERVER_HPP\n#define HTTPS_SERVER_HPP\n\n#include \"base_server.hpp\"\n#include <boost/asio/ssl.hpp>\n#include <op"
  },
  {
    "path": "apps/master/main.cpp",
    "chars": 765,
    "preview": "#include <iostream>\n#include <Kbhit.h>\n#include <RakSleep.h>\n#include \"MasterServer.hpp\"\n#include \"RestServer.hpp\"\n\nusin"
  },
  {
    "path": "apps/mwiniimporter/CMakeLists.txt",
    "chars": 705,
    "preview": "set(MWINIIMPORT\n    main.cpp\n    importer.cpp\n)\n\nset(MWINIIMPORT_HEADER\n    importer.hpp\n)\n\nsource_group(launcher FILES "
  },
  {
    "path": "apps/mwiniimporter/importer.cpp",
    "chars": 35731,
    "preview": "#include \"importer.hpp\"\n\n#include <iostream>\n#include <sstream>\n#include <components/misc/stringops.hpp>\n#include <compo"
  },
  {
    "path": "apps/mwiniimporter/importer.hpp",
    "chars": 2085,
    "preview": "#ifndef MWINIIMPORTER_IMPORTER\n#define MWINIIMPORTER_IMPORTER 1\n\n#include <string>\n#include <map>\n#include <vector>\n#inc"
  },
  {
    "path": "apps/mwiniimporter/main.cpp",
    "chars": 4617,
    "preview": "#include \"importer.hpp\"\n\n#include <iostream>\n\n#include <boost/program_options.hpp>\n#include <boost/filesystem.hpp>\n#incl"
  },
  {
    "path": "apps/niftest/CMakeLists.txt",
    "chars": 334,
    "preview": "set(NIFTEST\n    niftest.cpp\n)\nsource_group(components\\\\nif\\\\tests FILES ${NIFTEST})\n\n# Main executable\nopenmw_add_execut"
  },
  {
    "path": "apps/niftest/niftest.cpp",
    "chars": 5449,
    "preview": "///Program to test .nif files both on the FileSystem and in BSA archives.\n\n#include <iostream>\n#include <fstream>\n#inclu"
  },
  {
    "path": "apps/opencs/CMakeLists.txt",
    "chars": 9541,
    "preview": "set (OPENCS_SRC main.cpp\n    ${CMAKE_SOURCE_DIR}/files/windows/opencs.rc\n    )\n\nopencs_units (. editor)\n\nopencs_units (m"
  },
  {
    "path": "apps/opencs/Networking.cpp",
    "chars": 1990,
    "preview": "#include \"editor.hpp\"\n\n#include <exception>\n#include <iostream>\n#include <string>\n\n#include <QApplication>\n#include <QIc"
  },
  {
    "path": "apps/opencs/editor.cpp",
    "chars": 13573,
    "preview": "#include \"editor.hpp\"\n\n#include <QApplication>\n#include <QLocalServer>\n#include <QLocalSocket>\n#include <QMessageBox>\n\n#"
  },
  {
    "path": "apps/opencs/editor.hpp",
    "chars": 2983,
    "preview": "#ifndef CS_EDITOR_H\n#define CS_EDITOR_H\n\n#include <boost/interprocess/sync/file_lock.hpp>\n#include <boost/filesystem/fst"
  },
  {
    "path": "apps/opencs/main.cpp",
    "chars": 1744,
    "preview": "#include \"editor.hpp\"\n\n#include <exception>\n#include <string>\n\n#include <QApplication>\n#include <QIcon>\n#include <QMetaT"
  },
  {
    "path": "apps/opencs/model/doc/blacklist.cpp",
    "chars": 836,
    "preview": "#include \"blacklist.hpp\"\n\n#include <algorithm>\n\n#include <components/misc/stringops.hpp>\n\nbool CSMDoc::Blacklist::isBlac"
  },
  {
    "path": "apps/opencs/model/doc/blacklist.hpp",
    "chars": 531,
    "preview": "#ifndef CSM_DOC_BLACKLIST_H\n#define CSM_DOC_BLACKLIST_H\n\n#include <map>\n#include <vector>\n#include <string>\n\n#include \"."
  },
  {
    "path": "apps/opencs/model/doc/document.cpp",
    "chars": 13891,
    "preview": "#include \"document.hpp\"\n\n#include <cassert>\n\n#include <boost/filesystem.hpp>\n#include <boost/filesystem/fstream.hpp>\n\n#i"
  },
  {
    "path": "apps/opencs/model/doc/document.hpp",
    "chars": 5209,
    "preview": "#ifndef CSM_DOC_DOCUMENT_H\n#define CSM_DOC_DOCUMENT_H\n\n#include <string>\n\n#include <boost/filesystem/path.hpp>\n\n#include"
  },
  {
    "path": "apps/opencs/model/doc/documentmanager.cpp",
    "chars": 4330,
    "preview": "#include \"documentmanager.hpp\"\n\n#include <boost/filesystem.hpp>\n\n#ifndef Q_MOC_RUN\n#include <components/files/configurat"
  },
  {
    "path": "apps/opencs/model/doc/documentmanager.hpp",
    "chars": 4065,
    "preview": "#ifndef CSM_DOC_DOCUMENTMGR_H\n#define CSM_DOC_DOCUMENTMGR_H\n\n#include <vector>\n#include <string>\n\n#include <boost/filesy"
  },
  {
    "path": "apps/opencs/model/doc/loader.cpp",
    "chars": 3688,
    "preview": "#include \"loader.hpp\"\n\n#include <iostream>\n\n#include \"../tools/reportmodel.hpp\"\n\n#include \"document.hpp\"\n\nCSMDoc::Loader"
  },
  {
    "path": "apps/opencs/model/doc/loader.hpp",
    "chars": 2206,
    "preview": "#ifndef CSM_DOC_LOADER_H\n#define CSM_DOC_LOADER_H\n\n#include <vector>\n\n#include <QObject>\n#include <QMutex>\n#include <QTi"
  },
  {
    "path": "apps/opencs/model/doc/messages.cpp",
    "chars": 1288,
    "preview": "#include \"messages.hpp\"\n\nCSMDoc::Message::Message() : mSeverity(Severity_Default){}\n\nCSMDoc::Message::Message (const CSM"
  },
  {
    "path": "apps/opencs/model/doc/messages.hpp",
    "chars": 1623,
    "preview": "#ifndef CSM_DOC_MESSAGES_H\n#define CSM_DOC_MESSAGES_H\n\n#include <string>\n#include <vector>\n\n#include <QMetaType>\n\n#inclu"
  },
  {
    "path": "apps/opencs/model/doc/operation.cpp",
    "chars": 3113,
    "preview": "#include \"operation.hpp\"\n\n#include <string>\n#include <vector>\n\n#include <QTimer>\n\n#include \"../world/universalid.hpp\"\n\n#"
  },
  {
    "path": "apps/opencs/model/doc/operation.hpp",
    "chars": 1984,
    "preview": "#ifndef CSM_DOC_OPERATION_H\n#define CSM_DOC_OPERATION_H\n\n#include <vector>\n#include <map>\n\n#include <QObject>\n#include <"
  },
  {
    "path": "apps/opencs/model/doc/operationholder.cpp",
    "chars": 1412,
    "preview": "#include \"operationholder.hpp\"\n\n#include \"operation.hpp\"\n\nCSMDoc::OperationHolder::OperationHolder (Operation *operation"
  },
  {
    "path": "apps/opencs/model/doc/operationholder.hpp",
    "chars": 1053,
    "preview": "#ifndef CSM_DOC_OPERATIONHOLDER_H\n#define CSM_DOC_OPERATIONHOLDER_H\n\n#include <QObject>\n#include <QThread>\n\n#include \"me"
  },
  {
    "path": "apps/opencs/model/doc/runner.cpp",
    "chars": 3874,
    "preview": "#include \"runner.hpp\"\n\n#include <QApplication>\n#include <QDir>\n#include <QTemporaryFile>\n#include <QTextStream>\n\n#includ"
  },
  {
    "path": "apps/opencs/model/doc/runner.hpp",
    "chars": 2106,
    "preview": "#ifndef CSM_DOC_RUNNER_H\n#define CSM_DOC_RUNNER_H\n\n#include <vector>\n#include <string>\n\n#include <boost/filesystem/path."
  },
  {
    "path": "apps/opencs/model/doc/saving.cpp",
    "chars": 4303,
    "preview": "#include \"saving.hpp\"\n\n#include \"../world/data.hpp\"\n#include \"../world/idcollection.hpp\"\n\n#include \"state.hpp\"\n#include "
  },
  {
    "path": "apps/opencs/model/doc/saving.hpp",
    "chars": 518,
    "preview": "#ifndef CSM_DOC_SAVING_H\n#define CSM_DOC_SAVING_H\n\n#include <boost/filesystem/path.hpp>\n\n#include <components/to_utf8/to"
  },
  {
    "path": "apps/opencs/model/doc/savingstages.cpp",
    "chars": 17176,
    "preview": "#include \"savingstages.hpp\"\n\n#include <boost/filesystem.hpp>\n\n#include <QUndoStack>\n\n#include <components/esm/loaddial.h"
  },
  {
    "path": "apps/opencs/model/doc/savingstages.hpp",
    "chars": 7512,
    "preview": "#ifndef CSM_DOC_SAVINGSTAGES_H\n#define CSM_DOC_SAVINGSTAGES_H\n\n#include \"stage.hpp\"\n\n#include \"../world/record.hpp\"\n#inc"
  },
  {
    "path": "apps/opencs/model/doc/savingstate.cpp",
    "chars": 1433,
    "preview": "#include \"savingstate.hpp\"\n\n#include <boost/filesystem/fstream.hpp>\n\n#include \"operation.hpp\"\n#include \"document.hpp\"\n\nC"
  },
  {
    "path": "apps/opencs/model/doc/savingstate.hpp",
    "chars": 1545,
    "preview": "#ifndef CSM_DOC_SAVINGSTATE_H\n#define CSM_DOC_SAVINGSTATE_H\n\n#include <fstream>\n#include <map>\n#include <deque>\n\n#includ"
  },
  {
    "path": "apps/opencs/model/doc/stage.cpp",
    "chars": 49,
    "preview": "#include \"stage.hpp\"\n\nCSMDoc::Stage::~Stage() {}\n"
  },
  {
    "path": "apps/opencs/model/doc/stage.hpp",
    "chars": 504,
    "preview": "#ifndef CSM_DOC_STAGE_H\n#define CSM_DOC_STAGE_H\n\n#include <vector>\n#include <string>\n\n#include \"../world/universalid.hpp"
  },
  {
    "path": "apps/opencs/model/doc/state.hpp",
    "chars": 424,
    "preview": "#ifndef CSM_DOC_STATE_H\n#define CSM_DOC_STATE_H\n\nnamespace CSMDoc\n{\n    enum State\n    {\n        State_Modified = 1,\n   "
  },
  {
    "path": "apps/opencs/model/filter/andnode.cpp",
    "chars": 432,
    "preview": "#include \"andnode.hpp\"\n\n#include <sstream>\n\nCSMFilter::AndNode::AndNode (const std::vector<std::shared_ptr<Node> >& node"
  },
  {
    "path": "apps/opencs/model/filter/andnode.hpp",
    "chars": 532,
    "preview": "#ifndef CSM_FILTER_ANDNODE_H\n#define CSM_FILTER_ANDNODE_H\n\n#include \"narynode.hpp\"\n\nnamespace CSMFilter\n{\n    class AndN"
  },
  {
    "path": "apps/opencs/model/filter/booleannode.cpp",
    "chars": 359,
    "preview": "#include \"booleannode.hpp\"\n\nCSMFilter::BooleanNode::BooleanNode (bool true_) : mTrue (true_) {}\n\nbool CSMFilter::Boolean"
  },
  {
    "path": "apps/opencs/model/filter/booleannode.hpp",
    "chars": 778,
    "preview": "#ifndef CSM_FILTER_BOOLEANNODE_H\n#define CSM_FILTER_BOOLEANNODE_H\n\n#include \"leafnode.hpp\"\n\nnamespace CSMFilter\n{\n    cl"
  },
  {
    "path": "apps/opencs/model/filter/leafnode.cpp",
    "chars": 128,
    "preview": "#include \"leafnode.hpp\"\n\nstd::vector<int> CSMFilter::LeafNode::getReferencedColumns() const\n{\n    return std::vector<int"
  },
  {
    "path": "apps/opencs/model/filter/leafnode.hpp",
    "chars": 447,
    "preview": "#ifndef CSM_FILTER_LEAFNODE_H\n#define CSM_FILTER_LEAFNODE_H\n\n#include <memory>\n\n#include \"node.hpp\"\n\nnamespace CSMFilter"
  },
  {
    "path": "apps/opencs/model/filter/narynode.cpp",
    "chars": 1211,
    "preview": "#include \"narynode.hpp\"\n\n#include <sstream>\n\nCSMFilter::NAryNode::NAryNode (const std::vector<std::shared_ptr<Node> >& n"
  },
  {
    "path": "apps/opencs/model/filter/narynode.hpp",
    "chars": 983,
    "preview": "#ifndef CSM_FILTER_NARYNODE_H\n#define CSM_FILTER_NARYNODE_H\n\n#include <vector>\n#include <string>\n\n#include \"node.hpp\"\n\nn"
  },
  {
    "path": "apps/opencs/model/filter/node.cpp",
    "chars": 77,
    "preview": "#include \"node.hpp\"\n\nCSMFilter::Node::Node() {}\n\nCSMFilter::Node::~Node() {}\n"
  },
  {
    "path": "apps/opencs/model/filter/node.hpp",
    "chars": 1480,
    "preview": "#ifndef CSM_FILTER_NODE_H\n#define CSM_FILTER_NODE_H\n\n#include <string>\n#include <map>\n#include <memory>\n#include <vector"
  },
  {
    "path": "apps/opencs/model/filter/notnode.cpp",
    "chars": 289,
    "preview": "#include \"notnode.hpp\"\n\nCSMFilter::NotNode::NotNode (std::shared_ptr<Node> child) : UnaryNode (child, \"not\") {}\n\nbool CS"
  }
]

// ... and 2639 more files (download for full content)

About this extraction

This page contains the full source code of the TES3MP/openmw-tes3mp GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 2839 files (14.4 MB), approximately 3.9M tokens, and a symbol index with 13025 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!