Jour 7 - Son ← Précédent

DS Hardware

Cette page fait référence à toutes les fonctions de PALIB qui sont à peu près spécifiques a la DS, comme l’arrêt de l’alimentation, l’état du couvercle, des renseignements d’utilisateur, l’horloge, etc...

La Date et l'heure

L’obtention de la date et de l’heure est si simple qu’il serait stupide de ne pas l’apprendre! L’exemple est le Date_Time dans PAlibExamples/Other et contient seulement 2 lignes...

PA_OutputText(1, 2, 10, "%02d/%02d/%02d", PA_RTC.Day, PA_RTC.Month, PA_RTC.Year); // Date
PA_OutputText(1, 2, 12, "%02d:%02d  %02d secondes", PA_RTC.Hour, PA_RTC.Minutes, PA_RTC.Seconds); // Time

Vous ne vous souciez pas des fonctions de production du texte, mais plutôt des variables... PA_RTC est une structure a mis à jour chaque synchro verticale qui contient tous les renseignements de la date actuelle et de l’heure que le DS a. PA_RTC contient les variables suivantes :

  • PA_RTC.Day, de 1 à 31...
  • PA_RTC.Month, de 1 à 12...
  • PA_RTC.Year, de 00 (pour 2000) à 99 (pour 2099 je suppose...)
  • PA_RTC.Hour, de 0 à 23, pour l’heure courante... Si ce chiffre est négatif, c’est AM ( le matin ), ajouter 12 heures. si c’est positif laisser le comme tel )
  • PA_RTC.Minutes, de 0 à 59... les minutes...
  • PA_RTC.Seconds, de 0 à 59... les secondes...

Je suppose qu’il était inutile de détailler tout, mais j’aime que tout soit clair...

Renseignements sur l'utilisateur

Les renseignements sur l’utilisateur ne sont pas plus durs à obtenir ! Regardez l’exemple UserInfo dans PAlibExamples/Other ... Je n’irai pas plus loin dans les explications cette fois-ci...

Les renseignements sur l’utilisateur sont contenus dans PA_UserInfo, c’est une structure avec les champs suivants:

  • PA_UserInfo.Name, le nom de l’utilisateur...
  • PA_UserInfo.BdayDay, le jour de sa date de naissance...
  • PA_UserInfo.BdayMonth, le mois de sa date de naissance...
  • PA_UserInfo.Message, le message que l’utilisateur a mis dans sa DS...
  • PA_UserInfo.AlarmHour, l’heure de l’alarme ! (de 0 a 23)
  • PA_UserInfo.AlarmMinute, les minutes de l’alarme ! (de 0 a 59)
  • PA_UserInfo.Color, la couleur favorite de l’utilisateur.

Et ... voilà!

Langue de la console

PA_UserInfo.Language, la langue de l’utilisateur, 0 = japonais, 1 = anglais, 2 = français, 3 = allemand, 4 = italien, 5 = espagnol.

Voici la fonction permettant de savoir la langue qu’utilise l’utilisateur, peut vous être utile pour un homebrew multi-langues

#include <PA9.h> 
#define ENGLISH 1
#define FRENCH 2      
int main(int argc, char ** argv)
{
	PA_Init();    
	PA_InitVBL();
 
	///////////////////
	//  DECLARATIONS //
	///////////////////
		
	while (1)
	{
//Define pour valider les langues
 
if(PA_UserInfo.Language == 1 ) 
		 {//Options en anglais}
 
if(PA_UserInfo.Language == 2 )
 		 {//Options en francais}
 
else 
		 {//Options en anglais}
 
		PA_WaitForVBL();
	}
return 0;
 }

C’est une solution pour créer un homebrew multi-langues toutefois c’est assez basique, et pour changer de langue l’utilisateur devra automatiquement sortir du homebrew et allez dans les options de la console.

Donc c’est possible de le faire via cette méthode mais ce n’est pas pour autant la plus ergonomique.

Mise en Pause à la fermeture du couvercle

Je parie que vous avez déjà vu les auto-pauses DS, quand vous fermez le couvercle. Tous du moins dans des jeux commerciaux ... Voudriez-vous ajouter cette fonction à votre jeu ? ? C’est facile, juste une simple fonction à ajouter !!!

PA_CheckLid();

Vérifie la fermeture, et met en pause si c’est le cas... Retourne 1 quand le couvercle a été réouvert pour informer le programme...

Où devriez-vous le mettre ? Directement avant le PA_WaitForVBL(); , voilà. Vous pouvez vérifier l’exemple Other/CheckLid dans PAlibExamples pour voir comment il fonctionne. Testez cela sur votre DS car les émulateurs n’ont pas de couvercle...

Rétro Eclairage

Une autre fonction de base ? Le rétro éclairage des écrans ! Vous pouvez les activer/désactiver à volonté ... à quoi bon ? Cela peux servir à moins utiliser la baterie :-).

Regarder l’exemple Other/ScreenLight ...

if (Pad.Newpress.A) PA_SetScreenLight(0, 1); // Allumez l'écran du bas
if (Pad.Newpress.B) PA_SetScreenLight(0, 0); //Éteindre l'écran du bas
if (Pad.Newpress.X) PA_SetScreenLight(1, 1); // Allumez l'écran du haut
if (Pad.Newpress.Y) PA_SetScreenLight(1, 0); //Éteindre l'écran du haut

PA_SetScreenLight(écran 0=bas/1=haut, 1/0 pour on/off);, c’est aussi simple que cela...

traduction par Rzzzzzz - 04 avril 2006 – – Compléter par Tancou - 03 Janvier 2010

Donner un nom, et des sous titres a votre homebrew

Allez a la racine de votre projet, puis ouvrez la makefile avec bloc notes.

TEXT1 		:= PAlib Project
 
TEXT2 		:= using PAlib
 
TEXT3 		:= www.palib.info

Vous devriez voir ça. Vous n’avez plus qu’a modifier le TEXT1, TEXT2 et TEXT3 comme bon vous semble.

Changez l'icone du jeu

L’icone du jeu est ce que vous voyez a l’ecran de demarrage a gauche du nom de votre jeu. Vous pouvez la changer dans le répertoire principal de votre projet defaut. Elle correspond à l’image “logo.bmp” et est de taille 32×32, ou vous pouvez changer le répertoire de votre icone dans le fichier makefile.

Prochain → Jour 9 - PA File System

 
day8.txt · Dernière modification: 20/02/2010 18:00 par 79.88.143.132
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki