1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-21 08:53:52 +00:00
Commit graph

19086 commits

Author SHA1 Message Date
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
Petr Mikheev
6a0a2eed33 [Lua] core.getRealTime() 2022-05-20 21:49:19 +02:00
uramer
70eacbbefc onObjectActive and onItemActive Lua engine handlers 2022-05-20 19:27:21 +00:00
psi29a
67421a400a Merge branch 'bookluabinds' into 'master'
Lua API for Book records

See merge request OpenMW/openmw!1886
2022-05-20 14:09:09 +00:00
psi29a
6b7c302102 Merge branch 'mechanics_objects_list' into 'master'
Use std::list to store mechanics objects

See merge request OpenMW/openmw!1881
2022-05-20 14:08:02 +00:00
kuyondo
5109777d3b remove duplication 2022-05-20 18:50:00 +08:00
elsid
ce3bba0cdc
Use std::list to store mechanics objects
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.

Store CharacterController by value instead of pointer to avoid redundant memory
allocation.
2022-05-20 00:47:10 +02:00
kuyondo
7dbccc914a no skill returns nil 2022-05-20 06:03:12 +08:00
kuyondo
8a1a838ffa update book.cpp and weapon.cpp 2022-05-20 00:39:19 +08:00
kuyondo
a26898d8ed no addtype 2022-05-19 20:18:47 +08:00
kuyondo
cad68a5566 Add lua binding for books 2022-05-19 20:02:18 +08:00
psi29a
d4e2000d5b Merge branch 'render_targets' into 'master'
Bind custom render targets per pass

See merge request OpenMW/openmw!1884
2022-05-19 11:03:02 +00:00
psi29a
33746c4b70 Merge branch 'fix_gcc_warning' into 'master'
Fix gcc warning: -Wuninitialized

See merge request OpenMW/openmw!1869
2022-05-19 11:00:32 +00:00
glassmancody.info
3d03052717 dont bind rendertargets unless we use them, otherwise texture limit will be reached quickly 2022-05-18 19:45:09 -07:00
kuyondo
93aae5e116 Add lua binding for activators 2022-05-19 04:23:22 +08:00
psi29a
b9b4f1c3c2 Merge branch 'console_log' into 'master'
In-game log viewer

See merge request OpenMW/openmw!1799
2022-05-18 07:57:59 +00:00
psi29a
d3f331793e Merge branch 'sol' into 'master'
Update sol. Replace combined sol.hpp with loose files.

See merge request OpenMW/openmw!1851
2022-05-18 07:57:32 +00:00
ζeh Matt
18f16eac4c
Refactor DetourNavigator to pass prng along, use world prng for AiWander 2022-05-17 20:37:15 +03:00
ζeh Matt
b2fab5f5ad
Use World prng for weather system as it influences actors 2022-05-17 18:22:45 +03:00
ζeh Matt
3a90bc7187
Use World prng for head/blink animations 2022-05-17 18:22:45 +03:00
ζeh Matt
cb99e8643a
Use World prng for selection of random creature spawning 2022-05-17 18:22:45 +03:00
elsid
215b46503c
Support rendering for navmesh update frequency as a heatmap
Useful when need to find tiles with high number of updates.

Add debug Lua package with new functions to toggle render mode and set navmesh
render mode.
2022-05-17 01:54:20 +02:00
elsid
98f53eca65
Fix gcc warning: -Wuninitialized
/home/elsid/dev/openmw/apps/opencs/model/world/data.cpp: In constructor ‘CSMWorld::Data::Data(ToUTF8::FromType, bool, const Files::PathContainer&, const std::vector<std::__cxx11::basic_string<char> >&, const boost::filesystem::path&)’:
/home/elsid/dev/openmw/apps/opencs/model/world/data.cpp:69:36: warning: member ‘CSMWorld::Data::mCells’ is used uninitialized [-Wuninitialized]
   69 | : mEncoder (encoding), mPathgrids (mCells), mRefs (mCells),
      |                                    ^~~~~~
2022-05-16 22:26:19 +02:00
elsid
c88d3e712d
Cleanup mwlua includes 2022-05-16 22:25:48 +02:00
psi29a
0ca9510224 Merge branch 'fix_gcc_build' into 'master'
Fix build on gcc 12.1 (#6744)

Closes #6744

See merge request OpenMW/openmw!1862
2022-05-16 20:15:09 +00:00
psi29a
3e3cb133bc Merge branch 'fix_unity_build' into 'master'
Fix unity build

See merge request OpenMW/openmw!1860
2022-05-16 20:12:17 +00:00
Petr Mikheev
cf49b46d64 Show logs in the debug window
Some part of UI code is written by @andrew-app
2022-05-16 20:50:44 +02:00
Evil Eye
2531e24ee3 Fix inverted logic 2022-05-16 18:29:16 +02:00
psi29a
f092d8da9a Merge branch 'post_malone' into 'master'
Post Processing

See merge request OpenMW/openmw!1124
2022-05-16 14:51:13 +00:00
elsid
94dc696f4f
Fix gcc build
In file included from /home/elsid/dev/openmw/apps/openmw/mwphysics/actor.hpp:7,
                 from /home/elsid/dev/openmw/apps/openmw/mwphysics/trace.cpp:9:
/home/elsid/dev/openmw/apps/openmw/mwphysics/ptrholder.hpp: In member function ‘osg::Vec3f MWPhysics::PtrHolder::velocity()’:
/home/elsid/dev/openmw/apps/openmw/mwphysics/ptrholder.hpp:42:25: error: ‘exchange’ is not a member of ‘std’
   42 |             return std::exchange(mVelocity, osg::Vec3f());
      |                         ^~~~~~~~
2022-05-16 15:59:18 +02:00
elsid
c33966c4a4
Fix unity build
In file included from /home/elsid/dev/openmw/build/clang/unity/apps/openmw/ub_mwworld.cpp:41:
/home/elsid/dev/openmw/apps/openmw/mwworld/groundcoverstore.cpp:10:9: error: no type named 'Query' in 'MWWorld::EsmLoader'; did you mean '::EsmLoader::Query'?
        EsmLoader::Query query;
        ^~~~~~~~~~~~~~~~
        ::EsmLoader::Query
/home/elsid/dev/openmw/./components/esmloader/load.hpp:23:12: note: '::EsmLoader::Query' declared here
    struct Query
           ^
2022-05-16 15:04:47 +02:00
psi29a
dd0e0fea72 Merge branch 'lua_strict_index' into 'master'
[Lua] makeStrictReadOnly for enums

See merge request OpenMW/openmw!1859
2022-05-16 10:59:20 +00:00
psi29a
65c95d97c3 Merge branch 'disable_navmeshdb_write_on_lock' into 'master'
Disable writes to navmeshdb on database is locked error

See merge request OpenMW/openmw!1837
2022-05-16 07:38:12 +00:00
Petr Mikheev
7ccbf95503 [Lua] makeStrictReadOnly for enums 2022-05-16 00:16:26 +02:00
Petr Mikheev
d16fa553c8 Fix LuaUtil::Callback 2022-05-15 21:34:48 +02:00
cody glassman
dae0914820 workarounds for gl4es 2022-05-15 10:03:58 -07:00
cody glassman
0cb63ca4e6 experimental point light bindings 2022-05-15 10:03:58 -07:00
cody glassman
04843fed6d moddable post-processing pipeline 2022-05-15 10:03:58 -07:00
Petr Mikheev
0643685ea5 [Lua] Rename onInputUpdate -> onFrame and call it even when the game is on pause (#6745) 2022-05-13 19:14:34 +02:00
uramer
95ad67eb8b Add extraRoll to the Lua camera package 2022-05-12 23:21:47 +02:00
elsid
a710cf6d10
Remove Environment cleanup
Some managers may use the environment in the destructors. Setting them to
nullptr may lead to nullptr dereference when the object is still alive and can
be accessible. But after object is destructed it's UB anyway to dereference
nullptr or a dangling pointer.
2022-05-11 23:26:39 +02:00
ζeh Matt
926cdfbe19
Use random seed specified by settings for new games 2022-05-11 16:37:16 +03:00
elsid
a75c7c49f0
Disable writes to navmeshdb on database is locked error
Simultaneously writing to sqlite3 database is not possible. Process exclusively
locks the database for this. Another process will fail to perform any request
when database is locked. Alternatively it can wait. Handling this situation
properly requires complexity that is not really needed. Users are not expected
to run multiple openmw processes simultaneously using the same navmeshdb.

Before this change running multiple openmw processes using the same navmeshdb
can lead to a crash when first transaction fails to start because there is
exception thrown and not catched.

Remove use of explicit transactions from DbWorker. Handling all possible
transaction states due to different errors brings unnecessary complexity.
Initially they were introduced to increase time between flushes to disk. This
makes sense for navmeshtool because of massive number of writes but for the
engine this is not an issue.
2022-05-09 22:54:46 +02:00
Cody Glassman
882245b935 Lua Bindings: Add view distance bindings to camera 2022-05-09 19:40:48 +00:00