draw_surface_part(id, left, top, w, h, x, y);
Argument Description id The unique ID value of the surface to draw. left The left position in the surface of the part to be drawn. top The top position in the surface of the part to be drawn. w The width of the part to be draw, from left. h The height of the part to be drawn, from top. x The x position of where to draw the surface. y The y position of where to draw the surface.
With this function you can draw part of any surface at a given position within the room. As with draw_surface you can specify a surface, but you then need to specify the relative coordinates within the surface of an area to select for drawing. This means that a left position of 0 and a top position of 0 would be the top left corner of the surface and all further coordinates should be taken from that position.
draw_surface_part(surf, 8, 8, 32, 32, x, y);
This will draw a 32x32 area 8px by 8px in from the top left of the surface indexed in "surf", at the instances (x,y) position.