Crystals-DSA-Foren
Schicksalsklinge: Umfassender Bugfix-Patch - 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: Schicksalsklinge: Umfassender Bugfix-Patch (/showthread.php?tid=5191)

Seiten: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21


Schicksalsklinge: Umfassender Bugfix-Patch - NRS - 27.03.2016

Frohe Ostern! Und noch ein Patch. Ein Sammelpatch, der meine seit 2011 zusammengetragenen Problemchen und Lästigkeiten mit der Schicksalsklinge beseitigt, zusammen mit einigem, was sonst im Forum so steht. Das wären im Einzelnen: Ich weiß nicht, wie viel von dem Zeug in BrightEyes schon übernommen wurde; meine sporadische Durchsicht des Oberorken-Dungeon-Codes findet dort jedenfalls lediglich einen "TO DO"-Vermerk.

Der Patch ist nur für die (wohl häufigste) CD-ROM Version V3.02. Ich habe mir erlaubt, die Versionsnummer auf "P3.02" zu ändern, "P" für "Patch"; dies hat keinen Einfluss auf das Laden oder Speichern von Spielständen. Wie immer einfach ins SCHICK-Verzeichnis die ZIP-Datei extrahieren und innerhalb DOSBox APPLYFIX.BAT ausführen, oder bei 32-bit-Windows im Windows-Explorer auf APPLYFIX.BAT doppelklicken. Sich nicht durch die vielen Dateien erschrecken lassen; die Batch-Datei räumt danach wieder auf. :)

Für die jüngeste englische Version 3.09 auf CD-ROM liefere ich (irgendwann) einen Patch noch nach; für die deutsche Diskettenversion mache ich mich erst an die Arbeit, sobald ich die jüngste Version (sollte 1.07 sein) besitze.


Admin-EDIT: Der Patch ist im NLT-Wiki erhältlich -> http://nlt-wiki.crystals-dsa-foren.de/doku.php/downloads (Umfangreicher Schicksalsklinge-Fanpatch)


RE: Schicksalsklinge: Umfassender Bufix-Patch - Zurgrimm - 27.03.2016

Wow, das ist eine beeindruckende Korrekturliste. Damit beseitigt der Patch wirklich eine Vielzahl der altbekannten Schicksalsklinge-Bugs.

Tolle Osterüberraschung, NRS. Vielen Dank. :) :up:


RE: Schicksalsklinge: Umfassender Bufix-Patch - Obi-Wahn - 27.03.2016

Wow, super! :)

Im Download-Thread von Bright-Eyes gibt es eine (unvollständige) Übersicht im Changelog verteilt. Aber ich glaube, du hast mehr Bugs behoben! :):ok:

Du bist natürlich jederzeit aufgerufen bei Bright-Eyes mitzuhelfen! :)


RE: Schicksalsklinge: Umfassender Bugfix-Patch - Alrik Alrikson - 27.03.2016

Tolle Arbeit, da bekomme ich gleich wieder Lust, einen neuen Durchgang zu starten. ;)


RE: Schicksalsklinge: Umfassender Bugfix-Patch - NRS - 28.03.2016

Ich bin der Lust gefolgt und habe einen neuen Durchgang gestartet. Dabei habe ich schon wieder einen neuen Fehler entdeckt:

Wenn man das Einhorn das erste Mal trifft, vermerkt das Spiel die Identität des Helden, mit dem das Einhorn kommuniziert hat, im gespeicherten Spielstand an Dateiposition 074A (Hexadezimal) ab. Das Problem? Es wird nicht einfach die Nummer oder der Name des Helden, sondern die absolute Position der Daten des Helden im Arbeitsspeicher vermerkt! Sofern sich die Speicheraufteilung zwischen erstem und zweitem Einhorntreffen ändert und die Heldendaten nun an einer anderen Stelle im Arbeitsspeicher liegen, bekommt man beim zweiten Treffen statt dem Namen des Spielers nur Datenmüll zu sehen. Sofern der Held beim zweiten Treffen AP bekommen soll, würde er sie ebenfalls nicht bekommen, sondern es würden sonstige Spieldaten beschädigt werden.

Unter DOSBox tritt das Problem normalerweise nicht auf, da man dort eh keine Gerätetreiber usw. lädt, so dass die Speicheraufteilung immer gleich ist. Auf einem echten DOS-Rechner kann das aber leicht passieren, oder auch, wenn man mal auf eine neuere DOSBox-Version umsteigt und einen Spielstand zwischen den beiden Treffen lädt, der mit einer älteren DOSBox-Version gespeichert wurde.

Oh, Attic.... :rolleyes:


RE: Schicksalsklinge: Umfassender Bugfix-Patch - Lippens die Ente - 28.03.2016

Schimpf nicht auf attic, für damalige Verhältnisse haben die das großartig gemacht. Ich konnte bisher gar nichts beobachten - AP gibt es beim zweiten Mal nicht mehr - außer, dass das Einhorn immer mit demselben Helden wie beim ersten Mal redet, es sei denn er ist nicht mehr in der Gruppe, dann spricht es mit irgendwem, aber einen Witz gibt es trotzdem: Ist der Held, der mit dem Einhorn das erste Mal kommuniziert hat, in der Gruppe aber tot oder ohnmächtig, spricht das Einhorn trotzdem mit ihm.


RE: Schicksalsklinge: Umfassender Bugfix-Patch - Zurgrimm - 29.03.2016

(28.03.2016, 18:10)NRS schrieb: Dabei habe ich schon wieder einen neuen Fehler entdeckt:
Falls Du auf der Suche nach lästigen Fehlern in Schick bist, könnte ich Dir auch noch eine Reihe nennen, denen Du Dich bei entsprechender Lust annehmen könntest. ;) Z.B.

- Der "LE 1/1-Bug", daß das Spiel sich beim Beenden nicht merkt, wie der wahre LE-Wert des Helden gewesen wäre, der am Verdursten war, so daß die Senkung permanent bleibt: Siehe Thread "LE 1/1", Beitrag #4. - Das hat HenneNWH in BrightEyes wohl auch schon korrigiert.

- Die nicht funktionierende Normalisierung von Eigenschaftswerten nach der Genesung/Heilung von Krankheiten, siehe Thread "Eigenschaften nach Krankheit", Beitrag #19.

- Der NSC Curian kann keine Magie in Tavernen anwenden, also weder meditieren, noch Stabzauber ausführen, siehe Thread "Fehler und Bugs", Beitrag #172.

- Die "Schule der Hellsicht" in Thorwal bietet die Option an, Helden von einem Fluch zu befreien, erkennt aber die einzige Verfluchung im Spiel beim Gruppenführer nicht als solche an, siehe Thread "Verflucht nochmal", Beitrag #14.

- Unzerbrechliche Waffen können zerbrechen, was wohl insbesondere den Zauberstab von Curian häufiger betreffen soll. Siehe Thread "Unzerbrechliche Waffen zerbrechlich?", dort insbesondere Beitrag #34.

- Bei NSC und im Computerkampf erkennt der Computer Stäbe nicht als Nahkampfwaffen, wechselt also nicht auf diese, wenn Fernkampf unmöglich wird. Siehe Thread "Fehler und Bugs", Beitrag #72. Speere sind sogar für niemanden im Nahkampf einsetzbar, obgleich im Waffenladen "Speere" und nicht "Wurfwaffen" als Gattung angegeben wird, siehe Thread "Fehler und Bugs", Beitrag #70.


RE: Schicksalsklinge: Umfassender Bugfix-Patch - NRS - 29.03.2016

Lippens die Ente schrieb:Schimpf nicht auf attic, für damalige Verhältnisse haben die das großartig gemacht.
Ich hab doch nur "Oh" gesagt.:grin:
Zurgrimm schrieb:Der "LE 1/1-Bug", daß das Spiel sich beim Beenden nicht merkt, wie der wahre LE-Wert des Helden gewesen wäre, der am Verdursten war, so daß die Senkung permanent bleibt: Siehe Thread "LE 1/1", Beitrag #4. - Das hat HenneNWH in BrightEyes wohl auch schon korrigiert.
Soweit ich die Korrektur verstehe, wird nur der herabgesenkte Maximalwert in rot angezeigt, aber dass sich beim Beenden (ist damit der Export nach Sternenschweif gemeint?) was ändert, entnehme ich nicht. Die Anzeige des Maximalwertes in Rot auf Binärebene einzufügen halte ich für ausgeschlossen; die Korrektur beim Abspeichern für einen Exportspielstand dagegen für machbar.

Was den Rest angeht: schau'mer mal. ;) Was mir wirklich auf den Nägeln brennt ist der Fehler beim Tauschen der Gegenstände zwischen linker und rechter Hand, der allerlei Cheats und Bugs ermöglicht. Allerdings ist der entsprechende Code schon im Quellcode von Brighteyes ("move_item") schwer zu verstehen, ganz abgesehen vom Binärcode.


RE: Schicksalsklinge: Umfassender Bugfix-Patch - Zurgrimm - 29.03.2016

(29.03.2016, 13:59)NRS schrieb: Soweit ich die Korrektur verstehe, wird nur der herabgesenkte Maximalwert in rot angezeigt, aber dass sich beim Beenden (ist damit der Export nach Sternenschweif gemeint?) was ändert, entnehme ich nicht.
Soweit ich das verstehe, ist mit Beenden jedes Beenden des Programms gemeint, weil der richtige Wert offenbar im Spielstand nicht abgespeichert wird und nach dem Laden daher nicht mehr zur Verfügung steht. Das betrifft auch - aber nicht nur - den letztendlichen Export-Spielstand nach dem Endkampf. Die farbliche Markierung halte ich für ein nettes Feature, den Erhalt der Heilbarkeit beim Heiler auch nach dem Laden eines Spielstandes hingegen für essntiell. Sonst bleibt immer nur das Neuladen von vor dem Wassermangel oder aber das HEXen/Editieren im Einzelfall.

(29.03.2016, 13:59)NRS schrieb: Was den Rest angeht: schau'mer mal. ;) Was mir wirklich auf den Nägeln brennt ist der Fehler beim Tauschen der Gegenstände zwischen linker und rechter Hand, der allerlei Cheats und Bugs ermöglicht.
Persönlich halte ich das permanente Verbleiben von Abzügen nach Krankheiten für einen sehr schweren Bug. Welchen Bugs Du Dich annimmst, bleibt aber natürlich Deine Sache. Jeder behobene Bug ist ein guter Schritt.


RE: Schicksalsklinge: Umfassender Bugfix-Patch - NRS - 29.03.2016

Zurgrimm schrieb:Soweit ich das verstehe, ist mit Beenden jedes Beenden des Programms gemeint, weil der richtige Wert offenbar im Spielstand nicht abgespeichert wird und nach dem Laden daher nicht mehr zur Verfügung steht.
Das stimmt definitiv nicht. Die Differenz im maximalen LE-Wert wird im Spielstand an Position 7Ah relativ zum Heldennamen gespeichert und steht auch danach zur Verfügung. Ich habe es gerade probiert, nach dem Laden von START.GAM im Arbeitsspeicher (mittels Echtzeitdebugger) bei Arbosch an Position 7Ah den Wert +10 einzutragen, abzuspeichern, Spiel beenden und neu laden, dann zum Heiler --- nach 495 Silberstücken Zahlung hatte der Held plötzlich 10 maximale LE mehr. Auch beim Import diess Spielstandes (nach Eintragung von +10 im Arbeitsspeicher und Abspeichern) nach Sternenschweif bleibt diese Information bestehen: zwar wird die maximale LE allein durch den Import nicht wiederhergestellt (warum sollte sie auch?), die vermerkte Differenz bleibt aber erhalten, so dass ein Gang zur Heilerin in Kvirasim ebenfalls (für 274 Silberstücke) die verleibenden 10 LE wiederherstellt. Die Information geht also nicht verloren. (Oder wir reden gerade aneinander vorbei.)

Es kann natürlich sein, dass nur speziell beim Abspeichern für den Export nach Besiegen des Orkchampions dieser Wert einfach auf Null gesetzt wird, das müsste ich kurz ausprobieren.

Zugrimm schrieb:Persönlich halte ich das permanente Verbleiben von Abzügen nach Krankheiten für einen sehr schweren Bug. Welchen Bugs Du Dich annimmst, bleibt aber natürlich Deine Sache
Das schwierige an Krankheiten und Giften ist, dass die stehende Programmlogik eine schwer zu durchschauen "Black Box" sein wird, was die Korrektur extrem schwierig macht. Die anderen Probleme sind zumindest dem Grunde nach eher leicht zu verstehen, was die Korrektur einfach gemacht hat. Wir werden sehen.


RE: Schicksalsklinge: Umfassender Bugfix-Patch - Zurgrimm - 29.03.2016

(29.03.2016, 15:14)NRS schrieb: Die Information geht also nicht verloren. (Oder wir reden gerade aneinander vorbei.)
Nein, das denke ich nicht. Es ist nur eben so, daß ich den Bug aus eigener Erfahrung nicht näher kenne. Da ich die Heilungsmöglichkeit überhaupt nicht für möglich gehalten hatte, habe ich es stets ggf. durch Neuladen vermieden, daß einer meiner Helden Durst leidet. - Daher geht es nur um die Frage, was HenneNWH in dem betreffenden, oben verlinkten Beitrag als Bug identifiziert hat. Vielleicht kann er ja gelegentlich einmal präzisieren, was er dort mit "da dieser Wert ungelesen gelöscht wird" gemeint hat. - Welcher Wert wird wann gelöscht?


RE: Schicksalsklinge: Umfassender Bugfix-Patch - NRS - 29.03.2016

Tatsächlich: Kurz bevor Schicksalsklinge nach Besiegen des Orkchampions den Spieler auffordert, seinen Spielstand nach Sternenschweif zu exportieren, wird +7A einfach so auf Null gesetzt. Nur genau dann geht diese Information der Maximalen-LE-Differenz verloren. Na, dass lässt sich ja ganz leicht korrigieren, indem einfach die entsprechende Codesequenz mit NOPs ersetzt wird. :)


RE: Schicksalsklinge: Umfassender Bugfix-Patch - Zurgrimm - 29.03.2016

(29.03.2016, 15:33)NRS schrieb: Tatsächlich: Kurz bevor Schicksalsklinge nach Besiegen des Orkchampions den Spieler auffordert, seinen Spielstand nach Sternenschweif zu exportieren, wird +7A einfach so auf Null gesetzt. Nur genau dann geht diese Information der Maximalen-LE-Differenz verloren.
Ah, dann hatte ich das immer falsch verstanden! :idea: Dann ist der Bug natürlich auch nur halb so schlimm, denn dann hat man ja ein ganzes Spiel lang Zeit, das wieder in Ordnung zu bringen, und nicht nur bis zum nächsten Verlassen des Programms.

Danke für diese neue Erkenntnis, NRS. :)


RE: Schicksalsklinge: Umfassender Bugfix-Patch - NRS - 29.03.2016

Zurgrimm schrieb:Der NSC Curian kann keine Magie in Tavernen anwenden, also weder meditieren, noch Stabzauber ausführen
Das liegt daran, dass das Spiel beim Betreten einer Herberge eine lokale Variable für jeden Helden anlegt, ob schon eine Magiesitzung stattfand. Leider legt das Spiel nur sechs solche Variablen an, so dass bei Curian als siebtem im Bunde irgendeine andere Stelle auf dem Stapelspeicher, die garantiert etwas anderes enthält, fälschlicherweise interpretiert wird als "hat diese Nacht schon gezaubert". Das sieht man hier in BrightEyes: "magic_act" hat nur sechs Elemente, müsste aber eigentlich sieben haben. Zur Korrektur müsste man alle lokalen Variablen in dieser einen Prozedur um eins nach hinten schieben. Unabhängig davon ist es aber auch nicht plausibel, dass ein Magier der neunten Stufe nur den ersten Stabzauber besitzt.

Und noch ein extrem aufregender Fehler: der Krämer "Yngvar Malmstein" in Thoss hat die gleiche Händler-ID wie "Ardo Stoerrebrandt-Grassberg" in Thorwal. Gleichzeitig ist die Händler-ID #41 nirgendwo im Spiel verwendet. Da #40 ein Händler in Liskor und #42 ein Händler in Tjanset ist und Thoss ziemlich nahe dran ist, nehme ich mal an, dass Yngvar eigentlich die #41 sein sollte.


RE: Schicksalsklinge: Umfassender Bugfix-Patch - Zurgrimm - 29.03.2016

(29.03.2016, 15:58)NRS schrieb: Und noch ein extrem aufregender Fehler: der Krämer "Yngvar Malmstein" in Thoss hat die gleiche Händler-ID wie "Ardo Stoerrebrandt-Grassberg" in Thorwal, d.h. wer bei letzterem rausgeflogen ist, fliegt bei ersterem in Thoss ebenfalls raus, selbst wenn er vorher nie da gewesen ist.
Genau dieses Phänomen hat TeraBlight schon vor längerer Zeit erläutert, wie Kunar es im Thread "Fehler und Bugs", Beitrag #360 noch einmal nachgewiesen hat. Das gibt es wohl schlicht in mehreren Orten.


RE: Schicksalsklinge: Umfassender Bugfix-Patch - Lippens die Ente - 29.03.2016

es gibt wohl auch mehrere Tavenen mit der gleichen ID, was man nur herausfindet, wenn man sich rauswerfen lässt, was nur durch das Talent Falschspiel - Taschendieb geht in Schick noch nicht in Tavenen - funktioniert und man somit Hausverbot hat. Irgend jemand hat herausgefunden, dass er auch in einer nicht besuchten Taverne Hausverbot hatte, folglich müssen die beiden die gleich ID haben. Dieses ID-Tricks habe ich mich auch bemächtigt, um einen Boron- Praios oder Hesindetempel nach Thorwal zu holen, für den eine nicht verwendete ID besteht.


RE: Schicksalsklinge: Umfassender Bugfix-Patch - Lippens die Ente - 29.03.2016

ich habe noch etwas, wobei ich nicht weiß, ob das ein Bug ist. Ich denke nicht, dass du das schon gemacht hast, NRS. Den Eisenschlüssel in den Blutzinnen irgendwo verstecken, damit man die Truhe aufkriegt.


RE: Schicksalsklinge: Umfassender Bugfix-Patch - NRS - 29.03.2016

Ich glaube, dass solltest Du im Sternenschweif-Truhenpatch-Thread schreiben, nicht hier.


RE: Schicksalsklinge: Umfassender Bugfix-Patch - Lippens die Ente - 29.03.2016

du hast recht, tut mir leid, aber das mit der doppelten Tavernen-ID stimmt.


RE: Schicksalsklinge: Umfassender Bugfix-Patch - NRS - 30.03.2016

Zurgrimm schrieb:Persönlich halte ich das permanente Verbleiben von Abzügen nach Krankheiten für einen sehr schweren Bug
Dann lade mal jemand einen Spielstand hoch kurz bevor ein bestehender Dumpfschädel zur Blauen Keuche wird. Ich bekomm das nämlich gerade nicht hin, meine Party in einen solchen Zustand zu versetzen, um das zu testen.

Wurde das eigentlich auch mit der deutschen Version V3.02 ausprobiert, dass eine Entwicklung von Dumpfschädel in Blaue Keuche GE und KK permanent senkt, oder vertrauen alle blind darauf, dass nur weil das in TeraBlights englischer Dingsbums-Version so ist, das in der deutschen Version auch so zu sein hat? Weil soweit ich den Code anschaue, werden in der deutschen V3.02 nämlich genau beim Wechsel von Dumpfschädel im Blaue Keuche die Eigenschaftswerte auf die Originalwerte zurückgesetzt. (Natürlich könnte es sein, dass das aus irgendeinem anderen Grund nicht fruchtet.)

Soweit ich den Code verstehe, besteht der einzige echte Fehler darin, dass bei Infektion eines Helden mit einer Krankheit nicht überprüft wird, ob genau dieselbe Krankheit schon besteht und somit die Informationen zum bisherigen Krankheitsverlauf überschrieben werden. Das kann und werde ich noch einfügen. Ich nehme deshalb an, dass es die Mehrfachinfektionm mit derselben Krankheit ist, die den permanenten Eigenschaftsverlust bewirkt, und nicht die Progression eines Dumpfschädels.

Ansonsten finde ich noch mögliche Fehler bei der Remission von Schlachtfeldfieber, Paralyse und Frostschäden.