AnyOldName3
aba735e615
Check in external Base64 implementation
...
Taken from https://gist.github.com/tomykaira/f0fd86b6c73063283afe550bc5d77594
MIT licenced
2021-05-17 22:45:10 +01:00
Bret Curtis
66a527c3de
Merge pull request #3075 from akortunov/warnfix
...
Fix MSVC's C4244 and C4267 warnings
2021-05-14 21:28:56 +02:00
Gleb Mazovetskiy
bdfbf01772
Update extern Bullet to 3.17
...
Includes performance improvements that affect OpenMW:
* https://github.com/bulletphysics/bullet3/pull/3287
* https://github.com/bulletphysics/bullet3/pull/3293
2021-05-14 00:05:00 +01:00
Evil Eye
69aaf6ab04
don't touch frame->data
2021-05-13 14:45:13 +02:00
Evil Eye
ed118537a8
use unique_ptr instead
2021-05-13 14:02:36 +02:00
Evil Eye
3b7cef9e88
add PacketGuard and move try/catch up
2021-05-13 12:01:32 +02:00
Evil Eye
1b61ec979d
switch to lock_guards
2021-05-13 11:25:58 +02:00
Andrei Kortunov
963e1b8b3f
Fix MSVC's C4244 warnings
2021-05-12 10:34:40 +04:00
Andrei Kortunov
f9d42ed396
Fix MSVC's C4267 warnings
2021-05-12 10:34:39 +04:00
Evil Eye
de37ca8e2c
Catch exceptions in VideoThread
2021-05-10 17:47:57 +02:00
fredzio
6fd04cb8f6
Remove support for single-precision Bullet, fail during configuration instead of during linking.
2021-05-02 17:48:50 +02:00
Andrei Kortunov
124a33d8a3
Fix uninitialized variables
2021-04-10 10:58:00 +04:00
Andrei Kortunov
93954a961c
Unlock mutex on return to avoid hang
2021-04-10 09:30:58 +04:00
AnyOldName3
3ad2335d11
Fix FetchContent Bullet with MSVC
2021-04-07 20:23:39 +00:00
psi29a
f8d32c0576
Merge branch 'upd-mygui' into 'master'
...
Update MyGUI
Closes #5897
See merge request OpenMW/openmw!650
2021-03-22 21:28:13 +00:00
Gleb Mazovetskiy
493659d4f9
MSVC: extern/ tweaks to make it build
...
Not everything is supported but it does build with the following CMakeSettings.json
variables and dependencies from vcpkg:
"variables": [
{ "name": "OPENMW_USE_SYSTEM_BULLET", "value": "False", "type": "BOOL" },
{ "name": "OPENMW_USE_SYSTEM_MYGUI", "value": "False", "type": "BOOL" },
{ "name": "OPENMW_USE_SYSTEM_OSG", "value": "False", "type": "BOOL" },
{ "name": "BULLET_STATIC", "value": "True", "type": "BOOL" },
{ "name": "OSG_STATIC", "value": "False", "type": "BOOL" },
{ "name": "MYGUI_STATIC", "value": "False", "type": "BOOL" }
],
What works: it builds
What does not work: Not all DLLs are copied into the output directory with this set up
(SDL2, MyGUI, Bullet, OSG, are not copied).
2021-03-16 19:52:10 +00:00
Gleb Mazovetskiy
918fd174f3
Set MYGUI_DONT_USE_OBSOLETE=OFF
...
Fixes https://gitlab.com/OpenMW/openmw/-/issues/5896
2021-03-14 12:39:55 +00:00
Gleb Mazovetskiy
36cea2073f
Update MyGUI
...
Includes f01cba4bb3
Fixes https://gitlab.com/OpenMW/openmw/-/issues/5897
2021-03-13 12:10:14 +00:00
Gleb Mazovetskiy
fe6b990f2e
Update Bullet to improve performance
...
Updates Bullet to include https://github.com/bulletphysics/bullet3/pull/3287
This massively improves heightfield collision detection performance in
some areas.
E.g. with single-threaded bullet in the `--skip-menu` starting area
on my test desktop: 30 FPS -> 60 FPS
2021-03-12 12:40:19 +00:00
Gleb Mazovetskiy
1db7d2ec4e
Restore compatibility with FFMpeg < 57.80.100
...
This should fix macOS Travis build broken by 58d33aa95b
2021-03-08 19:29:34 +00:00
Gleb Mazovetskiy
36bac353df
AV: Handle varying video frame dimensions
2021-03-08 04:00:11 +00:00
Gleb Mazovetskiy
58d33aa95b
AV: Fix all memory leaks
...
The most substantial memory leak came from `PacketQueue::get`
not unreferencing its argument packet.
Other leaks came from using `av_free` instead of type-specific free
functions.
Also modifies `PacketQueue::put` for readability.
2021-03-08 03:16:55 +00:00
Gleb Mazovetskiy
eb93fdfbea
Use unique_ptr with custom deleter for VideoPicture::rgbaFrame
2021-03-07 17:58:09 +00:00
Gleb Mazovetskiy
b7076549a3
osg-ffmpeg-videoplayer: Fix crash on ARM
...
osg-ffmpeg-videoplayer handled frame allocation incorrectly.
It used a `vector<uint8_t>` as its buffer, meaning the addresses could
did not respect alignment.
Instead, changes it to use `AVFrame` as buffers, allocated via `av_image_alloc`.
We also now only allocate the buffer once, instead of on every frame,
which should improve the framerate of videos.
Fixes the following crash on startup on ARM:
> Invalid address alignment (signal 7)
Fixes #5807
2021-03-07 03:33:00 +00:00
Gleb Mazovetskiy
8a1644885b
MyGUI: Bump version to 3.4.1
...
Also set MYGUI_DONT_USE_OBSOLETE
2021-03-02 13:26:23 +00:00
Gleb Mazovetskiy
1c9245bd58
Move recastnavigation to FetchContent
2021-02-19 18:35:34 +00:00
Gleb Mazovetskiy
3308c717f8
extern/CMakeLists.txt: Switch to openmw's OSG
2021-01-26 19:00:55 +00:00
Gleb Mazovetskiy
4098b455f5
extern/CMakeLists.txt: Bump OSG
...
All the necessary fixes have been upstreamed
2021-01-26 19:00:55 +00:00
Gleb Mazovetskiy
3d334dae75
Fix MYGUI/OSG_STATIC and BUILD_SHARED_LIBS
2021-01-26 19:00:55 +00:00
Gleb Mazovetskiy
daf080ff19
cmake: Move MYGUI/OSG_STATIC default to top-level
...
Makes it clear that the USE_SYSTEM variables affect the defaults of
STATIC variables.
2021-01-26 19:00:55 +00:00
Gleb Mazovetskiy
377bd27aa7
set(BUILD_SHARED_LIBS ${OSG/MYGUI_STATIC})
2021-01-26 19:00:55 +00:00
Gleb Mazovetskiy
eba151884e
Fix Android build
...
https://github.com/openscenegraph/OpenSceneGraph/pull/1037
2021-01-26 19:00:55 +00:00
Gleb Mazovetskiy
f0febe095c
extern/CMakeLists.txt: Set OSG/MYGUI_STATIC on PARENT_SCOPE
2021-01-26 19:00:55 +00:00
Gleb Mazovetskiy
402e43678c
extern/CMakeLists.txt: Bump OSG
2021-01-26 19:00:55 +00:00
Gleb Mazovetskiy
98564b0aae
cmake: move cmake_minimum_required bump to extern/CMakeLists.txt
2021-01-26 19:00:55 +00:00
Gleb Mazovetskiy
93fe84aea8
cmake: Move USED_OSG_(COMPONENTS|PLUGINS) from extern to top-level
2021-01-26 19:00:55 +00:00
Gleb Mazovetskiy
99ba45a308
Optional static builds of OSG, MyGUI, Bullet
2021-01-26 19:00:55 +00:00
Andrei Kortunov
7fc4c9f3f6
Avoid dead code
2021-01-09 13:52:01 +04:00
Andrei Kortunov
8084a336b5
Replace zeroes and nulls by nullptrs
2020-11-29 11:14:07 +04:00
elsid
9363bc2d48
Update recastnavigation to 6624e7aef5e15df11cb2f5673574df8e4c96af6a
2020-11-18 18:03:29 +01:00
Andrei Kortunov
8ca3c3b123
Mark overrided methods by override keyword
2020-10-16 22:18:54 +04:00
Eli2
257a6b4629
Use cmake method to enable interprocedural optimizations
2020-09-03 20:01:20 +01: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
Andrei Kortunov
230e06dec7
Make joysticks dead zone configurable (bug #5502 )
2020-06-28 13:12:12 +04:00
elsid
40ad87bc4d
Replace OpenThreads by std types
2020-06-25 22:16:09 +02:00
Andrei Kortunov
2b4274bca8
Use modern Qt flag declarations
2020-06-22 18:46:45 +04:00
Bret Curtis
61a5c6125d
#5480 : Drop Qt4 support and require Qt 5.12 or later.
2020-06-22 12:17:06 +02:00
psi29a
b9cd8d23a4
Merge branch 'cs-crash-on-exit-fix' into 'master'
...
Stop the CS crashing on exit - Close graphics context while it still exists
See merge request OpenMW/openmw!182
2020-05-02 10:25:59 +00:00
elsid
847cd41b01
Update recastnavigation to 57610fa6ef31b39020231906f8c5d40eaa8294ae
2020-04-24 20:40:22 +02:00
AnyOldName3
ac256f05ff
Close graphics context while it still exists
2020-04-22 19:20:48 +01:00
Andrei Kortunov
2e7712a390
Fix C5204 warnings by adding default virtual destructors
2020-03-26 14:49:12 +04:00
Andrei Kortunov
fd17a5acf4
Make R&D patch more noticable
2019-12-23 10:51:25 +04:00
Andrei Kortunov
e1958b671e
Make dtMeshTile POD
2019-12-20 14:16:39 +04:00
Andrei Kortunov
040d2675c6
Fix the C4267 MSVC warning
2019-11-19 15:31:44 +04:00
Andrei Kortunov
ad256e8343
Validate input bindings to avoid crashes
2019-11-15 11:41:01 +04:00
Michael Stopa
e4bec88a68
Implement mouse wheel bindings (bug #2679 )
2019-10-30 20:45:51 +04:00
elsid
acb939a81b
Update Recastnavigation to c40188c796f089f89a42e0b939d934178dbcfc5c
2019-10-20 17:25:25 +02:00
capostrophic
1f3740225b
Purge unnecessary recast stuff
2019-08-05 01:40:35 +03:00
Andrei Kortunov
454bae2c43
Make PacketQueue fields atomic to avoid data races (e.g. with ParseThread)
2019-05-24 08:04:20 +04:00
Capostrophic
5f86933dc6
Merge upstream osgQt changes
2019-03-17 01:41:13 +03:00
Andrei Kortunov
46fee678a7
Place QWindow include under Qt version check
2019-03-13 22:57:01 +04:00
Andrei Kortunov
4aa21b9088
Do not swap buffers for non-exposed windows (bug #4911 )
2019-03-13 14:35:21 +04:00
elsid
dbf6780dde
Update Recastnavigation to 3a619d773deb7e3a15ee215217c825995fe71312
2019-03-03 13:46:24 +03:00
Capostrophic
c9df63ffd1
Replace BSAOpt hash calculation with a custom function
2019-01-22 02:22:57 +03:00
Azdul
a8c1c4315c
Missing header on Linux
2019-01-18 21:19:59 +01:00
Azdul
a3bcd95546
Merge branch 'cc9cii' of https://github.com/cc9cii/openmw into tes4_bsa
2019-01-18 09:11:41 +01:00
Azdul
42ea609d1d
Remove files with incorrect Git history / attribution
2019-01-18 09:03:34 +01:00
Azdul
96d19e07ca
Fix Linux build
2019-01-16 20:59:07 +01:00
Azdul
25650e65bf
Read any BSA file - detection based on version in BSA header
2019-01-16 20:19:15 +01:00
Ilya Zhuravlev
07e9ce84b3
Replace volatile bools with std::atomic<bool>
2018-12-24 14:19:35 -05:00
Stanislaw Halik
59d96d808e
fix missing include
2018-12-07 04:23:52 +01:00
Bret Curtis
63a2487630
bump /extern/recastnavigation to commit 3087e805b02d5eb8fff7851234fa2b3f71290eba; fixes clang warning about missing delete: https://github.com/recastnavigation/recastnavigation/issues/359
2018-11-05 16:37:47 +01:00
Andrei Kortunov
f88d5e808c
Rewrite media decoder to use FFMpeg 3.2+ API (task #4686 )
2018-11-03 22:34:25 +04:00
elsid
70b5160bf1
Add files with recastnavigation current commit hash and url to clone
2018-11-01 17:01:22 +01:00
elsid
792a0585c0
Add recastnavigation as subdirectory
2018-11-01 17:01:22 +01:00
Andrei Kortunov
229d1bb425
Backport loop from tinyxml 2.6 to avoid CVE
2018-10-19 19:43:19 +04:00
cc9cii
5ad440cb45
TES4/TES5 ESM/ESP file reader.
...
To support the possibility of a standalone implementation of TES4, the ESM/ESP code is placed in the 'extern' folder.
Much more work needs to be done.
2018-10-07 07:54:57 +11:00
cc9cii
3982573035
BSA enhancements.
...
* Implement hash based lookup for TES3 BSA files.
* Added TES4/TES5 BSA support.
* Implemented a hack (non-portable code) in an attempt to reduce startup time under Windows because Boost::filesystem seems to take forever on GetFileAttributeW. This implementation uses FindFirstFile/FindNextFile/FindClose instead.
2018-10-06 13:35:51 +10:00
Andrei Kortunov
57e1462417
Do not use fall-through
2018-08-09 11:01:23 +04:00
Andrei Kortunov
e4f862c0b9
Check if next char exists
2018-08-03 16:42:43 +04:00
elsid
c71df7249d
Fix UTF-8 econding
...
To be able run gcovr
2018-06-03 13:46:10 +03:00
Andreas Sturmlechner
2c9d46a60b
Fix build with Qt 5.11_beta3 (dropping qt5_use_modules)
2018-04-17 23:03:56 +02:00
Harald H
d3b623b5d3
http to https for supported urls ( #1625 )
...
* http to https for supported urls
* http to https
* http to https
* http to https
* http to https
* http to https
* http to https
* http to https
* http tp https
* http to https
* http to https
* http to https
* http to https
* http to https
* http to https
* http to https
* http to https
* some url fixes
* http to https
2018-03-08 21:23:24 +01:00
Ilya Zhuravlev
b4ec8aaf5e
VideoState::queue_picture: ffmpeg expects a buffer of 4 pointers in sws_scale
2018-01-21 12:21:22 -05:00
scrawl
4c174ecd12
Merge changes to coverity scan script
2017-10-15 17:06:58 +02:00
scrawl
8d17565efd
Fix joystick binding for an action being discarded when default for another action is loaded (Bug #3900 )
2017-06-25 14:44:17 +02:00
scrawl
ca5b351eef
Fix saved joystick bindings being discarded when running without joystick connected
2017-06-25 14:43:03 +02:00
Bret Curtis
11c4aed4e5
algo needed for std::min/max in msvc2013
2017-06-10 09:09:30 +02:00
Bret Curtis
d48b829b45
replace and purge boost::lexical_cast
2017-06-09 19:08:53 +02:00
Bret Curtis
39185e6f8c
purge the rest of boost::shared and any other boost related things that no longer are required
...
put boost system back in, clean others up
revert Qt
add back boost fstream
2017-06-09 19:08:53 +02:00
Bret Curtis
d785344fad
purge all instances of <boost/shared_ptr.hpp>, clean up unused headers
2017-06-09 19:08:53 +02:00
Bret Curtis
07f75e1104
replace boost::shared_ptr in extern and components
2017-06-09 19:08:53 +02:00
Ewan Higgs
38a2de3c51
convert std::autor_ptr to std::unique_ptr, originally by Ewan Higgs and updated by Bret Curtis
2017-06-09 16:49:25 +02:00
scrawl
6f878327bf
Fix unused ICS_MAX warning
2017-06-04 12:50:25 +02:00
Allofich
0f20312012
Fix MSVC warnings
2017-01-28 04:37:47 +09:00
scrawl
530fb61ad0
Use OpenThreads instead of boost thread
...
This should allow OpenMW to work better with git versions of openscenegraph. OSG dev version 3.5.5 added the setting of thread affinity for the main thread. The problem is that in the boost/standard threading libraries, the affinity of a thread is inherited by any further threads launched from that thread, leading to these threads always running on the same core as the main thread unless you tell them not to.
With OpenThreads, the default affinity of a thread is none, no matter what parent thread it was launched from.
So, when using custom threading with OSG 3.6+, we have these options:
1. explicitely tell OSG to *not* set the thread affinity
or 2. explicitely set the thread affinity of additional threads created (possible with boost, but not possible with std::thread)
or 3. use OpenThreads
or 4. accept the suboptimal performance of non-OSG threads (in OpenMW's case the sound streaming & video threads) running on the same core as the main thread
This patch opts for 3.)
Reference: http://forum.openscenegraph.org/viewtopic.php?t=16158
2016-10-10 18:23:06 +02:00
scrawl
0d439750a2
Clang warning fix
2016-08-14 15:20:52 +02:00
Roman Proskuryakov
28c63aea72
Uses FindTinyXML to find package
2016-06-12 21:40:02 +03:00
Aesylwinn
2f39a6e20d
Fix camera input not being reset when focus for widget is lost.
2016-06-08 13:25:47 -04:00
scrawl
a1f323f528
Fix build against OSG 3.5.3
2016-06-06 13:32:27 +02:00