1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-24 06:23:52 +00:00
Commit graph

345 commits

Author SHA1 Message Date
elsid
0c8db84962
Load cells in order from nearest to player to furthest 2018-10-13 22:16:26 +03:00
elsid
0c8a7295e6
Use only player's half extents 2018-10-13 22:16:25 +03:00
elsid
fafba8ea0c
Use recastnavigation to find path 2018-10-13 22:16:25 +03:00
elsid
e707202f88
Use local constant 2018-10-13 22:16:24 +03:00
elsid
ed89126828
Fix warning implicit conversion changes singedness 2018-10-13 22:16:24 +03:00
Andrei Kortunov
e06f0b797a Replace all NULLs to nullptr 2018-10-09 10:21:12 +04:00
Andrei Kortunov
70ed8fd1a9 Use constants instead of widely used magic numbers (task #4645) 2018-09-17 19:22:50 +04:00
Andrei Kortunov
5a4d0cec3a Use new logging system for game itself 2018-08-14 23:05:43 +04:00
tri4ng1e
d4d1703bcf
Some PVS-Studio and cppcheck fixes
cppcheck:
[apps/esmtool/record.cpp:697]: (performance) Prefer prefix ++/-- operators for non-primitive types.
[apps/esmtool/record.cpp:1126]: (performance) Prefer prefix ++/-- operators for non-primitive types.
[apps/esmtool/record.cpp:1138]: (performance) Prefer prefix ++/-- operators for non-primitive types.
[apps/niftest/niftest.cpp:36]: (performance) Function parameter 'filename' should be passed by reference.
[apps/niftest/niftest.cpp:41]: (performance) Function parameter 'filename' should be passed by reference.
[apps/opencs/model/prefs/boolsetting.cpp:25]: (warning) Possible leak in public function. The pointer 'mWidget' is not deallocated before it is allocated.
[apps/opencs/model/prefs/shortcuteventhandler.cpp:52]: (warning) Return value of std::remove() ignored. Elements remain in container.
[apps/openmw/mwstate/quicksavemanager.cpp:5]: (performance) Variable 'mSaveName' is assigned in constructor body. Consider performing initialization in initialization list.

PVS-Studio:
apps/opencs/model/filter/parser.cpp  582  warn  V560 A part of conditional expression is always true: allowPredefined.
apps/opencs/view/world/referencecreator.cpp  67  warn  V547 Expression '!errors.empty()' is always false.
apps/opencs/view/world/referencecreator.cpp  74  warn  V547 Expression '!errors.empty()' is always false.
apps/opencs/view/doc/loader.cpp  170  warn  V560 A part of conditional expression is always true: !completed.
apps/opencs/view/doc/loader.cpp  170  warn  V560 A part of conditional expression is always true: !error.empty().
apps/opencs/model/tools/pathgridcheck.cpp  32  err  V517 The use of 'if (A) {...} else if (A) {...}' pattern was detected. There is a probability of logical error presence. Check lines: 32, 34.
apps/opencs/model/world/refidadapterimp.cpp  1376  err  V547 Expression 'subColIndex < 3' is always true.

apps/openmw/mwgui/widgets.hpp  318  warn  V703 It is odd that the 'mEnableRepeat' field in derived class 'MWScrollBar' overwrites field in base class 'ScrollBar'. Check lines: widgets.hpp:318, MyGUI_ScrollBar.h:179.
apps/openmw/mwgui/widgets.hpp  319  warn  V703 It is odd that the 'mRepeatTriggerTime' field in derived class 'MWScrollBar' overwrites field in base class 'ScrollBar'. Check lines: widgets.hpp:319, MyGUI_ScrollBar.h:180.
apps/openmw/mwgui/widgets.hpp  320  warn  V703 It is odd that the 'mRepeatStepTime' field in derived class 'MWScrollBar' overwrites field in base class 'ScrollBar'. Check lines: widgets.hpp:320, MyGUI_ScrollBar.h:181
apps/openmw/mwmechanics/actors.cpp  1425  warn  V547 Expression '!detected' is always true.
apps/openmw/mwmechanics/character.cpp  2155  err  V547 Expression 'mode == 0' is always true.
apps/openmw/mwmechanics/character.cpp  1192  warn  V592 The expression was enclosed by parentheses twice: ((expression)). One pair of parentheses is unnecessary or misprint is present.
apps/openmw/mwmechanics/character.cpp  521  warn  V560 A part of conditional expression is always true: (idle == mIdleState).
apps/openmw/mwmechanics/pathfinding.cpp  317  err  V547 Expression 'mPath.size() >= 2' is always true.
apps/openmw/mwscript/interpretercontext.cpp  409  warn  V560 A part of conditional expression is always false: rank > 9.
apps/openmw/mwgui/windowbase.cpp  28  warn  V560 A part of conditional expression is always true: !visible.
apps/openmw/mwgui/journalwindow.cpp  561  warn  V547 Expression '!mAllQuests' is always false.
apps/openmw/mwgui/referenceinterface.cpp  18  warn  V571 Recurring check. The '!mPtr.isEmpty()' condition was already verified in line 16.
apps/openmw/mwworld/scene.cpp  463  warn  V547 Expression 'adjustPlayerPos' is always true.
apps/openmw/mwworld/worldimp.cpp  409  err  V766 An item with the same key '"sCompanionShare"' has already been added.
apps/openmw/mwworld/cellstore.cpp  691  warn  V519 The 'state.mWaterLevel' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 689, 691.
apps/openmw/mwworld/weather.cpp  1125  warn  V519 The 'mResult.mParticleEffect' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 1123, 1125.
apps/openmw/mwworld/weather.cpp  1137  warn  V519 The 'mResult.mParticleEffect' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 1135, 1137.

apps/wizard/unshield/unshieldworker.cpp  475  warn  V728 An excessive check can be simplified. The '(A && B) || (!A && !B)' expression is equivalent to the 'bool(A) == bool(B)' expression.
apps/wizard/installationpage.cpp  163  warn  V735 Possibly an incorrect HTML. The "</p" closing tag was encountered, while the "</span" tag was expected.

components/fontloader/fontloader.cpp  427  err  V547 Expression 'i == 1' is always true.
components/nifosg/nifloader.cpp  282  warn  V519 The 'created' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 278, 282.
components/esm/loadregn.cpp  119  err  V586 The 'clear' function is called twice for deallocation of the same resource. Check lines: 112, 119.
components/esm/cellref.cpp  178  warn  V581 The conditional expressions of the 'if' statements situated alongside each other are identical. Check lines: 175, 178.
components/esmterrain/storage.cpp  235  warn  V560 A part of conditional expression is always true: colStart == 0.
components/esmterrain/storage.cpp  237  warn  V560 A part of conditional expression is always true: rowStart == 0.
2018-04-18 12:36:10 +00:00
Andrei Kortunov
53ef345680 Update magic effect particles after building new animation (bug #2254) 2018-03-19 10:43:22 +04:00
scrawl
8c0790580a Add screen fading for exterior cell transitions 2017-10-05 18:41:02 +02:00
MiroslavR
d24286273b Prevent respawned references from being added to the scene twice in certain cases (Fixes #3864) 2017-08-01 00:11:14 +02:00
scrawl
20606a2aff Add 'prediction time' setting for cell/terrain pre-loading 2017-07-19 16:44:37 +02:00
scrawl
534c81976c Add missing cell update for physics system (Fixes #3917) 2017-06-25 12:47:57 +02:00
Allofich
f299f26720 Remove unused variable 2017-04-20 01:22:33 +09:00
scrawl
c22fde2bcd Preload terrain while reading savegame 2017-03-14 19:27:56 +01:00
scrawl
59bf100907 Fill exteriorPositions in preloadFastTravel 2017-03-14 19:27:56 +01:00
scrawl
03c07d3bd5 Remove old code 2017-03-14 19:27:56 +01:00
scrawl
86e75f0987 Preload terrain even when cell preloading is disabled 2017-03-14 19:27:56 +01:00
scrawl
4549196b31 Use the new way of terrain preloading in CellPreloader/Scene 2017-03-14 19:27:56 +01:00
scrawl
4dbd224249 Hide the terrain in non-exterior cells 2017-03-14 19:27:56 +01:00
scrawl
0fc465da59 Store the min/max height in LandData 2017-03-14 19:27:55 +01:00
scrawl
9a3a64f0c4 Add resource manager for ESM::Land to allow data to be unloaded when no longer required 2017-03-14 19:27:55 +01:00
scrawl
29556a1802 More consistent wording of errors/warnings
A Warning indicates a potential problem in the content file(s) that the user told OpenMW to load. E.g. this might cause an object to not display at all or as intended, however the rest of the game will run fine.

An Error, however, is more likely to be a bug with the engine itself - it means that basic assumptions have been violated and the engine might not run correctly anymore.

The above mostly applies to errors/warnings during game-play; startup issues are handled differently: when a file is completely invalid/corrupted to the point that the engine can not start, that might cause messages that are worded as Error due to the severity of the issue but are not necessarily the engine's fault.

Hopefully, being a little more consistent here will alleviate confusion among users as to when a log message should be reported and to whom.
2017-03-04 21:48:31 +01:00
scrawl
7e02bb7348 Preload summoned creature models before the spell is cast 2017-02-20 19:58:00 +01:00
scrawl
22482b7eec Don't use xmesh.nif over mesh.nif for classes that don't make use of the separated keyframes 2017-02-20 19:04:02 +01:00
scrawl
57b585570a Preload magic effect visuals of the player's selected weapon/spell 2017-02-15 21:01:25 +01:00
scrawl
325bf66653 Return const Land in ESMStore 2017-02-14 07:58:16 +01:00
scrawl
3f3d00ffc9 Add CellPreloader::clear to avoid potential dangling CellStore pointer and to more aggressively clear preload state from a previous game 2017-02-09 04:03:38 +01:00
scrawl
c68f662c9a Predict player movement when preloading cells to better handle moving at high speed 2017-02-09 01:34:42 +01:00
scrawl
1447bfa215 Improve scene loading performance by creating collision objects with the correct rotation right away instead of adjusting it later 2017-02-04 15:12:01 +01:00
scrawl
eaeba4138b Move the deletion of PreloadItem to the worker thread 2017-02-04 02:36:44 +01:00
scrawl
cf62d860b2 Fix the adjustPlayerPos parameter not being respected in all cases 2016-03-30 01:54:03 +02:00
scrawl
e1dda9675d Add "preload instances" setting, disabling this may help if you are low on memory. 2016-03-30 00:13:37 +02:00
scrawl
5cda89c15d Don't attempt to preload more exterior cells than the cache can hold (Bug #3273) 2016-03-29 00:50:30 +02:00
scrawl
4ac276b06c Update the resource cache every frame (Bug #3273)
Not much of a point in limiting this to cell loadings, since the update is done from a background thread and should be fairly cheap anyway if there's nothing to unload.
2016-03-29 00:50:13 +02:00
scrawl
5bd8ef247d Do not adjust the player position when loading a savegame (Fixes #2089) 2016-03-24 17:18:08 +01:00
scrawl
27577ce765 Add ESM::Land::DEFAULT_HEIGHT 2016-02-28 16:49:18 +01:00
scrawl
fc3de3302e Create a collision shape for the default terrain 2016-02-28 16:47:41 +01:00
scrawl
c3ef387208 Vanilla-compatible creature/NPC respawning (Fixes #2369, Fixes #2467) 2016-02-27 12:53:07 +01:00
scrawl
6fb0022b35 Update preloading settings
Disable 'preload fast travel' by default.

Add 'min cache size' and 'max cache size' settings.

Split the 'cache expiry delay' into 'preload cell expiry delay' and 'cache expiry delay'.
2016-02-18 17:47:10 +01:00
scrawl
9f729667fb Remove debug output 2016-02-09 21:16:11 +01:00
scrawl
0865cea211 Preload terrain 2016-02-09 21:16:11 +01:00
scrawl
1457a0de78 Use the UnrefQueue to delete BulletShapeInstances 2016-02-09 19:04:59 +01:00
scrawl
e28dc3e72f Preload instances in SceneManager 2016-02-09 18:35:26 +01:00
scrawl
f6f9eff9a6 Preload levelled creatures 2016-02-09 03:06:00 +01:00
scrawl
6806741d9b Add settings for disabling the individual preloading types 2016-02-09 01:58:33 +01:00
scrawl
10a3e270a3 Preload fast travel destinations 2016-02-09 01:52:02 +01:00
scrawl
f9082502f8 Move construction of WorkQueue to RenderingManager 2016-02-09 01:02:40 +01:00
scrawl
c8054424c9 Preload items equipped by NPCs 2016-02-07 22:37:52 +01:00
scrawl
a81b10b415 Make the cache expiryDelay configurable 2016-02-07 19:05:55 +01:00
scrawl
5efaa9817c Add preloading settings 2016-02-07 18:01:14 +01:00
scrawl
610257cd3a Preload the exterior cell grid 2016-02-07 07:37:56 -08:00
scrawl
8592166eeb Preload surrounding cells when preloading an exterior cell destination 2016-02-07 05:27:19 -08:00
scrawl
023c87b215 Preload cell when the player goes near a teleport door. It works! 2016-02-07 05:13:46 -08:00
scrawl
d855a13b44 Clear the resource cache from the worker thread 2016-02-07 00:36:31 +01:00
scrawl
6ef848b7c5 Remove TextureManager::getTexture2D
Instead use getImage and let the caller create the Texture. Sharing of textures is then handled in post by the SharedStateManager.

This is closer to what the OSG serializer does.

Streamlines the TextureManager and will make it easier to multithread.
2016-02-05 23:01:11 +01:00
scrawl
c9a67ab423 Do not add scripts from levelled creatures twice (Bug #2806)
Do not insert objects from within a CellStore visitor
2016-02-05 18:29:33 +01:00
scrawl
bd655c20fd Refactor local map updates
We don't need the delay any more because the rendering itself is part of the normal rendering traversal - so it's delayed anyway.

Don't request maps that we're not actually using (i.e. with cell grid sizes higher than the default 3, we were rendering more maps than the map window could show).
2016-02-05 01:19:45 +01:00
scrawl
04f7a8f8eb Remove redundant getId function 2015-12-18 16:58:38 +01:00
scrawl
5e99a3eda6 Rename CellStore Functor to Visitor 2015-12-06 18:13:04 +01:00
scrawl
3aa53f3cb4 Object cell movement tracker works. Savegame handling is still missing and some game functionality is still stubbed out. 2015-12-04 19:46:02 +01:00
scrawl
d0c6b407b4 Fix isUnderwater checks being off by one for exterior cells 2015-12-03 15:16:50 +01:00
scrawl
3d12b2ca9d Add NifFileManager to avoid duplicate parsing of the NIFFile in SceneManager and BulletShapeManager. 2015-12-02 14:59:32 +01:00
scrawl
27617468c8 Fix the collision shape not updating when scaling an object via script 2015-11-20 03:29:58 +01:00
scrawl
3647af8d73 Rotations: use different rotation order when object is rotated via script (Fixes #2062) 2015-11-12 01:44:00 +01:00
scrawl
b4ce73f179 Rotations: remove LocalRotation
This never existed in vanilla MW in the first place. The reason we got confused was because of a strange behaviour where the order of applying rotations changes as soon as a script touches the object's rotation.
2015-11-12 01:16:37 +01:00
scrawl
666fbba1e0 Rotations: World::rotateObject takes radians instead of degrees
Cuts down on the amount of redundant degree<->radians conversions in the codebase.
2015-11-12 01:09:39 +01:00
scrawl
bd9dc58560 Use the correct scale for actor swim height (Fixes #2833) 2015-11-01 21:45:58 +01:00
Marc Zinnschlag
69b9eadb52 refactored loading of land data 2015-08-31 16:13:26 +02:00
scrawl
7ba399fc92 Change a message to upper case spelling
More consistent with other loading messages
2015-07-28 03:21:44 +02:00
Marc Zinnschlag
bafa86d3e9 Merge remote-tracking branch 'scrawl/master' 2015-07-27 11:10:16 +02:00
scrawl
4f6e5345cc Include cleanup 2015-07-24 23:28:36 +02:00
Pawel Kubik
47922f6c35 Changed a settings variable responsible for number of loaded exterior cells. 2015-07-24 22:01:49 +02:00
Alexander "Ace" Olofsson
b3b55a5842 Explicitly instantiate MWWorld::Store 2015-07-09 19:22:04 +02:00
scrawl
3da8f6e62e Water ripples 2015-06-16 20:36:48 +02:00
scrawl
2476cd4f9a Error message fix 2015-06-14 16:12:18 +02:00
scrawl
4bb3cbf0fb Remove last remains of Ogre 2015-06-03 23:04:35 +02:00
scrawl
b70383d127 Remove last remains of Ogre math 2015-06-03 21:37:21 +02:00
scrawl
01944c33f5 Basic water rendering 2015-06-02 16:35:35 +02:00
scrawl
b2fe21dd3b Minor cleanup 2015-05-30 01:11:00 +02:00
scrawl
3dcb167066 Map rendering 2015-05-26 16:40:44 +02:00
scrawl
22f01b1232 Merge branch 'master' of https://github.com/OpenMW/openmw into osg
Conflicts:
	apps/launcher/graphicspage.cpp
	apps/opencs/editor.cpp
	apps/opencs/model/doc/document.cpp
	apps/opencs/view/render/cell.cpp
	apps/opencs/view/render/mousestate.cpp
	apps/opencs/view/render/textoverlay.cpp
	apps/opencs/view/render/worldspacewidget.cpp
	apps/openmw/mwclass/creature.cpp
	apps/openmw/mwclass/npc.cpp
	apps/openmw/mwgui/inventorywindow.cpp
	apps/openmw/mwgui/loadingscreen.cpp
	apps/openmw/mwgui/mapwindow.cpp
	apps/openmw/mwgui/pickpocketitemmodel.cpp
	apps/openmw/mwgui/waitdialog.cpp
	apps/openmw/mwmechanics/combat.cpp
	apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
	apps/openmw/mwrender/globalmap.cpp
	apps/openmw/mwworld/physicssystem.cpp
	apps/openmw/mwworld/refdata.cpp
	apps/openmw/mwworld/scene.cpp
	apps/openmw/mwworld/worldimp.cpp
	components/sdlutil/sdlinputwrapper.cpp
	extern/shiny/Main/Factory.cpp
	extern/shiny/Main/MaterialInstance.cpp
	extern/shiny/Main/Platform.cpp
	extern/shiny/Main/ShaderSet.cpp
2015-05-23 20:33:44 +02:00
scrawl
2235d2978b Restore animation text key handling 2015-05-22 04:36:33 +02:00
scrawl
9b8e2e9db3 Port MWRender::Camera 2015-05-22 00:29:27 +02:00
scrawl
56ff280230 Mention the RefId in "error during rendering: " errors 2015-05-12 16:50:43 +02:00
scrawl
19988d5e45 Remove RefData::getHandle 2015-05-12 04:04:54 +02:00
scrawl
47758c11cd Readded collision objects and movement physics 2015-05-12 03:02:15 +02:00
scrawl
97c35da441 Change exterior water level to z=-1 (Fixes #1405) 2015-05-11 16:38:16 +02:00
scrawl
54c1f19c18 Readded height fields 2015-05-10 02:08:25 +02:00
scrawl
c31b416ba1 Move physicssystem to a new mwphysics module 2015-05-10 01:09:00 +02:00
scrawl
1943110170 Add bullet debug drawer 2015-05-03 00:39:01 +02:00
scrawl
9cf9c2876e Pathgrid rendering 2015-05-02 22:45:39 +02:00
scrawl
0ff7b2ff11 MechanicsManager, frame update 2015-04-25 15:19:17 +02:00
scrawl
9f12e53956 Scale NPCs by their Weight property (Fixes #814) 2015-04-24 14:49:20 +02:00
scrawl
1c0e3a6488 rotateObject, scaleObject 2015-04-23 23:50:46 +02:00
scrawl
1a19cd3607 Some cleanup 2015-04-22 19:08:56 +02:00
scrawl
9e177df61b Add fog, view distance, and far plane culling 2015-04-21 23:36:36 +02:00
scrawl
edc5cad79e Port Animation::addEffect 2015-04-19 01:57:52 +02:00
scrawl
c92592493e OpenMW: create a window and render the starting cell(s) 2015-04-12 15:38:30 +02:00