Themabewertung:
  • 5 Bewertung(en) - 5 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Reverse Engineering der NLT
Azraael schrieb:Hab ich das richtig verstanden? Einfach die beiden Dateien ersetzen (die exe und die dll?) und dann sollten die Talentproben angezeigt werden?

Frage: Wo werden die mir angezeigt? Sollte das live ingame passieren? Hab das eben mal ausprobiert (mit dem ersetzen) und dann gefeilscht, aber da wurde ingame nichts angezeigt. Hab ich was falsch verstanden?

Das würde mich auch sehr interessieren. :-D

MfG

Ja, beide Dateien in das Dosbox-Verzeichnis kopieren und nicht die Dosbox.exe starten, sondern die dosbox-hacked.exe.
Wenn du die dosbox-hacked.exe startest, sollten zwei Fenster aufgehen (zumindest, wenn du wie ich kein Frontend verwendest): Ein DOS-Fenster, in dem dein Spiel gestartet wird, und ein zweites Konsolenfenster mit Log-Nachrichten. In diesem zweiten Fenster sollten die Proben angezeigt werden. Mit Vollbild geht es also leider nicht, es sei denn, du hast zwei Monitore ;)
Hallo, ich bin's - der Bart von Fidel Castro. Und mir ist total langweilich nie geschnitten wurde.
I'm a roleplayer. My dice are like my relationships: platonic and unlucky.
Ja da hab ich reingeguckt in das log Fenster. Und natürlich die hacked exe gestartet. Mh.. nochmal probieren.

In dem Logfenster hat sich beim feilschen aber nichts getan. :-)

MfG

€: Du meinst mit dem zweiten Fenster schon das "DOSBox Status Window", oder?
Ich habe mir den Patch noch einmal angeschaut und ein paar mögliche Probleme (hoffentlich) gelöst.
1.) Ich habe noch ein paar versteckte Einsprungpunkte für die Probenfunktionen entdeckt und in die Anzeige eingebaut. Jetzt sollten wirklich alle Aufrufe von Talent- und Zauberproben protokolliert werden. Ebenso werden jetzt Eigenschaftsproben angezeigt, das ist aber noch nicht ausreichend verifiziert, um als sicher zu gelten.
2.) Der Patch zeigt nur Funktionsaufrufe an, wenn die aktuell ausgeführte Datei tatsächlich "schickm.exe" heißt. Da es bei mir zwischen Windows und Linux Probleme mit dem Erkennen dieses Namens aufgrund von Groß-/Kleinschreibung gab, wird jetzt beides akzeptiert: sowohl "SCHICKM.EXE" als auch "schickm.exe". Das war vermutlich auch der Grund, weshalb Azraael im Statusfenster nichts gesehen hat.
3.) Noch ein Hinweis, den ich in den letzten Postings vergessen habe: In der dosbox.conf muss unter der Gruppe [cpu] core=full eingestellt werden, sonst werden nicht alle Sprünge angezeigt.

Ich hoffe, dass es mit dieser Version funktioniert und auch die Nicht-Programmierer und -Linuxnutzer den Patch benutzen können.

Ich habe die Zip-Datei diesmal auf einen Filehoster hochgeladen, damit Crystals Webspace nicht unnötig mit möglicherweise fehlerhaften Binaries belastet wird: Link
Hallo, ich bin's - der Bart von Fidel Castro. Und mir ist total langweilich nie geschnitten wurde.
I'm a roleplayer. My dice are like my relationships: platonic and unlucky.
Ich habe mir das Ding jetzt mal 'runtergeladen, obwohl ich mich da immer noch nicht so ganz drantraue. Ich sehe v.a. 2 Probleme:

1. Ich benutze - weil es in Crystal's Anleitung damit beschrieben wurde - DOSBox 0.65. Wenn ich das richtig verstehe, läuft Dein Patch aber nur mit DOSBox 0.72, richtig?

2. Wenn ich das richtig verstehe, funktioniert das Mitloggen der Proben nur, wenn man DOSBox ohne Frontend verwendet. Das bedeutet, daß ich Schick neu mounten (vielleicht sogar neu installieren?) müßte unter DOSBox direkt, ohne graphische Oberfläche, nicht wahr?
"Haut die Säbel auffe Schnäbel."
Neu installiert werden muss da nix. Nur die Mountpfade neu setzen, weil DOSBox dann auf die dosbox.conf-Datei zugreift, wo alle default-Einstellungen ohne Frontend drinstehen.
Zum NLT-Wiki: http://nlt-wiki.crystals-dsa-foren.de/doku.php , Zum Drakensang-Wiki: http://drakensang-wiki.crystals-dsa-foren.de/doku.php
KEIN SUPPORT per E-Mail, PN, IRC, ICQ! Lest die Regeln und benutzt das Forum für sämtliche Anfragen! KEINE persönliche Betreuung!
Zurgrimm schrieb:Ich habe mir das Ding jetzt mal 'runtergeladen, obwohl ich mich da immer noch nicht so ganz drantraue. Ich sehe v.a. 2 Probleme:

1. Ich benutze - weil es in Crystal's Anleitung damit beschrieben wurde - DOSBox 0.65. Wenn ich das richtig verstehe, läuft Dein Patch aber nur mit DOSBox 0.72, richtig?
Im Großen und ganzen ist der Patch die Version 0.72. Wenn du also den Patch installierst, sollte der Patch a) deine Dosbox auf 0.72 updaten und b) alle Proben und weiteren Aufrufe des Zufallsgenerators im Statusfenster sichtbar machen.
Hallo, ich bin's - der Bart von Fidel Castro. Und mir ist total langweilich nie geschnitten wurde.
I'm a roleplayer. My dice are like my relationships: platonic and unlucky.
Ah ok. Ich hatte bisher immer das Spiel mit "schick" gestartet und nicht mit "schickm" :-)

Jetzt wurden in dem Status Window Tests auf Wildnisleben / Sinnesschärfe angezeigt, wenn ich durch die Wildnis laufe. Beim Zaubern wurde allerdings nichts angezeigt.

Aber ist auf jedenfall interessant zu sehen, wie die Proben modifiziert werden und so. :-D Danke!

MfG
Also, ich habe es jetzt tatsächlich geschafft, das zum Laufen zu bringen. Zunächst habe ich es dank turrican's Anleitung (an der stelle vielen Dank, turrica, sie ist wirklich Idiotensicher :respect:) geschafft, DSA 1 mit DOSBox 0.72 ohne Frontend zum Laufen zu bekommen. Sodann habe ich Hendrik's Patch installiert und bin im Spiel ein wenig in Thorwal herumgelaufen, bis im "DOSBOx Status Window" eine Anzeige kam.

2 Fragen habe ich noch zur funktionalität des Patches iVm DOSBox:

1. Ich habe eine Anzeige bekommen, die lautete "Talentprobe [JMP]: Sinnenschaerfe +2". Woran kann ich jeztt sehen, wer die Sinnesschärfeprobe abgelegt hat? Und was bedeutet "JMP"?

2. Im Fenstermodus kann ich den Mauszeiger während des Spieles nicht außerhalb des Fensters bewegen. D.h., daß ich mir die beiden Fenster auch nicht so zurecht legen kann, daß ich während des Spiels sehe, wann eine Probe genau abgelegt wird. Denn Schick öffnet sich immer so, daß das Spiel-Fenster das "DOSBox Statrus Window" überdeckt. Das ist sehr ungünstig, wenn man sehen will, wann genau eine Probe verlangt wird. Weiß jemand Abhilfe?
"Haut die Säbel auffe Schnäbel."
O.k., also wenn man die Fenster herrichtet, bevor man das Spiel startet, dann geht's. Irgendwie scheint der Patch aber nicht alle Zufallsereignisse und Proben anzuzeigen. Die Zwingfeste, in der ich testweise mal unterwegs war, ist dafür bekannt, daß einige Kämpfe nur sporadisch auftreten. Ein solcher ist gleich einige Felder nördlich des Startpunktes. Wenn man das Feld betritt, zeigt der Logger nichts an, egal, ob der Kampf stattfindet oder nicht. Irgendwie muß da aber eine Zufallsabfrage drin sein.

Wenn man eine Tür mit Gewalt öffnet, wird ebenfals nicht angezeigt, daß eine Abfrage zur KK der ersten beiden Helden stattfindet. Wählt man Schlösser knacken, wird die Sinnesschärfe-Probe hingegen angegeben. Zauber werden nur mit einer ominösen Nummer angegeben, nicht aber mit dem Namen. Foramen hat offenbar Nr. 28. Aber wie löst man diese Nummern sonst auf?

In Kämpfen wird grundsätzlich gar nichts angezeigt.

Aber schon mit dieser (noch?) leicht eingeschränkten Funktionalität läßt sich damit nahezu unendlich viel anstellen. Das wird die Möglichkeiten zur Überarbeitung meines Kartenmaterials auf ganz neue Füße stellen.

Daher auch nochmal mein größter Respekt an Dich, Hendrik, für die Schaffung dieses Meisterwerks. Eine echte Heldentat! :respect:
"Haut die Säbel auffe Schnäbel."
Den Zwölfen zum Gruße!

Zurgrimm schrieb:Irgendwie scheint der Patch aber nicht alle Zufallsereignisse und Proben anzuzeigen. Die Zwingfeste, in der ich testweise mal unterwegs war, ist dafür bekannt, daß einige Kämpfe nur sporadisch auftreten. Ein solcher ist gleich einige Felder nördlich des Startpunktes. Wenn man das Feld betritt, zeigt der Logger nichts an, egal, ob der Kampf stattfindet oder nicht. Irgendwie muß da aber eine Zufallsabfrage drin sein.

Das wäre tatsächlich näher zu untersuchen. Die Zwingfeste ist ja ohnehin merkwürdig, was Kämpfe betrifft. Man denke nur an die offenbar fehlerhafte Berechnung der Magieresistenz, welche aus einfachen Räubern, die als Aufwärmgegner dienen sollen, schwer zu besiegende Schurken macht!

Zurgrimm schrieb:Wenn man eine Tür mit Gewalt öffnet, wird ebenfals nicht angezeigt, daß eine Abfrage zur KK der ersten beiden Helden stattfindet. Wählt man Schlösser knacken, wird die Sinnesschärfe-Probe hingegen angegeben.

Es kann sich dabei um zwei verschiedene Dinge handeln. Wenn etwa für die "Rohe Gewalt"-Methode einfach nur auf die addierte Körperkraft der beiden Helden geachtet wird, findet keine Zufallsfunktion Anwendung. Da ich allerding nie diese Art der Türöffnung verwendet habe, kann ich nicht sagen, ob Türen öffnen mit denselben Helden mal klappt, mal nicht.

Zurgrimm schrieb:In Kämpfen wird grundsätzlich gar nichts angezeigt.

Das ist in der Tat noch eine Lücke. Aber wie erwähnt bietet bereits die jetzige Umsetzung genug Raum zum Austoben.
Ärger im Svellttal? Auf der Suche nach dem Salamanderstein? Dann hilft der Sternenschweif-Reiseführer von Kunar!
Zurgrimm schrieb:Im Fenstermodus kann ich den Mauszeiger während des Spieles nicht außerhalb des Fensters bewegen. D.h., daß ich mir die beiden Fenster auch nicht so zurecht legen kann, daß ich während des Spiels sehe, wann eine Probe genau abgelegt wird. Denn Schick öffnet sich immer so, daß das Spiel-Fenster das "DOSBox Statrus Window" überdeckt. Das ist sehr ungünstig, wenn man sehen will, wann genau eine Probe verlangt wird. Weiß jemand Abhilfe?

Ja, du musst einfach die "Windows"-Taste auf der Tastatur drücken. Dann öffnet sich das Startmenü, aber du bis mit der Maus wieder auf der Windows-Oberfläche und kannst die Fenster verschieben. :wave:
Nur als Ergänzung, auch wenn du es schon anderweitig gelöst hast. :)
Die der Götter Gunst verloren,
sind verfallen einer Macht -
Die sie führt zu fernen Toren,
und durch sie in ew'ge Nacht.
Kunar schrieb:Wenn etwa für die "Rohe Gewalt"-Methode einfach nur auf die addierte Körperkraft der beiden Helden geachtet wird, findet keine Zufallsfunktion Anwendung. Da ich allerding nie diese Art der Türöffnung verwendet habe, kann ich nicht sagen, ob Türen öffnen mit denselben Helden mal klappt, mal nicht.
Ja, genauso ist es. Entweder es klappt immer (genug KK) oder nie (nicht genug KK). Selbst mit max. KK bekommt man aber immer Schaden. Nur müßte doch die Abfrage, ob die beide ersten Helden genug KK haben, ja auch im Logger auftauchen.

Kunar schrieb:Das ist in der Tat noch eine Lücke.
Wobei ich auf das Geschehen in den Kämpfen noch eher verzichten kann, als etwa auf die Benennung der Zaubersprüche und v.a. die Zuordnung der Probe zu einem Helden. Ich weiß nie, ob nur der erste Held abgeprüft wird, der beste Held der Gruppe oder jeder Held der Gruppe. Da scheint der Logger nicht zu unterscheiden.

Daß er auch so schon sehr wertvoll ist, daran besteht ja kein Zweifel.

Alpha Zen schrieb:Ja, du musst einfach die "Windows"-Taste auf der Tastatur drücken. Dann öffnet sich das Startmenü, aber du bis mit der Maus wieder auf der Windows-Oberfläche und kannst die Fenster verschieben. :wave:
:idea: Danke! Da hätte ich möglicherweise auch selbst drauf kommen können. :shy:
"Haut die Säbel auffe Schnäbel."
Unter Linux gibt es noch eine weitere Möglichkeit: In der dosbox.conf kann man noch die Option "autolock =false" setzen. Dann wird der Mauscursor gar nicht erst vom Dosboxfenster eingefangen. Ich weiß jetzt leider nicht wie das unter Windows ist - ein kurzes oberflächliches Googeln scheint aber zu bestätigen das es dort genauso ist...
Alpha Zen schrieb:Ja, du musst einfach die "Windows"-Taste auf der Tastatur drücken. Dann öffnet sich das Startmenü, aber du bis mit der Maus wieder auf der Windows-Oberfläche und kannst die Fenster verschieben. :wave:
Nur als Ergänzung, auch wenn du es schon anderweitig gelöst hast. :)
Noch eine Ergänzung: Strg+F10
Hallo Zurgrimm,

es freut mich, dass du die gepatchte Version zum Laufen bekommen hast. Vielen Dank auch für die Anmerkungen zu den Bugs. Ich hoffe, dass ich diese mit der neuen Version alle beseitigen kann ;) .
Zurgrimm schrieb:1. Ich habe eine Anzeige bekommen, die lautete "Talentprobe [JMP]: Sinnenschaerfe +2". Woran kann ich jeztt sehen, wer die Sinnesschärfeprobe abgelegt hat? Und was bedeutet "JMP"?

Wer die Probe abgelegt hat, wird noch nicht angezeigt. Da muss ich mal schauen, wie man das machen kann. Theoretisch wird ja ein Pointer auf den Helden mitgeliefert, so dass ich den Namen direkt auslesen könnte, das muss ich mir aber noch genau angucken.
Die Angaben in eckigen Klammern sind eher als Orientierung für mich gedacht. Dort steht, woher der Aufruf der Probenfunktion ursprünglich kam. "JMP" heißt einfach, dass die Probefunktion über einen "JMP"-Befehl aufgerufen wurde. Dadurch kann man später weitere Funktionen des Spiels identifizieren.

Zurgrimm schrieb:O.k., also wenn man die Fenster herrichtet, bevor man das Spiel startet, dann geht's. Irgendwie scheint der Patch aber nicht alle Zufallsereignisse und Proben anzuzeigen. Die Zwingfeste, in der ich testweise mal unterwegs war, ist dafür bekannt, daß einige Kämpfe nur sporadisch auftreten. Ein solcher ist gleich einige Felder nördlich des Startpunktes. Wenn man das Feld betritt, zeigt der Logger nichts an, egal, ob der Kampf stattfindet oder nicht. Irgendwie muß da aber eine Zufallsabfrage drin sein.
Ja, in der hochgeladenen Version werden noch nicht alle Proben angezeigt. Ich habe mittlerweile eine neue Version kompiliert, die ich demnächst (nachdem ich mir die von dir genannten Probleme mal angeschaut habe) hier hochlade. Ich hoffe, dass die Zufallsereignisse dann auch alle angezeigt werden.
Um den Mauszeiger freizubekommen, kann man übrigens auch Strg-F10 drücken.
Edit: Mist, zu spät ;)

Zurgrimm schrieb:Wenn man eine Tür mit Gewalt öffnet, wird ebenfals nicht angezeigt, daß eine Abfrage zur KK der ersten beiden Helden stattfindet. Wählt man Schlösser knacken, wird die Sinnesschärfe-Probe hingegen angegeben. Zauber werden nur mit einer ominösen Nummer angegeben, nicht aber mit dem Namen. Foramen hat offenbar Nr. 28. Aber wie löst man diese Nummern sonst auf?
Beim Türeinrennen wird tatsächlich die Probefunktion nicht aufgerufen. Ich habe auch noch einmal mit verschiedenen KKs der ersten beiden Helden getestet, und es scheint wirklich nur die Summe zu interessieren. Ohne Probe zeigt mein Logger natürlich nichts an. Den bloßen Zugriff auf eine Variable/Speicheradresse logge ich nicht mit, nur die Proben.

Die Nummern kannst du auflösen, indem du einfach in der Zauberliste in der Heldenübersicht durchzählst. Ich werde bei Gelegenheit auch eine Tabelle dafür anlegen, so dass die Zaubernamen angezeigt werden.

Zurgrimm schrieb:In Kämpfen wird grundsätzlich gar nichts angezeigt.
Hmm, das ist seltsam. Zumindest die random-Funktion sollte ziemlich häufig aufgerufen werden (wird sie bei mir auch). Eine genaue Überwachung der Kampffunktion wird sicher noch einmal schwierig. Mit dem Patch wollte ich mich zunächst auf die Proben und Zufallsereignisse konzentrieren, die Anzeige der im Kampf gewürfelten Proben folgt eventuell später.
Hallo, ich bin's - der Bart von Fidel Castro. Und mir ist total langweilich nie geschnitten wurde.
I'm a roleplayer. My dice are like my relationships: platonic and unlucky.
Hendrik schrieb:Zumindest die random-Funktion sollte ziemlich häufig aufgerufen werden (wird sie bei mir auch).
Hast Du es auch mit der von Dir oben attachten Version in kleineren Kämpfen versucht? Ich habe es bislang nur in Kämpfen gegen ein oder zwei Räuber auf der 1. Ebene der Zwingfeste getestet und da kam überhaupt keine Anzeige. Eine "Random"-Anzeige hatte ich, wenn ich es mir mal recht überlege, allerdings überhaupt nie. Selbst bei einem Streifzug durch Thorwal wurde zuweilen auf Sinnesschärfe geprobt, nicht aber auf Zufallsereignisse. Das müßte ja eigentlich bei jedem Schritt geschehen. :think:
"Haut die Säbel auffe Schnäbel."
So, die neue Version steht jetzt online, und zwar hier. Folgende Dinge wurden verbessert:
- Die Erkennung von Einsprungpunkten ist jetzt zuverlässiger. Damit können nun auch alle Random-Aufrufe problemlos protokolliert werden.
- Bei Proben wird jetzt der durchführende Held angezeigt
- Für alle Proben werden die Würfelergebnisse angezeigt
- Bei Zauberproben wird jetzt, wie bei Talenproben, der Name des Zaubers angezeigt und nicht nur die ID.

Viel Spaß mit der neuen Version!
Hallo, ich bin's - der Bart von Fidel Castro. Und mir ist total langweilich nie geschnitten wurde.
I'm a roleplayer. My dice are like my relationships: platonic and unlucky.
Ich hab' jetzt die alte gepatchte DOSBox.exe durch die neue ersetzt. Jetzt bekomme ich im "DOSBox Status Window" überhaupt nichts Mitgeloggtes mehr angezeigt. Also auch keine Talentproben mehr. Könnte das vielleicht daran liegen, daß diesmal keine SDL.dll Datei dabei war?
"Haut die Säbel auffe Schnäbel."
:think: Das ist ja seltsam. An der SDL.dll kann es eigentlich nicht liegen, das ist ja die gleiche wie vorher. Hast du die CPU-Emulation auf "full" gestellt? Um falsche Meldungen der Funktionen zu verhindern, wird jetzt neben der Offset- auch noch die Segmentadresse überprüft. Die Segmentadressen können sich von Konfiguration zu Konfiguration unterscheiden (weshalb ich sie in der letzten Version noch nicht geprüft habe), aber genau dazu habe ich eigentlich einen Korrekturfaktor eingefügt ...
Wenn du die schickm.exe startest, müsste im DosBox-Statusfenster eine Zeile stehen "Starte Profiler (reloc ####)", wobei statt #### eine Zahl dasteht. Wird diese Zeile bei dir angezeigt, und wenn ja, wie lautet die Zahl?
Hallo, ich bin's - der Bart von Fidel Castro. Und mir ist total langweilich nie geschnitten wurde.
I'm a roleplayer. My dice are like my relationships: platonic and unlucky.
Hendrik schrieb:Hast du die CPU-Emulation auf "full" gestellt?
Keine Ahnung. Gestellt habe ich da nichts. Ich habe nur mit turrican's Anleitung die dosbox.conf verändert und eine schick.bat erstellt.

Hendrik schrieb:Wenn du die schickm.exe startest, müsste im DosBox-Statusfenster eine Zeile stehen "Starte Profiler (reloc ####)", wobei statt #### eine Zahl dasteht. Wird diese Zeile bei dir angezeigt, und wenn ja, wie lautet die Zahl?
Nein, da wird keine solche Zeile angezeigt. Die letzte Zeile, die da steht ist: "MIDI:Opened device:win32". Danach steht da nichts mehr. Diese Zeile steht allerdings auch schon da, bevor ich schick starte (also, sobald ich überhaupt die DOXBox starte).

EDIT: Nachtrag: Ich habe es jetzt nochmal mit Deiner 1. Version probiert. Mit der geht es nach wie vor. Eine Textzeile, wie von Dir beschrieben taucht da aber auch nicht auf.
"Haut die Säbel auffe Schnäbel."




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