Commit Graph

529 Commits (6cb5ac6e63fb9bf6b27e827a227161f6dbc82f0a)

Author SHA1 Message Date
David Cernat 6cb5ac6e63 Merge pull request #457 from OpenMW/master while resolving conflicts
Conflicts:
	CMakeLists.txt
	apps/openmw/engine.cpp
	apps/openmw/main.cpp
	apps/openmw/mwgui/windowmanagerimp.cpp
	apps/openmw/mwmechanics/character.cpp
	components/CMakeLists.txt
6 years ago
Andrei Kortunov 3d1daaebab Rework manual spellcasting (e.g. via scripts) 6 years ago
David Cernat e3e1cfc549 [Client] Add forgotten comparison in crimeTime and deathTime check 6 years ago
David Cernat 4b30a44816 [Client] Compare crimeTime and deathTime when NPCs forgive player crimes
Previously, all crime witnesses stopped being hostile to a respawning player for as long as the player's diedSinceArrestAttempt was true. That meant that, in an area with no guards to arrest the player, crime witnesses did not enage in combat with the player at all ever again until diedSinceArrestAttempt became false.

This commit makes it so the time of the last crime is recorded for each witness, and that is then compared with the time of the LocalPlayer's last death for a one-time crime forgiveness during that player's current life.

This is essentially a gameplay adjustment for "singleplayer with respawns," and will have to be reworked to make sense for every player in multiplayer, though that requires reworking the crime system as a whole and is thus on hold.
6 years ago
David Cernat a236ffc4be Merge pull request #456 from OpenMW/master while resolving conflicts
# Conflicts:
#	.travis.yml
#	README.md
#	apps/openmw/mwgui/quickkeysmenu.cpp
#	apps/openmw/mwmechanics/actors.cpp
#	apps/openmw/mwmechanics/combat.cpp
6 years ago
Andrei Kortunov ee45f54b53 Refactor AiTemporaryStorage usage 6 years ago
Marc Zinnschlag 2a52ade219 Merged pull request #1760 6 years ago
Andrei Kortunov e08b0d3070 Ignore lights without CanCarry flags when NPC selects torch (bug #4457) 6 years ago
Andrei Kortunov 9c3da41130 Add murder bounty when a player follower commits murder (bug #2852) 6 years ago
Andrei Kortunov 61c968d550 Ignore broken items when search for replacement (bug #4453) 6 years ago
Andrei Kortunov 9c45cc7e48 Use player reference instead of pointer 6 years ago
Andrei Kortunov 9fd2d57b86 Move previous items to player 6 years ago
Andrei Kortunov f977c6876f Bound items: store item ID instead of pointer 6 years ago
Andrei Kortunov 4de9d9fa77 Split adjustBoundItem() 6 years ago
Andrei Kortunov d1b1cb748d Reequip previous item only if the expired bound item was equipped 6 years ago
Andrei Kortunov 9b72a6ac69 Use the MWWorld::Ptr() instead of string ID 6 years ago
Andrei Kortunov 0375bedab2 Equip previous item after a bound item expires (bug #2326) 6 years ago
David Cernat 78234f9071 [General] Rename Event into ObjectList & WorldObject into BaseObject 6 years ago
David Cernat 9e5ddeac50
Merge pull request #408 from OpenMW/master
Add OpenMW commits up to 18 Apr 2018
6 years ago
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.
6 years ago
David Cernat e3c43c6af7 Merge pull request #400 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/mwmechanics/spellcasting.cpp
6 years ago
scrawl c6abec1e51
Merge pull request #1641 6 years ago
David Cernat ac82124a5d Merge pull request #395 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/mwmechanics/actors.cpp
6 years ago
Capostrophic 42b7846f81 Replace a redundant playerAllies check with a boolean (Fixes #4229) 6 years ago
Nelsson Huotari 63e34a5575 Typofix: updateCrimePersuit -> ...Pursuit 6 years ago
Andrei Kortunov a0a30cdbf5 AI: hide torches during bad weather (bug #4334) 6 years ago
Andrei Kortunov bd6c7de579 Do not unequip two-handed weapon when equipping torch 6 years ago
David Cernat 20caea083a [Client] Use correct count for items in equipment packets
Previously, throwing weapon sync was completely broken for players, as the count for their equipped throwing weapons was never set and – as a result – defaulted to a count of 1 on other clients. As a result, any time a player threw a dart, they would then appear as having switched to hand-to-hand for other players.

Moreover, the count of equipped items was mistakenly based on the total count of items with that refId in the inventory. As a result, if – for example – I equipped 1 Daedric Longsword and had 4 others in my inventory, my DedicatedPlayer on other clients would equip a Daedric Longsword with a count of 5. If I was overencumbered by having that many Daedric Longswords on me and then dropped 4 of them, allowing myself to move again, my DedicatedPlayer would still walk around with 5 Daedric Longswords and lack animations due to still being overencumbered on the other clients.

These problems were less prevalent for actors, but their equipment updating code has also been changed to match that of players.
6 years ago
David Cernat 5d4b97645d Merge pull request #374 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/CMakeLists.txt
6 years ago
scrawl bba9a8dd91
Don't update off-screen animations
Make flying creatures animate in-place when out of processing range
6 years ago
David Cernat ecb0ad0d77 Merge pull request #359 from OpenMW/master while resolving conflicts
# Conflicts:
#	.travis.yml
6 years ago
Allofich e0c54b3f39 Stop guards trying to arrest player when calm
(Fixes #3863)
7 years ago
David Cernat e7f20e7daf Merge pull request #351 from OpenMW/master while resolving conflicts
# Conflicts:
#	CMakeLists.txt
#	README.md
7 years ago
David Cernat 22521578eb
Merge pull request #349 from OpenMW/master
Add OpenMW commits up to 28 Nov 2017
7 years ago
Andrei Kortunov b9d9660efd Update music state in the menu mode (bug #3664) 7 years ago
scrawl 5fe68ab062
Merge pull request #1419 7 years ago
David Cernat 2ba1c84cf7 Merge pull request #335 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/mwgui/container.cpp
7 years ago
Andrei Kortunov 8c0dcd8b2b Do not track a nearest actor during combat and pursue (bug #4179) 7 years ago
Andrei Kortunov 9943bd4d74 AiWander fast forwarding improvements (bug #3638) 7 years ago
David Cernat 3e8d7c8416 Merge pull request #306 from OpenMW/master
Add OpenMW commits up to 7 Oct 2017
7 years ago
Andrei Kortunov e2afd3690c Remove item by id from InventoryStore 7 years ago
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
7 years ago
scrawl b24fd77ea2 Merge pull request #1488 from akortunov/equipfix
AI: Autoequip armor when bound armor spell expires
7 years ago
Andrei Kortunov 21b6bd176f AI: Autoequip armor when bound armor spell expires 7 years ago
Andrei Kortunov f26206b630 Make unconscious actors do not speak and do not track targets 7 years ago
David Cernat 73e7aa838d Merge pull request #296 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/mwgui/container.cpp
7 years ago
scrawl 5ebb43a422 Merge pull request #1467 from akortunov/guifixes
Restack soulgems when use SoulTrap
7 years ago
David Cernat 7f0ea7d01f Merge pull request #294 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/mwmechanics/character.cpp
7 years ago
Andrei Kortunov 9342a0254f Restack soulgems when use SoulTrap 7 years ago
scrawl ed5b6320f3 Merge pull request #1463 from akortunov/getdetected
Allow to use GetDetected without a reference
7 years ago