+ vg_loader_step( NULL, steam_end );
+ vg_loader_step( network_init, network_end );
+
+#ifdef DEV_AARON
+ q_identity( aaron.rb.q );
+ v3_zero( aaron.rb.w );
+ v3_zero( aaron.rb.co );
+ v3_zero( aaron.rb.v );
+ rb_init_object( &aaron );
+#endif
+}
+
+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 );
+
+ 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();
+
+ /* FIXME: hack */
+ shader_model_character_view_register();
+ vg_acquire_thread_sync();
+ {
+ vg_tex2d_init( (vg_tex2d *[]){ &localplayer_texture }, 1 );
+ }
+ vg_release_thread_sync();
+}
+
+void temp_update_playermodel(void){
+ player__use_mesh( &localplayer, &localplayer_meshes[cl_playermdl_id] );