Libreria Joystick per Dos |
Dato il grande successo dell'emulazione dei giochi arcade su PC, ho deciso di rilasciare al pubblico la mia Libreria Joystick per Dos (che è utilizzata anche nel mio emulatore JoyEmu). Questo pacchetto include il codice C completo (Borland C e DJGPP, ma dovrebbe risultare semplice tradurlo in altri dialetti) ed un programma di test. Se sei un autore di emulatori o semplicemente stai pensando di aggiungere il supporto per joystick ai tuoi programmi, ti dovrebbe interessare! |
Tipo | Versione | Descrizione | Requisiti | Caratteristiche | Download |
Tipo |
Libreria C; prodotto freeware/GNU General Public License 2.0.
Versione |
1.2 / inglese.
Modifiche nella versione 1.2:
Descrizione |
Questo piccolo pacchetto è indirizzato a quei programmatori che
vorrebbero introdurre il supporto per joystick nei loro programmi ma non desiderano
sprecare troppo tempo su questa caratteristica. Con due semplici funzioni, è possibile
verificare lo stato di entrambi i joystick, inclusi i tasti di fuoco; sono supportati
joystick con 2, 4, 6 e 8 pulsanti di fuoco.
Se non sei un programmatore, potresti dare
un'occhiata a JoyEmu, dello stesso autore; questo emulatore di
tastiera ha un pannello di controllo molto sofisticato e permette di aggiungere il
supporto joystick a programmi esistenti senza modificare il codice sorgente; inoltre, è
compatibile con Dos e Windows 9x.
Il codice per queste routine è preso dal sorgente di JoyEmu;
compila senza problemi sotto:
ma dovrebbe risultare abbastanza portabile ad altri compilatori C Dos.
Requisiti |
Caratteristiche |
L'utilizzo è molto semplice:
unsigned char j, mode, skipjoy; // Impostare mode in base al tipo di joystick richiesto: // JOY_2BUTTONS joystick standard a 2 pulsanti // JOY_4BUTTONS joystick con 4 pulsanti (il fuoco 3 e 4 corrisponde ai pulsanti // di fuoco dell'altro joystick) // JOY_6BUTTONS joystick a 6 pulsanti (il fuoco 3 & 4 è come sopra, il fuoco 5 // e 6 è collegato alle direzioni del secondo joystick) // JOY_8BUTTONS joystick a 8 pulsanti (i pulsanti 1..6 sono come sopra, // i pulsanti 7 e 8 sono collegati alle rimanenti direzioni del // secondo joystick) // // Impostare skipjoy a: // JOY_NONE se tutti i joystick connessi devono essere rilevati e calibrati; // JOY_SECOND se viene utilizzato solo il primo joystick, che deve essere calibrato. // // Impostare calibfile al nome del file da utilizzare per salvare/ricaricare // le informazioni di calibrazione (NULL per forzare la ricalibrazione ad ogni // avvio). j = InstallJoystick(mode, skipjoy, calibfile);
j & JOY_FIRST // il primo joystick è presente? j & JOY_SECOND // il secondo joystick è presente? j & JOY_BOTH // entrambi i joystick sono presenti? // (oppure: è presente un joystick a 6/8 pulsanti?)
unsigned int fj, sj; ReadJoystick(&fj, &sj);
fj & JOY_xx // la direzione è attiva?
dove "xx" può essere: UP (su), DN (giù), LT (sinistra), RT (destra)
fj & JOY_AF // il primo pulsante è premuto? fj & JOY_BF // il secondo pulsante è premuto? fj & JOY_CF // il terzo pulsante è premuto? (solo mode >= JOY_4BUTTONS) fj & JOY_DF // il quarto pulsante è premuto? (solo mode >= JOY_4BUTTONS) fj & JOY_EF // il quinto pulsante è premuto? (solo joystick 1, mode >= JOY_6BUTTONS) fj & JOY_FF // il sesto pulsante è premuto? (solo joystick 1, mode >= JOY_6BUTTONS) fj & JOY_GF // il settimo pulsante è premuto? (solo joystick 1, mode = JOY_8BUTTONS) fj & JOY_HF // l'ottavo pulsante è premuto? (solo joystick 1, mode = JOY_8BUTTONS)
Naturalmente, sostituire ad "fj" la variabile "sj" per testare il secondo joystick.
Le informazioni di calibrazione sono salvate e ricaricate
automaticamente quando viene specificato 'calibfile' in InstallJoystick; l'utente,
tuttavia, non viene avvertito se si verifica un errore durante il salvataggio delle
informazioni di configurazione. La modalità del joystick (2, 4, 6 o 8 pulsanti) è
anch'essa salvata nella configurazione; se il modo specificato o il modo memorizzato nel
file di configurazione è JOY_6BUTTONS/JOY_8BUTTONS (ma i due modi non coincidono), la
routine invoca automaticamente la ri-calibrazione del joystick; lo stesso accade se un
nuovo joystick viene trovato, oppure se il programma rileva come incorretta la
calibrazione (questo è più difficile: è possibile che joystick differenti abbiano una
calibrazione simile ma non identica, per cui questa routine può fallire nel rilevare
l'incongruenza).
Se si desidera forzare la ricalibrazione dei joystick, è sufficiente cancellare il file
di configurazione.
Se il vostro programma richiede più di due tasti di fuoco, cercate
di mantenere un opzione per coloro che hanno joystick con due soli tasti di fuoco, in modo
che possano utilizzare la tastiera al posto dei pulsanti mancanti.
Se il vostro programma utilizza un solo joystick, utilizzare JOY_SECOND come valore del
parametro skipjoy.
La routine disattiva automaticamente i joystick quando vengono
disconnessi; dovete successivamente invocare InstallJoystick dopo aver aggiunto eventuali
dispositivi.
Download |
Scarica la Joystick Library for Dos (versione 1.2)
Inizio pagina |