This function will draw the given surface as in the function draw_surface but with additional options to change the scale, blending, rotation and alpha of the surface being drawn. Changing these values does not modify the resource in any way (only how it is drawn).
draw_surface_ext(id, x, y, xscale, yscale, rot, col, alpha);
|id||The unique ID value of the surface to draw.|
|x||The x position of where to draw the surface.|
|y||The y position of where to draw the surface.|
|xscale||The horizontal scale.|
|yscale||The vertical scale.|
|rot||The rotation or angle to draw the surface.|
|col||The colour with which to blend the surface.|
|alpha||The alpha transparency for drawing the surface.|
draw_surface_ext(surf, 0, 0, 2, 2, 0, c_red, 0.5);
The above code will draw a the surface indexed in the variable "surf" at the (0,0) position in the room, with twice the original scale, blended red and semi transparent.