X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=world_load.c;h=bbf5c91510c5a7d0b488b360f30b4479686b807f;hb=da75338cd104cd96204117d704fb89ed1bd9677b;hp=448624e971247a04d343370c65e1367fbaa74a93;hpb=7b1e8a237acc3121c86fab9b5946da6a8d3bf6c4;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/world_load.c b/world_load.c index 448624e..bbf5c91 100644 --- a/world_load.c +++ b/world_load.c @@ -97,21 +97,14 @@ VG_STATIC void world_load_mdl( const char *path ) world->status = k_world_status_loaded; } -/* - * op: k_async_op_world_loading - * k_async_op_world_preloading - * ----------------------------------------------------------------------------- - */ - -static void async_skaterift_world_loaded( void *payload, u32 size ) -{ - skaterift_end_op(); +static void skaterift_world_change_done( void *payload, u32 size ){ + world_loader.state = k_world_loader_none; } /* * Does a complete world switch using the remaining free slots */ -static void skaterift_world_changer_thread( void *data ){ +static void skaterift_world_changer_thread( void *_ ){ char path_buf[4096]; vg_str path; vg_strnull( &path, path_buf, 4096 ); @@ -127,7 +120,6 @@ static void skaterift_world_changer_thread( void *data ){ vg_str folder = path; if( !vg_strgood( &folder ) ) { vg_error( "Load target too long\n" ); - vg_async_call( workshop_async_any_complete, NULL, 0 ); return; } @@ -137,7 +129,6 @@ static void skaterift_world_changer_thread( void *data ){ vg_dir dir; if( !vg_dir_open(&dir, folder.buffer) ){ vg_error( "opendir('%s') failed\n", folder.buffer ); - vg_async_call( async_skaterift_world_loaded, NULL, 0 ); return; } @@ -193,13 +184,12 @@ static void skaterift_world_changer_thread( void *data ){ } } - vg_async_call( async_skaterift_world_loaded, NULL, 0 ); + vg_async_call( skaterift_world_change_done, NULL, 0 ); } /* holding pattern before we can start loading the new world, since we might be * waiting for audio to stop */ -static void skaterift_change_world_preupdate(void) -{ +static void skaterift_change_world_preupdate(void){ for( u32 i=1; ifoldername, world_loader.reg->workshop_id ); + world_loader.reg->alias.foldername, + world_loader.reg->alias.workshop_id ); } else{ vg_info( "switching to %s(local)\n", world_loader.override_name ); @@ -232,7 +223,7 @@ static void skaterift_change_world_start(void){ vg_error( "Cannot change worlds while in non-root world\n" ); } else{ - skaterift_begin_op( k_async_op_world_preloading ); + world_loader.state = k_world_loader_preload; vg_linear_clear( vg_mem.scratch ); /* ?? */ vg_info( "unloading old worlds\n" );