mirror of
https://github.com/DrBeef/Doom3Quest.git
synced 2025-02-15 08:40:41 +00:00
- Some code tidying - Improved scaling of HUD for more visibility - Better handling of controls when using GUIs - First weapon pack test pk4 included (and copied)
147 lines
No EOL
2.1 KiB
C++
147 lines
No EOL
2.1 KiB
C++
|
|
#include "renderer/tr_local.h"
|
|
#include "sys/platform.h"
|
|
|
|
extern "C"
|
|
{
|
|
|
|
static const char *cmd_to_run = NULL;
|
|
void Android_SetCommand(const char * cmd)
|
|
{
|
|
cmd_to_run = cmd;
|
|
}
|
|
|
|
// Can only set one impulse per frame, this should be fine
|
|
static int nextImpulse = 0;
|
|
void Android_SetImpuse(int impulse)
|
|
{
|
|
nextImpulse = impulse;
|
|
}
|
|
|
|
typedef enum {
|
|
UB_NONE,
|
|
|
|
UB_UP,
|
|
UB_DOWN,
|
|
UB_LEFT,
|
|
UB_RIGHT,
|
|
UB_FORWARD,
|
|
UB_BACK,
|
|
UB_LOOKUP,
|
|
UB_LOOKDOWN,
|
|
UB_STRAFE,
|
|
UB_MOVELEFT,
|
|
UB_MOVERIGHT,
|
|
|
|
UB_BUTTON0,
|
|
UB_BUTTON1,
|
|
UB_BUTTON2,
|
|
UB_BUTTON3,
|
|
UB_BUTTON4,
|
|
UB_BUTTON5,
|
|
UB_BUTTON6,
|
|
UB_BUTTON7,
|
|
|
|
UB_ATTACK,
|
|
UB_SPEED,
|
|
UB_ZOOM,
|
|
UB_SHOWSCORES,
|
|
UB_MLOOK,
|
|
|
|
UB_IMPULSE0,
|
|
UB_IMPULSE1,
|
|
UB_IMPULSE2,
|
|
UB_IMPULSE3,
|
|
UB_IMPULSE4,
|
|
UB_IMPULSE5,
|
|
UB_IMPULSE6,
|
|
UB_IMPULSE7,
|
|
UB_IMPULSE8,
|
|
UB_IMPULSE9,
|
|
UB_IMPULSE10,
|
|
UB_IMPULSE11,
|
|
UB_IMPULSE12,
|
|
UB_IMPULSE13,
|
|
UB_IMPULSE14,
|
|
UB_IMPULSE15,
|
|
UB_IMPULSE16,
|
|
UB_IMPULSE17,
|
|
UB_IMPULSE18,
|
|
UB_IMPULSE19,
|
|
UB_IMPULSE20,
|
|
UB_IMPULSE21,
|
|
UB_IMPULSE22,
|
|
UB_IMPULSE23,
|
|
UB_IMPULSE24,
|
|
UB_IMPULSE25,
|
|
UB_IMPULSE26,
|
|
UB_IMPULSE27,
|
|
UB_IMPULSE28,
|
|
UB_IMPULSE29,
|
|
UB_IMPULSE30,
|
|
UB_IMPULSE31,
|
|
UB_IMPULSE32,
|
|
UB_IMPULSE33,
|
|
UB_IMPULSE34,
|
|
UB_IMPULSE35,
|
|
UB_IMPULSE36,
|
|
UB_IMPULSE37,
|
|
UB_IMPULSE38,
|
|
UB_IMPULSE39,
|
|
UB_IMPULSE40,
|
|
UB_IMPULSE41,
|
|
UB_IMPULSE42,
|
|
UB_IMPULSE43,
|
|
UB_IMPULSE44,
|
|
UB_IMPULSE45,
|
|
UB_IMPULSE46,
|
|
UB_IMPULSE47,
|
|
UB_IMPULSE48,
|
|
UB_IMPULSE49,
|
|
UB_IMPULSE50,
|
|
UB_IMPULSE51,
|
|
UB_IMPULSE52,
|
|
UB_IMPULSE53,
|
|
UB_IMPULSE54,
|
|
UB_IMPULSE55,
|
|
UB_IMPULSE56,
|
|
UB_IMPULSE57,
|
|
UB_IMPULSE58,
|
|
UB_IMPULSE59,
|
|
UB_IMPULSE60,
|
|
UB_IMPULSE61,
|
|
UB_IMPULSE62,
|
|
UB_IMPULSE63,
|
|
|
|
UB_MAX_BUTTONS
|
|
} usercmdButton_t;
|
|
|
|
static int cmdButtons[UB_MAX_BUTTONS];
|
|
|
|
void Android_ButtonChange(int key, int state)
|
|
{
|
|
cmdButtons[key] = !!state;
|
|
}
|
|
|
|
int Android_GetButton(int key)
|
|
{
|
|
return cmdButtons[key];
|
|
}
|
|
|
|
const char * Android_GetCommand()
|
|
{
|
|
// Potential race condition here to miss a command, however extremely unlikely to happen
|
|
const char *cmd = cmd_to_run;
|
|
cmd_to_run = NULL;
|
|
return cmd;
|
|
}
|
|
|
|
int Android_GetNextImpulse()
|
|
{
|
|
int impulse = nextImpulse;
|
|
nextImpulse = 0;
|
|
return impulse;
|
|
}
|
|
|
|
|
|
} |