1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-27 03:35:27 +00:00

140 Commits

Author SHA1 Message Date
Evil Eye
3c83117e99 Replace new with make_unique in openmw 2022-05-29 13:24:48 +02:00
ζeh Matt
23615e653a
Mark getActivePackage const 2022-03-28 16:17:42 +03:00
elsid
595c2e0a8e
Use unique_ptr to manage AiPackage lifetime 2022-02-23 00:39:30 +01:00
ζeh Matt
b997e28e57
Fix #6633: AiSequence packages being removed incorrectly 2022-02-19 14:56:51 +02:00
ζeh Matt
0ce29a6131
Simplify logic in AiSequence::execute 2022-02-16 20:21:10 +02:00
ζeh Matt
e60e0b55eb
Fix potential another crash 2022-02-16 18:19:55 +02:00
ζeh Matt
83be3826ff
Fix #6618: Crash due to iterator invalidation 2022-02-16 18:19:10 +02:00
Matt
367bdcf0cc #6091: Optimize isInCombat 2022-02-12 23:50:41 +00:00
Petr Mikheev
6c56436809 Control AI packages from Lua 2022-02-06 15:01:51 +01:00
elsid
45db56b382
Rework fixed string
* Avoid inheritance.
* Define equality operators out of the class definition.
* Replace toString with toStringView where it doesn't make sense to create a string.
2022-01-28 18:39:09 +01:00
Bret Curtis
d1fb854521 move most of the files from esm to esm3, keep common code in esm; this is make space for a future with esm4
esm typo

esm typo
2022-01-23 17:04:48 +01:00
Evil Eye
d6f06fbf9a Remove allies from combat when stopping combat 2021-11-25 22:00:52 +01:00
Evil Eye
231da19aa4 Load repeat flag and use reset argument 2021-11-20 11:02:58 +01:00
Evil Eye
29921bf9fa Don't stack cast packages 2021-08-07 10:06:56 +02:00
jvoisin
1cd15613a6 Remove some useless headers in apps/openmw/mwmechanics 2021-05-15 22:14:08 +02:00
Alexei Dobrohotov
f5af09aed9 Fix AI sequence looping code (bug #5706) 2020-12-22 05:56:59 +03:00
Andrei Kortunov
e6036e13b9 Use more C++11 loops in game mechanics code 2020-07-25 15:54:49 +04:00
elsid
82893c30f4
Store package type id as enum except ESM 2020-06-11 21:02:27 +02:00
elsid
5b34ef224b
Replace AiPackage virtual methods by options 2020-06-06 12:00:17 +02:00
elsid
b67e18329e
Store AI packages as unique_ptr 2020-06-01 17:07:08 +02:00
elsid
ce7c47ee12
Return cloned AiPackage as unique_ptr 2020-06-01 17:07:08 +02:00
elsid
a4fbcb8a10
Remember package iterator to erase it from list without find call 2020-05-17 22:37:44 +02:00
elsid
d48eead038
Check type id of current package
If package is changed the following usage of it is not consistent.
2020-05-17 22:34:15 +02:00
elsid
ca93f8ee39
Compare initialized iterator
Comparsion of untilialized iterator is UB. Initialize with packages end.
2020-05-17 21:42:38 +02:00
elsid
e3cce0949e
Replace condition that may lead to UB by assert
If mPackages is empty it means package is a pointer to a deleted object
at line . We can assume it couldn't happen because execute is always called
next for this object at line 289.
2020-05-17 21:42:38 +02:00
Andrei Kortunov
9f27a0d095 Keep an AiWanderStorage when cloning an actor (bug #5267) 2020-03-10 12:22:21 +04:00
capostrophic
fc0f813dcb Add and use 'always active' AI package flag
Update documentation
2020-01-10 12:07:57 +03:00
capostrophic
2d87d287ba Handle out-of-range actors' travel packages (#5212) 2020-01-09 14:17:54 +03:00
Andrei Kortunov
61ab7f3c1e Implement actors movement deceleration (feature #4544) 2019-10-31 14:41:12 +04: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
Andrei Kortunov
2cac8b59b1 Use square distance to target 2018-08-29 17:20:32 +04:00
Marc Zinnschlag
20c53594de Merged merge request !36 2018-08-18 12:06:35 +02:00
James Carty
513e99148e Fix function with no return value 2018-08-17 20:18:20 +01:00
James Carty
6889432030 Move code to seperate functions for reusability 2018-08-16 00:26:02 +01:00
Andrei Kortunov
5a4d0cec3a Use new logging system for game itself 2018-08-14 23:05:43 +04:00
Andrei Kortunov
3d1daaebab Rework manual spellcasting (e.g. via scripts) 2018-07-12 16:24:25 +04:00
Andrei Kortunov
ec73011617 Clean temporary storage if we assign new AI package (bug #4464) 2018-06-27 12:52:43 +04:00
Andrei Kortunov
ee45f54b53 Refactor AiTemporaryStorage usage 2018-06-27 12:48:34 +04:00
Andrei Kortunov
6ed2773299 Do not stack return packages 2018-06-08 21:53:47 +04:00
Andrei Kortunov
74a2cbe696 AI: return back after pursuit 2018-06-08 21:53:47 +04:00
Andrei Kortunov
3d0631cfcc Store last AI package in savegame 2018-06-08 21:53:47 +04:00
Andrei Kortunov
3a0ee78d2b AiTravel: store mHidden flag in savegame 2018-06-08 21:53:47 +04:00
Andrei Kortunov
18ff097e4a Add the parameter to AiSequence::stack() to control ability to cancel other AI packages 2018-06-08 21:53:47 +04:00
scrawl
fde6e29628 Merge pull request #1326 from akortunov/spellpriority
Combat AI improvements [feedback needed]
2017-07-31 17:51:51 +00:00
Andrei Kortunov
548814bfbc Added AiBreathe package (feature #1374) 2017-07-25 10:58:04 +04:00
Andrei Kortunov
1a8f2bfc11 Combat AI: select target by priority 2017-06-16 16:11:12 +04:00
Allofich
4f08084e79 Make stationary actors return to position on load
Also makes wandering actors resume their previous destination when an interrupting combat or pursuit ends.

(Fixes #3656)
2017-06-15 18:33:50 +09:00
Allofich
028762a7dc Make guards that are attacked try to arrest player
(Fixes #3706)
2017-06-15 01:47:10 +09:00
Ewan Higgs
38a2de3c51 convert std::autor_ptr to std::unique_ptr, originally by Ewan Higgs and updated by Bret Curtis 2017-06-09 16:49:25 +02:00