2023-01-27 01:26:28 +00:00
|
|
|
// SONIC ROBO BLAST 2
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// Copyright (C) 1998-2000 by DooM Legacy Team.
|
2023-03-31 12:53:31 +00:00
|
|
|
// Copyright (C) 1999-2023 by Sonic Team Junior.
|
2023-01-27 01:26:28 +00:00
|
|
|
//
|
|
|
|
// This program is free software distributed under the
|
|
|
|
// terms of the GNU General Public License, version 2.
|
|
|
|
// See the 'LICENSE' file for more details.
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
/// \file i_joy.h
|
|
|
|
/// \brief share joystick information with game control code
|
|
|
|
|
|
|
|
#ifndef __I_JOY_H__
|
|
|
|
#define __I_JOY_H__
|
|
|
|
|
|
|
|
#include "g_input.h"
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\brief -JOYAXISRANGE to +JOYAXISRANGE for each axis
|
|
|
|
|
|
|
|
(1024-1) so we can do a right shift instead of division
|
|
|
|
(doesnt matter anyway, just give enough precision)
|
|
|
|
a gamepad will return -1, 0, or 1 in the event data
|
|
|
|
an analog type joystick will return a value
|
|
|
|
from -JOYAXISRANGE to +JOYAXISRANGE for each axis
|
|
|
|
*/
|
|
|
|
|
|
|
|
#define JOYAXISRANGE 1023
|
|
|
|
|
|
|
|
// detect a bug if we increase JOYBUTTONS above DIJOYSTATE's number of buttons
|
|
|
|
#if (JOYBUTTONS > 64)
|
|
|
|
"JOYBUTTONS is greater than INT64 bits can hold"
|
|
|
|
#endif
|
|
|
|
|
|
|
|
/** \brief The struct JoyType_s
|
|
|
|
|
|
|
|
share some joystick information (maybe 2 for splitscreen), to the game input code,
|
|
|
|
actually, we need to know if it is a gamepad or analog controls
|
|
|
|
*/
|
|
|
|
|
|
|
|
struct JoyType_s
|
|
|
|
{
|
|
|
|
/*! if true, we MUST Poll() to get new joystick data,
|
|
|
|
that is: we NEED the DIRECTINPUTDEVICE2 ! (watchout NT compatibility) */
|
|
|
|
INT32 bJoyNeedPoll;
|
|
|
|
/*! this joystick is a gamepad, read: digital axes
|
|
|
|
if FALSE, interpret the joystick event data as JOYAXISRANGE (see above) */
|
|
|
|
INT32 bGamepadStyle;
|
|
|
|
|
|
|
|
};
|
|
|
|
typedef struct JoyType_s JoyType_t;
|
|
|
|
/** \brief Joystick info
|
|
|
|
for palyer 1 and 2's joystick/gamepad
|
|
|
|
*/
|
|
|
|
|
|
|
|
extern JoyType_t Joystick, Joystick2;
|
|
|
|
|
|
|
|
#endif // __I_JOY_H__
|