µLua DS - Forum officiel | Official forum Forum Index

µLua DS - Forum officiel | Official forum
Le bon endroit pour en savoir plus sur MicroLua et pour parler de vos projets ! | The right place to learn more about MicroLua and talk about your projects !

 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Le fameux bug mirrorH/mirrorV

 
Post new topic   Reply to topic    µLua DS - Forum officiel | Official forum Forum Index -> Section française -> Report de bugs
Previous topic :: Next topic  
Author Message
Ced-le-pingouin


Offline

Joined: 16 Jan 2009
Posts: 559
Localisation: Belgique

PostPosted: Thu 6 Aug 2009 - 12:35    Post subject: Le fameux bug mirrorH/mirrorV Reply with quote

Deuxième découverte à la lecture des source de ML/uLib.

Vous vous souvenez que je m'étais posé des questions sur le fait que, chez moi, Image.mirrorH et Image.mirrorV n'avaient aucun effet? Et que, si je me souviens bien, bizarrement il arrivait que ces fonctions aient parfois un effet chez d'autres ?

Je crois que je viens de trouver pourquoi: en fait, ces fonctions, dans le code source, acceptent un second paramètre, booléen.

Je n'ai pas compris exactement pourquoi il était là, mais il semble qu'il doit valoir true dans le cas "normal", et false (le défaut) dans le cas ou X0 > X1. Je suppose que ça veut dire quand le coin supérieur gauche de l'image se trouve à droite du coin supérieur droit, au d'autres terme, que l'image avait déjà été "mirrorée" (ou qu'il y a eu rotation?).

Je n'ai pas la DS sous la main, mais il faudrait tester une de ces deux fonctions avec le 2è paramètre à true. Et voir aussi, au cas où ça fonctionne, si le comportement est pareil dans ML 2 (car comme on n'a pas les sources, impossible de vérifier).


Last edited by Ced-le-pingouin on Mon 30 Nov 2009 - 17:00; edited 1 time in total
Back to top
Publicité






PostPosted: Thu 6 Aug 2009 - 12:35    Post subject: Publicité

PublicitéSupprimer les publicités ?
Back to top
Reylak
Administrateur

Offline

Joined: 24 Nov 2008
Posts: 2,838
Localisation: Toulouse

PostPosted: Thu 6 Aug 2009 - 13:22    Post subject: Le fameux bug mirrorH/mirrorV Reply with quote

Bon, je n'ai malheureusement pas mon linker pour tester, alors j'ai fait avec No$GBA, qui a quand même un comportement très proche de µLua DS. J'ai fait ce petit script (enfin, c'est long, mais bon x) :
Code:
image = Image.load("Clavier.PNG", VRAM)

while not Keys.newPress.Start do
   Controls.read()
   
   while not Keys.newPress.A do
      Controls.read()
      
      screen.blit(SCREEN_UP, 0, 0, image)
      screen.print(SCREEN_DOWN, 0, 0, "Image normale\nAppuyer sur 'A' pour continuer")
      
      render()
   end
   Image.destroy(image)
   image = Image.load("Clavier.PNG", VRAM)
   while not Keys.newPress.B do
      Controls.read()
      
      Image.mirrorH(image)
      screen.blit(SCREEN_UP, 0, 0, image)
      screen.print(SCREEN_DOWN, 0, 0, "Image mirrorH normal\nAppuyer sur 'B' pour continuer")
      
      render()
   end
   Image.destroy(image)
   image = Image.load("Clavier.PNG", VRAM)
   while not Keys.newPress.X do
      Controls.read()
      
      Image.mirrorH(image, true)
      screen.blit(SCREEN_UP, 0, 0, image)
      screen.print(SCREEN_DOWN, 0, 0, "Image mirrorH avec 'true'\nAppuyer sur 'X' pour continuer")
      
      render()
   end
   Image.destroy(image)
   image = Image.load("Clavier.PNG", VRAM)
   while not Keys.newPress.Y do
      Controls.read()
      
      Image.mirrorH(image, false)
      screen.blit(SCREEN_UP, 0, 0, image)
      screen.print(SCREEN_DOWN, 0, 0, "Image mirrorH avec 'false'\nAppuyer sur 'Y' pour recommencer")
      
      render()
   end
end

Image.destroy(image)
image = nil


Après chaque boucle, je décharge/recharge l'image pour être sûr d'avoir l'originale.
Je change de touche à chaque fois parce que le newPress bug... et me fait passer directement toutes les boucles.

On observe alors que :
→ le mirrorH de base EST LE MEME que mirrorH(image, false)
→ mais si l'on passe true à mirrorH, alors là la symétrie se fait...

Conclusion : je pense que l'on peut appeler ça un bug dans la mesure où il faudrait mettre true par défaut... D'autant plus que ça n'est pas mentionné dans la doc !
_________________


Plein d'infos sur le SourceForge !


Back to top
Visit poster’s website MSN Skype
Ced-le-pingouin


Offline

Joined: 16 Jan 2009
Posts: 559
Localisation: Belgique

PostPosted: Thu 6 Aug 2009 - 13:58    Post subject: Le fameux bug mirrorH/mirrorV Reply with quote

Merci d'avoir testé. Ca confirme ce que je pensais (wow, je peux encore lire du C et le comprendre, sans compiler ni exécuter Smile )

Maintenant, il faudrait que quelqu'un parvienne à se créer un environnement de compilation DS/MicroLua qui fonctionne sur sa machine, et on pourra peut-être réparer quelques bugs et compiler une version 3.0 beta 2 ?


Back to top
Reylak
Administrateur

Offline

Joined: 24 Nov 2008
Posts: 2,838
Localisation: Toulouse

PostPosted: Thu 6 Aug 2009 - 14:06    Post subject: Le fameux bug mirrorH/mirrorV Reply with quote

Quent, c'est à toi ! Very Happy *sort*
Est-que quelqu'un peut essayer sous Linux, on aura moins de problèmes peut-être ?
_________________


Plein d'infos sur le SourceForge !


Back to top
Visit poster’s website MSN Skype
Quent42340


Offline

Joined: 03 Jun 2009
Posts: 1,388
Localisation: Veauche

PostPosted: Thu 6 Aug 2009 - 17:24    Post subject: Le fameux bug mirrorH/mirrorV Reply with quote

Bah ca va être du gâteau avec MMF2  Mr. Green  Je vous fais ca pour µLC 4.0  Okay
_________________
Mes projets: https://github.com/Quent42340


Back to top
Visit poster’s website
Display posts from previous:   
Post new topic   Reply to topic    µLua DS - Forum officiel | Official forum Forum Index -> Section française -> Report de bugs All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  

Index | Create a forum | Free support forum | Free forums directory | Report a violation | Cookies | Charte | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group