Pincab Passion
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.



 
AccueilAccueil  MumbleMumble  WIPs Team PP  RechercherRechercher  S'enregistrerS'enregistrer  ConnexionConnexion  Dons  








 

 [TUTO] jouer ExclusiveFullScreen en mode Desktop: comment adapter les tables (sauf UltraDMD)

Aller en bas 
AuteurMessage
grandvent



Messages : 23
Département : 00

[TUTO] jouer ExclusiveFullScreen en mode Desktop: comment adapter les tables (sauf UltraDMD) Empty
MessageSujet: [TUTO] jouer ExclusiveFullScreen en mode Desktop: comment adapter les tables (sauf UltraDMD)   [TUTO] jouer ExclusiveFullScreen en mode Desktop: comment adapter les tables (sauf UltraDMD) EmptySam 20 Oct 2018 - 10:31

J'ai commence a regarder comment utiliser le mode "Exclusive Full Screen" en Desktop Mode (car 1 seul ecran).
Avantages: + de fluidite, pas de notifications de windows qui apparaissent,... que des avantages.
Ca se fait par Preferences>Video>Fullscreen

Mais toutes les tables ne sont pas adapatees: elles peuvent ne pas afficher le DMD, ou ne pas se lancer.[Vous devez être inscrit et connecté pour voir cette image]

Je vais donc les modifier.

Pour les tables avec DMD

La methode ici ne marche qu'avec celles avec DMD, donc pas avec UltraDMD ou les tables
avec des segments de LED sur 2 lignes (ex: Xenon).

1) Faire View>BaclgkassView (et "backdrop" aussi, ca aide). Appuyer sur le bouton "Options".
[Vous devez être inscrit et connecté pour voir cette image]
2) Y ajouter un texte et le parametrer. Le rapport largeur / hauteur donne un grand DMD non deforme. Bien ecrire "DMD" comme texte !
Edit: en rouge, le DMD est souvent illisible: je prefere maintenant mettre en orange, et le faire un peu + lumineux en mettant 1,6 dans la boite a cote:
[Vous devez être inscrit et connecté pour voir cette image]
3) Ouvrir le script: au debut de la table, par exemple apres
Option Explicit
Randomize
ajouter:

Code:
Dim DesktopMode:DesktopMode = Table1.ShowDT
Dim UseVPMDMD:UseVPMDMD = DesktopMode


Il est important que ce soit avant le LoadVPM "01560000", "sega.VBS", 3.36 par exemple)
Chercher .Hidden, et le remplacer par

Code:
.Hidden = DesktopMode



4) Enregistrer la table, et lancer: le DMD n'est plus cliquable/deplacable a la souris, mais le "Exclusive FullScreen" fonctionne

Les pbs rencontres:
Cette ligne:
1) Dim DesktopMode:DesktopMode = Table1.ShowDT
ne doit etre presente qu'une seule fois
2) Parfois le nom de la table n'est pas table1: on le connait en cherchant "init"
Si on obtient
Sub ssf2_Init
alors modifier Dim DesktopMode:DesktopMode = Table1.ShowDT en
Dim DesktopMode:DesktopMode = ssf2.ShowDT
3) Parfois le DMD repositionnable a la souris est present en meme temps que le DMD interne. Je le supprime avec clic droit>Game Settings>decocher Display DMD.
4) Au 1er lancement d'une table, on ne peut pas utiliser le mode ExclusiveFullScreen, car il faut valider qu'on est autorise a l'utiliser.

Pour les tables avec 2 lignes de LED (avec defilement)

Exemple: Diner, Black Knight 2000,...
Le + simple me semble de partir d'une table qui fonctionne en EFS et d'en copier des elements:
1) Ouvrir la table a modifier (ex: Surf'n safari) et DiamondLady de JP Salas dans la meme instance de vpx, et les mettre cote a cote.
2) View>Backglass View, puis copier coller les LED de la DiamondLuck vers Surf'n Sagari
Pour les LED, je prefere ce reglage: FallOff a 50, Intensity=50
[Vous devez être inscrit et connecté pour voir cette image]
[Vous devez être inscrit et connecté pour voir cette image]

3) Ajouter un timer TiDisplay sur le Backglass. Timer_enabled=yes; timer interval=-1
[Vous devez être inscrit et connecté pour voir cette image]
4) Si on veut: Ajuster la position du paquet de LED: selectionner la ligne puis clic droit>translate
Ajuster la taille: selectionner, puis clic droit>scale, decocher: scale around origin (sinon diminue juste l'epaisseur de chaque Led, pas de l'ensemble).
Rq: Penser a utiliser la virgule du clavier si on fait du 0,5 (et pas 0.5)
5) Dans le script
(svt apres
Option Explicit
Randomize)

Code:
Dim DesktopMode:DesktopMode = Table1.ShowDT




Puis dans la partie: With Controller:

Code:
.Hidden = DesktopMode



A la fin du script, coller (base: diamondLady, avec des ajouts de FunHouse)
mon script optimise (qui permet de s'adapter assez facilement aux affichages sur 14,15,16 ou 18 lettres):


Code:
'*************************


'* Alpha-numeric display


'*************************





'improved version


Dim DigOffset


'if a line is with 18 digits instead of 20, DigOffset=2 and comment these 4 lines


'Digits(18) Digits(19) Digits(38) and Digits(39)


DigOffset=2





Dim Digits(40)


Digits(0) = Array(a00, a05, a0c, a0d, a08, a01, a06, a0f, a02, a03, a04, a07, a0b, a0a, a09, a0e)


Digits(1) = Array(a10, a15, a1c, a1d, a18, a11, a16, a1f, a12, a13, a14, a17, a1b, a1a, a19, a1e)


Digits(2) = Array(a20, a25, a2c, a2d, a28, a21, a26, a2f, a22, a23, a24, a27, a2b, a2a, a29, a2e)


Digits(3) = Array(a30, a35, a3c, a3d, a38, a31, a36, a3f, a32, a33, a34, a37, a3b, a3a, a39, a3e)


Digits(4) = Array(a40, a45, a4c, a4d, a48, a41, a46, a4f, a42, a43, a44, a47, a4b, a4a, a49, a4e)


Digits(5) = Array(a50, a55, a5c, a5d, a58, a51, a56, a5f, a52, a53, a54, a57, a5b, a5a, a59, a5e)


Digits(6) = Array(a60, a65, a6c, a6d, a68, a61, a66, a6f, a62, a63, a64, a67, a6b, a6a, a69, a6e)


Digits(7) = Array(a70, a75, a7c, a7d, a78, a71, a76, a7f, a72, a73, a74, a77, a7b, a7a, a79, a7e)


Digits(8) = Array(a80, a85, a8c, a8d, a88, a81, a86, a8f, a82, a83, a84, a87, a8b, a8a, a89, a8e)


Digits(9) = Array(a90, a95, a9c, a9d, a98, a91, a96, a9f, a92, a93, a94, a97, a9b, a9a, a99, a9e)


Digits(10) = Array(aa0, aa5, aac, aad, aa8, aa1, aa6, aaf, aa2, aa3, aa4, aa7, aab, aaa, aa9, aae)


Digits(11) = Array(ab0, ab5, abc, abd, ab8, ab1, ab6, abf, ab2, ab3, ab4, ab7, abb, aba, ab9, abe)


Digits(12) = Array(ac0, ac5, acc, acd, ac8, ac1, ac6, acf, ac2, ac3, ac4, ac7, acb, aca, ac9, ace)


Digits(13) = Array(ad0, ad5, adc, add, ad8, ad1, ad6, adf, ad2, ad3, ad4, ad7, adb, ada, ad9, ade)


Digits(14) = Array(ae0, ae5, aec, aed, ae8, ae1, ae6, aef, ae2, ae3, ae4, ae7, aeb, aea, ae9, aee)


Digits(15) = Array(af0, af5, afc, afd, af8, af1, af6, aff, af2, af3, af4, af7, afb, afa, af9, afe)


Digits(16) = Array(b00, b05, b0c, b0d, b08, b01, b06, b0f, b02, b03, b04, b07, b0b, b0a, b09, b0e)


Digits(17) = Array(b10, b15, b1c, b1d, b18, b11, b16, b1f, b12, b13, b14, b17, b1b, b1a, b19, b1e)


'Digits(18) = Array(b20, b25, b2c, b2d, b28, b21, b26, b2f, b22, b23, b24, b27, b2b, b2a, b29, b2e)


'Digits(19) = Array(b30, b35, b3c, b3d, b38, b31, b36, b3f, b32, b33, b34, b37, b3b, b3a, b39, b3e)


'end of 1st line





Digits(20-DigOffset) = Array(b40, b45, b4c, b4d, b48, b41, b46, b4f, b42, b43, b44, b47, b4b, b4a, b49, b4e)


Digits(21-DigOffset) = Array(b50, b55, b5c, b5d, b58, b51, b56, b5f, b52, b53, b54, b57, b5b, b5a, b59, b5e)


Digits(22-DigOffset) = Array(b60, b65, b6c, b6d, b68, b61, b66, b6f, b62, b63, b64, b67, b6b, b6a, b69, b6e)


Digits(23-DigOffset) = Array(b70, b75, b7c, b7d, b78, b71, b76, b7f, b72, b73, b74, b77, b7b, b7a, b79, b7e)


Digits(24-DigOffset) = Array(b80, b85, b8c, b8d, b88, b81, b86, b8f, b82, b83, b84, b87, b8b, b8a, b89, b8e)


Digits(25-DigOffset) = Array(b90, b95, b9c, b9d, b98, b91, b96, b9f, b92, b93, b94, b97, b9b, b9a, b99, b9e)


Digits(26-DigOffset) = Array(ba0, ba5, bac, bad, ba8, ba1, ba6, baf, ba2, ba3, ba4, ba7, bab, baa, ba9, bae)


Digits(27-DigOffset) = Array(bb0, bb5, bbc, bbd, bb8, bb1, bb6, bbf, bb2, bb3, bb4, bb7, bbb, bba, bb9, bbe)


Digits(28-DigOffset) = Array(bc0, bc5, bcc, bcd, bc8, bc1, bc6, bcf, bc2, bc3, bc4, bc7, bcb, bca, bc9, bce)


Digits(29-DigOffset) = Array(bd0, bd5, bdc, bdd, bd8, bd1, bd6, bdf, bd2, bd3, bd4, bd7, bdb, bda, bd9, bde)


Digits(30-DigOffset) = Array(be0, be5, bec, bed, be8, be1, be6, bef, be2, be3, be4, be7, beb, bea, be9, bee)


Digits(31-DigOffset) = Array(bf0, bf5, bfc, bfd, bf8, bf1, bf6, bff, bf2, bf3, bf4, bf7, bfb, bfa, bf9, bfe)


Digits(32-DigOffset) = Array(c00, c05, c0c, c0d, c08, c01, c06, c0f, c02, c03, c04, c07, c0b, c0a, c09, c0e)


Digits(33-DigOffset) = Array(c10, c15, c1c, c1d, c18, c11, c16, c1f, c12, c13, c14, c17, c1b, c1a, c19, c1e)


Digits(34-DigOffset) = Array(c20, c25, c2c, c2d, c28, c21, c26, c2f, c22, c23, c24, c27, c2b, c2a, c29, c2e)


Digits(35-DigOffset) = Array(c30, c35, c3c, c3d, c38, c31, c36, c3f, c32, c33, c34, c37, c3b, c3a, c39, c3e)


Digits(36-DigOffset) = Array(c40, c45, c4c, c4d, c48, c41, c46, c4f, c42, c43, c44, c47, c4b, c4a, c49, c4e)


Digits(37-DigOffset) = Array(c50, c55, c5c, c5d, c58, c51, c56, c5f, c52, c53, c54, c57, c5b, c5a, c59, c5e)


'Digits(38-DigOffset) = Array(c60, c65, c6c, c6d, c68, c61, c66, c6f, c62, c63, c64, c67, c6b, c6a, c69, c6e)


'Digits(39-DigOffset) = Array(c70, c75, c7c, c7d, c78, c71, c76, c7f, c72, c73, c74, c77, c7b, c7a, c79, c7e)





 


Sub TiDisplay_Timer()


    Dim ChgLED, ii, num, chg, stat, obj


    ChgLED = Controller.ChangedLEDs(&Hffffffff, &Hffffffff)


    If Not IsEmpty(ChgLED)Then


        For ii = 0 To UBound(chgLED)


            num = chgLED(ii, 0):chg = chgLED(ii, 1):stat = chgLED(ii, 2)


            For Each obj In Digits(num)


                If chg And 1 Then obj.State = stat And 1


                chg = chg \ 2:stat = stat \ 2


            Next


        Next


    End If


End Sub



On peut aussi mettre un objet texte (dont on efface le texte) en arriere-plan quand on a un backdrop

Tables 7 digit reels

Exemple: Xenon.
J'ai pris pour modele "pharaoh"(1981) pour modifier la table xenon. Rq: l'affichage des credits ne marche pas, mais le nb de billes est ok) et puis la fluidite du efs est + importante pour moi que les credits restants.

1) Meme principe de copier-coller les elements du Backglass (avec le DisplayTimer)
[Vous devez être inscrit et connecté pour voir cette image]
2) les modifs a faire dans le script:

Code:
Dim DesktopMode: DesktopMode = Table1.ShowDT


+ bas:

Code:
.Hidden=DesktopMode



a la fin:

Code:
'**********************************************************************************************************


' Backglass Light Displays (7 digit 7 segment displays)


Dim Digits(32)





' 1st Player


Digits(0) = Array(LED10,LED11,LED12,LED13,LED14,LED15,LED16)


Digits(1) = Array(LED20,LED21,LED22,LED23,LED24,LED25,LED26)


Digits(2) = Array(LED30,LED31,LED32,LED33,LED34,LED35,LED36)


Digits(3) = Array(LED40,LED41,LED42,LED43,LED44,LED45,LED46)


Digits(4) = Array(LED50,LED51,LED52,LED53,LED54,LED55,LED56)


Digits(5) = Array(LED60,LED61,LED62,LED63,LED64,LED65,LED66)


Digits(6) = Array(LED70,LED71,LED72,LED73,LED74,LED75,LED76)





' 2nd Player


Digits(7) = Array(LED80,LED81,LED82,LED83,LED84,LED85,LED86)


Digits(8) = Array(LED90,LED91,LED92,LED93,LED94,LED95,LED96)


Digits(9) = Array(LED100,LED101,LED102,LED103,LED104,LED105,LED106)


Digits(10) = Array(LED110,LED111,LED112,LED113,LED114,LED115,LED116)


Digits(11) = Array(LED120,LED121,LED122,LED123,LED124,LED125,LED126)


Digits(12) = Array(LED130,LED131,LED132,LED133,LED134,LED135,LED136)


Digits(13) = Array(LED140,LED141,LED142,LED143,LED144,LED145,LED146)





' 3rd Player


Digits(14) = Array(LED150,LED151,LED152,LED153,LED154,LED155,LED156)


Digits(15) = Array(LED160,LED161,LED162,LED163,LED164,LED165,LED166)


Digits(16) = Array(LED170,LED171,LED172,LED173,LED174,LED175,LED176)


Digits(17) = Array(LED180,LED181,LED182,LED183,LED184,LED185,LED186)


Digits(18) = Array(LED190,LED191,LED192,LED193,LED194,LED195,LED196)


Digits(19) = Array(LED200,LED201,LED202,LED203,LED204,LED205,LED206)


Digits(20) = Array(LED210,LED211,LED212,LED213,LED214,LED215,LED216)





' 4th Player


Digits(21) = Array(LED220,LED221,LED222,LED223,LED224,LED225,LED226)


Digits(22) = Array(LED230,LED231,LED232,LED233,LED234,LED235,LED236)


Digits(23) = Array(LED240,LED241,LED242,LED243,LED244,LED245,LED246)


Digits(24) = Array(LED250,LED251,LED252,LED253,LED254,LED255,LED256)


Digits(25) = Array(LED260,LED261,LED262,LED263,LED264,LED265,LED266)


Digits(26) = Array(LED270,LED271,LED272,LED273,LED274,LED275,LED276)


Digits(27) = Array(LED280,LED281,LED282,LED283,LED284,LED285,LED286)





' Credits


Digits(28) = Array(LED4,LED2,LED6,LED7,LED5,LED1,LED3)


Digits(29) = Array(LED18,LED9,LED27,LED28,LED19,LED8,LED17)


' Balls


Digits(30) = Array(LED39,LED37,LED48,LED49,LED47,LED29,LED38)


Digits(31) = Array(LED67,LED58,LED69,LED77,LED68,LED57,LED59)





Sub DisplayTimer_Timer


    Dim ChgLED,ii,num,chg,stat,obj


    ChgLed = Controller.ChangedLEDs(&Hffffffff, &Hffffffff)


If Not IsEmpty(ChgLED) Then


        If DesktopMode = True Then


        For ii = 0 To UBound(chgLED)


            num = chgLED(ii, 0) : chg = chgLED(ii, 1) : stat = chgLED(ii, 2)


            if (num < 32) then


                For Each obj In Digits(num)


                    If chg And 1 Then obj.State = stat And 1


                    chg = chg\2 : stat = stat\2


                Next


            else


                'if char(stat) > "" then msg(num) = char(stat)


            end if


        next


        end if


end if


End Sub


Rq: Blackhole affiche un peu n'importe quoi avec cette methode, car il doit y un segment en + dans l'affichage. La table "panthera" a le meme type
d'affichage mais je n'ai pas reussi a l'adapter.


Pour les tables UltraDmd

si qqn veut faire un tuto, je suis preneur:
le mode EFS est nettement superieur chez moi.


Dernière édition par grandvent le Dim 28 Oct 2018 - 18:40, édité 4 fois
Revenir en haut Aller en bas
peskopat
Admin
peskopat

Messages : 10346
Département : 54

[TUTO] jouer ExclusiveFullScreen en mode Desktop: comment adapter les tables (sauf UltraDMD) Empty
MessageSujet: Re: [TUTO] jouer ExclusiveFullScreen en mode Desktop: comment adapter les tables (sauf UltraDMD)   [TUTO] jouer ExclusiveFullScreen en mode Desktop: comment adapter les tables (sauf UltraDMD) EmptySam 20 Oct 2018 - 10:37

Sacrée belle astuce çà pour les aficionados du EFS , merci pour le tuto [Vous devez être inscrit et connecté pour voir ce lien] [TUTO] jouer ExclusiveFullScreen en mode Desktop: comment adapter les tables (sauf UltraDMD) 3253257302


Ventes : [Vous devez être inscrit et connecté pour voir ce lien][Vous devez être inscrit et connecté pour voir ce lien]
Tutos : [Vous devez être inscrit et connecté pour voir ce lien]/[Vous devez être inscrit et connecté pour voir ce lien][Vous devez être inscrit et connecté pour voir ce lien][Vous devez être inscrit et connecté pour voir ce lien]
Mon monde : [Vous devez être inscrit et connecté pour voir ce lien]
Revenir en haut Aller en bas
https://www.youtube.com/channel/UCYIgslcMXdZ194XWO8JEfjQ
zedrummer

zedrummer

Messages : 4030
Département : 68

[TUTO] jouer ExclusiveFullScreen en mode Desktop: comment adapter les tables (sauf UltraDMD) Empty
MessageSujet: Re: [TUTO] jouer ExclusiveFullScreen en mode Desktop: comment adapter les tables (sauf UltraDMD)   [TUTO] jouer ExclusiveFullScreen en mode Desktop: comment adapter les tables (sauf UltraDMD) EmptySam 20 Oct 2018 - 10:59

Intéressant, à la base c'est un vrai pot de pus ce Force exclusive Fullscreen Mode, avec des souris qui disparaissent, des fenêtres inaccessibles. Au point que je me demandais pourquoi il n'était pas décoché par défaut.
Merci
Revenir en haut Aller en bas
 
[TUTO] jouer ExclusiveFullScreen en mode Desktop: comment adapter les tables (sauf UltraDMD)
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Pincab Passion :: Pincab :: Tutoriels :: [TUTOS] Visual Pinball-
Sauter vers: