[RICHIESTA] opzione show_mechanical

Area ufficiale dedicata allo sviluppo e al supporto del Frontend targato ArcadeItalia

Moderatore: Moderatori F.E.E.L.

Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 3984
Iscritto il: 19/07/2005, 18:52
Reputatione: 14
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 5 volte

[RICHIESTA] opzione show_mechanical

Messaggio da pucci » 29/06/2014, 12:10

così come c'è una bella opzione "show_clones", io ne aggiungerei una "show_mechanical" di default imposta a 0
che ne dici?


Avatar utente
dR.pRoDiGy
Moderatore F.E.E.L.
Moderatore F.E.E.L.
Messaggi: 2896
Iscritto il: 17/11/2009, 15:55
Medaglie: 1
Reputatione: 39
Città: Prov_Milano_zona_Sempione
:
Donatore
Grazie Ricevuti: 2 volte

Re: [NEW FEATURE] opzione show_mechanical

Messaggio da dR.pRoDiGy » 30/06/2014, 10:45

Ciao Pucci, la richiesta è chiara, ma su quali campi/valori del file xml dovrebbe filtrare?
"Non si smette di giocare perché si diventa vecchi, ma si diventa vecchi perché si smette di giocare"

Immagine F.E.E.L. - FrontEnd (Emulator Launcher) development & support
http://feelfrontend.altervista.org ( http:// feelfrontend.altervista.org )


Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 3984
Iscritto il: 19/07/2005, 18:52
Reputatione: 14
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 5 volte

Re: [NEW FEATURE] opzione show_mechanical

Messaggio da pucci » 30/06/2014, 21:43

viewtopic.php?f=56&t=8749&hilit=mame+cl ... =30#p95954

ismechanical <> NULL

se vuoi fare il figo: viewtopic.php?f=56&t=8749&hilit=mame+cl ... =50#p96894

aggiunge anche in un seconda condizione (in AND con la prima):

screen <> NULL


Avatar utente
dR.pRoDiGy
Moderatore F.E.E.L.
Moderatore F.E.E.L.
Messaggi: 2896
Iscritto il: 17/11/2009, 15:55
Medaglie: 1
Reputatione: 39
Città: Prov_Milano_zona_Sempione
:
Donatore
Grazie Ricevuti: 2 volte

Re: [RICHIESTA] opzione show_mechanical

Messaggio da dR.pRoDiGy » 30/06/2014, 23:01

Okkei, allora confesso che non sapevo la definizione di mechanical! 8-)

Il fatto è che l'attributo ismechanical non so da dove venga! Ho guardato il file xml di mame 133u3 (la versione che uso io da tempo immemore), ma non c'è <-think->
I casi sono 2:
- l'attributo è stato aggiunto in versioni mame "recenti"
- l'informazione viene desunta da Mame Clean da altre info (che so, se i control non sono 2-3-4 joy, o volanti, o, o, o .. è mechanical)

Tu ne sai un pò di più?
"Non si smette di giocare perché si diventa vecchi, ma si diventa vecchi perché si smette di giocare"

Immagine F.E.E.L. - FrontEnd (Emulator Launcher) development & support
http://feelfrontend.altervista.org ( http:// feelfrontend.altervista.org )


Avatar utente
motoschifo
Progetto Arcade Database
Progetto Arcade Database
Messaggi: 2752
Iscritto il: 12/07/2013, 20:29
Medaglie: 2
Reputatione: 42
Città: Parma
Località: Parma
:
Gold Medal Donatore
Grazie Ricevuti: 3 volte
Contatta:

Re: [RICHIESTA] opzione show_mechanical

Messaggio da motoschifo » 30/06/2014, 23:16

Io l'attributo ismechanical l'ho sempre visto da quando uso il Mame, dipende poi da quale xml usi per generare le liste.
Ad esempio questo è il risultato di "mame -listxml mslug":

<?xml version="1.0"?>
<!DOCTYPE mame [
<!ELEMENT mame (game+)>
<!ATTLIST mame build CDATA #IMPLIED>
<!ATTLIST mame debug (yes|no) "no">
<!ATTLIST mame mameconfig CDATA #REQUIRED>
<!ELEMENT game (description, year?, manufacturer?, biosset*, rom*, disk*, device_ref*, sample*, chip*, display*, sound?, input?, dipswitch*, configuration*, adjuster*, driver?, device*, slot*, softwarelist*, ramoption*)>
<!ATTLIST game name CDATA #REQUIRED>
<!ATTLIST game sourcefile CDATA #IMPLIED>
<!ATTLIST game isbios (yes|no) "no">
<!ATTLIST game isdevice (yes|no) "no">
<!ATTLIST game ismechanical (yes|no) "no">
<!ATTLIST game runnable (yes|no) "yes">
<!ATTLIST game cloneof CDATA #IMPLIED>
<!ATTLIST game romof CDATA #IMPLIED>
<!ATTLIST game sampleof CDATA #IMPLIED>
<!ELEMENT description (#PCDATA)>
<!ELEMENT year (#PCDATA)>
<!ELEMENT manufacturer (#PCDATA)>
<!ELEMENT biosset EMPTY>
...
...


Se vuoi scaricarti il mio programmino, scritto in C#, trovi anche alcuni esempi di raggruppamenti/pulizia per ignorare alcune tipologie di rom (es. working, nogood, imperfect, ecc).
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 Web ›ArcadeDatabase


Avatar utente
griffon
Nostalgico
Nostalgico
Messaggi: 333
Iscritto il: 05/05/2014, 13:01
Medaglie: 1
Reputatione: 4
Città: Rovigo
:
Donatore

Re: [RICHIESTA] opzione show_mechanical

Messaggio da griffon » 30/06/2014, 23:18

La prima che hai detto.

TI incollo un esempio dal mio mame.xml del mame 0.153:

Codice: Seleziona tutto

	<game name="zekepeak" sourcefile="icecold.c" ismechanical="yes" cloneof="icecold" romof="icecold">
		<description>Zeke's Peak</description>
		<year>1983</year>
		<manufacturer>Taito</manufacturer>
		<rom name="zp23.bin" size="8192" crc="ef959586" sha1="7f8a4787b340bfa34180164806b181b5fb4e5cfa" region="maincpu" offset="e000"/>
		<rom name="zp24.bin" size="8192" crc="ee90c8f5" sha1="27a513000e90536e485ccdf43786b415b3c95bd7" region="maincpu" offset="c000"/>
		<device_ref name="m6809"/>
		<device_ref name="pia6821"/>
		<device_ref name="pia6821"/>
		<device_ref name="pia6821"/>
		<device_ref name="i8279"/>
		<device_ref name="timer"/>
		<device_ref name="timer"/>
		<device_ref name="speaker"/>
		<device_ref name="ay8910"/>
		<device_ref name="ay8910"/>
		<chip type="cpu" tag="maincpu" name="M6809" clock="1500000"/>
		<chip type="audio" tag="mono" name="Speaker"/>
		<chip type="audio" tag="ay0" name="AY-3-8910A" clock="1500000"/>
		<chip type="audio" tag="ay1" name="AY-3-8910A" clock="1500000"/>
		<sound channels="1"/>
		<input players="1" coins="1" service="yes">
			<control type="doublejoy" ways="vertical2" ways2="vertical2"/>
		</input>
		<dipswitch name="Automatic Attract Mode" tag="DSW3" mask="1">
			<dipvalue name="Off" value="0"/>
			<dipvalue name="On" value="1" default="yes"/>
		</dipswitch>
		<dipswitch name="Rounds to Complete to Light Star" tag="DSW3" mask="2">
			<dipvalue name="1 Frame" value="0" default="yes"/>
			<dipvalue name="2 Frames" value="2"/>
		</dipswitch>
		<dipswitch name="Automatic Attract Mode Delay" tag="DSW3" mask="12">
			<dipvalue name="1 Min" value="0" default="yes"/>
			<dipvalue name="5 Min" value="4"/>
			<dipvalue name="10 Min" value="8"/>
			<dipvalue name="15 Min" value="12"/>
		</dipswitch>
		<dipswitch name="Manual Attract Mode Delay" tag="DSW3" mask="48">
			<dipvalue name="0 Min" value="0" default="yes"/>
			<dipvalue name="2 Min" value="16"/>
			<dipvalue name="5 Min" value="32"/>
			<dipvalue name="10 Min" value="48"/>
		</dipswitch>
		<dipswitch name="Difficulty (Prompt Time)" tag="DSW3" mask="192">
			<dipvalue name="Easy (5, 4, 2, 1)" value="0" default="yes"/>
			<dipvalue name="Factory (4, 2, 1, 1)" value="64"/>
			<dipvalue name="Hard (2, 2, 1, 1)" value="128"/>
			<dipvalue name="X-Hard (1, 1, 1, 1)" value="192"/>
		</dipswitch>
		<dipswitch name="Dispense Option" tag="DSW4" mask="7">
			<dipvalue name="Disabled" value="0" default="yes"/>
			<dipvalue name="2 Tickets after Hole 6, 3 Tickets after Hole 10" value="1"/>
			<dipvalue name="1 Ticket after Holes 5 - 10" value="2"/>
			<dipvalue name="No Tickets Dispensed" value="3"/>
			<dipvalue name="5 Tickets after Hole 5" value="4"/>
			<dipvalue name="No Tickets Dispensed" value="5"/>
			<dipvalue name="5 Tickets after Hole 10" value="6"/>
			<dipvalue name="No Tickets Dispensed" value="7"/>
		</dipswitch>
		<dipswitch name="Coin A" tag="DSW4" mask="8">
			<dipvalue name="2 Coins/1 Credit" value="0"/>
			<dipvalue name="1 Coin/1 Credit" value="8" default="yes"/>
		</dipswitch>
		<dipswitch name="Score for Extra Ball" tag="DSW4" mask="48">
			<dipvalue name="No Extra Ball" value="0" default="yes"/>
			<dipvalue name="2000" value="16"/>
			<dipvalue name="4000" value="32"/>
			<dipvalue name="8000" value="48"/>
		</dipswitch>
		<dipswitch name="Bonus Countdown Speed" tag="DSW4" mask="192">
			<dipvalue name="Slow" value="0" default="yes"/>
			<dipvalue name="Factory" value="64"/>
			<dipvalue name="Fast" value="128"/>
			<dipvalue name="X-Fast" value="192"/>
		</dipswitch>
		<port tag=":DSW3">
		</port>
		<port tag=":DSW4">
		</port>
		<port tag=":TEST">
		</port>
		<port tag=":JOY">
		</port>
		<port tag=":X0">
		</port>
		<port tag=":X1">
		</port>
		<port tag=":X2">
		</port>
		<driver status="preliminary" emulation="preliminary" color="good" sound="good" graphic="good" savestate="unsupported"/>
	</game>
EDIT: azzo, doppia risposta a tipo 20 secondi di distanza :rofl2:


Avatar utente
dR.pRoDiGy
Moderatore F.E.E.L.
Moderatore F.E.E.L.
Messaggi: 2896
Iscritto il: 17/11/2009, 15:55
Medaglie: 1
Reputatione: 39
Città: Prov_Milano_zona_Sempione
:
Donatore
Grazie Ricevuti: 2 volte

Re: [RICHIESTA] opzione show_mechanical

Messaggio da dR.pRoDiGy » 01/07/2014, 23:54

Ci ho ragionato un pò su ragazzi..
Purtroppo questa cosa non si può proprio fare, perchè richiederebbe di modificare i formati dei file lista (*.lst) per salvare anche quel parametro.
Questo porterebbe a:
- rottura compatibilità con le liste mamewah (male), perdendo anche la possibilità di usare tutti i relativi tool esterni
- rottura compatibilità con le liste di *tutte* le precedenti versioni di FEEL (malissimo! :| ), con necessità di ricrearle tutte da zero

Mi spiace ma di qui non ci si scappa proprio.. :?
"Non si smette di giocare perché si diventa vecchi, ma si diventa vecchi perché si smette di giocare"

Immagine F.E.E.L. - FrontEnd (Emulator Launcher) development & support
http://feelfrontend.altervista.org ( http:// feelfrontend.altervista.org )


Avatar utente
motoschifo
Progetto Arcade Database
Progetto Arcade Database
Messaggi: 2752
Iscritto il: 12/07/2013, 20:29
Medaglie: 2
Reputatione: 42
Città: Parma
Località: Parma
:
Gold Medal Donatore
Grazie Ricevuti: 3 volte
Contatta:

Re: [RICHIESTA] opzione show_mechanical

Messaggio da motoschifo » 02/07/2014, 1:23

Non conosco come è strutturato Feel, ho visto solo screenshot e qualche video, comunque l'idea di essere "limitati" nell'impostazione di questi parametri mi sembra qualcosa di molto forte.
Mi spiego meglio: usando xml per memorizzare i dati, se ci sono parametri in più vengono ignorati dalle vecchie versioni e non ci sono problemi, mentre invece le nuove possono sfruttarle (come ad esempio è il formato del Mame).
In ogni modo hai una mina vagante perchè molto probabilmente stai spostando il problema... quindi non sarà oggi, ma domani dovrai rompere la compatibilità per forza se vorrai estendere qualcosa di non previsto.

Però mi sembra strano... cioè una volta dentro al front-end, se sai che è mechanical lo togli e basta no? Mi sfugge il motivo per cui mamewah non possa leggere più nulla o del perchè le vecchie liste siano tutto da buttare.

Parlo da profano si intende, magari se hai maggiori dettagli puoi inviarmeli in pm senza sporcare il thread :)
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 Web ›ArcadeDatabase


Avatar utente
griffon
Nostalgico
Nostalgico
Messaggi: 333
Iscritto il: 05/05/2014, 13:01
Medaglie: 1
Reputatione: 4
Città: Rovigo
:
Donatore

Re: [RICHIESTA] opzione show_mechanical

Messaggio da griffon » 02/07/2014, 10:51

Feel e mamewah non usano xml, ma un file piano di testo.

Quindi o il dottore molla/converte le vecchie liste in xml (le si importa con un tool o similari), ma credo sia una gran rottura di palle, o ci teniamo i mechanical (che, per inciso, odio anche io fortissimamente).


Avatar utente
dR.pRoDiGy
Moderatore F.E.E.L.
Moderatore F.E.E.L.
Messaggi: 2896
Iscritto il: 17/11/2009, 15:55
Medaglie: 1
Reputatione: 39
Città: Prov_Milano_zona_Sempione
:
Donatore
Grazie Ricevuti: 2 volte

Re: [RICHIESTA] opzione show_mechanical

Messaggio da dR.pRoDiGy » 02/07/2014, 12:49

motoschifo ha scritto:Non conosco come è strutturato Feel, ho visto solo screenshot e qualche video, comunque l'idea di essere "limitati" nell'impostazione di questi parametri mi sembra qualcosa di molto forte.
Mi spiego meglio: usando xml per memorizzare i dati, se ci sono parametri in più vengono ignorati dalle vecchie versioni e non ci sono problemi, mentre invece le nuove possono sfruttarle (come ad esempio è il formato del Mame).
In ogni modo hai una mina vagante perchè molto probabilmente stai spostando il problema... quindi non sarà oggi, ma domani dovrai rompere la compatibilità per forza se vorrai estendere qualcosa di non previsto.

Però mi sembra strano... cioè una volta dentro al front-end, se sai che è mechanical lo togli e basta no? Mi sfugge il motivo per cui mamewah non possa leggere più nulla o del perchè le vecchie liste siano tutto da buttare.

Parlo da profano si intende, magari se hai maggiori dettagli puoi inviarmeli in pm senza sporcare il thread :)
Beh, perdonami, prima di parlare di "mine vaganti" o "spostare i problemi", non pensi sarebbe il caso di provarlo almeno, il prodotto? :)
Non fa niente, spiegherò lo stesso a beneficio di tutti.

Ad avvio progetti (informatici e non) ci sono sempre scelte tecniche preliminari da prendere, che portano pro e contro e condizionano, in misura variabile, tutta la vita del progetto stesso.

In FEEL, una di queste è che il formato *interno* (per la sua creazione viene cmq parsato l'xml di MAME) delle liste è in testo piano, delimitato solo da a capo, che ha corrispondenza diretta field-by-field con le classi interne che rappresentano le rom.

I pro sono che:
- il formato è lo stesso di MameWah. Questa compatibilità permette di importare le sue liste direttamente, e utilizzare tool già esistenti (es.: Mame Clean, progetto Emma, altri) per crearne di nuove
- vista l'estrema semplicità del formato, una lista di varie migliaia di titoli può venire caricata in memoria in pochi millisecondi, a differenza dell'xml (o mini-database su disco, o qualunque altra cosa ti venga in mente), che richiede secondi per il parsing.

Un contro è sicuramente l'impossibilità di estendere la lista con parametri in più, ma considerato che MameWah esiste da 10 anni e continua ad essere uno dei FE più nominati e apprezzati, mi fa pensare che la cosa non sia così drammatica <-whistling->

Non si desiderano i mechanical? Si apre Mame Clean (che permette un milione di cose in più che FEEL non farà mai, per scelta!), si disabilitano, si crea la lista pulita di proprio gusto, e si copia così com'è nella cartella data di FEEL. Facile e pratico.

A mio vedere dovrebbe essere così anche per il filtro dei cloni, ma quella funzione è stata aggiunta a FEEL in un tempo remoto in cui non ero ancora io a sviluppare, e là è rimasta.


PS: non è da escludere che in un domani più o meno lontano questa e altre scelte progettuali possano venire messe in discussione e FEEL venga completamente ridisegnato, ma spero converrai con me che rompere la compatibilità con 3 anni di storia di FEEL (per sopprimere i mechanical con un parametro!) sia quantomeno poco conservativo e rispettoso degli utenti che in tutto questo tempo l'hanno adottato e lo usano con passione..
"Non si smette di giocare perché si diventa vecchi, ma si diventa vecchi perché si smette di giocare"

Immagine F.E.E.L. - FrontEnd (Emulator Launcher) development & support
http://feelfrontend.altervista.org ( http:// feelfrontend.altervista.org )


Bloccato

Torna a “F.E.E.L. Il frontend di ArcadeItalia.net”