So, habe weiter herumgespielt. Für die Analyse des 3DM-Formats von Riva ist es sicherlich sehr hilfreich, wenn man die Daten verändern kann. Riva entpackt ja erstmal alles, was zu einem 3D-Level gehört, in CTEMP. Dort kann man dann die Dateien manipulieren. Rauslaufen und wieder Betreten der Umgebung bringt Riva dazu, die Dateien wieder einzulesen, allerdings aus CTEMP und nicht aus DUNGEON.ALF. Das ist super, denn so kann ich an den 3DM-Dateien rumspielen und probieren, was im Spiel dann passiert.
Ein kleines Beispiel für diesen Mechanismus ist im folgenden Bild zu sehen. Da habe ich (bis auf die Baum-Textur) alle Texturdateien mit der Marmor-Boden-Textur des Boron-Schreins überschrieben. Einmal raus aus dem Boronsacker und wieder rein zwingt Riva zum Neuladen und ergibt folgendes Ergebnis:
Jetzt habe ich mal eine kleine Grid-Textur erstellt (schwarz-weiß-Schachbrett) und die als Grundlage genutzt:
Eine größere Textur war mir noch nicht möglich. Eventuell habe ich den PIX-Header falsch angepackt, oder aber Riva kann keine 512 ². Wenn das doch gehen würde, wäre einem High-Quality-Texturmod nichts entgegenzusetzen
Man kann den "Beleuchtungsmechanismus" von Riva gut sehen, besonders beim 2. Bild: Die Entfernung gibt einfach eine Helligkeitszunahme an. Das war's auch schon an Shading. Bei den Gräbern kann man das gut erkennen. Es ist noch nichtmal Gouraud-Shading, sonst könnte man die Kanten sehen. Nix, nur Helligkeit. Sehr lustig.
Immerhin ist nun klar, dass man wunderschön mit den Dateien experimentierten kann, ohne die Archive anpacken zu müssen. Das ist ja schonmal was
@HenneHW und andere Debugger-Experten:
Habt ihr schonmal probiert, mit IDApro durch die RIVA.EXE zu gehen? Es verschluckt sich beim DOS4/GW-Loader, wie mir scheint. Hat da jemand eine Idee? Würde gerne den Engine-Code ansehen, aber die Code-Analyse bricht weit vor dem eigentlichen Spiel ab.
EDIT: 2. Versuch hinzugefügt
Ein kleines Beispiel für diesen Mechanismus ist im folgenden Bild zu sehen. Da habe ich (bis auf die Baum-Textur) alle Texturdateien mit der Marmor-Boden-Textur des Boron-Schreins überschrieben. Einmal raus aus dem Boronsacker und wieder rein zwingt Riva zum Neuladen und ergibt folgendes Ergebnis:
Jetzt habe ich mal eine kleine Grid-Textur erstellt (schwarz-weiß-Schachbrett) und die als Grundlage genutzt:
Eine größere Textur war mir noch nicht möglich. Eventuell habe ich den PIX-Header falsch angepackt, oder aber Riva kann keine 512 ². Wenn das doch gehen würde, wäre einem High-Quality-Texturmod nichts entgegenzusetzen
Man kann den "Beleuchtungsmechanismus" von Riva gut sehen, besonders beim 2. Bild: Die Entfernung gibt einfach eine Helligkeitszunahme an. Das war's auch schon an Shading. Bei den Gräbern kann man das gut erkennen. Es ist noch nichtmal Gouraud-Shading, sonst könnte man die Kanten sehen. Nix, nur Helligkeit. Sehr lustig.
Immerhin ist nun klar, dass man wunderschön mit den Dateien experimentierten kann, ohne die Archive anpacken zu müssen. Das ist ja schonmal was
@HenneHW und andere Debugger-Experten:
Habt ihr schonmal probiert, mit IDApro durch die RIVA.EXE zu gehen? Es verschluckt sich beim DOS4/GW-Loader, wie mir scheint. Hat da jemand eine Idee? Würde gerne den Engine-Code ansehen, aber die Code-Analyse bricht weit vor dem eigentlichen Spiel ab.
EDIT: 2. Versuch hinzugefügt