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

3488 Commits

Author SHA1 Message Date
elsid
01c712d5f1
Split navigator settings into subtypes
Mostly to distinguish settings that affect properties of the generated navmesh.
2021-12-10 23:55:03 +01:00
elsid
5a6b39f8e0
Store mesh source data in recast mesh 2021-12-10 23:55:02 +01:00
psi29a
e04e139f37 Merge branch 'navmesh_raw' into 'master'
Add to navigator unmodified water and heightfield data

See merge request OpenMW/openmw!1373
2021-12-08 13:36:17 +00:00
psi29a
c844e5d045 Merge branch 'racer_recursion_limited' into 'master'
Check if a leveled creature is in an unloaded cell before deciding it doesn't exist

Closes #4376

See merge request OpenMW/openmw!1420

(cherry picked from commit 782371cb2e7f6653d72305090033557b53bbcf3a)

6d945da7 Check if a leveled creature is in an unloaded cell before deciding it doesn't exist
2021-12-06 13:58:35 +00:00
elsid
7dcb219ecf
Add raw heightfield data to navigator 2021-12-03 01:16:15 +01:00
elsid
8571c317d8
Add raw water data to navigator 2021-12-03 01:16:15 +01:00
elsid
c4cd2f36c3
Move convertMagicEffects into separate file
As completely unrelated to EsmLoader.
2021-11-29 22:45:35 +01:00
elsid
47219b4def
Avoid base class call antipattern in classes derived from ContentLoader 2021-11-29 22:45:08 +01:00
Bret Curtis
246912f73a
Merge pull request #3206 from akortunov/groundcover_loading
Use a separate storage for groundcover data
2021-11-29 20:09:21 +01:00
Petr Mikheev
ded8997362 Avoid problems if builtin.omwscripts is above Morrowind.esm in content list. 2021-11-19 20:37:21 +01:00
Petr Mikheev
f42badd7be Dehardcode camera 2021-11-19 20:37:21 +01:00
Petr Mikheev
47cbdcba15 Camera refactoring 2021-11-19 20:37:21 +01:00
Andrei Kortunov
3275440f0d Use a separate storage for groundcover data 2021-11-14 19:11:42 +04:00
Bo Svensson
a62b22cd31
isolates groundcover content files (#3208)
Specifications developed in PR #3206 require that groundcover content files must not be allowed to corrupt normal content files. With this PR we simply isolate our existing loading logic by instantiating a separate `ESMStore` for `Groundcover`. In addition, we remove some outdated workarounds.
2021-11-13 23:37:53 +01:00
Alexei Dobrohotov
b918135b4b Factor race weight into magic projectile speed (bug #6343) 2021-11-13 17:33:32 +03:00
Bret Curtis
700bace24c do not emplace_back to our mLandTextures; instead use the heavy handed resize to be explicit about what we intend to do; resolves issue found here: https://github.com/OpenMW/openmw/pull/3220#issuecomment-964650167 2021-11-12 11:53:21 +01:00
psi29a
627f816348 Merge branch 'navigator_impl' into 'master'
Reduce the size of included code from detournavigator/ into the engine

See merge request OpenMW/openmw!1355
2021-11-07 07:57:22 +00:00
Evil Eye
5fbfbb3d84 Merge branch 'clamp' into 'master'
Make better use of std::clamp

See merge request OpenMW/openmw!1357
2021-11-06 12:07:24 +00:00
Alexei Dobrohotov
7a0c13fcf8 Make better use of std::clamp 2021-11-06 08:47:32 +03:00
elsid
9f808fbe3a
Move findPath-like navigator functions into a separate header 2021-11-06 00:34:06 +01:00
elsid
5e99454cc4
Add factory functions to create navigator implementations 2021-11-06 00:14:41 +01:00
elsid
3f80725ebe
Remove duplicated implementation of Misc::Convert::toOsg 2021-11-05 22:57:08 +01:00
psi29a
b6d2c57de2 Merge branch 'new2017' into 'master'
MSVC2017 Compilation Fixes

See merge request OpenMW/openmw!1348
2021-11-05 10:16:04 +00:00
wareya
d5aaa0394a Fix a missing required include 2021-11-04 17:48:21 -04:00
Bo Svensson
cd946ea35a
removes unused recordcmp.hpp (#3214)
This PR removes an unused source file.
2021-11-04 16:56:51 +01:00
Bo Svensson
6cf74f7041
refactors ESM::Land (#3213)
With this PR we reduce coupling, simplify code, encapsulate a variable and separate actual `ESM` data from its context.
2021-11-04 16:55:32 +01:00
Bo Svensson
f684c1da52
fixes assertion (#3215)
This PR fixes an assertion introduced by #3211. For some reason my build originally did not contain assertions despite passing `DEBUG` into cmake, but after deleting `CMakeCache.txt` I have now hit the assertion @glassmancody reported as well.
2021-11-04 10:15:05 +01:00
Bo Svensson
fac84b5dd3 restores ESM::Dialogue order (#3209)
With this PR we restore the previous order of `ESM::Dialogue` entries implicitly changed by PR #3197. In the future we may want to consider additional verification and documentation of `mShared` order inconsistencies. We might additionally consider applying this sorting in the particular code that requires it.
2021-11-03 15:07:06 +01:00
Bo Svensson
4657c655b1 refactors parentFileIndices (#3211)
This PR aims to start addressing `ESM` design issues that have silenced errors we incorporated into groundcover `ESM` loading approaches.

- We move the resolution of `parentFileIndices` from `ESMStore` to `ESMReader` as suggested in a `TODO` comment.
- We improve a highly misleading comment which downplayed the significance of `parentFileIndices`.
- We document important preconditions.
- We move a user facing error message to the highest level and improve its context.
- We remove an inappropriate `setGlobalReaderList` method. We now pass this reader list into the method that requires it.
- We remove a thoroughly pointless optimisation of `Store<ESM::LandTexture>`'s construction that has unnecessarily depended on `getGlobalReaderList`.

There should be no functional changes for `master`, but this PR should remove an issue blocking PR #3208.
2021-11-03 11:07:28 +01:00
psi29a
523289c531 Merge branch 'refactor_bullet_shape' into 'master'
Refactor bullet shape

See merge request OpenMW/openmw!1333
2021-11-02 20:30:22 +00:00
Bo Svensson
213faa6695
restores countRecords optimisations (#3210)
With this PR we restore @elsid 's optimisations of countRecords we have unintentionally discarded in PR #3197. In addition, we give it a more appropriate name and add comments concerning its peculiar background.
2021-11-02 14:46:41 +01:00
Andreas Stöckel
a5a895ffd4 Fix #6381
Do not use osg::PI_f
2021-11-01 20:55:19 -04:00
psi29a
4c81518abb Merge branch 'puddle' into 'master'
Give each reflect and spell absorption effect a chance to apply

Closes #6255 and #6253

See merge request OpenMW/openmw!1279
2021-10-30 19:26:32 +00:00
psi29a
3eb6b658c6 Merge branch 'setpos_strikes_back' into 'master'
#6292 unbreak scripted spells

See merge request OpenMW/openmw!1324
2021-10-30 18:50:02 +00:00
Bo Svensson
1329f22186
refactors MWWorld::Store maps (#3197)
With this PR we clean up `MWWorld::Store` maps according to the approach of PR #3184.
2021-10-30 19:27:57 +02:00
elsid
8e71c246bf
Remove redundant BulletShape getters 2021-10-30 03:44:08 +02: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
psi29a
e3cfe5d35a Merge branch 'backproj' into 'master'
Move the projectile simulation to the background thread

See merge request OpenMW/openmw!1276
2021-10-29 12:52:41 +00:00
psi29a
34b63bf142 Merge branch 'omwscripts' into 'master'
Change format of "*.omwscripts" files

See merge request OpenMW/openmw!1271
2021-10-29 12:49:49 +00:00
psi29a
b3f84df43c Merge branch 'sky_shaders' into 'master'
Sky shaders

See merge request OpenMW/openmw!1057
2021-10-27 20:25:40 +00:00
fredzio
3750eb9cd8 Move Projectile simulation to the background thread. 2021-10-27 22:17:06 +02:00
Petr Mikheev
47c89567fb Load LuaScriptsCfg from both *.omwscripts and *.omwaddon files. 2021-10-26 21:52:42 +02:00
Evil Eye
4ec927829f Give each reflect and spell absorption effect a chance to apply 2021-10-26 16:50:40 +02:00
glassmancody.info
07e32c0fa6 remove object shader path 2021-10-25 10:23:16 -07:00
Bo Svensson
6fb376f1cf
templatise ptr.hpp (#3185)
With this PR we consolidate identical logic for Ptr and ConstPtr with the help of a template.
2021-10-25 09:08:50 +02:00
glassmancody.info
1e40d27318 introduce sky shaders 2021-10-23 17:53:38 -07:00
Bo Svensson
a854a6e04a
removes UnrefQueue (#3181)
Currently, we use an `UnrefQueue` which supposedly aims to transfer destruction costs to another thread. The implications of this unusual pattern can not be well understood because some allocators might free resources more efficiently if they are freed by the same thread that allocated them. In addition, `UnrefQueue` complicates the validation of thread safety in our engine. Lastly, our current usage of `UnrefQueue` triggers `ref()`, `unref()` atomic operations as objects are passed into the queue. These operations could be more expensive than the actual destruction.

With this PR we thus remove `UnrefQueue`. We can expect these changes to have a minor impact at most because we free most resources elsewhere in `ResourceSystem::updateCache`.
2021-10-20 23:02:15 +02:00
elsid
18d3102148
Do not use union to access FIXED_STRING<4> as int
https://en.cppreference.com/w/cpp/language/union:
> It's undefined behavior to read from the member of the union that wasn't most recently written.
2021-10-17 17:16:21 +02:00
psi29a
89077af3ff Merge branch 'getters' into 'master'
Move getters to header in order to allow inlining (performance optimization)

See merge request OpenMW/openmw!1289
2021-10-14 15:17:08 +00:00
psi29a
e86b9a7b89 Merge branch 'add_comment' into 'master'
Add comment for MWWorld::Ptr::getType() because it is not obvious.

See merge request OpenMW/openmw!1291
2021-10-14 12:44:04 +00:00