David Cernat
c132dc70d2
[Client] Make PlayerShapeshift turn DedicatedPlayers into creatures
2018-04-09 15:23:05 +03:00
David Cernat
141eb8b7c2
[Client] Streamline creation of references for DedicatedPlayers
...
Additionally, delete DedicatedPlayers who disconnect.
Previously, all disconnected DedicatedPlayers were still kept in memory, but never used again. There was code that suggested they were meant to be reused upon reconnecting, but that reuse had never actually been implemented, and would probably not be that useful anyway.
2018-04-08 15:02:43 +03:00
David Cernat
14f90e773d
[Client] Split up creation of DedicatedPlayers into multiple methods
...
Additionally, print player guids using their string representations for consistency.
The creation and updating of DedicatedPlayer references remains very inelegant, but this commit is the first step towards fixing that.
2018-04-08 10:56:33 +03:00
David Cernat
029dfc56ba
[General] Implement player scale as part of PlayerShapeshift
2018-02-01 02:11:45 +02:00
David Cernat
be25decee2
[General] Implement PlayerSpeech packet
2017-10-31 15:19:14 +02:00
David Cernat
413893aa51
[General] Implement PlayerAnimPlay packet
2017-10-27 09:10:29 +03:00
David Cernat
4db64e1721
[Client] Synchronize spellcasting for non-bipedal creatures
2017-07-28 20:49:26 +03:00
David Cernat
43a3daf0aa
[General] Add & implement PlayerShapeshift packet for werewolf states
2017-07-15 09:02:19 +03:00
Koncord
8f7da49152
[Client] Update DedicatedPlayer to C++11
2017-06-27 22:25:29 +08:00
Koncord
6222c20e82
[Client] Convert MechanicsHelper to namespace
2017-06-27 16:43:53 +08:00
David Cernat
c6aee3b780
[Client] Fix build by changing boost::shared_ptr into std::shared_ptr
2017-06-18 19:36:06 +03:00
Koncord
a847d46984
[Client] Get rid Z axis in direction.pos
2017-06-02 18:33:51 +08:00
Koncord
d67db1a9bd
[Client] Play rotation animation on dedicated players
2017-06-02 18:05:33 +08:00
Koncord
2ef1e26233
[Client] Fix ID_PLAYER_POSITION spam
2017-06-02 17:19:36 +08:00
Koncord
5f30dfd5db
[Client] Get rid direction.rot
2017-06-02 15:44:39 +08:00
David Cernat
e042673779
[Client] Fix error when trying to delete player markers that don't exist
2017-06-01 22:42:57 +03:00
David Cernat
cf41956cad
[Client] Prevent framerate drops caused by invalid rotation values
2017-06-01 21:45:36 +03:00
David Cernat
34a452d775
[Client] Fix logic for initialization and updating of player markers
...
Additionally, disable the Ptrs of players who move to cells that don't exist for us instead of placing them in ToddTest.
2017-05-31 10:54:19 +03:00
David Cernat
a353a21280
[General] Fix code style inconsistencies
2017-05-31 08:37:11 +03:00
David Cernat
068a45be87
[General] Synchronize player & NPC rotation animations
2017-05-30 12:08:58 +03:00
David Cernat
b0c1aafc5a
[Client] Use a 10 times higher maximum distance for linear interpolation
2017-05-28 03:30:23 +03:00
David Cernat
619982b085
[Client] Only try to send actor data to other players when authorized
2017-05-27 18:55:14 +03:00
David Cernat
8f5e6531db
[Client] Avoid updating positions and anim flags when framerate is low
...
Also rename DedicatedPlayer methods so they are consistent with those from DedicatedActor
2017-05-14 10:52:44 +03:00
David Cernat
1f747d4375
[Client] Only apply interpolation when positions don't change too much
2017-05-09 04:41:26 +03:00
David Cernat
b745a33f18
[Client] Resurrect DedicatedActors that aren't supposed to be dead
2017-05-05 20:38:28 +03:00
Koncord
60f4a1d9e5
[Client] Fix issues when changing npc model to creature
2017-05-01 22:54:43 +08:00
David Cernat
809b4d78ba
[Client] Split off DedicatedPlayer and PlayerList into different files
2017-04-30 14:57:43 +03:00
Koncord
805c346bd7
[Client] Fix copy-paste mistake
2017-04-30 01:06:47 +08:00
Koncord
465a05bad0
[Client] Add ability to look like a creature for the DedicatedPlayers
2017-04-30 00:18:44 +08:00
Koncord
fbd8e8b3a1
[Client] Use CreatureStats instead NpcStats
2017-04-29 22:40:22 +08:00
David Cernat
44476248b7
[Client] Add and use DedicatedPlayer::update()
2017-04-24 18:38:57 +03:00
David Cernat
a12694c6ef
[Client] Fix crash caused by late-arriving ActorAuthority packets
2017-04-23 17:12:45 +03:00
David Cernat
14e1ff27cb
[Client] Rename CellController's cellsActive to cellsInitialized for clarity
2017-04-23 16:53:24 +03:00
David Cernat
4e86d8781f
[Client] Clean up & simplify logic for DedicatedPlayer cell transitions
2017-04-23 14:01:13 +03:00
David Cernat
2e8714afaa
[Client] Rethink and restructure tes3mp combat code so it works for NPCs
2017-04-19 22:06:04 +03:00
David Cernat
014ff7a059
[Client] Replace usage of Networking::isDedicatedPlayer()
2017-04-18 18:07:39 +03:00
David Cernat
07c2d4251e
[Client] Add and use mwmp::PlayerList::isDedicatedPlayer()
2017-04-17 20:36:20 +03:00
David Cernat
7c45888f05
[Client] Reorder methods in DedicatedPlayer
2017-04-17 19:34:32 +03:00
David Cernat
0aaf68c994
[Client] Rename mwmp::Players into mwmp::PlayerList for clarity
2017-04-17 19:10:33 +03:00
David Cernat
c05c456b11
[Client] Clean up parts of LocalPlayer and DedicatedPlayer
2017-04-17 18:50:20 +03:00
David Cernat
cf155c9279
[Client] Add MechanicsHelper and move linear interpolation code to it
2017-04-17 14:37:19 +03:00
David Cernat
e7960eee76
[General] Rename DrawState packets into AnimFlags ones for clarity
2017-04-14 16:00:34 +03:00
David Cernat
9852076590
[Client] Send all NPC data to newly arriving players
2017-04-10 18:24:30 +03:00
David Cernat
b883b4c7ce
[Client] Reorder includes
2017-04-08 12:54:38 +03:00
David Cernat
679e790d8d
[Client] Rename WorldController into CellController to avoid confusion with Networking's WorldPacketController
2017-04-05 12:00:21 +03:00
Koncord
cea1425db1
[Client] Remove redundant newlines & keep ~120 columns
2017-03-04 14:55:35 +08:00
Koncord
4015c3e9a9
[Client] Use constant instead magic value in Lerp function
2017-03-04 14:24:26 +08:00
David Cernat
e6bc7ad463
[General] Make all flying players fly correctly, including TCL users
2017-02-27 23:01:33 +02:00
David Cernat
02487dce13
[Client] Prevent invalid race used by other player from freezing client
2017-02-27 01:45:27 +02:00
David Cernat
8c8414f098
[Client] Spawn DedicatedPlayer in center of exterior cell 0,0
2017-02-27 01:02:59 +02:00
David Cernat
9035908f6d
[Client] Spawn DedicatedPlayer in exterior 0,0 (for other master files)
2017-02-25 23:18:50 +02:00
David Cernat
586a7f6656
[Client] Prevent DedicatedPlayer from spawning on ground from 0 fatigue
2017-02-23 04:35:07 +02:00
David Cernat
04d45b9dbb
[General] Rename packets to show they are for players only, not NPCs
2017-02-05 09:01:33 +02:00
David Cernat
63c8a98083
[General] Stop using virtual functions in BasePlayer
2017-01-25 17:06:15 +02:00
Koncord
536715cf46
Cleanup tes3mp headers
2016-12-16 16:59:15 +08:00
David Cernat
843e84ba26
Once again use RakNetGUID as index for player map everywhere
...
Because of frequent server crashes, I tried to simplify the player map indexes with commit c91e240664
, but it had no noticeable effect and was later partially reverted by Koncord in commit 902e968fd9
, apparently for reasons of readability.
For the sake of consistency, this commit completes his reversion.
2016-11-19 22:16:21 +02:00
David Cernat
fcd24ebb7e
Rename methods to show they deal with Equipment instead of Inventory
2016-11-17 22:33:30 +02:00
David Cernat
3a733eb122
Make tes3mp includes consistent
2016-11-17 17:16:25 +02:00
David Cernat
fa9d6e810e
Use lowerCamelCase in tes3mp client function names like OpenMW does
2016-11-15 21:54:06 +02:00
Koncord
56959ebfda
Implement magic
2016-11-12 19:39:16 +08:00
David Cernat
817b63922c
Put DedicatedPlayer in ToddTest if his cell doesn't exist on our client
2016-11-04 20:53:19 +02:00
David Cernat
3c4b74cd14
Fix frame listener errors for player markers
2016-10-30 16:39:59 +02:00
David Cernat
d93e66207e
Update player markers only when getting a position packet
2016-10-27 19:09:05 +03:00
David Cernat
c91e240664
Simplify the type of map that player objects are stored in
2016-10-26 21:36:58 +03:00
David Cernat
a9f6ea4d8d
Use the name "guid" for RakNet IDs so as to not confuse with int IDs
2016-10-26 15:55:34 +03:00
David Cernat
b2688777c1
Create marker once a player has been initialized properly and fix debug
2016-10-24 21:08:47 +03:00
David Cernat
c54af2b02b
Make DedicatedPlayer's setMarkerState method actually enable markers
2016-10-24 16:26:51 +03:00
David Cernat
04eb051df6
Make markers get removed when their players quit, rename marker methods
2016-10-24 15:10:32 +03:00
David Cernat
c639337842
Merge with tes3mp-packetexpansion by fixing conflicts
...
# Conflicts:
# apps/openmw-mp/Networking.cpp
# apps/openmw/mwmp/Networking.cpp
# components/CMakeLists.txt
# components/openmw-mp/NetworkMessages.hpp
# components/openmw-mp/PacketsController.cpp
2016-10-23 17:57:38 +03:00
David Cernat
0a44bea91d
Send cell coordinates in tes3mp using mData instead of mCellId.mIndex
2016-10-23 16:55:30 +03:00
Koncord
b704519078
Show dedicated players on minimap
2016-10-22 17:06:26 +08:00
David Cernat
bc0aa86bcf
Make variable names more consistent and easier to understand
2016-09-29 12:05:44 +03:00
David Cernat
00e7810428
Add script functions for saving and loading non-custom player classes
2016-08-27 00:14:50 +03:00
David Cernat
c4f49e05e3
Remove manual newlines for logger
2016-08-19 07:54:10 +03:00
Koncord
90215f4e7c
Fix log messages for GCC compatibility
2016-08-19 09:37:24 +08:00
David Cernat
2337a0becb
Add LOG_APPEND method for writing to log without timestamp and level
2016-08-18 23:17:46 +03:00
David Cernat
f4744f8547
Add additional log info
2016-08-18 22:29:54 +03:00
David Cernat
97f944dde7
Use logger for most console messages
2016-08-18 20:20:17 +03:00
David Cernat
8eda381016
Make formatting consistent, part 2
2016-08-17 18:20:36 +03:00
David Cernat
1363c4c5b6
Make formatting consistent
2016-08-17 18:04:35 +03:00
David Cernat
1bbd7c271f
Add fail-safes to DedicatedPlayer cell updating to narrow down problems
2016-08-17 07:27:40 +03:00
David Cernat
aa69c156c7
Fix race-related graphical glitches when players spawn
2016-08-17 01:06:50 +03:00
Stanislav Zhukov
fe50394f4d
Fix movement desync
...
I think this should fix all movements desyncs
2016-07-22 23:40:34 +08:00
davidcernat
ab309180c2
Add useful debug info for cell changes
2016-07-21 23:07:37 +03:00
davidcernat
3c8543bfaf
Make player references cross exterior cells only when called by server
...
Previously, clientside representations of players were able to move to a new exterior cell once during their movement tick and then again when sending a cell change packet to the server. Besides causing crashes in CellRef because of a messy cell-changing record, this also led to major desyncs.
Clientside representations of players can now only change their cells when a server-sent cell change packet specifically allows it.
2016-07-20 03:26:25 +03:00
Aesylwinn
3483b54df5
Build fix.
2016-07-18 00:05:27 -04:00
Koncord
1b259e2d33
Syncing inventory, animations, position, 8 key attributes
...
Created Package system
2016-07-07 23:50:48 +08:00