Herzlich wilkommen im Forum (und im Wiki) NRS,
Ich habe sehr viel Respekt vor dieser Ausgezeichneten Detektivarbeit.
Das kann ich bestätigen.
Das klingt beides sehr gut.
Du kannst ja den Platz von unbenutzten Funktionen für den neuen Code nutzen.
Z.B. an Offsett 0x7d21 - 0x7d7e, 0x8e1b - 0x8e92 oder 0x1228f - 0x12317 (136 byte).
Dann müssen noch im EXE-Header die Anzahl der Relocationen und die Relocationstabelle angepasst werden.
Ich habe sehr viel Respekt vor dieser Ausgezeichneten Detektivarbeit.
(26.06.2011, 11:27)NRS schrieb:
- Man kann Treborn Kolberg oder Olvir Gundridsson nur begegnen, wenn man mindestens im 4. Monat seit Entgegennahme des Hetmann-Auftrages ist ... Dies widerspricht einigen Angaben im Diskussionsstrang, nachdem es des Hetmann-Auftrages nicht bedürfe.
Das kann ich bestätigen.
(27.06.2011, 20:11)NRS schrieb: Es stellt sich die Frage, wie umfangreich die Korrektur sein soll. Die Minimalvariante wäre, einfach nur das fehlerhafte Setzen der Kolberg-Variable in Hjalsingor durch NOP zu ersetzen und den Rest zu lassen. Eine größere Korrektur wäre, nach dem Erscheinen von Kolberg oder Olvir die Variable DS:4224 zurückzusetzen, so dass nicht immer beide im Doppelpack erscheinen, sofern man unterstellt, dass es sich dabei um einen Bug handelt. Dieser Meinung bin ich, aber man könnte es auch unterschiedlich sehen.
Das klingt beides sehr gut.
(27.06.2011, 20:11)NRS schrieb: Zuletzt spiele ich ernsthaft mit dem Gedanken, die zweite Kolberg-Begegnung in Clanegh zu implementieren. Der Dialogtext ist ja schon da, und der Code für den 1. Kolberg-Dialog ist in SCHICKM.EXE ja schon als Vorlage identifiziert. Die Schwierigkeit besteht vor allem daran, zusätzlichen Code zu SCHICKM.EXE hinzuzufügen --- ein Byte hier und da zu verändern ist einfach, aber was in ein bestehendes Binärprogramm einzufügen ist etwas aufwändiger. Ich habe so etwas allerdings schon erfolgreich für andere Patches gemacht (zum Eigengebrauch, nicht veröffentlicht), also ist nicht so, dass das völlig ausgeschlossen wäre.
Du kannst ja den Platz von unbenutzten Funktionen für den neuen Code nutzen.
Z.B. an Offsett 0x7d21 - 0x7d7e, 0x8e1b - 0x8e92 oder 0x1228f - 0x12317 (136 byte).
Dann müssen noch im EXE-Header die Anzahl der Relocationen und die Relocationstabelle angepasst werden.