Ich hab's nach diesem Muster nun auch hingekriegt. Zwei der Gegenstände in der ersten Mission von "Les Paolis" haben jetzt neue Namen gekriegt. Mit FMSel funktioniert es komplett. Mit DarkLoader tut's die DML-Datei auf jeden Fall, aber da bei mir die Sprachauswahl bei DarkLoader seit NewDark v1.24 oder 1.25 nicht mehr funktioniert, konnte ich nicht mehr überprüfen, ob die Gegenstände mit der deutschen objnames.str auch umbenannt werden. Geh' ich aber mal schwer von aus.
Mit NewDarkLoader habe ich noch nix probiert, mit AngelLoader sowieso nicht.
Ich habe dann 'rausgekriegt, wie man tatsächlich mehr als eine DML-Datei für eine .mis-Datei laden lassen kann. Nachdem ich im Thief-Verzeichnis die Datei doc\dbmod-sample.dml durchgelesen hatte, vermutete ich, dass die im Abschnitt "Mission dbmods" genannten Dinge vielleicht mit einer leichten Abwandlung auch in Zip-Dateien von FMs laufen würden. Das ging dann so:
1. Man erzeugt im Hauptverzeichnis bzw. Hauptordner der Mission ein Verzeichns (einen Ordner) namens dbmods. (Das Hauptverzeichnis der Mission ist das, wo ggf. die Verzeichnisse books, snd usw. von dieser Mission bzw. Kampagne drin sind.)
2. Man erzeugt in dbmods ein weiteres Verzeichnis, das denselben Namen hat wie die .mis-Datei, für die die DML-Dateien "gelten" sollen, also z.B. das Verzeichnis miss20.mis.
3. Man bringt alle DML-Dateien, die die Mission mit der Datei miss20.mis verändern sollen, in diesem Verzeichnis namens dbmods/miss20.mis unter. Die DMLs dürfen beliebige Namen haben (z.B. Objects defined in DromEd.dml), sie müssen nicht miss20.mis.dml heißen.
Ich habe da mal probeweise zwei DMLs gebastelt, die jeweils ein Objekt mit einer Bezeichnung versehen, wie Apiai das schon gemacht hatte. Beide Objekte wurden dann bei Benutzung mit FMSel mit deutschen Namen aus der entsprechend erweiterten objnames.str versehen. Das Spiel hat also tatsächlich beide DMLs gelesen und beachtet. Mit DarkLoader wurden die DMLs ebenfalls verarbeitet, das sollte auch gehen. NewDarkLoader und AngelLoader habe ich auch hier bisher nicht ausprobiert.
Ein paar Dinge sind da aber noch zu bedenken.
Zunächst mal weiß ich nicht, was passiert, wenn ein bestimmtes Objekt in zwei DMLs geändert wird. Ob dann nur eine DML-Datei beachtet wird oder halt beide angewandt werden, habe ich weder überprüft noch der Datei doc\dbmod-sample.dml entnehmen können. Insbesondere, wenn es eine miss20.mis.dml im Hauptverzeichnis einer FM gibt und auch noch eine weitere Datei dieses Namens in dbmods\miss20mis oder gar in dbmods, würde ich mit Problemen rechnen - müsste man mal überprüfen.
Ferner habe ich noch nicht überprüft, ob NewDark tatsächlich die DMLs in dbmods\miss20mis nur für die Mission "miss20.mis" benutzt, oder ob es auch in einer Folgemission ("miss21.mis", z.B.) wieder ein Objekt mit gleicher Objekt-Nummer umbenennt. Wenn man DML-Dateien in dbmods statt dbmods\miss20mis ablegt, dann passiert das wahrscheinlich.
Sollte es mit sowas Probleme geben, kann man sich mit dem "Fingerprinting" helfen, das ebenfalls in doc\dbmod-sample.dml erklärt wird. Im Prinzip gibt man dabei 8-15 Objekte aus der Mission mit Objektnummer und Raum- bzw. Ortskoordiaten an. Wenn die Mehrheit dieser Objekte ungefähr an den angegebenen Stellen in einer Mission liegen, wird dann der Rest der DML-Datei mit diesem "Fingerprint" drin für diese Mission benutzt. Sind die Unterschiede zwischen den im "Fingerprint" angegebenen und in einer Mission vorgefundenen Objekten aber zu groß, dann wird angenommen, dass diese DML-Datei nicht zu jener Mission "passt", und wird auch nicht geladen. Insbesondere für Kampagnen kann das sinnvoll werden, damit DMLs ganz sicher nur bei der "richtigen" Mission verwendet werden. Details dazu stehen in doc\dbmod-sample.dml im Thief-Verzeichnis drin.
So, nun müssten wir eigentlich alles beisammen haben, was für ein recht komfortables Übersetzen von in DromEd vergebenen Namen nötig ist. Und den DML-Dateien im Hauptverzeichnis der Mission oder auch in dem FMDML-Verzeichnis, das z.B. im letzten T2Fix enthalten ist und das gesammelte "DML-Fixes" für diverse Missionen enthält, kommen wir so auch nicht in die Quere.
Und mein Posting ist auch mal wieder lang genug, um als abschreckendes Beispiel dienen zu können.