AccueilblogS'enregistrerConnexion
-40%
Le deal à ne pas rater :
-40% sur le polo Lacoste uni slim fit
66 € 110 €
Voir le deal

Partagez
 

 [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : 1, 2  Suivant
AuteurMessage
admin
Ultimate Retrogamer
avatar

Messages : 15036
Réputation : 374
Inscrit le : 13/10/2010


[Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Empty
Msg n°1 MessageSujet: [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Icon_minitimeLun 20 Juin 2011, 21:36

Voici un mail que j'ai envoyé à Zx car il est LE développeur phare sur Caanoo (eh oui, il a beau être modeste, c'est la vérité :oui: ).

Je pense que le sujet est intéressant parce que beaucoup d'entre nous doivent se poser des questions identiques. C'est pour ça qu'on passera par le fofo pour avoir des réponses.

Ce topic est ouvert à tous ceux qui veulent en débattre afin de faire avancer le schmiliblick :lol2:


Citation :

J'aurais besoin de conseils si tu as un peu de temps à m'accorder.

J'aimerais tenter de porter quelques jeux ou autre sur la Caanoo mais je ne suis pas sûr de savoir par quoi commencer.

Ce que je fais depuis quelques temps, c'est apprendre le C via le site du zéro (les tutos sont super) et je chine des infos par ci par là.

De ce que je comprends, il faut avoir les sources d'un jeu ou d'un émul pour pouvoir le porter. Puis voir si le langage utilisé est compatible avec la Caanoo (comment faire pour le savoir ?) et si les libraries sont compatibles aussi.

Tournant sous Windows, cela posera t il des problèmes ? Sinon, j'ai un Linux en virtuel.

Peux tu m'expliquer brièvement les points clés pour y arriver ?


Voilà, en attendant vos réponses, merci aux âmes charitables :merci:


Dernière édition par BAFelton le Jeu 30 Juin 2011, 22:57, édité 2 fois
Revenir en haut Aller en bas
zx81
Dev' Open Source
zx81

Messages : 206
Réputation : 25
Inscrit le : 24/10/2010

Localisation : France


[Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Empty
Msg n°2 MessageSujet: Re: [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Icon_minitimeMar 21 Juin 2011, 08:37

Salut Baf,

Tout d'abord pour developper sur la caanoo, il te faut un SDK (Software Development Kit) qui tourne sur ton PC. Perso, j'utilise un PC Linux sous Ubuntu avec le SDK disponible sur le site dl.openhandhelds.org.

Je ne connais pas le SDK pour windows, donc je ne peux pas trop aider sur ce sujet. On peut aussi utiliser virtual box + Linux ubuntu et installer le SDK sur la machine virtuelle de virtual box.

Le portage d'un jeu ou d'un petit programme C/C++ sur la caanoo, est une tache qui demande de bien connaitre le developpement C/C++ sous linux. Le mieux etant de connaitre aussi la SDL (librairie utilisee pour la gestion des graphismes 2D, et qui existe sur pleins d'environnements differents, comme la Caanoo ou Linux ou meme Windows). Le portage d'une application ecrite en C/C++ utilisant la librairie SDL est normalement assez facile.

Je te conseille donc de commencer par essayer de porter un petit jeu SDL que tu peux par exemple trouver ici
[Vous devez être inscrit et connecté pour voir ce lien]

La premiere etape consiste a recompiler cette application sur ton PC linux (c'est pour ca que j'utilise Linux), afin de verifier que tout se passe bien, que tu as bien tous les fichiers etc ...

La seconde etape consiste a modifier le makefile (ou le projet de ton IDE) afin de compiler ce meme jeu pour la Caanoo (il faudra donc changer le compilateur gcc pour utiliser celui du SDK caanoo, modifier l'endroit ou se trouvent les 'include' etc ...).

Une fois le programme compilé pour caanoo, il faut recopier le binaire sur la caanoo en respectant le standard caanoo (un repertoire + un fichier gpu + icones etc ... enfin tu vois le truc), et lancer le jeu.

Si tu as du bol, ca va marcher du premier coup, par contre tu n'auras pas acces aux boutons etc ... Il y aura forcement des bouts de code a modifier dans les sources du jeux, en particulier :
- la partie affichage graphique pour forcer l'affichage en 320x240
- la partie son pour forcer a 16 bits stereo 44k
- la partie joystick/pad/bouton/clavier pour utiliser les touches de la caanoo

J'espere que ca repond en partie a tes questions ?





Revenir en haut Aller en bas
http://zx81.zx81.free.fr/
admin
Ultimate Retrogamer
avatar

Messages : 15036
Réputation : 374
Inscrit le : 13/10/2010


[Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Empty
Msg n°3 MessageSujet: Re: [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Icon_minitimeMar 21 Juin 2011, 13:35

Merci pour toutes ces réponses.

Effectivement, je me demandais comment ça se passait concrètement.

J'utilise Code blocks sur Windows pour coder/compiler. Je vais récupérer le SDK pour voir un peu comment ça fonctionne.

D'autres questions vont venir lol
Revenir en haut Aller en bas
zx81
Dev' Open Source
zx81

Messages : 206
Réputation : 25
Inscrit le : 24/10/2010

Localisation : France


[Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Empty
Msg n°4 MessageSujet: Re: [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Icon_minitimeMar 21 Juin 2011, 20:40

sinon voici le SDK que j'utilise sous ubuntu (a installer dans /usr/local/caanoodev)

[Vous devez être inscrit et connecté pour voir ce lien]

Et voici les variables d'environnement a mettre a jour :

# Caanoo Env
export CAANOOGPH=/usr/local/caanoodev/
export CAANOODEV=/usr/local/caanoodev
export PATH=${PATH}:${CAANOODEV}/bin

Une fois installé, tu peux prendre n'importe lequel des mes homebrew et lancer le makefile pour le compiler
Revenir en haut Aller en bas
http://zx81.zx81.free.fr/
admin
Ultimate Retrogamer
avatar

Messages : 15036
Réputation : 374
Inscrit le : 13/10/2010


[Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Empty
Msg n°5 MessageSujet: Re: [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Icon_minitimeMar 21 Juin 2011, 21:57

En cours de récup Wink


Bon, mon Ubuntu est réinstallé (suite à un oubli du mdp lol ), je regarde dans les petits jeux SDL et je choisis.... Adonthell, un RPG, sur la toute première page de ton lien.

[Vous devez être inscrit et connecté pour voir ce lien]

Je vais dans Download, et là je récupère : Source code updated

Je télécharge les deux fichiers, le moteur et et les data.

Et là, je lis :

Citation :
Requirements: SDL 1.2.x, SDL Mixer 1.2.x, SDL TTF 2.0.x, Python 2.0 or higher, Freetype 2 or higher and (optionally) Ogg Vorbis 1.0rc3 or higher.

If you plan to make changes to the code, you will also need SWIG 1.3.20 or newer.


Aie !! Est-ce que tout ça va me poser problème ? Je vise trop haut lol ?
Revenir en haut Aller en bas
zx81
Dev' Open Source
zx81

Messages : 206
Réputation : 25
Inscrit le : 24/10/2010

Localisation : France


[Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Empty
Msg n°6 MessageSujet: Re: [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Icon_minitimeMar 21 Juin 2011, 23:47

Heu le probleme ici je pense c'est python car je ne sais pas du tout si il a ete porté sur caanoo. Tu peux tenter effectivement quelque chose de plus simple.

Genre un puzzle :
[Vous devez être inscrit et connecté pour voir ce lien]

Revenir en haut Aller en bas
http://zx81.zx81.free.fr/
Coldragon
Accro'
Coldragon

Messages : 486
Réputation : 1
Age : 25
Inscrit le : 05/06/2011

Machine préférée NES

Localisation : Plaisir, France

Humeur : gmenu2x powa !


[Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Empty
Msg n°7 MessageSujet: Re: [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Icon_minitimeMer 22 Juin 2011, 00:07

Python a été porté mais de simple jeux ou programme tourne a 2-3fps ;s
Revenir en haut Aller en bas
http://www.coldragon.fr
admin
Ultimate Retrogamer
avatar

Messages : 15036
Réputation : 374
Inscrit le : 13/10/2010


[Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Empty
Msg n°8 MessageSujet: Re: [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Icon_minitimeMer 22 Juin 2011, 12:43

Ok !

1 ) Pour info, sur Ubuntu, tu conseilles quel IDE ?



2 ) je suis un gros boulet sous Linux, la commande pour extraire le fichier c'est bien

sudo bunzip2 caanoo-dev-21062011.tar.gz2 ?

Mais si je veux le décompresser dans usr, il me dit Input file usr is a directory. Comment je fais Sad


3 ) Donc je prends 12swap.tar.gz que j'ouvre et je trouve :

- des fichiers cpp ( qui je pense contiennent les fonctions du programme )

- un main.h ( ça je sais que c'est le programme principal enfin je crois lol)

- le fichier makefile

- deux répertoires graphics et sound contenant ... des images et des sons Very Happy


Donc, mon premier réflexe est de lancer code::blocks pour ouvrir le main.h pour y prendre les infos importantes.

Tu m'as dit de d'abord compiler sous linux pour vérifier le fonctionnement. C'est bien ça ?
Revenir en haut Aller en bas
zx81
Dev' Open Source
zx81

Messages : 206
Réputation : 25
Inscrit le : 24/10/2010

Localisation : France


[Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Empty
Msg n°9 MessageSujet: Re: [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Icon_minitimeLun 27 Juin 2011, 22:09

BAFelton a écrit:
Ok !
1 ) Pour info, sur Ubuntu, tu conseilles quel IDE ?

Je n'utilise pas d'IDE, juste l'editeur gvim avec quelques plugins. Mais si j'avais a utiliser un IDE je prendrais ou ECLIPSE, KDevelop ou QTCreator. Sinon CodeBlocks est assez simple aussi.

BAFelton a écrit:

2 ) je suis un gros boulet sous Linux, la commande pour extraire le fichier c'est bien

sudo bunzip2 caanoo-dev-21062011.tar.gz2 ?

Mais si je veux le décompresser dans usr, il me dit Input file usr is a directory. Comment je fais Sad

Normalement le gestion de fichier d'ubuntu sait gerer ces archives mais sinon pour le cas precis :

Tout d'abord tu vas a la racine :
cd /

Ensuite tu desarchives avec la commande tar :

sudo tar xjf /chemin_complet_vers_ton_fichier_tar.gz2


BAFelton a écrit:

3 ) Donc je prends 12swap.tar.gz que j'ouvre et je trouve :

- des fichiers cpp ( qui je pense contiennent les fonctions du programme )
- un main.h ( ça je sais que c'est le programme principal enfin je crois lol)
- le fichier makefile
- deux répertoires graphics et sound contenant ... des images et des sons Very Happy

Donc, mon premier réflexe est de lancer code::blocks pour ouvrir le main.h pour y prendre les infos importantes.
Tu m'as dit de d'abord compiler sous linux pour vérifier le fonctionnement. C'est bien ça ?

Oui tout a fait, en general il suffit de lancer le makefile avec la commande 'make' (si tu ne sais pas ce qu'est un makefile, c'est un fichier qui contient la liste des sources et comment fabriquer l'executable, il gere les dependances pour ne re-compiler que ce qui est necessaire lorsque tu modifies en partie les sources).
Revenir en haut Aller en bas
http://zx81.zx81.free.fr/
admin
Ultimate Retrogamer
avatar

Messages : 15036
Réputation : 374
Inscrit le : 13/10/2010


[Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Empty
Msg n°10 MessageSujet: Re: [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Icon_minitimeMar 28 Juin 2011, 22:29

Donc je tape make et voici ce que j 'obtiens :


Code:
bafelton@bafelton-desktop:~/Jeux/12swap$ make
g++ -c -g -O2 main.cpp -o main.o
make: g++ : commande introuvable
make: *** [main.o] Erreur 127

Ca commence bien Very Happy
Revenir en haut Aller en bas
Coldragon
Accro'
Coldragon

Messages : 486
Réputation : 1
Age : 25
Inscrit le : 05/06/2011

Machine préférée NES

Localisation : Plaisir, France

Humeur : gmenu2x powa !


[Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Empty
Msg n°11 MessageSujet: Re: [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Icon_minitimeMar 28 Juin 2011, 22:42

Manque le package Build essential je pense.
Ouvre le terminal et tape
Code:
sudo apt-get install build-essential
Revenir en haut Aller en bas
http://www.coldragon.fr
admin
Ultimate Retrogamer
avatar

Messages : 15036
Réputation : 374
Inscrit le : 13/10/2010


[Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Empty
Msg n°12 MessageSujet: Re: [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Icon_minitimeMar 28 Juin 2011, 22:55

Code:
bafelton@bafelton-desktop:~$ sudo apt-get build-essential
[sudo] password for bafelton:
E: L'opération build-essential n'est pas valable
Revenir en haut Aller en bas
Coldragon
Accro'
Coldragon

Messages : 486
Réputation : 1
Age : 25
Inscrit le : 05/06/2011

Machine préférée NES

Localisation : Plaisir, France

Humeur : gmenu2x powa !


[Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Empty
Msg n°13 MessageSujet: Re: [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Icon_minitimeMar 28 Juin 2011, 22:59

Essaye sur synaptic
Revenir en haut Aller en bas
http://www.coldragon.fr
admin
Ultimate Retrogamer
avatar

Messages : 15036
Réputation : 374
Inscrit le : 13/10/2010


[Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Empty
Msg n°14 MessageSujet: Re: [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Icon_minitimeMar 28 Juin 2011, 23:02

Apparemment ça marche, mais en faisant make :

Code:
afelton@bafelton-desktop:~/Jeux/12swap$ make
g++ -c -g -O2 main.cpp -o main.o
In file included from main.cpp:1:
main.h:1:21: error: SDL/SDL.h: Aucun fichier ou dossier de ce type
main.h:2:28: error: SDL/SDL_thread.h: Aucun fichier ou dossier de ce type
main.h:3:25: error: SDL/SDL_ttf.h: Aucun fichier ou dossier de ce type
main.h:4:27: error: SDL/SDL_audio.h: Aucun fichier ou dossier de ce type
In file included from main.cpp:1:
main.h:30: error: ‘SDL_AudioSpec’ does not name a type
main.h:31: error: ISO C++ forbids declaration of ‘Uint8’ with no type
main.h:31: error: expected ‘;’ before ‘*’ token
main.h:32: error: ‘Uint32’ does not name a type
main.h:33: error: ‘Uint32’ does not name a type
main.h:93: error: ISO C++ forbids declaration of ‘SDL_Surface’ with no type
main.h:93: error: expected ‘;’ before ‘*’ token
main.h:110: error: ISO C++ forbids declaration of ‘SDL_Surface’ with no type
main.h:110: error: expected ‘;’ before ‘*’ token
main.h:140: error: ‘SDL_Rect’ does not name a type
main.h:141: error: ISO C++ forbids declaration of ‘SDL_Surface’ with no type
main.h:141: error: expected ‘;’ before ‘*’ token
main.h:157: error: ISO C++ forbids declaration of ‘SDL_Surface’ with no type
main.h:157: error: expected ‘;’ before ‘*’ token
main.h:167: error: ‘SDL_Surface’ has not been declared
main.h:175: error: ISO C++ forbids declaration of ‘SDL_Surface’ with no type
main.h:175: error: expected ‘;’ before ‘*’ token
main.h:200: error: ‘SDL_Rect’ does not name a type
main.h:222: error: ISO C++ forbids declaration of ‘SDL_Surface’ with no type
main.h:222: error: expected ‘;’ before ‘*’ token
main.h:223: error: ISO C++ forbids declaration of ‘SDL_Surface’ with no type
main.h:223: error: expected ‘;’ before ‘*’ token
main.h:243: error: ISO C++ forbids declaration of ‘SDL_Surface’ with no type
main.h:243: error: expected ‘;’ before ‘*’ token
main.h:254: error: ‘SDL_Surface’ has not been declared
main.h:272: error: ISO C++ forbids declaration of ‘SDL_Surface’ with no type
main.h:272: error: expected ‘;’ before ‘*’ token
main.h:273: error: ISO C++ forbids declaration of ‘SDL_Thread’ with no type
main.h:273: error: expected ‘;’ before ‘*’ token
main.h:307: error: ‘SDL_Surface’ has not been declared
main.h:308: error: ‘SDL_Surface’ has not been declared
main.h:309: error: ‘SDL_Surface’ has not been declared
In file included from main.cpp:1:
main.h:314: error: ISO C++ forbids declaration of ‘SDL_Surface’ with no type
main.h:314: error: expected ‘;’ before ‘*’ token
main.h:329: error: ISO C++ forbids declaration of ‘SDL_Surface’ with no type
main.h:329: error: expected ‘;’ before ‘*’ token
main.h:330: error: ISO C++ forbids declaration of ‘SDL_Surface’ with no type
main.h:330: error: expected ‘;’ before ‘*’ token
main.h:331: error: ISO C++ forbids declaration of ‘SDL_Surface’ with no type
main.h:331: error: expected ‘;’ before ‘*’ token
main.h:332: error: ISO C++ forbids declaration of ‘TTF_Font’ with no type
main.h:332: error: expected ‘;’ before ‘*’ token
main.h:349: error: ‘SDL_Surface’ has not been declared
main.h:349: error: ‘SDL_Rect’ has not been declared
main.h:349: error: ‘SDL_Surface’ has not been declared
main.h:349: error: ‘SDL_Rect’ has not been declared
main.h:351: error: ‘Uint8’ has not been declared
main.h:409: error: expected initializer before ‘*’ token
main.h:410: error: expected initializer before ‘*’ token
main.h:411: error: expected initializer before ‘*’ token
main.h:412: error: expected initializer before ‘*’ token
main.h:413: error: expected initializer before ‘*’ token
main.h:414: error: expected initializer before ‘*’ token
main.h:415: error: expected initializer before ‘*’ token
main.h:416: error: expected initializer before ‘*’ token
main.h:417: error: expected initializer before ‘*’ token
main.h:418: error: expected initializer before ‘*’ token
main.h:419: error: expected initializer before ‘*’ token
main.h:420: error: expected initializer before ‘*’ token
main.h:421: error: expected initializer before ‘*’ token
main.h:425: error: ‘Uint8’ has not been declared
main.cpp: In function ‘int main(int, char**)’:
main.cpp:12: warning: deprecated conversion from string constant to ‘char*’
make: *** [main.o] Erreur 1
bafelton@bafelton-desktop:~/Jeux/12swap$
Revenir en haut Aller en bas
Coldragon
Accro'
Coldragon

Messages : 486
Réputation : 1
Age : 25
Inscrit le : 05/06/2011

Machine préférée NES

Localisation : Plaisir, France

Humeur : gmenu2x powa !


[Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Empty
Msg n°15 MessageSujet: Re: [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Icon_minitimeMar 28 Juin 2011, 23:11

La je te dit que des truc a essayer n'étant pas un Pro comme ZX je dit se que je pense par rapport a tous ce que j'ai appris lol

Je pense qu'il manque aussi SDL comme paquet ou que ce n'est pas placé ou il faut si tu as téléchargé via navigateur

Essaye d'installer des Paquet SDL via synaptic je ne saurrais te dire lequel, je lance Ubuntu (mais je doit quitter windaub)
Revenir en haut Aller en bas
http://www.coldragon.fr
zx81
Dev' Open Source
zx81

Messages : 206
Réputation : 25
Inscrit le : 24/10/2010

Localisation : France


[Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Empty
Msg n°16 MessageSujet: Re: [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Icon_minitimeMer 29 Juin 2011, 09:28

Salut Baf, comme le dit Coldragon il faut installer certains packages sous ubuntu pour faire du developpement.
En general sur ubuntu de base tu as juste les libraires en version .so mais pas du tout les fichiers 'include' necessaire pour compiler soi meme des applications.

Le mieux c'est de prendre les packages "devel" de la libraire SDL etc ... (avec synaptic).
Revenir en haut Aller en bas
http://zx81.zx81.free.fr/
admin
Ultimate Retrogamer
avatar

Messages : 15036
Réputation : 374
Inscrit le : 13/10/2010


[Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Empty
Msg n°17 MessageSujet: Re: [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Icon_minitimeMer 29 Juin 2011, 12:50

Ca avance !

Code:
bafelton@bafelton-desktop:~/Jeux/12swap$ make
g++ -c -g -O2 main.cpp -o main.o
main.cpp: In function ‘int main(int, char**)’:
main.cpp:12: warning: deprecated conversion from string constant to ‘char*’
g++ -c -g -O2 object_drop_animation.cpp -o object_drop_animation.o
g++ -c -g -O2 object_normal_animation.cpp -o object_normal_animation.o
g++ -c -g -O2 object_point_anim.cpp -o object_point_anim.o
g++ -c -g -O2 object_round_anim.cpp -o object_round_anim.o
g++ -c -g -O2 object_score_anim.cpp -o object_score_anim.o
g++ -c -g -O2 object_score_disolve_anim.cpp -o object_score_disolve_anim.o
g++ -c -g -O2 object_screen_button.cpp -o object_screen_button.o
g++ -c -g -O2 object_screen_layout.cpp -o object_screen_layout.o
g++ -c -g -O2 object_selector_anim.cpp -o object_selector_anim.o
g++ -c -g -O2 object_swap_anim.cpp -o object_swap_anim.o
g++ -c -g -O2 object_swap_game.cpp -o object_swap_game.o
g++ -c -g -O2 object_trial_timer.cpp -o object_trial_timer.o
g++ -c -g -O2 screen_game.cpp -o screen_game.o
g++ -c -g -O2 screen_gameover.cpp -o screen_gameover.o
g++ -c -g -O2 screen_instructions.cpp -o screen_instructions.o
g++ -c -g -O2 screen_intro.cpp -o screen_intro.o
screen_intro.cpp: In function ‘void load_screen_intro()’:
screen_intro.cpp:49: warning: deprecated conversion from string constant to ‘char*’
screen_intro.cpp:51: warning: deprecated conversion from string constant to ‘char*’
screen_intro.cpp:53: warning: deprecated conversion from string constant to ‘char*’
screen_intro.cpp:55: warning: deprecated conversion from string constant to ‘char*’
screen_intro.cpp:57: warning: deprecated conversion from string constant to ‘char*’
screen_intro.cpp:63: warning: deprecated conversion from string constant to ‘char*’
screen_intro.cpp:65: warning: deprecated conversion from string constant to ‘char*’
screen_intro.cpp:69: warning: deprecated conversion from string constant to ‘char*’
screen_intro.cpp:71: warning: deprecated conversion from string constant to ‘char*’
screen_intro.cpp:73: warning: deprecated conversion from string constant to ‘char*’
screen_intro.cpp:75: warning: deprecated conversion from string constant to ‘char*’
screen_intro.cpp:77: warning: deprecated conversion from string constant to ‘char*’
screen_intro.cpp:79: warning: deprecated conversion from string constant to ‘char*’
screen_intro.cpp:83: warning: deprecated conversion from string constant to ‘char*’
screen_intro.cpp:85: warning: deprecated conversion from string constant to ‘char*’
screen_intro.cpp:87: warning: deprecated conversion from string constant to ‘char*’
screen_intro.cpp:89: warning: deprecated conversion from string constant to ‘char*’
screen_intro.cpp:91: warning: deprecated conversion from string constant to ‘char*’
screen_intro.cpp:93: warning: deprecated conversion from string constant to ‘char*’
screen_intro.cpp:95: warning: deprecated conversion from string constant to ‘char*’
screen_intro.cpp:97: warning: deprecated conversion from string constant to ‘char*’
screen_intro.cpp:99: warning: deprecated conversion from string constant to ‘char*’
screen_intro.cpp:101: warning: deprecated conversion from string constant to ‘char*’
screen_intro.cpp:103: warning: deprecated conversion from string constant to ‘char*’
screen_intro.cpp:105: warning: deprecated conversion from string constant to ‘char*’
screen_intro.cpp:109: warning: deprecated conversion from string constant to ‘char*’
screen_intro.cpp:111: warning: deprecated conversion from string constant to ‘char*’
screen_intro.cpp:183: warning: deprecated conversion from string constant to ‘char*’
screen_intro.cpp:184: warning: deprecated conversion from string constant to ‘char*’
screen_intro.cpp:185: warning: deprecated conversion from string constant to ‘char*’
g++ -c -g -O2 screen_intro2.cpp -o screen_intro2.o
g++ -c -g -O2 screen_playchoice.cpp -o screen_playchoice.o
g++ -lSDL -lSDL_ttf main.o object_drop_animation.o object_normal_animation.o object_point_anim.o object_round_anim.o object_score_anim.o object_score_disolve_anim.o object_screen_button.o object_screen_layout.o object_selector_anim.o object_swap_anim.o object_swap_game.o object_trial_timer.o screen_game.o screen_gameover.o screen_instructions.o screen_intro.o screen_intro2.o screen_playchoice.o -o 12swap
Revenir en haut Aller en bas
zx81
Dev' Open Source
zx81

Messages : 206
Réputation : 25
Inscrit le : 24/10/2010

Localisation : France


[Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Empty
Msg n°18 MessageSujet: Re: [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Icon_minitimeMer 29 Juin 2011, 22:58

certes, mais ce n'est vraiment que le debut ... Je viens de faire le portage ce soir sur caanoo et c'est assez loin d'etre trivail (du coup ca fera un bon exemple pour les autres happy ).

Une fois que tu as reussi a le lancer sous ubuntu (en faisant ./12swap une fois le binaire compilé). Tu verras tout d'abord que ca marche avec la souris et que la taille de la fenetre est beaucoup plus grande que la taille de l'ecran de la caanoo.

Il faudra donc :
1 - modifier le makefile pour compiler les binaires avec le gcc pour caanoo
2 - trouver une astuce pour reduire la taille de la fenetre a celle de l'ecran de la caanoo
(tu verras que cela n'est pas suffisant car le jeu fonctionne sur un ecran bitmap de 32 bits alors que la caanoo est en couleurs 16 bits ...)
3 - traiter correctement les evennements joystick / souris et le recaller sur la taille d'origine
4 - ajouter le support des touches de la caanoo (par exemple pour sortir du jeu)
5 - traiter les problemes du son (il faut du 44k 16 bits pour la caanoo)
6 - mettre en place le .gpu / icones etc ... (cette partie la est triviale)

Je peux filer le (1) et (5) si on me dit comment heberger des fichiers sur le fofo ...
Revenir en haut Aller en bas
http://zx81.zx81.free.fr/
zx81
Dev' Open Source
zx81

Messages : 206
Réputation : 25
Inscrit le : 24/10/2010

Localisation : France


[Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Empty
Msg n°19 MessageSujet: Re: [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Icon_minitimeMer 29 Juin 2011, 23:13

Pour commencer voici le makefile pour la caanoo sachant qu'on considere ici que ma version de SDK a ete installee dans /usr/local/caanoodev et que la variable suivante a ete definie :

export CAANOODEV=/usr/local/caanoodev

ATTENTION : partout on j'ai mis <TABULATION> il faut mettre une vraie tabulation ..

Code:
# Makefile for caanoo
#

CAANOODEV = /usr/local/caanoodev
SDL_CONFIG = $(CAANOODEV)/bin/sdl-config

CC=arm-gph-linux-gnueabi-gcc
CXX=arm-gph-linux-gnueabi-g++
STRIP=arm-gph-linux-gnueabi-strip

CFLAGS  = $(shell $(SDL_CONFIG) --cflags) -O2 -I$(CAANOODEV)/include -c -DCAANOO
LDFLAGS =  -L$(CAANOODEV)/lib -lSDL_image -lSDL -lSDL_ttf \
$(CAANOODEV)/tools/gcc-4.2.4-glibc-2.7-eabi/arm-gph-linux-gnueabi/lib/libstdc++.a \
$(CAANOODEV)/tools/gcc-4.2.4-glibc-2.7-eabi/arm-gph-linux-gnueabi/sys-root/usr/lib/libpng.a \
-lz -lm -lpthread

SOURCES=main.cpp object_drop_animation.cpp object_normal_animation.cpp object_point_anim.cpp object_round_anim.cpp object_score_anim.cpp object_score_disolve_anim.cpp object_screen_button.cpp object_screen_layout.cpp object_selector_anim.cpp object_swap_anim.cpp object_swap_game.cpp object_trial_timer.cpp screen_game.cpp screen_gameover.cpp screen_instructions.cpp screen_intro.cpp screen_intro2.cpp screen_playchoice.cpp

OBJECTS=$(SOURCES:.cpp=.o)
EXECUTABLE=12swap.gpe

ALL_CFLAGS = $(STDC_HDRS) $(UTIME_H) $(UTIME_NULL) $(UTIMBUF) $(CFLAGS)

all: $(SOURCES) $(EXECUTABLE)
 
$(EXECUTABLE): $(OBJECTS)
<TABULATION>$(CXX) $(LDFLAGS) $(OBJECTS) -o $@
<TABULATION>$(STRIP) $(EXECUTABLE)

.cpp.o:
<TABULATION>  $(CXX) $(CFLAGS) $< -o $@

clean:
<TABULATION>  @-rm $(EXECUTABLE) $(OBJECTS)

La suite au prochain episode ...



Dernière édition par zx81 le Mer 29 Juin 2011, 23:32, édité 1 fois
Revenir en haut Aller en bas
http://zx81.zx81.free.fr/
zx81
Dev' Open Source
zx81

Messages : 206
Réputation : 25
Inscrit le : 24/10/2010

Localisation : France


[Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Empty
Msg n°20 MessageSujet: Re: [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Icon_minitimeMer 29 Juin 2011, 23:30

Et voici donc pour les differents fichiers a mettre sur la caanoo pour qu'on puisse lancer l'executable :

Il faut creer un repertoire game/12swap sur la SD de la caanoo et mettre comme d'habitude un 12swap.ini dans game contenant au minimum ceci :

12swap.ini :
Code:
[info]
name="Caanoo 12 Swap"
path="/12swap/12swap.gpu"

Ensuite on cree un script 12swap.gpu dans game/12swap/ qui contient ceci :
12swap.gpu :
Code:
#!/bin/sh

./12swap.gpe 2>&1 > /dev/null

cd /usr/gp2x
exec /usr/gp2x/gp2xmenu


Ceci permet d'executer notre binaire 12swap.gpe et lorsque c'est fini de relancer le menu de la caanoo (sinon on a un ecran noir et il faut tout redémarrer).

Ici une archive de mon portage rapide avec tous les fichiers necessaires :
[Vous devez être inscrit et connecté pour voir ce lien]

Je mettrais les sources au fur et a mesure pour essayer de montrer comment on fait et surtout pourquoi on le fait ...
Revenir en haut Aller en bas
http://zx81.zx81.free.fr/
Coldragon
Accro'
Coldragon

Messages : 486
Réputation : 1
Age : 25
Inscrit le : 05/06/2011

Machine préférée NES

Localisation : Plaisir, France

Humeur : gmenu2x powa !


[Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Empty
Msg n°21 MessageSujet: Re: [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Icon_minitimeJeu 30 Juin 2011, 03:25

Une petit info pour ceux qui passerais par la et qui n'aurais pas compris comment placer caanoodev en /usr/local/caanoodev.
Spoiler:
 
Voila lol

Au faite, Zx (Ou baf si tu as reussis),silteplait, j'aimerais savoir, comment modifier les variables d'environnement ? La j'ai ouvert .profile
Code:
sudo gedit ~/.profile

mais je sais pas vraiment où mettre
Code:
# Caanoo Env
export CAANOOGPH=/usr/local/caanoodev/
export CAANOODEV=/usr/local/caanoodev
export PATH=${PATH}:${CAANOODEV}/bin

Merci d'avance, et pour tous ce que tu as fait Very Happy
Revenir en haut Aller en bas
http://www.coldragon.fr
zx81
Dev' Open Source
zx81

Messages : 206
Réputation : 25
Inscrit le : 24/10/2010

Localisation : France


[Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Empty
Msg n°22 MessageSujet: Re: [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Icon_minitimeJeu 30 Juin 2011, 20:53

@coldragon : tu peux le mettre ou tu veux ... moi je le mets plutot dans le .bashrc
Revenir en haut Aller en bas
http://zx81.zx81.free.fr/
zx81
Dev' Open Source
zx81

Messages : 206
Réputation : 25
Inscrit le : 24/10/2010

Localisation : France


[Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Empty
Msg n°23 MessageSujet: Re: [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Icon_minitimeJeu 30 Juin 2011, 21:32

Si on lance la makefile modifie on doit pouvoir obtenir a la fin un binaire 12swap.gpe executable sur la caanoo.

Par contre il ne fonctionnera pas du tout car il va chercher a passer en mode 640x520x32 bits alors que la caanoo ne supporte que le mode 320x240x16 bits. Du coup il faut modifier un peu les sources pour que ca passe.

Il nous faut ajouter un champs dans la classe Swap_Game (fichier main.h) pour stocker la vraie Surface SDL a utiliser pour l'ecran de la caanoo (on gardera la Surface SDL d'origine main_screen comme surface intermediaire)

Modifications de main.h :
Code:

...
// au debut pour les includes ...
#include <SDL/SDL_video.h>
#include <SDL/SDL_joystick.h>

// puis un peu plus bas ...

class Swap_Game
{
  public:
  ....
    SDL_Surface *real_screen;  // Ajout de real_screen pour la vraie surface SDL de l'ecran de la caanoo
    SDL_Surface *main_screen;
    ...
}

Il faut ensuite modifier le SetVideoMode (initialisation SDL de l'ecran) pour le forcer a passer en resolution caanoo, et partout ou il y a une reference a une surface en 32 bits il faut plutot utiliser la profondeur 16 bits (ou simplement celle donnee par SDL_GetVideoSurface()->format ....

Modifications de la fonction create_second_screen_layer dans object_swap_game.cpp :
Code:

oid Swap_Game::create_second_screen_layer()
{
  Uint32 rmask, gmask, bmask, amask;
   
  //gotta have a screen to model it off of...
  if(!this->main_screen) return;

  // On remplace le code d'origine par celui ci qui est beaucoup plus portable :
  rmask = main_screen->format->Rmask;
  gmask = main_screen->format->Gmask;
  bmask = main_screen->format->Bmask;
  amask = main_screen->format->Amask;
  // Comme ca on aura 16 bits ou 32 bits en fonction de la plateforme PC ou Caanoo
  int num_bits = main_screen->format->BitsPerPixel;


  //make the surface
  this->layered_screen = SDL_CreateRGBSurface(
      SDL_HWSURFACE | SDL_SRCCOLORKEY | SDL_SRCALPHA,
    this->main_screen->w, this->main_screen->h, num_bits, rmask, gmask, bmask, amask);
         
  ...

Modifications de la fonction create_backup_screen_layer dans object_swap_game.cpp :
Code:

void Swap_Game::create_backup_screen_layer()
{
  Uint32 rmask, gmask, bmask, amask;
   
  //gotta have a screen to model it off of...
  if(!this->main_screen) return;
   
  rmask = main_screen->format->Rmask;
  gmask = main_screen->format->Gmask;
  bmask = main_screen->format->Bmask;
  amask = main_screen->format->Amask;
  int num_bits = main_screen->format->BitsPerPixel;

  //make this swaping surface because it will be needed...
  this->main_screen_temp = SDL_CreateRGBSurface(SDL_HWSURFACE |
        SDL_SRCCOLORKEY, this->main_screen->w, this->main_screen->h, num_bits,
          rmask, gmask, bmask, mask);
   SDL_SetAlpha(this->main_screen_temp,SDL_RLEACCEL|SDL_SRCALPHA,255);
}


Il faut egalement modifier la fonction init_sdl dans object_swap_game.cpp :
Code:

...
// Ici on ajouter SDL_INIT_JOYSTICK, necessaire pour la Caanoo
   if(SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO|SDL_INIT_JOYSTICK) <0)
...
// Voici le code a mettre pour la version Caanoo, il ne faut pas oublier d'ajouter un -DCAANOO
// dans le makefile ...
# ifdef CAANOO
  SDL_JoystickEventState(SDL_ENABLE);
  SDL_JoystickOpen(0);

   this->real_screen = SDL_SetVideoMode(320,240, 16, SDL_SWSURFACE);
   this->main_screen = SDL_CreateRGBSurface(SDL_SWSURFACE,
                            640, 520,
                            this->real_screen->format->BitsPerPixel,
                            this->real_screen->format->Rmask,
                            this->real_screen->format->Gmask,
                            this->real_screen->format->Bmask,
                            this->real_screen->format->Amask );
  SDL_ShowCursor(SDL_DISABLE);
# else
// le code PC
   this->main_screen = SDL_SetVideoMode(640,520,32,SDL_HWSURFACE|SDL_DOUBLEBUF);
   if (!this->main_screen)
   {
      printf("error: could not set screen for 640x520 32bit\n");
      return 0;
   }
# endif

Il faut aussi modfiier la fonction draw_text_noflip :
Code:

...
  if(r_backround != -1 || g_backround != -1 || b_backround != -1)
  {
      rmask = main_screen->format->Rmask;
      gmask = main_screen->format->Gmask;
      bmask = main_screen->format->Bmask;
      amask = main_screen->format->Amask;
      int num_bits = main_screen->format->BitsPerPixel;

    back_surface = SDL_CreateRGBSurface(SDL_HWSURFACE | SDL_SRCCOLORKEY,
          text_surface->w, text_surface->h,  num_bits, rmask, gmask, bmask, amask);
...

ET pour finir la fonction

Code:

void Swap_Game::flip_screen()
{
   while (this->screen_flipping) SDL_Delay(1);
   
   this->screen_flipping = true;
# ifdef CAANOO
        // Ici on recopie la surface avec la geometrie d'origine sur la surface associee a l'ecran de la caanoo
        // en faisant evidement un 'rescale' de l'image.
        SDL_SoftStretch( this->main_screen, NULL, this->real_screen, NULL );
        // On peut maintenant afficher l'image a l'ecran de la caanoo
   SDL_Flip(this->real_screen);
# else
        // Version PC ... pas besoin de SoftStretch evidemment ...
   SDL_Flip(this->main_screen);
# endif
   this->screen_flipping = false;
}

Il reste ensuite a modifier partout ou il y a du 32 bits explicite pour les Surface en particulier dans void Selector_Animation::create_backround() object_selector_anim.cpp

Code:

void Selector_Animation::create_backround()
{
   Uint32 rmask, gmask, bmask, amask;
   SDL_Rect destination, crop_area;
   
   //set some defaults...
   destination.x = 0;
   destination.y = 0;
   destination.w = 49;
   destination.h = 47;
   crop_area.x = this->x;
   crop_area.y = this->y;
   crop_area.w = 49;
   crop_area.h = 47;

  SDL_Surface* g_main_screen = SDL_GetVideoSurface();
  rmask = g_main_screen->format->Rmask;
  gmask = g_main_screen->format->Gmask;
  bmask = g_main_screen->format->Bmask;
  amask = g_main_screen->format->Amask;
  int num_bits = g_main_screen->format->BitsPerPixel;
   //create the surface
   this->back_round = SDL_CreateRGBSurface(SDL_HWSURFACE | SDL_SRCCOLORKEY, 49, 47, num_bits, rmask, gmask, bmask, amask);
   

Il y a aussi le meme genre de modif dans screen_intro.cpp (je vous laisse faire)


Revenir en haut Aller en bas
http://zx81.zx81.free.fr/
zx81
Dev' Open Source
zx81

Messages : 206
Réputation : 25
Inscrit le : 24/10/2010

Localisation : France


[Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Empty
Msg n°24 MessageSujet: Re: [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Icon_minitimeJeu 30 Juin 2011, 21:42

Vous pensez que c'est terminé ? Et bien non !!

Voici les sources complets ici :
[Vous devez être inscrit et connecté pour voir ce lien]

Il reste en particulier a gerer la sortie du jeu lorsqu'on utilise le bouton "HOME", il faut aussi s'occuper du probleme de son (pas compatible caanoo dans la version d'origine) et surtout resoudre le probleme de la souris / touchscreen qui s'attend a avoir une zone de souris de 640x520 alors qu'on est en 320x240 !

Pour le probleme de taille / zone de souris je vous propose la modification suivante dans object_screen_layout.cpp (ajout d'une fonction pour recaller 640x520 sur 320x240 :
Code:

# ifdef CAANOO
static void caanoo_scale_xy( int& x, int& y )
{
  x = (x * 640) / 320;
  y = (y * 520) / 240;
}
# endif

void Screen_Layout::do_mousepress(int x, int y)
{
   int i;
# ifdef CAANOO
  caanoo_scale_xy( x, y );
# endif

   if(!this->func_buttonpress) return;

   for(i=0;i<this->button_max;i++)
      if(this->button[i]->is_active() && this->button[i]->within_boundary(x,y))
   {
         this->func_buttonpress(i);
         break;
   }
}

void Screen_Layout::do_mousemovement(int x, int y)
{
   int i;
   int is_over;

# ifdef CAANOO
  caanoo_scale_xy( x, y );
# endif
   
      ....


Pour le probleme de son incompatible je vous propose la modification suivante dans object_swap_game.cpp :
Code:

int Swap_Game::init_audio()
{
   SDL_AudioSpec fmt;
   
   /* Set 16-bit stereo audio at 22Khz */
# ifdef CAANOO
   fmt.freq = 44100;
   fmt.format = AUDIO_S16;
   fmt.channels = 2;
   fmt.samples = 1024;
   fmt.callback = mixaudio;
   fmt.userdata = NULL;
# else
   fmt.freq = 22050;
   fmt.format = AUDIO_S16;
   fmt.channels = 2;
   fmt.samples = 512;        /* A good value for games */
   fmt.callback = mixaudio;
   fmt.userdata = NULL;
# endif
   ...


Et pour le bouton home dans le meme fichier
Code:

void Swap_Game::handle_events()
{
   SDL_Event event;
   int exitkey = 0;

   while(!exitkey && SDL_WaitEvent(&event))//SDL_PollEvent(&event))
      switch( event.type )
   {
# ifdef CAANOO
#define CAANOO_HOME  6
            case SDL_JOYBUTTONDOWN :
            {
                int button = event.jbutton.button;
                if (button == CAANOO_HOME) exitkey = 1;
            }
            break;
# endif
       case SDL_QUIT:
      exitkey = 1;
     break;
....

Donc comme vous pouvez le voir, le portage d'un jeu SDL sur caanoo n'est pas forcement si facile que ca ... cela demande de bien connaitre :
- le C /C++
- la librairie SDL
- les limitations / infos materielles de la caanoo

En esperant avoir sucité des envies de portages happy
Revenir en haut Aller en bas
http://zx81.zx81.free.fr/
admin
Ultimate Retrogamer
avatar

Messages : 15036
Réputation : 374
Inscrit le : 13/10/2010


[Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Empty
Msg n°25 MessageSujet: Re: [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Icon_minitimeJeu 30 Juin 2011, 21:52

zx81 a écrit:
certes, mais ce n'est vraiment que le debut ... Je viens de faire le portage ce soir sur caanoo et c'est assez loin d'etre trivail (du coup ca fera un bon exemple pour les autres happy ).

Une fois que tu as reussi a le lancer sous ubuntu (en faisant ./12swap une fois le binaire compilé). Tu verras tout d'abord que ca marche avec la souris et que la taille de la fenetre est beaucoup plus grande que la taille de l'ecran de la caanoo.

Il faudra donc :
1 - modifier le makefile pour compiler les binaires avec le gcc pour caanoo
2 - trouver une astuce pour reduire la taille de la fenetre a celle de l'ecran de la caanoo
(tu verras que cela n'est pas suffisant car le jeu fonctionne sur un ecran bitmap de 32 bits alors que la caanoo est en couleurs 16 bits ...)
3 - traiter correctement les evennements joystick / souris et le recaller sur la taille d'origine
4 - ajouter le support des touches de la caanoo (par exemple pour sortir du jeu)
5 - traiter les problemes du son (il faut du 44k 16 bits pour la caanoo)
6 - mettre en place le .gpu / icones etc ... (cette partie la est triviale)

Je peux filer le (1) et (5) si on me dit comment heberger des fichiers sur le fofo ...


1 - Modifier la ligne 2 du makefile et mettre :

bindir = /usr/local/caanoodev/bin


2 - Je mettrais bien cette ligne dans le main.h :

SDL_SetVideoMode(320, 240, 12);

mais j'ai peur que ça ne change que la taille de la fenêtre et pas la taille des images affichées


Je pense que les 3/4/5 se passent dans le main, les cpp ne devraient pas être modifiés.

Je serais parti en premier sur convertir les images dans le format Caanoo via un logiciel d'images et rééchantillonner les sons, mais apparemment, tu n'y a pas touché. Donc il y a des fonctions à ajouter pour éviter d'avoir à le faire.


Pour héberger, utilise easyshare.com ou multiupload si tu veux Wink

EDIT : je viens de lire ton post, wah, il va falloir encaisser tout ça lol
Revenir en haut Aller en bas
Contenu sponsorisé




[Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Empty
Msg n°26 MessageSujet: Re: [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 [Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81 Icon_minitime

Revenir en haut Aller en bas
 
[Tuto] Portage d'un jeu SDL sur Caanoo - Par Zx81
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant

 Sujets similaires

-
» [docs / tuto] photo uniforme marines WWII
» Petit tuto: fabrication d'une route
» 3 tuto de sculpture
» tuto pour un superbe aspect bois
» [Tuto] Se peler la peau

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Communauté Francophone Consoles Open Source et Android - Caanoo GPH / Open Pandora / GCW-Zero :: CONSOLES PORTABLES LINUX / WINDOWS :: Forum de la Caanoo :: Espace Développeurs :: Infos / Liens / Tutos-