Commit Graph

438 Commits (00997fa7327293db6075d47d18bd36516537ba44)

Author SHA1 Message Date
David Cernat a7eeba03a1 [General] Synchronize origin and orientation for non-magical projectiles 3 years ago
David Cernat f0a22495a2 [General] Synchronize origin and orientation for magical projectiles 3 years ago
David Cernat da079fcfd8 [General] Add VR settings to GameSettings packet 3 years ago
David Cernat ed9a85f13b [General] Increase maxPlugins to 1000
This allows clients to have 1000 data files instead of 256 as before.

Also increase maxHashes to 50
3 years ago
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.
3 years ago
David Cernat 3f3fe66fde [General] Track casters of spells in SpellsActive packets
Also simplify sending of SpellsActive packets slightly.
4 years ago
David Cernat fe4a761ffe [General] Implement game setting records for RecordDynamic packets
Remove unused placeholder for variants from RecordDynamic.
4 years ago
David Cernat 3222afc8b7 [General] Implement PlayerCooldowns packet
Although this packet may be used for other kinds of cooldowns in the future, it currently only handles cooldowns for magical powers.
4 years ago
David Cernat 294f64d12d [General] Track timestamps for spells in SpellsActive packets
This makes it possible to remove a specific effect in effect stacks by checking its timestamp.
4 years ago
David Cernat 767287ae51 [General] Track stacking spells in SpellsActive packets 4 years ago
David Cernat 86630b048f [General] Add creature attack values to RecordDynamic packets 4 years ago
David Cernat 44d037c078 [General] Add creature soul values to RecordDynamic packets 4 years ago
David Cernat bf0a42fdad [General] Implement ActorSpellsActive packet, part 1
The packet can now set the active spells of DedicatedActors.
4 years ago
David Cernat 17ee3d54e4 [General] Lower priority of WorldRegionAuthority packets
Previously, sending a PlayerCellChange packet and a WorldRegionAuthority packet to the player at the same time made the latter arrive first even if the former was intended by a server script to arrive first.
4 years ago
David Cernat 4940687455 [General] Remove 'using namespace std' from multiplayer components 4 years ago
David Cernat 1a4b817b31 [General] Rework ObjectDialogueChoice for multilingual compatibility
Use a different system for sending and applying ObjectDialogueChoice packets.
4 years ago
David Cernat a43ba35790 [General] Add placeholder for Variant records in RecordDynamic packet
Fix spacing and sorting for Sound custom records.
4 years ago
David Cernat 9dcb0f4c32 [General] Implement ObjectDialogueChoice packet 4 years ago
David Cernat 4560267298 [General] Track the client scripts that Object packets originate from 4 years ago
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.
5 years ago
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
5 years ago
David Cernat 5e6218ad6d [General] Modernize handling of client script local variables in packets
Disable placeholder handling of client script member variables.
5 years ago
David Cernat 3c51f1c23a [General] Include last gold restock time in ObjectMiscellaneous packets 5 years ago
David Cernat 23ff7b9610 [General] Synchronize gold pools for traders via ObjectMiscellaneous 5 years ago
David Cernat 297a254210 [General] Rename unused ScriptMemberFloat packet to ObjectMiscellaneous 5 years ago
David Cernat f8c557fbc0 [General] Read and use weapon quantity in RecordDynamic packets 5 years ago
David Cernat 509f03ca52 [General] Use flags instead of autoCalc for enchantment dynamic records
This brings the handling of dynamic records in multiplayer up-to-date with ad333e88fe
5 years ago
uramer 094a73867a [General] Don't compress non-string values in sound record packets 5 years ago
uramer f46f028754 [General] Sound custom records 5 years ago
David Cernat 06a3604f9e Merge remote-tracking branch 'uramer/0.7.1-game-settings' into 0.7.1 5 years ago
David Cernat 27d35d73a2 [General] Implement OnObjectSound packet
Many interactions between players and objects now have their sounds sent to other players.
5 years ago
uramer bb8182663f [General] Set any settings from the Game category with the GAME_SETTINGS packet 5 years ago
David Cernat e78503d5f3 [General] Include potion quantity in RecordDynamic packets
Don't spam the server with one RecordDynamic packet per potion created when brewing multiple potions at once. Instead, send a single RecordDynamic packet with the potion quantity included in it.

Add serverside script functions for getting the potion quantity.
5 years ago
David Cernat 8db396d10a [General] Distinguish between shorts & longs in ClientScriptGlobal
Adjust ClientScriptLocal so it refers to its previously handled integers as shorts.
5 years ago
David Cernat a13cef9913 Merge branch '0.7.0reset' of https://github.com/uramer/openmw into 0.7.1
# Conflicts:
#	apps/openmw-mp/Script/Functions/Worldstate.cpp
#	apps/openmw-mp/Script/Functions/Worldstate.hpp
#	apps/openmw/mwbase/world.hpp
#	apps/openmw/mwmp/CellController.cpp
#	apps/openmw/mwworld/cellstore.cpp
#	apps/openmw/mwworld/worldimp.cpp
#	apps/openmw/mwworld/worldimp.hpp
5 years ago
David Cernat abd18745df [General] Include ScriptLocalFloat as part of ClientScriptLocal 5 years ago
David Cernat 4841c1ad4c [General] Rename ScriptLocalShort into ClientScriptLocal 5 years ago
David Cernat 271dc3df87 [General] Rename unused ObjectCollision into ObjectSound 5 years ago
David Cernat fcebd9f4ae [General] Rename unused ActorInteraction into ActorSpellsActive 5 years ago
David Cernat a1142a8fb5 [General] Renamed unused PlayerActiveSkills into PlayerSpellsActive 5 years ago
David Cernat 975797c09b [General] Implement ObjectRestock packet
Restocking object containers via trading now requires the server to send back an ObjectRestock packet before it can happen.

The unused packet ID ID_SCRIPT_GLOBAL_FLOAT has been replaced with ID_OBJECT_RESTOCK.
5 years ago
David Cernat e6c626f127 [General] Move handling of client globals to ClientScriptGlobal packet
ClientScriptGlobal is a new Worldstate packet that handles short, long and float values for global variables in clientside scripts.

Previously, short values were handled by the ScriptGlobalShort packet, while a partially implemented ScriptGlobalFloat packet also existed, but both of those packets were Object packets because they were added near the end of 2016 when only Player and Object packets existed (with the latter actually being called WorldEvent packets at the time). Both ScriptGlobalShort and ScriptGlobalFloat have now been removed.

The serverside script functions previously used to interact with ScriptGlobalShort have, however, been kept so they can be adjusted to work with local variables in clientside scripts instead in a future commit.
5 years ago
David Cernat 32c7406eda [General] Implement OnObjectHit packet, part 3
Include damage, block states and knockdown states in ObjectHit packets about successful hits. Add serverside script functions for reading that information.
5 years ago
David Cernat bc093c8596 [General] Implement OnObjectHit packet, part 2
ObjectHit is now also sent when local actors succeed or fail in hitting other actors with melee attacks, with the packet including the success state of their attack.

It is also sent when creatures hit a non-actor object.
5 years ago
David Cernat 2973cc4f4d [General] Implement OnObjectHit packet, part 1
ObjectHit is now sent when an NPC hits a non-actor object.
5 years ago
David Cernat 18cd3d1ea1 [General] Compress strings used in Object packets 5 years ago
David Cernat 980edac942 [General] Rename PlayerTeam into PlayerAlly
Considering that you can be allies with someone without being allied to their allies, changing the name makes the system more intuitive.
5 years ago
David Cernat a383b7b612 [General] Include death animations in ActorDeath packets 5 years ago
David Cernat ecf00af548 [General] Implement WorldDestinationOverride packet, part 1
Destinations for doors with cell transitions are now overridden.
5 years ago
David Cernat 9cb9d4b7ca [General] Compress strings used in Worldstate packets 5 years ago