home *** CD-ROM | disk | FTP | other *** search
/ Dream 44 / Amiga_Dream_44.iso / Amiga / applications / image / Plotter3D.lha / Plotter3D / Install-Plotter3D < prev    next >
Text File  |  1997-08-05  |  23KB  |  779 lines

  1. ; $VER: Install-Plotter3D 3.01 (05.08.97)
  2.  
  3. ;##############################################################################
  4. ; Localize
  5. ;
  6.  
  7. (if (= @language "deutsch")
  8.   (
  9.     (set #wrongversion
  10.       (cat "Achtung! Es ist eine alte Version des Programmes 'Installer' "
  11.               "auf Ihrem Amiga!\n\nDie Installation ben÷tigt mindestens Installer 42.9.\n\n"
  12.               "Bitte ⁿberprⁿfen Sie Ihre Konfiguration!"
  13.     ))
  14.  
  15.     (set #update "Update")
  16.     (set #abort  "Abbrechen")
  17.  
  18.     (set #welcome_full (cat
  19.       "\n"
  20.       "Willkommen zum Plotter3D Installationsprogramm. \n"
  21.       "\n"
  22.       "Plotter3D ist Freeware, da▀ hei▀t es kann frei  \n"
  23.       "vertrieben werden, solange keinerlei Profit     \n"
  24.       "gemacht wird und das Archiv unverΣndert bleibt. \n"
  25.       "\n"
  26.       "Neue Versionen k÷nnen aus dem AmiNet bezogen    \n"
  27.       "werden, Updates oder aktuelle Version k÷nnen    \n"
  28.       "von meiner Homepage geladen werden:             \n"
  29.       "   http://www.inf.tu-dresden.de/~ss37           \n"
  30.       "\n"
  31.       "                            Sven Steiniger, 1997\n"
  32.     ))
  33.     (set #welcome_beta (cat
  34.       "\n"
  35.       "Willkommen zum Plotter3D Installationsprogramm. \n"
  36.       "\n"
  37.       "Sie installieren gerade eine BETA-Version von   \n"
  38.       "Plotter3D! Bitte legen sie erst eine Kopie Ihres\n"
  39.       "'Plotter3D:'-Verzeichnisses an.                 \n"
  40.       "Falls Sie irgendwelche Fehler finden, schicken  \n"
  41.       "Sie bitte eine EMail mit dem Schlⁿsselwort      \n"
  42.       "'Plotter3D-Bug' im Subjekt-Feld an folgende     \n"
  43.       "Adresse:                                        \n"
  44.       "   ss37@inf.tu-dresden.de                       \n"
  45.       "\n"
  46.       "                           Danke, Sven Steiniger\n"
  47.     ))
  48.     (set #welcome_update (cat
  49.       "\n"
  50.       "Willkommen zum Plotter3D Installationsprogramm. \n"
  51.       "\n"
  52.       "Sie installieren gerade ein Update zu Plotter3D!\n"
  53.       "Es mu▀ schon eine Vollversion von Plotter3D v3.x\n"
  54.       "auf ihrem System installiert sein. Die aktuelle \n"
  55.       "Version kann aus dem AmiNet geladen werden      \n"
  56.       "(gfx/3d/Plotter3D.lha).                         \n"
  57.       "\n"
  58.       "                            Sven Steiniger, 1997\n"
  59.     ))
  60.     (set #error_beta (cat
  61.       "\n"
  62.       "Dieses Archiv enthΣlt nur ein Update (beta-     \n"
  63.       "Version) von Plotter3D!                         \n"
  64.       "Es scheint, da▀ noch keine Vollversion auf Ihrem\n"
  65.       "System installiert ist. Darum kann Ich kein     \n"
  66.       "Update durchfⁿhren.                             \n"
  67.       "\n"
  68.       "Die neuste Vollversion kann entweder aus dem    \n"
  69.       "AmiNet oder von meiner Homepage                 \n"
  70.       "   http://www.inf.tu-dresden.de/~ss37           \n"
  71.       "bezogen werden.                                 \n"
  72.     ))
  73.  
  74.     (set #installing "Installiere %s...")
  75.     (set #cleaning   "RΣume auf...")
  76.  
  77.     (set #cp_main   "Installiere Hauptprogramm 'Plotter3D'.")
  78.     (set #cp_docs   "Installiere Documentation.")
  79.     (set #cp_libs   "Installiere Libraries.")
  80.     (set #cp_locale "Installiere Sprachen.")
  81.     (set #cp_funcs  "Kopiere Beispiel-Funktionen.")
  82.     (set #cp_mats   "Kopiere Beispiel-Materialen.")
  83.     (set #cp_lights "Kopiere Beispiel-Lightquellen.")
  84.     (set #cp_datas  "Kopiere Beispiel-Daten.")
  85.     (set #cp_pals   "Kopiere Standard-Farbpaletten.")
  86.     (set #cp_images "Kopiere Bilder fⁿr Werkzeugleiste.")
  87.     (set #cp_prefs  "Kopiere Voreinstellungen.")
  88.     (set #cp_tools  "Kopiere Tools.")
  89.  
  90.     (set #ask_update  "Plotter3D ist schon auf ihrem System installiert.\nSie k÷nnen diese Installation updaten oder abbrechen.")
  91.     (set #ask_docs    "Bitte wΣhlen Sie die Sprache(n) fⁿr die AmigaGuide Dokumentation aus.")
  92.     (set #ask_locale  "Bitte wΣhlen Sie die Sprache(n) aus, die Sie installieren wollen.")
  93.     (set #ask_funcs   "Bitte wΣhlen Sie die zu installierenden Beispiele aus.\n(Empfohlen: Alle)")
  94.     (set #ask_drawers "Bitte wΣhlen Sie die Verzeichnisse aus, die kopiert werden sollen.\n(Empfohlen: Alle)")
  95.     (set #ask_others  "Bitte wΣhlen Sie die Dateien aus, die kopiert werden sollen.")
  96.     (set #ask_clean1  (cat
  97.       "Das Dateiformat fⁿr Paletten und     \n"
  98.       "Bilder hat sich geΣndert. Sollen die \n"
  99.       "alten Dateien gel÷scht werden, wenn  \n"
  100.       "sie doppelt vorhanden sind? (sowohl  \n"
  101.       "im neuen als auch im alten Format)   \n"
  102.     ))
  103.     (set #ask_clean2  (cat
  104.       "The tools 'ConvertPalette' und 'ILBM2Chunky'\n"
  105.       "wurden aus dem Archiv entfernt. Sie wurden  \n"
  106.       "durch die Programme 'ChunkyMaster' und      \n"
  107.       "'PalettesMaster' ersetzt.                   \n"
  108.       "Sollen die alten Programme gel÷scht werden? \n"
  109.     ))
  110.  
  111.     (set #destdir "Bitte wΣhlen Sie einen Platz fⁿr Plotter3D. Ein Verzeichnis namens 'Plotter3D' wird dort automatisch erzeugt.")
  112.     (set #startup "Einige Kommandos werden zu ihrer \"s:user-startup\" Datei gefⁿgt.")
  113.  
  114.     (set #user_abort "Fehler: Abbruch durch den Benutzer.")
  115.     (set #copyerror  "Fehler: Verzeichnis/Datei \"%s\" fehlt!\nEs kann sein das Plotter3D nach der Installation nicht oder nicht korrekt funktioniert.")
  116.  
  117.     (set #answer_yes "Ja")
  118.     (set #answer_no  "Nein")
  119.  
  120.   )
  121.   (
  122.     (set #wrongversion
  123.          (cat "You have an old version of the program 'Installer' "
  124.               "on your Amiga!\n\nThe installation procedure needs at least Installer 42.9.\n\n"
  125.               "Please check your configuration!"
  126.     ))
  127.  
  128.     (set #update "Update")
  129.     (set #abort  "Abort")
  130.  
  131.     (set #welcome_full (cat
  132.       "\n"
  133.       "Welcome to the Plotter3D installation program.  \n"
  134.       "\n"
  135.       "Plotter3D is Freeware, means it can be spread   \n"
  136.       "freely as long as no profit is made and the     \n"
  137.       "archive is not modified.                        \n"
  138.       "\n"
  139.       "You can get new versions from AmiNet. Updates   \n"
  140.       "and actual beta-versions can be downloaded from \n"
  141.       "my homepage at:                                 \n"
  142.       "   http://www.inf.tu-dresden.de/~ss37           \n"
  143.       "\n"
  144.       "                            Sven Steiniger, 1997\n"
  145.     ))
  146.     (set #welcome_beta (cat
  147.       "\n"
  148.       "Welcome to the Plotter3D installation program.  \n"
  149.       "\n"
  150.       "You are installing an BETA-version of Plotter3D!\n"
  151.       "Please make a copy of your 'Plotter3D:'         \n"
  152.       "directory first.                                \n"
  153.       "If you find any bugs please mail to:            \n"
  154.       "   ss37@inf.tu-dresden.de                       \n"
  155.       "with subject field containing 'Plotter3D-Bug'   \n"
  156.       "\n"
  157.       "                          Thanks, Sven Steiniger\n"
  158.     ))
  159.     (set #welcome_update (cat
  160.       "\n"
  161.       "Welcome to the Plotter3D installation program.  \n"
  162.       "\n"
  163.       "You are installing an Update of Plotter3D!      \n"
  164.       "It needs an fully installed version of          \n"
  165.       "Plotter3D v3.xx. You can get the lastest package\n"
  166.       "from AmiNet (gfx/3d/Plotter3D.lha).             \n"
  167.       "\n"
  168.       "                            Sven Steiniger, 1997\n"
  169.     ))
  170.     (set #error_beta (cat
  171.       "\n"
  172.       "This archive only contains an update (beta-     \n"
  173.       "version) of Plotter3D!                          \n"
  174.       "It seems you have not installed an full version \n"
  175.       "on your system therefore I could not make an    \n"
  176.       "update.                                         \n"
  177.       "\n"
  178.       "You can get the latest full version either from \n"
  179.       "your local AmiNet-site or from my homepage:     \n"
  180.       "   http://www.inf.tu-dresden.de/~ss37           \n"
  181.     ))
  182.  
  183.     (set #installing "Installing %s...")
  184.     (set #cleaning   "Cleaning up...")
  185.  
  186.     (set #cp_main   "Installing main program 'Plotter3D'.")
  187.     (set #cp_docs   "Installing documentation.")
  188.     (set #cp_libs   "Installing libraries.")
  189.     (set #cp_locale "Installing languages.")
  190.     (set #cp_funcs  "Copying example functions.")
  191.     (set #cp_mats   "Copying example materials.")
  192.     (set #cp_lights "Copying example lightsources.")
  193.     (set #cp_datas  "Copying example datas.")
  194.     (set #cp_pals   "Copying standard colorpalettes.")
  195.     (set #cp_images "Copying toolbar images.")
  196.     (set #cp_prefs  "Copying preferences.")
  197.     (set #cp_tools  "Copying tools.")
  198.  
  199.     (set #ask_update  "Plotter3D is already installed on your system.\nYou can make an update or abort.")
  200.     (set #ask_docs    "Select the language(s) of AmigaGuide documentations you wish to install.")
  201.     (set #ask_locale  "Select the language(s) you wish to install.")
  202.     (set #ask_funcs   "Select the examples you wish to install.\n(Recommended: All)")
  203.     (set #ask_drawers "Select the drawers you wish to copy.\n(Recommended: All)")
  204.     (set #ask_others  "Select the files you wish to copy.")
  205.     (set #ask_clean1  (cat
  206.       "The file format of palettes and      \n"
  207.       "pictures has been changed. Should the\n"
  208.       "old files be deleted if they exists  \n"
  209.       "twice?                               \n"
  210.     ))
  211.     (set #ask_clean2  (cat
  212.       "The tools 'ConvertPalette' and 'ILBM2Chunky'\n"
  213.       "have been removed from the archive. Instead \n"
  214.       "More powerful tools called 'PalettesMaster' \n"
  215.       "and 'ChunkyMaster' have been included.      \n"
  216.       "Should I delete the old tools?              \n"
  217.     ))
  218.  
  219.     (set #destdir "Please select a place for the Plotter3D package. A drawer called 'Plotter3D' will be created here.")
  220.     (set #startup "Some commands will be added to your \"s:user-startup\" file.")
  221.  
  222.     (set #user_abort "Error: User abort.")
  223.     (set #copyerror  "Error: Directory/File \"%s\" is missed!.\nIt is possible that Plotter3D does not work properly after installation.")
  224.  
  225.     (set #answer_yes "Yes")
  226.     (set #answer_no  "No")
  227.  
  228.  
  229.   )
  230. )
  231.  
  232. ;##############################################################################
  233. ; start
  234. (if (< @installer-version 2752521)
  235.   (
  236.     (message #wrongversion)
  237.     (working (#installing "Installer"))
  238.     (copylib
  239.       (source "Installer")
  240.       (dest "C:")
  241.       (optional "force" "askuser")
  242.     )
  243.     (exit (quiet))
  244.   )
  245. )
  246.  
  247. ;#############################################################################
  248. ; procedure P_MakeDir
  249. ; creates a new drawer and copies the icon.
  250. ;
  251. ; #spath - source path
  252. ; #name  - name of drawer
  253.  
  254. (procedure P_MakeDir #pm_path #pm_name
  255.   (
  256.     (if (not (exists (tackon @default-dest (tackon #pm_path #pm_name)) (noreq)))
  257.       (
  258.         (makedir (tackon @default-dest (tackon #pm_path #pm_name)))
  259.       )
  260.     )
  261.     (P_CopyIcon #pm_path #pm_name @copy-help FALSE)
  262.   )
  263. )
  264.  
  265. ;##############################################################################
  266. ; procedure P_CopyDir
  267. ; copies a whole directory including all subdirectories. If an file exists
  268. ; it is not overwritten if it has an higher version.
  269. ;
  270. ; #cp_name      - name of directory
  271. ; #cp_help      - text shown during copy
  272. ; #cp_overwrite - if TRUE then files without version are overwritten
  273.  
  274. (procedure P_CopyDir #cp_name #cp_help #cp_overwrite
  275.   (
  276.     (if (exists #cp_name)
  277.       (
  278.         (working ("%s\n(%s/)" #cp_help #cp_name))
  279.         (foreach #cp_name "~(#?.info)"
  280.           (
  281.             (if (< @each-type 0)
  282.               (
  283.                 (set cd_source (tackon #cp_name @each-name))
  284.                 (set cd_dest   (tackon (tackon @default-dest #cp_name) @each-name))
  285.                 (if (exists cd_dest)
  286.                   (
  287.                     (set cd_doit FALSE)
  288.                     (set cd_version (GETVERSION cd_dest))
  289.                     (if cd_version
  290.                       (if (> (GETVERSION cd_source) cd_version) (set cd_doit TRUE))
  291.                       (if #cp_overwrite (set cd_doit TRUE))
  292.                     )
  293.                   )
  294.                   (set cd_doit TRUE)
  295.                 )
  296.                 (if cd_doit (P_CopyFile #cp_name @each-name #cp_help))
  297.               )
  298.             )
  299.           )
  300.        )
  301.       )
  302.       (if (not #v_update) (message (#copyerror #cp_name) (all)))
  303.     )
  304.   )
  305. )
  306.  
  307. ;##############################################################################
  308. ; procedure P_CopyFile
  309. ; copies a file
  310. ;
  311. ; #cf_path   - path of file
  312. ; #cf_name   - name of file
  313. ; #cf_prompt - text for prompt
  314. ;
  315. (procedure P_CopyFile #cf_path #cf_name #cf_prompt
  316.   (
  317.     (if (exists (tackon #cf_path #cf_name))
  318.       (
  319.         (copyfiles
  320.           (prompt #cf_prompt)
  321.           (help   @copyfiles-help)
  322.           (source (tackon #cf_path #cf_name))
  323.           (dest   (tackon @default-dest #cf_path))
  324.           (nogauge)
  325.         )
  326.         (P_CopyIcon #cf_path #cf_name #cf_prompt FALSE)
  327.       )
  328.       (if (not #v_update) (message (#copyerror (tackon #cf_path #cf_name)) (all)))
  329.     )
  330.   )
  331. )
  332.  
  333. ;##############################################################################
  334. ; procedure P_CopyLib
  335. ; copies a file
  336. ;
  337. ; #cl_path   - path of file
  338. ; #cl_name   - name of file
  339. ; #cl_prompt - text for prompt
  340. ;
  341. (procedure P_CopyLib #cl_path #cl_name #cl_prompt
  342.   (
  343.     (if (exists (tackon #cl_path #cl_name))
  344.       (
  345.         (copylib
  346.           (prompt #cl_prompt)
  347.           (help   @copyfiles-help)
  348.           (source (tackon #cl_path #cl_name))
  349.           (dest   (tackon @default-dest #cl_path))
  350.         )
  351.         (P_CopyIcon #cl_path #cl_name #cl_prompt FALSE)
  352.       )
  353.       (if (not #v_update) (message (#copyerror (tackon #cl_path #cl_name)) (all)))
  354.     )
  355.   )
  356. )
  357.  
  358.  
  359. ;##############################################################################
  360. ; procedure P_CopyIcon
  361. ; copies an icon
  362. ;
  363. ; #ci_path   - path of icon
  364. ; #ci_name   - name of icon (without .info)
  365. ; #ci_prompt - text for prompt
  366. ;
  367. (procedure P_CopyIcon #ci_path #ci_name #ci_prompt #ci_necessary
  368.   (
  369.     (set ci_file (tackon #ci_path #ci_name))
  370.     (set ci_icon (cat ci_file ".info"))
  371.  
  372.     (if (exists ci_icon)
  373.       (
  374.         (if (exists (tackon @default-dest ci_icon))
  375.           (
  376.             (iconinfo
  377.               (dest (tackon @default-dest ci_file))
  378.               (getposition "#ci_xp" "#ci_yp")
  379.             )
  380.             (copyfiles
  381.               (prompt #ci_prompt)
  382.               (help   @copyfiles-help)
  383.               (source ci_icon)
  384.               (dest   (tackon @default-dest #ci_path))
  385.               (nogauge)
  386.             )
  387.             (tooltype
  388.               (dest (tackon @default-dest ci_file))
  389.               (setposition #ci_xp #ci_yp)
  390.             )
  391.           )
  392.           (copyfiles
  393.             (prompt #ci_prompt)
  394.             (help   @copyfiles-help)
  395.             (source ci_icon)
  396.             (dest (tackon @default-dest #ci_path))
  397.             (nogauge)
  398.           )
  399.         )
  400.       )
  401.       (
  402.         (if (and #ci_necessary (not #v_update))
  403.           (message (#copyerror ci_icon) (all))
  404.         )
  405.       )
  406.     )
  407.   )
  408. )
  409.  
  410. ;##############################################################################
  411. ; procedure P_CleanDir
  412. ; Scans a directory for double files (differs only in suffix)
  413. ;
  414. ; #cld_name      - name of directory
  415. ; #cld_help      - text shown during copy
  416. ; #cld_good      - suffix of good files
  417. ; #cld_bad       - suffix of bad files
  418. ;
  419. (procedure P_CleanDir #cld_name #cld_help #cld_good #cld_bad
  420.   (
  421.     (if (exists #cld_name)
  422.       (foreach #cld_name (cat "#?." #cld_good)
  423.         (if (< @each-type 0)
  424.           (
  425.             (set cld_dest
  426.               (tackon
  427.                 #cld_name
  428.                 (cat
  429.                   (substr
  430.                     @each-name
  431.                     0
  432.                     (- (strlen @each-name) (strlen #cld_good))
  433.                   )
  434.                   #cld_bad
  435.                 )
  436.               )           
  437.             )
  438.             (if (exists cld_dest) (delete cld_dest))
  439.           )
  440.         )
  441.       )
  442.     )
  443.   )
  444. )
  445.  
  446. ;(procedure P_UserAbort
  447. ;  (
  448. ;    (ABORT #user_abort)
  449. ;  )
  450. ;)
  451.  
  452.  
  453. ;##############################################################################
  454. ; global variables
  455.  
  456. (set ul_novice  0)
  457. (set ul_average 1)
  458. (set ul_expert  2)
  459.  
  460. ; last_choice contains the result of the last askoptions-call
  461. (set last_choice       0)
  462.  
  463. (set #v_update   FALSE)
  464. (set #v_partly   FALSE)
  465. (set #v_docs     -1)
  466. (set #v_locale   -1)
  467. (set #v_examples -1)
  468. (set #v_extra    -1)
  469. (set #v_others   -1)
  470.  
  471. ;##############################################################################
  472. ; check beta or update-version.
  473. (if (exists "Beta.readme")
  474.   (
  475.     (message #welcome_beta)
  476.     (set #v_partly TRUE)
  477.   )
  478.   (if (exists "Update.readme")
  479.     (
  480.       (message #welcome_update)
  481.       (set #v_partly TRUE)
  482.     )
  483.     (message #welcome_full)
  484.   )
  485. )
  486. (welcome)
  487.  
  488.  
  489. ;##############################################################################
  490. ; get destination path
  491. (if (exists "plotter3d:" (noreq))
  492.   (
  493.     (set @default-dest (expandpath "plotter3d:/"))
  494.     (set #v_update TRUE)
  495.     (if (not #v_partly)
  496.       (if (not (askbool 
  497.             (prompt  #ask_update)
  498.             (choices #update #abort)
  499.             (help    @askbool-help)
  500.           ))
  501.         (exit (quiet))
  502.       )
  503.     )
  504.   )
  505.   (if #v_partly
  506.     (
  507.       (message #error_beta)
  508.       (exit (quiet))
  509.     )
  510.     (
  511.       (set @default-dest
  512.         (askdir
  513.           (prompt  #destdir)
  514.           (help    @askdir-help)
  515.           (default @default-dest)
  516.         )
  517.       )
  518.       (set @default-dest (expandpath @default-dest))
  519.     )
  520.   )
  521. )
  522.  
  523. ;##############################################################################
  524. ; documentation
  525.  
  526. (if (>= @user-level ul_average)
  527.   (set #v_docs
  528.     (askoptions
  529.       (prompt  #ask_docs)
  530.       (default #v_docs)
  531.       (help    @askoptions-help)
  532.       (choices
  533.         "English"
  534.         "Deutsch"
  535.       )
  536.     )
  537.   )
  538. )
  539.  
  540. ;##############################################################################
  541. ; Locale
  542.  
  543. (if (>= @user-level ul_average)
  544.   (set #v_locale
  545.     (askoptions
  546.       (prompt  #ask_locale)
  547.       (default #v_locale)
  548.       (help    @askoptions-help)
  549.       (choices
  550.         "English"
  551.         "Deutsch"
  552.         "Franτais"
  553.       )
  554.     )
  555.   )
  556. )
  557.  
  558. ;##############################################################################
  559. ; examples
  560.  
  561. (if (>= @user-level ul_expert)
  562.   (set #v_examples
  563.     (askoptions
  564.       (prompt  #ask_funcs)
  565.       (default #v_examples)
  566.       (help    @askoptions-help)
  567.       (choices
  568.         "Functions"
  569.         "Materials"
  570.         "Lightsources"
  571.         "Palettes"
  572.         "Datas"
  573.       )
  574.     )
  575.   )
  576. )
  577.  
  578. ;##############################################################################
  579. ; extra
  580.  
  581. (if (>= @user-level ul_expert)
  582.   (set #v_extra
  583.     (askoptions
  584.       (prompt  #ask_drawers)
  585.       (default #v_extra)
  586.       (help    @askoptions-help)
  587.       (choices
  588.         "Imagebuttons"
  589.         "Preferences"
  590.         "Tools"
  591.       )
  592.     )
  593.   )
  594. )
  595.  
  596. ;##############################################################################
  597. ; others
  598.  
  599. (if (>= @user-level ul_average)
  600.   (set #v_others
  601.     (askoptions
  602.       (prompt  #ask_others)
  603.       (default #v_others)
  604.       (help    @askoptions-help)
  605.       (choices
  606.         "Preview picture"
  607.       )
  608.     )
  609.   )
  610. )
  611.  
  612. ;##############################################################################
  613. ; go
  614.  
  615. (complete 0)
  616.  
  617. (if (not #v_update)
  618.   (
  619.     (makedir
  620.       (tackon @default-dest "Plotter3D")
  621.       (help   @makedir-help)
  622.     )
  623.     (copyfiles
  624.       (help   @copyfiles-help)
  625.       (source "/Plotter3D.info")
  626.       (dest   @default-dest)
  627.     )
  628.     (tooltype
  629.       (dest (tackon @default-dest "Plotter3D"))
  630.       (noposition)
  631.     )
  632.   )
  633. )
  634. (complete 10)
  635.  
  636. (set @default-dest (tackon @default-dest "Plotter3D"))
  637.  
  638. ;##############################################################################
  639. ; copy Main Program
  640.  
  641. ;(copylib
  642. ;  (prompt #cp_main)
  643. ;  (help   @copylib-help)
  644. ;  (source "Plotter3D")
  645. ;  (dest   @default-dest)
  646. ;)
  647. ;(P_CopyIcon "" "Plotter3D" #cp_main TRUE)
  648. (P_CopyLib "" "Plotter3D" #cp_main)
  649.  
  650.  
  651. (P_MakeDir "" "Libs")
  652. (P_CopyDir "Libs" #cp_libs TRUE)
  653. (P_MakeDir "Libs" "Dither")
  654. (P_CopyDir "Libs/Dither" #cp_libs TRUE)
  655.  
  656. (complete 20)
  657.  
  658. ;##############################################################################
  659. ; copy documentation
  660.  
  661. (P_MakeDir "" "Docs")
  662. (P_CopyFile "Docs" "History" #cp_docs)
  663. (P_CopyFile "Docs" "Bugs"    #cp_docs)
  664. (P_CopyFile "Docs" "ToDo"    #cp_docs)
  665.  
  666. (if (IN #v_docs 0) ( (P_MakeDir "Docs" "English") (P_CopyDir "Docs/English" #cp_docs TRUE)))
  667. (if (IN #v_docs 1) ( (P_MakeDir "Docs" "Deutsch") (P_CopyDir "Docs/Deutsch" #cp_docs TRUE)))
  668.  
  669. (complete 30)
  670.  
  671. ;##############################################################################
  672. ; copy Locale
  673.  
  674. (if (> #v_locale 1)
  675.   (
  676.     (makedir (tackon @default-dest "Catalogs"))
  677.     (if (IN #v_locale 1) ( (P_CopyDir "Catalogs/Deutsch"  #cp_locale TRUE) ))
  678.     (if (IN #v_locale 2) ( (P_CopyDir "Catalogs/Franτais" #cp_locale TRUE) ))
  679.   )
  680. )
  681. (complete 40)
  682.  
  683. ;##############################################################################
  684. ; install functions etc.
  685.  
  686. (if (IN #v_examples 0) ( (P_MakeDir "" "Functions") (P_CopyDir "Functions" #cp_funcs  TRUE)))
  687. (if (IN #v_examples 1) ( (P_MakeDir "" "Materials") (P_CopyDir "Materials" #cp_mats   FALSE)))
  688. (if (IN #v_examples 2) ( (P_MakeDir "" "Lights"   ) (P_CopyDir "Lights"    #cp_lights FALSE)))
  689. (if (IN #v_examples 3) ( (P_MakeDir "" "Palettes" ) (P_CopyDir "Palettes"  #cp_pals   FALSE)))
  690. (if (IN #v_examples 4) ( (P_MakeDir "" "Datas"    ) (P_CopyDir "Datas"     #cp_datas  FALSE)))
  691.  
  692. (complete 50)
  693.  
  694. ;##############################################################################
  695. ; copy extra drawers
  696.  
  697. (if (IN #v_extra 0) ( (P_MakeDir "" "Images") (P_CopyDir "Images" #cp_images TRUE)))
  698. (if (IN #v_extra 1) ( (P_MakeDir "" "Prefs" ) (P_CopyDir "Prefs"  #cp_prefs FALSE)))
  699. (if (IN #v_extra 2) ( (P_MakeDir "" "Tools" ) (P_CopyDir "Tools"  #cp_tools TRUE)))
  700.  
  701. (complete 60)
  702.  
  703. ;##############################################################################
  704. ; copy other datas
  705.  
  706. (if (IN #v_others 0) (P_CopyFile "" "PreviewPic" @copyfiles-help))
  707.  
  708. (complete 80)
  709.  
  710. ;##############################################################################
  711. ; Cleanup 1
  712.  
  713. (if #v_update
  714.   (if (>= @user-level ul_expert)
  715.     (if (askbool
  716.           (prompt  #ask_clean1)
  717.           (help    @askbool-help)
  718.           (choices
  719.             #answer_yes
  720.             #answer_no
  721.           )
  722.         )
  723.       (
  724.         ; remove double palettes
  725.         (P_CleanDir (tackon @default-dest "Palettes") #cleaning "cpal" "pal256") 
  726.         ; remove double pictures
  727.         (P_CleanDir (tackon @default-dest "Datas") #cleaning "ciff" "chunky") 
  728.         (P_CleanDir (tackon @default-dest "Datas") #cleaning "ciff" "pal256") 
  729.       )
  730.     )
  731.   )
  732. )
  733.  
  734. (complete 87)
  735.  
  736. ;##############################################################################
  737. ; Cleanup 2
  738.  
  739. (if #v_update
  740.   (if (>= @user-level ul_expert)
  741.     (if (askbool
  742.           (prompt  #ask_clean2)
  743.           (help    @askbool-help)
  744.           (choices
  745.             #answer_yes
  746.             #answer_no
  747.           )
  748.         )
  749.       (
  750.         (delete (tackon @default-dest "Tools/ConvertPalette") 
  751.            (infos)
  752.         )
  753.         (delete (tackon @default-dest "Tools/ILBM2Chunky") 
  754.            (infos)
  755.         )
  756.       )
  757.     )
  758.   )
  759. )
  760.  
  761. (complete 95)
  762.  
  763. ;##############################################################################
  764. ; startup-sequence
  765.  
  766. (if (not #v_update)
  767.   (startup "Plotter3D"
  768.     (prompt  #startup)
  769.     (help    @startup-help)
  770.     (command "assign Plotter3D: \"" @default-dest "\"")
  771.     (confirm "expert")
  772.   )
  773. )
  774.  
  775. (makeassign "Plotter3D" @default-dest)
  776.  
  777. (complete 100)
  778.