home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 8
/
FreshFishVol8-CD2.bin
/
bbs
/
dev
/
tbsource.lha
/
TBSource
/
Questions
/
Versions
/
0.99d
/
Qv99d.lzh
/
QuePrefs.S
< prev
next >
Wrap
Text File
|
1991-09-22
|
27KB
|
1,355 lines
*************************************************
* *
* (C)opyright 1991 *
* *
* by Tomi Blinnikka *
* *
* Don´t try to understand the code *
* *
* Version: See info from main source code *
* *
*************************************************
INCLUDE "JMPLibs.i"
INCLUDE "exec/types.i"
INCLUDE "libraries/reqbase.i"
INCLUDE "FH1:Language/Include2.0/intuition.xref"
INCLUDE "FH1:Language/Include2.0/gadtools.xref"
INCLUDE "dos.xref"
INCLUDE "exec.xref"
INCLUDE "gfx.xref"
INCLUDE "intuition.xref"
XDEF Prefs20
XDEF SToW5
XDEF PrefsWin1
XDEF NoPrefsWin1
XDEF glist2
XDEF mlist2
XDEF GadMagic2
XDEF MenuMagic2
XDEF DefPrefs
XDEF Talk
XDEF TalkSys
XDEF TalkDes
XDEF TalkQue
XDEF TalkAns
XDEF TalkScore
XDEF FileRequest2
XDEF SpeakName
XDEF PrefsFile
XDEF SpeakFile
XDEF FRPathName2
XDEF Colors
XDEF ColorsBuf
XDEF P1CheckFile
XDEF PrefsBuf
XDEF CurrentPrefs
XDEF PrefsSize
XREF LoadCommKey
XREF SaveCommKey
XREF SaveAsCommKey
XREF QuitCommKey
XREF QuitMenu1I2Text
XREF PrefsM2Text
XREF PrefsM3Text
XREF PrefsM4Text
XREF Speaker
XREF vi
XREF Window1
XREF Screen1
XREF ViewPort1
XREF SS_Load3
XREF SS_Save2
XREF SS_SaveAs2
XREF SS_Prefs
XREF SS_Colors
XREF SS_On
XREF SS_Done
XREF SS_Default
XREF SS_ERR_Win1
XREF SS_ERR_File1
XREF SS_ERR_File2
XREF SS_ERR_File3
XREF AskReplace
XREF ClockPointer1
XREF SimpleRequest
XREF TwoGadRequest
XREF FileError
XREF MenusOff
XREF MenusOn
XREF SleepPointer
XREF NormalPointer
XREF MenuNull
XREF CheckIDCMP
XREF ClearMSGs
XREF OKTxt
XREF _GadToolsBase
XREF _IntuitionBase
XREF _DosBase
XREF _GfxBase
XREF _ReqBase
XREF Window1IDCMP
XREF ShutDown
XREF QName
XREF Topaz
XREF PrefTop
XREF MainMGad1
XREF MainMenu
XREF Mode
PrefWinYSize: EQU 150
PrefsSize: EQU 156
DGadTools: set 1
DReq: set 1
INCLUDE "FH1:Language/Include2.0/Utility/tagitem.i"
INCLUDE "FH1:Language/Include2.0/Libraries/gadtools.i"
NoPrefsWin1: print <"Couldn't open Preferences-Window1!",13,10>
move.l Screen1,a0
lib Intuition,DisplayBeep
lea.l SS_ERR_Win1,a0
jsr Speaker
jmp ShutDown
Prefs20: jsr MenusOff
jsr SleepPointer
cmp.w #$00,Mode
bne Prefs20Cont1
move.l Window1,a0
lea.l MainMGad1,a1
move.l #-1,d0
lib Intuition,RemoveGList
Prefs20Cont1: lea.l SS_Prefs,a0
jsr Speaker
tst.b GadMagic2
bne Prefs20.1
lea.l glist2,a0
lib GadTools,CreateContext
move.l d0,ContextGad2
beq Prefs20.1
move.l glist2,a0
lea.l NGTalkGad0,a1
move.l #TEXT_KIND,d0
move.l vi,gng_VisualInfo(a1)
move.l #$00,a2
; lea.l TalkGadTagList1,a2
lib GadTools,CreateGadgetA
move.l d0,a0
lea.l NGTalkGad1,a1
move.l #CHECKBOX_KIND,d0
move.l vi,gng_VisualInfo(a1)
move.l #$00,a2
lib GadTools,CreateGadgetA
move.l d0,TalkGad1
move.l d0,a0
lea.l NGTalkGad2,a1
move.l #CHECKBOX_KIND,d0
move.l vi,gng_VisualInfo(a1)
lea.l GadTagList,a2
lib GadTools,CreateGadgetA
move.l d0,TalkGad2
move.l d0,a0
lea.l NGTalkGad3,a1
move.l #CHECKBOX_KIND,d0
move.l vi,gng_VisualInfo(a1)
lea.l GadTagList,a2
lib GadTools,CreateGadgetA
move.l d0,TalkGad3
move.l d0,a0
lea.l NGTalkGad4,a1
move.l #CHECKBOX_KIND,d0
move.l vi,gng_VisualInfo(a1)
lea.l GadTagList,a2
lib GadTools,CreateGadgetA
move.l d0,TalkGad4
move.l d0,a0
lea.l NGTalkGad5,a1
move.l #CHECKBOX_KIND,d0
move.l vi,gng_VisualInfo(a1)
lea.l GadTagList,a2
lib GadTools,CreateGadgetA
move.l d0,TalkGad5
move.l d0,a0
lea.l NGTalkGad6,a1
move.l #CHECKBOX_KIND,d0
move.l vi,gng_VisualInfo(a1)
lea.l GadTagList,a2
lib GadTools,CreateGadgetA
move.l d0,TalkGad6
move.l d0,a0
lea.l NGTalkGad7,a1
move.l #CHECKBOX_KIND,d0
move.l vi,gng_VisualInfo(a1)
lea.l GadTagList,a2
lib GadTools,CreateGadgetA
move.l d0,TalkGad7
move.l d0,a0
add.w #GADGDISABLED,$c(a0)
lea.l NGTalkGad8,a1
move.l #CHECKBOX_KIND,d0
move.l vi,gng_VisualInfo(a1)
lea.l GadTagList,a2
lib GadTools,CreateGadgetA
move.l d0,TalkGad8
move.l d0,a0
add.w #GADGDISABLED,$c(a0)
lea.l NGSpeakGad1,a1
move.l #STRING_KIND,d0
move.l vi,gng_VisualInfo(a1)
lea.l SpeakGadTagList,a2
lib GadTools,CreateGadgetA
move.l d0,SpeakGad1
move.l d0,a0
move.l $22(a0),a1
move.l (a1),SpeakGadBuf
lea.l NGColorGad,a1
move.l #BUTTON_KIND,d0
move.l vi,gng_VisualInfo(a1)
lea.l GadTagList,a2
lib GadTools,CreateGadgetA
move.l d0,a0
add.w #GRELBOTTOM+GRELRIGHT,$c(a0)
lea.l NGDefaultsGad,a1
move.l #BUTTON_KIND,d0
move.l vi,gng_VisualInfo(a1)
lea.l GadTagList,a2
lib GadTools,CreateGadgetA
move.l d0,a0
add.w #GRELBOTTOM+GRELRIGHT,$c(a0)
lea.l NGSaveGad,a1
move.l #BUTTON_KIND,d0
move.l vi,gng_VisualInfo(a1)
lea.l GadTagList,a2
lib GadTools,CreateGadgetA
move.l d0,a0
add.w #GRELBOTTOM,$c(a0)
lea.l NGUseGad,a1
move.l #BUTTON_KIND,d0
move.l vi,gng_VisualInfo(a1)
lea.l GadTagList,a2
lib GadTools,CreateGadgetA
move.l d0,a0
add.w #GRELBOTTOM,$c(a0)
lea.l NGQuitGad,a1
move.l #BUTTON_KIND,d0
move.l vi,gng_VisualInfo(a1)
lea.l GadTagList,a2
lib GadTools,CreateGadgetA
move.l d0,a0
add.w #GRELBOTTOM+GRELRIGHT,$c(a0)
move.b #1,GadMagic2
Prefs20.1: tst.b MenuMagic2
bne Prefs20.2
lea.l MNP1PrefsMenu1,a0
lea.l P1MenuTagList,a1
lib GadTools,CreateMenusA
move.l d0,mlist2
move.l mlist2,a0
move.l vi,a1
lea.l P1MenuTagList,a2
lib GadTools,LayoutMenusA
move.b #1,MenuMagic2
Prefs20.2: lea.l NewPrefsWin1,a0
move.l #$00,a1
lib Intuition,OpenWindowTagList
move.l d0,PrefsWin1
beq NoPrefsWin1
move.l PrefsWin1,a0
move.l mlist2,a1
lib Intuition,SetMenuStrip
move.l PrefsWin1,a0
move.l glist2,a1
move.l #-1,d0
move.l #-1,d1
move.l #$00,a2
lib Intuition,AddGList
move.l glist2,a0
move.l PrefsWin1,a1
move.l #$00,a2
move.l #-1,d0
lib Intuition,RefreshGList
move.l #$01,d2
jsr SetPrefs
P120IDCMP: move.l PrefsWin1,a0
jsr CheckIDCMP
cmp.l #CLOSEWINDOW,d2
beq Prefs20Quit
cmp.l #REFRESHWINDOW,d2
beq P1Refresh20
cmp.l #VANILLAKEY,d2
beq P1VKeys20
cmp.l #GADGETUP,d2
beq P1GSelect20
cmp.l #MENUPICK,d2
beq P1Menus20
cmp.l #RAWKEY,d2
beq P1RKeys20
jmp P120IDCMP
P1Refresh20: move.l PrefsWin1,a0
lib GadTools,GT_BeginRefresh
move.l PrefsWin1,a0
move.l #TRUE,d0
lib GadTools,GT_EndRefresh
jmp P120IDCMP
P1Menus20: jsr MenuNull
cmp.l #$00,d6
beq P1Menus20.1
cmp.l #$01,d6
beq P1Menus20.2
jmp P120IDCMP
P1Menus20.1: cmp.l #$00,d5
beq P1Load
cmp.l #$01,d5
beq P1Save
cmp.l #$02,d5
beq P1SaveAs
cmp.l #$04,d5
beq P1Default
cmp.l #$06,d5
beq Prefs20Quit
P1Menus20.2: cmp.l #$00,d5
beq P1Colors
jmp P120IDCMP
P1VKeys20: cmp.w #$1b,d3
beq Prefs20Quit
jmp P120IDCMP
P1RKeys20: cmp.w #$00,d3
; beq Prefs20Quit
jmp P120IDCMP
P1GSelect20: cmp.w #60,$26(a5)
beq P1Colors
cmp.w #70,$26(a5)
beq P1Default
cmp.w #80,$26(a5)
beq P1Save
cmp.w #98,$26(a5)
beq Prefs20Use
cmp.w #99,$26(a5)
beq Prefs20Quit
jmp P120IDCMP
P1Load: jsr P1MenusOff
jsr P1SleepPointer
lea.l SS_Load3,a0
jsr Speaker
lea.l P1LoadName,a5
move.l #FRQABSOLUTEXYM+FRQLOADINGM,d5
jsr FileRequester
tst.l d0
beq P1Load_OUT1
lea.l FRPathName2,a1
move.l a1,d1
cmp.b #$00,(a1)
beq P1Load_OUT1
move.l #MODE_OLDFILE,d2
lib Dos,Open
move.l d0,PrefsFile
bne Load1
jsr FileError
jmp P1Load_OUT1
Load1: jsr P1CheckFile
tst.l d0
beq P1Load_OUT2
Load2: move.l PrefsFile,d1
lea.l ColorsBuf,a0
move.l a0,d2
move.l #PrefsSize-4,d3
lib Dos,Read
tst.l d0
bne Load3
jsr FileError
lea.l SS_ERR_File1,a0
jsr Speaker
jmp Load4
Load3: lea.l PrefsBuf,a0
lea.l CurrentPrefs,a1
move.l #PrefsSize,d0
lib Exec,CopyMem
jsr MoveSpeakName2
jsr MoveSpeakName
move.l #$01,d2
jsr SetPrefs
jsr P1ChangeSpeak
Load4: move.l PrefsFile,d1
lib Dos,Close
move.l #$00,PrefsFile
P1Load_OUT: lea.l SS_Done,a0
jsr Speaker
jsr P1MenusOn
jsr P1NormalPointer
jmp Prefs20Quit
P1Load_OUT1: jsr P1MenusOn
jsr P1NormalPointer
jmp P120IDCMP
P1Load_OUT2: lea.l SS_ERR_File2,a0
jsr Speaker
move.l PrefsFile,d1
lib Dos,Close
move.l #$00,PrefsFile
jsr P1MenusOn
jsr P1Normal