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
8c47d63b08
[General] Update version to 0.6.2
2017-10-23 20:22:29 +03:00
David Cernat
182f8c1f06
[General] Print client version on startup
2017-10-08 06:17:53 +03:00
David Cernat
61b1a59814
[General] Move server's version printing method to Utils
2017-10-08 04:16:30 +03:00
David Cernat
ccb15cc09e
[Client] When players die, make guards willing to arrest them again
2017-09-04 15:13:05 +03:00
Koncord
f5e23d5fc6
[General] Empty strings should be sent too
2017-09-04 04:03:02 +08:00
Koncord
d904628103
[General] Avoid limitation of 512 symbols in RakString Ctor
2017-09-03 18:53:45 +08:00
David Cernat
08df8f8d83
[General] Update version to 0.6.1
2017-08-31 18:45:41 +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
0e2038f045
[General] Record and get player positions before their last cell change
2017-08-04 21:45:52 +03:00
Koncord
1aabcdd09c
[General] Add *_WITH_ACK_RECEIPT to master server packets
2017-07-31 19:08:04 +08:00
Koncord
8384a8aa8a
[General] Return sent packet number
2017-07-31 19:08:04 +08:00
Unknown
bfbfbeac43
Added networking and saving for custom spells
2017-07-31 03:45:47 +10:00
David Cernat
f61664ff6d
[General] Update version to 0.6.0
2017-07-28 23:22:58 +03:00
David Cernat
4db64e1721
[Client] Synchronize spellcasting for non-bipedal creatures
2017-07-28 20:49:26 +03:00
David Cernat
8b79cdd4f4
[Server] Document script functions, part 3
...
Also reorder functions in Cells and CharClass so they are consistent with the rest.
2017-07-25 18:07:09 +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
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
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
2c05b7f747
[Server] Rename InitiateEvent() into InitializeEvent() for consistency
2017-07-07 08:12:48 +03:00
David Cernat
1d504a665f
[General] Add RANK, EXPULSION and BOTH actions to PlayerFaction packets
2017-07-05 07:06:33 +03: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
1f682749d6
[General] Add optional notes to PasswordDialogs
2017-07-02 13:07:36 +03:00
Koncord
0cf09adb44
[General] Move AddProcessor to BasePacketProcessor
2017-06-30 20:09:05 +08:00
Koncord
ed3e089126
[General] Use C++11 way to delete Ctor
2017-06-27 22:56:02 +08:00
Koncord
5b2cab4c6b
[General] Change NULL to nullptr
2017-06-27 22:49:28 +08:00
Koncord
2b1b4ce2f1
[General] Update PacketControllers to C++11
2017-06-27 22:41:37 +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
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
48c63dbce9
[General] Fix ObjectLock packets by making hasCellData true for them
2017-06-22 05:49:44 +03:00
David Cernat
ebf7740969
[General] Repurpose GameConsole packet as GameSettings & add difficulty to it
2017-06-20 05:28:45 +03:00
Koncord
6192543381
[General] Move bracket to the right position
2017-06-15 13:06:07 +08:00
David Cernat
70d9374a6a
[General] Implement PlayerKillCount packets
2017-06-10 14:04:19 +03:00
David Cernat
5b23da8e1c
[General] Rename unused PlayerRegionChange packet into PlayerKillCount
2017-06-10 12:01:37 +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
34378fbb4f
[General] Make coding style consistent
2017-06-08 23:34:56 +03:00
David Cernat
a84cf7c191
[General] Fix packet validation for ActorPackets sent by server scripts
...
This allows Lua scripts to send actor data again, which hadn't been possible anymore after 2ed1bfe
2017-06-08 23:28:58 +03:00
Koncord
2ed1bfe427
[General] Simplify ActorPackets
2017-06-03 03:42:10 +08:00
Koncord
fd8e833d6a
[General] Simplify WorldPackets
2017-06-03 03:10:47 +08:00
Koncord
556bf18535
[General] Minor improvements for player packets
...
Add compression, remove useless loop iterations
2017-06-03 02:23:34 +08:00
Koncord
ad873e16b8
[Client] Limiting updates to ~64 per second
2017-06-02 21:20:35 +08:00
Koncord
c2600bac8e
[General] Allow single bit booleans in packets
2017-06-02 21:03:29 +08:00
Koncord
7e5e877fda
[General] Pack player->direction.pos to 1 byte
2017-06-02 20:16:23 +08:00
Koncord
dded330cc4
[General] Get rid Z axis in direction.pos
2017-06-02 18:33:59 +08:00
Koncord
ae9e5750ac
[General] Aggressive compression of rotations
2017-06-02 17:20:34 +08:00
Koncord
3905e0dae9
[General] Get rid direction.rot again
2017-06-02 15:44:51 +08:00
David Cernat
d0a0b6ffa4
[General] Add basic integrity checks to all Actor and World packets
2017-06-02 01:35:32 +03:00
David Cernat
a353a21280
[General] Fix code style inconsistencies
2017-05-31 08:37:11 +03:00
David Cernat
068a45be87
[General] Synchronize player & NPC rotation animations
2017-05-30 12:08:58 +03:00
David Cernat
f4cdedd8cb
[General] Synchronize summoned creatures
2017-05-30 10:11:01 +03:00
David Cernat
4e5c8873e0
[General] Use ObjectSpawn instead of ObjectPlace for actors
2017-05-29 06:59:05 +03:00
David Cernat
c211d53190
[General] Use only direction.pos in ActorPosition, as advised by Koncord
2017-05-29 05:55:25 +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
f7473e3379
[General] Fix copy-posty bug
2017-05-28 17:00:52 +08:00
David Cernat
9fe5b4a305
[General] Remove debug line from ActorAnimFlags
2017-05-28 10:43:53 +03:00
Koncord
8478fed98a
[General] Simplify Actor packets.
2017-05-28 15:23:16 +08:00
Koncord
f6fba70a4e
[General] Use compression for Position packets
2017-05-28 14:57:30 +08:00
Koncord
4934be18f0
[General] Add compression flag to RW methods
...
Advantages: and 2 bytes per float value, using huffman algorithm for structures and strings.
Disadvantages: bad for performance and precision for float/double variables.
2017-05-28 14:56:51 +08: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
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
32879adc5b
[General] Allow ObjectTrap to trigger traps, not just disarm them
2017-05-26 01:28:43 +03:00
Koncord
24d4e1c222
[General] Remove useless PacketSendMyID
2017-05-26 02:40:49 +08:00
Koncord
a9fc096c9a
[General] Move password of master server to header
2017-05-26 01:34:39 +08:00
Koncord
3e284a1139
[General] Use unsigned int instead unsigned long
...
sizeof(unsigned long) != 8 on Windows
2017-05-25 22:55:37 +08:00
David Cernat
7ec431ce3d
[General] Make packet style more consistent
2017-05-24 22:09:35 +03: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
Koncord
80bd268de6
[General] Use simple types for master server packets
2017-05-20 16:46:59 +08:00
David Cernat
b0cd636924
[General] Add basic integrity check to ProxyMasterPacket
2017-05-20 11:04:20 +03:00
Koncord
892960f913
[General] Add ctor to MasteData::Plugin
2017-05-20 00:06:34 +08:00
Koncord
956b573323
[General] Use different ordering channels for packets
2017-05-19 20:02:16 +08:00
David Cernat
e6983993c2
[General] Implement sending and reading of PlayerFaction packets
2017-05-18 19:27:20 +03:00
David Cernat
0189dbf916
[General] Make JournalItem consistent with other packet structs
2017-05-18 10:32:23 +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
cc559cf8e2
[General] Don't send packets for dead LocalActors, to fix Position spam
2017-05-09 02:47:29 +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
Koncord
8422ae0ce8
[General] Fix iterators in ProxyMasterPacket
2017-05-07 02:48:02 +08: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
60cf623455
[Client] Make DedicatedActors transition into LocalActors when eligible
2017-05-05 07:37:09 +03:00
Koncord
8fa8b8d310
[General] Add __WINDOWS define
2017-05-03 14:44:16 +08:00
Koncord
47e6820f97
[General] Move printWithWidth and intToHexStr to components
2017-05-03 14:38:44 +08:00
David Cernat
63dd2d9246
[General] Remove code related to ActorAuthority packets that is not used
2017-05-03 04:43:59 +03:00
David Cernat
c3c04bbfc3
[General] Make coding style consistent
2017-05-02 22:47:58 +03:00
Koncord
931a5896ec
[General] Improve PacketPreInit
2017-05-02 23:31:30 +08:00
David Cernat
1a699329e5
[General] Set new BaseActor booleans in corresponding packets
2017-05-01 20:18:22 +03:00
David Cernat
730df061b3
[General] Add hasPositionData and hasStatsDynamicData bools to BaseActor
2017-05-01 19:44:23 +03:00
Koncord
9c7c0f9989
[General] Send creatureModel & useCreatureName via PacketPlayerBaseInfo
2017-05-01 21:14:30 +08:00
David Cernat
e8e0090b9b
[General] Use new SimpleCreatureStats struct in BaseActor
2017-04-30 18:44:59 +03:00
Koncord
465a05bad0
[Client] Add ability to look like a creature for the DedicatedPlayers
2017-04-30 00:18:44 +08:00
Koncord
a4e45de6ca
[General] Fix playersCount
2017-04-27 11:41:45 +08: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
Koncord
6e8750b9e4
[General] Change list players to vector players
2017-04-24 20:22:13 +08:00
Koncord
9643eb6026
[Master] Notify server about announce state
...
Rename structure Server to QueryData
2017-04-24 19:58:48 +08:00
David Cernat
2eaa25e7d4
[General] Update version to 0.6-alpha
2017-04-23 17:31:08 +03:00
David Cernat
f4c3a28141
[General] Finalize ActorCellChange packet structure
2017-04-23 14:01:13 +03:00
Koncord
546bb42abb
[General] Add Master Packets
2017-04-23 13:39:43 +08:00
Koncord
5854f680f0
[General] Add Master data types
2017-04-23 13:39:43 +08:00
Koncord
41005b1add
[General] Add orderChannel to packets
2017-04-23 13:39:43 +08:00
David Cernat
f2e8e14665
[General] Add shouldSend boolean to mwmp::Attack
2017-04-19 16:43:58 +03:00
David Cernat
cc2250815d
[General] Add packet data for attacks on and by Actors
2017-04-18 10:03:58 +03:00
David Cernat
b1a394cd02
[General] Change chars into bools in mwmp::Attack for clarity
2017-04-17 19:54:31 +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
2397afc6ce
[General] Move mwmp::Attack to BaseStructs
2017-04-17 15:12:11 +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
1fb11dafef
[General] Send and read ActorStatsDynamic packets
2017-04-16 16:42:07 +03:00
David Cernat
870886192b
[General] Rename DYNAMICSTATS into STATS_DYNAMIC
2017-04-16 09:00:18 +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
e7960eee76
[General] Rename DrawState packets into AnimFlags ones for clarity
2017-04-14 16:00:34 +03:00
David Cernat
d2fe777f89
[General] Send and read ActorDrawState packets
2017-04-13 15:26:48 +03:00
David Cernat
10ad5b2a99
[General] Remove BaseActor's AnimStates that are no longer needed
2017-04-13 13:06:09 +03:00
David Cernat
0d196af685
[General] Add placeholders for 7 new ActorPackets
2017-04-11 11:37:38 +03:00
David Cernat
7700b82952
[General] Clean up BaseEvent and BaseStructs
2017-04-10 16:33:07 +03:00
David Cernat
7662297334
[General] Use ESM::Position to store BaseActor's movement
2017-04-10 16:32:10 +03:00
David Cernat
742d6f653a
[General] Add ActorPosition packet
2017-04-10 12:38:30 +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
4f3d05eed2
[General] Add ActorList class
2017-04-09 10:50:35 +03:00
David Cernat
070c6a3bd4
[General] Add ActorPacketController & make controller var names clearer
2017-04-09 08:51:28 +03:00
David Cernat
b8ca2382c7
[General] Remove variables that are not going to be used in ActorFrame
2017-04-08 11:27:08 +03:00
David Cernat
d3f3fb5d05
[Client] Correctly implement movement animation sync for NPCs
2017-04-08 08:59:21 +03:00
David Cernat
d829d219c3
[General] Add (very) partial animation sync for NPCs
2017-04-06 15:11:51 +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
d24cde16dd
[General] Add simple BaseActor and LocalActor classes
2017-04-05 12:52:27 +03:00
David Cernat
8f18dc87c4
[General] Model ActorList on Container more closely by including action
2017-04-05 04:45:51 +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
ddedcac510
[General] Read and write mpNums in world packets
2017-04-04 10:16:09 +03:00
David Cernat
8cc61b6048
[General] Generate mpNums on the server when forwarding ID_OBJECT_PLACE
2017-04-04 09:23:34 +03:00
Koncord
1d2a6d9056
[Server] Rename dontRead to avoidReading
2017-04-03 06:44:14 +08:00
Koncord
4daf471874
[General] Add dontRead flag
2017-04-03 06:13:00 +08:00
Koncord
48a59cf9e9
[General] Add new class BasePacketProcessor
2017-04-01 02:33:03 +08:00
Koncord
3d294500ba
[General] Use std::replace() instead for-each in Utils::convertPath()
2017-03-08 12:06:47 +08:00
Koncord
435d9780a7
[General] Fix PacketPreInit
2017-03-06 18:40:53 +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
0c1905e842
[General] Add PreInit packet
2017-03-05 16:46:11 +08:00
Koncord
0d53a6916d
[General] Move repeated code in Packet() to base class
2017-03-05 16:27:41 +08:00
Koncord
c353e18645
[General] Move Utils from server to components
...
Rewrite CRC32 functions to the Boost equivalent
2017-03-04 13:08:22 +08:00
David Cernat
5c269a5f8d
[General] Rename ID_GAME_DIE and ID_GAME_RESURRECT
2017-02-28 01:38:25 +02:00
David Cernat
4aaa9ed694
[General] Update version to 0.5.2
2017-02-28 00:11:36 +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
060e440ab2
[General] Update version to 0.5.1
2017-02-25 12:17:22 +02:00
Koncord
715422aff6
[General] Fix memory leak in Log dtor
2017-02-24 13:41:11 +08:00
Koncord
e3f4c63ea6
[General] Delete invalid & redundant code
2017-02-24 12:30:18 +08:00
Koncord
059043fea9
[General] Change signature of BaseEvent::action
2017-02-23 15:16:28 +08:00
Koncord
158e9b3b09
[Server] Add ability to set password to server from config & scripts
2017-02-20 22:40:09 +08:00
David Cernat
3e50cf60e7
[General] Update version to 0.5.0
2017-02-20 15:05:12 +02:00
David Cernat
a4526605a6
[General] Remove goldValue from ContainerItem because it is never useful
2017-02-20 12:31:11 +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
941d6269c1
[General] Slightly reorder variables in ID_OBJECT_PLACE
2017-02-17 18:34:11 +02:00
David Cernat
27c4015f50
[General] Remove unused packet placeholder ID_OBJECT_HEALTH
2017-02-16 18:46:39 +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
c8cbfbef62
[General] Sketch out server requests to players for container data
2017-02-14 19:31:56 +02:00
David Cernat
6144ca95d8
Set version to 0.4.2
2017-02-06 23:25:46 +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
182b238b5f
[General] Rename WorldEvent into BaseEvent
2017-02-06 12:53:41 +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
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
9f8bed9be1
[General] Add action types to WorldEvent's ContainerChanges
2017-02-04 21:32:06 +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
9130c1f302
[General] Rename ID_CONTAINER_ADD into ID_CONTAINER
2017-02-04 13:14:37 +02:00
David Cernat
d2cf96af99
[General] Repurpose the unused ID_CONTAINER_REMOVE into ID_OBJECT_HEALTH
2017-02-04 13:05: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
David Cernat
2c5cc82f49
[Server] Add script functions for getting world object placement info
2017-01-29 15:29:40 +02:00
David Cernat
15ed4b8da6
[Components] Use 24 hour format instead of 12 for log file timestamps
2017-01-28 20:20:47 +02:00
David Cernat
8bc6dfe590
[General] Remove duplicate constructor in PacketObjectUnlock
2017-01-28 18:19:24 +02:00
David Cernat
9f1e491a75
[General] Make WorldEvents store information about multiple objects
2017-01-28 12:34:45 +02: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
4dc0ba21ec
[General] Fix packet ID for ID_PLAYER_CELL_LOAD
2017-01-26 12:19:49 +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
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
253ded1ee3
Use new getFilenameStamp() method to generate timestamps for filenames
2017-01-13 08:49:21 +02:00
David Cernat
3932654d5d
Use log filenames w/ timestamps instead of adding numbers to their ends
2017-01-13 07:58:40 +02:00
Koncord
b5c586d5b7
Add and implement ID_MASTER_QUERY
2017-01-10 18:33:02 +08:00
Koncord
6311745595
Update version
2016-12-30 02:54:00 +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
561a88d441
Fix "comparison between signed and unsigned integer expressions"
2016-12-21 14:46:36 +08:00
Koncord
efb40b3c66
Remove redundant code
2016-12-18 14:14:52 +08:00
Koncord
11be8ed005
Rename copyOldLog to renameOldLog
2016-12-18 12:48:23 +08:00
Koncord
f7b4aea85b
add function for keeping old logs
2016-12-18 12:45:03 +08:00
Koncord
7b3e487f91
Register packet ActiveSkills in packet controller
2016-12-03 23:40:30 +08:00
Koncord
b1bb552b65
Add packet ActiveSkills
2016-12-03 23:38:40 +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
6c8c0827ea
Move RequestData() method to BasePacket
2016-11-21 01:31:07 +02:00
David Cernat
fd6dd5daa8
Fix packetID for new packet
2016-11-21 00:03:41 +02:00
David Cernat
ae39daf76a
Add and implement ID_MUSIC_PLAY
2016-11-20 22:54:49 +02:00
Koncord
19240b825d
Fix macro for MSVC
2016-11-17 20:51:03 +08:00
Koncord
b57ed2c119
Fix parameter type mismatch
2016-11-17 12:43:29 +08:00
Koncord
e2522fa366
Simplify LOG macros
2016-11-17 12:39:35 +08: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
f7b5e5e638
Ignore packets from server that try to move LocalPlayer to invalid cells
2016-11-12 22:21:02 +02:00
Koncord
56959ebfda
Implement magic
2016-11-12 19:39:16 +08:00
Koncord
37e9cafbf7
Add new API function: SetConsoleAllow
...
example:
tes3mp.SetConsoleAllow(pid, 0) -- disallow console to the player
The console is allowed by default
2016-11-04 03:01:26 +08:00
Koncord
adb49b7c7d
Add New GUI dialog: ListBox
...
Example:
local GUI_LISTBOX = 42
function OnPlayerSendMessage(pid, message)
if message == "/lb" then
local items = "consectetur adipiscing elit\nsed do eiusmod tempor incididunt ut labore\net dolore magna aliqua." -- items can be separated through newline
local label = "Lorem ipsum dolor sit amet"
tes3mp.ListBox(pid, GUI_LISTBOX, label, items)
end
end
function OnGUIAction(pid, idGui, data)
if idGui == GUI_LISTBOX then
print("ID: " .. idGui .. " data: " .. tostring(data)) -- if value higher than last item id
end
end
2016-11-04 00:24:16 +08:00
David Cernat
41504bd02a
Use more accurate position for ID_OBJECT_PLACE
2016-10-30 00:51:23 +03:00
David Cernat
937bf97883
Send gold values correctly with ID_OBJECT_PLACE
2016-10-29 00:34:46 +03:00
David Cernat
180aa3f2f3
Send item count ID_WORLD_OBJECT_PLACE
2016-10-28 22:35:01 +03:00
David Cernat
46397a7dac
Add and implement ID_OBJECT_ANIM_PLAY
2016-10-27 16:09:02 +03:00
David Cernat
fd4085725e
Set version to 0.3.0
2016-10-27 14:05:20 +03:00
David Cernat
c205e793cb
Add and implement ID_SCRIPT_MEMBER_SHORT
2016-10-27 00:41:14 +03:00
David Cernat
97468980af
Add and implement 3 new WorldPackets for ingame script variable values
2016-10-26 12:25:50 +03:00
David Cernat
385b5f39e3
Add and implement ID_OBJECT_ROTATE
2016-10-25 14:28:39 +03:00
David Cernat
54ed9a7ab4
Implement ID_OBJECT_MOVE and send it from ingame scripts
2016-10-25 14:07:00 +03:00
David Cernat
0fb9b6eefb
On second thought, rename ID_OBJECT_MOVE_WORLD into ID_OBJECT_MOVE
2016-10-25 12:53:18 +03:00
David Cernat
947a677801
Replace ID_ACTIVATOR_ACTIVATE with ID_OBJECT_MOVE_WORLD
2016-10-25 12:42:29 +03:00
David Cernat
c25ebc34b3
Shorten WorldPacket IDs by removing WORLD from them
2016-10-25 12:15:27 +03:00
David Cernat
bdb53e1cb4
Implement ID_WORLD_DOOR_ACTIVATE and send it from MWBase::World
2016-10-25 10:40:55 +03:00
David Cernat
7264f13b8e
Implement ID_WORLD_OBJECT_SCALE and send it from ingame scripts
2016-10-25 00:52:42 +03:00
David Cernat
52d156e136
Make server able to receive the 5 new WorldPackets
2016-10-25 00:50:32 +03:00
David Cernat
4f0a3e8aa1
Add placeholders for 5 new WorldPackets
2016-10-24 23:44:05 +03:00
David Cernat
b6111d16cc
Add and implement ID_WORLD_VIDEO_PLAY
2016-10-24 17:52:19 +03:00
David Cernat
3fd93896f2
Add and implement ID_WORLD_OBJECT_LOCK
2016-10-24 13:20:04 +03:00
David Cernat
08ea5163c4
Add and implement ID_WORLD_OBJECT_UNLOCK
2016-10-24 11:26:31 +03:00
David Cernat
d85a1ee1a9
Fix errors remaining from merge with tes3mp-packetexpansion
2016-10-23 18:32:03 +03:00
David Cernat
c639337842
Merge with tes3mp-packetexpansion by fixing conflicts
...
# Conflicts:
# apps/openmw-mp/Networking.cpp
# apps/openmw/mwmp/Networking.cpp
# components/CMakeLists.txt
# components/openmw-mp/NetworkMessages.hpp
# components/openmw-mp/PacketsController.cpp
2016-10-23 17:57:38 +03:00
David Cernat
0a44bea91d
Send cell coordinates in tes3mp using mData instead of mCellId.mIndex
2016-10-23 16:55:30 +03:00
David Cernat
cbc132612a
Use mRefNum.mIndex instead of just mRefNum and add extra debug
2016-10-23 16:33:53 +03:00
David Cernat
17f66e4e90
Implement ID_WORLD_OBJECT_PLACE
2016-10-23 13:30:32 +03:00
David Cernat
d0027ae3e7
Set correct packetID for ID_WORLD_OBJECT_PLACE
2016-10-23 12:53:49 +03:00
Koncord
77257b0721
Build fix
2016-10-23 14:05:12 +08:00
Koncord
c27351c19e
Implement inventory functions
...
AddItem, RemoveItem, GetItemName, GetItemCount, GetItemHealth, GetInventorySize SendInventory
Example:
```lua
tes3mp.AddItem(pid, "glass dagger", 1, 50)
tes3mp.AddItem(pid, "glass dagger", 1, -1)
tes3mp.SendInventory(pid)
tes3mp.RemoveItem(pid, "glass dagger", 1)
tes3mp.SendInventory(pid)
local invSize = tes3mp.GetInventorySize(pid) - 1
for i = 0, invSize do
print(("%s %d %d"):format(tes3mp.GetItemName(pid, i), tes3mp.GetItemCount(pid, i), tes3mp.GetItemHealth(pid, i)))
end
```
2016-10-23 02:57:49 +08:00
David Cernat
2b98e349ce
Fix include for WorldEvent
2016-10-22 20:15:32 +03:00
David Cernat
6e43baf73e
Send Cell instead of CellId because of problems with the latter
2016-10-22 20:09:13 +03:00
David Cernat
103b1e3f72
Send CellId in ID_WORLD_OBJECT_DELETE
2016-10-22 18:44:13 +03:00
David Cernat
3c49157ed7
Rename WorldPackets to ID_WORLD_OBJECT_DELETE and ID_WORLD_OBJECT_PLACE
2016-10-22 18:05:32 +03:00
David Cernat
92463c4a03
Fix Windows server crash caused by printing event->CellRef()->mRefID
2016-10-22 14:13:16 +03:00
David Cernat
565e7e4b9f
Create and implement placeholder for ID_WORLD_OBJECT_CREATION
2016-10-21 21:57:05 +03:00
David Cernat
ac666edebd
Add a CellRef to WorldEvent
2016-10-20 22:15:47 +03:00
David Cernat
b2845cd17c
Create and start using WorldEvent class
2016-10-20 14:28:19 +03:00
David Cernat
f0fa5e8771
Add ContainsPacket method to packet controllers
2016-10-19 21:15:59 +03:00
David Cernat
285f89573d
Create placeholders for WorldPacket classes
2016-10-19 20:36:11 +03:00
David Cernat
790d41e278
Move PlayerPackets into their own subfolder
2016-10-19 19:37:10 +03:00
David Cernat
d99463d752
Fix show-stopping mistake in PlayerPacket
2016-10-19 18:56:12 +03:00
David Cernat
d2212ef80b
Rename PacketsController into PlayerPacketController
2016-10-19 16:31:07 +03:00
David Cernat
5e0c0dd5f1
Use logger in server's Networking MainLoop
2016-10-19 13:00:33 +03:00
David Cernat
fcc793a0af
Create a new BasePacket that PlayerPacket inherits from
2016-10-17 18:47:16 +03:00
David Cernat
b8f4cb94fb
Rename BasePacket into PlayerPacket
2016-10-17 15:54:36 +03:00
David Cernat
f276edddcc
Set version to 0.2.0
2016-09-30 15:26:55 +03:00
David Cernat
6650b74498
Add handling of skill increases
2016-09-30 07:15:59 +03:00
David Cernat
a0e9a672a5
Split updateClassStats in 3 and add handling of level progress
2016-09-30 04:52:21 +03:00
David Cernat
bc0aa86bcf
Make variable names more consistent and easier to understand
2016-09-29 12:05:44 +03:00
David Cernat
433190d82e
Rename OnPlayerUpdateEquiped into OnPlayerChangeEquipment
2016-09-28 15:20:23 +03:00
David Cernat
b6086ab015
Rename ID_GAME_DYNAMICSTATS_CURRENT into ID_GAME_DYNAMICSTATS
2016-09-28 14:13:24 +03:00
David Cernat
9cbda73586
Remove unused packets IDs
2016-09-28 12:44:39 +03:00
David Cernat
b65deca2ae
Remove unused PacketRotation and PacketCreateProjectile
2016-09-28 12:37:08 +03:00
David Cernat
57f07813b0
Rename ID_GAME_UPDATE_POS into ID_GAME_POS
2016-09-28 11:45:14 +03:00
David Cernat
26487598a6
Rename ID_GAME_UPDATE_EQUIPED into ID_GAME_EQUIPMENT
2016-09-28 11:36:29 +03:00
David Cernat
0479eb38cc
Update protocol version and make version mismatch error less confusing
2016-09-28 08:26:18 +03:00
David Cernat
ce4b326b02
Rename ID_GAME_UPDATE_BASESTATS into ID_GAME_DYNAMICSTATS_CURRENT
2016-09-28 07:50:16 +03:00
David Cernat
4d7130b12f
Improve logic for script-induced cell changes
2016-09-27 11:28:44 +03:00
David Cernat
046a1ea899
Add packet for player levels
2016-09-25 14:28:25 +03:00
David Cernat
3e2fec973d
Remove leftover variable
2016-09-25 12:53:30 +03:00
Koncord
96e2d749c7
New auth protocol
2016-09-18 11:55:51 +08:00
Koncord
9bcca6d141
Init PacketLoaded in PacketsController
2016-09-18 11:55:51 +08:00
Koncord
fe370fa995
Add PacketLoaded
2016-09-18 11:55:51 +08:00