void Android_IN_Move(ticcmd_t* cmd ) { cmd->ucmd.forwardmove += forwardmove_android * forwardmove[1]; cmd->ucmd.sidemove += sidemove_android * sidemove[1]; //LOGI("Side: %d %d",(int)(sidemove_android * sidemove[1]),(int)(-look_yaw_joy * 1000)); switch(look_pitch_mode) { case LOOK_MODE_MOUSE: G_AddViewPitch(look_pitch_mouse * 30000); look_pitch_mouse = 0; break; case LOOK_MODE_JOYSTICK: G_AddViewPitch(-look_pitch_joy * 1000); break; } switch(look_yaw_mode) { case LOOK_MODE_MOUSE: G_AddViewAngle(-look_yaw_mouse * 50000); look_yaw_mouse = 0; break; case LOOK_MODE_JOYSTICK: G_AddViewAngle(-look_yaw_joy * 1000); break; } if (cmd_to_run) { AddCommandString(cmd_to_run,0); cmd_to_run = NULL; } }
void Stereo3D::setViewDirection(FGLRenderer& renderer) { // Set HMD angle parameters for NEXT frame static float previousYaw = 0; if (mode == OCULUS_RIFT) { PitchRollYaw prw = getHeadOrientation(renderer); if (oculusTracker->isGood()) { oculusTracker->update(); // get new orientation from headset. double dYaw = prw.yaw - previousYaw; G_AddViewAngle(-32768.0*dYaw/3.14159); // determined empirically previousYaw = prw.yaw; // Pitch int pitch = -32768/3.14159*prw.pitch; int dPitch = (pitch - viewpitch/65536); // empirical G_AddViewPitch(-dPitch); // Roll can be local, because it doesn't affect gameplay. renderer.mAngles.Roll = prw.roll * 180.0 / 3.14159; } } }