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
3042c000c6
fixes setActorFade logic errors ( #3195 )
...
* resets state updater to apply light settings (#3141 )
resets state updater to apply light settings
With this PR we achieve the same effect with fewer lines of code.
* fixes LightSource logic errors
We currently update `LightSource::setActorFade` in `TransparencyUpdater`. There are several logic errors inherent in this approach:
1. We fail to update `LightSource::setActorFade` for off screen actors because their `TransparencyUpdater` cull callback is not invoked.
2. We fail to update `LightSource::setActorFade` in the instant that a `TransparencyUpdater` is removed.
3. We fail to update `setActorFade` when an `mExtraLightSource` is created after calling `Animation::setAlpha`.
With this PR we avoid such issues by updating `LightSource::setActorFade` in `Animation::setAlpha` and `Animation::addExtraLightSource` instead.
2021-11-04 16:53:57 +01:00
glassmancody.info
4c3dd1a964
remove particle node when resetting particle effect
2021-11-04 08:42:22 -07: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
psi29a
c9f3c27dc7
Merge branch 'phys_perf_test' into 'master'
...
Help bullet optimize collisions with very complex collision meshes by making small collision tests if possible
See merge request OpenMW/openmw!1317
2021-11-03 11:49:44 +00: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
elsid
2b057f5c15
Expect nif node children to have parent
2021-11-02 22:44:33 +01:00
elsid
4e8e8304aa
Avoid mesh allocation when data is invalid
2021-11-02 22:44:33 +01:00
elsid
4631d95739
Add more tests for BulletNifLoader
2021-11-02 22:44:32 +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
psi29a
4ff4afd50b
Merge branch 'lua_callback' into 'master'
...
Refactoring. Lua `Callback` is moved from apps/openmw/mwlua to components/lua.
See merge request OpenMW/openmw!1334
2021-11-02 20:28:34 +00:00
psi29a
ea7e83499d
Merge branch 'enlightened_skeletons' into 'master'
...
Allow creatures to use torches
Closes #6376
See merge request OpenMW/openmw!1335
2021-11-02 20:25:26 +00:00
Evil Eye
a9106f4d7c
Rotate torches by 90 degrees
2021-11-02 18:01:22 +01:00
wareya
940e338453
Constifications
2021-11-02 15:17:26 +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
psi29a
d3b2503111
Merge branch 'distractions' into 'master'
...
Reduce code duplication in getting the shield model
See merge request OpenMW/openmw!1337
2021-11-02 13:32:21 +00:00
psi29a
9694398b69
Merge branch 'actually_walk_on_the_water' into 'master'
...
#6373 : finish half commited commit
See merge request OpenMW/openmw!1336
2021-11-02 10:15:40 +00:00
Andreas Stöckel
a5a895ffd4
Fix #6381
...
Do not use osg::PI_f
2021-11-01 20:55:19 -04:00
Evil Eye
3660d5cc4c
Reduce code duplication in getting the shield model
2021-11-01 19:33:29 +01:00
glassmancody.info
4461366761
settings update and launcher option
2021-11-01 09:26:50 -07:00
fredzio
8c21b0b503
Apply waterwalking even when we skip simulation.
...
This chunk was supposed to be part of !1324 but somehow got stuck staged in my tree.
2021-11-01 12:44:36 +01:00
wareya
221f6f134d
gcc and clang don't like this
2021-10-31 18:18:49 -04:00
wareya
838fc634c6
address review comments
2021-10-31 15:32:24 -04:00
Evil Eye
92bdd44e58
Allow creatures to use torches
2021-10-31 20:25:37 +01:00
wareya
e1378cd290
Replace uniform with define
2021-10-31 13:18:19 -04:00
Petr Mikheev
e7ec89573e
Refactoring. Lua Callback
is moved from apps/openmw/mwlua to components/lua.
2021-10-31 17:47:46 +01:00
wareya
226d3eac0d
Improve performance, add simpler ripples, add a setting, fix nighttime brightness
2021-10-31 10:33:28 -04:00
Evil Eye
3c40935ec1
Fix regression #6375
2021-10-31 11:57:33 +01:00
Bo Svensson
356e9d7cf0
refactors osg::Callback virtual inheritance ( #3200 )
...
With this PR we refactor `SceneUtil::KeyframeController` not to require `virtual osg::Callback` inheritance. I suppose such `virtual` overhead is not justified here because it negatively impacts many other classes we derive from `osg::Callback`.
2021-10-30 22:43:18 +02: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
glassmancody.info
8c3b00164e
soft particles
2021-10-30 12:19:31 -07: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
psi29a
740045f7d6
Merge branch 'test_compiler' into 'master'
...
Add unit tests for the mwscript compiler
See merge request OpenMW/openmw!1325
2021-10-30 18:41:15 +00:00
psi29a
15cb9f886c
Merge branch 'launcher_omwscripts' into 'master'
...
Support *.omwscripts in openmw-launcher
See merge request OpenMW/openmw!1329
2021-10-30 18:10:09 +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
Bo Svensson
7d34149adc
consolidates createUnlitMaterial ( #3203 )
...
With this PR we remove a few duplicate lines of code by adding a parameter to `createUnlitMaterial`.
2021-10-30 19:19:58 +02:00
Bo Svensson
7e6533f0f3
refactors screenshot360 ( #3202 )
...
With this PR we refactor screenshot360 not to manually adjust node masks.
2021-10-30 19:10:16 +02:00
Evil Eye
ae08f942d5
Test binary operators
2021-10-30 12:23:14 +02:00
Evil Eye
3c5a50cf90
Add issues from Redmine
2021-10-30 12:09:02 +02:00
Evil Eye
319d30fb85
Add AddTopic testing
2021-10-30 10:42:11 +02:00
Evil Eye
b3208f4066
Add more issues and a forum thread
2021-10-30 10:42:10 +02:00
Evil Eye
8e0dfe3a8a
Add tests for more issues
2021-10-30 10:42:10 +02:00
Evil Eye
b2cdbe2e61
Add tests for certain issues
2021-10-30 10:42:10 +02:00
Evil Eye
3dada0796a
Validate integer math
2021-10-30 10:42:10 +02:00
Evil Eye
f027acf575
Move boilerplate to separate file
2021-10-30 10:42:09 +02:00
Evil Eye
be759e576a
Be sure to verify the opcode got executed
2021-10-30 10:42:09 +02:00
Evil Eye
6ad8549163
Allow validation of constant arguments
2021-10-30 10:42:09 +02:00
Evil Eye
e1ac871672
Start adding compiler tests
2021-10-30 10:42:08 +02:00
elsid
a78dee740a
Merge branch 'dead_code' into 'master'
...
remove dead code and fix changelog entry
See merge request OpenMW/openmw!1330
2021-10-30 03:05:54 +00:00
glassmancody.info
f0eb068e4b
remove dead code and fix changelog entry
2021-10-29 18:50:04 -07:00
elsid
8e71c246bf
Remove redundant BulletShape getters
2021-10-30 03:44:08 +02:00
elsid
b905dd17c3
Use unique_ptr to store btCollisionShape in BulletShape
2021-10-30 03:44:07 +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
wareya
8c0102e1ee
Optimize short-trace test to only be done when particularly helpful
2021-10-29 15:11:08 -04:00
elsid
29a772c33f
Rename Resource::BulletShape::CollisionBox fields according to styleguide
2021-10-29 21:05:58 +02:00
Petr Mikheev
37386f417e
Support *.omwscripts in openmw-launcher
2021-10-29 20:09:47 +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
b189282ba1
Merge branch 'compile_no_evil' into 'master'
...
Remove dead code
See merge request OpenMW/openmw!1327
2021-10-29 12:51:20 +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
Evil Eye
9b565c4cf9
Remove dead code
2021-10-28 22:16:43 +02: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
fredzio
a245981e4e
Make interpolateMovement works with PtrHolder instead of Actor
2021-10-27 22:05:19 +02:00
fredzio
ad7a810a62
Unify interface for Actor and Projectile
2021-10-27 22:03:04 +02:00
Frederic Chardon
5009b66ef5
Use std::variant in the physics simulation for the different types of objects. For now only support only for actors.
2021-10-27 22:02:46 +02:00
psi29a
fb3675d523
Merge branch 'improved_toggleworld' into 'master'
...
Improved toggle world (#6364 )
See merge request OpenMW/openmw!1320
2021-10-27 18:00:56 +00:00
glassmancody.info
e436147c10
improved toggle world
2021-10-27 09:16:01 -07:00
Andrei Kortunov
3ee6657768
Early out from LOS check when source and target is the same (bug 5913)
2021-10-27 10:01:06 +04:00
Petr Mikheev
95faeaa9c1
Fix: after reloadlua call onActive for all active scripts
2021-10-26 21:52:42 +02:00
Petr Mikheev
19a0fde278
Filter saves by the first esm/omwgame rather than by the first content file (that can be a universal omwaddon/omwscripts)
2021-10-26 21:52:42 +02:00
Petr Mikheev
47c89567fb
Load LuaScriptsCfg from both *.omwscripts and *.omwaddon files.
2021-10-26 21:52:42 +02:00
Petr Mikheev
9adc190209
Redesign LuaUtil::ScriptsContainer to work with ScriptsConfiguration
2021-10-26 21:32:48 +02:00
Petr Mikheev
33d71be81f
Add LuaUtil::ScriptsConfiguration
2021-10-26 21:32:02 +02:00
Petr Mikheev
6aab246879
Add ESM records that are needed to store Lua scripts configuration;
...
Use ptr.getType() (i.e. esm record names) instead of typeid(ptr.getClass()) in apps/openmw/mwlua.
2021-10-26 21:32:02 +02:00
Evil Eye
4ec927829f
Give each reflect and spell absorption effect a chance to apply
2021-10-26 16:50:40 +02:00
psi29a
c0dca5371b
Merge branch 'recalc_mana' into 'master'
...
Don't wait a frame to recalculate magicka
Closes #3792
See merge request OpenMW/openmw!1323
2021-10-26 08:58:04 +00:00
psi29a
2765bcee5e
Merge branch 'serialization' into 'master'
...
Add helpers for binary serialization
See merge request OpenMW/openmw!1319
2021-10-26 08:25:17 +00:00
glassmancody.info
ba4f1921ab
overrides
2021-10-25 15:04:55 -07:00
glassmancody.info
07e32c0fa6
remove object shader path
2021-10-25 10:23:16 -07:00
Evil Eye
289e1544d2
Don't wait a frame to recalculate magicka
2021-10-25 16:54:50 +02:00
Bret Curtis
3d0da9b9b2
Merge pull request #3191 from akortunov/warnfix
...
Fix some MSVC warnings
2021-10-25 15:17:05 +02:00
Bo Svensson
1ff8318a52
refactors premultiplied alpha ( #3189 )
...
With this PR we refactor a `premultiplied alpha` user string set by `characterpreview.cpp` into a more flexible mechanism allowing us to assign any state to GUI textures. We can consider these changes more future proof than the previous approach.
2021-10-25 09:28:32 +02:00
Bo Svensson
7f9beac3a7
refactors a case insensitive map ( #3184 )
...
This PR aims to spark the retirement of a questionable pattern I have found all over our code base. I will illustrate how this pattern encourages code duplication, lacks type safety, requires documentation and can be prone to bugs.
```
std::map<std::string, Object> mMap; // Stored in all lowercase for a case-insensitive lookup
std::string lowerKey = Misc::StringUtils::lowerCase(key);
mMap.emplace(lowerKey, object);
std::string lowerKey = Misc::StringUtils::lowerCase(key);
mMap.find(lowerKey);
mMap.find(key); // Not found. Oops!
```
An alternative approach produces no such issues.
```
std::unordered_map<std::string, Object, Misc::StringUtils::CiHash, Misc::StringUtils::CiEqual> mMap;
mMap.emplace(key, object);
mMap.find(key);
```
Of course, such an alternative will work for a `map` as well, but an `unordered_map` is generally preferable over a `map` with these changes because we have moved `lowerCase` into the comparison operator.
In this PR I have refactored `Animation::mNodeMap` accordingly. I have reviewed and adapted all direct and indirect usage of `Animation::mNodeMap` to ensure we do not change behaviour with this PR.
2021-10-25 09:18:26 +02: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
9cbbd2fff5
better transitions
2021-10-24 17:13:42 -07:00
Andrei Kortunov
107a9ecb17
Fix variables hiding
2021-10-24 18:45:04 +04:00
elsid
a58f1a94e3
Add helpers for binary serialization
...
To construct serializer from given entities:
* Data source/destination - any value that has to be serialized/deserialized,
usually already existing type.
* Format - functional object to define high level serialization logic to
define specific format and data schema. Like order of fields, allocation.
* Visitor - functional object to define low level serialization logic to
operator on given data part.
* BinaryWriter - copies given value into provided buffer.
* BinaryReader - copies value into given destination from provided buffer.
* SizeAccumulator - calculates required buffer size for given data.
2021-10-24 14:20:44 +02:00
glassmancody.info
1e40d27318
introduce sky shaders
2021-10-23 17:53:38 -07:00
Evil Eye
f70a154195
Merge branch 'place' of github.com:akortunov/openmw into master
2021-10-23 11:34:42 +02:00
psi29a
217d17adeb
Merge branch 'ugly_rounding' into 'master'
...
Prevent floating point issues accumulating
See merge request OpenMW/openmw!1306
2021-10-23 08:39:26 +00:00
Bo Svensson
c9c8d02332
fixes a crash ( #3183 )
...
This PR fixes a crash caused by the improperly ensured lifetime of RigGeometry::mSourceGeometry. mSourceGeometry was not adequate to ensure mSourceGeometry would outlive mGeometry because we extend mGeometrys lifetime beyond this lifetime by passing mGeometry to the draw traversal instead of this.
In addition,
We add important comments.
We detect and prevent generally unsafe operations in high level code.
We add a sprinkling of const to help clarify intentions.
2021-10-23 10:31:46 +02:00
Evil Eye
b5c876299d
Round to a power of two
2021-10-23 09:29:16 +02:00
wareya
e23b0edda4
Add pre-pass to collision trace function that traces over less distance if possible
2021-10-22 23:11:23 -04:00
psi29a
1ffa02b2fd
Merge branch 'fix_windows_tests' into 'master'
...
Fix tests on windows
See merge request OpenMW/openmw!1313
2021-10-22 12:35:10 +00:00
psi29a
a4899d72f4
Merge branch 'deduplicate_swim_speed' into 'master'
...
Deduplicate swim speed formula implementation
See merge request OpenMW/openmw!1310
2021-10-22 12:34:19 +00:00
psi29a
ed811176bc
Merge branch 'fix_esm_loader' into 'master'
...
Fix logic expression for not found value in EsmLoader::getModel
See merge request OpenMW/openmw!1308
2021-10-22 12:33:39 +00:00
psi29a
0d810fe41c
Merge branch 'init_gmst' into 'master'
...
Use lambda instead of bool to make sure GMST initialized once
See merge request OpenMW/openmw!1309
2021-10-21 21:41:29 +00:00
Alexei Kotov
156f2a471a
Merge branch 'self_target' into 'master'
...
Apply on self effects on projectiles to the target instead
Closes #6321
See merge request OpenMW/openmw!1312
2021-10-21 20:37:11 +00:00
elsid
b5f0057ac9
Fix tests on windows
2021-10-21 19:48:31 +02:00
Evil Eye
63fa6d3b7c
Apply on self effects on projectiles to the target instead
2021-10-21 17:28:36 +02:00
Evil Eye
31a7c83cc7
Fix a regression involving default arguments
2021-10-21 17:22:15 +02:00
elsid
68ed8487b5
Use lambda instead of bool to make sure GMST initialized once
...
This is less expensive than having 2 static variables and thread-safe.
2021-10-21 03:19:12 +02:00
elsid
2a0e1697b6
Deduplicate swim speed formula implementation
2021-10-21 01:25:09 +02: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
a3b6bc7263
Fix logic expression for not found value
2021-10-20 17:48:10 +02:00
Evil Eye
dd4d8b2649
Prevent floating point issues accumulating
2021-10-19 21:38:07 +02:00
psi29a
a5b9c9160d
Merge branch 'compression' into 'master'
...
Add functions to compress/decompress vector of bytes
See merge request OpenMW/openmw!1305
2021-10-19 08:07:22 +00:00
elsid
1da9c75692
Add missing initialization for Enchanting::mObjectType
2021-10-18 22:11:48 +02:00
elsid
e5413c0664
Add functions to compress/decompress vector of bytes
2021-10-18 20:46:22 +02:00
Petr Mikheev
17f7a1a2ea
Merge branch 'fix_lua_test' into 'master'
...
Fix LuaUtilPackageTest.Transform
See merge request OpenMW/openmw!1302
2021-10-18 07:16:10 +00:00
elsid
bb26ba30b6
Add progress reporter type
...
To log/report progress of long duration operations using given time period.
2021-10-18 01:26:10 +02:00
AnyOldName3
9be606a40d
Finish removing old Escape classes
2021-10-17 23:40:34 +01:00
elsid
23026caacc
Fix LuaUtilPackageTest.Transform
...
It can fail due to float arithmetic precision with error:
Expected equality of these values:
getAsString(lua, "moveAndScale")
Which is: "TransformM{ move(6, 22, 18) scale(0.5, 1, 0.5) rotation(angle=8.53284e-17, axis=(1, 0, 0)) }"
"TransformM{ move(6, 22, 18) scale(0.5, 1, 0.5) }"
2021-10-17 22:47:18 +02:00
psi29a
d8d16a52e1
Merge branch 'esm_loader' into 'master'
...
Add ESM data loader
See merge request OpenMW/openmw!1301
2021-10-17 19:21:32 +00:00
elsid
046b5f83ee
Add ESM data loader
...
A component to load ESM content files with limited support for record types and
selection which of them to load. Supported record types are:
ACTI, CELL, CONT, DOOR, GMST, LAND, STAT.
2021-10-17 19:55:29 +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
Andrei Kortunov
362c124e8f
Allow to place levelled creatures to the game world (bug 6347)
2021-10-17 17:58:54 +04:00
psi29a
00b28d2665
Merge branch 'over_time' into 'master'
...
Fix particles and magnitudes for (damage) over time effects
See merge request OpenMW/openmw!1298
2021-10-17 12:12:22 +00:00
psi29a
2f0484f4fc
Merge branch 'clear_me_not' into 'master'
...
Do not clear depth buffer in first person (#6078 )
Closes #6078
See merge request OpenMW/openmw!1119
2021-10-17 09:30:30 +00:00
glassmancody.info
cc009d246f
do not clear depth buffer in first person
2021-10-16 18:37:34 -07:00
unknown
add6eb9c95
Fix particles and magnitudes for (damage) over time effects
2021-10-16 21:40:41 +02:00
psi29a
c051298848
Merge branch 'sqlite3_helpers' into 'master'
...
Add sqlite3 helpers
See merge request OpenMW/openmw!1299
2021-10-16 18:48:02 +00:00
elsid
c88367b6a6
Add sqlite3 helpers
2021-10-16 17:43:08 +02:00
elsid
501316a9f7
Add missing initialization in MWPhysics::Object
...
==16218== Conditional jump or move depends on uninitialised value(s)
==16218== at 0xCDBC27: MWPhysics::Object::commitPositionChange() (object.cpp:68)
==16218== by 0xCE5B64: MWPhysics::PhysicsTaskScheduler::updatePtrAabb(std::shared_ptr<MWPhysics::PtrHolder> const&) (mtphysics.cpp:446)
==16218== by 0xCE5CC3: operator() (mtphysics.cpp:432)
==16218== by 0xCE5CC3: for_each<std::_Rb_tree_const_iterator<std::shared_ptr<MWPhysics::PtrHolder> >, MWPhysics::PhysicsTaskScheduler::updateAabbs()::<lambda(const std::shared_ptr<MWPhysics::PtrHolder>&)> > (stl_algo.h:3820)
==16218== by 0xCE5CC3: MWPhysics::PhysicsTaskScheduler::updateAabbs() (mtphysics.cpp:431)
==16218== by 0xCE5E35: MWPhysics::PhysicsTaskScheduler::afterPreStep() (mtphysics.cpp:586)
==16218== by 0xCE6238: operator() (mtphysics.cpp:533)
==16218== by 0xCE6238: wait<MWPhysics::PhysicsTaskScheduler::doSimulation()::<lambda()> > (barrier.hpp:33)
==16218== by 0xCE6238: MWPhysics::PhysicsTaskScheduler::doSimulation() (mtphysics.cpp:533)
==16218== by 0xCE6377: MWPhysics::PhysicsTaskScheduler::worker() (mtphysics.cpp:464)
==16218== by 0x74523C3: execute_native_thread_routine (thread.cc:82)
==16218== by 0x76FF258: start_thread (in /usr/lib/libpthread-2.33.so)
==16218== by 0x78155E2: clone (in /usr/lib/libc-2.33.so)
==16218==
==16218== Conditional jump or move depends on uninitialised value(s)
==16218== at 0xCDBC30: MWPhysics::Object::commitPositionChange() (object.cpp:73)
==16218== by 0xCE5B64: MWPhysics::PhysicsTaskScheduler::updatePtrAabb(std::shared_ptr<MWPhysics::PtrHolder> const&) (mtphysics.cpp:446)
==16218== by 0xCE5CC3: operator() (mtphysics.cpp:432)
==16218== by 0xCE5CC3: for_each<std::_Rb_tree_const_iterator<std::shared_ptr<MWPhysics::PtrHolder> >, MWPhysics::PhysicsTaskScheduler::updateAabbs()::<lambda(const std::shared_ptr<MWPhysics::PtrHolder>&)> > (stl_algo.h:3820)
==16218== by 0xCE5CC3: MWPhysics::PhysicsTaskScheduler::updateAabbs() (mtphysics.cpp:431)
==16218== by 0xCE5E35: MWPhysics::PhysicsTaskScheduler::afterPreStep() (mtphysics.cpp:586)
==16218== by 0xCE6238: operator() (mtphysics.cpp:533)
==16218== by 0xCE6238: wait<MWPhysics::PhysicsTaskScheduler::doSimulation()::<lambda()> > (barrier.hpp:33)
==16218== by 0xCE6238: MWPhysics::PhysicsTaskScheduler::doSimulation() (mtphysics.cpp:533)
==16218== by 0xCE6377: MWPhysics::PhysicsTaskScheduler::worker() (mtphysics.cpp:464)
==16218== by 0x74523C3: execute_native_thread_routine (thread.cc:82)
==16218== by 0x76FF258: start_thread (in /usr/lib/libpthread-2.33.so)
==16218== by 0x78155E2: clone (in /usr/lib/libc-2.33.so)
==16218==
2021-10-16 00:43:50 +02:00
elsid
d06e697356
Initialize RenderingManager fields before use
...
PostProcessor is constructed before mNearClip, mViewDistance, mFieldOfView are
initialized and the constructor calls updateProjectionMatrix that uses these
fields.
==16218== Conditional jump or move depends on uninitialised value(s)
==16218== at 0x722EBE: min<float> (stl_algobase.h:235)
==16218== by 0x722EBE: MWRender::RenderingManager::updateProjectionMatrix() (renderingmanager.cpp:1183)
==16218== by 0x7D022F: MWRender::PostProcessor::PostProcessor(MWRender::RenderingManager&, osgViewer::Viewer*, osg::Group*) (postprocessor.cpp:144)
==16218== by 0x728B41: MWRender::RenderingManager::RenderingManager(osgViewer::Viewer*, osg::ref_ptr<osg::Group>, Resource::ResourceSystem*, SceneUtil::WorkQueue*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DetourNavigator::Navigator&) (renderingmanager.cpp:452)
==16218== by 0xBB5E65: MWWorld::World::World(osgViewer::Viewer*, osg::ref_ptr<osg::Group>, Resource::ResourceSystem*, SceneUtil::WorkQueue*, Files::Collections const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, ToUTF8::Utf8Encoder*, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (worldimp.cpp:190)
==16218== by 0xDEEA6F: OMW::Engine::prepareEngine(Settings::Manager&) (engine.cpp:789)
==16218== by 0xDF2068: OMW::Engine::go() (engine.cpp:959)
==16218== by 0xDE7B8F: runApplication(int, char**) (main.cpp:220)
==16218== by 0x1006593: wrapApplication(int (*)(int, char**), int, char**, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debugging.cpp:205)
==16218== by 0x7152C3: main (main.cpp:232)
==16218==
==17455== Conditional jump or move depends on uninitialised value(s)
==17455== at 0x4F8613F: osg::Matrixd::makeFrustum(double, double, double, double, double, double) (Matrix_implementation.cpp:916)
==17455== by 0x4EC0E11: osg::Camera::setProjectionMatrixAsPerspective(double, double, double, double) (Matrixd:580)
==17455== by 0x722DDA: MWRender::RenderingManager::updateProjectionMatrix() (renderingmanager.cpp:1167)
==17455== by 0x7D01EF: MWRender::PostProcessor::PostProcessor(MWRender::RenderingManager&, osgViewer::Viewer*, osg::Group*) (postprocessor.cpp:144)
==17455== by 0x728BA1: MWRender::RenderingManager::RenderingManager(osgViewer::Viewer*, osg::ref_ptr<osg::Group>, Resource::ResourceSystem*, SceneUtil::WorkQueue*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DetourNavigator::Navigator&) (renderingmanager.cpp:453)
==17455== by 0xBB5E25: MWWorld::World::World(osgViewer::Viewer*, osg::ref_ptr<osg::Group>, Resource::ResourceSystem*, SceneUtil::WorkQueue*, Files::Collections const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, ToUTF8::Utf8Encoder*, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (worldimp.cpp:190)
==17455== by 0xDEEA3F: OMW::Engine::prepareEngine(Settings::Manager&) (engine.cpp:789)
==17455== by 0xDF2038: OMW::Engine::go() (engine.cpp:959)
==17455== by 0xDE7B5F: runApplication(int, char**) (main.cpp:220)
==17455== by 0x1006563: wrapApplication(int (*)(int, char**), int, char**, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (debugging.cpp:205)
==17455== by 0x7152C3: main (main.cpp:232)
==17455==
2021-10-16 00:43:31 +02:00
psi29a
ac3c02496c
Merge branch 'terrainselectionoptimize' into 'master'
...
Terrain selection optimizations
See merge request OpenMW/openmw!1261
2021-10-15 20:46:20 +00:00
Chris Djali
9c040d1ff7
Merge pull request #3175 from bosvensson1/patch-52
...
removes sky bounds
2021-10-15 20:12:32 +01:00
unelsson
14c4bba4a3
Remove unused include
2021-10-15 21:54:00 +03:00
unelsson
28278e9a82
Drawing duplicate lines is faster than iterating through big containers
2021-10-15 21:54:00 +03:00
unelsson
55456a19fc
Only iterate through temporary selection when using toggle
2021-10-15 21:54:00 +03:00
unelsson
46960825ef
Various terrain selection and editmode dragging fixes
2021-10-15 21:54:00 +03:00
unelsson
89a20b6ea5
Call dragEnded instead of pressed also after aborted operation
2021-10-15 21:54:00 +03:00
unelsson
3df9ceda03
Remove measurement code
2021-10-15 21:54:00 +03:00
unelsson
7602d677fa
Terrain selection optimizations, measurements, renderBin change
2021-10-15 21:54:00 +03:00
psi29a
ed1953b811
Merge branch 'actor_souls_only' into 'master'
...
Don't hit the ground
Closes #6339
See merge request OpenMW/openmw!1295
2021-10-14 17:15:02 +00:00
Evil Eye
5805c0114a
Don't hit the ground
2021-10-14 17:40:03 +02:00
psi29a
29082ff658
Merge branch 'morrowland_the_musical' into 'master'
...
Stop trying to play non-existent music files started by scripts
See merge request OpenMW/openmw!1293
2021-10-14 15:25:11 +00:00
psi29a
787da4891c
Merge branch 'actor_souls_only' into 'master'
...
Check if the target is an actor before updating magic effects
Closes #6339
See merge request OpenMW/openmw!1294
2021-10-14 15:19:16 +00: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
Evil Eye
bba80b07a2
Check if the target is an actor
2021-10-14 16:49:30 +02:00
Bo Svensson
db3d938ee9
cleans up BSAFile ( #3177 )
...
We currently build a large map of a BSAFile's contents unused by Open MW. We already map archive contents in VFS. With this PR we remove the map from BSAFile and reimplement its only current use in BSATool.
2021-10-14 14:46:44 +02: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
Evil Eye
4a6464ea67
Stop trying to play non-existent music files started by scripts
2021-10-13 22:40:07 +02:00
Evil Eye
ec6451e93a
Merge branch 'recordtype' into 'master'
...
Avoid copying std::string in MWWorld::Ptr::getTypeDescription()
See merge request OpenMW/openmw!1290
2021-10-13 17:04:32 +00:00
Bo Svensson
fc9ab97950
sky.cpp
2021-10-13 10:08:28 +00:00
Petr Mikheev
4e9d691715
Add comment for MWWorld::Ptr::getType() because it is not obvious.
2021-10-12 21:30:37 +02:00
Evil Eye
6b482d0b52
Merge branch 'openmw-tradeglitch' into master
2021-10-12 18:19:19 +02:00
psi29a
6ec66edb7c
Merge branch 'soulful' into 'master'
...
Fix soul trapping for one shot kills
Closes #6337
See merge request OpenMW/openmw!1288
2021-10-12 07:59:44 +00:00
psi29a
67fa8413f3
Merge branch 'physics_heightfield' into 'master'
...
Replace float type for arguments to create heightfield with int
See merge request OpenMW/openmw!1285
2021-10-12 07:58:34 +00:00
psi29a
207a7245bc
Merge branch 'navigator_settings' into 'master'
...
Initialize navigator max climb and max slope settings in makeSettingsFromSettingsManager
See merge request OpenMW/openmw!1283
2021-10-12 07:02:08 +00:00
psi29a
444765e304
Merge branch 'navmesh_agent_half_extents' into 'master'
...
Define default actor half extents in settings
See merge request OpenMW/openmw!1282
2021-10-12 07:01:13 +00:00
Petr Mikheev
a8acc19988
Avoid copying std::string in MWWorld::Ptr::getTypeDescription()
2021-10-12 00:18:23 +02:00
elsid
405e814190
Move btCollisionObject creation for MWPhysics::Object into components
2021-10-11 23:14:02 +02:00
Evil Eye
ae4578f566
Fix soul trapping for one shot kills
2021-10-11 21:46:15 +02:00
Petr Mikheev
fec65acd18
Move getters to header in order to allow inlining
2021-10-11 21:33:35 +02:00
elsid
144862aa35
Define default actor half extents in settings
...
Player's half extents may change over time when wolfskin model is used for
example. Having it in settings is a more presistent approach.
2021-10-11 19:41:43 +02:00
elsid
7c5a590890
Replace float type for arguments to create heightfield with int
...
To reduce amount of computations on the caller side and restrict possible
values.
* verts can't be non-int because it's a number of things.
* worldsize is initially defined as int by ESM::Land::REAL_SIZE.
* Put function to calculate heightfied shift into components to be able to
reuse by other binaries.
2021-10-11 19:28:08 +02:00
elsid
6986feb81b
Initialize navigator max climb and max slope settings in makeSettingsFromSettingsManager
...
To avoid having multiple places to initialize them when they will be required
by multiple binaries.
2021-10-11 18:50:26 +02:00
Bo Svensson
d6613d3677
mostly reverts MWLua changes ( #3170 )
...
We just can no longer use the former ptr.getTypeName() as a fallback, but I do not suppose it matters. This value was an implementation defined string that usually contained a garbled mess.
Probably we should additionally refactor Lua types completely now that we have Ptr::getType(). I will leave this up to MWLua developers.
2021-10-11 16:56:26 +02:00
Bo Svensson
5cf9995a31
fixes windows build
2021-10-11 13:28:37 +00: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
Bo Svensson
98f8295765
allows to skip ComputeLightSpaceBounds traversal ( #3152 )
...
Currently, we always traverse the scene graph an additional time with a ComputeLightSpaceBounds visitor during shadow casting. ComputeLightSpaceBounds is only useful when the shadow casting mask allows us to shrink the bounds of the rendered scene, so we guard its traversal with a check against getCastsShadowTraversalMask. In practice, this guard never works because we build the traversal mask inclusively.
With this PR we limit the getCastsShadowTraversalMask check to relevant masks. This new check allows us to skip a superfluous ComputeLightSpaceBounds traversal with most settings.
2021-10-11 11:27:50 +02:00
psi29a
66a6b80df9
Merge branch 'thrust_into_the_light' into 'master'
...
Detect keys and enchanted items in containers without custom data
Closes #6326
See merge request OpenMW/openmw!1265
2021-10-11 09:13:31 +00:00
psi29a
f9124ccea6
Merge branch 'recast_mesh_slope' into 'master'
...
Use different colors for walkable and non-walkable recast mesh triangles
See merge request OpenMW/openmw!1277
2021-10-11 08:56:04 +00:00
psi29a
3e2694dde9
Merge branch 'catch_me' into 'master'
...
Remove active effects from spells that no longer exist
See merge request OpenMW/openmw!1273
2021-10-11 08:53:48 +00:00
psi29a
d3bad2dba2
Merge branch 'stripperiffic_werewolves' into 'master'
...
Remove magic effects before saving stats when turning into a werewolf
Closes #6330
See merge request OpenMW/openmw!1270
2021-10-11 08:52:46 +00:00
psi29a
21c4504d35
Merge branch 'max_slope' into 'master'
...
Change max walkable slope angle to 46 degrees
See merge request OpenMW/openmw!1280
2021-10-11 08:22:35 +00:00
Bo Svensson
cbcdd705ee
minor objectpaging.cpp scene graph optimisations ( #3155 )
...
We now use PositionAttitudeTransform for unmerged nodes because I have been informed PositionAttitudeTransform's scene graph performance is measurably faster than MatrixTransform's. We still need to use MatrixTransform for merged nodes because the Optimizer has limited support for non-MatrixTransform nodes. These MatrixTransforms will be removed in the merging process anyway.
2021-10-11 10:09:01 +02:00
AnyOldName3
18869c2c75
Add some extra tests
...
The behaviour here is unchanged, but was previously untested.
2021-10-11 00:02:33 +01:00
AnyOldName3
7fb5b773dd
Remove obsolete tests
...
The old behaviour was basically a bug and @ doesn't mean anything special now
2021-10-11 00:01:58 +01:00
AnyOldName3
1b83b08d80
Merge remote-tracking branch 'upstream/master' into detain-hash
...
Tests which no longer work are commented out.
Some of these don't work because they're effectively testing for the
presence of bugs in the old implementation.
Others don't work because we're no longer accidentally disabling the
boost::program_options feature where it generates an error if only part
of a token gets consumed.
These will be fixed by later commits.
2021-10-10 23:50:50 +01:00
elsid
ff9aabafd1
Change max walkable slope angle to 46 degrees
...
This is the value used by vanilla Morrowind engine. At this angle player
character starts sliding down the slope.
This fixes navigation and movement issue in Mournhold, Godsreach.
2021-10-10 18:25:05 +02:00
Bo Svensson
af759683b8
enables std::move in keywordsearch.hpp ( #3163 )
...
For some reason we have commented std::move keywords in keywordsearch.hpp while they are quite beneficial. openmw_test_suite for keywordsearch.hpp takes 30% less time with these changes.
2021-10-10 18:15:40 +02:00
elsid
0c8a811ad5
Render only cached recast mesh
...
To avoid waiting while recast mesh is generating.
Remove redundant continue.
2021-10-10 13:13:57 +02:00
Evil Eye
3d5950f790
Remove active effects from spells that no longer exist
2021-10-09 12:27:17 +02:00
AnyOldName3
af0d399103
Purge all uses of Escape Hash types
2021-10-09 01:49:08 +01:00
Evil Eye
ec735529da
Remove active effects from the player when transforming
2021-10-08 17:32:41 +02:00
Evil Eye
f6eeee3ad5
Detect keys and enchanted items in containers without custom data
2021-10-08 16:51:30 +02:00
psi29a
7af245d205
Merge branch 'sync_sync_with_async' into 'master'
...
Merge logic of sync and async physics simulation
See merge request OpenMW/openmw!1250
2021-10-08 09:35:32 +00:00
psi29a
ae31138686
Merge branch 'options_tests' into 'master'
...
Add tests for openmw options
See merge request OpenMW/openmw!1253
2021-10-08 08:02:40 +00:00
psi29a
9c47fdcf7e
Merge branch 'flip_sign' into 'master'
...
Fix regression #6328
Closes #6328
See merge request OpenMW/openmw!1267
2021-10-08 06:47:57 +00:00
psi29a
1332e57195
Merge branch 'outside_means_outside' into 'master'
...
Make StayOutside only block teleportation from exteriors to interiors
Closes #6323
See merge request OpenMW/openmw!1268
2021-10-08 06:46:42 +00:00
psi29a
fc7e13d76a
Merge branch 'omwaddon_dep' into 'master'
...
Allow creating omwaddons without a dependency on an omwgame
See merge request OpenMW/openmw!1243
2021-10-08 06:40:43 +00:00
Evil Eye
caafd0c667
Remove CE enchantments before saving stats when turning into a werewolf
2021-10-07 21:09:43 +02:00
psi29a
1f62fd3b56
Merge branch 'Fix_Keyword_Report_to_caius' into 'master'
...
Fix keyword search when the keyword is preceded by a non whitespace non alpha character
Closes #6308
See merge request OpenMW/openmw!1266
2021-10-07 13:26:40 +00:00
florent teppe
e5abadc234
Fix keyword search when the keyword is preceded by a non whitespace non alpha character
2021-10-07 13:26:40 +00:00
psi29a
555224a0fb
Merge branch 'fixes' into 'master'
...
Make compilers happy and fix the changelog
See merge request OpenMW/openmw!1260
2021-10-07 10:17:27 +00:00
Evil Eye
dfc72e9b7e
Make StayOutside only block teleportation from exteriors to interiors
2021-10-06 18:25:28 +02:00
Evil Eye
7540265432
Fix regression #6328
2021-10-06 17:14:00 +02:00
Bo Svensson
787f91211d
resets state updater to apply light settings ( #3141 )
...
resets state updater to apply light settings
With this PR we achieve the same effect with fewer lines of code.
2021-10-06 11:21:30 +02:00
psi29a
c3f5e8f968
Merge branch 'lua_transform' into 'master'
...
3D transforms in Lua
See merge request OpenMW/openmw!1235
2021-10-06 09:21:21 +00:00
elsid
035307b012
Add tests for openmw options
...
In attempt to document current behaviour. Add commented out checks as desired
behaviour.
2021-10-05 22:51:12 +02:00
Kindi
ce54edf011
Update tradewindow.cpp
...
Additional check
2021-10-05 18:00:53 +00:00
Bo Svensson
442a0e8434
avoids two transforms in sky.cpp ( #3150 )
...
As we discovered in #3148 , `Transform` nodes and their low level equivalence `pushModelViewMatrix` are somewhat costly involving a `Matrix::invert` operation per frame.
With this PR we avoid one `Transform` node for sun flashes and avoid another `pushModelViewMatrix` call in case the sun is fully visible.
2021-10-05 16:00:30 +02:00
fredzio
3b174d72d8
Introduce 3 scoped mutex wrappers to allow to conditionally skip taking
...
mutexes in synchronous case.
2021-10-05 15:52:27 +02:00
fredzio
21dbe314bf
Use common function for sync and async case. Now both cases follow the
...
same flow, synchronous simulation is just a special case.
2021-10-05 15:44:20 +02:00
Frederic Chardon
499b161e7b
Merge handleFall() and updateMechanics() into updateActor(). It remove gratuitious differences between sync and async cases. Also, it will make the after simulation update logic easier to follow when projectiles move into the simulation thread.
2021-10-05 15:44:20 +02:00
Bret Curtis
0d1d3e67bc
Merge pull request #3149 from bosvensson1/patch-24
...
With this PR we fix a -Wreorder warning.
2021-10-05 15:07:02 +02:00
Bo Svensson
4b1c009ffd
use StateSet define for translucentFramebuffer ( #3138 )
...
With this PR we test out osg's shader define system for a somewhat harmless feature. As we can see, our code becomes more concise and efficient in this case. Most importantly, we no longer create unneeded vertex shader objects.
2021-10-05 14:37:08 +02:00
Bo Svensson
b2af81bc18
converts remaining osg::NodeCallback ( #3147 )
...
With this PR we convert remaining instantiations of the deprecated osg::NodeCallback in Open MW to SceneUtil::NodeCallback.
2021-10-05 14:21:12 +02:00
Bo Svensson
9f58616aa0
fixes -Wreorder warning
2021-10-05 12:02:49 +00:00
Bo Svensson
8e9851c97c
npcanimation.cpp ( #3148 )
2021-10-05 13:52:19 +02:00
Kindi
d9b254178f
Update tradewindow.hpp
...
remover redundant
2021-10-04 20:47:45 +00:00
Kindi
f28d6738bf
Update tradewindow.cpp
2021-10-04 20:44:56 +00:00
Bo Svensson
e4a9eefc2a
uses a bitfield in refdata.hpp ( #3143 )
...
* uses a bitfield in refdata.hpp
With this simple change we pack boolean values to reduce the memory requirements of game objects.
* refdata.hpp [ci skip]
* refdata.cpp
2021-10-04 12:12:00 +02:00
Bo Svensson
aaf7b423d6
adds a replacement for osg::NodeCallback ( #3144 )
...
* nodecallback.hpp
* lightmanager.hpp
* lightmanager.cpp
* lightmanager.hpp
* nodecallback.hpp
* nodecallback.hpp
* [ci skip]
* lightmanager.hpp
* nodecallback.hpp
* nodecallback.hpp
* lightmanager.cpp
* lightmanager.cpp
* nodecallback.hpp
* [ci skip]
* [ci skip]
* controller.cpp
* [ci skip]
* osgacontroller.cpp
* keyframe.hpp
* controller.hpp
* keyframe.hpp
* [ci skip]
* keyframe.hpp
* animation.hpp
* [ci skip]
* weaponanimation.cpp
* nodecallback.hpp
2021-10-04 10:56:55 +02:00
Kindi
0c1b78c42a
Update tradewindow.cpp curly
2021-10-04 02:16:01 +00:00
kuyondo
071793eeb3
Merge branch 'master' of https://gitlab.com/Kuyondo/openmw
2021-10-04 08:12:56 +08:00
kuyondo
49da33a129
comiit
2021-10-04 08:12:15 +08:00
Evil Eye
d680aa26e9
Disallow switch fallthrough
2021-10-03 21:58:10 +02:00
psi29a
0e07fc38e5
Merge branch 'opencs-ui-tweaks' into 'master'
...
Minor UI tweaks all around OpenMW-CS
See merge request OpenMW/openmw!1212
2021-10-03 19:13:51 +00:00
Matjaž Lamut
1c9f06f742
Minor UI tweaks all around OpenMW-CS
2021-10-03 19:13:51 +00:00
psi29a
2c8c36fe5d
Merge branch 'master' into 'effective_magic'
...
# Conflicts:
# CHANGELOG.md
2021-10-01 21:20:08 +00:00
psi29a
bd866cf210
Merge branch 'fix_infidelities' into 'master'
...
Fix Infidelities quest from Tribunal (#6307 )
Closes #6307
See merge request OpenMW/openmw!1248
2021-10-01 21:12:15 +00:00
psi29a
1d342f80ed
Merge branch 'cursorspeedmerge' into 'master'
...
Updated: Change cursor speed with settings.cfg (#6312 )
Closes #6312
See merge request OpenMW/openmw!1255
2021-10-01 11:23:53 +00:00
psi29a
f6b27f610d
Merge branch 'revert_and_twist' into 'master'
...
Revert and restore the cell grid size with alternate fix
See merge request OpenMW/openmw!1259
2021-10-01 11:21:06 +00:00
Bret Curtis
52a10a4bc0
remove one last assert
2021-10-01 12:24:29 +02:00
Bo Svensson
2568f119a4
reapplies PR without npe ( #3137 )
...
* avoids creating empty statesets on drawables
Currently, we attempt to skip creating state on drawable nodes when this state matches the default state. This attempt is incomplete because we still create an avoidable empty stateset in the default case.
* renderingmanager.cpp
* nifloader.cpp
* nifloader.cpp
* shadervisitor.cpp
2021-10-01 10:11:00 +02:00
psi29a
9cf9da9cbd
Merge branch 'fix' into 'master'
...
Resolve warning: lambda capture 'defaultCollisionType' is not required to be captured for this use
See merge request OpenMW/openmw!1247
2021-10-01 08:02:17 +00:00
andrewapp
b5af192888
gamepad cursor speed fix
2021-10-01 09:19:26 +10:00
Bret Curtis
8309910d9d
Restore the cell grid to its former non-exorbitant size, reducing stutter and also threw in a simple alternative fix for the actor position adjustment issue.
2021-09-30 22:58:40 +02:00
Evil Eye
2de7b8e2fb
Allow non-biped creatures using weapons to open doors
2021-09-29 21:21:52 +02:00
Evil Eye
4abcb0d7b9
Remove applied magnitude instead of min magnitude
2021-09-29 19:25:12 +02:00
Evil Eye
63a9203dde
Fix icon magnitude
2021-09-29 19:25:12 +02:00
Evil Eye
43074347e8
Prevent spell duplication
2021-09-29 19:25:11 +02:00
Evil Eye
b8e4f18751
Clear temporary effects before unloading actors to prevent absorb effects becoming permanent
2021-09-29 19:25:11 +02:00
Evil Eye
161e042e2a
Prevent iterator invalidation when cleaning up summons
2021-09-29 19:25:11 +02:00
Evil Eye
dc1fe62dde
Overhaul magic effects to work with onApply and onEnd events
2021-09-29 19:25:10 +02:00
Andrei Kortunov
e109d86489
Revert "avoids creating empty statesets on drawables ( #3132 )"
...
This reverts commit 957c25a491
.
2021-09-29 21:01:22 +04:00
Bo Svensson
d8707a763f
fixes build ( #3134 )
...
* quadtreeworld.cpp
* renderingmanager.cpp [ci skip]
* quadtreeworld.hpp
* cellborder.hpp
* cellborder.cpp
2021-09-29 17:10:58 +02:00
Bret Curtis
803195a05f
add back some explicit includes
2021-09-29 16:29:10 +02:00
Bo Svensson
8358418555
set the correct program link parameters ( #3110 )
...
* shadermanager.hpp setProgramTemplate
* shadermanager.hpp
* shadermanager.cpp setProgramTemplate
* shadervisitor.hpp setProgramTemplate
* shadervisitor.cpp setProgramTemplate
* scenemanager.cpp setProgramTemplate
* scenemanager.hpp setProgramTemplate
* renderingmanager.cpp
* groundcover.cpp setProgramTemplate
* groundcover.hpp
* groundcover.cpp
* shadervisitor.cpp
* util.cpp
* lightmanager.cpp
* scenemanager.cpp
* scenemanager.hpp
* lightmanager.cpp
* lightmanager.cpp
* lightmanager.cpp
* scenemanager.hpp [ci skip]
* water.cpp
* groundcover.cpp
* shadermanager.hpp
2021-09-29 15:40:37 +02:00
Andrei Kortunov
1109cc3ac7
Remove unused data field ( #3133 )
2021-09-29 12:08:51 +02:00
Bo Svensson
957c25a491
avoids creating empty statesets on drawables ( #3132 )
...
* avoids creating empty statesets on drawables
Currently, we attempt to skip creating state on drawable nodes when this state matches the default state. This attempt is incomplete because we still create an avoidable empty stateset in the default case.
* renderingmanager.cpp
* nifloader.cpp
2021-09-29 09:58:19 +02:00
Andrei Kortunov
fc2076db1a
Fix MSVC warnings about local variables redeclaration ( #3130 )
2021-09-29 09:36:05 +02:00
elsid
c0ef4417c3
Check AiTravel destination for other actors presence
...
Use faster aabbTest but without destance filter. To avoid dependency on a
specific constant and correctly handle situations when there is a big
difference between actors sizes.
2021-09-29 01:05:23 +02:00
elsid
9950132a5f
Allow travelling actors find path over pathgrid navmesh area type
...
In addition to other navmesh areas. This makes actors behaviour closer to
vanilla when pathgrid is correct.
2021-09-29 01:05:23 +02:00
elsid
163968f578
Normalize area cost factor
...
Recastnavigation uses path cost and heuristic based on distance to find
shortest path by A* algorithm. Using raw speed values makes cost much lower
value than heuristic (1000 times less at maximum). Heuristic is defined as
distance from node to target * 0.999 that means area cost should never be less
than 0.999 or 1 for simplicity.
Use max speed to make lowest possible cost factor equal to 1.
2021-09-29 01:03:24 +02:00
Petr Mikheev
48538d5cef
3D transforms in Lua
2021-09-28 20:37:47 +02:00
Petr Mikheev
eb2f863b7d
Resolve unused-lambda-capture
warnings
2021-09-28 13:02:45 +02:00
Petr Mikheev
fb3917fc1a
Lua callbacks
2021-09-28 09:36:23 +02:00
Petr Mikheev
0bd1c22e24
Raycasting in Lua
2021-09-28 09:36:23 +02:00
Bret Curtis
fd251dfe55
remove unused member variable
2021-09-28 09:19:48 +02:00
Bo Svensson
5fde6867a2
removes unused code ( #3129 )
...
* scenemanager.cpp
* scenemanager.hpp
* scenemanager.cpp
* stats.cpp
* renderingmanager.cpp
2021-09-28 09:07:49 +02:00
Evil Eye
77a23dab09
Only add enabled objects to the scene
2021-09-27 22:23:00 +02:00
Petr Mikheev
e760a6c7e6
Merge branch 'forlua' into 'master'
...
Simple Physics API modification for Lua
See merge request OpenMW/openmw!1216
(cherry picked from commit d88494c90b501d0832ae0330a0ca81d8b8e5aa50)
02dd055a Save hitObject in castSphere() just like in castRay()
0793d0bf Allow to override collision mask and group for castSphere() as for castRay()
2021-09-27 19:50:57 +00:00
Bo Svensson
01cc61087b
improves paging preloader ( #3126 )
...
* Return check for distance when we try to reuse data
* [ci skip]
* [ci skip]
* [ci skip]
* [ci skip]
* [ci skip]
* cellpreloader.cpp
* [ci skip]
* [ci skip]
* [ci skip]
* [ci skip]
* [ci skip]
* [ci skip]
* [ci skip]
* [ci skip]
* quadtreeworld.cpp
* chunkmanager.cpp
* chunkmanager.cpp
* cellpreloader.cpp
* jvoisin
* whitespace
* whitespace
2021-09-27 21:32:18 +02:00
psi29a
782e0710af
Merge branch 'OpenCS-preserve-blocked' into 'master'
...
OpenCS - Preserve "blocked" record flags when saving. #6288
Closes #6288
See merge request OpenMW/openmw!1052
2021-09-27 19:21:20 +00:00
psi29a
908d196fee
Merge branch 'master' into 'undead_intelligence'
...
# Conflicts:
# CHANGELOG.md
2021-09-27 19:12:13 +00:00
psi29a
ade6cd0127
Merge branch 'editor_columns_filtering' into 'master'
...
Toggling table columns visibility. Partially implements #890
Closes #890
See merge request OpenMW/openmw!1232
2021-09-27 19:02:19 +00:00
psi29a
2cee222e73
Merge branch 'explosion_at_impact' into 'master'
...
Bring arrow behaviour in line with vanilla (#6233 and other change)
See merge request OpenMW/openmw!1188
2021-09-27 19:00:53 +00:00
Bo Svensson
c6f7137ee1
fixes bugs with share state ( #3111 )
...
* optimizer.cpp merge fix
* objectpaging.cpp
* optimizer.hpp setSharedStateManager
* optimizer.cpp shareState
* scenemanager.cpp shareState
* scenemanager.cpp
* optimizer.cpp
* optimizer.cpp
* scenemanager.cpp
* optimizer.cpp
2021-09-27 20:41:24 +02:00
Evil Eye
233bb287e1
Merge branch 'refactoring2' into 'master'
...
Minor refactoring: use Misc::normalizeAngle in worldimp.cpp
See merge request OpenMW/openmw!1242
2021-09-27 16:01:31 +00:00
Evil Eye
30c998f34e
Merge branch 'test_cells' into 'master'
...
Use same logic for testing cell as for loading cell
See merge request OpenMW/openmw!1240
2021-09-27 15:24:00 +00:00
Evil Eye
34cf66139a
Make GetCurrentAIPackage return -1 for non-actors and dead actors
2021-09-26 22:15:43 +02:00
Evil Eye
2f4df12b2e
Merge branch 'Fix_ASCII' into 'master'
...
Fixed an issue where keyword search expected the text to be all ASCII characters
See merge request OpenMW/openmw!1227
2021-09-26 20:08:55 +00:00
Petr Mikheev
413ac067ec
Allow creating omwaddons without a dependency on an omwgame
2021-09-26 17:44:28 +02:00
Petr Mikheev
83e0d9aeef
Minor refactoring: use Misc::normalizeAngle in worldimp.cpp
2021-09-26 17:28:51 +02:00
psi29a
e2e5161d81
Merge branch 'optimizebrushdraw' into 'master'
...
Optimize terrain editing brush drawing performance
Closes #6285
See merge request OpenMW/openmw!1226
2021-09-26 15:14:55 +00:00
elsid
5878b1fce6
Use same logic for testing cell as for loading cell
...
Having different branches makes testing less useful. If something fails in
regular executing it should fail in testing. To make it possible there should
be none differences in the execution paths.
2021-09-24 22:24:07 +02:00
elsid
d36595e09e
Make sure PathFinder::getClosestPoint is not called with failing precondition
...
Pathgrid should be not nullptr and points should be not empty.
2021-09-23 01:48:54 +02:00
Pi03k
e641bea606
Toggling table columns visibility
2021-09-22 10:47:08 +02:00
Petr Mikheev
5893b88409
Ignore time to destination when giving way ( #6296 )
2021-09-22 01:46:04 +02:00
Bo Svensson
b22fb7a7bf
consolidate node mask checks ( #3125 )
...
* consolidate node mask checks
This PR simplifies a few checks against node masks in object paging by using the osg provided `setTraversalMask`.
* objectpaging.cpp
2021-09-21 22:39:31 +02:00
Evil Eye
786b6b7c9a
Merge branch 'lua_util' into 'master'
...
Move LuaState::makeReadOnly(sol::table) out of the class
See merge request OpenMW/openmw!1229
2021-09-21 15:14:09 +00:00
florent.teppe
d9c3ba03f4
Uses limits instead of climits
2021-09-20 21:01:28 +02:00
Bo Svensson
99df1c695c
fixes wireframe is broken ( #3123 )
...
* renderingmanager.cpp [ci skip]
* groundcover.hpp [ci skip]
* groundcover.cpp
* renderingmanager.cpp [ci skip]
* renderingmanager.hpp
2021-09-20 20:17:55 +02:00
florent.teppe
2d32954888
Replaced Assert_true with expect_eq
2021-09-20 19:56:47 +02:00
psi29a
15bcbb5844
Merge branch 'getsquareroot' into 'master'
...
Remove duplicate GetSquareRoot implementation
See merge request OpenMW/openmw!1231
2021-09-19 19:49:55 +00:00
Evil Eye
831055f878
Merge branch 'OpenCS-fix-modify' into 'master'
...
OpenCS - Re-implement the fix for Issue #6067 .
See merge request OpenMW/openmw!1173
2021-09-19 19:23:30 +00:00
florent.teppe
0e06e9b221
Removed useless comment and converted the file to UTF8 to keep special characters
2021-09-19 20:31:22 +02:00
Evil Eye
6d7cb38834
Remove duplicate GetSquareRoot implementation
2021-09-19 19:53:38 +02:00
florent.teppe
c1c501ca35
Added test to make sure keyword search works even with non ascii characters
2021-09-19 15:05:48 +02:00
florent.teppe
bcb0526268
Added climits, it compiled on VS2019, but not with g++
2021-09-19 15:00:51 +02:00
Petr Mikheev
2f25257a3e
Move LuaState::makeReadOnly(sol::table) out of the class because it doesn't need to access LuaState internals.
2021-09-19 14:38:27 +02:00
Petr Mikheev
f1e3c55ea3
Fix deadlock in Lua worker thread ( #6286 )
2021-09-19 11:32:52 +02:00
florent.teppe
76be2e91e5
Fixed an issue where keyword search expected the text to be all ASCII characters
2021-09-18 18:25:04 +02:00
psi29a
68db9869f5
Merge branch 'DistantTerrainDebugChunks' into 'master'
...
Debug terrain chunks
See merge request OpenMW/openmw!1169
2021-09-18 15:21:26 +00:00
psi29a
18f5762a76
Merge branch 'master' into 'OpenCS-preserve-blocked'
...
# Conflicts:
# CHANGELOG.md
2021-09-18 15:20:26 +00:00
unelsson
70e210735a
Optimize terrain editing brush drawing performance
2021-09-18 15:57:00 +03:00
Pi03k
4ff5a04e9b
Remove redundant qt-related cmake macros
2021-09-17 14:41:04 +02:00
Bo Svensson
f62adab43a
Avoid the terrain sync completely in most cases ( #3103 )
...
We can take elsid's commit 605cb8d
further by avoiding the terrain sync completely in most cases. Currently in changeCellGrid we wait for a new preloading task to ensure the getPagedRefnums for the new active cells have been filled in by object paging. This is usually not necessary because we have already completed a preload in the past containing these active cells. With this PR we remember what we preloaded and skip the terrain sync if it is not needed.
2021-09-16 22:11:19 +02:00
psi29a
2be3a76b6a
Merge branch 'spin_me_right_round' into 'master'
...
Reset rotation when respawning actors
Closes #6273
See merge request OpenMW/openmw!1219
2021-09-15 08:27:25 +00:00
psi29a
24d1c2b5fa
Merge branch 'recurse_directory_iterator' into 'master'
...
VFS manager refactoring
See merge request OpenMW/openmw!1218
2021-09-15 07:20:52 +00:00
Cédric Mocquillon
6817282097
Move getFileExtension to common header and use instead of repeating same code
2021-09-14 18:09:55 +02:00
Cédric Mocquillon
c2df0949e2
Change normalizeFilename signature
2021-09-14 18:09:55 +02:00
Cédric Mocquillon
d4e26746a3
Use recurse subdirectory iterator to iterate over the VFS without exposing internal details
2021-09-14 18:09:54 +02:00
Evil Eye
60298cd66d
Reset rotation when respawning actors
2021-09-14 16:53:57 +02:00
pi03k
e4eeb9cce9
Remove 'no relevant classes' moc warning
2021-09-14 11:20:18 +02:00
Bo Svensson
b6f572578e
Groundcover optimisation ( #3101 )
...
* groundcover.cpp share state
* groundcover.hpp share state
2021-09-13 12:20:00 +02:00
psi29a
0ab8a7ddd7
Merge branch 'create-objects-menu' into 'master'
...
OpenMW-CS: Usability changes to the drop-down menu when creating a new object.
See merge request OpenMW/openmw!1210
2021-09-12 14:15:11 +00:00
psi29a
c40f921396
Revert "actoranimation.cpp faster getbonebyname ( #3099 )"
...
This reverts commit c284d0cf5c
2021-09-12 07:56:20 +00:00
Cédric Mocquillon
080c909c28
Merge the 'debug chunks' and 'object paging debug batches' settings into a single one
2021-09-11 21:53:05 +02:00
Bo Svensson
e2d0e86020
cellpreloader.cpp unused variable ( #3102 )
2021-09-11 20:58:42 +02:00
psi29a
f8c7664234
Merge branch 'copy_before_move' into 'master'
...
Maybe fix #6259
Closes #6259
See merge request OpenMW/openmw!1197
2021-09-11 09:32:50 +00:00
Bo Svensson
ac72f3d636
reduces virtual function calls in a hotspot of cache retrieval ( #3100 )
...
* chunkmanager.cpp static_cast [ci skip]
* groundcover.cpp static_cast [ci skip]
* Update objectpaging.cpp
objectpaging.cpp static_cast [ci skip]
2021-09-10 17:58:57 +02:00
Bret Curtis
1edeffbafc
constify getBoneByName
2021-09-09 23:57:20 +02:00
Bo Svensson
9d661359a1
Groundcover consolidation ( #3096 )
...
* chunkmanager.hpp viewdistance
* chunkmanager.cpp viewdistance
* chunkmanager.hpp viewdistance
* quadtreeworld.cpp viewdistance
* quadtreeworld.cpp consolidate
* quadtreeworld.hpp consolidate
* renderingmanager.cpp groundcover consolidate
* renderingmanager.hpp groundcover consolidate
* renderingmanager.cpp updater move
* renderingmanager.hpp updater move
* groundcover.hpp activegrid consolidation
* groundcover.cpp activegrid consolidation
* settings-default.cfg dead settings remove
* viewdata.cpp revert
* wrong file paste mistake
* wrong file paste mistake
* wrong file paste mistake
* renderingmanager.cpp updatecallback fix
* renderingmanager.cpp namespace fix
* groundcover.hpp redefinition fix
* groundcover.cpp redefinition fix
* renderingmanager.cpp crash fix
* renderingmanager.cpp euclidean groundcover distance
* viewdata.hpp getreusedistance
* quadtreeworld.cpp reusedistance
* groundcover.rst [ci skip]
2021-09-09 23:10:22 +02:00
Bo Svensson
c284d0cf5c
actoranimation.cpp faster getbonebyname ( #3099 )
2021-09-09 23:04:38 +02:00
Bo Svensson
147ed39900
This PR solves a crash with Robert's bodies logged on your bugtracker. ( #3095 )
...
* attach.cpp [ci skip]
* attach.cpp [ci skip]
* attach.cpp [ci skip]
* npcanimation.cpp [ci skip]
* attach.hpp [ci skip]
* attach.cpp [ci skip]
* creatureanimation.cpp [ci skip]
* creatureanimation.cpp [ci skip]
* cellpreloader.cpp
* npcanimation.cpp
* attach.cpp
* make android adk happy
* make android adk happy
* changelog.md [ci skip]
* authors.md [ci skip]
2021-09-09 22:56:57 +02:00
Lamoot
6e6214bc43
In OpenMW-CS, when creating a new object, sort the entries in the drop-down menu alphabetically. Also have the menu be tall enough to show all of them at once (without scroll bars).
2021-09-09 20:46:27 +02:00
elsid
6b7434ca69
Pass std::string_view instead of const std::string&
...
* Starting with Actor::getBodyPartMesh and ending with
Misc::StringUtils::ciEqual.
* Add tests for Misc::StringUtils::ciEqual.
2021-09-09 18:39:50 +02:00
psi29a
149241daae
Merge branch 'dead_animation_code_removal' into 'master'
...
Dead animation code removal
Closes #6264
See merge request OpenMW/openmw!1198
2021-09-08 10:07:54 +00:00
JanuarySnow
bdbc6c0cba
Dead animation code removal
2021-09-08 10:07:54 +00:00
psi29a
4bf22f3ca0
Merge branch 'fix_pathgrid_path' into 'master'
...
Use pathgrid path when destination is closer to different graph component node
See merge request OpenMW/openmw!1155
2021-09-08 09:55:42 +00:00
elsid
605cb8db7c
Make sync terrain preloading sleep free
...
This reduces average time spent on in. 5 milliseconds as a base precision is
quite a lot considering that for 60 FPS frame time is 1000/16 = ~16.67 ms
when it's a cell loading frame and there is more important work to do rather
than sleeping.
2021-09-07 14:52:42 +02:00
psi29a
aef6ec464c
Merge branch 'optimize_add_item' into 'master'
...
Optimize ContainerStore::stacks (attempt #2 )
See merge request OpenMW/openmw!1200
2021-09-07 08:40:02 +00:00
elsid
403f0a72f0
Do not copy RefId when need to compare
...
Makes ContainerStore::stacks ~4x times faster when adding 4k different items
in a single frame.
2021-09-06 22:52:09 +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
elsid
b0f772af40
Define dependency to OSG plugins in one place
...
Each binary depending on components library requires OSG plugins to be linked.
Duplicating dependecies for each binary does not give benefits and brings
problems when new binary is added.
2021-09-06 22:44:52 +02:00
Frederic Chardon
7b26058fa5
moveObject() has side effects that might invalidate iterators from mActors. Instead of iterating over mActors, make a copy of needed data and iterate over the copies.
2021-09-06 12:51:25 +02:00
psi29a
6170971ea3
Merge branch 'bettermoveinstance' into 'master'
...
Set instance movement based on camera zoom
See merge request OpenMW/openmw!1186
2021-09-06 09:48:30 +00:00
elsid
a8c16071dc
Fix -Wreturn-local-addr warning
...
/home/elsid/dev/openmw/apps/opencs/model/world/actoradapter.cpp: In member function ‘const string& CSMWorld::ActorAdapter::ActorData::getPart(ESM::PartReferenceType) const’:
/home/elsid/dev/openmw/apps/opencs/model/world/actoradapter.cpp:142:20: error: returning reference to temporary [-Werror=return-local-addr]
142 | return "";
| ^~
2021-09-04 18:04:45 +02:00
Petr Mikheev
76320aae45
Merge branch 'const_ret_val' into 'master'
...
Don't use `const` for objects returned by value.
See merge request OpenMW/openmw!1183
2021-09-04 12:41:52 +00:00
psi29a
a57b5674e5
Merge branch 'hash_actors' into 'master'
...
Replace std::map with std::unordered_map and use constant Ptr.mRef as a key
See merge request OpenMW/openmw!1129
2021-09-03 15:16:14 +00:00
psi29a
a0201feb97
Merge branch 'lua_tostring' into 'master'
...
Function LuaUtil::toString
See merge request OpenMW/openmw!1187
2021-09-03 13:09:17 +00:00
fredzio
d20730458d
Replace std::map with std::unordered_map for mActors and mObjects.
...
Use Ptr.mRef as a key instead of Ptr: it is constant for the lifetime of
the object.
2021-09-03 13:14:05 +02:00
fredzio
0bce6c09e1
Change projectile behaviour to be like in vanilla wrt. water plane:
...
- enchanted arrow explode upon hit the water plane
- non enchanted arrow disappear (or more accurately, they hit nothingness)
- enchanted arrow shot underwater explode immediately
- non enchanted arrow disappear immediately
Also, solve a bug that occured previously and could theoritically still happens where we use the last tested collision position for instead of the last registered hit:
Use the hit position as saved inside Projectile::hit() instead of the last position saved inside the callback.
If a projectile collides with several objects (bottom of the sea and water surface for instance), the last collision tested won't necessarily be the impact position as we have no control over the order in which the tests are performed.
2021-09-03 10:24:05 +02:00
jvoisin
d4e3575f1d
Don't use const
for objects returned by value.
...
This prevents the usage of std::move semantics,
and makes clang-tidy sad.
2021-09-01 22:23:50 +02:00
unelsson
f876ff2c14
Clear temporary movement data at the end of the drag
2021-09-01 02:04:04 +03:00
unelsson
53d315c862
XYZ-locking, mouse wheel move fix
2021-09-01 02:04:04 +03:00
unelsson
23fe3d74ab
Use floats, not doubles
2021-09-01 02:04:04 +03:00
unelsson
840e7615f5
Store object origins and move difference
2021-09-01 02:04:04 +03:00
unelsson
0d511da615
Test of basic mouse-plane use
2021-09-01 02:04:04 +03:00
fredzio
d1a5bc207b
Iterate over mInactiveCells when unloading cells in TestCells / TestInteriorCells. Otherwise we dereference an invalid iterator after deactiveCell().
2021-08-31 16:53:52 +02:00
elsid
0daf6f5d0b
Merge branch 'comma' into 'master'
...
Don't use comma where there is no need to.
See merge request OpenMW/openmw!1179
2021-08-31 12:33:15 +00:00
Petr Mikheev
33d4d88447
Function LuaUtil::toString
2021-08-31 09:41:58 +02:00
Evil Eye
18f51e1026
Merge branch 'nonull' into 'master'
...
Don't pass a nullptr to a std::string constructor
See merge request OpenMW/openmw!1178
2021-08-30 18:59:06 +00:00
Evil Eye
06e1b17cc1
Merge branch 'unnecessary_copy' into 'master'
...
Dont copy-construct from a const-ref when used only as a const-ref
See merge request OpenMW/openmw!1184
2021-08-29 19:39:51 +00:00
jvoisin
db4fe11a44
Don't pass a nullptr to a std::string constructor
...
This is undefined behaviour.
2021-08-29 20:41:15 +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
jvoisin
a15cca5763
Use reserve
on vectors for fixed loops
...
This is a bit useless, but has the merit of appeasing clang-tiday
2021-08-29 20:18:49 +02:00
jvoisin
a6b1e38eab
Don't use comma where there is no need to.
2021-08-29 14:12:14 +02:00
cc9cii
0a5571f19e
Disable editing for blocked records in both table and dialogue edit widget.
2021-08-29 15:27:59 +10:00
Evil Eye
b4486992f0
Allow Rieklings and Goblins to attack again
2021-08-28 10:45:00 +02:00
cc9cii
b0d5ca386d
Update original cell column and do not modify the refnum when moving a reference to another cell with 3D editing.
2021-08-28 16:12:40 +10:00
cc9cii
2eb210f31a
Partially undo commit 71be4cdd20
so that moved references retain the original refnum. This is consistent with vanilla CS's behaviour.
2021-08-28 16:12:40 +10:00
cc9cii
b2bd97f283
A different implementation to MR 1051 to fix Issue #6067 .
...
This MR doesn't delete the original record, but instead the original record is updated with the moved record when loading.
Issue #4752 is no longer addressed in this MR.
2021-08-28 14:09:55 +10:00
cc9cii
7264a10c07
Partially revert commit dab1a9e7fb
2021-08-28 09:49:45 +10:00
cc9cii
7227a83e60
Preserve "blocked" record flags when saving with OpenCS. This will help outputs of OpenCS to be used with vanilla Morrowind.
...
Sample use case: users are using the Morrowind Code Patch feature that allows modders to enable this flag to differentiate editor-made potions from player crafted potions for tooltips.
2021-08-28 09:42:54 +10:00
psi29a
66f028c4a1
Merge branch 'correctcommandimplementation' into 'master'
...
Don't do storage in constructors of the commands
See merge request OpenMW/openmw!1126
2021-08-27 07:30:45 +00:00
psi29a
d852b10227
Merge branch 'Map-door-markers-flicker-in-some-cells' into 'master'
...
Do not update doors markers at each frame, only when needed
Closes #6214
See merge request OpenMW/openmw!1168
2021-08-26 15:06:38 +00:00
psi29a
fff35dcb03
Merge branch 'Ignore-empty-pgrd' into 'master'
...
Do not store empty PGRD records. Should resolve Issue #6209 .
See merge request OpenMW/openmw!1121
2021-08-26 14:29:49 +00:00
psi29a
e8057d9fd1
Merge branch 'aipursue_path' into 'master'
...
Make AiPursue path destination to be as close as possible to target (#6211 )
Closes #6211
See merge request OpenMW/openmw!1154
2021-08-26 07:55:12 +00:00
psi29a
b585aad81e
Merge branch 'offset-bullet-debug' into 'master'
...
glPolygonOffset for Bullet debug geometry
See merge request OpenMW/openmw!684
2021-08-25 07:26:21 +00:00
Thunderforge
42ce22f568
Adding saveSettingInt() and loadSettingInt()
...
Convenience methods for saving and loading integer settings. Versions for QSpinBox and QComboBox are included. Right now, only simple settings are used for it; we have some additional settings that include validation that aren't using these new methods.
2021-08-23 18:31:52 -05:00
unelsson
de3497d291
Fix undo-redo crash
2021-08-22 23:42:27 +03:00
unelsson
890ce1eefb
Reverse action order for redo and undo
2021-08-22 23:42:27 +03:00
unelsson
0cfabd6f3b
Move mapToSource back to constructor
2021-08-22 23:42:27 +03:00