Seite 1 von 3

Wo sind die Kamera-Bilder gespeichert?

Verfasst: 14.01.2005, 12:19
von TheSearcher
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?

Verfasst: 14.01.2005, 13:25
von Coren-7
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.

Verfasst: 15.01.2005, 10:35
von TheSearcher
Danke, Coren-7.

Schade, dass so ein hässlicher Trick erforderlich ist. In Uru - TPotS kann ich ja auch direkt auf die Bilder zugreifen.

Verfasst: 15.01.2005, 11:33
von Thoro
Verdammt, ich habe es satt. :motz: Ich bin gerade dabei, eine Journal-Export-Funktion in meinen LangMod einzubauen. Kriegen die von Ubisoft ja doch nicht mehr vor der nächsten Eiszeit integriert. Wünscht mir Glück ... :mrgreen:

Verfasst: 15.01.2005, 11:37
von Locutus
Also das fände ich wirklich toll Thoro wenn du das machen würdest. :top:
Also ich glaube auch nicht mehr dran das es nochmal als Patch nachgeliefert wird.
*Daumendrück* und *vielglückwünsch* :wink:

Verfasst: 15.01.2005, 13:02
von TheSearcher
@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.

Verfasst: 15.01.2005, 13:04
von KlyX
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...

Verfasst: 15.01.2005, 13:27
von The.Modificator
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...
Naja... wieso so kompliziert?

Wenn du willst, kann ich dir mal das Dateiformat der Sicherungsdateien geben, Thoro! Kannst mich ja mal anreden! :D

Gruß
Modi

Verfasst: 15.01.2005, 14:21
von KlyX
Ja, wenns einfacher geht, macht mans einfacher ;)
Ich kenne mich in den Datenarchiven von Revelation nur bedingt aus (M4-Dateien und so *lol*)...

Verfasst: 15.01.2005, 15:00
von Thoro
Wenn du willst, kann ich dir mal das Dateiformat der Sicherungsdateien geben, Thoro!
Woher kennst du das Dateiformat der Sicherungsdatei? Ja, interessiert! :D
Wie hast du vor die Export-Funktion technisch zu realisieren?
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.

Verfasst: 16.01.2005, 12:18
von TheSearcher
Trotzdem stellt das schon einen guten Anfang da. Weiter so!

Verfasst: 16.01.2005, 12:42
von Patrick L.
Thoro hat geschrieben:[...] Also bis jetzt durchsucht meine Routine die Sicherungsdateien nach JPEG-Headern und kann dadurch das nachfolgende Bild extrahieren. [...]
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.

Verfasst: 16.01.2005, 12:58
von Thoro
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.

Verfasst: 17.01.2005, 13:02
von Patrick L.
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 ???
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. :wink:) Das davor scheint soweit zu stimmen, ist jedenfalls in allen bisher überprüften Savagames so.

PS: Gib mir doch mal deine Email Adresse, dann schick ich dir nachher einige der kleineren Savegames rüber.

Verfasst: 17.01.2005, 15:40
von Thoro
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.