summaryrefslogtreecommitdiff
path: root/src/client/pauza.c
blob: 97bade550313134bb0d189bf3a377b37f6edecd3 (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
73
74
75
76

#include <stdio.h>
#include <stdlib.h>
#include <assert.h>

#include "main.h"
#include "list.h"
#include "myTimer.h"

#include "interface.h"
#include "image.h"
#include "pauza.h"

static image_t *g_pauza;
static bool_t activePauza;
static my_time_t lastActive;

void initPauza()
{
	g_pauza = addImageData("pauza.png", IMAGE_ALPHA, "pauza", IMAGE_GROUP_USER);
	activePauza = FALSE;
	lastActive = getMyTime();
}

static void switchPauzed()
{
	if( activePauza == TRUE )
	{
		activePauza = FALSE;
	}
	else
	{
		activePauza = TRUE;
	}
}

void drawPauza()
{
	if( activePauza )
	{
		drawImage(g_pauza,
			WINDOW_SIZE_X/2 - g_pauza->w/2,
			WINDOW_SIZE_Y/2 - g_pauza->h/2,
			0, 0,
			g_pauza->w, g_pauza->h);
	}
}

void eventPauza()
{
	Uint8 *mapa;
	mapa = SDL_GetKeyState(NULL);

	if( mapa[SDLK_p] == SDL_PRESSED )
	{
		my_time_t currentTime;

		currentTime = getMyTime();

		if( currentTime - lastActive > PAUZE_ACTIVE_TIME_INTERVAL )
		{
			lastActive = currentTime;
			switchPauzed();
		}
	}
}

bool_t isPauzeActive()
{
	return activePauza;
}

void quitPauza()
{
}