Ca a été long, compliqué et chiant, mais je pense ne plus être très loin de la vérité : les bindings Python pour Raydium fonctionnent !
Va faire une image sexy pour montrer du Python, toi …
http://raydium.cqfd-corp.org/svn.php?f=/trunk/raydium/swig/test.py
Concrétement, ça signifie qu’il est possible d’écrire des applications Raydium non plus uniquement en C/C++, mais aussi en Python, langage de script particulièrement à la mode (Battlefield 2, Vampire: Bloodlines, …).
Pour donner une idée de la complexité de la tâche, il faut savoir que Raydium propose plus de 550 fonctions, utilise pas mal de callback et de bizarreries bien spécifiques au langage C…
L’utilisation de SWIG (http://www.swig.org/) est d’une grande aide pour ce genre de tâches, et ouvre la porte à des bindings pour d’autres langages intéressants, comme Perl et Java, même si une partie du travail effectué pour Python est à refaire pour chacun de ces langages.
Les bindings ne sont pas "figés", puisqu’ils sont générés avec un script PHP qui analyse les sources de Raydium pour créer le fichier d’interface. En résumé, c’est un script PHP qui permet d’écrire des applications en Python pour un moteur écrit en C qui utilise PHP pour la console (et d’autres bidules, comme le téléchargement automatique de textures, modèles, sons, …) … heureux brassage culturel 🙂
La suite du programme : trouver un testeur Python, porter le tout sous windows, tenter le coup avec Java, faire une version "light" de Raydium pour la PSP et continuer mes bidules en papier (cf article précédent).
PS : Je lance au passage un merci aux divers gens qui m’ont contacté par mail ces derniers temps.
Laisser un commentaire
Vous devez vous connecter pour publier un commentaire.