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

1010 commits

Author SHA1 Message Date
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