+++ /dev/null
-#ifndef ENT_ROUTE_C
-#define ENT_ROUTE_C
-
-#include "ent_route.h"
-#include "input.h"
-#include "gui.h"
-
-static void ent_route_call( world_instance *world, ent_call *call ){
- u32 index = mdl_entity_id_id( call->id );
- ent_route *route = mdl_arritm( &world->ent_route, index );
-
- if( call->function == 0 ){ /* view() */
- if( localplayer.subsystem == k_player_subsystem_walk ){
- world_entity_focus( call->id );
-
- gui_helper_clear();
- vg_str text;
-
- if( (global_ent_route.helper_weekly =
- gui_new_helper( input_button_list[k_srbind_mleft], &text )))
- vg_strcat( &text, "weekly" );
-
- if( (global_ent_route.helper_alltime =
- gui_new_helper( input_button_list[k_srbind_mright], &text )))
- vg_strcat( &text, "all time" );
-
- if( gui_new_helper( input_button_list[k_srbind_mback], &text ) )
- vg_strcat( &text, "exit" );
- }
- }
- else {
- /* TODO: Comrpession */
- vg_print_backtrace();
- vg_error( "Unhandled function id: %u\n", call->function );
- }
-}
-
-/* TODO: these should recieve the world instance */
-static void ent_route_preupdate( ent_route *route, int active ){
- if( !active ) return;
-
- world_instance *world = world_current_instance();
- u32 cam_id = 0;
-
- if( __builtin_expect( world->meta.info.version >= 103, 1 ) )
- cam_id = route->id_camera;
-
- world_entity_focus_camera( world, cam_id );
-
- if( button_down( k_srbind_mleft ) ){
- world_sfd.view_weekly = 1;
- world_sfd_compile_active_scores();
- }
-
- if( button_down( k_srbind_mright ) ){
- world_sfd.view_weekly = 0;
- world_sfd_compile_active_scores();
- }
-
- global_ent_route.helper_alltime->greyed =!world_sfd.view_weekly;
- global_ent_route.helper_weekly->greyed = world_sfd.view_weekly;
-
- if( button_down( k_srbind_mback ) ){
- world_entity_unfocus();
- gui_helper_clear();
- return;
- }
-}
-
-#endif /* ENT_ROUTE_C */