Koncord
54f5104345
[General] Escape format for strings
7 years ago
David Cernat
cca4991e74
[Utils] Use consistent names for utility functions added by tes3mp
7 years ago
David Cernat
0e2038f045
[General] Record and get player positions before their last cell change
8 years ago
Koncord
1aabcdd09c
[General] Add *_WITH_ACK_RECEIPT to master server packets
8 years ago
Koncord
8384a8aa8a
[General] Return sent packet number
8 years ago
Unknown
bfbfbeac43
Added networking and saving for custom spells
8 years ago
David Cernat
f61664ff6d
[General] Update version to 0.6.0
8 years ago
David Cernat
4db64e1721
[Client] Synchronize spellcasting for non-bipedal creatures
8 years ago
David Cernat
8b79cdd4f4
[Server] Document script functions, part 3
...
Also reorder functions in Cells and CharClass so they are consistent with the rest.
8 years ago
David Cernat
43a3daf0aa
[General] Add & implement PlayerShapeshift packet for werewolf states
8 years ago
David Cernat
ad9fa0631a
[General] Rename jailText to jailEndText and add jailProgressText in PlayerJail
8 years ago
David Cernat
e36c0afc59
[General] Send faction reputation via PlayerFaction packets
8 years ago
David Cernat
be93ec8ef6
[General] Implement ObjectState packet
8 years ago
David Cernat
083b46394d
[General] Add ignoreJailSkillIncreases to PlayerJail packets
8 years ago
David Cernat
5962570c48
[General] Add jailText to PlayerJail packets
8 years ago
David Cernat
3280f0c5ee
[General] Implement PlayerJail packet
...
Rework server's DeathFunctions into MechanicsFunctions
Remove connection between PlayerResurrect and jailing
8 years ago
David Cernat
3529f9b090
[General] Add placeholders for PlayerJail, ObjectState & ConsoleCommand
8 years ago
David Cernat
4e74910fdb
[General] Disable automatic sync for PlayerJournal and PlayerFaction
...
Simplify PlayerFaction packets by removing BOTH action
8 years ago
David Cernat
2c05b7f747
[Server] Rename InitiateEvent() into InitializeEvent() for consistency
8 years ago
David Cernat
1d504a665f
[General] Add RANK, EXPULSION and BOTH actions to PlayerFaction packets
8 years ago
David Cernat
60574ae667
[General] Implement jail time as a death penalty
8 years ago
David Cernat
71313c5aa6
[General] Implement PlayerMap packet, part 1
8 years ago
David Cernat
1f682749d6
[General] Add optional notes to PasswordDialogs
8 years ago
Koncord
0cf09adb44
[General] Move AddProcessor to BasePacketProcessor
8 years ago
Koncord
ed3e089126
[General] Use C++11 way to delete Ctor
8 years ago
Koncord
5b2cab4c6b
[General] Change NULL to nullptr
8 years ago
Koncord
2b1b4ce2f1
[General] Update PacketControllers to C++11
8 years ago
Koncord
fcccd7b665
[General] Remove creatureStats.mDead from packets
8 years ago
David Cernat
813a3c89c4
[General] Implement PlayerBook packet to track skill books read
8 years ago
David Cernat
b3b73c5cd2
[General] Implement resurrection at nearest shrine or temple
8 years ago
David Cernat
78f29302ef
[General] Fix PlayerJournal logic by sending only refIds for its actors
...
Additionally, make the refIds for actors usable in script functions.
8 years ago
David Cernat
48c63dbce9
[General] Fix ObjectLock packets by making hasCellData true for them
8 years ago
David Cernat
ebf7740969
[General] Repurpose GameConsole packet as GameSettings & add difficulty to it
8 years ago
Koncord
6192543381
[General] Move bracket to the right position
8 years ago
David Cernat
70d9374a6a
[General] Implement PlayerKillCount packets
8 years ago
David Cernat
5b23da8e1c
[General] Rename unused PlayerRegionChange packet into PlayerKillCount
8 years ago
David Cernat
ee5c9b65c5
[General] When changing region, send new region name in PlayerCellChange
8 years ago
David Cernat
34378fbb4f
[General] Make coding style consistent
8 years ago
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
8 years ago
Koncord
2ed1bfe427
[General] Simplify ActorPackets
8 years ago
Koncord
fd8e833d6a
[General] Simplify WorldPackets
8 years ago
Koncord
556bf18535
[General] Minor improvements for player packets
...
Add compression, remove useless loop iterations
8 years ago
Koncord
ad873e16b8
[Client] Limiting updates to ~64 per second
8 years ago
Koncord
c2600bac8e
[General] Allow single bit booleans in packets
8 years ago
Koncord
7e5e877fda
[General] Pack player->direction.pos to 1 byte
8 years ago
Koncord
dded330cc4
[General] Get rid Z axis in direction.pos
8 years ago
Koncord
ae9e5750ac
[General] Aggressive compression of rotations
8 years ago
Koncord
3905e0dae9
[General] Get rid direction.rot again
8 years ago
David Cernat
d0a0b6ffa4
[General] Add basic integrity checks to all Actor and World packets
8 years ago
David Cernat
a353a21280
[General] Fix code style inconsistencies
8 years ago
David Cernat
068a45be87
[General] Synchronize player & NPC rotation animations
8 years ago
David Cernat
f4cdedd8cb
[General] Synchronize summoned creatures
8 years ago
David Cernat
4e5c8873e0
[General] Use ObjectSpawn instead of ObjectPlace for actors
8 years ago
David Cernat
c211d53190
[General] Use only direction.pos in ActorPosition, as advised by Koncord
8 years ago
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.
8 years ago
Koncord
f7473e3379
[General] Fix copy-posty bug
8 years ago
David Cernat
9fe5b4a305
[General] Remove debug line from ActorAnimFlags
8 years ago
Koncord
8478fed98a
[General] Simplify Actor packets.
8 years ago
Koncord
f6fba70a4e
[General] Use compression for Position packets
8 years ago
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.
8 years ago
David Cernat
73b9683182
[General] Make most ActorPackets smaller by not including refIds in them
8 years ago
David Cernat
311ce4119d
[General] Fix logic issues related to ActorEquipment
8 years ago
David Cernat
4f273932af
[General] Implement sending and reading of ActorEquipment packets
8 years ago
David Cernat
32879adc5b
[General] Allow ObjectTrap to trigger traps, not just disarm them
8 years ago
Koncord
24d4e1c222
[General] Remove useless PacketSendMyID
8 years ago
Koncord
a9fc096c9a
[General] Move password of master server to header
8 years ago
Koncord
3e284a1139
[General] Use unsigned int instead unsigned long
...
sizeof(unsigned long) != 8 on Windows
8 years ago
David Cernat
7ec431ce3d
[General] Make packet style more consistent
8 years ago
David Cernat
11369f6513
[General] Implement sending and reading of PlayerTopic packets
8 years ago
David Cernat
08de349133
[General] Add placeholders for PlayerTopic & ObjectTrap packets
8 years ago
David Cernat
870fd9a78b
[General] Remove ObjectUnlock packet, use ObjectLock with 0 lock instead
8 years ago
Koncord
80bd268de6
[General] Use simple types for master server packets
8 years ago
David Cernat
b0cd636924
[General] Add basic integrity check to ProxyMasterPacket
8 years ago
Koncord
892960f913
[General] Add ctor to MasteData::Plugin
8 years ago
Koncord
956b573323
[General] Use different ordering channels for packets
8 years ago
David Cernat
e6983993c2
[General] Implement sending and reading of PlayerFaction packets
8 years ago
David Cernat
0189dbf916
[General] Make JournalItem consistent with other packet structs
8 years ago
David Cernat
ad388c7e12
[General] Add placeholders for ActorEquipment & PlayerFaction packets
...
Also reorder packets and packet processors.
8 years ago
David Cernat
f527fe9ebe
[General] Add basic integrity check to reading of ActorList packets
...
Additionally, add newlines to files missing them.
8 years ago
David Cernat
05564bd123
[General] Add basic integrity check to reading of Container packets
8 years ago
David Cernat
cc559cf8e2
[General] Don't send packets for dead LocalActors, to fix Position spam
8 years ago
David Cernat
de49f5f175
[General] Add and use isActor bool for WorldObject
8 years ago
David Cernat
9d2c5c3502
[General] Simplify structure of BaseEvent
8 years ago
Koncord
8422ae0ce8
[General] Fix iterators in ProxyMasterPacket
8 years ago
David Cernat
4d81455020
[General] Rework and simplify death reasons so they work with NPCs
8 years ago
David Cernat
60cf623455
[Client] Make DedicatedActors transition into LocalActors when eligible
8 years ago
Koncord
8fa8b8d310
[General] Add __WINDOWS define
8 years ago
Koncord
47e6820f97
[General] Move printWithWidth and intToHexStr to components
8 years ago
David Cernat
63dd2d9246
[General] Remove code related to ActorAuthority packets that is not used
8 years ago
David Cernat
c3c04bbfc3
[General] Make coding style consistent
8 years ago
Koncord
931a5896ec
[General] Improve PacketPreInit
8 years ago
David Cernat
1a699329e5
[General] Set new BaseActor booleans in corresponding packets
8 years ago
David Cernat
730df061b3
[General] Add hasPositionData and hasStatsDynamicData bools to BaseActor
8 years ago
Koncord
9c7c0f9989
[General] Send creatureModel & useCreatureName via PacketPlayerBaseInfo
8 years ago
David Cernat
e8e0090b9b
[General] Use new SimpleCreatureStats struct in BaseActor
8 years ago
Koncord
465a05bad0
[Client] Add ability to look like a creature for the DedicatedPlayers
8 years ago
Koncord
a4e45de6ca
[General] Fix playersCount
8 years ago
David Cernat
6a21ec1fdc
[General] Rename PlayerPos into PlayerPosition
8 years ago
David Cernat
7b07d6651f
[General] Add and use PlayerBounty packet and matching script functions
8 years ago
Koncord
6e8750b9e4
[General] Change list players to vector players
8 years ago
Koncord
9643eb6026
[Master] Notify server about announce state
...
Rename structure Server to QueryData
8 years ago
David Cernat
2eaa25e7d4
[General] Update version to 0.6-alpha
8 years ago
David Cernat
f4c3a28141
[General] Finalize ActorCellChange packet structure
8 years ago
Koncord
546bb42abb
[General] Add Master Packets
8 years ago
Koncord
5854f680f0
[General] Add Master data types
8 years ago
Koncord
41005b1add
[General] Add orderChannel to packets
8 years ago
David Cernat
f2e8e14665
[General] Add shouldSend boolean to mwmp::Attack
8 years ago
David Cernat
cc2250815d
[General] Add packet data for attacks on and by Actors
8 years ago
David Cernat
b1a394cd02
[General] Change chars into bools in mwmp::Attack for clarity
8 years ago
David Cernat
a650683bae
[General] Add and use Target struct in mwmp::Attack
8 years ago
David Cernat
9882ceedf3
[General] Remove attackerGuid from mwmp::Attack because it is redundant
8 years ago
David Cernat
caf5428532
[General] Rename mwmp::Attack vars in preparation for Actor support
8 years ago
David Cernat
2397afc6ce
[General] Move mwmp::Attack to BaseStructs
8 years ago
David Cernat
9f226253d4
[General] Rename mwmp::Attack's refid into refId for consistency
8 years ago
David Cernat
f0f0b2dcc9
[General] Send and read ActorSpeech packets
8 years ago
David Cernat
1fb11dafef
[General] Send and read ActorStatsDynamic packets
8 years ago
David Cernat
870886192b
[General] Rename DYNAMICSTATS into STATS_DYNAMIC
8 years ago
David Cernat
ca8fd1aa72
[General] Remove ActorHeadRotation packet because it would be too spammy
8 years ago
David Cernat
2872675f5e
[General] Send and read ActorAnimPlay packets
8 years ago
David Cernat
e7960eee76
[General] Rename DrawState packets into AnimFlags ones for clarity
8 years ago
David Cernat
d2fe777f89
[General] Send and read ActorDrawState packets
8 years ago
David Cernat
10ad5b2a99
[General] Remove BaseActor's AnimStates that are no longer needed
8 years ago
David Cernat
0d196af685
[General] Add placeholders for 7 new ActorPackets
8 years ago
David Cernat
7700b82952
[General] Clean up BaseEvent and BaseStructs
8 years ago
David Cernat
7662297334
[General] Use ESM::Position to store BaseActor's movement
8 years ago
David Cernat
742d6f653a
[General] Add ActorPosition packet
8 years ago
David Cernat
b6c3830ea0
[General] Rename WorldObject's pos into position for consistency
8 years ago
David Cernat
174f316787
[General] Rename PacketActorFrame into PacketActorTest
8 years ago
David Cernat
a5d0486c82
[General] Set actor data correctly
8 years ago
David Cernat
c52084a028
[General] Use BaseActorLists in ActorPackets
8 years ago
David Cernat
4f3d05eed2
[General] Add ActorList class
8 years ago
David Cernat
070c6a3bd4
[General] Add ActorPacketController & make controller var names clearer
8 years ago
David Cernat
b8ca2382c7
[General] Remove variables that are not going to be used in ActorFrame
8 years ago
David Cernat
d3f3fb5d05
[Client] Correctly implement movement animation sync for NPCs
8 years ago
David Cernat
d829d219c3
[General] Add (very) partial animation sync for NPCs
8 years ago
David Cernat
67ec81ad0c
[Client] Use utility function for converting strings in mwmp::Cell
8 years ago
David Cernat
d24cde16dd
[General] Add simple BaseActor and LocalActor classes
8 years ago
David Cernat
8f18dc87c4
[General] Model ActorList on Container more closely by including action
8 years ago
David Cernat
8c2469bf6d
[General] Add placeholder ActorList, ActorAuthority & ActorFrame packets
8 years ago
David Cernat
2bd81c3de0
[Client] Use mpNum for every WorldObject
8 years ago
David Cernat
ddedcac510
[General] Read and write mpNums in world packets
8 years ago
David Cernat
8cc61b6048
[General] Generate mpNums on the server when forwarding ID_OBJECT_PLACE
8 years ago
Koncord
1d2a6d9056
[Server] Rename dontRead to avoidReading
8 years ago
Koncord
4daf471874
[General] Add dontRead flag
8 years ago
Koncord
48a59cf9e9
[General] Add new class BasePacketProcessor
8 years ago
Koncord
3d294500ba
[General] Use std::replace() instead for-each in Utils::convertPath()
8 years ago
Koncord
435d9780a7
[General] Fix PacketPreInit
8 years ago
Koncord
690211ad99
[General] Extract BaseEvent & BasePlayer from packets to functions
...
Move Send and Read functions to BasePacket
8 years ago
Koncord
0c1905e842
[General] Add PreInit packet
8 years ago
Koncord
0d53a6916d
[General] Move repeated code in Packet() to base class
8 years ago
Koncord
c353e18645
[General] Move Utils from server to components
...
Rewrite CRC32 functions to the Boost equivalent
8 years ago
David Cernat
5c269a5f8d
[General] Rename ID_GAME_DIE and ID_GAME_RESURRECT
8 years ago
David Cernat
4aaa9ed694
[General] Update version to 0.5.2
8 years ago
David Cernat
e6bc7ad463
[General] Make all flying players fly correctly, including TCL users
8 years ago
David Cernat
060e440ab2
[General] Update version to 0.5.1
8 years ago
Koncord
715422aff6
[General] Fix memory leak in Log dtor
8 years ago
Koncord
e3f4c63ea6
[General] Delete invalid & redundant code
8 years ago
Koncord
059043fea9
[General] Change signature of BaseEvent::action
8 years ago
Koncord
158e9b3b09
[Server] Add ability to set password to server from config & scripts
8 years ago
David Cernat
3e50cf60e7
[General] Update version to 0.5.0
8 years ago
David Cernat
a4526605a6
[General] Remove goldValue from ContainerItem because it is never useful
8 years ago
David Cernat
4f2b88df8a
[General] Remove owner var from ContainerItem because it is always empty
8 years ago
David Cernat
941d6269c1
[General] Slightly reorder variables in ID_OBJECT_PLACE
8 years ago
David Cernat
27c4015f50
[General] Remove unused packet placeholder ID_OBJECT_HEALTH
8 years ago
David Cernat
3b604a432e
[General] Restructure ID_CONTAINER to allow multiple containers at once
8 years ago
David Cernat
c8cbfbef62
[General] Sketch out server requests to players for container data
8 years ago
David Cernat
6144ca95d8
Set version to 0.4.2
8 years ago
David Cernat
5038353792
[General] Rename BaseEvent's state into doorState & adjust related funcs
8 years ago
David Cernat
d8a9a5f6c9
[General] Send item owner in ID_CONTAINER
8 years ago
David Cernat
3614b21e10
[General] Send charge and goldValue in ID_CONTAINER
8 years ago
David Cernat
182b238b5f
[General] Rename WorldEvent into BaseEvent
8 years ago
David Cernat
75392297b5
[General] Use vector::at in most places
8 years ago
David Cernat
60d6a6d463
[Client] See when other players remove items from containers
8 years ago
David Cernat
f314b13edf
[General] Rename item health into charge, for consistency with OpenMW
8 years ago
David Cernat
ecc456fea9
[General] Include charge int in WorldObject & send it w/ ID_OBJECT_PLACE
8 years ago
David Cernat
04d45b9dbb
[General] Rename packets to show they are for players only, not NPCs
8 years ago
David Cernat
9f8bed9be1
[General] Add action types to WorldEvent's ContainerChanges
8 years ago
David Cernat
a07e616878
[General] Add ContainerItem and ContainerChanges structs to WorldEvent
8 years ago
David Cernat
6328ffb9aa
[General] In ID_GAME_ATTRIBUTE & ID_GAME_SKILL, rename GAME into PLAYER
8 years ago
David Cernat
9130c1f302
[General] Rename ID_CONTAINER_ADD into ID_CONTAINER
8 years ago
David Cernat
d2cf96af99
[General] Repurpose the unused ID_CONTAINER_REMOVE into ID_OBJECT_HEALTH
8 years ago
David Cernat
c1427b2558
[General] Simultaneously send loads & unloads in ID_PLAYER_CELL_STATE
8 years ago
David Cernat
958ff06ca8
[General] Rename ID_DOOR_ACTIVATE into ID_DOOR_STATE
8 years ago
David Cernat
2c5cc82f49
[Server] Add script functions for getting world object placement info
8 years ago
David Cernat
15ed4b8da6
[Components] Use 24 hour format instead of 12 for log file timestamps
8 years ago
David Cernat
8bc6dfe590
[General] Remove duplicate constructor in PacketObjectUnlock
8 years ago
David Cernat
9f1e491a75
[General] Make WorldEvents store information about multiple objects
8 years ago
David Cernat
244da19a51
[General] Turn ID_PLAYER_CELL_LOAD into ID_PLAYER_CELL_STATE for clarity
8 years ago
David Cernat
4dc0ba21ec
[General] Fix packet ID for ID_PLAYER_CELL_LOAD
8 years ago
David Cernat
97aabf4a7d
[General] Sketch out sending of cell loading/unloading info in packets
8 years ago
David Cernat
158d606477
[General] Leave one blank line at the end of every tes3mp code file
8 years ago
David Cernat
63c8a98083
[General] Stop using virtual functions in BasePlayer
8 years ago
David Cernat
1d9c6ddd81
[General] Add placeholders for the new packet ID_PLAYER_CELL_LOAD
8 years ago
David Cernat
35e453dec3
[General] Sketch out most of functionality for journal saving/loading
8 years ago
David Cernat
d308897f95
Rename PacketItems, PacketSpells into InventoryChanges, SpellbookChanges
8 years ago
David Cernat
e2c595fc5d
Add preliminary structure for journal changes
8 years ago
David Cernat
e9b22814b9
Create placeholder for ID_GAME_JOURNAL
8 years ago
David Cernat
a69f294ef0
Rename ID_GAME_CELL into ID_PLAYER_CELL_CHANGE
8 years ago
David Cernat
83277a1512
Send spellbook in LocalPlayer CharGen & change UPDATE action name to SET
8 years ago
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.
8 years ago