jkxr/Projects/Android/jni/JKVR/VrClientInfo.h
2022-11-26 15:38:50 +00:00

92 lines
No EOL
3.1 KiB
C

#if !defined(vr_client_info_h)
#define vr_client_info_h
#define NUM_WEAPON_SAMPLES 10
typedef struct {
bool cin_camera; // cinematic camera taken over
bool misc_camera; // looking through a misc camera view entity
bool remote_turret; // controlling a remote turret
bool remote_droid; // controlling a remote droid
bool remote_npc; // controlling a remote NPC (will also be true when controlling a droid)
bool using_screen_layer;
bool third_person;
float fov;
bool immersive_cinematics;
bool weapon_stabilised;
bool right_handed;
bool player_moving;
int move_speed; // 0 (default) = Comfortable (75%) , 1 = Full (100%), 2 = Walk (50%)
bool crouched;
int cgzoommode;
int saberBlockDebounce; // Amount of time after player is blocked that the saber position is fixed
int forceid;
vec3_t hmdposition;
vec3_t hmdposition_last; // Don't use this, it is just for calculating delta!
vec3_t hmdposition_delta; // delta since last frame
vec3_t hmdposition_snap; // The position the HMD was in last time the menu was up (snapshot position)
vec3_t hmdposition_offset; // offset from the position the HMD was in last time the menu was up
vec3_t hmdorientation;
vec3_t hmdorientation_last; // Don't use this, it is just for calculating delta!
vec3_t hmdorientation_delta;
vec3_t hmdorientation_snap;
vec3_t hmdorientation_first; // only updated when in first person
vec3_t weaponangles_saber;
vec3_t weaponangles;
vec3_t weaponangles_last; // Don't use this, it is just for calculating delta!
vec3_t weaponangles_delta;
vec3_t weaponangles_first; // only updated when in first person
vec3_t clientviewangles; //orientation in the client - we use this in the cgame
float snapTurn; // how much turn has been applied to the yaw by joystick
float clientview_yaw_last; // Don't use this, it is just for calculating delta!
float clientview_yaw_delta;
vec3_t weaponposition;
vec3_t weaponoffset;
float weaponoffset_timestamp;
vec3_t weaponoffset_history[NUM_WEAPON_SAMPLES];
float weaponoffset_history_timestamp[NUM_WEAPON_SAMPLES];
int item_selector; // 1 - weapons/gadgets/saber stance, 2 - Force powers
bool velocitytriggered;
float primaryswingvelocity;
bool primaryVelocityTriggeredAttack;
float secondaryswingvelocity;
bool secondaryVelocityTriggeredAttack;
vec3_t secondaryVelocityTriggerLocation;
vec3_t offhandangles;
vec3_t offhandangles_last; // Don't use this, it is just for calculating delta!
vec3_t offhandangles_delta;
vec3_t offhandposition[5]; // store last 5
vec3_t offhandoffset;
float maxHeight;
float curHeight;
bool useGestureActive;
//////////////////////////////////////
// Test stuff for weapon alignment
//////////////////////////////////////
char test_name[256];
float test_scale;
vec3_t test_angles;
vec3_t test_offset;
} vr_client_info_t;
#ifndef JKVR_CLIENT
extern vr_client_info_t *vr;
#endif
#endif //vr_client_info_h