* VG event preupdate
*/
void temp_update_playermodel(void);
-void ent_skateshop_preupdate( ent_skateshop *shop, int active )
+void ent_skateshop_preupdate( ent_focus_context *ctx )
{
- if( !active ) return;
+ if( !ctx->active )
+ return;
- /* input filter */
- world_instance *world = world_current_instance();
+ world_instance *world = ctx->world;
+ ent_skateshop *shop = mdl_arritm( &world->ent_skateshop, ctx->index );
/* camera positioning */
ent_camera *ref = mdl_arritm( &world->ent_camera,
vg_str text;
if( gui_new_helper( input_button_list[k_srbind_mback], &text ))
- vg_strcat( &text, "exit" );
+ vg_strcat( &text, "Exit" );
if( (global_skateshop.helper_pick = gui_new_helper(
input_button_list[k_srbind_maccept], &text))){
if( (global_skateshop.helper_browse = gui_new_helper(
input_axis_list[k_sraxis_mbrowse_h], &text ))){
- vg_strcat( &text, "browse" );
+ vg_strcat( &text, "Browse" );
}
}
/*
* Entity logic: entrance event
*/
-void ent_skateshop_call( world_instance *world, ent_call *call )
+entity_call_result ent_skateshop_call( world_instance *world, ent_call *call )
{
u32 index = mdl_entity_id_id( call->id );
ent_skateshop *shop = mdl_arritm( &world->ent_skateshop, index );
vg_info( "skateshop_call\n" );
- if( skaterift.activity != k_skaterift_default ) return;
- if( !vg_loader_availible() ) return;
+ if( (skaterift.activity != k_skaterift_default) ||
+ !vg_loader_availible() )
+ return k_entity_call_result_invalid;
if( call->function == k_ent_function_trigger )
{
- if( localplayer.subsystem != k_player_subsystem_walk ) return;
+ if( localplayer.subsystem != k_player_subsystem_walk )
+ return k_entity_call_result_OK;
vg_info( "Entering skateshop\n" );
{
skateshop_update_viewpage();
vg_loader_start( board_scan_thread, NULL );
- ent_skateshop_helpers_pickable( "pick" );
+ ent_skateshop_helpers_pickable( "Pick" );
}
else if( shop->type == k_skateshop_type_charshop )
{
- ent_skateshop_helpers_pickable( "pick" );
+ ent_skateshop_helpers_pickable( "Pick" );
}
else if( shop->type == k_skateshop_type_worldshop )
{
- ent_skateshop_helpers_pickable( "open rift" );
+ ent_skateshop_helpers_pickable( "Open rift" );
vg_loader_start( world_scan_thread, NULL );
}
else if( shop->type == k_skateshop_type_server )
vg_strcat( &text, "exit" );
skateshop_server_helper_update();
}
+ return k_entity_call_result_OK;
}
+ else
+ return k_entity_call_result_unhandled;
}