:: PlayerAdvance.org ::  

Précédent   :: PlayerAdvance.org :: > :: Développement Amateur :: > Librairies et Utilitaires

Publicité

Réponse
 
Outils de la discussion Modes d'affichage
Vieux 09/12/2005, 15h05   #26
thoduv
Membre confirmé
 
Date d'inscription: 10/11/2005
Localisation: ...
Messages: 1 464
Par défaut

A propos Mollusk, pas besoin de recompiler pour le C++ normelement. Juste un petit :

Code:
#ifdef __cplusplus__
extern "C"
{
#endif
/* Ici, le fichier PA.h */
#ifdef __cplusplus__
}
#endif
Ca devrait marcher en mettant ca dans les header.

D'ailleurs Mollusk si tu veux de l'aide pour tout ce qui Makefile/Compilation/Organisation des fichiers, je peux participer !
__________________
"S'il n'y a pas de solutions c'est qu'il n'y a pas de problème ..."
< mon devblog > ... < Lapinou Jumps ! - un jeu de plate-forme "vertical" avec un mignon petit lapin. >
thoduv est déconnecté   Réponse avec citation

Publicité

Vieux 09/12/2005, 15h28   #27
Gwoin
Membre confirmé
 
Date d'inscription: 10/11/2005
Localisation: Lille
Messages: 212
Par défaut

C'est justement ce que je me disais ce matin.
Mais je n'ai pas jeté un oeil aux sources de PALib. Peut etre y-a-t'il un peu plus à faire... (notamment dans les directives de compilations ou du preprocesseur)
Gwoin est déconnecté   Réponse avec citation
Vieux 09/12/2005, 15h32   #28
thoduv
Membre confirmé
 
Date d'inscription: 10/11/2005
Localisation: ...
Messages: 1 464
Par défaut

Citation:
Envoyé par Gwoin
C'est justement ce que je me disais ce matin.
Mais je n'ai pas jeté un oeil aux sources de PALib. Peut etre y-a-t'il un peu plus à faire... (notamment dans les directives de compilations ou du preprocesseur)
Normalement non. Une lib C avec extern "C" dans les headers passe parfaitement en C++ (à part problèmes de mémoire mais alors après ... )
__________________
"S'il n'y a pas de solutions c'est qu'il n'y a pas de problème ..."
< mon devblog > ... < Lapinou Jumps ! - un jeu de plate-forme "vertical" avec un mignon petit lapin. >
thoduv est déconnecté   Réponse avec citation
Vieux 09/12/2005, 16h56   #29
Mollusk
Membre confirmé
 
Date d'inscription: 10/11/2005
Messages: 1 037
Par défaut

bah thudov, normalement ca y est, et c'est Gandran qui s'est chargé de faire compiler avec G++ pour que ca marche, on n'a pas trouver comment faire autrement :/
Mollusk est déconnecté   Réponse avec citation
Vieux 09/12/2005, 18h29   #30
thoduv
Membre confirmé
 
Date d'inscription: 10/11/2005
Localisation: ...
Messages: 1 464
Par défaut

Ok, j'étais resté à une ancienne version de PALib. C'est vrai que dans la nouvelle version les Makefile sont mieux fait et les fichiers beaucoup mieux organisés.

Par contre il reste le problème des fichiers C inclus dans un fichier C. Il faudrait compiler les fichiers séparement et les mettre dans l'archive...
__________________
"S'il n'y a pas de solutions c'est qu'il n'y a pas de problème ..."
< mon devblog > ... < Lapinou Jumps ! - un jeu de plate-forme "vertical" avec un mignon petit lapin. >
thoduv est déconnecté   Réponse avec citation
Vieux 09/12/2005, 18h51   #31
Mollusk
Membre confirmé
 
Date d'inscription: 10/11/2005
Messages: 1 037
Par défaut

hmm.... ouais mais moi j'aime bien comme ca, parce que je vais rajouter le truc de config selective et que ca sera plus pratique pour moi...
Mollusk est déconnecté   Réponse avec citation
Vieux 10/12/2005, 17h18   #32
Tembargo
Membre confirmé
 
Date d'inscription: 21/11/2005
Localisation: Tōkyō
Messages: 3 018
Voir les codes amis Nintendo DS
Par défaut

Je sais que je viens après la guerre Mais c'est vraiment super la PAlib et ton tuto DS. Ca parait presque simple de faire quelque chose de bien
J'en avais tellement entendu parler de la PAlib sans savoir ce qu'elle fesait vraiment. Ben bravo Mollusk et tous ceux qui t'ont aidé

Pi je vois que dans le tutorial, y a déjà presque tout(sinon tout) pour faire un ptit SudokuDS et un écran titre avec quelque petits effets sympatoche
Tembargo est déconnecté   Réponse avec citation
Vieux 11/12/2005, 17h28   #33
vincent2021
Membre confirmé
 
Date d'inscription: 10/11/2005
Localisation: Val de Marne
Messages: 192
Par défaut

+1
D'ailleurs je vais me mettre à la programation DS (qui connait la porg mais pas la DS contrairement à moi) avec un ami et principalement grace a ton WIKI, il est vraiment très bien fait.
Merci beaucoup
vincent2021 est déconnecté   Réponse avec citation
Vieux 11/12/2005, 17h49   #34
Mollusk
Membre confirmé
 
Date d'inscription: 10/11/2005
Messages: 1 037
Par défaut

Merci à tous les deux !

Pour le wiki, j'ai presque fini la partie sur les sprites, et j'ai entamé la partie bg là...
Mollusk est déconnecté   Réponse avec citation
Vieux 19/12/2005, 11h13   #35
Gwoin
Membre confirmé
 
Date d'inscription: 10/11/2005
Localisation: Lille
Messages: 212
Par défaut

Hier soir je me suis enfin décidé à tester mon pack de jeux sur la DS et non plus que sur émulateur...

...et bien les 2 écrans restent blancs

Mon 1er jeux (Pingwin) passe très bien sur la DS (il était codé en C), mais pas mon GameBoxDS.
Celui ci est codé en C++.
J'ai bien recompilé PALib en utilisant le batch adéquat (CPPinstall, ou un truc comme ça), et ça tourne très bien sur émulateur (c'est d'ailleurs ce que je ne comprend pas, normalement ça devrait plutot être l'inverse...).

Je pense que ca vient du fait qu'il soit codé en C++.
Mollusk, est-ce possible que ce soit dû à certaines fonctions de PALib qui ne passerait pas en C++ sous la DS ?

En tout cas, je commence à le repasser en C. C'est un peu dommage parce que le code était 100% objet et qu'il risque d'être moins beau en C (vu qu'il n'est pas prévu comme ça à la base), mais bon on verra bien si c'était ça qui n'allait pas.
Gwoin est déconnecté   Réponse avec citation
Vieux 19/12/2005, 11h19   #36
birslip
Membre confirmé
 
Date d'inscription: 10/11/2005
Messages: 353
Par défaut

hum... je ne pense pas que ce soit un problème de c++. Les émulateurs s'initialisent "tous seuls" c'est à dire que même si il manque certain truc pour initialiser les vram,... l'émulateur ne le prendra pas en compte mais la DS si (normal ).
__________________
Mon super blog!
birslip est déconnecté   Réponse avec citation
Vieux 19/12/2005, 11h24   #37
Mollusk
Membre confirmé
 
Date d'inscription: 10/11/2005
Messages: 1 037
Par défaut

Je suis d'accord avec birslip...

Déjà, tu testais sur quel émulateur ? En plus, avec les derniers code, tout est en palettes étendues (sprites+fonds), et genre sur ideas il prend quand meme les palettes normales, alors que sur DS il pendra celles étendues... donc si elles sont par chargées correctement, ca peut marcher sur emu et pas sur DS

Tu crois que tu pourrais m'envoyer par mail ton prog (ou un version light qui compile et marche sur emu mais pas sur DS), histoire que je teste pour voir ? A priori le C++ ne pose pas de problème si tu as recompilé la lib avec CPPInstall.Bat...

edit : tu as la derniere version ? (.75a), avec les dernieres de temps en temps certains trucs (genre le texte) passait sur emu et pas sur DS ! (là c''est bon normalement)
Mollusk est déconnecté   Réponse avec citation
Vieux 19/12/2005, 11h28   #38
Gwoin
Membre confirmé
 
Date d'inscription: 10/11/2005
Localisation: Lille
Messages: 212
Par défaut

Merci pour les explications

Mais je ne comprend pas pourquoi ca ne passe pas sur la DS alors que ça passe sur émulateur

Je sais que si on ne recompile pas PALib pour le C++, certaines fonctions concernant les sprites ne passent pas.
Je me suis donc dis qu'il était possible de rencontrer des problèmes en compilant le jeu en c++ et en utilisant PALib.
Ca me semble étrange, mais c'est possible...

En tout cas, je réécris mon code en C et je reteste en espérant que ça passe... (je ne suis pas un grans fan de réécrire mon code plusieurs fois...)
Gwoin est déconnecté   Réponse avec citation
Vieux 19/12/2005, 11h34   #39
Gwoin
Membre confirmé
 
Date d'inscription: 10/11/2005
Localisation: Lille
Messages: 212
Par défaut

oups excuse moi Mollusk, j'étais en train d'écrire en même temps que toi et je n'ai pas vu ton post

Bien sur je peux t'envoyer une version de mon code (pas la toute dernière parce qu'elle ne tournera pas, elle est encore en dev, mais l'avant dernière).
Par contre, là je suis au boulot et je ne pourrai te l'envoyer que ce soir.

Je teste sous DualiS.

Concernant les palettes de couleurs, c'est exactement la même chose que pour PingWin... et lui passe rès bien

Je n'utilise pas la toute dernière version de PALib, mais la 0.74x.
En fait, j'ai commencé avec la version 0.6x et j'ai donc continuer en utilisant les fonctions de celle-ci (notamment pour le background et les sprites) histoire de ne pas recommencer ce qui fonctionnait déjà et de continuer le dev (je perd déjà énormément de temps avec les travaux que je fais dans ma maison et j'aimerai vraiment releaser le pack au plus tôt ).

Je t'envoies donc le tout ce soir
Gwoin est déconnecté   Réponse avec citation
Vieux 19/12/2005, 19h36   #40
Mollusk
Membre confirmé
 
Date d'inscription: 10/11/2005
Messages: 1 037
Par défaut

ok, merci
Mollusk est déconnecté   Réponse avec citation
Vieux 21/12/2005, 18h46   #41
Mollusk
Membre confirmé
 
Date d'inscription: 10/11/2005
Messages: 1 037
Par défaut

Petite mise à jour sympathique : .76a

C'est expérimental pour l'instant, mais PAFS marche avec les emulateurs et le WMB si on le rajoute direct dans la ram, j'ai fait un exemple pour montrer les 2-3 trucs à rajouter dans le code, c'est pas compliqué...

Sinon, on peut à présent avoir du texte de différentes couleurs à l'écran, pour une compo de noel on pourra faire du rouge, du vert, et du blanc, par exemple
Mollusk est déconnecté   Réponse avec citation
Vieux 26/12/2005, 20h03   #42
Mollusk
Membre confirmé
 
Date d'inscription: 10/11/2005
Messages: 1 037
Par défaut

Nouvelle version, .77a, avec pas mal de choses... pleins de bugfixs, les sons qui marchent enfin bien avec PAFS, le texte de plusieurs couleur 100% opérationnel sur DS, etc...
Mollusk est déconnecté   Réponse avec citation
Vieux 07/01/2006, 22h57   #43
Néal Zheimer
Membre
 
Date d'inscription: 26/11/2005
Localisation: Région parisienne
Messages: 28
Par défaut

Je viens de me motiver à me lancer dans le codage de jeux (ou autres applis d'ailleurs) et patatra !
Dès le "day 1", j'ai un problème :
Suivant le wiki, j'ai installé devkitPro et PA_lib (dans c:\devkitPro) et je teste une première compilation : HelloWorld

Et là, c'est le drame :
Code:
C:\devkitPro\PAlibExamples\Text\HelloWorld>make clean
clean ...HelloWorld

C:\devkitPro\PAlibExamples\Text\HelloWorld>make
main.c
arm-elf-g++ -g -mthumb-interwork -mno-fpu -L/c/devkitPro/PAlib/lib -specs=ds_arm
9.specs main.o -Lc:/devkitPro/PAlib//lib -lpa9 -L/c/devkitPro/libnds/lib -lnds9
-o build.elf
c:\devkitpro\devkitarm\bin\..\lib\gcc\arm-elf\4.0.2\..\..\..\..\arm-elf\bin\ld.e
xe: cannot find -lpa9
make[1]: *** [/c/devkitPro/PAlibExamples/Text/HelloWorld/HelloWorld.elf] Error 1

make: *** [build] Error 2

C:\devkitPro\PAlibExamples\Text\HelloWorld>pause
Appuyez sur une touche pour continuer...
Une idée ?
__________________
Ce n'est pas parce que l'on n'a rien à dire qu'il ne faut pas le faire savoir...
Néal Zheimer est déconnecté   Réponse avec citation
Vieux 07/01/2006, 23h57   #44
Mollusk
Membre confirmé
 
Date d'inscription: 10/11/2005
Messages: 1 037
Par défaut

on dirait un problème au niveau des variables d'environnement... tu as utilisé le .exe pour installer PAlib ? (ca ajoute automatiquement la variable PAPATH...)

et tu es sous quel OS ?
Mollusk est déconnecté   Réponse avec citation
Vieux 08/01/2006, 00h10   #45
Néal Zheimer
Membre
 
Date d'inscription: 26/11/2005
Localisation: Région parisienne
Messages: 28
Par défaut

Citation:
Envoyé par Mollusk
on dirait un problème au niveau des variables d'environnement... tu as utilisé le .exe pour installer PAlib ? (ca ajoute automatiquement la variable PAPATH...)

et tu es sous quel OS ?
J'ai utilisé l'installer/upgrader pour devproKit et l'installer pour PA_lib.
Je tourne sous win XP SP2 et j'ai bien PAPATH définie ainsi que plusieurs variables pour devproKit...

Par contre j'ai pas rebooté mais ça ne me semble pas obligatoire non ?

Edit : j'ai rebooté et comme prévu, ça n'a rien changé...
__________________
Ce n'est pas parce que l'on n'a rien à dire qu'il ne faut pas le faire savoir...

Dernière modification par Néal Zheimer ; 08/01/2006 à 00h22.
Néal Zheimer est déconnecté   Réponse avec citation
Vieux 08/01/2006, 01h08   #46
Mollusk
Membre confirmé
 
Date d'inscription: 10/11/2005
Messages: 1 037
Par défaut

Code:
c:/devkitPro/PAlib//lib
et si dans PAPATH tu vires le '/' à la fin ?
Mollusk est déconnecté   Réponse avec citation
Vieux 08/01/2006, 01h30   #47
Néal Zheimer
Membre
 
Date d'inscription: 26/11/2005
Localisation: Région parisienne
Messages: 28
Par défaut

Citation:
Envoyé par Mollusk
Code:
c:/devkitPro/PAlib//lib
et si dans PAPATH tu vires le '/' à la fin ?
Ça ne change rien, j'ai essayé :
Code:
c:/devkitPro/PAlib
/c/devkitPro/PAlib
c:\devkitPro\PAlib
c:\\devkitPro\\PAlib
sans succès...
__________________
Ce n'est pas parce que l'on n'a rien à dire qu'il ne faut pas le faire savoir...
Néal Zheimer est déconnecté   Réponse avec citation
Vieux 08/01/2006, 01h43   #48
Japi
Membre confirmé
 
Date d'inscription: 14/12/2005
Messages: 558
Par défaut

c'est pas ça que tu dois tapper ?
c:/devkitPro/PAlib/lib

la modif porte sur le dernier / , t'as tout testé mais pas sur les bons.
Japi est déconnecté   Réponse avec citation
Vieux 08/01/2006, 02h10   #49
Néal Zheimer
Membre
 
Date d'inscription: 26/11/2005
Localisation: Région parisienne
Messages: 28
Par défaut

Citation:
Envoyé par Japi
c'est pas ça que tu dois tapper ?
c:/devkitPro/PAlib/lib

la modif porte sur le dernier / , t'as tout testé mais pas sur les bons.
Non, le /lib est rajouté dans le Makefile.
Je comprends toujours pas pourquoi ça marche pas...

À tout hazard, j'ai essayé d'enlever l'option -lpa9 du Makefile et j'obtiens ça du coup :
Code:
C:\devkitPro\PAlibExamples\Text\HelloWorld>make clean
clean ...HelloWorld

C:\devkitPro\PAlibExamples\Text\HelloWorld>make
main.c
arm-elf-g++ -g -mthumb-interwork -mno-fpu -L/c/devkitPro/PAlib/lib -specs=ds_arm
9.specs main.o -Lc:/devkitPro/PAlib/lib -L/c/devkitPro/libnds/lib -lnds9 -o buil
d.elf
main.o: In function `main':
c:/devkitPro/PAlibExamples/Text/HelloWorld/source/main.c:9: undefined reference
to `PA_Init'
c:/devkitPro/PAlibExamples/Text/HelloWorld/source/main.c:10: undefined reference
 to `PA_StartInt'
c:/devkitPro/PAlibExamples/Text/HelloWorld/source/main.c:13: undefined reference
 to `PA_InitText'
c:/devkitPro/PAlibExamples/Text/HelloWorld/source/main.c:17: undefined reference
 to `PA_OutputSimpleText'
main.o: In function `PA_WaitForVBL':
c:/devkitPro/PAlib/include/NDS/PA9.h:279: undefined reference to `PA_vblFunc'
make[1]: *** [/c/devkitPro/PAlibExamples/Text/HelloWorld/HelloWorld.elf] Error 1

make: *** [build] Error 2

C:\devkitPro\PAlibExamples\Text\HelloWorld>pause
Appuyez sur une touche pour continuer...
__________________
Ce n'est pas parce que l'on n'a rien à dire qu'il ne faut pas le faire savoir...
Néal Zheimer est déconnecté   Réponse avec citation
Vieux 08/01/2006, 02h54   #50
sto
Membre confirmé
 
Date d'inscription: 05/12/2005
Localisation: Toulouse, FRANCE
Messages: 1 983
Par défaut

Erf j'avais le même problème, mais je ne saurais même plus me rappeler comment je l'avais réglé...
Essaye de tout désinstaller (grâce au désinstalleur Windows, puis en supprimant les fichiers restants). Puis de réinstaller, et vois ce que ça peut donner...

Edit: trouvé !!!
Citation:
Envoyé par Mollusk
ca veut dire que PAlib n'est pas bien compilé... essai de compiler avec PALib/CInstall.bat et voir s'il te donne une erreur ou pas
__________________
Sto
Mon séjour Japon, été 2007


Dernière modification par sto ; 08/01/2006 à 02h57.
sto est déconnecté   Réponse avec citation
Réponse

Liens sociaux

Publicité



Utilisateurs regardant la discussion actuelle : 1 (0 membre(s) et 1 invité(s))
 
Outils de la discussion
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 19h57.


Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2022, 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