Commit Graph

419 Commits (a083439139b883b260605fac90d6304ea293effa)

Author SHA1 Message Date
David Cernat a083439139 Merge pull request #469 from davidcernat/master while resolving conflicts
# Conflicts:
#	apps/openmw/main.cpp
#	apps/openmw/mwbase/world.hpp
#	apps/openmw/mwdialogue/dialoguemanagerimp.cpp
#	apps/openmw/mwmechanics/actors.cpp
#	apps/openmw/mwscript/dialogueextensions.cpp
#	apps/openmw/mwworld/worldimp.hpp
6 years ago
Andrei Kortunov 75835c8326 Prevent NPC from chosing farther pathgrid node 6 years ago
David Cernat 7136329a94 [Client] Add World::updatePtrsWithRefId() method
This makes it possible to "reload" the Ptrs in active cells when changes happen to the ESM record that they are based on. In practice, the old Ptrs are deleted, their RefNums and MpNums are blanked out, and new Ptrs are created that use the same RefNum and MpNum as before.

The above has required me to also add a method called setRefNum() to CellRef to allow setting a RefNum on the fly.

There may be a more elegant implementation available for updatePtrsWithRefIds(), but it requires additional research.
6 years ago
David Cernat 4e78642273 [Client] Add getModifiableStore() to MWWorld 6 years ago
David Cernat 892d71ce71 [General] Reimplement weather synchronization to allow soft transitions
Although weather sync was added by Koncord to the rewrite in fd721143e2 in a way that used surprisingly few lines of code, it relied on the server requesting weather states every second from authority players and sending them to non-authority players, while also allowing only very sudden weather transitions across regions, i.e. if there was one player in the Ascadian Isles who had stormy weather, and another player with clear weather in the Bitter Coast Region walked across to the Ascadian Isles, that player was instantly made to have stormy weather with no kind of transition at all.

My approach solves both of those problems. It solves the packet spam by only sending weather updates to the server when weather changes happen or when there are new arrivals to a weather authority's region, and it allows for both sudden weather transitions when players teleport to a region and for soft, gradual transitions when players walk across to a region. It is inspired by my previous actor sync, and uses a WorldRegionAuthority packet to set players as region authorities in a similar way to how ActorAuthority sets players as cell AI authorities. Weather changes are created only by the region authority for a given region, and weather packets are also only sent by that authority.

However, it should be noted that gradual weather transitions are used by default in this implementation. To use sudden weather transitions, the serverside Lua scripts need to forward WorldWeather packets with the forceWeather boolean set to true. That is, however, already handled by our default Lua scripts in situations where it makes sense.
6 years ago
David Cernat 6cb5ac6e63 Merge pull request #457 from OpenMW/master while resolving conflicts
Conflicts:
	CMakeLists.txt
	apps/openmw/engine.cpp
	apps/openmw/main.cpp
	apps/openmw/mwgui/windowmanagerimp.cpp
	apps/openmw/mwmechanics/character.cpp
	components/CMakeLists.txt
6 years ago
David Cernat 6c1173d598 [Client] Rename searchPtrViaRefIndex into searchPtrViaUniqueIndex 6 years ago
David Cernat 09da24f1ea [General] Rename all instances of refNumIndex into refNum
This creates symmetry with mpNum and should cause less confusion in the future.
6 years ago
Andrei Kortunov 3d1daaebab Rework manual spellcasting (e.g. via scripts) 6 years ago
David Cernat 0f30e21312 [Client] Add searchPtrViaRefIndex method to World to easily find objects 6 years ago
David Cernat a236ffc4be Merge pull request #456 from OpenMW/master while resolving conflicts
# Conflicts:
#	.travis.yml
#	README.md
#	apps/openmw/mwgui/quickkeysmenu.cpp
#	apps/openmw/mwmechanics/actors.cpp
#	apps/openmw/mwmechanics/combat.cpp
6 years ago
Thunderforge 7cbc4eeb49 Adding missing override keywords
Prevents compiler warnings such as this:

```
/Users/Will/CLionProjects/OpenMW/apps/openmw/mwgui/windowbase.hpp:65:22: warning: 'onOpen' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
        virtual void onOpen();
                     ^
/Users/Will/CLionProjects/OpenMW/apps/openmw/mwgui/windowbase.hpp:38:22: note: overridden virtual function is here
        virtual void onOpen() {}
                     ^
```
6 years ago
Miloslav Číž 477e1437d2 Resolve conflicts 6 years ago
Miloslav Číž d629c30fdb
Merge branch 'master' into screenshot360 6 years ago
Miloslav Číž c3d7ee5a9e Resolve merge conflicts 6 years ago
Miloslav Číž db8aaa74d6 Start cell border debug drawing 6 years ago
David Cernat 2a3c74bfcc Merge pull request #447 from OpenMW/master while resolving conflicts
# Conflicts:
#	README.md
6 years ago
Andrei Kortunov 24863f620b RotateWorld: rotate around world axis (bug #4426) 6 years ago
David Cernat 669d4d3d7e
Merge pull request #440 from OpenMW/master
Add OpenMW commits up to 27 May 2018
6 years ago
scrawl cfdf99f601
Revert "Merged pull request #1573"
This reverts commit 7324bd368f, reversing
changes made to 810e4416f6.
6 years ago
scrawl 99ffaafe30
Revert "Merge pull request #1701 from akortunov/standfix"
This reverts commit da47fc79f5, reversing
changes made to 7324bd368f.
6 years ago
David Cernat 3b5fb9cd6b [General] Make it possible to set year via WorldTime 6 years ago
David Cernat 4acf93b7db [General] Make it possible to set days passed via WorldTime 6 years ago
David Cernat 74c2a0b311
Merge pull request #438 from OpenMW/master
Add OpenMW commits up to 24 May 2018
6 years ago
Bret Curtis da47fc79f5
Merge pull request #1701 from akortunov/standfix
Do not apply queue movement for standing actors
6 years ago
Marc Zinnschlag 7324bd368f Merged pull request #1573 6 years ago
David Cernat 8d36d0d945 [General] Make it possible to change world's time scale via WorldTime 6 years ago
Capostrophic 867a5938ca Don't reset sneaking camera offset while in GUI (fixes #4420) 6 years ago
David Cernat 7f00005f04 [Client] Fix GCC build
Based on 71040659ac39dc1236af654b5c3177d015e749e5
6 years ago
Andrei Kortunov 3636cf2015 Do not apply queue movement for standing actors 6 years ago
Andrei Kortunov 22fb1f3403 Play spellcasting effects from objects 6 years ago
David Cernat ac82124a5d Merge pull request #395 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/mwmechanics/actors.cpp
6 years ago
scrawl c02920bcd1
Merge pull request #1634
Conflicts:
	apps/openmw/mwworld/worldimp.hpp
6 years ago
Andrei Kortunov 53ef345680 Update magic effect particles after building new animation (bug #2254) 6 years ago
Andrei Kortunov a0a30cdbf5 AI: hide torches during bad weather (bug #4334) 6 years ago
Miloslav Číž db6107f12f
Merge branch 'master' into screenshot360 6 years ago
David Cernat 60f686ee43 [General] Implement setting of physics framerate as part of GameSettings 6 years ago
David Cernat 4496625154
Merge pull request #381 from OpenMW/master
Add OpenMW commits up to 31 Jan 2018
6 years ago
scrawl b1b8e31562
Use unique_ptr over new/delete (Fixes #4305) 6 years ago
David Cernat 420dab10e1 [General] Track objects directly placed by players in ObjectPlace
This allows the OnPCDrop variable to get set correctly even when object placements have to go through the server first in order to gain a unique multiplayer index (mpNum).

Among other things, this makes it possible to roll marijuana joints in the popular mod "Tribunal Code Patch".
6 years ago
Miloslav Číž 4fc532d873 reference screenshot settings only from one place 7 years ago
Miloslav Číž 319ed2f9b8 disable 360 screenshots in vanity/preview mode 7 years ago
Miloslav Číž d4fd08a63f save 360 screenshots in the configured directory 7 years ago
Miloslav Číž 7feba7e498 basic setup for 360 screenshots 7 years ago
David Cernat 3a9e5e3a7b Merge pull request #319 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/mwworld/worldimp.hpp
7 years ago
AnyOldName3 03fc3353b9 Tidy up indentation 2 7 years ago
AnyOldName3 f3e6b26e6b Tidy up indentation 7 years ago
AnyOldName3 2abff22c08 Make MWWorld::World final to enable compiler optimisations 7 years ago
AnyOldName3 7440cf37bc Remove redundant virtual keywords implied by override keywords 7 years ago
AnyOldName3 69da89be39 Mark a method I missed out the first time as override 7 years ago