summary refs log tree commit diff stats
path: root/titlestate.cpp
diff options
context:
space:
mode:
authorStarla Insigna <starla4444@gmail.com>2013-08-27 11:39:37 -0400
committerStarla Insigna <starla4444@gmail.com>2013-08-27 11:39:37 -0400
commitffd335aca284c286030e2b26f1a02a0441748f46 (patch)
treebcc1c241621fe159ae7ef178122fb41c5f23eb00 /titlestate.cpp
parentd47da18958b5214def5127e201f60668c566d9bb (diff)
downloadmazeoflife-ffd335aca284c286030e2b26f1a02a0441748f46.tar.gz
mazeoflife-ffd335aca284c286030e2b26f1a02a0441748f46.tar.bz2
mazeoflife-ffd335aca284c286030e2b26f1a02a0441748f46.zip
Started rewriting game from scratch with SDL2
Only the title screen is currently implemented
Diffstat (limited to 'titlestate.cpp')
-rw-r--r--titlestate.cpp84
1 files changed, 38 insertions, 46 deletions
diff --git a/titlestate.cpp b/titlestate.cpp index 5a9b91e..8375c4a 100644 --- a/titlestate.cpp +++ b/titlestate.cpp
@@ -1,52 +1,44 @@
1#include "includes.h" 1#include "titlestate.h"
2#include "util.h"
2 3
3TitleState::TitleState() 4State* TitleState::operator() (SDL_Renderer* renderer)
4{ 5{
5 background = SDL_LoadBMP("resources/title.bmp"); 6 SDL_Texture* background = loadImage(renderer, "resources/title.bmp");
6 pointer = SDL_LoadBMP("resources/pointer.bmp"); 7 SDL_Texture* pointer = loadImage(renderer, "resources/pointer.bmp");
7 8 int selection = 0;
8 selection = 0; 9 SDL_Event e;
9} 10
10 11 for (;;)
11void TitleState::input(SDL_keysym key)
12{
13 if ((key.sym == SDLK_UP) && (selection != 0))
14 { 12 {
15 selection--; 13 while (SDL_PollEvent(&e))
16 } else if ((key.sym == SDLK_DOWN) && (selection != 3))
17 {
18 selection++;
19 } else if (key.sym == SDLK_RETURN)
20 {
21 switch (selection)
22 { 14 {
23 case 0: 15 if (e.type == SDL_QUIT)
24 changeState(new GameState()); 16 {
25 17 return NULL;
26 break; 18 } else if (e.type == SDL_KEYDOWN)
27 case 1: 19 {
28 changeState(new HowToPlayState()); 20 if ((e.key.keysym.sym == SDLK_UP) && (selection != 0))
29 21 {
30 break; 22 selection--;
31 case 2: 23 } else if ((e.key.keysym.sym == SDLK_DOWN) && (selection != 3))
32 changeState(new ChooseHighscoreListState()); 24 {
33 25 selection++;
34 break; 26 } else if (e.key.keysym.sym == SDLK_RETURN)
35 case 3: 27 {
36 exit(0); 28 switch (selection)
29 {
30 //case 0: return new GameState();
31 //case 1: return new HowToPlayState();
32 //case 2: return new ChooseHighscoreListState();
33 case 3: return NULL;
34 }
35 }
36 }
37 } 37 }
38
39 SDL_RenderClear(renderer);
40 SDL_RenderCopy(renderer, background, NULL, NULL);
41 applyTexture(renderer, pointer, 136, selection==0?316:(selection==1?350:(selection==2?381:417)));
42 SDL_RenderPresent(renderer);
38 } 43 }
39} 44} \ No newline at end of file
40
41void TitleState::render(SDL_Surface* screen)
42{
43 SDL_BlitSurface(background, NULL, screen, NULL);
44
45 SDL_Rect pSpace;
46 pSpace.x = 136;
47 pSpace.y = (selection==0?316:(selection==1?350:(selection==2?381:417)));
48 pSpace.w = pointer->w;
49 pSpace.h = pointer->h;
50
51 SDL_BlitSurface(pointer, NULL, screen, &pSpace);
52}