Commit Graph

497 Commits (master)

Author SHA1 Message Date
elsid f85053d78c
Support unaligned blocks 3 years ago
elsid 86bf9d5b8d
Support 128bit seed for MurmurHash3_x64_128 3 years ago
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.
3 years ago
elsid 2bace703d5
Add dependency to SQLite3
This will be required by navmeshtool.
3 years ago
jvoisin 8056476d64 Add clang-tidy 3 years ago
Petr Mikheev 4db5fa351d Add sol3.2.2/sol/sol.hpp to extern instead of downloading during building 3 years ago
Petr Mikheev 84721fb58a Disable special processing of Lua errors in debug builds. Fixes #6151. 3 years ago
Petr Mikheev 9e168fd9cc Add Lua/LuaJit and sol3 to openmw 3 years ago
elsid 7498a86abe
Remove redundant semicolons 3 years ago
AnyOldName3 873b3b4800 Handle empty strings. 3 years ago
Dan Church 70a0229010
Fix future FFMpeg API changes
avcodec_find_decoder now returns const AVCodec*.
3 years ago
Evil Eye 54d32817d5 Use av_free and maybe get Coverity to understand 3 years ago
psi29a 4bc7012104 Merge branch 'pack-default-settings' into 'master'
Pack default settings

Closes #5925

See merge request OpenMW/openmw!822
3 years ago
AnyOldName3 081650a2e5 Integrate Base64 library with build 3 years ago
AnyOldName3 2b1326cb74 Change namespace to Base64
The functions do Base64 encoding and decoding and do not feed me
delicious almond and meringue based confectionary.
3 years ago
AnyOldName3 d66cc3b7ae Fix undefined behaviour 3 years ago
AnyOldName3 aba735e615 Check in external Base64 implementation
Taken from https://gist.github.com/tomykaira/f0fd86b6c73063283afe550bc5d77594

MIT licenced
3 years ago
Bret Curtis 66a527c3de
Merge pull request #3075 from akortunov/warnfix
Fix MSVC's C4244 and C4267 warnings
3 years ago
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
3 years ago
Evil Eye 69aaf6ab04 don't touch frame->data 3 years ago
Evil Eye ed118537a8 use unique_ptr instead 3 years ago
Evil Eye 3b7cef9e88 add PacketGuard and move try/catch up 3 years ago
Evil Eye 1b61ec979d switch to lock_guards 3 years ago
Andrei Kortunov 963e1b8b3f Fix MSVC's C4244 warnings 3 years ago
Andrei Kortunov f9d42ed396 Fix MSVC's C4267 warnings 3 years ago
Evil Eye de37ca8e2c Catch exceptions in VideoThread 3 years ago
fredzio 6fd04cb8f6 Remove support for single-precision Bullet, fail during configuration instead of during linking. 3 years ago
Andrei Kortunov 124a33d8a3 Fix uninitialized variables 3 years ago
Andrei Kortunov 93954a961c Unlock mutex on return to avoid hang 3 years ago
AnyOldName3 3ad2335d11 Fix FetchContent Bullet with MSVC 3 years ago
psi29a f8d32c0576 Merge branch 'upd-mygui' into 'master'
Update MyGUI

Closes #5897

See merge request OpenMW/openmw!650
3 years ago
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).
3 years ago
Gleb Mazovetskiy 918fd174f3 Set `MYGUI_DONT_USE_OBSOLETE=OFF`
Fixes https://gitlab.com/OpenMW/openmw/-/issues/5896
3 years ago
Gleb Mazovetskiy 36cea2073f Update MyGUI
Includes f01cba4bb3
Fixes https://gitlab.com/OpenMW/openmw/-/issues/5897
3 years ago
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
3 years ago
Gleb Mazovetskiy 1db7d2ec4e Restore compatibility with FFMpeg < 57.80.100
This should fix macOS Travis build broken by 58d33aa95b
3 years ago
Gleb Mazovetskiy 36bac353df AV: Handle varying video frame dimensions 3 years ago
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.
3 years ago
Gleb Mazovetskiy eb93fdfbea Use unique_ptr with custom deleter for VideoPicture::rgbaFrame 3 years ago
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
3 years ago
Gleb Mazovetskiy 8a1644885b MyGUI: Bump version to 3.4.1
Also set MYGUI_DONT_USE_OBSOLETE
3 years ago
Gleb Mazovetskiy 1c9245bd58 Move recastnavigation to FetchContent 3 years ago
Gleb Mazovetskiy 3308c717f8 extern/CMakeLists.txt: Switch to openmw's OSG 3 years ago
Gleb Mazovetskiy 4098b455f5 extern/CMakeLists.txt: Bump OSG
All the necessary fixes have been upstreamed
3 years ago
Gleb Mazovetskiy 3d334dae75 Fix MYGUI/OSG_STATIC and BUILD_SHARED_LIBS 3 years ago
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.
3 years ago
Gleb Mazovetskiy 377bd27aa7 set(BUILD_SHARED_LIBS ${OSG/MYGUI_STATIC}) 3 years ago
Gleb Mazovetskiy eba151884e Fix Android build
https://github.com/openscenegraph/OpenSceneGraph/pull/1037
3 years ago
Gleb Mazovetskiy f0febe095c extern/CMakeLists.txt: Set OSG/MYGUI_STATIC on PARENT_SCOPE 3 years ago
Gleb Mazovetskiy 402e43678c extern/CMakeLists.txt: Bump OSG 3 years ago
Gleb Mazovetskiy 98564b0aae cmake: move cmake_minimum_required bump to extern/CMakeLists.txt 3 years ago
Gleb Mazovetskiy 93fe84aea8 cmake: Move USED_OSG_(COMPONENTS|PLUGINS) from extern to top-level 3 years ago
Gleb Mazovetskiy 99ba45a308 Optional static builds of OSG, MyGUI, Bullet 3 years ago
Andrei Kortunov 7fc4c9f3f6 Avoid dead code 3 years ago
Andrei Kortunov 8084a336b5 Replace zeroes and nulls by nullptrs 3 years ago
elsid 9363bc2d48
Update recastnavigation to 6624e7aef5e15df11cb2f5673574df8e4c96af6a 4 years ago
Andrei Kortunov 8ca3c3b123 Mark overrided methods by override keyword 4 years ago
Eli2 257a6b4629 Use cmake method to enable interprocedural optimizations 4 years ago
Bret Curtis 0c2fea8254
Merge pull request #2932 from elsid/replace_open_threads
Replace OpenThreads by std types
4 years ago
Andrei Kortunov 230e06dec7 Make joysticks dead zone configurable (bug #5502) 4 years ago
elsid 40ad87bc4d
Replace OpenThreads by std types 4 years ago
Andrei Kortunov 2b4274bca8 Use modern Qt flag declarations 4 years ago
Bret Curtis 61a5c6125d #5480: Drop Qt4 support and require Qt 5.12 or later. 4 years ago
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
4 years ago
elsid 847cd41b01
Update recastnavigation to 57610fa6ef31b39020231906f8c5d40eaa8294ae 4 years ago
AnyOldName3 ac256f05ff Close graphics context while it still exists 4 years ago
Andrei Kortunov 2e7712a390 Fix C5204 warnings by adding default virtual destructors 4 years ago
Andrei Kortunov fd17a5acf4 Make R&D patch more noticable 4 years ago
Andrei Kortunov e1958b671e Make dtMeshTile POD 4 years ago
Andrei Kortunov 040d2675c6 Fix the C4267 MSVC warning 5 years ago
Andrei Kortunov ad256e8343 Validate input bindings to avoid crashes 5 years ago
Michael Stopa e4bec88a68 Implement mouse wheel bindings (bug #2679) 5 years ago
elsid acb939a81b
Update Recastnavigation to c40188c796f089f89a42e0b939d934178dbcfc5c 5 years ago
capostrophic 1f3740225b Purge unnecessary recast stuff 5 years ago
Andrei Kortunov 454bae2c43 Make PacketQueue fields atomic to avoid data races (e.g. with ParseThread) 5 years ago
Capostrophic 5f86933dc6 Merge upstream osgQt changes 5 years ago
Andrei Kortunov 46fee678a7 Place QWindow include under Qt version check 5 years ago
Andrei Kortunov 4aa21b9088 Do not swap buffers for non-exposed windows (bug #4911) 5 years ago
elsid dbf6780dde
Update Recastnavigation to 3a619d773deb7e3a15ee215217c825995fe71312 5 years ago
Capostrophic c9df63ffd1 Replace BSAOpt hash calculation with a custom function 5 years ago
Azdul a8c1c4315c Missing header on Linux 5 years ago
Azdul a3bcd95546 Merge branch 'cc9cii' of https://github.com/cc9cii/openmw into tes4_bsa 5 years ago
Azdul 42ea609d1d Remove files with incorrect Git history / attribution 5 years ago
Azdul 96d19e07ca Fix Linux build 5 years ago
Azdul 25650e65bf Read any BSA file - detection based on version in BSA header 5 years ago
Ilya Zhuravlev 07e9ce84b3 Replace volatile bools with std::atomic<bool> 5 years ago
Stanislaw Halik 59d96d808e fix missing include 6 years ago
Bret Curtis 63a2487630 bump /extern/recastnavigation to commit 3087e805b02d5eb8fff7851234fa2b3f71290eba; fixes clang warning about missing delete: https://github.com/recastnavigation/recastnavigation/issues/359 6 years ago
Andrei Kortunov f88d5e808c Rewrite media decoder to use FFMpeg 3.2+ API (task #4686) 6 years ago
elsid 70b5160bf1 Add files with recastnavigation current commit hash and url to clone 6 years ago
elsid 792a0585c0 Add recastnavigation as subdirectory 6 years ago
Andrei Kortunov 229d1bb425 Backport loop from tinyxml 2.6 to avoid CVE 6 years ago
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.
6 years ago
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.
6 years ago
Andrei Kortunov 57e1462417 Do not use fall-through 6 years ago
Andrei Kortunov e4f862c0b9 Check if next char exists 6 years ago
elsid c71df7249d
Fix UTF-8 econding
To be able run gcovr
6 years ago
Andreas Sturmlechner 2c9d46a60b
Fix build with Qt 5.11_beta3 (dropping qt5_use_modules) 6 years ago
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
6 years ago
Ilya Zhuravlev b4ec8aaf5e VideoState::queue_picture: ffmpeg expects a buffer of 4 pointers in sws_scale 6 years ago