Dual input for P1 done
This commit is contained in:
@@ -33,15 +33,15 @@ Director::Director(std::string path)
|
||||
mOptions->windowSize = 3;
|
||||
mOptions->language = en_UK;
|
||||
mOptions->difficulty = DIFFICULTY_NORMAL;
|
||||
mOptions->player1Input = INPUT_USE_KEYBOARD;
|
||||
mOptions->player2Input = INPUT_USE_GAMECONTROLLER;
|
||||
mOptions->input[0] = INPUT_USE_KEYBOARD;
|
||||
mOptions->input[1] = INPUT_USE_GAMECONTROLLER;
|
||||
mOptions->filter = FILTER_NEAREST;
|
||||
mOptions->vSync = true;
|
||||
}
|
||||
|
||||
// Crea los objetos
|
||||
mInput1 = new Input(mOptions->player1Input);
|
||||
mInput2 = new Input(mOptions->player2Input);
|
||||
mInput = new Input();
|
||||
//mInput2 = new Input(mOptions->input[1]);
|
||||
//mInput[0] = new Input(INPUT_USE_KEYBOARD);
|
||||
//mInput[1] = new Input(INPUT_USE_GAMECONTROLLER);
|
||||
|
||||
@@ -71,11 +71,8 @@ Director::~Director()
|
||||
{
|
||||
saveConfigFile();
|
||||
|
||||
delete mInput1;
|
||||
mInput1 = nullptr;
|
||||
|
||||
delete mInput2;
|
||||
mInput2 = nullptr;
|
||||
delete mInput;
|
||||
mInput = nullptr;
|
||||
|
||||
delete mLang;
|
||||
mLang = nullptr;
|
||||
@@ -101,36 +98,36 @@ void Director::init(Uint8 name)
|
||||
// Textos
|
||||
mLang->setLang(mOptions->language);
|
||||
|
||||
// Teclado
|
||||
mInput1->bindKey(INPUT_UP, SDL_SCANCODE_UP);
|
||||
mInput1->bindKey(INPUT_DOWN, SDL_SCANCODE_DOWN);
|
||||
mInput1->bindKey(INPUT_LEFT, SDL_SCANCODE_LEFT);
|
||||
mInput1->bindKey(INPUT_RIGHT, SDL_SCANCODE_RIGHT);
|
||||
mInput1->bindKey(INPUT_ACCEPT, SDL_SCANCODE_RETURN);
|
||||
mInput1->bindKey(INPUT_CANCEL, SDL_SCANCODE_ESCAPE);
|
||||
// Controles
|
||||
mInput->bindKey(INPUT_UP, SDL_SCANCODE_UP);
|
||||
mInput->bindKey(INPUT_DOWN, SDL_SCANCODE_DOWN);
|
||||
mInput->bindKey(INPUT_LEFT, SDL_SCANCODE_LEFT);
|
||||
mInput->bindKey(INPUT_RIGHT, SDL_SCANCODE_RIGHT);
|
||||
mInput->bindKey(INPUT_ACCEPT, SDL_SCANCODE_RETURN);
|
||||
mInput->bindKey(INPUT_CANCEL, SDL_SCANCODE_ESCAPE);
|
||||
#ifdef __MIPSEL__
|
||||
mInput1->bindKey(INPUT_BUTTON_1, SDL_SCANCODE_LSHIFT);
|
||||
mInput1->bindKey(INPUT_BUTTON_2, SDL_SCANCODE_SPACE);
|
||||
mInput1->bindKey(INPUT_BUTTON_3, SDL_SCANCODE_LCTRL);
|
||||
mInput->bindKey(INPUT_BUTTON_1, SDL_SCANCODE_LSHIFT);
|
||||
mInput->bindKey(INPUT_BUTTON_2, SDL_SCANCODE_SPACE);
|
||||
mInput->bindKey(INPUT_BUTTON_3, SDL_SCANCODE_LCTRL);
|
||||
#else
|
||||
mInput1->bindKey(INPUT_BUTTON_1, SDL_SCANCODE_Q);
|
||||
mInput1->bindKey(INPUT_BUTTON_2, SDL_SCANCODE_W);
|
||||
mInput1->bindKey(INPUT_BUTTON_3, SDL_SCANCODE_E);
|
||||
mInput->bindKey(INPUT_BUTTON_1, SDL_SCANCODE_Q);
|
||||
mInput->bindKey(INPUT_BUTTON_2, SDL_SCANCODE_W);
|
||||
mInput->bindKey(INPUT_BUTTON_3, SDL_SCANCODE_E);
|
||||
#endif
|
||||
mInput1->bindKey(INPUT_BUTTON_PAUSE, SDL_SCANCODE_ESCAPE); // PAUSE
|
||||
mInput1->bindKey(INPUT_BUTTON_ESCAPE, SDL_SCANCODE_ESCAPE); // ESCAPE
|
||||
mInput->bindKey(INPUT_BUTTON_PAUSE, SDL_SCANCODE_ESCAPE); // PAUSE
|
||||
mInput->bindKey(INPUT_BUTTON_ESCAPE, SDL_SCANCODE_ESCAPE); // ESCAPE
|
||||
|
||||
mInput2->bindGameController(INPUT_UP, SDL_CONTROLLER_BUTTON_DPAD_UP);
|
||||
mInput2->bindGameController(INPUT_DOWN, SDL_CONTROLLER_BUTTON_DPAD_DOWN);
|
||||
mInput2->bindGameController(INPUT_LEFT, SDL_CONTROLLER_BUTTON_DPAD_LEFT);
|
||||
mInput2->bindGameController(INPUT_RIGHT, SDL_CONTROLLER_BUTTON_DPAD_RIGHT);
|
||||
mInput2->bindGameController(INPUT_ACCEPT, SDL_CONTROLLER_BUTTON_A);
|
||||
mInput2->bindGameController(INPUT_CANCEL, SDL_CONTROLLER_BUTTON_B);
|
||||
mInput2->bindGameController(INPUT_BUTTON_1, SDL_CONTROLLER_BUTTON_X);
|
||||
mInput2->bindGameController(INPUT_BUTTON_2, SDL_CONTROLLER_BUTTON_Y);
|
||||
mInput2->bindGameController(INPUT_BUTTON_3, SDL_CONTROLLER_BUTTON_B);
|
||||
mInput2->bindGameController(INPUT_BUTTON_PAUSE, SDL_CONTROLLER_BUTTON_GUIDE); // PAUSE
|
||||
mInput2->bindGameController(INPUT_BUTTON_ESCAPE, SDL_CONTROLLER_BUTTON_GUIDE); // ESCAPE
|
||||
mInput->bindGameController(INPUT_UP, SDL_CONTROLLER_BUTTON_DPAD_UP);
|
||||
mInput->bindGameController(INPUT_DOWN, SDL_CONTROLLER_BUTTON_DPAD_DOWN);
|
||||
mInput->bindGameController(INPUT_LEFT, SDL_CONTROLLER_BUTTON_DPAD_LEFT);
|
||||
mInput->bindGameController(INPUT_RIGHT, SDL_CONTROLLER_BUTTON_DPAD_RIGHT);
|
||||
mInput->bindGameController(INPUT_ACCEPT, SDL_CONTROLLER_BUTTON_B);
|
||||
mInput->bindGameController(INPUT_CANCEL, SDL_CONTROLLER_BUTTON_A);
|
||||
mInput->bindGameController(INPUT_BUTTON_1, SDL_CONTROLLER_BUTTON_X);
|
||||
mInput->bindGameController(INPUT_BUTTON_2, SDL_CONTROLLER_BUTTON_Y);
|
||||
mInput->bindGameController(INPUT_BUTTON_3, SDL_CONTROLLER_BUTTON_B);
|
||||
mInput->bindGameController(INPUT_BUTTON_PAUSE, SDL_CONTROLLER_BUTTON_GUIDE); // PAUSE
|
||||
mInput->bindGameController(INPUT_BUTTON_ESCAPE, SDL_CONTROLLER_BUTTON_GUIDE); // ESCAPE
|
||||
}
|
||||
|
||||
// Inicializa JailAudio
|
||||
@@ -421,8 +418,8 @@ bool Director::loadConfigFile()
|
||||
mOptions->windowSize = 3;
|
||||
mOptions->language = en_UK;
|
||||
mOptions->difficulty = DIFFICULTY_NORMAL;
|
||||
mOptions->player1Input = INPUT_USE_KEYBOARD;
|
||||
mOptions->player2Input = INPUT_USE_GAMECONTROLLER;
|
||||
mOptions->input[0] = INPUT_USE_KEYBOARD;
|
||||
mOptions->input[1] = INPUT_USE_GAMECONTROLLER;
|
||||
mOptions->filter = FILTER_NEAREST;
|
||||
mOptions->vSync = true;
|
||||
|
||||
@@ -449,8 +446,8 @@ bool Director::loadConfigFile()
|
||||
SDL_RWwrite(file, &mOptions->windowSize, sizeof(mOptions->windowSize), 1);
|
||||
SDL_RWwrite(file, &mOptions->language, sizeof(mOptions->language), 1);
|
||||
SDL_RWwrite(file, &mOptions->difficulty, sizeof(mOptions->difficulty), 1);
|
||||
SDL_RWwrite(file, &mOptions->player1Input, sizeof(mOptions->player1Input), 1);
|
||||
SDL_RWwrite(file, &mOptions->player2Input, sizeof(mOptions->player2Input), 1);
|
||||
SDL_RWwrite(file, &mOptions->input[0], sizeof(mOptions->input[0]), 1);
|
||||
SDL_RWwrite(file, &mOptions->input[1], sizeof(mOptions->input[1]), 1);
|
||||
SDL_RWwrite(file, &mOptions->filter, sizeof(mOptions->filter), 1);
|
||||
SDL_RWwrite(file, &mOptions->vSync, sizeof(mOptions->vSync), 1);
|
||||
|
||||
@@ -472,8 +469,8 @@ bool Director::loadConfigFile()
|
||||
SDL_RWread(file, &mOptions->windowSize, sizeof(mOptions->windowSize), 1);
|
||||
SDL_RWread(file, &mOptions->language, sizeof(mOptions->language), 1);
|
||||
SDL_RWread(file, &mOptions->difficulty, sizeof(mOptions->difficulty), 1);
|
||||
SDL_RWread(file, &mOptions->player1Input, sizeof(mOptions->player1Input), 1);
|
||||
SDL_RWread(file, &mOptions->player2Input, sizeof(mOptions->player2Input), 1);
|
||||
SDL_RWread(file, &mOptions->input[0], sizeof(mOptions->input[0]), 1);
|
||||
SDL_RWread(file, &mOptions->input[1], sizeof(mOptions->input[1]), 1);
|
||||
SDL_RWread(file, &mOptions->filter, sizeof(mOptions->filter), 1);
|
||||
SDL_RWread(file, &mOptions->vSync, sizeof(mOptions->vSync), 1);
|
||||
|
||||
@@ -513,8 +510,8 @@ bool Director::saveConfigFile()
|
||||
SDL_RWwrite(file, &mOptions->windowSize, sizeof(mOptions->windowSize), 1);
|
||||
SDL_RWwrite(file, &mOptions->language, sizeof(mOptions->language), 1);
|
||||
SDL_RWwrite(file, &mOptions->difficulty, sizeof(mOptions->difficulty), 1);
|
||||
SDL_RWwrite(file, &mOptions->player1Input, sizeof(mOptions->player1Input), 1);
|
||||
SDL_RWwrite(file, &mOptions->player2Input, sizeof(mOptions->player2Input), 1);
|
||||
SDL_RWwrite(file, &mOptions->input[0], sizeof(mOptions->input[0]), 1);
|
||||
SDL_RWwrite(file, &mOptions->input[1], sizeof(mOptions->input[1]), 1);
|
||||
SDL_RWwrite(file, &mOptions->filter, sizeof(mOptions->filter), 1);
|
||||
SDL_RWwrite(file, &mOptions->vSync, sizeof(mOptions->vSync), 1);
|
||||
|
||||
@@ -570,7 +567,7 @@ void Director::runIntro()
|
||||
|
||||
void Director::runTitle()
|
||||
{
|
||||
mTitle = new Title(mWindow, mRenderer, mInput1, mFileList, mOptions, mLang);
|
||||
mTitle = new Title(mWindow, mRenderer, mInput, mFileList, mOptions, mLang);
|
||||
setSection(mTitle->run(mSection.subsection));
|
||||
delete mTitle;
|
||||
}
|
||||
@@ -578,9 +575,9 @@ void Director::runTitle()
|
||||
void Director::runGame()
|
||||
{
|
||||
if (mSection.subsection == GAME_SECTION_PLAY_1P)
|
||||
mGame = new Game(1, mRenderer, mFileList, mLang, mInput1, mInput2, false, mOptions->difficulty);
|
||||
mGame = new Game(1, mRenderer, mFileList, mLang, mInput, false, mOptions);
|
||||
if (mSection.subsection == GAME_SECTION_PLAY_2P)
|
||||
mGame = new Game(2, mRenderer, mFileList, mLang, mInput1, mInput2, false, mOptions->difficulty);
|
||||
mGame = new Game(2, mRenderer, mFileList, mLang, mInput, false, mOptions);
|
||||
setSection(mGame->run());
|
||||
delete mGame;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user