-static void skaterift_world_change_done( void *payload, u32 size ){
- world_loader.state = k_world_loader_none;
+struct world_load_complete_data{
+ savedata_file save;
+ u32 instance_start, instance_count;
+};
+
+static void skaterift_world_load_done( void *payload, u32 size ){
+ struct world_load_complete_data *data = payload;
+
+ vg_msg sav;
+ vg_msg_init( &sav, data->save.buf, data->save.len );
+
+ for( u32 i=0; i<data->instance_count; i++ ){
+ world_instance *world = &world_static.instances[ data->instance_start+i ];
+ world_entity_start( world, &sav );
+ }
+
+ world_static.load_state = k_world_loader_none;