mirror of
https://github.com/minetest/minetest.git
synced 2024-12-27 16:37:30 +01:00
Exposing the zoom key to Lua API (#9903)
Co-authored-by: Raul Ferriz <raul.ferriz@gmail.com>
This commit is contained in:
parent
2424dfe007
commit
e7e065f553
@ -6106,13 +6106,14 @@ object you are working with still exists.
|
||||
* `get_formspec_prepend(formspec)`: returns a formspec string.
|
||||
* `get_player_control()`: returns table with player pressed keys
|
||||
* The table consists of fields with boolean value representing the pressed
|
||||
keys, the fields are jump, right, left, LMB, RMB, sneak, aux1, down, up.
|
||||
keys, the fields are jump, right, left, LMB, RMB, sneak, aux1, down, up, zoom.
|
||||
* example: `{jump=false, right=true, left=false, LMB=false, RMB=false,
|
||||
sneak=true, aux1=false, down=false, up=false}`
|
||||
sneak=true, aux1=false, down=false, up=false, zoom=false}`
|
||||
* The `zoom` field is available since 5.3
|
||||
* `get_player_control_bits()`: returns integer with bit packed player pressed
|
||||
keys.
|
||||
* bit nr/meaning: 0/up, 1/down, 2/left, 3/right, 4/jump, 5/aux1, 6/sneak,
|
||||
7/LMB, 8/RMB
|
||||
7/LMB, 8/RMB, 9/zoom (zoom available since 5.3)
|
||||
* `set_physics_override(override_table)`
|
||||
* `override_table` is a table with the following fields:
|
||||
* `speed`: multiplier to default walking speed value (default: `1`)
|
||||
|
@ -2490,7 +2490,7 @@ void Game::updatePlayerControl(const CameraOrientation &cam)
|
||||
input->joystick.getAxisWithoutDead(JA_FORWARD_MOVE)
|
||||
);
|
||||
|
||||
u32 keypress_bits =
|
||||
u32 keypress_bits = (
|
||||
( (u32)(isKeyDown(KeyType::FORWARD) & 0x1) << 0) |
|
||||
( (u32)(isKeyDown(KeyType::BACKWARD) & 0x1) << 1) |
|
||||
( (u32)(isKeyDown(KeyType::LEFT) & 0x1) << 2) |
|
||||
@ -2499,7 +2499,8 @@ void Game::updatePlayerControl(const CameraOrientation &cam)
|
||||
( (u32)(isKeyDown(KeyType::SPECIAL1) & 0x1) << 5) |
|
||||
( (u32)(isKeyDown(KeyType::SNEAK) & 0x1) << 6) |
|
||||
( (u32)(input->getLeftState() & 0x1) << 7) |
|
||||
( (u32)(input->getRightState() & 0x1) << 8
|
||||
( (u32)(input->getRightState() & 0x1) << 8) |
|
||||
( (u32)(isKeyDown(KeyType::ZOOM) & 0x1) << 9)
|
||||
);
|
||||
|
||||
#ifdef ANDROID
|
||||
|
@ -501,6 +501,7 @@ void Server::process_PlayerPos(RemotePlayer *player, PlayerSAO *playersao,
|
||||
player->control.sneak = (keyPressed & 64);
|
||||
player->control.LMB = (keyPressed & 128);
|
||||
player->control.RMB = (keyPressed & 256);
|
||||
player->control.zoom = (keyPressed & 512);
|
||||
|
||||
if (playersao->checkMovementCheat()) {
|
||||
// Call callbacks
|
||||
|
@ -1459,6 +1459,8 @@ int ObjectRef::l_get_player_control(lua_State *L)
|
||||
lua_setfield(L, -2, "LMB");
|
||||
lua_pushboolean(L, control.RMB);
|
||||
lua_setfield(L, -2, "RMB");
|
||||
lua_pushboolean(L, control.zoom);
|
||||
lua_setfield(L, -2, "zoom");
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user