summaryrefslogtreecommitdiff
path: root/src/client/inputhandler.cpp
diff options
context:
space:
mode:
authorSmallJoker <SmallJoker@users.noreply.github.com>2020-11-12 19:16:02 +0100
committerGitHub <noreply@github.com>2020-11-12 19:16:02 +0100
commit68139a28eb8b43b3685b81c77258912ffc5e0b8f (patch)
tree8e602c3649da387238374594f030811dda53f6f7 /src/client/inputhandler.cpp
parentadffef2b94f2d9cb3104cbc75e315cda3c0728aa (diff)
downloadminetest-68139a28eb8b43b3685b81c77258912ffc5e0b8f.tar.gz
minetest-68139a28eb8b43b3685b81c77258912ffc5e0b8f.tar.bz2
minetest-68139a28eb8b43b3685b81c77258912ffc5e0b8f.zip
Revert "Replace MyEventReceiver KeyList with std::unordered_set" (#10622)
This reverts commit 787561b29afdbc78769f68c2f5c4f2cff1b32340.
Diffstat (limited to 'src/client/inputhandler.cpp')
-rw-r--r--src/client/inputhandler.cpp48
1 files changed, 22 insertions, 26 deletions
diff --git a/src/client/inputhandler.cpp b/src/client/inputhandler.cpp
index ee3e37ae9..608a405a8 100644
--- a/src/client/inputhandler.cpp
+++ b/src/client/inputhandler.cpp
@@ -112,7 +112,7 @@ bool MyEventReceiver::OnEvent(const SEvent &event)
// Remember whether each key is down or up
if (event.EventType == irr::EET_KEY_INPUT_EVENT) {
const KeyPress &keyCode = event.KeyInput;
- if (keysListenedFor.count(keyCode)) {
+ if (keysListenedFor[keyCode]) {
// If the key is being held down then the OS may
// send a continuous stream of keydown events.
// In this case, we don't want to let this
@@ -120,15 +120,15 @@ bool MyEventReceiver::OnEvent(const SEvent &event)
// certain actions to repeat constantly.
if (event.KeyInput.PressedDown) {
if (!IsKeyDown(keyCode)) {
- keyWasDown.insert(keyCode);
- keyWasPressed.insert(keyCode);
+ keyWasDown.set(keyCode);
+ keyWasPressed.set(keyCode);
}
- keyIsDown.insert(keyCode);
+ keyIsDown.set(keyCode);
} else {
if (IsKeyDown(keyCode))
- keyWasReleased.insert(keyCode);
+ keyWasReleased.set(keyCode);
- keyIsDown.erase(keyCode);
+ keyIsDown.unset(keyCode);
}
return true;
@@ -153,36 +153,36 @@ bool MyEventReceiver::OnEvent(const SEvent &event)
switch (event.MouseInput.Event) {
case EMIE_LMOUSE_PRESSED_DOWN:
key = "KEY_LBUTTON";
- keyIsDown.insert(key);
- keyWasDown.insert(key);
- keyWasPressed.insert(key);
+ keyIsDown.set(key);
+ keyWasDown.set(key);
+ keyWasPressed.set(key);
break;
case EMIE_MMOUSE_PRESSED_DOWN:
key = "KEY_MBUTTON";
- keyIsDown.insert(key);
- keyWasDown.insert(key);
- keyWasPressed.insert(key);
+ keyIsDown.set(key);
+ keyWasDown.set(key);
+ keyWasPressed.set(key);
break;
case EMIE_RMOUSE_PRESSED_DOWN:
key = "KEY_RBUTTON";
- keyIsDown.insert(key);
- keyWasDown.insert(key);
- keyWasPressed.insert(key);
+ keyIsDown.set(key);
+ keyWasDown.set(key);
+ keyWasPressed.set(key);
break;
case EMIE_LMOUSE_LEFT_UP:
key = "KEY_LBUTTON";
- keyIsDown.erase(key);
- keyWasReleased.insert(key);
+ keyIsDown.unset(key);
+ keyWasReleased.set(key);
break;
case EMIE_MMOUSE_LEFT_UP:
key = "KEY_MBUTTON";
- keyIsDown.erase(key);
- keyWasReleased.insert(key);
+ keyIsDown.unset(key);
+ keyWasReleased.set(key);
break;
case EMIE_RMOUSE_LEFT_UP:
key = "KEY_RBUTTON";
- keyIsDown.erase(key);
- keyWasReleased.insert(key);
+ keyIsDown.unset(key);
+ keyWasReleased.set(key);
break;
case EMIE_MOUSE_WHEEL:
mouse_wheel += event.MouseInput.Wheel;
@@ -235,11 +235,7 @@ void RandomInputHandler::step(float dtime)
i.counter -= dtime;
if (i.counter < 0.0) {
i.counter = 0.1 * Rand(1, i.time_max);
- KeyPress k = getKeySetting(i.key.c_str());
- if (keydown.count(k))
- keydown.erase(k);
- else
- keydown.insert(k);
+ keydown.toggle(getKeySetting(i.key.c_str()));
}
}
{