vg_linear_clear( vg_mem.scratch ); /* ?? */
vg_info( "unloading old worlds\n" );
-
- for( u32 i=1; i<vg_list_size(world_static.instances); i++ ){
- world_instance *inst = &world_static.instances[i];
- if( inst->status == k_world_status_loaded ){
- inst->status = k_world_status_unloading;
- world_fadeout_audio( inst );
- }
+ world_instance *client_world =
+ &world_static.instances[ k_world_purpose_client ];
+
+ if( client_world->status == k_world_status_loaded ){
+ client_world->status = k_world_status_unloading;
+ world_fadeout_audio( client_world );
}
world_static.instance_addons[ k_world_purpose_client ] = reg;
network_send_item( k_netmsg_playeritem_world1 );
relink_all_remote_player_worlds();
+ world_unlink_nonlocal( &world_static.instances[k_world_purpose_hub] );
}
}
u32 reg_id = addon_match( &q );
if( reg_id != 0xffffffff ){
- addon_reg *reg = get_addon_from_index( k_addon_type_world, reg_id );
+ addon_reg *reg = get_addon_from_index( k_addon_type_world, reg_id, 0 );
skaterift_change_world_start( reg );
}
else {
else {
vg_info( "worlds availible to load:\n" );
- for( int i=0; i<addon_count(k_addon_type_world); i ++ ){
- addon_reg *w = get_addon_from_index( k_addon_type_world, i );
+ for( int i=0; i<addon_count(k_addon_type_world,0); i ++ ){
+ addon_reg *w = get_addon_from_index( k_addon_type_world, i, 0);
char buf[ADDON_UID_MAX];
addon_alias_uid( &w->alias, buf );
- vg_info( " %s\n", buf );
+
+ if( w->flags & ADDON_REG_HIDDEN )
+ vg_info( " %s [hidden]\n", buf );
+ else
+ vg_info( " %s\n", buf );
}
}