In Dune 2 kann man sich mit dem üblichen Trick mehr Geld beschaffen:
Geldstand merken, Spiel abspeichern, Geldstand in Hexadezimal umrechnen,
High- und Low-Byte vertauschen (z.B. sind 4321 Kredits in hexadezimal
10E1, also sucht man nach E1 10), diese Bytefolge mit Debug oder einem
Hexeditor im Savegame suchen (Name der Datei: _SAVExxx.dat) und durch
eine kaufkräftigere Bytefolge ersetzen.
Sollte diese Zahl mehrmals in der Datei vorhanden sein, so ist in der
Regel die letzte Zahl die richtige (im Zweifelsfall einfach
ausprobieren).
Achtung:
Dune 2 speichert den Geldwert mit Vorzeichen, also liegt der maximale
Geldstand bei 32767 (7FFF hex). Höhere Werte können manchmal
zu Programmabsturz führen.
Dune 2 bietet aber noch viel mehr...
Im Grunde genommen enthält Dune 2 einen kleinen Leveleditor in Form
der Datei 'SCENARIO.PAK'. Da stehen nämlich alle relevanten Faktoren
für die einzelnen Level im Textformat drin. Da die Datei recht groß
ist, läßt sie sich mit kaum einem Editor bearbeiten, und oft
kann die Datei nicht richtig gespeichert werden. Doch unter Windows geht
es mit Write ganz hervorragend. Die zweite Falle ist die Dateilänge;
ist die Datei auch nur ein Byte größer, stürzt das Programm
ab. Mit einigen Bytes weniger funktioniert es zwar manchmal, dennoch ist
auch dies nicht empfehlenswert. Das liegt an der Art der Datei - SCENARIO.PAK
ist eine gepackte (aber unkomprimierte) Datei, die viele kleine Leveldateien
enthält. Am Anfang jeder *.PAK-Datei ist eine Liste alle enthaltenen
Dateien sowie deren Lage in der PAK-Datei (im Format 3-Byte-Offset, Nullbyte,
Dateiname, Nullbyte, usw.). Also wird eine änderung der Dateilänge
relativ sicher in einer Fehlfunktion des Programms enden. Es sei denn,
man berechnet die Offsets neu. Den Aufwand kann ich allerdings niemandem
empfehlen. Um die Dateilänge konstant zu halten, kann man natürlich
auch Füllbytes an geeigneter Stelle (Kommentarzeilen) einfügen.
Allerdings muß dabei auf die Größe jedes einzelnen Scenarios
geachtet werden.
Daher lautet mein Tip: Es ist am einfachsten, Einheiten
in andere "gleichlange" Einheiten umzutaufen. Man kann bei seinen Gegnern
ja z.B. einen LAUNCHER in INFANTRY verwandeln, ohne aufwendig Ausgleich-Bytes
einfügen zu müssen. Oder wie wäre es mit CONCRETE statt R-TURRET ?
Für die max. Geldmenge gilt das oben Gesagte. Dementsprechend könnte man dem Computer doch mal eine negative Summe zukommen lassen ...
Interessant ist auch die Zahl der max. möglichen Einheiten pro Spieler. Hier kann man gerne die Werte erhöhen, wenn man bedenkt, daß das Programm nicht unendlich viele Einheiten verwalten kann. Wenn man es aber nicht übertreibt oder stattdessen dem Computer weniger Einheiten erlaubt (ist auch ganz praktisch) dann gibt es auch keine Probleme.
Was die CHOAM (die galaktische Händlergilde, bei der man Einheiten kaufen kann) betrifft, so stellen die Einstellungen die Anzahl der beim Start des Levels verfügbaren Einheiten dar (ändert sich ohnehin fast sofort), NICHT die absolute Anzahl (diese wird immer wieder ergänzt).
Hier nun die Aufschlüsselung der einzelnen SCENARIO.PAK - Abschnitte:
REGIONA.INI |
Liste aller enthaltenen Dateien mit Offset (siehe oben) |
[GROUPx] |
Es gibt 8 "Groups" pro Haus, die der 2.- 9. Spielrunde entsprechen und nachfolgende Angaben enthalten |
ATR = 5, 12 ORD = 19, 27, 26, 25 HAR = 6, 5, 4, 10, 3, 9 |
Hier werden die in der letzten Runde bzw. Schlacht eroberten
Gebiete pro Haus festgelegt. Jedes Gebiet ist dabei durch eine
Nummer kodiert (siehe unten). Bedeutung der Abkürzungen: "ATR" = Atreides, "ORD" = Ordos, "HAR" = Harkonnen, "SAR" = Sardaukar |
REG1 = 8, 3, 80, 80 REG2 = 15, 2, 101, 118 REG3 = 23, 3, 152, 136 |
Die Gebiets-Auswahlmöglichkeiten für die nächste Runde. Format: GebietsNr., Art des Pfeils, X-Koord., Y-Koord.(auf Planetenkarte) |
ENGTXTxx = The Atreides claimed... ENGTXTxx = House Ordos moved... ENGTXTxx = The Harkonnen invaded... FRETXTxx = ... FRETXTxx = ... FRETXTxx = ... GERTXTxx = Atreides verlangen... GERTXTxx = Ordos sind in... GERTXTxx = Harkonnen fallen... |
Hier stehen die Texte, die bei der Gebietskarte erscheinen (für alle Sprachen). Die Texte lassen sich ohne Probleme ändern. |
[PIECES] 1 = 0, 0 . . . 27 = 249, 77 |
Hier werden die Nr. der Gebiete den Koordinaten auf der Karte
zugeordnet. Dieser Abschnitt ist sehr wichtig, um die Gebiete
den Scenarios zuordnen zu können. Die Scenarios sind
einfach durchnumeriert:
Scenario2 = GROUP1, REG1
Senario 1 ist die Anfangsmission, die keinem Gebiet auf der
Planetenkarte entspricht.
Scenario3 = GROUP1, REG2 Scenario4 = GROUP1, REG3 Scenario5 = GROUP2, REG1 usw. |
[INFO] TOTAL REGIONS = 27 |
Es gibt insgesamt 27 Gebiete auf der Karte |
Die Abschnitte GROUPx, PIECES, INFO gibt es je dreimal - für jedes Haus je einen. | |
Scenario xx control for house Atreides. |
xx = 01 - 22 entspricht den 22 Scenarios pro Haus (es gibt nicht für jedes Haus zu jedem Gebiet ein Scenario). |
Alle folgenden Abschnitte sind pro Scenario jeweils einmal vorhanden. | |
[BASIC] |
|
LosePicture=LOSTBILD.WSA |
Schlußgrafik bei Niederlage |
WinPicture=WIN1.WSA |
Schlußgrafik bei Sieg |
BriefPicture=HARVEST.WSA |
Grafik bei Einweisung vom Mentat |
TimeOut=0 |
Zeitlimit (?) - noch nicht ausprobiert |
MapScale=1 |
Größe der Karte (0 - groß, 1 - klein) |
CursorPos=1630 |
Startposition des Cursors (?) - nicht ausprobiert |
TacticalPos=1367 |
? - nicht ausprobiert |
LoseFlags=4 |
? |
WinFlags=6 |
? |
[MAP] |
Aufbau des Levels |
Field=1300,1510 |
? - noch nicht ausprobiert |
Bloom=2409 |
? - noch nicht ausprobiert |
Seed=353 |
Gewürzverteilung im Level (?) |
[Atreides] |
Spielbedingungen der beteiligten Häuser Häuser: "Atreides", "Ordos", "Harkonnen" Eines davon steuert der Spieler, die anderen werden vom Computer gesteuert. Sardaukar sind die Truppen des Imperators und somit immer Gegner des Spielers. |
Quota=1000 |
Mindestmenge der Gewürzförderung |
Credits=1000 |
Startkapital |
Brain=Human |
Wer steuert das Haus: "Human" = Mensch, "CPU" = Computer |
MaxUnit=25 |
Höchstzahl gleichzeitig vorhandener Einheiten |
[Ordos] |
Und dasselbe für die Gegner |
Quota=0 Credits=0 Brain=CPU MaxUnit=16 |
|
[CHOAM] |
(Anfängliches) Angebot am Raumflughafen: Einheiten und deren Anzahl |
Launcher=2 Trike=3 Quad=-1 |
|
[TEAMS] |
Angreifende Einheiten der Computergegner |
1=Ordos,Kamikaze,Foot,4,6 2=Ordos,Kamikaze,Track,4,6 3=Ordos,Normal,Track,4,6 4=Ordos,Kamikaze,Wheel,3,5 |
Format: Haus, Angriffsart, ?, Anzahl Einheiten?, ? Angriffsart: "Normal" = bei Mißerfolg Rückzug, "Kamikaze" - kämpfen bis alle Einheiten vernichtet sind |
[UNITS] |
Bei Start des Scenarios bereits vorhandene Einheiten |
ID038=Ordos,Soldier,256,1246,64,Ambush ID037=Ordos,Soldier,256,1384,64,Ambush ID036=Atreides,Soldier,256,1439,64,Guard ID035=Ordos,Soldier,256,1430,64,Ambush ID034=Atreides,Trike,256,1501,224,Guard ID033=Atreides,Soldier,256,1569,64,Guard ID032=Atreides,Soldier,256,1697,128,Guard ID031=Ordos,Soldier,256,1817,64,Ambush ID030=Atreides,Trike,256,1824,96,Guard ID022=Ordos,Soldier,256,3985,64,Hunt ID019=Fremen,Sandworm,256,2515,64,Ambush |
Format: Haus, Art, Hitpoints, ?, ?, Befehl Befehle: "Guard" = überwachung, "Ambush" = Hinterhalt, "Hunt" = Angriff, "Area Guard" = Gebiet schützen Das Haus bestimmt, wer der Einheit Befehle erteilen darf. Außer "Atreides", "Ordos", "Harkonnen" und "Sardaukar" gibt es auch noch "Fremen", die gegen alle anderen Einheiten kämpfen (angeblich soll der Sandwurm ein gute Waffe sein). |
[STRUCTURES] |
Alle bei Start des Scenarios bereits vorhandenen Gebäude |
ID000=Atreides,Const Yard,256,1630 |
Format: Haus, Art, Hitpoints, ? |
[REINFORCEMENTS] |
Später eintreffende Verstärkungen |
1=Sardaukar,Troopers,Enemybase,12+ 2=Ordos,Siege Tank,Enemybase,12+ 3=Sardaukar,Troopers,Enemybase,14+ 4=Harkonnen,Siege Tank,Enemybase,14+ 5=Ordos,Troopers,Enemybase,21+ 15=Sardaukar,Troopers,Enemybase,30+ |
Format: Haus, Art, Position, Entfernung Die Position bestimmt nicht nur den Ort, wo die Einheiten erscheinen, sondern auch deren Verhalten: "Enemybase" = Die Einheiten werden in der angegebenen Entfernung von einem feindlichen Stützpunkt abgesetzt und verhalten sich offensiv (Angriffseinheiten) "Homebase" = Die Einheiten werden in der angegebenen Entfernung vom eigenen Stützpunkt abgesetzt und verhalten sich defensiv (Verteidigungseinheiten) |
Anmerkung: Kommentarzeilen (erkennbar am Semikolon am Anfang) dienen nur der Erläuterung der Abschnitte und wurden hier nicht aufgeführt
Um die Arbeit etwas zu erleichtern folgt hier noch eine Zuordunng der einzelnen Scenarios zu den Gebieten auf der Planeten-übersichtskarte. Die Numerierung der Gebiete ist aus der Karte ersichtlich (ansonsten gilt die Regel: reihenweise von links oben nach rechts unten):
Scenario | Nummer des Gebiets auf der Planetenkarte | ||
---|---|---|---|
Atreides | Ordos | Harkonnen | |
1 | Anfangsmisson (findet nicht auf der Planetenkarte statt) | ||
2 | 8 | 15 | 1 |
3 | 15 | 16 | 2 |
4 | 23 | 17 | 8 |
5 | 1 | 14 | 17 |
6 | 2 | 22 | 11 |
7 | 3 | 8 | 12 |
8 | 4 | 13 | 25 |
9 | 9 | 20 | 18 |
10 | 16 | 21 | 19 |
11 | 17 | 11 | 13 |
12 | 25 | 18 | 7 |
13 | 24 | 12 | 14 |
14 | 10 | 1 | 24 |
15 | 11 | 7 | 26 |
16 | 18 | 2 | 27 |
17 | 19 | 10 | 20 |
18 | 27 | 5 | 21 |
19 | 26 | 6 | 22 |
20 | 5 | 3 | 16 |
21 | 12 | 9 | 23 |
22 | 6 | 4 | 15 |
Auflistung aller Gebäude und ihrer in der SCENARIO.PAK verwendeten Bezeichnungen:
Gebäude | SCENARIO.PAK | Energiebedarf | Größe (Felder) |
---|---|---|---|
Betonplatte | Concrete | - | 1 |
Mauer | Wall | - | 1 |
Windfalle | Windtrap | - | 4 |
Raffinerie | Refinery | 30 | 6 |
Gewürzsilos | Spice Silo | 5 | 4 |
Vorposten | Outpost | 30 | 4 |
Turm | Turret | 10 | 1 |
Raketenturm | R-Turret | 25 | 1 |
Bauanlage | Const Yard | - | 4 |
Kaserne | Barracks | 10 | 4 |
WOR | WOR | 20 | 4 |
Kleine Fabrik | Light Fctry | 20 | 4 |
Große Fabrik | Heavy Fctry | 35 | 6 |
High-Tech-Fabrik | Hi-Tech | 35 | 6 |
Reparaturanlage | Repair | 20 | 6 |
IX (Forschungszentrum) | IX | 40 | 4 |
Raumflughafen | - | 50 | 9 |
Palast | Palace | 80 | 9 |
Auflistung aller Einheiten und ihrer in der SCENARIO.PAK verwendeten Bezeichnungen:
Einheit | SCENARIO.PAK |
---|---|
Erntemaschine | Harvester |
MBF (Mobiles Baufahrzeug) | MCV |
Fußtruppen (1 Mann) | Soldier |
Fußtruppen (3 Mann) | Infantry |
Troopers | Troopers |
Trike | Trike |
Quad | Quad |
Kampfpanzer | Tank |
Raketenpanzer | Launcher |
Belagerungspanzer | Siege Tank |
Carryall | Carryall |
Ornithopter | Thopter |
Sonic Tank | Sonic Tank {nur Atreides} |
Deviator | Deviator {nur Ordos} |
Raider | Raider Trike {nur Ordos} |
Devastator | Devastator {nur Harkonnen} |
Sandwurm | Sandworm {unabhängig} |
Sardaukar | - {verschiedene Einheiten} |
Fremen | - {Geheimwaffe Atreides} |
Saboteur | - {Geheimwaffe Ordos} |
Totenhand | - {Geheimwaffe Harkonnen} |
Abschließend noch ein Tip für alle, die gern am Programm selber
rumbasteln:
Die Bildschirmtexte (in den Dateien GERMAN.PAK, FRENCH.PAK, ENGLISH.PAK)
lassen sich mit einem Texteditor oder besser einem Hexeditor verändern
(z.B. auch die Rangbezeichnungen im Highscore).
Und wer die Dune 2 - Sounds anderswo verwenden will, der sollte sich
ebenfalls die Inhalte der verschiedenen *.PAK-Dateien ansehen (z.B. VOC.PAK,
ORDOS.PAK, ...). Anhand der Offsets am Dateianfang kann man sich die
VOCs so gut herauskopieren (natürlich mit einem geeigneten Hexeditor).