modular stuffs
[carveJwlIkooP6JGAAIwe30JlM.git] / skaterift.c
index aa536014bb8628b62237a0d412d61b0669fd88f3..d943c2d07a13c55831527a4954d3031031dc913d 100644 (file)
@@ -12,7 +12,7 @@
  */
 
 #define SR_NETWORKED
-//#define VG_DEVWINDOW
+#define VG_DEVWINDOW
 #include "common.h"
 #include "conf.h"
 #include "steam.h"
@@ -23,8 +23,8 @@
 #include "player.h"
 
 VG_STATIC struct player_avatar localplayer_avatar;
-VG_STATIC glmesh localplayer_meshes[3];
-vg_tex2d localplayer_texture = { .path = "textures/ch_gradient.qoi" };
+VG_STATIC struct player_model  localplayer_models[3];
+VG_STATIC struct player_board  localplayer_boards[1];
 
 #include "network.h"
 #include "menu.h"
@@ -88,50 +88,19 @@ vg_info("            '        ' '--' [] '----- '----- '     ' '---'  "
 
 VG_STATIC void load_playermodels(void)
 {
-   vg_linear_clear( vg_mem.scratch );
-
-   /* 
-    * load in other player models. This may need to be more sophisticated in
-    * the futre if we have more of these guys
-    */
-   mdl_context ctx_default,
-               ctx_outlaw,
-               ctx_jordan;
-
-   mdl_open( &ctx_default, "models/ch_new.mdl", vg_mem.scratch );
-   mdl_load_metadata_block( &ctx_default, vg_mem.scratch );
-   mdl_load_mesh_block( &ctx_default, vg_mem.scratch );
-   mdl_close( &ctx_default );
-
-   mdl_open( &ctx_outlaw, "models/ch_outlaw.mdl", vg_mem.scratch );
-   mdl_load_metadata_block( &ctx_outlaw, vg_mem.scratch );
-   mdl_load_mesh_block( &ctx_outlaw, vg_mem.scratch );
-   mdl_close( &ctx_outlaw );
-
-   mdl_open( &ctx_jordan, "models/ch_jordan.mdl", vg_mem.scratch );
-   mdl_load_metadata_block( &ctx_jordan, vg_mem.scratch );
-   mdl_load_mesh_block( &ctx_jordan, vg_mem.scratch );
-   mdl_close( &ctx_jordan );
+   player_model_load( &localplayer_models[0], "models/ch_new.mdl" );
+   player_model_load( &localplayer_models[1], "models/ch_outlaw.mdl" );
+   player_model_load( &localplayer_models[2], "models/ch_jordan.mdl" );
    
-   vg_acquire_thread_sync();
-   {
-      mdl_unpack_glmesh( &ctx_default, &localplayer_meshes[0] );
-      mdl_unpack_glmesh( &ctx_outlaw,  &localplayer_meshes[1] );
-      mdl_unpack_glmesh( &ctx_jordan,  &localplayer_meshes[2] );
-   }
-   vg_release_thread_sync();
+   player_board_load( &localplayer_boards[0], "models/board_fish.mdl" );
 
    /* FIXME: hack */
    shader_model_character_view_register();
-   vg_acquire_thread_sync();
-   {
-      vg_tex2d_init( (vg_tex2d *[]){ &localplayer_texture }, 1 );
-   }
-   vg_release_thread_sync();
+   shader_model_board_view_register();
 }
 
 void temp_update_playermodel(void){
-   player__use_mesh( &localplayer, &localplayer_meshes[cl_playermdl_id] );
+   player__use_model( &localplayer, &localplayer_models[cl_playermdl_id] );
 }
 
 VG_STATIC void vg_load(void)
@@ -154,8 +123,8 @@ VG_STATIC void vg_load(void)
    player__create( &localplayer );
    player_avatar_load( &localplayer_avatar, "models/ch_new.mdl" );
    player__use_avatar( &localplayer, &localplayer_avatar );
-   player__use_mesh( &localplayer, &localplayer_meshes[cl_playermdl_id] );
-   player__use_texture( &localplayer, &localplayer_texture );
+   player__use_model( &localplayer, &localplayer_models[cl_playermdl_id] );
+   player__use_board( &localplayer, &localplayer_boards[0] );
    player__bind( &localplayer );
 
    /* --------------------- */
@@ -167,7 +136,7 @@ VG_STATIC void vg_load(void)
 
    /* load home world */
 
-#if 0
+#if 1
    world_load( 0, "maps/mp_spawn.mdl" );
 #else
    world_load( 0, "maps/mp_mtzero.mdl" );
@@ -480,7 +449,9 @@ VG_STATIC void vg_render(void)
 
 VG_STATIC void vg_ui(void)
 {
+#if 0
    player__im_gui( &localplayer );
+#endif
    world_instance *world = get_active_world();
    menu_crap_ui();