k_srbind_mback,
k_srbind_maccept,
k_srbind_mopen,
+ k_srbind_replay_play,
+ k_srbind_replay_freecam,
+ k_srbind_replay_resume,
k_srbind_max,
};
k_sraxis_grab = 0,
k_sraxis_mbrowse_h,
k_sraxis_mbrowse_v,
+ k_sraxis_replay_h,
+
k_sraxis_max
};
[ SDL_CONTROLLER_BUTTON_GUIDE ] = { "\x91", "\x91" },
};
-static const char *controller_glyph( u32 sdl_index )
-{
+static const char *controller_glyph( u32 sdl_index ){
if( vg_input.display_input_type == SDL_CONTROLLER_TYPE_PS3 ||
vg_input.display_input_type == SDL_CONTROLLER_TYPE_PS4 ||
vg_input.display_input_type == SDL_CONTROLLER_TYPE_PS5 )
[k_srbind_mdown] = controller_glyph( SDL_CONTROLLER_BUTTON_DPAD_DOWN ),
[k_srbind_mback] = controller_glyph( SDL_CONTROLLER_BUTTON_B ),
[k_srbind_maccept]= controller_glyph( SDL_CONTROLLER_BUTTON_A ),
- [k_srbind_mopen] = controller_glyph( SDL_CONTROLLER_BUTTON_GUIDE )
+ [k_srbind_mopen] = controller_glyph( SDL_CONTROLLER_BUTTON_GUIDE ),
+[k_srbind_replay_play]= controller_glyph( SDL_CONTROLLER_BUTTON_X ),
+[k_srbind_replay_freecam]=controller_glyph(SDL_CONTROLLER_BUTTON_Y ),
+[k_srbind_replay_resume]=controller_glyph( SDL_CONTROLLER_BUTTON_A )
};
const char *keyboard_table[ k_srbind_max ] = {
[k_srbind_mback] = "\xa3",
[k_srbind_maccept]= "\xa2",
[k_srbind_mopen] = "\xa3" ,
+[k_srbind_replay_play]= KEYBOARD_GLYPH( "G" ),
+[k_srbind_replay_freecam] = KEYBOARD_GLYPH( "F" ),
+[k_srbind_replay_resume]= "\xa1",
};
if( vg_input.display_input_method == k_input_method_controller )
const char *controller_table[ k_sraxis_max ] = {
[k_sraxis_grab] = "\x90",
[k_sraxis_mbrowse_h] = "\x88",
- [k_sraxis_mbrowse_v] = "\x89"
+ [k_sraxis_mbrowse_v] = "\x89",
+ [k_sraxis_replay_h] = "\x8f\x90"
};
const char *keyboard_table[ k_sraxis_max ] = {
[k_sraxis_grab] = "\x9e",
[k_sraxis_mbrowse_h] = KEYBOARD_GLYPH("\x93")KEYBOARD_GLYPH("\x95"),
- [k_sraxis_mbrowse_v] = KEYBOARD_GLYPH("\x96")KEYBOARD_GLYPH("\x94")
+ [k_sraxis_mbrowse_v] = KEYBOARD_GLYPH("\x96")KEYBOARD_GLYPH("\x94"),
+ [k_sraxis_replay_h] = KEYBOARD_GLYPH("Q")KEYBOARD_GLYPH("E"),
};
if( vg_input.display_input_method == k_input_method_controller )
v2_copy( srinput.joystick_states[ joystick ][0], state );
}
-static float axis_state( enum sr_axis axis )
-{
+static float axis_state( enum sr_axis axis ){
if( vg_ui.wants_mouse ) return 0.0f;
else return srinput.axis_states[axis][0];
}
setbtn( k_srbind_maccept, vg_getkey(SDLK_e) );
setbtn( k_srbind_maccept, vg_getkey(SDLK_RETURN));
setbtn( k_srbind_maccept, vg_getkey(SDLK_RETURN2));
+ setbtn( k_srbind_replay_play, vg_getkey(SDLK_g) );
+ setbtn( k_srbind_replay_freecam, vg_getkey(SDLK_f) );
+ setbtn( k_srbind_replay_resume, vg_getkey(SDLK_SPACE) );
/* axis
* --------------------------------------------*/
srinput.axis_states[ k_sraxis_grab ][0] = vg_getkey( SDLK_LSHIFT );
- if( vg_getkey( SDLK_d ) )
+ if( vg_getkey( SDLK_e ) )
+ srinput.axis_states[ k_sraxis_replay_h ][0] += 1.0f;
+ if( vg_getkey( SDLK_q ) )
+ srinput.axis_states[ k_sraxis_replay_h ][0] -= 1.0f;
+
+ if( vg_getkey( SDLK_d ) )
srinput.joystick_states[k_srjoystick_steer][0][0] += 1.0f;
- if( vg_getkey( SDLK_a ) )
+ 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;
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 ) )
+
+ if( vg_getkey( SDLK_LEFT ) ){
srinput.axis_states[ k_sraxis_mbrowse_h ][0] -= 1.0f;
- if( vg_getkey( SDLK_RIGHT ) )
+ }
+ if( vg_getkey( SDLK_RIGHT ) ){
srinput.axis_states[ k_sraxis_mbrowse_h ][0] += 1.0f;
+ }
if( vg_input.active_controller_index >= 0 ){
struct vg_controller *controller =
setbtn( k_srbind_maccept,buttons[ SDL_CONTROLLER_BUTTON_A ] );
setbtn( k_srbind_mopen, buttons[ SDL_CONTROLLER_BUTTON_START ] );
setbtn( k_srbind_mback, buttons[ SDL_CONTROLLER_BUTTON_START ] );
+ setbtn( k_srbind_replay_resume, buttons[ SDL_CONTROLLER_BUTTON_A ] );
+ setbtn( k_srbind_replay_play, buttons[ SDL_CONTROLLER_BUTTON_X ] );
+ setbtn( k_srbind_replay_freecam, buttons[ SDL_CONTROLLER_BUTTON_Y ] );
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];
+ *axisbrowsev = &srinput.axis_states[ k_sraxis_mbrowse_v ][0],
+ *axisreplayh = &srinput.axis_states[ k_sraxis_replay_h ][0];
steer[0] += axis[ SDL_CONTROLLER_AXIS_LEFTX ];
steer[1] += axis[ SDL_CONTROLLER_AXIS_LEFTY ];
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 ];
+ axisreplayh[0] += vg_maxf(0.0f,axis[SDL_CONTROLLER_AXIS_TRIGGERRIGHT]);
+ axisreplayh[0] -= vg_maxf(0.0f,axis[SDL_CONTROLLER_AXIS_TRIGGERLEFT]);
float lh = axis[ SDL_CONTROLLER_AXIS_LEFTX ],
lv = axis[ SDL_CONTROLLER_AXIS_LEFTY ],