home *** CD-ROM | disk | FTP | other *** search
- Lea pr_MsgPort(A4),A0
- CALL WaitPort,EXEC
- Lea pr_MsgPort(A4),A0
- CALL GetMsg
- Move.L D0,_WBMessage
-
- ;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- OPENLIBRARY DOS,37
- OPENLIBRARY ICON,0
- OPENLIBRARY INTUI,0
-
- ;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- Move.L _WBMessage(PC),A0
- Move.L sm_ArgList(A0),A2
- Cmp.L #0,A2
- Beq CloseDown
-
- Move.L sm_NumArgs(A0),D0
- Cmp.L #1,D0
- Ble.S .NoArgs
-
- Move.L A2,_FileName
- .NoArgs
- ;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- Move.L (A2),D1 ;wa_Lock
- CALL CurrentDir,DOS
- Move.L D0,_OldDirectory
-
- Move.L wa_Name(A2),A0
- CALL GetDiskObject,ICON
- Move.L D0,_IconObject
- Bne.S .FoundIcon
-
- Addq #8,A2 ;try the next icon
- Move.L wa_Name(A2),A0
-
- CALL GetDiskObject
- Move.L D0,_IconObject
- Beq .NoIcon
-
- .FoundIcon Move.L _IconObject(PC),A1
- Move.L do_ToolTypes(A1),A1
- Move.L A1,_ToolTypes
- Move.l A1,A4
-
- ;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- Move.L A4,A0 ;list of tooltypes from icon
- Lea CrunchedTT(PC),A1
- Clr.B 10(A1)
- CALL FindToolType
- Tst.L D0
- Sne _Crunched
-
- ;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- Move.L A4,A0 ;list of tooltypes from icon
- Lea ConfigTT(PC),A1
- Clr.B 6(A1)
- CALL FindToolType
- Tst.L D0
- Beq.S .NoConfigFile
-
- Move.L D0,A0
- Lea ConfigName,A1
- Move.L A1,_Config
- Bsr StripQuotes
- .NoConfigFile
- ;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- Move.L A4,A0 ;list of tooltypes from icon
- Lea AppIconTT(PC),A1
- CALL FindToolType
- Tst.L D0
- Beq.S .NoAppData
-
- Not.B _UseAppIcon
-
- Move.L D0,A0
- Cmp.B #0,(A0)
- Beq.S .NoAppIcon
- Cmp.B #10,(A0)
- Beq.S .NoAppIcon
- Move.L A0,_AppIcon
- .NoAppIcon
- ;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- Move.L A4,A0 ;list of tooltypes from icon
- Lea AppNameTT(PC),A1
- CALL FindToolType
- Tst.L D0
- Beq.S .NoAppName
-
- Move.L D0,A0
- Lea AppIconName,A1
- Move.L A1,_AppName
-
- Bsr StripQuotes
- .NoAppName
- ;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- Lea AppIconTT(PC),A1
- Move.B #'X',7(A1)
-
- Move.L A4,A0 ;list of tooltypes from icon
- CALL FindToolType
- Tst.L D0
- Beq.S .NoAppIconX
-
- Move.L D0,D1
- Move.L #_AppIconX,D2
- CALL StrToLong,DOS ;convert a decimal string into a longword
- .NoAppIconX
- ;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- Lea AppIconTT(PC),A1
- Move.B #'Y',7(A1)
-
- Move.L A4,A0 ;list of tooltypes from icon
- CALL FindToolType,ICON
- Tst.L D0
- Beq.S .NoAppIconY
-
- Move.L D0,D1
- Move.L #_AppIconY,D2
- CALL StrToLong,DOS ;convert a decimal string into a longword
- .NoAppIconY
- ;=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- .NoAppData
- Move.L _IconObject(PC),A0
- Cmp.L #0,A0
- Beq.S .NoIcon
- CALL FreeDiskObject,ICON
- Clr.L _IconObject
-
- .NoIcon Move.L _OldDirectory(PC),D1
- Tst.L D1
- Beq.S .NoDir
- CALL CurrentDir,DOS
-
- .NoDir Clr.L _OldDirectory
- Bra.S WBReEnter
-