alias demo_intro {

        var %c $calc(%dm.c / 2)
        
        var %cos1 $calc($cos(%c).deg * 12)
        var %sin1 $calc($sin(%c).deg * 12)

        var %cos2 $calc($cos($calc(%c + 90)).deg * 12)
        var %sin2 $calc($sin($calc(%c + 90)).deg * 12)

        ;; digital (red)
        if (%dm.c < $calc(%dm.bpm * 800000)) {                

                drawpic -ncs @dm.intro.1 $calc(%dm.intro.word.1.x - %sin1) $calc(%dm.intro.word.1.y - %cos1) $calc(%dm.intro.word.1.w + (%sin1 * 2)) $calc(%dm.intro.word.1.h + (%cos1 * 2)) $qt($scriptdirimg\text\digital.png)
                
                drawreplace -nr @dm.intro.1 $rgb(255, 95, 95) $gettok(%dm.intro.ctab.red, %dm.intro.ctab.c1, 32)

                if (%dm.c > $calc(%dm.bpm * 400000)) {    

                        if (%dm.intro.ctab.c1 < 255) {

                                dinc dm.intro.ctab.c1 .17

                                if (%dm.intro.ctab.c1 > 255) {

                                        set %dm.intro.ctab.c1 255
                                }
                        }
                }
        }

        ;; sounds (green)
        if ((%dm.c > $calc(%dm.bpm * 400000)) && (%dm.c < $calc(%dm.bpm * 1200000))) {

                drawpic -ncs @dm.intro.2 $calc(%dm.intro.word.2.x - %sin2) $calc(%dm.intro.word.2.y - %cos2) $calc(%dm.intro.word.2.w + (%sin2 * 2)) $calc(%dm.intro.word.2.h + (%cos2 * 2)) $qt($scriptdirimg\text\sounds.png)
                
                drawreplace -nr @dm.intro.2 $rgb(103, 255, 95) $gettok(%dm.intro.ctab.green, %dm.intro.ctab.c2, 32)

                if (%dm.c > $calc(%dm.bpm * 800000)) {   

                        if (%dm.intro.ctab.c2 < 255) {

                                dinc dm.intro.ctab.c2 .17

                                if (%dm.intro.ctab.c2 > 255) {

                                        set %dm.intro.ctab.c2 255
                                }
                        }
                }
        }

        ;; system (blue)
        if ((%dm.c > $calc(%dm.bpm * 800000)) && (%dm.c < $calc(%dm.bpm * 1600000))) {

                drawpic -ncs @dm.intro.1 $calc(%dm.intro.word.3.x - %sin1) $calc(%dm.intro.word.3.y - %cos1) $calc(%dm.intro.word.3.w + (%sin1 * 2)) $calc(%dm.intro.word.3.h + (%cos1 * 2)) $qt($scriptdirimg\text\system.png)
                
                drawreplace -nr @dm.intro.1 $rgb(95, 110, 255) $gettok(%dm.intro.ctab.blue, %dm.intro.ctab.c3, 32)

                if (%dm.c > $calc(%dm.bpm * 1200000)) {   

                        if (%dm.intro.ctab.c3 < 255) {

                                dinc dm.intro.ctab.c3 .17

                                if (%dm.intro.ctab.c3 > 255) {

                                        set %dm.intro.ctab.c3 255
                                }
                        }
                }
        }

        ;; would (pink)
        if ((%dm.c > $calc(%dm.bpm * 1200000)) && (%dm.c < $calc(%dm.bpm * 2000000))) {

                drawpic -ncs @dm.intro.2 $calc(%dm.intro.word.4.x - %sin2) $calc(%dm.intro.word.4.y - %cos2) $calc(%dm.intro.word.4.w + (%sin2 * 2)) $calc(%dm.intro.word.4.h + (%cos2 * 2)) $qt($scriptdirimg\text\would.png)
                
                drawreplace -nr @dm.intro.2 $rgb(255, 95, 253) $gettok(%dm.intro.ctab.pink, %dm.intro.ctab.c4, 32)

                if (%dm.c > $calc(%dm.bpm * 1600000)) {   

                        if (%dm.intro.ctab.c4 < 255) {

                                dinc dm.intro.ctab.c4 .17

                                if (%dm.intro.ctab.c4 > 255) {

                                        set %dm.intro.ctab.c4 255
                                }
                        }
                }
        }

        ;; like to (yellow)
        if ((%dm.c > $calc(%dm.bpm * 1600000)) && (%dm.c < $calc(%dm.bpm * 2400000))) {

                drawpic -ncs @dm.intro.1 $calc(%dm.intro.word.5.x - %sin1) $calc(%dm.intro.word.5.y - %cos1) $calc(%dm.intro.word.5.w + (%sin1 * 2)) $calc(%dm.intro.word.5.h + (%cos1 * 2)) $qt($scriptdirimg\text\liketo.png)
                
                drawreplace -nr @dm.intro.1 $rgb(255, 253, 95) $gettok(%dm.intro.ctab.yellow, %dm.intro.ctab.c5, 32)

                if (%dm.c > $calc(%dm.bpm * 2000000)) {   

                        if (%dm.intro.ctab.c5 < 255) {

                                dinc dm.intro.ctab.c5 .17

                                if (%dm.intro.ctab.c5 > 255) {

                                        set %dm.intro.ctab.c5 255
                                }
                        }
                }
        }

        ;; invite (red)
        if ((%dm.c > $calc(%dm.bpm * 2000000)) && (%dm.c < $calc(%dm.bpm * 2800000))) {

                drawpic -ncs @dm.intro.2 $calc(%dm.intro.word.6.x - %sin2) $calc(%dm.intro.word.6.y - %cos2) $calc(%dm.intro.word.6.w + (%sin2 * 2)) $calc(%dm.intro.word.6.h + (%cos2 * 2)) $qt($scriptdirimg\text\invite.png)
                
                drawreplace -nr @dm.intro.2 $rgb(255, 95, 95) $gettok(%dm.intro.ctab.red, %dm.intro.ctab.c6, 32)

                if (%dm.c > $calc(%dm.bpm * 2400000)) {   

                        if (%dm.intro.ctab.c6 < 255) {

                                dinc dm.intro.ctab.c6 .17

                                if (%dm.intro.ctab.c6 > 255) {

                                        set %dm.intro.ctab.c6 255
                                }
                        }
                }
        }

        ;; you (green)
        if ((%dm.c > $calc(%dm.bpm * 2400000)) && (%dm.c < $calc(%dm.bpm * 3200000))) {

                drawpic -ncs @dm.intro.1 $calc(%dm.intro.word.7.x - %sin1) $calc(%dm.intro.word.7.y - %cos1) $calc(%dm.intro.word.7.w + (%sin1 * 2)) $calc(%dm.intro.word.7.h + (%cos1 * 2)) $qt($scriptdirimg\text\you.png)
                
                drawreplace -nr @dm.intro.1 $rgb(103, 255, 95) $gettok(%dm.intro.ctab.green, %dm.intro.ctab.c7, 32)

                if (%dm.c > $calc(%dm.bpm * 2800000)) {   

                        if (%dm.intro.ctab.c7 < 255) {

                                dinc dm.intro.ctab.c7 .17

                                if (%dm.intro.ctab.c7 > 255) {

                                        set %dm.intro.ctab.c7 255
                                }
                        }
                }
        }

        ;; to... (blue)
        if ((%dm.c > $calc(%dm.bpm * 2800000)) && (%dm.c < $calc(%dm.bpm * 3600000))) {

                drawpic -ncs @dm.intro.2 $calc(%dm.intro.word.8.x - %sin2) $calc(%dm.intro.word.8.y - %cos2) $calc(%dm.intro.word.8.w + (%sin2 * 2)) $calc(%dm.intro.word.8.h + (%cos2 * 2)) $qt($scriptdirimg\text\to.png)

                drawreplace -nr @dm.intro.2 $rgb(95, 110, 255) $gettok(%dm.intro.ctab.blue, %dm.intro.ctab.c8, 32)

                if (%dm.c > $calc(%dm.bpm * 3200000)) {   

                        if (%dm.intro.ctab.c8 < 255) {

                                dinc dm.intro.ctab.c8 .2

                                if (%dm.intro.ctab.c8 > 255) {

                                        set %dm.intro.ctab.c8 255
                                }
                        }
                }
        }

        ;; interlace

        if (%dm.intro.interlace == 0) {

                drawcopy -nt @dm.interlace.1 16777215 0 0 320 180 @dm.intro.1 0 0 
                drawcopy -nt @dm.interlace.2 16777215 0 0 320 180 @dm.intro.2 0 0

                set %dm.intro.interlace 1
        }

        else {

                drawcopy -nt @dm.interlace.2 16777215 0 0 320 180 @dm.intro.1 0 0
                drawcopy -nt @dm.interlace.1 16777215 0 0 320 180 @dm.intro.2 0 0

                set %dm.intro.interlace 0
        }

        drawcopy -nt @dm.intro.1 0 0 0 320 180 @demo 0 0
        drawcopy -nt @dm.intro.2 0 0 0 320 180 @demo 0 0

        if (%dm.c > 15000) {

                .signal -n dmSelectPart logo
                halt
        }

        dmDrawFrame demo_intro
}