+ // Edit overlay
+ if( world.selected != -1 && !(world.data[ world.selected ].state & FLAG_CANAL) )
+ {
+ v2i new_begin = { world.tile_x - 2, world.tile_y - 2 };
+ v2i new_end = { world.tile_x + 2, world.tile_y + 2 };
+
+ world.data[ world.selected ].state ^= FLAG_CANAL;
+ map_reclassify( new_begin, new_end );
+
+ m2x2_identity( subtransform );
+ glUniform1f( SHADER_UNIFORM( shader_tile_main, "uGhost" ), 1.0f );
+ glUniformMatrix2fv( SHADER_UNIFORM( shader_tile_main, "uSubTransform" ), 1, GL_FALSE, (float *)subtransform );
+ glUniform2fv( SHADER_UNIFORM( shader_tile_main, "uMousePos" ), 1, world.tile_pos );
+
+ render_tiles( new_begin, new_end, colour_default, colour_default );
+
+ world.data[ world.selected ].state ^= FLAG_CANAL;
+ map_reclassify( new_begin, new_end );
+ }
+