Du bist nicht angemeldet.

+++ Heute, Sonntag, 3. März, kann das Forum zeitweise nicht erreichbar sein - wir bitten um Euer Verständnis +++

Lieber Besucher, herzlich willkommen im Patrizierforum. Falls dies Dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird Dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest Du Dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um Dich zu registrieren oder informiere Dich ausführlich über den Registrierungsvorgang. Falls Du Dich bereits zu einem früheren Zeitpunkt registriert hast, kannst Du Dich hier anmelden.

Falko

Forumtechniker

  • »Falko« ist männlich
  • »Falko« ist der Autor dieses Themas

Beiträge: 2 171

Dabei seit: 31. Dezember 2006

  • Private Nachricht senden

1

Dienstag, 13. September 2011, 22:15

Neue P2-Auflösung leichtgemacht

Auf dem Forumstreffen am Wochenende hab ich mal an eingen Rechnern ein kleines Programm getestet welches die Aufloesung von P2 einstellen kann ohne in vorhandenen dateien rumzuwerkeln
Vielen Dank nochmal an die Tester :)

kurze Anleitung:
man entpacke die zip Datei
starte dort im p2_reschanger die start.exe und ein fenster poppt auf..
nun die orginale Patrizier.exe waehlen
dann sollte
check : 1 [0=fail, 1=ok]
als letzte zeile im textfenster auftauchen (man beachte die "1")
sollte die 1 nicht da stehen wirds mit der gewaehlten patrizier.exe nichts
nun stellen wir die aufloesung ein .. wir koennen die 1024er und die 1280 festlegen
dann gehts auf "GO"
und wenn dann da steht

Quellcode

1
2
3
4
5
6
creating dirs 
write data for res>=1280 
resize pictures for res >=1280 
writing to newfile done 
write script files 
done 

ist man fertig

Fallstricke:
  • je nach windowsversion und rechten darf man als user nicht im programme ordner herumschreiben da hilft es die datei einfach als Admin auszufuehren (Win7=rechtsklick auf die start.exe und "als Administrator ausfuehren" waehlen)
  • die Patrizierversion orginal+addon+addonpatch ging nicht und ich hatte aber am wochenende keine lust zeit das naeher zu untersuchen
  • gerade manche laptops koennen nicht die maximale 1280er aufloesung anzeigen dort hilft es einfach fuer beide aufloesungen die gleichen werte einzutragen
  • keine phantasiewerte eintragen sondern nur das was man unter Anpassen/Aufoesung auch selber einstellen kann
  • vermutlich geht es aufloesungtechnisch nicht hoeher als 2400x1800
  • direkt nach dem laden reagiert die anwendung fuer einige sekunden nicht aber das geht schnell vorbei es sei denn ihr habt schussligerweise irgendeine gigabyte grosse datei genommen statt einer patrizier.exe
  • in manchen faellen kann es noetig sein dies zu installieren siehe hier
  • unter Windows10 sollte P2 nicht im c:\Programme x86 ordner installiert werden (die Odyysee )


wie gehts rueckgangig?
die neu erstellte patrizier.exe sowie die ordner "scripts" und "images" aus dem patrizierordner loeschen

Die grundlegende Idee/Ansatz zur Aufloesungsanpassung stammt von brotkohl (siehe Patrizier 2 Gold Widescreen + höhere Auflösung)
»Falko« hat folgendes Bild angehängt:
  • p2resmanual.png
»Falko« hat folgende Datei angehängt:
  • p2_reschanger.zip (9,77 MB - 6 747 mal heruntergeladen - zuletzt: 13. April 2024, 21:55)

Charlotte

Administratorin

  • »Charlotte« ist weiblich

Beiträge: 2 832

Dabei seit: 21. August 2006

Wohnort: Berlin

  • Private Nachricht senden

2

Dienstag, 13. September 2011, 22:25

Vielen Dank nochmal an die Tester :)
Meinen Dank dem Erfinder! "die Patrizierversion orginal+addon+addonpatch ging nicht", das war meine antike Version. Und jetzt hab ich P2 als großes Kino, ohne Verzerrungen und schwarze Streifen, echt schön. Es gab nur eine kleine Fehlermeldung mit dem Intro, kein Problem.

Merci, Charlotte
"Wir sind verletzt, aber wir stehen wieder auf."

Berlin - Breitscheidplatz, zum 19. Dezember 2016.

P2 1.1/P4 2.0.4

jan.milli

Ratsherr

  • »jan.milli« ist männlich

Beiträge: 573

Dabei seit: 6. Mai 2008

Wohnort: Hansestadt Greifswald

  • Private Nachricht senden

3

Mittwoch, 14. September 2011, 10:39

Ich gehörte ja am Wochende auch zu den Betas die Falkos Tool probiert/getestet haben.

Es funktioniert! Und zwar anstandslos und auch ohne großartige Rechnerkenntnisse.

Danke!

kralli

Der Feuerlöscher

  • »kralli« ist männlich

Beiträge: 586

Dabei seit: 10. Mai 2005

Wohnort: bei Bremen

  • Private Nachricht senden

4

Mittwoch, 14. September 2011, 17:09

Da kan ich jan.milli nur zustimmen!
Ich habe gestern mein P2 "aufgemotzt". Läuft einwandfrei!

Vielen Dank, Falko! :170:
NEIN! Hier wird nicht mit Feuer gespielt! Sonst werde ich richtig böse... :hit: :D

134 Alarmierungen in 2015... X( X( X( - das ist zuvieeeel :crazy:

Recluce

Haudegen

  • »Recluce« ist männlich

Beiträge: 13

Dabei seit: 22. Dezember 2009

Wohnort: Victoria, BC (Kanada)

  • Private Nachricht senden

5

Montag, 19. September 2011, 02:12

Super!

Ich habe den Patch dann auch mal ausprobiert.

Voraussetzungen bei mir:

- Virtuelle Maschine mit Windows XP (unter Ubuntu und VirtualBox)
- FullScreen Auflösung bei 1920*1080
- kopiertes "altes" Patrizier2-Installationsverzeichnis (*)

Patch eingespielt (1920*1080 eingestellt) -> läuft wunderbar

(*) Das Patrizier 2 wurde Anno Tobak auf einem Windows 2000 installiert (Originalspiel plus Add-On plus Patch). Alles von GANZ alten Originalen. Vielleicht habe ich irgendwann in der grauen Vorzeit mal einen "No CD" Patch eingespielt, aber daran kann ich mich nicht erinnern. In jedem Fall ist das Verzeichnis dann von Rechner zu Rechner mitgenommen worden. Am Ende habe ich es dann in eine virtuelle XP Maschine gepackt - damit brauche ich mir keine Gedanken mehr um Kompatibilitäten zu machen....

Also vielen herzlichen Dank an Falko! :170:

Dorimil

Eldermann

  • »Dorimil« ist männlich

Beiträge: 3 264

Dabei seit: 25. Juli 2005

Wohnort: Speckgürtel von Hamburg

  • Private Nachricht senden

6

Samstag, 24. September 2011, 02:26

Super Falko! :170:
P2 in FullHD...welch schöner Anblick! :]

Damit funktioniert das ganze auf jeden Fall mit der Gamestar-Version. Auch das Intro wird abgespielt (wenn auch in 4:3)
Dorimil

Lebe jeden Tag, als wäre es Dein letzter!

Adalbertus

Chefmathematiker

  • »Adalbertus« ist männlich

Beiträge: 1 229

Dabei seit: 18. Mai 2005

Wohnort: Köln (Exil in Augsburg)

  • Private Nachricht senden

7

Samstag, 15. Oktober 2011, 11:01

Geniös!

Tolle Arbeit! :170:
Man gewöhnt sich an allem. Sogar am Dativ.

Preussenhusar

Fernkaufmann

  • »Preussenhusar« ist männlich

Beiträge: 449

Dabei seit: 14. Dezember 2007

Wohnort: Deutschland

  • Private Nachricht senden

8

Montag, 24. Oktober 2011, 13:19

Geht bie mir leider nicht.

ich erhalten einen "SGL" Error und das Spiel stürzt mit "GFX erneut testen" ab.



Allerdings hatte ich zu Beginn die Automatische Anpassung des Screen irgendwo deaktiviert,

weil das Bild verzerrt war und weiß jetzt nicht mehr, wo ..

Da gibt es etwas "nicht unterstützte Modi ausblenden", das war angekreut.

Wenn ich das rausnehme, ist die Karte im "alten Modus " sehr groß und wird "kaputtgescrollt", also wie kleine Flächen übereinandergeschoben.

Die Neue Auflösung bricht immer noch ab.



PH

Falko

Forumtechniker

  • »Falko« ist männlich
  • »Falko« ist der Autor dieses Themas

Beiträge: 2 171

Dabei seit: 31. Dezember 2006

  • Private Nachricht senden

9

Montag, 24. Oktober 2011, 19:29


Allerdings hatte ich zu Beginn die Automatische Anpassung des Screen irgendwo deaktiviert,

weil das Bild verzerrt war und weiß jetzt nicht mehr, wo ..

Da gibt es etwas "nicht unterstützte Modi ausblenden", das war angekreut.

wo gibts den den menupunkt "nicht unterstützte Modi ausblenden" ?
in meienr version sehe ich in weder bei P2Setup.exe noch bei P2HardwareSettings.exe

x9jaan

Administrator

  • »x9jaan« ist männlich

Beiträge: 3 626

Dabei seit: 17. Februar 2006

Wohnort: Schnellmannshausen

  • Private Nachricht senden

10

Montag, 24. Oktober 2011, 20:11

Ich kenne das von Windows XP. Dort findest du das nach einem Rechtsklick auf den Desktop, dann "Eigenschaften", dann "Einstellungen", dann "Erweitert" und dann im Reiter "Monitor".
Die Schatzkarten als *-zip-Datei.

Preussenhusar

Fernkaufmann

  • »Preussenhusar« ist männlich

Beiträge: 449

Dabei seit: 14. Dezember 2007

Wohnort: Deutschland

  • Private Nachricht senden

11

Dienstag, 25. Oktober 2011, 08:45

Leider bringt das Häkchen weder AN noch AUS etwas.

Die Newpatrizier.exe bringt den Startbildschirm 4:3 und dann der Abbruch



PH

Dorimil

Eldermann

  • »Dorimil« ist männlich

Beiträge: 3 264

Dabei seit: 25. Juli 2005

Wohnort: Speckgürtel von Hamburg

  • Private Nachricht senden

12

Dienstag, 25. Oktober 2011, 08:45

Alternativ könnte es auch über den Grafiktreiber direkt gesteuert werden...
Dorimil

Lebe jeden Tag, als wäre es Dein letzter!

Preussenhusar

Fernkaufmann

  • »Preussenhusar« ist männlich

Beiträge: 449

Dabei seit: 14. Dezember 2007

Wohnort: Deutschland

  • Private Nachricht senden

13

Dienstag, 25. Oktober 2011, 09:34

Jetzt habe ich Treiber aktualisiert, Häkchen für Auflösung (XP) gesetzt und nicht gesetzt,

Alte Version startet aber ohne Menuleisten und verzerrt,

neue Version (Falkotool) bricht mit Grafikfehlermeldung ab.

PH

Falko

Forumtechniker

  • »Falko« ist männlich
  • »Falko« ist der Autor dieses Themas

Beiträge: 2 171

Dabei seit: 31. Dezember 2006

  • Private Nachricht senden

14

Dienstag, 25. Oktober 2011, 09:42

wie gehts rueckgangig?
die neu erstellte patrizier.exe sowie die ordner "scripts" und "images" aus dem patrizierordner loeschen

damit die alte version normal funktionoert musst du die beiden obigen ordner aus dem verzeichnis loeschen
kannst du mirmasl deien patrizier.exe zusenden?
Auf welkche aufloesung(en) wolltest du P2 den einstellen?

Preussenhusar

Fernkaufmann

  • »Preussenhusar« ist männlich

Beiträge: 449

Dabei seit: 14. Dezember 2007

Wohnort: Deutschland

  • Private Nachricht senden

15

Dienstag, 25. Oktober 2011, 10:26

Es tut - vielen Dank.

ich hatte die Auflösung "UNTEREINANDER" eingetragen, aber nicht zeilenweise x1920*y1080, sondern

x1920y769

x1080y1024 - oder sowas.



PH

Terran

Krämer

Beiträge: 4

Dabei seit: 22. November 2011

  • Private Nachricht senden

16

Dienstag, 22. November 2011, 18:41

Hallo,

Ich würde gerne PII an meine Laptopauflösung anpassen und dazu der dein Tool verwenden, allerdings spiele ich auf einem Mac mit Hilfe von Wine. Und Wine mag dein Tool nicht und stürzt ab.

Da aber dein Tool ja "nur" ein Pythonscript ist, bestehen eventuell Chancen es direkt auf dem Mac laufen zu lassen. Daher meine unverschämte Frage, ob du die Sourcen veröffentlichen würdest damit ich mich daran versuchen kann.

Terran

Falko

Forumtechniker

  • »Falko« ist männlich
  • »Falko« ist der Autor dieses Themas

Beiträge: 2 171

Dabei seit: 31. Dezember 2006

  • Private Nachricht senden

17

Dienstag, 22. November 2011, 19:46

klar kein problem
der code

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
# coding: latin-1
import Tkinter as Tk
import mmap
import os
import shutil
import re
import Image

from tkFileDialog   import askopenfilename      
    

class App:

	def callbackfile(self):
				
		fn=askopenfilename() 		
		self.logit("check file: "+fn+"\n")
		if not os.path.isfile(fn):
			self.logit("no file"+fn+"\n")
		else:
			f=open(fn, "r+b")
			map = mmap.mmap(f.fileno(), 0)

			hexstr=" "+" ".join(["%02X"%ord(x) for x in map])
			check=1
			self.fn=None
			self.logit("search... \n")
			for i in range(5):
				pdata=self.posdata["pos"+str(i)]
				cnt=hexstr.count(pdata[0])
				self.logit("test1."+str(i)+" =>"+str(cnt)+" "+pdata[0].replace(" ","")+" \n")
				spos=0
				if cnt!=1:
					check=0
				else:
					spos=(hexstr.index(pdata[0])/3)+(len(pdata[0])/3)
					for r in range(len(self.res)):
						self.logit("res"+str(r+2)+" "+repr([sum([256**x[0]*ord(x[1]) for x in enumerate(map[spos+pdata[1+r*2]:spos+pdata[1+r*2]+2])]) ,sum([256**x[0]*ord(x[1]) for x in enumerate(map[spos+pdata[2+r*2]:spos+pdata[2+r*2]+2])])])+"\n")
			for i in range(2):
				cnt=hexstr.count(self.posdata["more"+str(i)][0])
				if cnt!=1:check=0
				self.logit("test2."+str(i)+" =>"+str(cnt)+" "+self.posdata["more"+str(i)][0].replace(" ","")+"\n")
					
					
			self.logit("check : "+str(check)+"  [0=fail, 1=ok] \n")
			if check:
				self.fn=fn		
			map.close()
			f.close()		

	def logit(self,txt):
		self.ltext.config(state=Tk.NORMAL)
		self.ltext.insert(Tk.END ,txt)
		self.ltext.config(state=Tk.DISABLED)
		
	def __init__(self, master):

		self.res=[[1024,768],[1280,1024]]
		self.fn=None

		frame = Tk.Frame(master)
		frame.pack()

		#self.button = Tk.Button(frame, text="QUIT", fg="red", command=frame.quit)
		#self.button.pack(side=Tk.LEFT)
		self.fbutton = Tk.Button(frame, text='select Patrizer.exe', command=self.callbackfile)
		self.fbutton.pack()
		self.ltext = Tk.Text(frame)
		self.ltext.pack()	
		self.logit("Log\n")
		self.nfile = Tk.Frame(frame)
		self.flabel = Tk.Label(self.nfile,text="new Name:")
		self.flabel.pack(side=Tk.LEFT)
		self.fname = Tk.Entry(self.nfile)
		self.fname.pack(side=Tk.LEFT)
		self.nfile.pack()
		self.res1 = Tk.Frame(frame)
		self.lx1 = Tk.Label(self.res1, text="Res2: X-",)
		self.lx1.pack(side=Tk.LEFT)
		self.ex1 = Tk.Entry(self.res1)
		self.ex1.pack(side=Tk.LEFT)
		self.ly1 = Tk.Label(self.res1, text="Y-")
		self.ly1.pack(side=Tk.LEFT)
		self.ey1 = Tk.Entry(self.res1)
		self.ey1.pack(side=Tk.LEFT)
		self.res1.pack()
		self.res2 = Tk.Frame(frame)
		self.lx2 = Tk.Label(self.res2, text="Res3: X-",)
		self.lx2.pack(side=Tk.LEFT)
		self.ex2 = Tk.Entry(self.res2)
		self.ex2.pack(side=Tk.LEFT)
		self.ly2 = Tk.Label(self.res2, text="Y-")
		self.ly2.pack(side=Tk.LEFT)
		self.ey2 = Tk.Entry(self.res2)
		self.ey2.pack(side=Tk.LEFT)
		self.res2.pack()

		self.fname.insert(Tk.END,"newPatrizier.exe")
		self.ex1.insert(Tk.END,self.res[0][0])
		self.ey1.insert(Tk.END,self.res[0][1])
		self.ex2.insert(Tk.END,self.res[1][0])
		self.ey2.insert(Tk.END,self.res[1][1])

		self.l5 = Tk.Label(frame, text="-->")
		self.l5.pack(side=Tk.LEFT)
		
		self.fwrite = Tk.Button(frame, text="Go",fg="red", command=self.fwrite)
		self.fwrite.pack(side=Tk.LEFT)
		
		self.posdata=dict(
		pos0=[" C7 44 24 4C 20 03 00 00 C7 44 24 50 58 02 00 00 EB 2A 3C 01 75 12 C7 44 24 4C",0,8,0x16,0x1e],
		pos1=[" C7 44 24 18 20 03 00 00 C7 44 24 1C 58 02 00 00 EB 2C 83 FE 01 75 12 C7 44 24 18",0,8,0x17,0x1f],
		pos2=[" C7 44 24 3C 20 03 00 00 C7 44 24 40 58 02 00 00 EB 22 C7 44 24 3C",0x12,0x1a,0,8],
		pos3=[" C7 44 24 48 20 03 00 00 C7 44 24 4C 58 02 00 00 EB 2B 83 F8 01 75 12 C7 44 24 48",0,8,0x16,0x1e],
		pos4=[" C7 44 24 24 20 03 00 00 C7 44 24 28 58 02 00 00 EB 2C 83 F8 01 75 12 C7 44 24 24",0,8,0x17,0x1f],
		more0=[" E8 FB B0 08 00 8B 0D A4 B0 6C 00 E8 90 76 FD FF A1 80 B2 6D 00 3D 20 03 00 00 0F 84 62 01 00 00 3D",0,-1,0xb,-1],
		more1=[" 90 90 90 90 90 90 90 90 90 90 90 A1 80 B2 6D 00 83 EC 1C 3D 20 03 00 00 53 55 56 57 8B F1 74 3C 3D",0,-1,7,-1],
		)



		self.files={'accelMap.ini':"",'screenGame.ini':"",'textures.ini':""}
		for fn in self.files:
			f=open("data"+os.sep+fn,"r")
			self.files[fn]=f.readlines()
			f.close
		self.convini={
		'screenGame.ini':{
		0:[
		['[ANIM41]',-3,lambda x:"Frame0=10 0 0 0 0 "+str(x[0]-284)+" 42 0\n"],
		['[ANIM43]',-3,lambda x:"Frame0=8 0 0 0 0 284 "+str(284+(x[1]-768))+"\n"],
		['[ANIM43]',-7,lambda x:"Pos="+str(x[0]-284)+" 600\n"]
		],
		1:[
		['[ANIM42]',-3,lambda x:"Frame0=11 0 0 0 0 "+str(x[0]-284)+" 42\n"],
		['[ANIM44]',-3,lambda x:"Frame0=9 0 0 0 0 284 "+str(424+(x[1]-1024))+"\n"],
		['[ANIM44]',-7,lambda x:"Pos="+str(x[0]-284)+" 600\n"]
		]
		},
		'accelMap.ini':{
		0:[
		['[SCREEN1]',-2,lambda x:"Size="+str(x[0])+" "+str(x[1])+"\n"],
		['[ANIM1]',-3,lambda x:"Frame0=30023 0 0 0 0 "+str(x[0])+" "+str(x[1])+" 0\n"]
		],
		1:[
		['[SCREEN2]',-2,lambda x:"Size="+str(x[0])+" "+str(x[1])+"\n"],
		['[ANIM2]',-3,lambda x:"Frame0=30024 0 0 0 0 "+str(x[0])+" "+str(x[1])+" 0\n"]
		]
		},
		'textures.ini':{
		0:[['[TEX30023]',-4,lambda x:"OffsetNSize0=0 0 "+str(x[0])+" "+str(x[1])+"\n"]],
		1:[['[TEX30024]',-4,lambda x:"OffsetNSize0=0 0 "+str(x[0])+" "+str(x[1])+"\n"]]
		}
		}
			

	def fwrite(self):
		check=1
		if not self.fn:
			self.logit("select patrizer.exe!\n")
			check=0
		if len([x for x in [self.ex1.get(),self.ex2.get(),self.ey1.get(),self.ey2.get()] if not re.search("^[0-9][0-9]*$",x)])==0 :
			if not len([x for x in [self.ex1.get(),self.ex2.get(),self.ey1.get(),self.ey2.get()] if not 100<=int(x)<=9999])==0 :
				self.logit("100<= Res X/Y <=9999 !\n")
				check=0
		else:
			self.logit("only numbers ins Res X/Y!\n")
			check=0
		if not re.search("^[0-9a-zA-Z._-]*$",self.fname.get()):
			self.logit("new filename = alphanumeric and -._ \n")
			check=0

		if check:
			ppath=os.sep.join(os.path.realpath(self.fn).split(os.sep)[0:-1])
			nfn=ppath+os.sep+self.fname.get()
			self.res[0][0]=int(self.ex1.get())
			self.res[0][1]=int(self.ey1.get())
			self.res[1][0]=int(self.ex2.get())
			self.res[1][1]=int(self.ey2.get())
			shutil.copyfile(self.fn,nfn)
			f=open(nfn, "r+b")
			map = mmap.mmap(f.fileno(), 0)
			hexstr=" "+" ".join(["%02X"%ord(x) for x in map])			
			spos=[]
			for i in range(5):
				pdata=self.posdata["pos"+str(i)]
			#	print pdata[0]
				spos.append((hexstr.index(pdata[0])/3)+(len(pdata[0])/3))
			for i in range(5):
				pdata=self.posdata["pos"+str(i)]
			#	print "%X"%spos[i]
			#	print hexstr.count(pdata[0])
				for r in range(len(self.res)):
			#		print ["%02X"%ord(x) for x in map[spos[i]+pdata[1+r*2]:spos[i]+pdata[1+r*2]+2]] ,["%02X"%ord(x) for x in map[spos[i]+pdata[2+r*2]:spos[i]+pdata[2+r*2]+2]]
					map[spos[i]+pdata[1+r*2]  ]=chr(self.res[r][0]%256)
					map[spos[i]+pdata[1+r*2]+1]=chr(self.res[r][0]/256)
					map[spos[i]+pdata[2+r*2]  ]=chr(self.res[r][1]%256)
					map[spos[i]+pdata[2+r*2]+1]=chr(self.res[r][1]/256)
			if self.res[1][0]>=1280:
				self.logit("write data for res>=1280 \n")
				for i in range(2):
					pdata=self.posdata["more"+str(i)]
					spos=(hexstr.index(pdata[0])/3)+(len(pdata[0])/3)
					map[spos+pdata[3]  ]=chr(self.res[1][0]%256)
					map[spos+pdata[3]+1]=chr(self.res[1][0]/256)
				self.logit("resize pictures for res >=1280 \n")
				if1 = Image.open("data"+os.sep+"Vollansichtskarte.bmp")
				if1n = if1.resize((self.res[1][0], self.res[1][1]), Image.ANTIALIAS)
				if1n.save(ppath+os.sep+"images"+os.sep+"Vollansichtskarte1280.bmp")
				if2 = Image.open("data"+os.sep+"HauptscreenE.bmp")
				if2n = if2.resize((284, 424-1024+self.res[1][1]), Image.ANTIALIAS)
				if2n.save(ppath+os.sep+"images"+os.sep+"HauptscreenE1280.bmp")
			map.close()
			f.close()		
			self.logit("writing to newfile done \n")
			if not os.path.isdir(ppath+os.sep+'images'):
				os.makedirs(ppath+os.sep+'images')
				self.logit("creating images dir \n")
			if not os.path.isdir(ppath+os.sep+'scripts'):
				os.makedirs(ppath+os.sep+'scripts')
				self.logit("creating script dir \n")
			self.logit("write script files \n")

			for fn in self.convini:
				txt=""
				for li in range(len(self.files[fn])):
					found=-1
					
					for r in range(len(self.res)):
						for cn in self.convini[fn][r]:
							if self.files[fn][li+cn[1]].startswith(cn[0]):				
								txt+=cn[2](self.res[r])
								#print files[fn][li],files[fn][li],cn[2](nres)
								found=r
					if found==-1:
						txt+=self.files[fn][li]
				f=open(ppath+os.sep+'scripts'+os.sep+fn,"w")
				f.write(txt)
				f.close()		
			
			self.logit("done \n")


root = Tk.Tk()

app = App(root)

root.mainloop()
du solltest das zipfile entpacken und das python skript da ausfuehren wo in der ordnerstruktur die convres.exe liegt
kannst ja bescheidsagen wies lief

Terran

Krämer

Beiträge: 4

Dabei seit: 22. November 2011

  • Private Nachricht senden

18

Mittwoch, 23. November 2011, 13:30

Kurzer Zwischenstand:

Das Script läuft fast problemlos. Ich verwende python 2.6.1, das ist nämlich unter Snow Leopard vorinstalliert.

a) ich hatte PIL nicht installiert (Asche auf mein Haupt)
b) Das images Verzeichnis wird beim Speichern des ersten Bildes nicht automatisch angelegt. Kann ein Mac oder ein Python 2.6 vs 2.7 Problem sein. Ich habs dann von Hand angelegt.
c) Die Oberfläche ist auf dem Mac noch unschöner als sie unter Windows ist (nicht deine Schuld, ich mag einfach die tk Oberflächen nicht)

Einen kurzen Test hat die gepatche Variante gerade mit Bravour bestanden.


Wenn du nichts dagegen hast, würde ich in den nächsten Tagen ein paar Dinge ändern und dann das Script wieder veröffentlichen. Ich dachte da an folgende Änderungen:

1) Den Text in den Optionen anpassen, so dass dort auch die wirklichen Auflösungen stehen -> Patrizier.exe an den entsprechenden Stellen patchen
2) Registry auslesen und schreiben um a) die Patrizier.exe selbst zu finden (als Voreinstellung), b) eventuell durch den Grafiktest ausgeschaltete Auflösungen einschalten -> dann stehen im Spiel alle 3 Auflösungen zur Verfügung (die dann ja hoffentlich alle auch tatsächlich verfügbare Auflösungen entsprechen)

Und Mac spezifisch
3) Problem b fixen
4) Support zum Patchen von Patrizier in einem Wineskin Bundle (= Windows Applikation + Wine + Zeug drumherum um Mac-Applikation vorzugaukeln)
5) In native Anwendung verpacken

Falko

Forumtechniker

  • »Falko« ist männlich
  • »Falko« ist der Autor dieses Themas

Beiträge: 2 171

Dabei seit: 31. Dezember 2006

  • Private Nachricht senden

19

Mittwoch, 23. November 2011, 14:58

schoen das es laeuft
b) mag sein das das ein rechteproblem ist daher der hinweis das notfalls als admin auszufuehren
c) jep ist nicht schoen hab ich halt rangeflanscht und wird mitgeliefert .. in meiner ersten version hab ich im code direkt meien wunschaufloesung eingestellt aber sowas is ja net veroeffentlichbar
lauft convres.exe mit wine?
1) wenn du die stellen kennst und fixen kannst sag besheid und man kanns einbauen
2) mein P2 ist nicht in der registry zu finden sondern es ist quasi eine "portable" version

wenn du spass dran hast dir die arbeit zu machen
- interface optimierung
- test auf datei/verzeichnis rechte
- registry auslesen
- suchen und patchen der aufloesungsanzeige
- suchen und patchen der grafiktest-ergebnisse/erlaubnisse
- wineskin erstellen
- macversion erstellen
klingt nach viel arbeit fuer wenig (einen) user aber wenns dir spass macht nur zu :)

ich war ehrlich gesagt schon zufrieden als ich mein P2 umgewandelt bekommen hatte
habs nur gebaut weil ich manuell nach anleitung im hexeditor immer fehler eingebaut habe
ohne das forumtreffen in bielefeld waers wohl wie einge andere P2 sachen bei mir in der "unfertige basteleien"-schublade verstaubt
ich bin ueberhaupt ueberrascht das das teil soviele nutzen

Edit:
meien versuche die 800er aufloesung zu aendern schlugen leider alle fehl :(

Terran

Krämer

Beiträge: 4

Dabei seit: 22. November 2011

  • Private Nachricht senden

20

Mittwoch, 23. November 2011, 19:04

Ich brauch immer einen Anlass mich mal ein wenig mit Tkinter und python auseinanderzusetzen. Damit mein bisschen Wissen nicht einrostet :D

1) Der Text steht in Patrizier.exe, bei mir (Gold, installiert von ComputerBildSpiele CD) an

Quellcode

1
2
3
29 8e 08                800 x 600 
29 8e 14               1024 x 768
29 8e 20          1280 x 1024

Das ist einfacher Ascii-Text. Länge 11 Zeichen, kürzere Texte 0 auffüllen

zu b) Ist kein Rechteproblem. Ich darf in dem Verzeichnis alles:D Schliesslich liegen die Dateien alle in meinem Home.


Die 800er Auflösung würde ich auch nicht ändern. Die braucht das Spiel ja wohl auch für den Startbildschirm und so. Da müsste man dann vermutlich auch mächtig dran rumwerkeln.

convres.exe stürzt leider ab. Wenn es dich interessiert, sammel ich die Fehlermeldung ein.