(define (script-fu-xl5-mk1 image layer amount swaps color polarcoords)

        (let* (
	    (lay-width (car (gimp-drawable-width layer)))
	    (lay-height (car (gimp-drawable-height layer)))
	    (X-axis 0)
	    (Y-axis (* lay-height 2))
	    (variable 0)
	    (swap1 0)
	    (swap2 0)
	    (temp 0)
	    (counter 0)
	    (flag (make-vector (+ lay-width 2)))
	 )

	          (srand (car (gettimeofday)))


		(while (< counter lay-width)

			(vector-set! flag (+ counter 0) 0)
			(vector-set! flag (+ counter 1) 1)
			(vector-set! flag (+ counter 2) 2)

		(set! counter (+ counter 3)))


		(while (> swaps 0)
			(set! swap1 (rand (vector-length flag)))
			(set! swap2 (rand (vector-length flag)))
			(set! temp (vector-ref flag swap1))
			(vector-set! flag swap1 (vector-ref flag swap2))
			(vector-set! flag swap2 temp)
		(set! swaps (- swaps 1)))


	(gimp-image-undo-group-start image)

	    (gimp-context-set-background color)
	    (gimp-edit-copy layer)
	    (gimp-image-scale image lay-width (* lay-height 3))
	    (gimp-drawable-fill layer 1)
	    (gimp-floating-sel-anchor (car (gimp-edit-paste layer FALSE)))


		(while (< X-axis lay-width)

			(set! variable (vector-ref flag X-axis))

				(case variable

					((0)
					      (set! Y-axis (- Y-axis amount)))
					((1)
					      (set! Y-axis (+ Y-axis amount)))
				)

			(gimp-rect-select image X-axis lay-height 1 lay-height 0 FALSE 0)
			(gimp-drawable-transform-scale layer X-axis (- Y-axis lay-height) (+ X-axis 1) Y-axis 0 3 TRUE 3 0)

		(set! X-axis (+ X-axis 1)))


	    (gimp-floating-sel-anchor (car (gimp-image-get-active-drawable image)))
	    (gimp-layer-add-alpha layer)
	    (gimp-by-color-select-full layer color 0 0 FALSE FALSE 0 0 TRUE FALSE 0)
	    (gimp-edit-clear layer)
	    (gimp-selection-none image)
	    (plug-in-autocrop FALSE image layer)

	(gimp-image-undo-group-end image)


	    (if (= polarcoords TRUE) (begin
					(plug-in-polar-coords FALSE image layer 100 0 FALSE TRUE TRUE)
					(plug-in-autocrop FALSE image layer)))

	    (gimp-image-flatten image)

        )

    (gimp-displays-flush)

)


(script-fu-register
	"script-fu-xl5-mk1"
	"<Image>/File/Create/Patterns/Paint mess"
	"Test"
	"SteveMi"
	"Unrestricted"
	"2015"
	"*"
	SF-IMAGE	"Image" 0
	SF-DRAWABLE	"Layer" 0
	SF-ADJUSTMENT	"Soft edge ------> Spiked edge"  '(20 0 20 1 4 0 0)
	SF-ADJUSTMENT	"Segmental ----------> Chaotic"  '(9000 0 9000 1000 1 0 0)
	SF-COLOR               "Set background colour" '(0 0 0)
	SF-TOGGLE             "Open Distorts > Polar Coordinates" TRUE
)
