-static int skaterift_change_world_command( int argc, const char *argv[] )
-{
- if( argc == 1 )
- skaterift_change_world( argv[0] );
+static int skaterift_change_world_command( int argc, const char *argv[] ){
+ if( !vg_loader_availible() ) return 0;
+
+ if( argc == 1 ){
+ addon_alias q;
+ q.type = k_addon_type_world;
+ q.workshop_id = 0;
+ vg_strncpy( argv[0], q.foldername, 64, k_strncpy_always_add_null );
+
+ u32 reg_id = addon_match( &q );
+ if( reg_id != 0xffffffff ){
+ addon_reg *reg = get_addon_from_index( k_addon_type_world, reg_id );
+ skaterift_change_world_start( reg );
+ }
+ else {
+ char buf[76];
+ addon_alias_uid( &q, buf );
+ vg_error( "Addon '%s' is not installed or not found.\n", buf );
+ }
+ }