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 - HenneNWH - 12.03.2015 (07.03.2015, 10:58)Rabenaas schrieb: Ich habe mir das mal angesehen. Imo müssten zuerst mal die seg000 bis seg120 umbenannt werden, um irgendwie als Nichthenne eine Übersicht zu bekommen. IdR sind die ja thematisch.geordnet. Ich könnte mal eine Liste mit Namensvorschlägen machen, so wie Um eine Übersicht zu bekommen möchte ich auf die Datei Bright-Eyes/src/custom/schick/rewrite_m302de/doc/details.html hinweisen. Hier ist ein Link zur aktuellen gerenderten Version: Bright-Eyes: aktuelle Entwicklungsdetails In dieser befindet sich der aktuelle Entwicklungsstand und eine Kurzbeschreibung der Segmente. Die Dateien werden natürlich noch richtige Namen bekommen, aber im Moment ist mir Nummerierung lieber, da ich so einfacher mit anderen Schick-Versionen vergleichen kann. @Rabenaas: So eine Liste wäre toll. Die könnte ich auch in diesen Detailbericht einarbeiten. Bedenke aber bei der Nameswahl, dass Schweif, Riva und auch ein generischer Teil bei der Benennung der C++-Dateien mit abgebildet werden müssen. Es gab (/gibt?) mit dem MSVC-Compiler ein Problem mit den Dateinamen. Das hatten wir mit unleserlichen Prefixen an den Dateinamen gelöst, z.B. g105de_seg001.cpp. (08.03.2015, 10:27)Obi-Wahn schrieb: @Henne: Was ist eigentlich aus der ARM-Version geworden? Hast du da etwas erreichen/erstellen können? ARM oder Andoid? ARM: Auf dem Raspi mit Raspbian funktioniert es jetzt ausgezeichnet. Ich erinnere mich dass es einen Bug gab als ich es probierte, welcher aber nicht ARM-spezifisch war. Mit Android sieht es etwas anders aus: Mit aDOSBox, welches seit 2011 nicht mehr weiterentwickelt wird, hatte ich keinen Erfolg. Heute habe ich die Quellen von DOSBox Turbo auf Github gefunden. Dieses Projekt wird auch aktuell weiterentwickelt. Ich bezweifle aber, dass ich Zeit habe damit herumzuspielen. RE: Reverse Engineering der NLT - Rabenaas - 12.03.2015 So eine Liste habe ich hier schon hochgeladen. Scheinbar sind wir zu ziemlich ähnlichen Ergebnissen gekommen. Womit könnte man sich denn noch nützlich machen? Bezeichner für die hexadezimalen Offsets vielleicht? Und wo sollte man ggf. damit anfangen? RE: Reverse Engineering der NLT - HenneNWH - 13.03.2015 Die Hexadezimalen Offsets wären eine gute Idee. Ich gehe jetzt von dem Verzeichnis aus, in welchem die Dateien von Schick liegen. Es gibt eine Datei namens symbols.h, in welcher schon einige Offsets im Datensegment eingetragen sind. Das Shell-Script tools/add2sym.sh wandelt, bei Aufruf, alle vorkommenden Hex-Adressen in Symbolnamen um. Zur Zeit arbeite ich am ersten Dungeonhandler, also der Logik eines Dungeons und werde an diesem Wochenende sicher fertig. Hast Du IDA installiert? RE: Reverse Engineering der NLT - Rabenaas - 13.03.2015 Derzeit nicht. Ist aber kein großes Problem (falls auf der Rootpartition noch Platz ist). Welche Version? RE: Reverse Engineering der NLT - Rabenaas - 14.03.2015 Achso, die Disassemblierten Quellen sind also schon ganz fertig bearbeitet. Dann bleibt ja wirklich nur noch, mit IDA für Nachschub zu sorgen. RE: Reverse Engineering der NLT - HenneNWH - 16.03.2015 Nach langer Zeit gibt es mal wieder einige Neuigkeiten: Ersetzte Funktionen (Segmente sind komplett identisch)
Ersetzte Funktionen
Was kommt als Nächstes?
Statistik:
@Rabenaas: Wie wäre es denn, wenn du das erste reverse-engineerde Dungeon aus Oberorken dokumentierst? In seg090.cpp gibt es eine Funktion DNG_handler_oberorken(), welche die Events in den Dungeons ausführt. Die Events werden bei Übergängen zwischen zwei Feldern überprüft, das Zielfeld steht in der Variable target_pos. Du kannst bei den einzelnen Events mit D1_INFO() einen Text ausgeben lassen und untersuchen wie die Events genau getriggert werden und was bei den einzelnen Events passiert. Am allerbesten in einer spielerfreundlichen Sprache, damit die Lösung hier auf der Seite etwas komplettiert wird. Na, ist das was? Viele Grüße, HenneNWH RE: Reverse Engineering der NLT - Rabenaas - 17.03.2015 Ok, das ist - aber eine lange Funktionsdeklaration. Gucke ich mir an. RE: Reverse Engineering der NLT - Obi-Wahn - 18.03.2015 Neue Version vom 18.03.2015! Ich habe die neuen Funktionen nicht getestet, nur geguckt, ob das Spiel startet. Also testen, testen, testen! RE: Reverse Engineering der NLT - Tobi - 18.03.2015 Ähm... bei dem Link, in der roten Changelog-Überschrift, steht 18.03.14 RE: Reverse Engineering der NLT - Obi-Wahn - 19.03.2015 Danke! RE: Reverse Engineering der NLT - Rabenaas - 21.03.2015 (16.03.2015, 21:33)HenneNWH schrieb: @Rabenaas: Wie wäre es denn, wenn du das erste reverse-engineerde Dungeon aus Oberorken dokumentierst? Ich habe das, Gefühl, dass da NLT-Neuland betreten wird, was die Mechanismen betrifft. RE: Reverse Engineering der NLT - Wetzer - 02.04.2015 Hi, ist eigentlich der wiki-link überall auf dem neuesten Stand? Bei mir hat nur der im originalen Beitrag funktioniert. RE: Reverse Engineering der NLT - Obi-Wahn - 02.04.2015 Der aktuelle Link zum Wiki: http://www.bright-eyes.obiwahn.de/ Welche Beiträge oder Links meinst du denn? Alte Links hier im Forum werde ich aber wohl nicht verbessern. RE: Reverse Engineering der NLT - Wetzer - 02.04.2015 Zum Beispiel in: Wegweiser zur Rubrik "Technische Werkstatt" oder Bright-Eyes Download RE: Reverse Engineering der NLT - Obi-Wahn - 02.04.2015 Oh, klar. DIE Links habe ich natürlich verbessert. Wo ist im neuen Wiki die Fileformat-Dokumentation zu finden? Ich habe jetzt erstmal einen allgemeinen Link auf das Forum reingemacht. RE: Reverse Engineering der NLT - HenneNWH - 10.04.2015 Nach langer Zeit gibt es mal wieder einige Neuigkeiten: Ersetzte Funktionen (Segmente sind komplett identisch)
Ersetzte Funktionen
Behobene Bugs (Bright-Eyes)
Was kommt als Nächstes?
Statistik:
@Rabenaas: Wie weit bist du denn mit der Mine in Oberorken vorangekommen? @All: Jetzt gibt es auch noch die Aufgabe das Informantenscripting zu untersuchen und für jeden Informanten einen Gesprächsgraphen zu erstellen, in welchem drinnsteht unter welchen Bedingungen man welche Gesprächsoptionen hat. Viele Grüße, HenneNWH RE: Reverse Engineering der NLT - Obi-Wahn - 11.04.2015 Leider gibt ein Problem beim Kompilieren. Die Exe wird zwar erstellt, aber es gibt eine Fehlermeldung und das Spiel/DosBox lässt sich nicht starten. (Mit VS 2012 läuft es durch.) RE: Reverse Engineering der NLT - Rabenaas - 11.04.2015 (10.04.2015, 15:06)HenneNWH schrieb: Wie weit bist du denn mit der Mine in Oberorken vorangekommen? Ich glaube, dass ich die Dungeonmechanismen jetzt im Prinzip verstehe. Ich hatte auch angefangen, Statusmeldungen einzusetzen. Das muss ich aber wohl noch mal neu machen, weil ich jeden Mist ausgegeben habe. Wie ausführlich soll das denn sein, nur ergänzend zum Screen oder auch redundante Infos? Ansonsten muss ich noch mit einer Party nach Oo. Dann kann ich Dir die Sourcen schicken. RE: Reverse Engineering der NLT - HenneNWH - 11.04.2015 (11.04.2015, 09:41)Obi-Wahn schrieb: Leider gibt ein Problem beim Kompilieren. Die Exe wird zwar erstellt, aber es gibt eine Fehlermeldung und das Spiel/DosBox lässt sich nicht starten. (Mit VS 2012 läuft es durch.) Benutzt du MSVC 2008? Bei meinem funktioniert es. Du kannst ja mal alle Dateien im Ordner "./visualc_2008/Release" löschen und dann neu kompilieren, vielleicht hilft das. (11.04.2015, 10:09)Rabenaas schrieb: Ich glaube, dass ich die Dungeonmechanismen jetzt im Prinzip verstehe. Ich hatte auch angefangen, Statusmeldungen einzusetzen. Das muss ich aber wohl noch mal neu machen, weil ich jeden Mist ausgegeben habe. Wie ausführlich soll das denn sein, nur ergänzend zum Screen oder auch redundante Infos? Als Ausgabe sollte nur Meldungen über Events erscheinen, welche aus Spielersicht (in Abgrenzung zur Technikersicht) interessant oder wichtig sind. RE: Reverse Engineering der NLT - Obi-Wahn - 12.04.2015 Funktioniert jetzt. Das alte Spiel.... Neue Version vom 11.04.2015! |