1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-15 21:19:57 +00:00
Commit graph

18345 commits

Author SHA1 Message Date
David Cernat
1a7060c5c5 [Server] Add server functions for handling the droppedByPlayer boolean 2020-02-27 14:53:03 +02:00
David Cernat
8b2bf941cd [Client] Only play trap disarm sounds when the server approves disarming 2020-02-26 22:24:58 +02:00
Bret Curtis
04f2b320b9
Merge pull request #2673 from Capostrophic/wizard
Make Wizard less shy (bug #4493)
2020-02-25 21:34:49 +01:00
Capostrophic
4b17d5da43 Make search fields behave more consistently 2020-02-25 18:26:25 +03:00
Capostrophic
d44dcc3242 Revert infinite fall failsafe addition 2020-02-25 16:46:53 +03:00
David Cernat
9d3afc019a [Client] Add logging for items added to & removed from player by server
Additionally, adjust comment related to potion creation to mention sending of stored item removals.
2020-02-25 09:53:42 +02:00
David Cernat
dae805dbc1 [Client] Avoid PlayerInventory packet spam when creating many potions 2020-02-25 07:45:06 +02:00
Alexei Dobrohotov
22b4629fc6
Merge pull request #2678 from unelsson/deleteinstanceshotkey
Editor: Delete instances via hotkey
2020-02-24 22:52:16 +03:00
Capostrophic
21c49ca1b0 Make Wizard less shy (bug #4493) 2020-02-24 22:35:43 +03:00
Alexei Dobrohotov
3f64d98305 Merge branch 'inventorysearch' into 'master'
Item search in inventory redux

See merge request OpenMW/openmw!158
2020-02-24 18:14:40 +00:00
Frederic Chardon
78d58a344d Item search in inventory (feature #4831) 2020-02-24 18:14:40 +00:00
Capostrophic
1da4b31047 Switch torches to shields for hostile NPCs (bug #5300) 2020-02-24 02:20:08 +03:00
Andrei Kortunov
a01c44bbdd
Merge pull request #2707 from Capostrophic/pcskipequip
Make PCSkipEquip and OnPCEquip behavior vanilla-like (bug #4141)
2020-02-23 14:08:44 +04:00
David Cernat
31c0f5c976 [Client] Use clearer boolean name for checks regarding inventory sending 2020-02-22 23:59:42 +02:00
David Cernat
e78503d5f3 [General] Include potion quantity in RecordDynamic packets
Don't spam the server with one RecordDynamic packet per potion created when brewing multiple potions at once. Instead, send a single RecordDynamic packet with the potion quantity included in it.

Add serverside script functions for getting the potion quantity.
2020-02-22 21:21:30 +02:00
David Cernat
678a308269 Merge remote-tracking branch 'Veenkar/0.7.1-credentials-hashing-fix' into 0.7.1 2020-02-21 21:47:29 +02:00
David Cernat
cf453092ce Merge remote-tracking branch 'Veenkar/0.7.1-fix-533' into 0.7.1 2020-02-21 21:24:01 +02:00
Capostrophic
cfa877b109 Make PCSkipEquip and OnPCEquip behavior vanilla-like (bug #4141) 2020-02-21 21:18:54 +03:00
Alexander Olofsson
776c0857fa
Always use ref_ptr for query geometry 2020-02-21 07:51:50 +01:00
Capostrophic
f9f0299c27 Make ModCurrentFatigue KO the actor when necessary (bug #4523) 2020-02-21 00:05:13 +03:00
David Cernat
85fb1d1a0b Add OpenMW commits up to 19 Feb 2020
# Conflicts:
#	apps/openmw/mwworld/scene.cpp
2020-02-20 01:51:47 +02:00
Capostrophic
3787625e61 Fix water ripple cleanup (bug #5246) 2020-02-19 23:27:45 +03:00
Nelsson Huotari
198a75b8e6 Delete selected instances with a hotkey 2020-02-19 11:44:55 +02:00
elsid
650f429ff5
Add final modifier to fix warnings 2020-02-18 10:36:08 -08:00
David Cernat
ab794f0068 [General] Add handling of longs to ClientScriptLocal
Use better wording in comments related to ClientScriptLocal and ClientScriptGlobal.
2020-02-18 02:02:31 +02:00
David Cernat
8db396d10a [General] Distinguish between shorts & longs in ClientScriptGlobal
Adjust ClientScriptLocal so it refers to its previously handled integers as shorts.
2020-02-17 18:19:03 +02:00
Bret Curtis
a0902bb98e
Merge pull request #2700 from akortunov/masks
Move VisMask to components
2020-02-17 11:58:53 +01:00
Andrei Kortunov
84979fa8b7 Move VisMask to components 2020-02-16 16:03:35 +04:00
Michal Marchewka
bf7041b067 [Server] Fix credentials generation. Used static variable as a workaround. 2020-02-16 12:34:05 +01:00
Michal Marchewka
44c13154ff [Client] Fix #533. LocalPlayer.cpp joins neccessary faction only. 2020-02-16 10:47:13 +01:00
David Cernat
a4b10c75e1 [Client] Remove unneccessary addConsoleCommandObject() from ObjectList 2020-02-15 10:24:05 +02:00
David Cernat
643c979d31 [Client] Use getBaseObjectFromPtr() whenever possible in ObjectList 2020-02-15 10:00:23 +02:00
Alexander Olofsson
5de1e0fb0c
Use queryGeom for all query geometry accesses 2020-02-15 03:12:52 +01:00
Capostrophic
9db0bbf255 Make infinite failsafe logic more forgiving 2020-02-14 15:32:50 +03:00
David Cernat
ffead444db [Server] Use consistent order for WorldstateFunctions 2020-02-14 11:51:31 +02:00
David Cernat
60ca72a70a [Client] Send packets with floats when their floors change
This helps prevent frame-by-frame packet spam from floats used as timers.

Additionally, clean up the comments regarding clientside variables.
2020-02-14 01:18:24 +02:00
Roman Siromakha
3ae1a208df
Merge pull request #2684 from Capostrophic/damagefatigue
Make uncapped Damage Fatigue optional (bug #5264)
2020-02-13 20:37:50 +01:00
Alexander Olofsson
7db58a893a
Ensure osg/Version is included 2020-02-13 19:32:17 +01:00
Alexander Olofsson
807f550386
Fix building mwrender/sky with OSG 3.6.5
OSG commit aff574b completely replaces the method of doing user-defined
query geometry, removing support for modifying the default geometry.
2020-02-13 19:15:33 +01:00
Bret Curtis
3bbd32fe98
Merge pull request #2667 from Capostrophic/infinitefall
Add an infinite fall failsafe (feature 1415)
2020-02-13 09:23:05 +01:00
David Cernat
2390e951bb [Client] Avoid packet spam by not giving locals values they already have 2020-02-13 07:50:12 +02:00
Andrei Kortunov
7d53c6274d
Merge pull request #2697 from Capostrophic/shield
Don't try to attach absent (empty path) shield models to NPCs
2020-02-12 21:53:29 +04:00
elsid
1e4565a15c
Avoid using temporary vector to get items owned by 2020-02-11 22:24:18 +01:00
David Cernat
76f3805e16 [Server] Fix Windows build by not using sigaction on Windows 2020-02-11 19:16:26 +02:00
Capostrophic
61b60c8a94 Add an infinite fall failsafe (feature 1415) 2020-02-11 18:26:58 +03:00
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
2020-02-11 15:41:38 +02:00
Capostrophic
013953ec7f Support Wander movement deceleration 2020-02-11 13:50:53 +03:00
Capostrophic
fcbd3b4324 Don't try to attach absent shield models to NPCs 2020-02-11 11:58:02 +03:00
elsid
9404b1dd72
Stop wandering when destination is hidden or occupied by other actor 2020-02-10 22:29:54 +01:00
elsid
4a0c056489
Do not wander to occupied area by other actor 2020-02-10 22:29:54 +01:00
elsid
85414e2353
Check for line of sight for wander destination 2020-02-10 22:29:54 +01:00
elsid
0c92a567af
Use distance to position since last normal state in obstacle checker 2020-02-10 22:29:54 +01:00
elsid
52945921a7
Print ptr by betacomment 2020-02-10 22:29:37 +01:00
David Cernat
fb3514c8c3 Merge remote-tracking branch 'nalal/patch-1' into 0.7.1 2020-02-10 10:00:30 +02:00
David Cernat
abd18745df [General] Include ScriptLocalFloat as part of ClientScriptLocal 2020-02-10 07:58:35 +02:00
Capostrophic
9b4be677f6 Make Show output format closer to vanilla 2020-02-09 20:10:24 +03:00
Capostrophic
aadf13b123 Make Show fallback to global variables when sensible (bug #5278) 2020-02-09 15:08:44 +03:00
Capostrophic
122dffe4c1 Make uncapped Damage Fatigue optional (bug #5264)
Cap Absorb Fatigue
2020-02-09 14:41:38 +03:00
David Cernat
b97fa7553c [Client] Remove variable redeclarations 2020-02-08 15:08:07 +02:00
AnyOldName3
3ce3f364ea Merge branch 'AnyOldName3-master-patch-00511' into 'master'
Add default font releaseGLObjects workaround for OSG <3.65

Closes #4704

See merge request OpenMW/openmw!160
2020-02-05 22:46:16 +00:00
David Cernat
4841c1ad4c [General] Rename ScriptLocalShort into ClientScriptLocal 2020-02-05 17:41:48 +02:00
Andrei Kortunov
b8548b8f56
Merge pull request #2691 from elsid/navigator_status
Use status codes to handle navigator errors instead of exceptions
2020-02-05 13:24:29 +04:00
Andrei Kortunov
7371650f8e
Merge pull request #2688 from Capostrophic/shield
Make sure not to pick the ground shield model incorrectly for NPCs
2020-02-05 12:11:24 +04:00
Bret Curtis
7d77d44b34
Merge branch 'master' into interiorlighting 2020-02-05 08:59:28 +01:00
David Cernat
f0f76516d8 Add OpenMW commits up to 4 Feb 2020
# Conflicts:
#	.travis.yml
#	CI/before_script.linux.sh
2020-02-05 02:03:31 +02:00
elsid
349040ffb2
Use status codes to handle navigator errors instead of exceptions
For find path use case.
2020-02-04 22:33:56 +01:00
Capostrophic
216a5d27c6 Avoid working with AMBI subrecord in tools unnecessarily (bug #5269) 2020-02-04 20:57:04 +03:00
Capostrophic
4a78674583 Make sure not to pick the ground shield model incorrectly 2020-02-02 15:39:29 +03:00
Andrei Kortunov
1db51a9e08 Re-work wandering outside of initial cell (bug #5261, bug #5262) 2020-02-02 11:02:19 +04:00
AnyOldName3
73722eedf3 Add default font releaseGLObjects workaround for OSG <3.65
This resolves https://gitlab.com/OpenMW/openmw/issues/4704

I've not compiled this or anything and I'm going off my memory from
around ten or eleven months ago, so if this fails CI or causes more
problems, that's why. The most likely issue is that we'll need to make
the context current before releasing the program.
2020-01-30 23:12:54 +00:00
Alexei Dobrohotov
2652b10b9c
Merge pull request #2681 from akortunov/hello
Do not interrupt greeting update when Hello = 0 or actor starts to swim
2020-01-30 00:48:13 +03:00
Andrei Kortunov
1522883fdd Do not interrupt greeting update when Hello = 0 or actor starts to swim (bug #5248) 2020-01-29 16:31:09 +04:00
elsid
f7caeefddb
Fallback to straight path when navmesh and pathgrind are not available 2020-01-29 11:14:07 +01:00
elsid
8e0b638145
Fix start position for AiWander random point selection 2020-01-28 20:29:52 +01:00
Bret Curtis
7dfbeff049
Merge pull request #2677 from unelsson/fixcsrotation
Editor: Convert radians to degrees when rotating objects
2020-01-28 11:55:56 +01:00
Bret Curtis
44a85795cf
Merge pull request #2669 from Capostrophic/wnam
Generate WNAM subrecord upon saving terrain instead of upon editing it
2020-01-28 11:43:47 +01:00
Nelsson Huotari
032513ae18 Convert radians to degrees 2020-01-28 11:33:44 +02:00
David Cernat
271dc3df87 [General] Rename unused ObjectCollision into ObjectSound 2020-01-26 13:30:28 +02:00
David Cernat
038c5b8231 [Client] Rename ObjectList's addObject() into addBaseObject() 2020-01-23 16:40:04 +02:00
David Cernat
296c04af71 [Client] Combine ObjectList's getBaseObject() and getObjectFromPtr() 2020-01-23 16:18:49 +02:00
David Cernat
975797c09b [General] Implement ObjectRestock packet
Restocking object containers via trading now requires the server to send back an ObjectRestock packet before it can happen.

The unused packet ID ID_SCRIPT_GLOBAL_FLOAT has been replaced with ID_OBJECT_RESTOCK.
2020-01-23 12:50:34 +02:00
David Cernat
59a38164ea [Client] Add generic objects to ObjectList using addObjectGeneric() 2020-01-23 09:03:40 +02:00
David Cernat
989188c171 [Client] Remove ObjectList's confusing addObjectDelete() function 2020-01-22 14:35:51 +02:00
elsid
1e106013a0
Use navmesh to find wander destination outside pathgrid for ground based actors
Use dtNavMeshQuery::findRandomPointAroundCircle from recastnavigation
2020-01-21 00:01:06 +01:00
elsid
e323e6e7e6
Consider moved distance in direction to destination for obstacle check
Assume actor is stuck when it's not able to move in the destination
direction with maximum speed. Approach to check moved distance from the
previous point doesn't work good for slow and big actors. When they face
obstacle they're trying to move along with oscillation so check is
passing but they don't get any closer to the destination.
2020-01-20 23:46:58 +01:00
David Cernat
27b9357478 [Client] Send Container packets when buying or selling items at merchant 2020-01-20 01:40:44 +02:00
David Cernat
a378b254f8 [Client] Include necessary headers in ContainerItemModel 2020-01-19 17:20:17 +02:00
David Cernat
8b14c007f3 [Client] Send ObjectDelete for purchased objects removed from world 2020-01-19 16:45:24 +02:00
Capostrophic
a2c674bb2e Make GetTarget return 1 during actor greeting (bug #5255) 2020-01-19 15:38:50 +03:00
David Cernat
32b5529e18 [Client] Use check with clearer logic in ObjectList::editContainers() 2020-01-16 14:02:27 +02:00
David Cernat
d2ba4a12d9 [Client] Simplify container sending with new addContainerItem() methods 2020-01-16 14:00:30 +02:00
David Cernat
51f0acbaf5 [Client] Improve logging for Container packets 2020-01-16 10:32:48 +02:00
David Cernat
b0b51dc4d5 [Client] Don't print sending of console command packets 2020-01-16 09:15:53 +02:00
David Cernat
60b6f92fa3 Add OpenMW commits up to 13 Jan 2020
# Conflicts:
#	apps/openmw/mwmechanics/actors.cpp
2020-01-15 07:49:26 +02:00
Andrei Kortunov
8bfca9830f
Merge pull request #2666 from Capostrophic/keybindings
Editor: Add a reset to defaults button to keybindings (feature #4068)
2020-01-13 10:28:38 +04:00
Capostrophic
7659370992 Editor: Add a reset to defaults button to keybindings (feature #4068) 2020-01-13 02:26:01 +03:00
Andrei Kortunov
a384104f73 Rework greeting timeouts (bug #5249) 2020-01-11 21:47:08 +04:00
capostrophic
89055f1c6c Generate WNAM upon saving terrain 2020-01-11 02:42:04 +03:00
Bret Curtis
95f9e4f4c9
Merge pull request #2649 from Capostrophic/nifstreamline
Yet more NIF adjustments
2020-01-10 22:07:25 +01:00
Alexei Dobrohotov
2615913494
Merge pull request #2661 from akortunov/guifixes
Settings menu tweaks
2020-01-10 14:24:36 +03:00
capostrophic
bbe5adb860 Use shield body part model for creatures (bug #5250) 2020-01-10 14:18:40 +03:00
Andrei Kortunov
4d4663e0ad Make 'Toggle HUD' hotkey configurable 2020-01-10 14:31:25 +04:00
Andrei Kortunov
2bed25a5e8
Merge pull request #2659 from Capostrophic/aitravel
Handle out-of-range actors' travel packages (bug #5212)
2020-01-10 13:32:51 +04:00
capostrophic
fc0f813dcb Add and use 'always active' AI package flag
Update documentation
2020-01-10 12:07:57 +03:00
capostrophic
1251b32f0f Slightly reduce code duplication 2020-01-09 22:17:01 +03:00
capostrophic
af2ea477d5 Don't use loops to detect absorb effects 2020-01-09 22:17:01 +03:00
capostrophic
42cc27194b Fix reported spellcasting discrepancies
Make ExplodeSpell behavior closer to Cast behavior (#5242)
Nullify on-self absorb spells in a different way (#5241)
Allow casting permanent spells through Cast/ExplodeSpell
2020-01-09 22:17:01 +03:00
Alexei Dobrohotov
7a4caaf5bf
Merge pull request #2660 from akortunov/boost
Additional de-boosting
2020-01-09 22:14:32 +03:00
Alexei Dobrohotov
ff2739b8a3
Merge pull request #2651 from akortunov/encoding
Unify streams usage to support non-ASCII paths
2020-01-09 22:12:55 +03:00
Andrei Kortunov
1cdd33b434 Implement additional stringops to avoid Boost functions 2020-01-09 19:40:22 +04:00
capostrophic
2d87d287ba Handle out-of-range actors' travel packages (#5212) 2020-01-09 14:17:54 +03:00
Andrei Kortunov
22a0549e73
Merge pull request #2656 from Capostrophic/sneak
Don't combine sneak idle with scripted/wander idles (bug #4284)
2020-01-07 11:26:59 +04:00
Alexei Dobrohotov
87f9b85e21
Merge pull request #2653 from akortunov/log
Improve BetaComment handling
2020-01-06 17:34:09 +03:00
Andrei Kortunov
a42396254b Use ISO format to print datetime 2020-01-06 11:27:11 +04:00
capostrophic
9b28420875 [Regression] Make creatures autoequip shields properly again 2020-01-05 23:49:19 +03:00
capostrophic
29c6a8975a Don't combine sneak idle with scripted/wander idles (bug #4284) 2020-01-05 15:09:02 +03:00
David Cernat
e6c626f127 [General] Move handling of client globals to ClientScriptGlobal packet
ClientScriptGlobal is a new Worldstate packet that handles short, long and float values for global variables in clientside scripts.

Previously, short values were handled by the ScriptGlobalShort packet, while a partially implemented ScriptGlobalFloat packet also existed, but both of those packets were Object packets because they were added near the end of 2016 when only Player and Object packets existed (with the latter actually being called WorldEvent packets at the time). Both ScriptGlobalShort and ScriptGlobalFloat have now been removed.

The serverside script functions previously used to interact with ScriptGlobalShort have, however, been kept so they can be adjusted to work with local variables in clientside scripts instead in a future commit.
2020-01-04 09:56:37 +02:00
Andrei Kortunov
af36b652aa Simplify datetime formatting 2020-01-04 10:45:11 +04:00
Andrei Kortunov
b6899a821b Improve BetaComment handling (feature #4129) 2020-01-03 08:45:53 +04:00
Andrei Kortunov
3704acf857 Unify streams usage to support non-ASCII paths (bug #5239) 2020-01-03 07:10:17 +04:00
David Cernat
c9b3ec1ca4 [Server] Use consistent ordering for kills & map worldstate functions 2020-01-03 02:00:21 +02:00
David Cernat
a58f09fd6c Add OpenMW commits up to 2 Jan 2020
# Conflicts:
#	apps/openmw/mwmechanics/enchanting.cpp
#	apps/openmw/mwworld/scene.cpp
2020-01-02 22:09:54 +02:00
capostrophic
c61f64ae86 Fix tests 2020-01-02 13:07:27 +03:00
Andrei Kortunov
71e1d576cd Allow to enchant multiple projectiles at once (feature #3517) 2019-12-31 21:31:49 +04:00
Alexei Dobrohotov
119382ed13
Merge pull request #2647 from akortunov/warnfix2
Do not use the QStringList::fromSet, which is deprecated since Qt 5.14
2019-12-31 12:33:40 +03:00
Alexei Dobrohotov
133b99bf18
Merge pull request #2622 from akortunov/testcells
Implement TestCells and TestInteriorCells console commands
2019-12-29 14:27:48 +03:00
Andrei Kortunov
d57253c5e2 Do not use the QStringList::fromSet, which is deprecated since Qt 5.14 2019-12-28 21:38:49 +04:00
Alexei Dobrohotov
2693598d82
Merge pull request #2642 from akortunov/warnfix2
Add safety checks for door state
2019-12-23 21:22:56 +03:00
Andrei Kortunov
88a695f251 Add safety checks for door state 2019-12-23 19:29:12 +04:00
Andrei Kortunov
24ce242941 Implement TestCells (feature #5219) 2019-12-22 11:13:42 +04:00
Andrei Kortunov
cd81f81fb6 Initialize variables to avoid GCC warnings 2019-12-22 10:44:14 +04:00
Andrei Kortunov
089548cdc4 Fix build on Qt4 2019-12-22 10:31:32 +04:00
David Cernat
ca9cd90a4d Add OpenMW commits up to 20 Dec 2019
# Conflicts:
#	apps/openmw/mwworld/scene.cpp
2019-12-20 15:43:50 +02:00
Andrei Kortunov
30a18c2a66
Merge pull request #2625 from Capostrophic/sneaking
[Regression] Attempt to fix idle state reset again
2019-12-20 14:32:22 +04:00
Andrei Kortunov
78450312bf Fix the last warning about deprecated Qt functions 2019-12-20 13:36:32 +04:00
Andrei Kortunov
47a13f1ed2 Do not use deprecated Qt API in the launcher 2019-12-20 12:59:56 +04:00
Andrei Kortunov
e44021b369 Fix most of deprecated API usage in the editor 2019-12-20 12:59:56 +04:00
David Cernat
32c7406eda [General] Implement OnObjectHit packet, part 3
Include damage, block states and knockdown states in ObjectHit packets about successful hits. Add serverside script functions for reading that information.
2019-12-19 13:53:18 +02:00
Andrei Kortunov
5220177ebc Fix ESMTool build 2019-12-19 15:21:49 +04:00
Assumeru
737aa1e4e8 Remove FactionID editing from OpenCS (#2636)
* Remove FactionID editing

* remove useless comments

* rename FactionID to Unknown
2019-12-18 20:42:54 +03:00
Assumeru
dfbe0021a5 Change rescaling to be more inline with vanilla (fixes #5214) (#2635)
* move rescaling to loadData

* clamp on save
2019-12-18 19:37:45 +03:00
David Cernat
2249450b0e [Client] Fix inability for actors to talk to players caused by 4118b20608 2019-12-15 11:50:15 +02:00
David Cernat
9763f6f9c5 [Client] Fix infinite activation loops caused by 48aba76ce9 2019-12-15 07:23:37 +02:00
Andrei Kortunov
97ee4bc349 Improve equipment logic (bug #5223) 2019-12-14 22:30:27 +04:00
David Cernat
bc093c8596 [General] Implement OnObjectHit packet, part 2
ObjectHit is now also sent when local actors succeed or fail in hitting other actors with melee attacks, with the packet including the success state of their attack.

It is also sent when creatures hit a non-actor object.
2019-12-13 14:00:51 +02:00
David Cernat
96049befe9 [Client] Add and use getObjectFromPtr() method in ObjectList 2019-12-13 13:07:21 +02:00
Capostrophic
483b37bb3f Disallow resting if the fall height hasn't been reset (bug #4802) 2019-12-12 15:26:02 +03:00
Andrei Kortunov
3d9c42e8ee Cap reputation values (bug #5226) 2019-12-11 08:47:46 +04:00
David Cernat
2973cc4f4d [General] Implement OnObjectHit packet, part 1
ObjectHit is now sent when an NPC hits a non-actor object.
2019-12-08 16:14:01 +02:00
Capostrophic
0a96f065d7 Launcher: improve first run and missing game data dialogues (bug #4009) 2019-12-08 17:03:27 +03:00
David Cernat
0e0ac7a60f [Server] Add OnConsoleCommand event and associated script function 2019-12-07 10:13:10 +02:00
David Cernat
eeb77f80d2 [Client] Send ConsoleCommand packets when console is used 2019-12-07 10:11:45 +02:00
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.
2019-12-06 21:04:42 +02:00
David Cernat
7dd03798e7 [Client] Don't update already initialized but deleted LocalActors 2019-12-06 16:12:29 +02:00
David Cernat
c253950dd7 [Client] Don't play dying words for NPCs loaded up as dead from server 2019-12-06 14:50:10 +02:00
David Cernat
2af811be40 [Client] Use proper log message when receiving ActorDeath packets 2019-12-06 12:43:41 +02:00
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.
2019-12-06 12:21:30 +02:00
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.
2019-12-06 11:40:07 +02:00
Capostrophic
0bc13b47fa Fix essimporter script header and inventory item conversion 2019-12-05 23:50:55 +03:00
David Cernat
f43ba7fba2 [Client] Don't initialize disabled or deleted actors as LocalActors 2019-12-05 20:27:48 +02:00
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.
2019-12-05 19:15:11 +02:00
Andrei Kortunov
43330f1dd1
Merge pull request #2626 from akortunov/master
Reset holstered shield before rebuilding an NPC animation
2019-12-05 17:37:21 +04:00
Andrei Kortunov
d66b81d7f7 Reset holstered shield before rebuilding an NPC animation 2019-12-05 17:35:32 +04:00
David Cernat
a383b7b612 [General] Include death animations in ActorDeath packets 2019-12-05 13:27:55 +02:00
David Cernat
ecf00af548 [General] Implement WorldDestinationOverride packet, part 1
Destinations for doors with cell transitions are now overridden.
2019-12-04 16:43:56 +02:00
David Cernat
154a9ce5a6 [General] Fix declarations hiding class members, part 2 2019-12-04 10:17:33 +02:00
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.
2019-12-04 08:39:33 +02:00
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.
2019-12-03 23:55:55 +02:00
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.
2019-12-03 22:40:02 +02:00
Capostrophic
86c8fe386b Fix idle state reset 2019-12-03 20:50:57 +03:00
David Cernat
3a52f7dcf5 [Client] Add isTeamMember() method to MechanicsHelper 2019-12-03 17:04:49 +02:00
David Cernat
68f524b822 [Client] Use more succinct methods for PlayerPtr in MechanicsHelper 2019-12-03 14:12:40 +02:00
David Cernat
21c8821d05 [General] Ignore carriage returns in resources/version file 2019-12-03 13:21:10 +02:00
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.
2019-12-03 12:23:05 +02:00
David Cernat
5ca2c83b02 [Client] Fix additional resurrection problems caused by 6450d84473 2019-12-03 11:42:56 +02:00
Andrei Kortunov
eec82f676a
Merge pull request #2602 from elsid/clang_tidy
Fix clang-tidy issues
2019-12-03 08:27:43 +04:00
David Cernat
eeb3e4f938 [Client] Reset friendly hits when summoning a creature 2019-12-02 23:29:36 +02:00
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.
2019-12-02 20:48:52 +02:00
David Cernat
753e310dd4 [General] Implement PlayerTeam packet 2019-12-02 19:08:03 +02:00
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.
2019-12-02 09:37:10 +02:00
Andrei Kortunov
ab4b3677e3 Merge branch '16' into 'master'
perf regression fix

See merge request OpenMW/openmw!157
2019-12-02 05:35:19 +00:00
David Cernat
a54bc364ba [Client] Fix code conflict with OpenMW in OpRemoveSpell correctly 2019-12-02 00:27:33 +02:00
David Cernat
9d6f3fdd09 Add OpenMW commits up to 1 Dec 2019
# Conflicts:
#	CMakeLists.txt
#	apps/openmw/mwscript/aiextensions.cpp
#	apps/openmw/mwscript/statsextensions.cpp
2019-12-01 23:52:42 +02:00
David Cernat
d9502d84a9 [Client] Disable clientside handling of summoned creature graveyards 2019-12-01 20:22:04 +02:00
David Cernat
446c22723e [General] Set default values for some variables in BasePlayer 2019-12-01 18:42:56 +02:00
David Cernat
1283d5d487 [General] Synchronize TCL state for players
Additionally, only purge temporary levitation effect for DedicatedPlayers if one has been added.
2019-12-01 18:13:24 +02:00
David Cernat
7120f41cfa [Client] Add creatures to summoner's creature map when they are missing
Additionally, adjust logging related to summons.
2019-12-01 15:02:04 +02:00
David Cernat
985d1f17e0 [Client] Use correct magnitude for active effect created for summons 2019-12-01 14:58:06 +02:00
David Cernat
9a772d737f [Server] Add script functions relating to summons' effect & spell IDs 2019-12-01 13:32:34 +02:00
David Cernat
d78bdefc01 [General] Include effect and spell ID for summons in ObjectSpawn packets 2019-12-01 13:31:11 +02:00
Capostrophic
e7f6ab1ae2 Avoid using getPtr for object search in scripting (bug #5220) 2019-12-01 14:09:59 +03:00
David Cernat
610e0558c8 [Server] Use correct argument for SetObjectSummonDuration() 2019-12-01 10:41:07 +02:00
David Cernat
47b666c1f9 [Server] Add ObjectFunctions for setting summoner identity for spawns 2019-12-01 10:12:13 +02:00
Andrei Kortunov
eacc185534
Merge pull request #2616 from Brouilles/master
Several languages for the launcher
2019-12-01 10:03:19 +04:00
Andrei Kortunov
058bbf4b0f
Merge pull request #2620 from elsid/fix_cage_door_rotation
Rotate door object using direct rotation order once
2019-12-01 09:54:38 +04:00
Brouilles
3889c0fa7b Add QTranslator support for launcher
Add French translation for launcher

Clean launcher main.cpp (appTranslator.load)

Remove french translation

Remove string translation file

Update AUTHORS.md
2019-11-30 22:41:00 +01:00
David Cernat
c6542ffec4 [Server] Move ObjectFunctions for setting summoning to their own spot 2019-11-30 20:44:27 +02:00
David Cernat
5575242299 [Client] Don't allow players to attack while in persuasion dialogue 2019-11-30 20:05:20 +02:00
Andrei Kortunov
ae80d8e490
Merge pull request #2618 from elsid/fix_rope_bridge
Fix objects culling for recast mesh tiles (bug #5216)
2019-11-30 21:54:14 +04:00
David Cernat
397cdf400b [Server] Reorder record types in RecordsDynamic script functions
They are now consistent with the ordering from 42b002e8db
2019-11-30 19:12:57 +02:00