Dalla versione 0.189 sono state introdotte queste novità:
- aggiunti attributi dipswitch->diplocation
- aggiunti attributi configuration->conflocation
- aggiunta attributi feature
Tradotto in xml:
Codice: Seleziona tutto
<!ELEMENT dipswitch (diplocation*, dipvalue*)>
<!ELEMENT diplocation EMPTY>
<!ATTLIST diplocation name CDATA #REQUIRED>
<!ATTLIST diplocation number CDATA #REQUIRED>
<!ATTLIST diplocation inverted (yes|no) "no">
<!ELEMENT configuration (conflocation*, confsetting*)>
<!ELEMENT conflocation EMPTY>
<!ATTLIST conflocation name CDATA #REQUIRED>
<!ATTLIST conflocation number CDATA #REQUIRED>
<!ATTLIST conflocation inverted (yes|no) "no">
<!ELEMENT driver EMPTY>
<!ATTLIST driver status (good|imperfect|preliminary) #REQUIRED>
<!ATTLIST driver emulation (good|imperfect|preliminary) #REQUIRED>
<!ATTLIST driver color (good|imperfect|preliminary) #REQUIRED>
<!ATTLIST driver sound (good|imperfect|preliminary) #REQUIRED>
<!ATTLIST driver graphic (good|imperfect|preliminary) #REQUIRED>
<!ATTLIST driver cocktail (good|imperfect|preliminary) #IMPLIED>
<!ATTLIST driver protection (good|imperfect|preliminary) #IMPLIED>
<!ATTLIST driver savestate (supported|unsupported) #REQUIRED>
<!ELEMENT feature EMPTY>
<!ATTLIST feature type (protection|palette|graphics|sound|controls|keyboard|mouse|microphone|camera|disk|printer|lan|wan|timing) #REQUIRED>
<!ATTLIST feature status (unemulated|imperfect) #IMPLIED>
<!ATTLIST feature overall (unemulated|imperfect) #IMPLIED>
Fino a qui tutto bene. Ignoro al momento i primi due e mi concentro sull'ultimo perchè ha ripercussioni su parecchie cose.
Il problema è che i valori feature andranno a sostituire quello che oggi è controllato dai driver (color, sound, graphic, protection).
Quindi tra una o due versioni, se non farò cambiamenti al sito, non si potrà sapere quale gioco funziona e quale no.
Se volete approfondire qui trovate il link da cui sono partito: http://www.mameworld.info/ubbthreads/sh ... 1501125859
Dato che le nuove informazioni estendono quelle vecchie, utilizzerò internamente il nuovo sistema ed andrò ad aggiornare i vecchi dati in tabella.
Ovvero, lo status passerà a:
Codice: Seleziona tutto
protection
palette
graphics
sound
controls
keyboard
mouse
microphone
camera
disk
printer
lan
wan
timing
Questo è lo schema che seguirò:
Codice: Seleziona tutto
driver/color --> feature/type=palette
driver/sound --> feature/type=sound
driver/graphic --> feature/type=graphics
driver/protection --> feature/type=protection
I dati delle ricerche salvate continueranno ad essere gestite e saranno cambiati "al volo" sui nuovi campi e con le nuove logiche. In caso contrario ogni link utilizzato oggi per fare questo tipo di ricerca verrebbe invalidato e sarebbe un peccato... soprattutto perchè non è una modifica (secondo me) utile ma introduce solo incompatibilità con il passato.
Avrebbero tranquillamente potuto mantenere i 4 campi come replica dei nuovi, specialmente visto il costo (irrisorio) di farlo a monte durante la generazione dell'xml.
Questa è la corrispondenza tra i valori:
Codice: Seleziona tutto
driver good = feature status vuoto
driver imperfect = feature status "imperfect"
driver preliminary = feature status "unemulated"
Vedrò anche se portare in ricerca tutti i nuovi valori, ma non so se ha senso farlo visto che comunque prima dovrò cambiare il database aggiungendo ben 11 campi (palette, controls, keyboard, mouse, microphone, camera, disk, printer, lan, wan, timing). Anche qui evito i valori "overall" altrimenti dovrei raddoppiare i campi.
Oggi appare così:
Dai valori selezionabili sparirà Test e controllerò se ha ancora senso mantenere Sconosciuto.
Vista la delicatezza della modifica, probabilmente la pubblicherò dopo l'uscita del primo Mame senza i tag driver.