git repos / blockattack-game

blame: source/code/gamecontroller.h

normal view · raw

826cf176 sago007 2016-03-12 10:53 1
/*
826cf176 sago007 2016-03-12 10:53 2
===========================================================================
826cf176 sago007 2016-03-12 10:53 3
blockattack - Block Attack - Rise of the Blocks
826cf176 sago007 2016-03-12 10:53 4
Copyright (C) 2005-2016 Poul Sander
826cf176 sago007 2016-03-12 10:53 5
826cf176 sago007 2016-03-12 10:53 6
This program is free software: you can redistribute it and/or modify
826cf176 sago007 2016-03-12 10:53 7
it under the terms of the GNU General Public License as published by
826cf176 sago007 2016-03-12 10:53 8
the Free Software Foundation, either version 2 of the License, or
826cf176 sago007 2016-03-12 10:53 9
(at your option) any later version.
826cf176 sago007 2016-03-12 10:53 10
826cf176 sago007 2016-03-12 10:53 11
This program is distributed in the hope that it will be useful,
826cf176 sago007 2016-03-12 10:53 12
but WITHOUT ANY WARRANTY; without even the implied warranty of
826cf176 sago007 2016-03-12 10:53 13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
826cf176 sago007 2016-03-12 10:53 14
GNU General Public License for more details.
826cf176 sago007 2016-03-12 10:53 15
826cf176 sago007 2016-03-12 10:53 16
You should have received a copy of the GNU General Public License
826cf176 sago007 2016-03-12 10:53 17
along with this program.  If not, see http://www.gnu.org/licenses/
826cf176 sago007 2016-03-12 10:53 18
826cf176 sago007 2016-03-12 10:53 19
Source information and contacts persons can be found at
826cf176 sago007 2016-03-12 10:53 20
http://www.blockattack.net
826cf176 sago007 2016-03-12 10:53 21
===========================================================================
826cf176 sago007 2016-03-12 10:53 22
*/
826cf176 sago007 2016-03-12 10:53 23
ce5aa7d3 sago007 2016-03-13 11:44 24
#include "SDL.h"
ce5aa7d3 sago007 2016-03-13 11:44 25
a077dceb sago007 2016-03-19 19:19 26
a077dceb sago007 2016-03-19 19:19 27
const int deadZoneLimit = 20000;
a077dceb sago007 2016-03-19 19:19 28
ce5aa7d3 sago007 2016-03-13 11:44 29
void InitGameControllers();
ce5aa7d3 sago007 2016-03-13 11:44 30
ce5aa7d3 sago007 2016-03-13 11:44 31
bool isPlayerDownEvent(int playerNumber, const SDL_Event& event);
ce5aa7d3 sago007 2016-03-13 11:44 32
bool isPlayerUpEvent(int playerNumber, const SDL_Event& event);
ce5aa7d3 sago007 2016-03-13 11:44 33
bool isPlayerLeftEvent(int playerNumber, const SDL_Event& event);
ce5aa7d3 sago007 2016-03-13 11:44 34
bool isPlayerRightEvent(int playerNumber, const SDL_Event& event);
ce5aa7d3 sago007 2016-03-13 11:44 35
bool isPlayerSwitchEvent(int playerNumber, const SDL_Event& event);
2cb68251 sago007 2016-03-14 18:01 36
bool isPlayerPushEvent(int playerNumber, const SDL_Event& event);
a077dceb sago007 2016-03-19 19:19 37
void GameControllerSetVerbose(bool value);
a077dceb sago007 2016-03-19 19:19 38
a077dceb sago007 2016-03-19 19:19 39
/**
a077dceb sago007 2016-03-19 19:19 40
 * Checks that the given event is in the dead zone.
a077dceb sago007 2016-03-19 19:19 41
 * If it is in the dead zone. Then the dead zone variable for that axis will be set to true;
a077dceb sago007 2016-03-19 19:19 42
 * Otherwise nothing is done
a077dceb sago007 2016-03-19 19:19 43
 * @param event An SDL 
a077dceb sago007 2016-03-19 19:19 44
 */
a077dceb sago007 2016-03-19 19:19 45
void checkDeadZone(const SDL_Event& event);
a077dceb sago007 2016-03-19 19:19 46
a077dceb sago007 2016-03-19 19:19 47
/**
a077dceb sago007 2016-03-19 19:19 48
 * Checks that the given axis on a given gamepad was in a dead zone last time checked.
a077dceb sago007 2016-03-19 19:19 49
 * @param id The gamepad
a077dceb sago007 2016-03-19 19:19 50
 * @param axis The axis on the gamepad
a077dceb sago007 2016-03-19 19:19 51
 * @return true if the axis has been in the dead zone
a077dceb sago007 2016-03-19 19:19 52
 */
a077dceb sago007 2016-03-19 19:19 53
bool getDeadZone(SDL_JoystickID id, int axis);
a077dceb sago007 2016-03-19 19:19 54
a077dceb sago007 2016-03-19 19:19 55
/**
a077dceb sago007 2016-03-19 19:19 56
 * Sets dead zone status on a given axis on a given gamepad 
a077dceb sago007 2016-03-19 19:19 57
 * @param id The gamepad
a077dceb sago007 2016-03-19 19:19 58
 * @param axis The axis on the gamepad
a077dceb sago007 2016-03-19 19:19 59
 * @param value Value to set. Should normally be false as true will be set by checkDeadZone
a077dceb sago007 2016-03-19 19:19 60
 */
a077dceb sago007 2016-03-19 19:19 61
void setDeadZone(SDL_JoystickID id, int axis, bool value);