Komfortzoom V3b (Pimp it) Update 26.10.2009

  • Die Komfortzoom Anweisung habe ich aus meinem original Thread Pimp IT aus Platzgründen ausgelagert.
    (Diese Erweiterung habe ich auf einem Z201/Z100 (SR1) ohne zusätzlichen Skin entwickelt. Inwieweit diese
    Änderungen auf anderen Systemen funktionieren kann ich leider nicht beurteilen. Nachtrag: Z099 Installation wurden vorgenommen.)


    Genauere Infos zu Scriptanpassungen siehe: Pimp IT



    Zuvor jedoch noch wichtiges:
    Bitte beachten dass jeder der Änderungen an System-/Programm-Dateien vornimmt,
    dies auf eigene Gefahr und Verantwortung geschieht. Nach fehlerhaften Änderungen kann es sein, dass der Navi nicht mehr startet. Deshalb zuvor immer ein Backup durchführen. Ebenso ist es möglich dass die Garantie erlischt! Für die hier angefügten Änderungen übernehme ich keine Verantwortung. Die Nutzung ist nur für den privaten Gebrauch genehmigt!




    Komfortzoom V3b:
    -----------------------------------------------------------------------

    Update 26.10.2009:
    #dynZoom wurde verbesssert, sodaß nach einer Zoomparameter Anpassung der komplette Regelkreis von neuem startet bis die 105km/h überschritten sind. Dadurch wird nicht mehr bei langer Ortschaftsdurchfahrt folgende von Landstraße zur Autobahn der Regelkreis gleich nach überschreiten von 65km/h beendet.
    #Autozoom wird autom. durch die Routenkalkulation eingeschaltet.


    Komfortzoom
    Beim Betätigen der Zoombuttons bleibt das Autozoom deaktiviert und es erscheint
    ein AutoZoom Button auf der Karte, zum Autozoom wieder einzuschalten.
    QuickZoom
    Beim Betätigen des zusätzlich Buttons QuickZoom wird auf ein vordefinierter Zoomwert jeweils für 2D/3D gezoomt
    und Autozoom deaktiviert. Es erscheint dann der AutoZoom Button zum Zurückschalten auf AutoZoom. Dieser Wert
    wurde bei V3 erhöht, da der größte Teil von dynZoom übernommen wird. (vGM_quickZoom=12000)
    Dyn.Autozoom / Geschwindigkeitsabhängige Zoomparameter Anpassung (nur für 2D)
    Die min. und max. Zoomparameter werden autom. bei Langdistanz Entfernungen
    (Zoomaktion mit Kartenmasstab > "vGM_dynZTrigger" (1000) entspricht ca. 1,5 km bis zur nächsten Anweisung) an die Geschwindigkeit angepasst. (Nur bei eingeschaltetem Autozoom. Der Quickzoom Button ist sichtbar.) Bei Geschwindigkeiten größer 60kmh wartet dynZoom dann nach jeder Zoomänderung mehrere Zyklen a 6 Sekunden. Es werden dann die Zoomparameter angepasst und ein erneuter Überwachungszyklus initiert. Wurde 65kmh nicht überschritten, wird erneut die Überwachung gestartet. (Letztes ist nützlich bei Langdistanzen die zuerst durch ein Ort und erst nach längerer Strecke auf Landstraße führen.) Wird die Langdistanz unterschritten (Zoomaktion mit Kartenmasstab unterhalb "vGM_dynZTrigger" (1000)), findet Stufenweise eine gegensätztliche Zoomparameter Anpassung statt, bis zum kompletten Zurücksetzen auf die Ursprungswerte.(vGM_dynZOffL/vGM_dynZOffH) Bei Änderungen der Zoomparameter wird kurzzeitig der Kartenmassstab angezeigt.


    Zoomparameter in mehreren Zyklen Erhöhen:
    >60 kmh min.300 max.1500 Zoom (vGM_dynZMinL/vGM_dynZMinH)
    >75 kmh min.400 max.3100 Zoom (vGM_dynZMedL/vGM_dynZMedH)
    >110 kmh min.900 max.4500 Zoom (vGM_dynZMaxL/vGM_dynZMaxH)
    <65 kmh wartet autom. auf höherer Geschwindigkeit


    Zoomparameter in mehreren Zyklen Reduzieren:
    <40 kmh min. 160 max. 1250 (vGM_dynZOffL/vGM_dynZOffH)
    <60 kmh min. 300 max. 1500 (vGM_dynZMinL/vGM_dynZMinH)
    <110 kmh min. 400 max. 3100 (vGM_dynZMedL/vGM_dynZMedH)


    Die Zoomstufen für die jeweiligen Geschwindikeiten können mit den entsprechenden Variablen (siehe Punkt 10) vorgegeben werden.
    Hierbei ist zu beachten, daß der Wert von "vGM_dynZTrigger" Kleiner sein muß als "vGM_dynZOffH" und zugleich größer alls alle "vGM_dynZ*L" Werte. ("vGM_dynZTrigger" definiert den Autozoom Schwellenwert ab wann dynZoom gestartet wird.)


    Was zu beachten ist bei den Größenabhänigkeiten:
    vGM_dynZOffH > vGM_dynZTrigger > vGM_dynZ*L
    vGM_dynZ*H > vGM_dynZ*L
    vGM_dynZMaxH > vGM_dynZMedH > vGM_dynZMinH > vGM_dynZOffH
    vGM_dynZMaxL > vGM_dynZMedL > vGM_dynZMinL > vGM_dynZOffL


    Begründung für die von mir verwendeten Werte :
    160/1250 Bei Abbiegungen gute Kreuzungsübersicht / Bei Langdistanz Übersicht über weitere Strecke (ist Navi Standard)
    300/2000 Bei langsamer AB Auf- Abfahrten gute Übersicht
    400/3100 Bei Landstraßen Übersicht der Städte ohne Straßenamen jedoch mit AB Nummern.
    900/4500 Bei AB Fahrten gute Übersicht der Städte ohne AB Nummern



    Statusanzeige:
    dynZoom : Erhöhungszyklus ist aktiv
    dynZoom : Reduzierungszyklus ist aktiv
    dynZoom : Geänderte Zoomwerte wurden auf Ursprungswerte zurückgesetzt. (6 Sekunden)
    (Die Position der DynZoom Statusanzeige kann unter Punkt 7 mit den x/y Koordinaten geändert werden. Oder den Text auch einfach durch Leerzeichen ersetzen.)



    V2->V3a Umbau:
    Rot markierte Änderungen beachten/löschen.
    Grün markierte Änderungen beachten.
    Punkt 4 komplett entfernen.
    Scripte aus Textdatei einfügen bzw ersetzen.
    Geschätzter Aufwand 10min.


    V3->V3a Umbau:
    Zuerst Punkt 4 entfernen! Punkt 7-9 austauschen.
    Punkt 10 einfügen.
    Geschätzter Aufwand 2min.


    V3a->V3b Umbau:
    Punkt 11 hinzufügen
    Unter Punkt 9 die zwei grünmarkierte Scriptbefehle einfügen.
    Geschätzter Aufwand 2min.


    V3b Neuintegration:
    Beigefügte Bilderdateien in entsprechende Position kopieren.
    Scripte aus beigefügter Textdatei in entsprechende Position einfügen.
    Geschätzer Aufwand 3min.



    Ausfürliche Anpassungshinweise:
    1. AutoZoom und QuickZoom Buttonfunktionen aktivieren in Layerdef. "navigatemap_480_272.ui" (von V2 zu V3a geändert!)
    2. (Evtl. vorhanden Komfortzoom V1 Konfiguration unbedingt im Script "navigatemap.ui" entfernen)
    3. Buttoneinblendung beim Kartenstart im Script "navigatemap.ui" (von V2 zu V3 geändert!)
    4. Quickzoom Funktion im Script "navigatemap.ui" (von V2/v3 zu V3a entfernen!)
    5. Sys.txt wieder auf original Wert einstellen! (von V2 zu V3 geändert!)
    6. Evtl. beim Tripcomuter den Rücksprung anpassen (von V2 zu V3 geändert!)
    7. dynZoom Statusanzeige in "navigatemap_480_272.ui" (neu in V3a)
    8. dynZoom Aufruf über Zoom Observer in "navigatemap.ui" (neu in V3a)
    9. dynZoom Konfigurationen in "navigatemap.ui" (neu in V3a, geändert in V3b)
    10. dynZoom Var Def. (neu in V3a)
    11. Autozoom Aktivierung durch Routenkalkulation (neu in V3b)



    Zusätzliche Grafikdateien:
    \ui_becker\480_272\autozoom.bmp
    \ui_becker\480_272\night\autozoom.bmp
    \ui_becker\480_272\quickzoom.bmp


    Scriptänderungen sind fett makiert.
    Anführende Simikolons ";" deaktivieren ein vorhandene Befehlszeile.
    Zusätzlich sind die die Änderungen als Textdatei nochmals beigefügt.



    zu 1.
    (von V2 zu V3 geändert!)
    \ui_becker\480_272\ui\navigatemap_480_272.ui


    <layer ui_NavigateMapZoomControls3D z=50 visiblemodel="ui.vQuickMenu_int=0&!ui.vToolbarSelected&ui.vMapMode_int=0&!ui.bLaneinfoSignpostValid">
    ;<BUTTON btnNMC_ZoomIn template=btnzoomcontrol x=466 y=49 bmp="ges_zoom1.bmp#3" onClick='START_STOP_ZOOM 0 1' onRelease='1 START_STOP_ZOOM 0 0' onMouseLeave='START_STOP_ZOOM 0 0'>
    ;<BUTTON btnNMC_ZoomOut template=btnzoomcontrol x=466 y=98 bmp="ges_zoom3.bmp#3" onClick='START_STOP_ZOOM 1 1' onRelease='1 START_STOP_ZOOM 1 0' onMouseLeave='START_STOP_ZOOM 1 0'>
    ; --- G.M. 08/09 Zoombuttons deaktivieren direkt den Smartzoom ---
    <BUTTON btn3dz1 x=418 y=70 z=0 bmp="ges_zoom1.bmp#3" onClick='run sc_GM_SmartZoomDisable, START_STOP_ZOOM 0 1, btnQZ3D.hide, btnAZ_Activate.show' onRelease='START_STOP_ZOOM 0 0' onMouseLeave='START_STOP_ZOOM 0 0'>
    <BUTTON btn3dz2 x=418 y=130 z=0 bmp="ges_zoom3.bmp#3" onClick='run sc_GM_SmartZoomDisable, START_STOP_ZOOM 1 1, btnQZ3D.hide, btnAZ_Activate.show' onRelease='START_STOP_ZOOM 1 0' onMouseLeave='START_STOP_ZOOM 1 0'>
    ; --- G.M. 05/09 zusätzlicher Quickzoom Button ---
    <BUTTON btnQZ3D template=btnzoomcontrol x=491 y=185 bmp="QuickZoom.bmp#3" alpha=21 onClick='START_STOP_ZOOM 1 1' onRelease='START_STOP_ZOOM 1 0, btnQZ3D.hide, run sc_GM_QZoom3D, btnAZ_Activate.show' onMouseLeave='START_STOP_ZOOM 1 0'>
    ; --- G.M. 08/09 Zusätzliche Button zum Autzoom ein- und Quickzoom wieder ausschalten.---
    <BUTTON btnAZ_Activate template=btnzoomcontrol x=491 y=185 bmp="AutoZoom.bmp#3" alpha=21 onClick='btnAZ_Activate.hide, btnQZ3D.show, run sc_GM_SmartZoomEnable'>

    </layer>


    <layer ui_NavigateMapZoomControls2D z=50 visiblemodel="ui.vQuickMenu_int=0&!ui.vToolbarSelected&ui.vMapMode_int=1&!ui.bLaneinfoSignpostValid">
    ;<BUTTON btnNMC2D_ZoomIn template=btnzoomcontrol x=466 y=49 bmp="ges_zoom1.bmp#3" onClick='START_STOP_ZOOM 0 1' onRelease='START_STOP_ZOOM 0 0' onMouseLeave='START_STOP_ZOOM 0 0'>
    ;<BUTTON btnNMC2D_ZoomOut template=btnzoomcontrol x=466 y=98 bmp="ges_zoom3.bmp#3" onClick='START_STOP_ZOOM 1 1' onRelease='START_STOP_ZOOM 1 0' onMouseLeave='START_STOP_ZOOM 1 0'>
    ; --- G.M. 08/09 Zoombuttons deaktivieren direkt den Smartzoom ---
    <BUTTON btn2dz1 x=418 y=70 z=0 bmp="ges_zoom1.bmp#3" onClick='run sc_GM_SmartZoomDisable, START_STOP_ZOOM 0 1, btnQZ2D.hide, btnAZ2D_Activate.show' onRelease='START_STOP_ZOOM 0 0' onMouseLeave='START_STOP_ZOOM 0 0'>
    <BUTTON btn2dz2 x=418 y=130 z=0 bmp="ges_zoom3.bmp#3" onClick='run sc_GM_SmartZoomDisable, START_STOP_ZOOM 1 1, btnQZ2D.hide, btnAZ2D_Activate.show' onRelease='START_STOP_ZOOM 1 0' onMouseLeave='START_STOP_ZOOM 1 0'>
    ; --- G.M. 05/09 zusätzlicher Quickzoom Button ---
    <BUTTON btnQZ2D template=btnzoomcontrol x=491 y=185 bmp="QuickZoom.bmp#3" alpha=21 onClick='START_STOP_ZOOM 1 1' onRelease='START_STOP_ZOOM 1 0, btnQZ2D.hide, run sc_GM_QZoom2D, btnAZ2D_Activate.show' onMouseLeave='START_STOP_ZOOM 1 0'>
    ; --- G.M. 08/09 Zusätzliche Button zum Autzoom ein- und Quickzoom wieder ausschalten.---
    ;<BUTTON btnAZ2D_Activate template=btnzoomcontrol x=491 y=184 bmp="AutoZoom.bmp#3" alpha=21 onClick='btnAZ2D_Activate.hide, btnQZ2D.show, run sc_GotoNavigateMap'>
    <BUTTON btnAZ2D_Activate template=btnzoomcontrol x=491 y=184 bmp="AutoZoom.bmp#3" alpha=21 onClick='btnAZ2D_Activate.hide, btnQZ2D.show, run sc_GM_SmartZoomEnable'>

    </layer>



    zu 2.
    Nur wenn zuvor Komforzoom V1 verwendet wurde, rote markierte Einträge löschen!
    ui_becker\common\ui\navigatemap.ui


    <state st_NavigateMap>
    <script init>
    ; --- G.M. --- Autozoom Reaktivierungsbutton wieder ausblenden
    btnAZ_Activate.hide
    btnAZ2D_Activate.hide

    </script>




    zu 3.1
    Nur wenn zuvor Komforzoom V2 verwendet wurde, rote markierte Einträge löschen!
    ui_becker\common\ui\navigatemap.ui


    <script sc_GotoNavigateMap>
    vRoutePlanning.set 0
    CLEARTOSTATE st_MainMenu
    NEXTSTATE st_NavigateMap
    ; --- G.M. --- Autozoom Button ausblenden
    btnAZ_Activate.hide
    btnAZ2D_Activate.hide
    ; --- G.M. 05/09 --- Quickzoom Button einblenden
    btnQZ2D.show
    btnQZ3D.show

    </script>




    zu 3.2
    ui_becker\common\ui\navigatemap.ui
    (zusätzlicher Eintrag)


    <script sc_GotoNavigateMap>
    vRoutePlanning.set 0
    CLEARTOSTATE st_MainMenu
    NEXTSTATE st_NavigateMap
    ; --- G.M. 08/09 --- Autozoom/Quickzoom Button einblenden anhand Smartzoom Status ---
    runif %smartzoom.enabled 1 'btnAZ_Activate.hide, btnAZ2D_Activate.hide, btnQZ2D.show, btnQZ3D.show'
    runif %smartzoom.enabled 0 'btnAZ_Activate.show, btnAZ2D_Activate.show, btnQZ2D.hide, btnQZ3D.hide'

    </script>




    zu 4.
    ui_becker\common\ui\navigatemap.ui
    (Bei Update von V2/V3 zu V3a. Entfernen wird durch Punkt 9 ersetzt.)


    ; --- G.M. 08/09 QuickZoom Aufruf von Button auf Karte mit direktem Smartzoom Disable ---
    <script sc_GM_QZoom2D>
    run sc_GM_SmartZoomDisable
    30 .map.zoom_level vGM_quickZoom
    30 .map.zoom_level vGM_quickZoom
    </script>
    <script sc_GM_QZoom3D>
    run sc_GM_SmartZoomDisable
    30 .map.zoom_level 350
    30 .map.zoom_level 350
    </script>
    ; --- G.M. 08/09 Direkter Smartzoom disable ---
    <script sc_GM_SmartZoomDisable>
    .smartzoom.enabled2d 0
    .smartzoom.enabled 0
    </script>
    ; --- G.M. 08/09 Direkter Smartzoom enable ---
    <script sc_GM_SmartZoomEnable>
    .smartzoom.enabled2d 1
    .smartzoom.enabled 1
    run sc_GotoNavigateMap
    </script>




    zu 5.
    IGo8\sys.txt
    Nur wenn zuvor Komforzoom V2 verwendet wurde. Timer wieder auf original Wert setzten!
    [smartzoom]
    auto_smartzoom_time=10




    zu 6.
    \ui_becker\480_272\ui\tripcomputer_480_272.ui
    (Angepasste Trippcomputer Rücksprung kann entfernt werden. Stattdesen normaler Rücksprung)


    <layer ui_tripcomputer x=0 y=0 h=272 w=480 z=2000>
    Tripcomputers und Zoombuttons entsprechend anpassen
    <BUTTON xxx x=2 y=2 z=0 W=450 H=230 onRelease='btnAZ_Activate.hide,btnAZ2D_Activate.hide,btnQZ2D.show,btnQZ3D.show,PREVSTATE'>

    <BUTTON xxx x=2 y=2 z=0 W=450 H=230 onRelease='PREVSTATE'>
    </layer>



    zu 7.
    \ui_becker\480_272\ui\navigatemap_480_272.ui


    <layer ui_NavigateMapZoomControls2D z=50 visiblemodel="ui.vQuickMenu_int=0&!
    .
    .
    .
    ; --- G.M. 08/09 Dyn.Autozoom V3a Anzeige ---
    <TEXT txtDynZon template=txt fontsize=10 color=#006600 x=432 y=185 z=10 text="DynZoom" hide>
    <TEXT txtDynZoff template=txt fontsize=10 color=#DD0000 x=432 y=185 z=10 text="DynZoom" hide>
    <TEXT txtDynZdown template=txt fontsize=10 color=#FF9900 x=432 y=185 z=10 text="DynZoom" hide>

    </layer>



    zu 8.
    ui_becker\common\ui\navigatemap.ui
    (geänderter Script)


    <script sc_NavigateMap_ZoomLevelChanged>
    .
    .
    .
    ; --- G.M. 08/09 DynZoom V3a ---
    ; --- "Geschwindigkeitsabhängiger Smartzoomfaktoren"
    ; --- Start initiert durch Autozoomaktionen
    runif vGM_dynZInit 0 'run sc_GM_DynZoomOff, vGM_dynZInit.SET 1'
    runif %map.zoom_level > vGM_dynZTrigger sc_GM_DynZoomFast
    else_run sc_GM_DynZoomSlow
    </script>





    zu 9.
    ui_becker\common\ui\navigatemap.ui
    (Zusätzliche Scripte)

    ; --- G.M. Komfortzoom V3a / Quickzoom ------------------ Start
    ; --- G.M. 08/09 DynZoom Erhöhung Aufruf von 'sc_NavigateMap_ZoomLevelChanged' ---
    <script sc_GM_DynZoomFast>
    vGM_dynZSlowDownCount.SET 0
    run sc_GM_DynZoomStatusOn
    runif %navigation.current_speed > 110 sc_GM_DynZoom100
    else_runif %navigation.current_speed > 75 sc_GM_DynZoom80
    else_runif %navigation.current_speed > 60 sc_GM_DynZoom60
    runif %map.zoom_level < vGM_dynZTrigger sc_GM_DynZoomSlow
    else_runif %smartzoom.maxzoom2d < vGM_dynZMaxH sc_GM_DynZoomFastSpeedUp
    </script>
    ; --- G.M. 08/09 Dyn. DynZoom Erhöhung. Teil2 ---
    <script sc_GM_DynZoomFastSpeedUp>
    300 runif %navigation.current_speed > 110 sc_GM_DynZoom100
    else_runif %navigation.current_speed > 75 sc_GM_DynZoom80
    else_runif %navigation.current_speed > 60 sc_GM_DynZoom60
    runif %map.zoom_level < vGM_dynZTrigger sc_GM_DynZoomSlow
    else_runif %smartzoom.maxzoom2d < vGM_dynZMaxH sc_GM_DynZoomFastSpeedUpLoop
    </script>
    ; --- G.M. 08/09 DynZoom Erhöhung. Teil3 ---
    <script sc_GM_DynZoomFastSpeedUpLoop>
    300 runif %navigation.current_speed > 110 sc_GM_DynZoom100
    else_runif %navigation.current_speed > 75 sc_GM_DynZoom80
    else_runif %navigation.current_speed > 60 sc_GM_DynZoom60
    runif vGM_dynZSpeedUpCount 4 'vGM_dynZSpeedUpCount.SET 5'
    else_runif vGM_dynZSpeedUpCount 3 'vGM_dynZSpeedUpCount.SET 4'
    else_runif vGM_dynZSpeedUpCount 2 'vGM_dynZSpeedUpCount.SET 3'
    else_runif vGM_dynZSpeedUpCount 1 'vGM_dynZSpeedUpCount.SET 2'
    else_runif vGM_dynZSpeedUpCount 0 'vGM_dynZSpeedUpCount.SET 1'
    runif %map.zoom_level < vGM_dynZTrigger sc_GM_DynZoomSlow
    else_runif vGM_dynZSpeedUpCount < 5 sc_GM_DynZoomFast
    else_runif %navigation.current_speed < 65 sc_GM_DynZoomFast
    else_run 'map.ZOOMCONTROL_SHOW 0, txtDynZon.hide, txtDynZoff.hide, txtDynZdown.hide'
    </script>
    ; --- G.M. 08/09 DynZoom Rücksetzen. Aufruf von 'sc_NavigateMap_ZoomLevelChanged' ---
    <script sc_GM_DynZoomSlow>
    txtDynZon.hide
    vGM_dynZSpeedUpCount.SET 0
    runif %smartzoom.maxzoom2d >vGM_dynZOffH 'runif %navigation.current_speed <40 sc_GM_DynZoomOff'
    runif %smartzoom.maxzoom2d >vGM_dynZOffH 'runif %navigation.current_speed >39 sc_GM_DynZoomSlowDown'
    </script>
    ; --- G.M. 08/09 DynZoom Rücksetzen. Teil2 ---
    <script sc_GM_DynZoomSlowDown>
    txtDynZon.hide
    txtDynZdown.show
    300 runif %smartzoom.maxzoom2d >vGM_dynZOffH 'runif %navigation.current_speed <40 sc_GM_DynZoomOff'
    else_runif %smartzoom.maxzoom2d >vGM_dynZMinH 'runif %navigation.current_speed <60 sc_GM_DynZoom60'
    else_runif %smartzoom.maxzoom2d >vGM_dynZMedH 'runif %navigation.current_speed <110 sc_GM_DynZoom80'
    runif %map.zoom_level > vGM_dynZTrigger 'txtDynZoff.hide, run sc_GM_DynZoomfast'
    else_runif %smartzoom.maxzoom2d >vGM_dynZOffH sc_GM_DynZoomSlowDownLoop
    </script>
    ; --- G.M. 08/09 DynZoom Rücksetzen. Teil3 ---
    <script sc_GM_DynZoomSlowDownLoop>
    300 runif %smartzoom.maxzoom2d >vGM_dynZOffH 'runif %navigation.current_speed <40 sc_GM_DynZoomOff'
    else_runif %smartzoom.maxzoom2d >vGM_dynZMinH 'runif %navigation.current_speed <60 sc_GM_DynZoom60'
    else_runif %smartzoom.maxzoom2d >vGM_dynZMedH 'runif %navigation.current_speed <110 sc_GM_DynZoom80'
    runif vGM_dynZSlowDownCount 9 'vGM_dynZSlowDownCount.SET 10'
    else_runif vGM_dynZSlowDownCount 8 'vGM_dynZSlowDownCount.SET 9'
    else_runif vGM_dynZSlowDownCount 7 'vGM_dynZSlowDownCount.SET 8'
    else_runif vGM_dynZSlowDownCount 6 'vGM_dynZSlowDownCount.SET 7'
    else_runif vGM_dynZSlowDownCount 5 'vGM_dynZSlowDownCount.SET 6'
    else_runif vGM_dynZSlowDownCount 4 'vGM_dynZSlowDownCount.SET 5'
    else_runif vGM_dynZSlowDownCount 3 'vGM_dynZSlowDownCount.SET 4'
    else_runif vGM_dynZSlowDownCount 2 'vGM_dynZSlowDownCount.SET 3'
    else_runif vGM_dynZSlowDownCount 1 'vGM_dynZSlowDownCount.SET 2'
    else_runif vGM_dynZSlowDownCount 0 'vGM_dynZSlowDownCount.SET 1'
    runif %map.zoom_level > vGM_dynZTrigger 'txtDynZoff.hide, run sc_GM_DynZoomfast'
    else_runif %smartzoom.maxzoom2d > vGM_dynZOffH 'runif vGM_dynZSlowDownCount < 10 sc_GM_DynZoomSlow'
    ;else_runif vGM_dynZSlowDownCount < 10 sc_GM_DynZoomSlow
    else_run sc_GM_DynZoomOff
    </script>
    ; --- G.M. 08/09 DynZoom On Anzeige ---
    <script sc_GM_DynZoomStatusOn>
    txtDynZoff.hide
    txtDynZdown.hide
    runif %navigation.current_speed > 5 'txtDynZon.show'
    runif %smartzoom.enabled 0 'txtDynZon.hide'
    </script>
    ; --- G.M. 08/09 DynZoom für >105kmh ---
    <script sc_GM_DynZoom100>
    runif %map.zoom_level < vGM_dynZMaxH 'map.ZOOMCONTROL_SHOW 1'
    .smartzoom.maxzoom2d vGM_dynZMaxH
    .smartzoom.minzoom2d vGM_dynZMaxL
    300 map.ZOOMCONTROL_SHOW 0
    txtDynZon.hide
    </script>
    ; --- G.M. 08/09 DynZoom für >80kmh ---
    <script sc_GM_DynZoom80>
    runif %map.zoom_level < vGM_dynZMedH 'map.ZOOMCONTROL_SHOW 1, vGM_dynZSpeedUpCount.SET 0'
    .smartzoom.maxzoom2d vGM_dynZMedH
    .smartzoom.minzoom2d vGM_dynZMedL
    300 map.ZOOMCONTROL_SHOW 0
    </script>
    ; --- G.M. 08/09 DynZoom für >60kmh ---
    <script sc_GM_DynZoom60>
    runif %map.zoom_level < vGM_dynZMinH 'map.ZOOMCONTROL_SHOW 1, vGM_dynZSpeedUpCount.SET 0'
    .smartzoom.maxzoom2d vGM_dynZMinH
    .smartzoom.minzoom2d vGM_dynZMinL
    300 map.ZOOMCONTROL_SHOW 0
    </script>
    ; --- G.M. 08/09 DynZoom Rücksetzen. ---
    <script sc_GM_DynZoomOff>
    vGM_dynZSpeedUpCount.SET 0
    vGM_dynZSlowDownCount.SET 0
    txtDynZdown.hide
    txtDynZoff.show
    map.ZOOMCONTROL_SHOW 1
    .smartzoom.maxzoom2d vGM_dynZOffH
    .smartzoom.minzoom2d vGM_dynZOffL
    300 txtDynZoff.hide
    map.ZOOMCONTROL_SHOW 0
    </script>
    ; --- G.M. 08/09 Direkter Smartzoom disable ---
    <script sc_GM_SmartZoomDisable>
    .smartzoom.enabled2d 0
    .smartzoom.enabled 0
    </script>
    ; --- G.M. 08/09 Direkter Smartzoom enable ---
    <script sc_GM_SmartZoomEnable>
    .smartzoom.enabled2d 1
    .smartzoom.enabled 1
    run sc_GotoNavigateMap
    </script>
    ; --- G.M. 05/09 QuickZoom Aufruf von Button auf Karte ---
    ; --- G.M. 08/09 mit direktem Smartzoom Disable ---
    <script sc_GM_QZoom2D>
    run sc_GM_SmartZoomDisable
    30 .map.zoom_level vGM_quickZoom
    30 .map.zoom_level vGM_quickZoom
    </script>
    ; --- G.M. 05/09 QuickZoom Aufruf von Button auf Karte ---
    ; --- G.M. 08/09 mit direktem Smartzoom Disable ---
    <script sc_GM_QZoom3D>
    run sc_GM_SmartZoomDisable
    30 .map.zoom_level 350
    30 .map.zoom_level 350
    </script>



    zu 10.
    ui_becker\common\ui\navigatemap.ui
    (Zusätzliche Variablen)


    <header>
    .
    .
    .
    ; --- G.M. 08/09 --- DynZoomVars Begin ---------------
    ; --- !!! "vGM_dynZTrigger" muß kleiner "vGM_dynZOffH"
    ; --- und zugleich größer aller "vGM_dynZ*L" sein !!!
    <var vGM_dynZMaxH=4500>
    <var vGM_dynZMaxL=900>
    <var vGM_dynZMedH=3100>
    <var vGM_dynZMedL=400>
    <var vGM_dynZMinH=1500>
    <var vGM_dynZMinL=300>
    <var vGM_dynZOffH=1250>
    <var vGM_dynZOffL=160>
    <var vGM_dynZTrigger=1000>
    <var vGM_dynZInit=0>
    <var vGM_dynZSpeedUpCount=0>
    <var vGM_dynZSlowDownCount=0>
    <var vGM_quickZoom=12000>
    ; --- G.M. 08/09 --- DynZoomVars End -----------------

    </header>



    zu 11.
    ui_becker\common\ui\calculate.ui
    (Geänderter Scriptteil fett markiert)


    <script sc_CalculateRouteFinished_StartGuidance>
    sound.announcer.muted 0
    ; --- G.M. 10/09 Smartzoom(Autozoom einschalten) vor Routenstart --- start
    .smartzoom.enabled2d 1
    .smartzoom.enabled 1
    ; --- G.M. 10/09 Smartzoom(Autozoom einschalten) vor Routenstart --- end

    10 run sc_GotoNavigateMap
    </script>


    ----------------------------------------------


    Weitere Anpassungsanleitungen:
    Pimp IT


    ----------------------------------------------



    Viel Spaß

  • Komfortzoom V3 "coming soon" :-))
    Zumindest hat es heut Nacht um 3Uhr bei der Sym funktioniert |-)
    Jetzt kommt noch das Finetunig und der Realtest.


    Vorab die Eckdaten:


    # Zusätzlich: Dyn. Autozoom für 2D:
    Edit: Siehe Angaben oben!


    # Geändert: Bisherige Komfortzoom V2 Funktionen
    Komplett überarbeitet. Somit stabiler und das System kann
    nicht mehr selbständig Umschalten.

  • Hi Venteto,


    bisher hatte ich noch keine deiner Versionen des Komfortzooms installiert.


    Ich habe es gar nicht erwarten können die finale Fassung deines Komfortzoomk V3 einzubetten.


    Ich habe alle deine Schritte von 1-9 abgearbeitet.



    Der Quickzoom sowie Autozoom, wenn ich den Button betätige, funktionieren einwandfrei.


    Der dynamische Zoom funktioniert leider nicht. Es wird mir keine Statusanzeige angezeigt,
    oder irgendetwas, was mir zeigt das etwas geschieht.


    Ich habe schon früher in der Skincfg.ini den minimum_zoom_amount=10 geändert, um kleinere Schritte des Zoomens
    zu ermöglichen.


    Ach ja, bei mir ist SR2 installiert.


    Ich stelle mir den min Autozoom immer so ein, um in der Ortschaft einen besseren Überblick zu haben,
    dass der Maßstab bei 300m liegt.


    Ich hatte gehofft, wenn ich dann schneller als 60 Km/h fahre,
    dass sich der min Autozoom sofort und vollautomatisch auf 2000m ändert.


    Ohne eine Wartezeit.


    Ich hoffe du kannst mir helfen!?


    Gruß Fusselbiber

  • Hallo Fussel,


    Die Wartezeit kannst zwar verkürzen, zum einen erspart dies aber ständige hektische max. Zoomwechsel und zum anderen war das schon ne sehr empfindlich Massnahme dies einzubauen. (Musst bedenken, das ganze ist in den Zoom Observer integriert.) Ich habe diverse Scriptvariationen probiert, es gab hierbei ganz schön Probleme mit Map-Verzögerungen oder kompletten Hängern. Deshalb denke ich man sollte den Observer nicht zuviel "reizen" :-) Habe ne Menge Tests gefahren und 4x10 Sekunden fand ich als ne optimal Zeit. Damit läuft dies sehr stabil und zuverlässig bei mir. Macht echt Spaß. Das bedeutet also dass Du bei Überschreitung der Trigger Geschwindigkeit max. 10 Sekunden warten musst bis der min./max. Zoom angehoben wird. Die erste Abfrage erfolgt sogar sofort. Also z.B. bei der Auffahrt auf die AB und dann normale Beschleunigung bist sofort auf dem höchsten Zoomwert.


    Schicke mir mal Deine 2 Dateien ich schaue sie mir mal an.


    Grüße

  • Hallo Fussel,


    mir ist noch was eingefallen... hast Du auch auf Autozoom umgeschaltet? ;-) (Quickzoom Button ist dann sichtbar) Das dynZoom funktioniert nur mit eingeschaltetem Autozoom. Da nur bei Zoomänderungen der Script über den Zoomobserver gestartet wird. Bei Quickzoom soll ja auf dem festen Zoomwert geblieben werden.


    Autozoom ist ein -> Quickzoom Button erscheint zum umschalten auf Quickzoom
    Autozoom ist aus -> Autozoom Button erscheint zum einschalten von Autozoom


    Gruß


    P.S. Dateien schau ich mir morgen an.

  • Hin Veneto,


    so ich habe jetzt nochmal getestet.


    Versuch ohne Navigation:


    Ich habe es so gemacht wie du es mir mitgeteilt hast. Auf dem Button stand Quickzoom und siehe da, die Anzeige teilte mir brav mit, dass etwas geschieht. Die Karte war zu diesem Zeitpunkt auf Standarwert ca. 1600m eingestellt(Min- und Max Zoom Einstellungen nach eigenen Wünschen, unbelastet). Autozoom-Häckchen im Menü aktiviert. Ich bin dann ziellos umhergefahren.


    Als ich dann auf mehr als 100 Km/h beschleunigt habe, zoomte die Karte auf deinen bevorzugten Maßstab von ca. 4500m.


    Prima!


    Als ich das Gas dann weg nahm und langsamer fuhr - egal wie langsam!, zoomte die Karte auf einen Maßstab von ca. 3000m zurück. In diesem Maßstab verhaarte sie dann, egal was ich auch anstellte.


    Schade ich dachte, sie passt sich dann zumindest dem Anfangszustand von 1600m wieder an :-(.


    Beschleunigte ich wieder auf über 100 Km/h zoomte die Karte wieder brav auf 4500m :-).


    Sobald ich auf eine der Zoomtasten + oder - tippte, war die ganze Zoomgeschichte sofort offline.


    Versuch mit Navigation:


    Ich habe mir probehalber den Max-Zoom im Menü so eingestellt, dass wenn eine Richtungsänderung anliegt der Zoom auf einen Wert um die 300m heranzoomt. Der Min-Wert bleibt hierbei unberührt der Standardwert von ca. 1600m.


    Also los!


    Quick-Zoom wird angezeigt. Scheint wieder prima zu funktionieren. Gas geben über 100 Km/h und das Ding zoomt brav auf 4500m.


    Gas wegnehmen und eine ganze Weile nur 50 Km/h fahren und der Zoom fährt auf 3000m zurück. Aber leider nicht auf die 1600m :-(.


    Sobald das Gerät eine Richtungsänderung vorgibt, zoomt das Gerät brav auf meine eingestellten 300m. Danach alles wieder zurück auf 3000m. Nicht auf den Standardwert von 1600m.


    Schade, ich dachte schon jetzt funktionierts!


    Fazit:


    Bei mir zoomt die Karte automatisch, immer geschwindigkeitsabhängig, zwischen 3000m und 4500m hin und her. Sobald ich mir den Min und den Max Zoomwert gleichzeitig im Menü selber einstelle, ist die Sache sofort
    offline.


    Wie gesagt so ist der Zustand bei mir!


    Das hochzoomen auf 4500m bei über 100 Km/h klappt prima. Wäre toll wenn er auch wieder auf - wenigsten Standardwert von 1600m zürück zoomen würde, sobald ich langsamer als z.B 65 Km/h werde. Besser noch
    wäre, wenn man den Max-Zoomwert selber einstellen könnte!


    Ach, vielleicht noch ein kleiner Denkanstoß: Wie wäre es denn, den Button von Autozoom auf DynZoom umzubennennen?


    Wenn DynZoom Aktiv ist, sollten vielleicht besser die Button + und - im Display ausgeblendet werden? Dann wird ein unabsichtlicher Offline-Modus verhindert!



    Funktioniert das Zoomen in den Ursprung zurück(also z.B 1600m) nur bei mir nicht richtig?


    Gruß Fusselbiber

  • Hallo Fussel,


    Du brauchts nirgends irgendwas anzupassen. Dann funktionierts super...


    Das ganze ist ne Mischung aus Geschwindigkeit und Zoomaktionen.
    Der Zoomobserver wird für 40 Sekunden "angezapft". Wenn Danach keine Zoomaktionen stattfinden dann gibts auch nichts zu regeln...


    Sobald Du >100km bist und dann innerhalb 40 Sekunden unter 100kmh
    fährst zoomt er auch natürlich wieder zurück. Wenn Du aber danach plötzlich stehen beibst bleibt natürlich auf dem max. Aber der Normalfall ist ja dass vor der Geschw. Reduzierung eine Richtungsänderung und somit eine Zoomänderung stattfindet. Und dann wird neu geregelt...
    Manuell kannst die mit 2x Button betätigen auch aktivieren.


    Verlange nicht soviel. Dass war schon mit viel Tricks überhaupt zu realisieren. Ich habe ne Menge Altagstestfahrten vorgenommen. Da funktionierts genieal... Dafür ists auch "gemüntzt" Alle Testsituationen wird es wahrscheinlich nicht gerecht werden...


    Falls Du natürlich ne Idee für ne "reine" Geschwindigkeitsabhängige Lösung hast, lass es mich wissen...


    Gruß

  • Hi Veneto!


    Also aus deiner Antwort lese ich heraus, dass der DynZoom ausschließlich bei der Navigation funktioniert.


    Du sagtest, dass eine Einstellung nicht notwendig ist.


    Hilf mir bitte auf die Sprünge: Wenn ich starte, ist der Maßstab bei ca.1250. Beschleunige ich danach auf mehr als 60,70,95, stellt der Zoom den Maßstab der Geschwindigkeit entsprechend ein. Also dementsprechend 2000m, 3200m, 4500m. Fahre ich dann schneller als z.B 100 Km/h und das länger als z.B 5min, wird der Zoom auf 4500m eingestellt. Fahre ich nun z.B von der Autobahn ab, wird nur auf 3200 zurückgezoomt. Weiter herunter wird nicht mehr geregelt. Auch nicht wenn ich dann geradeaus (ohne Richtungsänderung)durch eine Stadt fahre.


    Ist das bei dir auch so?


    Ist es nicht wenigstens möglich, dass er nicht bei der 3200m Einstellung hängen bleibt, sondern auf 1250 zurück regelt?


    Ich habe noch eine Idee!:


    Man muss doch nicht die tatsächliche Fahrgeschwindigkeit als Wert abfragen. Das Navi zeigt doch oben rechts in der Ecke an wie schnell man fahren darf. Könnte man nicht diesen Wert benutzen?


    Gruß Fusselbiber

  • Zitat


    Ich habe noch eine Idee!:


    Man muss doch nicht die tatsächliche Fahrgeschwindigkeit als Wert abfragen. Das Navi zeigt doch oben rechts in der Ecke an wie schnell man fahren darf. Könnte man nicht diesen Wert benutzen?


    Gruß Fusselbiber


    Hallo Fussel,


    so einfach ist das nicht. Du benötigst einen Prozess um die Geschwindigkeit abzufragen. Das was Du siehst wird vermutlich vom IGO-Kernel gesteuert. Die Scripte greifen nicht so tief durch und können nur an der "Oberfläche kratzen". Dann gibt es noch diese "Observer". Die Überwachen einen internen Prozess und sobald was passiert greifen diese auf einen Script zu. Genau an diese Stelle habe ich mich "reingehackt". (Das war einfach Try-and-Error).
    Die Anzeige wie schnell man fahren darf ist auch nur verfügbar wenn es Geschwindigkeitsbegrenzungen gibt. Sind keine Begrenzungen vorhanden gibt es auch keine Info diesbezüglich.


    Das mit dem "nicht Runterregeln" habe ich nur einmal festgestellt. Ich werde dies aber nochmals nachprüfen.


    Gruß

  • Hi veneto,
    was muss ich machen, dass wenn ich bei deinem Komfort-Zoom V2, im 2D Modus der Autozoom weiter reinzoomt, also die Map größer dargestellt wird; wie weit beim Quickzoom rausgezoomt wird, steht ja in der navigatemap.ui, aber wo steht das beim Autozoom?
    Evtl. hast Du eine Idee




    in meiner Skinconfig.ini steht folgendes:
    ;===========================================
    ; Resolution-specific configuration settings
    ;===========================================


    [map]
    3d_scale_carmodel=1
    3dcarsizemin=2000
    3dcarsizemax=3600
    3dcarsizemul=20000
    3d_max_tiltlevel=8600
    3d_min_zoomlevel=30
    3d_max_zoomlevel=500
    3d_max_zfar=64
    minimum_zoom_amount=70
    zoomfactor=102
    tiltfactor=15


    [3d]
    disable_car_normals=1


    [smartzoom]
    minzoom=80
    maxzoom=170
    minangle=50
    maxangle=80
    angleoffset=8
    minzoom2d=160
    maxzoom2d=1250
    zoom2dpercent=135


    [loading]
    text_fontsize=14
    text_y=254
    text_w=474


    [2d]
    carcenter_y=35
    mincarsize=190
    maxcarsize=190


    [3d_config]
    roadsign_lines_per_screen=15
    frame_fontsize_muler = 0.8


    [interface]
    minzoomglobe=350000
    minzoom2d=100



    Gruß
    Max

  • Zitat

    Original von wmw
    Hi veneto,
    was muss ich machen, dass wenn ich bei deinem Komfort-Zoom V2, im 2D Modus der Autozoom weiter reinzoomt, also die Map größer dargestellt wird; wie weit beim Quickzoom rausgezoomt wird, steht ja in der navigatemap.ui, aber wo steht das beim Autozoom?
    Evtl. hast Du eine Idee


    Gruß
    Max



    Hallo Max,


    ich habe dass eigentlich nirgends bei V2 definiert. Du konfigurierst dies über das Menü.


    Kannst aber auch einfach den Befehl ".smartzoom.minzoom2d 160"
    in den Qucikzoom Script hinzufügen. Damit hast beim eimaligen betätigen Deinen Wert eingestellt. (Die 160 ist der Wert)


    grüssle