Game Develop 2.1.10822 SDK

Le SDK ( toujours à la même adresse, voir le sujet général ici : viewtopic.php?f=27&t=3401 ) pour la dernière version est disponible.
J’ai amélioré un peu la documentation de GDL en rangeant les classes par modules ( voir le fichier help.chm > Modules ) pour avoir une vision plus globale des choses et surtout avoir la liste des classes qui nous intéressent vraiment. Toujours au niveau de la doc, j’ai ajouté un mot sur comment configurer un environnement de développement sous linux.

Game Develop Core et adaptations des extensions

La bibliothèque Game Develop Core fait son apparition. Elle est toujours en cours de développement mais déjà utilisée par certaines parties de l’IDE ou de GDL.
Je vous renvoie à sa documentation et à la petite page qui y est consacrée dans la documentation de GDL ( Voir “A word about Game Develop Core” ).

Il faut procéder à quelques adaptations au niveaux des extensions :
*Au niveau des projets, il faut ajouter :
-Dans les options générales de compilation de l’extension > Search directories > Ajouter le chemin “…\Core”.
-Pour les “cibles” de compilation qui n’ont pas de rapport avec l’IDE : Rien ( Le chemin précédent ne les concerne pas, mais c’est plus simple de le mettre pour tout le monde )
-Pour les “cibles” de compilation pour l’IDE ( “Edittime” ) : Ajouter dans Linker Settings > Other linker options : “-lGDCore”.
-Enfin, toujours pour ces cibles de compilation pour l’IDE : Ajouter dans Compiler Settings > #defines : GD_CORE_API=__declspec(dllimport) pour Windows OU GD_CORE_API="" pour Linux.

*Certaines classes de GDL ont été transférées dans GDCore : Vous pouvez faire un tour dans GDCore pour voir rapidement ce qu’on y trouve, puis tenter de recompiler votre extension. Si il y a un fichier d’include non trouvé au niveau de GDL, remplacez l’include par le nouveau chemin “GDCore/…”. Prenez exemple sur les extensions officielles ou demandez moi si vous ne retrouvez plus quelquechose ou si quelque chose ne compile plus. A noter que dans GDCore, tout est dans le namespace gd.
De plus, tout include qui fait référence à GDCore doit être entouré par #if defined(GD_IDE_ONLY) … #endif car GDCore n’est uniquement disponible que lors de la compilation pour l’IDE. ( Voir plus d’explications au niveau de la page “A word about Game Develop Core” dans help.chm )

*Dernière petite chose, j’ai fait un peu de ménage dans certains headers, ne vous étonnez pas si vous devez rajouter quelque includes.

Au final, il ne devrait pas y avoir tant que ça de changement à faire malgré tout mon baratin, et si il y a un soucis je suis là :slight_smile:
Il n’y a pas de mise à jour de bibliothèque à faire, j’ai mis à jour LLVM mais ça ne concerne pas les extensions.

Ça marche bien. Tu as juste oublié #if defined(GD_IDE_ONLY) #endif autour de gd::ArbitraryResourcesWorker.

Oui justement c’est voulu :slight_smile:
Je pense retirer tous ces #if defined(GD_IDE_ONLY) #endif dans GDCore ( il n’y en a déjà pratiquement plus du tout en fait ) car la bibliothèque est de toute façon uniquement destiné à un usage “pour l’IDE” : D’où le fait qu’il faut entourer soit même les include qui concernent GDCore par des #if defined(GD_IDE_ONLY) #endif si jamais on en utilise dans les extensions.
Mais bon, c’est pas grand chose et puis ça permet de bien distinguer ce qu’on peut utiliser quand on compile ou non pour l’IDE.