Commit Graph

552 Commits (master)

Author SHA1 Message Date
Bret Curtis 14c93b3df0 Revert "Merge pull request #2204 from elsid/fix_navigator_update"
This reverts commit 26fb0e7a0f, reversing
changes made to 42b2391303.
6 years ago
elsid 133d7447f3
Update scaled objects in navigator 6 years ago
elsid c066ee9dc5
Use not scaled player half extents as default to find path 6 years ago
elsid a4f300f810
Use player half extents only to find path in exterior cells 6 years ago
elsid 619a111a11
Run startup script once at engine start when game is running (bug #4877) 6 years ago
Andrei Kortunov fcdb0c16bf Update jail state once instead of for every single hour 6 years ago
Bret Curtis a573efd30a
Merge pull request #2112 from Capostrophic/collision
[0.45.0 regression] Don't re-enable collision body for dead actors
6 years ago
Capostrophic a584aa25ab Don't re-enable collision object for dead actors 6 years ago
Andrei Kortunov 9e4a339ad3 Daytime node switch support (feature #4836) 6 years ago
Andrei Kortunov ab0841cc3d Split physics update from world update in the profiler 6 years ago
Andrei Kortunov a53333c3d5 Native animated containers support (feature #4730) 6 years ago
Andrei Kortunov 829faf7b2c Improve toggleactorspaths console command 6 years ago
elsid 49d81241db Merge branch 'master' into pathfinder_detour 6 years ago
Marc Zinnschlag 9dd0d641bc Merged pull request #1931 6 years ago
Andrei Kortunov e7de6b974a Optimize actors processing
1. Do not update physics and animations for actors outside processing range (bug #4647)
2. Do not render such actors
3. Add transparency to actors near processing border, so they will not pop up suddenly
6 years ago
Capostrophic 4ce35c6ad5 Fix fixme behavior in interiors 6 years ago
Andrei Kortunov ca07e3a364 Check for obstacle before back up (bug #4656) 6 years ago
elsid ff478aba6d
Use actor half extent for interior cells 6 years ago
elsid f8dbd5902f
Update doors objects in navigator 6 years ago
elsid dc09674362
Add command and settings option to enable actors paths render 6 years ago
elsid 70a369f70e
Add command to enable NavMesh render
togglenavmesh or tnm
6 years ago
elsid fafba8ea0c
Use recastnavigation to find path 6 years ago
Andrei Kortunov 8af021d729 Restore dynamic stats for actors in inactive cells (bug #1875) 6 years ago
Sergey Fukanchik f00f35ba86 Add const to canRest() 6 years ago
Sergey Fukanchik f2e11e6def Fix MSVC C4596 illegal qualified name 6 years ago
Sergey Fukanchik c50ee22772 Wrap up World::canRest() implementation by moving enemiesNearby() from InputManager::rest() to World::canRest(). 6 years ago
Andrei Kortunov aed7c1b2bb Fix a couple of Clang warnings 6 years ago
Marc Zinnschlag f25a9a6fb3 Merged pull request #1885 6 years ago
Andrei Kortunov de08c1cb1b Make Move and MoveWorld console commands move actors standing on moving object (bug #2274) 6 years ago
Andrei Kortunov 3d4f5536d2 Check for impact immediately when launch a projectile (bug #3059) 6 years ago
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 31f8bea1dd Rework spell effects management 6 years ago
Andrei Kortunov 4003fa1296 Keep jailing state for one frame after leaving jail (bug #3788) 6 years ago
Andrei Kortunov 9dfd775bf2 Implement GetPCTraveling console command 6 years ago
Andrei Kortunov 75835c8326 Prevent NPC from chosing farther pathgrid node 7 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.
7 years ago
David Cernat 4e78642273 [Client] Add getModifiableStore() to MWWorld 7 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.
7 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
7 years ago
David Cernat 6c1173d598 [Client] Rename searchPtrViaRefIndex into searchPtrViaUniqueIndex 7 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.
7 years ago
Andrei Kortunov 3d1daaebab Rework manual spellcasting (e.g. via scripts) 7 years ago
David Cernat 0f30e21312 [Client] Add searchPtrViaRefIndex method to World to easily find objects 7 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
7 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() {}
                     ^
```
7 years ago
Miloslav Číž 477e1437d2 Resolve conflicts 7 years ago
Miloslav Číž d629c30fdb
Merge branch 'master' into screenshot360 7 years ago
Miloslav Číž c3d7ee5a9e Resolve merge conflicts 7 years ago
Miloslav Číž db8aaa74d6 Start cell border debug drawing 7 years ago
David Cernat 2a3c74bfcc Merge pull request #447 from OpenMW/master while resolving conflicts
# Conflicts:
#	README.md
7 years ago
Andrei Kortunov 24863f620b RotateWorld: rotate around world axis (bug #4426) 7 years ago
David Cernat 669d4d3d7e
Merge pull request #440 from OpenMW/master
Add OpenMW commits up to 27 May 2018
7 years ago
scrawl cfdf99f601
Revert "Merged pull request #1573"
This reverts commit 7324bd368f, reversing
changes made to 810e4416f6.
7 years ago
scrawl 99ffaafe30
Revert "Merge pull request #1701 from akortunov/standfix"
This reverts commit da47fc79f5, reversing
changes made to 7324bd368f.
7 years ago
David Cernat 3b5fb9cd6b [General] Make it possible to set year via WorldTime 7 years ago
David Cernat 4acf93b7db [General] Make it possible to set days passed via WorldTime 7 years ago
David Cernat 74c2a0b311
Merge pull request #438 from OpenMW/master
Add OpenMW commits up to 24 May 2018
7 years ago
Bret Curtis da47fc79f5
Merge pull request #1701 from akortunov/standfix
Do not apply queue movement for standing actors
7 years ago
Marc Zinnschlag 7324bd368f Merged pull request #1573 7 years ago
David Cernat 8d36d0d945 [General] Make it possible to change world's time scale via WorldTime 7 years ago
Capostrophic 867a5938ca Don't reset sneaking camera offset while in GUI (fixes #4420) 7 years ago
David Cernat 7f00005f04 [Client] Fix GCC build
Based on 71040659ac
7 years ago
Andrei Kortunov 3636cf2015 Do not apply queue movement for standing actors 7 years ago
Andrei Kortunov 22fb1f3403 Play spellcasting effects from objects 7 years ago
David Cernat ac82124a5d Merge pull request #395 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/mwmechanics/actors.cpp
7 years ago
scrawl c02920bcd1
Merge pull request #1634
Conflicts:
	apps/openmw/mwworld/worldimp.hpp
7 years ago
Andrei Kortunov 53ef345680 Update magic effect particles after building new animation (bug #2254) 7 years ago
Andrei Kortunov a0a30cdbf5 AI: hide torches during bad weather (bug #4334) 7 years ago
Miloslav Číž db6107f12f
Merge branch 'master' into screenshot360 7 years ago
David Cernat 60f686ee43 [General] Implement setting of physics framerate as part of GameSettings 7 years ago
David Cernat 4496625154
Merge pull request #381 from OpenMW/master
Add OpenMW commits up to 31 Jan 2018
7 years ago
scrawl b1b8e31562
Use unique_ptr over new/delete (Fixes #4305) 7 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".
7 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
AnyOldName3 2aad5bed7a Mark worldimp functions as override to stop distracting Travis CI warnings and prevent future typos 7 years ago
David Cernat ddf0dfed55 Merge pull request #298 from OpenMW/master
Add OpenMW commits up to 26 Sep 2017
7 years ago
MiroslavR f15de6d3ca ESS-Importer: Convert magic projectiles (Closes #2320) 7 years ago
David Cernat fbec0d9443 [Client] Remove inertia from players who are teleported via a packet 8 years ago
David Cernat b8b3856c73 Merge pull request #244 from OpenMW/master
Add OpenMW commits up to 19 Jul 2017
8 years ago
scrawl a629d48df6 Update the facedObject after the camera is updated 8 years ago
David Cernat fa3baac0f3 Merge pull request #228 from OpenMW/master while resolving conflicts
# Conflicts:
#	.travis.yml
#	CMakeLists.txt
#	apps/openmw/main.cpp
8 years ago
scrawl 80eb2ea35d Merge pull request #1313 from akortunov/spellpriority
Make combat AI to do not cast target spells under water
8 years ago
Bret Curtis d785344fad purge all instances of <boost/shared_ptr.hpp>, clean up unused headers 8 years ago
Andrei Kortunov 3190f28710 Spell priority: make AI do not cast target spells under water 8 years ago
Koncord 7af73782f3 [OpenMW] Implement MWWorld::createRecord for Creatures 8 years ago
David Cernat 0d766a7a04 [Client] Add and use mwmp::Cell class 8 years ago
David Cernat 9beaf9b7a1 [Client] Initialize and update LocalActors while their cells are active 8 years ago
David Cernat a58601fb2b [Client] Delineate tes3mp-only code more clearly, part 1 8 years ago
David Cernat c32c004516 Merge pull request #151 from OpenMW/master
Add OpenMW commits up to 16 Feb 2017
8 years ago
scrawl 57b585570a Preload magic effect visuals of the player's selected weapon/spell 8 years ago
David Cernat 2ed9ae5739 Merge pull request #149 from OpenMW/master
Add OpenMW commits up to 14 Feb 2017
8 years ago
scrawl 026a05718f Construct the WorkQueue in Engine 8 years ago
David Cernat a5d7c5fd39 Merge pull request #148 from OpenMW/master
Add OpenMW commits up to 13 Feb 2017
8 years ago
Allofich 6b53541571 Prevent AI actors from hitting unintended targets
(Fixes #3254)
8 years ago
David Cernat ae23c6d6a5 Merge pull request #145 from OpenMW/master while resolving conflicts
# Conflicts:
#	CMakeLists.txt
8 years ago
scrawl 066aa2e60e Always run preloadCommonAssets even when the menu is skipped
Move to before the content files are loaded so we can do preloading in parallel with content file loading
8 years ago
David Cernat 9f8f62b765 Merge pull request #137 from OpenMW/master
Add OpenMW commits up to 1 Feb
8 years ago
scrawl 34deb6e7b1 Add 'showSceneGraph' command to export the scene or a particular object to .osgt for debugging purposes 8 years ago
David Cernat fa8650f99a Merge pull request #128 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/mwmechanics/combat.cpp
8 years ago
NeveHanter 811e9ad9f3 Fixed bug https://bugs.openmw.org/issues/3617 by allowing touch and target enchantments from ranged weapons and their projectiles to explode even when colliding with non-activable objects, terrain, water slab or when shoot underwater.
Also allowed projectiles to fly through the dead bodies as in vanilla.
8 years ago
David Cernat 1feec58ed2 Merge pull request #108 from OpenMW/master
Add OpenMW changes up to 20 Nov, part 3
8 years ago
scrawl 16a913c549 Add emission of water ripple particles for water-walking actors (Fixes #3608) 8 years ago
David Cernat b028f0b51f Merge pull request #104 from OpenMW/master
Add OpenMW commits up to 17 Nov
8 years ago
MiroslavR 5e46121046 Implement fleeing AI (Closes #1118) 8 years ago
David Cernat bdb53e1cb4 Implement ID_WORLD_DOOR_ACTIVATE and send it from MWBase::World 8 years ago
Allofich df03b32205 Coverity fixes 8 years ago
Allofich eecf412b85 Recreate vanilla-like behavior for telekinesis and touch spells 8 years ago
Allofich f8270f6bd5 Consolidations and cleanup for multi-effect spells 8 years ago
Allofich 37f07f7435 Combine into one multi-effect magic projectile 8 years ago
Allofich 10842462c7 Send lists of models and sounds to launchMagicBolt 8 years ago
Allofich a6216d883f Don't allow casting Water Walking in deep water 8 years ago
Allofich 7a0f9a7989 Clean up, remove unnecessary code changes 9 years ago
Allofich 4e54338ce0 Implement and use getDistanceToFacedObject() 9 years ago
Allofich c1236f4113 Simplified code 9 years ago
Allofich c02695e56d Cleanups and fixes 9 years ago
Allofich 64d53a2314 Avoid double raycasts when using getFacedObject 9 years ago
Austin Salgat 84179c262f Update manual wandering to prevent actor from leaving/entering water
Water creatures will stay in the water, while land creatures will stay on land when wandering.
9 years ago
scrawl 5bd8ef247d Do not adjust the player position when loading a savegame (Fixes #2089) 9 years ago
scrawl 6df71f6250 Factor out safePlaceObject function 9 years ago
scrawl 11f00e3aa9 Rename safePlaceObject to placeObject 9 years ago
scrawl c3ef387208 Vanilla-compatible creature/NPC respawning (Fixes #2369, Fixes #2467) 9 years ago
scrawl 383524c688 Run physics in fixed timesteps, use the remainder to interpolate between current and previous state
Based on http://gafferongames.com/game-physics/fix-your-timestep/
9 years ago
scrawl 1cda2bf796 Preload sky & water from the main menu 9 years ago
scrawl 300379617e Accept a const CellStore in findInteriorPositionInWorldSpace 9 years ago
scrawl 41ebf62fb1 Accept a const CellStore in getNorthVector 9 years ago
scrawl 41c571d4f4 Merge branch 'master' of https://github.com/OpenMW/openmw into lighting
Conflicts:
	apps/opencs/view/render/instancemode.cpp
9 years ago
scrawl 4e6a60672d When a spell explodes on an actor do not apply it to that actor twice (Fixes #3142) 9 years ago
scrawl 6546c05428 Move Fallback map to components/ 9 years ago
scrawl 4f8f166f69 Fix GetPcInJail to work as in the original engine 9 years ago
scrawl f052c05018 Move werewolf functions from World to MechanicsManager 9 years ago
scrawl e5d9ee30f4 Add count argument to copyObjectToCell
Fixes the gold bug introduced in c9ca5bc946
9 years ago
scrawl 29d0f448b4 Add const version of World::getAnimation 9 years ago
scrawl a0fb31e3b1 Accept a ConstPtr in getLOS 9 years ago
scrawl 029d467ea5 Accept a ConstPtr in getItemsOwnedBy, getContainersOwnedBy 9 years ago
scrawl 388aed1748 Accept a ConstPtr in findContainer, collision script functions, getUnderwater functions 9 years ago
scrawl c9ca5bc946 Accept a ConstPtr in placeObject 9 years ago
scrawl 6c505ca06f Accept a ConstPtr in getHitContact 9 years ago
scrawl 0796f49c17 Accept a ConstPtr in various physics getters 9 years ago
scrawl 553132cb51 Accept a ConstPtr in launchProjectile 9 years ago
scrawl 19d87c78f2 Add CellStore::forEachConst 9 years ago
scrawl 271fcb80c6 Remove container scripts before deleting container 9 years ago