Performance optimized button to button mask evaluation
authorsapier <Sapier at GMX dot net>
Thu, 3 Apr 2014 18:26:26 +0000 (20:26 +0200)
committersapier <Sapier at GMX dot net>
Thu, 3 Apr 2014 18:26:26 +0000 (20:26 +0200)
src/game.cpp

index a13f1393c10a2ac036e07eb0d4482d0f88b6b391..699314d30d072704b28c460221e48be75893c477 100644 (file)
@@ -2307,18 +2307,17 @@ void the_game(bool &kill, bool random_input, InputHandler *input,
                                camera_yaw
                        );
                        client.setPlayerControl(control);
-                       u32 keyPressed=
-                       1*(int)input->isKeyDown(getKeySetting("keymap_forward"))+
-                       2*(int)input->isKeyDown(getKeySetting("keymap_backward"))+
-                       4*(int)input->isKeyDown(getKeySetting("keymap_left"))+
-                       8*(int)input->isKeyDown(getKeySetting("keymap_right"))+
-                       16*(int)input->isKeyDown(getKeySetting("keymap_jump"))+
-                       32*(int)input->isKeyDown(getKeySetting("keymap_special1"))+
-                       64*(int)input->isKeyDown(getKeySetting("keymap_sneak"))+
-                       128*(int)input->getLeftState()+
-                       256*(int)input->getRightState();
                        LocalPlayer* player = client.getEnv().getLocalPlayer();
-                       player->keyPressed=keyPressed;
+                       player->keyPressed=
+                       (((int)input->isKeyDown(getKeySetting("keymap_forward"))  & 0x1) << 0) |
+                       (((int)input->isKeyDown(getKeySetting("keymap_backward")) & 0x1) << 1) |
+                       (((int)input->isKeyDown(getKeySetting("keymap_left"))     & 0x1) << 2) |
+                       (((int)input->isKeyDown(getKeySetting("keymap_right"))    & 0x1) << 3) |
+                       (((int)input->isKeyDown(getKeySetting("keymap_jump"))     & 0x1) << 4) |
+                       (((int)input->isKeyDown(getKeySetting("keymap_special1")) & 0x1) << 5) |
+                       (((int)input->isKeyDown(getKeySetting("keymap_sneak"))    & 0x1) << 6) |
+                       (((int)input->getLeftState()  & 0x1) << 7) |
+                       (((int)input->getRightState() & 0x1) << 8);
                }
 
                /*