MZD Connect Hack Info

Siutsch

Mitglied
Ich habe vorhin V 1.40 installiert. Hat auch gut funktioniert. Kleiner Bug bei mir: wenn ich den Speedometer aufrufe bleibt im Hintergrung das Auswahlmenue der Seite sichtbar.
BS 51.00.351

Weil das ganze für 56.00.230 oder 56.00.511 geschrieben wurde.

Du wirst nicht umhin kommen, Deine FW mal auf den neuesten Stand zu bringen.
 

Pilot45

Mitglied
Ja war blöd. Hätte erst suchen sollen und dann hätte sich die Frage erledigt. Habe inzwischen alles dazu gelesen. Danke trotzdem für die schnelle Antwort.
 

GTR

Mitglied
@Siutsch
Bitte nicht als Kritik sehen mir sind nur ein paar Dinge aufgefallen:

beim list loop im shorter delay window muss man mit (yes, ja, no) bestätigen ;)

die tweaks sind mit crlf (windows zeilen umbruch) gespeichert und werden mit dos2unix auf lf (unix linefeed) konvertiert.
Du könntest mit Editoren wie Notepad++ direkt die skripte mit lf abspeichern (bzw konvertieren und dann abspeichern).

bei den variablen die du verwendest würde ich etwas anders vorgehen:
PHP:
if [%asw_03%]==[X] ( if %asw_inst3% NEQ d (
		for %%f in (choose\03%asw_inst3%.txt) do type %%f >> tweaks.txt
		for %%f in (choose\03color.txt) do type %%f >> tweaks.txt
		if %asw_03art1% NEQ 0 for %%f in (choose/03%asw_03art1%.txt) do type %%f >> tweaks.txt		
		if %asw_03art2% NEQ 0 for %%f in (choose/03%asw_03art2%.txt) do type %%f >> tweaks.txt
		xcopy /E /Y /I "choose\config%asw_inst4%\%INST_03_name%" "config%asw_inst4%\%INST_03_name%" >>stdout.txt 2>&1
		xcopy /E /Y /I "choose\config%asw_inst4%\bin" "config%asw_inst4%\bin" >>stdout.txt 2>&1
	) else ( for %%f in (choose\03%asw_inst3%.txt) do type %%f >> tweaks.txt )
)

würde ich eher so schreiben
PHP:
if [%speedVideoReboot%]==[X] ( if %installMode% NEQ %deinstall% (
		for %%f in (%dir_tweaks%/%speedVideoReboot_install%.txt) do type %%f >> tweaks.txt
		for %%f in (%dir_tweaks%/%speedVideoRebootColor_install%.txt) do type %%f >> tweaks.txt
		if %SpeedMeterType% NEQ %SpeedMeterGerman% for %%f in (%dir_tweaks%/%SpeedMeterType%.txt) do type %%f >> tweaks.txt		
		if %SpeedVideoAddons% NEQ %PlayerAndSpeedMeter% for %%f in (%dir_tweaks%/%SpeedVideoAddons%.txt) do type %%f >> tweaks.txt
		xcopy /E /Y /I "%dir_tweaks%\%configInstall%\%dir_speedVideoReboot%" "%configInstall%\%dir_speedVideoReboot%" >>stdout.txt 2>&1
		xcopy /E /Y /I "%dir_tweaks%\%configInstall%\bin" "%configInstall%\bin" >>stdout.txt 2>&1
	) else ( for %%f in (%dir_tweaks%\%speedVideoReboot_deinstall%.txt) do type %%f >> tweaks.txt )
)

Bei batch ist generell das Problem das man schnell die Übersicht verliert.
Lesbarkeit ist denke ich daher sehr wichtig. Leider lernt man heute selbst im informatikstudium so ein Blödsinn wie:
PHP:
for(int i=0; i<10; i++){...
wer soll da wissen was damit gemeint ist?
PHP:
for(int userId=1; userId<=maxUsers; userId++){...
ist dagegen relativ einfach zu verstehen.
 
Zuletzt bearbeitet:

michsy

Mitglied
Da ich nicht so viel Verständnis und Fachwissen auf diesem Gebiet habe, bin ich mit Dem zufrieden was siutsch für mich/uns zusammen gebastelt hat. Es funktioniert so wie es ist, was will man mehr. :cool:
Sollte aber auch keine Kritik an Dir @GTR sein, das Du ja das entsprechende Fachwissen hast :D
 

GTR

Mitglied
das problem bei batch ist generell das es für kleine dinge toll und einfach ist aber je länger man an einem skript bastelt versteht man am schluss teilweise selber nur noch bahnhof. zumindest geht das mir so ;). Je lesbarer das ganze ist desto "einfacher" ist es die Übersicht noch einigermaßen zu behalten.

Programmiersprachen wie Java/C#/C++ sind da deutlich einfacher zu strukturieren und demenstprechend kann man deutlich einfacher etwas ändern oder hinzufügen.

java und c# brauchen aber beide eine runtime (java jre oder .net framework) im gegensatz zu batch und sind daher für diese zwecke etwas to much.
Die beste Alternative für batch unter windows ist AutoIt. Die Skriptsprache benutzt direkt die WinApi und braucht daher keine runtime (man muss nichts installieren) und ist ähnlich einfach wie batch. Weiter Vorteil ist das sich leicht grafische Oberflächen umsetzen lassen.
 

michsy

Mitglied
Sag ich doch. Fachwissen und das habe ich nicht. Klingt aber interessant;)
 

Siutsch

Mitglied
@Siutsch
Bitte nicht als Kritik sehen mir sind nur ein paar Dinge aufgefallen:

beim list loop im shorter delay window muss man mit (yes, ja, no) bestätigen ;)

die tweaks sind mit crlf (windows zeilen umbruch) gespeichert und werden mit dos2unix auf lf (unix linefeed) konvertiert.
Du könntest mit Editoren wie Notepad++ direkt die skripte mit lf abspeichern (bzw konvertieren und dann abspeichern).

bei den variablen die du verwendest würde ich etwas anders vorgehen:
PHP:
if [%asw_03%]==[X] ( if %asw_inst3% NEQ d (
		for %%f in (choose\03%asw_inst3%.txt) do type %%f >> tweaks.txt
		for %%f in (choose\03color.txt) do type %%f >> tweaks.txt
		if %asw_03art1% NEQ 0 for %%f in (choose/03%asw_03art1%.txt) do type %%f >> tweaks.txt		
		if %asw_03art2% NEQ 0 for %%f in (choose/03%asw_03art2%.txt) do type %%f >> tweaks.txt
		xcopy /E /Y /I "choose\config%asw_inst4%\%INST_03_name%" "config%asw_inst4%\%INST_03_name%" >>stdout.txt 2>&1
		xcopy /E /Y /I "choose\config%asw_inst4%\bin" "config%asw_inst4%\bin" >>stdout.txt 2>&1
	) else ( for %%f in (choose\03%asw_inst3%.txt) do type %%f >> tweaks.txt )
)

würde ich eher so schreiben
PHP:
if [%speedVideoReboot%]==[X] ( if %installMode% NEQ %deinstall% (
		for %%f in (%dir_tweaks%/%speedVideoReboot_install%.txt) do type %%f >> tweaks.txt
		for %%f in (%dir_tweaks%/%speedVideoRebootColor_install%.txt) do type %%f >> tweaks.txt
		if %SpeedMeterType% NEQ %SpeedMeterGerman% for %%f in (%dir_tweaks%/%SpeedMeterType%.txt) do type %%f >> tweaks.txt		
		if %SpeedVideoAddons% NEQ %PlayerAndSpeedMeter% for %%f in (%dir_tweaks%/%SpeedVideoAddons%.txt) do type %%f >> tweaks.txt
		xcopy /E /Y /I "%dir_tweaks%\%configInstall%\%dir_speedVideoReboot%" "%configInstall%\%dir_speedVideoReboot%" >>stdout.txt 2>&1
		xcopy /E /Y /I "%dir_tweaks%\%configInstall%\bin" "%configInstall%\bin" >>stdout.txt 2>&1
	) else ( for %%f in (%dir_tweaks%\%speedVideoReboot_deinstall%.txt) do type %%f >> tweaks.txt )
)

Bei batch ist generell das Problem das man schnell die Übersicht verliert.
Lesbarkeit ist denke ich daher sehr wichtig. Leider lernt man heute selbst im informatikstudium so ein Blödsinn wie:
PHP:
for(int i=0; i<10; i++){...
wer soll da wissen was damit gemeint ist?
PHP:
for(int userId=1; userId<=maxUsers; userId++){...
ist dagegen relativ einfach zu verstehen.


Du hast vollkommen Recht.

Ich habe auch bereits angefangen viel im Code für mich zu dokumentieren usw.
Ich bin jedoch eigentlich nicht wirklich Programmierer, bzw. hab das vor ewigen Zeiten mal gemacht (C64, Basic, Cobol während der Ausbildung usw.)

Mit "mordernen" Programmier- / Scriptsprachen hab ich immer nur am Rand mal was zu tun gehabt.
Daher isses eben Batch geworden, wie ich schon ein paarmal sagte, nicht schön, aber funktioniert.

Ich schau mal, ob ich Bock hab, die Variablennamen überall zu ändern, jedoch aktuell nicht, bin quasi seit 4 Wochen täglich an dem Ding dran, da fehlt aktuell die Zeit zu.

Die Abfrage vom shorter delay mod in Verb. mit dem list_loop soll auch mit J/N beantwortet werden, da dies nur fragt, ob dieser zu. installiert werden soll, oder eben nur list_loop.
Oder was meinst Du hier?
 

GTR

Mitglied
Die Abfrage vom shorter delay mod in Verb. mit dem list_loop soll auch mit J/N beantwortet werden, da dies nur fragt, ob dieser zu. installiert werden soll, oder eben nur list_loop.
Oder was meinst Du hier?

Ne das Problem ist er fragt:
PHP:
Install shorter_delay_mod?

(y)es / (j)a / (n)o?
:cool:
Die Frage ist was ist der Unterschied zwischen Yes und Ja (das eine ist von Nestle und das andere von ReWe? ;) )
 

Siutsch

Mitglied
Ne das Problem ist er fragt:
PHP:
Install shorter_delay_mod?

(y)es / (j)a / (n)o?
:cool:
Die Frage ist was ist der Unterschied zwischen Yes und Ja (das eine ist von Nestle und das andere von ReWe? ;) )

Achso.

Die Ja / Nein Abfragen waren schon immer so, da ich hier nicht extra mehrsprachig gefummelt habe. Also soll schon so.

Und wg. der Linefeeds.
Das klappt leider nicht so, wie Du meinst, auch wen die zu importierenden Dateien im Unix Format sind, so speichert die DOS Batch das ganze trotzdem im Windows Format ab, man muss also trotzdem konvertieren.

Aber schön, dass sich das ganze trotzdem jemand anschaut.

Ich bin ja generell froh, dass man trotz Batch die OS Sprache abfragen kann, Farben nutzen kann, Fenster positionieren kann, kleine Windows-Fenster öffnen kann (für Hilfe) usw., alles extra Tools, die ich so im Laufe der Zeit gefunden hatte.

Ich denke nicht, dass ich mir je die Zeit nehmen werde, das ganze mal mit C++ oder so umzuschreiben, selbst wenn ich es mir aneignen sollte (wozu ich weder Bock noch Zeit habe).
 

Pilot45

Mitglied
Hab heute mein System auf 511 upgedated. Hat alles gefunzt. Witzigerweise waren nach dem update noch alle Favoriten vorhanden. Laut Anleitung sollten die ja verschwinden. Nach dem update konnte ich nicht auf die Navigation zugreifen. Nach einlegen der SD karte kam der Schirm " Navigation wird geladen" aber es passierte auch nach längerem Warten und mehrmaligem Neustart nichts. Ich habe dann die Tweaks aufgespielt und danach ging die Navigation wieder. Das einzige das ich noch nicht hinbekommen habe ist der Cast Screen. Da passiert nichts ( Samsung S5) . Ich kann auch die Auflösung aus der Hilfe (800x600) nicht anwählen. Bei mir ist nur 800x480 oder 1280x720 möglich. Muß bei "Input Receiver" etwas eingegeben werden?
 

GTR

Mitglied
Und wg. der Linefeeds.
Das klappt leider nicht so, wie Du meinst, auch wen die zu importierenden Dateien im Unix Format sind, so speichert die DOS Batch das ganze trotzdem im Windows Format ab, man muss also trotzdem konvertieren.

Aber schön, dass sich das ganze trotzdem jemand anschaut.

Ich bin ja generell froh, dass man trotz Batch die OS Sprache abfragen kann, Farben nutzen kann, Fenster positionieren kann, kleine Windows-Fenster öffnen kann (für Hilfe) usw., alles extra Tools, die ich so im Laufe der Zeit gefunden hatte.

Ich denke nicht, dass ich mir je die Zeit nehmen werde, das ganze mal mit C++ oder so umzuschreiben, selbst wenn ich es mir aneignen sollte (wozu ich weder Bock noch Zeit habe).

mit dem type befehl den du verwendest werden bei mir keine CR(LF) hinzugefügt


was c++ angeht ist das schon eine recht anspruchsvolle Sprache und längst nicht so komfortabel wie C#. Auch mit der GUI wird es nicht ganz einfach ohne .NET.
Für Anfänger würde ich das auch weniger empfehlen.
 
Zuletzt bearbeitet:

GTR

Mitglied
Ich denke nicht, dass ich mir je die Zeit nehmen werde, das ganze mal mit C++ oder so umzuschreiben, selbst wenn ich es mir aneignen sollte (wozu ich weder Bock noch Zeit habe).

Ich habe mal dein ganzes Skript auf AutoIt übersetzt:
http://pure-dream.com/files/mzd/All-in-one_tweaks_V1.40_NEW.zip

im src ordner liegen die sourcen. und die tweaks.exe führt das skript aus.

AutoIt ist im Prinzip eine deutlich einfachere skriptsprache als batch und es lässt sich im prinzip alles damit machen.
Zum editieren der skripte installiert man einfach nur das hier:
autoIt
und die erweiterung des editors:
editor_extension

man kann auch problemlos eine kombination aus batch und autoit machen um dinge zu vereinfachen.
man kann damit auch relativ einfach windows steuern bzw spiele oder ähnliches (maus & tastatur simulieren). daher ist das sehr beliebt für das schreiben von bots ;)
 

michsy

Mitglied
Ich finde ja gigantisch was hier für eine Arbeit geleistet wird. Mich würde jetzt mal interessieren wo der Unterschied der beiden All-in-one_tweaks bei der Installation der beiden Dateien ist.
 

Siutsch

Mitglied
Ich habe mal dein ganzes Skript auf AutoIt übersetzt:
http://pure-dream.com/files/mzd/All-in-one_tweaks_V1.40_NEW.zip

im src ordner liegen die sourcen. und die tweaks.exe führt das skript aus.

AutoIt ist im Prinzip eine deutlich einfachere skriptsprache als batch und es lässt sich im prinzip alles damit machen.
Zum editieren der skripte installiert man einfach nur das hier:
autoIt
und die erweiterung des editors:
editor_extension

man kann auch problemlos eine kombination aus batch und autoit machen um dinge zu vereinfachen.
man kann damit auch relativ einfach windows steuern bzw spiele oder ähnliches (maus & tastatur simulieren). daher ist das sehr beliebt für das schreiben von bots ;)

Sehr geil! :D

So in der Art hatte ich mir das anfangs auch mal vorgestellt.

Es sind hier und da noch ein paar Fehler drin (Texte ändern sich nicht bei Deinstallation, Speedcam hat 3x german, keine Mehrsprachigkeit, etc.), aber krass, was Du "mal eben so" gezaubert hast.

Hatte mich vor ewigen Zeiten auch mal kurz an AutoIT probiert, da ich aber ja eigentlich nicht programmiere, das dann auch wieder gelassen.

Nun bin ich mittlerweile bei V1.41, da hat sich einiges verändert, Tweaks sind dazu gekommen usw.

Willst Du Dich nach Release (wohl morgen) da noch mal dran versuchen und das ganze dann übernehmen? (obwohl Du das sicher dann alles noch mal machen müsstest, oder?).

Dann bin ich's los. :rolleyes:
 

GTR

Mitglied
Sehr geil! :D

So in der Art hatte ich mir das anfangs auch mal vorgestellt.

Es sind hier und da noch ein paar Fehler drin (Texte ändern sich nicht bei Deinstallation, Speedcam hat 3x german, keine Mehrsprachigkeit, etc.), aber krass, was Du "mal eben so" gezaubert hast.

Mehrsprachigkeit ist relativ einfach. AutoIt kann sehr gut mit ini dateien umgehen.
Man könnte dann z.b. eine lang_deDE.ini, lang_enEN.ini etc erstellen und dort die übersetzungen speichern.
beim starten dann je nach betriebssystem sprache die richtige ini datei laden und fertig.

wobei die skripte halt auch wieder englisch sind ;) weiß gar nicht ob das leute dann nutzen ;)
das mit der speedcam sollte auch weg sein hatte es noch mal hochgeladen weil mir sowieso das hinzufügen der items zur combo box nicht gefallen hat (geht deutlich einfacher ;) )

Für autoIt muss man eigentlich nicht viel programmieren. vieles ist wie bei batch und bei ein paar funktionen ist die hilfe sehr übersichtlich oder lässt sich schnell googeln.

wollte auch noch die tooltips auf allen checkboxen hinzfügen (wie bei der ersten). so hat man die hilfe wenn man mit der maus über die checkbox geht war dann aber zu faul ;)

hab das ganze mal spaßeshalber auf github hochgeladen:
https://github.com/DaveX81/mazdaMZDTweaks
 

Siutsch

Mitglied
Mehrsprachigkeit ist relativ einfach. AutoIt kann sehr gut mit ini dateien umgehen.
Man könnte dann z.b. eine lang_deDE.ini, lang_enEN.ini etc erstellen und dort die übersetzungen speichern.
beim starten dann je nach betriebssystem sprache die richtige ini datei laden und fertig.

wobei die skripte halt auch wieder englisch sind ;) weiß gar nicht ob das leute dann nutzen ;)
das mit der speedcam sollte auch weg sein hatte es noch mal hochgeladen weil mir sowieso das hinzufügen der items zur combo box nicht gefallen hat (geht deutlich einfacher ;) )

Für autoIt muss man eigentlich nicht viel programmieren. vieles ist wie bei batch und bei ein paar funktionen ist die hilfe sehr übersichtlich oder lässt sich schnell googeln.

wollte auch noch die tooltips auf allen checkboxen hinzfügen (wie bei der ersten). so hat man die hilfe wenn man mit der maus über die checkbox geht war dann aber zu faul ;)

hab das ganze mal spaßeshalber auf github hochgeladen:
https://github.com/DaveX81/mazdaMZDTweaks

Wie gesagt, bin bei 1.41, ich hoffe, dann ohne Bugs und mit weiteren Tweaks, Speedam Patch usw. dann auch für .511.
Eigentlich warte ich noch auf den track order / FLAC Patch, den bekomme ich selbst leider nicht hin, sonst hau ich den erst mal so raus, das klappt mit .511 ja auch, könnte man später dann noch nachholen.
Diginix wird sicher für seinen Speedcam auch noch die Integration ins Anwendungsmenü basteln usw.

Wenn Du magst, dann kannst Du die neue Version gerne noch mal als Grundlage nehmen und weiter dran rum basteln.

Ich werde mich erst mal noch nicht näher mit AutoIt beschäftigen, hab mich in den letzten Wochen ausreichend in Batch und ein wenig in Linux bash eingelesen, für den derzeitigen Zweck reicht das aus, finde ich.
Aktuell ist es schon Arbeit genug die ganzen Threads in den untersch. Foren im Auge zu behalten, die Fragen zu beantworten, die Tweaks zu testen, neue einzubauen, Inst.-Routine anzupassen usw., das ganze nun auch noch in einer anderen Umgebung ist mir momentan dann doch zu viel.

Wenn Du magst, dann können wir das aber gerne parallel machen, im Grunde sind das eigentlich wichtige ja auch die ganzen SH-Dateien, der Rest ist ja nur die GUI, um das individuell zusammen zu führen.

Danke für Deine Mühe!

Achja: github hab ich letztens auch mal probiert, bin aber auch noch nicht so ganz damit klar gekommen, alleine das hochladen der ganzen Dateien hat ewig gedauert und war irgendwie nie fertig geworden.
 
Oben