mirror of
https://github.com/elliotnunn/supermario.git
synced 2024-11-25 09:30:50 +00:00
383 lines
12 KiB
Plaintext
383 lines
12 KiB
Plaintext
;
|
||
; File: BalloonsPriv.a
|
||
;
|
||
; Contains: Private Macros for Balloon Help private routines
|
||
;
|
||
; Written by: Randy Carr
|
||
;
|
||
; Copyright: © 1991 by Apple Computer, Inc., all rights reserved.
|
||
;
|
||
; Change History (most recent first):
|
||
;
|
||
; <5> 8/21/91 JSM Clean up header.
|
||
; <4> 1/30/91 gbm sab, #38: Change the ‘already including this file’ variable to
|
||
; all uppercase (for security reasons)
|
||
; <3> 1/18/91 KSM <RLC> Roll BalloonPackEqu stuff into this file.
|
||
; <2> 1/9/91 ngk change moveq to move.w for HMCountDITLHelpItems
|
||
;
|
||
|
||
include 'Balloons.a'
|
||
|
||
;
|
||
;___________________________________________________________________________________________________________
|
||
;
|
||
; Private selectors for Help Manager Package
|
||
;
|
||
kHMCountDITLHelpItems EQU $02F8 ; 2 words of parameters (-8)
|
||
kHMModalDialogMenuSetup EQU $01F9 ; 1 word of parameters (-7)
|
||
kHMInvalidateSavedBits EQU $02FA ; 2 words of parameters (-6) (Note: doesn't load package!)
|
||
kHMTrackModalHelpItems EQU $00FB ; 0 words of parameters (-5)
|
||
kHMBalloonBulk EQU $00FC ; 0 words of parameters (-4)
|
||
kHMInitHelpMenu EQU $FFFD ; 0 words of parameters (-3)
|
||
kHMDrawBalloonFrame EQU $02FE ; 2 words of parameters (-2)
|
||
kHMSetupBalloonRgns EQU $07FF ; 7 words of parameters (-1)
|
||
;
|
||
;
|
||
;
|
||
;___________________________________________________________________________________________________________
|
||
;
|
||
; Private Help Manager macros
|
||
;
|
||
macro
|
||
_HMCountDITLHelpItems
|
||
MOVE.W #kHMCountDITLHelpItems,D0
|
||
_Pack14
|
||
endm
|
||
|
||
macro
|
||
_HMModalDialogMenuSetup
|
||
MOVE.W #kHMModalDialogMenuSetup,D0
|
||
_Pack14
|
||
endm
|
||
|
||
macro
|
||
_HMInvalidateSavedBits
|
||
MOVE.W #kHMInvalidateSavedBits,D0
|
||
_Pack14
|
||
endm
|
||
|
||
macro
|
||
_HMTrackModalHelpItems
|
||
MOVE.W #kHMTrackModalHelpItems,D0
|
||
_Pack14
|
||
endm
|
||
|
||
macro
|
||
_HMBalloonBulk
|
||
MOVE.W #kHMBalloonBulk,D0
|
||
_Pack14
|
||
endm
|
||
|
||
macro
|
||
_HMInitHelpMenu
|
||
MOVEQ #kHMInitHelpMenu,D0
|
||
_Pack14
|
||
endm
|
||
|
||
macro
|
||
_HMDrawBalloonFrame
|
||
MOVE.W #kHMDrawBalloonFrame,D0
|
||
_Pack14
|
||
endm
|
||
|
||
macro
|
||
_HMSetupBalloonRgns
|
||
MOVE.W #kHMSetupBalloonRgns,D0
|
||
_Pack14
|
||
endm
|
||
|
||
|
||
hmGetNextHelpItem EQU -873 ; internal return code when scanning a DITL for help items
|
||
hmWasAppleMenu EQU -874 ; internal return code for apple menu results
|
||
;
|
||
kHMKeybdMenuID EQU -16491 ; script manager menu ID
|
||
kHMProcessMenuID EQU -16489 ; application menu ID
|
||
;
|
||
kHMHelpBWPictID EQU -5696 ;
|
||
kHMHelpColorPictID EQU -5695 ; +1 from BW pict ID
|
||
kHMHelpIconID EQU -5696
|
||
kHMAboutHelpID EQU -5696
|
||
|
||
; These constants need to match those in Balloon.r
|
||
kHMShowMenuStringIDBase EQU kHMBalloonHelpID ; From Balloons.a
|
||
kHMShowMenuStringID EQU kHMShowMenuStringIDBase + 0
|
||
kHMHideMenuStringID EQU kHMShowMenuStringIDBase + 1
|
||
|
||
;
|
||
; Process menu equates
|
||
;
|
||
kHMHideCurrentItem EQU 1
|
||
kHMHideOthersItem EQU 2
|
||
kHMShowAllItem EQU 3
|
||
kHMProcessDashItem EQU 4
|
||
kHMProcessesItem EQU 5
|
||
;
|
||
kHMMenuItemCount EQU 3 ; how many items in menu
|
||
;
|
||
kHMSlopPix EQU 5
|
||
kHMDelayTix EQU 5
|
||
;
|
||
;
|
||
;
|
||
; Assembly Equivalent global offsets (Defined in BalloonDefs.p HMGlobalRecord record)
|
||
;
|
||
hmgItemRect EQU 0 ; Rect
|
||
|
||
hmgItemNum EQU hmgItemRect+8 ; integer
|
||
hmgTitleBalloon EQU hmgItemNum+2 ; integer
|
||
hmgState EQU hmgTitleBalloon+2 ; integer
|
||
hmgWindow EQU hmgState+2 ; WindowPtr
|
||
hmgHelpWindow EQU hmgWindow+4 ; WindowPtr; { our help window }
|
||
hmgHelpWRecord EQU hmgHelpWindow+4 ; Space for help window record
|
||
hmgMenuID EQU hmgHelpWRecord+windowSize ; integer
|
||
hmgSavedBitsHandle EQU hmgMenuID+2 ; PixMapHandle
|
||
hmgTix EQU hmgSavedBitsHandle+4
|
||
|
||
hmgLastPartCode EQU hmgTix+4 ;
|
||
hmgLastWindowPtr EQU hmgLastPartCode+2 ;
|
||
hmgLastMenuID EQU hmgLastWindowPtr+4
|
||
hmgLastEnabled EQU hmgLastMenuID+2
|
||
hmgLastItem EQU hmgLastEnabled+4
|
||
|
||
hmgLastWidth EQU hmgLastItem+2 ; INTEGER;
|
||
hmgLastHeight EQU hmgLastWidth+2 ; INTEGER;
|
||
hmgLastLeft EQU hmgLastHeight+2 ; INTEGER;
|
||
hmgLastTop EQU hmgLastLeft+2 ; INTEGER;
|
||
|
||
hmgSlopRect EQU hmgLastTop+2
|
||
|
||
hmgDelay EQU hmgSlopRect+8
|
||
|
||
hmgFont EQU hmgDelay+2 ; or hmgFontAndSize as a LongWord
|
||
hmgFontSize EQU hmgFont+2
|
||
hmgBulkReentrantCount EQU hmgFontSize+2
|
||
hmgOSEventReentrantCount EQU hmgBulkReentrantCount+2
|
||
hmgCloseViewCount EQU hmgOSEventReentrantCount+2
|
||
hmgLayer EQU hmgCloseViewCount+2
|
||
hmgProcessName EQU hmgLayer+4
|
||
hmgMenuQueue EQU hmgProcessName+34
|
||
hmgDialogQueue EQU hmgMenuQueue+4
|
||
hmgTEHandle EQU hmgDialogQueue+4 ; TEHandle;
|
||
|
||
hmgSystemMenuID EQU hmgTEHandle+4 ; INTEGER;
|
||
hmgSystemMenuItem EQU hmgSystemMenuID+2 ; INTEGER;
|
||
hmgInMenuSelectFlag EQU hmgSystemMenuItem+2 ; INTEGER;
|
||
|
||
hmgWhatIs EQU hmgInMenuSelectFlag+2
|
||
;
|
||
;
|
||
kTitleType EQU 1
|
||
kDialogType EQU 2
|
||
kMenuType EQU 3
|
||
kRectType EQU 4
|
||
kMFType EQU 5
|
||
kWindPartType EQU 6
|
||
;
|
||
kwasMultiFinder EQU -2
|
||
kwasWindowPart EQU -3
|
||
kwasMenuTitle EQU -4
|
||
kwasCleared EQU -5
|
||
kwasEasyAccess EQU -6
|
||
;
|
||
; {System STR# resource indexes}
|
||
;
|
||
kHMMenuTitleIndex EQU 1 ;
|
||
kHMAboutHelpIndex EQU 2 ;
|
||
kHMAboutHelpDisabled EQU 3
|
||
kHMReserved EQU 4 ;
|
||
kHMWhatIsHide EQU 5 ;
|
||
kHMInDragIndex EQU 6 ;
|
||
kHMInGrowIndex EQU 7 ;
|
||
kHMInGoAwayIndex EQU 8 ;
|
||
kHMInZoomIndex EQU 9 ;
|
||
kHMMultiFinderIndex EQU 10 ;
|
||
kHMInScrollBar EQU 11 ;
|
||
kHMInDisabledScrollBar EQU 12 ;
|
||
kHMInOtherWindow EQU 13 ;
|
||
kHMInLayerPreamble EQU 14 ;
|
||
kHMInLayerBody EQU 15 ;
|
||
kHMOutsideModalWindow EQU 16 ;
|
||
kHMAppleMenuTitle EQU 17
|
||
|
||
kHMShowHideEnabled EQU 18
|
||
kHMHideCurrentEnabled EQU 0 ; must be in numerical order per menu
|
||
kHMHideOthersEnabled EQU 1
|
||
kHMShowAllEnabled EQU 2
|
||
|
||
kHMShowHideDisabled EQU 21
|
||
kHMHideCurrentDisabled EQU 0
|
||
kHMHideOthersDisabled EQU 1
|
||
kHMShowAllDisabled EQU 2
|
||
|
||
kHMEasy1Access EQU 24 ;
|
||
kHMEasy2Access EQU 25 ;
|
||
kHMEasy3Access EQU 26 ;
|
||
kHMActiveApplEnabled EQU 27 ;
|
||
kHMActiveApplDisabled EQU 28 ;
|
||
kHMActiveApplChecked EQU 29 ;
|
||
kHMActiveApplOther EQU 30
|
||
kHMActiveApplDisabledTitle EQU 31
|
||
kHMActiveApplDisabledItem EQU 32
|
||
;
|
||
;
|
||
; Universal Help Mgr Resource BTSTing bits that correspond to the
|
||
; additive "Options for Help Manager resources in 'hmnu', 'hdlg', 'hrct', 'hovr', & 'hfdr' resources"
|
||
;
|
||
; hmDefaultOptions EQU 0 ; default options for help manager resources
|
||
; hmUseSubID EQU 1 ; treat resID's in resources as subID's of driver base ID (for Desk Accessories)
|
||
; hmAbsoluteCoords EQU 2 ; ignore window port origin and treat rectangles as absolute coords (local to window)
|
||
; hmSaveBitsNoWindow EQU 4 ; don't create a window, just blast bits on screen. No update event is generated
|
||
; hmSaveBitsWindow EQU 8 ; create a window, but restore bits behind window when window goes away & generate update event
|
||
; hmMatchInTitle EQU 16 ; for hwin resources, match string anywhere in window title string
|
||
;
|
||
kBTSTUseSubID EQU 0 ; treat resID's in resources as subID's of driver base ID (for Desk Accessories)
|
||
kBTSTAbsoluteCoords EQU 1 ; ignore window port origin and treat rectangles as absolute coords (local to window)
|
||
kBTSTSaveBitsNoWindow EQU 2 ; don't create a window, just blast bits on screen. No update event is generated
|
||
kBTSTSaveBitsWindow EQU 3 ; create a window, but restore bits behind window when window goes away & generate update event
|
||
kBTSTMatchInTitle EQU 4 ; for hwin resources, match string anywhere in window title string
|
||
;
|
||
; HMNamedResourceItem offsets
|
||
;
|
||
hmNamedMsgSize EQU 0
|
||
hmNamedHelpType EQU 2
|
||
hmNamedResType EQU 4
|
||
hmNamedEnabledID EQU 8
|
||
hmNamedDisabledID EQU 10
|
||
hmNamedCheckedID EQU 12
|
||
hmNamedOtherID EQU 14
|
||
;
|
||
;
|
||
; hmnu resource structure
|
||
;
|
||
hmnuVersion EQU 0 ; version of this structure
|
||
hmnuOptions EQU 2 ; options
|
||
hmnuProcID EQU 6 ; the Balloon procedure ID (resource ID)
|
||
hmnuVariant EQU 8 ; the Balloon variant #
|
||
hmnuCount EQU 10 ; how many messages in the array
|
||
|
||
hmnuHeaderSize EQU hmnuCount + 2 ; add this value to index to start of
|
||
; real data
|
||
;
|
||
; hmnuMissingMsg message offsets
|
||
;
|
||
hmnuMissingSize EQU hmnuCount + 2 ;
|
||
hmnuMissingType EQU hmnuMissingSize + 2
|
||
hmnuMissingData EQU hmnuMissingType + 2
|
||
;
|
||
hmnuArray EQU 0 ; start of hmnuArray
|
||
;
|
||
; hmnuArray record structure
|
||
;
|
||
hmnuHelpMsgSize EQU 0
|
||
hmnuHelpType EQU 2 ; what type of hmnu message
|
||
hmnuHelpData EQU 4 ; start of message array for hmnu msgs
|
||
;
|
||
hmnuCompareStr EQU 0 ; address of pstring to compare menu items agains
|
||
hmnuCompHeaderSize EQU 2 ; *** 1 ints for HelpMsgSize & hmnuHelpType
|
||
;
|
||
hmnuCompType EQU 0
|
||
hmnuCompData EQU 2
|
||
;
|
||
; hdlg resource offsets
|
||
;
|
||
hdlgVersion EQU 0 ; version of this structure
|
||
hdlgOffset EQU 2 ; offset
|
||
hdlgOptions EQU 4 ; options
|
||
hdlgProcID EQU 8 ; the Balloon procedure ID (resource ID)
|
||
hdlgVariant EQU 10 ; the Balloon variant #
|
||
hdlgCount EQU 12 ; how many messages in the array
|
||
|
||
hdlgHeaderSize EQU hdlgCount+2 ; add this value to index to start of
|
||
; real data
|
||
;
|
||
; hdlgMissingMsg message offsets
|
||
;
|
||
hdlgMissingSize EQU hdlgHeaderSize
|
||
hdlgMissingTip EQU hdlgMissingSize + 2
|
||
hdlgMissingHotRect EQU hdlgMissingTip + 4
|
||
hdlgMissingType EQU hdlgMissingHotRect + 8
|
||
hdlgMissingData EQU hdlgMissingType + 2
|
||
;
|
||
hdlgArray EQU 0 ; this is the beginning of message records array
|
||
;
|
||
; HDialogArray record offsets
|
||
;
|
||
hdlgHelpMsgSize EQU 0 ; size of help message (I did this for high-level langs)
|
||
hdlgHelpType EQU 2 ; what type of hdlg message
|
||
hdlgTip EQU 4 ; tip point
|
||
hdlgHotRect EQU 8 ; hot rect
|
||
hdlgHelpData EQU 16 ; start of message array for hdlg msgs
|
||
;
|
||
;
|
||
; hwin resource offsets
|
||
;
|
||
hwinType EQU 0
|
||
hwinOptions EQU 2
|
||
hwinCount EQU 6
|
||
hwinArray EQU 8
|
||
;
|
||
hwinResID EQU 0
|
||
hwinResType EQU 2
|
||
hwinLength EQU 6
|
||
hwinString EQU 8 ; title string is always word aligned
|
||
;
|
||
; hrct Resource structure
|
||
;
|
||
hrctVersion EQU 0 ; version of the hrct resource
|
||
hrctOptions EQU hrctVersion + 2 ; options long
|
||
hrctProcID EQU hrctOptions + 4 ; use this procedure ID or default if 0
|
||
hrctVariant EQU hrctProcID + 2 ; use this variant # or default if 0
|
||
hrctCount EQU hrctVariant + 2 ; this is the count of records in hrct resource
|
||
;
|
||
hrctArray EQU hrctCount+2 ; this is the beginning of message records array
|
||
;
|
||
hrctHelpMsgSize EQU 0 ; size of help message (I did this for high-level langs)
|
||
hrctHelpType EQU 2 ; type of help message
|
||
hrctTip EQU 4 ; tip point
|
||
hrctHotRect EQU 8 ; hot rect
|
||
hrctHelpData EQU 16 ; contents of help message
|
||
;
|
||
; hovr resource structure
|
||
;
|
||
hovrVersion EQU 0 ; version of this structure
|
||
hovrOptions EQU 2 ; options
|
||
hovrProcID EQU 6 ; the Balloon procedure ID (resource ID)
|
||
hovrVariant EQU 8 ; the Balloon variant #
|
||
hovrCount EQU 10 ; how many messages in the array
|
||
|
||
hovrHeaderSize EQU hovrCount + 2 ; add this value to index to start of
|
||
; real data
|
||
;
|
||
; hovrMissingMsg message offsets
|
||
;
|
||
hovrMissingSize EQU hovrCount + 2 ;
|
||
hovrMissingType EQU hovrMissingSize + 2
|
||
hovrMissingData EQU hovrMissingType + 2
|
||
;
|
||
hovrArray EQU 0 ; start of hovrArray
|
||
;
|
||
; hovrArray record structure
|
||
;
|
||
hovrHelpMsgSize EQU 0
|
||
hovrHelpType EQU 2 ; what type of hovr message
|
||
hovrHelpData EQU 4 ; start of message array for hovr msgs
|
||
;
|
||
; hfdr Resource structure
|
||
;
|
||
hfdrVersion EQU 0 ; version of the hfdr resource
|
||
hfdrOptions EQU 2 ; options long
|
||
hfdrProcID EQU hfdrOptions + 4 ; use this procedure ID or default if 0
|
||
hfdrVariant EQU hfdrProcID + 2 ; use this variant # or default if 0
|
||
hfdrCount EQU hfdrVariant + 2 ; this is the count of records in hfdr resource
|
||
;
|
||
hfdrArray EQU hfdrCount+2 ; this is the beginning of message records array
|
||
;
|
||
; at this point, the data matches the hovr resource
|
||
;
|
||
hfdrHelpMsgSize EQU 0
|
||
hfdrHelpType EQU 2 ; what type of hfdr message
|
||
hfdrHelpData EQU 4 ; start of message array for hfdr msgs
|
||
;
|
||
kHMMinimumHelpMsgSize EQU 4 ; min size (in bytes) to extract a help msg w/o counting pstrings
|
||
|