Ho pubblicato un primo esperimento del nuovo sito:
http://fochinet.altervista.org/arcade_database
Si tratta di un database piccolissimo (ma completo come struttura) e nessuna immagine, visto che come spazio totale per questo dominio ho 1GB condiviso fra dati e database, ed ho già altri siti demo per un totale di 950MB... quindi non ci sta più nulla
Ad ogni modo ho (finalmente) separato le routine interne che posso così riutilizzare in tutti i miei siti e tenere aggiornate in maniera facile e sicura.
Non c'è molto da vedere ma ho già consolidato parecchie cose:
- layout essenziale (mi piace così!)
- poche voci a menu, per adesso
- sistema di login, da completare ma gestito
- tutta la parte import funzionante (37 procedure!)
Ho aggiungo il logo del forum ed usato colori molto simili così da ottenere una sorta di continuità tra i due siti. Ovviamente si può cambiare tutto quanto... considerate che il sito che ho fatto per Sovox sul C64 condivide praticamente le stesse routine di base, eppure graficamente è un'altra cosa.
Qualche dettaglio in più sui dati che memorizzo.
- tabella aggiornamenti importazioni (data/ora, note ed esito di tutti gli import che farò, fino ad un massimo di 37 per singola versione del Mame)
- tabella categorie per tutti i valori dei file ini (catver, genre, ecc)
- tabella emulatori con le informazioni di ciascuna release del Mame (ora sono 257 release differenti!)
- tabella mame con i dati per ciascuna rom della versione attuale
- tabella mame_archive con tutti i dati di storico
Per la tabella "mame" ci sono tutti questi campi:
Codice: Seleziona tutto
game_name varchar(25) Nome della rom
emulator_from int(11) Prima versione in cui compare il gioco
emulator_to int(11) Ultima versione del gioco
emulator_first int(11) Prima versione in cui compare il gioco
game_title varchar(200) Titolo breve (inserito a mano, comprensibile da front-end)
game_sourcefile varchar(50) File sorgente del driver
game_description varchar(200) Titolo completo (ufficiale)
game_year varchar(5) Anno di produzione (es. 1980, 198?, 197?)
game_isbios_sn tinyint(1) E' un bios si/no
game_isdevice_sn tinyint(1) E' un device si/no
game_ismechanical_sn tinyint(1) E' un sistema meccanico si/no
game_isrunnable_sn tinyint(1) Si può eseguire si/no
game_isparent_sn tinyint(1) E' un parent si/no
game_isclone_sn tinyint(1) E' un clone si/no
game_usechd_sn tinyint(1) Utilizza i chd si/no
game_romof varchar(25) Usa le rom di un altro gioco (parent)
game_cloneof varchar(25) Clone di un altro gioco
game_sampleof varchar(25) Gioco da cui prendere i sample
manufacturer varchar(100) Produttore
sound_channels tinyint(1) Canali audio
input_players tinyint(3) Numero di giocatori
input_buttons tinyint(3) Numeri di pulsanti totali (1p, 2p, joy)
input_coins tinyint(3) Numero di crediti
control_type varchar(100) 1=dial, 2=doublejoy, 3=gambling, 4=hanafuda, 5=joy, 6=keyboard, 7=keypad, 8=lightgun, 9=mahjong, 10=mouse, 11=paddle, 12=pedal, 13=positional, 14=stick, 15=trackball
control_ways varchar(100) 1=1, 2=2, 3=3 (half4), 4=4, 5=5 (half8), 6=8, 7=vertical2
display_screens tinyint(3) Numero di schermi
display_type tinyint(3) Tipologia di schermo
display_rotate tinyint(3) Rotazione dello schermo (0=0, 1=90, 2=180, 3=270)
display_width int(5) Larghezza dello schermo (px)
display_height int(5) Altezza dello schermo (px)
display_refresh decimal(9,6) Refresh dello schermo (Hz)
chip_cpu varchar(100) Elenco dei chip di tipo cpu, separati da punto e virgola
chip_audio varchar(100) Elenco dei chip di tipo audio, separati da punto e virgola
driver_status tinyint(3) 1=good, 2=imperfect, 3=preliminary
driver_emulation tinyint(3) 1=good, 2=imperfect, 3=preliminary
driver_color tinyint(3) 1=good, 2=imperfect, 3=preliminary
driver_sound tinyint(3) 1=good, 2=imperfect, 3=preliminary
driver_graphic tinyint(3) 1=good, 2=imperfect, 3=preliminary
driver_cocktail tinyint(3) 1=good, 2=imperfect, 3=preliminary
driver_protection tinyint(3) 1=good, 2=imperfect, 3=preliminary
driver_savestate_sn tinyint(1) Supporta il salvataggio del gioco si/no
device_type varchar(200) Device collegati (hard disk, cdrom)
screen_orientation tinyint(3) 0=non gestito, 1=orizzontale, 2=verticale
scroll_type tinyint(3) 0=non indicato, 1-9=alto,basso,destra,sinistra,diagonali continui, 10=statico, 11-19=alto,basso,destra,sinistra,diagonali non continui, ecc
previous_game_name varchar(25) Nome della rom che aveva in precenza
players_mode varchar(100) Giocatori contemporanei/alternativi (solo, 2sim, 4alt)
category int(11) Valori da catver.ini
genre int(11) Valori da genre.ini
serie int(11) Valori da series.ini
language int(11) Valori da languages.ini
note_private longblob Note non pubblicate sul sito (dati compressi gz)
recensione longblob Recensione del gioco (fondi diverse, dati compressi gz)
history longblob Dati da history.dat (dati compressi gz)
history_ita longblob Dati da history.dat (in italiano, dati compressi gz)
mameinfo longblob Dati da mameinfo.dat (dati compressi gz)
arcaworld longblob Recensioni ed hiscore by SuperPlay (ArcaWorld e NeoArca, dati compressi gz)
mamescore longblob File story.dat (MameScore su http://www.arcadehits.net/mamescore, dati compressi gz)
url longblob Url di approfondimento (anche multiple)
tag varchar(255) Tag generici (adult, arcadeitalia, arcaworld, ecc)
data longblob Nodo xml con tutte le informazioni del Mame (dati compressi gz)
ricerca varchar(255) Campo gestito in automatico per le ricerche semplici
indice longtext Campo gestito in automatico per le ricerche complesse
data_ultima_modifica varchar(16) Data ultima modifica (applicativa)
TIMESTAMP timestamp Data ultima modifica (sistema)
mentre per lo storico memorizzo solo quando ci sono differenze, insieme al range di versioni da/a dell'emulatore.
Esiste una parte che gestisce le rom non ufficiali, quelle hack di Dr. Zero per intenderci, e quindi saranno presenti anche loro.
Dal sito si possono già cercare per tag "hack"
In pratica il sito nasce ora e cercherò di completarlo nei prossimi mesi.
Essere arrivati a questo punto in così poco tempo mi sembra davvero incredibile... magari per qualcuno sembrano due paginette e basta, ma il lavoro che c'è dietro vi assicuro che non è per nulla banale
Ad ogni modo procederò per gradi e già che ci sono cercherò di completare alcuni controlli di input che avevo iniziato nel mio sito, così da fornire qualcosa di molto più facile da usare e da esplorare.