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

467 commits

Author SHA1 Message Date
psi29a
9b017ef04d Merge branch 'internal_includes_openmw' into 'master'
Clean up some internal includes of the openmw component

See merge request OpenMW/openmw!796
2021-05-07 10:53:25 +00:00
fredzio
4fa0972b2d Tone down actor's skip simulation flag to an optional skip collision
detection flag.
2021-05-01 14:22:30 +02:00
jvoisin
998cc97a4f And done! 2021-04-30 20:49:22 +02:00
fredzio
fda639eb57 Remove unused forward declarations 2021-04-11 14:46:51 +02:00
fredzio
8874a5be22 Change (again) the way SetPos behave.
Instead of registering the desired change of position and rely on
physics simulation to apply it to the world, immediately change the
position in the world without reset the simulation.
2021-04-09 23:34:03 +02:00
Andrei Kortunov
59720aea9a Restore old aiming for melee combat 2021-04-07 12:07:03 +04:00
Evil Eye
cf5a93d712 Also run NPC validation for modified base records 2021-03-23 21:07:57 +01:00
Alexei Dobrohotov
2bfee281fd Merge branch 'restore_caster' into 'master'
Restore projectile caster from savegame (#5860)

See merge request OpenMW/openmw!616

(cherry picked from commit d595c7adb0fb45eafed6d3d0403ad640a91411ed)

c5426bec In the savegame, projectile caster is identified by its actor id. When
2021-03-05 21:07:29 +00:00
Evil Eye
2e73d2c145 Fallback to default cell name for door destination 2021-02-10 22:13:04 +01:00
Andrei Kortunov
14cf0ce1dc Implement instanced groundcover 2021-01-26 22:29:41 +04:00
Andrei Kortunov
799bd3379c Move screenshots handling to the separate class 2021-01-09 10:44:33 +04:00
Alexei Dobrohotov
22476281da Fix paralyze for swimming actors 2020-12-22 08:03:51 +03:00
fredzio
7bae6691b6 Introduce World::moveObjectBy() function to translate an object relatively to
its current position.
Use it in relevant MWScripts opcode (move and moveworld).
Remove the fragile detection of scripted translation from PhysicsTaskScheduler.

No user visible change, just a more robust mechanism.
2020-12-18 08:40:38 +01:00
Andrei Kortunov
8084a336b5 Replace zeroes and nulls by nullptrs 2020-11-29 11:14:07 +04:00
Frederic Chardon
9aba55a21a Add the async physics worker to the profiler overlay. 2020-11-20 21:17:47 +01:00
psi29a
09373a757d Merge branch 'radioactive' into 'master'
Container base record mutations

See merge request OpenMW/openmw!353

(cherry picked from commit 8b33765dd414680f0074b3e115b52b291b4cb7cb)

275908a0 mutate container base records
16fca11d add changelog entry
2020-10-20 16:56:22 +00: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
Evil Eye
fe82cd9f92 Don't search containers 2020-09-15 21:13:18 +02:00
Petr Mikheev
0de6650add Add RayCastingInterface 2020-08-06 22:03:33 +02:00
Petr Mikheev
694e0b5906 Refactoring. Simplification of camera interface. 2020-08-06 00:43:33 +02:00
Petr Mikheev
ed3426cf2f Move third person camera collision check from World::updatePlayer() to Camera::updatePosition() 2020-08-06 00:43:33 +02:00
Perry Hugh
4bf24a955e Restore Gamepad Zooming 2020-08-04 06:04:59 +00:00
Petr Mikheev
4d206d2c67 Improved preview mode 2020-07-17 20:35:52 +02:00
Andrei Kortunov
81805b7263 Introduce a separate class to control world date and time 2020-06-05 12:07:32 +04:00
Bret Curtis
2eb9d4ad4e
Merge pull request #2878 from Assumeru/mutate-ai
Mutate base records when editing AI settings (#2798)
2020-06-03 15:09:40 +02:00
Andrei Kortunov
c0e62e9529 Refactor list of variables in the WorldManager 2020-06-03 11:21:34 +04:00
Evil Eye
4d7947d27c Mutate base records when editing AI settings (#2798) 2020-06-02 21:59:37 +02:00
elsid
69df6098e5
Report frame number, number of actors and objects to stats 2020-05-22 17:39:18 +02:00
unknown
3b4782959e Allow targeting non-unique actors with StartScript (bug #2311) 2020-05-10 14:57:06 +02:00
elsid
4a0c056489
Do not wander to occupied area by other actor 2020-02-10 22:29:54 +01:00
elsid
85414e2353
Check for line of sight for wander destination 2020-02-10 22:29:54 +01:00
Andrei Kortunov
24ce242941 Implement TestCells (feature #5219) 2019-12-22 11:13:42 +04:00
elsid
3cfd5fca4e
Rotate door object using direct rotation order once
Instead of rotating using inverse and then applying the direct rotation.
To properly update object in navigator.
2019-11-30 14:09:00 +01:00
Andrei Kortunov
6861d9d5e5
Merge pull request #2510 from elsid/ai_open_door
Open door when it is on the way to a next path point (bug #5073)
2019-11-17 21:21:22 +04:00
Andrei Kortunov
c51aba0b13 Recharge items outside of player's inventory (bug #4077) 2019-10-07 22:59:43 +04:00
Andrei Kortunov
a4d196f33f Force view change when using Force1stPerson and Force3rdPerson commands (bug #5168) 2019-09-19 21:48:43 +04:00
elsid
209e33f5ce
Open door when it is on the way to a next path point 2019-09-15 21:16:00 +02:00
Roman Siromakha
41ad23ebdc
Revert "[WIP] Open door when it is on the way to a next path point (bug #5073)" 2019-08-27 20:55:03 +02:00
elsid
b4ec444057
Open door when it is on the way to a next path point 2019-08-27 20:49:35 +02:00
elsid
16170131b7
Add enum type for door state 2019-08-25 15:21:00 +02:00
Andrei Kortunov
d0bc06b849
Merge pull request #2438 from Capostrophic/camera
Rewrite messed up playerlooking switch handling (bug #5078)
2019-08-17 23:15:21 +04:00
Andrei Kortunov
786a6c6d42 Use a common doors rotation code in the "lock" command handler 2019-08-16 21:30:24 +04:00
Capostrophic
0b074f2211 Rewrite messed up playerlooking switch handling (bug #5078) 2019-07-29 15:44:17 +03:00
Andrei Kortunov
7214f24f5c Ignore containers, when we search for owner 2019-05-06 23:06:13 +04:00
Andrei Kortunov
861d41f4a4 Native graphics herbalism support (feature #5010) 2019-05-02 23:03:47 +04:00
Bret Curtis
7808cbbfe8
Merge pull request #2292 from akortunov/fallback
Make fallback map static to simplify constructors
2019-04-07 17:43:59 +02:00
Capostrophic
3a0e374dc6 Replicate vanilla Position/SetPos behavior more closely (bug #3109) 2019-03-31 14:17:06 +03:00
Andrei Kortunov
a302ec9c65 Make fallback map static to simplify constructors 2019-03-29 15:30:49 +04:00
Bret Curtis
886c77bced
Merge pull request #2145 from akortunov/rest
Update jail state once instead of for every single hour
2019-03-27 13:14:22 +01:00
Bret Curtis
573e64e9c9
Merge pull request #2184 from elsid/fix_startup_script
[Testing needed] Always run startup script once at engine start (bug #4877)
2019-03-09 14:04:06 +01:00