SuSt Graph und Rhombs

Forum zum Thema Modding, um dort über "Neue Einheiten", Neue Objekte", "Modding Tools" usw zu diskutieren.
Antworten
Benutzeravatar
Gareth
Hauptfeldwebel
Hauptfeldwebel
Beiträge: 458
Registriert: 31.07.2006, 01:40
Wohnort: nicht mehr Dortmund
Kontaktdaten:

SuSt Graph und Rhombs

Beitrag von Gareth »

Ich hätte mal zwei Fragen zur Bearbeitung von Rhombs mit SuSt Graph.
1. Beim Entpacken erzeugt SuSt Graph die Bitmaps der einzelnen Tiles und eine Textdatei mit Zahlen. Welche Bedeutung haben diese Zahlen?
2. Wenn ich eine überarbeitete Bitmap mit zusätzlichen Tiles zu rhombs.res packe, woher bekomme ich dann die zugehörige edt-Datei?
Ich würde mich freuen, wenn mir jemand helfen könnte.

I have two questions about SuSt Graph and rhombs:
1. When I use SuSt Graph for unpacking a rhombs.res file I get the bitmap with all the tiles and a text file with numbers. What do these numbers mean?
2. When packing a reworked bitmap with additional rhombs, I get the new rhombs.res but how do I get the corresponding edt file?
I would be happy if someone could answer my questions.
Free Ukraine from russian aggression!
Benutzeravatar
Gareth
Hauptfeldwebel
Hauptfeldwebel
Beiträge: 458
Registriert: 31.07.2006, 01:40
Wohnort: nicht mehr Dortmund
Kontaktdaten:

Re: SuSt Graph und Rhombs

Beitrag von Gareth »

OK, Frage 2 hat sich mit Hilfe der Erklärungen von Mzach weitgehend erledigt. Lediglich die Frage nach dem als Offset bezeichneten Wert ist noch ungeklärt. Trotz verschiedener Versuche erkenne ich bisher keinen Zusammenhang mit Rhombs.res. Eine Aufklärung wäre sehr hilfreich.

OK, I figured question no. 2 out using Mzachs explanations. But I still don't see any connection between the value offset and rhombs.res. Any help would be very much appreciated.
Free Ukraine from russian aggression!
Tijn
Stabsunteroffizier
Stabsunteroffizier
Beiträge: 294
Registriert: 09.09.2006, 11:33
Wohnort: NL

Re: SuSt Graph und Rhombs

Beitrag von Tijn »

"Offset" ist doch nichts anderes als der Anfang gemessen in Bytes eines einzelnes Objekts relativ zu der Anfang der .RES Datei, da eine solche Datei mehrere Objekte und sonstige Werte enthält? Oder was meinst du genau mit "Offset"?

Ich hab hier noch ein alteres Tool für Rhombs von Sardaukar herumliegen, nennt sich "Texture Tool", da wird den Offset in HEX und DEC angezeigt. Könnte hilfreich sein beim aufklaren.



Gareth hat geschrieben: 28.05.2022, 12:20 OK, Frage 2 hat sich mit Hilfe der Erklärungen von Mzach weitgehend erledigt. Lediglich die Frage nach dem als Offset bezeichneten Wert ist noch ungeklärt. Trotz verschiedener Versuche erkenne ich bisher keinen Zusammenhang mit Rhombs.res. Eine Aufklärung wäre sehr hilfreich.

OK, I figured question no. 2 out using Mzachs explanations. But I still don't see any connection between the value offset and rhombs.res. Any help would be very much appreciated.
Benutzeravatar
Gareth
Hauptfeldwebel
Hauptfeldwebel
Beiträge: 458
Registriert: 31.07.2006, 01:40
Wohnort: nicht mehr Dortmund
Kontaktdaten:

Re: SuSt Graph und Rhombs

Beitrag von Gareth »

Ich hätte mich etwas deutlicher ausdrücken müssen. Was man grundsätzlich unter einem Offset versteht, ist mir schon klar. Ich versuche mal, mein Problem klarer zu formulieren.

Es geht mir um einen bestimmten Wert, der in Rhombs.edt zu jedem Terraintyp gespeichert wird. In seinen Erklärungen zu Rhombs.edt hatte Mzach dabei zuerst von einem Offset gesprochen, der angibt, an welcher Position in Rhombs.res die Tiles des Terraintyps beginnen. Später hat er dann aber ergänzt, dass es sich wohl doch nicht um einen Offset handelt.

Die Tiles werden ohne Kompression in Rhombs.res gespeichert, jedes Tile hat 1024 Bytes. In Rhombs.edt wird zu jedem Terraintyp unter anderem die Anzahl der Tiles gespeichert. Also müsste ein Offset nicht auch noch gespeichert werden, weil man ihn ja problemlos berechnen könnte. Außerdem müsste er ein Vielfaches von 1024 sein. Das ist aber bei dem Wert, den Mzach zuerst als Offset interpretiert hatte, nicht der Fall.

Also hat dieser Wert wohl eine andere Bedeutung. Wenn ich diese Bedeutung kennen würde, könnte ich beliebig große Rhombs.res-Dateien bauen. Bisher kann ich nur in vorhandenen Dateien die Tiles bearbeiten, aber nicht ihre Anzahl verändern.

Das Texture Tool würde ich mir gern mal anschauen. Vielleicht könntest du es im Thread mit den Modding Tools hochladen?
Free Ukraine from russian aggression!
Tijn
Stabsunteroffizier
Stabsunteroffizier
Beiträge: 294
Registriert: 09.09.2006, 11:33
Wohnort: NL

Re: SuSt Graph und Rhombs

Beitrag von Tijn »

Alles klar.

Hab mich damals mit fast allen .RES Dateien auseinandergesetzt, nur nicht mit Rhombs.... Die rhombs.edt Datei enthält aber mit an Sicherheit grenzender Warscheinlichkeit keine Werte für RHOMBS.RES, aber eher für die Minimap, denn in den meisten .edt Dateien sind u.a. 16-Bit Farben (R5-G6-B5) zu diesem Zweck mit drin, und ich schätze das ist auch hier der Fall, von den Werten her.

Leere Einträge in rhombs.edt (es sind immer 8 Schemen drin, auch wenn weniger benutzt werden) sind auf den ersten Blick immer 42 Bytes in Länge. Die unterschiedliche Längen der Einträge der benutzten Schemen lassen sich hochstwarscheinlich berechnen anhand der Anzahl der Tiles pro Schema in rhombs.res.

Ob es möglich sei beliebig grosse Rombs.res-Dateien zu bauen bezweifele ich, ich hab's damals versucht mit Bäumen und Strassen (tree.res & trop.res), da hat aber der Engine selber nicht mit gemacht, also es könnte im Engine hardcodierte Beschränkungen geben bei der Anzahl der Schemen. Ich schätze also 8 Schemen ist max.. Bin aber troztdem gespannt was da noch geht.
Benutzeravatar
Gareth
Hauptfeldwebel
Hauptfeldwebel
Beiträge: 458
Registriert: 31.07.2006, 01:40
Wohnort: nicht mehr Dortmund
Kontaktdaten:

Re: SuSt Graph und Rhombs

Beitrag von Gareth »

Hallo Tijn,
zuerst einmal ganz herzlichen Dank für das Texture Tool. Ich werde mal schauen, was ich damit noch herausfinden kann.

Das Format von Rhombs.edt hat Mzach damals gut erklärt, leider mit der Ausnahme des Wertes, den er als Offset bezeichnet hat (Kommentare sind von mir):
type
TTerrains = packed record
count: integer; // Anzahl der Terraintypen, max. 8
terrain: array of packed record
name: array[1..32] of char; // Name des Terraintyps
default: integer; // Nummer des Terraintyps, zu dem am Rand der Übergang stattfindet. Die meisten Terrains mischen sich am Rand mit Gras.
offset: word; // Das ist der Wert, dessen Bedeutung ich gern wüsste.
count: integer; // Anzahl der Tiles zu dem Terraintyp
values: array[byte] of byte // für jedes Tile: Art des Übergangs zu dem Terraintyp aus default, s. angehängtes Bild aus Mzachs Beschreibung
end
end;
Blending Types.jpg
Blending Types.jpg (16.74 KiB) 1749 mal betrachtet
Rhombs.edt ist also vor allem eine Beschreibung des Inhalts von Rhombs.res. Mzachs Erklärungen konnte ich im Hexeditor an verschiedenen Rhombs.edt und den Grafiken aus der zugehörigen Rhombs.res problemlos nachvollziehen. Nur der Wert, der als Offset bezeichnet wird, ist für mich nicht nachvollziehbar. Mzach hat dazu selbst geschrieben:
Well, I just had a brief look at rhombs.edt in a hexeditor and frankly, I can't figure out how I over a year ago came to that conclusion, that offset represented an offset for the texture tiles in rhombs.res. When I figure it out I'll let you know.
Leider hat er sich zur Bedeutung von Offset entweder nicht mehr geäußert oder die Information ist nicht bei mir angekommen. Ich habe Mzachs Infos zu den Dateiformaten erst spät in Teilen im Netz gefunden, als das Forum, in dem er sie präsentiert hatte, schon nicht mehr existierte. Daher weiß ich nicht, ob er noch mehr zu den Dateiformaten geschrieben hat, als hier im Forum zu finden ist.
Die Anzahl der Terraintypen ist wohl auf 8 beschränkt, aber zu jedem Terraintyp kann man unterschiedlich viele Tiles definieren. Ich würde gern die Anzahl der Tiles für jeden Terraintyp erhöhen, um etwas mehr Variation in den Texturen zu haben.


Bei der Gelegenheit hätte ich noch eine weitere Frage: Hast du Infos zum Aufbau des pck-Formats, vor allem für Fahrzeuge? Oder vielleicht ein Stückchen Code zum Lesen von *.pck? Das ist noch eine weitere Baustelle, an der ich bisher nicht so erfolgreich gearbeitet habe.
Free Ukraine from russian aggression!
Tijn
Stabsunteroffizier
Stabsunteroffizier
Beiträge: 294
Registriert: 09.09.2006, 11:33
Wohnort: NL

Re: SuSt Graph und Rhombs

Beitrag von Tijn »

Hi Gareth,

Weil das einzige was fehlt in dieser Beschreibung die Minitile-Definition ist, und wenn du ganz sicher bist was die anderen Werten angeht, dann wurde ich ahnen das es sich um eine 16bits Farbe handelt. Word = 2 bytes = 16 bits, wurde passen...


Was den Aufbau des .pck Formats betrifft, in Modding Notes 5.5x8.5 ist eine Beschreibung drin von Standard SS2 Graphics, samt Code, darauf hab ich meine Tools auch basiert. Und ich sollte noch irgendwo den Source Code von d_sprague herumliegen haben, weiss momentan nicht gerade wo, werde ich mal nachschauen.
Benutzeravatar
Gareth
Hauptfeldwebel
Hauptfeldwebel
Beiträge: 458
Registriert: 31.07.2006, 01:40
Wohnort: nicht mehr Dortmund
Kontaktdaten:

Re: SuSt Graph und Rhombs

Beitrag von Gareth »

Noch einmal bedankt. Schön, dass du hier immer noch mal reinschaust und den verbliebenen SuStern bei Bedarf mit gutem Rat zur Seite stehst. Sind in den pck-Dateien also nur die Grafiken? Dann war ich bisher auf einer völlig falschen Spur unterwegs. Über den Quellcode von d_sprague würde ich mich natürlich sehr freuen.

Was die Sache mit den Rhombs angeht: Die Idee, dass es sich um einen RGB-Wert im SuSt-Format handeln könnte, schien mir zunächst ganz plausibel zu sein. Beim Vergleich verschiedener Schemes habe ich dann aber doch Zweifel bekommen. Bei den Schemes aus Vanilla-SSRW ist z.B. außer im Winterschema immer $80 02 für das erste Terrain eingetragen. Das ist beim Normal-Schema und beim Island-Schema Gras, aber beim Desert-Schema Sand. Das widerspricht der Interpretation als Farbwerte, denn die Grastextur wird ja in der Minimap in einer anderen Farbe dargestellt als die Sandtextur.

Ich habe dann einen weiteren Versuch gemacht, bei dem ich die Bitmaps der Tiles vollständig mit einem stark erhöhten Wert für den Blaukanal eingefärbt, die Werte in Rhombs.edt aber unverändert gelassen habe. Im Editor und im Spiel wurden Karte, taktische Karte und Minimap trotzdem mit dem Blaustich dargestellt. Die Darstellung scheint bei den Rhombs also auf der Basis der Tiles in Rhombs.res berechnet zu werden, entweder beim Laden oder Erzeugen der Map oder on the fly.

Die Werte, die in Mzachs Erklärung zu Rhombs.edt als Offset bezeichnet werden, sind bei Terrains mit der gleichen Nummer oft (aber nicht immer) identisch. Wasser (Terrain 7) hat z.B. in SSRW immer den Wert $12 00, das letzte Terrain immer den Wert $20 C6. Vielleicht haben diese Werte tatsächlich eher mit der Position des Terrains in Rhombs.edt zu tun. Was sie genau bedeuten, ist mir allerdings immer noch nicht klar.

Inzwischen bin ich aber beim Einfügen zusätzlicher Tiles weiter gekommen. Ich vermute, dass ich bei meinen bisherigen gescheiterten Versuchen irgendwie ein Problem mit der Palette verursacht habe. Bei meinem letzten Versuch hat es geklappt. Ich habe neue Tiles eingefügt, die Anzahl der Tiles in der edt-Datei entsprechend verändert und auch die Blending Options passend gesetzt. Mal sehen, wie viele zusätzliche Tiles die Rhombs-Dateien vertragen...
Free Ukraine from russian aggression!
Tijn
Stabsunteroffizier
Stabsunteroffizier
Beiträge: 294
Registriert: 09.09.2006, 11:33
Wohnort: NL

Re: SuSt Graph und Rhombs

Beitrag von Tijn »

Irgendwie fühlt SuSt wie eine erste Liebe die mann nie ganz vergessen kann :)

Pck-Dateien enthalten nur die Grafiken in RLE Format, stimmt. Farbpalette befindet sich wie bekannt in der .pl Datei, dazu kommen dann noch die .hot und .inf Dateien für plazierung von animationen, aufgesessener Infantrie etc.

Ok, dann hat sich meine Hypothese, dass es sich um Farben handelt, als falsch erwiesen. Möglich handelt es sich noch um zwei Bytes, z.B. x- und y- (relative) Koordinate von irgendwas, keine Ahnung. Bleibt nur noch übrig mit dem unbekannten Wert zu experimentieren bis zum geht nicht mehr.

Stehen irgendwelche Werte vielleicht noch in Verbindung mit den Paletten in rhombs.pl, oder wie funktioniert das? Je mehr Tiles, desto mehr Paletten in der .pl, auf jeden Fall. Vielleicht bringt in dieser Hinsicht angehängtes altes Tool womit sich die Paletten in einer .pl Datei anschauen lassen noch was?
Dateianhänge
PaletteCollator.zip
(21.23 KiB) 86-mal heruntergeladen
Benutzeravatar
Gareth
Hauptfeldwebel
Hauptfeldwebel
Beiträge: 458
Registriert: 31.07.2006, 01:40
Wohnort: nicht mehr Dortmund
Kontaktdaten:

Re: SuSt Graph und Rhombs

Beitrag von Gareth »

Tijn hat geschrieben: 10.06.2022, 20:39 Irgendwie fühlt SuSt wie eine erste Liebe die mann nie ganz vergessen kann :)
Das hast du wirklich schön und zutreffend formuliert. Genau so ist es. :D

Zu den Paletten in rhombs.pl: Laut Mzach ist es im wesentlichen die gleiche Palette, nur in verschiedenen Helligkeitsstufen. Dadurch wird erreicht, dass im Editor das Terrain aufgehellt und abgedunkelt werden kann. Ich habe mir die Datei mal mit dem Palette Collator Tool angeschaut, das ich schon oft für die Arbeit mit Paletten benutzt habe. Ist, glaube ich, auch eins von den schönen Tools, die von dir stammen, oder? Jedenfalls scheint Mzachs Aussage plausibel zu sein. Die Paletten enthalten ähnliche Farbtöne und sind in unterschiedlichen Helligkeitsstufen vorhanden. Allerdings gibt es leichte Unterschiede im Aufbau der einzelnen Paletten, wenn ich das richtig gesehen habe. Da werde ich auf jeden Fall nochmal genauer nachforschen müssen. Mal sehen, wann ich dazu komme. Das Real Life ist im Moment ziemlich fordernd.

Dadurch werde ich in nächster Zeit auch nicht so schnell dazu kommen, mit verschiedenen Werten für offset (ich nenne es weiter so, bis ich weiß, was es tatsächlich ist) zu experimentieren. Bisher habe ich mit veränderten Werten nur Abstürze produziert. Den Editor haben die veränderten Werte bei meinen Versuchen nicht gestört. Die Testmaps wurden problemlos erzeugt, konnten als Mission generiert und im Spiel gestartet werden. Kurz nach Missionsbeginn kam dann aber ein Absturz, teilweise Freeze, teilweise btw.

Hinweise auf die rhombs.pl gibt es in rhombs.edt nicht, wie gesagt konnte ich Mzachs Erklärung bis auf offset an verschiedenen rhombs.edt nachvollziehen. Es scheint wirklich so zu sein, dass die Tiles aus Rhombs.res gelesen und die Paletteneinträge, aus denen die Tiles bestehen, anhand der zugehörigen rhombs.pl interpretiert werden. Dabei wird wahrscheinlich die Palette aus der Mitte von rhombs.pl als Standard benutzt. Die anderen Paletten werden nur verwendet, wenn man im Editor die Helligkeit des Terrains verändert. Die Infos aus rhombs.edt werden wohl vor allem benötigt, um die Übergänge zwischen den Terrains zu realisieren. Das würde dann wahrscheinlich auch heißen, dass Spiel und Editor mit den gleichen Tiles-Grafiken arbeiten, denn verkleinerte Versionen der Grafiken wie bei anderen res-Files scheint es ja nicht zu geben.

Mit pck werde ich dann dank deiner Erklärungen auch noch einmal einen neuen Versuch machen. Da war ich bisher offenbar wirklich völlig blockiert. :roll:
Free Ukraine from russian aggression!
Tijn
Stabsunteroffizier
Stabsunteroffizier
Beiträge: 294
Registriert: 09.09.2006, 11:33
Wohnort: NL

Re: SuSt Graph und Rhombs

Beitrag von Tijn »

Wir verstehen uns :)

Stimmt, hab damals ein paar Tools gebaut, so wie ich sie brauchte. Es wäre noch viel mehr moglich, ist aber, wie alles in SuSt, sehr zeitaufwendig, und wie du sagst, RL is fordernd und ich müsste die Pläne für Tools und Mods letztendlich auf Eis legen.

Ich hoffe du hältst uns auf den Laufenden falls es weitere Fortschritte gibt.

*Hab sogar die Quellecode sowie eine Version von sust_units gefunden. Bin mir nicht sicher ob die Code die Version entspricht, sollte dir aber trotzdem auf deinem Weg helfen.
Dateianhänge
sust_units.ZIP
(384.54 KiB) 91-mal heruntergeladen
Benutzeravatar
Gareth
Hauptfeldwebel
Hauptfeldwebel
Beiträge: 458
Registriert: 31.07.2006, 01:40
Wohnort: nicht mehr Dortmund
Kontaktdaten:

Re: SuSt Graph und Rhombs

Beitrag von Gareth »

Nochmals vielen Dank. Den Sourcecode werde ich mir anschauen, wenn ich mich wieder ein bisschen mehr mit SuSt beschäftigen kann. Die nächsten vier bis fünf Wochen wird mich mein Job leider so in Anspruch nehmen, dass ich kaum zum Modden kommen werde. Danach ist dann aber der Jahresurlaub in Sicht. Da ist wieder mehr Zeit dafür. Auf dem Programm steht dann zwar vor allem, dass ich mit meinem Private Little Mod vorwärts komme, aber auch einige andere Dinge, z.B. die Neuorganisation der Paletten für stand.res. Wenn sich da Fortschritte ergeben, werde ich natürlich berichten.
Free Ukraine from russian aggression!
Antworten

Zurück zu „Alles zum Thema Modding“