9 k_async_op_clientloading
,
10 k_async_op_world_preloading
,
11 k_async_op_world_loading
,
12 k_async_op_cloud_loading
,
13 k_workshop_form_op_loading_model
,
14 k_workshop_form_op_downloading_submission
,
15 k_workshop_form_op_publishing_update
,
16 k_workshop_op_item_scan
,
17 k_workshop_op_item_load
21 static skaterift
= { .async_op
= k_async_op_clientloading
};
24 static void skaterift_change_world( const char *world_path
);
25 static int skaterift_change_world_command( int argc
, const char *argv
[] );
28 * Start a new operation or crash if we are already running one. you can avoid
29 * crashing the game by checking the async status yourself before calling.
31 VG_STATIC
void skaterift_begin_op( enum async_operation op
)
33 if( skaterift
.async_op
!= k_async_op_none
){
34 vg_fatal_error( "Async executing op(%d), tried to start op(%d)\n",
35 skaterift
.async_op
, op
);
38 skaterift
.async_op
= op
;
39 vg_info( "Starting op( %d )\n", op
);
43 * Switch operation for those who have multiple parts
45 VG_STATIC
void skaterift_shift_op( enum async_operation op
)
47 if( skaterift
.async_op
== k_async_op_none
){
48 vg_fatal_error( "No current op, cannot shift operation (%d)\n", op
);
51 skaterift
.async_op
= op
;
52 vg_info( "Shifting to op( %d )\n", op
);
56 * Finished operation, otheres can now run
58 VG_STATIC
void skaterift_end_op(void)
60 vg_info( "Finishing op( %d )\n", skaterift
.async_op
);
61 skaterift
.async_op
= k_async_op_none
;
64 #endif /* SKATERIFT_H */