Edit duch Nagus Zek: Im Anschluss findet sich die von Brotkohl verfasste Anleitung zur manuellen Anpassung der Aufloesung. Inzwischen gibt es aber auch ein von Falko geschriebenes Script, was das ganze fuer den Nutzer vereinfacht. Zu finden ist es im Downloadbereich oder durch Anklicken des Linkes.
Anleitung für Auflösungseinstellung
Diese Anleitung gilt für die Patrizier 2 Gold Version von Pointsoft.
Ich kann nicht sicherstellen das es mit anderen Versionen funktioniert,
da die Patrizier 2.exe womöglich kopiergeschützt und mit einer Kompression versehen ist.
Als erstes öffnen wir den Windowsrechner um unsere Wunschauflösung in das
hexadezimale Format zu bringen.
Beispiel:
1280x800
1280 dec = 500 hex
800 dec = 320 hex
Diese Werte notieren wir in folgender Notation auf einem Zettel:
00 05 <- sind die 500 hex
20 03 <- sind die 320 hex
oder:
1680x1050
1680 dec = 690 hex
1050 dec = 41A hex
Werte auf dem Zettel:
90 06 <- sind die 690h
1A 04 <- sind die 41Ah
weitere Beispiele:
1440x900
1440 dec = 5A0 -> zum eintragen also A0 05
900 dec = 384 -> 84 03
1920x1080
1920 dec = 780 -> 80 07
1080 dec = 438 -> 38 04
1920x1200
1920 dec = 780 -> 80 07
1200 dec = 4B0 -> B0 04
Jetzt öffnen wir die Patrizier 2.exe in einem Hex Editor.
Ich persönlich nutze Hex Editor MX ->hier!
Wenn die Datei geöffnet ist gehen wir im Menü auf Suchen,
Suchen & Ersetzen und tippen im hexadezimalen Suchfeld
folgende HexZahlen ein (Copy&Paste funktioniert auch!):
c7 44 24 4c 00 04 00 00 C7 44 24 50 00 03 00 00
<-die 00 04 ist die 400 hex = 1024 dec
<- die 00 03 ist die 300 hex = 768 dec
Jetzt kommt ihr an diese Stelle:
Jetzt ändern wir den blauen Bereich
wie in diesem Bild zu sehen ist:
00 04 in den ersten notierten Wert auf eurem Zettel
für mich war es 00 05 (1280)
und 00 03 in den zweiten notierten Wert.
bei mir in 20 03 (800)
Wir haben die erste Änderung erfolgreich vorgenommen!
Die Auflösung wurde von 1024x768 auf eure Wunschauflösung geändert.
Jetzt muß analog der ersten Änderung mit folgenden Adressen verfahren werden:
c7 44 24 18 00 04 00 00 c7 44 24 1c 00 03 00 00
c7 44 24 3C 00 04 00 00 c7 44 24 40 00 03 00 00
c7 44 24 48 00 04 00 00 c7 44 24 4C 00 03 00 00
c7 44 24 24 00 04 00 00 c7 44 24 28 00 03 00 00
also suchen, finden und ersetzen!
Die 00 04 in den notierten Wert eurer Wunschauflösung ändern:
in meinem Beispiel in 00 05 (1280)
Die 00 03 in den notierten Wert eurer Wunschauflösung ändern:
in meinem Beispiel in 20 03 (800).
Wenn Eure Wunschauflösung nicht größer als der maximalen Standardauflösung von 1280x1024 ist,
seit ihr jetzt fertig und könnt die Datei unter anderem Namen abspeichern!
Alle anderen müßen noch folgende Schritte ausführen:
suchen:
0F 84 AF 00 00 00 3D 00 05 00 00
3D 00 04 00 00 74 1E 3D 00 05 00 00
in beiden Suchergebnissen die 00 05 in den Notierten X Wert ändern.
Beispiel:
für 1920 -> 80 07
für 1440 -> A0 05
für 1680 -> 90 06
Nachdem alle Änderungen vorgenommen worden sind Speichern als... wählen und die Datei unter anderem Dateinamen abspeichern.
Nun müßen wir die p2arch0.cpr mit dem Hex Editor bearbeiten, da sonst das rechte Frame mit der Spiel-
bedienung nicht höher als 1280 skaliert. Legt Euch vorher aber unbedingt eine Sicherungskopie der Datei an!!!
Wir müßen als erstes wieder rechnen. Da das rechte Frame eine fest kodierte Breite von 284px (Pixeln)
hat, ziehen wir als erstes diesen Wert von unserem X Wert der Wunschauflösung ab.
Beispiel:
1680-284=1396 <- Zettel! Merken!
1440-284=1156 -"-
1600-284=1316 -"-
Jetzt öffnen wir die p2arch0.cpr mit dem Hex Editor.
Gesucht werden muß folgende Stelle:
Im Hex Editor sieht das wie folgt aus:
Hier müssen wir folgende Werte ändern:
Nachfolgend Klartext der Stelle (Änderungen in Rot und für das Beispiel 1600x???)
Einzutragen sind die eben erechneten Werte!
; oben links - 1024
[ANIM41]
Count=1
FrameCount0=1
Frame0=10 0 0 0 0 740 42 0 -> ändern zu: Frame0=10 0 0 0 0 1316 42
TimerCount=1
Timers=./scripts/screenGame.ini
TimerIDs=0
Pos=0 0
; oben links - 1280
[ANIM42]
Count=1
FrameCount0=1
Frame0=11 0 0 0 0 996 42 0 -> ändern zu: Frame0=11 0 0 0 0 1316 42
TimerCount=1
Timers=./scripts/screenGame.ini
TimerIDs=0
Pos=0 0
; rechts unten - 1024
[ANIM43]
Count=1
FrameCount0=1
Frame0=8 0 0 0 0 284 168 0
TimerCount=1
Timers=./scripts/screenGame.ini
TimerIDs=0
Pos=740 600 -> ändern zu: Pos=1316 600
; rechts unten - 1280
[ANIM44]
Count=1
FrameCount0=1
Frame0=9 0 0 0 0 284 424 0
TimerCount=1
Timers=./scripts/screenGame.ini
TimerIDs=0
Pos=996 600 -> ändern zu: Pos=1316 600
Es könnte sein das bei einer y Auflösung >1024 die 600 noch nach oben
verändert werden muß, da sonst das rechte Frame zu weit "in der Luft hängt"... Muß man ausprobieren.
Nachfolgend ein Vergleich gepatcht <-> Original (hier für die Auflösung 1600x900)
Links=gepatcht, Rechts = Original!
So sollte es bei Euch auch aussehen, natürlich mit Euren errechneten Werten!
Abspeichern, fertig!
Die Standardauflösung 1024x768 gibt es jetzt nich mehr, diese wurde mit eurer Wunschauflösung überschrieben.
Ich hoffe es funktioniert bei Euch.
Wenn ihr diese Anleitung erfolgreich durchgeführt habt, würde ich mich über Screenshots in Eurer Wunschauflösung freuen!
Viel Spaß
brotkohl
Edit 1 (Nagus Zek, 22.10.2010) Tippfehler in der Anleitung entsprechend Beitrag 4 behoben.
Edit 2 (Nagus Zek, 21.03.2012) Link zum Downloadbereich hinzugefuegt.