Pages vues depuis 25/07/2007 : 25 295 718
Index du forum »» Création-Développement »» L'Abbaye des morts (par Locomalito)
Hello
Pour donner qques nouvelles:
J'ai donc fait une petite version OS3 qui marche dans WinUAE et avec le joystick : jeu fini , vérifié tout marche ok malgré le GROS nettoyage des sources
Ce jeu tient plus de rick dangerous que de ghost goblins : on perd beaucoup pour avancer mais j'ai ajouté un "trainer" et aussi une sauvegarde du jeu ;-)
Sur la version OS4 j'essaye de mettre le support joystick : dès que j'y arrive je mets sur Aminet le bouzin ( de toute façon sans joystick c'est pas gagnable )
Alain
>Alain : tu peux te servir de la lib de Huno
J'y tiens pas trop la lib de Huno intégre SDL ==> ca va ajouter des centaines de Ko (voir megas) au prog AbbayeDesMortsOS4 qui fait que 92k pour l'instant comme c'est un pur portage Amiga (sans SDL sans OpenGL sans Warp3D)
En fait la lib de Huno serait bien si c'étais une lib partagée (une .library quoi)
Non mais je vais y arriver : le joystick marche dans OS3/WinUAE donc ça devrait marcher dans OS4 à force ... Et puis ça m'apprends des trucs ce portage
Alain
OK ça marche
BSzili m'a recommandé la lowlevel.library et elle est hyper simple
Configurer Prefs/AmigaInput : lowlevel,pad,port1
Et juste rajouter l'ouverture/fermeture de lowlevel.brary à votre code et ajouter ça
Et Voilà un joystick Trustmaster4 qui marche sous OS4 :-)
/*==================================================================*/
static void printbuttons(ULONG joy)
{
if (joy & JPF_BUTTON_PLAY) printf("[PLAY/MMB]");
if (joy & JPF_BUTTON_REVERSE) printf("[REVERSE]");
if (joy & JPF_BUTTON_FORWARD) printf("[FORWARD]");
if (joy & JPF_BUTTON_GREEN) printf("[SHUFFLE]");
if (joy & JPF_BUTTON_RED) printf("[SELECT/LMB/FIRE]");
if (joy & JPF_BUTTON_BLUE) printf("[STOP/RMB]");
}
/*==================================================================*/
static void printmousedirections(ULONG joy)
{
printf("[%d,%d]", (joy & JP_MHORZ_MASK), (joy & JP_MVERT_MASK) >> 8);
}
/*==================================================================*/
static void printjoydirections(ULONG joy)
{
if (joy & JPF_JOY_UP) printf("[UP]");
if (joy & JPF_JOY_DOWN) printf("[DOWN]");
if (joy & JPF_JOY_LEFT) printf("[LEFT]");
if (joy & JPF_JOY_RIGHT) printf("[RIGHT]");
}
/*==================================================================*/
static void printjoyport(ULONG unit,ULONG joy)
{
int i;
printf("UNIT%d: ",unit);
for(i = 31; i >= 0; i--)
{
printf("%d", (joy & (1 << i)) ? 1 : 0);
}
printf(" - ");
if ((joy & JP_TYPE_MASK) == JP_TYPE_NOTAVAIL) printf("NOT AVAILABLE");
if ((joy & JP_TYPE_MASK) == JP_TYPE_UNKNOWN) printf("UNKNOWN");
if ((joy & JP_TYPE_MASK) == JP_TYPE_JOYSTK)
{
printf("JOYSTICK - ");
printjoydirections(joy);
printbuttons(joy);
}
if ((joy & JP_TYPE_MASK) == JP_TYPE_GAMECTLR)
{
printf("GAME CONTROLLER - ");
printjoydirections(joy);
printbuttons(joy);
}
if ((joy & JP_TYPE_MASK) == JP_TYPE_MOUSE)
{
printf("MOUSE - ");
printmousedirections(joy);
printbuttons(joy);
}
printf("\n");
}
/*==================================================================*/
void MyProcessJoystickNew(struct game *G)
{
ULONG joy,n;
NLOOP(4)
{
joy = ReadJoyPort(n);
if(joy)
if(!((joy & JP_TYPE_MASK) == JP_TYPE_MOUSE) )
if(!((joy & JP_TYPE_MASK) == JP_TYPE_NOTAVAIL) )
break;
}
G->joystick.right =(joy & JPF_JOY_RIGHT);
G->joystick.left =(joy & JPF_JOY_LEFT);
G->joystick.down =(joy & JPF_JOY_DOWN);
G->joystick.up =(joy & JPF_JOY_UP);
G->joystick.b0 =(joy & JPF_BUTTON_RED);
G->joystick.b1 =(joy & JPF_BUTTON_PLAY);
G->joystick.b0 =0;
G->joystick.b1 =0;
if (joy & JPF_BUTTON_RED) G->joystick.b0 =TRUE;
if (joy & JPF_BUTTON_PLAY) G->joystick.b1 =TRUE;
G->key=1;
if(debug) printjoyport(n,joy);
}
pour tester avant Aminet
J'ai enlevé la gestion clavier du perso = faut vraiment un joystick sinon c'est injouable (à part pour des mutants) Dans Prefs/AmigaInput lowlevel port1 sélectionne ton joystick usb : pad & configure les boutons Pour moi ça marche avec un pad trustmaster4 usb
http://thellier.free.fr/Abbaye.7z