imgui stuff
[carveJwlIkooP6JGAAIwe30JlM.git] / player.c
index da097071804d7a6e18d5faaef5a1c56c59451bb7..0339a8d889f87c0faa08bf6b2443cf2bba9e783b 100644 (file)
--- a/player.c
+++ b/player.c
@@ -4,6 +4,7 @@
 #include "player.h"
 #include "camera.h"
 #include "player_model.h"
+#include "input.h"
 
 VG_STATIC int localplayer_cmd_respawn( int argc, const char *argv[] )
 {
@@ -37,6 +38,7 @@ VG_STATIC void player_init(void)
 PLAYER_API
 void player__debugtext( int size, const char *fmt, ... )
 {
+#if 0
        char buffer[ 1024 ];
 
    va_list args;
@@ -46,6 +48,7 @@ void player__debugtext( int size, const char *fmt, ... )
 
    ui_text( vg_uictx.cursor, buffer, size, k_text_align_right );
        vg_uictx.cursor[1] += 14*size;
+#endif
 }
 
 /*
@@ -58,72 +61,6 @@ void player__create( player_instance *inst )
    assert( only_once == 0 );
    only_once ++;
 
-   inst->input_js1h = vg_create_named_input( "steer-h", k_input_type_axis );
-   inst->input_js1v = vg_create_named_input( "steer-v", k_input_type_axis );
-   inst->input_grab = vg_create_named_input( "grab",    k_input_type_axis_norm);
-   inst->input_js2h = vg_create_named_input( "grab-h",  k_input_type_axis );
-   inst->input_js2v = vg_create_named_input( "grab-v",  k_input_type_axis );
-   inst->input_jump = vg_create_named_input( "jump",    k_input_type_button );
-   inst->input_push = vg_create_named_input( "push",    k_input_type_button );
-   inst->input_walk = vg_create_named_input( "walk",    k_input_type_button );
-   inst->input_walkh= vg_create_named_input( "walk-h",  k_input_type_axis );
-   inst->input_walkv= vg_create_named_input( "walk-v",  k_input_type_axis );
-   inst->input_use  = vg_create_named_input( "use",     k_input_type_button );
-   inst->input_reset= vg_create_named_input( "reset",   k_input_type_button );
-   inst->input_camera=vg_create_named_input( "camera",  k_input_type_button );
-   inst->input_trick0=vg_create_named_input( "trick0",  k_input_type_button );
-   inst->input_trick1=vg_create_named_input( "trick1",  k_input_type_button );
-   inst->input_trick2=vg_create_named_input( "trick2",  k_input_type_button );
-
-   const char *default_cfg[] = 
-   {
-      "bind  steer-h gp-ls-h",
-      "bind -steer-h a",
-      "bind +steer-h d",
-
-      "bind  steer-v gp-ls-v",
-      "bind -steer-v w",
-      "bind +steer-v s",
-
-      "bind  grab gp-rt",
-      "bind +grab shift",
-      "bind  grab-h gp-rs-h",
-      "bind  grab-v gp-rs-v",
-
-      "bind jump space",
-      "bind jump gp-a",
-
-      "bind trick0 mouse1",
-      "bind trick0 gp-a",
-      "bind trick1 mouse2",
-      "bind trick1 gp-b",
-      "bind trick2 gp-x",     /* keyboard: m0 + m1 */
-
-      "bind push gp-b",
-      "bind push w",
-
-      "bind walk shift",
-      "bind walk gp-ls",
-      
-      "bind  walk-h  gp-ls-h",
-      "bind  walk-v -gp-ls-v",
-      "bind +walk-h d",
-      "bind -walk-h a",
-      "bind +walk-v w",
-      "bind -walk-v s",
-
-      "bind reset gp-lb",
-      "bind reset r",
-
-      "bind use gp-y",
-      "bind use e",
-      "bind camera c",
-      "bind camera gp-rb"
-   };
-
-   for( int i=0; i<vg_list_size(default_cfg); i++ )
-      vg_execute_console_input(default_cfg[i]);
-
    v3_zero( inst->rb.co );
    v3_zero( inst->rb.w );
    v3_zero( inst->rb.v );
@@ -154,12 +91,6 @@ void player__use_model( player_instance *player, struct player_model *mdl )
    player->playermodel = mdl;
 }
 
-PLAYER_API
-void player__use_board( player_instance *player, struct player_board *mdl )
-{
-   player->playerboard = mdl;
-}
-
 PLAYER_API
 void player__bind( player_instance *player )
 {
@@ -198,7 +129,7 @@ void player__pre_update( player_instance *player )
       return;
    }
 
-   if( vg_input_button_down( player->input_reset ) ){
+   if( button_down( k_srbind_reset ) && !player->immobile ){
       double delta = world_global.time - world_global.last_use;
 
       if( (delta <= RESET_MAX_TIME) && (world_global.last_use != 0.0) ){
@@ -242,7 +173,7 @@ void player__pre_update( player_instance *player )
       }
    }
 
-   if( vg_input_button_down( player->input_camera ) ){
+   if( button_down( k_srbind_camera ) && !player->immobile ){
       if( player->camera_mode == k_cam_firstperson )
          player->camera_mode = k_cam_thirdperson;
       else
@@ -364,6 +295,7 @@ VG_STATIC void gate_rotate_angles( ent_gate *gate, v3f angles, v3f d )
 
 PLAYER_API void player__im_gui( player_instance *player )
 {
+#if 0
    vg_uictx.cursor[0] = vg.window_x - 200;
    vg_uictx.cursor[1] = 0;
    vg_uictx.cursor[2] = 200;
@@ -381,8 +313,10 @@ PLAYER_API void player__im_gui( player_instance *player )
 
    b[2].co[1] = vg_uictx.cursor[1];
    b[3].co[1] = vg_uictx.cursor[1];
+#endif
 }
 
+VG_STATIC void global_skateshop_exit(void);
 PLAYER_API void player__spawn( player_instance *player, 
                                ent_spawn *rp )
 {
@@ -397,8 +331,11 @@ PLAYER_API void player__spawn( player_instance *player,
    m3x3_identity( player->invbasis );
 
    player->subsystem = k_player_subsystem_walk;
+   player->immobile = 0;
    player->gate_waiting = NULL;
 
+   global_skateshop_exit();
+
    if( _player_reset[ player->subsystem ] )
       _player_reset[ player->subsystem ]( player, rp );
 }