fix achievement bug
[carveJwlIkooP6JGAAIwe30JlM.git] / ent_miniworld.c
index 4f22df8d7bc30065c79874c5657ad6de213ca626..2fed03137313e7549a36cfee7939cd716ca2491c 100644 (file)
@@ -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,