Andrei Kortunov
dd04bfccfb
Load fonts
2022-07-17 22:01:48 +04:00
Andrei Kortunov
ccbb5e03fb
Use YAML files to translate MyGUI's localization tags
2022-07-12 08:20:40 +04: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
Cody Glassman
051832d7ae
[Lua] Set simulation time scale
2022-07-03 12:51:28 +00:00
Andrei Kortunov
aa349f2ed9
Initialize some missing variables
2022-07-03 15:44:50 +04: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
Petr Mikheev
3bf18c601c
Better fog
2022-06-21 02:21:20 +02:00
jvoisin
4e4debb1cb
Remove even more of boost::filesystem
2022-05-25 18:29:02 +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
Petr Mikheev
7f8d433775
Initialize log recorder right after initializing the logging
2022-05-22 02:47:58 +02:00
elsid
68caff9c7b
Use unique_ptr to manage scripts context and encoder lifetime
2022-05-22 01:47:06 +02: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
cody glassman
04843fed6d
moddable post-processing pipeline
2022-05-15 10:03:58 -07: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
cody glassman
ad139f2f9a
rename to windowed fullscreen
2022-05-08 22:56:39 -07:00
cody glassman
05901a2480
add borderless windows, deprecate fullscreen mode
2022-05-08 22:56:39 -07:00
elsid
79676aee15
Make Environment a storage of referencing pointers instead of owned
...
Engine controls lifetime of managers therefore it should own them. Environment
is only access provider.
This allows to avoid redundant virtual calls and also some functions from
managers base classes can be removed if they are used only by Engine.
2022-05-06 23:44:01 +02:00
Evil Eye
a64979e25d
Replace empty std::string assignments
2022-05-04 22:33:39 +02:00
madsbuvi
dd5901d351
Initial commit
...
Multiview shaders.
Refactor Frustum management
Rewrite shared shadow map
cull mask should respect stereo
Stereo savegame screencap
LocalMap refactoring
use the vertex buffer hint instead of the display list patch to enable/disable display lists
Character preview fixes
2022-04-28 21:05:34 +02:00
psi29a
7f4d4c0d70
Merge branch 'refactor/system-ownership' into 'master'
...
Make ownership explicit in Engine and Environment
See merge request OpenMW/openmw!1605
2022-02-06 10:44:15 +00:00
ζeh Matt
a383d9dfdf
Make ownership explicit in Environment
2022-02-05 11:46:23 +02:00
Petr Mikheev
a453e5c198
Reuse the same code to load settings in apps/openmw, apps/launcher, apps/opencs
2022-02-02 23:47:11 +01:00
Petr Mikheev
1bcc4a8bcc
Read settings.cfg from all active config dirs
2022-02-02 23:47:11 +01:00
Bret Curtis
74e7cfc023
remove unused includes: part1
...
remove unused imports: part2
revert one tidy we will keep for c++20
2022-01-23 17:30:25 +01:00
Petr Mikheev
a182fdeea1
Permanent storage for Lua data
2022-01-11 11:21:03 +01:00
Petr Mikheev
0f246e7365
Use a separate instance of Lua i18n for every context
2022-01-02 09:58:51 +01:00
AnyOldName3
d66907ba67
Log OpenGL Vendor, Renderer and Version on startup
2021-12-15 22:17:38 +00:00
Petr Mikheev
db72380ba9
Allow Lua scripts to handle input actions when UI is opened. Also fixes #6456 .
2021-12-15 02:38:54 +01:00
psi29a
a9008d224a
Merge branch 'light_refactors' into 'master'
...
LightManager consolidation
Closes #6389
See merge request OpenMW/openmw!1400
2021-11-30 16:02:28 +00:00
AnyOldName3
3d381bf0d3
Merge branch 'depth_refactor' into 'master'
...
Depth refactor
See merge request OpenMW/openmw!1326
2021-11-21 02:25:06 +00:00
Cody Glassman
d85f772269
Depth refactor
2021-11-21 02:25:05 +00:00
Petr Mikheev
5f195b7576
Make arguments passed to LuaManager::synchronizedUpdate consistent with arguments passed to LuaManager::update. Fixes #6431 .
2021-11-21 01:48:28 +01:00
Petr Mikheev
e56ee2c735
Apply lua handlers for user input in the main thread in order to reduce latency.
2021-11-19 20:37:21 +01:00
glassmancody.info
750514cda2
simply lightmanager and fix racey behavior
2021-11-18 19:40:13 -08:00
glassmancody.info
c489b77385
fix windows aero snap
2021-11-07 20:01:07 -08:00
Evil Eye
3f48d67d8e
Merge branch 'blackscreen_fix' into 'master'
...
Blackscreen fix (#6229 )
See merge request OpenMW/openmw!1359
2021-11-07 14:31:19 +00:00
cody glassman
04692e6012
blackscreen fix
2021-11-06 04:38:43 -07:00
elsid
6b30d375fa
Replace detournavigator includes by forward declarations
2021-11-06 00:48:39 +01: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
f1e3c55ea3
Fix deadlock in Lua worker thread ( #6286 )
2021-09-19 11:32:52 +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
glassmancody.info
e8c6f31e0c
add shader path for mygui ( #6162 )
2021-07-22 15:55:30 -07:00
psi29a
223216733d
Merge branch 'coverity_fix' into 'master'
...
Fix some coverity issues
See merge request OpenMW/openmw!1013
2021-07-12 14:06:44 +00:00
Petr Mikheev
8ff8ec4abd
Fix coverity issues
2021-07-12 12:51:25 +02:00
elsid
b8fcd6d3ba
Manage work item lifetime on the client side
...
Instead of explicit work queue stop before any possibly used engine manager
is destructed. Based on an assumption that any engine manager can be destructed
independently from the work queue destruction. This model is already used in
CellPreloader that conflicts with explicit work queue stop.
After the work queue is requested to be stopped, any client waiting for a not
started work item to be done will wait forever because the work item is dropped
from the queue. Therefore either clients should not wait for own work items to
be completed in destructor or the work queue should not drop items before
clients are destructed. Other approaches are possible but are not considered
due to increasing complexity.
CellPreloader already tries to wait for all created work items to be done so
keep it that way and extend the model to AsyncScreenCaptureOperation and Scene.
Additionally abort all scheduled work items when owner is destructed. This
prevents a long exit when multiple screenshots are scheduled right before
exiting the game.
2021-07-12 11:41:14 +02:00
elsid
73639a93b6
Avoid CTAD to fix macOS build
...
../../../apps/openmw/engine.cpp:706:23: error: no viable constructor or deduction guide for deduction of template arguments of 'function'
? std::function(ScheduleNonDialogMessageBox {})
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional:1430:48: note: candidate template ignored: could not match 'function<_Fp>' against '(anonymous namespace)::ScheduleNonDialogMessageBox'
template<class _Fp> class _LIBCPP_TEMPLATE_VIS function; // undefined
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional:1430:48: note: candidate function template not viable: requires 0 arguments, but 1 was provided
../../../apps/openmw/engine.cpp:707:23: error: no viable constructor or deduction guide for deduction of template arguments of 'function'
: std::function(IgnoreString {})
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional:1430:48: note: candidate template ignored: could not match 'function<_Fp>' against '(anonymous namespace)::IgnoreString'
template<class _Fp> class _LIBCPP_TEMPLATE_VIS function; // undefined
^
2021-07-11 13:26:21 +02:00
Petr Mikheev
702eb19271
Fixes and refactoring
2021-07-09 20:48:54 +02:00
Petr Mikheev
403d31313c
New setting "lua num threads". Thread syncronization is changed from std: 🧵 :yield to std::condition_variable.
2021-07-09 20:48:54 +02:00
Petr Mikheev
87b5afb9bf
Control active Lua scripts from openmw.cfg
2021-07-09 20:24:56 +02:00
Petr Mikheev
3d7e306064
Add apps/openmw/mwlua
2021-07-09 20:03:27 +02:00
elsid
4259f7f230
Add setting to enable/disabled notification for saved screenshots
2021-07-08 21:14:01 +02:00
elsid
5103120eef
Notify about saved screenshot
...
Show message about saved screenshot via schedule message box. Since screenshot
saving happens not in the main thread calling messageBox directly is unsafe.
WindowManager::scheduleMessageBox delays message box showing until next update
in the main thread.
2021-07-08 21:14:01 +02:00
elsid
f7a6be053d
Stop engine work queue before destructing environment
...
To avoid access to null and dangling pointers from active work items on
quitting.
2021-07-08 21:14:01 +02:00
elsid
f8e02000ec
Write screenshots to file asynchronously
2021-07-08 21:13:57 +02:00
elsid
33aa4d0822
Move WriteScreenshotToFileOperation to components
2021-07-08 20:27:19 +02:00
elsid
375372981c
Stop osg viewer threading before destructing engine
...
To avoid rendering while engine parts are destructing.
2021-05-21 23:16:15 +02:00
AnyOldName3
09f39b29f0
Load defaults.bin instead of settings-default.cfg. Do not decode yet.
2021-05-09 21:14:06 +01:00
AnyOldName3
92325976e9
Update documentation to refer to defaults.bin
2021-05-09 21:13:34 +01:00
elsid
8ab5fd9b40
Fix frame rate limit
...
Measure time at the computation end but before sleep. This allows to adjust
sleep interval for the next frame in case sleep is not precise due to syscall
overhead or too low timer resolution.
Remove old frame limiting mechanism.
2021-02-12 00:03:11 +01:00
Bret Curtis
b164f1aa17
Merge pull request #3023 from akortunov/grass_intsancing
...
Grass instancing
2021-01-27 12:21:24 +01:00
Frederic Chardon
7cd7fa2f08
Collect all available stats if OPENMW_OSG_STATS_FILE is set and point to
...
a valid file.
2021-01-27 08:04:33 +00:00
Andrei Kortunov
f40e227686
Remove redundant formatting changes
2021-01-26 22:29:41 +04:00
Andrei Kortunov
14cf0ce1dc
Implement instanced groundcover
2021-01-26 22:29:41 +04:00
psi29a
654238fd18
Merge branch 'no_bonus_points' into 'master'
...
Show mesh origin
Closes #5771
See merge request OpenMW/openmw!507
2021-01-11 21:21:47 +00:00
Mads Buvik Sandvei
a2d8a0b61a
engine.cpp typos
2021-01-09 14:44:15 +00:00
unknown
3bf641d3ce
Show mesh origin
2020-12-29 21:45:59 +01:00
Evil Eye
e62fff5f2e
Add a setting to disable graphical herbalism
2020-12-07 19:04:32 +01:00
Andrei Kortunov
8084a336b5
Replace zeroes and nulls by nullptrs
2020-11-29 11:14:07 +04:00
Frederic Chardon
9aba55a21a
Add the async physics worker to the profiler overlay.
2020-11-20 21:17:47 +01:00
Andrei Kortunov
8ca3c3b123
Mark overrided methods by override keyword
2020-10-16 22:18:54 +04:00
Andrei Kortunov
7d776609c8
Fix unsugned/signed comparison warning
2020-09-21 10:36:01 +04:00
psi29a
22c3588d0d
Merge branch '4771-and-4631' into 'master'
...
Try lower MSAA level if the requested value isn't available
Closes #4471 and #4631
See merge request OpenMW/openmw!297
(cherry picked from commit b3db387512340a5e9a77427c2d7d9d88c2340056)
da0aef7a Retrieve SDL OpenGL attributes after context creation
a51e63b3 Try lower MSAA levels if OpenGL context doesn't have what we requested
c4e92a0a Update CHANGELOG.md
2020-09-20 12:35:26 +00:00
AnyOldName3
3f61ff3a44
Make OpenGL debugging optional
2020-09-19 23:30:34 +01:00
AnyOldName3
441c09578a
Merge remote-tracking branch 'origin/khr_debug' into khr_debug
2020-09-19 23:09:11 +01:00
elsid
db0ad8421f
Report OSG rendering stats
2020-07-11 18:32:57 +02:00
Bret Curtis
0c2fea8254
Merge pull request #2932 from elsid/replace_open_threads
...
Replace OpenThreads by std types
2020-07-04 13:11:23 +02:00
elsid
eb68df1a37
Add stats for all updates
2020-06-30 22:00:23 +02:00
elsid
40ad87bc4d
Replace OpenThreads by std types
2020-06-25 22:16:09 +02:00
Bret Curtis
9d0855baa5
Merge pull request #2866 from elsid/extend_osg_stats
...
Extend OSG stats
2020-05-29 23:23:38 +02:00
Andrei Kortunov
dcfc4cc5dd
Rename onFrame() to update() to make WindowManager consistent with other managers
2020-05-26 18:35:16 +04:00
elsid
69df6098e5
Report frame number, number of actors and objects to stats
2020-05-22 17:39:18 +02:00
elsid
d7a920a04b
Env variable to write OSG stats into file
2020-05-18 23:44:21 +02:00
Andrei Kortunov
f990150c49
Move video wrapper to the WindowsManager
2020-05-09 11:27:02 +04:00
Andrei Kortunov
f9d6137a29
Do not store player reference in the InputManager
2020-05-09 11:27:02 +04:00
Bret Curtis
b8c467e2e0
Merge pull request #2787 from p4r4digm/screenshot-path
...
Added setting to change the directory screenshots are stored in
2020-05-04 17:11:49 +02:00
Bret Curtis
8a8107e837
as it says; revert vismask and uncomplicate openmw
2020-04-20 20:57:38 +02:00
p4r4digm
0741fe5b80
removed path configuration and made screenshots just save in a folder
2020-04-20 09:22:50 -07:00
p4r4digm
2b54e6216b
Added setting to change the directory screenshots are stored in
2020-04-19 16:38:57 -07:00
Andrei Kortunov
2254256db9
Pause both audio and video playback when the game is minimized (feature #4944 )
2020-04-04 22:54:51 +04:00
Andrei Kortunov
e63325ebff
Support for camera rotation via gyroscope on Android (feature #5311 )
2020-04-01 19:57:04 +04:00
Andrei Kortunov
84979fa8b7
Move VisMask to components
2020-02-16 16:03:35 +04:00
Michael Stopa
e4bec88a68
Implement mouse wheel bindings (bug #2679 )
2019-10-30 20:45:51 +04:00
Andrei Kortunov
c51aba0b13
Recharge items outside of player's inventory (bug #4077 )
2019-10-07 22:59:43 +04:00
Andrei Kortunov
94a281370f
Continue scripts execution after player's death (bug #5166 )
2019-09-17 22:40:51 +04:00
Alex Rice
e7ae7a8ca6
Allow user controller bindings
2019-08-03 19:55:58 +00:00
Andrei Kortunov
ae935a8084
Add separate textures for scrollbars (feature #5051 )
2019-06-01 16:12:03 +04:00
Andrei Kortunov
57176ff8d4
Unload viewer and stop background jobs before resources unloading
2019-05-24 08:03:45 +04:00
Ilya Zhuravlev
1d02c1ef37
engine: fix window creation when SDL returns different-sized window
2019-04-30 14:25:24 -04:00
Andrei Kortunov
95d6a99c7f
Do not use the CPU affinity of OSG viewer (bug #4785 )
2019-04-24 14:51:00 +04:00
Andrei Kortunov
a302ec9c65
Make fallback map static to simplify constructors
2019-03-29 15:30:49 +04:00
Andrei Kortunov
7995a92672
Initialize missing variables
2019-03-19 09:12:31 +04:00
Bret Curtis
4e3de9b00c
Merge pull request #2206 from Capostrophic/title
...
Loop title screen music (bug #4896 )
2019-03-18 08:58:14 +01:00
elsid
4624f31788
Report navigator stats
2019-03-17 22:15:18 +03:00
Capostrophic
abae35e88b
Loop title screen music (bug #4896 )
2019-03-17 21:05:52 +03:00
Capostrophic
dd03d3b231
Print SDL version at startup
2019-03-15 19:07:31 +03:00
AnyOldName3
ac18983f37
Finish gldebug location move
2019-02-28 00:02:07 +00:00
AnyOldName3
3d917fcbad
Add basic OpenGL debug callback
2019-02-28 00:02:07 +00:00
elsid
619a111a11
Run startup script once at engine start when game is running (bug #4877 )
2019-02-27 22:55:13 +03:00
elsid
33f6fb258d
Option to set specific random seed for random number generator
2019-02-26 09:36:34 +03:00
Andrei Kortunov
3032b177a1
Remove redundant includes
2019-02-23 08:02:12 +04:00
Andrei Kortunov
ff9afda18d
Avoid to keep reference to the local 'encoder' variable outside the Engine::go()
2019-02-17 14:29:39 +04:00
Andrei Kortunov
ab0841cc3d
Split physics update from world update in the profiler
2019-01-07 14:44:43 +04:00
Andrei Kortunov
e06f0b797a
Replace all NULLs to nullptr
2018-10-09 10:21:12 +04:00
Andrei Kortunov
7a986f38da
Support for user-defined TrueType fonts
2018-09-12 14:31:01 +04:00
Andrei Kortunov
5a4d0cec3a
Use new logging system for game itself
2018-08-14 23:05:43 +04:00
Andrei Kortunov
12144de8ed
Initialize missing variables
2018-08-01 20:18:37 +04:00
Bret Curtis
99e4d49e7c
Merge pull request #1787 from akortunov/profilierfont
...
Use the DejaVuLGCSansMono.ttf for profiler output
2018-07-11 16:00:34 +02:00
Andrei Kortunov
70b6d4983d
Use the DejaVuLGCSansMono.ttf in profilier output
2018-07-11 14:41:49 +04:00
Nikolay Kasyanov
5fcb091127
Replace FIXME with a detailed explanation of the issue
2018-06-27 22:40:09 +02:00
Nikolay Kasyanov
9c78364c45
Revert "Merge pull request #1771 from Xenkhan/master"
...
This reverts commit 9667dd051c , reversing
changes made to f52e06fc19 .
2018-06-27 22:19:09 +02:00
Bret Curtis
a55583a395
Merge branch 'master' into master
2018-06-21 22:22:01 +02:00
Xenkhan
405a0caf29
Remove unneeded whitespace
2018-06-20 13:56:00 -05:00
Xenkhan
5a4817c147
Get rid of reinterpret_cast<>
2018-06-20 13:33:59 -05:00
Bret Curtis
6655b7e512
Merge pull request #1740 from nikolaykasyanov/software-cursor-decompression
...
Decompress cursors using SDL software renderer on Mac or if OSG >= 3.5.8 or if OPENMW_DECOMPRESS_TEXTURES is set
2018-06-20 17:19:48 +02:00
Xenkhan
24ddb66af9
Retrieve SDL window settings instead of using magic numbers
2018-06-19 15:03:30 -05:00
Nikolay Kasyanov
359f87ab9f
Change imageToSurface to return a unique_ptr to avoid manual surface cleanup
2018-06-16 12:12:32 +02:00
Miloslav Číž
db6107f12f
Merge branch 'master' into screenshot360
2018-02-25 11:25:19 +01:00
scrawl
f6ca7295a6
Revert "Merge pull request #1595 "
...
This reverts commit 7ef7b1a7b1 , reversing
changes made to 9e7e4de0ab .
2018-01-09 13:47:57 +00:00
scrawl
7ef7b1a7b1
Merge pull request #1595
2018-01-09 00:42:27 +00:00
Thunderforge
bd072b131b
Moving controller file out of the controllers subdirectory
2018-01-02 20:58:43 -06:00
Andrei Kortunov
b277b83810
Display the 'Screenshot saved' message after the screenshot saving (bug #4191 )
2018-01-02 14:52:42 +04:00
Thunderforge
3f7143556a
Providing different mappings depending on the version of SDL installed
2018-01-01 22:16:54 -06:00
scrawl
36f4f0ef85
Don't increase simulationTime while the game is minimized ( Fixes #4211 )
2017-11-16 18:48:49 +00:00
Miloslav Číž
8f32114025
segfault fix
2017-11-09 18:26:27 +01:00
scrawl
f67dbc8aa0
Remove redundant update function
2017-09-24 19:08:15 +02:00
scrawl
8c6a8ca48d
Respect the framelimit in all cases ( Fixes #3531 )
...
Affects loading screen, videos & modal dialogs. Also skips rendering if window is minimized.
2017-08-30 21:26:30 +00:00
spycrab
632d39ca76
Allow starting at an (unnamed) exterior cell using --start (Feature #3941 )
2017-08-06 22:31:07 +02:00
scrawl
a629d48df6
Update the facedObject after the camera is updated
2017-07-19 13:05:51 +02:00
Bret Curtis
c781d1f8ed
purge unnecessary imports
...
add fstream back
add fstream back
add fstream back
add fstream back
add fstream back
add fstream back
add fstream back
2017-06-09 19:08:53 +02:00
scrawl
1ffb9e1bf3
Remove renderWorldMap()
2017-04-21 00:50:22 +02:00
scrawl
29556a1802
More consistent wording of errors/warnings
...
A Warning indicates a potential problem in the content file(s) that the user told OpenMW to load. E.g. this might cause an object to not display at all or as intended, however the rest of the game will run fine.
An Error, however, is more likely to be a bug with the engine itself - it means that basic assumptions have been violated and the engine might not run correctly anymore.
The above mostly applies to errors/warnings during game-play; startup issues are handled differently: when a file is completely invalid/corrupted to the point that the engine can not start, that might cause messages that are worded as Error due to the severity of the issue but are not necessarily the engine's fault.
Hopefully, being a little more consistent here will alleviate confusion among users as to when a log message should be reported and to whom.
2017-03-04 21:48:31 +01:00
scrawl
8f79fa3d72
Add resource statistics panel opened with F4
2017-02-22 14:28:45 +01:00
scrawl
b40ca9b60a
Set the window rectangle on the Viewer's EventQueue
2017-02-22 01:49:54 +01:00
scrawl
3f27c8cc97
Always print context for script warnings to remove the need for verbose option
...
(Fixes #2813 )
2017-02-21 04:32:59 +01:00
scrawl
481c440698
Print OSG version on startup
2017-02-19 13:26:45 +01:00
scrawl
72c6b11cf8
Move global map render to the worker thread
2017-02-14 07:58:16 +01:00
scrawl
026a05718f
Construct the WorkQueue in Engine
2017-02-14 07:58:16 +01:00
scrawl
066aa2e60e
Always run preloadCommonAssets even when the menu is skipped
...
Move to before the content files are loaded so we can do preloading in parallel with content file loading
2017-02-09 03:16:36 +01:00