#include "common.h"
#include "vg/vg_loader.h"
-static inline float vg_get_axis( const char *axis );
-static inline int vg_get_button( const char *button );
+VG_STATIC inline float vg_get_axis( const char *axis );
+VG_STATIC inline int vg_get_button( const char *button );
/*
* Cannot be used in fixed update
*/
-static inline int vg_get_button_down( const char *button );
-static inline int vg_get_button_up( const char *button );
+VG_STATIC inline int vg_get_button_down( const char *button );
+VG_STATIC inline int vg_get_button_up( const char *button );
enum vg_button_state
{
}
vg_input_mode;
-static struct axis_binding
+VG_STATIC struct axis_binding
{
const char *name;
union
}
vg_axis_binds[];
-static struct button_binding
+VG_STATIC struct button_binding
{
const char *name;
int bind;
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wreturn-type"
-static inline float vg_get_axis( const char *axis )
+VG_STATIC float vg_get_axis( const char *axis )
{
for( int i = 0; i < vg_list_size( vg_axis_binds ); i ++ )
if( !strcmp( axis, vg_axis_binds[i].name ) )
return vg_axis_binds[i].value;
}
-static inline struct button_binding *vg_get_button_ptr( const char *button )
+VG_STATIC struct button_binding *vg_get_button_ptr( const char *button )
{
for( int i=0; i<vg_list_size(vg_button_binds); i ++ )
if( !strcmp(button,vg_button_binds[i].name) )
return NULL;
}
-static inline struct button_binding *vg_get_button_ptr_c( const char *button )
+VG_STATIC struct button_binding *vg_get_button_ptr_c( const char *button )
{
for( int i=0; i<vg_list_size(vg_controller_binds); i ++ )
if( !strcmp(button,vg_controller_binds[i].name) )
#pragma GCC diagnostic pop
-static int vg_console_enabled(void);
+VG_STATIC int vg_console_enabled(void);
-static inline void vg_get_button_states( const char *name, int *cur, int *prev )
+VG_STATIC void vg_get_button_states( const char *name, int *cur, int *prev )
{
struct button_binding *bind = vg_get_button_ptr( name ),
*bindc = vg_get_button_ptr_c( name );
}
}
-static inline int vg_get_button( const char *button )
+VG_STATIC int vg_get_button( const char *button )
{
int cur, prev;
vg_get_button_states( button, &cur, &prev );
return cur && !vg_console_enabled();
}
-static inline int vg_get_button_down( const char *button )
+VG_STATIC int vg_get_button_down( const char *button )
{
if( vg.engine_stage == k_engine_stage_update_fixed )
vg_fatal_exit_loop( "Cannot use that here\n" );
return cur & (cur ^ prev) && !vg_console_enabled();
}
-static inline int vg_get_button_up( const char *button )
+VG_STATIC int vg_get_button_up( const char *button )
{
if( vg.engine_stage == k_engine_stage_update_fixed )
vg_fatal_exit_loop( "Cannot use that here\n" );
return prev & (cur ^ prev) && !vg_console_enabled();
}
-static inline enum vg_button_state vg_get_button_state( const char *button )
+VG_STATIC enum vg_button_state vg_get_button_state( const char *button )
{
if(vg_get_button_down( button )) return k_button_state_down;
if(vg_get_button_up( button )) return k_button_state_up;
return k_button_state_none;
}
-static inline int key_is_keyboard( int const id )
+VG_STATIC int key_is_keyboard( int const id )
{
vg_static_assert( GLFW_MOUSE_BUTTON_LAST < GLFW_KEY_SPACE,
"GLFW: Mouse has too many buttons" );
void vg_update_inputs(void)
{
if( !glfwGetGamepadState( GLFW_JOYSTICK_1, &vg.gamepad) )
+ {
vg.gamepad_ready = 0;
+ vg.gamepad.axes[ GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER ] = -1.0f;
+ vg.gamepad.axes[ GLFW_GAMEPAD_AXIS_LEFT_TRIGGER ] = -1.0f;
+ }
/* Update button inputs */
for( int i = 0; i < vg_list_size( vg_button_binds ); i ++ )
}
}
-static void vg_gamepad_init(void)
+VG_STATIC void vg_gamepad_init(void)
{
vg_acquire_thread_sync();
}
}
+ vg.gamepad.axes[ GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER ] = -1.0f;
+ vg.gamepad.axes[ GLFW_GAMEPAD_AXIS_LEFT_TRIGGER ] = -1.0f;
+
vg_release_thread_sync();
}