Game Develop 2.0.10541 SDK

Le SDK pour la version 2.0.10541 est disponible.

Pas de gros bouleversements dans celui ci à prévoir.

Ok, juste qu’il faut maintenant bien inclure RuntimeGame car elle est forward déclarée dans RuntimeScene. :wink:
Sinon, qu’en est-il des bibliothèques compilées pour Ubuntu ?

Pour boost, vu que rien n’est compilé, tu peux télécharger la version déjà disponible et la décompresser comme pour Windows dans ExtLibs.
Pour SFML et wxWidgets, voilà les archives contenant ces deux bibliothèques compilées sur Ubuntu 11.10 :

compilgames.net/code/GameDev … Lubuntu.7z
compilgames.net/code/GameDev … subuntu.7z

Pour SFML, une décompression dans ExtLibs devrait suffire.
Pour wxWidgets, les projets des extensions pour Linux n’utilisent pas directement les bibliothèques, mais une méthode plus standardisée qui consiste à utiliser l’outil wx-config, qui génère automatiquement la liste des bibliothèques ou des chemins d’inclusions suivant ce qu’on lui demande. Dans tous les cas, décompresse aussi wxWidgets dans le dossier ExtLibs. Ensuite, avec un peu de bol, il suffira de lancer un terminal, d’aller dans le dossier de wxwidgets et de faire “sudo make install” pour copier automatiquement tous les headers et bibliothèques là où il faut. Si jamais le makefile est capricieux car le dossier a changé de place alors :
-Soit il faut adapter le projet de l’extension pour ne pas utiliser wx-config et faire référence directement aux bibliohtèques. C’est un peu galère car wxwidgets dépend aussi de fichiers relatifs à GTK+, et ce qui est pratique avec wx-config est que cet utilitaire s’occupe déjà de ça.
-Soit tu recompile toi même wxwidgets ( Dans le dossier de wxwidgets, tu fais “sudo make clean” pour tout effacer, puis tu recompile : “./configure”, puis “make” et une fois que c’est terminé “sudo make install” et là ça marchera donc ).

Si on arrive à quelque chose qui marche, je mettrai ça sur la page du site consacrée au SDK.

EDIT : J’ai testé en renommant mon répertoire, et je n’arrive alors plus à faire sudo make install.
Donc à priori, il va falloir recompiler wxwidgets. C’est pas très difficile : “./configure”, puis “make clean” ( normalement y a pas besoin mais c’est pour s’assurer que les fichiers que j’avais compilé chez moi ne vont pas interférer dans le processus ), puis “make” et enfin “sudo make install”.

Merci :slight_smile: (et merci à WxWidget… :astonished: )
Et pour la GDL ?

Bon, ça marche, mais j’ai un problème avec wxString::mb_str() (ce qui permet de convertir les wxString en char*).
Sous Linux, ça renvoit un wxScoppedCharBidule et sur Windows, ça me renvoit char*.
Je suis obligé de rajouté .release() derrière sous Linux pour que ça marche.

Houlà, je sais pas trop ce que ça fait, mais ça me fait penser à quelque chose qui va libérer l’objet en mémoire ( genre un pointeur intelligent qui va libérer sa ressource ).
Normalement, en utilisant ToString() que j’ai déclaré dans GDL/CommonTools.h, tu devrais pouvoir obtenir facilement une std::string depuis wxString. ( Il y a une spécialisation de ToString qui prend en paramètre une wxString nommé value, et qui ne fait que faire “return std::string(value.mb_str())” ).

Si tu veux pas passer par ToString, fait alors simplement std::string(taWxString.mb_str()) mais dans tous le cas, j’éviterai à tout prix ce “.release()”.

Ok, mais ça aurait pas un rapport avec l’encodage, regarde :

#if wxUSE_UTF8_LOCALE_ONLY const char* mb_str() const { return wx_str(); } const wxScopedCharBuffer mb_str(const wxMBConv& conv) const { return AsCharBuf(conv); } #else // !wxUSE_UTF8_LOCALE_ONLY const wxScopedCharBuffer mb_str(const wxMBConv& conv = wxConvLibc) const { return AsCharBuf(conv); } #endif // wxUSE_UTF8_LOCALE_ONLY/!wxUSE_UTF8_LOCALE_ONLY

On peut renvoyer char* avec mb_str() que si wxUSE_UTF8_LOCALE_ONLY…

Je me suis basé sur cette page : wiki.wxwidgets.org/Converting_ev … m_wxString

Je viens de voir d’ailleurs la présence de cette nouvelle fonction ToStdString, mais la manière de procéder comme je fais habituellement est bien décrite ici.

J’ai regardé le code de l’extesion de l’objet texte, le SDK a bien changé, il n’y a plus ce maudit triplet des conditions /actions pour récupérer, tester et modifier la variable d’un objet. C’est une grande amélioration. Et pour cause, maintenant les jeux ne sont plus interptrétés mais compilés en code machine, en binaire que l’ordinateur comprend directement. Je ne parle donc pas des performances acquises par les jeux.

Ah bon ? :laughing: :unamused:

:blush:

il serait temps de te mettre à jour ! ^^
Bon courage pour l’extension son :wink:

Merci. :slight_smile: