- int const circle_base = 4;
- int const filled_start = circle_base+0;
- int const filled_count = circle_base+32;
- int const empty_start = circle_base+32;
- int const empty_count = circle_base+32*2;
+ if( cell->state & FLAG_CANAL )
+ {
+ if( cell->state & FLAG_IS_TRIGGER )
+ {
+ struct cell_description *desc = &cell_descriptions[ cell->config ];
+
+ int trigger_id = cell->links[0]?0:1;
+
+ int x2 = cell->links[trigger_id] % world.w;
+ int y2 = (cell->links[trigger_id] - x2) / world.w;
+
+ v2f pts[2];
+
+ pts[0][0] = (float)x2 + (trigger_id? 0.75f: 0.25f);
+ pts[0][1] = (float)y2 + 0.25f;
+
+ pts[1][0] = x;
+ pts[1][1] = y;
+
+ v2_add( desc->trigger_pos, pts[1], pts[1] );
+
+ glUniform4fv( SHADER_UNIFORM( shader_tile_colour, "uColour" ),
+ 1, trigger_id? wire_right_colour: wire_left_colour );
+
+ for( int i = 0; i < 2; i ++ )
+ {
+ glUniform3f( SHADER_UNIFORM( shader_tile_colour, "uOffset" ),
+ pts[i][0],
+ pts[i][1],
+ 0.08f
+ );
+ draw_mesh( filled_start, filled_count );
+ }
+ }
+ }
+ }
+ }