home *** CD-ROM | disk | FTP | other *** search
- XDEF PrefsNGads
- *
- * Source machine generated by GadToolsBox V2.0b
- * which is (c) Copyright 1991-1993 Jaba Development
- *
- * GUI Designed by : Christian Bauer
- *
-
- include 'exec/types.i'
- include 'intuition/intuition.i'
- include 'intuition/classes.i'
- include 'intuition/classusr.i'
- include 'intuition/imageclass.i'
- include 'intuition/gadgetclass.i'
- include 'libraries/gadtools.i'
- include 'graphics/displayinfo.i'
- include 'graphics/gfxbase.i'
-
- XREF _GadToolsBase
- XREF _IntuitionBase
- XREF _GfxBase
- XREF _SysBase
- XREF _UtilityBase
-
- XREF _LVOOpenScreenTagList
- XREF _LVOOpenWindowTagList
- XREF _LVOCloseScreen
- XREF _LVOCloseWindow
- XREF _LVOPrintIText
- XREF _LVOLockPubScreen
- XREF _LVOUnlockPubScreen
- XREF _LVOSetMenuStrip
- XREF _LVOClearMenuStrip
- XREF _LVOGetVisualInfoA
- XREF _LVOFreeVisualInfo
- XREF _LVOCreateContext
- XREF _LVOCreateGadgetA
- XREF _LVOGT_RefreshWindow
- XREF _LVOFreeGadgets
- XREF _LVOCreateMenusA
- XREF _LVOLayoutMenusA
- XREF _LVOFreeMenus
- XREF _LVOOpenDiskFont
- XREF _LVOCloseFont
- XREF _LVODrawBevelBoxA
- XREF _LVOFreeClass
- XREF _LVONewObjectA
- XREF _LVODisposeObject
- XREF _LVOTextLength
- XREF _LVOCopyMem
- XREF _LVOFindTagItem
- XREF _LVOIntuiTextLength
- XREF _LVOForbid
- XREF _LVOPermit
-
- GD_OK EQU 0
- GD_Cancel EQU 1
- GD_Save EQU 2
- GD_Joystick1On EQU 3
- GD_Joystick2On EQU 4
- GD_JoystickSwap EQU 5
- GD_GetDisplayID EQU 6
- GD_DisplayID EQU 7
- GD_ScreenType EQU 8
- GD_NormalCycles EQU 9
- GD_BadLineCycles EQU 10
- GD_CIACycles EQU 11
- GD_Dir8 EQU 12
- GD_Dir9 EQU 13
- GD_Dir10 EQU 14
- GD_Dir11 EQU 15
- GD_UseSIDCard EQU 16
- GD_Drv8IsIEC EQU 17
- GD_Drv9IsIEC EQU 18
- GD_Drv10IsIEC EQU 19
- GD_Drv11IsIEC EQU 20
- GD_GetDir8 EQU 21
- GD_GetDir9 EQU 22
- GD_GetDir10 EQU 23
- GD_GetDir11 EQU 24
- GD_OtherIEC EQU 25
- GD_KeyboardYZ EQU 26
- GD_Collisions EQU 27
- GD_MapSlash EQU 28
- GD_FastReset EQU 29
- GD_SkipLatch EQU 30
-
- Prefs_CNT EQU 31
-
- XDEF Scr
- XDEF VisualInfo
- XDEF PubScreenName
- XDEF PrefsWnd
- XDEF PrefsGList
- XDEF PrefsGadgets
- XDEF getClass
- XDEF getImage
- XREF initGet
- XDEF PrefsLeft
- XDEF PrefsTop
- XDEF PrefsWidth
- XDEF PrefsHeight
- XDEF Font
- XDEF Attr
- XDEF FontX
- XDEF FontY
- XDEF OffX
- XDEF OffY
-
- Scr:
- DC.L 0
- VisualInfo:
- DC.L 0
- PubScreenName:
- DC.L WBName
- WBName:
- DC.B 'Workbench',0
- CNOP 0,2
- PrefsWnd:
- DC.L 0
- PrefsGList:
- DC.L 0
- PrefsGadgets:
- DCB.L 31,0
- BufNewGad:
- DC.W 0,0,0,0
- DC.L 0,0
- DC.W 0
- DC.L 0,0,0
- TD:
- DC.L TAG_DONE
- getClass:
- DC.L 0
- getImage:
- DC.L 0
- CL:
- DC.L GT_VisualInfo,0,TAG_DONE
- PrefsLeft:
- DC.W 0
- PrefsTop:
- DC.W 11
- PrefsWidth:
- DC.W 632
- PrefsHeight:
- DC.W 193
- Font:
- DC.L 0
- FontX:
- DC.W 0
- FontY:
- DC.W 0
- OffX:
- DC.W 0
- OffY:
- DC.W 0
- Attr:
- DC.L 0
- DC.W 0
- DC.B 0,0
- TopazName:
- DC.B 'topaz.font',0
- CNOP 0,2
-
- PrefsGTypes:
- DC.W BUTTON_KIND
- DC.W BUTTON_KIND
- DC.W BUTTON_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W BUTTON_KIND
- DC.W TEXT_KIND
- DC.W CYCLE_KIND
- DC.W INTEGER_KIND
- DC.W INTEGER_KIND
- DC.W INTEGER_KIND
- DC.W STRING_KIND
- DC.W STRING_KIND
- DC.W STRING_KIND
- DC.W STRING_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W GENERIC_KIND
- DC.W GENERIC_KIND
- DC.W GENERIC_KIND
- DC.W GENERIC_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W CHECKBOX_KIND
- DC.W INTEGER_KIND
-
- PrefsNGads:
- DC.W 84,171,101,16
- DC.L OKText,0
- DC.W GD_OK
- DC.L PLACETEXT_IN,0,0
- DC.W 443,171,101,16
- DC.L CancelText,0
- DC.W GD_Cancel
- DC.L PLACETEXT_IN,0,0
- DC.W 263,171,101,16
- DC.L SaveText,0
- DC.W GD_Save
- DC.L PLACETEXT_IN,0,0
- DC.W 188,71,26,11
- DC.L Joystick1OnText,0
- DC.W GD_Joystick1On
- DC.L PLACETEXT_LEFT,0,0
- DC.W 188,84,26,11
- DC.L Joystick2OnText,0
- DC.W GD_Joystick2On
- DC.L PLACETEXT_LEFT,0,0
- DC.W 188,97,26,11
- DC.L JoystickSwapText,0
- DC.W GD_JoystickSwap
- DC.L PLACETEXT_LEFT,0,0
- DC.W 377,117,193,14
- DC.L GetDisplayIDText,0
- DC.W GD_GetDisplayID
- DC.L 0,0,0
- DC.W 377,131,193,14
- DC.L DisplayIDText,0
- DC.W GD_DisplayID
- DC.L PLACETEXT_LEFT,0,0
- DC.W 377,147,143,14
- DC.L ScreenTypeText,0
- DC.W GD_ScreenType
- DC.L PLACETEXT_LEFT,0,0
- DC.W 188,6,81,14
- DC.L NormalCyclesText,0
- DC.W GD_NormalCycles
- DC.L PLACETEXT_LEFT,0,0
- DC.W 188,22,81,14
- DC.L BadLineCyclesText,0
- DC.W GD_BadLineCycles
- DC.L PLACETEXT_LEFT,0,0
- DC.W 188,38,81,14
- DC.L CIACyclesText,0
- DC.W GD_CIACycles
- DC.L PLACETEXT_LEFT,0,0
- DC.W 377,18,193,14
- DC.L Dir8Text,0
- DC.W GD_Dir8
- DC.L PLACETEXT_LEFT,0,0
- DC.W 377,34,193,14
- DC.L Dir9Text,0
- DC.W GD_Dir9
- DC.L PLACETEXT_LEFT,0,0
- DC.W 377,50,193,14
- DC.L Dir10Text,0
- DC.W GD_Dir10
- DC.L PLACETEXT_LEFT,0,0
- DC.W 377,66,193,14
- DC.L Dir11Text,0
- DC.W GD_Dir11
- DC.L PLACETEXT_LEFT,0,0
- DC.W 188,111,26,11
- DC.L UseSIDCardText,0
- DC.W GD_UseSIDCard
- DC.L PLACETEXT_LEFT,0,0
- DC.W 594,18,26,11
- DC.L Drv8IsIECText,0
- DC.W GD_Drv8IsIEC
- DC.L PLACETEXT_ABOVE,0,0
- DC.W 594,34,26,11
- DC.L Drv9IsIECText,0
- DC.W GD_Drv9IsIEC
- DC.L 0,0,0
- DC.W 594,50,26,11
- DC.L Drv10IsIECText,0
- DC.W GD_Drv10IsIEC
- DC.L 0,0,0
- DC.W 594,66,26,11
- DC.L Drv11IsIECText,0
- DC.W GD_Drv11IsIEC
- DC.L 0,0,0
- DC.W 570,18,20,14
- DC.L GetDir8Text,0
- DC.W GD_GetDir8
- DC.L 0,0,0
- DC.W 570,34,20,14
- DC.L GetDir9Text,0
- DC.W GD_GetDir9
- DC.L 0,0,0
- DC.W 570,50,20,14
- DC.L GetDir10Text,0
- DC.W GD_GetDir10
- DC.L 0,0,0
- DC.W 570,66,20,14
- DC.L GetDir11Text,0
- DC.W GD_GetDir11
- DC.L 0,0,0
- DC.W 594,86,26,11
- DC.L OtherIECText,0
- DC.W GD_OtherIEC
- DC.L PLACETEXT_LEFT,0,0
- DC.W 188,125,26,11
- DC.L KeyboardYZText,0
- DC.W GD_KeyboardYZ
- DC.L PLACETEXT_LEFT,0,0
- DC.W 188,139,26,11
- DC.L CollisionsText,0
- DC.W GD_Collisions
- DC.L PLACETEXT_LEFT,0,0
- DC.W 594,99,26,11
- DC.L MapSlashText,0
- DC.W GD_MapSlash
- DC.L PLACETEXT_LEFT,0,0
- DC.W 188,153,26,11
- DC.L FastResetText,0
- DC.W GD_FastReset
- DC.L PLACETEXT_LEFT,0,0
- DC.W 188,54,81,14
- DC.L SkipLatchText,0
- DC.W GD_SkipLatch
- DC.L PLACETEXT_LEFT,0,0
-
- PrefsGTags:
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L GT_Underscore,'_'
- DC.L TAG_DONE
- DC.L TAG_DONE
- DC.L TAG_DONE
- DC.L TAG_DONE
- DC.L TAG_DONE
- DC.L GTTX_Border,1
- DC.L TAG_DONE
- DC.L GTCY_Labels,ScreenTypeLabels
- DC.L TAG_DONE
- DC.L GTIN_Number,0
- DC.L GTIN_MaxChars,10
- DC.L TAG_DONE
- DC.L GTIN_Number,0
- DC.L GTIN_MaxChars,10
- DC.L TAG_DONE
- DC.L GTIN_Number,0
- DC.L GTIN_MaxChars,10
- DC.L TAG_DONE
- DC.L GTST_MaxChars,256
- DC.L TAG_DONE
- DC.L GTST_MaxChars,256
- DC.L TAG_DONE
- DC.L GTST_MaxChars,256
- DC.L TAG_DONE
- DC.L GTST_MaxChars,256
- DC.L TAG_DONE
- DC.L TAG_DONE
- DC.L TAG_DONE
- DC.L TAG_DONE
- DC.L TAG_DONE
- DC.L TAG_DONE
- DC.L TAG_DONE
- DC.L TAG_DONE
- DC.L TAG_DONE
- DC.L TAG_DONE
- DC.L TAG_DONE
- DC.L TAG_DONE
- DC.L TAG_DONE
- DC.L TAG_DONE
- DC.L TAG_DONE
- DC.L GTIN_Number,0
- DC.L GTIN_MaxChars,10
- DC.L TAG_DONE
-
-
- OKText:
- DC.B '_O',0
-
- CancelText:
- DC.B '_C',0
-
- SaveText:
- DC.B '_S',0
-
- Joystick1OnText:
- DC.B 'Joystick an Port 1',0
-
- Joystick2OnText:
- DC.B 'Joystick an Port 2',0
-
- JoystickSwapText:
- DC.B 'Joysticks vertauschen',0
-
- GetDisplayIDText:
- DC.B '',0
-
- DisplayIDText:
- DC.B 'Bildschirmmodus',0
-
- ScreenTypeText:
- DC.B 'Bildschirmtyp',0
-
- NormalCyclesText:
- DC.B 'Zyklen/Zeile (CPU)',0
-
- BadLineCyclesText:
- DC.B 'Zyklen/Bad Line (CPU)',0
-
- CIACyclesText:
- DC.B 'Zyklen/Zeile (CIA)',0
-
- Dir8Text:
- DC.B 'Laufwerk 8',0
-
- Dir9Text:
- DC.B 'Laufwerk 9',0
-
- Dir10Text:
- DC.B 'Laufwerk 10',0
-
- Dir11Text:
- DC.B 'Laufwerk 11',0
-
- UseSIDCardText:
- DC.B 'SID-Karte benutzen',0
-
- Drv8IsIECText:
- DC.B 'IEC',0
-
- Drv9IsIECText:
- DC.B '',0
-
- Drv10IsIECText:
- DC.B '',0
-
- Drv11IsIECText:
- DC.B '',0
-
- GetDir8Text:
- DC.B '',0
-
- GetDir9Text:
- DC.B '',0
-
- GetDir10Text:
- DC.B '',0
-
- GetDir11Text:
- DC.B '',0
-
- OtherIECText:
- DC.B 'IEC für andere Geräte verwenden',0
-
- KeyboardYZText:
- DC.B 'Amerik. Tastatur',0
-
- CollisionsText:
- DC.B 'Sprite-Kollisionen',0
-
- MapSlashText:
- DC.B '"/" -> "\" in Dateinamen',0
-
- FastResetText:
- DC.B 'Schneller Reset',0
-
- SkipLatchText:
- DC.B 'Jedes (n)te Bild',0
-
- CNOP 0,2
-
- XDEF ScreenTypeLabels
-
- ScreenTypeLabels:
- DC.L ScreenTypeLab0
- DC.L ScreenTypeLab1
- DC.L ScreenTypeLab2
- DC.L ScreenTypeLab3
- DC.L ScreenTypeLab4
- DC.L 0
-
- ScreenTypeLab0: DC.B 'EGS',0
- ScreenTypeLab1: DC.B 'Picasso',0
- ScreenTypeLab2: DC.B 'Amiga',0
- ScreenTypeLab3: DC.B 'Amiga Mono',0
- ScreenTypeLab4: DC.B 'CyBERgraphics',0
-
- CNOP 0,2
-
- XDEF PrefsWindowTags
-
- PrefsWindowTags:
- PrefsL:
- DC.L WA_Left,0
- PrefsT:
- DC.L WA_Top,0
- PrefsW:
- DC.L WA_Width,0
- PrefsH:
- DC.L WA_Height,0
- DC.L WA_IDCMP,BUTTONIDCMP!CHECKBOXIDCMP!TEXTIDCMP!CYCLEIDCMP!INTEGERIDCMP!STRINGIDCMP!IDCMP_GADGETUP!IDCMP_VANILLAKEY!IDCMP_REFRESHWINDOW
- DC.L WA_Flags,WFLG_DRAGBAR!WFLG_DEPTHGADGET!WFLG_SMART_REFRESH!WFLG_SIMPLE_REFRESH!WFLG_ACTIVATE
- PrefsWG:
- DC.L WA_Gadgets,0
- DC.L WA_Title,PrefsWTitle
- DC.L WA_ScreenTitle,PrefsSTitle
- DC.L WA_AutoAdjust,1
- DC.L TAG_DONE
-
- PrefsWTitle:
- DC.B ' ',0
- CNOP 0,2
-
- PrefsSTitle:
- DC.B ' ',0
- CNOP 0,2
-
- ComputeX:
- move.l d1,-(sp)
- move.w FontX,d1
- bra.s ComputeItX
- ComputeY:
- move.l d1,-(sp)
- move.w FontY,d1
- mulu d1,d0
- addq.w #4,d0
- divu #8,d0
- move.l (sp)+,d1
- rts
-
- ComputeItX:
- mulu d1,d0
- addq.w #4,d0
- divu #8,d0
- move.l (sp)+,d1
- rts
-
- ComputeFont:
- lea.l Attr,a0
- move.l a0,Font
- move.l Scr,a1
- lea.l sc_RastPort(a1),a1
- move.l rp_Font(a1),a1
- move.l LN_NAME(a1),ta_Name(a0)
- move.w tf_YSize(a1),ta_YSize(a0)
- move.w tf_XSize(a1),FontX
- move.w tf_YSize(a1),FontY
- move.l Scr,a0
- move.b sc_WBorLeft(a0),d0
- ext.w d0
- move.w d0,OffX
- move.l sc_Font(a0),a1
- move.w ta_YSize(a1),d0
- addq.w #1,d0
- move.b sc_WBorTop(a0),d1
- ext.w d1
- add.w d1,d0
- move.w d0,OffY
- tst.w d2
- beq.s CompDone
- tst.w d3
- beq.s CompDone
- move.w d2,d0
- jsr ComputeX
- add.w OffX,d0
- move.b sc_WBorRight(a0),d1
- ext.w d1
- add.w d1,d0
- cmp.w sc_Width(a0),d0
- bhi.s UseTopaz
- move.w d3,d0
- jsr ComputeY
- add.w OffY,d0
- move.b sc_WBorBottom(a0),d1
- ext.w d1
- add.w d1,d0
- cmp.w sc_Height(a0),d0
- bhi.s UseTopaz
- CompDone:
- rts
- UseTopaz:
- move.l Font,a0
- move.l #TopazName,ta_Name(a0)
- move.w #8,FontY
- move.w #8,FontX
- move.w #8,ta_YSize(a0)
- rts
-
- XDEF SetupScreen
-
- SetupScreen
- movem.l d1-d3/a0-a2/a6,-(sp)
- move.l _IntuitionBase,a6
- move.l PubScreenName,a0
- jsr _LVOLockPubScreen(a6)
- move.l d0,Scr
- tst.l d0
- beq SError
- moveq #0,d2
- moveq #0,d3
- jsr ComputeFont
- move.l Scr,a0
- move.l _GadToolsBase,a6
- lea.l TD,a1
- jsr _LVOGetVisualInfoA(a6)
- move.l d0,VisualInfo
- move.l d0,CL+4
- tst.l d0
- beq VError
- jsr initGet
- move.l d0,getClass
- tst.l d0
- beq CError
- move.l _IntuitionBase,a6
- move.l d0,a0
- suba.l a1,a1
- lea.l CL,a2
- jsr _LVONewObjectA(a6)
- move.l d0,getImage
- tst.l d0
- beq OError
- moveq #0,d0
- SDone:
- movem.l (sp)+,d1-d3/a0-a2/a6
- rts
- SError:
- moveq #1,d0
- bra.s SDone
- VError:
- moveq #2,d0
- bra.s SDone
- CError:
- moveq #4,d0
- bra.s SDone
- OError:
- moveq #5,d0
- bra.s SDone
-
- XDEF CloseDownScreen
-
- CloseDownScreen:
- movem.l d0-d1/a0-a1/a6,-(sp)
- move.l _IntuitionBase,a6
- move.l getImage,a0
- cmpa.l #0,a0
- beq.s NoObj
- jsr _LVODisposeObject(a6)
- NoObj:
- move.l getClass,a0
- cmpa.l #0,a0
- beq.s NoCls
- jsr _LVOFreeClass(a6)
- NoCls:
- move.l _GadToolsBase,a6
- move.l VisualInfo,a0
- cmpa.l #0,a0
- beq.s NoVis
- jsr _LVOFreeVisualInfo(a6)
- move.l #0,VisualInfo
- NoVis:
- move.l _IntuitionBase,a6
- suba.l a0,a0
- move.l Scr,a1
- cmpa.l #0,a1
- beq.s NoScr
- jsr _LVOUnlockPubScreen(a6)
- move.l #0,Scr
- NoScr:
- movem.l (sp)+,d0-d1/a0-a1/a6
- rts
-
- XDEF OpenPrefsWindow
-
- OpenPrefsWindow:
- movem.l d1-d4/a0-a4/a6,-(sp)
- move.l Scr,a0
- moveq #0,d3
- moveq #0,d2
- move.w PrefsWidth,d2
- move.w PrefsHeight,d3
- jsr ComputeFont
- move.l Scr,a0
- move.l d2,d0
- jsr ComputeX
- move.l d0,d4
- move.w PrefsLeft,d2
- add.w d2,d0
- add.w OffX,d0
- move.b sc_WBorRight(a0),d1
- ext.w d1
- add.w d1,d0
- cmp.w sc_Width(a0),d0
- bls.s PrefsWOk
- move.w sc_Width(a0),d0
- sub.w d4,d0
- move.w d0,d2
- PrefsWOk:
- move.l d3,d0
- jsr ComputeY
- move.l d0,d4
- move.w PrefsTop,d3
- add.w d3,d0
- add.w OffY,d0
- move.b sc_WBorBottom(a0),d1
- ext.w d1
- add.w d1,d0
- cmp.w sc_Height(a0),d0
- bls.s PrefsHOk
- move.w sc_Height(a0),d0
- sub.w d4,d0
- move.w d0,d3
- PrefsHOk:
- move.l _GadToolsBase,a6
- lea.l PrefsGList,a0
- jsr _LVOCreateContext(a6)
- move.l d0,a3
- tst.l d0
- beq PrefsCError
- movem.w d2-d3,-(sp)
- moveq #0,d3
- lea.l PrefsGTags,a4
- PrefsGL:
- move.l _SysBase,a6
- lea.l PrefsNGads,a0
- move.l d3,d0
- mulu #gng_SIZEOF,d0
- add.l d0,a0
- lea.l BufNewGad,a1
- moveq #gng_SIZEOF,d0
- jsr _LVOCopyMem(a6)
- lea.l BufNewGad,a0
- move.l VisualInfo,gng_VisualInfo(a0)
- move.l Font,gng_TextAttr(a0)
- move.w gng_LeftEdge(a0),d0
- jsr ComputeX
- add.w OffX,d0
- move.w d0,gng_LeftEdge(a0)
- move.w gng_TopEdge(a0),d0
- jsr ComputeY
- add.w OffY,d0
- move.w d0,gng_TopEdge(a0)
- move.w gng_Width(a0),d0
- jsr ComputeX
- move.w d0,gng_Width(a0)
- move.w gng_Height(a0),d0
- jsr ComputeY
- move.w d0,gng_Height(a0)
- move.l _GadToolsBase,a6
- lea.l PrefsGTypes,a0
- moveq #0,d0
- move.l d3,d1
- asl.l #1,d1
- add.l d1,a0
- move.w (a0),d0
- move.l a3,a0
- lea.l BufNewGad,a1
- move.l a4,a2
- jsr _LVOCreateGadgetA(a6)
- tst.l d0
- bne.s PrefsCOK
- movem.w (sp)+,d2-d3
- bra PrefsGError
- PrefsCOK:
- move.l d0,a3
- move.l d3,d0
- asl.l #2,d0
- lea.l PrefsGadgets,a0
- add.l d0,a0
- move.l a3,(a0)
- move.l a3,a0
- move.l d3,d0
- asl.l #1,d0
- lea.l PrefsGTypes,a1
- add.l d0,a1
- cmp.w #GENERIC_KIND,(a1)
- bne.s PrefsNoGen1
- or.w #GFLG_GADGIMAGE!GFLG_GADGHIMAGE,gg_Flags(a0)
- or.w #GACT_RELVERIFY,gg_Activation(a0)
- move.l getImage,gg_GadgetRender(a0)
- move.l getImage,gg_SelectRender(a0)
- PrefsNoGen1:
- PrefsTL:
- tst.l (a4)
- beq.s PrefsDN
- addq.w #8,a4
- bra.s PrefsTL
- PrefsDN:
- addq.w #4,a4
- addq.w #1,d3
- cmp.w #Prefs_CNT,d3
- bmi PrefsGL
- movem.w (sp)+,d2-d3
- move.l PrefsGList,PrefsWG+4
- ext.l d2
- ext.l d3
- move.l d2,PrefsL+4
- move.l d3,PrefsT+4
- move.l Scr,a0
- move.w PrefsWidth,d0
- jsr ComputeX
- add.w OffX,d0
- move.b sc_WBorRight(a0),d1
- ext.w d1
- add.w d1,d0
- move.l d0,PrefsW+4
- move.w PrefsHeight,d0
- jsr ComputeY
- add.w OffY,d0
- move.b sc_WBorBottom(a0),d1
- ext.w d1
- add.w d1,d0
- move.l d0,PrefsH+4
- move.l _IntuitionBase,a6
- suba.l a0,a0
- lea.l PrefsWindowTags,a1
- jsr _LVOOpenWindowTagList(a6)
- move.l d0,PrefsWnd
- tst.l d0
- beq PrefsWError
- move.l _GadToolsBase,a6
- move.l PrefsWnd,a0
- suba.l a1,a1
- jsr _LVOGT_RefreshWindow(a6)
- moveq #0,d0
- PrefsDone:
- movem.l (sp)+,d1-d4/a0-a4/a6
- rts
- PrefsCError:
- moveq #1,d0
- bra.s PrefsDone
- PrefsGError:
- moveq #2,d0
- bra.s PrefsDone
- PrefsWError:
- moveq #4,d0
- bra.s PrefsDone
-
- XDEF ClosePrefsWindow
-
- ClosePrefsWindow:
- movem.l d0-d1/a0-a2/a6,-(sp)
- move.l _IntuitionBase,a6
- move.l PrefsWnd,a0
- cmpa.l #0,a0
- beq PrefsNWnd
- jsr _LVOCloseWindow(a6)
- move.l #0,PrefsWnd
- PrefsNWnd:
- move.l _GadToolsBase,a6
- move.l PrefsGList,a0
- cmpa.l #0,a0
- beq PrefsNGad
- jsr _LVOFreeGadgets(a6)
- move.l #0,PrefsGList
- PrefsNGad:
- movem.l (sp)+,d0-d1/a0-a2/a6
- rts
-
-
- end
-