vg_msg kvsav;
vg_msg_init( &kvsav, sav.buf, sizeof(sav.buf) );
+ skaterift.achievements |= vg_msg_getkvu32( &kvsav, "ach", 0 );
u32 board_reg_id = 0,
player_reg_id = 0;
vg_msg_cursor orig = kvsav.cur;
-
if( vg_msg_seekframe( &kvsav, "player" ) ){
addon_alias q;
kvsav.cur = orig;
}
-static addon_reg *skaterift_mount_world_unloadable( const char *path ){
+static addon_reg *skaterift_mount_world_unloadable( const char *path, u32 ext ){
addon_reg *reg = addon_mount_local_addon( path, k_addon_type_world, ".mdl" );
- reg->flags |= ADDON_REG_HIDDEN;
+ reg->flags |= (ADDON_REG_HIDDEN | ext);
return reg;
}
*/
/* hub world */
- addon_reg *hub = skaterift_mount_world_unloadable( "maps/dev_hub" );
- skaterift_mount_world_unloadable( "maps/mp_spawn" );
- skaterift_mount_world_unloadable( "maps/mp_mtzero" );
+ addon_reg *hub = skaterift_mount_world_unloadable( "maps/dev_hub", 0 );
+ skaterift_mount_world_unloadable( "maps/mp_spawn", ADDON_REG_CITY );
+ skaterift_mount_world_unloadable( "maps/mp_mtzero", ADDON_REG_MTZERO );
+ skaterift_mount_world_unloadable( "maps/dev_tutorial", 0 );
/* load home/permanent world manually */
world_static.load_state = k_world_loader_load;
/* and now */
skaterift_restore_state();
+ update_ach_models();
+
vg_loader_step( NULL, skaterift_autosave_synchronous );
//board_processview_thread(NULL);