X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=ent_miniworld.c;h=19c88d0dcac8eb22b7bcaba508e8ff2e6f01b51b;hb=refs%2Fheads%2Fmenu2;hp=fcdba0b12c20cf62967d84c6037cda3ab9d97fe1;hpb=14851c4c820eb07a0db0ec0366a70bdd6518c331;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/ent_miniworld.c b/ent_miniworld.c index fcdba0b..19c88d0 100644 --- a/ent_miniworld.c +++ b/ent_miniworld.c @@ -9,14 +9,15 @@ struct global_miniworld global_miniworld; -void ent_miniworld_call( world_instance *world, ent_call *call ) +entity_call_result ent_miniworld_call( world_instance *world, ent_call *call ) { ent_miniworld *miniworld = mdl_arritm( &world->ent_miniworld, mdl_entity_id_id(call->id) ); int world_id = world - world_static.instances; - if( call->function == 0 ){ /* zone() */ + if( call->function == 0 ) /* zone() */ + { const char *uid = mdl_pstr( &world->meta, miniworld->pstr_world ); skaterift_load_world_command( 1, (const char *[]){ uid } ); @@ -28,17 +29,25 @@ void ent_miniworld_call( world_instance *world, ent_call *call ) if( gui_new_helper( input_button_list[k_srbind_miniworld_resume], &text )) vg_strcat( &text, "Enter World" ); + + return k_entity_call_result_OK; } - else if( call->function == 1 ){ + else if( call->function == 1 ) + { global_miniworld.active = NULL; gui_helper_clear(); - if( miniworld->proxy ){ + if( miniworld->proxy ) + { ent_prop *prop = mdl_arritm( &world->ent_prop, mdl_entity_id_id(miniworld->proxy) ); prop->flags &= ~0x1; } + + return k_entity_call_result_OK; } + else + return k_entity_call_result_unhandled; } static void miniworld_icon( vg_camera *cam, enum gui_icon icon, @@ -162,19 +171,20 @@ void ent_miniworld_preupdate(void) return; } - if( button_down( k_srbind_miniworld_resume ) ){ - if( skaterift.demo_mode ){ - if( world_static.instance_addons[1]->flags & ADDON_REG_PREMIUM ){ - skaterift.activity = k_skaterift_menu; - menu.page = 0xffffffff; - menu_open_page( "Premium", k_ent_menuitem_stack_append ); + if( button_down( k_srbind_miniworld_resume ) ) + { + if( skaterift.demo_mode ) + { + if( world_static.instance_addons[1]->flags & ADDON_REG_PREMIUM ) + { + menu_open( k_menu_page_premium ); return; } } global_miniworld.transition = 1; global_miniworld.t = 0.0f; - global_miniworld.cam = skaterift.cam; + global_miniworld.cam = g_render.cam; world_switch_instance(1); srinput.state = k_input_state_resume; @@ -195,7 +205,7 @@ void ent_miniworld_goback(void) global_miniworld.transition = -1; global_miniworld.t = 1.0f; - global_miniworld.cam = skaterift.cam; + global_miniworld.cam = g_render.cam; vg_m4x3_transform_camera( global_miniworld.mmdl, &global_miniworld.cam ); world_switch_instance(0); }