David Cernat
5894ffae7d
[Client] Ignore dynamic object placements or spawns in packets
2018-01-17 11:01:31 +02:00
David Cernat
bce3d0eb4c
[Client] Use more descriptive message for version mismatch
2018-01-17 08:10:49 +02:00
David Cernat
09548d05f7
[Client] Ignore cell changes that move actors to where they already are
2018-01-08 01:37:01 +02:00
David Cernat
4a9a628a0f
[Client] When getting an actor, make sure their cell is initialized
2018-01-07 02:35:30 +02:00
David Cernat
0cc86c04d1
[Client] Print plugin discrepancies, not just plugin lists side by side
2018-01-06 05:39:25 +02:00
David Cernat
a639d3494a
[Client] Fix use of DedicatedPlayers as targets for ConsoleCommand
2018-01-05 01:24:15 +02:00
David Cernat
502df7d9c1
[Client] Clean up GUIChat slightly
2018-01-05 00:03:05 +02:00
David Cernat
db0e0d376e
[Client] Use new code to set the console's Ptrs from server scripts
...
Previously, reusing the console's object selection code made it so using the same Ptr twice in a row was akin to clicking on the same object twice in the console window, i.e. the object was deselected the second time around. Additionally, that same code was setting key focus to the hidden console window, preventing players from moving until they activated another window (such as their inventory or chat window).
2017-12-26 15:04:28 +02:00
David Cernat
5fd9079b26
[Client] Stop drag and drop when setting player inventory
2017-12-25 05:41:13 +02:00
David Cernat
40e70ebf9c
[Client] Fix key focus for chat window
2017-12-25 05:08:36 +02:00
David Cernat
bed96e5a3d
[Client] Remove check of GM_RestBed GUI mode that no longer exists
2017-12-25 03:26:28 +02:00
David Cernat
cac2c6c1e8
Merge pull request #360 from TES3MP/0.6.1-openmw-updates while resolving conflicts
2017-12-25 02:25:01 +02:00
David Cernat
993081ba1e
[General] Add enchantmentCharge to worldObjects and items
2017-12-23 13:16:38 +02:00
David Cernat
fef6bddc68
[Client] Fix typo related to drag and dropping
2017-12-16 23:19:54 +02:00
David Cernat
535fba0cb3
[Client] Finish drag and drops when arrested or teleported by server
2017-12-16 07:21:02 +02:00
David Cernat
e97c9f72a2
[General] Rework getting/clearing of skill modifiers as with attributes
2017-12-04 15:06:27 +02:00
David Cernat
047ad40b96
[Client] Clear FortifyAttribute effects when server sets modifier to 0
2017-12-02 09:22:36 +02:00
David Cernat
ef6dc61797
[Client] Send PlayerAttribute packets when attribute modifiers change
2017-11-30 23:03:34 +02:00
David Cernat
c9c363ebef
[General] Allow GameSettings to set bed & wilderness resting separately
2017-11-30 12:18:15 +02:00
David Cernat
3508a16836
[General] Use GameSettings packet to set ability to rest and wait
2017-11-27 07:39:02 +02:00
David Cernat
6668b9ab42
[General] Implement ConsoleCommand packet
2017-11-23 00:21:47 +02:00
David Cernat
2ca4017371
[Client] Force position updates for players in animations
2017-11-01 22:00:54 +02:00
David Cernat
be25decee2
[General] Implement PlayerSpeech packet
2017-10-31 15:19:14 +02:00
David Cernat
605b06c303
[General] Find actor speech captions instead of sending them in packets
2017-10-30 11:06:09 +02:00
David Cernat
413893aa51
[General] Implement PlayerAnimPlay packet
2017-10-27 09:10:29 +03:00
David Cernat
50d5fffb7f
[General] Add and implement PlayerQuickKeys packet
2017-10-25 07:21:00 +03:00
David Cernat
c35101cc36
[Client] Don't use message box call boolean for regular message boxes
2017-10-10 04:11:36 +03:00
David Cernat
4f112ba3d7
[Client] Use regular message boxes where expected to do so
...
This helps us move towards using the same terminology as OpenMW for GUI elements, leading to less confusion.
2017-10-10 04:05:36 +03:00
David Cernat
08f34e5356
[Client] Fix recent problems with password window
2017-10-08 02:42:41 +03:00
David Cernat
711c4d83da
[Client] Fix build after recent OpenMW changes to GUI
2017-10-07 23:33:36 +03:00
David Cernat
b94c0a9991
[Client] Don't send Attribute & Skill packets as werewolf, part 2
2017-09-04 20:21:06 +03:00
David Cernat
8c9d6a0160
[Client] Ensure that LocalPlayer's isWerewolf starts out false
2017-09-04 15:44:10 +03:00
David Cernat
ccb15cc09e
[Client] When players die, make guards willing to arrest them again
2017-09-04 15:13:05 +03:00
David Cernat
ac3254d85f
[General] Don't send PlayerAttribute and PlayerSkill packets as werewolf
...
This will prevent the server from overwriting a player's human form stats with their werewolf form stats.
Additionally, share PlayerShapeshift packets last when exchanging data with another player.
2017-08-31 18:21:38 +03:00
David Cernat
93d1aa2e4a
[Client] Comment out the broken sending of custom spells until 0.7.0
2017-08-31 17:07:45 +03:00
David Cernat
98a7769b91
Merge branch 'master' into 0.6.0
2017-08-31 15:44:27 +03:00
Koncord
54f5104345
[General] Escape format for strings
2017-08-31 20:09:05 +08:00
David Cernat
cca4991e74
[Utils] Use consistent names for utility functions added by tes3mp
2017-08-31 10:12:22 +03:00
David Cernat
cf4021a7b5
[Client] Only add valid quests to journal
2017-08-31 09:08:29 +03:00
David Cernat
134dd06d48
[Client] Only add valid inventory & equipment items to LocalPlayer
...
Also add related debug information.
2017-08-31 08:35:46 +03:00
David Cernat
c3d1eada89
[Client] Only add spells to players that are ensured to exist
2017-08-31 06:42:11 +03:00
David Cernat
2597f018d2
Merge pull request #272 from TES3MP/0.6.0
...
Add hotfix commits for 0.6.0 up to 23 Aug 2017
2017-08-23 07:22:29 +03:00
David Cernat
8f543fb34e
[Client] Use less exploitable way of disabling console
...
Previously, large framerate drops allowed players to open and use the console for short periods of time.
2017-08-23 04:58:07 +03:00
David Cernat
77ce05b7d6
[Client] Fix spell casting probability synchronization
2017-08-06 00:11:54 +03:00
David Cernat
0e2038f045
[General] Record and get player positions before their last cell change
2017-08-04 21:45:52 +03:00
David Cernat
fbec0d9443
[Client] Remove inertia from players who are teleported via a packet
2017-08-04 21:43:01 +03:00
Unknown
bfbfbeac43
Added networking and saving for custom spells
2017-07-31 03:45:47 +10:00
David Cernat
4db64e1721
[Client] Synchronize spellcasting for non-bipedal creatures
2017-07-28 20:49:26 +03:00
David Cernat
9d05063af4
[General] Add server script functions for banning & unbanning IPs
...
Additionally, use a more informative message for the client when trying to connecting to a server that it is banned from.
2017-07-27 19:29:17 +03:00
David Cernat
796118c266
[Client] Send StatsDynamic packets more often
2017-07-26 20:15:35 +03:00
David Cernat
43a3daf0aa
[General] Add & implement PlayerShapeshift packet for werewolf states
2017-07-15 09:02:19 +03:00
David Cernat
ad9fa0631a
[General] Rename jailText to jailEndText and add jailProgressText in PlayerJail
2017-07-13 20:13:28 +03:00
David Cernat
708d3723eb
[Client] Fix client script messagebox buttons that had always broken in tes3mp
2017-07-13 18:58:48 +03:00
David Cernat
e36c0afc59
[General] Send faction reputation via PlayerFaction packets
2017-07-13 13:36:00 +03:00
David Cernat
be93ec8ef6
[General] Implement ObjectState packet
2017-07-13 09:46:30 +03:00
David Cernat
083b46394d
[General] Add ignoreJailSkillIncreases to PlayerJail packets
2017-07-12 18:24:37 +03:00
David Cernat
5962570c48
[General] Add jailText to PlayerJail packets
2017-07-12 16:39:31 +03:00
David Cernat
5774023f8b
[Client] Add missing processor initialization for ProcessorPlayerJail
2017-07-11 14:31:32 +03:00
David Cernat
3280f0c5ee
[General] Implement PlayerJail packet
...
Rework server's DeathFunctions into MechanicsFunctions
Remove connection between PlayerResurrect and jailing
2017-07-11 13:34:09 +03:00
David Cernat
3529f9b090
[General] Add placeholders for PlayerJail, ObjectState & ConsoleCommand
2017-07-10 12:33:53 +03:00
David Cernat
4e74910fdb
[General] Disable automatic sync for PlayerJournal and PlayerFaction
...
Simplify PlayerFaction packets by removing BOTH action
2017-07-08 12:27:48 +03:00
David Cernat
1d504a665f
[General] Add RANK, EXPULSION and BOTH actions to PlayerFaction packets
2017-07-05 07:06:33 +03:00
Koncord
9bb586de77
[Client] Simplify setMapExplored()
2017-07-03 23:43:32 +08:00
Koncord
52349278e9
[Client] Fix warnings
2017-07-03 23:41:16 +08:00
Koncord
b2339f2f9a
[Client] Fix building
2017-07-03 23:40:38 +08:00
David Cernat
60574ae667
[General] Implement jail time as a death penalty
2017-07-03 15:45:21 +03:00
David Cernat
71313c5aa6
[General] Implement PlayerMap packet, part 1
2017-07-03 09:28:27 +03:00
David Cernat
c899525e30
[General] Use address keys with clearer meaning in tes3mp config files
2017-07-03 01:31:48 +03:00
David Cernat
1f682749d6
[General] Add optional notes to PasswordDialogs
2017-07-02 13:07:36 +03:00
Koncord
73cf134107
[General] Fix incoming password string
2017-07-02 11:11:33 +08:00
Koncord
0cf09adb44
[General] Move AddProcessor to BasePacketProcessor
2017-06-30 20:09:05 +08:00
Koncord
9519c467eb
[Client] Simplify updateEquipment for LocalPlayer & LocalActor
2017-06-29 14:52:23 +08:00
Koncord
596f42e408
[Client] Fix "invalid iterator" error
2017-06-29 14:36:56 +08:00
Koncord
5b2cab4c6b
[General] Change NULL to nullptr
2017-06-27 22:49:28 +08:00
Koncord
0ed0d2417b
[Client] Make foreach style consistent with other
2017-06-27 22:27:02 +08:00
Koncord
2427a4f877
[Client] Update DedicatedActor to C++11
2017-06-27 22:25:39 +08:00
Koncord
8f7da49152
[Client] Update DedicatedPlayer to C++11
2017-06-27 22:25:29 +08:00
Koncord
08666cabdb
[Client] Update PlayerList to C++11
2017-06-27 22:24:34 +08:00
Koncord
a110ec1767
[Client] Update GUIController to C++11
2017-06-27 21:59:05 +08:00
Koncord
7499777b3a
[Client] Update CellController to C++11
2017-06-27 21:56:40 +08:00
Koncord
7d4dd2ad1c
[Client] Update Cell to C++11
2017-06-27 21:56:24 +08:00
Koncord
7918e887dd
[Client] Update ActorList to C++11
2017-06-27 21:56:14 +08:00
Koncord
aa12b35d03
[Client] Update LocalActor to C++11
2017-06-27 21:12:00 +08:00
Koncord
689050e1d0
[Client] Long expression to lambda
2017-06-27 21:01:13 +08:00
Koncord
58a6a8c3bc
[Client] Update LocalPlayer to C++11
2017-06-27 20:43:39 +08:00
Koncord
6222c20e82
[Client] Convert MechanicsHelper to namespace
2017-06-27 16:43:53 +08:00
Koncord
7d3e08f031
[Client] Simplify loops
2017-06-27 16:32:16 +08:00
Koncord
f7341c021f
[Client] Modernize loops in WorldEvent to C++11
2017-06-27 15:58:41 +08:00
Koncord
61cc3ced5d
[Client] Remove boost from processors
2017-06-27 15:25:30 +08:00
Koncord
fcccd7b665
[General] Remove creatureStats.mDead from packets
2017-06-27 15:03:41 +08:00
David Cernat
813a3c89c4
[General] Implement PlayerBook packet to track skill books read
2017-06-27 08:27:14 +03:00
David Cernat
b3b73c5cd2
[General] Implement resurrection at nearest shrine or temple
2017-06-27 01:01:45 +03:00
David Cernat
7d81b84dd8
[Client] Write list of loaded plugins to log
2017-06-26 06:49:58 +03:00
David Cernat
78f29302ef
[General] Fix PlayerJournal logic by sending only refIds for its actors
...
Additionally, make the refIds for actors usable in script functions.
2017-06-23 08:12:32 +03:00
David Cernat
ebf7740969
[General] Repurpose GameConsole packet as GameSettings & add difficulty to it
2017-06-20 05:28:45 +03: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
3803535bd5
[General] Implement CleanChat()
2017-06-12 08:01:47 +08:00
David Cernat
bea3afaec8
[Client] Ensure uninitialization of DedicatedActors for late packets
2017-06-10 15:49:00 +03:00
David Cernat
70d9374a6a
[General] Implement PlayerKillCount packets
2017-06-10 14:04:19 +03:00
David Cernat
ee5c9b65c5
[General] When changing region, send new region name in PlayerCellChange
2017-06-10 11:43:40 +03:00
David Cernat
e5f5b047bc
[Client] Don't send empty ObjectSpawn packets for cells with no leveled creatures
2017-06-10 11:04:17 +03:00
David Cernat
312fc84a6f
[Client] Use update timer in mwmp::Cell instead of LocalActor
2017-06-10 03:29:51 +03:00
David Cernat
18bf79e08b
[Client] Correctly set mpNum for placed gold
2017-06-09 13:31:19 +03:00
David Cernat
6ac7ee8fcd
[Client] Fix problems with NPC equipment sync
2017-06-09 04:58:56 +03:00
Koncord
587b53bfed
[Client] Reorder files
2017-06-07 00:06:10 +08:00
Koncord
b84f97ec2b
[Client] Implement PasswordDialog
2017-06-06 23:33:59 +08:00
Koncord
ad873e16b8
[Client] Limiting updates to ~64 per second
2017-06-02 21:20:35 +08:00
Koncord
9742b0a801
[Client] Reset statTimer every timeout
2017-06-02 20:45:44 +08:00
Koncord
80631ae8bd
[Client] Reset positionTimer on time expired
2017-06-02 20:45:19 +08: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
0bed33e39e
[Client] Reset player fatigue when being resurrected
...
This way, players killed by strong hand-to-hand attacks will no longer be forced to lie on the ground when resurrected.
2017-06-02 06:58:33 +03: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
d8cd57a8be
[Client] Make topic sync work with localized versions of the game
2017-05-31 14:11:16 +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
97bf0252a4
[Client] Disable collision for actors loaded as dead from server
2017-05-31 07:52:45 +03:00
David Cernat
906b263a2d
[Client] Update topics in current dialogue screen when receiving PlayerTopic packets
2017-05-31 06:51:50 +03:00
David Cernat
068a45be87
[General] Synchronize player & NPC rotation animations
2017-05-30 12:08:58 +03:00
David Cernat
f4cdedd8cb
[General] Synchronize summoned creatures
2017-05-30 10:11:01 +03:00
David Cernat
1c6e359fe9
[Client] Set and clear hitAttemptActorId for DedicatedPlayers
...
This allows a DedicatedPlayer's follower NPCs to target enemies attacking the DedicatedPlayer.
2017-05-30 08:20:45 +03:00
David Cernat
4e5c8873e0
[General] Use ObjectSpawn instead of ObjectPlace for actors
2017-05-29 06:59:05 +03:00
David Cernat
27148ce9eb
[General] Add placeholders for 12 new packets, to be implemented soon
...
Additionally, make it slightly clearer who created which previously existing packets.
2017-05-29 04:43:52 +03:00
Koncord
565889ccbc
[Client] Add commit hash to password
2017-05-28 18:26:48 +08: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
ea2a060c67
[Client] Sync actor movements from interiors to exteriors & vice versa
2017-05-28 01:11:32 +03:00
David Cernat
6918ae7bc7
[Client] Don't crash when receiving certain packets from NULL players
2017-05-27 22:32:28 +03:00
David Cernat
2e45203bbb
[Client] Clean up mapIndexes in CellController
2017-05-27 21:20:24 +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
73b9683182
[General] Make most ActorPackets smaller by not including refIds in them
2017-05-27 16:59:23 +03:00
David Cernat
7177d56cfb
[Client] Only require refNumIndex & mpNum for CellStore::searchExact()
2017-05-27 16:59:23 +03:00
David Cernat
7c87ac80ee
[Client] Ensure correct drawState when receiving an ActorAttack packet
2017-05-27 04:19:28 +03:00
David Cernat
311ce4119d
[General] Fix logic issues related to ActorEquipment
2017-05-26 22:53:28 +03:00
David Cernat
4f273932af
[General] Implement sending and reading of ActorEquipment packets
2017-05-26 04:37:49 +03:00
David Cernat
ec921eefc8
[Client] Prevent players from getting stuck in drag and drop when their opened containers are deleted
2017-05-26 02:13:31 +03:00
David Cernat
32879adc5b
[General] Allow ObjectTrap to trigger traps, not just disarm them
2017-05-26 01:28:43 +03:00
David Cernat
7ac115b359
[Client] Implement sending and reading of ObjectTrap packets
2017-05-26 00:21:24 +03:00
Koncord
24d4e1c222
[General] Remove useless PacketSendMyID
2017-05-26 02:40:49 +08:00
David Cernat
11369f6513
[General] Implement sending and reading of PlayerTopic packets
2017-05-24 21:43:34 +03:00
David Cernat
08de349133
[General] Add placeholders for PlayerTopic & ObjectTrap packets
2017-05-24 19:01:28 +03:00
David Cernat
870fd9a78b
[General] Remove ObjectUnlock packet, use ObjectLock with 0 lock instead
2017-05-24 13:28:34 +03:00
David Cernat
e6983993c2
[General] Implement sending and reading of PlayerFaction packets
2017-05-18 19:27:20 +03:00
David Cernat
04c9c5ed48
[General] Forward PlayerJournal packets to other players
2017-05-18 12:57:48 +03:00
David Cernat
0189dbf916
[General] Make JournalItem consistent with other packet structs
2017-05-18 10:32:23 +03:00
David Cernat
1d0167c3c9
[Client] Add missing include for PlayerFaction processor
2017-05-16 19:30:29 +03:00
David Cernat
ad388c7e12
[General] Add placeholders for ActorEquipment & PlayerFaction packets
...
Also reorder packets and packet processors.
2017-05-16 19:25:31 +03:00
David Cernat
f527fe9ebe
[General] Add basic integrity check to reading of ActorList packets
...
Additionally, add newlines to files missing them.
2017-05-16 14:20:40 +03:00
David Cernat
05564bd123
[General] Add basic integrity check to reading of Container packets
2017-05-14 20:24:06 +03:00
David Cernat
46501909ff
[Client] Comment out spammy debug about Container packets
2017-05-14 11:08:53 +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
271594f0ee
[Client] Don't play death animations for NPCs saved as dead on server
2017-05-14 10:27:43 +03:00
David Cernat
5a786e6c56
[Client] Make all LocalActors get initialized correctly again
2017-05-09 14:19:25 +03:00
David Cernat
d7d4dec200
[Client] Don't spam AnimFlags packets when a Player or Actor is flying
2017-05-09 12:27:59 +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
cc559cf8e2
[General] Don't send packets for dead LocalActors, to fix Position spam
2017-05-09 02:47:29 +03:00
Koncord
d82ed7d0ad
[Client] Register ProcessorGameTime
2017-05-08 02:46:02 +08:00
Koncord
6c45b6dc5b
[Client] Fix ProcessorGameTime ID
2017-05-08 02:45:44 +08:00
David Cernat
3fb0bbb58c
[Client] Make it possible to turn off console again
2017-05-07 20:13:49 +03:00
David Cernat
aaaed8ab8b
[Client] Fix potential object duplication in WorldEvent::placeObjects()
...
Also clean up the debug messages in WorldEvent so they don't take up multiple lines.
2017-05-07 03:17:19 +03:00
David Cernat
de49f5f175
[General] Add and use isActor bool for WorldObject
2017-05-07 03:07:09 +03:00
David Cernat
9d2c5c3502
[General] Simplify structure of BaseEvent
2017-05-06 21:57:29 +03:00
David Cernat
dcc61a095a
[Client] Allow multiple WorldObjects to be added to a WorldEvent
2017-05-06 20:44:39 +03:00
David Cernat
bdc8b7f863
[Client] Send level creatures in ObjectPlace reply to ActorList request
2017-05-06 08:40:36 +03:00
David Cernat
3def111ca1
[Client] Fix graphical glitches related to DedicatedActor initialization
2017-05-06 04:49:49 +03:00
David Cernat
62aa6ed7ea
[Client] Send PlayerPosition packets based on a timeout
2017-05-06 00:59:54 +03:00
David Cernat
ef12a37d59
[Client] Send ActorPosition packets based on a timeout
2017-05-06 00:33:48 +03:00
David Cernat
db3859565b
[Client] Send ActorStatsDynamic packets only when stats change enough
2017-05-05 23:17:15 +03:00
David Cernat
4d81455020
[General] Rework and simplify death reasons so they work with NPCs
2017-05-05 22:16:31 +03:00
David Cernat
b745a33f18
[Client] Resurrect DedicatedActors that aren't supposed to be dead
2017-05-05 20:38:28 +03:00
David Cernat
8b4e167efe
[Client] Prevent NPC subtitles from being added to open Dialogue window
2017-05-05 20:16:20 +03:00
David Cernat
bcdbecf608
[Client] Initialize Cell before moving DedicatedActor to it
2017-05-05 19:54:20 +03:00
David Cernat
60cf623455
[Client] Make DedicatedActors transition into LocalActors when eligible
2017-05-05 07:37:09 +03:00
David Cernat
206c9cc357
[Client] Use CellController pointers to make code easier to read
2017-05-05 04:58:44 +03:00
David Cernat
e05adbfe65
[Client] Add better debug for Actor cell changes
2017-05-05 04:46:40 +03:00
David Cernat
950a8eae3d
[Client] Move Actors to Cells rather than reinitialize them from scratch
2017-05-05 03:52:41 +03:00
David Cernat
8d41a0c53b
[Client] Make LocalActor initialization include newly spawned Actors
2017-05-05 02:46:16 +03:00
Koncord
93edd67681
[Client] Use boolean var instead requestQuit or throwing runtime_error
2017-05-03 14:52:32 +08:00
Koncord
e0139c33b3
[Client] Remove destructor in Cell
2017-05-03 14:46:25 +08:00
Koncord
4eb02af8fb
[Client] Use __WINDOWS define
2017-05-03 14:44:38 +08:00
Koncord
47e6820f97
[General] Move printWithWidth and intToHexStr to components
2017-05-03 14:38:44 +08:00
David Cernat
34e77c5dae
[Client] Initialize Actors based on the guid of an ActorAuthority packet
2017-05-03 04:47:04 +03:00
David Cernat
0b40cb8919
[Client] When there are more client than server plugins, print them all
2017-05-03 03:14:11 +03:00
David Cernat
92e277d75d
[Client] Prevent application hang on Windows when plugins don't match
2017-05-03 02:17:19 +03:00
David Cernat
0284f18876
[Client] Replace plugin load order message with a clearer one at the top
2017-05-03 02:15:14 +03:00
David Cernat
1dbe9f0eaa
[Client] Print plugin comparison in a better-looking way on Windows
2017-05-03 01:51:47 +03:00
David Cernat
f80a16b897
[Client] Don't use try/catch when printing missing plugins
...
Also move load order note to bottom where it fits better.
2017-05-03 00:15:43 +03:00
David Cernat
4294508082
[Client] Don't print null for missing plugins when comparing with server
2017-05-02 23:22:37 +03:00
David Cernat
c3c04bbfc3
[General] Make coding style consistent
2017-05-02 22:47:58 +03:00
Koncord
afcf5a7fc8
[Client] Fix segmentation fault
2017-05-03 02:43:58 +08:00
Koncord
ccae9590cc
[Client] Fix comparison between signed and unsigned integer expressions
2017-05-03 02:43:00 +08:00
Koncord
01bdbfecfb
[Client] Fix wrong checksum collection
2017-05-03 02:41:36 +08:00
Koncord
7bee82cedb
[Client] Add notification about strict order
2017-05-02 23:50:36 +08:00
Koncord
f6bea7a114
[Client] Read answer about ID_GAME_PREINIT from server
2017-05-02 23:37:18 +08:00
David Cernat
cad3eb8968
[Client] Iterate through CellStore's mergedRefs when initializing Actors
2017-05-02 03:31:40 +03:00
David Cernat
f59609fcd7
[Client] Fix actor memory leaks, part 2
2017-05-02 02:45:18 +03:00
David Cernat
a77bd6652f
[Client] Read ActorPosition packets sent from Lua script cell loads
2017-05-01 21:55:50 +03:00
David Cernat
730df061b3
[General] Add hasPositionData and hasStatsDynamicData bools to BaseActor
2017-05-01 19:44:23 +03:00
David Cernat
48b773bfcb
[Client] Use float scale for WorldEvent::sendObjectScale()
2017-05-01 19:09:44 +03:00
Koncord
60f4a1d9e5
[Client] Fix issues when changing npc model to creature
2017-05-01 22:54:43 +08:00
David Cernat
e8e0090b9b
[General] Use new SimpleCreatureStats struct in BaseActor
2017-04-30 18:44:59 +03:00
David Cernat
809b4d78ba
[Client] Split off DedicatedPlayer and PlayerList into different files
2017-04-30 14:57:43 +03:00
Koncord
eda74ddf44
[Client] Fix memory leaks
2017-04-30 13:56:30 +08:00
Koncord
3372f27f3a
[Client] Notify player about current chat mode
2017-04-30 13:56:11 +08:00
David Cernat
f6a218025a
[Client] Fix actor memory leaks, part 1
2017-04-30 04:19:28 +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
David Cernat
d333c0b484
[Client] Read ActorStatsDynamic packets sent from Lua script cell loads
2017-04-29 17:44:46 +03:00
Koncord
fbd8e8b3a1
[Client] Use CreatureStats instead NpcStats
2017-04-29 22:40:22 +08:00
Koncord
26c00c3141
[Client] Change chat font to RussoOne for better visibility
2017-04-29 20:34:36 +08:00
Koncord
db0e25cb6c
[Client] Allow colors in the chat window
2017-04-29 20:34:36 +08:00
David Cernat
e419e25e72
[Client] Don't initialize actors without unique indexes
2017-04-28 23:17:23 +03:00
David Cernat
6a21ec1fdc
[General] Rename PlayerPos into PlayerPosition
2017-04-25 22:11:33 +03:00
David Cernat
7b07d6651f
[General] Add and use PlayerBounty packet and matching script functions
2017-04-25 21:24:39 +03:00
David Cernat
6658531713
[General] Fix names for two PlayerProcessors
2017-04-25 19:01:56 +03:00
David Cernat
7dbcfbd3b1
[Client] Use better check for empty CreatureStats in DedicatedActor
2017-04-25 16:55:58 +03:00
David Cernat
ea7c3f2dc7
[Client] Make tes3mp combat code work with Creatures, not just NPCs
2017-04-24 21:06:23 +03:00
David Cernat
44476248b7
[Client] Add and use DedicatedPlayer::update()
2017-04-24 18:38:57 +03:00
David Cernat
e11a24f446
[Client] Add back statement that should not have been removed in e4a261e
2017-04-24 18:10:05 +03:00
David Cernat
e4a261ea2e
[Client] Remove unused include and variables, fixing warnings
2017-04-24 17:53:50 +03:00
David Cernat
841e6a63f8
[Client] Initialize Creatures as LocalActors
2017-04-24 11:58:39 +03:00
David Cernat
850b19badf
[Client] Add clearer debug messages for Actor initialization
2017-04-24 11:04:28 +03:00
David Cernat
2082f8ff4f
[Client] Send LocalActor cell changes at end of mwmp::Cell's update
2017-04-24 10:59:47 +03:00
David Cernat
1f6ba9d9ee
[Client] Remove jump check from LocalActor that is irrelevant for NPCs
2017-04-24 10:58:39 +03:00
David Cernat
e70faf1016
[Client] Fix crashes in PlayerProcessors from NULL players
...
Also rename ProcessorPlayerDrawState into ProcessorPlayerAnimFlags
2017-04-24 01:46:27 +03:00
David Cernat
284f863292
[Client] Add linear interpolation for DedicatedActors
2017-04-23 21:28:23 +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
27186f555d
[Client] Enable reading of ActorPackets, and thus NPC sync, by default
2017-04-23 14:01:13 +03:00
David Cernat
871d8c8308
[Client] Send and read ActorCellChange packets
2017-04-23 14:01:13 +03:00
David Cernat
4e86d8781f
[Client] Clean up & simplify logic for DedicatedPlayer cell transitions
2017-04-23 14:01:13 +03:00
David Cernat
87ada3e763
[Client] Add CellController::isSameCell() and use it in LocalPlayer
2017-04-23 14:01:13 +03:00
David Cernat
6aa0fa85ab
[Client] Send and read ActorAttack packets
2017-04-19 22:10:06 +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
6c2bbd6608
[Client] Fix assignAttackTarget() not assigning LocalPlayer as target
2017-04-19 20:51:31 +03:00
David Cernat
61cedfa192
[Client] Add CellController methods to fetch Actors without needing Ptrs
2017-04-19 18:20:12 +03:00
David Cernat
0ef9e014eb
[Client] Add resetAttack() and getSpellSuccess() to MechanicsHelper
2017-04-19 17:09:35 +03:00
David Cernat
c3375ba86f
[Client] Add MechanicsHelper::assignAttackTarget()
2017-04-19 11:05:13 +03:00
David Cernat
17c4b6d4de
[Client] Add MechanicsHelper methods for easily getting Attacks from Ptr
2017-04-19 10:36:23 +03:00
David Cernat
82e455f736
[Client] Organize headers
2017-04-18 18:51:40 +03:00
David Cernat
014ff7a059
[Client] Replace usage of Networking::isDedicatedPlayer()
2017-04-18 18:07:39 +03:00
David Cernat
1f6d05dfe5
[Client] Remove unused Networking::attack() method
2017-04-18 17:45:26 +03:00
Koncord
67aba35d37
[Client] Simplify Processors
2017-04-18 15:05:39 +08:00
Koncord
1db30a65cb
[Client] Remove unecessary calls
2017-04-18 14:42:43 +08:00
Koncord
6969742ef0
[Client] Enable actor processors
2017-04-18 14:38:23 +08:00
Koncord
2c62c501f6
[Client] Add & init Actor processors
2017-04-18 14:37:35 +08:00
Koncord
7ec897a829
[Client] Add ActorProcessor
2017-04-18 14:37:35 +08:00
David Cernat
29f9453554
[Client] Clean up headers in Networking
2017-04-18 09:32:40 +03:00
Koncord
8128a5c39c
[Client] Use protected member instead local variable
2017-04-18 13:15:31 +08:00
Koncord
25fef1a7b8
[Client] FIx conflicts
2017-04-18 12:17:58 +08:00
Koncord
578d305d86
[Client] Enable world processors
2017-04-18 11:51:05 +08:00
Koncord
7dcaef5a5a
[Client] Init world processors
2017-04-18 11:50:22 +08:00
Koncord
fd3a7d2ad0
[Client] Add world processors
2017-04-18 11:50:22 +08:00
Koncord
f0805ca6f7
[Client] Fix typo
2017-04-18 11:50:22 +08:00
Koncord
740bfea0b2
[Client] Use processors for player packets
2017-04-18 11:49:00 +08:00
Koncord
e98fa6ad07
[Client] Add ProcessorInitializer
2017-04-18 11:45:54 +08:00
Koncord
f09dc2b65b
[Client] Add player processors
2017-04-18 11:38:40 +08:00
Koncord
a6111b6599
[Client] Add PlayerProcessor & WorldProcessor
2017-04-18 11:38:40 +08: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
a650683bae
[General] Add and use Target struct in mwmp::Attack
2017-04-17 18:31:39 +03:00
David Cernat
9882ceedf3
[General] Remove attackerGuid from mwmp::Attack because it is redundant
2017-04-17 18:03:33 +03:00
David Cernat
caf5428532
[General] Rename mwmp::Attack vars in preparation for Actor support
2017-04-17 17:24:11 +03:00
David Cernat
2050d06b31
[Client] Process PlayerAttack in MechanicsHelper::processAttack()
2017-04-17 16:09:07 +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
9f226253d4
[General] Rename mwmp::Attack's refid into refId for consistency
2017-04-17 09:35:18 +03:00
David Cernat
f0f0b2dcc9
[General] Send and read ActorSpeech packets
2017-04-16 18:43:13 +03:00
David Cernat
d2178e5414
[Client] Assign LocalActor movement settings before rotations get reset
2017-04-16 17:09:47 +03:00
David Cernat
1fb11dafef
[General] Send and read ActorStatsDynamic packets
2017-04-16 16:42:07 +03:00
David Cernat
678edffb5a
[Client] Rename updateDynamicStats() into updateStatsDynamic()
2017-04-16 14:11:55 +03:00
David Cernat
870886192b
[General] Rename DYNAMICSTATS into STATS_DYNAMIC
2017-04-16 09:00:18 +03:00
David Cernat
8ebe7ed683
[Client] Remove isLocalActor (no longer needed) from LiveCellRefBase
2017-04-16 07:54:44 +03:00
David Cernat
ca8fd1aa72
[General] Remove ActorHeadRotation packet because it would be too spammy
2017-04-15 15:49:40 +03:00
David Cernat
2872675f5e
[General] Send and read ActorAnimPlay packets
2017-04-15 13:42:30 +03:00
David Cernat
56aeb85965
[Client] Update method names in ActorList
2017-04-15 11:45:20 +03:00
David Cernat
5c1d7f614a
[Client] Rename readDrawStates() into readAnimFlags()
2017-04-15 10:47:53 +03:00
David Cernat
e7960eee76
[General] Rename DrawState packets into AnimFlags ones for clarity
2017-04-14 16:00:34 +03:00
David Cernat
de8d28e2c3
[Client] Improve logic for updating LocalActors & sending their packets
2017-04-13 18:59:22 +03:00
David Cernat
426d5a7fc2
[Client] Add missing usage of sendDrawStateActors()
2017-04-13 18:56:38 +03:00
David Cernat
d2fe777f89
[General] Send and read ActorDrawState packets
2017-04-13 15:26:48 +03:00
David Cernat
9c731990a9
[Client] Use clearer var names in LocalPlayer::updateDrawStateAndFlags()
2017-04-13 14:10:42 +03:00
David Cernat
0d196af685
[General] Add placeholders for 7 new ActorPackets
2017-04-11 11:37:38 +03:00
David Cernat
9852076590
[Client] Send all NPC data to newly arriving players
2017-04-10 18:24:30 +03:00
David Cernat
15f91e7825
[Client] Add CellController methods for getting and checking Cells
2017-04-10 18:13:22 +03:00
David Cernat
69f820f3a0
[Client] Rename CellController's getCell() into getCellStore()
2017-04-10 17:30:57 +03:00
David Cernat
d14102716d
[Client] Retool LocalActors and DedicatedActors for ActorPosition packet
2017-04-10 17:10:18 +03:00
David Cernat
2709de83fb
[Client] Use clearer variable names in LocalPlayer::UpdatePosition()
2017-04-10 14:53:59 +03:00
David Cernat
b6c3830ea0
[General] Rename WorldObject's pos into position for consistency
2017-04-10 09:25:20 +03:00
David Cernat
174f316787
[General] Rename PacketActorFrame into PacketActorTest
2017-04-10 08:37:18 +03:00
David Cernat
a5d0486c82
[General] Set actor data correctly
2017-04-10 07:22:03 +03:00
David Cernat
c52084a028
[General] Use BaseActorLists in ActorPackets
2017-04-09 16:32:44 +03:00
David Cernat
070c6a3bd4
[General] Add ActorPacketController & make controller var names clearer
2017-04-09 08:51:28 +03:00
David Cernat
c8a486de6c
[Client] Fix Ptr initialization in mwmp::Cell
2017-04-08 16:02:59 +03:00
David Cernat
0ccbe70e61
[Client] Rename methods to make their purpose clearer
2017-04-08 14:31:22 +03:00
David Cernat
b883b4c7ce
[Client] Reorder includes
2017-04-08 12:54:38 +03:00
David Cernat
3d6dc74bdc
[Client] Fix logic for mwmp::Cell initialization
2017-04-08 12:33:41 +03:00
David Cernat
417284c701
[Client] Implement head rotation sync for NPCs
2017-04-08 11:40:19 +03:00
David Cernat
f52fc19762
[Client] Reorder methods and don't set variables that are no longer used
2017-04-08 10:58:25 +03:00
David Cernat
d3f3fb5d05
[Client] Correctly implement movement animation sync for NPCs
2017-04-08 08:59:21 +03:00
David Cernat
5b43e62c50
[Client] Make it possible to get DedicatedActor from CellController
2017-04-08 07:46:33 +03:00
David Cernat
e6536c7473
[Client] Disable basic NPC sync in preparation for overhaul
2017-04-07 16:04:21 +03:00
David Cernat
1101ff1e28
[Client] Update DedicatedActors every frame to allow interpolation
2017-04-07 15:51:34 +03:00
David Cernat
ae92117d21
[Client] Add missing return
2017-04-07 11:32:42 +03:00
David Cernat
18be1880f0
[Client] Make it possible to get LocalActor from CellController
2017-04-07 10:16:23 +03:00
David Cernat
10be52d40d
[Client] Add localActorsToCells map to more easily find LocalActors
2017-04-07 08:12:50 +03:00
David Cernat
e89265e469
[Client] Turn CellController's cellsActive into a map instead of a deque
2017-04-07 05:52:07 +03:00
David Cernat
d829d219c3
[General] Add (very) partial animation sync for NPCs
2017-04-06 15:11:51 +03:00
David Cernat
e8638d9884
[Client] Add basic position sync for NPCs
2017-04-06 11:46:56 +03:00
David Cernat
89ed318d3c
[Client] Remove usage of nullptr that Travis CI is getting stuck on
2017-04-06 06:17:27 +03:00
David Cernat
67ec81ad0c
[Client] Use utility function for converting strings in mwmp::Cell
2017-04-06 05:45:49 +03:00
David Cernat
d4a12856ee
[Client] Enable AI for LocalActors
2017-04-06 04:59:55 +03:00
David Cernat
0d766a7a04
[Client] Add and use mwmp::Cell class
2017-04-06 04:00:50 +03:00
David Cernat
9beaf9b7a1
[Client] Initialize and update LocalActors while their cells are active
2017-04-06 00:49:20 +03:00
David Cernat
8df9d55331
[Client] Create placeholder DedicatedActor class
2017-04-06 00:48:20 +03:00
David Cernat
d24cde16dd
[General] Add simple BaseActor and LocalActor classes
2017-04-05 12:52:27 +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
David Cernat
c2d6265ffd
[Client] Reorder methods in WorldEvent, placing packet senders at bottom
2017-04-05 09:12:02 +03:00
David Cernat
9759764699
[Client] Clean up getting and resetting of WorldEvent
2017-04-05 09:04:41 +03:00
David Cernat
d7a760490e
[Client] Simplify sending of world packets, part 2
2017-04-05 08:43:35 +03:00
David Cernat
b55a3d5eb2
[Client] Add placeholder editActors() method for random creature sync
2017-04-05 08:07:53 +03:00
David Cernat
4abe295a80
[Client] Simplify sending of world packets by adding WorldEvent methods
2017-04-05 07:54:23 +03:00
David Cernat
1d23a48a42
[Client] Print mpNums when objects are found in a cell
2017-04-05 07:10:22 +03:00
David Cernat
6c60c9c78e
[Client] Clean up debug messages for when objects are found in a cell
2017-04-05 06:30:12 +03:00
David Cernat
bb9ea6ccd4
[Client] Also include list of creatures in reply to ActorList
2017-04-05 06:22:01 +03:00
David Cernat
ca92be14a5
[Client] Reply to ActorList request with list of NPCs
2017-04-05 05:54:25 +03:00
David Cernat
8c2469bf6d
[General] Add placeholder ActorList, ActorAuthority & ActorFrame packets
2017-04-05 04:06:45 +03:00
David Cernat
2bd81c3de0
[Client] Use mpNum for every WorldObject
2017-04-04 11:07:16 +03:00
David Cernat
4644235cf6
[Client] Use mpNum in exact searches for objects
2017-04-04 10:07:15 +03:00
David Cernat
8cc61b6048
[General] Generate mpNums on the server when forwarding ID_OBJECT_PLACE
2017-04-04 09:23:34 +03:00
David Cernat
31cd836558
[General] Small tweaks to debug info
2017-04-04 08:24:11 +03:00
David Cernat
e5cf632e1d
[Client] Stop creating new reference numbers for placed/spawned objects
2017-04-04 06:01:48 +03:00
David Cernat
e7b5097c13
[Client] Print plugin paths correctly for Windows
2017-04-01 05:57:27 +03:00
Koncord
2a723279b1
[Client] Send ID_GAME_PREINIT packet
2017-03-06 22:52:18 +08:00
Koncord
690211ad99
[General] Extract BaseEvent & BasePlayer from packets to functions
...
Move Send and Read functions to BasePacket
2017-03-06 18:40:07 +08:00
Koncord
6076346df4
[Client] Add Networking::preInit() method
2017-03-05 16:55:05 +08: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
Koncord
a10cf4360c
[Client] Print all esm/esp files in load queue with idx & CRC32 checksum
2017-03-04 13:23:26 +08:00
Koncord
9199446edd
[Client] Add Files::Collections to Main::init() arguments
2017-03-04 13:11:46 +08:00
David Cernat
0d32bf5943
[General] Add extra death debug, don't request data from player on death
2017-03-04 00:29:01 +02:00
David Cernat
c4b11a1251
[Client] Remove now unused sendData() and BitStream declarations
2017-03-04 00:17:16 +02:00
David Cernat
cf6de6c474
[Client] Update old packet-sending code in LocalPlayer and GUIChat
2017-03-03 23:36:29 +02:00
David Cernat
6887930c04
[Client] Let scripts handle respawn point instead of hardcoding it
2017-03-02 22:12:46 +02:00
David Cernat
03984685e5
[Client] Remove unnecessary type specifiers
2017-02-28 12:35:51 +02:00
David Cernat
5c269a5f8d
[General] Rename ID_GAME_DIE and ID_GAME_RESURRECT
2017-02-28 01:38:25 +02: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
aab5b69c80
[Client] Unready weapon & spell upon death to avoid attack inability bug
2017-02-24 11:50:43 +02:00
Koncord
cbace41e14
[Client] Fix crash on LInux
2017-02-23 17:40:22 +08:00
David Cernat
ed2176c984
[Client] Reuse 1 BaseEvent over and over instead of creating new ones
2017-02-23 09:19:09 +02:00
David Cernat
1b59ce8c8f
[Client] Send ID_PLAYER_DRAWSTATE when teleported by server
2017-02-23 06:26:42 +02:00
Koncord
f8a25747ba
[Client] Some tabs have been killed in GUIChat
2017-02-23 11:48:10 +08:00
David Cernat
586a7f6656
[Client] Prevent DedicatedPlayer from spawning on ground from 0 fatigue
2017-02-23 04:35:07 +02:00
Battlerax
fd845198ad
[Client] You can now cancel the chat box by pressing enter without a message.
2017-02-22 15:03:59 -06:00
David Cernat
90275f777e
[Client] Don't crash when dying while inside a container
2017-02-22 06:41:25 +02:00
David Cernat
e4ae8c5f9f
[Client] Cancel drag for teleported players, fix ID_OBJECT_SCALE debug
2017-02-22 02:44:00 +02:00
David Cernat
37e7d2c15b
[Client] Don't get invalid cells in LocalPlayer::sendJournalEntry()
2017-02-21 02:09:39 +02:00
David Cernat
bf2f932e18
[Client] If in a container, don't crash when teleported to another cell
2017-02-21 01:01:30 +02:00
David Cernat
f5470e0b49
[Client] Print cell descriptions for WorldEvents only once
2017-02-21 00:20:19 +02:00
David Cernat
92439e6e62
[Client] Reduce WorldPacket debug because it can cause freezes
2017-02-20 23:48:08 +02:00
Koncord
ea9c31a8f7
[Client] Add password to client params and to config file
2017-02-20 22:40:09 +08:00
David Cernat
a4526605a6
[General] Remove goldValue from ContainerItem because it is never useful
2017-02-20 12:31:11 +02:00
David Cernat
ed91f20cd3
[General] Print action used for ID_CONTAINER when receiving one
2017-02-19 23:11:26 +02:00
David Cernat
4f2b88df8a
[General] Remove owner var from ContainerItem because it is always empty
2017-02-18 23:59:02 +02:00
David Cernat
5b3fabdb9d
[Client] Send ID_CONTAINER with all containers in cell when requested
2017-02-16 13:34:32 +02:00
David Cernat
3b604a432e
[General] Restructure ID_CONTAINER to allow multiple containers at once
2017-02-15 20:14:25 +02:00
David Cernat
88f891b5bd
[Client] Make it possible to easily iterate through container items
2017-02-14 23:10:45 +02:00
David Cernat
c8cbfbef62
[General] Sketch out server requests to players for container data
2017-02-14 19:31:56 +02:00
David Cernat
5038353792
[General] Rename BaseEvent's state into doorState & adjust related funcs
2017-02-06 23:09:50 +02:00
David Cernat
d8a9a5f6c9
[General] Send item owner in ID_CONTAINER
2017-02-06 22:45:23 +02:00
David Cernat
3614b21e10
[General] Send charge and goldValue in ID_CONTAINER
2017-02-06 21:28:03 +02:00
David Cernat
e703dd42aa
[Client] Rename LocalEvent into WorldEvent
2017-02-06 17:40:32 +02:00
David Cernat
182b238b5f
[General] Rename WorldEvent into BaseEvent
2017-02-06 12:53:41 +02:00
David Cernat
1f03c12d96
[Client] See when other players use the Take All button with a container
2017-02-05 20:04:50 +02:00
David Cernat
d2c5a3387a
[Client] See when other players add items to containers
2017-02-05 19:33:11 +02:00
David Cernat
75392297b5
[General] Use vector::at in most places
2017-02-05 19:01:06 +02:00
David Cernat
60d6a6d463
[Client] See when other players remove items from containers
2017-02-05 18:45:23 +02:00
David Cernat
f314b13edf
[General] Rename item health into charge, for consistency with OpenMW
2017-02-05 14:56:27 +02:00
David Cernat
f03724be7b
[Client] Send ID_PLAYER_INVENTORY upon dropping an item
2017-02-05 14:38:04 +02:00
David Cernat
ecc456fea9
[General] Include charge int in WorldObject & send it w/ ID_OBJECT_PLACE
2017-02-05 13:45:12 +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
a07e616878
[General] Add ContainerItem and ContainerChanges structs to WorldEvent
2017-02-04 20:14:39 +02:00
David Cernat
6328ffb9aa
[General] In ID_GAME_ATTRIBUTE & ID_GAME_SKILL, rename GAME into PLAYER
2017-02-04 14:25:43 +02:00
David Cernat
57f54aa370
[Client] Don't store multiple cellStates for the same cell
2017-02-04 09:46:27 +02:00
David Cernat
a2e3fe18fe
[Client] Send ID_PLAYER_CELL_STATE to server at end of CharGen
...
Also, allow requests for ID_PLAYER_CELL_STATE from the server.
2017-02-04 09:13:15 +02:00
David Cernat
c1427b2558
[General] Simultaneously send loads & unloads in ID_PLAYER_CELL_STATE
2017-02-03 20:27:40 +02:00
David Cernat
958ff06ca8
[General] Rename ID_DOOR_ACTIVATE into ID_DOOR_STATE
2017-02-01 11:54:40 +02:00
Koncord
42b6a456f0
[Client] Fix code style
2017-01-30 22:53:22 +08:00
Koncord
c5035cd174
[Client] Fix crash and memory leak when erasing spellbook
2017-01-30 22:37:09 +08:00
David Cernat
dddc253d70
[Client] Fix console message for LocalPlayer's cell change
2017-01-28 16:39:03 +02:00
David Cernat
9f1e491a75
[General] Make WorldEvents store information about multiple objects
2017-01-28 12:34:45 +02:00
David Cernat
624b85347a
[Client] Create LocalEvent class and use it instead of WorldEvent
2017-01-27 20:57:47 +02:00
David Cernat
7efb374f75
[Client] Avoid fetching guiMessageBox.type again for every condition
2017-01-27 10:41:10 +02:00
Koncord
ab3c2544b5
[Client] Use constant instead magic value
2017-01-26 21:47:28 +08:00
Koncord
34a46e6811
[Client] Simplify hasFinishedCharGen method
2017-01-26 21:42:12 +08:00
David Cernat
244da19a51
[General] Turn ID_PLAYER_CELL_LOAD into ID_PLAYER_CELL_STATE for clarity
2017-01-26 13:49:20 +02:00
David Cernat
b5b5551fcd
[Client] Add LocalPlayer::hasFinishedCharGen() method
2017-01-26 13:13:43 +02:00
David Cernat
97aabf4a7d
[General] Sketch out sending of cell loading/unloading info in packets
2017-01-26 09:02:01 +02:00
David Cernat
158d606477
[General] Leave one blank line at the end of every tes3mp code file
2017-01-26 06:17:29 +02:00
David Cernat
63c8a98083
[General] Stop using virtual functions in BasePlayer
2017-01-25 17:06:15 +02:00
David Cernat
1d9c6ddd81
[General] Add placeholders for the new packet ID_PLAYER_CELL_LOAD
2017-01-25 14:51:43 +02:00
David Cernat
35e453dec3
[General] Sketch out most of functionality for journal saving/loading
2017-01-24 19:32:25 +02:00
David Cernat
d308897f95
Rename PacketItems, PacketSpells into InventoryChanges, SpellbookChanges
2017-01-20 12:43:05 +02:00
David Cernat
e2c595fc5d
Add preliminary structure for journal changes
2017-01-20 12:05:45 +02:00
David Cernat
e9b22814b9
Create placeholder for ID_GAME_JOURNAL
2017-01-20 11:15:10 +02:00
David Cernat
a69f294ef0
Rename ID_GAME_CELL into ID_PLAYER_CELL_CHANGE
2017-01-20 10:30:50 +02:00
David Cernat
83277a1512
Send spellbook in LocalPlayer CharGen & change UPDATE action name to SET
2017-01-20 09:07:07 +02:00
David Cernat
0f7748d9d2
When clearing LocalPlayer's spells, keep race and birthsign abilities
2017-01-20 08:06:48 +02:00
David Cernat
33e85c54de
Rename BasePlayer Inventory & Spellbook into PacketItems & PacketSpells
...
This avoids confusion when either of those is used to store and send a single item, and no longer requires coming up with confusing variable names like realSpellbook or realInventory for actual full spellbooks and inventories.
2017-01-19 18:06:59 +02:00
David Cernat
78c6ab2a99
Clean up client Networking by putting item & spell logic in LocalPlayer
2017-01-19 15:18:37 +02:00
David Cernat
b8a6020af1
Check for update to inventory when closing a container
2017-01-19 13:08:24 +02:00
Koncord
b9c3849cc7
Change keycode to scancode
2016-12-30 02:33:44 +08:00
Koncord
7595b33461
Implement spellbook
2016-12-29 21:19:57 +08:00
Koncord
6e6237541a
Fix "comparison between signed and unsigned integer expressions"
2016-12-21 16:13:39 +08:00
Koncord
804259b2c9
Change some printf to LOG_MESSAGE_SIMPLE
...
printf is not streamed to files
2016-12-16 18:50:34 +08:00
Koncord
2eda48acca
Fix issue #111
2016-12-16 18:13:44 +08:00
Koncord
3ee82a761b
Remove redundant include
2016-12-16 17:51:00 +08:00
Koncord
4371a65fc6
fix spaces
2016-12-16 17:31:41 +08:00
Koncord
9ca206dda9
Add hooks for containers
2016-12-16 17:27:19 +08:00
Koncord
536715cf46
Cleanup tes3mp headers
2016-12-16 16:59:15 +08:00
Koncord
753dc50131
Fix crash if connection has failed
2016-12-03 23:36:53 +08:00
David Cernat
9e290ad799
Fix spacing irregularities
2016-11-21 23:40:50 +02:00
David Cernat
95efb77e53
Implement sending of ID_GAME_SPELLBOOK from client
2016-11-21 06:07:29 +02:00
David Cernat
6ea5f08e9c
Create placeholder for ID_GAME_SPELLBOOK
2016-11-21 02:28:05 +02:00
David Cernat
ae39daf76a
Add and implement ID_MUSIC_PLAY
2016-11-20 22:54:49 +02:00
David Cernat
456aee65d9
Add and implement ClearInventory() script function
2016-11-20 04:06:33 +02:00
David Cernat
80b40bfb70
Prevent inventory requests from making LocalPlayer send inventory twice
2016-11-20 03:21:15 +02: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
7f25abb9c8
Implement UnequipItem() script function
2016-11-18 01:50:55 +02:00
David Cernat
c1bd4f1ce3
Use correct item count in LocalPlayer::setEquipment() for new items
2016-11-18 01:33:46 +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
faea5221d3
Use LocalPlayer's updateInventory() every cell change, not every frame
2016-11-17 15:32:04 +02:00
Koncord
e2522fa366
Simplify LOG macros
2016-11-17 12:39:35 +08:00
David Cernat
eedd40328a
Add and use SendInventory() method in LocalPlayer, and clarify some code
2016-11-16 21:34:46 +02:00
David Cernat
c5c72a3b17
Use consistent names for booleans in LocalPlayer
2016-11-16 20:01:47 +02:00
David Cernat
6cd959fac8
Rename BasePlayer's GetCell() into getCell()
2016-11-16 17:43:58 +02:00
David Cernat
fa9d6e810e
Use lowerCamelCase in tes3mp client function names like OpenMW does
2016-11-15 21:54:06 +02:00
David Cernat
527024a026
Stop WorldPackets about invalid cells from causing framelistener errors
2016-11-15 19:51:05 +02:00
David Cernat
a430ee011a
Use WorldController to fetch CellStore for WorldPackets received
2016-11-15 19:13:36 +02:00
David Cernat
3dcb8738c1
Create placeholder WorldController class
2016-11-15 18:42:52 +02:00
David Cernat
f7b5e5e638
Ignore packets from server that try to move LocalPlayer to invalid cells
2016-11-12 22:21:02 +02:00
Koncord
c85e6a5f91
Fix sucess chance
2016-11-12 20:43:18 +08:00
Koncord
56959ebfda
Implement magic
2016-11-12 19:39:16 +08:00