David Cernat
743933134d
[Client] Simplify sending of ActorAI packets for uninitialized actors
2018-07-14 01:00:27 +03:00
David Cernat
5f4ec1331f
[Client] Send ActorAI packet when combat is started via a client script
2018-07-14 00:07:15 +03:00
David Cernat
cc9e294cc0
[Client] Send ActorAI packet for new cell after being followed to it
2018-07-13 22:34:36 +03:00
David Cernat
528bd26a3b
[General] Allow followers to follow non-authority players through cells
2018-07-13 21:27:29 +03:00
David Cernat
ab5fd0aef8
[Server] Clean up descriptions for Object script functions
2018-07-13 04:55:05 +03:00
David Cernat
6c1173d598
[Client] Rename searchPtrViaRefIndex into searchPtrViaUniqueIndex
2018-07-13 04:33:54 +03:00
David Cernat
09da24f1ea
[General] Rename all instances of refNumIndex into refNum
...
This creates symmetry with mpNum and should cause less confusion in the future.
2018-07-13 04:12:03 +03:00
David Cernat
20296859ee
[Server] Clarify functions used for getting data in Networking
2018-07-13 02:40:24 +03:00
David Cernat
04dd59e638
[Server] Use clearer names for functions used to get last received data
...
Additionally, rename GetObjectChangesSize() into the less confusing GetObjectListSize()
2018-07-13 02:33:50 +03:00
David Cernat
aeb2e57444
[Server] Bring Actor functions in line with Object functions, part 2
...
The ActorPacket-sending functions now have sendToOtherVisitors and skipAttachedPlayer arguments, except for the ones for ActorList and ActorAuthority (because such arguments don't make sense for those).
2018-07-13 01:25:43 +03:00
David Cernat
837c5369c0
[Server] Add OnActorAI event and remove autosync for ActorAI packets
2018-07-13 01:05:27 +03:00
David Cernat
8f745df055
[Server] Bring Actor functions in line with Object functions, part 1
...
The last received ActorList can now be copied into the write-only ActorList that can be sent in packets. Changing the pid of the write-only ActorList can now be done separately from clearing its contents.
2018-07-13 01:04:41 +03:00
David Cernat
f0d4f1bbe5
[Client] Send ActorAI packets when followed by an NPC
...
The packet is sent regardless of whether we are the cell authority or not, so the server can decide what it wants to do with it.
2018-07-12 23:08:17 +03:00
David Cernat
6316f1e590
[Client] Add ActorList methods for sending ActorAI packets
...
Additionally, use consistent capitalization for AI-related methods.
2018-07-12 20:48:47 +03:00
David Cernat
0fd8f7660b
[Client] Replace LocalActor arg with BaseActor in ActorList functions
2018-07-12 20:15:04 +03:00
Andrei Kortunov
3d1daaebab
Rework manual spellcasting (e.g. via scripts)
2018-07-12 16:24:25 +04:00
David Cernat
bdf2f03c4f
[General] Remove unnecessary MapChanges struct from BaseWorldstate
2018-07-12 05:06:31 +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
8ca29dbaac
[Client] Fix remaining mistakes in debug for received ActorAI packets
2018-07-11 23:11:37 +03:00
David Cernat
5bb442bbd3
[Server] Add sendToOtherVisitors boolean to SendActorAI()
...
Additionally, avoid repetition in functions that send Actor packets.
2018-07-11 22:17:00 +03:00
David Cernat
25f7a55495
[Client] Improve debug for received ActorAI packets
2018-07-11 19:54:56 +03:00
Bret Curtis
99e4d49e7c
Merge pull request #1787 from akortunov/profilierfont
...
Use the DejaVuLGCSansMono.ttf for profiler output
2018-07-11 16:00:34 +02:00
Andrei Kortunov
70b6d4983d
Use the DejaVuLGCSansMono.ttf in profilier output
2018-07-11 14:41:49 +04:00
Marc Zinnschlag
ee759effce
Merged pull request #1798
2018-07-11 10:06:30 +02:00
David Cernat
bff6e9e235
[General] Implement ActorAI packet, part 5
...
Allow repetition for AiWander package to be turned on and off.
2018-07-10 23:18:32 +03:00
Andrei Kortunov
c77c50e92b
Make Equip console command to bypass most of restrictions (bug #4460 )
2018-07-11 00:06:21 +04:00
Capostrophic
5cb9dc9d12
Use SpellTurnLeft/TurnRight animation groups
2018-07-10 22:19:56 +03:00
Bret Curtis
df1576fcf5
Merge branch 'master' into crossbowfix
2018-07-10 19:15:37 +02:00
Bret Curtis
fde46f03b3
Merge pull request #1801 from terabyte25/terabyte25-trainingskill
...
Update trainer skill cap based off modified skill instead of based skill
2018-07-10 16:54:28 +02:00
Andrei Kortunov
1c35e20fcc
Use 1h animations as fallback for crossbows
2018-07-10 17:02:51 +04:00
Andrei Kortunov
75dcbea365
Apply weapon reload animations only for upper body
2018-07-10 17:00:48 +04:00
David Cernat
2e31c212c0
[Client] Make any ActorAI packet override an actor's desire to fight
2018-07-10 11:33:07 +03:00
David Cernat
79ee976c95
[Client] Implement ACTIVATE action in DedicatedActor::setAI()
...
Additionally, clean up usage of CreatureStats in DedicatedActor.
2018-07-10 11:31:51 +03:00
David Cernat
0f30e21312
[Client] Add searchPtrViaRefIndex method to World to easily find objects
2018-07-10 11:30:32 +03:00
Andrei Kortunov
27a5da59ba
Fix MSVC warnings C4456
2018-07-10 11:29:39 +04:00
David Cernat
c984fc0881
[Client] Allow AiActivate to be used with specific Ptrs, not just refIds
2018-07-10 08:21:24 +03:00
David Cernat
00c13ae96c
[General] Implement ActorAI packet, part 4
...
The server can now make actors activate players and objects, at least in theory. In practice, OpenMW''s AiActivate package needs to be worked so it allows specific objects as targets instead of just refIds.
2018-07-10 07:07:37 +03:00
David Cernat
0e13207afe
[General] Implement ActorAI packet, part 3
...
The server can now cancel actor AI, make actors travel to a location, make actors wander, and make actors get escorted by a player or another actor.
2018-07-10 05:07:58 +03:00
David Cernat
5baef09f79
[General] Implement ActorAI packet, part 2
...
The server can now make actors start combat with players or other actors.
2018-07-10 02:47:52 +03:00
David Cernat
5628f3b977
[Client] Fix debug for DedicatedActor::setAI()
2018-07-10 02:05:10 +03:00
David Cernat
b86155dc11
[Client] Allow AiFollow package to have infinite distance when desired
2018-07-10 01:40:57 +03:00
David Cernat
864c66d1d4
[Client] Make sure hasAiTarget is set correctly for DedicatedActors
2018-07-10 01:35:38 +03:00
David Cernat
4d4bced929
[Client] Allow singleplayer-only saves in main menu during multiplayer
2018-07-09 22:53:18 +03:00
terrabyte25
48296a7452
Update trainingwindow.cpp
2018-07-09 23:13:52 +04:00
Marc Zinnschlag
0bdd8f7d03
Merged merge request !19
2018-07-09 17:43:22 +02:00
Alexander Stillich
725cc94210
Renamed cc_install to something less cryptic (crashCatcherInstall)
2018-07-09 16:25:55 +02:00
Doc West
467989cdd5
Moved crashcatcher to a component and also use it in CS
...
Reworked debugger detection (failed on gdb 7.11), it now uses /proc to detect the debugger
2018-07-09 16:25:55 +02:00
Alexander Stillich
1177e5ac79
Issue a single dataChanged() when the modified column changes
2018-07-09 16:23:50 +02:00
Doc West
d26b5a13ef
Fixed comment
2018-07-09 16:23:50 +02:00
Doc West
01b8ce5f70
Notify views of changes in all columns when updating the ColumnId_Modification column
2018-07-09 16:23:50 +02:00
Doc West
4a6457c346
Changed the way the revert command works: it now clones the changed record and uses the new RecordBase::revert() method to restore the previous value
...
Added Flag_Dialogue_Refresh to var type and var value columns so that sub views update properly
2018-07-09 16:23:50 +02:00
Doc West
143eadb58e
Use setData() instead of emtitting dataChanged() which does not work on CI. Also Fixes the remaining issue with subviews not updating due to only the modified flag emitting a change, which prevented the widget mapper from working for updates.
2018-07-09 16:21:53 +02:00
Doc West
4780f1b2bd
Notify views of changes of all cells in a row to properly update the row after revert
2018-07-09 16:21:53 +02:00
Capostrophic
d09c327b20
Update changelog
2018-07-09 12:36:19 +03:00
Capostrophic
14d3b213a1
Fix double call of addContainerScripts on player in moveObject ( fixes #4490 )
2018-07-08 23:08:57 +03:00
David Cernat
6ff7fa525e
[Client] Disable autosaving when waiting
2018-07-08 23:04:30 +03:00
David Cernat
04ba324290
[Client] Disable clientside disabling and enabling of objects
2018-07-08 03:31:48 +03:00
David Cernat
5043fb4246
[Client] Disable clientside disarming of traps
2018-07-08 02:38:10 +03:00
David Cernat
cbb9817913
[Server] Add missing descriptions for PlayAnimation() and PlaySpeech()
2018-07-08 02:03:33 +03:00
David Cernat
6ba9b1742b
[Server] Remove unused default parameters for script functions
2018-07-08 01:05:54 +03:00
David Cernat
acdaf1a282
[Client] Disable clientside deletion of objects through console/scripts
...
Unfortunately, disabling clientside deletion of summons and items that can be picked up requires extra work on actors and inventories respectively, to avoid buggy situations.
2018-07-08 00:39:07 +03:00
David Cernat
8d9fde810e
[Client] Disable clientside scaling of objects
2018-07-08 00:28:31 +03:00
David Cernat
f3892d697b
[Client] Disable clientside locking and unlocking of objects
2018-07-08 00:06:01 +03:00
David Cernat
563269d359
[Server] Bring comments up-to-date for packet-sending script functions
2018-07-07 20:16:36 +03:00
David Cernat
2f1ef049d2
[Server] Turn sendToAttachedPlayer into skipAttachedPlayer
...
Unfortunately, default values set in the C++ code for our script function parameters don't actually seem to work, and they always default to false because they receive a nil value from Lua. As a result, to not break compatibility with previous scripts, I've decided to use a skipAttachedPlayer argument instead so it can default to false while still providing the same benefits that sendToAttachedPlayer provided.
2018-07-07 20:08:59 +03:00
David Cernat
141e404ed9
[Server] Move server administration functions to ServerFunctions class
2018-07-07 19:40:22 +03:00
David Cernat
6041425122
[Server] Move Chat functions to new ChatFunctions class
2018-07-07 19:20:25 +03:00
David Cernat
6a3fbf4e98
[Server] Use consistent arguments for script functions that send packets
...
Previously, there was a confusing separation between script functions that had a "broadcast" argument and script functions that had a "toOthers" argument.
Those with broadcast sent the packet to all players on the server when broadcast was true. Those with toOthers sent the packet to all players other than the packet's attached player.
The former was based on the pattern of the original SendMessage() script function. The latter more closely resembled RakNet's own broadcast argument as seen here:
https://github.com/TES3MP/CrabNet/blob/master/include/raknet/RakPeer.h#L219
This commit makes it so all sending functions have a sendToOtherPlayers argument that is false by default and a sendToAttachedPlayer that is true by default. This should simultaneously allow sending to be more intuitive, while not breaking previous existing scripts to a significant degree.
Additionally, this commit also reduces some code repetition for all instances of packet-fetching in script functions.
2018-07-07 18:29:31 +03:00
David Cernat
14e4f64296
[Server] Add GetVideoFilename() and SendVideoPlay() script functions
2018-07-07 17:09:57 +03:00
David Cernat
3ed9d89280
[General] Use separate variables for video & music filenames in packets
2018-07-07 14:40:35 +03:00
David Cernat
509882b5f6
[Client] Rework MechanicsHelper::getTarget() to avoid crashes
2018-07-07 11:43:57 +03:00
David Cernat
7f0549fc4f
[Server] Remove hardcoded sync for VideoPlay and add OnVideoPlay event
2018-07-06 23:37:57 +03:00
David Cernat
ae8b5a0709
[Server] Remove hardcoded sync for Place, Spawn & other Object packets
2018-07-06 23:36:28 +03:00
David Cernat
e3e1cfc549
[Client] Add forgotten comparison in crimeTime and deathTime check
2018-07-06 20:49:08 +03:00
Capostrophic
bded697f07
Make Goodbye block using hyperlinks
2018-07-06 19:38:36 +03:00
David Cernat
4eb72eecb1
[Client] Fix crash for invalid CellRefs in MechanicsHelper::getTarget()
2018-07-06 18:39:14 +03:00
David Cernat
4b30a44816
[Client] Compare crimeTime and deathTime when NPCs forgive player crimes
...
Previously, all crime witnesses stopped being hostile to a respawning player for as long as the player's diedSinceArrestAttempt was true. That meant that, in an area with no guards to arrest the player, crime witnesses did not enage in combat with the player at all ever again until diedSinceArrestAttempt became false.
This commit makes it so the time of the last crime is recorded for each witness, and that is then compared with the time of the LocalPlayer's last death for a one-time crime forgiveness during that player's current life.
This is essentially a gameplay adjustment for "singleplayer with respawns," and will have to be reworked to make sense for every player in multiplayer, though that requires reworking the crime system as a whole and is thus on hold.
2018-07-06 14:17:54 +03:00
Marc Zinnschlag
d9de8ccb5b
Merged pull request #1781
2018-07-06 11:55:45 +02:00
Marc Zinnschlag
dd08194c75
Merged merge request !18
2018-07-06 11:37:15 +02:00
Marc Zinnschlag
7ba512b389
Merged merge request !17
2018-07-06 11:27:35 +02:00
David Cernat
c23fc3446f
[Client] Avoid sending map tiles for Wilderness cells
2018-07-06 03:54:34 +03:00
David Cernat
17c234d9ca
[Client] Use initial values for LocalPlayer and LocalActor killers
2018-07-06 02:07:55 +03:00
David Cernat
97cd3effa7
[Client] Make actor debug consistent with object debug
2018-07-06 00:32:45 +03:00
Capostrophic
9abfabb065
Ensure forward-compatibility of death animations in old saves ( fixes #4274 )
2018-07-05 22:49:40 +03:00
David Cernat
b0bd12f9dd
Merge branch '0.6.3' of https://github.com/TES3MP/openmw-tes3mp into 0.6.3
2018-07-05 22:28:40 +03:00
David Cernat
c075496748
[General] Replace deathReason in death packets with a killer variable
...
Add serverside script functions for determining the killers of both players and actors.
Use unsigned ints for script functions returning an object or actor's refNumIndex or mpNum.
Remove updateDeadState() from LocalPlayer and make its code part of updateStatsDynamic() for simplicity.
2018-07-05 22:24:51 +03:00
David Cernat
934e592bdb
[Server] Make spacing in CharClass consistent with other categories
2018-07-05 20:27:42 +03:00
David Cernat
e8ce009521
[Server] Use regular int as return value for GetObjectSummonerPid()
...
Additionally, clarify descriptions of script functions for getting information about summoners.
2018-07-05 20:26:23 +03:00
David Cernat
f02492a593
[General] Temporarily include target names in mwmp::Target
...
These will be removed once the server can get the names matching refIds by reading content files.
2018-07-05 19:40:28 +03:00
Doc West
f9b565a46e
Removed QDebug include, moved updateUndoRedoAction to an anonymous namespace
2018-07-05 17:29:58 +02:00
Doc West
61109d70b1
Removed invalid / unused signal / slot connection
2018-07-05 17:21:32 +02:00
David Cernat
691b332d03
[Client] Use MechanicsHelper::getTarget() for summoners in ObjectList
2018-07-05 16:38:03 +03:00
David Cernat
130a32ebb0
[Client] Add new methods for handling mwmp::Target in MechanicsHelper
2018-07-05 16:36:52 +03:00
Koncord
470ea50b54
[General] Use LuaJit instead default Lua
2018-07-05 19:21:53 +08:00
David Cernat
7010575075
[Server] Return -1 in GetObjectSummonerPid() when the player is invalid
2018-07-05 02:05:10 +03:00
Capostrophic
faf3e9ba5a
Make spellcasting stance transition more smooth ( fixes #4358 )
...
If a movement animation was identical to the previous one that was played, restart it from the point the previous animation ended
2018-07-05 01:57:34 +03:00
David Cernat
76731f5def
[Client] Don't remove SummonKeys with actorIds of -1
...
This prevents summon duplication caused by a SummonKey sometimes being deleted immediately after being created, before the server can send back an ObjectSpawn packet spawning a creature that can be attached to the SummonKey.
2018-07-05 01:11:45 +03:00
Doc West
baf21362e1
Fixed undo / redo actions losing their shortcuts
2018-07-04 21:47:16 +02:00
Doc West
414f626309
Implemented search case sensitivity
2018-07-04 21:03:54 +02:00
David Cernat
c2411982d2
[Client] Log object refNumIndexes and mpNums in a consistent way
2018-07-04 21:54:11 +03:00