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

115 Commits

Author SHA1 Message Date
Petr Mikheev
e7120f189b Unset RefNums after copying containers (otherwise copies will have the same RefNums, but they should be unique) 2023-01-21 23:43:00 +01:00
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
clang-format-bot
ddb0522bbf
Apply clang-format to code base 2022-09-22 21:35:26 +03:00
Evil Eye
dfcd34372d Use more string_view 2022-08-28 15:06:31 +02:00
Evil Eye
19bd2f3c3d Use more string_view and const string& 2022-08-27 13:07:59 +02:00
Evil Eye
0cded25033 Remove various string copies 2022-08-24 20:38:52 +02:00
Evil Eye
ac78b537d2 Address feedback 2022-05-22 09:29:03 +02:00
Evil Eye
c6ca0e78c9 Make getStringLiteral return a string_view 2022-05-21 01:21:55 +02:00
ζeh Matt
08fae7be6e
Pass the prng from world where appropriate 2022-03-21 17:49:42 +02:00
ζeh Matt
d83a381f79
Refactor and rename some things around Misc::Rng 2022-03-06 17:28:28 +02:00
psi29a
6f7a067e0c Merge branch 'esmrename' into 'master'
esm refactor work

See merge request OpenMW/openmw!1575
2022-01-27 17:52:42 +00:00
elsid
12df2deb70
Remove usage of deprecated std::iterator
/home/elsid/dev/openmw/apps/openmw/mwlua/../mwbase/../mwworld/containerstore.hpp:264:23: warning: 'iterator<std::forward_iterator_tag, MWWorld::Ptr>' is deprecated [-Wdeprecated-declarations]
        : public std::iterator<std::forward_iterator_tag, PtrType, std::ptrdiff_t, PtrType *, PtrType&>
                      ^
/home/elsid/dev/openmw/apps/openmw/mwlua/../mwworld/inventorystore.hpp:79:36: note: in instantiation of template class 'MWWorld::ContainerStoreIteratorBase<MWWorld::Ptr>' requested here
            ContainerStoreIterator mSelectedEnchantItem;
                                   ^
/usr/bin/../include/c++/v1/__iterator/iterator.h:27:29: note: 'iterator<std::forward_iterator_tag, MWWorld::Ptr>' has been explicitly marked deprecated here
struct _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX17 iterator
                            ^
/usr/bin/../include/c++/v1/__config:1016:39: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX17'
                                      ^
/usr/bin/../include/c++/v1/__config:993:48: note: expanded from macro '_LIBCPP_DEPRECATED'
                                               ^
2022-01-24 22:50:18 +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
jvoisin
5840279f16 Use default instead of empty constructors/destructors
See https://pvs-studio.com/en/docs/warnings/v832/ for details
2021-06-24 00:26:15 +02:00
Andrei Kortunov
db1428de18 Move container unresolving to the separate method 2021-04-14 23:03:35 +04:00
elsid
045bb7cbd7
Store CustomData and ContainerStore as unique_ptr 2021-04-05 11:52:52 +02:00
Petr Mikheev
7bbbe40abe "static const" -> "static constexpr" in headers 2021-03-21 13:57:54 +01:00
Evil Eye
0512a574e8 Fix remove item regression 2020-10-26 20:13:24 +01:00
Evil Eye
f62905eb0a remove redundant argument 2020-10-20 21:04:35 +02: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
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
2e7712a390 Fix C5204 warnings by adding default virtual destructors 2020-03-26 14:49:12 +04:00
Andrei Kortunov
1b98fe4395 Fix GCC9 warnings about implicit declarations 2019-11-29 12:41:23 +04:00
Capostrophic
ee4fa93bd4 Rework prevent merchant equipping setting again 2019-10-28 01:58:23 +03: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
ca46da8b04 Do not stack initially added scripted items (bug #5136) 2019-09-29 13:08:52 +04:00
Andrei Kortunov
861d41f4a4 Native graphics herbalism support (feature #5010) 2019-05-02 23:03:47 +04:00
Andrei Kortunov
92e45507d8 Weapon sheathing support, including quivers and scabbards (feature #4673) 2018-11-05 11:18:20 +04:00
Andrei Kortunov
61c968d550 Ignore broken items when search for replacement (bug #4453) 2018-06-13 18:39:02 +04:00
Andrei Kortunov
4580024d76 Unequip all items from dead corpse when take all items (bug #4095) 2017-09-22 12:32:47 +04:00
Jordan Ayers
b277bd782e Adjust restock calculations to ignore filled soul gems.
Bug #3684
2017-06-15 21:59:13 -05:00
Allofich
6e405aed8c Adjustments to RemoveItem behavior
(Fixes #3796)
2017-04-13 22:33:13 +09:00
Rafael Moura
9963601484 Porting code to ConstContainerStoreIterator #1 2017-02-19 15:18:35 +00:00
Rafael Moura
ecbde7b11e Added ConstContainerStoreIterator
using base template for ContainerStoreIterators

less template arguments for ContainerStoreIteratorBase
2017-02-18 13:47:18 +00:00
MiroslavR
11565b5966 Make actors with non-portable lights in inventory glow (Closes #2042, #3338) 2016-10-08 23:17:12 +02:00
Jordan Ayers
c82d9a1e87 Adjust ContainerStore / InventoryStore to allow partial unequip of items. 2016-01-18 19:56:35 -06:00
scrawl
3856f931db Accept a ConstPtr in ContainerStore::addNewStack 2015-12-18 17:04:54 +01:00
scrawl
e1c6261fee Accept a ConstPtr in ContainerStore::getType 2015-12-18 17:03:49 +01:00
scrawl
edde5bd065 Accept a ConstPtr in ContainerStore::stacks 2015-12-18 17:01:21 +01:00
scrawl
ed3486e816 Improve const-correctness in writeAdditionalState 2015-12-18 00:19:06 +01:00
MatthewRock
3b254ad631 Allows the same item to have multiple ancestors 2015-12-09 18:24:35 +01:00
MatthewRock
a662a00c62 Fixing bug for merchant 2015-11-10 19:18:02 +01:00
scrawl
bea88c3643 Stolen item tracking overhaul part 2 (Fixes #2338) 2015-02-06 01:27:16 +01:00
scrawl
79d2eebe54 Store selected enchant item in savegame (Fixes #1702) 2015-01-23 16:45:47 +01:00
scrawl
d13335ba40 Ensure the item can be equipped in the given slot when loading inventory 2015-01-23 15:32:34 +01:00
scrawl
c65f9cb3c0 Revert "Change save format to store relative equipment index"
This reverts commit 89d9649b50b2b6e102b90517a5b136cc74415ba0.
2015-01-23 02:32:43 +01:00
scrawl
89d9649b50 Change save format to store relative equipment index
Store the index for the allowedSlots vector instead of the absolute slot index. This will more gracefully handle edge cases like the available slots for an item having changed when loading the game, or the "allows stacking" property having changed. However the main reason this was done is to ease work on the essimporter.
2015-01-20 23:55:26 +01:00