파워 오프, 뚜껑 상태, 사용자 정보, 시간 등등, DS 에 특별한 PAlib 함수에 대한 것이다.

-. 날짜와 시간
PAlibExamples/Other/Date_Time 예제이다.

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 seconds", PA_RTC.Hour, PA_RTC.Minutes, PA_RTC.Seconds); // Time
PA_RTC 구조체는 매 프레임마다 갱신되는데, DS의 현재 날짜와 시간에 관한 모든 정보를 담는다.
PA_RTC.Day : 1-31
PA_RTC.Month : 1-12
PA_RTC.Year : 00 (2000) - 99 (2099)
PA_RTC.Hour : 0-23, 0-11 이 AM이고 12-23 이 PM이다(US PM 시간을 구하려면 단지 12을 뺀다.)
만일 음수면 AM이므로 12을 더한다. 양수면 나눈다.
PA-RTC.Minutes : 0-59
PA_RTC.Seconds : 0-59

-. 사용자 정보
PAlibExamples/Other/UserInfo 예제를 확인해 보자.
PA_UserInfo 라는 구조체에 사용자 정보가 담긴다.
PA_UserInfo.Name : 유저 이름
PA_UserInfo.BdayDay : 유저의 생일 날짜
PA_UserInfo.Language : 사용자 언어 (0-5)
|------> 0 Japanese
         1 English
         2 Français
         3 Deutsch
         4 Italian
         5 Spanish
PA_UserInfo.Message : DS 에 입력해논 유저 메세지
PA_UserInfo.AlarmHour : DS 알람 시계의 시간 (0-23)
PA_UserInfo.AlarmMinute : DS 알람 시계의 분
PA_UserINfo.Color : 유저가 선택한 색상

-. 덮개가 닫을때 멈춤
적어도 상업 게임에서는 덮개을 닫았을때 자동 멈춤 기능을 벌써 봤을 것이다. 내 게임에 이걸 구현하는 것은 쉽다. 함수 하나만 추가하면 된다.
PA_CheckLid(); 덮개를 체크하고 닫혔으면 멈춘다. 사용된 것을 알고 재실행될 때 1을 리턴한다.
PA_WaitForVBL(); 바로 전에 넣는다. PAlibExamples/Other/CheckLid  예제에서 확인 할 수 있다.

-. 스크린 밝기
활성화/비활성화 시킬수 있다.
Other/ScreenLight 예제를 확인해 보자.
if (Pad.Newpress.A) PA_SetScreenLight(0, 1); // Turn on bottom light
if (Pad.Newpress.B) PA_SetScreenLight(0, 0);
if (Pad.Newpress.X) PA_SetScreenLight(1, 1);// Turn on top light
if (Pad.Newpress.Y) PA_SetScreenLight(1, 0);
PA_SetScreenLight(screen, 1/0 for on/off);

-. 자작게임에 이름과 서브 이름 주기
프로젝트에서 Makefile 를 연다.
TEXT1 := PAlib Project
TEXT2 := using PAlib
TEXT3 := www.palib.info
위 항목을 볼수 있을 것이다. 이것을 변경한다.
신고
Posted by 버들피리불며

BLOG main image
닌텐도 DS 관련해서 Palib를 소개하고 제가 개발한 홈브류와 다른 개발자의 홈브류를 소개하고자 합니다. NDS 자체 제작(Homebrew)에 관심있는 다른 분들의 길잡이가 되고 싶습니다. by 버들피리불며

공지사항

카테고리

분류 전체보기 (39)
따라하기 (5)
PA_lib 소개 (10)
Homebrew 소개 (7)
나의 Homebrew (15)
기부하기(Donate) (1)
Wii (1)
Total : 106,961
Today : 10 Yesterday : 7