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

99 Commits

Author SHA1 Message Date
elsid
f09789002a
Define hardcoded global variable names as constants 2023-02-07 00:47:34 +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
florent.teppe
65cdd489fb create a specific esm reader function for RefID to avoid allocation for string and then again for RefId
Fixed some types

removed useless header

applied clang format

fixed compile tests

fixed clang tidy, and closer to logic before this MR

Removed hardcoded refids

unless there is a returned value we don't use static RefIds
can use == between RefId and hardcoded string

Fix clang format

Fixed a few instances where std::string was used, when only const std::string& was needed

removed unused variable
2022-12-27 19:15:57 +01:00
fteppe
7da38113be Changed more hardcoded RefId to be static to avoid multiple runtime creations
adresses multiple review comments
2022-12-27 19:15:56 +01:00
fteppe
b57dd6d083 Fixed search random, it is a prefix so not a refId
Fixed situation where we return a const reference to a static variable that may change if the same function is called multiple times
2022-12-27 19:15:55 +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
florent.teppe
0dd529ab1d With the records include removed from store.hpp, need to include the relevant files accross the codebase.Lots of touched files, but very little done 2022-09-06 13:26:13 +02:00
Evil Eye
150d1840d6 Use more string_view and const string& 2022-08-22 16:55:53 +02:00
Alexei Kotov
88bd3d559a Don't headtrack or greet magically hidden actors (bug #5978) 2022-07-29 10:47:50 +03:00
ζeh Matt
b2739dc84a
Avoid looking up settings from gmst each frame 2022-04-12 18:58:13 +03:00
ζeh Matt
08fae7be6e
Pass the prng from world where appropriate 2022-03-21 17:49:42 +02:00
Alexei Dobrohotov
fdd9e6a793 Always reduce weapon condition by the raw damage (bug #6559) 2022-02-23 16:37:56 +03:00
Alexei Dobrohotov
7a0c13fcf8 Make better use of std::clamp 2021-11-06 08:47:32 +03:00
Evil Eye
31a7c83cc7 Fix a regression involving default arguments 2021-10-21 17:22:15 +02:00
Evil Eye
5805c0114a Don't hit the ground 2021-10-14 17:40:03 +02:00
Evil Eye
bba80b07a2 Check if the target is an actor 2021-10-14 16:49:30 +02:00
Evil Eye
ae4578f566 Fix soul trapping for one shot kills 2021-10-11 21:46:15 +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
e2fc5d87b3 Merge branch 'elemental_shields' into 'master'
Don't let elemental shields harm the player in god mode

Closes #5875

See merge request OpenMW/openmw!631
2021-03-02 06:45:38 +00:00
Alexei Dobrohotov
023bc80f55 Don't let elemental shields harm the player in god mode 2021-03-01 21:37:30 +00:00
Evil Eye
af0f94f03e Play damage sound when hurt by elemental shields 2021-02-07 12:55:10 +01:00
Andrei Kortunov
5468fcb29f Store attributes and skills values as floats (bug #4021) 2020-06-03 17:34:15 +04:00
Capostrophic
db13984db0 Separate spell resistance 2020-04-26 21:13:59 +03:00
Capostrophic
40766d746c Pick the correct aggressive actor in fight distance bias calculation 2020-04-22 16:06:42 +03:00
Bret Curtis
afb218fe29
Merge pull request #2564 from Capostrophic/enchant
Remove on-strike enchantment support for ranged weapon types (bug #5190)
2019-10-23 15:11:36 +02:00
Capostrophic
fc7b4d73a8 Remove on-strike enchantment support for ranged weapon types (bug #5190) 2019-10-20 13:34:42 +03:00
elsid
81832f8e17
Reuse distance functions 2019-10-19 12:51:37 +02:00
capostrophic
e2496af5c5 Vanilla-friendly ranged crits (bug #5067) 2019-07-31 13:55:09 +03:00
Alexei Dobrohotov
29ebfe709e
Play 'Hand To Hand Hit' only for fatigue damage (bug #5093) 2019-07-14 23:56:38 +03:00
Capostrophic
df89c6b6ce Make unarmed creature attacks affect shield condition again (bug #5069) 2019-06-20 20:45:52 +03:00
Capostrophic
25e52f7dfe Use 2D distance for fight rating of vertically moving actors (bug #4961) 2019-06-05 21:41:02 +03:00
Andrei Kortunov
1832f1759d AI: use a consistent check if a target is hidden (bug #4920) 2019-04-28 16:41:10 +04:00
Capostrophic
4138e29ca4 Add option to restore the previous ammo behavior 2019-02-22 17:18:23 +03:00
Capostrophic
b738cc0383 Make normal weapon resistance behavior closer to vanilla (bug #4384)
Check both the ranged weapon and the projectile before modifying the damage
Don't attempt to apply NPC-specific werewolf damage mult to damage to creatures
2019-02-22 00:01:21 +03:00
Capostrophic
64d5cd17d6 Move werewolf silver damage mult applying into a new function 2019-02-22 00:01:21 +03:00
Capostrophic
808b8ce8db Refactor normal weapon resistance 2019-02-22 00:01:21 +03:00
Capostrophic
54bd7b2dcf Implement getItemNormalizedHealth() method and use it 2018-10-25 15:45:31 +03:00
Capostrophic
67de61e1fb Avoid item condition and charge zero divisions 2018-10-24 19:06:55 +03:00
Capostrophic
7ef6fa9f61 Remove deprecated GMST get* functions 2018-08-29 18:38:12 +03:00
Yohaulticetl
7e9ce99062 Made the werewolf check optional 2018-08-14 19:56:40 +02:00
Yohaulticetl
18e51e0e98 Added check for werewolves 2018-08-14 19:44:03 +02:00
Yohaulticetl
d19cbdb652 Factored strength into hand-to-hand combat 2018-08-14 19:44:03 +02:00
Capostrophic
c79f96d0d2 Implement ranged crits (feature #3703) 2018-07-29 19:42:44 +03:00
Capostrophic
bccba24c40 Make unarmed creature attacks not affect armor condition (fixes #2455) 2018-06-29 20:18:28 +03:00
Capostrophic
baaf65bc2c Add vanilla enchanted weaponry behavior option, on by default (fixes #4136) 2018-03-31 11:46:23 +03:00
scrawl
03554b2f4b Fix some style issues flagged by cppcheck 2017-10-15 17:06:58 +02:00
Andrei Kortunov
14b59e0e4b Vanilla-like tgm (fixes #3798) 2017-03-25 22:40:11 +04:00
NeveHanter
811e9ad9f3 Fixed bug https://bugs.openmw.org/issues/3617 by allowing touch and target enchantments from ranged weapons and their projectiles to explode even when colliding with non-activable objects, terrain, water slab or when shoot underwater.
Also allowed projectiles to fly through the dead bodies as in vanilla.
2017-01-15 09:49:25 +01:00
MiroslavR
5e46121046 Implement fleeing AI (Closes #1118) 2016-11-16 20:15:25 +01:00