X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=ent_miniworld.c;h=40fac190fc72e5f0633979b75230639ecfcbb5a2;hb=8110f8ef27afe101ef77b88ad2114d8c216f2629;hp=4f22df8d7bc30065c79874c5657ad6de213ca626;hpb=5f6a4f9df6c8accc89f1920bfe9ace3cbac4c4b6;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/ent_miniworld.c b/ent_miniworld.c index 4f22df8..40fac19 100644 --- a/ent_miniworld.c +++ b/ent_miniworld.c @@ -1,20 +1,23 @@ #include "entity.h" #include "ent_miniworld.h" #include "world_render.h" +#include "world_load.h" #include "input.h" #include "gui.h" #include "menu.h" +#include "audio.h" 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 } ); @@ -26,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, @@ -160,12 +171,13 @@ 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; } }