PDA

Voir la version complète : [GBA][Aide] probleme d'affichage de map


njo80
28/01/2006, 16h19
Bonjour, la promis je n'écris plus en sms :-'
Je suis toujours avec mon projet de mario
j'essaie d'afficher la map, j'ai déja réussi à afficher
des images en 240*160.
Mais la map que je souhaite afficher fait 2417*160
j'ai donc un problème de mémoire.
J'ai lu que je devais utiliser le double buffering mais je ne sais pas
trop coment faire.
Merci de m'aider.

Nesgba
28/01/2006, 16h25
Bonjour, la promis je n'écris plus en sms :-'
Je suis toujours avec mon projet de mario
j'essaie d'afficher la map, j'ai déja réussi à afficher
des images en 240*160.
Mais la map que je souhaite afficher fait 2417*160
j'ai donc un problème de mémoire.
J'ai lu que je devais utiliser le double buffering mais je ne sais pas
trop coment faire.
Merci de m'aider.
pourquoi un probleme de memoire ? tu charge ton image en ram ? tu est en quel mode ?
ps: tu est dans la section projets la v_v.

Mollusk
28/01/2006, 16h38
Faudrait plus d'infos :p

1. Ham ou pas Ham
2. Tu charges comment ? tout d'un coup (là forcément ca coince)
3. Quel mode ? 0, 3, 4 ?
4. C'est déjà pas mal
5. Fais gaffe, si c'est un soucis avec Ham Nes va te dire de laisser tomber ham et de te démerder sans, te laisse pas intimider
6. Si c'est vraiment un soucis que de ham, utilise Hel (addon de ham) qui gère les grandes maps

njo80
28/01/2006, 17h14
// Variables
map_fragment_info_ptr bg_mario1;
En faite quan je lance mon programme j'ai ce message ci :

HAM_memaloc vram bg mem full deallocat first.


Voici un bout de mon code


ham_SetBgMode(0);

ham_LoadBGPal((void*)mario1_Palette,256);


ham_SetTextCol(195, 40);


ham_bg[1].ti = ham_InitTileSet((void*)mario1_Tiles, SIZEOF_16BIT(mario1_Tiles),1,1);


ham_bg[1].mi = ham_InitMapEmptySet(3,0);
bg_mario1 = ham_InitMapFragment(
(void*)mario1_Map,64,64,0,0,64,64,0);

ham_InsertMapFragment(bg_mario1,1,0,0);

ham_InitBg(1,1,2,0);

ham_StartIntHandler(INT_TYPE_VBL,(void*)&vbl_func);

C'est inspiré du code que j'ai lu de Jonathan C. Harbour

Nesgba
28/01/2006, 17h19
HAAAA mon dieu !! il utilise ham !! je ne peut malheureusement pas t'aider :(

3. Quel mode ? 0, 3, 4 ?
j'en ai une !! y'a pas de buffer ni en mode 0 ni en mode 3 !! et il ne parle en aucun cas de buffer soft :w00t:

1-1 :D

Mollusk
28/01/2006, 17h20
Sauf erreur, ce code n'est pas fait pour charger des grandes maps... regarde du coté de la lib hel (http://www.console-dev.de/index.php?content=aGVsbGlicmFyeQ==)

Fonctions : http://www.console-dev.de/hel/docs/

Ne te laisse pas intimider par Nes, qui va te dire de coder ca tout seul

Mollusk
28/01/2006, 17h21
Nes : J'ai lu que je devais utiliser le double buffering mais je ne sais pas

Il a dit qu'il a entendu parler de ca, et non qu'il s'en servait, donc rien ne laissait présager un mode4 :p

Nesgba
28/01/2006, 17h33
hel c'est degeu, le mieu pour toi c'est de te pencher sur les cours de dovoto ( telecharge les sources ici -> http://www.drunkencoders.com/index.php?system_id=2&page=Examples) ou encore de le faire en asm, j'avai fillé un bon lien hier, il faut que je le retrouve =_= .
tu parle russe ?

bon ok mollusk je laisse le benefice du doute pour cette fois :]

njo80
28/01/2006, 17h33
Merci Mollusk, je vais aller voir cela tout de suite.

Mollusk
28/01/2006, 17h42
lol, Nes, tu vas pas nous faire le meme coup sur tous les topics quand meme !