working on 2players

This commit is contained in:
2021-08-22 19:50:55 +02:00
parent 2fd4334259
commit 943fb7bf27
5 changed files with 350 additions and 272 deletions

View File

@@ -11,7 +11,8 @@
Director::Director(std::string path)
{
// Crea los objetos
mInput = new Input();
mInput1 = new Input();
mInput2 = new Input();
mOptions = new options_t;
// Inicializa variables
@@ -45,8 +46,10 @@ Director::~Director()
{
saveConfigFile();
delete mInput;
mInput = nullptr;
delete mInput1;
mInput1 = nullptr;
delete mInput2;
mInput2 = nullptr;
delete mOptions;
mOptions = nullptr;
@@ -78,23 +81,41 @@ void Director::init()
initTextStrings(mTextStrings, mOptions->language);
// Teclado
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);
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);
#ifdef __MIPSEL__
mInput->bindKey(INPUT_BUTTON_1, SDL_SCANCODE_LSHIFT);
mInput->bindKey(INPUT_BUTTON_2, SDL_SCANCODE_SPACE);
mInput->bindKey(INPUT_BUTTON_3, SDL_SCANCODE_LCTRL);
mInput1->bindKey(INPUT_BUTTON_1, SDL_SCANCODE_LSHIFT);
mInput1->bindKey(INPUT_BUTTON_2, SDL_SCANCODE_SPACE);
mInput1->bindKey(INPUT_BUTTON_3, SDL_SCANCODE_LCTRL);
#else
mInput->bindKey(INPUT_BUTTON_1, SDL_SCANCODE_Q);
mInput->bindKey(INPUT_BUTTON_2, SDL_SCANCODE_W);
mInput->bindKey(INPUT_BUTTON_3, SDL_SCANCODE_E);
mInput1->bindKey(INPUT_BUTTON_1, SDL_SCANCODE_Q);
mInput1->bindKey(INPUT_BUTTON_2, SDL_SCANCODE_W);
mInput1->bindKey(INPUT_BUTTON_3, SDL_SCANCODE_E);
#endif
mInput->bindKey(INPUT_BUTTON_4, SDL_SCANCODE_ESCAPE); // PAUSE
mInput->bindKey(INPUT_BUTTON_5, SDL_SCANCODE_ESCAPE); // ESCAPE
mInput1->bindKey(INPUT_BUTTON_4, SDL_SCANCODE_ESCAPE); // PAUSE
mInput1->bindKey(INPUT_BUTTON_5, SDL_SCANCODE_ESCAPE); // ESCAPE
mInput2->bindKey(INPUT_UP, SDL_SCANCODE_UP);
mInput2->bindKey(INPUT_DOWN, SDL_SCANCODE_DOWN);
mInput2->bindKey(INPUT_LEFT, SDL_SCANCODE_LEFT);
mInput2->bindKey(INPUT_RIGHT, SDL_SCANCODE_RIGHT);
mInput2->bindKey(INPUT_ACCEPT, SDL_SCANCODE_RETURN);
mInput2->bindKey(INPUT_CANCEL, SDL_SCANCODE_ESCAPE);
#ifdef __MIPSEL__
mInput2->bindKey(INPUT_BUTTON_1, SDL_SCANCODE_LSHIFT);
mInput2->bindKey(INPUT_BUTTON_2, SDL_SCANCODE_SPACE);
mInput2->bindKey(INPUT_BUTTON_3, SDL_SCANCODE_LCTRL);
#else
mInput2->bindKey(INPUT_BUTTON_1, SDL_SCANCODE_Q);
mInput2->bindKey(INPUT_BUTTON_2, SDL_SCANCODE_W);
mInput2->bindKey(INPUT_BUTTON_3, SDL_SCANCODE_E);
#endif
mInput2->bindKey(INPUT_BUTTON_4, SDL_SCANCODE_ESCAPE); // PAUSE
mInput2->bindKey(INPUT_BUTTON_5, SDL_SCANCODE_ESCAPE); // ESCAPE
}
// Inicializa JailAudio
@@ -439,14 +460,14 @@ void Director::runIntro()
void Director::runTitle()
{
mTitle = new Title(mWindow, mRenderer, mInput, mFileList, mOptions, mTextStrings);
mTitle = new Title(mWindow, mRenderer, mInput1, mFileList, mOptions, mTextStrings);
setSection(mTitle->run(mSection.subsection));
delete mTitle;
}
void Director::runGame()
{
mGame = new Game(mRenderer, mFileList, mTextStrings, mInput, false);
mGame = new Game(2, mRenderer, mFileList, mTextStrings, mInput1, mInput2, false);
setSection(mGame->run());
delete mGame;
}