GoPal 4 Gyrosimulation

Aus GoPalWiki
Version vom 19. April 2009, 11:01 Uhr von Navis (Diskussion | Beiträge) ('''Gyro-Sim Funktion einbauen in den Skin (480x272)''')
Wechseln zu: Navigation, Suche


Gyro-Sim Funktion einbauen in den Skin (480x272)

---> für Skin (320x240) bitte weiter unten nachsehen!


In der PFSkin oben unter Bitmaps zuerst folgende Einträge hinzufügen

       420: PPSkin\GyroGps.png;  //added
       421: PPSkin\gyros_inaktiv.png;  //added
       422: PPSkin\gyros_aktiv.png;  //added
       423: PPSkin\RunderButton.png;  //added
       428: PPSkin\gyro_nav_start.png;  //added
       436: PPSkin\Simu_Aktiv.png; // added

Nun im Abschnitt „Route_options“ folgendes einfügen am Ende:

               Gyro_Button  
               {
                       Class: LauncherButton;
                       Coordinates: 275,15,10,10;
                       Navigatable: no;
                       Layer: OnTop;
                       launch: $MORT_PFAD$\NR_gyrostart.exe;
                       Enabled: 0,0,0,200,20,0,0,255,0,255;
                       Pushed: 0,0,40,200,20,2,2,255,0,255;
                       Icon: 0,0,0,30,30,5,5,255,0,255;
                }


Als nächstes im Abschnitt „mapview“ folgendes einfügen

ziemlich am Anfang des Abschnitts nach „panel“

               Container_gyro_button
               {
                       Class: SkinContainer;
                       Form: SF_gyro_button;
               }

ganz am Ende des Abschnitts direkt vor „mapview_splitscreen“:

               Container_gyro
               {
                       Class: SkinContainer;
                       Form: SF_gyro;
               }

die selben Eintrage erstellt ihr im Abschnitt „mapview_splitscreen“ und „TurnByTurn


Als nächstes fügt ihr folgende Einträge ganz unten an die PFSkin mit an:

       SF_gyro_button
       {
               // SkinElementModelCoder
               Class: SkinContainer;
               Coordinates: 0,0,480,272;
               TapMode: TapThrough;
               //Layer: OnTop;
               // FormModelCoder
               DynamicFormX: 0;
               DynamicFormY: 0;
               DynamicFormWidth: 50;
               DynamicFormHeight: 50;
               // SkinContainerModelCoder
               // SkinScrollbarOwnerModelCoder

Hinweis: Solltet ihr ein Navi mit Telefonfunktion haben, müsst ihr diese 2 Buttons nach unten verschieben, da sonst der Dailer Button unsere überlagert.

               GyroAktivierung 
               {
                       Class: LauncherButton;
                       Coordinates: 0,96,56,60;
                       Enabled: 423,0,0,40,40,6,10,255,0,255;
                       Pushed: 423,0,0,40,40,6,10,255,0,255;
                       Icon: 421,0,0,22,22,16,19;
                       PYOffset: 2;
                       BGMode: Transparent; 
                       launch: "$KOORD_PFAD$";
                       params: "window=0 RegKeyMode=2 SendKey=\0x73\c-200,280,20\0x72\| RegKey=Software\Navirunner,Autogyros";
               }

               GyroAnzeige 
               {
                       Class: LaunchFromRegistryButton;
                       Coordinates: 0,96,56,60;
                       Enabled: 423,0,0,40,40,6,10,255,0,255;
                       Pushed: 423,0,0,40,40,6,10,255,0,255;
                       Icon: 422,0,0,30,30,12,15,255,0,255;
                       Navigatable: no;
                       TapMode: TapThrough;
                       BGMode: transparent;
                       Registry: "HKCU,Software\Navirunner,Autogyros";
                       HideOnNonExistentRegistryEntry: yo;
               }
       }
       SF_gyro
       {
               // SkinElementModelCoder
               Class: SkinContainer;
               Coordinates: 0,0,480,272;
               TapMode: TapThrough;
               Layer: OnTop;
               // FormModelCoder
               DynamicFormX: 0;
               DynamicFormY: 0;
               DynamicFormWidth: 50;
               DynamicFormHeight: 50;
               // SkinContainerModelCoder
               // SkinScrollbarOwnerModelCoder
               Button_Stop
               {
                       Class: PushButton;
                       Layer: OnTop;
                       Navigatable: no;
                       Coordinates: 120,0,3,3;
                       Enabled: 0,0,0,3,3,0,0;
                       Pushed: 0,0,0,5,5,0,0;
                       PressedEvent: 12;
               }
               Button_Start
               {
                       Class: PushButton;
                       Coordinates: 130,0,3,3;
                       Layer: OnTop;
                       Navigatable: no;
                       Enabled: 0,0,0,3,3,0,0;
                       Pushed: 0,0,0,5,5,0,0;
                       PressedEvent: 11;
               }
               Button_Start
               {
                       Class: PushButton;
                       Coordinates: 140,0,5,5;
                       Layer: OnTop;
                       Navigatable: no;
                       Enabled: 0,0,0,3,3,0,0;
                       Pushed: 0,0,0,5,5,0,0;
                       PressedEvent: 39;
               }
               Button_Stop
               {
                       Class: PushButton;
                       Layer: OnTop;
                       Navigatable: no;
                       Coordinates: 150,0,5,5;
                       Enabled: 0,0,0,3,3,0,0;
                       Pushed: 0,0,0,5,5,0,0;
                       PressedEvent: 40;
               }
               gyro_gps_button
               {
                       Class: NStateButton;
                       Coordinates: 479,220,2,2;
                       Layer: OnTop;
                       Navigatable: no;
                       // NStateButtonModelCoder
                       States: 14;
                       StateChangeOnTap: disable;
                       Icon1: 420,0,0,1,1,0,0,255,0,255;
                       Icon2: 420,0,0,1,1,0,0,255,0,255;
                       Icon3: 420,0,0,1,1,0,0,255,0,255;
                       Icon4: 420,0,0,1,1,0,0,255,0,255;
                       Icon5: 0,0,2,1,1,0,0,255,0,255;
                       Icon6: 0,0,2,1,1,0,0,255,0,255;
                       Icon7: 0,0,4,1,1,0,0,255,0,255;
                       Icon8: 0,0,4,1,1,0,0,255,0,255;
                       Icon9: 0,0,4,1,1,0,0,255,0,255;
                       Icon10: 0,0,6,1,1,0,0,255,0,255;
                       Icon11: 0,0,6,1,1,0,0,255,0,255;
                       Icon12: 0,0,6,1,1,0,0,255,0,255;
                       Icon13: 0,0,6,1,1,0,0,255,0,255;
                       Icon14: 0,0,6,1,1,0,0,255,0,255;
                       MinValue: -1;
                       MaxValue: 12;
                       CurrentValue#DP: 65544;    //_OUT_POS_SATELLITES
               }
               Simu_Aktiv_button
               {
                       Class: SkinIcon;
                       Coordinates: 479,218,2,2;
                       Layer: OnTop;
                       Navigatable: no;
                       BitmapReference: 436,0,0,1,1,0,0;
                       Visibility#DP: 3801124;    
               }
     }

somit sind alle notwendigen Änderungen in der PFSkin vorhanden.


Jetzt müsst ihr noch in der „PFSpecial.skn“ dies einfügen am besten ans ende! Achtet dabei aber auf den korrekten Pfad.

Defines
{
  KOORD_PFAD: "\Storage Card\programme\koord465.exe";
  MORT_PFAD: "\Storage Card\progamme\MortScript";
}

In der funktion „System“ fügt ihr noch bei „GlobalHK:“ diese 2 "Hardwaretasten-Events" mit ein.

 F3@ThrowEvent.2621443,F4@ThrowEvent.2490403

damit wären die Änderungen abgeschlossen.

Zusätzlich braucht ihr noch 2 Programme: MortScript und Koord465

Nun müst ihr noch:
Diese Datei downloaden und entpacken [Dateien]
die PNGs in den Ordner MFD\navigation\Skin480x272\PPSkin einfügen
Alternativ könnt ihr auch diese grafik verwenden. Ihr müsst dann aber euren Code dementsprechend anpassen
Gyro tunnel.png
das Mortscript in den Ordner MFD\programme\mortscript einfügen
die geänderte PFSkin wieder auf das Navi kopieren in den Ordner MFD\ navigation\Skin480x272.
Jetzt noch einen Softreset machen und die Navigation starten.
Jetzt habt ihr in der Karte den Gyro Button und könnt diesen an und aus schalten.

Diskussionsthread im Forum dazu


Viel Spass damit.


Gyro-Sim Funktion einbauen in den Skin (320x240)

In der PFSkin oben unter Bitmaps zuerst folgende Einträge hinzufügen

       420: PPSkin\GyroGps.png;  //added
       421: PPSkin\gyros_inaktiv.png;  //added
       422: PPSkin\gyros_aktiv.png;  //added
       423: PPSkin\RunderButton.png;  //added
       428: PPSkin\gyro_nav_start.png;  //added
       436: PPSkin\Simu_Aktiv.png; // added

Nun im Abschnitt „Route_options“ folgendes einfügen am Ende:

               Gyro_Button  
               {
                      Class: LauncherButton;
                      Coordinates: 300,5,10,10;
                      Navigatable: no; 
                      Layer: OnTop;
                      launch: $MORT_PFAD$\NR_gyrostart.exe;
                      Enabled: 0,0,0,200,20,0,0,255,0,255;
                      Pushed: 0,0,40,200,20,2,2,255,0,255;
                      Icon: 0,0,0,30,30,5,5,255,0,255;
               }


Als nächstes im Abschnitt „mapview“ folgendes einfügen

ziemlich am Anfang des Abschnitts nach „panel“

               Container_gyro_button
               {
                       Class: SkinContainer;
                       Form: SF_gyro_button;
               }

ganz am Ende des Abschnitts direkt vor „mapview_splitscreen“:

               Container_gyro
               {
                       Class: SkinContainer;
                       Form: SF_gyro;
               }

die selben Eintrage erstellt im Abschnitt „mapview_splitscreen“ (vor"MapAreaView") und „TurnByTurn (nach "panel")“


Als nächstes fügt ihr folgende Einträge ganz unten an die PFSkin mit an:

     SF_gyro_button
     {
              // SkinElementModelCoder
              Class: SkinContainer;
              Coordinates: 0,0,320,240;
              TapMode: TapThrough;
              Layer: OnTop;
              // FormModelCoder
              DynamicFormX: 0;
              DynamicFormY: 0;
              DynamicFormWidth: 50;
              DynamicFormHeight: 50;
              // SkinContainerModelCoder
              // SkinScrollbarOwnerModelCoder
              GyroAktivierung 
              {
                      Class: LauncherButton;
                      Coordinates: 0,85,56,60;
                      Enabled: 423,0,0,40,40,6,10,255,0,255;
                      Pushed: 423,0,0,40,40,6,10,255,0,255;
                      Icon: 421,0,0,23,23,12,16,255,0,255;
                      PYOffset: 2;
                      BGMode: Transparent; 
                      launch: "$KOORD_PFAD$";
                      params: "window=0 RegKeyMode=2 SendKey=\0x73\c-200,305,10\0x72\| RegKey=Software\Navirunner,Autogyros";
               }
              GyroAnzeige 
              {
                      Class: LaunchFromRegistryButton;
                      Coordinates: 0,85,56,60;
                      Enabled: 423,0,0,40,40,6,10,255,0,255;
                      Pushed: 423,0,0,40,40,6,10,255,0,255;
                      Icon: 422,0,0,23,23,12,16,255,0,255;
                      Layer: OnTop;
                      Navigatable: no;
                      TapMode: TapThrough;
                      BGMode: transparent;
                      Registry: "HKCU,Software\Navirunner,Autogyros";
                      HideOnNonExistentRegistryEntry: yo;
              }
       }
       SF_gyro
       {
              // SkinElementModelCoder
              Class: SkinContainer;
              Coordinates: 0,0,320,240;
              TapMode: TapThrough;
              Layer: OnTop;
              // FormModelCoder
              DynamicFormX: 0;
              DynamicFormY: 0;
              DynamicFormWidth: 50;
              DynamicFormHeight: 50;
              // SkinContainerModelCoder
              // SkinScrollbarOwnerModelCoder
              Button_Stop
              {
                      Class: PushButton;
                      Layer: OnTop;
                      Navigatable: no;
                      Coordinates: 100,0,3,3;
                      Enabled: 0,0,0,3,3,0,0;
                      Pushed: 0,0,0,5,5,0,0;
                      PressedEvent: 12;
              }
              Button_Start
              {
                      Class: PushButton;
                      Coordinates: 110,0,3,3;
                      Layer: OnTop;
                      Navigatable: no;
                      Enabled: 0,0,0,3,3,0,0;
                      Pushed: 0,0,0,5,5,0,0;
                      PressedEvent: 11;
              }
              Button_Start
              {
                      Class: PushButton;
                      Coordinates: 120,0,5,5;
                      Layer: OnTop;
                      Navigatable: no;
                      Enabled: 0,0,0,3,3,0,0;
                      Pushed: 0,0,0,5,5,0,0;
                      PressedEvent: 39;
              }
              Button_Stop
              {
                      Class: PushButton;
                      Layer: OnTop;
                      Navigatable: no;
                      Coordinates: 130,0,5,5;
                      Enabled: 0,0,0,3,3,0,0;
                      Pushed: 0,0,0,5,5,0,0;
                      PressedEvent: 40;
              }
              gyro_gps_button
              {
                      Class: NStateButton;
                      Coordinates: 319,198,2,2;
                      Layer: OnTop;
                      Navigatable: no;
                      // NStateButtonModelCoder
                      States: 14;
                      StateChangeOnTap: disable;
                      Icon1: 420,0,0,1,1,0,0,255,0,255;
                      Icon2: 420,0,0,1,1,0,0,255,0,255;
                      Icon3: 420,0,0,1,1,0,0,255,0,255;
                      Icon4: 420,0,0,1,1,0,0,255,0,255;
                      Icon5: 0,0,2,1,1,0,0,255,0,255;
                      Icon6: 0,0,2,1,1,0,0,255,0,255;
                      Icon7: 0,0,4,1,1,0,0,255,0,255;
                      Icon8: 0,0,4,1,1,0,0,255,0,255;
                      Icon9: 0,0,4,1,1,0,0,255,0,255;
                      Icon10: 0,0,6,1,1,0,0,255,0,255;
                      Icon11: 0,0,6,1,1,0,0,255,0,255;
                      Icon12: 0,0,6,1,1,0,0,255,0,255;
                      Icon13: 0,0,6,1,1,0,0,255,0,255;
                      Icon14: 0,0,6,1,1,0,0,255,0,255;
                      MinValue: -1;
                      MaxValue: 12;
                      CurrentValue#DP: 65544;    //_OUT_POS_SATELLITES
              }
              Simu_Aktiv_button
              {
                      Class: SkinIcon;
                      Coordinates: 319,196,2,2;
                      Layer: OnTop;
                      Navigatable: no;
                      BitmapReference: 436,0,0,1,1,0,0;
                      Visibility#DP: 3801124;
              }
     }

somit sind alle notwendigen Änderungen in der PFSkin vorhanden.


Nun müst ihr noch:
Diese Datei downloaden und entpacken [Dateien]

die PNGs in den Ordner MFD\navigation\Skin320x240\PPSkin einfügen
das Mortscript in den Ordner MFD\programme\mortscript einfügen
die geänderte PFSkin wieder auf das Navi kopieren in den Ordner MFD\ navigation\Skin320x240.
Jetzt noch einen Softreset machen und die Navigation starten.
Jetzt habt ihr in der Karte den Gyro Button und könnt diesen an und aus schalten.

Diskussionsthread im Forum dazu


Vorlage:Adsense