2. Rund um die Gegenstände
*Kunars Kompendium bietet einige Tabellen an, darunter eine Liste der Gegenstände für den ersten Teil (nach Hexcodes sortiert)
Die Bemerkungen sind nicht vollständig; zusammen mit Crystals Liste sollte man daraus jedoch herausfinden, welche gleichnamigen Gegenstände was sind und welche Codes man hinzufügen muss (etwa: Bruchfaktor bei Waffen, Attribut "magisch", Anzahl bei stapelbaren Gegenständen, Giftaufstrich einer Waffe usw.)
Ich kann nur dringend empfehlen, sich da einzulesen. Da steckt schon eine Menge Wissen drin.
Vielen Dank für die Links, Kunar! Was das Portrait-Grundwissen angeht, das habe ich schon so einigermaßen mitbekommen. Der HEX-Thread ist leider so lang geworden, dass ich stets nach ein paar Seiten mit dem Lesen aufhöre...
Was die Darstellung der Bilder angeht, muss ich wohl mal etwas konkreter um Hilfe bitten:
Ich nehme die 1024 Byte Bildcode, erstelle damit eine neue Datei namens "Bild.raw" und öffne diese mit IrfanView. Dabei wird (laut Thorium) eine Standard-Farbpalette verwendet, sodass das Bild in Graustufen erscheint. Nun kann ich mit IrfanView eine Palette importieren, die dann für das Bild verwendet wird. Diese Palette besteht aus einer 260 Zeilen langen Textdatei. Mal ein Auszug:
Da sehe ich offensichtlich Codierungen für Graustufen. Mit der für die DSA-Portraits verwendeten Palette müsste ich ja zumindest irgendwo in diese Datei...leider habe ich bisher noch keinen Erfolg damit gehabt. Geben denn die Hex-Zahlen die Positionen an? Also Farben 32 bis 64? Muss ich einfach herumprobieren?
Es kann ja nicht mehr viel fehlen, damit ich endlich die Bilder betrachten kann - es wäre nett, wenn mir jemand über die letzte Hürde hilft. Also wo muss ich meine Palette in der Paletten-Datei einfügen oder kann ich sie eventuell in der "bild.raw" irgendwo anbringen, damit ich das Bild korrekt sehe?
Mit Bildformaten bin ich leider nicht bewandert, ich bitte da um ein wenig Nachsicht .
Übrigens hatte ich die Portraits in Kunars Reiseführer schon einmal gefunden - da war ich allerdings auf der Suche nach den Rohdaten, dort ist jedoch jedes Bild eine knapp 6 KB große JPEG-Datei. Das war zu dem Zeitpunkt also ziemlich ungeeignet, aber für eine Vorschau ist es erstmal gut (wobei mir da aus den Rohdaten selbst erstellte Bilder lieber wären , zumal ich auch noch eine Zuordnung durchführen muss).
Kunars HEX-Liste für Gegenstände hat ja genau 256 Zeilen, jeder Gegenstand wird nur mit einem Byte codiert - ich hatte bisher angenommen, dass ich das Muster der späteren Teile verwenden könnte (27 Byte schlicht um 13 Byte gekürzt). Wenn ich aber auf einen Byte heruntergehe, dann ist prinzipiell jeder Gegenstand in DSA1 zugelassen...da muss ich wohl noch ein paar Infos sammeln. Die Attribute scheinen übrigens wirklich an den gleichen Positionen zu stehen, darum brauche ich mir also keine Sorgen zu machen.
(30.10.2009, 10:56)Thorium schrieb: Das funktioniert nicht. Hatte ich schon mal ausprobiert. Ist die Charakterstufe ungleich 1, ist der Charakter im Spiel nicht vorhanden, wenn er als .chr Datei vorliegt.
Das funktioniert garantiert (3.02), du musst nur den richtigen Aufenthaltsort (den Travia-Tempel in Thorwal) in die CHR Datei eintragen.
Also mit meiner Version hatte es nicht funktioniert. War die CD-Version genaue Versionsnummer weis ich nicht. Aufenthaltsort war natürlich korrekt. Sonst wären sie ja nicht da gewesen, wenn ich die Stufe auf 1 geändert hab. Mit jeder anderen Stufe als 1 ging es nicht. Hast du es denn mal probiert?
31.10.2009, 01:27 (Dieser Beitrag wurde zuletzt bearbeitet: 31.10.2009, 17:38 von thEClaw.)
@ Hendrik: Ich habe dein Programm gerade benutzt, um die DSAGEN.DAT zu entpacken. Laut FreeDSA-Wiki sind die Heldenportraits in der HEADS.DAT. Nun finde ich darin aber keine Portraits, zumal dort Werte drin stehen, die nicht im 32-Farben-Bereich liegen. Außerdem ist die Datei um einen Faktor 0,62 zu klein um alle Portraits zu enthalten - wenn die Portraits wiklich dort enthalten sind, ist die im Wiki erwähnte Cruchmode-Kompression wohl noch aktiv. Wie komme ich daran vorbei? Meine Vermutung war jetzt bitweises Auslesen und Neuaufteilung der Blöcke, aber für heute habe ich genug programmiert und ich denke mal, dass es dafür schon eine Lösung gibt . Für einen Tipp wäre ich dankbar. Falls keiner kommt, werde ich morgen mal ein wenig Zeit investieren, um die Standard-Portraits zu sammeln, ich will mein Programm gern einem Testlauf unterziehen .
@ Thorium: Mal eine kleine Kopie aus dem FreeDSA-Wiki:
Floppy_de V1.06
Floppy_de V1.07
CD_de V3.02
CD_en V3.00
CD_en V3.02
CD_en V3.09
Sieht also so aus, als hätte Borbaradwurm die gleiche Version wie du. Aber ich hatte ja auch schon gesagt, dass diese Stufenänderung bei mir nicht funktioniert. Das werde ich gleich nochmal testen, dann reicht's für heute.
EDIT: Habe es gerade mit der deutschen CD-Version probiert (3.02?) und es hat wirklich funktioniert. Meine Zweifel sind damit beseitigt, nicht aber mein Wunsch einer Konvertierung des ganzen Spielstandes .
Noch ein EDIT: Habe das Programm jetzt zum größten Teil fertig, bin gerade am Ausmerzen kleinerer Fehler, die im Spielstand entstehen.
Für die Portraits habe ich erstmal die Zip-Datei genommen, die ich irgendwo hier im Forum gefunden habe - ich weiß zwar noch nicht, was sich wirklich in den einzelnen Dateien befindet, aber das sehe ich hoffentlich bald . Auch eine Item-Liste habe ich jetzt, aber die konnte ich leider noch nicht testen.
EDIT3: Programm läuft jetzt, nur der Inventar-Filter benötigt scheinbar noch ein wenig Tuning...meine Helden hatten erstaunlich viele Strickleitern bei sich . Ansonsten klappt alles wie erwartet, es wäre allerdings günstig, wenn ich die restlichen Bytes in den Charakterdaten kennen würde, da ich sonst wohl alle Modifikatoren abstellen muss (das hieße vermutlich auch, dass man Gegenstände, die die Eigenschaften modifizieren, vor der Konvertierung ablegen sollte). Aber mal schauen...
Der kleine Programmteil, der sich um die Portraits kümmert, funktioniert tadellos - allerdings habe ich gesehen, dass in besagtem Zip-Archiv wohl keine Heldenbilder sind, sondern alles mögliche andere. Es sieht so allerdings ganz interessant aus .
Ich werde jetzt erstmal eine größere Pause einlegen und dann demnächst vielleicht eine Programmversion fertigstellen, die ihr bei Interesse mal testen könnt.
01.11.2009, 01:29 (Dieser Beitrag wurde zuletzt bearbeitet: 02.11.2009, 12:04 von thEClaw.)
Mein Programm hat jetzt offiziell die Beta-Phase erreicht - es gibt bisher noch einen kleinen Bug, von dem ich weiß (eben jene bereits erwähnten Modifikationen, die z.B. durch Kraftgürtel entstanden sind, bleiben bei Konvertierung erhalten, obwohl der Gürtel abgelegt wird), ansonsten kann das Programm mit meinen Spielständen gut umgehen.
Ich hänge mal meine aktuelle Grundlage für die Item-Sortierung in den Anhang. Es handelt sich um eine Excel-Tabelle, in der alle Gegenstände aufgeführt und mit einem Kreuz versehen sind, wenn sie nicht in DSA1 vorkommen. Ich habe zur Sicherheit erst einmal ziemlich radikal Kreuze verteilt, damit sich keine Fehler einschleichen. Es wäre sehr nett, wenn noch jemand anders einen Blick auf die Liste werfen und z.B. sagen könnte, welcher Gegenstand noch dringend ein Kreuz benötigt oder aber auf jeden Fall in DSA1 existiert. Es sind etwa 500 Gegenstände enthalten, 160 sind aktuell für meine Konvertierung freigeschalten. Die Liste ist so sortiert, dass man sich auch nur die DSA1-Gegenstände anschauen kann, sodass es schon sehr hilfreich wäre, wenn ihr euch nur einen Teil der Liste anschaut.
Ich habe in mühseliger Arbeit auch noch ein paar verschwommene Informationen über einige Byte-Bereiche in den Charakter-Abteilungen der Save-Dateien gesammelt - da liegt momentan der Hase im Pfeffer begraben. Ohne alle Informationen kann ich entweder unbekannte Bytes blind übernehmen (will ich nicht, ist aber in der aktuellen Programmversion der Fall, da sonst zwei weitere kleine Fehler auftreten) oder sie aber durch den zu Spielbeginn vorhandenen Standard überschreiben. Beides ziemlich unattraktive Möglichkeiten.
Ich hänge auch noch meine erste nutzbare Programmversion an - es würde mich freuen, wenn jemand mal ein paar eigene Spielstände konvertieren und mich über eventuelle Fehler in Kenntnis setzen würde. (den Eigenschafts-Modifikator-Bug kenne ich wie gesagt schon)
Am besten dazu geeigent sind übrigens nicht die Spielstände, die man zu Ende von Riva besitzt, da dort keine konvertierbaren Items enthalten sind und eigentlich keine Fehler produziert werden können . Was eigene Portraits angeht, so sollte momentan jedes vom Standard abweichende Portrait durch das ERSTBESTE ersetzt werden, das sich findet. Ich weiß nicht genau, welches das ist, aber es wird sicher nicht schön aussehen, wenn die ganze Gruppe gleich aussieht - hier wäre ich auch über einen halbwegs praktikablen Lösungsvorschlag erfreut, da ich momentan nur bemüht war, die Standard-Charakterportraits einigermaßen richtig umzusetzen.
Wer sich erfolgreich auf die Suche nach Fehlern im Programm begibt, könnte mich mit einer kurzen Beschreibung und (falls es nötig erscheint) ein paar Screenshots der betroffenen Stelle beglücken (also z.B. Vergleichsscreenshots aus DSA3 und DSA1, damit ich sehe, wo das Problem liegt).
Erstmal vielen Dank für die Mühe. Mir ist nur noch nicht ganz klar, weshalb die Itemliste für dich wichtig ist, inwiefern welche Gegenstände in der Schicksalsklinge vorkommen oder nicht.
Normalerweise könnte man dies komplett bis auf die Gegenstände, die man im Wurmbau der Königin findet, plus das Amulett der Magier ignorieren. Oder verstehe ich dich hier falsch? Bis auf das Amulett der Magier, den Zauberstab des Magiers und den Hexenbesen ist man komplett inventarlos, wenn man in den Wurmbau geworfen wird.
Von daher dürfte sich die Konvertierung doch auf ein Minimum an Gegenständen reduzieren, oder?
Eigentlich hast du Recht, aber wenn ich schon anpacke, dann richtig . Es besteht ja durchaus die Möglichkeit, dass man (nicht ganz dumm) Riva durchspielt, anschließend aber den Spielstand VOR dem Verlust aller Gegenstände konvertiert. Oder aber einen beliebigen anderen - schließlich sind DSA2 und 3 in der Lage, JEDEN vorherigen Spielstand prompt so zu konvertieren, dass man ihn im jeweiligen Spiel nutzen kann. Und ich wollte mit meinem Tool eben auch die Gegenrichtung zur Verfügung stellen.
Außerdem habe ich hart an der Item-Funktion gearbeitet und will ihr jetzt auch den letzten Schliff verpassen.
Ich habe übrigens auch mal nach "thEClaw" und "DSA" gegoogelt....erstaunlich, was da so alles auftaucht . Ich hatte eigentlich gedacht, dass Foren etwas schwerer über Google zu erreichen sind...
Ah ok, na wenn das so ist. Hast du dir schon überlegt, wie du die Erstbegegnungen und Zufallsereignisse aus dem Spielstand bekommst? Nicht, dass man dann in Thorwal für einen Ork oder Räuber bei der ersten Begegnung nur 1 AP bekommt, weil die Helden diese Sorte Gegner noch aus Riva kennen.
Und dazu kommt noch das Problem, die Inventarslots zu kürzen. Slots für Amulette, Armbänder, Ringe, Gürtel, ein Rüstzeug an den Beinen sowie den Umhang-Slot gibts bei der Anziehpuppe in der Schicksalsklinge nicht. Ich hoffe mal als Laie, dass man die betreffenden HEX-Stellen einfach löschen oder zumindest auf 00 setzen kann.
01.11.2009, 10:55 (Dieser Beitrag wurde zuletzt bearbeitet: 01.11.2009, 11:42 von 009-Greekmill.)
(01.11.2009, 01:29)thEClaw schrieb: Mein Programm hat jetzt offiziell die Beta-Phase erreicht - es gibt bisher noch einen kleinen Bug, von dem ich weiß (eben jene bereits erwähnten Modifikationen, die z.B. durch Kraftgürtel entstanden sind, bleiben bei Konvertierung erhalten, obwohl der Gürtel abgelegt wird), ansonsten kann das Programm mit meinen Spielständen gut umgehen.
Ich hänge mal meine aktuelle Grundlage für die Item-Sortierung in den Anhang. Es handelt sich um eine Excel-Tabelle, in der alle Gegenstände aufgeführt und mit einem Kreuz versehen sind, wenn sie nicht in DSA1 vorkommen. Ich habe zur Sicherheit erst einmal ziemlich radikal Kreuze verteilt, damit sich keine Fehler einschleichen. Es wäre sehr nett, wenn noch jemand anders einen Blick auf die Liste werfen und z.B. sagen könnte, welcher Gegenstand noch dringend ein Kreuz benötigt oder aber auf jeden Fall in DSA1 existiert. Es sind etwa 500 Gegenstände enthalten, 160 sind aktuell für meine Konvertierung freigeschalten. Die Liste ist so sortiert, dass man sich auch nur die DSA1-Gegenstände anschauen kann, sodass es schon sehr hilfreich wäre, wenn ihr euch nur einen Teil der Liste anschaut.
Ich habe in mühseliger Arbeit auch noch ein paar verschwommene Informationen über einige Byte-Bereiche in den Charakter-Abteilungen der Save-Dateien gesammelt - da liegt momentan der Hase im Pfeffer begraben. Ohne alle Informationen kann ich entweder unbekannte Bytes blind übernehmen (will ich nicht, ist aber in der aktuellen Programmversion der Fall, da sonst zwei weitere kleine Fehler auftreten) oder sie aber durch den zu Spielbeginn vorhandenen Standard überschreiben. Beides ziemlich unattraktive Möglichkeiten.
Ich hänge auch noch meine erste nutzbare Programmversion an - es würde mich freuen, wenn jemand mal ein paar eigene Spielstände konvertieren und mich über eventuelle Fehler in Kenntnis setzen würde. (den Eigenschafts-Modifikator-Bug kenne ich wie gesagt schon)
Am besten dazu geeigent sind übrigens nicht die Spielstände, die man zu Ende von Riva besitzt, da dort keine konvertierbaren Items enthalten sind und eigentlich keine Fehler produziert werden können . Was eigene Portraits angeht, so sollte momentan jedes vom Standard abweichende Portrait durch das ERSTBESTE ersetzt werden, das sich findet. Ich weiß nicht genau, welches das ist, aber es wird sicher nicht schön aussehen, wenn die ganze Gruppe gleich aussieht - hier wäre ich auch über einen halbwegs praktikablen Lösungsvorschlag erfreut, da ich momentan nur bemüht war, die Standard-Charakterportraits einigermaßen richtig umzusetzen.
Wer sich erfolgreich auf die Suche nach Fehlern im Programm begibt, könnte mich mit einer kurzen Beschreibung und (falls es nötig erscheint) ein paar Screenshots der betroffenen Stelle beglücken (also z.B. Vergleichsscreenshots aus DSA3 und DSA1, damit ich sehe, wo das Problem liegt).
Mache mich sogleich ans Betatesten!!!!!!!!!
EDIT: leider erscheint bei mir die Zieldatei nicht ...
EDIT2: Achso, man muss die Quelldatei in "DSA3.GAM" umbenennen
EDIT3:
jetzt das Ausführliche.
Also ... bis auf 2 "Schwerter" hat meine Tank-Truppe Thorwal heil erreicht. Sogar das satte Vermögen von 7600 D ist mitegkommen
Meine Fleet hat (genau wie in Riva) Stufe 12 bei ~7 000 AP pro Mann. Also hier hat alles geklappt.
Auch die KK stimmt. Also das Problem hatte ich nicht - nachdem ich die 2 "Schwerter" weggeworfen hatte ...
Nur merkwürdig, dass ich beim Händler immer mit -20000 D herumgelaufen bin (Screen im Anhang)
Und etwas "stören" (ist aber subjektiv) tut es, dass die Avatare sich abgeändert haben. Sollte man aber in Riva vor dem Schluss zurückschrauben ...
Also habe ich mich mit Ausrüstung eingedeckt und sind gleich in die Zwingfestegegangen ...
... wo es satte 54 Erstbegegnungs-AP bekam. Damit wäre Crystals Zweifel widerlegt denn sonst hätte ich 6 AP bekommen müssen!
01.11.2009, 11:42 (Dieser Beitrag wurde zuletzt bearbeitet: 02.11.2009, 12:05 von thEClaw.)
@ Crystal: Oh je, die AP-"Erinnerungen" habe ich nicht bedacht. Die müssen ja irgendwo in den besagten mysteriösen Byte-Regionen stehen (als Teil der Charakter-Daten), oder? Falls nicht, ist das Problem schon umgangen, da ich ja den Spielstand als Basis nehme, der erst nach einmaligem Laden und Speichern diverse neue Einträge vom Spiel bekommt.
Was das Inventar angeht: Auf meine Inventar-Funktion bin ich ja besonders stolz , die schafft alles. Unbenutzte Slotgegenstände werden an freie Inventarplätze verschoben, dort entstehen keine Lücken und wenn das Inventar komplett voll ist, dann werden die übrigen Gegenstände entfernt.
@ 009-Greekmill: Habe deinen Beitrag erst beim Schreiben gelesen - das AP-Problem ist also nicht vorhanden .
Diese mysteriösen Schwerter (manchmal sind es auch Wasserschläuche oder Laternen ) entstehen in der Regel, wenn ein Gegenstand nicht konvertiert werden konnte (weil es ihn entweder in DSA1 nicht gibt oder irgendein Problem beim Konvertieren aufgetreten ist). Bis mein eigenes Inventar fehlerfrei übertragen wurde, musste ich einiges an der HEX-Liste ändern. Also schonmal danke für deinen Input, ich mache mich gleich ans Korrigieren...
Das Dukatenproblem muss ich mir auch näher anschauen. Wie ich bereits sagte, gibt es noch einige Bytes an den Charakter-Daten, über deren Funktion ich nur spekulieren kann. Irgendwo da MUSS der Fehler entstehen . Vielleicht mache ich mal ein Quiz: Ich lade zwei identische Spielstände hoch, die sich nur in einem solchen Byte unterscheiden, man muss beide durchspielen und dann die Unterschiede aufzählen . Dasselbe dann natürlich für die anderen rund 200 Bytes...
Ich habe jetzt erstmal das Programm ein wenig bearbeitet, es wurden ein paar mehr Sicherheiten eingebaut (theoretisch kann Version 0.5 ab und an abstürzen - dürfte aber höchstens einmal unter 10^9 Benutzungen passieren) und die Portrait-Konvertierung ist jetzt (dank Thoriums Programm - vielen Dank, dass ich es nutzen durfte ) in der Lage, sämtliche Heldenportraits aus DSA3 ins erste Spiel zu übertragen. Bilder, die nicht für Helden gedacht waren, werden mit hoher Wahrscheinlichkeit durch ein schwarzes oder weißes Portrait dargestellt (was auch immer der Farbwert 0x20 eben bedeutet).
Es wäre auch ganz nützlich, wenn mal jemand all diese Portraits durchtesten würde, vielleicht habe ich welche verwechselt. Aber ich denke, dass steht auf der Wichtigkeitsskala erstmal ganz unten .
Ach ja, im Anhang erstmal die aktuelle Programmversion (noch ohne die von 009-Greekmill empfohlenen Verbesserungen). Eine kleine Anleitung liegt wieder bei.
EDIT: 009-Greekmill, könntest du mir ein Screenshot von den Schwertern schicken? Also einen Shot vom DSA3-Inventar und einen vom falschen DSA1-Inventar? Ich brauche nämlich die Info, welcher Gegenstand da heimlich zu einem Schwert wurde.
EDIT2: Wegen der Dukaten: Ich habe auch eine Abweichung zwischen beiden Werten, ich besitze 12000 und beim Händler sind es nur knapp 8000 - ist mir vorher gar nicht aufgefallen. Allerdings habe ich mal mit den unbekannten Bytes gespielt und keine Veränderung gesehen - was auch immer da passiert scheint also erstmal nicht in den Heldendaten zu entstehen.
(01.11.2009, 11:42)thEClaw schrieb: Das Dukatenproblem muss ich mir auch näher anschauen. Wie ich bereits sagte, gibt es noch einige Bytes an den Charakter-Daten, über deren Funktion ich nur spekulieren kann. Irgendwo da MUSS der Fehler entstehen . Vielleicht mache ich mal ein Quiz: Ich lade zwei identische Spielstände hoch, die sich nur in einem solchen Byte unterscheiden, man muss beide durchspielen und dann die Unterschiede aufzählen . Dasselbe dann natürlich für die anderen rund 200 Bytes...
Wie gesagt, bei mir sind's (normal) 7 400 D (und als das wird's auch im Inventar ausgewiesen). Nur beim Händler oder im Tempel sind's -20 000 D ...
(01.11.2009, 11:42)thEClaw schrieb: Ich habe jetzt erstmal das Programm ein wenig bearbeitet, es wurden ein paar mehr Sicherheiten eingebaut (theoretisch kann Version 0.5 ab und an abstürzen - dürfte aber höchstens einmal unter 10^9 Benutzungen passieren) und die Portrait-Konvertierung ist jetzt (dank Thoriums Programm - vielen Dank, dass ich es nutzen durfte ) in der Lage, sämtliche Heldenportraits aus DSA3 ins erste Spiel zu übertragen. Bilder, die nicht für Helden gedacht waren, werden mit hoher Wahrscheinlichkeit durch ein schwarzes oder weißes Portrait dargestellt (was auch immer der Farbwert 0x20 eben bedeutet).
Es wäre auch ganz nützlich, wenn mal jemand all diese Portraits durchtesten würde, vielleicht habe ich welche verwechselt. Aber ich denke, dass steht auf der Wichtigkeitsskala erstmal ganz unten .
Wird das implementiert? Falls nein, nehme ich mir Thorium's Programm zur Hilfe ...
Es gibt außerdem bei den Auelfen eine minimale Verschiebung ...
(01.11.2009, 11:42)thEClaw schrieb: EDIT: 009-Greekmill, könntest du mir ein Screenshot von den Schwertern schicken? Also einen Shot vom DSA3-Inventar und einen vom falschen DSA1-Inventar? Ich brauche nämlich die Info, welcher Gegenstand da heimlich zu einem Schwert wurde.
EDIT2: Wegen der Dukaten: Ich habe auch eine Abweichung zwischen beiden Werten, ich besitze 12000 und beim Händler sind es nur knapp 8000 - ist mir vorher gar nicht aufgefallen. Allerdings habe ich mal mit den unbekannten Bytes gespielt und keine Veränderung gesehen - was auch immer da passiert scheint also erstmal nicht in den Heldendaten zu entstehen.
Klar. Habe 2 Inventare von kurz vor dem Schluss aus Riva und dem Inventar im Travia-Tempel mit draufgepackt, hier sichtbar:
01.11.2009, 13:53 (Dieser Beitrag wurde zuletzt bearbeitet: 02.11.2009, 12:05 von thEClaw.)
Danke für die Bilder, ich habe mal ein paar Dinge geändert, evt. hat es ja geholfen. Beim Probieren habe ich gleich noch zwei Bugs gesichtet, einer davon wird sich vielleicht schwer korrigieren lassen: Das Gewicht des Inventars wird zwar aus DSA3 übernommen, aber es wird nicht neu berechnet, wenn Gegenstände herausgefiltert werden. Ich bräuchte also noch eine Liste aller Gegenstände und ihres Gewichtes...
Neue Programmversion wird angehängt, wäre nett, wenn du wegen der Schwerter nochmal schaust.
Was meinst du eigentlich mit "Verschiebung" bei den Auelfen? Sind die Portraits matschig? Oder sind einfach die Zuordnungen der Bilder nicht richtig? Mein vorhandener Auelf wurde gut übertragen.
EDIT: Ganz vergessen: Die Sache mit den eigenen Portraits...solange du Portraits nutzt, die wenigstens irgendwo in DSA3 vorhanden sind und ich noch herausfinde, mit welchem "Link" man auf sie zugreift, ließe sich das alles relativ leicht implementieren. Einfach noch ein paar mehr der momentan beiliegenden Portrait-Files zufügen und die Sache wäre gegessen.
Wenn du aber ein wirklich selbst erstelltes Bild aus DSA3 übernehmen willst, dann sieht es schlecht aus. In erster Linie schonmal, weil ich selbst nicht weiß, wie man eigene Bilder einfügen würde und wo sie daher zu finden wären. In diesem Fall kommt es also ganz darauf an, ob ich ausreichend Informationen dazu finde.
Falls du ganz einfach eigene Portraits für DSA1 nutzen willst, da will ich Thoriums Programm das Wasser nicht abgraben , dafür wirst du es also nehmen müssen. Das einzige, was evt. ginge, wäre, dass mein Konverter Thoriums Programm mit einem kleinen Offset startet, damit die Bilder direkt im Spielstand geändert werden können. Aber die Entscheidung läge eh nicht bei mir .
EDIT2: Habe gerade etwas herausgefunden: "Dukaten (Schwert-Icon)" <-- Es gibt also einen Gegenstand, der aussieht wie ein Schwert und irgendwie die Dukatenanzahl manipulieren kann. Klingt so, als gäbe es einen Zusammenhang zwischen den beiden von dir berichteten Problemen, 009-Greekmill.
EDIT3: Ich habe nach ein wenig Lesen im FreeDSA-Wiki mal ein Programm geschrieben, dass mir Informationen über die DSA1-Items sammelt. Mit ein wenig Nacheditierung und aufbauend auf der Liste von Kunar kam dabei die Liste heraus, die ich gleich mal anhänge. Diese enthält jetzt alle DSA1-Gegenstände mit zugehörigen HEX-Codes und Item-Informationen (also Preis, Gewicht usw.) im HEX-Format. Außerdem habe ich eine Spalte eingebaut, in der Gegenstände markiert werden, die entweder nicht mitkonvertiert werden sollten (dient ja als Hilfe für meinen Konverter ) oder in späteren DSA-Teilen andere Gegenstände sind. Falls irgendjemand mal wieder so eine Liste braucht, HIER ist sie jetzt zu finden .
01.11.2009, 19:52 (Dieser Beitrag wurde zuletzt bearbeitet: 01.11.2009, 20:34 von 009-Greekmill.)
(01.11.2009, 13:53)thEClaw schrieb: Danke für die Bilder, ich habe mal ein paar Dinge geändert, evt. hat es ja geholfen. Beim Probieren habe ich gleich noch zwei Bugs gesichtet, einer davon wird sich vielleicht schwer korrigieren lassen: Das Gewicht des Inventars wird zwar aus DSA3 übernommen, aber es wird nicht neu berechnet, wenn Gegenstände herausgefiltert werden. Ich bräuchte also noch eine Liste aller Gegenstände und ihres Gewichtes...
Neue Programmversion wird angehängt, wäre nett, wenn du wegen der Schwerter nochmal schaust.
Was meinst du eigentlich mit "Verschiebung" bei den Auelfen? Sind die Portraits matschig? Oder sind einfach die Zuordnungen der Bilder nicht richtig? Mein vorhandener Auelf wurde gut übertragen.
EDIT: Ganz vergessen: Die Sache mit den eigenen Portraits...solange du Portraits nutzt, die wenigstens irgendwo in DSA3 vorhanden sind und ich noch herausfinde, mit welchem "Link" man auf sie zugreift, ließe sich das alles relativ leicht implementieren. Einfach noch ein paar mehr der momentan beiliegenden Portrait-Files zufügen und die Sache wäre gegessen.
Wenn du aber ein wirklich selbst erstelltes Bild aus DSA3 übernehmen willst, dann sieht es schlecht aus. In erster Linie schonmal, weil ich selbst nicht weiß, wie man eigene Bilder einfügen würde und wo sie daher zu finden wären. In diesem Fall kommt es also ganz darauf an, ob ich ausreichend Informationen dazu finde.
Falls du ganz einfach eigene Portraits für DSA1 nutzen willst, da will ich Thoriums Programm das Wasser nicht abgraben , dafür wirst du es also nehmen müssen. Das einzige, was evt. ginge, wäre, dass mein Konverter Thoriums Programm mit einem kleinen Offset startet, damit die Bilder direkt im Spielstand geändert werden können. Aber die Entscheidung läge eh nicht bei mir .
Erstens meine ich, dass (es gibt beide Portraits in DSA1 + 3) in DSA 3 Portrait 2 angezeigt, dann aber in 1 Portrait 1 gezeigt wird. So meinte ich das ...
Und - ich benutze grundsätzlich bereits vorhandene (also keine selbst erstellten) Portraits.
(01.11.2009, 13:53)thEClaw schrieb: EDIT2: Habe gerade etwas herausgefunden: "Dukaten (Schwert-Icon)" <-- Es gibt also einen Gegenstand, der aussieht wie ein Schwert und irgendwie die Dukatenanzahl manipulieren kann. Klingt so, als gäbe es einen Zusammenhang zwischen den beiden von dir berichteten Problemen, 009-Greekmill.
EDIT3: Ich habe nach ein wenig Lesen im FreeDSA-Wiki mal ein Programm geschrieben, dass mir Informationen über die DSA1-Items sammelt. Mit ein wenig Nacheditierung und aufbauend auf der Liste von Kunar kam dabei die Liste heraus, die ich gleich mal anhänge. Diese enthält jetzt alle DSA1-Gegenstände mit zugehörigen HEX-Codes und Item-Informationen (also Preis, Gewicht usw.) im HEX-Format. Außerdem habe ich eine Spalte eingebaut, in der Gegenstände markiert werden, die entweder nicht mitkonvertiert werden sollten (dient ja als Hilfe für meinen Konverter ) oder in späteren DSA-Teilen andere Gegenstände sind. Falls irgendjemand mal wieder so eine Liste braucht, HIER ist sie jetzt zu finden .
In Ordnung, werde wegen den Schwertern nochmal schauen ...
EDIT: OK, die Schwerter sind weg und auch das Gewichtproblem ist behoben. Auch das mit den Charakterbildchen stimmt jetzt.
EDIT2: Im Laden habe ich aber nach wie vor - 20 000 D ...
Sorry das ich mich erst so spät wieder melde. Aber ich bin voll in Torchlight versunken. ^^
Ich wollte dir ja den Source meines kleinen Converters geben. Der ist nicht groß, deswegen poste ich den einfach mal hier. Ist PureBasic Code.
Img = LoadImage(#PB_Any,ImgFileName)
If Img = 0
MessageRequester("DSA1 Portrai-Konverter","Das Bild konnte nicht geladen werden.",16)
End
EndIf
RawFile = CreateFile(#PB_Any,RawFileName)
If RawFile = 0
MessageRequester("DSA1 Portrai-Konverter","Die neue Datei konnte nicht erstellt werden.",16)
End
EndIf
StartDrawing(ImageOutput(Img))
For y = 0 To 31
For x = 0 To 31
ImgColor = Point(x,y)
Found = 0
OldDistance = $0FFFFFFF
For i = 0 To 255
If Pal(i) <> $FFFFFFFF
Distance = DistanceRGB(ImgColor,Pal(i))
If Distance = 0
Found = 1
WriteByte(RawFile,i & $00FF)
Break
EndIf
If Distance < OldDistance
OldDistance = Distance
RawIndex = i
EndIf
EndIf
Next
If Found = 0
WriteByte(RawFile,RawIndex & $00FF)
ChangeCnt + 1
EndIf
Next
Next
StopDrawing()
CloseFile(RawFile)
MessageRequester("DSA1 Portrai-Konverter","Bild als .raw gespeichert." + Chr(10) + "Es mussten " + Str(ChangeCnt) + " Pixel in ihrer Farbe angepasst werden.")
End
01.11.2009, 23:13 (Dieser Beitrag wurde zuletzt bearbeitet: 02.11.2009, 12:06 von thEClaw.)
(01.11.2009, 19:52)009-Greekmill schrieb: Erstens meine ich, dass (es gibt beide Portraits in DSA1 + 3) in DSA 3 Portrait 2 angezeigt, dann aber in 1 Portrait 1 gezeigt wird. So meinte ich das ...
Und - ich benutze grundsätzlich bereits vorhandene (also keine selbst erstellten) Portraits.
In Ordnung, werde wegen den Schwertern nochmal schauen ...
EDIT: OK, die Schwerter sind weg und auch das Gewichtproblem ist behoben. Auch das mit den Charakterbildchen stimmt jetzt.
EDIT2: Im Laden habe ich aber nach wie vor - 20 000 D ...
Die verschobenen Portraits kommen daher, dass ich irgendwo zwei Dateien vertauscht habe. Im Endeffekt stehen ja alle Portraits in einer einzigen Datei und einer einzigen Zeile , da kommt das schnell mal vor. Wenn du mir irgendwie mitteilen könntest, welche Portraits vertauscht sind, dann wäre das nützlich. Beheben ließe sich das ganz einfach, indem zwei der Quelldateien den Namen tauschen.
Wenn du bereits vorhandene Portraits nutzt, dann solltest du (bis auf den/die vertauschten, daran muss ich wohl noch arbeiten) eigentlich wunschlos glücklich sein .
Da ich jetzt mit einer völlig neuen Item-Liste arbeite, die ich auf ca. 230 Gegenstände ausbauen konnte (fantastische Anmerkung: Es gibt in DSA1 den magischen Brotbeutel und den magischen Wasserschlauch! Meine absoluten Lieblingsitems, um die es mir ziemlich schade gewesen wäre.), könnten erneut solche Fehler mit falschen Gegenständen entstehen. Aber ich bin ziemlich zuversichtlich, dass ich ordentlich gearbeitet habe und das selten bis gar nicht passiert.
Dank der neuen Item-Liste bin ich jetzt auch in der Lage, das Gewicht der getragenen Gegenstände selbst zu berechnen, dieser Fehler gehört damit der Vergangenheit an. Beim Geld-Problem bin ich leider noch nicht weitergekommen, ich habe einfach keine Ahnung, woher das kommt.
Ich würde mich über weiteres Feedback bzw. Crashtester freuen - im Anhang ist die neue Programmversion 0.7. Dieses Mal gibt es ein paar Verbesserungen, aber ich habe es auch mal gewagt, gewisse Bereiche in den Charakterwerten zu "nullen". Umso besser wäre es, wenn ich Hilfe beim Testen hätte .
Ich habe übrigens weitere 4 Byte in den Charakter-Daten entschlüsselt...bleiben noch genau 139 übrig.
@ Thorium: Danke für den Source-Code. Stellenweise finde ich die Sprache sehr verständlich, aber wenn es an die wichtigen Stellen geht, kann ich nicht ganz folgen . Ich werde mir das morgen mal näher anschauen, jetzt ist erstmal Schlafenszeit.
EDIT: Ich habe eher zufällig noch einen größeren Bug im Programm gefunden, die Auswirkungen auf das Spiel scheinen aber nicht erwähnenswert zu sein. Der Bug ist gefixt und ab der nächsten Version werden somit hoffentlich weniger Probleme auftreten .
Ich bin jetzt soweit, dass auch die AT/PA-Werte korrigiert werden (ziemlich doof, dass DSA sämtliche zu berechnenden Werte ungeprüft lässt), ich habe gestern noch ein paar Minuten in Dramoschs Keller gekämpft und mit simplen Faustschlägen 20-30 Punkte Schaden austeilen können :O.
Auch die modifzierten Eigenschafts-Werte bei gewissen Item-Problemen sind behoben (was bei einem importierten Spielstand aus dem Wurmbau aber keine Rolle gespielt haben sollte).
Die nächsten beiden Ziele sind nun, den Rüstungswert korrekt zu berechnen (dazu fehlen mir noch HEX-Infos...falls jemand weiß, wo sich sowas findet, bitte her mit der Information) und dieses dämliche Problem mit den falsch angezeigten Dukaten zu lösen. Ansonsten sehe ich keine größeren Probleme mehr, es gibt vermutlich noch das ein oder andere vertauschte Portrait, aber das ist wie schon erwähnt eine recht simple Sache, auf die ich einfach gerade keine Lust habe .
Für fleißiges Beta-Testen wäre ich dankbar, vielleicht kommt ja noch was grobes zu Tage .
EDIT X: Ich habe jetzt a) die Rüstungswerte korrigiert (zwar nicht so, dass ich sie selbst berechne, aber es funktioniert erstmal korrekt - evt. folgt später eine ausführlichere Implementierung) und b) den Grund für das falsch angezeigte Vermögen entdeckt . Ich werde das mal flink im Programm korrigieren und dann die neue Version hochladen.
02.11.2009, 12:18 (Dieser Beitrag wurde zuletzt bearbeitet: 02.11.2009, 18:59 von thEClaw.)
Ich erstelle mal wieder einen neuen Post, damit mein Fortschritt nicht untergeht (so ein "Push-Through-Edit" wie im cgboard ist ganz nützlich ).
Wie ich ein paar Zentimeter weiter oben schon erwähnte, meine ich jetzt die letzten Bugs gefixt zu haben. Bis auf die Sache mit den vertauschten Portraits...
Es werden jetzt diverse Werte korrekt berechnet oder dargestellt, ich konnte erstmal nichts mehr finden, dass noch ungewollte Abweichungen zeigt.
Auch das Problem mit dem Vermögen beim Händler wurde behoben, was gleich noch einen weiteren positiven Nebeneffekt mit sich brachte: Durch die ... überquellenden Berechnungen, die zum negativen Wert führten, waren Aktionen beim Händler etwas verzögert, was nun auch Geschichte ist.
Für Interessierte: Das Problem war einfach, dass in DSA3 in jedem Charakter-Profil das Vermögen der Gruppe notiert ist, in DSA1 jedoch jeder Held sein eigenes Vermögen besitzt. Dieses muss somit beim Händler addiert werden (meine 12.000 Dukaten wurden damit zu 6x12.000 und das sprengte den Wertebereich des Vermögens beim Händler).
Kleiner Wermuthstropfen ist momentan, dass ich die Rüstungswerte nicht berechnen kann und somit getragene Rüstungsgegenstände vorläufig ins Inventar verschoben werden. Es handelt sich hierbei genau um drei Gegenstände, für Charaktere, die in DSA3 ein großes Inventar hatten, könnten also ein paar andere Gegenstände wegen Platzmangel "verschwinden". Allerdings schlägt die Konvertierung in der Regel ziemlich hart zu, so dass für einige freie Slots gesorgt sein sollte. Falls ich herausfinde, wie ich die Rüstungswerte berechnen kann, werde ich hier noch nachbessern.
Ganz mutig habe ich die Versionsnummer meines Programms mal auf 0.9 angehoben und auch alle alten Versionen entfernt.
Ich brauche momentan zweierlei Hilfe: Leute, die den ein oder anderen Spielstand durch den Konverter jagen und (falls vorhanden) Leute, die sich sehr gut mit den Innereien der Schicksalsklinge auskennen. Es mangelt mir offensichtlich noch immer an Informationen, ich hätte im Voraus gar nicht gedacht, dass ich so tief in die Daten von DSA abtauchen muss.
02.11.2009, 13:12 (Dieser Beitrag wurde zuletzt bearbeitet: 02.11.2009, 18:07 von thEClaw.)
Ich habe gerade noch (Verdammt, wie oft habe ich mich schon geärgert, Perfektionist zu sein?) ein neues Portrait-Set erstellt. Die ersten 5 Elfen sehen jetzt auf jeden Fall richtig aus, aber der vorher vorhandene Fehler scheint an DSA selbst zu liegen: DORT wurden scheinbar die Portraits vertauscht, damit hatte ich einfach nicht gerechnet . Das Portrait-Set lege ich vermutlich erst der nächsten Programmversion bei, vielleicht teste ich es vorher durch. Falls jemand Bedarf hat, kann ich es natürlich hier reinstellen.
@ Obi-Wahn: Was genau meinst du damit? DSA läuft in der Dosbox und die hat mir auch unter Linux schon gute Dienste geleistet . Der Konverter ist in C geschrieben - da ich generell versuche, alles von Hand zu machen, wird dort keine fragliche Funktion verwendet. Kompilieren sollte man es also unter Linux können . Da mein Ubuntu vor einer Weile abgeraucht ist, sitze ich aber gerade in Windows fest - ich weiß nicht, ob ich da irgendwo eine Version für Linux erstellen kann.
Falls du wirklich Interesse hast, musst du mir sagen, wie ich überhaupt von etwas "eine Linux-Version erstelle". Bisher habe ich meine Programme immer einfach geschrieben und kompiliert, ein Makefile o.ä. musste ich noch nie benutzen.
EDIT: Ich hänge mal eine Datei an, die .... vielleicht eine Linux-Version darstellt. Du kannst es ja mal ausprobieren .
Tja äh... leider weiss weder mein Linux noch ich was mit der Datei anzufangen. Die Datei ist doch schon binär, oder? Lieber wäre mir da der Sourcecode, dann kann ich die Datei per gcc kompilieren.
Es handelt sich hier um eine RAR-Datei! Das ist ein modernes Kompressionsformat, natürlich sind keine Maschinenbefehle enthalten!
...
Naja, ich dachte, dass datei.o auf eine ausführbare Datei hindeuten würde, die man mit ./datei.o ... ausführen kann. Da das sowieso schon länger überfällig ist, lade ich mir mal flink das neue Ubuntu runter und gewähre ihm zumindest ein Hintergrunddasein in einer virtuellen Maschine . Da will ich selbst mal ausprobieren, ob die .o-Datei nicht läuft.
Den Source-Code gäbe ich eher ungern her, zumal damit das Problem nicht völlig vom Tisch wäre. Aber wenn sich kein besserer Weg findet, bekommst du den. Bis dahin kannst du ja mal Wine, VMWare oder sonstwas probieren - oder einfach ein Dutzend Spielstände an deinen nächsten Beitrag hängen, die ich dir dann konvertiere .