- u32 mouse = SDL_GetMouseState(NULL,NULL),
- mouse1= (mouse & SDL_BUTTON(SDL_BUTTON_LEFT))? 1: 0,
- mouse2= (mouse & SDL_BUTTON(SDL_BUTTON_RIGHT))? 1: 0;
-
- /* button inputs
- * ------------------------------------- */
- setbtn( k_srbind_jump, vg_getkey(SDLK_SPACE) );
- setbtn( k_srbind_push, vg_getkey(SDLK_w) );
- setbtn( k_srbind_trick0, mouse1 );
- setbtn( k_srbind_trick1, mouse2 );
- setbtn( k_srbind_trick2, mouse1 & mouse2 );
- setbtn( k_srbind_use, vg_getkey(SDLK_e) );
- setbtn( k_srbind_reset, vg_getkey(SDLK_r) );
- setbtn( k_srbind_camera, vg_getkey(SDLK_c) );
- setbtn( k_srbind_mleft, vg_getkey(SDLK_LEFT) );
- setbtn( k_srbind_mright, vg_getkey(SDLK_RIGHT) );
- setbtn( k_srbind_mup, vg_getkey(SDLK_UP) );
- setbtn( k_srbind_mdown, vg_getkey(SDLK_DOWN) );
- setbtn( k_srbind_mback, vg_getkey(SDLK_ESCAPE) );
- setbtn( k_srbind_mopen, vg_getkey(SDLK_ESCAPE) );
- setbtn( k_srbind_maccept, vg_getkey(SDLK_e) );
- setbtn( k_srbind_maccept, vg_getkey(SDLK_RETURN));
- setbtn( k_srbind_maccept, vg_getkey(SDLK_RETURN2));
-
- /* axis
- * --------------------------------------------*/
- srinput.axis_states[ k_sraxis_grab ][0] = vg_getkey( SDLK_LSHIFT );
-
- if( vg_getkey( SDLK_d ) )
- srinput.joystick_states[k_srjoystick_steer][0][0] += 1.0f;
- if( vg_getkey( SDLK_a ) )
- srinput.joystick_states[k_srjoystick_steer][0][0] -= 1.0f;
- if( vg_getkey( SDLK_w ) )
- srinput.joystick_states[k_srjoystick_steer][0][1] -= 1.0f;
- if( vg_getkey( SDLK_s ) )
- srinput.joystick_states[k_srjoystick_steer][0][1] += 1.0f;
-
- if( vg_getkey( SDLK_DOWN ) )
- srinput.axis_states[ k_sraxis_mbrowse_v ][0] -= 1.0f;
- if( vg_getkey( SDLK_UP ) )
- srinput.axis_states[ k_sraxis_mbrowse_v ][0] += 1.0f;
- if( vg_getkey( SDLK_LEFT ) )
- srinput.axis_states[ k_sraxis_mbrowse_h ][0] -= 1.0f;
- if( vg_getkey( SDLK_RIGHT ) )
- srinput.axis_states[ k_sraxis_mbrowse_h ][0] += 1.0f;
-
- if( vg_input.active_controller_index != -1 ){
- struct vg_controller *controller =
- &vg_input.controllers[vg_input.active_controller_index];
-
- u32 *buttons = controller->buttons;
- setbtn( k_srbind_jump, buttons[ SDL_CONTROLLER_BUTTON_A ] );
- setbtn( k_srbind_push, buttons[ SDL_CONTROLLER_BUTTON_B ] );
- setbtn( k_srbind_trick0, buttons[ SDL_CONTROLLER_BUTTON_A ] );
- setbtn( k_srbind_trick1, buttons[ SDL_CONTROLLER_BUTTON_B ] );
- setbtn( k_srbind_trick2, buttons[ SDL_CONTROLLER_BUTTON_X ] );
- setbtn( k_srbind_use, buttons[ SDL_CONTROLLER_BUTTON_Y ] );
- setbtn( k_srbind_reset, buttons[ SDL_CONTROLLER_BUTTON_LEFTSHOULDER ] );
- setbtn( k_srbind_camera, buttons[ SDL_CONTROLLER_BUTTON_RIGHTSHOULDER ] );
- setbtn( k_srbind_mleft, buttons[ SDL_CONTROLLER_BUTTON_DPAD_LEFT ] );
- setbtn( k_srbind_mright, buttons[ SDL_CONTROLLER_BUTTON_DPAD_RIGHT ] );
- setbtn( k_srbind_mup, buttons[ SDL_CONTROLLER_BUTTON_DPAD_UP ] );
- setbtn( k_srbind_mdown, buttons[ SDL_CONTROLLER_BUTTON_DPAD_DOWN ] );
- setbtn( k_srbind_mback, buttons[ SDL_CONTROLLER_BUTTON_B ] );
- setbtn( k_srbind_maccept,buttons[ SDL_CONTROLLER_BUTTON_A ] );
- setbtn( k_srbind_mopen, buttons[ SDL_CONTROLLER_BUTTON_GUIDE ] );
-
- float *axis = controller->axises;
-
- float *steer = srinput.joystick_states[ k_srjoystick_steer ][0],
- *look = srinput.joystick_states[ k_srjoystick_look ][0],
- *grab = srinput.joystick_states[ k_srjoystick_grab ][0],
- *axisgrab = &srinput.axis_states[ k_sraxis_grab ][0],
- *axisbrowseh = &srinput.axis_states[ k_sraxis_mbrowse_h ][0],
- *axisbrowsev = &srinput.axis_states[ k_sraxis_mbrowse_v ][0];
-
- steer[0] += axis[ SDL_CONTROLLER_AXIS_LEFTX ];
- steer[1] += axis[ SDL_CONTROLLER_AXIS_LEFTY ];
- look[0] += axis[ SDL_CONTROLLER_AXIS_RIGHTX ];
- look[1] += axis[ SDL_CONTROLLER_AXIS_RIGHTY ];
- grab[0] += axis[ SDL_CONTROLLER_AXIS_RIGHTX ];
- grab[1] += axis[ SDL_CONTROLLER_AXIS_RIGHTY ];
- axisgrab[0] += vg_maxf( 0.0f, axis[ SDL_CONTROLLER_AXIS_TRIGGERRIGHT ] );
- axisbrowseh[0] += axis[ SDL_CONTROLLER_AXIS_LEFTX ];
- axisbrowsev[0] += axis[ SDL_CONTROLLER_AXIS_LEFTY ];
-
- float lh = axis[ SDL_CONTROLLER_AXIS_LEFTX ],
- lv = axis[ SDL_CONTROLLER_AXIS_LEFTY ],
- sensitivity = 0.35f;
-
- if( lh > sensitivity ) setbtn( k_srbind_mright, 1 );
- if( lh < -sensitivity ) setbtn( k_srbind_mleft, 1 );
- if( lv > sensitivity ) setbtn( k_srbind_mup, 1 );
- if( lv < -sensitivity ) setbtn( k_srbind_mdown, 1 );