David Cernat
4e2860f578
[General] Make mwscript's PositionCell send ActorCellChange packets
...
Make server accept ActorCellChange packets for unloaded cells.
2022-04-21 18:08:23 +03:00
David Cernat
ea6d5c68ae
Add OpenMW commits up to 6 May 2021
...
# Conflicts:
# CMakeLists.txt
# components/CMakeLists.txt
2021-05-06 23:32:48 +02:00
fredzio
4fa0972b2d
Tone down actor's skip simulation flag to an optional skip collision
...
detection flag.
2021-05-01 14:22:30 +02:00
David Cernat
cedf70f367
Add OpenMW commits up to 13 Apr 2021
...
# Conflicts:
# .travis.yml
# apps/openmw/mwmechanics/actors.cpp
# apps/openmw/mwmechanics/summoning.cpp
# apps/openmw/mwphysics/mtphysics.hpp
2021-04-13 23:52:37 +02:00
fredzio
8874a5be22
Change (again) the way SetPos behave.
...
Instead of registering the desired change of position and rely on
physics simulation to apply it to the world, immediately change the
position in the world without reset the simulation.
2021-04-09 23:34:03 +02:00
fredzio
9cae7882dd
Fix a bug that was triggered with multi mark mod.
...
When a script calls SetPos for x,y,z in sequence on an actor, we need to make sure
that the actor will not spawn under ground at x,y coordinates.
Now that change of coordinates are cumulated and applied all at once, we
need to account for the whole offset.
To this end move the terrain height check inside of Actor class.
2021-03-31 19:34:06 +02:00
David Cernat
59cb31e0a7
Add OpenMW commits up to 20 Mar 2021
...
# Conflicts:
# apps/openmw/CMakeLists.txt
# apps/openmw/mwmechanics/aipursue.cpp
# components/CMakeLists.txt
2021-03-20 16:44:11 +02:00
fredzio
cb39f8fb01
Use moveObjectBy in SetPos
2021-03-13 09:53:21 +01:00
David Cernat
da3316daf8
Add OpenMW commits up to 4 Jan 2021
...
# Conflicts:
# CMakeLists.txt
# apps/openmw/main.cpp
# apps/openmw/mwmechanics/npcstats.hpp
# apps/openmw/mwphysics/actor.cpp
# apps/openmw/mwphysics/mtphysics.hpp
# components/CMakeLists.txt
2021-01-05 07:25:31 +02:00
fredzio
7bae6691b6
Introduce World::moveObjectBy() function to translate an object relatively to
...
its current position.
Use it in relevant MWScripts opcode (move and moveworld).
Remove the fragile detection of scripted translation from PhysicsTaskScheduler.
No user visible change, just a more robust mechanism.
2020-12-18 08:40:38 +01:00
David Cernat
4620adc662
Add OpenMW commits up to 30 Nov 2020
...
# Conflicts:
# CMakeLists.txt
# apps/openmw/mwphysics/actor.cpp
2020-12-01 01:15:39 +02:00
Andrei Kortunov
8084a336b5
Replace zeroes and nulls by nullptrs
2020-11-29 11:14:07 +04:00
fredzio
e5fa457fe7
Properly account for interleaved move of actors.
...
Before this change, if an actor position was changed while the physics
simulation was running, the simulation result would be discarded. It is
fine in case of one off event such as teleport, but in the case of
scripts making use of this functionality to make lifts or conveyor (such
as Sotha Sil Expanded mod) it broke actor movement.
To alleviate this issue, at the end of the simulation, the position of the Actor
in the world is compared to the position it had at the beginning of the
simulation. A difference indicate a force move occured. In this case,
the Actor mPosition and mPreviousPosition are translated by the difference of position.
Since the Actor position will be really set while the next simulation runs, we
save it in the mNextPosition field.
2020-11-14 20:39:16 +01:00
David Cernat
7f435ceeac
Add OpenMW commits up to 1 Nov 2020
...
# Conflicts:
# CMakeLists.txt
# apps/openmw/main.cpp
# apps/openmw/mwclass/container.hpp
# apps/openmw/mwclass/creature.hpp
# apps/openmw/mwclass/npc.hpp
# apps/openmw/mwdialogue/dialoguemanagerimp.hpp
# apps/openmw/mwdialogue/journalimp.hpp
# apps/openmw/mwgui/container.cpp
# apps/openmw/mwgui/dialogue.hpp
# apps/openmw/mwgui/mainmenu.cpp
# apps/openmw/mwgui/windowmanagerimp.hpp
# apps/openmw/mwmechanics/aiactivate.hpp
# apps/openmw/mwmechanics/mechanicsmanagerimp.hpp
# apps/openmw/mwscript/containerextensions.cpp
# apps/openmw/mwscript/interpretercontext.hpp
# components/CMakeLists.txt
2020-11-01 23:17:59 +02:00
fredzio
4876969153
Use the PhysicsSystem::movementQueue instead of a serie of
...
setPosition(getPosition() + diff) to move actor in scripts.
With background physics, this is very slightly off with the collision
object position.
When the script run long enough (a few dozen frames for instance),
the accumulated error becomes too big. It make actors fall through lifts floors.
2020-10-30 23:59:09 +01:00
Andrei Kortunov
8ca3c3b123
Mark overrided methods by override keyword
2020-10-16 22:18:54 +04:00
David Cernat
0eedf8fd9f
Add OpenMW commits up to 30 Sep 2020
...
# Conflicts:
# apps/openmw/mwmechanics/aicombat.cpp
# apps/openmw/mwmechanics/character.cpp
# apps/openmw/mwmechanics/summoning.cpp
# components/CMakeLists.txt
2020-09-30 13:32:15 +02:00
Alexei Dobrohotov
387bda5e22
Add inverse order rotation support to SetAngle (feature #5579 )
2020-09-21 22:27:01 +03:00
David Cernat
4560267298
[General] Track the client scripts that Object packets originate from
2020-07-27 09:17:22 +02:00
David Cernat
ff10aa816b
Add OpenMW commits up to 25 Jul 2020
...
# Conflicts:
# .travis.yml
2020-07-25 19:44:01 +02:00
Andrei Kortunov
db8f0ad6fd
Do not use outdated references when moving objects to new cells (bug #5387 )
2020-07-11 17:24:20 +04:00
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
2020-06-09 17:50:26 +03:00
Capostrophic
c9c9599ec5
Improve GetDistance and object search warnings (bug #5427 )
...
Allow GetDistance to work with a non-existent object argument or with inventory items that belong to a container store that doesn't exist
2020-05-22 15:50:04 +03:00
Evil Eye
f0e2ee45fa
reuse ImplicitRef and ExplicitRef for enable, disable, getdisabled, startscript; move scriptrunning and stopscript
2020-05-13 21:17:08 +02:00
David Cernat
053a5a6258
Add OpenMW commits up to 9 May 2020
...
# Conflicts:
# apps/openmw/mwmechanics/spellcasting.cpp
# apps/openmw/mwscript/aiextensions.cpp
2020-05-09 15:17:04 +03:00
Evil Eye
f9881b699c
remove redundant templating
2020-05-05 19:18:23 +02:00
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
2019-08-22 11:42:02 +03:00
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
2019-08-21 23:54:39 +03:00
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
2019-08-21 19:04:04 +03:00
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
2019-08-20 13:15:00 +03:00
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
2019-08-20 11:31:51 +03:00
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
2019-08-20 10:06:15 +03:00
David Cernat
0339958e21
[General] Rename Log class into TimedLog
2019-08-19 21:39:33 +03:00
Alexei Dobrohotov
4f74d09179
Handle GetAngle axis more gracefully too
2019-05-04 00:24:23 +03:00
Capostrophic
3c18079c14
Handle invalid instruction axis more gracefully
2019-05-02 20:50:05 +03:00
Capostrophic
3a0e374dc6
Replicate vanilla Position/SetPos behavior more closely (bug #3109 )
2019-03-31 14:17:06 +03:00
Andrei Kortunov
3032b177a1
Remove redundant includes
2019-02-23 08:02:12 +04:00
David Cernat
a6c6db89fc
[Client] Send object packets when scripts use PlaceItem/PlaceItemCell
2018-12-05 01:56:27 +02:00
David Cernat
d9bc1abf48
[Client] Don't send ObjectScale packets if not logged in
2018-10-26 02:33:47 +03:00
Capostrophic
4ce35c6ad5
Fix fixme behavior in interiors
2018-10-24 01:43:38 +03:00
David Cernat
d9dd7073cf
[General] Send certain packets only when logged in
...
Previously, client mods adding packet-sending scripts to the spawn area made clients send the associated packets as soon as they inputted their character name when joining a server using those mods. This made the clients either get disconnected for not replying to a handshake first, or it made them get kicked for sending object packets that are disallowed for players who are not logged in.
To fix this, LocalPlayer's hasFinishedCharGen() has been replaced with isLoggedIn(), because the former was already returning true when players inputted their names.
2018-10-13 15:36:13 +03:00
Andrei Kortunov
e06f0b797a
Replace all NULLs to nullptr
2018-10-09 10:21:12 +04:00
Andrei Kortunov
01b3f92f7e
Make coc and fixme console commands close to vanilla (bug #4292 , bug #4217 )
2018-09-20 16:25:02 +04:00
Andrei Kortunov
de08c1cb1b
Make Move and MoveWorld console commands move actors standing on moving object (bug #2274 )
2018-08-25 10:34:33 +04:00
Andrei Kortunov
5a4d0cec3a
Use new logging system for game itself
2018-08-14 23:05:43 +04:00
David Cernat
36ac2d9de4
[Client] Set packetOrigin for all ObjectList packets sent
2018-07-23 01:39:43 +03:00
David Cernat
59a56ca35e
[Client] Disallow clients from scaling their associated players
...
Additionally, display messages when trying to scale players.
2018-07-12 03:29:38 +03:00
David Cernat
8d9fde810e
[Client] Disable clientside scaling of objects
2018-07-08 00:28:31 +03:00
David Cernat
2a3c74bfcc
Merge pull request #447 from OpenMW/master while resolving conflicts
...
# Conflicts:
# README.md
2018-06-08 06:01:00 +03:00
Andrei Kortunov
24863f620b
RotateWorld: rotate around world axis (bug #4426 )
2018-05-30 16:35:52 +04:00