save location & map, lighting qol
[carveJwlIkooP6JGAAIwe30JlM.git] / player.c
index 145a9285c79c636ece7c70b32c4d947725a213c7..1cca4caae1a6eb2a88ccc067532d6bed5970edd0 100644 (file)
--- a/player.c
+++ b/player.c
@@ -35,6 +35,16 @@ VG_STATIC void player_init(void)
    }
 
    vg_console_reg_cmd( "respawn", localplayer_cmd_respawn, NULL );
+   VG_VAR_F32( k_cam_damp );
+   VG_VAR_F32( k_cam_spring );
+   VG_VAR_F32( k_cam_punch );
+   VG_VAR_F32( k_cam_shake_strength );
+   VG_VAR_F32( k_cam_shake_trackspeed );
+
+   vg_console_reg_var( "cinema", &k_cinema, k_var_dtype_f32, 0 );
+   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 );
 }
 
 PLAYER_API
@@ -88,9 +98,10 @@ void player__use_avatar( player_instance *player, struct player_avatar *av )
 }
 
 PLAYER_API
-void player__use_model( player_instance *player, struct player_model *mdl )
-{
-   player->playermodel = mdl;
+void player__use_model( player_instance *player, u16 reg_id ){
+   addon_cache_unwatch( k_addon_type_player, player->playermodel_view_slot );
+   player->playermodel_view_slot = 
+      addon_cache_create_viewer( k_addon_type_player, reg_id );
 }
 
 PLAYER_API
@@ -335,6 +346,11 @@ PLAYER_API void player__spawn( player_instance *player,
    player->subsystem = k_player_subsystem_walk;
    player->immobile = 0;
    player->gate_waiting = NULL;
+   player->rewind_length = 0;
+   player->rewind_accum = 0.0f;
+   player->rewind_gate = NULL;
+   player->rewinding = 0;
+   world_static.last_use = 0.0;
 
    global_skateshop_exit();