Evil Eye
262b29ed40
Use string_view in modifyBaseInventory
2022-08-23 16:59:03 +02:00
elsid
5dc612aa54
Replace ciCompareLen with ciStartsWith where possible
...
`ciCompareLen(a, b, b.size()) == 0` expression is an equivalent of checking for
equality of `a` prefix with size `b.size()` with `b`.
`ciCompareLen(a, b, a.size()) == 0` is also the same thing but `a` is a prefix
`b` should start with.
2022-08-22 09:32:22 +02:00
Alexei Kotov
d458894868
Make getWeaponDrawn return 1 only when the weapon is attached (bug #4816 )
2022-08-18 05:04:51 +03:00
Evil Eye
4ff12d8945
Make Class::getName return string_view
2022-08-16 21:15:03 +02:00
Evil Eye
4e9335f10a
Fix include
2022-08-13 11:15:12 +02:00
Evil Eye
2deec591cd
Use heterogenous maps for scripts
2022-08-12 20:56:50 +02:00
Evil Eye
51938f9ef7
Use string_view in Interpreter::Context
2022-08-12 19:42:35 +02:00
Evil Eye
4eb6c48285
Avoid copying in InputManager
2022-08-12 18:42:12 +02:00
Evil Eye
685906afdf
Make getScript return string_view
2022-08-11 22:51:55 +02:00
Evil Eye
de51525c76
Allow string_view lookups in MWWorld::Store and get some use out of that
2022-08-09 20:43:14 +02:00
elsid
f99ed6f1db
Split components/misc/stringops.hpp into multiple headers
...
Replace all ciEqual overloads with one having std::string_view as argument.
2022-08-03 22:06:24 +02:00
Alexei Kotov
435ddcfb6b
Snap down any actor teleported with Position/PositionCell (bug #6154 )
2022-07-29 18:51:49 +03:00
myrix
782cb7699d
use std::string, no unlocalized message, show soul gem id
2022-07-25 02:56:25 +03:00
myrix
3698d96b46
use ciCompareLen, move checks to Miscellaneous::use and ActionSoulgem
2022-07-25 01:47:10 +03:00
myrix
8817f802cb
message when using empty soul gems, using preferentially filled ones with equip command
2022-07-24 23:02:26 +03:00
Alexei Kotov
578b58ca14
Properly handle negative count RemoveItem (bug #6895 )
2022-07-24 20:15:44 +03:00
ζeh Matt
841fd9618f
Rename DrawState_ to DrawState and use enum class
2022-07-17 20:50:26 +03:00
elsid
49f8445f87
Move AiSetting out of MWMechanics::CreatureStats
...
To replace creaturestats.hpp include in mwworld/class.hpp with forward
declaration reducing total size of preprocessed code.
2022-07-16 16:43:33 +02:00
Evil Eye
ed921ad377
Fix modstat for negative numbers
2022-07-12 19:59:18 +02:00
psi29a
715b8497f9
Merge branch 'live_cell_ref' into 'master'
...
Use descriptive names for range elements
See merge request OpenMW/openmw!2092
2022-07-05 18:26:40 +00:00
elsid
bef15edf0b
Remove redundant ostream, istream, iostream and sstream includes
...
* Replace by std::to_string and operator+ where possible.
* Move the code requiring to include <sstream> from .hpp to .cpp files.
2022-07-05 01:41:28 +02:00
elsid
1b117af5e1
Use descriptive names for range elements
...
iter does not describe the nature of the object. Range-based for loop provides
elements of the iterator range, not iterators.
2022-07-04 21:03:45 +02:00
elsid
fdf6e58ea3
Split apps/openmw/mwmechanics/actorutil.hpp
2022-06-26 16:42:29 +02:00
ζeh Matt
38b6927b31
Fix missing includes
2022-06-07 02:08:50 +03:00
elsid
639bdd5801
Use free function instead of virtual MWBase::World::positionToIndex
...
The virtual function does the same thing.
* Change return type to osg::Vec2i to avoid dependency on ESM3.
* Rename to positionToCellIndex to make it clear what is the index.
2022-05-24 19:31:23 +02:00
Evil Eye
ac78b537d2
Address feedback
2022-05-22 09:29:03 +02:00
Evil Eye
266a0634eb
Add more includes
2022-05-21 12:41:56 +02:00
Evil Eye
e79f803402
Change includes
2022-05-21 10:48:32 +02:00
Evil Eye
c6ca0e78c9
Make getStringLiteral return a string_view
2022-05-21 01:21:55 +02:00
Evil Eye
bc5e43ab60
Fix copy paste error
2022-05-05 21:53:20 +02:00
Evil Eye
a64979e25d
Replace empty std::string assignments
2022-05-04 22:33:39 +02:00
psi29a
dccbd3e980
Merge branch 'try_and_hit_me' into 'master'
...
Bring HitAttemptOnMe in line with HitOnMe
See merge request OpenMW/openmw!1816
2022-04-30 18:26:30 +00:00
unknown
1bc24d5120
Bring HitAttemptOnMe in line with HitOnMe
2022-04-30 18:32:10 +02:00
Evil Eye
db19700599
Make stack manipulation unconditional
2022-04-30 16:45:45 +02:00
elsid
ec3674b40a
Use unique_ptr instead of shared_ptr
...
for MWWorld::Action, ProjectileManager and ESSImport::Converter.
shared_ptr has additional cost of reference counter and requires additional
allocation when constructed as shared_ptr<T>(new T).
2022-04-08 16:12:36 +02:00
elsid
a46714df67
Replace boost::variant by std::variant
2022-04-06 23:01:58 +02:00
Evil Eye
c1d700f770
Don't reset last hit object if the ID doesn't match
2022-03-28 11:40:46 +00:00
ζeh Matt
08fae7be6e
Pass the prng from world where appropriate
2022-03-21 17:49:42 +02:00
Evil Eye
054d8babc4
Add getRatio method
2022-02-10 22:10:46 +01:00
Evil Eye
6b203892fc
Fix mod not increasing fortified values
2022-02-10 20:46:20 +01:00
Evil Eye
4e52c96cf5
Make Set/Mod[DynamicStat] work with negative values as in vanilla
2022-02-10 20:31:27 +01:00
Petr Mikheev
47c37e5849
Lua command object:activateBy(actor)
and handler onActivate
2022-02-01 23:42:56 +00:00
psi29a
84e209308d
Merge branch 'refactor/interpreter' into 'master'
...
Cleanup interpreter code a bit
Closes #6553
See merge request OpenMW/openmw!1556
2022-01-27 19:18:57 +00:00
Matt
34723c8ea8
Cleanup interpreter code a bit
2022-01-27 19:18:57 +00:00
Bret Curtis
74e7cfc023
remove unused includes: part1
...
remove unused imports: part2
revert one tidy we will keep for c++20
2022-01-23 17:30:25 +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
psi29a
01ac96e900
Merge branch 'stats_gave_me_a_headache' into 'master'
...
Make Set- and ModStat behave as they should
Closes #2036
See merge request OpenMW/openmw!1410
2021-12-26 19:47:09 +00:00
Evil Eye
ac747f02f3
Don't teleport NPCs to unknown cells
2021-12-26 15:27:25 +00:00
psi29a
694f697f61
Merge branch 'it_isnt_theft_if_they_were_dead_when_you_started' into 'master'
...
Force the loot UI open if it was open while resurrecting the lootee
Closes #6453
See merge request OpenMW/openmw!1452
2021-12-06 14:49:01 +00:00
Kindi
47ff6a87a3
Raise a warning when entering non-existent region
2021-12-03 16:05:18 +00:00
Evil Eye
58b888a38e
Preserve inventories when resurrecting actors while looting them
2021-12-02 20:36:42 +01:00
Evil Eye
893d569529
Force the loot UI open if it was open while resurrecting the lootee
2021-12-01 18:21:21 +01:00
Evil Eye
f1ec8db393
Make Set- and ModStat behave as they should
2021-11-30 19:39:15 +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
c5de69f9c6
Merge branch 'faceyourfears' into 'master'
...
Make AiExtensions less toxic (bug #6429 )
Closes #6429
See merge request OpenMW/openmw!1411
2021-11-20 09:59:49 +00:00
Alexei Dobrohotov
fcef92e3ea
Make AiExtensions less toxic (bug #6429 )
2021-11-20 03:15:15 +03:00
Evil Eye
42020bc2c3
Ignore the axis argument when rotating the player
2021-11-20 00:02:48 +00:00
Alexei Dobrohotov
7a0c13fcf8
Make better use of std::clamp
2021-11-06 08:47:32 +03:00
fredzio
68f4c336ce
Rework again SetPos command to make more mods work.
...
Previous version skipped collision the frame immediately after a call to SetPos. It worked for one-off calls (teleports for instance) and continuous call along a pre-defined path (scenic travel). However, in the case of mod which uses SetPos to simulate a player-controlled movement, it is equivalent to using tcl.
Solution:
1/ skip update of mPosition and mPreviousPosition to avoid janky interpolation
2/ use back plain moveObject() instead of moveObjectBy() since we don't want physics simulation
3/ rework a little bit waterwalking influence on coordinate because of 1/
2021-10-29 23:20:17 +02:00
Evil Eye
9b565c4cf9
Remove dead code
2021-10-28 22:16:43 +02:00
Bo Svensson
ef906cbfa8
improves MWClass mapping ( #3166 )
...
Currently, we use a peculiar mapping of ESM classes by their std::type_info::name. This mapping is an undefined behaviour because std::type_info::name is strictly implementation defined. It could return a non-unique value on some platforms. With this PR we use the unsigned int sRecordId of the ESM class as a more efficient lookup type that does not build on undefined behaviour. We can expect marginally faster save-game loading with these changes as well.
2021-10-11 13:46:21 +02:00
Evil Eye
dc1fe62dde
Overhaul magic effects to work with onApply and onEnd events
2021-09-29 19:25:10 +02:00
Evil Eye
34cf66139a
Make GetCurrentAIPackage return -1 for non-actors and dead actors
2021-09-26 22:15:43 +02:00
Evil Eye
6d7cb38834
Remove duplicate GetSquareRoot implementation
2021-09-19 19:53:38 +02:00
elsid
e84a177a91
Always print object refnum
...
Also print content file index even when it's negative. To be able to identify
the object unambiguously.
2021-08-12 02:02:25 +02:00
Evil Eye
29921bf9fa
Don't stack cast packages
2021-08-07 10:06:56 +02:00
fredzio
a7b190ad29
Change rotateObject() to take a osg::Vec3f argument instead of 3 floats
...
for readability.
2021-07-30 23:24:53 +02:00
fredzio
88a5ca440b
Change moveObject() to take a osg::Vec3f argument instead of 3 floats
...
for readability.
2021-07-30 23:24:49 +02:00
Evil Eye
087e933326
Close windows using Ptrs that are about to be deleted
2021-07-15 22:31:26 +02:00
Petr Mikheev
d5cda61855
Console command "reload lua"
2021-07-09 20:24:56 +02:00
psi29a
d8bed73ada
Merge branch 'local_crache' into 'master'
...
Cache failed compilation when getting locals
Closes #6123
See merge request OpenMW/openmw!988
2021-07-08 22:16:15 +00:00
Evil Eye
eced6f2126
Implement the help command
2021-07-07 18:48:25 +02:00
Evil Eye
18f297a4e0
Allow a missing implicit argument for GetDistance
2021-07-05 18:34:09 +02:00
Evil Eye
0a15d7740a
Delay physics for objects created by scripts
2021-07-05 18:34:06 +02:00
Evil Eye
9a7c07173d
Cache failed compilation when getting locals
2021-07-04 10:58:12 +02:00
Dobrohotov Alexei
3cab69c389
Fix ShowMap partial match filtering (bug #6115 )
2021-07-03 01:04:22 +03:00
Evil Eye
2be27da791
Merge branch 'const_refs' into 'master'
...
Add a ton of const refs
See merge request OpenMW/openmw!954
2021-06-24 18:57:41 +00:00
jvoisin
b2c170efa0
Use initialization lists where possible
2021-06-23 23:36:43 +02:00
jvoisin
1123dc46ee
Add a ton of const refs
2021-06-23 23:13:59 +02:00
Evil Eye
690e5ef757
Don't resolve a script's target just to get the ID
2021-06-19 19:26:57 +02:00
Evil Eye
67c8d73fe0
Allow scripts to fail per target
2021-06-19 19:26:55 +02:00
Evil Eye
879e66a043
Don't autoequip items when implicitely adding an item using equip
2021-06-19 19:26:53 +02:00
Evil Eye
382d458f9c
Ignore wrong reference class for SetHello
2021-06-19 19:26:53 +02:00
psi29a
9b017ef04d
Merge branch 'internal_includes_openmw' into 'master'
...
Clean up some internal includes of the openmw component
See merge request OpenMW/openmw!796
2021-05-07 10:53:25 +00:00
psi29a
9eb876cc17
Merge branch 'read_me' into 'master'
...
Allow activation of inventory items
Closes #5991
See merge request OpenMW/openmw!788
2021-05-04 22:53:45 +00:00
fredzio
4fa0972b2d
Tone down actor's skip simulation flag to an optional skip collision
...
detection flag.
2021-05-01 14:22:30 +02:00
Evil Eye
bd45449f9d
Allow activation of inventory items
2021-05-01 14:07:29 +02:00
jvoisin
998cc97a4f
And done!
2021-04-30 20:49:22 +02:00
fredzio
fda639eb57
Remove unused forward declarations
2021-04-11 14:46:51 +02:00
fredzio
8874a5be22
Change (again) the way SetPos behave.
...
Instead of registering the desired change of position and rely on
physics simulation to apply it to the world, immediately change the
position in the world without reset the simulation.
2021-04-09 23:34:03 +02:00
Evil Eye
44f2cb0923
Fix targeted scripts losing their targets when rearranging your load order
2021-04-07 17:30:21 +02:00
Evil Eye
ecde3932e2
Make AddItem's quantity overflow on negative numbers
2021-04-05 09:43:37 +02:00
fredzio
9cae7882dd
Fix a bug that was triggered with multi mark mod.
...
When a script calls SetPos for x,y,z in sequence on an actor, we need to make sure
that the actor will not spawn under ground at x,y coordinates.
Now that change of coordinates are cumulated and applied all at once, we
need to account for the whole offset.
To this end move the terrain height check inside of Actor class.
2021-03-31 19:34:06 +02:00
Petr Mikheev
7bbbe40abe
"static const" -> "static constexpr" in headers
2021-03-21 13:57:54 +01:00
fredzio
cb39f8fb01
Use moveObjectBy in SetPos
2021-03-13 09:53:21 +01:00
Evil Eye
f1caeea444
Don't return negative values from GetMagicka
2021-02-07 11:58:23 +01:00
Evil Eye
61e014a765
Allow negative values for ai stats
2021-02-04 21:25:38 +01:00
unknown
3bf641d3ce
Show mesh origin
2020-12-29 21:45:59 +01:00
fredzio
7bae6691b6
Introduce World::moveObjectBy() function to translate an object relatively to
...
its current position.
Use it in relevant MWScripts opcode (move and moveworld).
Remove the fragile detection of scripted translation from PhysicsTaskScheduler.
No user visible change, just a more robust mechanism.
2020-12-18 08:40:38 +01:00