Merge branch 'master' of harrygodden.com:/home/carveJwlIkooP6JGAAIwe30JlM
[carveJwlIkooP6JGAAIwe30JlM.git] / player.c
index 07e5f306ac7f3e6163cf694f9e22bd6190cd8026..1d95c8b852e90ac00726d94df4dff9e0fa9586d7 100644 (file)
--- a/player.c
+++ b/player.c
 #include "ent_miniworld.h"
 #include "gui.h"
 
+#include "shaders/model_entity.h"
+#include "shaders/model_character_view.h"
+#include "shaders/model_board_view.h"
+
 static int localplayer_cmd_respawn( int argc, const char *argv[] ){
    ent_spawn *rp = NULL, *r;
    world_instance *world = world_current_instance();
@@ -35,7 +39,6 @@ static int localplayer_cmd_respawn( int argc, const char *argv[] ){
 static void player_init(void){
    for( u32 i=0; i<vg_list_size(player_subsystems); i++ ){
       struct player_subsystem_interface *sys = player_subsystems[i];
-
       if( sys->system_register ) sys->system_register();
    }
 
@@ -51,6 +54,10 @@ static void player_init(void){
    vg_console_reg_var( "cinema_fixed", &k_cinema_fixed, k_var_dtype_i32, 0 );
    vg_console_reg_var( "invert_y", &k_invert_y, 
                         k_var_dtype_i32, VG_VAR_PERSISTENT );
+
+   shader_model_character_view_register();
+   shader_model_board_view_register();
+   shader_model_entity_register();
 }
 
 static void player__debugtext( int size, const char *fmt, ... ){
@@ -110,6 +117,10 @@ static void player__update(void){
 static void player__post_update(void){
    if( player_subsystems[ localplayer.subsystem ]->post_update )
       player_subsystems[ localplayer.subsystem ]->post_update();
+
+   SDL_AtomicLock( &air_data.sl );
+   air_data.speed = v3_length( localplayer.rb.v );
+   SDL_AtomicUnlock( &air_data.sl );
 }
 
 /*
@@ -163,8 +174,6 @@ static void player__pass_gate( u32 id ){
 }
 
 static void player_apply_transport_to_cam( m4x3f transport ){
-   /* FIXME: Applies to skaterift.cam directly! */
-
    /* Pre-emptively edit the camera matrices so that the motion vectors 
     * are correct */
    m4x3f transport_i;
@@ -215,7 +224,7 @@ static void player__im_gui(void){
                                        [k_skaterift_replay]    = "replay",
                                        [k_skaterift_ent_focus] = "ent_focus",
                                        [k_skaterift_default]   = "default",
-                                       [k_skaterift_respawning]= "map"
+                                       [k_skaterift_world_map] = "world map"
                      } [skaterift.activity] );
    player__debugtext( 1, "time_rate: %.4f", skaterift.time_rate );