home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format 94
/
af094sub.adf
/
PLOT3D.LZX
/
Plotter3D
/
Install-Plotter3D
< prev
next >
Wrap
Text File
|
1985-05-26
|
11KB
|
360 lines
; $VER: Install-Plotter3D 1.96 (30.11.96)
;##############################################################################
; global variables
(set ul_novice 0)
(set ul_average 1)
(set ul_expert 2)
; last_choice contains the result of the last askoptions-call
(set last_choice 0)
; need_conformation is used by CHECK_USERLEVEL
(set need_confirmation 1)
;##############################################################################
; Localize
;
(if (= @language "deutsch")
(
(set #update "Update")
(set #abort "Abbrechen")
(set #intro_1 "Willkommen zum Plotter3D Installation programm.")
(set #cp_main "Installiere Hauptprogramm 'Plotter3D'.")
(set #cp_docs "Installiere Documentation.")
(set #cp_locale "Installiere Sprachen.")
(set #cp_funcs "Kopiere Beispiel-Funktionen.")
(set #cp_mats "Kopiere Beispiel-Materialen.")
(set #cp_lights "Kopiere Beispiel-Lightquellen.")
(set #cp_datas "Kopiere Beispiel-Daten.")
(set #cp_pals "Kopiere Standard-Farbpaletten.")
(set #ask_update "Plotter3D ist schon auf ihrem System installiert.\nSie können diese Installation updaten oder abbrechen.")
(set #ask_docs "Bitte wählen Sie die Sprache(n) für die AmigaGuide Dokumentation aus.")
(set #ask_locale "Bitte wählen Sie die Sprache(n) aus, die Sie installieren wollen.")
(set #ask_funcs "Bitte wählen Sie die zu installierenden Beispiele aus.\n(Empfohlen: Alle)")
(set #ask_drawers "Bitte wählen Sie die Verzeichnisse aus, die kopiert werden sollen.\n(Empfohlen: Alle)")
(set #ask_others "Bitte wählen Sie die Dateien aus, die kopiert werden sollen.")
(set #destdir "Bitte wählen Sie einen Platz für Plotter3D. Ein Verzeichnis namens 'Plotter3D' wird dort automatisch erzeugt.")
(set #startup "Einige Kommandos werden zu ihrer \"s:user-startup\" Datei gefügt.")
(set #user_abort "Fehler: Abbruch durch den Benutzer.")
)
(
(set #update "Update")
(set #abort "Abort")
(set #intro_1 "Welcome to the Plotter3D installation program.")
(set #cp_main "Installing main program 'Plotter3D'.")
(set #cp_docs "Installing documentation.")
(set #cp_locale "Installing languages.")
(set #cp_funcs "Copying example functions.")
(set #cp_mats "Copying example materials.")
(set #cp_lights "Copying example lightsources.")
(set #cp_datas "Copying example datas.")
(set #cp_pals "Copying standard colorpalettes.")
(set #ask_update "Plotter3D is already installed on your system.\nYou can make an update or abort.")
(set #ask_docs "Select the language(s) of AmigaGuide documentations you wish to install.")
(set #ask_locale "Select the language(s) you wish to install.")
(set #ask_funcs "Select the examples you wish to install.\n(Recommended: All)")
(set #ask_drawers "Select the drawers you wish to copy.\n(Recommended: All)")
(set #ask_others "Select the files you wish to copy.")
(set #destdir "Please select a place for the Plotter3D package. A drawer called 'Plotter3D' will be created here.")
(set #startup "Some commands will be added to your \"s:user-startup\" file.")
(set #user_abort "Error: User abort.")
)
)
;#############################################################################
; procedure N_MAKEDIR
; creates a new drawer and copies the icon.
;
; #spath - source path
; #dpath - destination path
; #name - name of drawer
(procedure N_MAKEDIR #spath #dpath #name
(
(if (= (exists (tackon #dpath #name) (noreq)) 0)
(
(makedir
(help @makedir-help)
(tackon #dpath #name)
)
(set #spath (expandpath #spath))
(copyfiles
(help @copyfiles-help)
(source (tackon #spath (cat #name ".info")))
(dest #dpath)
(infos)
)
)
)
)
)
;##############################################################################
; procedure COPYDIR
; copies a whole directory including all subdirectories. If an file exists
; it is not overwritten if it has an higher version.
;
; #name - name of directory
; #help - text shown during copy
; #overwrite - if TRUE then files without version are overwritten
(procedure COPYDIR #name #help #overwrite
(
(foreach #name "#?"
(
(if (> @each-type 0)
(
(COPYDIR (tackon #name @each-name) #help)
)
(
(set cd_source (tackon #name @each-name))
(set cd_dest (tackon (tackon @default-dest #name) @each-name))
(if (= (exists cd_dest) 0)
(set cd_doit TRUE)
(
(set cd_doit FALSE)
(set cd_version (GETVERSION cd_dest))
(if (<> cd_version 0)
(if (> (GETVERSION cd_source) cd_version)
(set cd_doit TRUE)
)
(if #overwrite
(set cd_doit TRUE)
)
)
)
)
(if cd_doit
(copyfiles
(prompt #help)
(help @copyfiles-help)
(source cd_source)
(dest (tackon @default-dest #name))
)
)
)
)
)
)
)
)
;##############################################################################
; procedure COPYFILE
; copies a file (with icon)
;
; #path - path of file
; #name - name of file
; #prompt - text for prompt
;
(procedure COPYFILE #path #name #prompt
(
(copyfiles
(prompt #prompt)
(help @copyfiles-help)
(source (tackon #path #name))
(dest (tackon @default-dest #path))
(infos))
)
)
;##############################################################################
; procedure CHECK_USERLEVEL
; set variable need_confirmation to TRUE if current user level is higher or
; equal to #minlevel.
;
; #minlevel - minimal user level (ul_XXX)
; #last_choice - default value for last_choice variable
;
(procedure CHECK_USERLEVEL #minlevel #last_choice
(
(if (>= @user-level #minlevel)
(
(set need_confirmation TRUE)
)
(
(set last_choice #last_choice)
(set need_confirmation FALSE)
)
)
)
)
;(procedure USER_ABORT
; (
; (ABORT #user_abort)
; )
;)
;##############################################################################
; start
(complete 0)
(if (<> (exists "plotter3d:" (noreq)) 0)
(
(if (askbool (prompt #ask_update) (choices #update #abort) (help @askbool-help))
(
(set @default-dest (expandpath "plotter3d:/"))
)
(
(exit (quiet))
)
)
)
(
(set @default-dest
(askdir
(prompt #destdir)
(help @askdir-help)
(default @default-dest)
)
)
(set @default-dest (expandpath @default-dest))
(N_MAKEDIR "/" @default-dest "Plotter3D")
(tooltype (dest (tackon @default-dest "Plotter3D")) (noposition))
)
)
(complete 10)
(set @default-dest (tackon @default-dest "Plotter3D"))
;##############################################################################
; copy Main Program
(copylib
(prompt #cp_main)
(help @copylib-help)
(source "Plotter3D")
(dest @default-dest)
(infos)
)
;##############################################################################
; copy documentation
(complete 20)
(N_MAKEDIR "" @default-dest "Docs")
(COPYFILE "Docs" "History" #cp_docs)
(COPYFILE "Docs" "Bugs" #cp_docs)
(CHECK_USERLEVEL ul_average -1)
(if need_confirmation
(set last_choice
(askoptions
(prompt #ask_docs)
(choices "English" "Deutsch")
(help @askoptions-help)
)
)
)
(if (<> last_choice 0)
(
(if (BITAND last_choice 1) ( (N_MAKEDIR "Docs" (tackon @default-dest "Docs") "English") (COPYDIR "Docs/English" #cp_docs TRUE)))
(if (BITAND last_choice 2) ( (N_MAKEDIR "Docs" (tackon @default-dest "Docs") "Deutsch") (COPYDIR "Docs/Deutsch" #cp_docs TRUE)))
)
)
;##############################################################################
; copy Locale
(complete 30)
(CHECK_USERLEVEL ul_average -1)
(if need_confirmation
(set last_choice
(askoptions
(prompt #ask_locale)
(choices "English" "Deutsch" "Français")
(help @askoptions-help)
)
)
)
(if (> last_choice 1)
(
(makedir (tackon @default-dest "Catalogs"))
(if (BITAND last_choice 2) ( (COPYDIR "Catalogs/Deutsch" #cp_locale TRUE) ))
(if (BITAND last_choice 4) ( (COPYDIR "Catalogs/Français" #cp_locale TRUE) ))
)
)
;##############################################################################
; install functions etc.
(complete 40)
(CHECK_USERLEVEL ul_expert -1)
(if need_confirmation
(set last_choice
(askoptions
(prompt #ask_funcs)
(choices "Functions" "Materials" "Lightsources" "Palettes" "Datas")
(help @askoptions-help)
)
)
)
(if (BITAND last_choice 1) ( (N_MAKEDIR "" @default-dest "Functions") (COPYDIR "Functions" #cp_funcs TRUE)))
(if (BITAND last_choice 2) ( (N_MAKEDIR "" @default-dest "Materials") (COPYDIR "Materials" #cp_mats FALSE)))
(if (BITAND last_choice 4) ( (N_MAKEDIR "" @default-dest "Lights" ) (COPYDIR "Lights" #cp_lights FALSE)))
(if (BITAND last_choice 8) ( (N_MAKEDIR "" @default-dest "Palettes" ) (COPYDIR "Palettes" #cp_pals FALSE)))
(if (BITAND last_choice 16) ( (N_MAKEDIR "" @default-dest "Datas" ) (COPYDIR "Datas" #cp_datas FALSE)))
;##############################################################################
; copy other drawers
(complete 60)
(CHECK_USERLEVEL ul_expert -1)
(if need_confirmation
(set last_choice
(askoptions
(prompt #ask_drawers)
(choices "Imagebuttons" "Preferences" "Tools")
(help @askoptions-help)
)
)
)
(if (BITAND last_choice 1) ( (N_MAKEDIR "" @default-dest "Images") (COPYDIR "Images" "" TRUE)))
(if (BITAND last_choice 2) ( (N_MAKEDIR "" @default-dest "Prefs" ) (COPYDIR "Prefs" "" FALSE)))
(if (BITAND last_choice 4) ( (N_MAKEDIR "" @default-dest "Tools" ) (COPYDIR "Tools" "" TRUE)))
;##############################################################################
; install functions etc.
(complete 80)
(CHECK_USERLEVEL ul_average -1)
(if need_confirmation
(set last_choice
(askoptions
(prompt #ask_others)
(choices "Preview picture")
(help @askoptions-help)
)
)
)
(if (BITAND last_choice 1) (copyfiles (source "PreviewPic") (dest @default-dest) (infos) (help @copyfiles-help)))
;##############################################################################
; startup-sequence
(complete 90)
(startup "Plotter3D"
(prompt #startup)
(help @startup-help)
(command "assign Plotter3D: \"" @default-dest "\"")
(confirm "expert")
)
(makeassign "Plotter3D" @default-dest)
(complete 100)