1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-15 22:19:54 +00:00
Commit graph

713 commits

Author SHA1 Message Date
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
Andrei Kortunov
14cf0ce1dc Implement instanced groundcover 2021-01-26 22:29:41 +04:00
psi29a
d2c5de5211 Merge branch 'projectile_physics' into 'master'
Precise projectile physics (closes #4201)

Closes #4201

See merge request OpenMW/openmw!550
2021-01-21 23:33:22 +00:00
fredzio
1f4c85520f Use convexSweepTest for projectile movement to solve any
imprecision issue with projectile collision detection.
Simplify the mechanics: manage hits in one spot.
Give magic projectiles a collision shape similar in size to their visible
model.

Rename the 2 convex result callback to clearly state their purpose.
2021-01-21 20:36:33 +01:00
elsid
cc24f13b39
Remove duplicated sound_buffer entry 2021-01-21 13:08:50 +01:00
psi29a
9eba086c34 Merge branch 'sound_buffer_pool_2' into 'master'
Separate sound buffer pool from sound manager

See merge request OpenMW/openmw!520
2021-01-17 12:11:11 +00:00
Andrei Kortunov
799bd3379c Move screenshots handling to the separate class 2021-01-09 10:44:33 +04:00
elsid
944033db4e
Separate sound buffer pool from sound manager 2021-01-09 02:45:21 +01:00
David Cernat
da3316daf8 Add OpenMW commits up to 4 Jan 2021
# Conflicts:
#   CMakeLists.txt
#   apps/openmw/main.cpp
#   apps/openmw/mwmechanics/npcstats.hpp
#   apps/openmw/mwphysics/actor.cpp
#   apps/openmw/mwphysics/mtphysics.hpp
#   components/CMakeLists.txt
2021-01-05 07:25:31 +02:00
wareya
18ef32ca82 values for this higher than sGroundOffset cause jittering on some surface; use safe-seeming value slightly less than sGroundOffset 2020-12-27 22:16:11 +00:00
Andrei Kortunov
dc7b48e92e Generate physics collisions for projectiles (bug #3372)
Remove redundant now mHit field
2020-12-08 09:05:38 +01:00
David Cernat
9dcb0f4c32 [General] Implement ObjectDialogueChoice packet 2020-10-26 19:48:40 +02: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
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
Petr Mikheev
0de6650add Add RayCastingInterface 2020-08-06 22:03:33 +02:00
David Cernat
baa9446cd1 Add OpenMW commits up to 4 Aug 2020 2020-08-04 17:41:01 +02:00
Evil Eye
6ad20ec9c7 Mutate base records when adding/removing spells 2020-07-28 08:33:28 +02:00
David Cernat
ff10aa816b Add OpenMW commits up to 25 Jul 2020
# Conflicts:
#   .travis.yml
2020-07-25 19:44:01 +02:00
Petr Mikheev
51173ebcf5 Refactoring. Move all code related to 'view over shoulder' to a separate file. 2020-07-12 20:51:38 +02:00
David Cernat
c56cd7c221 [General] Implement PlayerSpellsActive packet, part 1
Additions and removals of the local player's active spells can now be saved to and loaded from the server.
2020-07-10 02:09:11 +02:00
David Cernat
5eb7eb8d88 Add OpenMW commits up to 4 Jul 2020
# Conflicts:
#	.travis.yml
#	CI/before_script.linux.sh
#	apps/openmw/engine.cpp
#	apps/openmw/mwbase/windowmanager.hpp
#	apps/openmw/mwgui/charactercreation.cpp
#	apps/openmw/mwgui/windowmanagerimp.hpp
#	apps/openmw/mwmechanics/character.cpp
2020-07-04 16:50:54 +03: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
elsid
a36a55bfb5
Clamp sound volume on settings update 2020-07-02 06:38:20 +02:00
Bret Curtis
acf36344d4
Merge pull request #2946 from elsid/sound_update_water
Put logic to update water sound id and volume into a separate class
2020-07-01 22:50:29 +02:00
elsid
439891ef53
Put logic to update water sound id and volume into a separate class 2020-07-01 17:49:39 +02:00
Andrei Kortunov
27f1a3376c Add a separate stats watcher for GUI 2020-07-01 15:55:44 +04:00
elsid
0594b7d1a0
Put logic for the next region sound selection into a separate class 2020-06-30 23:23:37 +02:00
elsid
40ad87bc4d
Replace OpenThreads by std types 2020-06-25 22:16:09 +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
bzzt
d684f1a78f terrainbased objectpaging
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:27 +02:00
elsid
c4cd3b2c4f
Add pathgrid to navmesh as off mesh connection 2020-06-12 21:04:02 +02:00
David Cernat
e5b1843089 Add OpenMW commits up to 11 Jun 2020
# Conflicts:
#	apps/openmw/mwbase/world.hpp
#	apps/openmw/mwgui/jailscreen.cpp
#	apps/openmw/mwmechanics/activespells.cpp
#	apps/openmw/mwmechanics/aiactivate.cpp
#	apps/openmw/mwmechanics/aiactivate.hpp
#	apps/openmw/mwmechanics/creaturestats.cpp
#	apps/openmw/mwscript/aiextensions.cpp
#	apps/openmw/mwscript/statsextensions.cpp
#	apps/openmw/mwworld/worldimp.cpp
#	apps/openmw/mwworld/worldimp.hpp
2020-06-11 13:21:58 +03:00
David Cernat
36a2308acd Add OpenMW commits up to 30 May 2020
# Conflicts:
#	CMakeLists.txt
#	apps/openmw/mwbase/windowmanager.hpp
#	apps/openmw/mwgui/windowmanagerimp.hpp
#	apps/openmw/mwmechanics/actors.cpp
#	apps/openmw/mwmechanics/actors.hpp
#	apps/openmw/mwscript/interpretercontext.cpp
2020-06-09 17:50:26 +03:00
Andrei Kortunov
4afc332a0c Add a FogManager 2020-06-07 15:51:03 +04:00
David Cernat
62df188fd4 Add OpenMW commits up to 16 May 2020
# Conflicts:
#	CI/before_script.linux.sh
#	apps/openmw/mwbase/world.hpp
#	apps/openmw/mwinput/inputmanagerimp.cpp
#	apps/openmw/mwscript/globalscripts.cpp
#	apps/openmw/mwscript/interpretercontext.cpp
#	apps/openmw/mwworld/cellstore.cpp
#	apps/openmw/mwworld/cellstore.hpp
#	apps/openmw/mwworld/worldimp.cpp
#	apps/openmw/mwworld/worldimp.hpp
#	components/interpreter/context.hpp
2020-06-06 22:38:28 +03:00
Bret Curtis
5d019c27ae
Merge pull request #2887 from akortunov/worldmanager
Introduce a separate class to control world date and time
2020-06-05 13:15:44 +02:00
Andrei Kortunov
81805b7263 Introduce a separate class to control world date and time 2020-06-05 12:07:32 +04:00
elsid
d35ccc39c6
Fix build tests with double precision bullet 2020-06-03 21:34:05 +02:00
Andrei Kortunov
2ff04b4e73 Move TextColours initialization to the TextColours itself 2020-05-26 18:35:16 +04:00
David Cernat
297a254210 [General] Rename unused ScriptMemberFloat packet to ObjectMiscellaneous 2020-05-15 13:29:30 +03:00
Andrei Kortunov
add42830d9 Add a flag to use double-precision functions from Bullet 2020-05-15 12:48:47 +04: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
Andrei Kortunov
b33c4c920c Move all OICS handling to the separate file 2020-05-09 11:27:02 +04:00
Andrei Kortunov
8512133bb1 Move control switches to the separate file 2020-05-09 11:27:02 +04:00
Andrei Kortunov
d3a9f893c8 Move keyboard-specific code to the separate file 2020-05-09 11:27:02 +04:00
Andrei Kortunov
e353647d15 Move gamepads handling to the separate file 2020-05-09 11:27:02 +04:00
Andrei Kortunov
ce40294124 Move input actions handling to the separate file 2020-05-09 11:27:02 +04:00
Andrei Kortunov
fcac7d3ab7 Split mouse handling to the separate file 2020-05-09 11:27:02 +04:00
Andrei Kortunov
1560e71f4e Move SDL mappigs to the separate file 2020-05-09 11:27:02 +04:00