update helpers
[carveJwlIkooP6JGAAIwe30JlM.git] / skaterift.c
index 0e1f85221bbb9cd8abbcb03c1992af2e822664b9..49fdc88ca85918f2dcaa422f979366df353285cc 100644 (file)
@@ -57,7 +57,6 @@
 #include "player_remote.c"
 #include "vg/vg_audio_dsp.h"
 
-static struct player_avatar localplayer_avatar;
 static int k_tools_mode = 0;
 
 int main( int argc, char *argv[] ){
@@ -84,8 +83,6 @@ static void vg_launch_opt(void){
 }
 
 static void vg_preload(void){
-   //skaterift_read_savedata();
-
 vg_info(" Copyright  .        . .       -----, ,----- ,---.   .---.  \n" );
 vg_info(" 2021-2023  |\\      /| |           /  |      |    | |    /| \n" );
 vg_info("            | \\    / | +--        /   +----- +---'  |   / | \n" );
@@ -94,12 +91,13 @@ vg_info("            |   \\/   | |        /     |      |    \\ | /   | \n" );
 vg_info("            '        ' '--' [] '----- '----- '     ' '---'  " 
         "SOFTWARE\n" );
 
+   vg_loader_step( remote_players_init, NULL );
+
    if( k_tools_mode )
       return;
 
    steam_init();
    vg_loader_step( NULL, steam_end );
-   vg_loader_step( remote_players_init, NULL );
    vg_loader_step( network_init, network_end );
 }
 
@@ -217,14 +215,7 @@ static void vg_load(void){
    skaterift.replay.size = bytes;
    replay_clear( &skaterift.replay );
 
-   player_avatar_load( &localplayer_avatar, "models/ch_none.mdl" );
-   player__use_avatar( &localplayer_avatar );
-
-   /* FIXME FIXME FIXME FIXME FIXME */
-   u32 mtx_size = sizeof(m4x3f)*localplayer_avatar.sk.bone_count;
-   localplayer.final_mtx = vg_linear_alloc( vg_mem.rtmemory, mtx_size );
-   netplayers.final_mtx = vg_linear_alloc( vg_mem.rtmemory, 
-                                           mtx_size*NETWORK_MAX_PLAYERS );
+   player_load_animation_reference( "models/ch_none.mdl" );
 
    player_model_load( &localplayer.fallback_model, "models/ch_none.mdl" );
    player__bind();
@@ -315,7 +306,6 @@ static void skaterift_change_client_world_preupdate(void);
  * ---------------------------------------------------------------------------*/
 
 static void vg_pre_update(void){
-   srinput.enabled = 1;
    skaterift_preupdate_inputs();
 
    if( k_tools_mode ) return;
@@ -476,7 +466,6 @@ static void render_player_transparent(void){
 
    /* Draw player to window buffer and blend background ontop */
    player__render( &small_cam );
-   render_remote_players_tags( localplayer.viewable_world, &skaterift.cam );
 }
 
 static void render_scene(void){
@@ -612,20 +601,7 @@ static void render_main_game(void){
    /* composite */
    present_view_with_post_processing();
 
-   /* --------------------------------------------------------------------- */
-
-   /* capture the current resume frame at the very last point */
-   if( button_down( k_srbind_reset ) ){
-      if( skaterift.activity == k_skaterift_default ){
-         skaterift.activity = k_skaterift_replay;
-         skaterift_record_frame( &skaterift.replay, 1 );
-         if( skaterift.replay.head ){
-            skaterift.replay.cursor = skaterift.replay.head->time;
-            skaterift.replay.cursor_frame = skaterift.replay.head;
-         }
-         skaterift.replay_control = k_replay_control_scrub;
-      }
-   }
+   skaterift_replay_post_render();
 }
 
 static void vg_render(void){
@@ -678,7 +654,17 @@ static void vg_gui(void){
    workshop_form_gui();
    render_view_framebuffer_ui();
    remote_player_network_imgui( vg.pv );
-   remote_players_imgui();
+
+
+   if( skaterift.activity == k_skaterift_respawning ){
+      remote_players_imgui_world( world_current_instance(), vg.pv, 
+                                  2000.0f, 0 );
+      remote_players_imgui_lobby();
+   }
+   else {
+      remote_players_chat_imgui(); /* TODO: conditional */
+      remote_players_imgui_world( world_current_instance(), vg.pv, 100.0f, 1 );
+   }
 }