1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-28 14:53:58 +00:00

205 Commits

Author SHA1 Message Date
Petr Mikheev
5983f22290 Remember actor in the actor's InventoryStore instead passing the actor in every call 2023-01-21 23:43:00 +01:00
fteppe
125b21de20 Initial commit: In ESM structures, replace the string members that are RefIds to other records, to a new strong type
The strong type is actually just a string underneath, but this will help in the future to have a distinction so it's easier to search and replace when we use an integer ID

Slowly going through all the changes to make, still hundreds of errors

a lot of functions/structures use std::string or stringview to designate an ID. So it takes time

Continues slowly replacing ids. There are technically more and more compilation errors

I have good hope that there is a point where the amount of errors will dramatically go down as all the main functions use the ESM::RefId type

Continue moving forward, changes to the stores

slowly moving along

Starting to see the fruit of those changes.

still many many error, but more and more Irun into a situation where a function is sandwiched between two functions that use the RefId type.

More replacements. Things are starting to get easier

I can see more and more often the issue is that the function is awaiting a RefId, but is given a string
there is less need to go down functions and to fix a long list of them.

Still moving forward, and for the first time error count is going down!

Good pace, not sure about topics though, mId and mName are actually the same thing and are used interchangeably

Cells are back to using string for the name, haven't fixed everything yet. Many other changes

Under the bar of 400 compilation errors.

more good progress <100 compile errors!

More progress

Game settings store can use string for find, it was a bit absurd how every use of it required to create refId from string

some more progress on other fronts

Mostly game settings clean

one error opened a lot of other errors. Down to 18, but more will prbably appear

only link errors left??

Fixed link errors

OpenMW compiles, and launches, with some issues, but still!
2022-12-27 19:15:54 +01:00
elsid
843753da14
Remove unused includes 2022-10-09 16:44:18 +02:00
clang-format-bot
ddb0522bbf
Apply clang-format to code base 2022-09-22 21:35:26 +03:00
elsid
410a2881fe
Add comma to the last array element to prevent putting multiple elements on a single line 2022-09-14 00:36:02 +02:00
Evil Eye
685906afdf Make getScript return string_view 2022-08-11 22:51:55 +02: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
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
jvoisin
deb2af6acc Dont copy-construct from a const-ref when used only as a const-ref
This also makes clang-tiny a bit happier
2021-08-29 20:22:34 +02:00
Bret Curtis
a735bbe9a5
Merge pull request #3040 from akortunov/pvs
Fix some issues, found by PVS Studio
2021-01-10 12:58:17 +01:00
Evil Eye
a257567b80 Don't update magic effects when unequipping items to equip something else 2021-01-10 08:04:06 +00:00
Andrei Kortunov
80ee1b55ea Protect assignment operator from this == &src case 2021-01-09 18:28:26 +04:00
Evil Eye
e46472442a Switch torches to shields for hostile NPCs 2020-12-29 01:40:30 +00:00
Alexei Dobrohotov
53f91a3aa5
Merge pull request #3018 from akortunov/emplace
Use emplace_back instead of push_back
2020-11-01 01:58:56 +03:00
Evil Eye
0512a574e8 Fix remove item regression 2020-10-26 20:13:24 +01:00
psi29a
09373a757d Merge branch 'radioactive' into 'master'
Container base record mutations

See merge request OpenMW/openmw!353

(cherry picked from commit 8b33765dd414680f0074b3e115b52b291b4cb7cb)

275908a0 mutate container base records
16fca11d add changelog entry
2020-10-20 16:56:22 +00:00
Andrei Kortunov
065ed5138e Use emplace_back instead of push_back 2020-10-18 10:27:35 +04:00
Assumeru
72549651e0
Rework container resolution (#3006)
* Rework container resolution

* add optional argument to getCount

* remove now-redundant changes

* undo worldimp changes

* move save-fixing code to InventoryState

* replace Rng instances with Seeds
2020-10-13 17:46:32 +02:00
Andrei Kortunov
924f634bda Support for multiple summons with same ID in the single spell 2020-08-28 21:14:54 +04:00
Andrei Kortunov
5468fcb29f Store attributes and skills values as floats (bug #4021) 2020-06-03 17:34:15 +04:00
Bret Curtis
dd7f5fcde7
Merge pull request #2884 from Capostrophic/deathmagic
Update spell effects during death animation (#5403)
2020-06-03 15:07:08 +02:00
Andrei Kortunov
3dce225f28 Implement vanilla-style corprus handling (bug #3714, bug #4623) 2020-06-03 12:58:17 +04:00
Capostrophic
d72152183f Update spell effects during death animation (#5403) 2020-05-30 23:24:06 +03:00
Capostrophic
8d22e075e6 Separate functions that don't belong to CastSpell class 2020-04-26 22:17:38 +03:00
Capostrophic
db13984db0 Separate spell resistance 2020-04-26 21:13:59 +03:00
capostrophic
9b28420875 [Regression] Make creatures autoequip shields properly again 2020-01-05 23:49:19 +03:00
Andrei Kortunov
97ee4bc349 Improve equipment logic (bug #5223) 2019-12-14 22:30:27 +04:00
Capostrophic
ee4fa93bd4 Rework prevent merchant equipping setting again 2019-10-28 01:58:23 +03:00
Andrei Kortunov
31e78ed41f Rework 'prevent merchant equipping' feature 2019-10-12 14:17:03 +04:00
Alexei Dobrohotov
b7a1e6561b
Merge pull request #2080 from akortunov/recharge
Recharge items outside of player inventory
2019-10-09 23:37:10 +03:00
Andrei Kortunov
c51aba0b13 Recharge items outside of player's inventory (bug #4077) 2019-10-07 22:59:43 +04:00
Andrei Kortunov
f0b73e0a27 Do not store owners for items in container stores (bug #1933) 2019-10-05 17:29:00 +04:00
Andrei Kortunov
f0cef772fa Refactor weapon types behaviour
1. Move weapon types behaviour from switches to the table (should allow
us to de-hardcode weapon types later)
2. Gereralize bones injection to actors skeletons (instead of using the
hardcoded xbase_anim_sh.nif)
2019-08-09 19:40:27 +04:00
Capostrophic
144b1b9b06 Magic armor mitigation for creatures (feature #5033) 2019-05-11 19:21:49 +03:00
Capostrophic
2c473d84ee Fix zero division in enchantment magnitude calculation 2019-04-14 12:47:11 +03:00
Capostrophic
d4c1bd81b6 Use dice rolls instead of chance for spell magnitude (bug #4945) 2019-04-08 20:25:30 +03:00
Andrei Kortunov
d23a0ce2ae Use C++11-style loops in the game world instead of iterators 2019-03-07 12:39:57 +04:00
Andrei Kortunov
3032b177a1 Remove redundant includes 2019-02-23 08:02:12 +04:00
Capostrophic
5c8c079718 Fix incorrect event argument which messed with hidden light pointers 2018-12-04 17:07:03 +03:00
Andrei Kortunov
92e45507d8 Weapon sheathing support, including quivers and scabbards (feature #4673) 2018-11-05 11:18:20 +04:00
Marc Zinnschlag
2d87d1d9d2 Merged pull request #1959 2018-10-10 15:05:29 +02:00
Andrei Kortunov
e06f0b797a Replace all NULLs to nullptr 2018-10-09 10:21:12 +04:00
Capostrophic
09aecb955c getSkill usage cleanup (bug #4671) 2018-10-08 17:06:30 +03:00
Capostrophic
7ef6fa9f61 Remove deprecated GMST get* functions 2018-08-29 18:38:12 +03:00
Andrei Kortunov
5a4d0cec3a Use new logging system for game itself 2018-08-14 23:05:43 +04:00
Andrei Kortunov
e64f14b7ce Do not replace an equpped ring of the same value 2017-10-20 23:05:12 +04:00
Rhiyo
d9fe3aac99 fixed new clothing replacing old clothing of same value
Found on the bug http://bugs.openmw.org/issues/4165.

In original Morrowind, new clothing of the same value wouldn't replace old clothing. Tested with common and expensive clothing by selling to merchants and using the AddItem console command in original Morrowind. 

In OpenMW, before this change, new clothing of the same value would replace old clothing, tested with the same methods used above.
2017-10-19 22:46:08 +10:30
glbwsk
83a5c7c3d8 removed unnecessary comments, added gitignore for clion cmake 2017-10-13 20:32:52 +02:00
glbwsk
ff9cb22a58 npc swap cheaper ring during auto equip 2017-10-13 15:16:07 +02:00