home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 8
/
FreshFishVol8-CD2.bin
/
bbs
/
dev
/
tbsource.lha
/
TBSource
/
Questions
/
QueHelp.S
< prev
next >
Wrap
Text File
|
1993-12-21
|
40KB
|
1,580 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 "libraries/gadtools.i"
INCLUDE "XREF:2.0.xref"
INCLUDE "XREF:dos.xref"
INCLUDE "XREF:exec.xref"
INCLUDE "XREF:gfx.xref"
INCLUDE "XREF:intuition.xref"
XDEF Help
XDEF HWin1
XDEF SToW7
XDEF glist3
XDEF mlist3
XDEF GadMagic3
XDEF MenuMagic3
XREF Screen1
XREF _DosBase
XREF MenuNull
XREF _IntuitionBase
XREF _GfxBase
XREF _GadToolsBase
XREF MenusOff
XREF MenusOn
XREF SleepPointer
XREF NormalPointer
XREF Topaz
XREF NoHelpWin1
XREF CheckIDCMP
XREF ClearMSGs
XREF Window1IDCMP
XREF vi
XREF Window1
XREF Speaker
XREF SetActivation
XREF OthActivation
XREF OthActivation1
XREF SS_Help
XREF SS_HelpHelp
XREF SS_Next2
XREF SS_Prev2
XREF SS_Quit
XREF SS_Page1
XREF SS_Page2
XREF SS_Page3
XREF SS_Page4
XREF SS_Page5
XREF SS_Page6
XREF SS_Page7
XREF SS_Page8
XREF SS_Page9
XREF SS_Page10
XREF SS_Page11
XREF SS_Page12
XREF SS_Page13
XREF SS_Page14
XREF SS_Page15
XREF SS_Page16
XREF SS_Page17
XREF SS_Page18
XREF SS_Page19
XREF SS_Page20
XREF MainMGad1
XREF MainMenu
XREF Mode
XREF NumQ
Help: jsr SleepPointer
cmp.w #$00,Mode
bne HelpCont0.01
move.l Window1,a0
lea.l MainMGad1,a1
move.l #-1,d0
lib Intuition,RemoveGList
jmp HelpCont0.1
HelpCont0.01: cmp.w #$02,Mode
bne HelpCont0.1
move.w NumQ,d6
clr.w NumQ
jsr SetActivation
jsr OthActivation
move.w d6,NumQ
HelpCont0.1: jsr MenusOff
lea.l SS_Help,a0
jsr Speaker
tst.b GadMagic3
bne HelpCont0.2
lea.l glist3,a0
lib GadTools,CreateContext
move.l d0,ContextGad3
beq HelpCont0.2
move.b #1,GadMagic3
move.l glist3,a0
lea.l NGPrevGad,a1
move.l #BUTTON_KIND,d0
move.l vi,gng_VisualInfo(a1)
lea.l GadgetTagList1,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 GadgetTagList1,a2
lib GadTools,CreateGadgetA
move.l d0,a0
add.w #GRELBOTTOM,$c(a0)
lea.l NGNextGad,a1
move.l #BUTTON_KIND,d0
move.l vi,gng_VisualInfo(a1)
lea.l GadgetTagList1,a2
lib GadTools,CreateGadgetA
move.l d0,a0
add.w #GRELBOTTOM+GRELRIGHT,$c(a0)
HelpCont0.2: tst.b MenuMagic3
bne HelpCont
lea.l MNMainMenu1,a0
lea.l HMenuTagList,a1
lib GadTools,CreateMenusA
move.l d0,mlist3
move.l mlist3,a0
move.l vi,a1
lea.l HMenuTagList,a2
lib GadTools,LayoutMenusA
move.b #1,MenuMagic3
HelpCont: lea.l NewHelpWin1,a0
lea.l NHelpTL,a1
lib Intuition,OpenWindowTagList
move.l d0,HWin1
beq NoHelpWin1
move.l d0,a0
move.l $32(a0),HWin1RP
move.l HWin1,a0
move.l mlist3,a1
lib Intuition,SetMenuStrip
move.l HWin1,a0
move.l glist3,a1
move.l #-1,d0
move.l #-1,d1
move.l #$00,a2
lib Intuition,AddGList
move.l glist3,a0
move.l HWin1,a1
move.l #$00,a2
move.l #-1,d0
lib Intuition,RefreshGList
move.l HWin1,a0
move.l #$00,a1
lib GadTools,GT_RefreshWindow
HelpCont1: cmp.w #00,HelpPage
beq HelpHelp
cmp.w #01,HelpPage
beq HelpPage1
cmp.w #02,HelpPage
beq HelpPage2
cmp.w #03,HelpPage
beq HelpPage3
cmp.w #04,HelpPage
beq HelpPage4
cmp.w #05,HelpPage
beq HelpPage5
cmp.w #06,HelpPage
beq HelpPage6
cmp.w #07,HelpPage
beq HelpPage7
cmp.w #08,HelpPage
beq HelpPage8
cmp.w #09,HelpPage
beq HelpPage9
cmp.w #10,HelpPage
beq HelpPage10
cmp.w #11,HelpPage
beq HelpPage11
; cmp.w #12,HelpPage
; beq HelpPage12
; cmp.w #13,HelpPage
; beq HelpPage13
; cmp.w #14,HelpPage
; beq HelpPage14
move.w #$00,HelpPage
;Change
HelpWinIDCMP: move.l HWin1,a0
jsr CheckIDCMP
cmp.l #CLOSEWINDOW,d2
beq HelpQuit
cmp.l #VANILLAKEY,d2
beq HelpVKeys
cmp.l #RAWKEY,d2
beq HelpRKeys
cmp.l #GADGETUP,d2
beq HGads
cmp.l #MENUPICK,d2
beq HMenus
jmp HelpWinIDCMP
HMenus: jsr MenuNull
cmp.l #$00,d6
beq HMenus1
cmp.l #$01,d6
beq HMenus2
jmp HelpWinIDCMP
HMenus1: cmp.l #$00,d5
beq HelpHelp
cmp.l #$02,d5 ;01 is a sep-bar
beq HelpQuit
jmp HelpWinIDCMP
HMenus2: cmp.l #$00,d5
beq SubPage
cmp.l #$01,d5
beq AddPage
jmp HelpWinIDCMP
HelpVKeys: cmp.w #$1b,d3
beq HelpQuit
cmp.w #"p",d3
beq SubPage
cmp.w #"P",d3
beq SubPage
cmp.w #"n",d3
beq AddPage
cmp.w #"N",d3
beq AddPage
cmp.w #"q",d3
beq HelpQuit
cmp.w #"Q",d3
beq HelpQuit
cmp.w #"?",d3
beq HelpHelp
jmp HelpWinIDCMP
HelpRKeys: cmp.w #$5f,d3 ;help
beq HelpHelp
cmp.w #$4f,d3 ;arrow back
beq SubPage
cmp.w #$4e,d3 ;arrow forward
beq AddPage
cmp.w #$4d,d3 ;arrow down
beq SubPage
cmp.w #$4c,d3 ;arrow up
beq AddPage
jmp HelpWinIDCMP
HelpQuit: lea.l SS_Quit,a0
jsr Speaker
move.l HWin1,a0
lib Intuition,ClearMenuStrip
move.l HWin1,a0
jsr ClearMSGs
move.l #$00,HWin1
jsr MenusOn
jsr NormalPointer
cmp.w #$00,Mode
bne HelpQuit1
jsr MainMenu
jmp Window1IDCMP
HelpQuit1: cmp.w #$02,Mode
bne Window1IDCMP
jsr SetActivation
jsr OthActivation1
jmp Window1IDCMP
HelpHelp: lea.l SS_HelpHelp,a0
jsr Speaker
move.w #$00,HelpPage
lea.l HelpPage0Txts,a1
move.l #$00,d0
move.l #-10,d1
lea.l HelpTitle0,a2
jsr DoPage
jmp HelpWinIDCMP
HelpPage1: lea.l SS_Page1,a0
jsr Speaker
lea.l HelpPage1Txts,a1
move.l #$00,d0
move.l #-10,d1
lea.l HelpTitle1,a2
jsr DoPage
jmp HelpWinIDCMP
HelpPage2: lea.l SS_Page2,a0
jsr Speaker
lea.l HelpPage2Txts,a1
move.l #$00,d0
move.l #-10,d1
lea.l HelpTitle2,a2
jsr DoPage
jmp HelpWinIDCMP
HelpPage3: lea.l SS_Page3,a0
jsr Speaker
lea.l HelpPage3Txts,a1
move.l #$00,d0
move.l #-10,d1
lea.l HelpTitle3,a2
jsr DoPage
jmp HelpWinIDCMP
HelpPage4: lea.l SS_Page4,a0
jsr Speaker
lea.l HelpPage4Txts,a1
move.l #$00,d0
move.l #-10,d1
lea.l HelpTitle4,a2
jsr DoPage
jmp HelpWinIDCMP
HelpPage5: lea.l SS_Page5,a0
jsr Speaker
lea.l HelpPage5Txts,a1
move.l #$00,d0
move.l #-10,d1
lea.l HelpTitle5,a2
jsr DoPage
jmp HelpWinIDCMP
HelpPage6: lea.l SS_Page6,a0
jsr Speaker
lea.l HelpPage6Txts,a1
move.l #$00,d0
move.l #-10,d1
lea.l HelpTitle6,a2
jsr DoPage
jmp HelpWinIDCMP
HelpPage7: lea.l SS_Page7,a0
jsr Speaker
lea.l HelpPage7Txts,a1
move.l #$00,d0
move.l #-10,d1
lea.l HelpTitle7,a2
jsr DoPage
jmp HelpWinIDCMP
HelpPage8: lea.l SS_Page8,a0
jsr Speaker
lea.l HelpPage8Txts,a1
move.l #$00,d0
move.l #-10,d1
lea.l HelpTitle8,a2
jsr DoPage
jmp HelpWinIDCMP
HelpPage9: lea.l SS_Page9,a0
jsr Speaker
lea.l HelpPage9Txts,a1
move.l #$00,d0
move.l #-10,d1
lea.l HelpTitle9,a2
jsr DoPage
jmp HelpWinIDCMP
HelpPage10: lea.l SS_Page10,a0
jsr Speaker
lea.l HelpPage10Txts,a1
move.l #$00,d0
move.l #-10,d1
lea.l HelpTitle10,a2
jsr DoPage
jmp HelpWinIDCMP
HelpPage11: lea.l SS_Page11,a0
jsr Speaker
lea.l HelpPage11Txts,a1
move.l #$00,d0
move.l #-10,d1
lea.l HelpTitle11,a2
jsr DoPage
jmp HelpWinIDCMP
HelpPage12: lea.l SS_Page12,a0
jsr Speaker
; lea.l HelpPage12Txts,a1
move.l #$00,d0
move.l #-10,d1
lea.l HelpTitle12,a2
jsr DoPage
jmp HelpWinIDCMP
HelpPage13: lea.l SS_Page13,a0
jsr Speaker
; lea.l HelpPage13Txts,a1
move.l #$00,d0
move.l #-10,d1
lea.l HelpTitle13,a2
jsr DoPage
jmp HelpWinIDCMP
HelpPage14: lea.l SS_Page14,a0
jsr Speaker
; lea.l HelpPage14Txts,a1
move.l #$00,d0
move.l #-10,d1
lea.l HelpTitle14,a2
jsr DoPage
jmp HelpWinIDCMP
HGads: cmp.w #98,$26(a5)
beq HelpQuit
cmp.w #20,$26(a5)
beq SubPage
cmp.w #30,$26(a5)
beq AddPage
jmp HelpWinIDCMP
SubPage: lea.l SS_Prev2,a0
jsr Speaker
sub.w #1,HelpPage
bmi SubPage1
jmp HelpCont1
SubPage1: move.w #11,HelpPage ;change to max page
jmp HelpCont1
AddPage: lea.l SS_Next2,a0
jsr Speaker
add.w #1,HelpPage
cmp.w #12,HelpPage ;change to max page +1
beq AddPage1
jmp HelpCont1
AddPage1: move.w #$00,HelpPage
jmp HelpCont1
;d0 = xOffSet
;a1 = pointer to Text
;a2 = pointer WinTitle
DoPa