vg_linear_clear( vg_mem.scratch );
- mdl_load_array( &menu.model, &menu.items, "ent_menuitem", alloc );
- mdl_load_array( &menu.model, &menu.markers, "ent_marker", alloc );
- mdl_load_array( &menu.model, &menu.cameras, "ent_camera", alloc );
+ MDL_LOAD_ARRAY( &menu.model, &menu.items, ent_menuitem, alloc );
+ MDL_LOAD_ARRAY( &menu.model, &menu.markers, ent_marker, alloc );
+ MDL_LOAD_ARRAY( &menu.model, &menu.cameras, ent_camera, alloc );
vg_linear_clear( vg_mem.scratch );
void *data = vg_linear_alloc( vg_mem.scratch, tex0->file.pack_size );
mdl_fread_pack_file( &menu.model, &tex0->file, data );
- mdl_async_load_glmesh( &menu.model, &menu.mesh );
+ mdl_async_load_glmesh( &menu.model, &menu.mesh, NULL );
vg_tex2d_load_qoi_async( data, tex0->file.pack_size,
VG_TEX2D_LINEAR|VG_TEX2D_CLAMP,
&menu.texture );
vg.window_should_close = 1;
}
- else if( MDL_CONST_PSTREQ( &menu.model, q, "reset" ) ){
-
- /* FIXME: Should only be availible in CLIENT WORLD */
+ else if( MDL_CONST_PSTREQ( &menu.model, q, "map" ) ){
menu_close();
respawn_begin_chooser();
-
- /* FIXME: Need a back to hub button */
-#if 0
- srinput.state = k_input_state_resume;
- menu_close();
- ent_miniworld_goback();
-#endif
}
-
+ else if( MDL_CONST_PSTREQ( &menu.model, q, "hub" ) ){
+ if( world_static.active_instance == k_world_purpose_client ){
+ srinput.state = k_input_state_resume;
+ menu_close();
+ ent_miniworld_goback();
+ }
+ }
else if( MDL_CONST_PSTREQ( &menu.model, q, "credits" ) ){
menu.credits_open = 1;
}