-static void ent_miniworld_preupdate(void){
- if( world_static.active_instance == k_world_purpose_client ){
- if( button_down(k_srbind_mleft) ){
- global_miniworld.transition = -1;
- global_miniworld.t = 1.0f;
-
- global_miniworld.cam = skaterift.cam;
- m4x3_transform_camera( global_miniworld.mmdl, &global_miniworld.cam );
- world_switch_instance(0);
+ /* icons
+ * ---------------------*/
+ font3d_bind( &gui.font, k_font_shader_default, 0, NULL, cam );
+ mesh_bind( &gui.icons_mesh );
+
+ glActiveTexture( GL_TEXTURE0 );
+ glBindTexture( GL_TEXTURE_2D, gui.icons_texture );
+ shader_model_font_uTexMain( 0 );
+ shader_model_font_uColour( (v4f){1,1,1,1} );
+
+ miniworld_icon( cam, k_gui_icon_player, dest_world->player_co,
+ 1.0f + sinf(vg.time)*0.2f );
+
+ for( u32 i=0; i<mdl_arrcount(&dest_world->ent_challenge); i++ ){
+ ent_challenge *challenge = mdl_arritm( &dest_world->ent_challenge, i );
+
+ enum gui_icon icon = k_gui_icon_exclaim;
+ if( challenge->status )
+ icon = k_gui_icon_tick;
+
+ miniworld_icon( cam, icon, challenge->transform.co, 1.0f );
+ }
+
+ for( u32 i=0; i<mdl_arrcount(&dest_world->ent_route); i++ ){
+ ent_route *route = mdl_arritm( &dest_world->ent_route, i );
+
+ if( route->flags & k_ent_route_flag_achieve_gold ){
+ miniworld_icon( cam, k_gui_icon_rift_run_gold,
+ route->board_transform[3],1.0f);
+ }
+ else if( route->flags & k_ent_route_flag_achieve_silver ){
+ miniworld_icon( cam, k_gui_icon_rift_run_silver,
+ route->board_transform[3],1.0f);