328 lines
7.7 KiB
Plaintext
328 lines
7.7 KiB
Plaintext
|
|
||
|
(set #sub-dir "data") ;name of the sub-directory if any
|
||
|
(set #readme-file "ReadMe") ;name of readme file
|
||
|
(set #man-file "Manual") ;name of manual file
|
||
|
(set #hint-file "Hints") ;name of hint file
|
||
|
(set #sol-file "Solution") ;name of solution file
|
||
|
(set #highs-file "highs") ;name of high scores file
|
||
|
(set #exename "") ;name of executable program
|
||
|
(set #prefix "ElectroMAN")
|
||
|
;----------------------------
|
||
|
; copy file including icon if exist
|
||
|
; #copy-file - name of file to copy
|
||
|
|
||
|
(procedure P_CopyFile
|
||
|
(if
|
||
|
(exists #copy-file)
|
||
|
(
|
||
|
(copyfiles
|
||
|
(help @copyfiles-help)
|
||
|
(source #copy-file)
|
||
|
(dest #dest)
|
||
|
)
|
||
|
(if
|
||
|
(exists ("%s.info" #copy-file))
|
||
|
(
|
||
|
(copyfiles
|
||
|
(help @copyfiles-help)
|
||
|
(source ("%s.info" #copy-file))
|
||
|
(dest #dest)
|
||
|
)
|
||
|
(tooltype
|
||
|
(dest (tackon #dest #copy-file))
|
||
|
(noposition)
|
||
|
)
|
||
|
)
|
||
|
)
|
||
|
)
|
||
|
)
|
||
|
)
|
||
|
|
||
|
;****************************
|
||
|
;----------------------------
|
||
|
; checks if given program is installed, if not abort install
|
||
|
; #program - to check
|
||
|
|
||
|
(procedure P_ChkRun
|
||
|
(if
|
||
|
(= 0 (run ("cd SYS:\nWhich %s" #program)))
|
||
|
("")
|
||
|
(abort
|
||
|
(cat
|
||
|
"You must install \"" #program "\" first!\n"
|
||
|
"It must be accessible via the path.\n"
|
||
|
"You can find it in the WHDLoad package."
|
||
|
)
|
||
|
)
|
||
|
)
|
||
|
)
|
||
|
|
||
|
;----------------------------
|
||
|
; Wait for inserting disk
|
||
|
; IN: #AD_disk - name of disk
|
||
|
; OUT: -
|
||
|
|
||
|
(procedure P_disk
|
||
|
(askdisk
|
||
|
(dest #AD_disk)
|
||
|
(prompt ("\nInsert Disk \"%s\" in any drive!" #AD_disk))
|
||
|
(help @askdisk-help)
|
||
|
)
|
||
|
)
|
||
|
|
||
|
(procedure P_InstallDisk
|
||
|
|
||
|
(P_disk)
|
||
|
(copyfiles
|
||
|
(help @copyfiles-help)
|
||
|
(source ("%s:" #AD_disk))
|
||
|
(dest #dest)
|
||
|
(all)
|
||
|
)
|
||
|
|
||
|
)
|
||
|
|
||
|
(procedure P_Install
|
||
|
|
||
|
|
||
|
(set #AD_disk "ELECTROMAN")
|
||
|
(P_InstallDisk)
|
||
|
(set #AD_disk "SOUNDDATA")
|
||
|
(P_InstallDisk)
|
||
|
|
||
|
)
|
||
|
;****************************
|
||
|
|
||
|
(if
|
||
|
(< @installer-version (+ (* 44 65536) 10))
|
||
|
(
|
||
|
(message
|
||
|
(cat
|
||
|
"Warning: your installer is outdated.\n"
|
||
|
"All features of this installation won't be available, such as icon show and drawer opening.\n"
|
||
|
"You have version " (/ @installer-version 65536) "."
|
||
|
(BITAND @installer-version 65535) ", needed is at least version 44.10. "
|
||
|
"The 'installer' 44.10 comes with OS 3.5 but is also contained in the NDK 3.9. "
|
||
|
"You may also use the InstallerNG by Jens Tröger."
|
||
|
"\n\n"
|
||
|
"The installers can be obtained from the net:\n"
|
||
|
"http://www.amiga.com/3.9/download/NDK3.9.lha\n"
|
||
|
"aminet:util/sys/InstallerNG.lha"
|
||
|
)
|
||
|
)
|
||
|
(set #newstuff 0)
|
||
|
)
|
||
|
(set #newstuff 1)
|
||
|
)
|
||
|
|
||
|
(if
|
||
|
(exists #readme-file)
|
||
|
(if
|
||
|
(= 0 (run ("SYS:Utilities/Multiview %s" #readme-file)))
|
||
|
("")
|
||
|
(run ("SYS:Utilities/More %s" #readme-file))
|
||
|
)
|
||
|
)
|
||
|
|
||
|
(set #program "WHDLoad")
|
||
|
(P_ChkRun)
|
||
|
|
||
|
(set #suffix "") ; replace by suffix if dic slave is peculiar
|
||
|
(if
|
||
|
(getenv "WHDLInstPath")
|
||
|
(set @default-dest (getenv "WHDLInstPath"))
|
||
|
)
|
||
|
|
||
|
|
||
|
|
||
|
(set #dest
|
||
|
(askdir
|
||
|
(prompt
|
||
|
(cat
|
||
|
"Where should \"" @app-name "\" be installed?\n"
|
||
|
"A drawer \"" #prefix "\" will be automatically created."
|
||
|
)
|
||
|
)
|
||
|
(help @askdir-help)
|
||
|
(default @default-dest)
|
||
|
)
|
||
|
)
|
||
|
|
||
|
; update for the end message
|
||
|
(set @default-dest #dest)
|
||
|
|
||
|
(run ("setenv WHDLInstPath \"%s\"\ncopy ENV:WHDLInstPath ENVARC:" #dest))
|
||
|
(set #dest (tackon #dest #prefix))
|
||
|
(set #dest-org #dest)
|
||
|
(if
|
||
|
(exists #dest)
|
||
|
(
|
||
|
(set #choice
|
||
|
(askbool
|
||
|
(prompt
|
||
|
(cat
|
||
|
"\nDirectory \"" #dest "\" already exists.\n"
|
||
|
"Should it be deleted?"
|
||
|
)
|
||
|
)
|
||
|
(default 1)
|
||
|
(choices "Delete" "Skip")
|
||
|
(help @askbool-help)
|
||
|
)
|
||
|
)
|
||
|
(if
|
||
|
(= #choice 1)
|
||
|
(run ("Delete \"%s\" \"%s.info\" All" #dest #dest))
|
||
|
)
|
||
|
)
|
||
|
)
|
||
|
(makedir #dest
|
||
|
(help @makedir-help)
|
||
|
(infos)
|
||
|
)
|
||
|
|
||
|
;----------------------------
|
||
|
|
||
|
(copyfiles
|
||
|
(help @copyfiles-help)
|
||
|
(source ("%s.Slave" #prefix #suffix))
|
||
|
(dest #dest)
|
||
|
)
|
||
|
|
||
|
(if (exists ("%s.glowexot" #prefix)) ((set #icon 7)(set #icnt (+ 1 #icnt))(set #icon-gex "Exotic GlowIcon")) (set #icon-gex ""))
|
||
|
(if (exists ("%s.newexot" #prefix)) ((set #icon 6)(set #icnt (+ 1 #icnt))(set #icon-nex "Exotic NewIcon")) (set #icon-nex ""))
|
||
|
(if (exists ("%s.exoticon" #prefix)) ((set #icon 5)(set #icnt (+ 1 #icnt))(set #icon-exo "Exoticon")) (set #icon-exo ""))
|
||
|
(if (exists ("%s.glowicon" #prefix)) ((set #icon 4)(set #icnt (+ 1 #icnt))(set #icon-glo "Glow Icon")) (set #icon-glo ""))
|
||
|
(if (exists ("%s.coloricon" #prefix)) ((set #icon 3)(set #icnt (+ 1 #icnt))(set #icon-col "OS3.5 Icon")) (set #icon-col ""))
|
||
|
(if (exists ("%s.newicon" #prefix)) ((set #icon 2)(set #icnt (+ 1 #icnt))(set #icon-new "NewIcon")) (set #icon-new ""))
|
||
|
(if (exists ("%s.romicon" #prefix)) ((set #icon 1)(set #icnt (+ 1 #icnt))(set #icon-rom "RomIcon")) (set #icon-rom ""))
|
||
|
(if (exists ("%s.inf" #prefix)) ((set #icon 0)(set #icnt (+ 1 #icnt))(set #icon-nor "Normal")) (set #icon-nor ""))
|
||
|
(procedure P_Icon
|
||
|
(copyfiles
|
||
|
(help @copyfiles-help)
|
||
|
(source ("%s.%s" #prefix #icon-suf))
|
||
|
(newname ("%s.info" #icon-name))
|
||
|
(dest #icon-dir)
|
||
|
)
|
||
|
(tooltype
|
||
|
(dest (tackon #icon-dir #icon-name))
|
||
|
(noposition)
|
||
|
)
|
||
|
)
|
||
|
(if
|
||
|
(> #icnt 1)
|
||
|
(
|
||
|
(set #icon-dir ("T:%s Icons" #prefix))
|
||
|
(makedir #icon-dir
|
||
|
(help @makedir-help)
|
||
|
)
|
||
|
(if #icon-nor ((set #icon-suf "inf") (set #icon-name #icon-nor) (P_Icon)))
|
||
|
(if #icon-rom ((set #icon-suf "romicon") (set #icon-name #icon-rom) (P_Icon)))
|
||
|
(if #icon-new ((set #icon-suf "newicon") (set #icon-name #icon-new) (P_Icon)))
|
||
|
(if #icon-col ((set #icon-suf "coloricon") (set #icon-name #icon-col) (P_Icon)))
|
||
|
(if #icon-glo ((set #icon-suf "glowicon") (set #icon-name #icon-glo) (P_Icon)))
|
||
|
(if #icon-exo ((set #icon-suf "exoticon") (set #icon-name #icon-exo) (P_Icon)))
|
||
|
(if #icon-nex ((set #icon-suf "newexot") (set #icon-name #icon-nex) (P_Icon)))
|
||
|
(if #icon-gex ((set #icon-suf "glowexot") (set #icon-name #icon-gex) (P_Icon)))
|
||
|
|
||
|
(if (= #newstuff 1)
|
||
|
(openwbobject #icon-dir)
|
||
|
)
|
||
|
|
||
|
(set #icon
|
||
|
(askchoice
|
||
|
(prompt "\nWhich icon would you like to install?\n")
|
||
|
(choices #icon-nor #icon-rom #icon-new #icon-col #icon-glo #icon-exo #icon-nex #icon-gex)
|
||
|
(default #icon)
|
||
|
(help @askchoice-help)
|
||
|
)
|
||
|
)
|
||
|
(if (= #newstuff 1)
|
||
|
(closewbobject #icon-dir)
|
||
|
)
|
||
|
(delete #icon-dir
|
||
|
(help @delete-help)
|
||
|
(all)
|
||
|
)
|
||
|
)
|
||
|
)
|
||
|
(set #isnewicon 0)
|
||
|
|
||
|
(select #icon
|
||
|
(set #icon "inf")
|
||
|
(set #icon "romicon")
|
||
|
(
|
||
|
(set #icon "newicon")
|
||
|
(set #isnewicon 1)
|
||
|
)
|
||
|
(set #icon "coloricon")
|
||
|
(set #icon "glowicon")
|
||
|
(set #icon "exoticon")
|
||
|
(
|
||
|
(set #icon "newexot")
|
||
|
(set #isnewicon 1)
|
||
|
)
|
||
|
(set #icon "glowexot")
|
||
|
)
|
||
|
(copyfiles
|
||
|
(help @copyfiles-help)
|
||
|
(source ("%s.%s" #prefix #icon))
|
||
|
(newname ("%s.info" #prefix))
|
||
|
(dest #dest)
|
||
|
)
|
||
|
(if
|
||
|
(= #isnewicon 1)
|
||
|
("")
|
||
|
(
|
||
|
(tooltype
|
||
|
(dest (tackon #dest #prefix))
|
||
|
(settooltype "Slave")
|
||
|
(settooltype "PreLoad")
|
||
|
)
|
||
|
(tooltype
|
||
|
(dest (tackon #dest #prefix))
|
||
|
(settooltype "PreLoad" "")
|
||
|
(settooltype "Slave" ("%s.Slave" #prefix))
|
||
|
)
|
||
|
)
|
||
|
)
|
||
|
(tooltype
|
||
|
(dest (tackon #dest #prefix))
|
||
|
(setdefaulttool "WHDLoad")
|
||
|
(setstack 10240)
|
||
|
(noposition)
|
||
|
)
|
||
|
(set #copy-file #readme-file)
|
||
|
(P_CopyFile)
|
||
|
(set #copy-file #man-file)
|
||
|
(P_CopyFile)
|
||
|
(set #copy-file #hint-file)
|
||
|
(P_CopyFile)
|
||
|
(set #copy-file #sol-file)
|
||
|
(P_CopyFile)
|
||
|
(if
|
||
|
(= #sub-dir "")
|
||
|
("")
|
||
|
(
|
||
|
(set #dest (tackon #dest #sub-dir))
|
||
|
(makedir #dest
|
||
|
(help @makedir-help)
|
||
|
)
|
||
|
)
|
||
|
)
|
||
|
(set #copy-file #highs-file)
|
||
|
(P_CopyFile)
|
||
|
(makedir (tackon #dest "save")
|
||
|
(help @makedir-help)
|
||
|
)
|
||
|
(makedir (tackon #dest "libs")
|
||
|
(help @makedir-help)
|
||
|
)
|
||
|
|
||
|
(P_Install)
|
||
|
(if (= #newstuff 1)
|
||
|
(openwbobject #dest-org)
|
||
|
)
|
||
|
(exit)
|
||
|
|