#include "stdafx.h" #include #include #include "..\..\Minecraft.h" #include "..\..\MultiplayerLocalPlayer.h" #include "Tutorial.h" #include "TutorialConstraints.h" #include "ControllerTask.h" ControllerTask::ControllerTask(Tutorial *tutorial, int descriptionId, bool enablePreCompletion, bool showMinimumTime, int mappings[], unsigned int mappingsLength, int iCompletionMaskA[], int iCompletionMaskACount, int iSouthpawMappings[], unsigned int uiSouthpawMappingsCount) : TutorialTask( tutorial, descriptionId, enablePreCompletion, nullptr, showMinimumTime ) { for(unsigned int i = 0; i < mappingsLength; ++i) { constraints.push_back( new InputConstraint( mappings[i] ) ); completedMappings[mappings[i]] = false; } if(uiSouthpawMappingsCount > 0 ) m_bHasSouthpaw = true; for(unsigned int i = 0; i < uiSouthpawMappingsCount; ++i) { southpawCompletedMappings[iSouthpawMappings[i]] = false; } m_iCompletionMaskA= new int [iCompletionMaskACount]; for(int i=0;iplayer->GetXboxPad(),eGameSetting_ControlSouthPaw)) { for (auto& it : southpawCompletedMappings ) { bool current = it.second; if(!current) { // TODO Use a different pad if( InputManager.GetValue(pMinecraft->player->GetXboxPad(), it.first) > 0 ) { it.second = true; m_uiCompletionMask|=1<player->GetXboxPad(), it.first) > 0 ) { it.second = true; m_uiCompletionMask|=1<