home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga MA Magazine 1998 #7
/
amigamamagazinepolishissue1998.iso
/
rozrywka
/
rpg
/
sliver
/
installiere_silver
< prev
next >
Wrap
Text File
|
1997-10-24
|
20KB
|
781 lines
; $VER: Installiere_Silver 0.4 (23.10.97)
;
; 11.08.97 Aenderung des Installationsvorgangs:
; Es wird nun kein Archiv mehr entpackt sondern einzelne
; Files kopiert um eine Anpassung an andere Sprachen zu
; erleichtern (wenn z.B. nur eine einzige Sprache
; installiert werden soll)
;
; 15.08.97 Erweiterung des Skripts: Sprachspezifische Installation der
; Kataloge und Doku-Texte, Abfrage der Zielverzeichnise der
; Libraries und Catalogs
;
; 23.10.97 Auf Wunsch werden nun auch die ct/cd-Files kopiert
;*******************************************************
;* Deutsche Texte
;*******************************************************
(if (= @language "deutsch")
(
(set #WrongInstallerVersion
(cat "\nSie benötigen mindestens Version 42 des Installers!\n"
"Die Version 43.3 finden Sie im Aminet in util/misc/Installer43.3.lha\n\n"
"Ihre Installer-Version ist: %ld.%ld"
))
(set #WrongKickVersion
(cat "\nSie benötigen mindestens Kickstart-Version 37!\n"
"Ihre Kickstart-Version ist: %ld.%ld"
))
(set #WrongUserLevel
(cat "\nEine Installation im Einsteiger-Modus ist nicht möglich!\n"
))
(set #Warnung
(cat "Nur um sicherzugehen:\n"
"Obwohl dieses Installer-Skript ausführlich getestet wurde lehne ich "
"jede Verantwortung für durch den Gebrauch oder Mißbrauch dieses "
"Skripts entstandenen Schäden ab.\n"
"Die Benutzung dieses Skripts erfolgt auf eigene Gefahr..."
))
(set #AskTargetdir
(cat "\nWo soll das Spiel installiert werden?\n"
"(Ein neues Verzeichnis namens Silver wird dort angelegt)"
))
(set #AskLibdir
(cat "\nWo soll die reqtools.library installiert werden?\n"
))
(set #AskCatdir
(cat "\nWo sollen die Sprachkataloge und Übersetzungsdateien installiert werden?\n"
"Das Verzeichnis Catalogs wird dort angelegt.\n"
))
(set #WhichTranslationfiles
(cat "\nWelche Übersetzungsdateien sollen kopiert werden?\n"
"Kopiert werden sie nach:\n"
))
(set #InstallingLibs
(cat "Installiere die reqtools.library.\n"
"Diese Bibliothek wird für den Konfig-Editor benötigt."
))
(set #InstallingOscar
(cat "Installiere den Charaktereditor OSCAR\n"
"Dieser Programm ist ein Zusatz, der dem Komfort dient."
))
(set #HelpInstallingOscar
(cat "OSCAR ist ein externer Charaktereditor für Silver.\n"
"Um zu vermeiden, daß man aus Versehen eine Version von\n"
"OSCAR durch eine ältere Version überschreibt erfolgt hier\n"
"eine Sicherheitsabfrage."
))
(set #Copy_files
(cat "Kopiere Dateien...\n"
))
(set #RunPrefs
(cat "Nun wird der Konfigurationseditor gestartet.\n"
"Hier können sie diverse Programmparameter einstellen.\n"
"Sollten sie dies nicht tun wollen, dann überspringen sie einfach diesen Installationsschritt "
"und verwenden sie die Standardkonfiguration."
))
(set #RunPrefsHelp
(cat "Wenn sie 'Weiter' anwählen, dann wird der Konfigurationseditor gestartet..\n"
"Wählen sie 'diesen Teil überspringen', dann wird die Standardkonfiguration verwendet.\n"
))
(set #WhichAdv
(cat "Welche Abenteuermodule sollen installiert werden?\n"
))
(set #WhichDepth
(cat "Wie viele Farben soll Silver verwenden?\n"
))
(set #16Colors
(cat "16 Farben (OCS, ECS, AGA)"
))
(set #32Colors
(cat "32 Farben (AGA)"
))
(set #WhichCPU
(cat "Es gibt zwei Versionen der Programme: Eine für Prozessoren ab dem "
"Typ MC68020 und eine für alle Prozessoren des Typs MC680xx.\n"
"Welche Programmversion wollen Sie installieren?"
))
))
;*******************************************************
;* Englische Texte
;*******************************************************
(if (= @language "english")
(
(set #WrongInstallerVersion
(cat "\nYou need at least V42 of the Installers!\n"
"Version 43.3 can be found on Aminet in util/misc/Installer43.3.lha\n\n"
"Your Installer-Version is: %ld.%ld"
))
(set #WrongKickVersion
(cat "\nYou need at least Kickstart-Version 37!\n"
"Your Kickstart-Version is: %ld.%ld"
))
(set #WrongUserLevel
(cat "\nInstalling with Novice-Mode is not supported!\n"
))
(set #Warnung
(cat "Use this Installer-script on your own risk...\n"
"If your cat explodes while using this script - don't blame me ;-)"
))
(set #AskTargetdir
(cat "\nWhere do you want to install the game?\n"
"(A new directory called Silver will be created there)"
))
(set #AskLibdir
(cat "\nWhere do you want to install the reqtools.library?\n"
))
(set #AskCatdir
(cat "\nWhere do you want to install the catalog-files?\n"
"(The directory Catalogs will be created there)"
))
(set #WhichTranslationfiles
(cat "\nWhich translationsfiles should be copied?\n"
"Target directory is:\n"
))
(set #InstallingLibs
(cat "Installing the reqtools.library.\n"
"This library is used by the Config-Editor."
))
(set #InstallingOscar
(cat "Installing the charactereditor OSCAR\n"
))
(set #HelpInstallingOscar
(cat "OSCAR is an external charactereditor for Silver.\n"
"In order to avoid to overwrite an existing version with an older one,\n"
"this securityrequest is used.\n"
))
(set #Copy_files
(cat "Copying files...\n"
))
(set #RunPrefs
(cat "Now the config-editor will be started.\n"
"If you don't want to start it, Silver will use its default configuration."
))
(set #RunPrefsHelp
(cat "If you select 'Procced' the config-editor will be started.\n"
"If you select 'Skip this part' the default configuration will be used.\n"
))
(set #WhichAdv
(cat "Which adventure-modules do you want to install?\n"
))
(set #WhichDepth
(cat "How many colors should Silver use?\n"
))
(set #16Colors
(cat "16 Colors"
))
(set #32Colors
(cat "32 Colors"
))
(set #WhichCPU
(cat "There are two versions of the executable programs: One for 68020 and"
"better and one for all MC680xx. Which version do you want to install?\n"
))
))
;********************************************************************************************
;***
;*** Diverse Versionstests (Installer, OS und User-Level)
;***
;***
;***
;********************************************************************************************
; *********************************************************************
; * Es wird mindestens Version 42 des Installers gefordert
; *********************************************************************
(set #vernum @installer-version)
(set #ver (/ #vernum 65536))
(set #rev (- #vernum (* #ver 65536) ) )
(if (< #ver 42)
(
(abort (#WrongInstallerVersion #ver #rev) )
))
; *********************************************************************
; * Es wird mindestens Kickstart 2.0 (V 37) gefordert
; *********************************************************************
(set #vernum (getversion) )
(set #ver (/ #vernum 65536))
(set #rev (- #vernum (* #ver 65536) ) )
(if (< #ver 37)
(
(abort (#WrongKickVersion #ver #rev) )
))
; *********************************************************************
; * Es wird mindestens ein "Average User" gefordert
; *********************************************************************
(if (= @user-level 0)
(
(abort (#WrongUserLevel) )
))
;********************************************************************************************
;***
;*** Hier beginnt die eigentliche Installation
;***
;*** TEIL 1: Alle noetigen Nachfragen
;***
;********************************************************************************************
; *********************************************************************
; * Abfrage, wo installiert werden soll
; * ==> #Installverz
; *********************************************************************
(complete 0)
(message #Warnung)
(set #Zielverzeichnis @default-dest)
(set #Zielverzeichnis
(askdir
(prompt #AskTargetdir)
(help @askdir-help)
(default #Zielverzeichnis)
)
)
(set #Installverz (tackon #Zielverzeichnis "Silver"))
;* Damit die Protokolldatei am richtigen Ort landet
(set @default-dest #Installverz)
; *********************************************************************
; * Zielverzeichnis und
; * Spielstandsverzeichnis und DokuVerzeichnis anlegen
; *********************************************************************
(complete 5)
(makedir #Installverz (infos) )
(set #Spielstandverz (tackon #Installverz "save"))
(makedir #Spielstandverz (infos) )
(set #Dokverz (tackon #Installverz "doks"))
(makedir #Dokverz (infos) )
; *********************************************************************
; * Abfrage, wo Libraries installiert werden sollen
; * ==> #Libverz
; *********************************************************************
; *** reqtools.library installieren
; *** Ein Average-User wird nicht gefragt
; *** Ein Expert-User hat Wahlmoeglichkeit
(set #Libverz "LIBS:")
; *** Hier den Expert-User fragen
(if (> @user-level 1)
(
(set #Libverz
(askdir
(prompt #AskLibdir)
(help @askdir-help)
(default #Libverz)
)
)
))
; *********************************************************************
; * Abfrage, wo Catalogs installiert werden sollen
; * ==> #Catverz
; *********************************************************************
; *** Catalogs installieren
; *** Ein Average-User wird nicht gefragt
; *** Ein Expert-User hat Wahlmoeglichkeit
; *** Defaulteinstellung
(set #Catverz #Installverz)
; *** Hier den Expert-User fragen
(if (> @user-level 1)
(
(set #Catverz
(askdir
(prompt #AskCatdir)
(help @askdir-help)
(default #Catverz)
)
)
))
; *** "Catalogs" anhaengen
(set #Catverz (tackon #Installverz "Catalogs") )
; *********************************************************************
; * Katalogverzeichnis anlegen
; * (wurde etwas frueher abgefragt)
; *********************************************************************
(makedir #Catverz (infos) )
; *********************************************************************
; * Abfrage, ob die ct/cd-Files fuer die Uebersetzung installiert werden sollen
; * ==> #Locale
; *
; * Bit 0 = ct/cd-Files kopieren
; *
; *********************************************************************
(set #dummy
(cat #WhichTranslationfiles #CatVerz
))
(set #Locale
(askoptions (choices ".ct & .cd-Files" )
(default -1)
(prompt #dummy)
(help @askoptions-help)
)
)
; *********************************************************************
; * Abfrage, welche Abenteuer installiert werden sollen
; * ==> #Abenteuer
; *
; * Bit 0 = Morgengrauen
; *
; * ACHTUNG: Werden weitere Abenteuer eingefuegt, dann muss man auch den
; * Kopierteil aendern!
; *
; *********************************************************************
(set #Abenteuer
(askoptions (choices "Morgengrauen" )
(default -1)
(prompt #WhichAdv)
(help @askoptions-help)
)
)
; *********************************************************************
; * KONFIGURATIONSDATEN ABFRAGEN - nur wenn silver.konfig nicht vorhanden ist
; *
; * - Abfrage, welche Farbanzahl installiert werden sollen
; * ==> #Farbanzahl
; *
; * 0 = 16 Farben
; * 1 = 32 Farben
; *
; *********************************************************************
(set #Exist (exists (tackon #Installverz "silver.konfig") (noreq) ) )
(if (= #Exist 0)
(
;**** Farbanzahl abfragen
(if (not (patmatch "ECS|AGNUS" (database "chiprev")))
(
;*** Es ist kein (!) ECS oder AGNUS (= OCS) vorhanden, also sind 16 oder 32 Farben moeglich
;**** !!!! ASKCHOICE liefert die absolute Nummer des gewaehlten Eintrages
(set #Farbanzahl
(askchoice (choices #16Colors #32Colors)
(default 0)
(prompt #WhichDepth)
(help @askchoice-help)
)
)
)
(
;*** Es ist ECS oder AGNUS (= OCS) vorhanden, also: 16 Farben
(set #Farbanzahl 0)
)
)
))
; *********************************************************************
; * Welche Prozessorversion verwenden?
; *
; * #cpuversion
; * 0 = Executables fuer MC68000 installieren
; * (silver und editor)
; * 1 = Executables fuer MC68020+ installieren
; * (silver_68020 und editor_68020)
; *
; *
; *********************************************************************
;** die 68000-Version wird installiert
(set #cpuversion 0)
;*** Ist ein hinreichend guter Prozessor vorhanden?
(if (not (patmatch "68000|68010" (database "cpu")))
(
;*** Ja...
;*** Sind die noetigen Exe-Files im aktuellen Verzeichnis vorhanden?
(set #Exist (exists "silver_68020" (noreq) ) )
(if (= #Exist 1)
(
;*** Gut - das Exe-File von Silver ist da...
(set #Exist (exists "editor_68020" (noreq) ) )
(if (= #Exist 1)
(
;*** Gut - das Exe-File von Editor ist da...
;*** Jetzt geht es darum, welche Programmversion installiert
;*** werden soll
;*** Defaultmaessig wird die Version fuer MC 68020+ installiert
(set #cpuversion 1)
(set #cpuversion
(askchoice (choices "MC 68000" "MC 68020+")
(default #cpuversion)
(prompt #WhichCPU)
(help @askoptions-help)
)
)
))
))
))
;********************************************************************************************
;***
;*** Hier beginnt die eigentliche Installation
;***
;*** TEIL 2: Die gewuenschten Dateien kopieren
;***
;********************************************************************************************
; *********************************************************************
; * Libraries installieren
; *********************************************************************
(complete 15)
; *** Jetzt die Lib kopieren
(copylib (prompt #InstallingLibs)
(source "reqtools.library")
(dest #Libverz)
(confirm)
(help @copylib-help)
)
; *********************************************************************
; * Noetige Files kopieren
; *********************************************************************
(complete 30)
(working #Copy_files)
(copyfiles (source "silver_prefs") (dest #Installverz) (infos) )
(copyfiles (source "silver_1.readme") (dest #Installverz) (infos) )
;*** Je nach gewuenschter Prozessorversion installieren
(complete 35)
(select #cpuversion
(
;*** die 68000 Version installieren
(copyfiles (source "silver") (dest #Installverz) (infos) )
(copyfiles (source "editor") (dest #Installverz) (infos) )
)
(
;*** die 68020+ Version installieren
(copyfiles (source "silver_68020") (newname "silver") (dest #Installverz) )
(copyfiles (source "editor_68020") (newname "editor") (dest #Installverz) )
(copyfiles (source "silver_68020.info") (newname "silver.info") (dest #Installverz) )
(copyfiles (source "editor_68020.info") (newname "editor.info") (dest #Installverz) )
)
)
;*** Grafikdaten kopieren
(complete 40)
(copyfiles (source "daten") (dest (tackon #Installverz "daten") ) (all) )
; *********************************************************************
; * Abenteuer installieren
; * Nur die gewaehlten Abenteuer installieren
; *********************************************************************
(complete 50)
(if #Abenteuer
(
(if (IN #Abenteuer 0)
(
;*** Abenteur Morgengrauen installieren
(copyfiles (source "morgengrauen")
(dest (tackon #Installverz "morgengrauen") ) (all) (infos) )
)
)
)
)
; *********************************************************************
; * Catalogs installieren
; *********************************************************************
(complete 60)
(working #Copy_files)
; **** ACHTUNG: Deutsch ist die eingebaute Sprache - in diesem Fall ist
; **** kein Catalog noetig
(if (<> @language "deutsch")
(
; **** Jetzt den Katalog aufgrund der aktuellen Sprache installieren
(copyfiles (source (tackon "catalogs" @language) )
(dest (tackon #Catverz @language) ) (all)
)
)
)
;******* Zusaetzliche Uebersetzungsfiles
(if #Locale
(
(if (IN #Locale 0)
(
;*** cd/ct-Files kopieren
(copyfiles (source "catalogs") (dest #Catverz ) (pattern "#?.ct") )
(copyfiles (source "catalogs") (dest #Catverz ) (pattern "#?.cd") )
)
)
)
)
; *********************************************************************
; * Doku installieren (nur die Doku der jeweiligen Sprache)
; *********************************************************************
(complete 70)
(working #Copy_files)
(copyfiles (source (tackon "doks" @language) )
(dest #Dokverz ) (all) (infos)
)
; *********************************************************************
; * Oscar kopieren (mit Icon), aber nur, wenn es eine neuere Version ist
; *********************************************************************
(complete 75)
(working #Copy_files)
(copylib (prompt #InstallingOscar)
(source "OSCAR_Dir/Oscar")
(dest #Installverz)
(confirm)
(help #HelpInstallingOscar)
(infos)
)
; *********************************************************************
; * Standardkonfigurationsfile anlegen, falls noch nicht vorhanden
; * Wird das Standardkonfigurationsfile angelegt, dann wird
; * der Prefs-Editor gestartet
; *********************************************************************
(complete 85)
(set #Exist (exists (tackon #Installverz "silver.konfig") (noreq) ) )
(if (= #Exist 0)
(
(set #Standardkonfig
(cat "DOC=Doks\n"
"SAVE=save\n"
"TEMP=save/temp\n"
"SILVER=\n"
"ADV=Morgengrauen\n"
"QUICKSTART=1\n"
"DEGRADE=0\n"
)
)
(select #Farbanzahl
(set #Standardkonfig (cat #Standardkonfig "DEPTH=4\n") )
(set #Standardkonfig (cat #Standardkonfig "DEPTH=5\n") )
)
;*** Standardkonfig schreiben
(textfile (dest (tackon #Installverz "silver.konfig") ) (append #Standardkonfig) )
;*** Prefs-Editor starten
(set @execute-dir #Installverz)
(run "silver_prefs" (confirm average) (prompt #RunPrefs) (help #RunPrefsHelp) )
))
; *********************************************************************
; * AUFRAEUMARBEITEN
; *********************************************************************
(complete 100)
(exit)