Commit Graph

503 Commits (06bf80cc3b6e9ebd4907f192b30a54766f334b98)

Author SHA1 Message Date
Bret Curtis 6672014a51 make this great again 3 years ago
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 3 years ago
Bret Curtis bae8713998 make use of std::array `pictq.size()` instead of VIDEO_PICTURE_ARRAY_SIZE; remove redundant smart-pointer .get calls; fix typos 3 years ago
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. 3 years ago
psi29a e4ee6ab0c1 Update extern/i18n.lua/CMakeLists.txt to be like the rest... (make i18n work on macOS) 3 years ago
Petr Mikheev f91a5499d3 Add extern/i18n.lua 3 years ago
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 4 years ago
Petr Mikheev 84721fb58a Disable special processing of Lua errors in debug builds. Fixes #6151. 4 years ago
Petr Mikheev 9e168fd9cc Add Lua/LuaJit and sol3 to openmw 4 years ago
elsid 7498a86abe
Remove redundant semicolons 4 years ago
AnyOldName3 873b3b4800 Handle empty strings. 4 years ago
Dan Church 70a0229010
Fix future FFMpeg API changes
avcodec_find_decoder now returns const AVCodec*.
4 years ago
Evil Eye 54d32817d5 Use av_free and maybe get Coverity to understand 4 years ago
psi29a 4bc7012104 Merge branch 'pack-default-settings' into 'master'
Pack default settings

Closes #5925

See merge request OpenMW/openmw!822
4 years ago
AnyOldName3 081650a2e5 Integrate Base64 library with build 4 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.
4 years ago
AnyOldName3 d66cc3b7ae Fix undefined behaviour 4 years ago
AnyOldName3 aba735e615 Check in external Base64 implementation
Taken from https://gist.github.com/tomykaira/f0fd86b6c73063283afe550bc5d77594

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

Closes #5897

See merge request OpenMW/openmw!650
4 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).
4 years ago
Gleb Mazovetskiy 918fd174f3 Set `MYGUI_DONT_USE_OBSOLETE=OFF`
Fixes https://gitlab.com/OpenMW/openmw/-/issues/5896
4 years ago
Gleb Mazovetskiy 36cea2073f Update MyGUI
Includes f01cba4bb3
Fixes https://gitlab.com/OpenMW/openmw/-/issues/5897
4 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
4 years ago
Gleb Mazovetskiy 1db7d2ec4e Restore compatibility with FFMpeg < 57.80.100
This should fix macOS Travis build broken by 58d33aa95b
4 years ago
Gleb Mazovetskiy 36bac353df AV: Handle varying video frame dimensions 4 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.
4 years ago
Gleb Mazovetskiy eb93fdfbea Use unique_ptr with custom deleter for VideoPicture::rgbaFrame 4 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
4 years ago
Gleb Mazovetskiy 8a1644885b MyGUI: Bump version to 3.4.1
Also set MYGUI_DONT_USE_OBSOLETE
4 years ago
Gleb Mazovetskiy 1c9245bd58 Move recastnavigation to FetchContent 4 years ago
Gleb Mazovetskiy 3308c717f8 extern/CMakeLists.txt: Switch to openmw's OSG 4 years ago
Gleb Mazovetskiy 4098b455f5 extern/CMakeLists.txt: Bump OSG
All the necessary fixes have been upstreamed
4 years ago
Gleb Mazovetskiy 3d334dae75 Fix MYGUI/OSG_STATIC and BUILD_SHARED_LIBS 4 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.
4 years ago
Gleb Mazovetskiy 377bd27aa7 set(BUILD_SHARED_LIBS ${OSG/MYGUI_STATIC}) 4 years ago
Gleb Mazovetskiy eba151884e Fix Android build
https://github.com/openscenegraph/OpenSceneGraph/pull/1037
4 years ago
Gleb Mazovetskiy f0febe095c extern/CMakeLists.txt: Set OSG/MYGUI_STATIC on PARENT_SCOPE 4 years ago
Gleb Mazovetskiy 402e43678c extern/CMakeLists.txt: Bump OSG 4 years ago
Gleb Mazovetskiy 98564b0aae cmake: move cmake_minimum_required bump to extern/CMakeLists.txt 4 years ago
Gleb Mazovetskiy 93fe84aea8 cmake: Move USED_OSG_(COMPONENTS|PLUGINS) from extern to top-level 4 years ago
Gleb Mazovetskiy 99ba45a308 Optional static builds of OSG, MyGUI, Bullet 4 years ago
Andrei Kortunov 7fc4c9f3f6 Avoid dead code 4 years ago
Andrei Kortunov 8084a336b5 Replace zeroes and nulls by nullptrs 4 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
5 years ago
Andrei Kortunov 230e06dec7 Make joysticks dead zone configurable (bug #5502) 5 years ago
elsid 40ad87bc4d
Replace OpenThreads by std types 5 years ago
Andrei Kortunov 2b4274bca8 Use modern Qt flag declarations 5 years ago
Bret Curtis 61a5c6125d #5480: Drop Qt4 support and require Qt 5.12 or later. 5 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
5 years ago
elsid 847cd41b01
Update recastnavigation to 57610fa6ef31b39020231906f8c5d40eaa8294ae 5 years ago
AnyOldName3 ac256f05ff Close graphics context while it still exists 5 years ago
Andrei Kortunov 2e7712a390 Fix C5204 warnings by adding default virtual destructors 5 years ago
Andrei Kortunov fd17a5acf4 Make R&D patch more noticable 5 years ago
Andrei Kortunov e1958b671e Make dtMeshTile POD 5 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) 6 years ago
Capostrophic 5f86933dc6 Merge upstream osgQt changes 6 years ago
Andrei Kortunov 46fee678a7 Place QWindow include under Qt version check 6 years ago
Andrei Kortunov 4aa21b9088 Do not swap buffers for non-exposed windows (bug #4911) 6 years ago
elsid dbf6780dde
Update Recastnavigation to 3a619d773deb7e3a15ee215217c825995fe71312 6 years ago
Capostrophic c9df63ffd1 Replace BSAOpt hash calculation with a custom function 6 years ago
Azdul a8c1c4315c Missing header on Linux 6 years ago
Azdul a3bcd95546 Merge branch 'cc9cii' of https://github.com/cc9cii/openmw into tes4_bsa 6 years ago
Azdul 42ea609d1d Remove files with incorrect Git history / attribution 6 years ago
Azdul 96d19e07ca Fix Linux build 6 years ago
Azdul 25650e65bf Read any BSA file - detection based on version in BSA header 6 years ago
Ilya Zhuravlev 07e9ce84b3 Replace volatile bools with std::atomic<bool> 6 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