diff options
| author | rubenwardy <rw@rubenwardy.com> | 2023-02-27 22:58:41 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-02-27 22:58:41 +0000 |
| commit | 39f4d26177ec1c8f246133c532a42ef7429bc36d (patch) | |
| tree | 910b6a6635adf37eaba1d7410e83fad14f15bb90 /src/network | |
| parent | fbbdae93ee324584089efaf8e880a1378f6a2ad6 (diff) | |
| download | minetest-39f4d26177ec1c8f246133c532a42ef7429bc36d.tar.xz | |
Add minetest.get_player_window_information() (#12367)
Diffstat (limited to 'src/network')
| -rw-r--r-- | src/network/clientopcodes.cpp | 1 | ||||
| -rw-r--r-- | src/network/networkprotocol.h | 10 | ||||
| -rw-r--r-- | src/network/serveropcodes.cpp | 1 | ||||
| -rw-r--r-- | src/network/serverpackethandler.cpp | 16 |
4 files changed, 27 insertions, 1 deletions
diff --git a/src/network/clientopcodes.cpp b/src/network/clientopcodes.cpp index 6a78b4652..bff318155 100644 --- a/src/network/clientopcodes.cpp +++ b/src/network/clientopcodes.cpp @@ -223,4 +223,5 @@ const ServerCommandFactory serverCommandFactoryTable[TOSERVER_NUM_MSG_TYPES] = { "TOSERVER_FIRST_SRP", 1, true }, // 0x50 { "TOSERVER_SRP_BYTES_A", 1, true }, // 0x51 { "TOSERVER_SRP_BYTES_M", 1, true }, // 0x52 + { "TOSERVER_UPDATE_CLIENT_INFO", 1, true }, // 0x53 }; diff --git a/src/network/networkprotocol.h b/src/network/networkprotocol.h index d456f19bf..d420101c8 100644 --- a/src/network/networkprotocol.h +++ b/src/network/networkprotocol.h @@ -1062,7 +1062,15 @@ enum ToServerCommand std::string bytes_M */ - TOSERVER_NUM_MSG_TYPES = 0x53, + TOSERVER_UPDATE_CLIENT_INFO = 0x53, + /* + v2s16 render_target_size + f32 gui_scaling + f32 hud_scaling + v2f32 max_fs_info + */ + + TOSERVER_NUM_MSG_TYPES = 0x54, }; enum AuthMechanism diff --git a/src/network/serveropcodes.cpp b/src/network/serveropcodes.cpp index cd2ff64fd..1165bb065 100644 --- a/src/network/serveropcodes.cpp +++ b/src/network/serveropcodes.cpp @@ -107,6 +107,7 @@ const ToServerCommandHandler toServerCommandTable[TOSERVER_NUM_MSG_TYPES] = { "TOSERVER_FIRST_SRP", TOSERVER_STATE_NOT_CONNECTED, &Server::handleCommand_FirstSrp }, // 0x50 { "TOSERVER_SRP_BYTES_A", TOSERVER_STATE_NOT_CONNECTED, &Server::handleCommand_SrpBytesA }, // 0x51 { "TOSERVER_SRP_BYTES_M", TOSERVER_STATE_NOT_CONNECTED, &Server::handleCommand_SrpBytesM }, // 0x52 + { "TOSERVER_UPDATE_CLIENT_INFO", TOSERVER_STATE_INGAME, &Server::handleCommand_UpdateClientInfo }, // 0x53 }; const static ClientCommandFactory null_command_factory = { "TOCLIENT_NULL", 0, false }; diff --git a/src/network/serverpackethandler.cpp b/src/network/serverpackethandler.cpp index a5ee81a9c..89e2e2a1c 100644 --- a/src/network/serverpackethandler.cpp +++ b/src/network/serverpackethandler.cpp @@ -40,6 +40,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "util/pointedthing.h" #include "util/serialize.h" #include "util/srp.h" +#include "clientdynamicinfo.h" void Server::handleCommand_Deprecated(NetworkPacket* pkt) { @@ -1841,3 +1842,18 @@ void Server::handleCommand_HaveMedia(NetworkPacket *pkt) } } } + +void Server::handleCommand_UpdateClientInfo(NetworkPacket *pkt) +{ + ClientDynamicInfo info; + *pkt >> info.render_target_size.X; + *pkt >> info.render_target_size.Y; + *pkt >> info.real_gui_scaling; + *pkt >> info.real_hud_scaling; + *pkt >> info.max_fs_size.X; + *pkt >> info.max_fs_size.Y; + + session_t peer_id = pkt->getPeerId(); + RemoteClient *client = getClient(peer_id, CS_Invalid); + client->setDynamicInfo(info); +} |
