-static void skaterift_read_savedata(void){
- FILE *fp = fopen( "save.bkv", "rb" );
- if( fp ){
- savedata.len = fread( savedata.buf, 1, sizeof(savedata.buf), fp );
- fclose( fp );
+static void skaterift_populate_main_savedata( savedata_file *file ){
+ strcpy( file->path, str_skaterift_main_save );
+
+ vg_msg sav;
+ vg_msg_init( &sav, file->buf, sizeof(file->buf) );
+ vg_msg_wkvu32( &sav, "ach", skaterift.achievements );
+
+ 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 );
+
+ file->len = sav.cur.co;
+}
+
+static int skaterift_autosave( int async ){
+ if( async )
+ if( !vg_loader_availible() ) return 0;
+
+ u32 save_files = 2;
+ if( world_static.instances[k_world_purpose_client].status
+ == k_world_status_loaded ){
+ save_files ++;