You are not logged in.

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

Dear visitor, welcome to Patrizierforum. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

Falko

Technician

  • "Falko" is male
  • "Falko" started this thread

Posts: 2,171

Date of registration: Dec 31st 2006

  • Send private message

1

Tuesday, September 13th 2011, 10:15pm

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

Source code

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 has attached the following image:
  • p2resmanual.png
Falko has attached the following file:

Charlotte

Administratorin

  • "Charlotte" is female

Posts: 2,832

Date of registration: Aug 21st 2006

Location: Berlin

  • Send private message

2

Tuesday, September 13th 2011, 10:25pm

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

Councillor

  • "jan.milli" is male

Posts: 573

Date of registration: May 6th 2008

Location: Hansestadt Greifswald

  • Send private message

3

Wednesday, September 14th 2011, 10:39am

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" is male

Posts: 586

Date of registration: May 10th 2005

Location: bei Bremen

  • Send private message

4

Wednesday, September 14th 2011, 5:09pm

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

Swashbuckler

  • "Recluce" is male

Posts: 13

Date of registration: Dec 22nd 2009

Location: Victoria, BC (Kanada)

  • Send private message

5

Monday, September 19th 2011, 2:12am

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

Alderman

  • "Dorimil" is male

Posts: 3,264

Date of registration: Jul 25th 2005

Location: Speckgürtel von Hamburg

  • Send private message

6

Saturday, September 24th 2011, 2:26am

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" is male

Posts: 1,229

Date of registration: May 18th 2005

Location: Köln (Exil in Augsburg)

  • Send private message

7

Saturday, October 15th 2011, 11:01am

Geniös!

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

Preussenhusar

Traveling Merchant

  • "Preussenhusar" is male

Posts: 449

Date of registration: Dec 14th 2007

Location: Deutschland

  • Send private message

8

Monday, October 24th 2011, 1:19pm

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

Technician

  • "Falko" is male
  • "Falko" started this thread

Posts: 2,171

Date of registration: Dec 31st 2006

  • Send private message

9

Monday, October 24th 2011, 7:29pm


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" is male

Posts: 3,626

Date of registration: Feb 17th 2006

Location: Schnellmannshausen

  • Send private message

10

Monday, October 24th 2011, 8:11pm

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

Traveling Merchant

  • "Preussenhusar" is male

Posts: 449

Date of registration: Dec 14th 2007

Location: Deutschland

  • Send private message

11

Tuesday, October 25th 2011, 8:45am

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

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



PH

Dorimil

Alderman

  • "Dorimil" is male

Posts: 3,264

Date of registration: Jul 25th 2005

Location: Speckgürtel von Hamburg

  • Send private message

12

Tuesday, October 25th 2011, 8:45am

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

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

Preussenhusar

Traveling Merchant

  • "Preussenhusar" is male

Posts: 449

Date of registration: Dec 14th 2007

Location: Deutschland

  • Send private message

13

Tuesday, October 25th 2011, 9:34am

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

Technician

  • "Falko" is male
  • "Falko" started this thread

Posts: 2,171

Date of registration: Dec 31st 2006

  • Send private message

14

Tuesday, October 25th 2011, 9:42am

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

Traveling Merchant

  • "Preussenhusar" is male

Posts: 449

Date of registration: Dec 14th 2007

Location: Deutschland

  • Send private message

15

Tuesday, October 25th 2011, 10:26am

Es tut - vielen Dank.

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

x1920y769

x1080y1024 - oder sowas.



PH

Terran

Shop Keeper

Posts: 4

Date of registration: Nov 22nd 2011

  • Send private message

16

Tuesday, November 22nd 2011, 6:41pm

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

Technician

  • "Falko" is male
  • "Falko" started this thread

Posts: 2,171

Date of registration: Dec 31st 2006

  • Send private message

17

Tuesday, November 22nd 2011, 7:46pm

klar kein problem
der code

Source code

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

Shop Keeper

Posts: 4

Date of registration: Nov 22nd 2011

  • Send private message

18

Wednesday, November 23rd 2011, 1:30pm

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

Technician

  • "Falko" is male
  • "Falko" started this thread

Posts: 2,171

Date of registration: Dec 31st 2006

  • Send private message

19

Wednesday, November 23rd 2011, 2:58pm

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

Shop Keeper

Posts: 4

Date of registration: Nov 22nd 2011

  • Send private message

20

Wednesday, November 23rd 2011, 7:04pm

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

Source code

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.