home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 8
/
FreshFishVol8-CD2.bin
/
bbs
/
dev
/
tbsource.lha
/
TBSource
/
Questions
/
QuePrefs.S
< prev
next >
Wrap
Text File
|
1993-12-21
|
31KB
|
1,549 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 "XREF:intuition.xref"
INCLUDE "XREF:2.0.xref"
INCLUDE "XREF:dos.xref"
INCLUDE "XREF:exec.xref"
INCLUDE "XREF:gfx.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 IHandler
XDEF FileRequest2
XDEF SpeakName
XDEF SpeakName2
XDEF PrefsFile
XDEF SpeakFile
XDEF SpeakFile2
XDEF FRPathName2
XDEF Colors
XDEF ColorsBuf
XDEF P1CheckFile
XDEF PrefsBuf
XDEF CurrentPrefs
XDEF PrefsSize
XREF SysPrefsBuf
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_Font1
XREF SS_Load3
XREF SS_Save2
XREF SS_SaveAs2
XREF SS_Prefs
XREF SS_Colors
XREF SS_On
XREF SS_Done
XREF SS_Quit
XREF SS_Use
XREF SS_Default
XREF SS_ERR_Win1
XREF SS_ERR_File1
XREF SS_ERR_File2
XREF SS_ERR_File3
XREF SS_ERR_Font1
XREF AskReplace
XREF ClockPointer1
XREF SimpleRequest
XREF TwoGadRequest
XREF FileError
XREF SetActivation
XREF OthActivation
XREF OthActivation1
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 _stdout
XREF Window1IDCMP
XREF ShutDown
XREF QName
XREF Topaz
XREF TopazName
XREF PrefTop
XREF MainMGad1
XREF MainMenu
XREF Mode
XREF NumQ
PrefWinYSize: EQU 150
;PrefsSize: at the end...
TRUE: EQU $1
DGadTools: set 1
DReq: set 1
INCLUDE "FH0:Language/Include2.0/Utility/tagitem.i"
INCLUDE "FH0:Language/Include2.0/Libraries/gadtools.i"
ds.l 0
NoPrefsWin1: print <"Couldn't open Preferences-Window1!",13,10>,_stdout
move.l Screen1,a0
lib Intuition,DisplayBeep
lea.l SS_ERR_Win1,a0
jsr Speaker
jmp ShutDown
Prefs20: jsr SleepPointer
cmp.w #$00,Mode
bne Prefs20Cont1
move.l Window1,a0
lea.l MainMGad1,a1
move.l #-1,d0
lib Intuition,RemoveGList
jmp Prefs20Cont2
Prefs20Cont1: cmp.w #$02,Mode
bne Prefs20Cont2
move.w NumQ,d6
clr.w NumQ
jsr SetActivation
jsr OthActivation
move.w d6,NumQ
Prefs20Cont2: jsr MenusOff
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
add.w #GRELBOTTOM,$c(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
add.w #GRELBOTTOM,$c(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
add.w #GRELBOTTOM,$c(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
add.w #GRELBOTTOM,$c(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
add.w #GRELBOTTOM,$c(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
add.w #GRELBOTTOM,$c(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
add.w #GRELBOTTOM,$c(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!GRELBOTTOM,$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+GRELBOTTOM,$c(a0)
lea.l NGStringGad0,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
add.w #GRELRIGHT!GRELBOTTOM,$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
add.w #GRELRIGHT!GRELBOTTOM,$c(a0)
lea.l NGSpeakGad2,a1
move.l #STRING_KIND,d0
move.l vi,gng_VisualInfo(a1)
lea.l SpeakGadTagList2,a2
lib GadTools,CreateGadgetA
move.l d0,SpeakGad2
move.l d0,a0
move.l $22(a0),a1
move.l (a1),SpeakGadBuf2
add.w #GRELRIGHT!GRELBOTTOM!GADGDISABLED,$c(a0)
lea.l NGMiscGad0,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
add.w #GRELBOTTOM,$c(a0)
lea.l NGIHandlerGad1,a1
move.l #CHECKBOX_KIND,d0
move.l vi,gng_VisualInfo(a1)
lea.l GadTagList,a2
lib GadTools,CreateGadgetA
move.l d0,IHandlerGad1
move.l d0,a0
add.w #GRELBOTTOM,$c(a0)
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
lea.l PrefsWinTagList,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 PrefsWin1,a0
move.l #$00,a1
lib GadTools,GT_RefreshWindow
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 Prefs20Us