(version 2)
(include "sci.sh")
(exports
    0 rm63
)
(use "Main")
(use "Cycle")
(use "Game")
(use "View")
(use "Obj")
(script 63)


(local
    newActor
    newActor_2
    newActor_3
    local3
    local4
    local5

)
(instance public rm63 of Rm
    (properties
        picture 146
    )

    (method (init)
        (var temp0)
        (super:init())
        = local5 1
        = local4 0
        (send gMainIconBar:disable())
        Load(rsVIEW 920)
        Load(rsVIEW 921)
        Load(rsVIEW 922)
        Load(rsVIEW 923)
        Load(rsSOUND 350)
        Load(rsSOUND 320)
        Load(rsSOUND 330)
        Load(rsSOUND 230)
        Load(rsSOUND 622)
        Load(rsSOUND 833)
        Load(rsSOUND 840)
        Load(rsSOUND 845)
        Load(rsSOUND 880)
        Load(rsSOUND 100)
        = local3 (send gGame:setCursor(996 1))
        SetCursor(0)
        Palette(palSET_INTENSITY 0 255 100)
    )


    (method (doit)
        (var newEvent)
        (if (local5)
            = local5 0
            (doCredits:init(self))
            (creditsMusic:init(self))
            = newEvent (Event:new())
            (while (not proc999_5((send newEvent:type) 4 1 256))
                (send newEvent:dispose())
                = gLastTicks (+ global86 GetTime())
                (doCredits:doit())
                (creditsMusic:doit())
                (send gSounds:eachElementDo(174))
                (send gSounds:eachElementDo(57))
                Animate((send gGQg3KDHandler:elements) 1)
                (if (global37)
                    = global37 0
                    (send gGQg3KDHandler:eachElementDo(246))
                )
                = newEvent (Event:new())
            )
            (send newEvent:dispose())
            (doCredits:dispose())
            (creditsMusic:dispose())
            (send global2:newRoom(gGClientModNum))
        )
    )


    (method (dispose)
        UnLoad(128 920)
        UnLoad(128 921)
        UnLoad(128 922)
        UnLoad(128 923)
        Lock(132 350 0)
        Lock(132 320 0)
        Lock(132 330 0)
        Lock(132 230 0)
        Lock(132 622 0)
        Lock(132 833 0)
        Lock(132 840 0)
        Lock(132 845 0)
        Lock(132 100 0)
        Lock(132 880 0)
        SetCursor(1)
        (send gGame:setCursor(local3 1))
        (send gMainIconBar:enable())
        (send gGame:setScript(0))
        (super:dispose())
    )

)
(instance doCredits of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                = newActor (Actor:new())
                (send newActor:
                    view(920)
                    signal(24592)
                    setLoop(0)
                    setCel(0)
                    x(160)
                    priority(0)
                    y(230)
                    moveSpeed(2)
                    yStep(3)
                    setMotion(MoveTo 160 71 self)
                    init()
                )
            )
            (case 1
                = newActor_2 (Actor:new())
                (send newActor_2:
                    view(920)
                    signal(24592)
                    setLoop(0)
                    setCel(1)
                    x(160)
                    y(230)
                    priority(1)
                    moveSpeed(2)
                    yStep(3)
                    setMotion(MoveTo 160 106 self)
                    init()
                )
            )
            (case 2
                = newActor_3 (Actor:new())
                (send newActor_3:
                    view(920)
                    signal(24592)
                    setLoop(0)
                    setCel(2)
                    x(160)
                    y(230)
                    moveSpeed(2)
                    yStep(3)
                    priority(2)
                    setMotion(MoveTo 160 131 self)
                    init()
                )
            )
            (case 3
                = ticks 137
            )
            (case 4
                (send newActor:setMotion(MoveTo 160 -15))
                (send newActor_2:setMotion(MoveTo 160 -15))
                (send newActor_3:setMotion(MoveTo 160 -15 self))
            )
            (case 5
                (send newActor:dispose())
                (send newActor_2:dispose())
                (send newActor_3:dispose())
                = cycles 2
            )
            (case 6
                = newActor (Actor:new())
                (send newActor:
                    view(920)
                    signal(24592)
                    setLoop(2)
                    setCel(0)
                    x(160)
                    priority(0)
                    y(230)
                    moveSpeed(2)
                    yStep(3)
                    setMotion(MoveTo 160 77 self)
                    init()
                )
            )
            (case 7
                = newActor_2 (Actor:new())
                (send newActor_2:
                    view(920)
                    signal(24592)
                    setLoop(0)
                    setCel(1)
                    x(160)
                    y(230)
                    priority(1)
                    moveSpeed(2)
                    yStep(3)
                    setMotion(MoveTo 160 106 self)
                    init()
                )
            )
            (case 8
                = ticks 137
            )
            (case 9
                (send newActor:setMotion(MoveTo 160 -15))
                (send newActor_2:setMotion(MoveTo 160 -15 self))
            )
            (case 10
                (send newActor:dispose())
                (send newActor_2:dispose())
                = cycles 2
            )
            (case 11
                = newActor (Actor:new())
                (send newActor:
                    view(920)
                    signal(24592)
                    setLoop(4)
                    setCel(0)
                    x(160)
                    y(230)
                    priority(0)
                    moveSpeed(2)
                    yStep(3)
                    setMotion(MoveTo 160 67 self)
                    init()
                )
            )
            (case 12
                = newActor_2 (Actor:new())
                (send newActor_2:
                    view(920)
                    signal(24592)
                    setLoop(4)
                    setCel(1)
                    x(160)
                    y(230)
                    priority(1)
                    moveSpeed(2)
                    yStep(3)
                    setMotion(MoveTo 160 104 self)
                    init()
                )
            )
            (case 13
                = ticks 137
            )
            (case 14
                (send newActor:setMotion(MoveTo 160 -15))
                (send newActor_2:setMotion(MoveTo 160 -15 self))
            )
            (case 15
                (send newActor:dispose())
                (send newActor_2:dispose())
                = cycles 2
            )
            (case 16
                = newActor (Actor:new())
                (send newActor:
                    view(920)
                    signal(24592)
                    setLoop(6)
                    setCel(0)
                    x(160)
                    y(230)
                    priority(0)
                    moveSpeed(2)
                    yStep(3)
                    setMotion(MoveTo 160 72 self)
                    init()
                )
            )
            (case 17
                = newActor_2 (Actor:new())
                (send newActor_2:
                    view(920)
                    signal(24592)
                    setLoop(6)
                    setCel(1)
                    x(160)
                    y(230)
                    priority(1)
                    moveSpeed(2)
                    yStep(3)
                    setMotion(MoveTo 160 109 self)
                    init()
                )
            )
            (case 18
                = ticks 137
            )
            (case 19
                (send newActor:setMotion(MoveTo 160 -15))
                (send newActor_2:setMotion(MoveTo 160 -15 self))
            )
            (case 20
                (send newActor:dispose())
                (send newActor_2:dispose())
                = cycles 2
            )
            (case 21
                = newActor (Actor:new())
                (send newActor:
                    view(920)
                    signal(24592)
                    setLoop(8)
                    setCel(0)
                    x(160)
                    y(230)
                    priority(0)
                    moveSpeed(2)
                    yStep(3)
                    setMotion(MoveTo 160 83 self)
                    init()
                )
            )
            (case 22
                = newActor_2 (Actor:new())
                (send newActor_2:
                    view(920)
                    signal(24592)
                    setLoop(8)
                    setCel(1)
                    x(160)
                    y(230)
                    priority(1)
                    moveSpeed(2)
                    yStep(3)
                    setMotion(MoveTo 160 114 self)
                    init()
                )
            )
            (case 23
                = ticks 137
            )
            (case 24
                (send newActor:setMotion(MoveTo 160 -15))
                (send newActor_2:setMotion(MoveTo 160 -15 self))
            )
            (case 25
                (send newActor:dispose())
                (send newActor_2:dispose())
                = cycles 2
            )
            (case 26
                = newActor (Actor:new())
                (send newActor:
                    view(920)
                    signal(24592)
                    setLoop(10)
                    setCel(0)
                    x(160)
                    y(230)
                    priority(0)
                    moveSpeed(2)
                    yStep(3)
                    setMotion(MoveTo 160 77 self)
                    init()
                )
            )
            (case 27
                = newActor_2 (Actor:new())
                (send newActor_2:
                    view(920)
                    signal(24592)
                    setLoop(10)
                    setCel(1)
                    x(160)
                    y(230)
                    priority(1)
                    moveSpeed(2)
                    yStep(3)
                    setMotion(MoveTo 160 111 self)
                    init()
                )
            )
            (case 28
                = ticks 137
            )
            (case 29
                (send newActor:setMotion(MoveTo 160 -15))
                (send newActor_2:setMotion(MoveTo 160 -15 self))
            )
            (case 30
                (send newActor:dispose())
                (send newActor_2:dispose())
                = cycles 2
            )
            (case 31
                = newActor (Actor:new())
                (send newActor:
                    view(920)
                    signal(24592)
                    setLoop(12)
                    setCel(0)
                    x(160)
                    y(230)
                    priority(0)
                    moveSpeed(2)
                    yStep(3)
                    setMotion(MoveTo 160 79 self)
                    init()
                )
            )
            (case 32
                = newActor_2 (Actor:new())
                (send newActor_2:
                    view(920)
                    signal(24592)
                    setLoop(12)
                    setCel(1)
                    x(160)
                    y(230)
                    priority(1)
                    moveSpeed(2)
                    yStep(3)
                    setMotion(MoveTo 160 112 self)
                    init()
                )
            )
            (case 33
                = ticks 137
            )
            (case 34
                (send newActor:setMotion(MoveTo 160 -15))
                (send newActor_2:setMotion(MoveTo 160 -15 self))
            )
            (case 35
                (send newActor:dispose())
                (send newActor_2:dispose())
                = cycles 2
            )
            (case 36
                = newActor (Actor:new())
                (send newActor:
                    view(921)
                    signal(24592)
                    setLoop(2)
                    setCel(0)
                    x(160)
                    y(230)
                    priority(0)
                    moveSpeed(2)
                    yStep(3)
                    setMotion(MoveTo 160 51 self)
                    init()
                )
            )
            (case 37
                = newActor_2 (Actor:new())
                (send newActor_2:
                    view(921)
                    signal(24592)
                    setLoop(2)
                    setCel(1)
                    x(160)
                    y(245)
                    priority(1)
                    moveSpeed(2)
                    yStep(3)
                    setMotion(MoveTo 160 131 self)
                    init()
                )
            )
            (case 38
                = ticks 137
            )
            (case 39
                (send newActor_2:cel(2))
                DrawPic(146 dpCLOSEREOPEN_HCENTER)
                = ticks 237
            )
            (case 40
                (send newActor:setMotion(MoveTo 160 -15))
                (send newActor_2:setMotion(MoveTo 160 -15 self))
            )
            (case 41
                (send newActor:dispose())
                (send newActor_2:dispose())
                = cycles 2
            )
            (case 42
                = newActor (Actor:new())
                (send newActor:
                    view(921)
                    signal(24592)
                    setLoop(0)
                    setCel(0)
                    x(160)
                    y(230)
                    priority(0)
                    moveSpeed(2)
                    yStep(3)
                    setMotion(MoveTo 160 40 self)
                    init()
                )
            )
            (case 43
                = newActor_2 (Actor:new())
                (send newActor_2:
                    view(921)
                    signal(24592)
                    setLoop(0)
                    setCel(1)
                    x(160)
                    y(270)
                    priority(1)
                    moveSpeed(2)
                    yStep(3)
                    setMotion(MoveTo 160 140 self)
                    init()
                )
            )
            (case 44
                = ticks 137
            )
            (case 45
                (send newActor_2:cel(2))
                DrawPic(146 dpCLOSEREOPEN_HCENTER)
                = ticks 237
            )
            (case 46
                (send newActor:setMotion(MoveTo 160 -15))
                (send newActor_2:setMotion(MoveTo 160 -15 self))
            )
            (case 47
                (send newActor:dispose())
                (send newActor_2:dispose())
                = cycles 2
            )
            (case 48
                = newActor (Actor:new())
                (send newActor:
                    view(921)
                    signal(24592)
                    setLoop(4)
                    setCel(0)
                    x(160)
                    y(230)
                    priority(0)
                    moveSpeed(2)
                    yStep(3)
                    setMotion(MoveTo 160 71 self)
                    init()
                )
            )
            (case 49
                = newActor_2 (Actor:new())
                (send newActor_2:
                    view(921)
                    signal(24592)
                    setLoop(4)
                    setCel(1)
                    x(160)
                    y(230)
                    priority(1)
                    moveSpeed(2)
                    yStep(3)
                    setMotion(MoveTo 160 106 self)
                    init()
                )
            )
            (case 50
                = ticks 137
            )
            (case 51
                (send newActor:setMotion(MoveTo 160 -15))
                (send newActor_2:setMotion(MoveTo 160 -15 self))
            )
            (case 52
                (send newActor:dispose())
                (send newActor_2:dispose())
                = cycles 2
            )
            (case 53
                = newActor (Actor:new())
                (send newActor:
                    view(922)
                    signal(24592)
                    setLoop(0)
                    setCel(0)
                    x(160)
                    y(230)
                    priority(0)
                    moveSpeed(2)
                    yStep(3)
                    setMotion(MoveTo 160 58 self)
                    init()
                )
            )
            (case 54
                = newActor_2 (Actor:new())
                (send newActor_2:
                    view(922)
                    signal(24592)
                    setLoop(0)
                    setCel(1)
                    x(160)
                    y(245)
                    priority(1)
                    moveSpeed(2)
                    yStep(3)
                    setMotion(MoveTo 160 144 self)
                    init()
                )
            )
            (case 55
                = ticks 137
            )
            (case 56
                (send newActor_2:cel(2))
                DrawPic(146 dpCLOSEREOPEN_HCENTER)
                = ticks 237
            )
            (case 57
                (send newActor_2:cel(3))
                DrawPic(146 dpCLOSEREOPEN_HCENTER)
                = ticks 237
            )
            (case 58
                (send newActor_2:cel(4))
                DrawPic(146 dpCLOSEREOPEN_HCENTER)
                = ticks 237
            )
            (case 59
                (send newActor:setMotion(MoveTo 160 -15))
                (send newActor_2:setMotion(MoveTo 160 -15 self))
            )
            (case 60
                (send newActor:dispose())
                (send newActor_2:dispose())
                = cycles 2
            )
            (case 61
                = newActor (Actor:new())
                (send newActor:
                    view(922)
                    signal(24592)
                    setLoop(2)
                    setCel(0)
                    x(160)
                    y(230)
                    priority(0)
                    moveSpeed(2)
                    yStep(3)
                    setMotion(MoveTo 160 54 self)
                    init()
                )
            )
            (case 62
                = newActor_2 (Actor:new())
                (send newActor_2:
                    view(922)
                    signal(24592)
                    setLoop(2)
                    setCel(1)
                    x(160)
                    y(245)
                    priority(1)
                    moveSpeed(2)
                    yStep(3)
                    setMotion(MoveTo 160 132 self)
                    init()
                )
            )
            (case 63
                = ticks 137
            )
            (case 64
                (send newActor:setMotion(MoveTo 160 -15))
                (send newActor_2:setMotion(MoveTo 160 -15 self))
            )
            (case 65
                (send newActor:dispose())
                (send newActor_2:dispose())
                = cycles 2
            )
            (case 66
                = newActor (Actor:new())
                (send newActor:
                    view(922)
                    signal(24592)
                    setLoop(4)
                    setCel(0)
                    x(160)
                    y(230)
                    priority(0)
                    moveSpeed(2)
                    yStep(3)
                    setMotion(MoveTo 160 73 self)
                    init()
                )
            )
            (case 67
                = newActor_2 (Actor:new())
                (send newActor_2:
                    view(922)
                    signal(24592)
                    setLoop(4)
                    setCel(1)
                    x(160)
                    y(245)
                    priority(1)
                    moveSpeed(2)
                    yStep(3)
                    setMotion(MoveTo 160 111 self)
                    init()
                )
            )
            (case 68
                = ticks 137
            )
            (case 69
                (send newActor:setMotion(MoveTo 160 -15))
                (send newActor_2:setMotion(MoveTo 160 -15 self))
            )
            (case 70
                (send newActor:dispose())
                (send newActor_2:dispose())
                = cycles 2
            )
            (case 71
                = newActor (Actor:new())
                (send newActor:
                    view(923)
                    signal(24592)
                    setLoop(0)
                    setCel(0)
                    x(160)
                    y(230)
                    priority(0)
                    moveSpeed(2)
                    yStep(3)
                    setMotion(MoveTo 160 72 self)
                    init()
                )
            )
            (case 72
                = newActor_2 (Actor:new())
                (send newActor_2:
                    view(923)
                    signal(24592)
                    setLoop(0)
                    setCel(1)
                    x(160)
                    y(245)
                    priority(1)
                    moveSpeed(2)
                    yStep(3)
                    setMotion(MoveTo 160 107 self)
                    init()
                )
            )
            (case 73
                = ticks 137
            )
            (case 74
                (send newActor:setMotion(MoveTo 160 -15))
                (send newActor_2:setMotion(MoveTo 160 -15 self))
            )
            (case 75
                (send newActor:dispose())
                (send newActor_2:dispose())
                = cycles 2
            )
            (case 76
                = newActor (Actor:new())
                (send newActor:
                    view(923)
                    signal(24592)
                    setLoop(2)
                    setCel(0)
                    x(160)
                    y(230)
                    priority(0)
                    moveSpeed(2)
                    yStep(3)
                    setMotion(MoveTo 160 54 self)
                    init()
                )
            )
            (case 77
                = newActor_2 (Actor:new())
                (send newActor_2:
                    view(923)
                    signal(24592)
                    setLoop(2)
                    setCel(1)
                    x(160)
                    y(245)
                    priority(1)
                    moveSpeed(2)
                    yStep(3)
                    setMotion(MoveTo 160 145 self)
                    init()
                )
            )
            (case 78
                = ticks 137
            )
            (case 79
                (send newActor_2:cel(2))
                DrawPic(146 dpCLOSEREOPEN_HCENTER)
                = ticks 237
            )
            (case 80
                (send newActor:setMotion(MoveTo 160 -15))
                (send newActor_2:setMotion(MoveTo 160 -15 self))
            )
            (case 81
                (send newActor:dispose())
                (send newActor_2:dispose())
                = cycles 2
            )
            (case 82
                = newActor (Actor:new())
                (send newActor:
                    view(922)
                    signal(24592)
                    setLoop(6)
                    setCel(0)
                    x(160)
                    y(230)
                    priority(0)
                    moveSpeed(2)
                    yStep(3)
                    setMotion(MoveTo 160 53 self)
                    init()
                )
            )
            (case 83
                = newActor_2 (Actor:new())
                (send newActor_2:
                    view(922)
                    signal(24592)
                    setLoop(6)
                    setCel(1)
                    x(160)
                    y(245)
                    priority(1)
                    moveSpeed(2)
                    yStep(3)
                    setMotion(MoveTo 160 134 self)
                    init()
                )
            )
            (case 84
                = ticks 137
            )
            (case 85
                (send newActor_2:cel(2))
                DrawPic(146 dpCLOSEREOPEN_HCENTER)
                = ticks 237
            )
            (case 86
                (send newActor:setMotion(MoveTo 160 -15))
                (send newActor_2:setMotion(MoveTo 160 -15 self))
            )
            (case 87
                (send newActor:dispose())
                (send newActor_2:dispose())
                = cycles 2
            )
            (case 88
                = newActor (Actor:new())
                (send newActor:
                    view(923)
                    signal(24592)
                    setLoop(4)
                    setCel(0)
                    x(160)
                    y(230)
                    priority(0)
                    moveSpeed(2)
                    yStep(3)
                    setMotion(MoveTo 160 46 self)
                    init()
                )
            )
            (case 89
                = newActor_2 (Actor:new())
                (send newActor_2:
                    view(923)
                    signal(24592)
                    setLoop(4)
                    setCel(1)
                    x(160)
                    y(245)
                    priority(1)
                    moveSpeed(2)
                    yStep(3)
                    setMotion(MoveTo 160 137 self)
                    init()
                )
            )
            (case 90
                = ticks 137
            )
            (case 91
                (send newActor_2:cel(2))
                DrawPic(146 dpCLOSEREOPEN_HCENTER)
                = ticks 237
            )
            (case 92
                (send newActor:setMotion(MoveTo 160 -15))
                (send newActor_2:setMotion(MoveTo 160 -15 self))
            )
            (case 93
                (send newActor:dispose())
                (send newActor_2:dispose())
                = cycles 2
            )
            (case 94
                (self:init())
            )
        )
    )

)
(instance creditsMusic of Script
    (properties)

    (method (changeState newState)
        (switch (= state newState)
            (case 0
                (send gLongSong:
                    setLoop(1)
                    number(350)
                    play(self)
                )
            )
            (case 1
                (send gLongSong:
                    setLoop(1)
                    number(320)
                    play(self)
                )
            )
            (case 2
                (send gLongSong:
                    setLoop(1)
                    number(330)
                    play(self)
                )
            )
            (case 3
                (send gLongSong:
                    setLoop(1)
                    number(230)
                    play(self)
                )
            )
            (case 4
                (send gLongSong:
                    setLoop(1)
                    number(622)
                    play(self)
                )
            )
            (case 5
                (send gLongSong:
                    setLoop(1)
                    number(833)
                    play(self)
                )
            )
            (case 6
                (send gLongSong:
                    setLoop(1)
                    number(840)
                    play(self)
                )
            )
            (case 7
                (send gLongSong:
                    setLoop(1)
                    number(845)
                    play(self)
                )
            )
            (case 8
                (send gLongSong:
                    setLoop(1)
                    number(100)
                    play(self)
                )
            )
            (case 9
                (send gLongSong:
                    setLoop(1)
                    number(880)
                    play(self)
                )
            )
            (case 10
                (self:init())
            )
        )
    )


    (method (cue param1)
        (if (not local4)
            = local4 1
            (self:changeState((+ state 1) rest param1))
        )(else
            (if (== (send gLongSong:prevSignal) -1)
                (self:changeState((+ state 1) rest param1))
            )
        )
    )

)
