Commit Graph

552 Commits (master)

Author SHA1 Message Date
elsid 69df6098e5
Report frame number, number of actors and objects to stats 5 years ago
unknown 3b4782959e Allow targeting non-unique actors with StartScript (bug #2311) 5 years ago
David Cernat 43e7df6df8 Add OpenMW commits up to 11 Mar 2020 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
elsid 4a0c056489
Do not wander to occupied area by other actor 5 years ago
elsid 85414e2353
Check for line of sight for wander destination 5 years ago
David Cernat a58f09fd6c Add OpenMW commits up to 2 Jan 2020
# Conflicts:
#	apps/openmw/mwmechanics/enchanting.cpp
#	apps/openmw/mwworld/scene.cpp
5 years ago
Andrei Kortunov 24ce242941 Implement TestCells (feature #5219) 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
elsid 3cfd5fca4e
Rotate door object using direct rotation order once
Instead of rotating using inverse and then applying the direct rotation.
To properly update object in navigator.
5 years ago
David Cernat 0c98c5d09e Add OpenMW commits up to 19 Nov 2019
# Conflicts:
#	apps/openmw/mwmechanics/aipursue.cpp
#	apps/openmw/mwmechanics/summoning.cpp
5 years ago
Andrei Kortunov 6861d9d5e5
Merge pull request #2510 from elsid/ai_open_door
Open door when it is on the way to a next path point (bug #5073)
5 years ago
David Cernat bde9f7b817 Add OpenMW commits up to 20 Oct 2019
# Conflicts:
#	apps/openmw/mwgui/recharge.cpp
#	apps/openmw/mwrender/globalmap.cpp
#	apps/openmw/mwrender/globalmap.hpp
#	apps/openmw/mwworld/inventorystore.cpp
5 years ago
Andrei Kortunov c51aba0b13 Recharge items outside of player's inventory (bug #4077) 5 years ago
David Cernat 4a34666c59 Add OpenMW commits up to 7 Oct 2019
# Conflicts:
#	apps/openmw/mwmechanics/aiactivate.cpp
5 years ago
David Cernat 0b85829e38 [Client] Make it possible to unload Cells & clear CellStores from World 5 years ago
David Cernat 339428872e [Client] Fix infinite loop in CellController
Previously, using CellController::getCellStore() to get an unloaded CellStore would make its references get loaded in the process, with the CellStore's loadRefs() then running updateMergedRefs(), which in turn – before getting as far as setting the CellStore's state to State_Loaded – would call CellController::hasLocalAuthority() on its accompanying ESM::Cell, which would then run CellController::isActiveWorldCell(), which would then run CellController::getCellStore() to get the CellStore again, which – still being marked as unloaded – would run the whole loop again... and again.
5 years ago
Andrei Kortunov a4d196f33f Force view change when using Force1stPerson and Force3rdPerson commands (bug #5168) 5 years ago
elsid 209e33f5ce
Open door when it is on the way to a next path point 5 years ago
David Cernat ca67587b89 Add OpenMW commits up to 5 Sep 2019
# Conflicts:
#	apps/openmw/mwgui/container.cpp
#	apps/openmw/mwmechanics/actors.cpp
#	apps/openmw/mwworld/worldimp.hpp
5 years ago
Roman Siromakha 41ad23ebdc
Revert "[WIP] Open door when it is on the way to a next path point (bug #5073)" 5 years ago
elsid b4ec444057
Open door when it is on the way to a next path point 5 years ago
elsid 16170131b7
Add enum type for door state 5 years ago
David Cernat 353e7d530a Add OpenMW commits up to 18 Aug 2019
# Conflicts:
#	CMakeLists.txt
#	apps/openmw/mwmechanics/character.cpp
#	apps/openmw/mwmechanics/spellcasting.cpp
#	apps/openmw/mwworld/worldimp.hpp
5 years ago
David Cernat b57c0bcafe Add OpenMW commits up to 6 June 2019
# Conflicts:
#	apps/openmw/mwgui/hud.cpp
#	apps/openmw/mwgui/jailscreen.cpp
#	apps/openmw/mwgui/waitdialog.cpp
#	apps/openmw/mwinput/inputmanagerimp.cpp
#	apps/openmw/mwworld/worldimp.hpp
5 years ago
David Cernat 5181c601c0 Add OpenMW commits up to 2 May 2019
# Conflicts:
#	CMakeLists.txt
#	apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
#	apps/openmw/mwscript/statsextensions.cpp
5 years ago
David Cernat f671c0bddc Add OpenMW commits up to 1 Apr 2019
# Conflicts:
#	.travis.yml
#	CMakeLists.txt
#	apps/openmw/engine.cpp
#	apps/openmw/mwdialogue/dialoguemanagerimp.cpp
#	apps/openmw/mwgui/jailscreen.cpp
#	apps/openmw/mwgui/trainingwindow.cpp
#	apps/openmw/mwgui/travelwindow.cpp
#	apps/openmw/mwgui/waitdialog.cpp
5 years ago
David Cernat 8729c3c5e3 Add OpenMW commits up to 9 Mar 2019
# Conflicts:
#	.travis.yml
#	CI/before_script.linux.sh
#	README.md
#	apps/openmw/mwgui/jailscreen.cpp
#	apps/openmw/mwscript/animationextensions.cpp
#	apps/openmw/mwscript/guiextensions.cpp
#	apps/openmw/mwscript/miscextensions.cpp
#	apps/openmw/mwscript/soundextensions.cpp
5 years ago
David Cernat 95a5607509 Add OpenMW commits up to 22 Feb 2019
# Conflicts:
#	CMakeLists.txt
#	apps/openmw/mwmechanics/spellcasting.cpp
#	apps/openmw/mwscript/containerextensions.cpp
5 years ago
David Cernat 6205ff6b04 Add OpenMW commits up to 30 Jan 2019
# Conflicts:
#	apps/openmw/mwworld/worldimp.cpp
5 years ago
David Cernat 6fdef4fd0a Add OpenMW commits up to 1 Jan 2019
# Conflicts:
#	.travis.yml
#	CMakeLists.txt
#	apps/openmw/mwbase/world.hpp
#	apps/openmw/mwphysics/physicssystem.hpp
#	apps/openmw/mwworld/worldimp.cpp
#	apps/openmw/mwworld/worldimp.hpp
5 years ago
David Cernat 3efffe92e3 Add OpenMW commits up to 5 Nov 2018
# Conflicts:
#	CI/before_install.linux.sh
#	CMakeLists.txt
#	apps/openmw/mwmechanics/aifollow.cpp
#	apps/openmw/mwmechanics/mechanicsmanagerimp.hpp
#	apps/openmw/mwphysics/physicssystem.hpp
#	apps/openmw/mwworld/scene.cpp
#	apps/openmw/mwworld/worldimp.cpp
#	components/CMakeLists.txt
5 years ago
David Cernat fba07194cf Add OpenMW commits up to 29 Oct 2018
# Conflicts:
#	apps/openmw/mwbase/world.hpp
#	apps/openmw/mwinput/inputmanagerimp.cpp
#	apps/openmw/mwmechanics/actors.cpp
#	apps/openmw/mwmechanics/aicombat.cpp
#	apps/openmw/mwmechanics/character.cpp
#	apps/openmw/mwworld/worldimp.cpp
#	apps/openmw/mwworld/worldimp.hpp
5 years ago
David Cernat 056591b957 Add OpenMW commits up to 14 Sep 2018
# Conflicts:
#	apps/openmw/mwgui/container.cpp
#	apps/openmw/mwworld/worldimp.hpp
5 years ago
David Cernat 889bcec7f8 Add OpenMW commits up to 1 Sep 2018
# Conflicts:
#	apps/openmw/mwbase/world.hpp
#	apps/openmw/mwclass/creature.cpp
#	apps/openmw/mwclass/npc.cpp
#	apps/openmw/mwgui/jailscreen.cpp
#	apps/openmw/mwmechanics/actors.cpp
#	apps/openmw/mwmechanics/difficultyscaling.cpp
#	apps/openmw/mwscript/transformationextensions.cpp
#	apps/openmw/mwworld/worldimp.hpp
5 years ago
David Cernat 84cab59057 Add OpenMW commits up to 19 Aug 2018
# Conflicts:
#	.travis.yml
#	CI/before_install.linux.sh
#	CI/before_script.linux.sh
#	apps/openmw/engine.cpp
#	apps/openmw/main.cpp
#	apps/openmw/mwgui/windowmanagerimp.cpp
#	apps/openmw/mwmechanics/actors.hpp
#	apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
#	apps/openmw/mwscript/aiextensions.cpp
#	apps/openmw/mwscript/containerextensions.cpp
#	apps/openmw/mwscript/dialogueextensions.cpp
#	apps/openmw/mwworld/cellstore.cpp
#	apps/openmw/mwworld/containerstore.cpp
#	apps/openmw/mwworld/scene.cpp
#	apps/openmw/mwworld/worldimp.cpp
#	components/misc/debugging.hpp
5 years ago
Andrei Kortunov d0bc06b849
Merge pull request #2438 from Capostrophic/camera
Rewrite messed up playerlooking switch handling (bug #5078)
5 years ago
Andrei Kortunov 786a6c6d42 Use a common doors rotation code in the "lock" command handler 5 years ago
Capostrophic 0b074f2211 Rewrite messed up playerlooking switch handling (bug #5078) 6 years ago
Andrei Kortunov 7214f24f5c Ignore containers, when we search for owner 6 years ago
Andrei Kortunov 861d41f4a4 Native graphics herbalism support (feature #5010) 6 years ago
Bret Curtis 7808cbbfe8
Merge pull request #2292 from akortunov/fallback
Make fallback map static to simplify constructors
6 years ago
uramer c89efd251c [General] Implement CellReset packet, stage 2 6 years ago
Capostrophic 3a0e374dc6 Replicate vanilla Position/SetPos behavior more closely (bug #3109) 6 years ago
Andrei Kortunov a302ec9c65 Make fallback map static to simplify constructors 6 years ago
Bret Curtis 886c77bced
Merge pull request #2145 from akortunov/rest
Update jail state once instead of for every single hour
6 years ago
Bret Curtis 573e64e9c9
Merge pull request #2184 from elsid/fix_startup_script
[Testing needed] Always run startup script once at engine start (bug #4877)
6 years ago
elsid 27d7452267
Update scaled objects in navigator 6 years ago
elsid 43b39e8418
Use not scaled player half extents as default to find path 6 years ago
elsid 1218e4e15d
Use player half extents only to find path in exterior cells 6 years ago
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