Je suis preneur ! Des que j'ai un peu de temps aujourd'hui je fais la modification pour les sprites3d et pour tout ce qui est écran clavier... et je poste les sources si tu veux essayer !Cpl.Bator a écrit :je viens de faire d'autre tests sous linux , en fait , Purebasic sous linux laisse à désiré...
si tu veut une appli portable , fait la même chose aussi pour la gestions des événements ( écran , clavier ) , je pourrais te faire une collection de fonctions qui utilise la SDL & OpenGL , SDL pour le fenetrage , OpenGL pour l'affichage.
Luminosité Sprite 3D
Voilà les sources ...j'ai trouvé une solution (vive le ftp en ligne)
http://www.thyphoon.com/tmp_download/Source.zip
Parcontre j'ai un problème avec ta commande de reglage de la luminosité!
j'avais testé vite fait juste sur une vertice et ça fonctionne, mais si tu fais sur les 4 vertices ça merde (en tout cas chez moi)
il y a 2 exe pour tester
et dans les sources pour activer désactiver la luminosité ça se passe a la ligne 195
la commande SetSpriteLuminosityEx est dans includes/sprites.pbi
tu peux mettre en commentaire les lignes 59,60,61 pour n'avoir qu'une vertice affecté, et là le coin en question varie bien en luminosité. Est-ce du a ma carte graphique ?
C'est aussi dans ce fichier qu'on peut changer les commandes de (sprite) pour les différents OS !
http://www.thyphoon.com/tmp_download/Source.zip
Parcontre j'ai un problème avec ta commande de reglage de la luminosité!
j'avais testé vite fait juste sur une vertice et ça fonctionne, mais si tu fais sur les 4 vertices ça merde (en tout cas chez moi)
il y a 2 exe pour tester
et dans les sources pour activer désactiver la luminosité ça se passe a la ligne 195
la commande SetSpriteLuminosityEx est dans includes/sprites.pbi
tu peux mettre en commentaire les lignes 59,60,61 pour n'avoir qu'une vertice affecté, et là le coin en question varie bien en luminosité. Est-ce du a ma carte graphique ?
C'est aussi dans ce fichier qu'on peut changer les commandes de (sprite) pour les différents OS !
je viens de voir les sources , Aïe... 
Regarde comment est fait un code SDL pour linux :
Cela implique , si tu veut une apli vraiment portable , remettre une couche par dessus TOUTES les commandes pb.
par exemple :
Pour chaque OS , GetEvent() écrit le bon code , ca ne prend pas de ressource , puisque c'est des macros.
c'est fastidieux , mais ca à le mérite de fonctionné !

Regarde comment est fait un code SDL pour linux :
Code : Tout sélectionner
Define.i run = 1
Define.SDL_Event event
Define.SDL_Surface *screen
ImportC "-lSDL"
SDL_MapRGB(format.i,red,green,blue)
EndImport
SDL_Init_(#SDL_INIT_VIDEO)
*screen = SDL_SetVideoMode_(800, 600, 32, #SDL_HWSURFACE | #SDL_DOUBLEBUF);
While run
SDL_WaitEvent_(@event)
Select event\type
Case #SDL_QUIT
run = 0
EndSelect
SDL_FillRect_(*screen, #Null, SDL_MapRGB(*screen\format, 17, 206, 112));
SDL_Flip_(*screen)
Wend
SDL_Quit_()
Cela implique , si tu veut une apli vraiment portable , remettre une couche par dessus TOUTES les commandes pb.
par exemple :
Code : Tout sélectionner
Macro GetEvent()
select OS
case WIN
Event = WindowEvent()
case LINUX
SDL_WaitEvent_(@event)
endselect
endmacro
c'est fastidieux , mais ca à le mérite de fonctionné !

C'est un peu se que je pensais..Cpl.Bator a écrit :je viens de voir les sources , Aïe...
Cela implique , si tu veut une apli vraiment portable , remettre une couche par dessus TOUTES les commandes pb.
c'est fastidieux , mais ca à le mérite de fonctionné !

Je suis en vacances demain soir. Je n'aurais pas de connexion internet très souvent, mais je vais essayer de modifier pour que ça soit multiplateforme.
Ce qui est dommage avec Purebasic c'est que c'est sensé être multiplateforme, mais a chaque fois il y a quelques choses qui coince ...
En même temps ça s'améliore doucement a chaque nouvelle version.
C'est pour ça qu'a la base j'essaye de n'utiliser que des commandes purebasics... mais bon ...
je vais regardé la SFML ...Cpl.Bator a écrit :C'est bien le problème de PB... la portabilité réelle qui est complètement fausse.
Si tu veut du portable à 100%
la SFML est très puissante , plus que la SDL , ca peut être une solution à ta sauvegarde avec la couche Alpha aussi
Faut juste importé les fonctions
Tu as une idée pour le problème avec la commande de luminosité ?
ouiCpl.Bator a écrit :ta source reproduit le bug ?
il y a juste une ligne pour l'activé ou la desactivé
main.pb ligne 195
voilà ce que je disais plus haut:
Code : Tout sélectionner
Parcontre j'ai un problème avec ta commande de reglage de la luminosité!
j'avais testé vite fait juste sur une vertice et ça fonctionne, mais si tu fais sur les 4 vertices ça merde (en tout cas chez moi)
il y a 2 exe pour tester
et dans les sources pour activer désactiver la luminosité ça se passe a la ligne 195
la commande SetSpriteLuminosityEx est dans includes/sprites.pbi
tu peux mettre en commentaire les lignes 59,60,61 pour n'avoir qu'une vertice affecté, et là le coin en question varie bien en luminosité. Est-ce du a ma carte graphique ?
heu !! je viens de verifier ...et normalement si ... la maison ne doit pas apparaitre mais les murs du chateau si ...tu n'as pas un message d'erreur dans le debugger concernant les sprites ou le board ?Thyphoon a écrit :heu oui ... je crois que le fichier de la map est ancien ...Cpl.Bator a écrit :y a pas de chato dans la source , juste le ciel .
Je vais essayer de mettre a jour l'archive avant ce soir ... mais c'est pas gagné... je manque de temps
si tu es sous linux... edit les fichiers maps/map.map et tiles/test.brd et tiles/foret.brd c'est peut être un problème avec le nom des chemins vers les sprites...
tient moi au courant