- r->collector_count ++;
- }
- }
- else
- {
- struct classtype_route_node *inf = mdl_get_entdata( mdl, pnode );
- rn->next[0] = inf->target;
- rn->next[1] = inf->target1;
- }
-
- r->node_count ++;
- }
- else if( pnode->classtype == k_classtype_route )
- {
- struct classtype_route *inf = mdl_get_entdata( mdl, pnode );
- r->routes = buffer_reserve( r->routes, r->route_count, &r->route_cap,
- 1, sizeof( struct route ) );
-
- struct route *route = &r->routes[r->route_count];
-
- v3_copy( inf->colour, route->colour );
- route->colour[3] = 1.0f;
-
- route->name = NULL;
- route->start = inf->id_start;
- route->active = 0;
- route->factive = 0.0f;
-
- /* OpenGL strips */
- glGenVertexArrays( 1, &route->ui.vao );
- glGenBuffers( 1, &route->ui.vbo );
- glGenBuffers( 1, &route->ui.ebo );
- glBindVertexArray( route->ui.vao );
-
- size_t stride = sizeof(v2f);
-
- glBindBuffer( GL_ARRAY_BUFFER, route->ui.vbo );
- glBufferData( GL_ARRAY_BUFFER, k_route_ui_max_verts*stride,
- NULL, GL_DYNAMIC_DRAW );
- glBindVertexArray( route->ui.vao );
- glBindBuffer( GL_ELEMENT_ARRAY_BUFFER, route->ui.ebo );
- glBufferData( GL_ELEMENT_ARRAY_BUFFER,
- k_route_ui_max_indices*sizeof(u16), NULL,
- GL_DYNAMIC_DRAW );
-
- glVertexAttribPointer( 0, 2, GL_FLOAT, GL_FALSE, stride, (void *)0 );
- glEnableVertexAttribArray( 0 );
- VG_CHECK_GL();
-
- route->ui.indices_head = k_route_ui_max_indices - 9;
- route->ui.vertex_head = k_route_ui_max_verts - 200;
- route->ui.segment_start = 0;
- route->ui.segment_count = 0;
- route->ui.last_notch = 0.0;
- route->ui.fade_start = 0;
- route->ui.fade_count = 0;
- route->ui.fade_timer_start = 0.0;
-
- r->route_count ++;