Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Function: main()
- int main(int argc, char ** argv)
- {
- s16 i;
- PA_Init(); // Initializes PA_Lib
- PA_InitVBL(); // Initializes a standard VBL
- PA_InitRand();
- PA_InitText(0, 3);
- mmInitDefaultMem((mm_addr)soundbank_bin);
- mmLoad(MOD_MUSIC);
- mmLoadEffect(SFX_ALERT);
- mmLoadEffect(SFX_GAGNE);
- mmLoadEffect(SFX_SON_PIECE);
- mmSetModuleVolume(volume);
- fatInitDefault(); // initialisation de la FAT de la cartouche.
- save_file = fopen ("fat:cogito.sav", "rb"); //rb = read
- if(save_file==NULL)
- {
- save_file = fopen ("fat:cogito.sav", "wb");
- fonc_save(0);
- }
- else
- {
- fclose(save_file);
- fonc_load(0);
- }
- PA_SetBrightness(0, -31); // all black
- PA_Init16bitBg(0, 3);
- //Premier écran intro
- PA_Load16bitBitmap(0, intro1_Bitmap);
- for(i = 0; i < 60; i++) PA_WaitForVBL(); // Wait 2 second
- PA_SetBrightness(0, 0);
- mmEffect(SFX_ALERT);
- for(i = 0; i < 120; i++) PA_WaitForVBL(); // Wait 2 second
- for(i = 0; i > -32; i--)
- {
- PA_SetBrightness(0, i);
- PA_SetBrightness(1, i);
- PA_WaitForVBL();
- }
- //Deuxième écran intro
- PA_Load16bitBitmap(0, intro2_Bitmap);
- for(i = -31; i <= 0; i++)
- {
- PA_SetBrightness(0, i);
- PA_SetBrightness(1, i);
- PA_WaitForVBL();
- }
- for(i = 0; i < 120; i++) PA_WaitForVBL(); // Wait 2 second
- for(i = 0; i > -32; i--)
- {
- PA_SetBrightness(0, i);
- PA_SetBrightness(1, i);
- PA_WaitForVBL();
- }
- //Troisème écran intro
- mmStart(MOD_MUSIC, MM_PLAY_LOOP);//début de la musique.
- PA_Load16bitBitmap(0,intro3_Bitmap); // image
- for(i = 0; i < 90; i++) PA_WaitForVBL(); // Wait 1.5 second
- for(i = -31; i <= 0; i++)
- {
- PA_SetBrightness(0, i);
- PA_SetBrightness(1, i);
- PA_WaitForVBL();
- }
- while((!Pad.Newpress.Anykey) && (!Stylus.Newpress)) // On attend que le joueur touche l'écran ou qu'il appuye sur un bouton
- PA_WaitForVBL();
- //Palettes des flèches.
- PA_LoadSpritePal(0,6,(void*)fleche_Pal); //type flèches 1
- PA_LoadSpritePal(0,9,(void*)fleche2_Pal); //type flèches 2
- for(i = 0; i > -32; i--)
- {
- PA_SetBrightness(0, i);
- PA_SetBrightness(1, i);
- PA_WaitForVBL();
- }
- //Charge le tableaux des niveaux (niveaux/modèles/déplacement)
- charge_tab_niveaux();
- while(MonNiveau<=MaxNiveau)
- {
- MonModele=Niveaux[0][MonNiveau];
- MonDeplacement=Niveaux[1][MonNiveau];
- tire_pionts();//Tirage des "couleurs" des 3 pions.
- Les_Modeles(0); //Chargement du Plateau et du Problème.
- Melange_plateau(99); //on mélange le plateau
- chargerdecor(0,0,0);
- Checkgagne=0;
- close=1;
- if(MonNiveau == 15 || MonNiveau == 25)
- {
- PA_EasyBgLoad(0, 1, bg);
- mmEffect(SFX_ALERT);
- for(i = 0; i < 180; i++) PA_WaitForVBL();
- PA_HideBg(0,1);
- }
- while(1)
- {
- if(Pad.Released.Start || PA_SpriteTouched(89)) // menu pause/save/load.
- fonc_menu_pause();
- if(PA_CheckLid()) // Si on ferme la console allumée.
- {
- close++;
- PA_WaitForVBL(); // ???????????????????????????
- }
- if (PA_SpriteTouched(127)) // on clique sur le bouton de changement de décor.
- {
- chargerdecor(1,1,0);
- PA_WaitFor(!Stylus.Held);
- }
- if (PA_SpriteTouched(126)) // on clique sur le bouton "musique".
- musique();
- for (i = 90; i <= 125; i++) // on clique sur une des fêches.
- {
- if (PA_SpriteTouched(i))
- {
- PA_SetSpriteAnim(0, i, 1);
- Bouge(i);
- mmEffect(SFX_SON_PIECE);
- PA_WaitFor(!Stylus.Held);
- PA_SetSpriteAnim(0, i, 0);
- }
- }
- if(Checkgagne==1 || close==6 || loading==1) break;
- }
- if(loading!=1)
- {
- mmEffect(SFX_GAGNE);
- MonNiveau++;
- }
- loading=2;
- for(i = 0; i > -32; i--)
- {
- PA_SetBrightness(0, i);
- PA_SetBrightness(1, i);
- PA_WaitForVBL();
- }
- }
- fonc_fin(); //FIN DU JEU
- return 0;
- } // End of main()
Advertisement
Add Comment
Please, Sign In to add comment