Regresar   Foro de marcianitos.org > Emuladores y programas de todo tipo > Emuladores > VPinball/Future Pinball

 
 
Old 12-oct-2008, 04:45   #281
Lord Hiryu
Reencarnación de Priapo!!
 
Avatar de Lord Hiryu
Yo uso el progrma Irotate.
Va bastane mejor que el Pivot Pro.
   
Old 12-oct-2008, 20:16   #282
dasansa
Editor Marciano
He probado el Irotate y me pasa igual que con el control nvidia... en horizontal perfecto pero en vertical la bola no se ve fluida...

Pues me es imposible volver al ordenador anterior ... ya buscaré otra solución
   
Old 13-oct-2008, 23:43   #283
PLAYCADE
Usuario registrado
Necesito tu ayuda, MANOFWAR! sobre el script del OLDDIGIT...

Yo estoy trabajando con STRANGELEO en el pinball digital...el me llama JOLOTRONICS, pero mi nick de siempre es PLAYCADE...
Pudimos pegar la foto del backglass con tu script, usando pinserver, backglass.vbs y la foto .bmp respectiva de cada mesa.
El tema es que yo soy fana de los pinballs 78-82 con displays de leds (7 segments displays) y sería el sueño del pibe, poder poner cada display en su ventanita en el backglass, y no usar el DMD del vpinmame que estan todos agrupados.
Utilicé tu script con el OLDDIGIT.BMP, dando las coordenadas y demás, y aparece bien en el monitor BGlass, pero quedan todos los digitos en cero...no se actualizan con el marcador vpm
Agregué las 2 partes del script tuyo, la del timer tambien (x si lo preguntas)

Estaría bueno que nos pases un script completo, para los 4 players, y si es posible, ball in play, match, y High Score, solo con OLDDIGIT (para usar REEL se reemplazaría y listo)
¿es posible esto?
Nosotros sabemos poco y nada de script.

VP no reconoce coordenadas fuera de su "HOJA" de trabajo del monitor Nro 1...¿es así la cosa? ¿o existe otra forma?

Estuve tratando de correr al monitor backglass los TEXTBOX de scores que usan autores como EALA,LUXOR, PacDude,JP y sus lucecitas x cada segmento
que son fáilmente corribles x coordenadas o directamente con el mouse...mi problema es que no me acepta las coordenadas para llevarlos al monitor del Backglass....al hacerlo, desaparecen. ¿no hay forma,no? si es así, uso el DMD del Vpinmame y listo
Perdón x lo extenso..Saludos y gracias!




Quote:
Originalmente publicado por Manofwar Ver post
Hi Mesuge, this is my solution for EM's

He escrito un script para facilitar el procedimiento de ver el backglass en un 2º monitor. Instalad todo en la carpeta Tables del Visual Pinball. Para que todo funcione, hay que tener instalado Pinserver, se puede bajar de http://www.mameworld.info/misc/setup.zip

Para ver el backglass, basta con pegar este código al final del script de la tabla. El solo reconoce la resolución de los 2 monitores e instala la imagen bmp que queramos en el 2º monitor, ocupando toda la pantalla.

Archivos necesarios: Pinserver y Backglass.VBS

Code:
ExecuteGlobal GetTextFile("Backglass.VBS")
'InstallBackGlass(ImageBackglass)
InstallBackglass("far_out.bmp") ' Sustituir por vuestra imagen bmp del backglass
Sub Table1_Exit()
	Backglass_End
End Sub
Para pinball antiguos con marcadores de rodillo o displays de LED, hay que declarar el EMReel/Display. Para ello debemos pegar el siguiente código al final del script de la tabla.

Archivos necesarios: Pinserver, Backglass.VBS, Reel23x35.bmp y olddigit-53x58.bmp

Code:
ExecuteGlobal GetTextFile("Backglass.VBS")
InstallBackglass("far_out.bmp") 'Sustituir por la imagen bmp de vuestro backglass
'SetDisplay(IDDisplay, ImageFont ,X,Y,Digits, DigitWidth, DigitHeight, FramesxDigit
SetDisplay 1,"Reel23x35.bmp",250,240,4,23,35,2
SetDisplay 0,"olddigit-53x58.bmp",250,120,4,53,58,1
Sub Table1_Exit()
	Backglass_End
End Sub
Para mostrar valores en los EMReel/Display, utilizaremos un Timer propio, como en el siguiente ejemplo o podemos utilizar algún Timer de la tabla.

Code:
Sub BackglassTimer_Timer()
	'UpdateDisplay IDDisplay, Value
	UpdateDisplay 1,Score
	'SetValueDisplay IDDisplay, Value
	SetValueDisplay 0,HighScore
End Sub
UpdateDisplay actualiza el marcador frame a frame cada vez que es llamado. Cada frame es una imagen de transición entre un valor y otro del marcador. Este procedimiento está pensado para los EMReel (marcador de rodillo). La imagen que se utiliza como fuente de los dígitos sería como la siguiente:



Esta imagen tiene, por cada dígito, 23 pixel de ancho, 35 pixel de ancho y 2 frames.

Estos archivos de imagen podéis sustituirlos por los que vosotros hagáis. Luego le pasáis las características de vuestra imagen mediante los parámetros del procedimiento SetDisplay

SetDisplay IDDisplay, ImageFont ,X,Y,Digits, DigitWidth, DigitHeight, FramesxDigit

IDDisplay: Sólo es un número identificador de cada uno de los display/EMReel

ImageFont: Un string con el path/nombre del archivo bmp de la fuente.

X: Posición en el eje X del 2º monitor de la esquina superior izquierda del Display/EMReel

Y: Posición en el eje Y del 2º monitor de la esquina superior izquierda del Display/EMReel

Digits: Número de dígitos que tendrá nuestro Display/EMReel

DigitWidth: Ancho en píxel del dígito.

DigitHeight: Alto en píxel del dígito..

FramesxDigit: Número de frames (imágenes de transición) entre un valor y otro.


SetValueDisplay actualiza el marcador instantáneamente, como los Display de LED. También sirve para los EMReel si queremos que presente un valor instantáneo, como un highscore al iniciar el juego.

Creo que los comentarios que hay encima de cada procedimiento explican suficientemente los parámetros, pero si alguien necesita alguna aclaración sólo tiene que pedirla.

Saludos
   
Old 13-oct-2008, 23:46   #284
Flicki
Marciano
 
Avatar de Flicki
Dasansa:estás probando lo mismo que yo probé ya.


Yo con mi nvidia 7300gt si lo pones en hotizontal:todo OK.Pero el problema viene cuando rotas el monitor (da igual con que programa: irotate;pstrip;pivotpro que luego siempre se te rotará en el panel de la nvidia) que la bola no se vé nada fluida en todo momento (esto tambien pasa jugando al galaxian en vertical,las naves se ven moviendose a saltitos).
Supongo que habrá otros modelos de tarjetas nvidia que SI roten bien el monitor.



Hace poco conseguí instalar el w98se sin problemas y le puse un directx7.Primero lo probé con mi tarjeta integrada (intel xtreme graphics 828650g)y me iba mas o menos bien cuando se encendían muchas luces en la tabla.Pero los multiball me iban de pena (probado con la Flinstones de JP)
La cosa va mejor con mi ati 9250 , la bola no petardea casi nada cuando se encienden muchas luces en la tabla.Pero los multiball petardean y se hacen poco fluidos.
Mi ordenador es un emachines con un procesador intel a 2'80 ghz y 1gb de ram.


Actualmente me encuentro muy perdido en este tema,porque por un lado realmente la cosa de las luces va mucho mejor en w98 pero por otro en el xp el multiball va mejor.
Me gustaría tener más claro que es lo que se necesita para que el vp vaya decente,si procesador o ram.De momento espero probar alguna tarjeta gráfica nvidia que acepte instalar w98 se.

Un saludo y perdón por el rollo,quizás un poco repetitivo ya..
   
Old 14-oct-2008, 00:28   #285
dasansa
Editor Marciano
Playcade bienvenido al foro! .... demasiado técnico para que pueda entrar en tu post

Flicki pues si que parece que estamos igual... yo con la 9250 genial y en vertical y multiball también, pero ese pc lo tengo ahora en la recreativa y no lo pienso tocar ahora que lo tengo todo fino fino.... y por otro lado me sabe mal comprar ningún componente sin que antes le haya dado el visto bueno por si acaso, porque está claro que la cuestión es una buena tarjeta de hace tiempo... al menos eso creo yo...
   
Old 14-oct-2008, 01:51   #286
Flicki
Marciano
 
Avatar de Flicki
Sí, yo a veces me he imaginado yendo a una tienda (no a pc city precisamente..)a buscarme asesoramiento informático con un cd del VP bajo el brazo.De momento, no me veo..
Lo bueno que tiene la ATI es que tiene un panel con muchas opciones.Yo en el apartado de 3d tengo el direct y el opengl con las opciones balanceadas para mejor rendimiento y peor calidad y el multiball lo agradece.
Pero francamente me gustaría saber si teniendo una buena tarjeta que acepte w98 y directx7 u 8 y un buen procesador y algun GB de ram,las mesas funcionarían bien (razonablemente bien.... tampoco pido que vaya tan fluido como el future pinball o el VP8).
Seguiremos probando ,un saludo.
   
Old 17-oct-2008, 22:48   #287
Manofwar
Marciano
 
Avatar de Manofwar
Bueno, bueno, me pierdo un par de meses del foro y la que liáis, todo el mundo haciendo un pinball virtual.

PLAYCADE, como bien dices, no se puede poner ninguno de los elementos del VPinball en el segundo monitor.

En cuanto a hacer un script genérico para players, ball in play, match, etc, chocamos con un problema; cada programador habrá utilizado el nombre que ha estimado conveniente para las variables que guardan los valores de player, bola, etc, por lo que hay que mirar el código, encontrarlas y utilizarlas. Por lo que sin conocimientos de scripts es difícil hacerlo uno mismo.

Si quieres, me dices las tablas y te paso el código a incluir o me envías las tablas por correo y te las devuelvo modificadas.

Saludos
   
Old 18-oct-2008, 02:48   #288
PLAYCADE
Usuario registrado
Gracias MANOFWAR!!! Lo que pasa es que serían cientos de tablas, te volverías loco.
Igual supongo que yo podría encontrar el nombre de la variable para cada display dentro del script de cada autor.
Tu podrías escribir uno general con nombres así: DISPLAY1 , DISPLAY2, DISPLAY3, y DISPLAY4 para los players y además DISPLAYBALLINPLAY y DISPLAYMATCH.
SI quieres empezar uno puedes escribirlo para el CHARLIES ANGELS, que solo hay una version, y poner ese script aquí en el foro, y luego trataríamos de pasarlo a otras tablas VP (no vpm) mirando los nombres de las variables.

Yo estuve reflexionando y pensando, y tal vez tendríamos que usar este script del OLDDIGIT solo para las tablas de VP, y las que tienen Vpinmame usar el original de Vpinmame aunque estén todos agrupados...la razon es que el dmd vpinmame de display de leds 7 segmentos emula tambien el TITILAR del display del jugador en juego, que titila cuando está en espera, y no lo hace cuando está sumando, y el match de por ejemplo las mesas BALLY 80s, como 8BD, XENON, etc, antes de dar el Nro MATCH final hace un juego de Numeros al azar con lindos sonidos y luego sale el MATCH.
Con el script del OLDDIGIT todo ello se perdería...y sería una pena...
Para las mesas VP, como CHARLIES ANGELS, (no hay versión vpm) y todas las EM, la unica opción de tener los displays en el BACKGLASS es usar tu SCRIPT de OLDDIGIT...de lo contrario, apareceria sobre el playfield.

UNa pregunta: ¿el script del OLDDIGIT es solo para tablas sin VPinmame?

No sabes cuanto te agradezco x el script del BACKGLASS!!!! yo soy un enfermo de los flippers , sobre todo la serie 78-82.
Ya pasé a portrait mode:
OLD CONEY ISLAND (Eala dubh, vpm version)
EBD (JP)
EBD at night (LUXOR)
PLAYBOY OCX
FLIGHT2000 (JP)
KISS (JP)
CHARLIES ANGELS (KINGZAP, JOE ENTROPY)

Estoy en este proyecto junto a STRANGELEO, ambos aqui en Argentina.
Empecé este proyecto del flipper digital gracias a STRANGELEO que me mostró los links de Marcianitos, que yo no conocía...al principio me pareció una locura , por los precios de los LCD grandes de 40 pulgadas, pero luego me entusiasmé mucho porque podría hacerse en un 22 wide, que estan baratos y me lo compré.
La ventaja de un flipper digital es que nunca dejan de funcionar x falsocontactos en las placas, no se queman los solenoides, lamparas, switches, PIAS, POWER SOURCE ni nada por el estilo. Yo tengo 4 flippers reales (BLACK KNIGHT, SEAWITCH, FIREPOWER y QUICKSILVER) y cuando le arreglo una cosa, se rompe otra...a veces me dan ganas de prenderlos fuego y hacer un asado...

Bueno...nada más x ahora.

Yo fabrico joysticks para mame y un control para Videopinballs que llamé VIRTUALFLIP.
Podés ver fotos y descripción en mi blog:
http://playcade.blogia.com

Saludos.
   
Old 18-oct-2008, 02:53   #289
PLAYCADE
Usuario registrado
Manofwar: yo probé el FUTURE PINBALL en vertical y no hay que editar nada de la tabla, ya está preparado para ello, y en el backglass, los displays de los players están cada uno en su ventanita...tu que entiendes de código...se puede adaptar al VP el codigo de displays de FP? ¿estoy diciendo cualquier burrada?¿no?
Es como sumar peras con tomates...?
   
Old 18-oct-2008, 18:34   #290
Manofwar
Marciano
 
Avatar de Manofwar
El Future Pinball ya viene preparado para poner el backglass en un segundo monitor, el problema es conseguir una vista decente de la tabla, ya que hay que colocarla con el ratón, a no ser que haya una versión nueva que lo haga.

El script "Backglass.vbs" es más apropiado para tablas no VPinmame, como bien dices. Aunque se puede utilizar para las tablas VPinmame, el proceso es bastante engorroso.

Por esto, hace unos meses comencé la modificación del script para adaptarlo a las tablas VPinmame. He intentado que las modificaciones a realizar en las tablas fueran las menos posibles y fáciles de realizar.

Aunque no está terminado del todo (sólo presenta números no letras), ya es operativo y aunque sufra modificaciones, estás serán internas y en las tablas no habrá que realizar nuevos cambios para utilizar las mejoras futuras del script.


Aquí tenéis la nueva versión Backglass02.vbs y el BMP necesario LedRojo19x26.bmp, ambos archivos deberán copiarse en el directorio "Tables" de VPinball. El BMP está pensado para una resolución de pantalla de 800x600.


Ahora vamos a ver los cambios a realizar en una tabla VPinmame que utilice displays de leds, como la Kiss de JPSalas.


1. Editamos la tabla añadiendo al final del script el siguiente código:

Code:
'************Código para incluir al final del script de la tabla****************
 
executeglobal GetTextFile("Backglass02.VBS")
InstallBackglass("..\backglass\kiss.bmp") 'Sustituir por la imagen bmp de vuestro backglass
'SetDisplay (IDDisplay, ImageFont ,PosX,PosY,NumDigits, DigitWidth, DigitHeight, DigitSpace, FramesxDigit,TypeDisplay)
SetDisplay 0,"LedRojo19x26.bmp",105,150,7,19,26,1,1,1 'Player1
SetDisplay 1,"LedRojo19x26.bmp",555,150,7,19,26,1,1,1 'Player2
SetDisplay 2,"LedRojo19x26.bmp",105,470,7,19,26,1,1,1 'Player3
SetDisplay 3,"LedRojo19x26.bmp",555,475,7,19,27,1,1,1 'Player4
SetDisplay 4,"LedRojo19x26.bmp",620,268,2,19,27,1,1,1 'Créditos
SetDisplay 5,"LedRojo19x26.bmp",695,268,2,19,27,1,1,1 'Bola en juego
Sub kiss_Exit()  'Sustituir kiss_Exit por nombre_de_la_tabla_Exit
	Backglass_End
End Sub



2. Buscamos la función "Controller.ChangedLEDs" entre el script de la tabla. Esta función de VPinmame nos dice el estado (on/off) de cada uno de los displays. Para el que quiera comprender lo que hace, podéis encontrar una explicación de la función "Controller.ChangedLEDs" de VPinmame en el archivo "Interface.html" dentro del directorio del Pinmame.

Code:
Sub LEDs_Timer
	On Error Resume Next
	Dim ChgLED,ii,jj,chg,stat
	ChgLED = Controller.ChangedLEDs(&HFF, &HFFFF)
	If Not IsEmpty(ChgLED) Then
		For ii = 0 To UBound(ChgLED)
     			chg = chgLED(ii, 1) : stat = chgLED(ii, 2)
				For jj = 0 to 10
				If stat = Patterns(jj) OR stat = Patterns2(jj) then Digits(chgLED(ii, 0)).SetValue jj
 			Next
		Next
	End IF
End Sub

3. Incluimos este código

Code:
UpdateLEDsVPMame chgLED(ii, 0), chgLED(ii, 2)

quedando del siguiente modo:


Code:
Sub LEDs_Timer
	On Error Resume Next
	Dim ChgLED,ii,jj,chg,stat
	ChgLED = Controller.ChangedLEDs(&HFF, &HFFFF)
	If Not IsEmpty(ChgLED) Then
		For ii = 0 To UBound(ChgLED)
		  UpdateLEDsVPMame chgLED(ii, 0), chgLED(ii, 2)
			chg = chgLED(ii, 1) : stat = chgLED(ii, 2)
				For jj = 0 to 10
				If stat = Patterns(jj) OR stat = Patterns2(jj) then Digits(chgLED(ii, 0)).SetValue jj
 			Next
		Next
	End IF
End Sub

Con esto ya tenemos los display en el segundo monitor funcionando, aunque quedará cambiar la posición para que queden en su sitio.


Este ejemplo vale para las tablas VPinmame con displays de leds hechas por JPSalas, no se si para todas, pero las que he visto suyas llevan este código o muy parecido. En caso de que no sea igual, deciros que la instrucción "UpdateLEDsVPMame chgLED(ii, 0), chgLED(ii, 2)" hay que incluirla después del "For ii = 0 To UBound(ChgLED)".

No sé si está bien explicado, si veis algo no muy claro, decídmelo.

Edito para incluir el código para la Charlie's Angels

Crea un Timer y lo llamas "BackglassTimer", luego añade al final del script este código (no olvides cambiar el BMP para el backglass) y a jugar.

Code:
executeglobal GetTextFile("Backglass02.VBS")
InstallBackglass("..\backglass\kiss.bmp") 'Sustituir por la imagen bmp de vuestro backglass
'SetDisplay (IDDisplay, ImageFont ,PosX,PosY,NumDigits, DigitWidth, DigitHeight, DigitSpace, FramesxDigit,TypeDisplay)
SetDisplay 0,"LedRojo19x26.bmp",180,142,7,19,26,1,1,1
SetDisplay 1,"LedRojo19x26.bmp",180,205,7,19,26,1,1,1
SetDisplay 2,"LedRojo19x26.bmp",180,310,7,19,26,1,1,1
SetDisplay 3,"LedRojo19x26.bmp",180,374,7,19,27,1,1,1
SetDisplay 4,"LedRojo19x26.bmp",210,258,2,19,27,1,1,1
SetDisplay 5,"LedRojo19x26.bmp",260,258,2,19,27,1,1,1
Sub Table1_Exit()
	Backglass_End
End Sub
Sub BackglassTimer_Timer()
	SetValueDisplay 0, ScoreText.text 
	SetValueDisplay 1, ScoreText2.text 
	SetValueDisplay 2, ScoreText3.text 
	SetValueDisplay 3, ScoreText4.text 
	SetValueDisplay 4, CreditText.text 
	SetValueDisplay 5, BallText.text 
End Sub

Saludos

Editado por Manofwar en 19-oct-2008 a las 03:52.