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

551 commits

Author SHA1 Message Date
Andrei Kortunov
f5eacfcf63 Support for temporary stunted magicka effects 2019-02-23 09:17:06 +04:00
Andrei Kortunov
fcdb0c16bf Update jail state once instead of for every single hour 2019-02-23 09:17:06 +04:00
Bret Curtis
c815a2cb42
Merge pull request #2107 from Capostrophic/idledialogue
Move idle dialogue playback from AiWander (bug #4594)
2019-02-22 15:06:39 +01:00
Bret Curtis
4d09c8bb50
Merge pull request #2126 from Capostrophic/sneaking
Account for running/sneaking stances while in air (bug #4797)
2019-02-22 15:04:55 +01:00
Bret Curtis
55fc04e462
Merge pull request #2175 from Capostrophic/includes
Include cleanup
2019-02-22 14:56:20 +01:00
Andrei Kortunov
629a6be477 Handle initial actor's transparency (bug #4860) 2019-02-21 14:57:55 +04:00
Andrei Kortunov
097c649885 Use enumerable instead of magic number 2019-02-21 14:57:31 +04:00
Capostrophic
c03ed4cd50 Include cleanup 2019-02-19 18:40:33 +03:00
Bret Curtis
a573efd30a
Merge pull request #2112 from Capostrophic/collision
[0.45.0 regression] Don't re-enable collision body for dead actors
2019-02-05 15:36:06 +01:00
Andrei Kortunov
6eb77e215b Remove looping particles from dead actors 2019-02-05 11:02:25 +04:00
Capostrophic
a584aa25ab Don't re-enable collision object for dead actors 2019-02-04 22:13:30 +03:00
Andrei Kortunov
dc3a17f1f6 Update magic effects VFX immediately after effects update (bug #4828) 2019-01-29 22:52:40 +04:00
Capostrophic
cec55119ca Move idle dialogue playback from AiWander (bug #4594) 2019-01-26 16:36:48 +03:00
Capostrophic
05d5d7d57b Account for stances when the player is in air (bug #4797)
Make GetPCRunning and GetPCSneaking return 1 if the player is in air while the stance is toggled
Make sneaking skill usage possible if sneaking stance is toggled while in air
2019-01-15 00:25:26 +03:00
Capostrophic
8a266803eb Simplify some world loops 2018-12-30 15:36:42 +03:00
Capostrophic
4cb4f82431 Don't use bitwise AND 2018-11-07 19:44:17 +03:00
Capostrophic
39f8637e95 Simplify some actor loops and avoid some redundant calculations 2018-11-06 17:56:53 +03:00
Andrei Kortunov
829faf7b2c Improve toggleactorspaths console command 2018-11-03 10:42:14 +04:00
Andrei Kortunov
e7de6b974a Optimize actors processing
1. Do not update physics and animations for actors outside processing range (bug #4647)
2. Do not render such actors
3. Add transparency to actors near processing border, so they will not pop up suddenly
2018-10-25 22:52:59 +04:00
Andrei Kortunov
e06f0b797a Replace all NULLs to nullptr 2018-10-09 10:21:12 +04:00
Marc Zinnschlag
b410d87aae Merged pull request #1952 2018-10-03 13:19:28 +02:00
Andrei Kortunov
07ccc5abdb Remove non-looping effects after rest 2018-10-01 21:57:13 +04:00
Andrei Kortunov
8af021d729 Restore dynamic stats for actors in inactive cells (bug #1875) 2018-09-26 07:46:28 +04:00
Andrei Kortunov
cd60d4fdf0 Store character controller in the variable make code less bulk 2018-09-22 21:13:00 +04:00
Andrei Kortunov
2ac2d01432 Optimize drowning state update 2018-09-22 21:12:56 +04:00
Andrei Kortunov
1634284739 Cache player's position outside of loops 2018-09-21 22:39:47 +04:00
Andrei Kortunov
b9346798c6 Optimize combat music update 2018-09-21 22:34:18 +04:00
Andrei Kortunov
fb484c6fde Optimize AI loop a bit 2018-09-21 19:02:28 +04:00
Capostrophic
7ef6fa9f61 Remove deprecated GMST get* functions 2018-08-29 18:38:12 +03:00
Andrei Kortunov
60698e6f8a Optimize new magic effects update system 2018-08-26 21:02:14 +04:00
Capostrophic
910065f38f Make some more optimizations to actor processing loops 2018-08-21 17:02:56 +03:00
Capostrophic
b77d733c3e Fix freeze in getActorsSidingWith 2018-08-21 16:47:29 +03:00
Bret Curtis
3c827da702
Merge branch 'master' into combat_anims 2018-08-19 10:03:39 +02:00
Marc Zinnschlag
3489951410 Merged pull request #1866 2018-08-17 09:36:44 +02:00
Andrei Kortunov
16edac8c47 Fix incorrect 'preparing' word spelling 2018-08-16 17:47:06 +04:00
Bret Curtis
dcd381049c
Merge pull request #1872 from akortunov/extended_logging
Use new logging system
2018-08-16 11:38:29 +02:00
Andrei Kortunov
5a4d0cec3a Use new logging system for game itself 2018-08-14 23:05:43 +04:00
Capostrophic
22162dcbda
Replace std::find with std::set::find where applicable 2018-08-14 18:14:43 +03:00
Capostrophic
53599290c3 Make search for followers in getEnemiesNearby recursive 2018-08-14 16:14:48 +03:00
Capostrophic
7029ed0e8d Refactor follower and enemy actor processing
Make another exception for wander packages when finding allies (bug #4304)
2018-08-14 15:36:52 +03:00
Allofich
fd89fa415a Do modifiers for dynamic stats before attributes
(Fixes #4231)
2018-08-13 21:59:27 +09:00
Allofich
2cc1b52baf Drain and fortify fixes for dynamicStats
(Fixes #3049)
2018-08-13 21:59:26 +09:00
Andrei Kortunov
cde95979d0 Fix combat engagement for creatures 2018-08-10 09:29:01 +04:00
Andrei Kortunov
126b2fdd42 Use the isPlayer variable to do not check if the current actor is player every time 2018-08-09 11:16:19 +04:00
Andrei Kortunov
51af729305 Do not use headtracking in the 1st-person view (bug #4573) 2018-08-08 23:29:03 +04:00
Andrei Kortunov
6d5d0039ec Make sure we apply OT_Murder only once 2018-07-28 20:45:33 +04:00
Andrei Kortunov
3d1daaebab Rework manual spellcasting (e.g. via scripts) 2018-07-12 16:24:25 +04:00
Andrei Kortunov
ee45f54b53 Refactor AiTemporaryStorage usage 2018-06-27 12:48:34 +04:00
Marc Zinnschlag
2a52ade219 Merged pull request #1760 2018-06-19 11:26:41 +02:00
Andrei Kortunov
e08b0d3070 Ignore lights without CanCarry flags when NPC selects torch (bug #4457) 2018-06-16 17:34:49 +04:00
Andrei Kortunov
9c3da41130 Add murder bounty when a player follower commits murder (bug #2852) 2018-06-15 14:31:09 +04:00
Andrei Kortunov
61c968d550 Ignore broken items when search for replacement (bug #4453) 2018-06-13 18:39:02 +04:00
Andrei Kortunov
9c45cc7e48 Use player reference instead of pointer 2018-06-12 22:05:00 +04:00
Andrei Kortunov
9fd2d57b86 Move previous items to player 2018-06-10 16:21:19 +04:00
Andrei Kortunov
f977c6876f Bound items: store item ID instead of pointer 2018-06-10 16:21:19 +04:00
Andrei Kortunov
4de9d9fa77 Split adjustBoundItem() 2018-06-10 16:21:19 +04:00
Andrei Kortunov
d1b1cb748d Reequip previous item only if the expired bound item was equipped 2018-06-10 16:21:19 +04:00
Andrei Kortunov
9b72a6ac69 Use the MWWorld::Ptr() instead of string ID 2018-06-10 16:21:19 +04:00
Andrei Kortunov
0375bedab2 Equip previous item after a bound item expires (bug #2326) 2018-06-10 16:21:19 +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
scrawl
c6abec1e51
Merge pull request #1641 2018-04-02 17:53:30 +00:00
Capostrophic
42b7846f81 Replace a redundant playerAllies check with a boolean (Fixes #4229) 2018-03-23 18:45:39 +03:00
Nelsson Huotari
63e34a5575 Typofix: updateCrimePersuit -> ...Pursuit 2018-03-23 14:10:43 +02:00
Andrei Kortunov
a0a30cdbf5 AI: hide torches during bad weather (bug #4334) 2018-03-19 08:03:53 +04:00
Andrei Kortunov
bd6c7de579 Do not unequip two-handed weapon when equipping torch 2018-03-19 08:03:53 +04:00
scrawl
bba9a8dd91
Don't update off-screen animations
Make flying creatures animate in-place when out of processing range
2018-01-11 01:49:35 +00:00
Allofich
e0c54b3f39 Stop guards trying to arrest player when calm
(Fixes #3863)
2017-12-05 23:53:02 +09:00
Andrei Kortunov
b9d9660efd Update music state in the menu mode (bug #3664) 2017-11-28 20:49:48 +04:00
scrawl
5fe68ab062
Merge pull request #1419 2017-11-27 21:13:11 +00:00
Andrei Kortunov
8c0dcd8b2b Do not track a nearest actor during combat and pursue (bug #4179) 2017-11-11 19:46:59 +04:00
Andrei Kortunov
9943bd4d74 AiWander fast forwarding improvements (bug #3638) 2017-11-11 15:31:06 +04:00
Andrei Kortunov
e2afd3690c Remove item by id from InventoryStore 2017-10-06 10:54:25 +04:00
scrawl
b24fd77ea2 Merge pull request #1488 from akortunov/equipfix
AI: Autoequip armor when bound armor spell expires
2017-10-01 16:06:26 +00:00
Andrei Kortunov
21b6bd176f AI: Autoequip armor when bound armor spell expires 2017-10-01 17:11:30 +04:00
Andrei Kortunov
f26206b630 Make unconscious actors do not speak and do not track targets 2017-09-30 20:55:42 +04:00
scrawl
5ebb43a422 Merge pull request #1467 from akortunov/guifixes
Restack soulgems when use SoulTrap
2017-09-20 14:15:49 +00:00
Andrei Kortunov
9342a0254f Restack soulgems when use SoulTrap 2017-09-20 10:44:24 +04:00
scrawl
ed5b6320f3 Merge pull request #1463 from akortunov/getdetected
Allow to use GetDetected without a reference
2017-09-19 20:15:16 +00:00
Andrei Kortunov
65d8e2ff5d Allow to use GetDetected without a reference (bug #3110) 2017-09-18 21:46:57 +04:00
AnyOldName3
0be7e2a5a5 Fix really obvious flaw with ignored records not being skipped that I missed 2017-09-17 14:16:17 +01:00
AnyOldName3
5a5cb1a160 Check death counts are for valid actors before loading them 2017-09-17 14:09:29 +01:00
Chris Robinson
780e82480d Make the PlayMode and PlayType enums scoped
Also shorten them by putting them in the MWSound namespace
2017-09-15 02:36:59 -07:00
Andrei Kortunov
661232222f Allow guards to attack fighting creatures only in fAlarmRadius range 2017-09-10 15:26:48 +04:00
Andrei Kortunov
a5b01fefec Allow to interrupt an attack, if attack button is held 2017-09-01 14:28:21 +04:00
scrawl
dc53573de4 Merge pull request #1405 from akortunov/stancechangefixes
Do not allow player to change weapon/spell during attack or spellcast
2017-08-29 23:11:23 +00:00
Andrei Kortunov
fb45995a41 Do not allow player to change weapon/spell during attack or spellcasting (bug #2445) 2017-08-29 15:53:23 +04:00
scrawl
2611377081 Merge pull request #1350 from akortunov/deathanimationfix
Do not allow to loot fighting actors during death animation (bug #3528)
2017-08-18 22:04:12 +00:00
Andrei Kortunov
641a6cd842 Added a delay before summoned creature corpse despawning 2017-08-18 11:58:28 +04:00
Andrei Kortunov
bc7353f100 Check animation state for GetPCRunning and GetPCSneaking 2017-08-16 20:30:47 +04:00
scrawl
631d79f1c8 Merge pull request #1346 from akortunov/aibreathe
AiBreathe AI package (feature #1374)
2017-07-28 20:50:04 +00:00
Andrei Kortunov
920021c61b Update effects during rest (bug #3679) 2017-07-28 16:50:52 +04:00
Andrei Kortunov
548814bfbc Added AiBreathe package (feature #1374) 2017-07-25 10:58:04 +04:00
scrawl
1956602aa2 Merge pull request #1262 from Allofich/warnings
Fix more warnings
2017-04-21 14:34:36 +02:00
Allofich
ff3cb18d4f Fix shadowing warnings 2017-04-21 11:06:18 +09:00
Allofich
ff3e307059 Pass parameters by const reference 2017-04-20 23:47:03 +09:00
Allofich
2e5fd74db0 Fix invalid iterator warning 2017-04-20 19:30:35 +09:00
Andrei Kortunov
04eb4ea6b6 Check for disabled levitation (fixes #3766) 2017-04-19 18:38:25 +04:00
Andrei Kortunov
c3fd327bb2 Fixed drowning widget initialization 2017-04-19 08:48:16 +04:00
Allofich
470988f9ef Minor changes to getActorsSidingWith 2017-04-13 04:45:44 +09:00
Allofich
6272e1c674 Cache allies found while iterating engageCombat
(Fixes #3814)
2017-04-13 02:02:38 +09:00