Wo sind die Kamera-Bilder gespeichert?
- TheSearcher
- Forscher
- Beiträge: 753
- Registriert: 10.10.2004, 13:21
- Wohnort: Magdeburg
- Alter: 39
Wo sind die Kamera-Bilder gespeichert?
Ich würde gerne wissen, wo die Kamera-Bilder gespeichert sind, die ich während des Spielens von Myst IV gemacht habe? Kann ich sie irgendwie in einem Bildbearbeitungsprogramm öffnen?
- Coren-7
- Verwaltung
- Beiträge: 3485
- Registriert: 05.02.2004, 18:47
- Geschlecht: männlich
- KI-Nummer: 155736
- Wohnort: Berlin
- Alter: 40
- Kontaktdaten:
Du musst folgendes tun:
- Öffne deinen letzten Spielstand in Relevation
- gehe per ALT+TAB oder START aus dem Spiel raus
- und kopiere dir den Ordner "C:\Dokumente und Einstellungen\...\Eigene Dateien\myst4-revelation savegames\journals" in einen anderes Verzeichnis
Grund: Die Bilder werden jedesmal gelöscht und wieder entpackt, sobald du einen Spielstand schließt bzw. öffnest.
- Öffne deinen letzten Spielstand in Relevation
- gehe per ALT+TAB oder START aus dem Spiel raus
- und kopiere dir den Ordner "C:\Dokumente und Einstellungen\...\Eigene Dateien\myst4-revelation savegames\journals" in einen anderes Verzeichnis
Grund: Die Bilder werden jedesmal gelöscht und wieder entpackt, sobald du einen Spielstand schließt bzw. öffnest.
Ich sehe euch stehen wie Windhunde an den Leinen,
nach dem Start drängend. Das Spiel ist im Gange.
SHAKESPEARE
nach dem Start drängend. Das Spiel ist im Gange.
SHAKESPEARE
- TheSearcher
- Forscher
- Beiträge: 753
- Registriert: 10.10.2004, 13:21
- Wohnort: Magdeburg
- Alter: 39
- Locutus
- Forscher
- Beiträge: 3132
- Registriert: 23.05.2007, 17:26
- Geschlecht: männlich
- KI-Nummer: 626986
- Wohnort: Mitteldeutschland
- Alter: 47
- Kontaktdaten:
Also das fände ich wirklich toll Thoro wenn du das machen würdest.
Also ich glaube auch nicht mehr dran das es nochmal als Patch nachgeliefert wird.
*Daumendrück* und *vielglückwünsch*

Also ich glaube auch nicht mehr dran das es nochmal als Patch nachgeliefert wird.
*Daumendrück* und *vielglückwünsch*

"Qualität schreibt man mit mYst, oder würdest du für die fatale Schreibverschreibung haften wollen? ... Ich rauche nur URU, denn was anderes kommt bei mir nicht in die Tüte!"


- TheSearcher
- Forscher
- Beiträge: 753
- Registriert: 10.10.2004, 13:21
- Wohnort: Magdeburg
- Alter: 39
@Locutus:
Ich übrigens auch nicht.
@Thoro:
Wie hast du vor die Export-Funktion technisch zu realisieren? Willst du die Packroutinen hacken, um herauszufinden, wie die Bilder und die Notizen gespeichert sind (so wie die von Cobbs es bei Uru machen)? Oder hast du da irgendeine andere Idee?
Auf jeden Fall wünsche ich dir viel Glück beim Coden.
Ich übrigens auch nicht.
@Thoro:
Wie hast du vor die Export-Funktion technisch zu realisieren? Willst du die Packroutinen hacken, um herauszufinden, wie die Bilder und die Notizen gespeichert sind (so wie die von Cobbs es bei Uru machen)? Oder hast du da irgendeine andere Idee?
Auf jeden Fall wünsche ich dir viel Glück beim Coden.
- The.Modificator
- Forscher
- Beiträge: 2030
- Registriert: 06.02.2004, 16:54
Naja... wieso so kompliziert?KlyX hat geschrieben:Ich denke, das lässt sich anders realisieren...
Allerdings ist da wieder ein Spielstart nötig:
Eigentlich könnte er in seinen Lang-Mod einbauen, der immer wenn du im Spiel einen Spielstand lädst automatisch die Dateien an einen anderen Ort kopiert...
Wenn du willst, kann ich dir mal das Dateiformat der Sicherungsdateien geben, Thoro! Kannst mich ja mal anreden!

Gruß
Modi
The cake is a lie.
- Thoro
- Forscher
- Beiträge: 1494
- Registriert: 23.09.2004, 14:43
- Geschlecht: männlich
- KI-Nummer: 529779
- Wohnort: Duisburg
- Alter: 42
- Kontaktdaten:
Woher kennst du das Dateiformat der Sicherungsdatei? Ja, interessiert!Wenn du willst, kann ich dir mal das Dateiformat der Sicherungsdateien geben, Thoro!

Also bis jetzt durchsucht meine Routine die Sicherungsdateien nach JPEG-Headern und kann dadurch das nachfolgende Bild extrahieren. Die Routine selbst funktioniert bereits und ich habe auch schon die Bilder meines Savegames erfolgreich entpacken können. Jetzt bin ich gerade dabei eine entsprechende Benutzeroberfläche mit entsprechenden Fehlerabfangroutinen zu programmieren. Leider kommt man mit dieser Version nicht an seine Notizen dran.Wie hast du vor die Export-Funktion technisch zu realisieren?
- TheSearcher
- Forscher
- Beiträge: 753
- Registriert: 10.10.2004, 13:21
- Wohnort: Magdeburg
- Alter: 39
- Patrick L.
- Forscher
- Beiträge: 540
- Registriert: 05.02.2004, 21:26
- Geschlecht: männlich
- Wohnort: Duisburg
- Alter: 42
- Kontaktdaten:
Ja, funktioniert prima. Hab auch schon ein kleines Java Programm das die Grafiken raussucht. Wenn noch jemand weiß (Modi ?) wie man an die Texte kommt könnte man das sicher zu einer Art "Journal Viewer" ausbauen.Thoro hat geschrieben:[...] Also bis jetzt durchsucht meine Routine die Sicherungsdateien nach JPEG-Headern und kann dadurch das nachfolgende Bild extrahieren. [...]
- Thoro
- Forscher
- Beiträge: 1494
- Registriert: 23.09.2004, 14:43
- Geschlecht: männlich
- KI-Nummer: 529779
- Wohnort: Duisburg
- Alter: 42
- Kontaktdaten:
Modi und ich haben gestern abend mal die Datenstruktur der gesamten Datei durchforstet, und ich möchte hier einfach mal aller Erkenntnisse zusammenbringen:
(Byte = 1 Byte; Integer = 2 Bytes; Long = 4 Bytes; Currency = 8 Bytes; "Ubibyte" = 12 Bytes)
#String * 8 {Identifier einer Myst4-Datendatei. Ist immer = "ubi/b0-l"}
#Long {Typ der Myst-Datendatei. Bei Savegames immer 0x3}
#Long {Länge des Savegame-Titels in Doppelbyte}
#String * n {Savegame-Titel in Unicode}
#Long * 8 {Vermutlich Zeitstempel des Savegames in unbekannter Formatierung}
#Long {Größe des Vorschaubildes in Byte}
#Binärstruktur {JPEG-Vorschaugrafik im JFIF Container}
#Binärstruktur {unbekannte Funktion, immer 4.668 Bytes lang}
#Long {Länge des Musikmodulationstyp in Byte}
#String * n {Musikmodulationstyp in ASCII}
#Binärstruktur {unbekannte Funktion, immer 41 Bytes lang}
#Long {Länge des Musikdateinames in Byte}
#String * n {Musikdateiname in ASCII}
#Binärstruktur {unbekannte Funktion, immer 13.841 Bytes lang}
#Long {Länge des variablen Spielstands in "Ubibyte"}
#Binärstruktur {Variabler Spielstand}
Für jede Seite im Journal {
_#Long {Länge des Journaleintrages in Doppelbyte}
_#String * n {Journaleintrag in Unicode}
_#Byte {Trennmarkierung, immer 0x1}
_#Long {Größe des Journal-Bildes in Byte}
_#Binärstruktur {JPEG-Grafik im JFIF Container}
_#Byte {Trennmarkierung, immer 0x1}
}
#Byte * n {Wahrscheinlich Füllbytes, alle 0x0, ca. 6000 Byte}
#Long {Wahrscheinlich eine Prüfsumme}
- END OF FILE -
Das einzige Problemchen ist also noch die Binärstruktur. Entscheidend ist hierfür nicht die Struktur selbst auszulesen, sondern Längenangaben zu finden, um die Struktur punktgenau überspringen zu können, um zum ersten Journaleintrag zu kommen.
(Byte = 1 Byte; Integer = 2 Bytes; Long = 4 Bytes; Currency = 8 Bytes; "Ubibyte" = 12 Bytes)
#String * 8 {Identifier einer Myst4-Datendatei. Ist immer = "ubi/b0-l"}
#Long {Typ der Myst-Datendatei. Bei Savegames immer 0x3}
#Long {Länge des Savegame-Titels in Doppelbyte}
#String * n {Savegame-Titel in Unicode}
#Long * 8 {Vermutlich Zeitstempel des Savegames in unbekannter Formatierung}
#Long {Größe des Vorschaubildes in Byte}
#Binärstruktur {JPEG-Vorschaugrafik im JFIF Container}
#Binärstruktur {unbekannte Funktion, immer 4.668 Bytes lang}
#Long {Länge des Musikmodulationstyp in Byte}
#String * n {Musikmodulationstyp in ASCII}
#Binärstruktur {unbekannte Funktion, immer 41 Bytes lang}
#Long {Länge des Musikdateinames in Byte}
#String * n {Musikdateiname in ASCII}
#Binärstruktur {unbekannte Funktion, immer 13.841 Bytes lang}
#Long {Länge des variablen Spielstands in "Ubibyte"}
#Binärstruktur {Variabler Spielstand}
Für jede Seite im Journal {
_#Long {Länge des Journaleintrages in Doppelbyte}
_#String * n {Journaleintrag in Unicode}
_#Byte {Trennmarkierung, immer 0x1}
_#Long {Größe des Journal-Bildes in Byte}
_#Binärstruktur {JPEG-Grafik im JFIF Container}
_#Byte {Trennmarkierung, immer 0x1}
}
#Byte * n {Wahrscheinlich Füllbytes, alle 0x0, ca. 6000 Byte}
#Long {Wahrscheinlich eine Prüfsumme}
- END OF FILE -
Das einzige Problemchen ist also noch die Binärstruktur. Entscheidend ist hierfür nicht die Struktur selbst auszulesen, sondern Längenangaben zu finden, um die Struktur punktgenau überspringen zu können, um zum ersten Journaleintrag zu kommen.
Zuletzt geändert von Thoro am 19.01.2005, 15:19, insgesamt 2-mal geändert.
- Patrick L.
- Forscher
- Beiträge: 540
- Registriert: 05.02.2004, 21:26
- Geschlecht: männlich
- Wohnort: Duisburg
- Alter: 42
- Kontaktdaten:
Bist du dir da mit den 41 Bytes sicher bzw. hast du mal ein Beispiel für einen Musikdateinamen? Momentan finde ich den nämlich in meinen Savegames nicht. (Evtl. seh ich aber auch nur den Wald vor lauter Bäume nicht.Thoro hat geschrieben: #Long {Länge des Musikmodulationstyp in Byte}
#String * n {Musikmodulationstyp in ASCII}
#Binärstruktur {unbekannte Funktion, immer 41 Bytes lang}
#Long {Länge des Musikdateinames in Byte}
#String * n {Musikdateiname in ASCII}
#Binärstruktur {unbekannte Funktion, immer 13.496 Bytes lang}
#UNBEKANNTE BINÄRSTRUKTUR ???

PS: Gib mir doch mal deine Email Adresse, dann schick ich dir nachher einige der kleineren Savegames rüber.
- Thoro
- Forscher
- Beiträge: 1494
- Registriert: 23.09.2004, 14:43
- Geschlecht: männlich
- KI-Nummer: 529779
- Wohnort: Duisburg
- Alter: 42
- Kontaktdaten:
Ich habe nun 3 Spielstandssicherungen miteinander verglichen und die neu entdeckte Struktur scheint zu stimmen. Es kann allerdings sein, dass anstatt eines Musikmodulationstypen (z.B. PAD, DRUMS etc.) und des Musikdateinamens auch in beiden Fällen der String NULL lautet, wahrscheinlich dann, wenn in der aktuellen Szenerie keine Musik abgespielt wurde.
Interessant ist übrigens, dass ein byteweiser Vergleich von einem jungen und einem Spielstand kurz vor Ende, nur einige wenige Prozent Unterschied ergibt. Hauptsichtlich kurz vor Ende gibt es modulierte Long-Werte. Der Rest besteht teils seitenweise aus identischen Byteblöcken. Was wir denn hier gespeichert? Sehr seltsam.
Interessant ist übrigens, dass ein byteweiser Vergleich von einem jungen und einem Spielstand kurz vor Ende, nur einige wenige Prozent Unterschied ergibt. Hauptsichtlich kurz vor Ende gibt es modulierte Long-Werte. Der Rest besteht teils seitenweise aus identischen Byteblöcken. Was wir denn hier gespeichert? Sehr seltsam.