Dune 2

Zuwenig Geld ?
Beschreibung der SCENARIO.PAK Datei
Zuordnung der Scenarien zu den Gebieten auf der Planetenkarte
Liste aller Gebäude
Liste aller Einheiten
Für Fortgeschrittene

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
Scenario3 = GROUP1, REG2
Scenario4 = GROUP1, REG3
Scenario5 = GROUP2, REG1
usw.
Senario 1 ist die Anfangsmission, die keinem Gebiet auf der Planetenkarte entspricht.
[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):

Planetenkarte mit Gebietsnummern
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
ErntemaschineHarvester
MBF (Mobiles Baufahrzeug)MCV
Fußtruppen (1 Mann)Soldier
Fußtruppen (3 Mann)Infantry
TroopersTroopers
TrikeTrike
QuadQuad
KampfpanzerTank
RaketenpanzerLauncher
BelagerungspanzerSiege Tank
CarryallCarryall
OrnithopterThopter
Sonic TankSonic Tank {nur Atreides}
DeviatorDeviator {nur Ordos}
RaiderRaider Trike {nur Ordos}
DevastatorDevastator {nur Harkonnen}
SandwurmSandworm {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).

created by Michel Messerschmidt    last modified 2003-05-09