DVD Launcher (Startmenü für eine DVD)

Tools die bereits veröffentlicht wurden oder sich noch in Entwicklung befinden

Moderatoren: Kalumet, Joker

Forumsregeln
  • Tools die sich noch in Entwicklung befinden, müssen mit einem [DEV] Präfix gekennzeichnet werden.
  • Tools die nur für unser erweitertes Wing Commander Saga (Deutsch) geeignet sind, werden mit dem Präfix [WCSD] gekennzeichnet.
  • Tools die nur für das original Wing Commander Saga geeignet sind, werden mit dem Präfix [WCS] gekennzeichnet.
Benutzeravatar
Luke
Developer
Developer
Germany
Beiträge: 3074
Registriert: Do 14. Aug 2014, 15:18
Wohnort: Sourcecode
Team-Rang: Entwickler
Fachgebiet: Implementierung
Spezialisierung: Programmierung

DVD Launcher (Startmenü für eine DVD)

Beitrag von Luke » Mi 17. Dez 2014, 09:49

Einleitung

WCS DVD Launcher ist, wie der Name schon sagt, als Menü für eine Wing Commander Saga DVD gedacht. Wie eine solche aussehen könnte, sieht man in diesem Thema.

Mit dem Launcher lässt sich sowohl das Setup für Wing Commander Saga starten, als auch beliebige andere Dateien auf der DVD. Optional kann auch der WCS Introsound beim Start des Launchers, also beim einlegen der DVD abgespielt werden und während der Installation können Screenshots im Hintergrund gezeigt werden.

Dabei sind die Menüpunkte nicht in Stein gemeisselt. Zum einen sind die Beschriftungen der Buttons genauso änderbar wie auch die Aktionen die ausgelöst werden. Dadurch eignet sich der Launcher auch gleich für eine mögliche zukünftige deutsche Version von WCS. Eine Ausnahme ist hier nur der oberste Button (1); seine Funktion ist fest definiert, die Beschriftung(en) können aber auch hier individuell angepasst werden.

Bei der Entstehung des Launchers standen folgende Kriterien im Vordergrund: Stabilität, Flexibilität und selbstverständlich sollte der Launcher auch nach WCS aussehen. :) Konstruktive Kritik, Ideen und Verbesserungsvorschläge sind willkommen. Bei neuen Ideen wird aber immer abgewogen ob das auch gut ins Konzept des Launchers und vor allem zu WCS passt. Die Namen der Forenmitglieder deren Ideen umgesetzt wurden, werden von mir im Changelog erwähnt.

Grundsätzliche Funktionalität

Buttons
Der oberste Button (1) hat wie erwähnt eine Sonderstellung. Die Aktion ist hier fest definiert. Das heisst: Bei einem Windows ohne installiertem WCS zeigt der Button als Text standardmässig "Install Wing Commander Saga" und als Aktion ist demnach auch der Start des WCS Setups festgelegt. Wird die DVD dagegen auf einem Windows eingelegt auf dem schon WCS installiert ist, dann ändert sich der Text des obersten Buttons auf "Play Wing Commander Saga". In diesem Fall wird dann als Aktion direkt der WCS Launcher gestartet. Also ein Standard der sich weitgehend durchgesetzt hat.

Die weiteren Buttons (2-7) sind komplett anpassbar. Ob damit eine Mediendatei wie z.B. die genialen WCS Trailer auf der DVD gezeigt, ein Ordner auf der DVD geöffnet, eine Webseite aufgerufen oder ein PDF angezeigt werden soll, bleibt jedem selbst überlassen. Im Zip Archiv befinden sich im Ordner "ini_examples" Beispiele für mögliche INIs. Anhand dieser Beispiele versteht man auch schnell wie die INI individuell angepasst werden kann.

Während der Installation von WCS
Während der Installation wird der DVD Launcher in die Taskleiste minimiert und wartet auf den Abschluss der Installation. Ist diese beendet, holt sich der DVD Launcher selbst wieder aus der Taskleiste. Dann prüft er ob WCS ordnungsgemäss installiert wurde und schaltet in diesem Fall automatisch den Button von "Install" auf "Play" um. So kann man bequem nacheinander zuerst WCS und dann den oder die Patches installieren und zum Abschluss WCS selbst starten.

Mini-Modus
Wird der DVD Launcher auf einem Windows gestartet mit einem zu geringen vertikalen Desktop-Arbeitsbereich, dann wird die GUI automatisch in den "Mini-Modus" versetzt, bei dem das Fenster deutlich kleiner ist und sämtliche Buttons neu angeordnet sind. Sieht dann zwar nicht mehr so schön aus, aber die Bedienbarkeit bleibt vollständig erhalten.

Preloading
Bei dieser Funktion die für jeden Button einzeln aktiviert werden kann, wird schon beim Start des Launchers die verknüpfte Datei von der DVD in das lokale temporäre Verzeichnis kopiert. Auf diese Weise kann z.B. das Handbuch auch während der Installation angezeigt werden, ohne das hierfür auf die DVD zugegriffen werden muss.

Zusätzliche Funktionalität (Optional)

Introsound
Der Launcher kann beim Start, also nach dem Einlegen der DVD einen Introusound abspielen. Dieser muss im Format WAVE vorliegen. Den Standard WCS Introsound als WAVE findet man weiter unten bei den Downloads. Wo diese WAVE abgelegt sein muss wird in der Readme und weiter unten erklärt (DVD Inhalt). Beim Introsound ist das Preloading automatisch aktiv.

Man kann natürlich auch eine beliebige andere WAVE Datei nehmen und grundsätzlich kann diese auch eine beliebige Spieldauer und damit beliebige Grösse haben. Allerdings sollte man bedenken, dass diese WAVE Datei beim Einlegen der DVD durch das Preloading auch erst in das temporäre Verzeichnis kopiert wird und je grösser die WAVE Datei ist, desto länger dauert es natürlich bis der Launcher bedient werden kann. Ein paar MB sind kein Problem. Mehr als 10-15MB sollten es aber nicht sein.

Slideshow
Während der Installation von WCS können im Hintergrund in einem eigenen Screenshot-Viewer (Overlay) Bilder von WCS gezeigt werden. Wo diese abgelegt sein müssen wird in der Readme und weiter unten erklärt (DVD Inhalt). Diese Bilder werden immer optimal dargestellt, also immer mit korrektem Seitenverhältnis. Bilder die für den Desktop zu gross sind, werden mit einem Bild-Optimierer mit der bestmöglichen Qualität verkleinert. Bilder die gleich oder kleiner als der Desktop sind, werden zentriert dargestellt. Bei den Screenshots ist das Preloading automatisch aktiv.

Es dürfen zwar prinzipiell beliebig viele Screenshots vorhanden sein, aber schon ein paar hundert machen eigentlich keinen Sinn, denn die Bilder müssen durch das Preloading ja auch erst komplett auf die Platte kopiert werden, bevor sie angezeigt werden können. Hier gilt also ebenfalls: soviel wie nötig und so wenig wie möglich. Ein guter Wert wären etwa 20 Screenshots. Dann hätte der Launcher bei 30 Sekunden Anzeigedauer pro Bild für exakt 10 Minuten Bildmaterial das er während der Installation zeigen kann, ohne das sich ein Bild wiederholt. Die Bilder dürfen im Format BMP oder JPG vorliegen. Empfehlenswert sind natürlich JPGs, da diese deutlich weniger Platz auf der DVD benötigen und natürlich auch schneller kopiert werden.

INI Regeln für die Buttons
  1. Ist eine Aktion nicht definiert, wird der Button ausgeblendet.
  2. Ist als Aktion eine Datei definiert aber diese nicht vorhanden, wird der Button zwar angezeigt, aber deaktiviert.
  3. Ist als Aktion ein Ordner definiert aber dieser nicht vorhanden oder leer, wird der Button zwar angezeigt, aber deaktiviert.
  4. Ausnahme sind URLs. Ist eine Aktion eine URL, wird der Button auf jeden Fall angezeigt und aktiviert. Bei URL Buttons wird die Beschriftung unterstrichen dargestellt.
Launcher in DVD integrieren

Im Archiv gibt es eine kleine Readme die erklärt was gemacht werden muss, das ist wirklich simpel: Das Archiv enthält bereits das fertige Root der DVD (Ordner "dvd_root") inklusive eines DVD Icons und DVD Autostart-Funktion sowie die Standard-INI. In dieses Verzeichnis müssen nur noch die Dateien aus dem offiziellen WCS Archiv hineinkopiert und dann der Inhalt dieses Root Verzeichnisses auf DVD gebrannt werden. Ausserdem akzeptiert der Launcher den Pfad in dem er sich auf der Platte befindet als DVD Root Verzeichnis. So kann man problemlos alles austesten bevor man die DVD brennt.

DVD Inhalt
Das DVD Root Verzeichnis sollte vor dem Brennen mindestens die folgenden Dateien enthalten:
[+] Root Verzeichnis

autorun.inf
darkest-dawn.ico
darkest-dawn-setup.dat
darkest-dawn-setup.exe
darkest-dawn-setup32.dll
Disk0001.tiz
Disk0002.tiz
Disk0003.tiz
Disk0004.tiz
Disk0005.tiz
WCSDVDLauncher.exe
WCSDVDLauncher.ini
Bonus Material und Funktionen
Wenn man alles haben möchte wofür der Launcher und die Standard INI ausgelegt ist, müssen noch folgende Ordner und Dateien vorhanden sein:
[+] Root Verzeichnis -Zusatz-

manual\
manual\manual.pdf
music\
music\intro.wav

patches\
patches\darkest-dawn-1.1.0.7822-setup.exe (oder andere/neuere Patches)
trailer\
trailer\wcs_feature_trailer.mp4
trailer\wcs_launch_trailer.mp4
wallpaper\
wallpaper\*.jpg oder *.bmp


Ordner und Dateien in roter Farbe dargestellt, müssen exakt so existieren!

Das Handbuch (manual.pdf) findet sich nach der Installation von WCS im Spieleverzeichnis.

Der Introsound (intro.wav) ist ein WAVE konvertiert von einem MP3 (01 - Introduction.mp3) aus dem offiziellen Soundtrack der hier heruntergeladen werden kann:

http://www.wcsaga.com/downloads/files/d ... t-zip.html

Oder man lädt einfach die fertige WAVE Datei herunter, siehe Download ganz unten im Posting.

Patches können hier heruntergeladen werden.

http://www.wcsaga.com/downloads/files/patches.html

Trailers können hier heruntergeladen werden:

http://www.wcsaga.com/downloads/files/movies.html

Screenshots (Wallpaper) können hier heruntergeladen werden:

http://www.wcsaga.com/media/screenshots.html
Als DVD Titel habe ich "Wing Commander Saga - TDD" gewählt. Mehr als 31 Zeichen sollte der Titel aber nicht haben, da er sonst u.U. je nach Windows nicht vollständig angezeigt wird und das sieht dann sehr unschön aus. Das hängt aber auch vom verwendeten Brennprogramm ab. Wer sich unsicher ist, setzt den Titel einfach auf "Wing Commander Saga" und ist damit auf der sicheren Seite. Als Brennprogramm verwende ich entweder Nero oder aber ImgBurn (Freeware). ImgBurn ist sehr komfortabel und ermöglicht es z.B. auch DVDs als Projekte speichern zu können. So muss man bei einer neuen Version der DVD nicht wieder alles neu definieren, sondern lädt einfach nur das WCS DVD Projekt das man vorher mal gespeichert hat. ImgBurn ist auch mein zuverlässiger Helfer beim Erzeugen einer ISO zum testen der DVD. Weitere Infos zum Brennen der DVD finden sich im WCS DVD Box Thema.

Bilder des Launchers
[+] Bilder

WCS noch nicht installiert (Standard-INI)
dvdlauncher_install.png
WCS bereits installiert (Standard-INI)
dvdlauncher_play.png
Bei zu geringem vertikalen Desktop-Arbeitsbereich wird der Launcher
im Mini-Modus gestartet (Standard-INI)
dvdlauncher_minimode.png
Zum Testen und für die Fehlersuche gibt es den Debug-Modus
dvdlauncher_debugmode.png
Mit einem Tweak kann die alte Button Positionierung aktiviert werden.
dvdlauncher_oldbuttonpos.png
So wird die DVD im Arbeitsplatz angezeigt
wcsdvd_arbeitsplatz.png
Sonstiges
[+] Beispiel einer INI -Standard INI-

;with trailers and websites

[Main]
var_install_install=Install
var_install_play=Play
var_installmedia_dvd=from DVD
var_installmedia_pc=on this Computer
txt_loading=loading...

[Buttons]
Button0Caption=Cancel
Button0Tooltip=Exit DVD Launcher

Button1Caption=$VAR_INSTALL$ Wing Commander Saga
Button1Tooltip=$VAR_INSTALL$ Wing Commander Saga $VAR_INSTALLMEDIA$

Button2Caption=Show Patches on DVD
Button2Action=patches
Button2Tooltip=Install Wing Commander Saga Updates from DVD
Button2Preload=0

Button3Caption=Show Launch Trailer
Button3Action=trailer\wcs_launch_trailer.mp4
Button3Tooltip=Plays the official Launch Trailer from DVD
Button3Preload=0

Button4Caption=Show Feature Trailer
Button4Action=trailer\wcs_feature_trailer.mp4
Button4Tooltip=Plays the official Feature Trailer from DVD
Button4Preload=0

Button5Caption=Wing Commander Saga Website
Button5Action=http://www.wcsaga.com
Button5Tooltip=Opens the Wing Commander Saga Website
Button5Preload=0

Button6Caption=Check for Updates
Button6Action=http://www.wcsaga.com/downloads/files/patches.html
Button6Tooltip=Opens the Wing Commander Saga Update Website
Button6Preload=0

Button7Caption=Manual
Button7Action=manual\manual.pdf
Button7Tooltip=Opens the manual
Button7Preload=1
[+] Tweaks -optional-

Das Tweak-System wurde eingebaut, um einige interne Eigenschaften des Launchers ggf. ändern zu können. Hinter den möglichen Werten gebe ich immer auch den Standard mit an der gilt, wenn der Tweak nicht in der INI definiert ist.

Im Abschnitt [Main] der INI können folgende Tweaks definiert werden:

nopreload={0/1, Standard: 0}

Wenn aktiviert (1), werden alle Screenshots, der Introsound und alle Dateien Dateien mit Button{nummer}Preload=1 erst beim Klick auf den Install Button in das lokale TEMP Verzeichnis kopiert. Wenn deaktiviert (0), werden alle Screenshots, der Introsound und alle Dateien mit aktiviertem Preload-Schalter sofort beim Start des Launchers kopiert.

nobuttonscroll={0/1, Standard: 0}

Ist der Tweak aktiviert (1), wird die Scroll-Funktion der Buttons, also das seitliche Einschieben der Buttons deaktiviert.

oldbuttonpos={0/1, Standard: 0}

Wenn aktiviert (1), wird die alte (nicht lineare) Positionierung der Buttons verwendet.

minimodetreshold={0 - 500 Pixel, Standard: 50}

Damit wird die Minimum-Differenz zwischen der Höhe des Launchers und dem vertikalen Desktop-Arbeitsbereich festgelegt. Ist die tatsächliche Differenz kleiner als das hier definierte Limit, dann wird der Launcher automatisch in den Mini-Modus umgeschaltet.

wallpaperinterval={10 - 300 Sekunden, Standard: 30}

Intervall für den Screenshot-Viewer in Sekunden. Damit wird definiert, wie lange ein Screenshot angezeigt wird.

nowpresize={0/1, Standard: 0}

Bei aktiviertem Schalter (1), werden Bilder bei zu geringer Desktop-Auflösung nicht verkleinert, sondern einfach zentriert dargestellt. Das heisst, Bilder werden u.U. nicht mehr vollständig dargestellt.

showwpinfo={-1 - 2, Standard: 0}

Bei aktiviertem Schalter (>0) zeigt der Screenshot-Viewer unten links Informationen zum aktuellen Bild an. Es wird auch der Text "ImgOpti" hinter diesen Informationen angezeigt, wenn das Bild durch den Bild-Optimierer verkleinert wurde.

-1 = Keine Bild Informationen unten links und auch der Text "WCSDVDLauncher Screenshot Viewer" unten rechts wird ausgeblendet.
0 = Keine Bild Informationen unten links.
1 = Zeigt nur den Original Dateienamen des Bildes ohne Pfad und "wcsdvdlauncher_", aber mit Auflösung und Nummer des Bildes.
2 = Zeigt den vollen Pfad des Bildes sowie Auflösung und Nummer des Bildes.

temp={temporärer Ordner}

Das ermöglicht die vom Standard abweichende Festlegung eines anderen temporären Ordners. Das dient NUR zu Testzwecken auf der lokalen Platte und darf bei einer gebrannten DVD nicht definiert sein!
[+] Besondere Funktionen -optional-

Dies sind Funktionen die nur zum Testen oder für die Fehlersuche gedacht sind. Diese Funktionen werden für den normalen Betrieb des Programmes nicht benötigt! Darum haben sie auch keinen sichtbaren Button, sondern müssen mit einer Tastenkombination aufgerufen werden.
  • Strg+D = DEBUG-INFOS: Sollte es irgendwelche Probleme mit dem Launcher geben, dann ist diese Funktion interessant. Dabei wird auf dem Desktop eine Textdatei mit wichtigen Infos erstellt die mir bei der Fehlersuche helfen können. Nach der Erstellung dieser Datei auf dem Desktop, wird diese auch sofort mit dem Standard-Editor geöffnet. Diese Funktion hat sich bereits bei der Win7-64Bit-Play-Problematik die ich zusammen mit laraan untersucht habe bestens bewährt.
  • Alt+F8 = DEBUGMODE_CHANGE: damit wird der Debug Änderungs-Modus aktiviert/deaktiviert. Ist der Modus aktiviert, werden alle Debug-Schalter mit ihren Zuständen angezeigt und auch welche Tasten man zum Umschalten drücken muss. Ausserdem werden dann einige interne Variablen oben rechts angezeigt. Wird der Modus deaktiviert, bleiben aktivierte Debug-Funktionen auch weiterhin aktiv, sie werden nur nicht mehr angezeigt. Umschalten kann man die einzelnen Debug-Schalter jedoch nur wenn der Änderungs-Modus aktiv ist.
Der Debug-Modus hat folgende Schalter:
  • Alt+1 = DEBUG_FORCEINS: damit kann bei bereits installiertem WCS ein erneuter Start der Installation erzwungen werden, indem vorgetäuscht wird, WCS wäre nicht installiert. Modus wird automatisch beendet sobald "Install" geklickt und das WCS Setup beendet oder abgebrochen wird. Dient primär zum testen der Install/Play-Funktionalität.
  • Alt+2 = DEBUG_MINIMODE: ermöglicht den manuellen Wechsel der GUI zwischen Normal-Modus (OFF) und Mini-Modus (ON), was sonst automatisch (AUTO) über den Desktop-Arbeitsbereich entschieden wird. Dieser Schalter dient primär dazu um Screenshots zu erleichtern.
  • Alt+3 = DEBUG_MINBUTTON: gibt den Minimier-Button sofort frei, der sonst normalerweise deaktiviert und ausgeblendet ist und nur für die Dauer der Installation aktiviert wird.
  • Alt+4 = DEBUG_STANDARDINI: unabhängig von der vorliegenden INI kann damit testweise zur Standard INI umgeschaltet werden.
  • Alt+5 = DEBUG_WPINTERVAL: standardmässig ist das Intervall des Wallpaper-Wechsels auf 30 Sekunden eingestellt, es sei denn, es wird in der INI anders definiert. Mit diesem Schalter kann das Intervall zwischen Default/INI, 5 Sekunden und Aus durchgeschaltet werden. Oben rechts bei den Variablen kann man den aktuellen Wallpaper Countdown sehen. Wird das Intervall vor der Installation deaktiviert (OFF), kann es während der Installation nicht mehr aktiviert werden.
  • Alt+6 = DEBUG_PLAYINTRO: startet/stoppt den Introsound. Oben rechts bei den Variablen kann man die Gesamt-Spielzeit sowie den momentanen Zeitindex ablesen.
  • Alt+7 = DEBUG_INSTALLRUNS: schaltet sich beim Start der Installation ein und kann dann ausgeschaltet werden. Damit wird während der Installation vorgetäuscht, die Setup EXE wäre geschlossen worden. Das heisst der Launcher wartet nicht länger auf die Setup EXE.
  • Alt+8 = DEBUG_WPIMGOPTI: ist standardmässig aktiviert. Das ist der Wallpaper Bild-Optimierer für Bild-Verkleinerungen. Dieser kann sowohl vor als auch während der Installation umgeschaltet werden. Umschalten kann man jedoch nur, wenn DEBUG_WPINTERVALL nicht deaktiviert ist.
[+] Windows Kompatibilität

Windows XP 32 Bit: OK
Tester: Luke
Bemerkungen: -

Windows Vista 32 Bit: OK
Tester: Luke
Bemerkungen: Getestet wurde mit und ohne UAC

Windows 7 32 Bit: OK
Tester: Luke
Bemerkungen: Getestet wurde mit und ohne UAC

Windows 7 64 Bit: OK
Tester: laraan
Bemerkungen: -

Windows 8 32 Bit: OK
Tester: Luke
Bemerkungen: Getestet wurde die Consumer Preview mit Standardeinstellungen
[+] YouTube Videos zur Techdemo

#114 (26.4.2012)


#149 (29.4.2012)


#193 (6.5.2012)


#224 (8.5.2012)
Download
music.zip
[+] Changelog

Das Changelog ist zu gross für den Beitrag.
Sprachen: <Sprachunabhängig>

Vorherige Downloads: 522
Sie haben keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Tools: Setup ZIP Check & UnZip / DBST / Pilot Manager / VPT ...und andere
HowTo's: Joystick: Schub und Ruder (Twist) definieren ...und andere
Projekte: Deutsch-Mod / WCS+

"Det jeht nich', da is' keen Platz!"

Benutzeravatar
Luke
Developer
Developer
Germany
Beiträge: 3074
Registriert: Do 14. Aug 2014, 15:18
Wohnort: Sourcecode
Team-Rang: Entwickler
Fachgebiet: Implementierung
Spezialisierung: Programmierung

Re: WCS DVD Launcher

Beitrag von Luke » Mi 17. Dez 2014, 18:52

Thema mit den Hauptbeiträgen vollständig (inklusive Downloads, Bilder und interne Links) vom WingCenter migriert.
Tools: Setup ZIP Check & UnZip / DBST / Pilot Manager / VPT ...und andere
HowTo's: Joystick: Schub und Ruder (Twist) definieren ...und andere
Projekte: Deutsch-Mod / WCS+

"Det jeht nich', da is' keen Platz!"