From b5b70974188eb6056fc30318f613f12487649ca7 Mon Sep 17 00:00:00 2001 From: sigonasr2 Date: Thu, 15 Jun 2023 05:06:50 -0500 Subject: [PATCH] Add in multi-key mapping for same key actions. --- Crawler/Crawler.cpp | 73 ++++++++++++++++++++++++++++++--------------- Crawler/Crawler.h | 8 +++++ 2 files changed, 57 insertions(+), 24 deletions(-) diff --git a/Crawler/Crawler.cpp b/Crawler/Crawler.cpp index 42f19ae1..34c51883 100644 --- a/Crawler/Crawler.cpp +++ b/Crawler/Crawler.cpp @@ -143,12 +143,37 @@ void Crawler::InitializeAnimations(){ ANIMATION_DATA[AnimationState::GROUND_SLAM_ATTACK_FRONT]=effect_groundslam_front; } +bool Crawler::LeftHeld(){ + return GetKey(LEFT).bHeld|GetKey(A).bHeld; +} +bool Crawler::RightHeld(){ + return GetKey(RIGHT).bHeld|GetKey(D).bHeld; +} +bool Crawler::UpHeld(){ + return GetKey(UP).bHeld|GetKey(W).bHeld; +} +bool Crawler::DownHeld(){ + return GetKey(DOWN).bHeld|GetKey(S).bHeld; +} +bool Crawler::LeftReleased(){ + return GetKey(LEFT).bReleased|GetKey(A).bReleased; +} +bool Crawler::RightReleased(){ + return GetKey(RIGHT).bReleased|GetKey(D).bReleased; +} +bool Crawler::UpReleased(){ + return GetKey(UP).bReleased|GetKey(W).bReleased; +} +bool Crawler::DownReleased(){ + return GetKey(DOWN).bReleased|GetKey(S).bReleased; +} + void Crawler::HandleUserInput(float fElapsedTime){ bool setIdleAnimation=true; if(GetKey(SPACE).bPressed&&player.GetState()==State::NORMAL&&player.GetGroundSlamCooldown()==0){ player.Spin(Player::GROUND_SLAM_SPIN_TIME,14*PI); } - if(GetKey(RIGHT).bHeld){ + if(RightHeld()){ if(player.GetPos().x+12+fElapsedTime*100*player.GetMoveSpdMult()0){ player.SetX(player.GetX()-fElapsedTime*100*player.GetMoveSpdMult()); } else { @@ -170,7 +195,7 @@ void Crawler::HandleUserInput(float fElapsedTime){ } setIdleAnimation=false; } - if(GetKey(UP).bHeld){ + if(UpHeld()){ if(player.GetPos().y-12+fElapsedTime*100*player.GetMoveSpdMult()>0){ player.SetY(player.GetY()-fElapsedTime*100*player.GetMoveSpdMult()); } else { @@ -182,7 +207,7 @@ void Crawler::HandleUserInput(float fElapsedTime){ } setIdleAnimation=false; } - if(GetKey(DOWN).bHeld){ + if(DownHeld()){ if(player.GetPos().y+12+fElapsedTime*100*player.GetMoveSpdMult()