Vérifier si l'écran supérieur est rabattu
PAlib a créé une fonction pour ce cas, c'est
void PA_CheckLid()
. Cette fonction renvoie 1 si c'est fermé, et la Nintendo DS se met automatiquement en pause...
Code : C1
2
3
4
5
6
7 | /*Mettre le code de début*/
while(1)
{
PA_CheckLid();
PA_WaitForVBL();
}
/*Mettre le code de fin*/
|
Si vous voulez simplement savoir si la Nintendo DS est fermée (sans pause), vous pouvez utiliser la macro
PA_LidClosed()
.
Si vous voulez savoir si la Nintendo DS est fermée, avec pause et en jouant un son (que vous choisissez), vous pouvez utiliser la macro
PA_CloseLidSound(canal,son)
, et si vous voulez mettre un son quand elle est fermée et un quand elle se réouvre, il faut utiliser la macro
PA_CloseLidSound2(canal,son_ferme,son_ouvert)
.
Récupérer le temps
La structure "PA_RTC" continent des membres exprimant la date :
On peut écrire :
Code : C 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 | #include <PA9.h>
int main(int argc, char ** argv)
{
PA_Init();
PA_InitVBL();
PA_InitText(0,0);
while (1)
{
PA_OutputText(0, 2, 10, "%02d/%02d/%02d", PA_RTC.Day, PA_RTC.Month, PA_RTC.Year); // Date
PA_OutputText(0, 2, 12, "%02d:%02d %02d secondes", PA_RTC.Hour, PA_RTC.Minutes, PA_RTC.Seconds); // Time
PA_WaitForVBL();
}
return 0;
}
|
Récupérer les données de l'utilisateur
La structure "PA_UserInfo" a pour membres :
- Name : le nom de l'utilisateur ;
- BdayDay : le jour de l'anniversaire ;
- BdayMonth : le mois de l'anniversaire ;
- Language : la langue de la DS, utile pour faire de bons jeux :
- 0 : japonais ;
- 1 : anglais ;
- 2 : français ;
- 3 : allemand ;
- 4 : italien ;
- 5 : espagnol.
- Message : le message de l'utilisateur ;
- AlarmHour : l'heure de l'alarme programmée ;
- AlarmMinute : la minute de l'alarme programmée ;
- Color : la couleur préférée de l'utilisateur.
Faire vibrer votre Nintendo DS
Pour ceux qui auraient un Rumble Pak (un composant qui permet des vibrations), vous pouvez l'utiliser dans vos homebrews, et simplement

! Ce que nous allons voir ne dépend pas de PALib, mais de la libnds.
Il faut vérifier si le Rumble Pak est inséré avec
bool isRumbleInserted(void);
. Cette fonction renvoie vrai lorsque le Rumble Pak est inséré, et faux dans le cas contraire.
A présent, on peut faire vibrer notre Rumble Pak avec
void setRumble(bool position);
. Si
position est vraie, votre Nintendo DS se met à vibrer. A l'inverse, si
position est fausse, votre Nintendo DS
s'arrête de vibrer.
N'oubliez pas qu'à chaque appel à la vibration, il doit y avoir un arrêt, sinon votre Nintendo DS ne fera que vibrer !
Jouer avec la luminosité de l'écran
Une seule fonction permet de régler la luminosité d'un écran, applaudissons
void PA_SetBrightness(u8 ecran, s8 brillance);

! La valeur de
brillance doit varier entre -31 et 31. Si sa valeur est négative, l'écran penchera vers le noir (-31 est le noir complet). A l'inverse, si sa valeur est plus grande que 0 l'écran penchera vers le blanc(31 est le blanc total). Mettez
brillance à 0 et vous aurez un éclairage normal. Cette fonction est souvent utilisée dans les transitions, les splashes et les menus.