1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-08-11 17:51:04 +00:00

Formspecs: Introduce formspec_version to mods

This commit is contained in:
SmallJoker 2019-09-10 21:18:42 +02:00
parent b0baa698a4
commit 9acd36bf99
11 changed files with 54 additions and 10 deletions

View file

@ -198,6 +198,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
PROTOCOL VERSION 38:
Incremental inventory sending mode
Unknown inventory serialization fields no longer throw an error
Mod-specific formspec version
*/
#define LATEST_PROTOCOL_VERSION 38
@ -219,7 +220,16 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#define PASSWORD_SIZE 28 // Maximum password length. Allows for
// base64-encoded SHA-1 (27+\0).
#define FORMSPEC_API_VERSION 1
/*
Changes by FORMSPEC_API_VERSION:
FORMSPEC VERSION 1:
(too much)
FORMSPEC VERSION 2:
Forced real coordinates
background[]: 9-slice scaling parameters
*/
#define FORMSPEC_API_VERSION 2
#define FORMSPEC_VERSION_STRING "formspec_version[" TOSTRING(FORMSPEC_API_VERSION) "]"
#define TEXTURENAME_ALLOWED_CHARS "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_.-"

View file

@ -386,6 +386,9 @@ void Server::handleCommand_ClientReady(NetworkPacket* pkt)
peer_id, major_ver, minor_ver, patch_ver,
full_ver);
if (pkt->getRemainingBytes() >= 2)
*pkt >> playersao->getPlayer()->formspec_version;
const std::vector<std::string> &players = m_clients.getPlayerNames();
NetworkPacket list_pkt(TOCLIENT_UPDATE_PLAYER_LIST, 0, peer_id);
list_pkt << (u8) PLAYER_LIST_INIT << (u16) players.size();