(include "sci.sh")
(use "Main")
(use "Obj")
(script 926)



(procedure public (proc926_0 theGRoomObstacles)
    (var gRoomObstacles)
    (if (not paramTotal)
        = gRoomObstacles (send gRoom:obstacles)
    )(else
        (if ((send theGRoomObstacles:isKindOf(Collect)))
            = gRoomObstacles theGRoomObstacles
        )(else
            (send theGRoomObstacles:perform(flipPoly))
            return 
        )
    )
    (send gRoomObstacles:eachElementDo(96 flipPoly))
    DisposeScript(926)
)


(procedure public (proc926_1 param1)
    (var temp0)
    (if (not paramTotal)
        (send gFeatures:eachElementDo(96 flipFeature))
    )(else
        = temp0 0
        (while (< temp0 paramTotal)
            (if ((send param1[temp0]:isKindOf(Collect)))
                (send param1[temp0]:eachElementDo(96 flipFeature))
            )(else
                (send param1[temp0]:perform(flipFeature))
            )
            ++temp0
        )
    )
    DisposeScript(926)
)


(instance flipPoly of Code
    (properties)

    (method (doit param1)
        (var temp0, temp1, temp2)
        = temp1 Memory(1 (* 4 (= temp2 (send param1:size))))
        = temp0 0
        (while (< temp0 temp2)
            Memory(6 + temp1 (* 4 temp0) - 320 Memory(5 (- (+ (send param1:points) (* 4 temp2)) (+ 4 (* 4 temp0)))))
            Memory(6 + (+ temp1 (* 4 temp0)) 2 Memory(5 - (+ (send param1:points) (* 4 temp2)) (+ 2 (* 4 temp0))))
            ++temp0
        )
        (if ((send param1:dynamic))
            Memory(3 (send param1:points))
        )
        (send param1:
            points(temp1)
            dynamic(1)
        )
    )

)
(instance flipFeature of Code
    (properties)

    (method (doit param1)
        (var temp0)
        (if (IsObject((send param1:onMeCheck)))
            proc926_0((send param1:onMeCheck))
        )(else
            = temp0 (send param1:nsLeft)
            (send param1:
                nsLeft(- 320 (send param1:nsRight))
                nsRight(- 320 temp0)
            )
        )
    )

)
