Raydium 3D Game Engine

Official forum for everything about Raydium, ManiaDrive, MeMak, ...
It is currently Sun Apr 28, 2024 6:37 pm

All times are UTC




Post new topic Reply to topic  [ 42 posts ]  Go to page Previous  1, 2, 3  Next
Author Message
 Post subject:
PostPosted: Thu Jun 02, 2005 4:18 pm 
Offline
User avatar

Joined: Sat Dec 18, 2004 9:06 pm
Posts: 101
Location: France - Isère (38)
A mon avis, Xfennec sera ravi d'inclure des patchs qui permettent de compiler raydium sous Windows ... même sans php.
Car php n'est pas forcément nécessaire, il me semble. C'est un plus mais pas obligatoire.

Après, tout dépend de ce que tu as besoin de faire. Si tu veux un language de script facile, il y a lua (je fais un peu de pub) que je trouve très bien et facile a interfacer avec du code C.
J'ai commencé a faire une lib raydium pour lua. Bien qu'incomplète.


Top
 Profile  
 
 Post subject:
PostPosted: Thu Jun 02, 2005 10:47 pm 
Offline
User avatar

Joined: Wed Jun 01, 2005 3:07 pm
Posts: 48
Location: ALBI (81)
Hihi, c'est amusant car j'ai commencé cet après-midi à porter l'appli en C sous windows et je comptais y inclure LUA pour le script à la place de PHP.

Ensuite, ça va déplaire aux puristes, mais je comptais passer au C++ en modélisant tout sous forme d'objets car je trouve cela plus facile à manipuler.

Je vais tenter de comprendre tout le boulot qui a été fait pour pouvoir moi aussi participer à son évolution. Mais ma version restera une version bâtarde car j'y travaille seul. Si cela intéresse certain, avec l'accord de Raydium Team, on pourra envisager un tirage limité en attendant une version plus officielle sous Windows.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jun 03, 2005 10:27 am 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
Pour la couche C++, même si ça demande un peu plus de boulot au début, je pense que ton intérêt est d'arriver à créer une surcouche objet à Raydium qui soit indépendante du core de Raydium ("bindings C++"), de facon à ce qu'elle puisse être intégrée au fur et à mesure de ses évolutions. Ca t'offre aussi la possibilité (énorme et important, à mon sens) de pouvoir disposer des mises à jour de Raydium sans avoir à passer 15 heures pour intégrer tes modifs dans ces nouvelles versions.
Cette couche objet est en plus tout à fait intéressante pour Raydium (si elle est maintenue), et personne ici n'est "puriste" au point de rejeter tout ce qui n'est pas écrit en C :)

Et pour Lua, votre intérêt à vous deux et de vous mettre d'accord pour une interface commune, à mon avis :)


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jun 03, 2005 10:31 am 
Offline
User avatar

Joined: Sat Dec 18, 2004 9:06 pm
Posts: 101
Location: France - Isère (38)
En C++, je ne suis pas sure que ca passe dans la version principale ...
Pour LUA, j'aimme bien car c'est le seul language où j'ai réussi a faire un environnement d'execution restreint (et c'est vital pour ce que je compte faire).
Sinon, c'est très bien.

Par contre, je me demande comment tu comptes faire pour intégrer tes objets lua en c++. Perso, je préfère créer mes objets du coté du script lua et laisser raydium en C.
Et en plus, on ne pourra pas utiliser ton raydium en c++ pour coder des projets en C. Alors qu'on peut toujours inclure une lib en C sur un projet C++.

Si tu veux une couche objet en C++, je pense que ce serait mieux de garder raydium en C et de faire une surcouche en C++.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jun 03, 2005 11:47 am 
Offline
User avatar

Joined: Sat Dec 18, 2004 9:06 pm
Posts: 101
Location: France - Isère (38)
Je n'avais pas vu ton commentaire, Xfenec. (posts croisés)

Pour lua, je met mon code source sur mon site ...
L'interface est très proche de celle proposée par raydium à l'origine. D'ou le nom du namespace: "rawraydium". Je compte faire une couche objet en lua qui permettrait de coder plus facilement.
Je n'ai pour le moment fait que le strict minimum pour le 1er tutorial. Incomplet donc.

Sur mon site:
Le code en C de raydium pour lua
Le code lua
Environnement restreint en Lua si ca intéresse quelqu'un
Miroir: http://mildred632.free.fr/projets/raydium/dir/ (mis a jour toutes les 30min)


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jun 03, 2005 12:49 pm 
Offline
User avatar

Joined: Wed Jun 01, 2005 3:07 pm
Posts: 48
Location: ALBI (81)
Merci à vous deux,
Vous avez certainement raison pour la couche C++, c'est un peu comme cela que j'envisageais les choses.
Cependant, y-a trop de trucs qui ne passe pas sous mon compilateur que j'ai du pas mal retoucher le code.... mais suis super content et grandement respecteux de votre boulot, car j'ai réussi à lancer mon premier .tri et cela fonctionne très bien !!!
Pour l'instant, j'ai encore mis de coté beaucoup d'éléments (ode, php, sons, ...) mais je les intègre au fur et à mesure.
Vous auriez svp un lien vers cocorobix.tri, car je ne le trouve plus sur WVS.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jun 03, 2005 1:07 pm 
Offline
User avatar

Joined: Sat Dec 18, 2004 9:06 pm
Posts: 101
Location: France - Isère (38)
Le fichier est ici: http://mildred632.free.fr/projets/raydium/dir/wotgame/temp/

Pour le récupérer, j'ai regardé les sources php du script qui télécharge tout ces fichiers du repository raydium.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jun 03, 2005 1:35 pm 
Offline
User avatar

Joined: Wed Jun 01, 2005 3:07 pm
Posts: 48
Location: ALBI (81)
C'est super, merci, ça marche vraiment bien... pas que j'avais des doutes, mais entre voir des trucs compilés et les recompiler soi-même, y-a pas photo. C'est trop génial. Je vais continuer à incorporer les éléments.

Mais plus le temps passe, plus je m'éloigne du code source d'origine. Me faudra bien réfléchir pour voir comment je peux faire. Car j'ai modifier tous les fichiers de façon à pouvoir construire une librairie... Je verrai bien. Déjà, j'intègre tout et je vois ensuite, j'ai besoin d'expérimenter un peu le moteur avant de prendre des décisions. L'idéal serait de rester compatible avec vous.

Pour LUA, je n'ai jamais codé avec - je vais devoir l'apprendre. je me baserai sur tes travaux Mildred. ENCORE merci à tous, et à charge de revanche, je compte bien développer des outils et portions de codes que je partagerai avec la communauté Raydium. [/img]


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jun 03, 2005 1:54 pm 
Offline
User avatar

Joined: Wed Jun 01, 2005 3:07 pm
Posts: 48
Location: ALBI (81)
Mildred, j'ai regardé aussi le php et j'ai trouvé un site FTP sur port 29, avec plein de truc dedans.
J'ai pas trouvé les fichiers tri. Comment as-tu fait pour les trouver ? Je te demande ça car je suis au tutoriel 2 et j'aurais voulu tester clio.tri


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jun 03, 2005 2:51 pm 
Offline
User avatar

Joined: Wed Jun 01, 2005 3:07 pm
Posts: 48
Location: ALBI (81)
Après recherche, je vois que l'équipe a pensé à tout, avec ces R3S, il est donc possible de downloader automatiquement un fichier tri et ce qui va avec. je comprends mieux pourquoi la routine de chargement dans file.c contient une petite ligne de PHP... Mais bon, j'ai été obligé de la sucrer car j'arrive pas à recompiler PHP sous Windows... Y-a un autre moyen d'accéder au repository en download ?


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jun 03, 2005 3:10 pm 
Offline
User avatar

Joined: Sat Dec 18, 2004 9:06 pm
Posts: 101
Location: France - Isère (38)
Dans rayphp/getfile.php:
Code:
$req="$repos?file=$file&type=getGzip";

On voit ausi un fichier repositories.list:
Code:
# main:
http://repository.cqfd-corp.org/raydium/

J'en déduis qu'en allant a cette adresse, on peut voir la liste des fichiers.
Et a cette adresse, on peut télécharger clio.tri

Bien sûr, ton fichier est gzippé. Il te faut le dégzipper.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jun 03, 2005 3:56 pm 
Offline
User avatar

Joined: Wed Jun 01, 2005 3:07 pm
Posts: 48
Location: ALBI (81)
Ok merci beaucoup,
j'ai tout réccupéré, ça fonctionne, j'intègre ODE.
Au fait, j'ai souvent en C++ le problème suivant :

void (*f)(int);
...
f=raydium_ode_joint[joint].OnDelete;

cela me donne :
error C2440: '=' : cannot convert from 'void *' to 'void (__cdecl *)(int)'

J'avoue ne pas arriver à enlever le problème. Tu as une idée ?


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jun 03, 2005 6:14 pm 
Offline
User avatar

Joined: Sat Dec 18, 2004 9:06 pm
Posts: 101
Location: France - Isère (38)
la ligne
Code:
void (*f)(int);

définit une fonction f renvoie un pointeur dans le vide et prend un int en paramètre. J'ai juste ?
Ensuite, je ne comprends pas comment on peut assigher une valeur à une fonction (f=...).

Soit je n'ai pas compris le code (fort possible), soit il y a une erreur.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jun 03, 2005 7:56 pm 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
Code:
void (*f)(int);

Cela signifie : f est un pointeur sur une fonction avec un retour void et un argument int. Raydium stocke ses pointeurs sur fonctions dans des "void *" (pointeurs sans type) et restore le type juste avant l'appel. Ton problème est que Visual C++ est définitivement incapable de respecter un standard.
En clair, la solution est un truc basé sur un bête cast du genre :
Code:
f=(void (*)(int))raydium_ode_joint[joint].OnDelete;


... par contre, tu risques d'en rencontrer beaucoup !
Regarde aussi (plutot ?) du coté des options de compilation de VC++ (et vérifie que tu ne compile pas en "mode" C++, qui lui n'accepte pas ces écritures).


Top
 Profile  
 
 Post subject:
PostPosted: Mon Jun 06, 2005 7:39 am 
Offline
User avatar

Joined: Wed Jun 01, 2005 3:07 pm
Posts: 48
Location: ALBI (81)
Chapeau,
Sans la fonction, tu as réussi à trouver la syntaxe exacte alors que j'ai galéré pour la faire fonctionner. Remarque, je ne connaissais pas cette forme de conversion avec passage des paramètres de fonction.
Merci beacuoup - en effet, il y en a beaucoup, mais je vais tous les faire.
Je vous tiens tous au courant.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 42 posts ]  Go to page Previous  1, 2, 3  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 178 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group