Commit graph

355 commits

Author SHA1 Message Date
Koncord
1ef6ad6215 [General] Add weather struct and packet 2017-12-10 09:48:29 +08:00
Koncord
122a30c183 [General] Change type of refNumIndex & mpNum to unsigned 2017-12-10 09:20:13 +08:00
Koncord
f35d35741e [General] Remove redundant code
Remove BaseEvent::worldObjectCount
Remove BaseActor::count
Use foreach loops in packets and processors
Remove redundant "&" in CellController::get().getCell() calls
2017-12-09 14:59:41 +08:00
Koncord
2cb0ea20f0 [General] Modernize packets
Use explicit for constructors
Use override instead virtual for inherited methods
Mark final derived classes as "final"
2017-12-09 10:13:27 +08:00
Koncord
aa183e6844 [General] Introduce chat channels 2017-12-08 07:43:29 +08:00
David Cernat
fc5e883160 [General] Rework PlayerStatsDynamic packets so they are of minimal size 2017-12-02 18:29:30 +02:00
David Cernat
d1ad0c91f8 [General] Rework PlayerEquipment packets so they are of minimal size
Moreover, rename BaseNetCreature's equipedItems into equipmentItems.
2017-11-30 12:31:54 +02:00
David Cernat
bd9e8bd10f [General] Simplify storing of attribute and skill index changes 2017-11-29 16:55:51 +02:00
David Cernat
720ef5f6c5 [General] Use consistent code style 2017-11-29 13:00:22 +02:00
Koncord
b55bb445dd [General] Change underlying type of the WidgetType to uint8_t 2017-11-28 22:24:04 +08:00
Koncord
a546d99000 [General] Fix type 2017-11-28 22:10:27 +08:00
Koncord
1841562553 [General] Minor cleanup of the World Packets 2017-11-28 22:05:10 +08:00
Koncord
744b8cf168 [General] Minor cleanup of the Actor Packets 2017-11-28 21:51:34 +08:00
Koncord
e44fcdc0b3 [General] Cleanup Player packets 2017-11-28 21:38:45 +08:00
David Cernat
a796f81444 [General] Add and use utility function for int value checks in vectors 2017-11-26 13:03:54 +02:00
Koncord
c276ff4bd9 [General] Add packet GUIWindow 2017-11-25 23:37:08 +08:00
David Cernat
b0965f094a [General] Rework PlayerAttribute packets so they are of minimal size
Previously, whenever a single attribute value changed for a player, that player then sent a PlayerAttribute packet with all values for all 8 attributes.

This did not cause anywhere as much packet spam as PlayerSkill used to, but there was no good reason not to fix it as well.
2017-11-24 14:28:05 +02:00
David Cernat
ef79a98544 [General] Rework PlayerSkill packets so they are of minimal size
Previously, whenever a single skill value changed for a player, that player then sent a PlayerSkill packet with all values for all 27 skills, plus the player's progress towards the next level and the bonuses to each attribute on the next level up as the result of sklll increases thus far.

This commit makes PlayerSkill contain only the values of specific skills, moves the player's progress towards the next level to PlayerLevel packets, and moves the bonuses to each attribute on the next level up to PlayerAttribute packets.

Players now also send a PlayerSkill packet whenever their progress towards a new point in a skill changes. This was previously avoided so as to not have massive packet spam.
2017-11-24 12:38:42 +02:00
David Cernat
926106cf8c [General] Rework CharGen slightly for clarity purposes
Previously, charGenStage.end was doing double duty as both the variable indicating the number of CharGen stages and – when set to 0 – the variable indicating that CharGen was over. The latter role is now filled by a new boolean.
2017-11-13 05:33:27 +02:00
Koncord
7ab01b66e4 [General] Rewrite Log class 2017-11-07 05:34:55 +08:00
Koncord
d15c674584 [General] Move getFilenameTimestamp() to Utils 2017-11-07 05:33:10 +08:00
Koncord
916ada108f [General] Modernize Log utility
* Reverse Log levels
* Add LOG_TRACE
* Spawn instance of Log in Get() function
2017-10-25 14:45:36 +08:00
Koncord
d702845026 [General] Fix Clang warnings in Log.hpp 2017-10-18 21:30:36 +08:00
Koncord
6cb9c3c713 [General] Remove explicit specifier 2017-10-11 06:17:02 +08:00
Koncord
5c79e7106f [Browser] Minor improvements 2017-10-10 07:17:41 +08:00
David Cernat
4845599bda Merge pull request #308 from TES3MP/master while resolving conflicts
# Conflicts:
#	apps/openmw-mp/main.cpp
2017-10-08 06:50:15 +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
cccbe753d7 [General] Update version to 0.7-alpha 2017-09-13 10:29:36 +03:00
Koncord
045dc566ea Merge branch 'master' into new-script-api 2017-09-12 21:41:25 +08: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
Koncord
510e657c93 Merge branch 'master' into new-script-api 2017-09-02 19:48:44 +08:00
Koncord
060ebe3d4a [Server] Init isWerewolf variable
Comment unused code
2017-09-02 19:45:19 +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
Koncord
2d0840cb3a [General] Modernize Script API
This commit changes the style of tes3mp serverside scripting mods. Short list of changes:
* Break compatibility with old server mods
* OOP style lua API
* Basic dependency checker, allowing the installation of multiple server mods without changing configs
* Remove support for C++ plugins
* Change outdated LuaBridge to [sol2](https://github.com/ThePhD/sol2);
* Support GCC, Clang and MSVC compilers
* New environment variables: "TES3MP_SERVER_DIR" and "TES3MP_SERVER_USERDIR";
* New entity "Command controller" for registering new chat commands;
* New Event system
* Simplified Timer API
* All Lua mods now run in their own environments
* Add global namespace - Data that can be used for communicating between mods
* Player and Actor inherit base class NetActor
2017-08-28 00:15:56 +08: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