1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-16 20:29:57 +00:00
Commit graph

504 commits

Author SHA1 Message Date
psi29a
ca6262c033 switch Static Deps and Tests from GCC to clang and set to -O0 to speed up builds 2022-01-18 18:22:46 +00:00
Bret Curtis
6672014a51 make this great again 2022-01-06 15:02:24 +01:00
Bret Curtis
f0db576611 removed redundant get on smart pointer; made pictq_[r|w]index unsigned longs to be type compatible with std::array pictq.size(); fixes assert issue 2022-01-05 12:19:22 +01:00
Bret Curtis
bae8713998 make use of std::array pictq.size() instead of VIDEO_PICTURE_ARRAY_SIZE; remove redundant smart-pointer .get calls; fix typos 2022-01-05 09:29:10 +01:00
Bret Curtis
4eea734551 Resolves #6088 by rolling our own PacketList that replaces the deprecated AVPacketList; initial work done by akortunov in 60aec04606; adapted and cleaned up some old cruft along the way. 2022-01-05 09:29:10 +01:00
psi29a
e4ee6ab0c1 Update extern/i18n.lua/CMakeLists.txt to be like the rest... (make i18n work on macOS) 2022-01-03 11:53:07 +00:00
Petr Mikheev
f91a5499d3 Add extern/i18n.lua 2021-12-30 00:37:54 +01:00
elsid
f85053d78c
Support unaligned blocks 2021-11-21 16:22:58 +01:00
elsid
86bf9d5b8d
Support 128bit seed for MurmurHash3_x64_128 2021-11-21 16:22:58 +01:00
elsid
d04d4ab499
Add MurmurHash3_x64_128 implementation
Sources:
92cf3702fc/src/MurmurHash3.h
92cf3702fc/src/MurmurHash3.cpp

Other hash functions and unused implementation details are removed.
2021-11-21 16:22:57 +01:00
elsid
2bace703d5
Add dependency to SQLite3
This will be required by navmeshtool.
2021-10-11 19:34:07 +02:00
jvoisin
8056476d64 Add clang-tidy 2021-07-25 18:02:05 +02:00
Petr Mikheev
4db5fa351d Add sol3.2.2/sol/sol.hpp to extern instead of downloading during building 2021-07-12 11:46:32 +02:00
Petr Mikheev
84721fb58a Disable special processing of Lua errors in debug builds. Fixes #6151. 2021-07-10 23:43:55 +02:00
Petr Mikheev
9e168fd9cc Add Lua/LuaJit and sol3 to openmw 2021-07-09 19:27:00 +02:00
elsid
7498a86abe
Remove redundant semicolons 2021-07-05 13:11:54 +02:00
AnyOldName3
873b3b4800 Handle empty strings. 2021-06-26 19:46:34 +01:00
Dan Church
70a0229010
Fix future FFMpeg API changes
avcodec_find_decoder now returns const AVCodec*.
2021-06-01 10:56:48 -05:00
Evil Eye
54d32817d5 Use av_free and maybe get Coverity to understand 2021-05-19 17:12:41 +02:00
psi29a
4bc7012104 Merge branch 'pack-default-settings' into 'master'
Pack default settings

Closes #5925

See merge request OpenMW/openmw!822
2021-05-18 08:11:13 +00:00
AnyOldName3
081650a2e5 Integrate Base64 library with build 2021-05-17 23:00:23 +01:00
AnyOldName3
2b1326cb74 Change namespace to Base64
The functions do Base64 encoding and decoding and do not feed me
delicious almond and meringue based confectionary.
2021-05-17 22:50:32 +01:00
AnyOldName3
d66cc3b7ae Fix undefined behaviour 2021-05-17 22:47:08 +01:00
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