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

19709 commits

Author SHA1 Message Date
David Cernat
790cb63443 [Client] Prevent wildernessRestAllowed from affecting resting in beds
Use less confusing message when unable to rest because of wildernessRestAllowed.
2022-04-09 23:43:22 +03:00
David Cernat
5aac28b00f [Client] Disable use of certain options when starting client 2022-04-09 19:28:39 +03:00
David Cernat
c4847918d5 [Client] Fix ObjectLock spam by sending only lock changes from scripts 2022-04-08 17:22:45 +03:00
David Cernat
238690653b [Client] Fix sending of inventory packets after certain alchemy failures 2022-04-06 01:12:45 +03:00
David Cernat
bb5aa90a6d [Client] Use simpler conditions for sending PlayerInventory packets
This fixes a problem with Take All not sending PlayerInventory packets.
2022-04-03 19:09:53 +03:00
David Cernat
3e881e6231 [Client] Uninitialize LocalActors whose references have been deleted 2022-03-25 11:26:15 +02:00
David Cernat
f219cb5417 [General] Ensure that objects initialized as DedicatedActors are actors 2022-03-23 09:51:05 +02:00
David Cernat
17715933b5 [Client] Add actorsOnly argument to CellStore's exact object search 2022-03-23 09:49:57 +02:00
David Cernat
a6dd76776f [Client] Include refId in ObjectList's object searches 2022-03-22 11:07:46 +02:00
David Cernat
cc8c222d18 [General] Combine CellStore's exact object searches 2022-03-22 10:42:19 +02:00
David Cernat
6875c3422f [Client] Make player inventory items recharge by themselves again
This fixes 4476609872.
2022-03-20 22:58:19 +02:00
David Cernat
4476609872 [Client] Don't unilaterally recharge world items on clients 2022-03-05 23:37:13 +02:00
nalal
efd403b174
Change "or/and" to "||/&&"
I added the code that included those ages ago, figured I should go in and change it to conform to the existing project formatting.
2022-03-04 14:29:55 -07:00
David Cernat
a95099cd03 [Client] Use item model's items for Container packet sent from Take All
Previously, a Container packet sent when using the Take All button included all the items in the container, not just all the items in the container window seen on the client. This was a problem when stealing from actors, as the container window does not give access to all of their items.
2022-02-28 18:20:47 +02:00
David Cernat
abdaedd752 [Client] Rely on untranslated topics in ObjectDialogueChoice packets
Previously, when using the Russian edition, all dialogue topics were translated into English before being sent to the server in an ObjectDialogueChoice packet and were then translated back into Russian when received again by the client. However, there were situations where different topics in English corresponded to the same Russian word, e.g. "chores" and "duties" were both translated as "задания", which led to the incorrect topic being used on the client in the end.

This commit makes it so that users of the Russian edition send ObjectDialogueChoice packets where the topicId variable contains both the untranslated topic and the translated one, delimited by a | character, with the client simply using the former when receiving the packet again.

This is a hotfix instead of the proper fix, as the proper fix would use different variables for the two versions of the topic and thus require the structure of the ObjectDialogueChoice packet to change.
2022-02-16 22:19:58 +02:00
David Cernat
571f3e8ee7 [Client] Use correct stacking value when sending SpellsActive packets 2022-02-12 18:43:18 +02:00
David Cernat
f2d95dc84d [Client] Make ActiveSpells::removeSpellByTimestamp() return a boolean
Add logging to LocalPlayer::removeSpellsActive() to track when a player's active spell hasn't been removed due to an invalid timestamp.
2022-02-12 14:00:47 +02:00
David Cernat
4aa947ff4b [Client] Prevent player from auto-equipping items taken from containers 2022-02-10 23:10:11 +02:00
David Cernat
15fdac3f6c Revert "Merge branch '0.7.1-window-input' into 0.7.1"
This reverts commit 94f5b169e6, reversing
changes made to 43e7df6df8.

# Conflicts:
#	apps/openmw-mp/handleInput.cpp
2022-02-10 16:33:58 +02:00
David Cernat
1cb10cd1f2 [Client] Use new exact search with ObjectActivate & ObjectDialogueChoice 2021-12-09 15:29:58 +02:00
David Cernat
646ffc7afe [Client] Add a new type of search to CellStore that also checks refIds 2021-12-09 15:22:43 +02:00
David Cernat
38363eee0d Add OpenMW 0.47 commits up to 4 Dec 2021 2021-12-05 16:12:09 +02:00
elsid
7f1e5b368e
Fix deadlock in physics system
* Reorder unlock and notify_all calls to avoid notifying when not all worker
  threads are waiting.
* Make sure main thread does not attempt to exclusively lock mSimulationMutex
  while not all workers are done with previous frame.
* Replace mNewFrame flag by counter to avoid modification from multiple
  threads.
2021-11-26 20:23:49 +01:00
David Cernat
dbae0bddc2 [Client] Only play sounds from active cells when receiving ObjectSound 2021-10-21 19:20:02 +02:00
David Cernat
48de84ec32 [Client] Send ObjectSound packets with spellcasting sounds 2021-10-20 07:44:16 +02:00
David Cernat
538ccf15cf [Client] Use higher interpolation distance for DedicatedPlayers
This makes up for the laggier-looking jumps since the changes to OpenMW's physics system.
2021-10-17 20:14:21 +02:00
David Cernat
20e37204d0 [Client] Ensure physics actor is valid in World::setOnGround()
Do the same in World::setInertialForce()
2021-10-17 18:20:52 +02:00
David Cernat
e010c61167 Add OpenMW 0.47 commits up to 10 Oct 2021 2021-10-16 06:49:12 +02:00
David Cernat
efc0b88058 [Client] Don't reload Ptr for DedicatedActor after adding active spells
This prevents non-continuous spell GFX from immediately vanishing.
2021-10-16 02:00:05 +02:00
David Cernat
3e582199fb [Client] Add createSpellGfx() method to MechanicsHelper
Use it to create spell GFX when adding active spells to dedicated players and actors.
2021-10-16 01:35:30 +02:00
David Cernat
eb005a5c33 [Client] Stop processing CastSpell::inflict() in more appropriate place
This preserves the functionality of Reflect effects, which relies on inflict() getting far enough for a dedicated player or actor, without also processing parts of inflict() that should be skipped for them.
2021-10-16 00:01:06 +02:00
David Cernat
7f017217c7 [Client] Fix position sync for falling actors 2021-10-15 17:11:03 +02:00
David Cernat
fb49b62753 [Client] Fix crash when receiving ActiveSpells for uninitialized players 2021-10-12 03:51:14 +02:00
David Cernat
63c956e1d2 [Client] Fix active spell sync using actor IDs tracked in ActiveSpells 2021-10-12 02:01:05 +02:00
David Cernat
e6a1f0889f [Client] Add isStackingSpell() method to MechanicsHelper 2021-10-12 01:26:12 +02:00
David Cernat
f03a87df3c [Client] Remove previous placeholders for tracking ActiveSpells actors 2021-10-12 01:20:38 +02:00
David Cernat
c027862609 [Client] Track actor IDs in ActiveSpells 2021-10-12 00:34:15 +02:00
David Cernat
3e81371e53 [General] Fix jump synchronization for players
This had been broken by fr3dz10's physics rewrites from the earlier part of the year that made it so dedicated players were always regarded by the movement solver as being on the ground.
2021-10-09 18:11:57 +02:00
Evil Eye
f902efbfcc Absorb spells per effect 2021-10-09 16:39:49 +02:00
David Cernat
7193d1dca5 [Server] Add stackingState arg to script functions adding active spells 2021-10-03 01:39:07 +02:00
psi29a
b81df8af9c Merge branch 'cursorspeedmerge' into 'master'
Updated: Change cursor speed with settings.cfg (#6312)

Closes #6312

See merge request OpenMW/openmw!1255

(cherry picked from commit 1d342f80ed1af25d3cf1f70759be7fba1c9237b2)

b5af1928 gamepad cursor speed fix
2021-10-01 11:24:15 +00:00
David Cernat
06451c13d5 [Client] Update 3rd person model of local player when setting character 2021-10-01 03:27:40 +02:00
David Cernat
1ba36076f3 [Client] Update 3rd person model of local player when unequipping
This had apparently been broken by the fact that I had made inventory listeners get run only for actors in active cells in 385ef55848. Strangely, the player Ptr passed to fireEquipmentChangedEvent() when unequipping items has as its cell the player's original spawn cell instead of the current cell, causing the active cell check to return false in most locations for the player.
2021-10-01 03:09:14 +02:00
David Cernat
de78b65eb0 [Server] Fix memory issues with script functions used for hashing 2021-09-29 14:15:12 +02:00
fredzio
32108adc31 Change projectile behaviour to be like in vanilla wrt. water plane:
- enchanted arrow explode upon hit the water plane
- non enchanted arrow disappear (or more accurately, they hit nothingness)
- enchanted arrow shot underwater explode immediately
- non enchanted arrow disappear immediately

Also, solve a bug that occured previously and could theoritically still happens where we use the last tested collision position for instead of the last registered hit:
Use the hit position as saved inside Projectile::hit() instead of the last position saved inside the callback.
If a projectile collides with several objects (bottom of the sea and water surface for instance), the last collision tested won't necessarily be the impact position as we have no control over the order in which the tests are performed.
2021-09-24 20:32:00 +02:00
David Cernat
a01c874613 Add OpenMW 0.47 commits up to 23 Sep 2021 2021-09-23 19:24:45 +02:00
psi29a
f0a77a48df Merge branch 'check_pathgrid' into 'master'
Make sure PathFinder::getClosestPoint is not called with failing precondition (#6294)

Closes #6294

See merge request OpenMW/openmw!1236

(cherry picked from commit baa33799de3cb27d9d3805e164b9d7ccea6a3e4d)

d36595e0 Make sure PathFinder::getClosestPoint is not called with failing precondition
2021-09-23 12:50:46 +00:00
elsid
56869ec296 Merge branch 'fix_6296' into 'master'
Ignore time to destination when giving way (#6296)

See merge request OpenMW/openmw!1234

(cherry picked from commit 14516b9fd603bf603ca2ae366bc0884106fd368c)

5893b884 Ignore time to destination when giving way (#6296)
2021-09-23 08:09:59 +00:00
David Cernat
6e95604627 [Client] Remove credits check on Windows client 2021-09-20 05:55:51 +02:00
David Cernat
7393e3def6 [General] Add and use getShortDescription() for ESM::Cell
ESM::Cell's getDescription() method was modified by aa5161f99e despite being used heavily by TES3MP. All instances of it in the TES3MP code have now been changed into the newly added getShortDescription() that is identical to the previous getDescription().
2021-09-17 19:14:55 +02:00