IDA ist doch das Programm, dass mir halbwegs guten C-Code liefert, oder? Damit habe ich schonmal gearbeitet, war allerdings ein wenig Overkill für mich (ich selbst mag den Olly-Debugger). Hätte ich eine Ahnung, wie ich einen Disassembler mit der DOSBox nutze, hätte ich das übrigens gemacht
- allerdings ist der in der DOSBox integrierte nach ein wenig Eingewöhnungszeit äußerst gut, ein paar Komfort-Funktionen fehlen mir, aber es lässt sich schön arbeiten.
Weshalb ich eigentlich was schreibe: Ich habe jetzt endlich meine Fragen geklärt und herausgefunden, wo die AT/PA bzw. RS/BE-Werte stehen
.
Als kleiner Nebeneffekt hat sich nochwas geklärt, aber langsam:
Die in der ITEMS.DAT zu findenden Item-HEX-Codes waren laut FreeDSA noch nicht ganz entschlüsselt (das vierte der 12/14/16 Bytes hatte auf jeden Fall ein Fragezeichen). Dieses vierte Byte wird verwendet, um den Offset zu den von mir gesuchten Werten zu berechnen. Für eine Rüstung gibt es einen Speicherblock, der sich aus 2-Byte-Folgen zusammensetzt - das macht für jede Rüstung einen RS- und einen BE-Wert - mehr ist scheinbar mit keiner Rüstung assoziiert. Denn: Das Prinzip ist zwar bei den Waffen dasselbe, allerdings gibt es dort 7-Byte-Blöcke. Die ersten beiden Zeichen der Blöcke sind einfach der AT- und der PA-Wert. Mit dem Rest konnte ich absolut nichts anfangen, auch die Trefferpunkte usw. habe ich dort nicht gesehen. Aber irgendeine Bedeutung müssen die Bytes ja haben, sonst wären es nicht sieben dergleichen.
Kleines Problem, das mir bei ein paar der Waffen auffiel, war, dass manchmal scheinbar die AT/PA-Werte der späteren DSA-Spiele in der Liste stehen. Da ich eine modifizierte Version von Kunars Tabelle besitze, konnte ich das ganz gut vergleichen und mich darüber wundern. Vielleicht steckt ja noch irgendwo ein Bug im Programm, der da Schwierigkeiten macht...
EDIT: Hierzu noch etwas: Die Abweichungen bei den Waffenwerten beziehen sich ausschließlich auf Fernkampfwaffen, eventuell wird da etwas anders gemacht bei der letztendlichen Anwendung der Modifikatoren.
Mir fiel auch noch ein, dass Rüstungsgegenstände ja AUCH AT/PA-Modifikatoren haben
- die muss ich natürlich noch suchen, denn mit der Tabelle für die Waffen werden diese nicht abgedeckt. Gibt's also doch nochwas zu tun
.
Ich habe mich im Laufe der Suche nur durch ein paar hundert der vieeelen Zeilen Assembler-Code gekämpft, bin aber sogar dabei auf eine ganze Reihe von Funktionen gestoßen, die ihre Daseinsberechtigung haben. Eine von ihnen ermittelt z.B. nach dem Anlegen von Gegenständen den zugehörigen Einfluss auf AT/PA-Werte (Aufruf bei 28EA:038D)
.
Ich hänge in den Anhang mal die HEX-Listen der Waffen- und Rüstungswerte, so wie sie aus dem Arbeitsspeicher (CD-Version 3.02 deutsch) kommen. Gemeinsam mit der ITEMS.DAT fällt die Zuordnung nicht schwer und es fällt auf, dass nicht etwa jeder Waffe/Rüstung eigene Werte zugeordnet sind, sondern dass alle Gegenstände in Klassen eingeteilt wurden. Es passiert z.B., dass Eisen- und Goldschild dasselbe 4. Byte in der ITEMS.DAT besitzen.
Außerdem hänge ich noch eine Text-Liste an, die ein paar Erklärungen und dieselben HEX-Werte als Text enthält. Falls die Infos irgendwann mal gebraucht werden können, sind sie somit verfügbar
.
Ich find's glatt ein bisschen schade, dass mein Anreiz, weiter zu disassemblieren jetzt verschwunden ist. Hat ziemlich Spaß gemacht - aber vielleicht finde ich ja noch raus, wie magische Gegenstände funktionieren
.

Weshalb ich eigentlich was schreibe: Ich habe jetzt endlich meine Fragen geklärt und herausgefunden, wo die AT/PA bzw. RS/BE-Werte stehen

Als kleiner Nebeneffekt hat sich nochwas geklärt, aber langsam:
Die in der ITEMS.DAT zu findenden Item-HEX-Codes waren laut FreeDSA noch nicht ganz entschlüsselt (das vierte der 12/14/16 Bytes hatte auf jeden Fall ein Fragezeichen). Dieses vierte Byte wird verwendet, um den Offset zu den von mir gesuchten Werten zu berechnen. Für eine Rüstung gibt es einen Speicherblock, der sich aus 2-Byte-Folgen zusammensetzt - das macht für jede Rüstung einen RS- und einen BE-Wert - mehr ist scheinbar mit keiner Rüstung assoziiert. Denn: Das Prinzip ist zwar bei den Waffen dasselbe, allerdings gibt es dort 7-Byte-Blöcke. Die ersten beiden Zeichen der Blöcke sind einfach der AT- und der PA-Wert. Mit dem Rest konnte ich absolut nichts anfangen, auch die Trefferpunkte usw. habe ich dort nicht gesehen. Aber irgendeine Bedeutung müssen die Bytes ja haben, sonst wären es nicht sieben dergleichen.
Kleines Problem, das mir bei ein paar der Waffen auffiel, war, dass manchmal scheinbar die AT/PA-Werte der späteren DSA-Spiele in der Liste stehen. Da ich eine modifizierte Version von Kunars Tabelle besitze, konnte ich das ganz gut vergleichen und mich darüber wundern. Vielleicht steckt ja noch irgendwo ein Bug im Programm, der da Schwierigkeiten macht...
EDIT: Hierzu noch etwas: Die Abweichungen bei den Waffenwerten beziehen sich ausschließlich auf Fernkampfwaffen, eventuell wird da etwas anders gemacht bei der letztendlichen Anwendung der Modifikatoren.
Mir fiel auch noch ein, dass Rüstungsgegenstände ja AUCH AT/PA-Modifikatoren haben


Ich habe mich im Laufe der Suche nur durch ein paar hundert der vieeelen Zeilen Assembler-Code gekämpft, bin aber sogar dabei auf eine ganze Reihe von Funktionen gestoßen, die ihre Daseinsberechtigung haben. Eine von ihnen ermittelt z.B. nach dem Anlegen von Gegenständen den zugehörigen Einfluss auf AT/PA-Werte (Aufruf bei 28EA:038D)

Ich hänge in den Anhang mal die HEX-Listen der Waffen- und Rüstungswerte, so wie sie aus dem Arbeitsspeicher (CD-Version 3.02 deutsch) kommen. Gemeinsam mit der ITEMS.DAT fällt die Zuordnung nicht schwer und es fällt auf, dass nicht etwa jeder Waffe/Rüstung eigene Werte zugeordnet sind, sondern dass alle Gegenstände in Klassen eingeteilt wurden. Es passiert z.B., dass Eisen- und Goldschild dasselbe 4. Byte in der ITEMS.DAT besitzen.
Außerdem hänge ich noch eine Text-Liste an, die ein paar Erklärungen und dieselben HEX-Werte als Text enthält. Falls die Infos irgendwann mal gebraucht werden können, sind sie somit verfügbar

Ich find's glatt ein bisschen schade, dass mein Anreiz, weiter zu disassemblieren jetzt verschwunden ist. Hat ziemlich Spaß gemacht - aber vielleicht finde ich ja noch raus, wie magische Gegenstände funktionieren

NLT-Spielstandskonverter - konvertiert Spielstände zwischen beliebigen Teilen der Nordlandtrilogie
(alternativer Link)
Gravis Ultrasound+Sternenschweif
Battletech? MechWarrior: Living Legends! (Trailer)
(alternativer Link)
Gravis Ultrasound+Sternenschweif
Battletech? MechWarrior: Living Legends! (Trailer)