28.08.2025, 16:18
So, mir tut es wirklich leid, dass ich das Projekt Anfang letzten Jahres so groß angekündigt, aber dann im Sand verlaufen lassen habe.
Ich hatte mit Speicherproblemen unter C++ zu kämpfen, war frustriert und habe es deshalb auf Eis gelegt.
Durch die Soundtrack-CD von Johannes habe ich nun aber wieder neue Motivation gefunden, etwas in dieser Richtung zu schaffen.
Also zum aktuellen Stand der Möglichkeiten der Soundtrack-Modifizierung:
a) Location – Soundtrack-Zuordnungen per Hex-Editor verändern
In der RIVA.EXE gibt es eine Stelle, an der die Soundtrack-Zuordnungen zu den 3D-Örtlichkeiten ablesbar und modifizierbar sind.
Dies lässt sich über den Suchstring
in der RIVA.EXE ermitteln.
Dies ist bereits die komplette Soundtrack-Zuordnung für die Dungeons. In der deutschen Version V1.12 befindet sich der Block an Position 0x24931C.
In der Reihenfolge der Dungeons wird die jeweilige Track-ID (der Spiele-CD) aufgelistet. Man muss allerdings jeweils +1 addieren, um die tatsächliche Track-ID zu erhalten. Beispiel: 0C → 12, +1 = Track 13.
Die folgende Tabelle listet die Dungeons in ihrer Reihenfolge auf, ergänzt um Tracknamen und Abkürzungen:
ID Descr Abr Section Name GameMusicIDHex GameMusicID TrackID Trackname
-- -------- --- ----------------------------- -------------- ----------- ------- -------------------
0 RIVA01 RI1 Riva 0C 12 13 Deep Into The Pain
1 SEWER01 KA1 Neue Kanalistation 01 1 2 The Lurking Horror
2 SEWER02 KA2 Alte Kanalisation 01 1 2 The Lurking Horror
3 SEWER03 KA3 Versteck der Feylamia 01 1 2 The Lurking Horror
4 ENV01 NA1 Magierturm Sumpf 02 2 3 Sooth My Soul
5 ENV02 NA2 Umland von Riva 02 2 3 Sooth My Soul
6 FESTE01 FE1 Feste zu Riva 05 5 6 Unholy March
7 STAR01 DA1 Hafenbecken 07 7 8 How Deep Can We Go?
8 STAR02 DA2 Abendstern 07 7 8 How Deep Can We Go?
9 STAR03 DA3 Weinkeller 07 7 8 How Deep Can We Go?
10 FINAL01 F1 Bau der Wurmkönigin 1. Ebene 08 8 9 Hunted!
11 FINAL02 F2 Bau der Wurmkönigin 2. Ebene 08 8 9 Hunted!
12 FINAL03 F3 (existiert nicht!) 08 8 9 Hunted!
13 BORON01 BO1 Boronsacker 0B 11 12 To The Hilt
14 BORON02 BO2 Boronsacker (Gruft) 0B 11 12 To The Hilt
15 MINE01 ZW1 Zwergenbinge 1.Ebene 03 3 4 Proud We Stand
16 MINE02 ZM2 Zwergenbinge 2.Ebene 03 3 4 Proud We Stand
17 MINE03 ZM3 Zwergenbinge 3.Ebene 03 3 4 Proud We Stand
18 MAGT01 MA1 Magierturm Garten 0A 10 11 Te Extinguo!
19 MAGT02 MA2 Magierturm 1.Ebene 0A 10 11 Te Extinguo!
20 MAGT03 MA3 Magierturm 2.Ebene 0A 10 11 Te Extinguo!
21 MAGT04 MA4 Magierturm 3.Ebene 0A 10 11 Te Extinguo!
22 MAGT05 MA5 Magierturm 4.Ebene 0A 10 11 Te Extinguo!
23 SHIP01 SC1 Windsbraut 2.Unterdeck 07 7 8 How Deep Can We Go?
24 SHIP02 SC2 Windsbraut 1.Unterdeck 07 7 8 How Deep Can We Go?
25 SHIP03 SC3 Windsbraut Oberdeck 07 7 8 How Deep Can We Go?
26 MARKET01 MH1 Markthalle zu Riva 0C 12 13 Deep Into The Pain
27 FINAL04 FIX Bau der Wurmkönigin Labyrinth 08 8 9 Hunted!
28 INVALID! STA 0D 13 14
b) Hardcodierte Soundtracks
Die Titel Pondering In Solitude und What A Jolly Band sind fest im Code an vielen Stellen eingebaut – etwa beim Betreten von Tavernen, Herbergen, Tempeln sowie im Charakterbildschirm oder bei der Generierung.
Ein natives Patchen (direkt in der RIVA.EXE) wäre deutlich aufwändiger, daher verfolge ich diesen Ansatz momentan nicht weiter.
c) Eigener Musik-Player
Ich plane in Kürze eine Version des Riva-Dosbox-Loggers zu veröffentlichen, der den „Musikplayer“ des Spiels komplett ersetzt. Damit wäre es möglich, sehr fein granular eigene Soundtrack-Zuordnungen für Dungeons, Spielbildschirme, Gebäude oder Kämpfe festzulegen.
Ziele dabei:
- Deutlich mehr Musikdateien einbinden
- In Herbergen zwischen What A Jolly Band und Time To Dance wechseln
- Fish And Ships im Hafenkeller abspielen
- Neustarts identischer Musik vermeiden (wenn ein Dungeon mit derselben Musik betreten wird)
Das sollte auch die ursprünglichen Ideen von violeverde umsetzen.
Ich glaube, die Speicherprobleme inzwischen gelöst zu haben, muss aber noch weiter testen. Außerdem möchte ich noch die Funktion finden, die Kämpfe mit einer bestimmten ID startet. Auch die Video-Sequenzen (die normalerweise Musik pausieren oder stoppen) werde ich mir erneut anschauen.
Gestern habe ich bereits die Funktion zum Betreten eines Gebäudes entschlüsselt und eine Liste der Gebäude-IDs erstellt. Diese werde ich noch um die Typen (Taverne, Tempel, Händler usw.) erweitern.
d) Finale Musik „Good For Good?“
Durch Patchen ließe sich einfach erreichen, dass beim Endscreen (Spielpunkteübersicht) statt des Wurmthemas (Hunted!) „Good For Good?“ abgespielt wird.
Schöner fände ich es jedoch, wenn die Musik bereits mit dem Outro startet. Das wäre aber aufwändiger, und ich weiß noch nicht, ob es überhaupt funktioniert (wegen Mischungen von Musik + Videosound), ob es gut klingt oder den Dialog eventuell überdeckt.
Das also als kurzes Update. Ich hoffe, dass ich bald die Zeit finde, das Thema abzuschließen.
Ich hatte mit Speicherproblemen unter C++ zu kämpfen, war frustriert und habe es deshalb auf Eis gelegt.
Durch die Soundtrack-CD von Johannes habe ich nun aber wieder neue Motivation gefunden, etwas in dieser Richtung zu schaffen.
Also zum aktuellen Stand der Möglichkeiten der Soundtrack-Modifizierung:
a) Location – Soundtrack-Zuordnungen per Hex-Editor verändern
In der RIVA.EXE gibt es eine Stelle, an der die Soundtrack-Zuordnungen zu den 3D-Örtlichkeiten ablesbar und modifizierbar sind.
Dies lässt sich über den Suchstring
Code:
0C 00 01 00 01 00 01 00 02 00 02 00 05 00 07 00 07 00 07 00 08 00 08 00 08 00 0B 00 0B 00 03 00 03 00 03 00 0A 00 0A 00 0A 00 0A 00 0A 00 07 00 07 00 07 00 0C 00 08 00 0D 00 in der RIVA.EXE ermitteln.
Dies ist bereits die komplette Soundtrack-Zuordnung für die Dungeons. In der deutschen Version V1.12 befindet sich der Block an Position 0x24931C.
In der Reihenfolge der Dungeons wird die jeweilige Track-ID (der Spiele-CD) aufgelistet. Man muss allerdings jeweils +1 addieren, um die tatsächliche Track-ID zu erhalten. Beispiel: 0C → 12, +1 = Track 13.
Die folgende Tabelle listet die Dungeons in ihrer Reihenfolge auf, ergänzt um Tracknamen und Abkürzungen:
ID Descr Abr Section Name GameMusicIDHex GameMusicID TrackID Trackname
-- -------- --- ----------------------------- -------------- ----------- ------- -------------------
0 RIVA01 RI1 Riva 0C 12 13 Deep Into The Pain
1 SEWER01 KA1 Neue Kanalistation 01 1 2 The Lurking Horror
2 SEWER02 KA2 Alte Kanalisation 01 1 2 The Lurking Horror
3 SEWER03 KA3 Versteck der Feylamia 01 1 2 The Lurking Horror
4 ENV01 NA1 Magierturm Sumpf 02 2 3 Sooth My Soul
5 ENV02 NA2 Umland von Riva 02 2 3 Sooth My Soul
6 FESTE01 FE1 Feste zu Riva 05 5 6 Unholy March
7 STAR01 DA1 Hafenbecken 07 7 8 How Deep Can We Go?
8 STAR02 DA2 Abendstern 07 7 8 How Deep Can We Go?
9 STAR03 DA3 Weinkeller 07 7 8 How Deep Can We Go?
10 FINAL01 F1 Bau der Wurmkönigin 1. Ebene 08 8 9 Hunted!
11 FINAL02 F2 Bau der Wurmkönigin 2. Ebene 08 8 9 Hunted!
12 FINAL03 F3 (existiert nicht!) 08 8 9 Hunted!
13 BORON01 BO1 Boronsacker 0B 11 12 To The Hilt
14 BORON02 BO2 Boronsacker (Gruft) 0B 11 12 To The Hilt
15 MINE01 ZW1 Zwergenbinge 1.Ebene 03 3 4 Proud We Stand
16 MINE02 ZM2 Zwergenbinge 2.Ebene 03 3 4 Proud We Stand
17 MINE03 ZM3 Zwergenbinge 3.Ebene 03 3 4 Proud We Stand
18 MAGT01 MA1 Magierturm Garten 0A 10 11 Te Extinguo!
19 MAGT02 MA2 Magierturm 1.Ebene 0A 10 11 Te Extinguo!
20 MAGT03 MA3 Magierturm 2.Ebene 0A 10 11 Te Extinguo!
21 MAGT04 MA4 Magierturm 3.Ebene 0A 10 11 Te Extinguo!
22 MAGT05 MA5 Magierturm 4.Ebene 0A 10 11 Te Extinguo!
23 SHIP01 SC1 Windsbraut 2.Unterdeck 07 7 8 How Deep Can We Go?
24 SHIP02 SC2 Windsbraut 1.Unterdeck 07 7 8 How Deep Can We Go?
25 SHIP03 SC3 Windsbraut Oberdeck 07 7 8 How Deep Can We Go?
26 MARKET01 MH1 Markthalle zu Riva 0C 12 13 Deep Into The Pain
27 FINAL04 FIX Bau der Wurmkönigin Labyrinth 08 8 9 Hunted!
28 INVALID! STA 0D 13 14
b) Hardcodierte Soundtracks
Die Titel Pondering In Solitude und What A Jolly Band sind fest im Code an vielen Stellen eingebaut – etwa beim Betreten von Tavernen, Herbergen, Tempeln sowie im Charakterbildschirm oder bei der Generierung.
Ein natives Patchen (direkt in der RIVA.EXE) wäre deutlich aufwändiger, daher verfolge ich diesen Ansatz momentan nicht weiter.
c) Eigener Musik-Player
Ich plane in Kürze eine Version des Riva-Dosbox-Loggers zu veröffentlichen, der den „Musikplayer“ des Spiels komplett ersetzt. Damit wäre es möglich, sehr fein granular eigene Soundtrack-Zuordnungen für Dungeons, Spielbildschirme, Gebäude oder Kämpfe festzulegen.
Ziele dabei:
- Deutlich mehr Musikdateien einbinden
- In Herbergen zwischen What A Jolly Band und Time To Dance wechseln
- Fish And Ships im Hafenkeller abspielen
- Neustarts identischer Musik vermeiden (wenn ein Dungeon mit derselben Musik betreten wird)
Das sollte auch die ursprünglichen Ideen von violeverde umsetzen.
Ich glaube, die Speicherprobleme inzwischen gelöst zu haben, muss aber noch weiter testen. Außerdem möchte ich noch die Funktion finden, die Kämpfe mit einer bestimmten ID startet. Auch die Video-Sequenzen (die normalerweise Musik pausieren oder stoppen) werde ich mir erneut anschauen.
Gestern habe ich bereits die Funktion zum Betreten eines Gebäudes entschlüsselt und eine Liste der Gebäude-IDs erstellt. Diese werde ich noch um die Typen (Taverne, Tempel, Händler usw.) erweitern.
d) Finale Musik „Good For Good?“
Durch Patchen ließe sich einfach erreichen, dass beim Endscreen (Spielpunkteübersicht) statt des Wurmthemas (Hunted!) „Good For Good?“ abgespielt wird.
Schöner fände ich es jedoch, wenn die Musik bereits mit dem Outro startet. Das wäre aber aufwändiger, und ich weiß noch nicht, ob es überhaupt funktioniert (wegen Mischungen von Musik + Videosound), ob es gut klingt oder den Dialog eventuell überdeckt.
Das also als kurzes Update. Ich hoffe, dass ich bald die Zeit finde, das Thema abzuschließen.

