PDA

Voir la version complète : [GBA][Aide] Premiers essais, premiers pbs...


Neumann
01/04/2007, 19h49
Bonjour à tous !

Me voila parti dans la prog GBA, et pour commencer j'ai choisi le C avec vHAM et la lib de mollusk

Cependant pour la création de sprite je ne trouve aucun détail sur le forum, j'ai donc 2 ou 3 questions:

-Je veux créer un fond fixe, donc sans rotation ni zoom. Après qq recherches j'ai cru comprendre que les fonds doivent etre créés en 256*256... vrai?
Les tutos de Mollusk parlent de fond de 256px de largeur, tandis que Aaron rogers prends des images de taille 240*160.

-Pour convertir les fichiers tous les tutos parlent de gfx2gba, mais ce dernier ne fonctionne pas chez moi, il se ferme des que je le lance... Et le mode commande, très peu pour moi..
J'ai alors trouver un autre log, GBAgraphics, mais je ne comprends pas trop ce log. Dans les tutos de Mollusk, quand il aborde l'affichage d'un fond, il parle de 3 fichiers crées avec gfx2gba => .raw .map .pal
Or GBAgraphics crée un .til a la place d'un .raw, c la meme chose?
Un peu plus loin dans le meme tuto, il utilise la commande LoadSimpleBG pour charger un fond:
mol_LoadSimpleBg(3, fond_Tiles, fond_Map); // Chargement du fond. Il doit faire 256px de largeur...
Quand je fait ca, HAM me dit qu'il attends 6 arguments dans cette fonction, alors que la syntaxe de Mollusk ne précise que les 3 premires. Comment se fait-il? Différentes versions?

je suis un peu perdu :s

merci d'avance


EDIT:
Dans le tuto de mollusk sur l'ancien forum, il parle d'ajouter les fichiers mol.c, mol.h, et moliwram.c. Mai ces fichiers ne se trouvent pas dans le zip trouvable sur le site de Mollusk...

Dr.Vince
01/04/2007, 21h08
je te conseille fortement d'utiliser la librairie HAM à la place, surtout qu'il me semble que la lib mol n'est pas terminée à 100%, c'est à dire qu'elle contient des bugs.

Neumann
01/04/2007, 21h37
Ok jve aller voir du cote de la lib HAM...

Sinon une autre petite question qui n'a rien a voir: J'ai hésité entre me lancer ds la prog GBA ou la prog NDS. Existe-t-il des émus NDS permettant de faire tourner les homebrew nds sans devoir les copier sur son linker pour les tester?

pmcc
01/04/2007, 22h07
Je teste mes développements avec no$gba, excellement émulateur GBA/NDS qui propose une version debugger vraiment intéressante si tu comptes t'y mettre sérieusement (j'ai tout de suite craqué :wub:) et une pointe de Dualis.

Neumann
01/04/2007, 22h13
Ok merci pour l'info !

Enfin pour le moment j'ai deja enormement de mal a me servir de gfx2gba (mode commande difficile d'accès aux néophytes et version frontend qui ne marche pas chez moi) et les autres logs ne semblent pas fournir les bons fichiers (pas de .raw)...

pmcc
01/04/2007, 22h17
Jamais utilisé gfx2gba et je sais pas comment ca se passe mais j'imagine que c'est plus ou moins la même chose que sous NDS.
Perso j'exporte mes tiles avec usenti, il a pas mal d'options sympathiques.

thoduv
01/04/2007, 22h27
.til de GbaGraphics = .raw, c'est pareil.

Neumann
01/04/2007, 22h59
Ok c'est noté.
Merci ;)

Neumann
01/04/2007, 23h36
Désolé d'être chiant mais j'ai encore un pb lol.

J'ai commencé par lire les tutos de Aaron Rogers, qui sont très clairs et bien expliqués. Seulement quand je copie/colle son code exemple, en prenant soin de vérifier que les #include pointent vers le bon emplacement des fichiers... etc, et bien ca ne marche pas.

C:/HAM/gcc-arm/bin/arm-thumb-elf-gcc.exe -I C:/HAM/gcc-arm/include -I C:/HAM/gcc-arm/arm-thumb-elf/include -I C:/HAM/include -I C:/HAM/system -c -DHAM_HAM -DHAM_MULTIBOOT -DHAM_ENABLE_MBV2LIB -O2 -DHAM_WITH_LIBHAM -mthumb-interwork -mlong-calls -Wall -save-temps -fverbose-asm -nostartfiles main.c -o main.o
main.c: In function `main':
main.c:18: error: `bg_Palette' undeclared (first use in this function)
main.c:18: error: (Each undeclared identifier is reported only once
main.c:18: error: for each function it appears in.)
main.c:21: error: `bg_Bitmap' undeclared (first use in this function)
make: *** [main.o] Error 1

Grrrr, ca commence mal tout ca... Je ne comprends pas, la lib est bien chargée au début pourtant, il ne reconnait pas la fonction.

J'ai deja perdu 50% de mon capital capillaire depuis le début de l'après-midi... lol

hLp

Dr.Vince
02/04/2007, 00h06
nan faut que tu édites tes fichiers graphiques, raw, map etc... et que tu changes leur noms ou alors inversement tu change les noms dans ton code en mettant ceux que tu vois dans tes fichiers (bg_Palette, bg_Bitmap)

Neumann
02/04/2007, 00h10
C'est ce que j'ai fait, les noms dans le code correspondent aux fichiers que j'ai converti, tout est en règle. Et ca ne marche pas... je verrais ca demain.

merci encore ;)

Neumann
02/04/2007, 20h56
Je me suis résolu à utiliser gfx2gba en version commande sous dos...
Seulement j'ai un nouveau pb !

Je crée un BG sous photoshop, en choisissant l'option "couleur 8bit" lors de la création d'un nouveau fichier, puis je l'enregistre en bmp et la il me demande 2 choses.

Format: Windaube ou OS/2
résolution: 16/24 ou 32 bits.

J'ai testé toutes les options, mais apres conversion a l'aide de gfx2gba, et bien le BG ne s'affiche pas correctement sous VBA.

Quelqu'un saurait-il quelles options choisir sous photoshop pour exporter/convertir ces sprites correctement?

Neumann
03/04/2007, 18h01
up

Lazarus
03/04/2007, 18h16
J'ai commencé par lire les tutos de Aaron Rogers, qui sont très clairs et bien expliqués.
Ils sont certes clairs et expliqués, mais du point de vue justesse du code c'est la catastrophe ! Mais bon, je n'ai rien d'autre à te conseiller donc ma remarque ne sert à rien.

Pour ham, il me semble que les exemples fournis avec son assez conséquents et qu'en partant de l'un d'eux ca devrait marcher, avec gfx2gba bien configuré pour les fonds dans les exemples et tout, non ?

Yodajr
03/04/2007, 18h26
+1 à tout le post de Lazarus
Les codes fournits dans les cours d'aaron rogers sont très très criticables, mais au niveau de gfx2gba, si tu fait comme il dit, tu ne devrais pas avoir de soucis pour convertir sprites ou bg... :)

Neumann
03/04/2007, 18h27
Beh mon principal problème c'est pas le code en lui-même mais la création de sprite puis leur conversion en format "compilables"...

Donc les exemples fournis ne sont pas utiles dans mon cas. J'aimerais savoir comment font les codeurs GBA avertis pour réaliser leur sprite (logiciel, format.. etc).

EDIT: j'avais pas vu ton mess Yodajr...
J'utilise les memes commandes que dans son tuto avec gfx2gba, mais appliqué à mes sprites persos. Résultat une fois compilée la rom n'affiche pas du tout la même chose. C'est surtout au niveau de l'enregistrement des sprites créés que j'ai un souci, et non lors de la conversion. J'utilise photoshop mais les BMP enregistrés ne semblent pas tout a fait correspondre a ce que gfx2gba demande...

Lazarus
03/04/2007, 18h35
Tes images font quelle taille ? (on va commencer par là ^^)

Yodajr
03/04/2007, 19h08
Et puis dit nous ce qui ne vas pas (screenshoot par exemple)

Neumann
03/04/2007, 20h46
Voila mon pb:

bg.pcx de taille 240*160

Chargé en mode 4 conformément au code exemple sur le site de ARogers.

C:/HAM/gcc-arm/bin/arm-thumb-elf-as.exe -mthumb-interwork C:/HAM/system/crt0.s -ocrt0.o
C:/HAM/gcc-arm/bin/arm-thumb-elf-gcc.exe -I C:/HAM/gcc-arm/include -I C:/HAM/gcc-arm/arm-thumb-elf/include -I C:/HAM/include -I C:/HAM/system -c -DHAM_HAM -DHAM_MULTIBOOT -DHAM_ENABLE_MBV2LIB -O2 -DHAM_WITH_LIBHAM -mthumb-interwork -mlong-calls -Wall -save-temps -fverbose-asm -nostartfiles main.c -o main.o
In file included from main.c:3:
gfx/fond.raw.c:4: warning: `fond_Bitmap' initialized and declared `extern'
In file included from main.c:4:
gfx/fond.pal.c:1: warning: `fond_Palette' initialized and declared `extern'
C:/HAM/gcc-arm/bin/arm-thumb-elf-ld.exe -L C:/HAM/gcc-arm/lib/gcc-lib/arm-thumb-elf/3.3.2/interwork -L C:/HAM/gcc-arm/lib/gcc-lib/arm-thumb-elf/3.3.2 -L C:/HAM/gcc-arm/arm-thumb-elf/lib/interwork -L C:/HAM/gcc-arm/arm-thumb-elf/lib -L C:/HAM/gcc-arm/lib --script C:/HAM/system/lnkscript-afm -o Snake.elf crt0.o main.o -lafm -lham -lm -lstdc++ -lsupc++ -lgcc -lc -lgcc
C:/HAM/gcc-arm/bin/arm-thumb-elf-objcopy.exe -v -O binary Snake.elf Snake.gba
copy from Snake.elf(elf32-littlearm) to Snake.gba(binary)
------------------------------------------------------------------
HAM Win32 installation information:

HAM version: 2.8 in C:/HAM
GCC/GDB version: 3.3.2 / 6.0
Newlib/Binutils: 1.11.0 / 2.14
Krawall ena/regged: no / no
------------------------------------------------------------------
C:/HAM/tools/win32/rm -f *.o *.i *.ii
C:/HAM/tools/win32/gbafix.exe Snake.gba -tSnake
ROM fixed!
C:/HAM/tools/win32/vba.exe Snake.gba

Et voici ce que HAM me dit quand je compile le tout.

Yodajr
03/04/2007, 23h23
Pas moyen de tester là, mais quand tu utilise les fichiers du tuto (le bg.bmp) ca fonctionne ou pas ?

Nrx
04/04/2007, 00h49
Pour voir si ton installation de VHAM (& gfx2gba) marche bien, tu peux essayer de recompiler un de mes projets (cf. ma signature).

Par exemple dans Bomb Jack (http://playeradvance.org/forum/showthread.php?t=182) les images sont traitées par gfx2gba automatiquement (c'est le makefile qui s'occupe de tout). Les sources sont ici (http://www.artplastique.free.fr/nrx/GBA/Bomb%20Jack/Sources/Bomb%20Jack%20-%20060416.rar) ; pour recompiler il suffit de lancer le "Build.bat" (après avoir modifier le "HAMDIR"). Note que si tu veux visualiser le projet dans VHAM il te faudra surement le recréer car mon "BombJack.vhw" risque de ne pas être compatible (les paths sont en durs).