raze-gles/polymer/eduke32/source/android/in_android.h
terminx 9eb8efa442 Android updates from Emile
git-svn-id: https://svn.eduke32.com/eduke32@4529 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-06 00:10:33 +00:00

111 lines
2.8 KiB
C

#include "function.h"
#include "compat.h"
#ifdef __cplusplus
extern "C"
{
#endif
#define MENU_UP 0x200
#define MENU_DOWN 0x201
#define MENU_LEFT 0x202
#define MENU_RIGHT 0x203
#define MENU_SELECT 0x204
#define MENU_BACK 0x205
#define KEY_QUICK_CMD 0x1005
#define KEY_SHOW_KBRD 0x1008
#define KEY_SHOW_INVEN 0x1009
#define KEY_QUICK_SAVE 0x100A
#define KEY_QUICK_LOAD 0x100B
#define KEY_QUICK_KEY1 0x1011
#define KEY_QUICK_KEY2 0x1012
#define KEY_QUICK_KEY3 0x1013
#define KEY_QUICK_KEY4 0x1014
#define BUTTONSET(x,value) (CONTROL_ButtonState |= ((uint64_t)value<<((uint64_t)(x))))
#define BUTTONCLEAR(x) (CONTROL_ButtonState &= ~((uint64_t)1<<((uint64_t)(x))))
#define PRECISIONSHOOTFACTOR 0.3f
// where do these numbers come from?
#define ANDROIDFORWARDMOVEFACTOR 5000
#define ANDROIDSIDEMOVEFACTOR 200
#define ANDROIDPITCHFACTOR 100000
#define ANDROIDYAWFACTOR 160000
#define ANDROIDPITCHFACTORJOYSTICK 2000
#define ANDROIDYAWFACTORJOYSTICK 4000
#define MINCONTROLALPHA 0.25f
typedef enum {
READ_SCREEN_MODE,
READ_WEAPONS,
READ_AUTOMAP,
READ_MAPFOLLOWMODE,
READ_RENDERER,
READ_LASTWEAPON,
READ_PAUSED
} portableread_t;
typedef enum {
TOUCH_SCREEN_BLANK, //Nothing on screen (not used)
TOUCH_SCREEN_BLANK_TAP, //One button filling screen with no graphic, tap to send Enter key
TOUCH_SCREEN_YES_NO, //Yes/No buttons on screen, sends Enter or Esc
TOUCH_SCREEN_MENU, //Normal Menu arrows and Enter Esc keys
TOUCH_SCREEN_GAME, //Normal game screen
TOUCH_SCREEN_AUTOMAP, //When auto map is up (not used yet)
TOUCH_SCREEN_CONSOLE //When Console is up
} touchscreemode_t;
typedef struct
{
int32_t crouchToggleState;
int32_t lastWeapon;
uint64_t functionSticky; //To let at least one tick
uint64_t functionHeld;
int32_t left_double_action;
int32_t right_double_action;
double pitch, yaw;
double pitch_joystick, yaw_joystick;
float forwardmove, sidemove;
// set by configuration UI
float strafe_sens, forward_sens;
float pitch_sens, yaw_sens;
} droidinput_t;
typedef struct
{
int32_t audio_sample_rate;
int32_t audio_buffer_size;
uint16_t screen_width, screen_height;
} droidsysinfo_t;
extern droidinput_t droidinput;
extern droidsysinfo_t droidinfo;
extern char toggleCrouch;
int PortableKeyEvent(int state, int code, int unicode);
int PortableRead(portableread_t r);
void PortableAction(int state, int action);
void PortableMove(float fwd, float strafe);
void PortableLook(double yaw, double pitch);
void PortableLookJoystick(double yaw, double pitch);
void PortableCommand(const char * cmd);
void PortableInit(int argc, const char ** argv);
#ifdef __cplusplus
}
#endif