mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Add API to control shadow intensity from the game/mod (#11944)
* Also Disable shadows when sun/moon is hidden. Fixes #11972.
This commit is contained in:
parent
8d55702d13
commit
0f25fa7af6
24 changed files with 375 additions and 169 deletions
|
@ -123,6 +123,7 @@ const ToClientCommandHandler toClientCommandTable[TOCLIENT_NUM_MSG_TYPES] =
|
|||
{ "TOCLIENT_SRP_BYTES_S_B", TOCLIENT_STATE_NOT_CONNECTED, &Client::handleCommand_SrpBytesSandB }, // 0x60
|
||||
{ "TOCLIENT_FORMSPEC_PREPEND", TOCLIENT_STATE_CONNECTED, &Client::handleCommand_FormspecPrepend }, // 0x61,
|
||||
{ "TOCLIENT_MINIMAP_MODES", TOCLIENT_STATE_CONNECTED, &Client::handleCommand_MinimapModes }, // 0x62,
|
||||
{ "TOCLIENT_SET_LIGHTING", TOCLIENT_STATE_CONNECTED, &Client::handleCommand_SetLighting }, // 0x63,
|
||||
};
|
||||
|
||||
const static ServerCommandFactory null_command_factory = { "TOSERVER_NULL", 0, false };
|
||||
|
|
|
@ -1682,3 +1682,11 @@ void Client::handleCommand_MinimapModes(NetworkPacket *pkt)
|
|||
if (m_minimap)
|
||||
m_minimap->setModeIndex(mode);
|
||||
}
|
||||
|
||||
void Client::handleCommand_SetLighting(NetworkPacket *pkt)
|
||||
{
|
||||
Lighting& lighting = m_env.getLocalPlayer()->getLighting();
|
||||
|
||||
if (pkt->getRemainingBytes() >= 4)
|
||||
*pkt >> lighting.shadow_intensity;
|
||||
}
|
||||
|
|
|
@ -762,7 +762,12 @@ enum ToClientCommand
|
|||
std::string extra
|
||||
*/
|
||||
|
||||
TOCLIENT_NUM_MSG_TYPES = 0x63,
|
||||
TOCLIENT_SET_LIGHTING = 0x63,
|
||||
/*
|
||||
f32 shadow_intensity
|
||||
*/
|
||||
|
||||
TOCLIENT_NUM_MSG_TYPES = 0x64,
|
||||
};
|
||||
|
||||
enum ToServerCommand
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue