home *** CD-ROM | disk | FTP | other *** search
/ YPA: Your Privacy Assured / YPA.ISO / other_goodies / music / deli211.lha / DeliTracker_II / Install-DT_II < prev    next >
Text File  |  1995-02-19  |  25KB  |  908 lines

  1. ;=============================================================================;
  2. ;
  3. ; $VER: DT_Install 2.10 (06.02.1995)
  4. ;
  5. ; Installation script for DeliTracker 2.10
  6. ; (c) Copyright 1994-95 by Frank Riffel and Peter Kunath
  7. ;
  8. ;=============================================================================;
  9. ;=============================================================================;
  10. ;=============================================================================;
  11. ;
  12. ; This is a quick description how this script works:
  13. ;
  14. ; 1.INIT_STUFF
  15. ;
  16. ; 2.CHECK_INSTALLED_VERSION:
  17. ;    NO_VERSION  => CHOOSE_DESTINATION
  18. ;               (suggestion Work: or SYS:)
  19. ;    OLD_VERSION => UNINSTALL_OLD
  20. ;    NEW_VERSION => EXIT
  21. ;
  22. ; 3.MAIN                             ~ 80K
  23. ;
  24. ; 4.PLAYERS (default players, ask further players to install)    ~350K
  25. ;     
  26. ; 5.ASK PLAYSID                            ~
  27. ;
  28. ; 6.GENIES (default genies, ask further genies to install)    ~200K
  29. ;
  30. ; 7.AREXX (ask user)                        ~ 15K
  31. ;
  32. ; 8.LIBS (ask user, suggested)                    ~ 40K
  33. ;
  34. ; 9.DOCS (depending on language)                ~110k
  35. ;
  36. ; 10.DEVELOPER_DOCS (ask only ADVANCED)                ~160K
  37. ;                                ======
  38. ;                            TOTAL  ~1000K
  39. ;=============================================================================;
  40. ;=============================================================================;
  41. ;=============================================================================;
  42. ;
  43. ; Some initial stuff like kick version check, lanugage selection, ...
  44.  
  45. (if (= @LANGUAGE "english")
  46.  (
  47.   (set def_pat "#?.doc#?")
  48.  
  49.   (set #bad-kick
  50.   (cat "DeliTracker 2.0 will only run under Kickstart 2.04 or above!"
  51.   ))
  52.  
  53.   (set #abort-t
  54.   (cat "Make sure that T: is big enough to hold 500KB."
  55.   ))
  56.  
  57.   (set #abort-no-space
  58.   (cat "You need at least 850.000 Bytes of free store to install DeliTracker II"
  59.   ))
  60.  
  61.   (set #choose-text
  62.   (cat "Please choose a directory where DeliTracker should be installed! A drawer will be created there."
  63.   ))
  64.  
  65.   (set #choose-help
  66.   (cat "In this location a drawer will be created. All files exept the libraries will be installed inside this drawer. The complete installation will require about 1MB of free harddisk space."
  67.   ))
  68.  
  69.   (set #create-maindir
  70.   (cat "Creating DeliTracker directory"
  71.   ))
  72.  
  73.   (set #create-configdir
  74.   (cat "Creating Config directory"
  75.   ))
  76.  
  77.   (set #set-path
  78.   (cat "Setting up configuration path"
  79.   ))
  80.  
  81.   (set #inst-main
  82.   (cat "Installing main program."
  83.   ))
  84.  
  85.   (set #create-docsdir
  86.   (cat "Creating Docs dir"
  87.   ))
  88.  
  89.   (set #inst-docs
  90.   (cat "Installing program documentation"
  91.   ))
  92.  
  93.   (set #ask-xpk
  94.   (cat "Do you whish to install the decompression libraries?"
  95.   ))
  96.  
  97.   (set #xpk-help
  98.   (cat "It's suggested that you install the decompression libraries, even if you currently don't have packed modules!"
  99.   ))
  100.  
  101.   (set #create-comressorsdir
  102.   (cat "Creating Libs:Compressors dir"
  103.   ))
  104.  
  105.   (set #create-playerdir
  106.   (cat "Creating Player dir"
  107.   ))
  108.  
  109.   (set #create-playerstore
  110.   (cat "Creating PlayerStore"
  111.   ))
  112.  
  113.   (set #ask-players
  114.   (cat "Which Players should be activated?"
  115.   ))
  116.  
  117.   (set #ask-additional-players
  118.   (cat "Activate further players ? These players that are not widespread. The average user won't need them to be activated. We suggest that you select 'NO'!"
  119.   ))
  120.  
  121.   (set #ask-players-2
  122.   (cat "Which additional Players should be activated? Think twice before selecting!"
  123.   ))
  124.  
  125.   (set #ask-playsid
  126.   (cat "Would you like to install the PlaySID deliplayer?\nNote: This deliplayer uses the playsid.library, which is SHAREWARE!. Please read the supplied documentation for further information."
  127.   ))
  128.  
  129.   (set #player-help
  130.   (cat "Select those players you want to be loaded at startup. Please choose only those players you REALY need and you have modules for. All others will be installed in the PlayerStore directory so you may load them later."
  131.   ))
  132.  
  133.   (set #create-geniedir
  134.   (cat "Creating Genie dir"
  135.   ))
  136.  
  137.   (set #create-geniestore
  138.   (cat "Creating GenieStore"
  139.   ))
  140.  
  141.   (set #ask-genies
  142.   (cat "Which genies should be activated?"
  143.   ))
  144.  
  145.   (set #ask-xmas
  146.   (cat "Do you want to install the X-Mas '94 genie?"
  147.   ))
  148.  
  149.   (set #genie-help
  150.   (cat "All genies that are not activated will be installed in the GenieStore directory. For the further informations about particular genies read genie.doc."
  151.   ))
  152.  
  153.   (set #ask-arexx
  154.   (cat "Do you whish to install ARexx scripts?"
  155.   ))
  156.  
  157.   (set #help-arexx
  158.   (cat "Only choose if you realy use Rexx!"
  159.   ))
  160.  
  161.   (set #create-arexx
  162.   (cat "Creating Arexx dir"
  163.   ))
  164.  
  165.   (set #ask-pdocs
  166.   (cat "Do you whish to install Programming documentation?"
  167.   ))
  168.  
  169.   (set #help-pdocs
  170.   (cat "Only choose if you plan to write your own players or genies."
  171.   ))
  172.  
  173.   (set #create-pdocs
  174.   (cat "Creating Developer dir"
  175.   ))
  176.  
  177.   (set #extract-players
  178.   (cat "Extracting Players"
  179.   ))
  180.  
  181.   (set #extract-genies
  182.   (cat "Extracting Genies"
  183.   ))
  184.  
  185.   (set #extract-arexx
  186.   (cat "Extracting Arexx Scrips"
  187.   ))
  188.  
  189.   (set #extract-docs
  190.   (cat "Extracting Docs"
  191.   ))
  192.  
  193.   (set #extract-libs
  194.   (cat "Extracting Libs"
  195.   ))
  196.  
  197.   (set #extract-pdocs
  198.   (cat "Extracting development stuff"
  199.   ))
  200.    
  201.   (set #final-msg
  202.   (cat "To configure the genies repeat the following steps for each genie:\n\n1. Open the genie GUI with the 'Show' function.\n\n2. Activate the window and move it to the position where it should pop up.\n\n3. Set your defaults. You will find various options in the 'Settings' Menu. In particular: If you want the window to be opened every time DeliTracker is started turn 'Popup' on.\n\n4. Select 'Save Prefs' form the 'Project' Menu.\n"
  203.   ))
  204.  
  205.   ; Update Strings
  206.  
  207.   (set #remove-old
  208.   (cat "All old files will be removed."
  209.   ))
  210.  
  211.   (set #proceed
  212.   (cat "Proceed"
  213.   ))
  214.  
  215.   (set #abort
  216.   (cat "Abort"
  217.   ))
  218.  
  219.   (set #remove-old-help
  220.   (cat "If you like to keep your current installation you have to delete ENV:DELICONFIG and run this script again. Make sure that you select a different location for the new installation."
  221.   ))
  222.  
  223.   (set #removeing-dt
  224.   (cat "Removeing old files."
  225.   ))
  226.  
  227.   (set #already-newer-installed
  228.   (cat "The installation was aborted beacuse this or a newer version is already installed."
  229.   ))
  230.  
  231.   (set #update-msg
  232.   (cat "DeliTracker is SHAREWARE. \nIt seems that you use DeliTracker frequently. If you have not registered yet, please register now."
  233.   ))
  234.  )
  235. )
  236.  
  237. ; german strings
  238.  
  239. (if (= @LANGUAGE "deutsch")
  240.  (
  241.   (set def_pat "#?.dok#?")
  242.  
  243.   (set #bad-kick
  244.   (cat "DeliTracker 2.0 ben÷tigt mindenstens Kickstart 2.04!"
  245.   ))
  246.  
  247.   (set #abort-t
  248.   (cat "Das T: Verzeichnis mu▀ mindestens 500KB Platz zum Entpacken verschiedener Dateien bieten."
  249.   ))
  250.  
  251.   (set #abort-no-space
  252.   (cat "Sie ben÷tigen mindestens 850.000 Bytes freien Plattenplatz um DeliTracker zu installieren."
  253.   ))
  254.  
  255.   (set #choose-text
  256.   (cat "Bitte wΣhlen Sie das Verzeichniss wohin DeliTracker installiert werden soll. Dieses Installationsscript legt dort selbst eine Schublade an."
  257.   ))
  258.  
  259.   (set #choose-help
  260.   (cat "Bei der Installation werden alle Dateien, bis auf die Libraries, in dieses Verzeichniss installiert. Die vollstΣndige Installation von DeliTracker belegt auf der Festplatte etwa 1MB."
  261.   ))
  262.  
  263.   (set #create-maindir
  264.   (cat "Erstelle DeliTracker-Verzeichniss"
  265.   ))
  266.  
  267.   (set #create-configdir
  268.   (cat "Erstelle Konfigurations-Verzeichniss"
  269.   ))
  270.  
  271.   (set #set-path
  272.   (cat "Erstelle Pfad-Variable"
  273.   ))
  274.  
  275.   (set #inst-main
  276.   (cat "Installiere Hauptprogramm."
  277.   ))
  278.  
  279.   (set #create-docsdir
  280.   (cat "Erstelle Docs-Verzeichniss"
  281.   ))
  282.  
  283.   (set #inst-docs
  284.   (cat "Installiere Programm Dokumentation"
  285.   ))
  286.  
  287.   (set #ask-xpk
  288.   (cat "Wollen Sie die XPK Packer-Libraries installieren?"
  289.   ))
  290.  
  291.   (set #xpk-help
  292.   (cat "Sie sollenten die Packer-Libraries auch dann installieren, wenn Sie (noch) keine gepackten Module besitzen!"
  293.   ))
  294.  
  295.   (set #create-comressorsdir
  296.   (cat "Erstelle Libs:Compressors Unterverzeichniss"
  297.   ))
  298.  
  299.   (set #create-playerdir
  300.   (cat "Erstelle Player-Verzeichniss"
  301.   ))
  302.  
  303.   (set #create-playerstore
  304.   (cat "Erstelle PlayerStore"
  305.   ))
  306.  
  307.   (set #ask-players
  308.   (cat "Welche Player sollen aktiviert werden werden?"
  309.   ))
  310.  
  311.   (set #ask-additional-players
  312.   (cat "Sollen zusΣtzliche Player aktiviert werden? Hierbei handelt es sich um Player die nicht sehr Verbreitet sind. Der normale Benutzer wird diese Player nicht ben÷tigen. Wir schlagen deshalb vor, das Sie mit 'NEIN' fortfahren."
  313.   ))   
  314.  
  315.   (set #ask-players-2
  316.   (cat "Welche zusΣtzlichen Player sollen bei Programmstart geladen werden?"
  317.   ))
  318.  
  319.   (set #ask-playsid
  320.   (cat "Wollen sie den PlaySID player fⁿr DeliTracker installieren ?\nHinweis: Dieser DeliPlayer benutzt die playsid.library. Diese Library ist SHAREWARE! Fⁿr weitere Informationen lesen sie bitte die zugeh÷rige Dokumentation."
  321.   ))
  322.  
  323.   (set #player-help
  324.   (cat "Bitte wΣhlen Sie nur Player fⁿr die Sie auch Module besitzen. Nicht angewΣhlete Player werden im Playerstore installiert. Sie k÷nnen diese Player bei Bedarf spΣter immer noch nachladen."
  325.   ))
  326.  
  327.   (set #create-geniedir
  328.   (cat "Erstelle Genie Verzeichniss"
  329.   ))
  330.  
  331.   (set #create-geniestore
  332.   (cat "Erstelle GenieStore"
  333.   ))
  334.  
  335.   (set #ask-genies
  336.   (cat "Welche zusΣtzlichen Genies sollen bei Programmstart geladen werden?"
  337.   ))
  338.  
  339.   (set #ask-xmas
  340.   (cat "Soll das '94 Weihnachts Genie installiert werden?"
  341.   ))
  342.  
  343.   (set #genie-help
  344.   (cat "Alle Genies die nicht aktiviert werden sind im GenieStore zu finden. Weitere Informationen finden Sie in Genies.dok."
  345.   ))
  346.  
  347.   (set #ask-arexx
  348.   (cat "Wollen Sie die ARexx scripts installieren?"
  349.   ))
  350.  
  351.   (set #help-arexx
  352.   (cat "WΣhlen Sie diese Option nur wenn Sie Arexx auch benutzen."
  353.   ))
  354.  
  355.   (set #create-arexx
  356.   (cat "Erstelle Arexx-Verzeichniss"
  357.   ))
  358.  
  359.   (set #ask-pdocs
  360.   (cat "Wollen Sie die Programmierdokumentation installieren?"
  361.   ))
  362.  
  363.   (set #help-pdocs
  364.   (cat "WΣhlen Sie diese Option nur, wenn Sie eigene Player oder Genies schreiben wollen. Hinweis: Die Entwicklerdokumentation ist fⁿr Assemblerprogramierer gedacht und ist nur in Englisch verfⁿgbar!"
  365.   ))
  366.  
  367.   (set #create-pdocs
  368.   (cat "Erstelle Developer-Verzeichniss"
  369.   ))
  370.  
  371.   (set #extract-players
  372.   (cat "Entpacke Player"
  373.   ))
  374.  
  375.   (set #extract-genies
  376.   (cat "Entpacke Genies"
  377.   ))
  378.  
  379.   (set #extract-arexx
  380.   (cat "Entpacke Arexx Scrips"
  381.   ))
  382.  
  383.   (set #extract-docs
  384.   (cat "Entpacke Dokumentation"
  385.   ))
  386.  
  387.   (set #extract-libs
  388.   (cat "Entpacke Libraries"
  389.   ))
  390.  
  391.   (set #extract-pdocs
  392.   (cat "Entpacke Entwicklungspaket"
  393.   ))
  394.  
  395.   (set #final-msg
  396.   (cat "Um die Genies zu konfigurieren, wiederholen Sie folgende Schritte fⁿr jedes Genie:\n\n1. ╓ffnen Sie die zugeh÷rige GUI mit der 'Show' Funktion.\n2. Aktivieren Sie das Fenster und positionieren Sie es an der gewⁿnschten Stelle.\n3. Stellen Sie die Optionen nach Bedarf ein. Sie finden die Einstellungen im 'Settings' Menⁿ. Wenn Sie wⁿnschen, da▀ dieses Fenster bei jedem Start von DeliTracker ge÷ffnet wird, schalten Sie 'Popup' an.\n4. WΣhlen Sie den Menⁿpunkt 'Save Prefs' aus dem 'Project' Menⁿ."
  397.   ))
  398.  
  399.   ; Update Strings
  400.  
  401.   (set #remove-old
  402.   (cat "Es werden jetzt alle alten Dateien gel÷scht."
  403.   ))
  404.   
  405.   (set #proceed
  406.   (cat "Weiter"
  407.   ))
  408.  
  409.   (set #abort
  410.   (cat "Abbrechen"
  411.   ))
  412.  
  413.   (set #remove-old-help
  414.   (cat "Wenn Sie Ihre alte Installation behalten wollen mⁿssen Sie ENV:DELICONFIG l÷schen und dieses Script erneut starten. Installieren Sie die neue Version unbedingt in einem anderen Directory."
  415.   ))
  416.  
  417.   (set #removeing-dt
  418.   (cat "Entferne alte Dateien."
  419.   ))
  420.  
  421.   (set #already-newer-installed
  422.   (cat "Die Installation wurde abgebrochen, da bereits eine neuere Version installiert ist!"
  423.   ))
  424.  
  425.   (set #update-msg
  426.   (cat "\n\nDeliTracker ist SHAREWARE.\n\nDa Sie scheinbar DeliTracker ÷fter benutzen, sollten Sie sich, falls Sie das noch nicht getan haben, registrieren!"
  427.   ))
  428.  )
  429. )
  430.  
  431. ; check kick version
  432.  
  433. (if (< (/ (getversion) 65536) 37) (abort #bad-kick))
  434.  
  435. ; say hi 
  436. (welcome)
  437. (complete 0)
  438.  
  439. ;=============================================================================;
  440. ; Choose directory where DeliTracker is/will be installed.
  441. ; (Check for enough room)
  442. ;
  443. (if (exists "ENV:DELICONFIG" (noreq))
  444.  (
  445.   ; UPDATE
  446.  
  447.   (set @default-dest (getenv "DELICONFIG"))
  448.   (set @default-dest (substr @default-dest 0 (- (strlen @default-dest) 11)))
  449.   ; check installed version
  450.   (if (> (BITAND 65535 (getversion ("DeliTracker2"))) (BITAND 65535 (getversion (tackon @default-dest "DeliTracker2"))))
  451.    (    
  452.     (if (= 1 (askbool (prompt #remove-old) (help #remove-old-help) (choices #proceed #abort)))
  453.      (
  454.       (working #removeing-dt)
  455.       (if (= 2 (exists @default-dest))
  456.        (; delete all files in the DeliTracker2 drawer
  457.         (foreach (tackon @default-dest "DeliPlayers/PlayerStore") "#?" (delete (tackon (tackon @default-dest "DeliPlayers/PlayerStore") @each-name)))
  458.         (foreach (tackon @default-dest "DeliPlayers") "#?" (delete (tackon (tackon @default-dest "DeliPlayers") @each-name)))
  459.         (foreach (tackon @default-dest "DeliGenies/GenieStore") "#?" (delete (tackon (tackon @default-dest "DeliGenies/GenieStore") @each-name)))
  460.         (foreach (tackon @default-dest "DeliGenies") "#?" (delete (tackon (tackon @default-dest "DeliGenies") @each-name)))
  461.         (foreach (tackon @default-dest "Docs") "#?" (delete (tackon (tackon @default-dest "Docs") @each-name)))
  462.         (if (= 2 (exists (tackon @default-dest "Arexx")))
  463.          (
  464.           (foreach (tackon @default-dest "ARexx") "#?" (delete (tackon (tackon @default-dest "ARexx") @each-name)))
  465.           (delete (tackon @default-dest "ARexx.info"))
  466.           (delete (tackon @default-dest "ARexx"))
  467.          )
  468.         )
  469.         (if (= 2 (exists (tackon @default-dest "Developer")))
  470.          (
  471.           (foreach (tackon @default-dest "Developer/Include/Misc") "#?" (delete (tackon (tackon @default-dest "Developer/Include/Misc") @each-name)))
  472.           (foreach (tackon @default-dest "Developer/Include") "#?" (delete (tackon (tackon @default-dest "Developer/Include") @each-name)))
  473.           (foreach (tackon @default-dest "Developer/Examples/Custom") "#?" (delete (tackon (tackon @default-dest "Developer/Examples/Custom") @each-name)))
  474.           (foreach (tackon @default-dest "Developer/Examples") "#?" (delete (tackon (tackon @default-dest "Developer/Examples") @each-name)))
  475.           (foreach (tackon @default-dest "Developer") "#?" (delete (tackon (tackon @default-dest "Developer") @each-name)))
  476.           (delete (tackon @default-dest "Developer.info"))
  477.           (delete (tackon @default-dest "Developer"))
  478.          )
  479.         )
  480.        )
  481.       )
  482.  
  483.       ; for those who have moved DeliTracker into the WBStartUp drawer
  484.       (delete "SYS:WBStartUp/DeliTracker2")
  485.       (delete "SYS:WBStartUp/DeliTracker2.info")
  486.       ; remind shareware
  487.       (message #update-msg)
  488.      )
  489.      (exit "Bye Bye ...")
  490.     )
  491.    )
  492.    (abort #already-newer-installed)
  493.   )
  494.  )
  495.  
  496.  ; CHOOSE_DESTINATION
  497.  
  498.  (
  499.   (if (= "RAM" (getdevice "T:"))
  500.    (set freespace (+ (database "total-mem")))
  501.    (set freespace (getdiskspace ("%s:" (getdevice "T:"))))
  502.   )
  503.   (if (< freespace 500000)
  504.     (abort #abort-t))
  505.   
  506.   (set @default-dest (getassign "Work" "dva"))
  507.   (if (= @default-dest "")
  508.    (set @default-dest "SYS:"))
  509.   
  510.   (set @default-dest (askdir
  511.     (prompt #choose-text)
  512.     (help #choose-help)
  513.     (default @default-dest))
  514.   ) 
  515.   
  516.   (set @default-dest (tackon @default-dest "DeliTracker_II"))
  517.   
  518.   (if (NOT (= "RAM" (getdevice @default-dest)))
  519.    (if (> 850000 (getdiskspace ("%s:" (getdevice @default-dest))))
  520.     (abort #abort-no-space)
  521.    )
  522.   )
  523.  )
  524. )
  525.  
  526. (complete 5)
  527.  
  528. ;=============================================================================;
  529. ; Install procedure for DeliTracker itself
  530.  
  531. (copyfiles (source "c/LhX") (dest "T:"))
  532.  
  533. (makedir @default-dest (prompt #create-maindir)(infos))
  534. (makedir (tackon @default-dest "DeliConfig") (prompt #create-configdir))
  535. (copyfiles (prompt #inst-main)
  536.  (source "DeliTracker2")
  537.  (dest @default-dest)
  538.  (optional "fail")
  539.  (infos)
  540. )
  541.  
  542. (complete 10)
  543.  
  544. ;=============================================================================;
  545. ; Installation procedure for players
  546.  
  547. (makedir (tackon @default-dest "DeliPlayers")
  548.  (prompt #create-playerdir)
  549.  (infos)
  550. )
  551.  
  552. (makedir (tackon @default-dest "DeliPlayers/PlayerStore")
  553.  (prompt #create-playerstore)
  554.  (infos)
  555. )
  556.  
  557. (working #extract-players)
  558. (run "T:LhX -x x Files/players.lha T:")
  559.  
  560. (
  561.  (copyfiles (prompt #ask-players)
  562.   (help #player-help)
  563.   (source "T:DeliPlayers/")
  564.   (dest (tackon @default-dest "DeliPlayers"))
  565.   (optional "nofail")
  566.   (confirm "average")
  567.   (files)
  568.   (all)
  569.  )
  570. )
  571.  
  572. (if (= 1 (askbool (prompt #ask-additional-players) (help @help-askbool)))
  573.  (    
  574.   (
  575.    (copyfiles (prompt #ask-players-2)
  576.    (help #player-help)
  577.    (source "T:DeliPlayers/Playerstore")
  578.    (dest (tackon @default-dest "DeliPlayers"))
  579.    (optional "nofail")
  580.    (confirm "average")
  581.    (files)
  582.    (all)
  583.    )
  584.   )
  585.  )
  586. )
  587.  
  588. (foreach (tackon @default-dest "DeliPlayers") "#?" (delete (tackon "T:DeliPlayers/" (fileonly @each-name))))
  589. (foreach (tackon @default-dest "DeliPlayers") "#?" (delete (tackon "T:DeliPlayers/PlayerStore/" (fileonly @each-name))))
  590. (copyfiles (source "T:DeliPlayers/Playerstore")
  591.        (dest (tackon @default-dest "DeliPlayers/PlayerStore"))
  592.        (files)
  593.        (all)
  594. )
  595. (foreach "T:DeliPlayers/Playerstore" "#?" (delete (tackon "T:DeliPlayers/PlayerStore/" (fileonly @each-name))))
  596. (delete "T:DeliPlayers/Playerstore")
  597. (copyfiles (source "T:DeliPlayers") 
  598.        (dest (tackon @default-dest "DeliPlayers/PlayerStore"))
  599.        (files)
  600.        (all)
  601. )
  602. (foreach "T:DeliPlayers" "#?" (delete (tackon "T:DeliPlayers/" (fileonly @each-name))))
  603. (delete "T:DeliPlayers")
  604.  
  605. (complete 60)
  606.  
  607. ;=============================================================================;
  608. ; Installation procedure for PlaySID
  609.  
  610. (if (= 1 (askbool (prompt #ask-playsid) (help @help-askbool)))
  611.  (    
  612.   (
  613.    (working #extract-players)
  614.    (run "T:LhX x Bonus/playsid3.lha PlaySID3.0/PlaySID.doc PlaySID3.0/PlaySID.doc.info PlaySID3.0/libs/playsid.library T:")
  615.    
  616.    (copyfiles (help #player-help)
  617.     (source "T:PlaySID3.0/PlaySID.doc.info")
  618.     (dest (tackon @default-dest "Docs"))
  619.    )
  620.  
  621.    (copyfiles (help #player-help)
  622.     (source "T:PlaySID3.0/PlaySID.doc")
  623.     (dest (tackon @default-dest "Docs"))
  624.    )
  625.  
  626.    (copyfiles (help #player-help)
  627.     (source "Bonus/DeliSID")
  628.     (dest (tackon @default-dest "DeliPlayers"))
  629.    )
  630.  
  631.    (copylib (prompt "The playsid.library is required for DeliSID")
  632.     (source "T:PlaySID3.0/libs/playsid.library")
  633.     (dest "libs:")
  634.     (help @copylib-help)
  635.    )
  636.    (delete "T:PlaySID3.0/PlaySID.doc.info")
  637.    (delete "T:PlaySID3.0/PlaySid.doc")
  638.    (delete "T:PlaySID3.0/libs/playsid.library")
  639.    (delete "T:PlaySID3.0/libs")
  640.    (delete "T:PlaySID3.0")  
  641.   )
  642.  )
  643. )
  644.  
  645. (complete 65)
  646.  
  647. ;=============================================================================;
  648. ; Installation procedure for genies
  649. ; Install default genies
  650. ; Average, Expert: ask optional genies
  651.  
  652. (makedir (tackon @default-dest "DeliGenies")
  653.  (prompt #create-geniedir)
  654.  (infos)
  655. )
  656.  
  657. (makedir (tackon @default-dest "DeliGenies/GenieStore")
  658.  (prompt #create-geniestore)
  659.  (infos)
  660. )
  661.  
  662. (working #extract-genies)
  663. (run ("T:LhX -x x Files/genies.lha \"%s/\"" @default-dest))
  664.  
  665. (if (OR (= "68000" (database "cpu") (= "68010" (database "cpu"))))
  666.  ; remove NotePlayers on 68000er Systems that require at least a '020
  667.  (
  668.   (delete (tackon @default-dest "DeliGenies/GenieStore/14Bit-NotePlayer"))
  669.   (delete (tackon @default-dest "DeliGenies/GenieStore/32Voc-NotePlayer"))
  670.   (delete (tackon @default-dest "DeliGenies/GenieStore/32Voc-NotePlayerPlus"))
  671.   (delete (tackon @default-dest "DeliGenies/GenieStore/ModSave-NotePlayer"))
  672.  )
  673.  ; remove obsolete NotePlayers for 68020+ Systems
  674.  (
  675.   (delete (tackon @default-dest "DeliGenies/8Voc-NotePlayer"))
  676.  )
  677. )
  678.  
  679. (
  680.  (copyfiles (prompt #ask-genies)
  681.   (help #genie-help)
  682.   (source (tackon @default-dest "DeliGenies/Geniestore"))
  683.   (dest (tackon @default-dest "DeliGenies"))
  684.   (optional "nofail")
  685.   (confirm "average")
  686.   (files)
  687.   (all)
  688.  )
  689. )
  690.  
  691. (foreach (tackon @default-dest "DeliGenies") "#?" (delete (tackon (tackon @default-dest "DeliGenies/GenieStore/") (fileonly @each-name))))
  692.  
  693. (complete 75)
  694.  
  695. ;=============================================================================;
  696. ; Installation procedure for X-Mas Genie
  697.  
  698. (if (= 1 (askbool (prompt #ask-xmas) (help @help-askbool)))
  699.  (    
  700.   (
  701.    (working #extract-genies)
  702.    (run "T:LhX x Bonus/X-Mas.lha Xmas-Genie T:")
  703.    
  704.    (copyfiles (help #genies-help)
  705.     (source "T:Xmas-Genie")
  706.     (dest (tackon @default-dest "DeliGenies"))
  707.    )
  708.  
  709.    (delete "T:Xmas-Genie")
  710.   )
  711.  )
  712. )
  713.  
  714. (complete 76)
  715.  
  716. ;=============================================================================
  717. ; Installation procedure for Arexx Scripts
  718.  
  719. (if (< 0 @user-level)
  720.  (if (= 1 (askbool (prompt #ask-arexx) (help #help-arexx)))
  721.   (
  722.    (makedir (tackon @default-dest "Arexx")
  723.     (prompt #create-arexx)
  724.     (infos)
  725.    )
  726.    (working #extract-arexx)
  727.    (run ("T:LhX -x x Files/arexx.lha \"%s/\"" @default-dest))
  728.   )
  729.  )
  730. )
  731.  
  732. (complete 80)
  733.  
  734. ;=============================================================================;
  735. ; Install procedure for the decompression libraries
  736.  
  737. (if (OR (= 0 @user-level) (if (< 0 @user-level) (askbool (prompt #ask-xpk) (help #xpk-help))))
  738.  (
  739.   (makedir "Libs:Compressors" (prompt #create-comressorsdir))
  740.   (working #extract-libs)
  741.   (run "T:LhX -x x Files/libs.lha >NIL: <NIL: T:")  
  742.   (run "T:LhX x Files/xpkSMPL.lha xpkSMPL.library >NIL: <NIL: T:libs/compressors/")
  743.   (run "T:LhX x Files/xpkSHRI.lha xpkSHRI.library >NIL: <NIL: T:libs/compressors/")
  744.   (run "T:LhX x Files/xpkSQSH.lha >NIL: <NIL: T:libs/")
  745.  
  746.   (copylib (prompt "Install xpkmaster.library")
  747.   (source "t:libs/xpkmaster.library")
  748.   (dest "libs:")
  749.   (confirm)
  750.   (optional nofail askuser)
  751.   (help @copylib-help)
  752.   )
  753.  
  754.   (copylib (prompt "Install powerpacker.library")
  755.   (source "T:libs/powerpacker.library")
  756.   (dest "libs:")
  757.   (confirm)
  758.   (optional nofail askuser)
  759.   (help @copylib-help)
  760.   )
  761.  
  762.   ; xpk sub lib's
  763.   
  764.   (copylib (prompt "Install compressors/xpkNUKE.library")
  765.   (source "T:libs/compressors/xpkNUKE.library")
  766.   (dest "libs:compressors/")
  767.   (confirm)
  768.   (optional nofail askuser)
  769.   (help @copylib-help)
  770.   )
  771.  
  772.   (copylib (prompt "Install compressors/xpkSMPL.library")
  773.   (source "T:libs/compressors/xpkSMPL.library")
  774.   (dest "libs:compressors/")
  775.   (confirm)
  776.   (optional nofail askuser)
  777.   (help @copylib-help)
  778.   )
  779.  
  780.   (copylib (prompt "Install compressors/xpkSHRI.library")
  781.   (source "T:libs/compressors/xpkSHRI.library")
  782.   (dest "libs:compressors/")
  783.   (confirm)
  784.   (optional nofail askuser)
  785.   (help @copylib-help)
  786.   )
  787.  
  788.   ; install right version for 680x0 cpu
  789.   (if (OR (= "68000" (database "cpu") (= "68010" (database "cpu"))))
  790.    (copylib (prompt "Install compressors/xpkSQSH.library")
  791.     (source "T:libs/68000/xpkSQSH.library")
  792.     (dest "libs:compressors/")
  793.     (confirm)
  794.     (optional nofail askuser)
  795.     (help @copylib-help)
  796.    )
  797.    (copylib (prompt "Install compressors/xpkSQSH.library")
  798.     (source "T:libs/68020/xpkSQSH.library")
  799.     (dest "libs:compressors/")
  800.     (confirm)
  801.     (optional nofail askuser)
  802.     (help @copylib-help)
  803.    )
  804.   )
  805.  
  806.   ; cleanup temp dir
  807.  
  808.   (foreach "t:libs/compressors" "#?" (delete (tackon "t:libs/compressors/" @each-name) (optional force)))
  809.   (foreach "t:libs/" "#?" (delete (tackon "t:libs/" @each-name) (optional force)))
  810.   (delete "t:libs/68000/xpkSQSH.library")
  811.   (delete "t:libs/68020/xpkSQSH.library")
  812.   (delete "t:libs/68000")
  813.   (delete "t:libs/68020")
  814.   (delete "t:libs")
  815.  
  816.  )
  817. )
  818.  
  819. (complete 90)
  820.  
  821. ;=============================================================================;
  822. ; Install procedure for the documentation files
  823.  
  824. (makedir (tackon @default-dest "Docs")
  825.  (prompt #create-docsdir)
  826.  (infos)
  827. )
  828.  
  829. (working #extract-docs)
  830. (run "T:LhX -x x Files/docs.lha >NIL: <NIL: -x t:")
  831.  
  832. (copyfiles (prompt #inst-docs)
  833.  (source "T:Docs/")
  834.  (dest (tackon @default-dest "Docs"))
  835.  (pattern def_pat)
  836.  (optional "nofail")
  837.  (infos)
  838.  (files)
  839. )
  840.  
  841. ; cleanup temp dir
  842.  
  843. (foreach "t:Docs/" "#?" (delete (tackon "t:Docs/" @each-name) (optional force)))
  844. (delete "t:Docs" (optional force))
  845.  
  846. (complete 95)
  847.  
  848. ;=============================================================================;
  849. ; Installation procedure for Development Documentation
  850.  
  851. (if (= 2 @user-level)
  852.  (if (= 1 (askbool (prompt #ask-pdocs) (help #help-pdocs)))
  853.   (
  854.    (makedir (tackon @default-dest "Developer")
  855.     (prompt #create-pdocs)
  856.     (infos)
  857.    )
  858.    (makedir (tackon @default-dest "Developer/Examples")
  859.     (prompt #create-pdocs)
  860.     (infos)
  861.    )
  862.    (makedir (tackon @default-dest "Developer/Includes")
  863.     (prompt #create-pdocs)
  864.     (infos)
  865.    )
  866.  
  867.    (working #extract-pdocs)
  868.    (run ("T:LhX -x x Files/developer.lha \"%s/\"" @default-dest))
  869.  
  870.    (if (= @language "english")
  871.     (
  872.     (delete (tackon @default-dest "Developer/Developer.dok"))
  873.     (delete (tackon @default-dest "Developer/Developer.dok.info"))
  874.     )
  875.     (
  876.     (delete (tackon @default-dest "Developer/Developer.doc"))
  877.     (delete (tackon @default-dest "Developer/Developer.doc.info"))
  878.     )
  879.    )   
  880.   )
  881.  )
  882. )
  883.  
  884. ;=============================================================================;
  885. ; Set environment variables for configuration path
  886.  
  887. (complete 98)
  888.  
  889. (textfile (prompt #set-path) (dest "ENV:DeliConfig") (append (expandpath (tackon @default-dest "DeliConfig")))) 
  890.  
  891. ; this makes testing easier...
  892. (if (NOT (= "RAM" (getdevice @default-dest)))
  893.  (textfile (prompt #set-path) (dest "ENVARC:DeliConfig") (append (expandpath (tackon @default-dest "DeliConfig")))) 
  894. )
  895.  
  896. ;=============================================================================;
  897. ; Cleanup & tell some important things!
  898.  
  899. (delete "T:LhX")
  900. (complete 99)
  901. (message #final-msg)
  902. (complete 100)
  903.  
  904. ;=============================================================================;
  905.