1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-30 21:32:42 +00:00

57 Commits

Author SHA1 Message Date
elsid
067957f57b
Use "" to quote apps/openmw includes and remove unused
Using "" makes clangd to find unused includes which makes it quite easy to
remove them.
2024-01-07 17:57:11 +01:00
Evil Eye
e63933efa6 Use NAM9 for stack count 2023-12-31 17:12:46 +00:00
Zackhasacat
5623a5cf01 Merge branch 'lua_sgetcurrent_conditionofitem_itemdata_idea' into 'master'
Lua API to get/set item condition

See merge request OpenMW/openmw!3421
2023-11-23 23:10:39 +00:00
Kindi
58a16dacbe take2 resolve 2023-10-13 00:53:59 +08:00
Petr Mikheev
c67b866a11 Replace const ESM::RefNum& -> ESM::RefNum 2023-09-15 19:38:09 +02:00
Petr Mikheev
4fa8756791 Silent coverity warning 2023-09-15 11:05:40 +02:00
Petr Mikheev
9b511fdf7a Load ESM4 actors 2023-07-26 11:47:50 +02:00
Evil Eye
e9bcad4e05 Autocalculate enchantment costs and charges 2023-06-17 22:25:47 +02:00
Zackhasacat
c108989b26 Allow Lua to access lock and trap data for doors and containers 2023-06-13 07:37:32 +00:00
Evil Eye
da4e04522b More closely replicate Morrowind.exe's locks 2023-06-08 20:10:32 +02:00
elsid
235eb65c97
Rename positionToCellIndex to match return type 2023-05-27 15:49:36 +02:00
florent.teppe
393357abc0 ESM::Cell::positionToCellIndex returns a ESM::ExteriorCellIndex
and takes a worldspace id as input
ESM::getCellSize takes a wordspace as input.
removed useless static in static inline funcs
2023-05-12 22:05:55 +02:00
florent.teppe
1cf0cd5628 moved mwworld/cellutils.hpp -> esm/util.hpp 2023-05-12 22:05:54 +02:00
Petr Mikheev
86fce41a39 Keep refnum when moving objects to/from inventory (#6148) 2023-05-07 17:19:44 +02:00
elsid
0601d7213e
Remove ESM::RefId::sEmpty
This variable is only required to return empty RefId as const reference. There
is no point in doing so for a type cheap to copy.
2023-04-26 21:15:16 +02:00
Petr Mikheev
f1beaa7b8c Put ESMStore to Environment 2023-04-20 21:45:49 +02:00
Petr Mikheev
3546d2b3e5 Make Store<ESM4::Reference> to use FormId instead of RefId 2023-04-20 01:47:16 +02:00
Petr Mikheev
00beb06391 Initial Lua bindings for ESM4 types; bindings for ESM4Door. 2023-04-20 01:47:16 +02:00
Petr Mikheev
f09a689a4f Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
florent.teppe
d782d37ee2 Make sure Vec2iRefId is trivially copyable on GCC 11.3
std::pair<int, int> isn't trivially copyable on some compilers
so a specific struct is defined, it's an int pair, but it should be recognised by GCC 11.3 as trivially copyable

Vec2iRefId => ESM3ExteriorCellRefId

more explcit name and use mX,mY instead of pair
renamed files and enum
2023-04-03 14:17:31 +02:00
florent.teppe
c2182c2fcc Get Rid of ESM::CellId almost everywhere
it was a competing concept from using RefIds for cell.
There is almost no point to it now, except to load older data.
2023-04-03 14:16:05 +02:00
florent.teppe
c39dd576f8 Gets rid of most ESM::CellId 2023-04-03 14:16:05 +02:00
florent.teppe
1bbf4a3acf fixes teleport to exterior cells.
fixes linux compile

fix compile bis
2023-04-03 14:16:04 +02:00
florent.teppe
3f678c3b0a Dest Door and teleport use ESM::RefId
This changes a lot of files as a consequence.
Still buggy, moving to exterior doesn't bring to the right place yet
coc "seyda neen" doesn't work. SO I broke somehting when fetching a cell from a name
2023-04-03 14:16:03 +02:00
florent.teppe
084207af64 Avoids a lot a special cases for ESM3 vs ESM4 cells. 2023-02-04 23:25:06 +01:00
florent.teppe
f3d5f6345e Fixed large lambdas that affected readability. 2023-02-04 17:16:42 +01:00
florent.teppe
4e7cde5d72 applied some review changes.
crashfix tests
2023-01-30 20:49:34 +01:00
fteppe
808c7367c9 Fix compile 2023-01-29 10:54:21 +01:00
florent.teppe
9054722f4a std::visit everywhere! 2023-01-28 19:21:13 +01:00
florent.teppe
f9da66e9ee Greatly improved how the variant on MWWorld::CellRef works 2023-01-28 18:57:55 +01:00
florent.teppe
e6e27413d9 gives MWWorld::CellRef the MWWorld::Cell treatment
MWWorld::CellRef now has a variant, and datas that are part of the intersection of both ESM4::Reference and ESM::CellRef are part of MWWorld::CellRef

For ESM4 most data isn't filled in, so it returns default values.
2023-01-27 19:40:45 +01:00
elsid
c173348cbe
Use default initializers for ESM::RefNum members
Instead of unset function that is removed now and assignments all over the code.
2023-01-10 00:44:51 +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
19bd2f3c3d Use more string_view and const string& 2022-08-27 13:07:59 +02: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
Petr Mikheev
fec65acd18 Move getters to header in order to allow inlining 2021-10-11 21:33:35 +02:00
elsid
e910dd7a25
Rename CellRef::getRefIdPtr -> getRefIdRef and return reference
Return value can't be nullptr. Pointer complicates the code because has to be
dereferenced.

Also move function definition to hpp to make it easier for compiler to optimize
calls.
2021-09-06 22:52:08 +02:00
Petr Mikheev
702eb19271 Fixes and refactoring 2021-07-09 20:48:54 +02:00
Petr Mikheev
6db2450c90 Initial support of generated RefNums with negative mContentFile. 2021-07-09 20:03:27 +02:00
Capostrophic
c6e431d862 Avoid copying strings in SearchVisitor and readReferenceCollection 2019-10-28 19:28:14 +03:00
Evil Eye
7c8b82f45c move locking behaviour to cellref 2019-09-17 20:30:37 +02:00
Capostrophic
c3e8d536cd Implement getNormalizedEnchantmentCharge() method and use it 2018-10-25 16:16:07 +03:00
mrohrlach
f0f78c9d64 Slight adjustments to disintegration fix 2016-12-09 19:55:26 -07:00
mrohrlach
9624d8aade Added new method and variable to track float remainders of disintegration effections 2016-12-09 19:48:56 -07:00
scrawl
bea88c3643 Stolen item tracking overhaul part 2 (Fixes #2338) 2015-02-06 01:27:16 +01:00
scrawl
14923f3e8b Fix for broken unsetRefNum 2015-02-03 23:05:06 +01:00
scrawl
c7d15e6f74 Revert "Revert "Light charge handling fix""
This reverts commit b95748d044a421c2e02fa54cdc7e8aa902039e6c.
2015-01-23 15:33:39 +01:00
scrawl
b95748d044 Revert "Light charge handling fix"
This reverts commit 5e0428243b38d18c55b80e7675ea74a0563f5e44.
2015-01-23 02:32:38 +01:00