summaryrefslogtreecommitdiff
path: root/src/client/inputhandler.h
Commit message (Collapse)AuthorAge
* Restore pass-through of direction keys (#11924)sfan52022-01-09
| | | This moves relevant code into the PlayerControl class and gets rid of separate keyPressed variable.
* Fix movement in random_input mode (#11592)NeroBurner2021-09-05
|
* Joystick sensitivity for player movement (#11262)NeroBurner2021-08-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit deprecates the forward, backward, left, and right binary inputs currently used for player movement in the PlayerControl struct. In their place, it adds the movement_speed and movement_direction values, which represents the player movement is a polar coordinate system. movement_speed is a scalar from 0.0 to 1.0. movement_direction is an angle from 0 to +-Pi: FWD 0 _ LFT / \ RGT -Pi/2 | | +Pi/2 \_/ +-Pi BCK Boolean movement bits will still be set for server telegrams and Lua script invocations to provide full backward compatibility. When generating these values from an analog input, a direction is considered active when it is 22.5 degrees away from either orthogonal axis. Co-authored-by: Markus Koch <markus@notsyncing.net> Co-authored-by: sfan5 <sfan5@live.de>
* Fix keyWasDown in input handlersfan52021-02-23
| | | | This was changed 291a6b70d674d9003f522b5875a60f7e2753e32b but should have never been done.
* Fix some more joystick issues (#10624)Markus2020-12-19
|
* Revert "Replace MyEventReceiver KeyList with std::unordered_set" (#10622)SmallJoker2020-11-12
| | | This reverts commit 787561b29afdbc78769f68c2f5c4f2cff1b32340.
* Replace MyEventReceiver KeyList with std::unordered_set (#10419)Vincent Robinson2020-09-23
|
* Allow binding dig, place actions to keys; remove LMB/RMB hardcodingANAND2020-08-15
| | | | Co-authored-by: Sam Caulfield <sam@samcaulfield.com>
* Cleanup ClientLauncher structure (#10160)SmallJoker2020-07-14
| | | Remove duplicated variables and unify the startup data into a new (inherited) struct.
* Game refactor [4/X]: keycache is now owned by InputHandlerLoic Blot2018-01-20
| | | | | | * Make InputHandler own the key cache * Add a helper function InputHandler::cancelPressed to avoid multiple similar calls in game.cpp * Move RandomInputHandler::step definition into cpp file
* Game refactor [3/X]: Move keycache to inputhandlerLoic Blot2018-01-20
|
* Game/Input refactor [1/X]: make RealInputHandler handle joystick inputs with ↵Loic Blot2018-01-20
| | | | | | | standard input Joystick input is a RealInputHandler only usage, make it intelligent and handle the joystick with keyboard direct. This permits to remove many getters in game which should be owned by RealInputHandler
* Move files to subdirectories (#6599)Vitaliy2017-11-08
| | | | * Move files around
* C++ modernize: Pragma once (#6264)Loïc Blot2017-08-17
| | | | * Migrate cpp headers to pragma once
* Cleanup various headers to reduce compilation times (#6255)Loïc Blot2017-08-16
| | | | * Cleanup various headers to reduce compilation times
* Modernize client code (#6250)Loïc Blot2017-08-15
| | | | | | | | * Various code style fixes * Use range based for loops * Use empty instead of empty objects * Use C++11 default keyword for trivial constructors and destructors * Drop some useless casts * Use emplace_back instead of push_back to improve performance of some vectors push
* Isolate irrlicht references and use a singleton (#6041)Loïc Blot2017-06-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add Device3D class which will contain IrrlichtDevice interface move getSupportedVideoDrivers to Device3D Add Device3D singleton & use it in various places Rename Device3D to Rendering engine & add helper functions to various device pointers More singleton work RenderingEngine owns draw_load_screen move draw functions to RenderingEngine Reduce IrrlichtDevice exposure and guienvironment RenderingEngine: Expose get_timer_time() to remove device from guiEngine Make irrlichtdevice & scene manager less exposed * Code style fixes * Move porting::getVideoDriverName, getVideoDriverFriendlyName, getDisplayDensity, getDisplaySize to RenderingEngine Fix XORG_USED macro -> RenderingEngine + create_engine_device from RenderingEngine constructor directly * enum paralax => enum parallax
* C++11 cleanup on constructors dir client (#6012)Vincent Glize2017-06-21
| | | | * C++11 cleanup on constructors dir client
* Move KeyList & InputHandler from game.h to client/inputhandler.h (#5752)Loïc Blot2017-05-13
| | | | | | | | | | * Move KeyList & InputHandler from game.h to client/inputhandler.h We have a header for inputs, move inputhandler class & related keylist object to it Also introduce a cpp file for MyEventReceiver::OnEvent function in inputhandler.h because a so huge function doesn't needs to be inlined * Pass clang-format on inputhandler.{cpp,h} (compatible)
* Initial Gamepad supportest312016-06-03
| | | | | | | Adds initial ingame gamepad support to minetest. Full Formspec support is not implemented yet and can be added by a later change.
* Tell irrlicht if we handle a key or not.est312016-05-26
| | | | | | | | | We can remove the function in MtNativeActivity now as it serves precisely that purpose: to tell irrlicht that we handled the esc key. TODO for later: * Perhaps try to find a more performant container than KeyList
* Refactor loggingShadowNinja2015-10-14
| | | | | | | | | - Add warning log level - Change debug_log_level setting to enumeration string - Map Irrlicht log events to MT log events - Encapsulate log_* functions and global variables into a class, Logger - Unify dstream with standard logging mechanism - Unify core.debug() with standard core.log() script API
* Misc. minor fixeskwolekr2015-07-10
|
* Use minetest logging facilities for irrlicht log outputShadowNinja2015-07-05
|
* main.cpp rework * Move ClientLauncher class to a dedicated file * ↵Loic Blot2015-02-12
ClientLauncher now owns print_video_modes and speed_tests functions (they are only called by him) * Move GameParams to shared/gameparams.h because it's shared between server and client and launcher need to know it * Move InputHandlers class to client/inputhandler.h * Cleanup includes