/*
-------------------------------------------------
NightFox's Lib Template
Ejemplo carga de fondos en 16bits (modo BITMAP)
Requiere DevkitARM
Requiere NightFox's Lib
Codigo por NightFox
http://www.nightfoxandco.com
Inicio 10 de Octubre del 2009
(c)2009 - 2011 NightFox & Co.
-------------------------------------------------
-------------------------------------------------
Includes
-------------------------------------------------
*/
// Includes C
#include
#include
#include
// Includes propietarios NDS
#include
// Includes librerias propias
#include
#include // Maxmod definitions for ARM9
#include "soundbank.h" // Soundbank definitions
#include "soundbank_bin.h"
void __libnds_exit(int rc) {
iprintf("\nExiting with retcode %d\n", rc);
while(1) swiWaitForVBlank();
}
/*
-------------------------------------------------
Main() - Bloque general del programa (Mod by TF)
-------------------------------------------------
*/
int main(int argc, char **argv) {
// Pantalla de espera inicializando NitroFS
NF_Set2D(0, 0);
NF_Set2D(1, 0);
consoleDemoInit();
iprintf("Initiating FAT... Please Wait.");
swiWaitForVBlank();
u16 keys = 0;
mmInitDefault( "soundbank.bin" );
// Define el ROOT e inicializa el sistema de archivos
NF_SetRootFolder("Crazy_Moto"); // Define la carpeta ROOT para usar NITROFS
//This section overrides the function to shut off the system if Main() ends.
// Inicializa el motor 2D en modo BITMAP
NF_Set2D(0, 5); // Modo 2D_5 en ambas pantallas
NF_Set2D(1, 5);
// Inicializa los fondos en modo "BITMAP"
NF_InitBitmapBgSys(0, 1);
NF_InitBitmapBgSys(1, 1);
consoleClear(); //Clears text console.
defaultExceptionHandler();//Sets up Guru Meditation errors so you can troubleshoot in the event of a crash
// Inicializa los buffers para guardar fondos en formato BITMAP
NF_Init16bitsBgBuffers();
// Carga el archivo BITMAP de imagen en formato RAW a la RAM
NF_Load16bitsBg("bmp/top_intro_1", 0);
NF_Load16bitsBg("bmp/touch_intro_1", 1);
// Tranfiere la imagen a la VRAM de ambas pantallas
NF_Copy16bitsBuffer(0, 0, 0);
NF_Copy16bitsBuffer(1, 0, 1);
swiWaitForVBlank();
// Si no es necesario usarla mas, borrala de la RAM
scanKeys();
if( !(keysDown() & KEY_A)) { scanKeys();}
NF_Unload16bitsBg(0);
NF_Unload16bitsBg(1);
NF_Reset16bitsBgBuffers();
NF_Load16bitsBg("bmp/top_intro_2", 0);
NF_Load16bitsBg("bmp/touch_intro_2", 1);
NF_Copy16bitsBuffer(0, 0, 0);
NF_Copy16bitsBuffer(1, 0, 1);
swiWaitForVBlank();
scanKeys();
if( !(keysDown() & KEY_A)) { scanKeys();}
NF_Unload16bitsBg(0);
NF_Unload16bitsBg(1);
NF_Reset16bitsBgBuffers();
swiWaitForVBlank();
mmLoad ( MOD_CMOTO );
mmStart( CMOTO, MM_PLAY_LOOP );
return 0;
}