Commit Graph

25302 Commits (fb3514c8c315d7a1ec029a4e77c0c9a1d7941227)
 

Author SHA1 Message Date
Alexei Dobrohotov 150a1e735f
Merge pull request #2629 from akortunov/shapes
Handle NiKeyframeController for NiTriShape
5 years ago
Andrei Kortunov 5b5c52d92e Handle NiKeyframeController for NiTriShape (feature #5224) 5 years ago
Andrei Kortunov 1e62115800
Merge pull request #2628 from Capostrophic/launcher
Launcher: improve first run and missing game data dialogues (bug #4009)
5 years ago
David Cernat e98e57c797 [General] Reorder enums alphabetically in RECORD_TYPE 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
Capostrophic 0a96f065d7 Launcher: improve first run and missing game data dialogues (bug #4009) 5 years ago
David Cernat 0e0ac7a60f [Server] Add OnConsoleCommand event and associated script function 5 years ago
David Cernat eeb77f80d2 [Client] Send ConsoleCommand packets when console is used 5 years ago
David Cernat 18cd3d1ea1 [General] Compress strings used in Object packets 5 years ago
David Cernat 4b27f8986b [Client] Synchronize positions for actors during death animations
This needs some improvements, because:

1) Sometimes the cell authority sends the death animation too late and a different one gets played on the other clients
2) There is probably a simpler check that can be done for position changes during a death animation.
5 years ago
David Cernat 9b8818687d [General] Add mDeathAnimationFinished to mwmp::SimpleCreatureStats 5 years ago
David Cernat 7dd03798e7 [Client] Don't update already initialized but deleted LocalActors 5 years ago
David Cernat c253950dd7 [Client] Don't play dying words for NPCs loaded up as dead from server 5 years ago
David Cernat 2af811be40 [Client] Use proper log message when receiving ActorDeath packets 5 years ago
David Cernat 1950748dae [Client] Always use autoEquip on newly initialized LocalActors
Previously, it was possible for a Container packet to clear all equipment slots for an actor without the actor's authority then sending an equipment packet to correct that, due to packet loss or sudden disconnection, leading to actors not wearing any equipment as soon as they acquired a new authority.

This ensures that newly initialized LocalActors will now autoEquip.
5 years ago
David Cernat cd444f8707 [Client] Send actor equipment after Container packet causes autoEquip
Previously, a Container packet with a SET action for an actor would clear their entire InventoryStore, also clearing all of their equipment slots. The actor's authority would then autoEquip new equipment for the actor, but that new equipment would not actually get sent to the other players. As a result, they would see the actor fighting with hand-to-hand attacks, while also not actually wearing anything despite being rendered as wearing the same clothes and armor as before.

This commit makes the actor's authority resend the actor's equipment as soon as the Container packet has caused the autoEquip to happen.
5 years ago
Andrei Kortunov 675ba806bf
Merge pull request #2627 from Capostrophic/essimporter
Fix essimporter script header and inventory item conversion
5 years ago
Capostrophic 0bc13b47fa Fix essimporter script header and inventory item conversion 5 years ago
David Cernat f43ba7fba2 [Client] Don't initialize disabled or deleted actors as LocalActors 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
Andrei Kortunov 43330f1dd1
Merge pull request #2626 from akortunov/master
Reset holstered shield before rebuilding an NPC animation
5 years ago
Andrei Kortunov d66b81d7f7 Reset holstered shield before rebuilding an NPC animation 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
David Cernat 154a9ce5a6 [General] Fix declarations hiding class members, part 2 5 years ago
David Cernat 270867a397 [Client] Ensure mwmp::Main is initialized before GUIController cleanup
Previously, certain errors early in the program's execution – such as an attempt to use two different packet processors for the same packet ID – would not be displayed because of a crash when attempting to get an uninitialized mwmp::Main in the Engine's destructor.
5 years ago
Andrei Kortunov ed9f4d965f
Merge pull request #2624 from Capostrophic/cellname
Make sure empty cell name subrecords are saved (bug #5222)
5 years ago
David Cernat 5b4db83d61 [Client] Once again allow beds to be used even if waiting is disallowed
This had been broken by rest-related commits in OpenMW.
5 years ago
David Cernat c4950f1beb [Client] Implement PlayerTeam packet, part 2
When determining actors siding with someone, also check the team members of DedicatedPlayers, not just those of the LocalPlayer.

Don't set players as each other's hitAttemptActor if they are team members.

Don't run startCombat() for DedicatedPlayers who get attacked.
5 years ago
Capostrophic 86c8fe386b Fix idle state reset 5 years ago
Capostrophic 4b38bab0d9 Make sure empty cell name subrecords are saved (bug #5222) 5 years ago
David Cernat 3a52f7dcf5 [Client] Add isTeamMember() method to MechanicsHelper 5 years ago
David Cernat 68f524b822 [Client] Use more succinct methods for PlayerPtr in MechanicsHelper 5 years ago
David Cernat 21c8821d05 [General] Ignore carriage returns in resources/version file 5 years ago
David Cernat 3aaf64a984 [Client] Only send DoorState packets for logged in players
This prevents problems with content that uses scripted doors in the area players are spawned in before they log in.
5 years ago
David Cernat 5ca2c83b02 [Client] Fix additional resurrection problems caused by 6450d84473 5 years ago
Andrei Kortunov eec82f676a
Merge pull request #2602 from elsid/clang_tidy
Fix clang-tidy issues
5 years ago
David Cernat eeb3e4f938 [Client] Reset friendly hits when summoning a creature 5 years ago
David Cernat 9792a5256f [General] Use different compromise for summoning
Revert 9502d84a9cb99028f76f7fd2e05f9193ca66561 because the creature graveyard solves more problems than it causes. Only have the authority of a cell send deletion packets when a summon despawns.

Summoning is one of the least multiplayer-friendly systems in OpenMW and really needs to be redone serverside.
5 years ago
David Cernat 753e310dd4 [General] Implement PlayerTeam packet 5 years ago
David Cernat 385ef55848 [Client] Avoid crashes by only using inventory listeners in loaded cells
Previously, receiving a Container packet about an actor with a previously initialized listener who was currently located in an unloaded cell crashed the game.
5 years ago
Andrei Kortunov ab4b3677e3 Merge branch '16' into 'master'
perf regression fix

See merge request OpenMW/openmw!157
5 years ago
David Cernat a54bc364ba [Client] Fix code conflict with OpenMW in OpRemoveSpell correctly 5 years ago
David Cernat 9d6f3fdd09 Add OpenMW commits up to 1 Dec 2019
# Conflicts:
#	CMakeLists.txt
#	apps/openmw/mwscript/aiextensions.cpp
#	apps/openmw/mwscript/statsextensions.cpp
5 years ago
David Cernat d9502d84a9 [Client] Disable clientside handling of summoned creature graveyards 5 years ago
David Cernat 138aef37fe [General] Remove unused variable movementAnim from BasePlayer 5 years ago
David Cernat 446c22723e [General] Set default values for some variables in BasePlayer 5 years ago
David Cernat 1283d5d487 [General] Synchronize TCL state for players
Additionally, only purge temporary levitation effect for DedicatedPlayers if one has been added.
5 years ago
Andrei Kortunov 721a7de8b6
Merge pull request #2621 from Capostrophic/getlos
Avoid using getPtr for object search in scripting (bug #5220)
5 years ago