1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-07-02 16:38:41 +00:00

set_fov: Add support for time-based transitions (#9705)

This commit is contained in:
ANAND 2020-05-02 16:22:11 +05:30 committed by GitHub
parent ac368af4fe
commit e0ea87f1f3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 123 additions and 34 deletions

View file

@ -20,6 +20,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "client/client.h"
#include "util/base64.h"
#include "client/camera.h"
#include "chatmessage.h"
#include "client/clientmedia.h"
#include "log.h"
@ -530,11 +531,21 @@ void Client::handleCommand_Movement(NetworkPacket* pkt)
void Client::handleCommand_Fov(NetworkPacket *pkt)
{
f32 fov;
bool is_multiplier;
bool is_multiplier = false;
f32 transition_time = 0.0f;
*pkt >> fov >> is_multiplier;
// Wrap transition_time extraction within a
// try-catch to preserve backwards compat
try {
*pkt >> transition_time;
} catch (PacketError &e) {};
LocalPlayer *player = m_env.getLocalPlayer();
player->setFov({ fov, is_multiplier });
assert(player);
player->setFov({ fov, is_multiplier, transition_time });
m_camera->notifyFovChange();
}
void Client::handleCommand_HP(NetworkPacket *pkt)