Page 2 sur 3

Publié : mer. 29/juil./2009 7:24
par Thyphoon
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.
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 !

Publié : mer. 29/juil./2009 7:29
par Anonyme
Pas de soucis. ;)

Publié : jeu. 30/juil./2009 6:49
par Thyphoon
J'espère te poster les sources aujourd'hui .. J'ai un acces wifi au boulot mais plus que limité donc ce soir je pense !

Publié : jeu. 30/juil./2009 7:58
par Thyphoon
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 !

Publié : jeu. 30/juil./2009 14:52
par Anonyme
je viens de voir les sources , Aïe... :D

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
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é ! :D

Publié : jeu. 30/juil./2009 15:00
par Thyphoon
Cpl.Bator a écrit :je viens de voir les sources , Aïe... :D

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é ! :D
C'est un peu se que je pensais.. :) j'avais déjà fait jou-jou une fois avec SDL en C++ (a l'époque pour développé pour la console GP2X)

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 ...

Publié : jeu. 30/juil./2009 15:10
par Anonyme
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 :D

Publié : jeu. 30/juil./2009 15:13
par Thyphoon
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 :D
je vais regardé la SFML ...

Tu as une idée pour le problème avec la commande de luminosité ?

Publié : jeu. 30/juil./2009 15:23
par Anonyme
je ne suis pas sous windows , donc je peut pas testé :s
à prioris la fonction est bonne , c'est quoi le problème exactement ?

Publié : jeu. 30/juil./2009 17:00
par Thyphoon
Cpl.Bator a écrit :je ne suis pas sous windows , donc je peut pas testé :s
à prioris la fonction est bonne , c'est quoi le problème exactement ?
Ba voilà ce que ça me fait
Image

Publié : jeu. 30/juil./2009 18:21
par Anonyme
ta source reproduit le bug ?

Publié : jeu. 30/juil./2009 18:36
par Thyphoon
Cpl.Bator a écrit :ta source reproduit le bug ?
oui
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 ? 

Publié : ven. 31/juil./2009 15:07
par Anonyme
y a pas de chato dans la source , juste le ciel .

Publié : ven. 31/juil./2009 15:11
par Thyphoon
Cpl.Bator a écrit :y a pas de chato dans la source , juste le ciel .
heu oui ... je crois que le fichier de la map est ancien ...
Je vais essayer de mettre a jour l'archive avant ce soir ... mais c'est pas gagné... je manque de temps :P

Publié : ven. 31/juil./2009 15:35
par Thyphoon
Thyphoon a écrit :
Cpl.Bator a écrit :y a pas de chato dans la source , juste le ciel .
heu oui ... je crois que le fichier de la map est ancien ...
Je vais essayer de mettre a jour l'archive avant ce soir ... mais c'est pas gagné... je manque de temps :P
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 ?
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