aboutsummaryrefslogtreecommitdiff
path: root/progress/src/menu.c
blob: ea4b1dfc3f2ff8e83218f67f0d3416187f028fce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include "main.h"

void menu_render(SDL_Renderer *renderer, GameState *gameState)
{
    //set the drawing color to white
    SDL_SetRenderDrawColor(renderer, 255, 255, 255, 255);

    //Clear the screen (to blue)
    SDL_RenderClear(renderer);
    ///set the drawing color to white
    SDL_SetRenderDrawColor(renderer, 255, 255, 255, 255);
    ///Dibujar Persona
    SDL_Rect menu = {gameState->menu.x, gameState->menu.y, gameState->menu.w, gameState->menu.h};
    SDL_Rect menu_sprite = {gameState->menu.camara_x[gameState->menu.camara], gameState->menu.camara_y, 64, 48};
    if (gameState->player1.facing_left == 0)
    SDL_RenderCopyEx(renderer, gameState->menuTexture, &menu_sprite, &menu, 0 , NULL, SDL_FLIP_NONE);
    ///We are done drawing, "present" or show to the screen what we've drawn
    SDL_RenderPresent(renderer);
}

int menu_events(SDL_Window *window,GameState *gameState)
{
      SDL_Event event;
      int done = 0;
      while(SDL_PollEvent(&event))
      {
        switch(event.type)
        {
          case SDL_WINDOWEVENT_CLOSE:
          {
            if(window)
            {
              SDL_DestroyWindow(window);
              window = NULL;
              done = 1;
            }
          }
          break;
          case SDL_KEYDOWN:
          {
            switch(event.key.keysym.sym)
            {
              case SDLK_ESCAPE:
                done = 1;
              break;
            }
          }
          break;
          case SDL_QUIT:
            //quit out of the game
            done = 1;
          break;
          case SDL_MOUSEBUTTONDOWN:
            if(event.motion.x > 60 && event.motion.x < 580 && event.motion.y > 190 && event.motion.y < 270)
                done = 1;
            if(event.motion.x > 60 && event.motion.x < 580 && event.motion.y > 340 && event.motion.y < 420)
            {
                gameState->done = 1;
                done = 1;
            }
            break;
          case SDL_MOUSEMOTION:
            if(event.motion.x > 60 && event.motion.x < 580 && event.motion.y > 190 && event.motion.y < 270)
                gameState->menu.camara = 1;
            else if(event.motion.x > 60 && event.motion.x < 580 && event.motion.y > 340 && event.motion.y < 420)
                gameState->menu.camara = 2;
            else
                gameState->menu.camara = 0;
        }
      }
      return done;
}