Modding-Tools für die NLT - Druckversion +- Crystals-DSA-Foren (https://www.crystals-dsa-foren.de) +-- Forum: Allgemeines zur Nordlandtrilogie DOS (https://www.crystals-dsa-foren.de/forumdisplay.php?fid=20) +--- Forum: Technische Werkstatt (https://www.crystals-dsa-foren.de/forumdisplay.php?fid=34) +--- Thema: Modding-Tools für die NLT (/showthread.php?tid=1751) |
Modding-Tools für die NLT - Hendrik - 14.12.2008 In der Hoffnung, dass hier noch viel folgen möge, habe ich gleich mal einen neuen Faden angefangen. Um es kurz zu machen: Hiermit veröffentliche ich die Alpha-Version meines NLT-Universal-Packers. Wie bereits beim Dosbox-Patch gibt es den Quellcode und eine vorkompilierte Binary für Windows-User. Das Programm läuft auf der Kommandozeile und hat bisher nur wenige Optionen. Man kann für alle drei Teile der NLT (hoffentlich ) die Archive anschauen, entpacken und wieder einpacken. Der Haken dabei: Neu gepackte DSA3-Archive (.ALF) funktionieren derzeit nicht im Spiel. Den Packer für die dsagen.dat reiche ich ebenfalls später nach. Ich werde demnächst den Quellcode auch ins Repository einpflegen und mich auf der Developerseite über die Archivformate und meine Arbeit auslassen. Und natürlich den Packer verbessern. Zur Bedienung: Das Tool kann mit Code: nltpack Modus Archiv Optionen An Optionen gibt es derzeit nicht viel. Für das Erstellen eines Archives folgt an dieser Stelle die Liste der zu packenden Dateien. Im Moment müssen diese Dateien im aktuellen Verzeichnis liegen. Beim Auflisten und Entpacken kann man mit -p Pattern ein Suchmuster Pattern angeben, so dass nur die diesem Muster entsprechenden Dateien berücksichtigt werden. Pattern funktioniert dabei wie die bekannten Wildcards: Ein Fragezeichen (?) steht für einen beliebigen Buchstaben, ein Sternchen (*) für eine beliebige Buchstabenfolge. Besonderheiten zu den einzelnen Archivformaten - Die schick.dat/blade.dat hat eine feste Liste von Dateien. Fehlt beim Packen eine dieser Dateien, kann nltpack das Archiv nicht anlegen und bricht ab. - Für DSA2-Archive gehört zu jeder .DAT eine .FN, die im gleichen Verzeichnis liegen und das gleiche Präfix haben muss (also z.B. STAR.DAT --> STAR.FN). - Über die Schwierigkeiten mit DSA3-Archiven werde ich mich noch im Developer-Tagebuch auslassen. Ich hoffe, das das Tool nützlich ist und hier bald die ersten Mods auftauchen RE: Modding-Tools für die NLT - Rabenaas - 14.12.2008 Hey, danke! Das wird gleich mal ausprobiert. Jetzt kann ich hoffentlich mit meinem "Möglichst wenig Platz"-Projekt weiter machen. RE: Modding-Tools für die NLT - Obi-Wahn - 14.12.2008 Na, dann freu ich mich schon auf die Sources, das wird natürlich auch unter Linux ausprobiert. RE: Modding-Tools für die NLT - Borbaradwurm - 19.12.2008 (14.12.2008, 21:05)Hendrik schrieb: Man kann für alle drei Teile der NLT (hoffentlich ) die Archive anschauen, entpacken und wieder einpacken.Dir fehlt das INTRODAT.VOL/INTRODAT.DIR-Archiveformat. Frag aber nicht wie man INTRODAT.DIR wieder so zusammenpackt das es vom Introprogramm akzeptiert wird. RE: Modding-Tools für die NLT - Rabenaas - 21.12.2008 Wie entpackt man eine ALF-Datei? Bei mir hat's bislang nicht geklappt, und bevor ich ggf. unnötig gdb anschmeiße, frage ich lieber noch mal nach. RE: Modding-Tools für die NLT - Hendrik - 23.12.2008 (19.12.2008, 14:29)Borbaradwurm schrieb: Dir fehlt das INTRODAT.VOL/INTRODAT.DIR-Archiveformat. Frag aber nicht wie man INTRODAT.DIR wieder so zusammenpackt das es vom Introprogramm akzeptiert wird. Danke für den Hinweis. Da ich das Intro schon auswendig kenne, starte ich die Schicksalsklinge immer gleich über die SCHICKM.EXE und habe daher gar nicht mehr an die Introdaten gedacht. (21.12.2008, 18:45)Rabenaas schrieb: Wie entpackt man eine ALF-Datei? Für die RIVA.ALF reicht beispielsweise: Code: nltpack x riva.alf RE: Modding-Tools für die NLT - Rabenaas - 23.12.2008 (23.12.2008, 21:22)Hendrik schrieb: Für die RIVA.ALF reicht beispielsweise:Ich habe das mal mit riva.alf probiert. Mein PC ist eigentlich nicht langsam, aber es dauert Minuten, bis "Creating Module Directory" erscheint. Bei spex.alf habe ich nach ein paar Minuten ziemlich oft denselben Zeichensalat bekommen (Einzelheiten per PM). Bei riva.alf warte ich noch auf ein Ergebnis. Ich glaube, da hat sich noch ein Bug verschanzt. (Ich benutze übrigens Linux. Vllt. hängt das mit den Systemfunktionen zusammen?) RE: Modding-Tools für die NLT - Boneman - 29.12.2008 Bei mir unter XP geht's ganz flott. RE: Modding-Tools für die NLT - Obi-Wahn - 29.12.2008 Bei mir gehts unter Linux auch ganz flott. Code: obi@dhcppc0:~/Documents/dsa/nltpack-alpha1> ./nltpack x riva.ALF Edit: Wie man sieht, gibts da den Ordner MODULEAUTOMAP und da sind Dateien mit der Endung *.AIF enthalten. Zum Beispiel "RI_MAP.AIF". Hat jemand ne Ahnung was für eine Datei-Endung das ist? Oder wie man die entpacken könnte? Ich hab nur ein Audio-Format namens *aif(f) gefunden, und Audio ist ja vermutlich im Map-Order eher nicht zu finden. RE: Modding-Tools für die NLT - Boneman - 31.12.2008 (29.12.2008, 06:16)Boneman schrieb: Bei mir unter XP geht's ganz flott. Oder sagen wir so: Die DUNGEON.ALF zu extrahieren, ging ganz flott. Gerade versuche ich es mit der SCHICK.DAT und da dauert es auch ewig bis irgendeine Meldung erscheint. Im Verzeichnis sind aber sofort 307 extrahierte Dateien vorhanden. Dafür frisst das Programm anscheinend meinen Festplattenspeicher. Gerade waren noch ein paar GB frei und jetzt will Windows alte Daten löschen. Ich seh auch schon den Grund dafür: Die Datei FX18.VOC hat so um die 2,5 GB (zum Zeitpunkt, an dem ich das Programm abgebrochen hatte). Vielleicht sollte Rabenaas mal seinen freien Festplattenspeicher prüfen. RE: Modding-Tools für die NLT - Rabenaas - 01.01.2009 Ok, meine speziellen Probleme kommen vielleicht daher, dass ich ein 64bit-Linux benutze. Wenn ich die vorkompilierte nltpack.exe mit wine verwende, dann ist die Situation genau so, wie von Bones beschrieben (ALF funktioniert, DAT macht noch Probleme). Meine selbst kompilierte Version schafft bei genauerer Betrachtung weder noch. (Wird in ALF eigentlich little- oder big-endian bei Zahlen verwendet?) Vielleicht wäre ein Sanity-Check der Header-Daten sinnvoll, solange low-level I/O nicht überall funktioniert? RE: Modding-Tools für die NLT - HenneNWH - 01.01.2009 Hey Hendrik, klasse Sache das mit dem Entpacker. Ich hatte genau dieselben Probleme wie Rabenaas, aber das sind wirklich _nur_ 64bit Geschichten welche sicher leicht behoben werden können. Jetzt bin ich grad unter 32bit und teste ein bissl rum.... ...bei Riva hat alles ausser die RIVA.ALF aus der Demoversion: nltpack: nltpack.cpp:277: virtual bool Header_DSA3::read(std::istream&): Assertion `entry != 0' failed. Btw, Bei Schweif funktioniert NLTpack auch in der 64bit Version. Ich habe da auch schon viele _alte Bekannte_ aus Schick gefunden An Schick hab ichs noch gar nicht getestet. Jetzt brauchen wir nur noch jemanden, der sich mit 3D Modellen auskennt. RE: Modding-Tools für die NLT - Borbaradwurm - 01.01.2009 Dumme Frage: Wo hab ihr denn den Sourcecode von nltpack her? (01.01.2009, 15:31)HenneNWH schrieb: Jetzt brauchen wir nur noch jemanden, der sich mit 3D Modellen auskennt.Aus aktuellen Anlass, so geht 3D Format Reverse Engineering: http://events.ccc.de/congress/2008/Fahrplan/events/2942.de.html http://events.ccc.de/congress/2008/wiki/Streaming#Real_Time_Recordings ... muss ich mir auch noch ansehen :] RE: Modding-Tools für die NLT - Rabenaas - 01.01.2009 (01.01.2009, 17:29)Borbaradwurm schrieb: Wo hab ihr denn den Sourcecode von nltpack her? Siehe 1. Beitrag in diesem Thread. RE: Modding-Tools für die NLT - HenneNWH - 01.01.2009 Der Sourcecode ist aus dem Anhang aus Beitrag 1 dieses Threads. Danke für die Links Schön das es mal nichts zum lesen, sondern was zum hören ist. Das werd ich mir morgen in aller Ruhe mal anhören. RE: Modding-Tools für die NLT - Borbaradwurm - 02.01.2009 (01.01.2009, 18:00)HenneNWH schrieb: Der Sourcecode ist aus dem Anhang aus Beitrag 1 dieses Threads.Hm da war er aber als ich das zum ersten mal runtergeladen habe noch nicht. Ich hab nltpack zwar selber noch nicht auspropiert aber ich habe es schon mal kompiliert Erstens hier mal ein besseres Makefile (zumindest für Linux/gnu make/g++): Code: CXX=g++ RE: Modding-Tools für die NLT - HenneNWH - 02.01.2009 Hm, bei mir klappt zwar das kompilieren mit dem Makefile, aber es wird nicht gelinkt. Scheint so, als wäre $(nltpack_OBJ) leer. RE: Modding-Tools für die NLT - Borbaradwurm - 02.01.2009 Mein Fehler, versuchs nochmal, da war ein typo im meinem Post: da muss natürlich "nltpack_OBJ=nltpack.o fileutils.o" und nicht "nltpack_OBJ:nltpack.o fileutils.o" stehen. Ab jetzt werden auch noch so kurze Texte durch die Katze gejagt... RE: Modding-Tools für die NLT - HenneNWH - 02.01.2009 Danke, jetzt klappts RE: Modding-Tools für die NLT - Hendrik - 04.01.2009 (31.12.2008, 15:16)Boneman schrieb: Gerade versuche ich es mit der SCHICK.DAT und da dauert es auch ewig bis irgendeine Meldung erscheint. Im Verzeichnis sind aber sofort 307 extrahierte Dateien vorhanden. Das dürfte an der 308. und letzten Datei im Archiv liegen, der OUTRO.XMI, die ein ungültiges Offset hat und daher ignoriert werden muss. Wird sie es nicht, versucht NLTPACK astronomische Mengen an Bytes zu kopieren, die gar nicht da sind. Das wird in der kommenden Version behoben. |