(version 2)
(include "sci.sh")
(exports
    0 rm150
)
(use "Main")
(use "FPRoom")
(use "Print")
(use "MCyc")
(use "n958")
(use "SysWindow")
(use "Cycle")
(use "View")
(use "Obj")
(script 150)


(local
    local0
    local1 =     85
    local2
    local3
    local4 =     1
    local5 =     1
    local6
    local7
    theGGameMusic1PrevSignal
    local9 =     8
    local10 =     12
    local11 =     15
    local12 =     1
    local13[25] = (0 0 0 126 0 1 0 121 0 2 0 118 0 3 0 121 0 4 0 126 0 5 0 130 -32768 )
    local38[270] = (85 135 174 211 229 100 139 192 236 51 76 110 144 185 237 264 264 110 164 215 244 118 166 204 223 69 88 124 133 183 223 249 249 103 128 128 161 196 219 219 219 93 113 138 179 199 212 223 86 122 146 146 180 215 237 237 237 117 139 164 188 207 207 207 207 207 207 207 207 124 189 226 251 98 144 197 243 30 51 87 101 165 238 283 283 115 179 230 247 97 150 191 239 39 69 111 133 177 232 277 277 134 171 212 234 104 151 202 244 64 88 132 153 191 232 262 262 124 159 202 236 91 145 193 239 66 86 130 150 201 234 254 254 103 128 128 161 196 219 219 219 96 117 141 186 201 212 222 86 122 146 146 180 215 237 237 237 101 131 156 198 222 222 222 222 222 222 222 222 139 180 202 219 127 145 193 212 45 74 112 148 199 249 280 280 120 172 221 238 104 164 203 248 50 78 119 151 191 256 278 278 131 178 219 236 130 167 200 233 32 59 133 169 221 260 283 283 120 175 221 244 106 165 199 245 51 79 118 144 194 236 272 272 103 128 128 161 196 219 219 219 85 106 136 170 194 218 239 86 122 146 146 180 215 237 237 237 99 122 148 190 216 216 216 216 216 216 325 325 325 )

)
(procedure (localproc_07af)
    (if (<= global87 local10)
        (vignette:setLoop((+ (vignette:loop) 1)))
    )(else
        (vignette1:
            moveSpeed(0)
            setMotion(MoveTo 280 80)
        )
        (vignette:
            setLoop(+ (vignette1:loop) 1)
            moveSpeed(0)
            setMotion(MoveTo 160 80)
        )
    )
)


(procedure (localproc_080c)
    (if (<= global87 local10)
        (vignette:setLoop((+ (vignette:loop) 1)))
    )(else
        (vignette:
            moveSpeed(0)
            setMotion(MoveTo 40 80)
        )
        (vignette1:
            setLoop(+ (vignette:loop) 1)
            moveSpeed(0)
            setMotion(MoveTo 160 80)
        )
    )
)


(instance public rm150 of FPRoom
    (properties
        picture 150
        style $000a
    )

    (method (init)
        (send gOldKH:addToFront(self))
        (send gOldMH:addToFront(self))
        (send gIconBar:disable())
        (send gGame:setCursor(996 1))
        proc958_0(128 150 151)
        (balladText:init())
        (vignette:
            init()
            hide()
        )
        (vignette1:
            init()
            hide()
        )
        (super:init())
        (if (== Platform(4) 2)
            (send gGameMusic1:
                number(150)
                flags(1)
                loop(1)
                prevSignal(0)
                play()
            )
        )(else
            (send gGameMusic1:
                number(150)
                flags(1)
                loop(1)
                prevSignal(0)
                play(self)
            )
        )
    )


    (method (doit)
        (var gGameMusic1PrevSignal, temp1[8], temp9[64])
        (super:doit())
        = gGameMusic1PrevSignal (send gGameMusic1:prevSignal)
        (if (== gGameMusic1PrevSignal theGGameMusic1PrevSignal)
            0
        )(else
            (if (gNewEventHandler)
                0
            )(else
                (if (proc999_5(gGameMusic1PrevSignal 143 147 151 159 163 167 175 183 190 199 211 215 219 227 231 235 243 247 251 259 263 267 275 283 290 299 311 315 319 327 331 335 343 347 351 359 363 367 375 383 390 399))
                    = theGGameMusic1PrevSignal gGameMusic1PrevSignal
                    ++local7
                    Display("" 108 local12)
                    (if (<= local7 36)
                        Message(msgGET 150 1 0 0 local7 @temp9)
                    )(else
                        Message(msgGET 150 2 0 0 - local7 36 @temp9)
                    )
                    = local12 Display(@temp9 100 35 137 102 41 105 150 101 1 106 320 107)
                    (if (== gGameMusic1PrevSignal 143)
                        (bouncingBall:show())
                    )(else
                        (if (== gGameMusic1PrevSignal 159)
                            localproc_080c()
                        )(else
                            (if (== gGameMusic1PrevSignal 175)
                                localproc_07af()
                            )(else
                                (if (== gGameMusic1PrevSignal 211)
                                    localproc_080c()
                                )(else
                                    (if (== gGameMusic1PrevSignal 227)
                                        (vignette:view(151))
                                        localproc_07af()
                                    )(else
                                        (if (== gGameMusic1PrevSignal 243)
                                            (vignette1:view(151))
                                            localproc_080c()
                                        )(else
                                            (if (== gGameMusic1PrevSignal 275)
                                                UnLoad(128 150)
                                                localproc_07af()
                                            )(else
                                                (if (== gGameMusic1PrevSignal 311)
                                                    localproc_080c()
                                                )(else
                                                    (if (== gGameMusic1PrevSignal 327)
                                                        (vignette:view(152))
                                                        localproc_07af()
                                                    )(else
                                                        (if (== gGameMusic1PrevSignal 343)
                                                            (vignette1:view(152))
                                                            localproc_080c()
                                                        )(else
                                                            (if (== gGameMusic1PrevSignal 359)
                                                                localproc_07af()
                                                            )(else
                                                                (if (== gGameMusic1PrevSignal 375)
                                                                    localproc_080c()
                                                                )
                                                            )
                                                        )
                                                    )
                                                )
                                            )
                                        )
                                    )
                                )
                            )
                        )
                    )
                )(else
                    (if (== gGameMusic1PrevSignal 137)
                        (if ((<= global87 local9) or (== Platform(4) 2))
                            0
                        )(else
                            (if (>= global87 local11)
                                (bouncingBall:
                                    moveSpeed(4)
                                    cycleSpeed(4)
                                    init()
                                    hide()
                                )
                            )(else
                                (bouncingBall:
                                    init()
                                    hide()
                                )
                            )
                        )
                    )(else
                        (if (== gGameMusic1PrevSignal 138)
                            (balladText:dispose())
                            UnLoad(128 153)
                        )(else
                            (if (== gGameMusic1PrevSignal 140)
                                (if (<= global87 local10)
                                    (vignette:
                                        x(160)
                                        y(80)
                                        show()
                                    )
                                )(else
                                    (vignette:
                                        setLoop(0)
                                        moveSpeed(5)
                                        setMotion(MoveTo 160 80)
                                        show()
                                    )
                                )
                                (vignette1:show())
                            )(else
                                (if (== gGameMusic1PrevSignal 304)
                                    proc958_0(128 152)
                                )(else
                                    (if (== gGameMusic1PrevSignal 409)
                                        (if (<= global87 local10)
                                            (vignette:hide())
                                            (vignette1:hide())
                                        )(else
                                            (vignette1:setMotion(MoveTo 280 80))
                                        )
                                        Display("" 108 local12)
                                    )(else
                                        (if (== gGameMusic1PrevSignal -1)
                                            (if (proc0_2(101))
                                                proc0_4(101)
                                                (send global2:newRoom(110))
                                            )(else
                                                (send global2:newRoom(26))
                                            )
                                        )
                                    )
                                )
                            )
                        )
                    )
                )
            )
        )
    )


    (method (dispose)
        (super:dispose())
        (send gOldKH:delete(self))
        (send gOldMH:delete(self))
    )


    (method (handleEvent pEvent)
        (if ((send pEvent:type) and (== gNumber gNewRoomNumber))
            (send pEvent:claimed(1))
            (send gGameMusic1:pause(1))
            (send global2:setScript(sShowChoices))
        )
    )


    (method (cue)
        (if (((> (send gGameMusic1:prevSignal) 141) and (< (send gGameMusic1:prevSignal) 412)) and (> global87 local9))
            = local2 local38[local0]
            = local3 (- local2 local1)
            = local13[2] (+ local1 (/ local3 10))
            = local13[6] (+ local1 (/ (* local3 3) 10))
            = local13[10] (+ local1 (/ local3 2))
            = local13[14] (- local2 (/ (* local3 3) 10))
            = local13[18] (- local2 (/ local3 10))
            = local13[22] local2
            (bouncingBall:setCycle(MCyc @local13))
            ++local0
            = local1 local2
        )
    )

)
(instance sShowChoices of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (send gGame:setCursor(999 1 176 175))
                (switch ((Print:
                    posn(46 160)
                    font(gFont)
                    addButton(1 19 0 0 1 0 0 0)
                    addButton(0 19 0 0 2 55 0 0)
                    addButton(3 19 0 0 3 110 0 0)
                    addButton(4 19 0 0 4 149 0 0)
                    addButton(2 19 0 0 5 188 0 0)
                    init()
                )
)
                    (case 0
                        (send gGameMusic1:pause(0))
                        = local5 0
                        = local6 0
                    )
                    (case 1
                        (send gGame:restore())
                        = local5 1
                        = local6 0
                    )
                    (case 2
                        = local5 0
                        = local6 0
                        = global4 1
                    )
                    (case 3
                        = local5 0
                        (send gGameMusic1:fade())
                        (send gOldCast:eachElementDo(#hide))
                        Animate((send gOldCast:elements) 0)
                        (send global2:newRoom(26))
                    )
                    (case 4
                        = local5 1
                        = local6 1
                    )
                )
                = cycles 1
            )
            (case 1
                (if (local6)
                    (switch ((Print:
                        window(SysWindow)
                        font(gFont)
                        addTitle(17 0 0 1 110)
                        addButton(1 4 0 0 1 0 0 110)
                        addButton(2 5 0 0 1 0 17 110)
                        addButton(3 6 0 0 1 0 34 110)
                        addButton(4 7 0 0 1 0 51 110)
                        addButton(5 8 0 0 1 0 68 110)
                        addButton(6 9 0 0 1 0 85 110)
                        addButton(0 10 0 0 1 0 102 110)
                        init()
                    )
)
                        (case 0
                            = local5 1
                            = local6 0
                            = cycles 1
                        )
                        (case 1
                            (send gFpMessager:say(11 0 0 0 self 110))
                        )
                        (case 2
                            (send gFpMessager:say(12 0 0 0 self 110))
                        )
                        (case 3
                            (send gFpMessager:say(13 0 0 0 self 110))
                        )
                        (case 4
                            (send gFpMessager:say(14 0 0 0 self 110))
                        )
                        (case 5
                            (send gFpMessager:say(15 0 0 0 self 110))
                        )
                        (case 6
                            (send gFpMessager:say(16 0 0 0 self 110))
                        )
                    )
                )(else
                    = cycles 1
                )
            )
            (case 2
                (if (local6)
                    (self:changeState(1))
                )(else
                    = cycles 1
                )
            )
            (case 3
                (if (local5)
                    (self:changeState(0))
                )(else
                    = cycles 1
                )
            )
            (case 4
                (send gGame:setCursor(996 1))
                (self:dispose())
            )
        )
    )

)
(instance vignette of Actor
    (properties
        x 40
        y 80
        view 150
        priority 6
        signal $4010
        xStep 15
        moveSpeed 0
    )
)
(instance vignette1 of Actor
    (properties
        x 280
        y 80
        view 150
        priority 6
        signal $4010
        xStep 15
        moveSpeed 0
    )
)
(instance bouncingBall of Actor
    (properties
        x 105
        y 130
        view 160
        priority 14
        signal $4010
        cycleSpeed 0
        moveSpeed 0
    )
)
(instance balladText of View
    (properties
        x 160
        y 90
        view 153
        priority 13
        signal $0010
    )
)
