Willkommen im cgboard - classic games Forum! Deine gemütliche Retro Gaming Community. Besuche uns auch im Discord Chat.

[Info] Oldgames Dateiformate
#1
0
Gestern habe ich das Spiel "Fussball Total" über eBay bekommen und mir heute mal die CD angeschaut. Erste Reaktion nach einem Blick auf den "Arbeitsplatz": Was zur Hölle ist auf der CD, dass sie so stark befüllt ist (544 MB)?

Nach näherem Hinsehen sind mir eine Menge Dateien mit der Erweiterung CTA aufgefallen, die sich in den ANIM1 und ANIM2 Unterordnern befinden. Dazu noch eine 100 MB Datei im Rootverzeichnis der CD. Zweite Reaktion: Aha, wahrscheinlich schicke Animationen auf der CD.

Da ich schon immer Gefallen an Kompression und Dateiformaten hatte, habe ich mir nen Hexeditor geschnappt und mal in die Dateien reingeschaut. Aus der Erfahrung heraus konnte ich sofort das Vorhandensein einer 256-Farb-Palette erkennen sowie die Stellen, an der die Bildmaße angegeben sind.

Erstmal davon ausgegangen, dass die einzelnen Pixel als 8-Bit Bitmap enthalten sind, habe ich Eclipse angeworfen und schnell was zusammenprogrammiert, was die einzelnen Frames als PNG-Grafiken abspeichert. Dabei ist mir dann aufgefallen, dass irgendetwas nicht stimmt...


Nicht wie sonst üblich, sind hier die Pixelwerte über die Formel i = y* Breite + x (wobei i der Index in das Bitmap als Byte-Array zu verstehen ist) zu erreichen, sondern anders:

Jedes Bild ist in 16 "Kacheln" unterteilt. Jede Kachel hat also vertikal sowie horizantal die Auflösung des Bildes geteilt durch 4.

Möchte man die Kachel links oben ansprechen, erreicht man die entsprechenden Pixel mit i = x/4 + (y/4) * Breite. Damit erhält man aber nur die Pixel, deren Zeile und Spalte durch vier teilbar sind.


Dann habe ich folgendes überlegt:

Je eine Kachel weiter nach rechts ist Breite/4 zu addieren, je eine Kachel weiter nach unten ist (Höhe/4) * Breite zu addieren.


Nach etwas Herumspielerei stand fest:

Jede Kachel rechts neben einer anderen enthält genau die Pixel der nächsttieferen Zeile im resultierenden Bild. Damit ist der Rest der Divison von y durch 4 (also y%4 = y Modulo 4) mit dem Faktor für die nächste Kachel nach rechts zu versehen. ky = y%4 * (Breite/4). Anschließend den Index um das Ergebnis (ky) erhöhen.

Jede Kachel unter einer anderen enthält genau die Pixel der nächsten Spalte. Damit ist der Rest der Division von x durch 4 mit dem Wert für die nächst-tiefere Kachel zu multiplizieren. kx = x%4 * (Höhe/4) * Breite.

Das zusammen ergibt folgende Formel:
i = x/4 + (y/4) * Breite + y%4 * (Breite/4) + x%4 * (Höhe/4) * Breite


Und nach grob zwei Stunden hatte ich ein kleines Java-Programm zusammen, dass eine .cta-Datei (Video) in eine Folge von .png-Dateien (Einzelbilder des Videos) umwandelt.

Danach habe ich mir MPlayer (enthält MEncoder) besorgt und das ganze in ein MPEG2-Video umgewandelt. Wers haben möchte: PM mit E-Mail-Adresse an mich und das 6 MB File kommt zu euch. Quellcode könnt ihr auch gerne haben. :-)


Jetzt ist zwar "Fussball Total" nicht sooo ein Kracher, dass man die Videos unbedingt in einem Format vorliegen haben muss, das man einfach so im Media Player abspielen kann, aber immerhin ist damit gezeigt, dass eventuell mit relativ wenig Aufwand sowas auch für andere Oldgames zu schaffen wäre.

Es gibt viele "Projekte" dieser Art, die sich mit Dateiformaten von Spielen (und nicht nur älteren) befassen, beispielsweise der Game Extractor, der sehr sehr viele Archivdateiformate, die teilweise eigens für zwei drei Spiele "entworfen" wurden, unterstützt und die enthaltenen Dateien extrahieren kann. Im EAB werden Sprites von Amiga Spielen gerippt und in gängige Formate konvertiert und Exotica befasst sich mit speziellen Musikdateiformaten, die in Amiga Spiele Verwendung gefunden haben.

Warum nicht auch etwas Ähnliches für PC Games und deren Bilder, Animationen, Sounds und Videos starten?

--Was meint ihr dazu?-- => hab da mal ne Umfrage draus gemacht: Oldgames Dateiformate
[Bild: valid-german.png]
[Bild: logo.gif]
Zitieren
#2
0
Zitat:Jede Kachel rechts neben einer anderen enthält genau die Pixel der nächsttieferen Zeile im resultierenden Bild.
Bin mir jetzt zwar nicht so 100% sicher, aber das sieht mir nach einer mir irgendwann mal gehörten Datenstruktur aus, von der ich mal in einer Algorithmik-Vorlesung gehört habe. Ich werde den entsprechenden Hefter mal bei gelegenheit raussuchen...

EDIT: soooo, habs gefunden: Ich hoffe erstmal, wir reden auch von demselben. Das was Du da beschreibst, erinnert mich an die Kunst des Mullum-in-porvo-Mapping, auch bekannt als Mip-Mapping ;-)

Die Texutemap wird durch unterschiedliche Auflösungsebenen dargestellt, wobei ein Texel der Ebene n+1 durch Mittelung von 4 Texeln der Ebene n erzeugt wird. Durch geschickten Zugriff auf Texel der entspr. Aufklärungeebene kann der ideale Texelwert mit weniger Rechenoperaitionen approximiert werden.

Ich habe aber in Erinnerung, dass ich da noch was in meinen Aufzeichnungen habe. Wer suchet, der findet :-)

EDIT2: HAbs mir nochmal alles durchgelesen. Mip-.Mapping und das von dir beschriebene ist nicht dasselbe... :-( Selbsterkenntnis ist der erste Schritt zur Besserung...
DFTT <°)))o><
Zitieren
#3
0
Will ich auch mal was beitragen. Könnte das zwar auch in z.b. die XentaxWiki packen aber ich kann die net leiden. Da sind zu viele Falschinformationen drinnen.

Ausserdem verpass ich dem mal ein Hide-Tag. Sollen nur Leute mit wirklichem Intresse lesen. Big Grin

Eine meiner Vorlieben sind ja ARPG's. Also will ich mal damit starten. Alle Spezifiaktionen, die ich hier poste sind durch eigenes Rev-Eng ermittelt und verifiziert. Vorallem habe ich eine wirkliche Masse an Konstanten für Sacred Underworld ermittelt, das spart viel Zeit, wenn die jemand verwenden möchte. Müssten ein paar Hundert sein.

Restricted Area
Hier habe ich mal das Archivformat auseinandergenommen. Sehr simpel, allerdings ist die Kompression eher unbekannt und deswegen auch auf vielen Seiten mit "unknown compression" gelistet. Was hier nun nicht der Fall ist. Cool

Registriere dich oder logge dich ein, um den Inhalt zu sehen...

Sacred Underworld
Eins meiner Rev-Eng Lieblinge.
Ich gehe hier mal nur auf die unbekannteren und teilweise extrem falsch beschriebenen Formate ein. Habe da auch bei weitem nicht alles rausgefunden.

Registriere dich oder logge dich ein, um den Inhalt zu sehen...
Wir entwickeln Spiele, schaut mal vorbei: CatBit Software
Zitieren
#4
0
leute, ihr seit freaks Big Grin Big Grin Big Grin
Das ist ein ekliger Haufen Knochen... genau wie ich. - Manny Calavera
Zitieren
#5
0
Mir ist grad noch was eingefallen: Verschlüsslung von "The Dig"
Die Dialogdateien des Adventures sind verschlüsselt, damit man nicht einfach nachlesen kann wies weitergeht.

Die Verschlüsslung ist simples byteweises XOr mit 1 Byte Schlüssel. Leider hab ich keine Aufzeichnungen mehr darüber ist schon so lang her, das ich das genackt hatte. Aber lässt sich schnell bruteforcen. Simple XOr-Verschlüsslung sollte jeder, der Programmieren kann, kennen. Da nur 1 Byte Schlüssel, gibt es nur 255 Möglichkeiten für den Schlüssel. Hatte mir damals auch einen Bruteforcer für geschrieben. Man kann ja einfach auf ein bekanntes Wort hin untersuchen.
Wir entwickeln Spiele, schaut mal vorbei: CatBit Software
Zitieren
#6
0
Hey, wenn ich so drüber nachdenke fallen mir mehr und mehr Dateiformate ein, die ich auseinandergenommen habe.

Die .chr und .gam von DSA1 Schicksalsklinge auch. Aber für die gibt es schon wesentliche komplettere Beschreibungen. Deswegen verzichte ich mal drauf die hier zu posten.

Aber was ich noch poste ist das Archivformat von Woodruff and the Schnibble of Azimuth Big Grin

Registriere dich oder logge dich ein, um den Inhalt zu sehen...
Wir entwickeln Spiele, schaut mal vorbei: CatBit Software
Zitieren
#7
0
Mensch, Prima! Hier tut sich ja noch was. Big Grin


Und was das "Ihr seid doch Freaks" anbelangt:

Im EAB hat jemand (oder waren's mehrere Leute?) Stunt Car Racer auseinandergenommen und eine Version von dem Spiel erstellt, die zusätzliche Strecken und, wenn ich mich richtig erinnere, auch zwei drei neue Funktionen beinhaltet. Da ist das hier noch gar nichts gegen.

@Thorium: Vielen Dank für Deine Beiträge! Smile
[Bild: valid-german.png]
[Bild: logo.gif]
Zitieren
#8
0
Zitat:Original von Feltzkrone

Und was das "Ihr seid doch Freaks" anbelangt:

Im EAB hat jemand (oder waren's mehrere Leute?) Stunt Car Racer auseinandergenommen und eine Version von dem Spiel erstellt, die zusätzliche Strecken und, wenn ich mich richtig erinnere, auch zwei drei neue Funktionen beinhaltet. Da ist das hier noch gar nichts gegen.

Hey, coole idee Big Grin
Das ist ein ekliger Haufen Knochen... genau wie ich. - Manny Calavera
Zitieren
#9
0
Bin doch mal wieder an DSA1-Schicksalsklinge. Smile
Und zwar will ich einen alternativen Charakter-Generierer basteln mit mehr Möglichkeiten, z.b. Import eigener Bilder als Charakterportrai.

Zuerstmal kann da 2 Seiten sehr empfehlen mit vielen guten und nützlichen Infos:
Registriere dich oder logge dich ein, um den Inhalt zu sehen...

Habe zuerstmal einen Konverter gebaut, der bmp, jpg und png in raw mit der DSA1-Palette umwandelt. Die kann man dann mit nem Hexeditor ins Savegame einfügen, was ich natürlich noch automatisieren werden.

Hier mal meine aktuellen Ergebnise:

Das Bild was ich zum Test importiert habe:
[Bild: mandaramz9.jpg]

Mein erster Versuch die Farben nach Farbähnlichkeit auf die Palette zu konvertieren:
[Bild: bild_konvertiert2.png]

Der aktuelle Ergebnisstand der Farbkonvertierung:
[Bild: bild_konvertiert3.png]

Da ich mit der Grafikprogrammierung eigentlich nicht so vertraut bin, habe ich mich vorallem mit dem Erkennen von Farbähnlichkeiten schwer getan, hatte da aber nen heissen Tipp in nem anderen Board bekommen, von einem Programmierer. Smile

Den Download von dem Tool gibt hier:
Registriere dich oder logge dich ein, um den Inhalt zu sehen...
Wir entwickeln Spiele, schaut mal vorbei: CatBit Software
Zitieren
#10
0
Tolle Sache, Thorium. Als alter DSA-Fan werde ich das Spiel sicher bald mal wieder durchspielen, dann suche ich schonmal lustige Bilder für meine Charaktere aus Wink. Ich vermute mal, dass die Bilder so auch problemlos zu Teil 2 und 3 der Reihe übernommen werden?
Zitieren
#11
0
Zitat:Original von thEClaw
Ich vermute mal, dass die Bilder so auch problemlos zu Teil 2 und 3 der Reihe übernommen werden?
Leider nicht. Eigene Bilder gehen nur in DSA1, im 2. und 3. Teil wird das Charakterportrai nur als ID zu einem Bild in den Spieldaten im Savegame abgelegt. Nicht als direktes Bild wie bei DSA1.
Wir entwickeln Spiele, schaut mal vorbei: CatBit Software
Zitieren
#12
0
entwickelst du den generator denn noch ganz fertig?
Das ist ein ekliger Haufen Knochen... genau wie ich. - Manny Calavera
Zitieren
#13
0
Zitat:Original von Manny Calavera
entwickelst du den generator denn noch ganz fertig?
Joa hoffe ich doch mal. ^^
Im Augenblick bin ich noch an den Portrais drann, da die das komplizierteste sind an der ganzen Geschichte. DSA1 verwendet ja nur 32 Farben für die Portrais, anscheinend kann man aber noch mehr Farben der Palette verwenden. Es handelt sich dabei um eine dynamische 256 Farben Palette. Das heisst die Farbwerte variieren je nach Situation. Nur bestimmte sind immer gleich, wenn z.b. die Portrais angezeigt werden. Das scheinen aber mehr zu sein als nur die 32 die DSA1 dafür verwendet. Das heisst da bin ich grad drann, die noch mit reinzubekommen, werden dann vieleicht sogar 64 Farben oder so. Mal schauen.

Ansonsten warte ich gerade noch auf die Regelbücher der 3. DSA Edition. Wink
Wir entwickeln Spiele, schaut mal vorbei: CatBit Software
Zitieren
#14
0
Vieleicht liegt mir Grafikprogrammierung doch mehr als ich dachte. Das geht so erstaunlich gut voran, bin sonst immer unmengen von Probleme gewohnt. *kopfkratz*

In der Tat lassen sich mehr Farben nutzen und die sind auch noch eine echte Bereicherung der Palette.

Hier der aktuelle und wohl finale Stand der Portraikonvertierung:
[Bild: bild_konvertiert4.png]
Der Unterschied ist deutlich zu erkennen, zum Bild mit der Standartpalette.

Zum besseren Vergleich hab ich mal ein Vergleichsbild erstellt. Die bearbeiteten Portrais sind um das vierfache vergrößert, damit man die Details gut sieht.

Bild1: unbearbeitets Portrai von Mandara aus Schatten über Riva
Bild2: das Portrai auf 32x32 Pixel skaliert
Bild3: konvertiert mit der standart Palette (32 Farben)
Bild4: konvertiert mit der erweiterten Palette
[Bild: konvertierung_vergleich.png]
Wir entwickeln Spiele, schaut mal vorbei: CatBit Software
Zitieren
#15
0
sehr schön. ist dir echt gut gelungen das ganze! kannst du denn da auch portraits aus anderen games reinhauen? jetzt zum bsp von might and magic oder so?

mir würden für den char editor bestimmt auch noch andere verbesserungen einfallen! also wenn du dich auf andere sachen konzentrierst mach mal nen thread!

edit: ich bin dafür dass wir einfach einen neuen teil von der dsa reihe programmieren Wink. die engine ist ja sowieso genial!
Das ist ein ekliger Haufen Knochen... genau wie ich. - Manny Calavera
Zitieren
#16
0
Zitat:Original von Manny Calavera
ich bin dafür dass wir einfach einen neuen teil von der dsa reihe programmieren

Eh....wo muss ich unterschreiben? Smile

@ Thorium: Mit der erweiterten Farbpalette sieht das ganz gut aus, nur an der Auflösung hapert das ganze Spiel ein wenig (natürlich kannst du das nicht ändern Wink ).
Wirst du ein Tool basteln, wo man einfach vorn ein Bild reinsteckt und hinten das DSA-Pendant rausbekommt? Oder soll man das Bild selbst konvertieren? Bei letzterem frage ich mich nämlich, wie man sich für die richtigen Farben entscheidet (die Palette kann man ja von Hand bearbeiten). Außerdem haben fast alle Bilder einen Hintergrund, der schonmal einige Farben schluckt, den müsste man so neutral und ein-(oder zwei-)farbig wie möglich halten.
Zitieren
#17
0
Zitat:Original von Manny Calavera
sehr schön. ist dir echt gut gelungen das ganze! kannst du denn da auch portraits aus anderen games reinhauen? jetzt zum bsp von might and magic oder so?
Ja, du kannst da jedes Bild reinhauen, was du magst. Solange es im bmp, jpg oder png Format ist. Portrais aus anderen Spielen kannst du dir über Screenshots besorgen.

Zitat:Original von Manny Calavera
mir würden für den char editor bestimmt auch noch andere verbesserungen einfallen! also wenn du dich auf andere sachen konzentrierst mach mal nen thread!
Ok, werde bald mal einen Thread aufmachen, wo ich die geplanten Feature vorstelle.

Zitat:Original von Manny Calavera
edit: ich bin dafür dass wir einfach einen neuen teil von der dsa reihe programmieren Wink. die engine ist ja sowieso genial!
http://freedsa.schattenkind.net/index.php/Hauptseite Big Grin
Da sind welche drann die NLT zu portieren. Aber das dauert, die Engine ist ja nicht gerade die simpelste. Und die Formate sind teilweise auch nicht ohne.

Zitat:Original von thEClaw
Wirst du ein Tool basteln, wo man einfach vorn ein Bild reinsteckt und hinten das DSA-Pendant rausbekommt?
Das macht das aktuelle Tool ja schon. Smile
Was ich im Endeffekt machen will ist ein Tool, mit dem man sich Charaktere generieren kann zum Spielen. Zu diesem Zweck wird es halt ein paar nette Feature geben, wie z.b. der Import eines eigenen Portrais. Das soll möglichst unkompliziert ablaufen. Du wählst ein Bild aus, bmp, jpg oder png. Kann alles mögliche sein auch Fotos gehen. Das wird dann vollautomatisch angepasst und konvertiert. Wobei das natürlich bei einigen Bildern besser als bei anderen aussehen wird. Ist klar, wegen der Palette.

Mit dem Tool wird man fertige Charaktere auch editieren können, also cheaten. Aber es ist in erster Linie halt ein Generierer.
Wir entwickeln Spiele, schaut mal vorbei: CatBit Software
Zitieren
#18
0
Zitat:Original von Thorium

Zitat:Original von Manny Calavera
edit: ich bin dafür dass wir einfach einen neuen teil von der dsa reihe programmieren Wink. die engine ist ja sowieso genial!
http://freedsa.schattenkind.net/index.php/Hauptseite Big Grin
Da sind welche drann die NLT zu portieren. Aber das dauert, die Engine ist ja nicht gerade die simpelste. Und die Formate sind teilweise auch nicht ohne.

Ich verstehe es gerade nicht ganz...versuchen sie auf das spiel ne neue engine zu setzen oder differenzieren sie die alte engine um daraus ein neues dsa spiel zu basteln?
Das ist ein ekliger Haufen Knochen... genau wie ich. - Manny Calavera
Zitieren
#19
0
Ich tippe auf ersteres, aber wenn ich das so sehe -

Zitat:Zur Zeit entwickeln wir Datenloader für die verschiedenen Dateiformate der NLT.

- dann wird das entweder noch viele Jahre dauern oder es wird eines der vielen Projekte, die niemals fertig gestellt werden. Das klingt nämlich nach "wir haben noch nicht im Mindesten mit dem Spiel begonnen" und ich meine, dass das dort auch schon vor vielen Wochen stand.

Dazu kommt, dass mir die Screenshots, die man von der Engine sieht, nicht gefallen. Da lässt sich ja sicher was drehen, aber was ich bisher sehen konnte, erschien mir zu verspielt und teilweise nicht sehr schön (zumindest hätte DSA was besseres verdient).

Es wäre natürlich super, wenn ich mich in allen Punkten irre und wir pünktlich zu Weihnachten 2015 den fertigen ersten Teil der DSA-Trilogie spielen können, der dem großen Original vollends das Wasser reichen kann. Smile
Zitieren
#20
0
was mich viel mehr interessieren könnte: kann man mit der alten engine von dsa nicht ein neues spiel erstellen...sprich z.B. genau die Engine von Riva z.B. und dann bastelt man sich neue Städte usw sprich man setzt einfach ein neues abentuer um!
Das ist ein ekliger Haufen Knochen... genau wie ich. - Manny Calavera
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  [Info] An alle Oldgames/Newgames Sammler hier.... OTM SAN 13 4.791 21.05.2008, 16:47
Letzter Beitrag: Andi
  [Frage] Windows Vista und Oldgames...? D2001-SP1 67 14.593 01.02.2007, 08:08
Letzter Beitrag: Gismo
  [Problem] Oldgames auf WinXP SP2 joschi 2 1.700 09.05.2005, 18:47
Letzter Beitrag: joschi
  [Frage] Codeabfrage bei Oldgames snes 2 1.487 09.06.2004, 22:36
Letzter Beitrag: ReservoirDog

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste