+ vg_msg sav;
+ vg_msg_init( &sav, file->buf, sizeof(file->buf) );
+
+ vg_msg_frame( &sav, "player" );
+ {
+ skaterift_write_viewslot( &sav, "board", k_addon_type_board,
+ localplayer.board_view_slot );
+ skaterift_write_viewslot( &sav, "playermodel", k_addon_type_player,
+ localplayer.playermodel_view_slot );
+ }
+ vg_msg_end_frame( &sav );
+
+ vg_msg_frame( &sav, "world" );
+ {
+ addon_reg *reg = world_static.instance_addons[ k_world_purpose_client ];
+ if( reg && (world_static.active_instance > 0) ){
+ skaterift_write_addon_alias( &sav, "alias", ®->alias );
+ }
+ vg_msg_wkvu32( &sav, "index", world_static.active_instance );
+ vg_msg_wkvnum( &sav, "position", k_vg_msg_float|k_vg_msg_32b, 3,
+ localplayer.rb.co );
+ }