1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-28 14:53:58 +00:00

5113 Commits

Author SHA1 Message Date
Evil Eye
eced6f2126 Implement the help command 2021-07-07 18:48:25 +02:00
psi29a
c372c239a6 Merge branch 'master' into 'OpenCS_Bug6017'
# Conflicts:
#   CHANGELOG.md
2021-07-06 07:52:49 +00:00
cc9cii
a47ebf5c9e For consistency with TES CS, force DELE record writes to be 4 bytes (currently writes 1 byte). 2021-07-06 14:57:58 +10:00
cc9cii
fea1ac2c0f Remove dead code from commit 024ad3276b472e0fc58b681d10566917e4d8d44d. 2021-07-06 14:21:17 +10:00
cc9cii
f68c81e631 Merge branch 'master' into 'OpenCS_Bug6017' 2021-07-06 03:10:46 +00:00
cc9cii
4b3de46bfa Use enums in place of magic numbers. Ensure Creature and NPC cell references are always saved as persistent. 2021-07-06 12:37:02 +10:00
Simon Meulenbeek
625744298b change setValue to replace value instead of insert 2021-07-05 13:22:46 +00:00
psi29a
94be4eba18 Merge branch 'even-fixier-alpha' into 'master'
Correctly track added and removed state to fix various alpha testing issues

Closes #6119

See merge request OpenMW/openmw!989
2021-07-05 08:15:17 +00:00
psi29a
f2aeabed72 Merge branch 'navmesh_memory' into 'master'
Reduce memory usage by navmesh

See merge request OpenMW/openmw!994
2021-07-05 06:16:11 +00:00
AnyOldName3
84a9facedf Disable coverage adjustment for blended objects 2021-07-04 23:29:22 +01:00
AnyOldName3
e42b3bf960 Adapt destination alpha factor for AMD
As discussed in the comment, it's unclear to me whether this is a driver
bug or mandatory behaviour only AMD implement.

Some more context is here:
https://gitlab.com/OpenMW/openmw/-/issues/6119#note_618245903
2021-07-04 23:00:33 +01:00
elsid
09f9075842
Use RecastMeshBuilder once to create RecastMesh
This allows to move all data out of the object instead of copying.
2021-07-04 22:18:05 +02:00
elsid
0193c95b26
Shrink to fit recast mesh data 2021-07-04 22:18:05 +02:00
elsid
91cece5cc4
Define ESM::Land static constants as constexpr
To avoid linking issues.
2021-07-04 22:17:44 +02:00
AnyOldName3
0e57622bbe Correctly track added and removed state 2021-07-03 21:04:17 +01:00
elsid
94e460ba1e
Use proper check for distance
To avoid invalid results for r < 1.
2021-06-30 20:11:41 +02:00
elsid
a54c4bc2e9
Check dtNavMeshQuery::findStraightPath status 2021-06-30 20:10:57 +02:00
elsid
793c30ab8d
Check dtNavMeshQuery::getPolyHeight status
Otherwise when it fails a node with zero height will be added to a path.
2021-06-30 20:06:48 +02:00
elsid
7e1630a7ad
Remove redundant getPolyHeight wrapper 2021-06-30 20:04:16 +02:00
elsid
cc08a45c31
Move include where it is needed 2021-06-30 20:02:08 +02:00
elsid
a3942a1e0a
Remove redundant check for y coordinate in inRange function 2021-06-30 20:00:43 +02:00
cc9cii
f2a301653c Remove redundant mPersistent member from ESM::NPC and ESM::Creature, replaced by mRecordFlags. Fixed the editing of the persistence flag value. 2021-06-30 08:20:29 +10:00
jvoisin
5c02e4dddc Delete an outdated/irrelevant comment 2021-06-29 22:52:40 +02:00
Evil Eye
48f915f1fe Merge branch 'fontloader' into 'master'
Clean the fontloader's hack for polish font up

See merge request OpenMW/openmw!895
2021-06-29 19:15:06 +00:00
Petr Mikheev
890eaabd4f Merge branch 'clamp' into 'master'
Minor refactor making use of std::clamp

See merge request OpenMW/openmw!972
2021-06-29 18:14:12 +00:00
Petr Mikheev
4b98d460da Merge branch 'const_moar' into 'master'
Sprinkle some const ref

See merge request OpenMW/openmw!963
2021-06-29 17:28:51 +00:00
jvoisin
8561245fda Minor refactor making use of std::clamp 2021-06-29 18:43:47 +02:00
jvoisin
5470b3168b Use a switch-case instead of a map, on elsid@' advice
elsid@ said:

> From my measurements static map + exceptions is slower than original code
when loading polish morrowind localization by 25% with GCC 10.2.0. Switch-based
solution is about 25x times faster than the original and static map with find
only is ~20x faster.
2021-06-29 18:24:40 +02:00
jvoisin
770f91de77 Clean the fontloader's hack for polish font up
- The map can be static and const
- The map can be initialized inline
- No need to do a `find` + `[]` instead of `at`
2021-06-29 18:24:40 +02:00
cc9cii
2a76634f5f Moved persistence flag from references to the header flags of referenceables (e.g. Static, Weapon, etc). Editing widget is not fully working. 2021-06-29 23:25:26 +10:00
cc9cii
024ad3276b Partial fix for #6017. The persistence flag of the references are saved but it is not yet possible to modify it via OpenCS. 2021-06-29 19:20:01 +10:00
Evil Eye
4f264af5a9 Merge branch 'staticsload' into 'master'
Loads statics before actors II (#5379)

See merge request OpenMW/openmw!588
2021-06-28 20:25:51 +00:00
psi29a
67f32263b2 Merge branch 'fix_malexa_escape' into 'master'
Inscribe physical bounding box into navmesh agent cylinder (#6114)

Closes #6114

See merge request OpenMW/openmw!967
2021-06-28 14:26:08 +00:00
psi29a
07a7a903a7 Merge branch 'alpha-test-override' into 'master'
Ensure original (removed) state overrides replacement state when recreating shaders

Closes #6108

See merge request OpenMW/openmw!966
2021-06-28 13:54:28 +00:00
fredzio
c795e0bce6 Some actors are supposed to spawn on an object that belongs to an adjacent cell.
Since actors can be active in 3x3 grid around the player, we need to
first load all objects in a 5x5 grid around the player.

Split load and unloading in 2 phases. Add an mInactiveCells set into the
scene, which contains all cells inside the aforementioned 5x5 grid.
These cells contains only heightfields and non-animated physics objects.

Animated objects are tied to the scene graph, which doesn't exists yet
in these cells, so we skip them.
2021-06-28 09:36:04 +02:00
AnyOldName3
2147c18cf5 Do not overwrite old removed state with old dummy state 2021-06-28 00:11:31 +01:00
elsid
1552e7e3e3
Add pathgrid edges as one direction off mesh connection 2021-06-27 17:48:44 +02:00
elsid
ff1af5e8ec
Use only off mesh connections starting or ending in a given tile 2021-06-27 17:48:41 +02:00
elsid
a8ba9a0e2a
Cleanup unused tile positions from OffMeshConnectionsManager 2021-06-27 17:48:07 +02:00
elsid
81e569c3d9
Move OffMeshConnectionsManager implementation into cpp 2021-06-27 17:48:07 +02:00
elsid
7f65a2c4c2
Remove unused code 2021-06-27 17:48:07 +02:00
elsid
3e98db8d60
Fix styleguide 2021-06-27 17:48:06 +02:00
elsid
84d6dea277
Inscribe physical bounding box into navmesh agent cylinder
To disallow too narrow navmesh for a bounding box.
2021-06-27 13:44:38 +02:00
AnyOldName3
0e122b1e3d Avoid copy and deep equality check 2021-06-27 01:48:06 +01:00
AnyOldName3
8a1b4bde8a Ensure original (removed) state overrides replacement state when recreating shaders
When the shader visitor replaces state (e.g. changes the deprecated
alpha test to a shader-based one) it backs up the original state. If
shaders are recreated, we need to know what the canonical state was and
create shaders to implement that instead of creating shaders to
implement dummy replacement state.

This was actually usually working as the removed state got checked after
the active state, so overwrote anything derived from it. However, if the
active state had the override bit set, that would make it override the
removed state.

Skipping any active state that duplicates removed state fixes this case.

Resolves #6108
2021-06-27 00:12:07 +01:00
jvoisin
9db7d0278a Sprinkle some const ref 2021-06-25 21:54:35 +02:00
jvoisin
2c8f328ac2 Use make_unique instead of unique_ptr+new 2021-06-25 20:55:38 +02:00
Evil Eye
080106e802 Merge branch 'inline' into 'master'
Inline a couple of methods in esmreader.cpp

See merge request OpenMW/openmw!945
2021-06-24 19:56:18 +00:00
jvoisin
b4cfa4328e Merge branch 'keyword_soup' into 'master'
Strip quotes when treating keywords as strings

Closes #6066

See merge request OpenMW/openmw!921
2021-06-24 19:51:58 +00:00
Evil Eye
0998929608 Merge branch 'noreturn' into 'master'
Sprinkle some [[noreturn]] where possible

See merge request OpenMW/openmw!793
2021-06-24 19:21:29 +00:00