Pages: [1]   Bas de page
Imprimer
Auteur Fil de discussion: [Wii] Les Boutons GC  (Lu 3667 fois)
0 Membres et 1 Invité sur ce fil de discussion.
Cid2Mizard Hors ligne
Super Mega Member
****
Messages: 4081


Voir le profil WWW
Disciple Kukulcanien

« 07 Avril 2008, 13:32:03 »

Voilà, j'inaugure la section Wii avec ce premier exemple sans prétention, j'ai juste regardé les sources des homebrews déjà release jusqu'à présent. Bien sûr compilé avec le devkitPro. Wink

Il s'agit bêtement d'un test bouton de la manette GameCube, mais j'ai mis le stick analogique de gauche pour le moment.

http://depot.lo2k.net/depot_file/file_name/570/DSCF0765.jpg


Il vous faut :
- 1 carte SD
- Le jeu Zelda Twilight Princess
- Twilight Hack v0.1 alpha3a
- 1 manette GameCube

Code
(c):
//Les includes
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <malloc.h>
#include <ogcsys.h>
#include <gccore.h>
 
static void *xfb = NULL;
static GXRModeObj *rmode = NULL;
 
int main(int argc, char **argv) {
 
VIDEO_Init(); //Init Video
PAD_Init(); //Init Pad
 
//Video Mode Console
switch(VIDEO_GetCurrentTvMode()) {
case VI_NTSC:
rmode = &TVNtsc480IntDf;
break;
case VI_PAL:
rmode = &TVPal528IntDf;
break;
case VI_MPAL:
rmode = &TVMpal480IntDf;
break;
default:
rmode = &TVNtsc480IntDf;
break;
}
 
xfb = MEM_K0_TO_K1(SYS_AllocateFramebuffer(rmode));
console_init(xfb,20,20,rmode->fbWidth,rmode->xfbHeight,rmode->fbWidth*VI_DISPLAY_PIX_SZ);
 
VIDEO_Configure(rmode);
VIDEO_SetNextFramebuffer(xfb);
VIDEO_SetBlack(FALSE);
VIDEO_Flush();
VIDEO_WaitVSync();
if(rmode->viTVMode&VI_NON_INTERLACE) VIDEO_WaitVSync();
 
//Texte de présentation
printf("Bonjour ceci est un test boutons par Cid2mizard :\n");
 
while(1) {
 
//Scan touche
PAD_ScanPads();
 
//Test touch
if(PAD_ButtonsDown(0)  & PAD_BUTTON_UP) {printf("You-Pressed Up:\n");}
else if(PAD_ButtonsDown(0)  & PAD_BUTTON_DOWN) {printf("You-Pressed Down:\n");}
else if(PAD_ButtonsDown(0)  & PAD_BUTTON_RIGHT) {printf("You-Pressed Right:\n");}
else if(PAD_ButtonsDown(0)  & PAD_BUTTON_LEFT) {printf("You-Pressed Left:\n");}
 
if(PAD_ButtonsDown(0)  & PAD_BUTTON_A)    {printf("You-Pressed A:\n");}
else if(PAD_ButtonsDown(0)  & PAD_BUTTON_B)    {printf("You-Pressed B:\n");}
else if(PAD_ButtonsDown(0)  & PAD_BUTTON_X)    {printf("You-Pressed X:\n");}
else if(PAD_ButtonsDown(0)  & PAD_BUTTON_Y)    {printf("You-Pressed Y:\n");}
else if(PAD_ButtonsDown(0)  & PAD_BUTTON_START) {printf("You-Pressed Start:\n");}
 
if(PAD_ButtonsDown(0)  & PAD_TRIGGER_Z) {printf("You-Pressed Z:\n");}
else if(PAD_ButtonsDown(0)  & PAD_TRIGGER_L) {printf("You-Pressed L:\n");}
else if(PAD_ButtonsDown(0)  & PAD_TRIGGER_R) {printf("You-Pressed R:\n");}
 
 
if(PAD_StickY(0) < -65)    {printf("You-Pressed Stick Analogic Down:\n");}
else if(PAD_StickY(0) > 65)    {printf("You-Pressed Stick Analogic Up:\n");}
 
if(PAD_StickX(0) < -65)    {printf("You-Pressed Stick Analogic Left:\n");}
else if(PAD_StickX(0) > 65)    {printf("You-Pressed Stick Analogic Right:\n");}
 
VIDEO_WaitVSync();
}
 
return 0;
}
 

Le tout est à placer dans le répertoire homebrew de votre carte SD... et prêt à être lancé avec le Wii Homebrew Launcher. Smiley

* BOUTONS.zip (61.53 Ko - Téléchargé 152 fois.)
* boutonssrc.zip (121.3 Ko - Téléchargé 146 fois.)
Journalisée

thoduv Hors ligne
Sr. Member
****
Messages: 364


Voir le profil WWW
Hello world...

« Réponse #1 : 07 Avril 2008, 13:38:07 »

Je voudrais pas être méchant, mais ceci n'est pas un tuto: c'est à peine un copier-coller du template de la libogc.
Journalisée

Cid2Mizard Hors ligne
Super Mega Member
****
Messages: 4081


Voir le profil WWW
Disciple Kukulcanien

« Réponse #2 : 07 Avril 2008, 13:39:52 »

Ah oui y a les boutons dans le template libogc ? moi mon template c'est juste un hello world  j'ai beau cherché je les vois pas tes boutons ... whistle

Edit : Init Video normal que je copie, y a pas 36 façon de faire...
Journalisée

Reppa Hors ligne
Administrateur
*****
Messages: 378


Voir le profil WWW
« Réponse #3 : 07 Avril 2008, 14:04:32 »

Même si ce n'est pas énorme c'est toujours ça de pris et ça servira de base à d'autres. Smiley, j'aime ce genre d'initiative  Grin
Journalisée

Arialia Hors ligne
Elite Member
**
Messages: 870


Voir le profil
« Réponse #4 : 07 Avril 2008, 15:10:44 »

oui c'est toujours ça

j'avais pas vu le pad.h  Wink

on va dire que c'est un mini tuto  Wink

vaut mieux 20 mini que pas du tout  Smiley

merci Cid  Smiley
Journalisée

Mon blog de dev   - -  Mon tutoriel sur la libfat -- DSPhoto
Un bon programmeur est fainéant : il déteste refaire la même chose, il fait donc des fonctions Wink

Mais qui m'a mis des nounours roses ? Le rose c'est pour les homo et les gamines , beurk, mais ça va bien aux fleurs Smiley
Et aux jeux de Genevois Wink
Zombie Hors ligne
Sr. Member
****
Messages: 294


Voir le profil
« Réponse #5 : 07 Avril 2008, 15:32:27 »

Ca n'a rien avoir mais avant que je me casse la tête à chercher partout, il existe déjà une/des fonctions  / une librairie pour lancer des fichiers vidéos sur GameCube ?
Journalisée
Minishlink Hors ligne
Mega Member
***
Messages: 1441


Voir le profil WWW
Quand on veut, on peut !

« Réponse #6 : 07 Avril 2008, 17:45:21 »

Je pense pas Zombie Smiley

Sinon dans la MLlib c'est beaucoup plus simple Grin
Code
(c):
ML_Init(VIDEO_CONSOLE, PADS_ENABLED);
while(1)
{
   ML_GetPads();
   if(ML_ButtonReleased(PAD_BUTTON_B)) { ML_Print("Button B released"); }
}

Tongue

Et si vous voulez que ma lib sorte, bah faut résoudre le problème de Makefile, .h, . a enfin tout le bordel Wink (allez, soyez gentil, en plus, dans ma lib, le support de lecture mp3 est intégré Azn )

[HS]Pas mal le Homebrew Wii Launcher, il devrait mettre ça dans le loader de wiibrew.[/HS]
« Dernière édition: 07 Avril 2008, 17:48:32 par minishlink » Journalisée

Mollusk Hors ligne
Administrateur
*****
Messages: 3546


Voir le profil WWW
Ne vous posez pas de questions, codez !

« Réponse #7 : 08 Avril 2008, 12:34:58 »

Minish, si je peux faire une requête : je trouve le système de touches de PAlib/XFlib/Ham pratique, style Pad.Newpress.A, Pad.Held.B, etc... c'est plus léger à écrire et plus digeste à lire Cheesy
Journalisée

Minishlink Hors ligne
Mega Member
***
Messages: 1441


Voir le profil WWW
Quand on veut, on peut !

« Réponse #8 : 08 Avril 2008, 16:45:34 »

Noté, j'ajouterais ça Wink
Journalisée

ecaheti Hors ligne
Jr. Member
**
Messages: 50


Voir le profil
« Réponse #9 : 17 Avril 2008, 11:07:20 »

bon, et si vous nous fesiez une petite PAMLlib, histoire d'en faire profiter tout le monde? Cheesy
D'ailleurs, tant qu'à faire, ca devrait peut être s'appeler PALMlib, c'est plus lisible.
ou MLPAlib
ou MOMIlib
ou MIMOlib
ou LASUPERLIBDEMINISHLINKETMOLLUSKlib

je divague...
Journalisée
Minishlink Hors ligne
Mega Member
***
Messages: 1441


Voir le profil WWW
Quand on veut, on peut !

« Réponse #10 : 17 Avril 2008, 11:38:48 »

Bah ça me dérangerait pas Cheesy
Journalisée

Mollusk Hors ligne
Administrateur
*****
Messages: 3546


Voir le profil WWW
Ne vous posez pas de questions, codez !

« Réponse #11 : 17 Avril 2008, 12:42:21 »

Après mes vacances faudra que je prenne un peu de temps pour regarder ça de plus près Wink
Journalisée

Michoko Hors ligne
Full Member
***
Messages: 237


Voir le profil
« Réponse #12 : 17 Avril 2008, 13:00:12 »

Donc là pour tester ses homebrews, à chaque compil il faut transférer le fichier sur carte SD, booter Zelda, faire planter la Wii et lancer son homebrew? Ca risque de vite devenir l'enfer Smiley
Journalisée
Minishlink Hors ligne
Mega Member
***
Messages: 1441


Voir le profil WWW
Quand on veut, on peut !

« Réponse #13 : 17 Avril 2008, 16:30:55 »

IL y a le TCP Loader qui est sorti, ce qui permet de faire un client/serveur Wink
(GeekShadown, il y a une niouuuuze !)
Journalisée

GeekShadow Hors ligne
Newser
*****
Messages: 111


Voir le profil WWW
« Réponse #14 : 18 Avril 2008, 13:43:51 »

Citation
(GeekShadown, il y a une niouuuuze !)
Daa !
Journalisée

Code Ami Nintendo 3DS : 0989 - 1719 - 3479

* Mon Blog
* Mon Blog Dev-Fr

$ cd coffee
$ make
Pages: [1]   Haut de page
Imprimer

Aller à: