1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-02-06 03:15:33 +00:00
Commit graph

390 commits

Author SHA1 Message Date
Bret Curtis
14c93b3df0 Revert "Merge pull request #2204 from elsid/fix_navigator_update"
This reverts commit 26fb0e7a0f, reversing
changes made to 42b2391303.
2019-03-04 11:06:15 +01:00
elsid
a4f300f810
Use player half extents only to find path in exterior cells 2019-03-03 16:21:09 +03:00
Grigory Latyshev
3872d7476b Move makeOsgVec3f() to settingsutils.hpp
Remove all other makeOsgVec3f() implementations
2019-02-28 20:03:42 +00:00
Andrei Kortunov
3032b177a1 Remove redundant includes 2019-02-23 08:02:12 +04:00
elsid
49d81241db Merge branch 'master' into pathfinder_detour 2018-10-28 17:08:09 +03:00
Andrei Kortunov
6e05853478 Center progress bar when there are active messageboxes (bug #4691) 2018-10-28 14:40:48 +04:00
elsid
1a27489904
Add special type for object id 2018-10-13 22:16:35 +03:00
elsid
ff478aba6d
Use actor half extent for interior cells 2018-10-13 22:16:33 +03:00
elsid
346e9e3141
Add off mesh connections for doors without teleport 2018-10-13 22:16:33 +03:00
elsid
dc09674362
Add command and settings option to enable actors paths render 2018-10-13 22:16:32 +03:00
elsid
c95cea414c
Support water for NavMesh 2018-10-13 22:16:32 +03:00
elsid
fa23b590a4
Add unwalkable areas to NavMesh 2018-10-13 22:16:32 +03:00
elsid
4aba0fa85f
Limit number of NavMesh tiles to add by distance from player tile 2018-10-13 22:16:30 +03:00
elsid
6f3028b8f9
Update navigator when unload cell or add/remove object to scene 2018-10-13 22:16:29 +03:00
elsid
02ce4a7e50
Log to detournavigator log cell load and unload 2018-10-13 22:16:28 +03:00
elsid
dd5e6a61a3
Support btCompoundShape for RecastMesh 2018-10-13 22:16:27 +03:00
elsid
d1d034a1ec
Update NavMesh one by one tile in order from nearest to player 2018-10-13 22:16:26 +03:00
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
David Cernat
d9dd7073cf [General] Send certain packets only when logged in
Previously, client mods adding packet-sending scripts to the spawn area made clients send the associated packets as soon as they inputted their character name when joining a server using those mods. This made the clients either get disconnected for not replying to a handshake first, or it made them get kicked for sending object packets that are disallowed for players who are not logged in.

To fix this, LocalPlayer's hasFinishedCharGen() has been replaced with isLoggedIn(), because the former was already returning true when players inputted their names.
2018-10-13 15:36:13 +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
David Cernat
9e5ddeac50
Merge pull request #408 from OpenMW/master
Add OpenMW commits up to 18 Apr 2018
2018-04-18 18:05:09 +03: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
David Cernat
ac82124a5d Merge pull request #395 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/mwmechanics/actors.cpp
2018-03-29 07:28:30 +03:00
Andrei Kortunov
53ef345680 Update magic effect particles after building new animation (bug #2254) 2018-03-19 10:43:22 +04:00
David Cernat
ce11a1dfa9 [Client] Fix potential invalid pointer when storing cell unloads
Notably, builds of the client done with Clang were crashing on startup before this.
2018-01-29 00:14:26 +02:00
David Cernat
8316ec0fa7 [Client] Update tes3mp change comment for object rescaling 2018-01-08 02:19:05 +02:00
David Cernat
38247ff086 Merge pull request #303 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/mwbase/dialoguemanager.hpp
#	apps/openmw/mwdialogue/dialoguemanagerimp.hpp
#	apps/openmw/mwgui/container.cpp
#	apps/openmw/mwgui/windowmanagerimp.cpp
#	apps/openmw/mwscript/dialogueextensions.cpp
2017-10-06 04:10:04 +03:00
scrawl
8c0790580a Add screen fading for exterior cell transitions 2017-10-05 18:41:02 +02:00
David Cernat
721b218cc2 Merge pull request #258 from OpenMW/master while resolving conflicts
# Conflicts:
#	.travis.yml
#	README.md
2017-08-05 00:09:34 +03: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
David Cernat
b8b3856c73 Merge pull request #244 from OpenMW/master
Add OpenMW commits up to 19 Jul 2017
2017-07-19 20:49:56 +03:00
scrawl
20606a2aff Add 'prediction time' setting for cell/terrain pre-loading 2017-07-19 16:44:37 +02:00
David Cernat
77758596a1 Merge pull request #230 from OpenMW/master
Add OpenMW commits up to 25 Jun 2017
2017-06-26 03:13:00 +03:00
scrawl
534c81976c Add missing cell update for physics system (Fixes #3917) 2017-06-25 12:47:57 +02:00
David Cernat
34f0a5e076 [Client] Disable leveled creatures from their class instead of scene.cpp 2017-05-07 03:18:15 +03:00
David Cernat
9eef867928 [Client] Disable regular spawning of leveled creatures 2017-05-06 08:37:51 +03:00
David Cernat
a82646a130 [Client] Delineate tes3mp-only code more clearly, part 2 2017-04-24 19:46:12 +03:00
David Cernat
edb155869b Merge pull request #201 from OpenMW/master
Add OpenMW commits up to 19 Apr 2017
2017-04-19 22:12:33 +03:00
Allofich
f299f26720 Remove unused variable 2017-04-20 01:22:33 +09:00
David Cernat
60037e4081 Merge pull request #185 from OpenMW/master
Add OpenMW commits up to 14 Mar 2017
2017-03-15 11:20:06 +02: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
David Cernat
df051a777a Merge pull request #181 from OpenMW/master
Add OpenMW commits up to 4 Mar 2017
2017-03-04 22:56:16 +02: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
David Cernat
a58601fb2b [Client] Delineate tes3mp-only code more clearly, part 1 2017-02-26 16:59:53 +02:00
David Cernat
67b67ce1c4 [Client] Don't automatically rescale objects on cell change 2017-02-22 04:21:25 +02:00
David Cernat
a1988ac6ef Merge pull request #161 from OpenMW/master
Add OpenMW commits up to 21 Feb 2017
2017-02-21 07:02:59 +02: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
Koncord
74cfc4a821 [Client] Use enum instead magic values 2017-02-18 15:26:11 +08:00
David Cernat
c32c004516 Merge pull request #151 from OpenMW/master
Add OpenMW commits up to 16 Feb 2017
2017-02-16 11:53:02 +02:00
scrawl
57b585570a Preload magic effect visuals of the player's selected weapon/spell 2017-02-15 21:01:25 +01:00
David Cernat
2ed9ae5739 Merge pull request #149 from OpenMW/master
Add OpenMW commits up to 14 Feb 2017
2017-02-14 10:27:53 +02:00
scrawl
325bf66653 Return const Land in ESMStore 2017-02-14 07:58:16 +01:00
David Cernat
ae23c6d6a5 Merge pull request #145 from OpenMW/master while resolving conflicts
# Conflicts:
#	CMakeLists.txt
2017-02-09 12:17:27 +02: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
David Cernat
3a29b2d41d Merge pull request #141 from OpenMW/master
Add OpenMW commits up to 5 Feb 2017
2017-02-05 07:11:45 +02: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
David Cernat
a2e3fe18fe [Client] Send ID_PLAYER_CELL_STATE to server at end of CharGen
Also, allow requests for ID_PLAYER_CELL_STATE from the server.
2017-02-04 09:13:15 +02:00
David Cernat
44e27148d5 Merge pull request #140 from OpenMW/master
Add OpenMW commits up to 4 Feb 2017
2017-02-04 07:37:17 +02:00
scrawl
eaeba4138b Move the deletion of PreloadItem to the worker thread 2017-02-04 02:36:44 +01:00
David Cernat
c1427b2558 [General] Simultaneously send loads & unloads in ID_PLAYER_CELL_STATE 2017-02-03 20:27:40 +02:00
David Cernat
055376c8ee [Client] Only send ID_PLAYER_CELL_LOAD when CharGen is over 2017-01-26 13:14:22 +02:00
David Cernat
97aabf4a7d [General] Sketch out sending of cell loading/unloading info in packets 2017-01-26 09:02:01 +02: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