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
66e1a55c Poul Sander 2018-12-23 16:25 24
#ifndef GAMECONTROLLER_H
66e1a55c Poul Sander 2018-12-23 16:25 25
#define GAMECONTROLLER_HPP
66e1a55c Poul Sander 2018-12-23 16:25 26
ce5aa7d3 sago007 2016-03-13 11:44 27
#include "SDL.h"
bf4572f8 sago007 2018-04-10 22:25 28
#include <vector>
bf4572f8 sago007 2018-04-10 22:25 29
#include <string>
a077dceb sago007 2016-03-19 19:19 30
a077dceb sago007 2016-03-19 19:19 31
const int deadZoneLimit = 20000;
a077dceb sago007 2016-03-19 19:19 32
ce5aa7d3 sago007 2016-03-13 11:44 33
void InitGameControllers();
8c5c4f5a Poul Sander 2020-06-27 13:06 34
void UnInitGameControllers();
ce5aa7d3 sago007 2016-03-13 11:44 35
ce5aa7d3 sago007 2016-03-13 11:44 36
bool isPlayerDownEvent(int playerNumber, const SDL_Event& event);
ce5aa7d3 sago007 2016-03-13 11:44 37
bool isPlayerUpEvent(int playerNumber, const SDL_Event& event);
ce5aa7d3 sago007 2016-03-13 11:44 38
bool isPlayerLeftEvent(int playerNumber, const SDL_Event& event);
ce5aa7d3 sago007 2016-03-13 11:44 39
bool isPlayerRightEvent(int playerNumber, const SDL_Event& event);
ce5aa7d3 sago007 2016-03-13 11:44 40
bool isPlayerSwitchEvent(int playerNumber, const SDL_Event& event);
2cb68251 sago007 2016-03-14 18:01 41
bool isPlayerPushEvent(int playerNumber, const SDL_Event& event);
db84be96 sago007 2020-06-27 22:07 42
bool isGameControllerConnectionEvent(const SDL_Event& event);
a077dceb sago007 2016-03-19 19:19 43
void GameControllerSetVerbose(bool value);
bf4572f8 sago007 2018-04-10 22:25 44
const std::vector<std::string>& GetSupportedControllerNames();
a077dceb sago007 2016-03-19 19:19 45
a077dceb sago007 2016-03-19 19:19 46
/**
a077dceb sago007 2016-03-19 19:19 47
 * Checks that the given event is in the dead zone.
a077dceb sago007 2016-03-19 19:19 48
 * 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 49
 * Otherwise nothing is done
66e1a55c Poul Sander 2018-12-23 16:25 50
 * @param event An SDL
a077dceb sago007 2016-03-19 19:19 51
 */
a077dceb sago007 2016-03-19 19:19 52
void checkDeadZone(const SDL_Event& event);
a077dceb sago007 2016-03-19 19:19 53
a077dceb sago007 2016-03-19 19:19 54
/**
a077dceb sago007 2016-03-19 19:19 55
 * Checks that the given axis on a given gamepad was in a dead zone last time checked.
a077dceb sago007 2016-03-19 19:19 56
 * @param id The gamepad
a077dceb sago007 2016-03-19 19:19 57
 * @param axis The axis on the gamepad
a077dceb sago007 2016-03-19 19:19 58
 * @return true if the axis has been in the dead zone
a077dceb sago007 2016-03-19 19:19 59
 */
a077dceb sago007 2016-03-19 19:19 60
bool getDeadZone(SDL_JoystickID id, int axis);
a077dceb sago007 2016-03-19 19:19 61
a077dceb sago007 2016-03-19 19:19 62
/**
66e1a55c Poul Sander 2018-12-23 16:25 63
 * Sets dead zone status on a given axis on a given gamepad
a077dceb sago007 2016-03-19 19:19 64
 * @param id The gamepad
a077dceb sago007 2016-03-19 19:19 65
 * @param axis The axis on the gamepad
a077dceb sago007 2016-03-19 19:19 66
 * @param value Value to set. Should normally be false as true will be set by checkDeadZone
a077dceb sago007 2016-03-19 19:19 67
 */
66e1a55c Poul Sander 2018-12-23 16:25 68
void setDeadZone(SDL_JoystickID id, int axis, bool value);
66e1a55c Poul Sander 2018-12-23 16:25 69
66e1a55c Poul Sander 2018-12-23 16:25 70
#endif  //GAMECONTROLLER
1970-01-01 00:00 71