1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-31 18:45:36 +00:00
Commit graph

19229 commits

Author SHA1 Message Date
elsid
77eaf2082f
Move head tracking update into a separate function 2022-07-04 21:26:42 +02:00
elsid
fe206c1526
Remove updateHeadTracking from member functions 2022-07-04 21:17:07 +02:00
elsid
1b117af5e1
Use descriptive names for range elements
iter does not describe the nature of the object. Range-based for loop provides
elements of the iterator range, not iterators.
2022-07-04 21:03:45 +02:00
psi29a
c9264de22a Merge branch 'warnfix' into 'master'
Suppress a GCC 11's format-overflow warning

See merge request OpenMW/openmw!2080
2022-07-04 12:08:31 +00:00
psi29a
bc3421642d Merge branch 'light' into 'master'
Fix emissive in character preview

See merge request OpenMW/openmw!2088
2022-07-04 06:56:23 +00:00
psi29a
9da84480f0 Merge branch 'misc_ui' into 'master'
Improved settings window

Closes #6780

See merge request OpenMW/openmw!2087
2022-07-04 06:55:42 +00:00
glassmancody.info
9a0e9ac4fe fix emissives in character preview 2022-07-03 18:46:22 -07:00
glassmancody.info
63d9fa55c6 settings window cleanup 2022-07-03 12:49:37 -07:00
jvoisin
498a835b77 Merge branch 'coverity' into 'master'
Fix some Coverity issues

See merge request OpenMW/openmw!2082
2022-07-03 16:29:05 +00:00
Andrei Kortunov
41a976b5f0 Suppress a GCC 11's format-overflow warning 2022-07-03 18:21:55 +04:00
Cody Glassman
051832d7ae [Lua] Set simulation time scale 2022-07-03 12:51:28 +00:00
Andrei Kortunov
14b5674d32 Init missing data members 2022-07-03 15:44:50 +04:00
Andrei Kortunov
03cdffb555 Init some missing variables 2022-07-03 15:44:50 +04:00
Andrei Kortunov
1274a229d1 Remove pointless null check 2022-07-03 15:44:50 +04:00
Andrei Kortunov
e97172bbb2 Add a check for null 2022-07-03 15:44:50 +04:00
Andrei Kortunov
aa349f2ed9 Initialize some missing variables 2022-07-03 15:44:50 +04:00
Andrei Kortunov
62f5bedef5 Remove pointless check 2022-07-03 15:44:31 +04:00
glassmancody.info
a0265ffb89 only enable soft particles when enabled in settings 2022-07-02 09:42:15 -07:00
AnyOldName3
6609243c87 Merge branch 'dont_notice_me_launcher_senpai' into 'master'
Don't load content entries from global and local configs

Closes #6441

See merge request OpenMW/openmw!2068
2022-07-02 16:02:10 +00:00
Mads Buvik Sandvei
6dc727cf8f More stereo-postprocessing integration 2022-07-02 15:26:35 +00:00
Evil Eye
478ad07607 Only load global cfg if local wasn't found 2022-07-02 11:19:36 +02:00
elsid
e074ebde96
Fix C4389 msvc warning
'==': signed/unsigned mismatch
2022-07-01 18:47:47 +02:00
elsid
2eae3227ba
Fix C4305 msvc warning
'argument': truncation from 'double' to 'float'
2022-07-01 18:47:46 +02:00
elsid
8544aa481c
Fix C4459 msvc warning
declaration of 'navMeshVersion' hides global declaration
2022-07-01 18:47:40 +02:00
elsid
7e6c13630a Use target_precompile_headers for the most expensive headers 2022-07-01 14:05:17 +00:00
Evil Eye
c081b8cfa9 Don't load content entries from global and local configs 2022-06-30 20:57:51 +02:00
psi29a
56187ad977 Merge branch 'soften_me_up_like_one_of_your_french_meshes' into 'master'
Allow soft particle effect on any NIF

See merge request OpenMW/openmw!2015
2022-06-30 13:46:22 +00:00
glassmancody.info
b09411d396 allow soft particles on meshes and add extra data extensions 2022-06-29 18:15:12 -07:00
psi29a
451cc6a07c Merge branch 'correct_path' into 'master'
Use existing functions and objects to call correctMeshPath etc (#6837)

Closes #6837

See merge request OpenMW/openmw!2063
2022-06-29 10:22:08 +00:00
psi29a
e861491127 Merge branch 'quickfix' into 'master'
Fix a couple typos

See merge request OpenMW/openmw!2052
2022-06-29 09:22:15 +00:00
elsid
ce263af393
Use existing functions and objects to call correctMeshPath etc
Remove WindowManager wrappers.

It's not safe to use WindowManager in all places and it's not required.
Environment stores resource system providing VFS required to call these
functions. In the case of ObjectPaging it's available from the member variable.
Also ObjectPaging::createChunk may access WindowManager when it's already
destructed when exiting the game because it's destructed before CellPreloader
finishes all background jobs. Engine::mResourceSystem is destructed after all
other systems so it's safe to use it.
2022-06-29 00:58:49 +02:00
AnyOldName3
066575821b Merge branch 'fog_alpha' into 'master'
Several fixes related to sky blending

See merge request OpenMW/openmw!2046
2022-06-28 22:17:37 +00:00
psi29a
776cae4c95 Merge branch 'assert' into 'master'
Use string_view in Layout and remove dead code

See merge request OpenMW/openmw!2060
2022-06-27 20:02:20 +00:00
Petr Mikheev
d0deb37f5c Fix several issues with sky blending 2022-06-27 21:51:41 +02:00
Evil Eye
81ec7e80bb Use string_view in Layout and remove dead code 2022-06-27 19:13:17 +02:00
jvoisin
3403ea1d9e Merge branch 'FixUBOnDoubleMove' into 'master'
Avoid double move when an area with same coordinates already exists

See merge request OpenMW/openmw!2059
2022-06-27 16:28:17 +00:00
psi29a
a814d11a39 Merge branch 'move_left_shift_to_cpp' into 'master'
Move std::ostream& operator<< to .cpp

See merge request OpenMW/openmw!2058
2022-06-27 09:24:01 +00:00
elsid
1a5932a669
Move std::ostream& operator<< to .cpp 2022-06-26 22:43:53 +02:00
elsid
ffd1bd30ef
Remove redundant includes from groundcoverstore.hpp 2022-06-26 22:28:10 +02:00
Cédric Mocquillon
cbf48b4382 Avoid double move when an area with same coordinates already exists 2022-06-26 21:45:42 +02:00
elsid
fdf6e58ea3
Split apps/openmw/mwmechanics/actorutil.hpp 2022-06-26 16:42:29 +02:00
glassmancody.info
54e2e74c2a quickfix 2022-06-25 22:41:03 -07:00
elsid
10fbf170a2
Reduce number of includes for boost/program_options 2022-06-25 18:32:10 +02:00
Petr Mikheev
50b143b53f Fast fix in cellbindings.cpp 2022-06-24 23:41:11 +00:00
Petr Mikheev
377c00261a [Lua] Ability to distinguish normal interiors and quasi exteriors (like Mournhold). 2022-06-24 18:24:02 +02:00
psi29a
c3599ada2e Merge branch 'imayhaverunoutofclevernifbranchnames' into 'master'
Clean up NIF record flags/modes

See merge request OpenMW/openmw!2047
2022-06-22 21:15:14 +00:00
Evil Eye
b79c42fa77 Exclude followers in combat with their leader 2022-06-22 16:37:03 +02:00
Evil Eye
cc081c3d2d Don't add additional targets to allies that are already in combat 2022-06-22 16:36:58 +02:00
psi29a
ede09309a6 Merge branch 'groundcover_progress' into 'master'
Show groundcover loading progress

See merge request OpenMW/openmw!1978
2022-06-22 13:02:22 +00:00
psi29a
e50c1dbcb1 Merge branch 'slaughteredslaughterfish' into 'master'
Avoid assigning idle animations to non-actors (bug #5371)

Closes #5371

See merge request OpenMW/openmw!2048
2022-06-22 12:38:15 +00:00
psi29a
e2ae381a6c Merge branch 'lua_worker_join' into 'master'
Correctly terminate LuaWorker if the game is being terminated due to an unhanded exception.

See merge request OpenMW/openmw!2044
2022-06-22 12:35:21 +00:00
Alexei Kotov
fbb0004aae Avoid assigning idle animations to non-actors (bug #5371) 2022-06-22 03:53:39 +03:00
Alexei Kotov
e673f9fa76 Clean up NIF flags 2022-06-22 01:58:16 +03:00
Petr Mikheev
8123e41a75 Fix #6824 2022-06-21 21:11:15 +02:00
Petr Mikheev
241b414aa6 Correctly terminate LuaWorker if the game is being terminated due to an unhanded exception. 2022-06-21 20:56:19 +02:00
psi29a
1a478875f0 Merge branch 'navmesh_agent_bounds' into 'master'
Support different agent collision shape type for pathfinding

See merge request OpenMW/openmw!2030
2022-06-21 16:13:41 +00:00
psi29a
feef257584 Merge branch 'postprocessor-stereo' into 'master'
[Postprocessing] Stereo integration

See merge request OpenMW/openmw!1988
2022-06-21 15:55:06 +00:00
Mads Buvik Sandvei
b0e4c7e76a [Postprocessing] Stereo integration 2022-06-21 15:55:06 +00:00
psi29a
a822044199 Merge branch 'riggeoosgaext' into 'master'
custom class for osgAnimation::RigGeometry, Collada animated deforming body parts

See merge request OpenMW/openmw!1682
2022-06-21 15:27:34 +00:00
Nelsson Huotari
334c6dde0b custom class for osgAnimation::RigGeometry, Collada animated deforming body parts 2022-06-21 15:27:34 +00:00
elsid
1a12c453d6
Support different agent collision shape type for pathfinding
Actors may have different collision shapes. Currently there are axis-aligned
bounding boxes and rotating bounding boxes. With AABB it's required to use
bounding cylinder for navmesh agent to avoid providing paths where actor can't
pass. But for rotating bounding boxes cylinder with diameter equal to the front
face width should be used to not reduce of available paths. For example rats
have rotating bounding box as collision shape because of the difference between
front and side faces width.

* Add agent bounds to navmesh tile db cache key. This is required to distinguish
  tiles for agents with different bounds.
* Increase navmesh version because navmesh tile db cache key and data has changed.
* Move navmesh version to the code to avoid misconfiguration by users.
* Fix all places where wrong half extents were used for pathfinding.
2022-06-21 12:57:32 +02:00
psi29a
15c7ed774c Merge branch 'shaders_fog' into 'master'
Better fog

See merge request OpenMW/openmw!2006
2022-06-21 08:39:48 +00:00
psi29a
d2df89b013 Merge branch 'aitravelendtolerance' into 'master'
Give AITravel time to end if the actor is close to the destination (#6495)

Closes #6495

See merge request OpenMW/openmw!2036
2022-06-21 07:31:37 +00:00
Petr Mikheev
3bf18c601c Better fog 2022-06-21 02:21:20 +02:00
Bret Curtis
37a440a0ee add one include back 2022-06-20 16:26:52 +02:00
psi29a
aeed99ca2c Merge branch 'clean_qt_headers' into 'master'
Clean up Qt includes

See merge request OpenMW/openmw!2027
2022-06-20 14:05:33 +00:00
Petr Mikheev
e466a812d8 Merge branch 'lua_consume' into 'master'
Refactor consuming mechanics, improve Lua onConsume handler

See merge request OpenMW/openmw!1848
2022-06-20 12:12:50 +00:00
Alexei Kotov
bd6716d89d Give AITravel time to end if the actor is close to the destination 2022-06-20 15:07:18 +03:00
Cody Glassman
66aa546e97 [Postprocessing] Small cleanup 2022-06-20 06:58:40 +00:00
Alexei Kotov
e5e6645575 Merge branch 'more_romantic_disable' into 'master'
Enable collision for postponed objects when any object is disabled

Closes #6648

See merge request OpenMW/openmw!2035
2022-06-19 21:42:30 +00:00
Evil Eye
aa2fab8db5 Enable collision for postponed objects when any object is disabled 2022-06-19 20:16:31 +02:00
Alexei Kotov
a8e409deef Make launcher viewing distance setup more precise 2022-06-19 20:20:12 +03:00
uramer
36a1e18b6f Increment Lua API revision 2022-06-19 17:31:53 +02:00
uramer
c1f8d7c20a Make comment style consistently inconsistent 2022-06-19 17:31:18 +02:00
Alexei Kotov
3baf346200 Use numeric_limits for indefinite idle looping 2022-06-19 08:58:12 +03:00
uramer
3761e7b24e Pass a 0-count object to onConsume instead of the record id 2022-06-18 11:13:54 +02:00
uramer
c3c48f21d7 Consolidate item consumption code 2022-06-18 11:13:54 +02:00
Alexei Kotov
183378e34a Fix idle swim/sneak animation fallback again 2022-06-18 03:24:45 +03:00
jvoisin
8b9ed57348 Clean up Qt includes 2022-06-17 11:56:54 +02:00
jvoisin
5065e4e571 Merge branch '1234knockout' into 'master'
Avoid clearing the current weapon animation group if it's still going to be in use

See merge request OpenMW/openmw!2025
2022-06-17 09:53:13 +00:00
Alexei Kotov
0b38e165f7 Avoid clearing the current weapon animation group if it's still going to be in use 2022-06-17 09:53:13 +00:00
Alexei Kotov
a5d8286cf2 Reject models that don't have grass\ prefix from groundcover cache 2022-06-16 16:26:25 +03:00
psi29a
67e764a44a Merge branch 'severecharacterdisorder' into 'master'
Make the character controller less miserable, round 4: juicy stuff (bug #5592)

Closes #5592

See merge request OpenMW/openmw!2014
2022-06-15 11:42:17 +00:00
elsid
fdd84265b3
Use proper agent height and radius when render actor path
That are based on half extents used to find path over navmesh which is different
for interior and exterior cells.

Use common functions to get agent height and radius for actor path rendering and
navmesh generation.
2022-06-15 01:11:11 +02:00
Alexei Kotov
2b019864b7 Remove more legacy states 2022-06-14 13:47:16 +03:00
Alexei Kotov
30ef7ad81b Properly cancel the landing animation during movement 2022-06-14 12:50:30 +03:00
Alexei Kotov
c2ac52c82a Remove dead code 2022-06-14 12:50:30 +03:00
Alexei Kotov
61d382dc9f Set the initial IdleState to CharState_None 2022-06-14 12:50:30 +03:00
Alexei Kotov
4ce08664e9 Fix swim spellcasting stance turning fallback 2022-06-14 12:50:30 +03:00
Alexei Kotov
5dfce6205a Reset the idle animation after a movement animation ends
Fix non-biped actor idle reset
2022-06-14 12:50:30 +03:00
Alexei Kotov
1a646374b0 Always reset the idle animation after the landing animation ends 2022-06-14 12:50:30 +03:00
Alexei Kotov
69a1d8ac86 Restart idle instantly only after the hit state ends 2022-06-14 12:50:30 +03:00
Alexei Kotov
35db7b8319 Fix fallback for missing swim/sneak idle animations 2022-06-14 01:12:05 +03:00
Alexei Kotov
253de65d13 Fix knockout animation interruption/looping 2022-06-13 17:53:38 +03:00
Alexei Kotov
b8018024a6 Avoid passing weapon short group to refreshXAnims 2022-06-13 17:53:38 +03:00
Alexei Kotov
0a38c3ab78 Reset current animation states in a consistent way 2022-06-13 17:53:38 +03:00
Alexei Kotov
dd42a69ca5 Consolidate refreshIdleAnims 2022-06-13 17:53:38 +03:00
Alexei Kotov
2c3d385672 Consolidate refreshHitRecoilAnims 2022-06-13 17:53:38 +03:00
Alexei Kotov
a105ba14e4 Consolidate refreshJumpAnims 2022-06-13 12:59:18 +03:00
Alexei Kotov
ab46337c41 Rewrite handleTextKey using substring views 2022-06-13 12:28:12 +03:00
Alexei Kotov
9e6b7fed1a Consolidate refreshMovementAnims() 2022-06-13 12:13:10 +03:00
psi29a
c8eb246198 Merge branch 'no_update_useless_ugly_nodes' into 'master'
Only update active children

See merge request OpenMW/openmw!2001
2022-06-12 18:47:56 +00:00
psi29a
eac1d8599a Merge branch 'lua_record_paths' into 'master'
Correct VFS paths in Lua records

See merge request OpenMW/openmw!1853
2022-06-12 18:45:24 +00:00
psi29a
b7918282ad Merge branch 'minor_simpl_sortfilteritemodel' into 'master'
Minor simplifications in sortfilteritemmodel.cpp

See merge request OpenMW/openmw!1975
2022-06-12 18:43:50 +00:00
psi29a
33c5b192c9 Merge branch 'crossovercharacter' into 'master'
Make the character controller less miserable, round 2: state mappings

See merge request OpenMW/openmw!2003
2022-06-12 18:37:13 +00:00
jvoisin
8d56e79877 Minor simplifications in sortfilteritemmodel.cpp
- Change an if-else-if-else… spaghetti into a switch-case
- Replace a linear search in a dynamically constructed
  vector with a switch-case. Thanks elsid for the idea!
2022-06-12 18:00:43 +02:00
psi29a
bf8cc36645 Merge branch 'camera_settings' into 'master'
In-game camera settings

Closes #6715

See merge request OpenMW/openmw!1924
2022-06-12 12:47:11 +00:00
uramer
bf905fce4c Don't use WindowManager outside of UI, correct paths for new record types 2022-06-12 13:07:50 +02:00
uramer
fd7965d77f Use correctMeshPath instead of string constants 2022-06-12 11:30:29 +02:00
uramer
1fb136a417 Correct icon and mesh paths in Lua records 2022-06-12 11:30:29 +02:00
psi29a
bb0dad7c08 Update to C++20 and see if our CI can handle it. 2022-06-12 08:00:11 +00:00
Alexei Kotov
c2e637d661 Mark setAttackingOrSpell as const 2022-06-12 03:02:23 +03:00
Alexei Kotov
47f574e14b Move death state mapping out of playDeath/playRandomDeath 2022-06-12 02:58:04 +03:00
Alexei Kotov
b4e87abfe1 Clean up run-to-walk state conversion 2022-06-12 02:52:49 +03:00
Alexei Kotov
31d636ea20 Map movement animation groups with a switch 2022-06-12 02:49:13 +03:00
Petr Mikheev
5f0a7c2b16 Fix jumping when using move360 with a controller 2022-06-12 00:09:13 +02:00
Petr Mikheev
65efd6f1c2 Remove from settings.cfg camera settings that are controlled from Lua 2022-06-12 00:06:39 +02:00
Petr Mikheev
c548708a27 Remove Lua package openmw.settings 2022-06-12 00:06:39 +02:00
psi29a
f8a6001e87 Merge branch 'outofcharacter' into 'master'
Make CharacterController less miserable, round 1

See merge request OpenMW/openmw!1999
2022-06-11 18:50:06 +00:00
psi29a
9c1970dce4 Merge branch 'lua_esm' into 'master'
Advanced Lua scripts configuration in omwaddon

See merge request OpenMW/openmw!1947
2022-06-11 18:48:23 +00:00
glassmancody.info
d7425cc016 change update visitor to only traverse active children in scenegraph 2022-06-11 00:09:33 -07:00
Alexei Kotov
45e6add5f5 Optimize clearAnimQueue(true) 2022-06-11 04:54:50 +03:00
Alexei Kotov
d4d4304f1e Fix walk animation fallback replace call 2022-06-11 04:54:50 +03:00
Alexei Kotov
93068d71ea Use std::string_view whenever reasonable in CharacterController
C++ Core Guidelines SL.str.2
2022-06-11 04:54:50 +03:00
Alexei Kotov
97d4206a3d Improve CharacterController const-correctness
C++ Core Guidelines Con. 2
2022-06-11 02:08:43 +03:00
Alexei Kotov
788de7edcb Initialize most of CharacterController in-class
See C++ Core Guidelines C.48
2022-06-11 00:40:14 +03:00
ζeh Matt
9559feaa90
Fix effects not being removed from scene graph 2022-06-10 22:59:23 +03:00
psi29a
436db8c0e5 Merge branch 'ffmpeg5' into 'master'
fix hang with ffmpeg5 (ffmpeg_decoder: signal EOF/errors on readPacket)

Closes #6631

See merge request OpenMW/openmw!1941
2022-06-09 20:45:50 +00:00
Matt
4d74f8137c Use vector for EffectManager effects 2022-06-09 20:43:53 +00:00
psi29a
ee89eccb06 Merge branch 'reload_l10n' into 'master'
Console command `reloadlua` also reloads l10n used by Lua scripts

See merge request OpenMW/openmw!1984
2022-06-09 12:17:38 +00:00
psi29a
5d88b39574 Merge branch 'fix/macos' into 'master'
make use of std::filesystem::absolute as ::system_complete was dropped from spec

See merge request OpenMW/openmw!1990
2022-06-08 14:04:16 +00:00
Bret Curtis
339169b60a make use of std::filesystem::absolute as ::system_complete was dropped from spec 2022-06-08 15:35:35 +02:00
psi29a
f687827f98 Merge branch 'compile-times' into 'master'
Improve compile time a bit

See merge request OpenMW/openmw!1985
2022-06-08 12:07:30 +00:00
Dominique Martinet
c5cdb0c277 ffmpeg_decoder: signal EOF/errors on readPacket
openmw with ffmpeg 5 would hang in an infinite loop trying to read at end of
files in avformat_open_input()
avio_read() apparently now no longer handlers 0 as a return value to signal
EOF and we need ot explicitly return AVERROR_EOF; their documentation
explicitely states "For stream protocols, must never return 0 but rather
a proper AVERROR code." for avio_alloc_context's read_context.

Also fix the exception case to return AVERROR_UNKNOWN -- I assume we'd
otherwise get stuck there too, but I don't know what would trigger this
case.

Fixes #6631
2022-06-08 12:33:25 +09:00
uramer
fa72e14d92 Keep the scripts settings page open 2022-06-07 16:18:13 +02:00
ζeh Matt
952999153c
Move statics into cpp and properly guard buffer from race conditions 2022-06-07 16:59:44 +03:00
glassmancody.info
f6943f9f66 bind framebuffer when msaa enabled in transparent postpass 2022-06-06 20:52:40 -07:00
ζeh Matt
e0936b04c0
Correct the comment 2022-06-07 02:21:57 +03:00
ζeh Matt
38b6927b31
Fix missing includes 2022-06-07 02:08:50 +03:00
Petr Mikheev
1240b60a24 Console command reloadlua also reloads l10n used by Lua scripts 2022-06-06 23:56:08 +02:00
psi29a
e6fcb8bd2d Merge branch 'issue/6756' into 'master'
Create platform component for platform specific things

See merge request OpenMW/openmw!1960
2022-06-06 19:11:18 +00:00
psi29a
8bce0a1bcf Merge branch 'classy' into 'master'
Replace empty NPC class with fallback

Closes #6799

See merge request OpenMW/openmw!1982
2022-06-06 18:18:20 +00:00
ζeh Matt
d5ec959449
Create platform component for platform specific things 2022-06-06 20:45:51 +03:00
psi29a
787f8fb627 Merge branch 'launcher' into 'master'
Launcher consistency fixes

See merge request OpenMW/openmw!1983
2022-06-06 16:51:19 +00:00
psi29a
5aeee0a520 Merge branch 'threading_gone_wrong' into 'master'
[Postprocessing] Fix race condition when techniques are dirtied

See merge request OpenMW/openmw!1979
2022-06-06 16:32:35 +00:00
Petr Mikheev
f48646b3e6 Merge branch 'addrepairluabinds' into 'master'
Lua API for Repair records

See merge request OpenMW/openmw!1958
2022-06-06 16:24:54 +00:00
Kindi
aa2e724342 Lua API for Repair records 2022-06-06 16:24:54 +00:00
Alexei Kotov
d840f4e995 Launcher: Stop making redundant setting changes 2022-06-06 12:42:05 +03:00
Evil Eye
f41e46db64 Replace empty NPC class with fallback 2022-06-06 10:59:26 +02:00
elsid
f8eafe0dfd
Fix checking whether content file is master file 2022-06-06 00:57:44 +02:00
glassmancody.info
acc209c294 fix threading issue when dispatching frame dependent data 2022-06-05 15:46:25 -07:00
elsid
9c93de65be
Show groundcover loading progress 2022-06-05 22:21:12 +02:00
psi29a
c7449dc272 Merge branch 'bullet_includes' into 'master'
Clean up bullet includes

See merge request OpenMW/openmw!1974
2022-06-05 10:17:57 +00:00
Petr Mikheev
a70d5831c5 Lua scripts configuration in omwaddon 2022-06-05 01:36:39 +02:00
psi29a
58fd560ce9 Merge branch 'esm_readers_cache' into 'master'
Limit the number of simultaneously open not actively used content files (#6756)

Closes #6756

See merge request OpenMW/openmw!1966
2022-06-04 19:11:27 +00:00
psi29a
22ad2615e3 Merge branch 'mygui_includes' into 'master'
Clean up MyGUI includes

See merge request OpenMW/openmw!1972
2022-06-04 19:07:28 +00:00
jvoisin
72a6d1f69f Clean up bullet includes 2022-06-04 20:15:10 +02:00
Cody Glassman
ce49aa1202 Attach lights at origin when missing AttachLight node 2022-06-04 13:35:27 +00:00
jvoisin
0cc304e659 Clean up MyGUI includes
This should improve incremental compilation.
2022-06-04 15:26:36 +02:00
elsid
3affe9913f
Limit the number of simultaneously open not actively used content files
Use LRU cache for ESMReaders. When cache capacity is reached close least
recently used ESMReader. Remember the file name if a reader was open. Once the
reader requested again open the file if there is stored name for it. Put
released ESMReader to the back of the free items list. Close ESMReader's from
the front of the free items list.

Cached item can be used only by one client at the same time. If the same item is
requested twice exception is thrown. This should never happen in practice. If
this happens need to fix the client logic.

It's allowed to go over the capacity limit when requesting different readers.
Ideally this should never happen but there will be system error anyway
signalizing about too many open files. Need to fix client logic in this case.

All places that were using a vector of ESMReaders now using the cache. Cache is
local for each use case and there is no need for a thread safety.
2022-06-03 01:29:03 +02:00
psi29a
e78d36ff50 Merge branch 'no_input' into 'master'
[Postprocessing] Take away mouse input from headers, remove unnecessary dirty

See merge request OpenMW/openmw!1965
2022-06-02 08:57:48 +00:00
psi29a
160cbb51d2 Merge branch 'nobody-cared-who-he-was-until-he-didnt-put-on-the-mask' into 'master'
Apply Mask_RenderToTexture to local map RTT node

Closes #6784

See merge request OpenMW/openmw!1962
2022-06-02 07:14:30 +00:00
glassmancody.info
a3d95785d7 remove unecassary dirty, don't allow dividers to have mouse input 2022-06-01 22:03:58 -07:00
Mads Buvik Sandvei
6bb296723e Apply Mask_RenderToTexture to local map RTT node 2022-06-01 21:28:15 +02:00
beelzebielsk
fb5eb542ff Lua api for potion records 2022-06-01 13:19:03 +00:00
uramer
bca05d018e Merge branch 'fix_tests' into 'master'
Fix  #6771

Closes #6771

See merge request OpenMW/openmw!1925
2022-05-31 08:54:33 +00:00
Petr Mikheev
11f21c39ec Merge branch 'addmiscluabinds' into 'master'
Lua API for Miscellaneous records

See merge request OpenMW/openmw!1954
2022-05-31 08:54:08 +00:00
Kindi
638ad15af8 Lua API for Miscellaneous records 2022-05-31 08:54:07 +00:00
Cody Glassman
447b586d7d [Postprocessing] Fix a couple awkward issues with Lua API 2022-05-31 08:45:27 +00:00
AnyOldName3
feb5d5bbc2 Merge branch 'main_noboost' into 'master'
Remove boost:: from openmw/main.cpp

See merge request OpenMW/openmw!1943
2022-05-30 20:22:38 +00:00
psi29a
f7b9ab583e Merge branch 'nostring_sprintf' into 'master'
Don't pass a std::string to C's sprintf

Closes #6762

See merge request OpenMW/openmw!1950
2022-05-30 09:57:50 +00:00
Petr Mikheev
709d186b8d Put tests output files to a separate dir 2022-05-30 01:34:23 +02:00
Petr Mikheev
ab1be50b86 Merge branch 'addapparatusluabinds' into 'master'
Lua API for Apparatus records

See merge request OpenMW/openmw!1942
2022-05-29 23:03:37 +00:00
Kindi
3d0adf259b Lua API for Apparatus records 2022-05-29 23:03:36 +00:00
jvoisin
a6d46ecc75 Don't pass a std::string to C's sprintf
This should fix #6762
2022-05-29 23:27:50 +02:00
psi29a
af82140dda Merge branch 'filter_physics_actors' into 'master'
Do not perform physics simulation for actors outside processing range

See merge request OpenMW/openmw!1934
2022-05-29 19:19:35 +00:00
Evil Eye
c231c3e360 Replace new with make_unique in essimporter 2022-05-29 13:25:59 +02:00
Evil Eye
db1a372e5b Replace new with make_unique in opencs 2022-05-29 13:25:17 +02:00
Evil Eye
3c83117e99 Replace new with make_unique in openmw 2022-05-29 13:24:48 +02:00
jvoisin
d903e4b1b2 Remove boost:: from openmw/main.cpp 2022-05-28 22:51:32 +02:00
psi29a
f84be8c3f9 Merge branch 'lua-api-containers' into 'master'
Add bindings for container record

See merge request OpenMW/openmw!1932
2022-05-28 08:03:13 +00:00
elsid
bf76faeb2d
Increment iterator before fast forward
When player is located in the exterior cell AiTravel::fastForward may move
another actor into a cell outside active grid. This will remove the actor from
MWMechanics::Actors::mActors which invalidates current iterator in the
Actors::fastForwardAi loop.
2022-05-27 13:35:21 +02:00
psi29a
9d232a72d3 Merge branch 'position_to_index' into 'master'
Use free function instead of virtual MWBase::World::positionToIndex (#5336)

See merge request OpenMW/openmw!1922
2022-05-26 20:38:38 +00:00
elsid
ac5844cad2
Do not perform physics simulation for actors outside processing range
Actors with disabled collisions still have physics simulations. Assuming they
should not be processed at all instead of disabling collision add a new flag to
make them inactive.
2022-05-26 10:36:03 +02:00
adam
e2528a1562 Add docs and automagical declaration 2022-05-26 07:20:50 +00:00
adam
dddc1dc2bb Add bindings for capacity and encumbrance 2022-05-26 06:41:53 +00:00
psi29a
d74ee0f3fe Merge branch 'postprocess_hud' into 'master'
[Postprocessing] Improve HUD

See merge request OpenMW/openmw!1933
2022-05-26 06:24:36 +00:00
psi29a
389e1bd92c Merge branch 'noboost_more_more_more' into 'master'
Remove some more of boost::

See merge request OpenMW/openmw!1930
2022-05-26 06:19:40 +00:00
psi29a
31c0c0cb58 Merge branch 'fix_initial_landing' into 'master'
Do not play landing animation for actors entering to scene without a reason (#6346 + #6513)

Closes #6513 and #6346

See merge request OpenMW/openmw!1926
2022-05-26 06:15:59 +00:00
cody glassman
11845e7d9b improve layout of postprocessor hud 2022-05-25 19:07:01 -07:00
adam
aa56e40bc3 Add bindings for container record 2022-05-26 01:11:22 +00:00
jvoisin
cb226e00f9 Remove some more of boost:: 2022-05-25 21:16:26 +02:00
Petr Mikheev
29328867dc Merge branch 'moar_noboost' into 'master'
Remove even more of boost::filesystem

See merge request OpenMW/openmw!1927
2022-05-25 18:29:04 +00:00
jvoisin
4e4debb1cb Remove even more of boost::filesystem 2022-05-25 18:29:02 +00:00
Evil Eye
921a4c7bca Fix inverted logic 2022-05-25 16:49:03 +02:00
elsid
85c79d382c
Enable collisions for actor before adjusting position
Otherwise adjustPosition does not call traceDown and actor appears flying for
the first physics simulation.
2022-05-24 23:30:57 +02:00
elsid
617cd4ceb6
Make sure physics simulation does not reset flags for nonprocessed actors
Actor::getOnGround and Actor::getOnSlope is used to initialize ActorFrameData.
After a physics simulation the result is copied back. But when actor is outside
processing range, Actor::mInternalCollisionMode is false and physics simulation
does not recalculate OnGround and OnSlope flags. So the flags are always set to
false that makes actor play landing animation when they exit and then enter
actors processing range.
2022-05-24 23:25:35 +02:00
AnyOldName3
59e7f61205 Merge branch 'deboost' into 'master'
Remove boost::filesystem from a couple of files

See merge request OpenMW/openmw!1917
2022-05-24 21:18:22 +00:00
jvoisin
6feb92a9bf Remove boost::filesystem from a couple of files 2022-05-24 21:18:21 +00:00
elsid
e1110f5151 Merge branch 'noboost_bulletojbecttool' into 'master'
Remove some unused includes from bulletobjecttool

See merge request OpenMW/openmw!1912
2022-05-24 19:10:25 +00:00
Evil Eye
ec6ba3deeb Merge branch 'fix_cs_typos' into 'master'
Correct CS typo

Closes #6704

See merge request OpenMW/openmw!1920
2022-05-24 18:33:23 +00:00
elsid
639bdd5801
Use free function instead of virtual MWBase::World::positionToIndex
The virtual function does the same thing.

* Change return type to osg::Vec2i to avoid dependency on ESM3.
* Rename to positionToCellIndex to make it clear what is the index.
2022-05-24 19:31:23 +02:00
elsid
92a64b0bbd
Fix typo in navmeshtool log message 2022-05-24 19:28:48 +02:00
Michał Plichta
5ee5e8f2f7
Correct CS typo described in #6704 2022-05-24 19:24:39 +02:00
psi29a
499e688289 Merge branch 'fix_navigator_tests' into 'master'
Increase precision error for navigator tests (#6770)

Closes #6770

See merge request OpenMW/openmw!1909
2022-05-24 17:19:43 +00:00
Kindi
1b37d5d2ad Lua API for Lockpick and Probe records 2022-05-24 11:48:13 +00:00
psi29a
09757d0b87 Merge branch 'noboost_essimporter' into 'master'
Remove boost::filesystem from essimporter

See merge request OpenMW/openmw!1913
2022-05-24 07:57:37 +00:00
psi29a
0299529067 Merge branch 'remove_boost_' into 'master'
Remove dependency on boost::filesystem in bsatool and niftest CMakeLists.txt

See merge request OpenMW/openmw!1915
2022-05-24 07:56:19 +00:00
psi29a
a737b05d84 Merge branch 'faster_toLower' into 'master'
Improve the speed of toLower

See merge request OpenMW/openmw!1889
2022-05-24 07:53:01 +00:00
psi29a
14b9abbcbf Merge branch 'no_resize' into 'master'
[Postprocessing] Don't resize user defined samplers to power of 2

See merge request OpenMW/openmw!1918
2022-05-24 07:50:27 +00:00
glassmancody.info
ee6e60005b remove log spam on failures 2022-05-23 21:27:32 -07:00
jvoisin
0554afeb67 Remove boost::filesystem from navmashtool 2022-05-23 21:55:06 +02:00
jvoisin
34ae6e8221 Remove dependency on boost::filesystem in bsatool and niftest CMakeLists.txt 2022-05-23 21:52:22 +02:00
jvoisin
8a63bc0def Remove boost::filesystem from essimporter 2022-05-23 21:50:48 +02:00
jvoisin
6f5025e6fd Remove some unused includes from bulletobjecttool 2022-05-23 21:35:07 +02:00
jvoisin
998f1c960e Improve the speed of toLower
This significantly improves the speed of my fuzzer,
by something like 15%.
2022-05-23 21:24:17 +02:00
elsid
87073e26f2
Increase precision error for navigator tests 2022-05-23 17:18:00 +02:00
elsid
5b592e09e6
Log more information when navmeshtool fails on not enough space 2022-05-23 13:01:30 +02:00
cody glassman
6093cb5f2c postprocessing lua api extensions 2022-05-22 18:53:38 -07:00
elsid
6db4b78dcb
Fix playing explore music after loading the game from main menu 2022-05-23 01:08:53 +02:00
psi29a
e3f891c0b0 Merge branch 'fix_boost' into 'master'
Fix build with lld linker

See merge request OpenMW/openmw!1903
2022-05-22 20:53:57 +00:00
psi29a
f17d7fc00b Merge branch 'string_view' into 'master'
Make getStringLiteral return a string_view

See merge request OpenMW/openmw!1896
2022-05-22 20:50:04 +00:00
psi29a
392606441d Merge branch 'remove_boost_fs_bsatool' into 'master'
Remove boost::filesystem from bsatool

See merge request OpenMW/openmw!1905
2022-05-22 20:47:27 +00:00
jvoisin
472af7c164 Remove boost::filesystem from niftest 2022-05-22 18:56:14 +02:00
jvoisin
fb732d74a2 Remove boost::filesystem from bsatool 2022-05-22 18:53:10 +02:00
psi29a
8dd3e53a30 Merge branch 'string_view' into 'master'
Move a couple of files from `const std::string&` to `std::string_view`

See merge request OpenMW/openmw!1901
2022-05-22 10:45:35 +00:00
psi29a
d2a9334f39 Merge branch 'mechanics_actors_list' into 'master'
Use std::list to store mechanics actors

See merge request OpenMW/openmw!1893
2022-05-22 10:41:46 +00:00
psi29a
d40bfc9e99 Merge branch 'update_ptr' into 'master'
Avoid changing map when updating ptr

See merge request OpenMW/openmw!1894
2022-05-22 10:40:45 +00:00
psi29a
e64b8d1fbb Merge branch 'lua_real_time' into 'master'
[Lua] core.getRealTime()

See merge request OpenMW/openmw!1880
2022-05-22 10:38:53 +00:00
psi29a
5fe6f6333c Merge branch 'log_viewer' into 'master'
Initialize in-game log viewer earlier in order not to miss the beginning of the log

See merge request OpenMW/openmw!1904
2022-05-22 10:38:20 +00:00
Evil Eye
5146d9fc55 Fix 2022-05-22 09:51:08 +02:00
Evil Eye
ac78b537d2 Address feedback 2022-05-22 09:29:03 +02:00
Petr Mikheev
7f8d433775 Initialize log recorder right after initializing the logging 2022-05-22 02:47:58 +02:00
elsid
42841002b5
Remove unused dependency to Boost.Thread 2022-05-22 02:42:01 +02:00
elsid
9abfaef7a1
Use std::any instead of boost::any 2022-05-22 02:42:01 +02:00
elsid
68caff9c7b
Use unique_ptr to manage scripts context and encoder lifetime 2022-05-22 01:47:06 +02:00
jvoisin
23eccebe9e Convert esmtool from const std::string& to std::string_view 2022-05-21 21:39:26 +02:00
jvoisin
8047a2138e Merge branch 'fix_warning' into 'master'
Fix warning: -Wunused-lambda-capture

See merge request OpenMW/openmw!1899
2022-05-21 18:17:37 +00:00
elsid
5269ba6f3c Fix warning: -Wunused-lambda-capture 2022-05-21 18:17:36 +00:00
elsid
148519fe48
Destruct Stereo::Manager after World
ShadowManager access Stereo::Manager in destructor. ShadowManager owned by
RenderingManager owned by World.
2022-05-21 17:04:03 +02:00
Evil Eye
266a0634eb Add more includes 2022-05-21 12:41:56 +02:00
Evil Eye
e79f803402 Change includes 2022-05-21 10:48:32 +02:00
Cody Glassman
5fc530335b Merge branch 'refactor/postprocessor' into 'master'
Refactor PostProcessor code

See merge request OpenMW/openmw!1888
2022-05-21 06:42:05 +00:00
Matt
395de4b251 Refactor PostProcessor code 2022-05-21 06:42:05 +00:00
Evil Eye
c6ca0e78c9 Make getStringLiteral return a string_view 2022-05-21 01:21:55 +02:00
elsid
19e471741a
Use PtrBase::mRef instead of getBase for mechanics objects
getBase adds a condition and can throw an exception. Which is redundant for
MWMechanics::Objects functions.
2022-05-21 00:41:57 +02:00
elsid
1bb1053569
Make all MWMechanics::Actor functions inline 2022-05-21 00:41:56 +02:00
elsid
77c09dff39
Store CharacterController by value in MWMechanics::Actor 2022-05-21 00:41:55 +02:00
elsid
24712e2cb1
Avoid changing map when updating ptr
This is not necessary and has overhead.
2022-05-21 00:12:33 +02:00
elsid
e2c44d13f3
Use std::list to store mechanics actors
To make the order of elements deterministic. Using memory address based objects
as map key makes order of elements there nondeterministic. Later it can be
replaced with vector when there are no indirect munipulations with container
inside iteration loops.

Change map key to const MWWorld::LiveCellRefBase* to avoid erasing and inserting
elements on MWWorld::Ptr update.
2022-05-20 22:55:55 +02:00