You are not logged in.
Hello,
I have a problem with GRRLIB 3.0.1a, on all the other that pages functions but on a page, that does not function. Apparently the screen is not updated. On my homebrew, when I click to reach this page, the screen remains blocked in the picture, the ir pointer does not move nor anything more. In my script I put that if one support on the button has, Wii starts again, therefore when the screen remains blocked on the same image, I support on the button have and Wii starts again well. To have the heart Net of it, I put that if one support on the button B, one could extinguish Wii, and well when the screen remains blocked in the picture if I support on B, Wii die out well. I cannot too what make.
Thanks,
Last edited by CashMan (2008-08-21 21:52:36)
Offline
It seems that you may have used automatic text translator, or maybe I'm just tired and I can't read anymore! What is your native language?
Offline
CashMan wrote:
I speak french
Salut, je sais qu'habituellement on dois écrire en anglais sur le forum, mais c'est juste que je ne comprend pas ta question. Est-ce que tu pourrais la mettre en français. Peut-être que j'arriverais à t'aider.
Offline
Tu es français ? Si tu utilises un traducteur il est vraiment bien !
Donc, mon problème c'est qu'enfaite j'ai mis en place une interface graphique grace à GRRLIB, et tout fonctionne, jusqu'à que j'intègre la dernière page. Donc, je fais comme toutes les autres pages, mais j'ai un problème, dès que je clique pour accéder à la page, l'écran se fige, le pointeur iR reste bloqué. Donc j'ai fait un test, si on appui sur le bouton A cela redémarre la Wii pour voir si la page est bien chargée. Eh bien, ça redémarre la Wii, donc pas de problème au niveau de ça. J'ai rien oublié j'ai tout mis même GRRLIB_Render();.
Si tu ne comprends pas, je pourrais te passer l'elf ou le dol de l'homebrew pour que tu regardes
Offline
Est-ce que tu peux essayer de mettre la derrière page � un autre endroit. De cette manière tu va voir si le problème est lié � la page ou au fait qu'elle soit la dernière.
Dans ta page tu load plusieurs images avec GRRLIB_LoadTexture?
Last edited by Crayon (2008-08-22 00:25:58)
Offline
CashMan wrote:
As-tu une adresse MSN pour qu'on en parle ?
Présentement, je ne peut pas te parler en temps réel
Offline
Sinon, ce n'est pas vraiment la dernière page, c'est juste que je l'ai intégré en dernier. Et oui je load plusieurs images avec GRRLIB_LoadTexture. Mais ce que je comprend pas c'est que ça marche sur les autres pages.
Offline
Entre chaque page, est-ce que tu libères la mémoire allouer par GRRLIB_LoadTexture?
Est-ce que tu load qu'une seule fois chaque image avec GRRLIB_LoadTexture?
J'imagine que tu ne veux pas montrer ton code, sinon tu l'aurais déjà fait?
Offline
Entre chaque page, est-ce que tu libères la mémoire allouer par GRRLIB_LoadTexture?
Comment faire ?
Est-ce que tu load qu'une seule fois chaque image avec GRRLIB_LoadTexture?
Bah sur chaque page, je re-load les images même si je les ai déjà chargés sur une autre page.
J'imagine que tu ne veux pas montrer ton code, sinon tu l'aurais déj� fait?
Pour ça que je veux ton MSN ^^
Offline
Dans la fonction GRRLIB_LoadTexture memalign alloue de la mémoire pour la texture. Si tu appelles plusieurs fois GRRLIB_LoadTexture pour la même image tu alloues de la mémoire � chaque fois. Donc, il est conseillé de loader un texture qu'une seule fois si tu le peux.
Pour libérer tu peux aller voir le post suivant:
http://grrlib.santo.fr/forum/viewtopic.php?id=46
Par contre, on dirais qu'il y a des problèmes avec cette méthode:
http://grrlib.santo.fr/forum/viewtopic.php?id=55
Peut-être aussi que ton problème n'a rien à voir avec la mémoire!!!
Offline
Voici mon code
free(*tex_black); free(*police_grrlib); free(*interface_fond); free(*interface_cadre); free(*interface_cadre4);
J'ai ces erreurs là maintenant :
c:\devkitpro\examples\wii\template\source\menu.cpp At global scope:
c:\devkitpro\examples\wii\template\source\menu.cpp:323 error : expected constructor, destructor, or type conversion before '<' token
c:\devkitpro\examples\wii\template\source\menu.cpp:324 error : expected constructor, destructor, or type conversion before '<' token
c:\devkitpro\examples\wii\template\source\menu.cpp:325 error : expected constructor, destructor, or type conversion before '<' token
c:\devkitpro\examples\wii\template\source\menu.cpp:326 error : expected constructor, destructor, or type conversion before '<' token
c:\devkitpro\examples\wii\template\source\menu.cpp:327 error : expected constructor, destructor, or type conversion before '<' token
Offline
Je ne connais pas ton code, mais habituellement il ne faut pas mettre un pointeur dans le free. Donc ton code serais:
free(tex_black); free(police_grrlib); free(interface_fond); free(interface_cadre); free(interface_cadre4);
Si ceci ne fonctionne pas, tu peux me montrer comment tu déclares les variables tex_black, police_grrlib, interface_fond, ...
Offline
Non ça ne fonctionne pas car j'ai déjà essayé. J'ai mis avec les pointeurs pour essayer les deux. Je les déclare comme ça :
u8 *tex_black=GRRLIB_LoadTexture(black); u8 *police_grrlib = GRRLIB_LoadTexture(GRRLIB_font1); u8 *interface_fond = GRRLIB_LoadTexture(interface); u8 *interface_cadre = GRRLIB_LoadTexture(interface2); u8 *interface_cadre4 = GRRLIB_LoadTexture(interface4);
Last edited by CashMan (2008-08-22 17:28:09)
Offline
Quand tu dis que sa ne fonctionne pas. Tu veux dire qu'il ne compile pas ou qu'il y a l'écran noir?
Est-ce que l'allocation est la désalocation sont dans la même fonction (ou dans le même scope)?
Ex:
void bob() { u8 *tex_black = GRRLIB_LoadTexture(black); // beaucoup de ligne de code... free(tex_black); }
PS: Est-ce que tu code en C ou C++?
Offline
Non, car :
u8 *tex_black=GRRLIB_LoadTexture(black); u8 *police_grrlib = GRRLIB_LoadTexture(GRRLIB_font1); u8 *interface_fond = GRRLIB_LoadTexture(interface); u8 *interface_cadre = GRRLIB_LoadTexture(interface2); u8 *interface_cadre4 = GRRLIB_LoadTexture(interface4);
est déclaré tout en haut de la page pour que toutes les fonctions en profitent
Offline
Est-ce que tu code en C ou C++?
Offline
Un peu des deux.
Mais je n'ai pas oublié le :
extern "C" { #include "GRRLIB/GRRLIB.h" }
pour les pages en C++
Offline
Si tu programmes en C++ tu devrais déclarer les variables suivantes comme attributs privés dans ta classe:
class XXX { public: XXX(); // Constructeur ~XXX(); // Destructeur private: u8 *tex_black; // PNG Array u8 *police_grrlib; u8 *interface_fond; u8 *interface_cadre; u8 *interface_cadre4; };
Les variables globales en C++ c'est un peu bizarre.
Ensuite dans ton constructeur tu dois initialisé tes variables:
tex_black = GRRLIB_LoadTexture(black); police_grrlib = GRRLIB_LoadTexture(GRRLIB_font1); interface_fond = GRRLIB_LoadTexture(interface); interface_cadre = GRRLIB_LoadTexture(interface2); interface_cadre4 = GRRLIB_LoadTexture(interface4);
Ensuite dans le destructeur (ou ailleurs) tu peux mettre:
free(tex_black); free(police_grrlib); free(interface_fond); free(interface_cadre); free(interface_cadre4);
Offline
Ok ca m'a l'air très dur pour moi car je connais + le C que le C++ où mais connaissances sont très basiques
Offline
CashMan wrote:
Ok ca m'a l'air très dur pour moi car je connais + le C que le C++ où mais connaissances sont très basiques
Si tu ne comprends pas ce que j'ai écris, il peut-être mieux que tu codes en C seulement. À moins que tu désires vraiment apprendre le C++. Si c'est le cas va voir ceci. De toute façon GRRLIB n'a pas été coder en C++.
PS: Je vais peu-être avoir plus de temps pour t'aidé, car c'est la fin de semaine bientôt pour moi! Habituellement je suis sur IRC (efnet) #GRRLIB.
Offline
Ok mais je préfère discuter par MSN si tu as une adresse
Offline
Hi, I found some examples which need the sdcard.h header file, where can i get it for the wii?
Offline