David Cernat
7e188f2dd6
Add OpenMW commits up to 14 Feb 2021
...
# Conflicts:
# apps/openmw/mwclass/door.cpp
# apps/openmw/mwscript/aiextensions.cpp
2021-02-14 19:49:22 +02:00
Sergey Fukanchik
f3271cb66b
Add unit test for swapEndiannessInplace(). Part of Bug #5837
2021-02-09 13:09:36 -05:00
Petr Mikheev
31b5150e0d
Fix implementation of Misc::swapEndiannessInplace
2021-02-07 09:12:38 +01:00
David Cernat
e1259fdc41
Add OpenMW commits up to 4 Feb 2021
...
# Conflicts:
# apps/openmw/engine.cpp
# apps/openmw/mwmechanics/npcstats.hpp
# apps/openmw/mwrender/globalmap.cpp
2021-02-05 02:16:03 +02:00
Petr Mikheev
14dd11372f
Utility functions for little-endian <-> big-endian conversion.
2021-01-10 16:34:47 +01:00
David Cernat
7f435ceeac
Add OpenMW commits up to 1 Nov 2020
...
# Conflicts:
# CMakeLists.txt
# apps/openmw/main.cpp
# apps/openmw/mwclass/container.hpp
# apps/openmw/mwclass/creature.hpp
# apps/openmw/mwclass/npc.hpp
# apps/openmw/mwdialogue/dialoguemanagerimp.hpp
# apps/openmw/mwdialogue/journalimp.hpp
# apps/openmw/mwgui/container.cpp
# apps/openmw/mwgui/dialogue.hpp
# apps/openmw/mwgui/mainmenu.cpp
# apps/openmw/mwgui/windowmanagerimp.hpp
# apps/openmw/mwmechanics/aiactivate.hpp
# apps/openmw/mwmechanics/mechanicsmanagerimp.hpp
# apps/openmw/mwscript/containerextensions.cpp
# apps/openmw/mwscript/interpretercontext.hpp
# components/CMakeLists.txt
2020-11-01 23:17:59 +02:00
fredzio
1357bba0a0
Use some C++17 where it makes the code more readable
...
Also replace boost::optional
2020-10-22 07:15:16 +02:00
Bret Curtis
82431b752d
removed unnessary bits that cmake should be doing for us; replace Misc::gcd with std::gcd
2020-10-20 23:38:05 +02:00
AnyOldName3
df178ed97c
Merge branch 'container-regressions' into 'master'
...
Fix container regressions
See merge request OpenMW/openmw!346
(cherry picked from commit b0aee6f83d4cddb0116284b197913f9687dd9cee)
95e7a22d fix container regressions
2020-10-16 22:55:10 +00:00
David Cernat
68837aaf4a
Add OpenMW commits up to 15 Oct 2020
...
# Conflicts:
# .travis.yml
# CI/before_script.linux.sh
# CMakeLists.txt
# apps/openmw/mwgui/containeritemmodel.cpp
# apps/openmw/mwgui/tradewindow.cpp
# apps/openmw/mwphysics/actor.cpp
# apps/openmw/mwworld/actionteleport.cpp
# apps/openmw/mwworld/containerstore.cpp
2020-10-15 19:51:39 +02:00
fredzio
3c2504b442
Process movement queue in one or several background threads
...
Before movement calculation, the main thread prepare a
vector of ActorFrameData, which contains all data necessary to perform
the simulation, and feed it to the solver. At the same time it fetches
the result from the previous background simulation, which in turn is
used by the game mechanics.
Other functions of the physics system (weapon hit for instance)
interrupt the background simulation, with some exceptions described
below.
The number of threads is controlled by the numeric setting
[Physics]
async num threads
In case 'async num threads' > 1 and Bullet doesn't support multiple threads,
1 async thread will be used. 0 means synchronous solver.
Additional settings (will be silently switched off if async num threads = 0)
[Physics]
defer aabb update
Update AABBs of actors and objects in the background thread(s). It is not an especially
costly operation, but it needs exclusive access to the collision world, which blocks
other operations. Since AABB needs to be updated for collision detection, one can queue
them to defer update before start of the movement solver. Extensive tests on as much
as one installation (mine) show no drawback having that switched on.
[Physics]
lineofsight keep inactive cache
Control for how long (how many frames) the line of sight (LOS) request will be kept updated.
When a request for LOS is made for the first time, the background threads are stopped to
service it. From now on, the LOS will be refreshed preemptively as part of the background
routine until it is not required for lineofsight keep inactive cache frames. This mean
that subsequent request will not interrupt the background computation.
2020-10-15 06:41:35 +02:00
Assumeru
72549651e0
Rework container resolution ( #3006 )
...
* Rework container resolution
* add optional argument to getCount
* remove now-redundant changes
* undo worldimp changes
* move save-fixing code to InventoryState
* replace Rng instances with Seeds
2020-10-13 17:46:32 +02:00
David Cernat
80af0ce6a7
Add OpenMW commits up to 29 Aug 2020
...
# Conflicts:
# CMakeLists.txt
# apps/openmw/mwmechanics/character.cpp
2020-08-29 16:15:22 +02:00
psi29a
f90a049702
Merge branch 'movement_refactoring' into 'master'
...
Refactoring related to "smooth movement"
See merge request OpenMW/openmw!285
(cherry picked from commit 6eaf0a389d5aed3b74ab1a7cf89574612f964bdf)
e847b4c8 Split getSpeed() to getMaxSpeed() and getCurrentSpeed()
a96c46bc Refactor calculation of movement.mSpeedFactor
03ee9090 Use getMaxSpeed instead of getCurrentSpeed where it makes sense.
a178af5c Create helper functions `normalizeAngle` and `rotateVec2f`
2020-08-27 11:54:30 +00:00
David Cernat
39e429c9eb
Add OpenMW commits up to 11 Jul 2020
...
# Conflicts:
# .travis.yml
# apps/openmw/mwmechanics/actors.cpp
2020-07-11 21:42:01 +02:00
elsid
02f9b44f01
Use RAII for object ptr from pool
2020-07-04 01:15:27 +02:00
elsid
6ca29c6107
Use common type for pool of sounds and streams
2020-07-04 01:09:04 +02:00
David Cernat
3b2eb6f62c
Add OpenMW commits up to 22 Jun 2020
...
# Conflicts:
# .travis.yml
# CMakeLists.txt
2020-06-22 20:50:55 +03:00
Andrei Kortunov
d1a3cc98ff
Get rid of ECLD and dependencies
2020-06-17 13:09:16 +04:00
elsid
c4cd3b2c4f
Add pathgrid to navmesh as off mesh connection
2020-06-12 21:04:02 +02:00
David Cernat
053a5a6258
Add OpenMW commits up to 9 May 2020
...
# Conflicts:
# apps/openmw/mwmechanics/spellcasting.cpp
# apps/openmw/mwscript/aiextensions.cpp
2020-05-09 15:17:04 +03:00
elsid
bd1ef4dd6d
Add detournavigator test for multiple worker threads
2020-04-26 22:00:55 +02:00
David Cernat
a20f8e77dc
Add OpenMW commits up to 25 Apr 2020
...
# Conflicts:
# .travis.yml
# apps/openmw/mwclass/container.cpp
# apps/openmw/mwclass/door.cpp
2020-04-25 09:52:58 +03:00
Frederic Chardon
513ac8986d
Add link to opencs documentation on readthedocs, available through
...
context menu.
The documentation opens in default browser.
There are 3 contexts:
- global: opens the OpenMW CS User Manual main page
- when a record is selected: opens the "Tables" page
- when the filter field is selected: opens the "Record Filters" page
There is also a link to the OpenCS tutorial in the help menu.
2020-04-18 20:54:21 +00:00
David Cernat
60b6f92fa3
Add OpenMW commits up to 13 Jan 2020
...
# Conflicts:
# apps/openmw/mwmechanics/actors.cpp
2020-01-15 07:49:26 +02:00
Andrei Kortunov
a250a405b4
An attempt to fix the MSVC2017 build
2020-01-09 20:42:06 +04:00
Andrei Kortunov
1cdd33b434
Implement additional stringops to avoid Boost functions
2020-01-09 19:40:22 +04:00
David Cernat
b57c0bcafe
Add OpenMW commits up to 6 June 2019
...
# Conflicts:
# apps/openmw/mwgui/hud.cpp
# apps/openmw/mwgui/jailscreen.cpp
# apps/openmw/mwgui/waitdialog.cpp
# apps/openmw/mwinput/inputmanagerimp.cpp
# apps/openmw/mwworld/worldimp.hpp
2019-08-22 11:42:02 +03:00
David Cernat
f671c0bddc
Add OpenMW commits up to 1 Apr 2019
...
# Conflicts:
# .travis.yml
# CMakeLists.txt
# apps/openmw/engine.cpp
# apps/openmw/mwdialogue/dialoguemanagerimp.cpp
# apps/openmw/mwgui/jailscreen.cpp
# apps/openmw/mwgui/trainingwindow.cpp
# apps/openmw/mwgui/travelwindow.cpp
# apps/openmw/mwgui/waitdialog.cpp
2019-08-21 23:54:39 +03:00
David Cernat
8729c3c5e3
Add OpenMW commits up to 9 Mar 2019
...
# Conflicts:
# .travis.yml
# CI/before_script.linux.sh
# README.md
# apps/openmw/mwgui/jailscreen.cpp
# apps/openmw/mwscript/animationextensions.cpp
# apps/openmw/mwscript/guiextensions.cpp
# apps/openmw/mwscript/miscextensions.cpp
# apps/openmw/mwscript/soundextensions.cpp
2019-08-21 19:04:04 +03:00
David Cernat
95a5607509
Add OpenMW commits up to 22 Feb 2019
...
# Conflicts:
# CMakeLists.txt
# apps/openmw/mwmechanics/spellcasting.cpp
# apps/openmw/mwscript/containerextensions.cpp
2019-08-21 17:29:24 +03:00
David Cernat
3efffe92e3
Add OpenMW commits up to 5 Nov 2018
...
# Conflicts:
# CI/before_install.linux.sh
# CMakeLists.txt
# apps/openmw/mwmechanics/aifollow.cpp
# apps/openmw/mwmechanics/mechanicsmanagerimp.hpp
# apps/openmw/mwphysics/physicssystem.hpp
# apps/openmw/mwworld/scene.cpp
# apps/openmw/mwworld/worldimp.cpp
# components/CMakeLists.txt
2019-08-21 05:08:50 +03:00
David Cernat
fba07194cf
Add OpenMW commits up to 29 Oct 2018
...
# Conflicts:
# apps/openmw/mwbase/world.hpp
# apps/openmw/mwinput/inputmanagerimp.cpp
# apps/openmw/mwmechanics/actors.cpp
# apps/openmw/mwmechanics/aicombat.cpp
# apps/openmw/mwmechanics/character.cpp
# apps/openmw/mwworld/worldimp.cpp
# apps/openmw/mwworld/worldimp.hpp
2019-08-20 13:15:00 +03:00
David Cernat
84cab59057
Add OpenMW commits up to 19 Aug 2018
...
# Conflicts:
# .travis.yml
# CI/before_install.linux.sh
# CI/before_script.linux.sh
# apps/openmw/engine.cpp
# apps/openmw/main.cpp
# apps/openmw/mwgui/windowmanagerimp.cpp
# apps/openmw/mwmechanics/actors.hpp
# apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
# apps/openmw/mwscript/aiextensions.cpp
# apps/openmw/mwscript/containerextensions.cpp
# apps/openmw/mwscript/dialogueextensions.cpp
# apps/openmw/mwworld/cellstore.cpp
# apps/openmw/mwworld/containerstore.cpp
# apps/openmw/mwworld/scene.cpp
# apps/openmw/mwworld/worldimp.cpp
# components/misc/debugging.hpp
2019-08-20 10:06:15 +03:00
David Cernat
0339958e21
[General] Rename Log class into TimedLog
2019-08-19 21:39:33 +03:00
Andrei Kortunov
e679190f31
Introduce a custom format() function to get rid of boost::format() and hackish replace()
2019-05-20 09:20:01 +04:00
Andrei Kortunov
861d41f4a4
Native graphics herbalism support (feature #5010 )
2019-05-02 23:03:47 +04:00
elsid
ccc709a316
Store guarded navmesh cache item in shared_ptr
...
Remove useless SharedGuarded type.
2019-03-10 17:06:19 +03:00
Andrei Kortunov
bf5f68a4d8
Replace boost GCD to the homebrew implementation
2019-03-02 17:32:05 +04:00
Grigory Latyshev
3872d7476b
Move makeOsgVec3f() to settingsutils.hpp
...
Remove all other makeOsgVec3f() implementations
2019-02-28 20:03:42 +00:00
Grigory
af7b6a09a8
Simplify Misc::StringUtils::toLower
2019-02-28 00:24:43 +03:00
elsid
33f6fb258d
Option to set specific random seed for random number generator
2019-02-26 09:36:34 +03:00
Capostrophic
8ecd0b82a4
Replace Boost format and replace_all where possible
2019-02-24 03:20:20 +03:00
Andrei Kortunov
3032b177a1
Remove redundant includes
2019-02-23 08:02:12 +04:00
elsid
16675fd254
Return empty path when navmesh is not found for agent
2019-02-16 15:37:06 +03:00
Andrei Kortunov
9e4a339ad3
Daytime node switch support (feature #4836 )
2019-02-02 10:50:15 +04:00
elsid
264ea99af6
Use explicit default ctors call
...
Special change for MSVC2015.
2018-11-02 10:35:57 +03:00
elsid
ed73d130f9
Cache navmesh tiles
...
Use LRU modification to hold currently used items. Use RecastMesh binary
data for item key.
Store original pointer of btCollisionShape in user pointer to make available
it as an identifier within all duplicates. Use pointer to heights data array
for btHeightfieldTerrainShape.
2018-10-13 22:22:12 +03:00
elsid
ae7285e960
Use ScopeGuarded instead of raw mutex
2018-10-13 22:16:35 +03:00
elsid
cf4066751c
Add classes to encapsulate value guarded by mutex
2018-10-13 22:16:35 +03:00