(version 2)
(include "sci.sh")
(exports
    0 fpGameControls
    1 gcWin
)
(use "Main")
(use "Slider")
(use "GameControls")
(use "SysWindow")
(script 24)



(class FreddyControlIcon of ControlIcon
    (properties
        view -1
        loop -1
        cel -1
        nsLeft 0
        nsTop -1
        nsRight 0
        nsBottom 0
        state $0000
        cursor -1
        type $4000
        message -1
        modifiers $0000
        signal $0001
        maskView 0
        maskLoop 0
        maskCel 0
        highlightColor 0
        lowlightColor 0
        noun 0
        modNum 0
        helpVerb 0
        theObj 0
        selector 0
    )

    (method (highlight param1)
        (var temp0)
        (if (not (& signal $0020) or (== highlightColor -1))
            return 
        )
        (if (paramTotal and param1)
            = temp0 3
        )(else
            = temp0 0
        )
        DrawCel(view loop temp0 nsLeft nsTop 15)
    )

)
(instance public fpGameControls of GameControls
    (properties)

    (method (init param1)
        = gGameControls self
        (self:
            add(iconOk detailSlider (volumeSlider:
                    theObj(gGame)
                    selector(389)
                    yourself()
                )
 (speedSlider:
                    theObj(gEgo)
                    selector(324)
                    yourself()
                )
 textSlider (iconSave:
                    theObj(gGame)
                    selector(75)
                    yourself()
                )
 (iconRestore:
                    theObj(gGame)
                    selector(76)
                    yourself()
                )
 (iconRestart:
                    theObj(gGame)
                    selector(101)
                    yourself()
                )
 (iconQuit:
                    theObj(gGame)
                    selector(100)
                    yourself()
                )
 (iconAbout:
                    theObj(gGame)
                    selector(632)
                    yourself()
                )
 iconHelp)
            eachElementDo(#highlightColor 40)
            eachElementDo(#lowlightColor 0)
            helpIconItem(iconHelp)
            curIcon(iconSave)
            state(2048)
            window(gcWin)
        )
        (super:init(rest param1))
    )


    (method (dispose)
        (super:dispose())
        (send gGame:setCursor(gWalkCursor))
        DisposeScript(934)
        DisposeScript(978)
        DisposeScript(24)
    )


    (method (show param1)
        (send gGame:setCursor(997))
        (super:show(rest param1))
    )

)
(instance public gcWin of SysWindow
    (properties)

    (method (open)
        (var temp0, temp1[4], temp5, temp6[20], temp26)
        = type 128
        = left 51
        = top 38
        = right 268
        = bottom 151
        = lsLeft left
        = lsTop top
        = lsRight right
        = lsBottom bottom
        = priority 15
        = temp26 PicNotValid()
        PicNotValid(1)
        (super:open())
        = temp0 GetPort()
        SetPort(0)
        DrawCel(995 0 0 51 38 temp5)
        DrawCel(995 2 0 110 139 15)
        DrawCel(995 2 1 151 139 15)
        DrawCel(995 2 2 195 139 15)
        DrawCel(995 2 3 232 139 15)
        Graph(grUPDATE_BOX lsTop lsLeft lsBottom lsRight 1)
        (send gGame:setCursor(999))
        SetPort(temp0)
        PicNotValid(temp26)
    )

)
(instance detailSlider of Slider
    (properties
        view 995
        loop 1
        cel 4
        nsLeft 79
        nsTop 22
        signal $0080
        noun 1
        modNum 24
        helpVerb 7
        sliderView 995
        sliderLoop 1
        bottomValue 1
        topValue 5
    )

    (method (doit param1)
        (if (paramTotal)
            (send gGame:detailLevel(param1))
        )
        (send gGame:detailLevel())
    )


    (method (show param1)
        = maxY 37
        (super:show(rest param1))
    )

)
(instance volumeSlider of Slider
    (properties
        view 995
        loop 1
        cel 5
        nsLeft 107
        nsTop 22
        signal $0080
        noun 2
        modNum 24
        helpVerb 7
        sliderView 995
        sliderLoop 1
        sliderCel 1
        topValue 15
    )

    (method (show param1)
        = maxY 37
        (super:show(rest param1))
    )

)
(instance speedSlider of Slider
    (properties
        view 995
        loop 1
        cel 6
        nsLeft 130
        nsTop 22
        signal $0080
        noun 3
        modNum 24
        helpVerb 7
        sliderView 995
        sliderLoop 1
        sliderCel 2
        bottomValue 15
    )

    (method (doit param1)
        (if (paramTotal)
            (send gEgo:setSpeed(param1))
        )
        (send gEgo:moveSpeed)
    )


    (method (show param1)
        = maxY 37
        (if (not (send gUser:controls))
            = signal 132
            = sliderLoop 10
        )(else
            = sliderLoop 1
            = signal 128
        )
        (super:show(rest param1))
    )


    (method (mask)
    )


    (method (move param1)
        (if ((send gUser:controls))
            (super:move(rest param1))
        )
    )

)
(instance textSlider of Slider
    (properties
        view 995
        loop 1
        cel 7
        nsLeft 160
        nsTop 22
        signal $0080
        noun 4
        modNum 24
        helpVerb 7
        sliderView 995
        sliderLoop 1
        sliderCel 3
        bottomValue 24
        topValue 1
    )

    (method (doit param1)
        (if (paramTotal)
            = global94 param1
        )
        return global94
    )


    (method (show param1)
        = maxY 37
        (super:show(rest param1))
    )

)
(instance iconSave of FreddyControlIcon
    (properties
        view 995
        loop 3
        cel 0
        nsLeft 5
        nsTop 11
        message 8
        signal $01c3
        noun 5
        modNum 24
        helpVerb 7
    )
)
(instance iconRestore of FreddyControlIcon
    (properties
        view 995
        loop 4
        cel 0
        nsLeft 7
        nsTop 27
        message 8
        signal $01c3
        noun 6
        modNum 24
        helpVerb 7
    )
)
(instance iconRestart of FreddyControlIcon
    (properties
        view 995
        loop 5
        cel 0
        nsLeft 5
        nsTop 42
        message 8
        signal $01c3
        noun 7
        modNum 24
        helpVerb 7
    )
)
(instance iconQuit of FreddyControlIcon
    (properties
        view 995
        loop 6
        cel 0
        nsLeft 7
        nsTop 57
        message 8
        signal $01c3
        noun 8
        modNum 24
        helpVerb 7
    )
)
(instance iconAbout of FreddyControlIcon
    (properties
        view 995
        loop 7
        cel 0
        nsLeft 5
        nsTop 73
        message 8
        signal $01c3
        noun 9
        modNum 24
        helpVerb 7
    )
)
(instance iconHelp of FreddyControlIcon
    (properties
        view 995
        loop 8
        cel 0
        nsLeft 27
        nsTop 74
        cursor 9
        message 7
        signal $0183
        noun 10
        modNum 24
        helpVerb 7
    )
)
(instance iconOk of FreddyControlIcon
    (properties
        view 995
        loop 9
        cel 0
        nsLeft 7
        nsTop 89
        cursor 9
        message 8
        signal $01c3
        noun 11
        modNum 24
        helpVerb 7
    )
)
