projects
/
carveJwlIkooP6JGAAIwe30JlM.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
controls overlay
[carveJwlIkooP6JGAAIwe30JlM.git]
/
ent_route.c
diff --git
a/ent_route.c
b/ent_route.c
index 1ef9f1dcf208d93a0cb9878058ac4eb5cf28a873..f5b51c5ec2ce520c74860ee04897d88ca214ef89 100644
(file)
--- a/
ent_route.c
+++ b/
ent_route.c
@@
-1,17
+1,20
@@
-#ifndef ENT_ROUTE_C
-#define ENT_ROUTE_C
-
#include "ent_route.h"
#include "input.h"
#include "gui.h"
#include "ent_route.h"
#include "input.h"
#include "gui.h"
-static void ent_route_call( world_instance *world, ent_call *call ){
+struct global_ent_route global_ent_route;
+
+entity_call_result 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 );
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 );
+ if( call->function == 0 )
+ { /* view() */
+ if( localplayer.subsystem == k_player_subsystem_walk )
+ {
+ world_entity_set_focus( call->id );
+ world_entity_focus_modal();
gui_helper_clear();
vg_str text;
gui_helper_clear();
vg_str text;
@@
-27,19
+30,21
@@
static void ent_route_call( world_instance *world, ent_call *call ){
if( gui_new_helper( input_button_list[k_srbind_mback], &text ) )
vg_strcat( &text, "exit" );
}
if( gui_new_helper( input_button_list[k_srbind_mback], &text ) )
vg_strcat( &text, "exit" );
}
+
+ return k_entity_call_result_OK;
}
}
- else {
- /* TODO: Comrpession */
- vg_print_backtrace();
- vg_error( "Unhandled function id: %u\n", call->function );
- }
+
+ return k_entity_call_result_unhandled;
}
}
-/* TODO: these should recieve the world instance */
-static void ent_route_preupdate( ent_route *route, int active ){
- if( !active ) return;
+void ent_route_preupdate( ent_focus_context *ctx )
+{
+ if( !ctx->active )
+ return;
+
+ world_instance *world = ctx->world;
+ ent_route *route = mdl_arritm( &world->ent_route, ctx->index );
- world_instance *world = world_current_instance();
u32 cam_id = 0;
if( __builtin_expect( world->meta.info.version >= 103, 1 ) )
u32 cam_id = 0;
if( __builtin_expect( world->meta.info.version >= 103, 1 ) )
@@
-57,11
+62,14
@@
static void ent_route_preupdate( ent_route *route, int active ){
world_sfd_compile_active_scores();
}
world_sfd_compile_active_scores();
}
- if( button_down( k_srbind_mback ) ){
- world_entity_unfocus();
+ 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_exit_modal();
+ world_entity_clear_focus();
gui_helper_clear();
return;
}
}
gui_helper_clear();
return;
}
}
-
-#endif /* ENT_ROUTE_C */