grandvent
Messages : 23 Département : 00
| Sujet: [TUTO] jouer ExclusiveFullScreen en mode Desktop: comment adapter les tables (sauf UltraDMD) Sam 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 DMDLa 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]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 reelsExemple: 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 UltraDmdsi 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 | |
|