:: PlayerAdvance.org ::  

Précédent   :: PlayerAdvance.org :: > :: Développement Amateur :: > GameBoy Advance > Projets

Projets Projets de développement amateur sur GameBoy Advance

Publicité

Commentaire
 
Outils du projet Modes d'affichage
Vieux 04/03/2007, 12h18  
Arcadia
Modérateur saisonnier
 
Date d'inscription: 17/02/2006
Localisation: Compiègne
Messages: 2 942
Voir les codes amis Nintendo DS Voir les codes amis Wii
Par défaut Ghost'n Goblins Advance

Ghosts'n Goblins Advance
Portage du jeu original de CAPCOM (1985)
BETA
[IMG...
__________________
.

Mes homebrews GBA : 1942 - Ghost'n Goblins




Mes autres passions, les flippers : Restauration d'un High Speed (Williams - 1985)

Dernière modification par Arcadia ; 27/12/2009 à 12h03.
Arcadia est déconnecté   Réponse avec citation
Vieux 07/03/2007, 00h18  
Arcadia
Modérateur saisonnier
 
Date d'inscription: 17/02/2006
Localisation: Compiègne
Messages: 2 942
Voir les codes amis Nintendo DS Voir les codes amis Wii
Par défaut

Citation:
Envoyé par Dr.Vince
hum... pourrais tu nous montrer le code de ta fonction vbl Arcadia ????
No problémo, je peux même poster toutes les sources si vous voulez, mais ça manque cruellement de commentaires par endroit

En attendant voici le main et le VBL...

Code PHP:

extern 
const Sound ADPCM_Stage_01;

int main(void)
{

   
ham_Init();                                                 // Initialisation de HAM
   
ham_StartIntHandler(INT_TYPE_VBL,(void *)&vblFunc);         // Initialisation du VBL
   
hel_PadInit();                                              // Initialisation du Pad
   
hel_PadSetBehaviour (PAD_BEHAVIOUR_PRESSED_ON_BUTTON_DOWN); // Action dès que le bouton est pressé



   
ham_ResetBg();                                              // On reset les BackGrouds
   
ham_SetBgMode(0);                                           // On choisi le MODE 0

   
GammaPalettes();                                            // Chargement des palettes

   
ham_InitText (0);                                           // Initialisation de la fonction texte de HAM
   
ham_SetTextCol (13,0);
   
   
ShootCreate();
   
ZombieCreate();
   
CrowCreate();
   
PlantCreate();
   
PlatformCreate();
   
Arthur_Create();
   
Maps();
   

   
AdpcmInit(2);
   
AdpcmStart(&ADPCM_Stage_01,-1,1);
   

   while(
TRUE)
   {
      if(
g_NewFrame)
      {
         
Query_Buttons();                    // Scan du paddle
         
Arthur_Move();                      // Actualisation des déplacement du joueur
         
ShootUpdate();                      // Actualisation du tir du joueur
         
PlatformUpdate();                   // Déplacement des plateformes flottantes
         
MapDisplay(map_x >> 7map_y >> 7); // Actualisation de la position de la carte
         
         
g_NewFrame=FALSE;
      }
   }

   return 
0;
}


void vblFunc(void)
{
   
ham_CopyObjToOAM();

   
AdpcmDecodeVbl(0);
   
AdpcmDecodeVbl(1);
   
   
g_NewFrame=TRUE;


@nrx ; Merci c'est sympa. Si on je ne resoud pas le probléme d'ici là, je te file tout pour ce week-end .
__________________
.

Mes homebrews GBA : 1942 - Ghost'n Goblins




Mes autres passions, les flippers : Restauration d'un High Speed (Williams - 1985)

Dernière modification par Arcadia ; 07/03/2007 à 00h20.
Arcadia est déconnecté   Réponse avec citation

Publicité

Vieux 07/03/2007, 00h32  
Dr.Vince
Administrateur
 
Date d'inscription: 10/11/2005
Messages: 4 960
Voir les codes amis Nintendo DS Voir les codes amis Wii
Par défaut

franchement je vois pas ce qui cloche.....

perso je decode d'abord le son avant de faire le copyToOAM, mais je pense pas que ça change grand chose

en relisant les posts précédent, il faudrait aussi les bouts de code où tu joue un son : quand il saute par exemple

car c'est là qu'est le problème si j'ai bien compris
__________________
Projets Abandonnés: [Arcomage Advance] [Puzznic] [PA Card Games] [Blob Runner]
Projet en cours: [Ne plus abandonner de projet...]
Dr.Vince est déconnecté   Réponse avec citation
Vieux 07/03/2007, 00h35  
MrSlip!!
Membre
 
Date d'inscription: 04/12/2005
Localisation: Strasbourg
Messages: 36
Par défaut oh my god

Arcadia is back!!

la classe mc fly !

Arcadia, pour moi c'est un peu l'emblême de PA, celui qui a enflammé le forum avec son projet 1942 et qui a donné envie à plusieurs personnes de se lancer dans des projets amateurs

bon courage pour la suite
MrSlip!! est déconnecté   Réponse avec citation
Vieux 07/03/2007, 00h36  
Arcadia
Modérateur saisonnier
 
Date d'inscription: 17/02/2006
Localisation: Compiègne
Messages: 2 942
Voir les codes amis Nintendo DS Voir les codes amis Wii
Par défaut

Citation:
Envoyé par Dr.Vince
...il faudrait aussi les bouts de code où tu joue un son : quand il saute par exemple
No problémo (là ça commence à être le fouilli dans les sources, je rangerais plus tard...)

Au passage, je viens de tester sur EZFA, je suis dég comme ça ram , sinon ça donne bien sur une GBA SP le rendu des couleurs


[EDIT] Merci Mr Slip



Code PHP:

extern 
const Sound ADPCM_Sfx_ArthurShoot;
extern const Sound ADPCM_Sfx_ArthurJump;


// *******************
// Le scan des touches
// *******************
void Query_Buttons()
{
   
hel_PadReadState();                                   // Mise à jour du pad

   
if (hel_Pad.Held.Left && !arthur_climb && !shoot_tempo)                                // Appuie sur la direction GAUCHE
   
{
      
ham_SetObjHFlip (arthur_sprite1);                // Le sprite est en position inversée
      
shoot_direction = -1;
      if (!
arthur_down && !arthur_jump)                  // Si Arthur n'est ni à genoux ni en train de sauter...
      
{
         
arthur_run_direction = -1;                      // Alors il va dans une direction négative (ben oui vers la gauche quoi...)
         
arthur_run 1;                                 // On suppose qu'on restera appuyé, donc Arthur va se mettre à courrir
      
}
   }

   if (
hel_Pad.Held.Right && !arthur_climb && !shoot_tempo)                               // Appuie sur la direction DROITE
   
{
      
ham_SetObjHFlip (arthur_sprite0);                // Le sprite est en position normale
      
shoot_direction 1;
      if (!
arthur_down && !arthur_jump)                  // Si Arthur n'est ni à genoux ni en train de sauter...
      
{
         
arthur_run_direction 1;                       // Alors il va dans une direction positive (il faut positiver !)
         
arthur_run 1;                                 // On suppose qu'on restera appuyé, donc Arthur va se mettre à courrir
      
}
   }




// ************************
// On descends de l'echelle
// ************************
   
if (hel_Pad.Held.Down && !arthur_jump)                // Appuie dur la direction BAS
   
{
      if (
CheckPlatform(0) == RED && !arthur_climb)
      {
         
arthur_climb 1;
         
arthur_climb_top 1;
         
SyncLadder();
         
arthur_climb_count CLIMBTOP_TEMPO << 1;
      }

      else if (
CheckPlatform(0) == ORANGE// Fin de grimpé d'echelle (en bas)
      
{
         
arthur_climb 0;
         
arthur_climb_count 0;
      }

      if (
arthur_climbArthur_Climb(1);

      else
      {
         
arthur_sprite_slot 3;                            // C'est ce sprite la qu'on affiche (il est à genoux quoi...)
         
arthur_run 0;                                    // Arthur arrête de courrir
         
arthur_down 1;                                   // On active la position à genoux
         
arthur_down_tempo 0;
         
arthur_run_direction 0;
      }
   }


// ********************
// On monte à l'echelle
// ********************

   
if (hel_Pad.Held.Up  && !arthur_jump && !hel_Pad.Held.Right && !hel_Pad.Held.Left)
   {
      if (
CheckPlatform(0) == ORANGE && !arthur_climb)
      {
         
arthur_climb 1;
         
SyncLadder();
         
arthur_climb_top 0;
      }

      else if (
CheckPlatform(0) == REDarthur_climb_top 1;
      if (
arthur_climbArthur_Climb(-1);
   }

// ***************************************************************************************

   
if (hel_Pad.Pressed.&& !arthur_climb)
   {
      if (!
arthur_jumparthur_run 0;
      if (
arthur_downarthur_down_tempo 0;

      
AdpcmStart(&ADPCM_Sfx_ArthurShoot,1,0);

      
ShootBefore();

      
   }



   if (
hel_Pad.Pressed.&& !arthur_climb /*&& !arthur_fall*/)                // Appuie sur la touche A
   
{
      
arthur_jump 1;                                   // On active le saut
      
arthur_down 0;
      
//arthur_platform = 0;
      
AdpcmStart(&ADPCM_Sfx_ArthurJump,1,0);

   }


   if (!
hel_Pad.Held.Down && !arthur_run && !arthur_down && !arthur_climbarthur_sprite_slot 0;    // Si on relache la direction BAS, et au'on ne cours pas : On remet le sprite ou Arthur est immobile
   
if (!hel_Pad.Held.Left && !hel_Pad.Held.Right && !arthur_jumparthur_run 0;                     // Si on est pas en train de sauter et qu'on ne touche plus au Paddle : Arthur cesse de courrir


   
if (hel_Pad.Pressed.R)                                // Appuie sur la touche R...
   
{
      
arthur_armor = (arthur_armor == 15) ?:15;          // ... et on se retrouve en slip ^^ !
   
}

   if (
hel_Pad.Pressed.L)                                // Appuie sur la touche L...
   
{
      
arthur_weapon ++;
      if (
arthur_weapon == 6arthur_weapon 1;
      
ShootNew();
   }
}
//************************************************************************************************** 
__________________
.

Mes homebrews GBA : 1942 - Ghost'n Goblins




Mes autres passions, les flippers : Restauration d'un High Speed (Williams - 1985)

Dernière modification par Arcadia ; 07/03/2007 à 00h38.
Arcadia est déconnecté   Réponse avec citation
Vieux 07/03/2007, 00h47  
Nrx
Membre confirmé
 
Date d'inscription: 10/11/2005
Messages: 277
Par défaut

Hum, je ne vois pas non plus ce qui ne va pas, à première vue tout semble ok . Dis-moi, est-ce que ça marche bien en laissant les bruitages mais en coupant la musique ? (juste pour savoir si c'est un soucis dû au fait qu'on utilise les 2 canaux en même temps)
Nrx est déconnecté   Réponse avec citation
Vieux 07/03/2007, 00h52  
Dr.Vince
Administrateur
 
Date d'inscription: 10/11/2005
Messages: 4 960
Voir les codes amis Nintendo DS Voir les codes amis Wii
Par défaut

si tu pouvais balancer les sources entières (tout le projet compilable avec HAM) histoire que j'y jette un oeil de plus près

ça m'intéresse car je vais surement être dans le même cas que toi avec Puzznic donc j'aimerais bien savoir d'où ça vient
__________________
Projets Abandonnés: [Arcomage Advance] [Puzznic] [PA Card Games] [Blob Runner]
Projet en cours: [Ne plus abandonner de projet...]
Dr.Vince est déconnecté   Réponse avec citation
Vieux 07/03/2007, 00h54  
Arcadia
Modérateur saisonnier
 
Date d'inscription: 17/02/2006
Localisation: Compiègne
Messages: 2 942
Voir les codes amis Nintendo DS Voir les codes amis Wii
Par défaut

Citation:
Envoyé par Nrx
Hum, je ne vois pas non plus ce qui ne va pas, à première vue tout semble ok . Dis-moi, est-ce que ça marche bien en laissant les bruitages mais en coupant la musique ? (juste pour savoir si c'est un soucis dû au fait qu'on utilise les 2 canaux en même temps)
Bonne question.

Je viens de desactiver le deuxieme canal, je déclare donc dans le main "AdpcmInit(1);". J'ai fais un test en emulateur et ça semble aller. J'ai mis la rom sur EZFA etle jeu tourne super bien ! Cependant, il y a un bug graphique ! J'ai des tiles qui se balladent au mileu de l'écran...

Je vous remercie pour le temps que vous passez sur ce problème les mecs, ça me fait chaud au coeur


[EDIT] Voici la rom

[EDIT 2 ] J'ai redéclaré 2 canaux, et le jeu sans musique tourne super bien, et il n'y a plus de bugs graphiques ("AdpcmInit(2)")


Dr Vince : OK, je vais te refiler te tout...
Fichiers attachés
Type de fichier : zip Ghosts_n_Goblins.zip (399,4 Ko, 152 affichages)
__________________
.

Mes homebrews GBA : 1942 - Ghost'n Goblins




Mes autres passions, les flippers : Restauration d'un High Speed (Williams - 1985)

Dernière modification par Arcadia ; 07/03/2007 à 00h58.
Arcadia est déconnecté   Réponse avec citation
Vieux 07/03/2007, 01h04  
Dr.Vince
Administrateur
 
Date d'inscription: 10/11/2005
Messages: 4 960
Voir les codes amis Nintendo DS Voir les codes amis Wii
Par défaut

ça vient peut être de la lecture en boucle

essaye de lire la zik un certain nombre de fois (genre le temps de tester) au lieu d'une lecture en boucle
__________________
Projets Abandonnés: [Arcomage Advance] [Puzznic] [PA Card Games] [Blob Runner]
Projet en cours: [Ne plus abandonner de projet...]
Dr.Vince est déconnecté   Réponse avec citation
Vieux 07/03/2007, 01h04  
Nrx
Membre confirmé
 
Date d'inscription: 10/11/2005
Messages: 277
Par défaut

Ahhhh.... ça me rappelle un problème étrange que j'ai eu sur GOD : j'avais des problèmes d'affichage (corruptions) lorsque je mettais les fichiers graphiques avant les fichiers sonores dans le makefile. Concrètement, il fallait que je mette les ".o" des ressources issues de gfx2gba après les ".o" des fichiers issus de l'encodeur Adpcm (je parle de la liste des fichiers construite par "OFILES +" dans le makefile). J'imagine que c'est un problème d'alignement des données en ROM - je n'ai jamais étudié le truc dans le détail (surtout que pour Bomb Jack c'est complètement différent : les musiques sont ajoutées après la compilation, pas avant).

Il faudrait donc peut-être essayer de modifier ton makefile, juste histoire de voir ce que ça donne.
Nrx est déconnecté   Réponse avec citation
Vieux 07/03/2007, 01h06  
Arcadia
Modérateur saisonnier
 
Date d'inscription: 17/02/2006
Localisation: Compiègne
Messages: 2 942
Voir les codes amis Nintendo DS Voir les codes amis Wii
Par défaut

Par contre le fameux "Stage_01.s", la musique de fond, fait plus d'un meg. Ça ne viendrait pas de là par hasard ? Parce que sans cette musique, le jeu tourne super bien ...

Faudrait peut-être queje baisse la qualité de cette dernière ? Enfin ça serait con parce que là la qualité sonore est au poil ...


[EDIT] OK nrx, je fais ça .

Et au cas ou, je teste ensuite l'idée de Dr Vince...
__________________
.

Mes homebrews GBA : 1942 - Ghost'n Goblins




Mes autres passions, les flippers : Restauration d'un High Speed (Williams - 1985)
Arcadia est déconnecté   Réponse avec citation
Vieux 07/03/2007, 01h16  
Arcadia
Modérateur saisonnier
 
Date d'inscription: 17/02/2006
Localisation: Compiègne
Messages: 2 942
Voir les codes amis Nintendo DS Voir les codes amis Wii
Par défaut

J'ai refais le makefile mais je jeu ralenti toujours (plus de trace du bug graphique en revanche, et je jeu marche super bien sans la ziq de fond)

M'enfin ton tuyau est bon à prendre car j'ai deja eu dans 1942 des bugs graphiques bizaroides

Je te filerais les sources si tu as le temps de jeter un oeil. C'est vraiment sympa de ta part le temps que tu consacres à ce bug
__________________
.

Mes homebrews GBA : 1942 - Ghost'n Goblins




Mes autres passions, les flippers : Restauration d'un High Speed (Williams - 1985)

Dernière modification par Arcadia ; 07/03/2007 à 01h28.
Arcadia est déconnecté   Réponse avec citation
Vieux 07/03/2007, 01h20  
Nrx
Membre confirmé
 
Date d'inscription: 10/11/2005
Messages: 277
Par défaut

Je ne pense pas que cela vienne de la taille de la musique car celles de GOD et de Mario Balls sont assez grosses également ; j'espère que c'est le même soucis que j'ai eu à l'époque (ordre dans le makefile) .

(cela étant, si c'est bien un souci d'ordre dans le makefile, faudra quand même que je trouve ce qui ne va pas ! )
Nrx est déconnecté   Réponse avec citation
Vieux 07/03/2007, 01h21  
Dr.Vince
Administrateur
 
Date d'inscription: 10/11/2005
Messages: 4 960
Voir les codes amis Nintendo DS Voir les codes amis Wii
Par défaut

pour les problèmes graphiques faut rajouter l'alignement dans la déclaration :

Code:
const unsigned char mongfx_Bitmap[90112] __attribute__ ((aligned (4))= {
0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 
.............
ça règle souvent ce type de problèmes
__________________
Projets Abandonnés: [Arcomage Advance] [Puzznic] [PA Card Games] [Blob Runner]
Projet en cours: [Ne plus abandonner de projet...]
Dr.Vince est déconnecté   Réponse avec citation
Vieux 07/03/2007, 01h21  
Arcadia
Modérateur saisonnier
 
Date d'inscription: 17/02/2006
Localisation: Compiègne
Messages: 2 942
Voir les codes amis Nintendo DS Voir les codes amis Wii
Par défaut

Citation:
Envoyé par Nrx
Je ne pense pas que cela vienne de la taille de la musique car celles de GOD et de Mario Balls sont assez grosses également ; j'espère que c'est le même soucis que j'ai eu à l'époque (ordre dans le makefile) .

(cela étant, si c'est bien un souci d'ordre dans le makefile, faudra quand même que je trouve ce qui ne va pas ! )
Voici l'ordre du miens...

Code PHP:
#
# Set a list of files you want to compile
#
OFILES += main.o    \
    
Sfx_ArthurShoot.o    \
    
Sfx_ArthurJump.o    \
    
Sfx_ArthurJumpEnd.o    \
    
Sfx_ShootImpact.o    \
    
arthur.o    \
    
divers.o    \
    
paddle.o    \
    
maps.o    \
    
scrolling.o    \
    
collisions.o    \
    
shoot.o    \
    
foes.o    \
    
foe_crow.o    \
    
foe_plant.o    \
    
bullet.o    \
    
platform.o    \
    
Adpcm.o    \
    
Stage_01.o    \
    
gfx/col.map.o    \
    
gfx/bg.map.o    \
    
gfx/bg.raw.o    \
    
gfx/alpha.pal.o    \
    
gfx/gng.map.o    \
    
gfx/gng.raw.o    \
    
gfx/arthur.raw.o    \
    
gfx/object.pal.o    \
    
gfx/weapon.raw.o    \
    
gfx/gng2.map.o    \
    
gfx/gng2.raw.o    \
    
gfx/weapons_mini.raw.o    \
    
gfx/weapons.raw.o    \
    
gfx/weapons_frame.raw.o    \
    
gfx/impacts.raw.o    \
    
gfx/platform1.raw.o    \
    
gfx/bullet_plant.raw.o    \
    
gfx/zombies.raw.o    \
    
gfx/plant.raw.o    \
    
gfx/crow.raw.
__________________
.

Mes homebrews GBA : 1942 - Ghost'n Goblins




Mes autres passions, les flippers : Restauration d'un High Speed (Williams - 1985)
Arcadia est déconnecté   Réponse avec citation
Vieux 07/03/2007, 01h31  
Nrx
Membre confirmé
 
Date d'inscription: 10/11/2005
Messages: 277
Par défaut

Je viens de vérifier dans Mario Balls (c'est en fait dans Mario Balls que j'ai eu le problème de corruption des graphs) : en fait j'ai mis toutes les musiques à la fin du "OFILES", sauf une que j'ai mis avant les ressources graphiques. D'ailleurs j'avais mis dans mon "ToDo.txt" :
Citation:
1) Comprendre pourquoi il faut mettre un des fichiers objet ADPCM (.o) avant les images pour eviter
une corruption de toutes les images et de leurs palettes !
Pour ce qui est de ton problème, il faudrait peut-être s'assurer que ta boucle principale est suffisamment rapide pour que la fonction VBL ne soit pas appelée plusieurs fois par tour... mais même si c'était le cas ça devrait marcher Comprends pas

[Edit] Tu peux aussi essayer de laisser la musique comme elle est (compressée), mais de ne pas compresser les effets sonores (y a une option dans l'encodeur pour garder la wave pure plutôt que la mettre en Adpcm - le décodeur se débrouille tout seul). Bon, je ne vois pas pourquoi ça ferait ramer le jeu, mais on ne sait jamais, c'est un essai à faire. Pour info, je ne compresse pas certains sfx de GOD (le but n'était pas de gagner des perfs mais d'avoir une qualité optimale sur certains sons que l'Adpcm digére mal).

Dernière modification par Nrx ; 07/03/2007 à 01h37.
Nrx est déconnecté   Réponse avec citation
Vieux 07/03/2007, 01h44  
Arcadia
Modérateur saisonnier
 
Date d'inscription: 17/02/2006
Localisation: Compiègne
Messages: 2 942
Voir les codes amis Nintendo DS Voir les codes amis Wii
Par défaut

Alors il y a du nouveau, et je m'en veux un peu car il me semblait que dans mes premier tests j'avais desactivé une chose qui me semblait évident. Mais force est de constater que depuis que je l'ai effectivement desactivé, le jeu fonctionne parfaitement. Plus de ralentissements, tout est impeccable...

Il s'agissait semble-t-il de ma fonction "WaitForVsync();". Elle est ainsi composée :

Code PHP:
//***************************************
// Synchronisation avec le balayage écran
//***************************************
void WaitForVsync(void)
   {
      while(
REG_VCOUNT 160);
   }
//********************************************* 
Je ne sais pas si ce qui est dans la fonction est correct, mais en tout cas le problème semble venir de là

Est-il si important de mettre une fonction de ce genre ? elle revient souvent il me semble dans les sources et les exemples, mais je n'ai jamais vraiment compris son interet, du moins visuellement ...

Merci nrx et Dr.Vince de vous êtes penché sur le problèe. Je sais je n'arrête pas de vous remercier mais j'insiste

Voici en pièce jointe, une rom qui tourne bien, avec musique et quelques ennemis ...
Fichiers attachés
Type de fichier : zip Ghosts_n_Goblins.zip (401,8 Ko, 163 affichages)
__________________
.

Mes homebrews GBA : 1942 - Ghost'n Goblins




Mes autres passions, les flippers : Restauration d'un High Speed (Williams - 1985)

Dernière modification par Arcadia ; 07/03/2007 à 01h59.
Arcadia est déconnecté   Réponse avec citation
Vieux 07/03/2007, 01h57  
Nrx
Membre confirmé
 
Date d'inscription: 10/11/2005
Messages: 277
Par défaut

Ah! Bonne nouvelle alors

Dis, tu l'appelais à quel moment cette "WaitForVsync()" ?

En fait l'intérêt d'une telle fonction est de suspendre les traitements jusqu'à ce que le balayage écran ait fini son boulot, afin de ne toucher à l'écran que lorsqu'on est certain qu'il n'est pas précisément en train d'être rafraichi par la GBA. Typiquement il faudrait faire l'appel juste avant l'affichage des sprites... Cela étant, tu n'en as pas besoin parce que tu as une vraie fonction de gestion du VBL : c'est elle qui fait le boulot au bon moment (appels à "ham_CopyObjToOAM()" et "AdpcmDecodeVbl()") ; ta boucle principale reste synchrone gràce à ton "g_NewFrame" (= la boucle "while" ne fait rien tant que le VBL n'est pas passé par là). Perso je fais à peu près la même chose que toi, si ce n'est que ma boucle principale attend le VBL en utilisant une fonction du BIOS (cf. la fonction "CommonVwait" dans Bomb Jack par exemple), ce qui a l'avantage d'économiser la batterie en suspendant l'exécution du CPU jusqu'à ce que le VBL arrive (alors que ta boucle principale travaille tout le temps puisqu'on reste dans le "while").
Nrx est déconnecté   Réponse avec citation
Vieux 07/03/2007, 02h06  
Arcadia
Modérateur saisonnier
 
Date d'inscription: 17/02/2006
Localisation: Compiègne
Messages: 2 942
Voir les codes amis Nintendo DS Voir les codes amis Wii
Par défaut

Citation:
Envoyé par Nrx
Ah! Bonne nouvelle alors

Dis, tu l'appelais à quel moment cette "WaitForVsync()" ?
Ben justement, c'est là qu'il faut me botter le c... parce que quand j'ai posté les sources de mon main(), j'avais anticipé en virant le "WaitForVsync()", alors que je dégageait d'autres fonctions qui ne me servent pas en ce moment et qui étaient précédées du "//" . Mais je ne sais pas pourquoi, mon jeu à déconné graphiquement ensuite et je me suis dit que j'avais fais un peu trop le ménage, alors j'ai annulé des suppressions (à grand coups de ctrl + z) et ce "WaitForVsync()" est revenu (d'ou le fait qu'il me semblait que je l'avais viré) ...



Enfin l'escenciel c'est que le problème soit réglé. Je ne m'inquiétais pas parce que je savais que ton lecteur était parfait et qu'il ne ppouvait s'agire que d'une (petite) connerie de ma part . Quoi qu'il en soit, ton lecteur est vraiment une merveille, c'est incroyable la facilité avec laquelle on met de sons dans des projets, et des sons de bonne qualité qui plus est. Merci

Merci pour les explication concernant le balayage. Je te dis bonne nuit car demain c'est le taf (arf, encore 6 heures...). Vraiment, trop sympa ton aide, je me couche avec le sentiment d'être sur un forum vraient cool, avec des membres encores plus cools ...


Code PHP:
   while(TRUE)
   {
      if(
g_NewFrame)
      {
         
//DebugInfos();
         
Arthur_Move();
         
Query_Buttons();
         
ShootUpdate();
         
ZombieUpdate();
         
CrowUpdate();
         
PlantUpdate();
         
//WaitForVsync();

         //PlatformUpdate();

         
g_NewFrame=FALSE;
      }
   } 
__________________
.

Mes homebrews GBA : 1942 - Ghost'n Goblins




Mes autres passions, les flippers : Restauration d'un High Speed (Williams - 1985)

Dernière modification par Arcadia ; 07/03/2007 à 02h11.
Arcadia est déconnecté   Réponse avec citation
Vieux 07/03/2007, 02h18  
Nrx
Membre confirmé
 
Date d'inscription: 10/11/2005
Messages: 277
Par défaut

Merci pour les compliments !
J'en profite pour remercier Nesgba (même s'il ne vient plus sur le forum) : c'est lui qui m'a fait me mettre à l'Adpcm ! Et puis aussi Damian Yerrick, puisque c'est son décodeur qui m'a servi de modèle au tout début.

Pour le reste, tu n'as plus d'excuse pour terminer GnG maintenant !
Nrx est déconnecté   Réponse avec citation
Vieux 07/03/2007, 02h26  
Arcadia
Modérateur saisonnier
 
Date d'inscription: 17/02/2006
Localisation: Compiègne
Messages: 2 942
Voir les codes amis Nintendo DS Voir les codes amis Wii
Par défaut

Citation:
Envoyé par Nrx
Pour le reste, tu n'as plus d'excuse pour terminer GnG maintenant !
OK chef !

Les compliments sont amplement mérités et bien entendu, les prochaines versions des releases seront fournies avec un .txt dans lequel je ne manquerais pas de signaler les outils indispensables que j'ai utilisé. C'est une question de principe, une question de respect, et surtout un humble hommage justement rendu au travail de gens comme toi .
__________________
.

Mes homebrews GBA : 1942 - Ghost'n Goblins




Mes autres passions, les flippers : Restauration d'un High Speed (Williams - 1985)

Dernière modification par Arcadia ; 07/03/2007 à 10h24.
Arcadia est déconnecté   Réponse avec citation
Vieux 07/03/2007, 10h38  
Bap65
Into the VIVE
 
Date d'inscription: 10/11/2005
Localisation: Tour Eiffel
Messages: 4 389
Voir l'identifiant PSN
Par défaut

Chalut, Bon j'ai testouillé ta dernière production
Jusque là tout va bien, sauf 2-3 petites banalitées: explication en images.



Sur le premier le personnage tombe plus tôt d'une pierre tombale que normalement. Il est plus enfoncé dans la pierre tombale que si on cours en plein dedans. Rien de bien dramatique.

Le deuxième est plus ennuyeux, mais alors je ne sais pas par quoi c'est provoqué, c'est en forçant un peu lorsque l'on est en haut et un peu à gauche d'une echelle le bouton bas de la mannette, il arrive même parfois que le personnage tombe directement en bas sans emprunter l'echelle .
Ca marche pas à tout les coups, et c'est assez aléatoire/rare.

Sinon 2 ptites remarques:
Ces satanés oiseaux/plantes sont indestructible... ça stresse
C'est normal le petit temps de latence entre le moment ou on lache la touche bas et le moment ou le personnage se relève ?

Edit: Mes tests sont fait sous Visual Boy.
Sinon le reste, c'est du tout bon. Ca avance vite en tout cas, c'est du super boulot. La musique et les bruitages sont au poil avec l'action.. énormissime !
__________________
Jeux vidéo du moment: AVR Studio 5, Visual Studio , Eagle
Mais aussi Castlevanias GBA, Uncharted 3, Skyrim, et RetroGamming Android
Bap65 est déconnecté   Réponse avec citation
Vieux 07/03/2007, 12h03  
kinski
Membre confirmé
 
Date d'inscription: 10/11/2005
Messages: 267
Par défaut

Raaaaaaaaaaaaah ca fait envie ces bouts de codes et ces images de work in progress
kinski est déconnecté   Réponse avec citation
Vieux 07/03/2007, 14h58  
Arcadia
Modérateur saisonnier
 
Date d'inscription: 17/02/2006
Localisation: Compiègne
Messages: 2 942
Voir les codes amis Nintendo DS Voir les codes amis Wii
Par défaut

Citation:
Envoyé par Bap65
Sur le premier le personnage tombe plus tôt d'une pierre tombale que normalement. Il est plus enfoncé dans la pierre tombale que si on cours en plein dedans. Rien de bien dramatique.

Le deuxième est plus ennuyeux, mais alors je ne sais pas par quoi c'est provoqué, c'est en forçant un peu lorsque l'on est en haut et un peu à gauche d'une echelle le bouton bas de la mannette, il arrive même parfois que le personnage tombe directement en bas sans emprunter l'echelle .
Ca marche pas à tout les coups, et c'est assez aléatoire/rare.

Sinon 2 ptites remarques:
Ces satanés oiseaux/plantes sont indestructible... ça stresse
C'est normal le petit temps de latence entre le moment ou on lache la touche bas et le moment ou le personnage se relève ?
Je te remercie pour ces remarques .


Pour le bug de la pierre tombale, je le connais, et pour le moment je ne me suis pas penché sur le problème. Le bug de l'échelle, c'est pareil, j'arrive même à le faire comme je veux, il y a une manip à la con quand on est en haut (faut descendre legèrement, remonter jusqu'à montrer son cul, puis redescendre et si on a fais cela au bon endroit, le bonhomme chute directement.

Je dois revoir entièrement cette partie concernant l'échellle car comme on le voit sur ton screen, par moment on monte à l'échelle en décalé, et enplus l'anumation en haut est vraiment pourrie (il monte legèrement trop haut, pour chuter d'un pixel ou deux...).

M'enfin pour que tu aies trouvé le bug de l'échelle, il a fallu que tu teste le jeu en long et en large, je suis impressionné ! Merci

Le petit temps de latence est normal, conforme à l'original. Ca peut déranger je le conçois, mais comme je cherche à reproduire à l'identique, du moins opur autant que j'en ai la capacité, et bien je le fais.

Pour les corbeaux, bah je vais arranger ça bientôt ...


@Kinski : Qu'attends tu pour te remettre à ton WonderBoy ? Ou à la programmation tout court ?! On t'attends, c'est reparti comme en 40...eu comme en 04 !
__________________
.

Mes homebrews GBA : 1942 - Ghost'n Goblins




Mes autres passions, les flippers : Restauration d'un High Speed (Williams - 1985)

Dernière modification par Arcadia ; 07/03/2007 à 15h08.
Arcadia est déconnecté   Réponse avec citation
Vieux 07/03/2007, 21h59  
MaXleBourrin
Membre confirmé
 
Date d'inscription: 11/11/2005
Localisation: Brest
Messages: 810
Par défaut

Wha, c'est impressionant, l'entraide qu'il y a eu là, ça faisait quelque temps qu'on a pas vu une activité aussi rapide pour résoudre un problème de prog sur gba (!)

Arcadia qui encourage tout le monde à se mettre à la GBA
Faut que vraiment un jour je m'y mette, pour me faire ma petite histoire

POutoux poutoux, bon courage pour la suite
__________________
Peach Is A Bitch
MaXleBourrin est déconnecté   Réponse avec citation
Vieux 07/03/2007, 22h54  
Dr.Vince
Administrateur
 
Date d'inscription: 10/11/2005
Messages: 4 960
Voir les codes amis Nintendo DS Voir les codes amis Wii
Par défaut

bah le truc c'est que la GBA on connait bien alors que le dev sur DS pas trop, du moins ceux qui codent sont des newb et l'entraide n'est pas la même qu'à l'époque de la GBA
__________________
Projets Abandonnés: [Arcomage Advance] [Puzznic] [PA Card Games] [Blob Runner]
Projet en cours: [Ne plus abandonner de projet...]
Dr.Vince est déconnecté   Réponse avec citation
Commentaire

Liens sociaux

Publicité



Utilisateurs connectés lisant ce projet : 1 (0 membres et 1 invités)
 
Outils du projet
Modes d'affichage

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 23h51.


Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Tous droits réservés.
Version française #16 par l'association vBulletin francophone
Design par Ass-Itch, DJP et Dr.Vince

GARS 2.1.9 édité par The vB Geek
Copyright 2005-2006
Version française par Cédric Claerhout