Crystals-DSA-Foren
Reverse Engineering der 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: Reverse Engineering der NLT (/showthread.php?tid=700)



RE: Reverse Engineering der NLT - Obi-Wahn - 14.10.2011

Mit wie vielen Cycles läuft Schick eigentlich bei dir? Ich habs jetzt runter auf 91 cycles geschraubt und es läuft immer noch spielbar. Ab 120 Cycles läuft es wie geschmiert. Wenn das mal kein Erfolg ist! Ich bin echt beeindruckt! So flüssig läuft es in der normalen DosBox bei mir noch nicht mal mit 3000 Cycles. (Linux 64bit und Intel Q9300)

Edit und P.S.: Ich bin gerade etwas durch die Gegend gereist und natürlich prompt in ein Horde Orks gelaufen. Beim Kampf ist mir aufgefallen, dass die Animationen usw. trotz der geringen cycles immer noch sehr schnell (zu schnell) ablaufen. Kannst du das bestätigen?


RE: Reverse Engineering der NLT - HenneNWH - 14.10.2011

Ich habs mit 500 Laufen, aber ich war einfach zu "faul" da noch genauer nachzutunenen.

Bei den Kämpfen hab ich einen kleinen Trick angewandt.
Der Verzögerungsfaktor, welcher nur im Kampf genutzt wird, wird beim Start von 4 auf 0 gesetzt.
Ich dachte mir, dass "künstliche" Verzögerungen nicht so sinnvoll sind.
Du kannst ihn ja mal auf 4 setzten und gucken was passiert. :D


RE: Reverse Engineering der NLT - Obi-Wahn - 15.10.2011

Würde ich ja gerne machen, ... aber wie?


RE: Reverse Engineering der NLT - Silencer - 15.10.2011

(15.10.2011, 10:53)Obi-Wahn schrieb: Würde ich ja gerne machen, ... aber wie?

Den Verzögerungfaktor (unten mittleres Symbol) kann man direkt im Spiel unter Optionen (Spiel laden/Speichern/Kartenteile anschauen u.s.w.) einstellen.


RE: Reverse Engineering der NLT - Obi-Wahn - 15.10.2011

Ah Danke, das war damit gemeint. Ja, es läuft jetzt langsamer... seeeehhhr viel langsamer.

Ich habe es übrigens nach einigem Gefrickel geschafft, DosBox/BrightEyes unter Windows zu kompilieren. Und auch hier läuft es sehr sehr gut. Etwas gewundert habe ich mich nur, als die Passwortabfrage kam. Vielleicht hat das damit zu tun, dass ich mein normales D-Fend Reloaded Profil und ein alten Spielstand genommen habe und nur die Dosbox-Abfrage auf die neue Exe umgeleitet habe? Falls von den Windows-Nutzen aus Interesse besteht, habe ich mal die Exe hier hochladen, damit sie Bright-Eyes mal ausprobieren können.

Den Ordner an einem beliebigen Ordner auspacken (nur nicht im DosBox-Verzeihnis) und unter D-Fedn Reloaded bei den DosBox-Einstellungen des Schicksalsklinge-Profils auf diesen Ordner verlinken.

Etwaige Fehlermeldungen einfach ignorieren. ;)

Die cycles kann man mit STRG+F11 runter- und mit STRG+F12 hoch stellen.


RE: Reverse Engineering der NLT - HenneNWH - 15.10.2011

Die Passwortabfrage darf aber nun wirklich nicht erscheinen.

Hast du auch die visual_2008/dosbox.vcproj als Projektdatei genommen?

Welches MSVC nimmst du denn zum kompilieren?


RE: Reverse Engineering der NLT - Obi-Wahn - 15.10.2011

Weder noch, ich habe MinGW genommen. Habe ich da etwa Dosbox ohne Bright-Eyes kompiliert? ;)

Edit: Ich habe es jetzt mit der Visual C++ 2008 Express Edition ausprobiert und bekomme eine Dosbox.exe, die mit 3,4 MB deutlich kleiner ist (anstatt 12,4 MB), aber die Passwort-Abfrage kommt immer noch.


RE: Reverse Engineering der NLT - HenneNWH - 16.10.2011

Ich hab mir deine Datei mal angesehen und habe ein paar Texte gefunden die von mir stammen.
Es ist also alles drin. :(

In dem DOSBox-Fenster muss beim starten dieser Text erscheinen:

DSA1 Schicksalsklinge gefunden V3.02_de
Starte Profiler
Verzoegerungsfaktor ausgeschalten
Statusvergleich aktiviert
IRQ timer aktiviert


RE: Reverse Engineering der NLT - Obi-Wahn - 16.10.2011

Der Text erscheint auch bei der Version, die ich mit Visual C++ 2008 erstellt habe.


RE: Reverse Engineering der NLT - HenneNWH - 17.10.2011

Stell mal in der dosbox.conf
core=auto

Ich glaube Du hast dort core=dynamic stehen.


RE: Reverse Engineering der NLT - Obi-Wahn - 17.10.2011

Huch, das klappt wirklich! Danke! ;)


RE: Reverse Engineering der NLT - HenneNWH - 17.10.2011

Gern geschehen!


RE: Reverse Engineering der NLT - Obi-Wahn - 17.10.2011

Aber warum? Sollte es nicht egal sein, welche Einstellung ich da habe?


RE: Reverse Engineering der NLT - HenneNWH - 17.10.2011

Leider ist das noch nicht so!

Es gibt 2 verschieden Sprungbefehle und mit dem dynamic-core kann ich nur eine Sorte davon abfangen.
Der Dynamic core soll eh nicht so gut mit RealMode Spielen funktionieren.


RE: Reverse Engineering der NLT - Obi-Wahn - 17.10.2011

Ah, okay. Danke für die Erläuterung. Ich habe übrigens im obigen (;)) Beitrag nochmal eine neue zweite Version hochgeladen. Ich hatte beim ersten Kompilieren mit Visual C++ 2008 noch einen Fehler gemacht.

Edit: Was nicht inzwischen alles möglich ist: Dosbox im Google Chrome Browser: http://www.naclbox.com/


RE: Reverse Engineering der NLT - Obi-Wahn - 18.10.2011

Mal eine etwas naive Frage: Was ist nötig um die NLT unter Linux zu spielen? Die Programm-Datei und ein bunter Strauß an Librarys, oder? Sinn meiner Frage: Wie aufwendig wäre es, auch die Linux-Version von Dosbox auf die CD/DVD der Heldenversion der NLT zu packen?


RE: Reverse Engineering der NLT - HenneNWH - 18.10.2011

DOSBox! :D

Die sollte in jeder Distibution dabei sein.

Die Game-Files und die BIN/CUEs ins Homeverzeichnis kopieren,
vielleicht noch ein paar Anpassungen an den configs. Fertig.

Ich glaube es ist einfacher eine distributionsübergreifende Anleitung dafür zu schreiben, als etwas Distributionsübergreifendes zu programmieren.
Jeder Linuxuser sollte seine Paketverwaltung soweit bedienen können um DOSBox zu installieren.

Sollten die Daten wirklich als RAR-Dateien auf der DVD sein, dann kommt man sogar um den Installer drumrum.


RE: Reverse Engineering der NLT - Rabenaas - 18.10.2011

DosBox hat nicht viele Abhängigkeiten. Diverse SDL-Module und X11 sind idR vorhanden. Es ist sogar einfach zu kompilieren.

Mich wundert eher, dass kein Mac-Installer dabei ist. Da hätte man vielleicht noch einen größeren Kreis von Interessenten erschließen können. Für die Linux-User reicht eigentlich ein Hinweis, dass plattformunabhängige Images vorhanden sind.

EDIT: War vom falschen Thread ausgegangen. :D


RE: Reverse Engineering der NLT - HenneNWH - 19.10.2011

So,

im Repo sind schon 3 von 6 NPC-Dialogen.

Für interessierte: NPC-Datei


RE: Reverse Engineering der NLT - Hendrik - 20.10.2011

Hm, die Dialoge von Nariell, Harika und Curian. Schön!

Aus aktuellem Anlass: Ich habe in letzter Zeit ein paar Fortschritte mit Sternenschweif gemacht. Klar, ich könnte so tun, als gäbe es kein "Bright-Eyes-Schicksalsklinge" und einfach Sternenschweif aus der Dosbox herausschnitzen. Aber mir ist aufgefallen, dass man eigentlich eine ganze Menge Code zwischen beiden Spielen teilen könnte. Bei vielen DOS-Funktionen unterscheiden sich z.B. nur die Adressen, an denen bestimmte Variablen liegen. Die Prozeduren für den Zufallsgenerator sind praktisch gleich. Hälst du es für sinnvoll, gleichen/ähnlichen Code zu teilen oder lieber erst einmal drei separate Teile zu entwickeln? Ich träume ja immer noch von der "großen NLT-Engine", wo man z.B. den Gegenstandsverteiler schon in Schicksalsklinge nutzen kann.