A Propos des meilleurs champion et de leur source.

Rhaaaaa je suis maudit. :(

Pour l'histoire, on a eu l'idée avec un Belge de se faire un ptit duel sur le sujet de 2008. Du genre on code chacun une IA de notre côté, essayant de faire mieux que l'autre, pendant une durée indéterminée.

Problème, là, le sujet de 2008 non plus ne veut pas compiler.

1
2
3
4
5
make[4]: entrant dans le répertoire « /home/bastien/programmation/stechec-2010/prologin/prolo2008/editor »
g++ -DHAVE_CONFIG_H -I. -I../../..    -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -g -O2 -pipe -MT map_editor-Editor.o -MD -MP -MF .deps/map_editor-Editor.Tpo -c -o map_editor-Editor.o `test -f 'Editor.cpp' || echo './'`Editor.cpp
g++ -DHAVE_CONFIG_H -I. -I../../..    -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -g -O2 -pipe -MT map_editor-SpriteMgr.o -MD -MP -MF .deps/map_editor-SpriteMgr.Tpo -c -o map_editor-SpriteMgr.o `test -f 'SpriteMgr.cpp' || echo './'`SpriteMgr.cpp
Editor.cpp: In function void GetMapSize(const char*):
Editor.cpp:59: error: invalid conversion from const char* to char*

Je m'attend pas à ce que vous corrigiez tout, mais j'suis sur que certains gentils membres de ce forum m'aideront à faire fonctionner le truc. :p

Edit : j'ai retiré le const dans la déclaration de la fonction. make me dit encore Erreur à la fin mais je ne la trouve pas, alors bon... J'ai fait l'install, à part que j'ai pas l'air d'avoir les libs de prolo2010 que j'avais aussi demandé je ne vois rien de choquant. Je verrai à l'usage.

Edit 2 : l'usage commence mal.
J'ai tenté de lancer generator :

1
2
3
4
5
6
bastien@Igloo:~/programmation/prolo2008$ generator player prolo2008 .
/opt/stechec/lib/stechec/ruby/gen/file_generator.rb:145:in `initialize': undefined method `each' for nil:NilClass (NoMethodError)
    from /opt/stechec/lib/stechec/ruby/gen/file_generator.rb:250:in `initialize'
    from /opt/stechec/lib/stechec/ruby/generator.rb:68:in `new'
    from /opt/stechec/lib/stechec/ruby/generator.rb:68:in `make_player'
    from /opt/stechec/lib/stechec/ruby/generator.rb:172

Ligne concernée : $conf['enum'].each do |x|
Donc c'est \$conf['enum'] qui vaut null alors qu'il devrait pas. J'investiguerai un peu plus une autre fois.

Et voilà la suite de mes aventures chocolatées \o/

J'ai réglé le problème du generator en rajoutant les sections enum et struct au .yml de Prolo2008. Donc là j'ai eu un dossier player utilisable.

J'ai eu un ptit problème avec le map_editor : il voulait chercher les images dans /opt/share alors que mon PREFIX est /opt/stechec, pas /opt. J'ai fait un ptit lien symbolique mais bon.

Ensuite, l'heure fut venue de faire marcher stechec... J'ai réussi à me faire un config.ini, il devrait être complet. Mon champion compile. J'ai remarqué que le fichier includes/main.cc avait pas mal de "prolo2010 specific", j'ai commenté tout ça comme j'ai pu, mais j'ai peur que ça ne suffise pas.

Parce que là, c'est le drame :

stechec: symbol lookup error: /home/bastien/programmation/prolo2008/cxx/champion.so: undefined symbol: api_pos_y

Les fonctions de l'API n'ont pas l'air d'etre trouvées. :( Avec un petit nm -C hamster.so , je vois un pos_y et un Api::pos_y(int), mais en effet pas d'api_pos_y.

Avec un ptit tour dans les sources de stechec, j'ai vu qu'il y avait des fonctions 'api_*' pour prolo2010, mais pas pour prolo2008.

Niveau compatibilité ascendante, c'est pas tout à fait ça on dirait :p

Edit : j'ai rajouté les fonction api_* dans l'interface.cc de prolo2008, tout en laissant certaines fonctions sans le api_ car sdlvisu en a besoin.
Maintenant le serveur se lance normalement, et après un bête test avec deplacer(), ça marche. VICTOIRE !

Répondre au sujet

Vous devez vous enregistrer ou vous connecter pour poster des messages.