(version 2)
(include "sci.sh")
(exports
    0 openCredits
)
(use "Main")
(use "n958")
(use "Gauge")
(use "Cycle")
(use "Game")
(use "MenuBar")
(use "PicView")
(use "Obj")
(script 84)


(local
    local0
    local1
    theGNewSpeed

)
(instance public openCredits of Rm
    (properties
        picture 900
        style $0007
    )

    (method (init)
        proc0_2()
        proc958_0(128 901 902 903 904 905 906)
        Load(rsSOUND 1)
        (super:init())
        = theGNewSpeed gNewSpeed
        = local1 
            (if (proc0_24())
                1
            )(else
                (if (proc0_24(1))
                    3
                )(else
                    (if (proc0_24(0))
                        6
                    )
                )
            )
        (send (ScriptID(0 23)):prevSignal(0))
        (SL:
            disable()
            state(0)
        )
        SetCursor(gCursorNumber 0)
        (MenuBar:
            hide()
            state(0)
        )
        (self:setScript(openingCredits))
    )

)
(instance openingCredits of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                = gNewSpeed 0
                (send (ScriptID(0 23)):
                    number(1)
                    loop(1)
                    play()
                )
                = cycles 1
            )
            (case 1
                (titleCredit:
                    view(901)
                    loop(0)
                    cel(0)
                    posn(157 195)
                    ignoreHorizon()
                    ignoreActors()
                    yStep(local1)
                    illegalBits(0)
                    init()
                    setMotion(MoveTo 157 50)
                )
                (nameCredit:
                    view(901)
                    loop(1)
                    cel(0)
                    posn(158 240)
                    ignoreHorizon()
                    ignoreActors()
                    yStep(local1)
                    illegalBits(0)
                    init()
                    setMotion(MoveTo 158 50 self)
                )
            )
            (case 2
                (titleCredit:
                    view(902)
                    posn(157 195)
                    setMotion(MoveTo 157 50)
                )
                (nameCredit:
                    view(902)
                    posn(158 240)
                    setMotion(MoveTo 158 50 self)
                )
            )
            (case 3
                (titleCredit:
                    view(903)
                    posn(159 195)
                    setMotion(MoveTo 159 50)
                )
                (nameCredit:
                    view(903)
                    posn(158 240)
                    setMotion(MoveTo 158 50 self)
                )
            )
            (case 4
                (titleCredit:
                    view(904)
                    posn(161 195)
                    setMotion(MoveTo 161 50)
                )
                (nameCredit:
                    view(904)
                    posn(160 240)
                    setMotion(MoveTo 160 50 self)
                )
            )
            (case 5
                (titleCredit:
                    view(905)
                    posn(159 195)
                    setMotion(MoveTo 159 50)
                )
                (nameCredit:
                    view(905)
                    posn(159 220)
                    setMotion(MoveTo 159 50 self)
                )
            )
            (case 6
                (titleCredit:
                    view(906)
                    posn(158 195)
                    setMotion(MoveTo 158 50)
                )
                (nameCredit:
                    view(906)
                    posn(159 220)
                    setMotion(MoveTo 159 50 self)
                )
            )
            (case 7
                (if (== (send (ScriptID(0 23)):prevSignal) 10)
                    = cycles 1
                )(else
                    (titleCredit:dispose())
                    (nameCredit:dispose())
                    (send (ScriptID(0 23)):
                        loop(1)
                        fade()
                    )
                    = cycles 5
                )
            )
            (case 8
                (send gGame:setSpeed(theGNewSpeed))
                (send global2:newRoom(86))
                (self:dispose())
            )
        )
    )


    (method (handleEvent pEvent)
        (var temp0)
        (super:handleEvent(pEvent))
        (if (== (send pEvent:message) 13)
            (send (ScriptID(0 23)):fade())
            (send gGame:setSpeed(theGNewSpeed))
            (send global2:newRoom(86))
            (send pEvent:claimed(1))
        )
        (if (== (send pEvent:type) 4)
            (switch ((send pEvent:message))
                (case 15360
                    (if (GetMenu(1282 113))
                        DoSound(sndSET_SOUND 0)
                        SetMenu(1282 113 0 110 "Turn on")
                    )(else
                        DoSound(sndSET_SOUND 1)
                        SetMenu(1282 113 1 110 "Turn off")
                    )
                )
                (case 22
                    = temp0 (send ((Gauge:new())):
                            description("Use the mouse or right and left arrow keys to set the sound volume.")
                            text("Sound Volume")
                            minimum(0)
                            normal(12)
                            maximum(15)
                            higher("Louder")
                            lower("Softer")
                            doit(DoSound(sndVOLUME))
                        )
                    DoSound(sndVOLUME temp0)
                    DisposeScript(987)
                )
                (case 16640
                    SetCursor(gCursorNumber 1)
                    (send gGame:restore())
                )
                (default 
                    (send pEvent:claimed(1))
                )
            )
        )
    )

)
(instance titleCredit of Actor
    (properties)
)
(instance nameCredit of Actor
    (properties)
)
