Raydium 3D Game Engine

Official forum for everything about Raydium, ManiaDrive, MeMak, ...
It is currently Thu Mar 28, 2024 10:48 am

All times are UTC




Post new topic Reply to topic  [ 32 posts ]  Go to page 1, 2, 3  Next
Author Message
PostPosted: Sat May 21, 2005 11:31 pm 
Offline
User avatar

Joined: Sun Mar 23, 2003 12:01 am
Posts: 27
Location: Puteaux
Salut,

Quelqu'un à testé la migration Php4->Php5 dans raydium ?


Top
 Profile  
 
 Post subject:
PostPosted: Sun May 22, 2005 9:27 pm 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
Nop, pas que je sache. Le test est effectivement intéressant.


Top
 Profile  
 
 Post subject:
PostPosted: Wed May 25, 2005 9:11 pm 
Offline
User avatar

Joined: Sun Mar 23, 2003 12:01 am
Posts: 27
Location: Puteaux
Bon j'ai testé .. la compile fonctionne :P

Juste 2/3 petites modifs :

Dans le fichier 'Makefile' :

Remplacer ligne 12 :

Code:
 OTHER_LIBS =  ode/lib/libode.a php/libs/libphp4.a


Par :

Code:
 OTHER_LIBS =  ode/lib/libode.a php/libs/libphp5.a



Dans le fichier 'configure' :

Remplacer lige 285 ;

Code:
 if [ -f "php/libs/libphp4.a" ]; then


Par :

Code:
 if [ -f "php/libs/libphp5.a" ]; then




Dans le fichier 'raydium/php.c' :

Remplacer ligne 237 :

Code:
zend_register_functions(raydium_register_function_list,CG(function_table), MODULE_PERSISTENT);


par :

Code:
zend_register_functions(NULL,raydium_register_function_list,CG(function_table), MODULE_PERSISTENT);



Dans le fichier 'raydium/register.c'

Commenter les lignes 206 & 210 :
Code:
 206 //raydium_register_function_list[raydium_register_function_index].func_arg_types=NULL;
    207 raydium_register_function_index++;
    208 raydium_register_function_list[raydium_register_function_index].fname=NULL;
    209 raydium_register_function_list[raydium_register_function_index].handler=NULL;
    210 //raydium_register_function_list[raydium_register_function_index].func_arg_types=NULL;


Last edited by PRoSPeRe on Wed May 25, 2005 9:32 pm, edited 1 time in total.

Top
 Profile  
 
 Post subject:
PostPosted: Wed May 25, 2005 9:22 pm 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
Très intéressant ! Tu as eu moyen de faire quelques tests pour voir si tout ça tournait comme avec la version 4 ?
Si c'est le cas, on va faire le changement "officiellement" : doc du wiki et téléchargements du fichier "configure".

Rien à voir mais presque : je suis tombé amoureux de Subversion, et je vais tenter de mettre ça en place dès que je retrouve un accès au net :)


Top
 Profile  
 
 Post subject:
PostPosted: Thu May 26, 2005 10:28 am 
Offline
User avatar

Joined: Sat Dec 18, 2004 9:06 pm
Posts: 101
Location: France - Isère (38)
Ca serait bien d'avoir php5 ...
Car il y a vraimment de nouvelles choses très intéressantes. Notament du coté des exceptions ...
Maintenant, j'ai du mal a faire du code php4. Et lorsque c'est compatible php4, c'est uniquement pour php4.3

Je dis ca mais je pense que je n'utiliserais pas php lorsque j'utiliserais raydium. Je vais tenter de faire une application utilisant lua, j'ai déja le squelête

http://www.lua.org
Petit, extensible, rapide ... plein de qualités.
Et l'interface avec les programmes en C est très pratique. Tout se fait autour de piles. On empile et on dépile les éléments dont on a besoin.


Top
 Profile  
 
 Post subject:
PostPosted: Thu May 26, 2005 11:14 am 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
Lua est en effet très répandu dans le monde du scripting des jeux vidéo (cf Far Cry, par exemple)... On en avait pas mal parlé avec les membres de Nekeme, au dernier festival Scopitone.

Mais il fait beaucoup moins de choses que PHP :)


Top
 Profile  
 
 Post subject:
PostPosted: Thu May 26, 2005 12:09 pm 
Offline
User avatar

Joined: Sat Dec 18, 2004 9:06 pm
Posts: 101
Location: France - Isère (38)
Par contre, il me semble que j'ai réussi a différencier avec lua un environnement protégé (sans fonctions sensibles, IO, ...) d'un environnement privilégié (pour les lib installées localement qui peuvent avoir besoin des fonctions sensibles).
Mais je n'ai pas testé.

Sinon, l'intégration vers le language C semble bien mieux documentée, contrairement à PHP (pas trouvé de doc).
Et je dois dire qu'utiliser lua est très agréable.

Pour différencier mes deux environnements, tout repose sur une fonction import() à créer qui:
- détermine si la lib a inclure est autorisée a accéder aux fonctions privilégiés ou non.
- créer un autre environnement lua (privilégié ou non)
- dans cet environnement, inclure la lib
- récupérer l'objet qui nous intéresse dans la pile
- copier cet objet dans l'environnement principal (lua_xmove)
edit: après test cela ne fonctionne pas


Top
 Profile  
 
 Post subject:
PostPosted: Fri Apr 21, 2006 9:17 pm 
Offline

Joined: Fri Mar 17, 2006 12:41 pm
Posts: 46
Location: Gif/Yvette, France
Je remet au gout du jour ce sujet, puisque j'ai fais les quelques modifs pour permettre l'utilisation de PHP5, et j'en ai profité pour placer les besoins locaux de Raydium (ODE et PHP) dans le sous-répertoire raydium/ ; ca a l'air de marcher sans problèmes. J'ai abondemment modifié le configure, qui est maintenant censé etre plus "malin".

Choses que j'ai laissé de coté :

-- URL de sources de PHP5 "toujours a jour" comme le "php4-LATEST.tar.gz" (ou un truc du genre) qui etait utilisé. Et non, php5-LATEST.tar.gz, ca marche pas ;)
-- j'ai du trancher dans le lard pour les librairies XML (problemes au link), ce qui m'a empeché de compiler PEAR, ce qui est dommage. Je n'ai pas enqueté, je voulais surtout tester si ca marchait. --EDIT-- heu du coup, nusoap marche pu... je regarde plus en détails demain

-- ostatcomp.sh est susceptible de ne pas marcher vu que je n'arrive pas a tester le link statique.

Ce que ca permet :

-- Programmation objet dans les scripts ;)
-- A terme, se débarasser de certains trucs encombrants (NuSOAP, cURL)
-- Ranger un peu le répertoire racine
-- Montrer qu'avec un peu de patience, on peut déplacer les trucs ;)

Je commite dès que vous etes OK.

_________________
Phyce


Top
 Profile  
 
 Post subject:
PostPosted: Fri Apr 21, 2006 10:28 pm 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
A partir du moment ou le niveau de fonctionnalité est au moins égal à ce que l'on a avec PHP4, ça me va.

Quelques remarques et questions avant que l'on se pose la question du commit (faudrait pas faire ça dans l'urgence non plus :) ) :

URL de la dernière version de PHP 5.1 : http://snaps.php.net/php5.1-latest.tar.gz

Tu as eu à appliquer les modifs données plus haut par Prospere pour register.c ?

Quel genre de modifications rendent le configure plus intéressant (curiosité pure :) )?

N.B : j'avoue qu'imaginer ODE et PHP dans le rep raydium/, ça me gêne ... ce ne sont pas des sources "à nous". Elle vont se retrouver dans des sous-répertoires de celui qui contient les sources de Raydium. Ça ne me semble pas logique. Peut être faudrait-il pousser les sources de Raydium dans un sous répertoire aussi (genre src, lib, ray, raydium, ...).

( exemple pour illustrer : )
raydium/php/
raydium/ode/
raydium/raydium/ (sources)
raydium/lib/ (lib compilée)
raydium/rayphp/
mania_drive/
demos/ (test6, train, ...)
kinghill2/
...

J'ai ici utilisé le même style que celui d'ODE.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Apr 22, 2006 8:57 am 
Offline

Joined: Fri Mar 17, 2006 12:41 pm
Posts: 46
Location: Gif/Yvette, France
Tu as eu à appliquer les modifs données plus haut par Prospere pour register.c ?
oui
Quel genre de modifications rendent le configure plus intéressant (curiosité pure)?
Le configure détecte si PHP et ODE sont déja installés et compilés, et les installe "automagiquement" à la première install. On peut forcer la réinstall avec --force-ode-install par exemple. Il gère la migration vers le nouveau répertoire. Il ecrit toutes les sorties de la compilation dans le configure.log, avec un petit en-tete pour chaque test, histoire d'avoir une jolie sortie écran.

Pour ton organisation, ok (je serais alors partisant du sous répertoire src/, histoire de pas avoir 3 répertoires raydium/raydium/raydium dans certains paths ;) )
Par contre c'est pas obligé de se faire dans le meme commit.

_________________
Phyce


Top
 Profile  
 
 Post subject:
PostPosted: Sat Apr 22, 2006 10:49 am 
Offline

Joined: Fri Mar 17, 2006 12:41 pm
Posts: 46
Location: Gif/Yvette, France
Le problème avec libXML2 est réglé (encore une dépendance, -lxml2).

_________________
Phyce


Top
 Profile  
 
 Post subject:
PostPosted: Sat Apr 22, 2006 2:26 pm 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
Si tes tests sont OK, n'hésite pas pour le commit qu'on valide tout ça.
Le seul détail est que les déclarations ".func_arg_types" doivent disparaitre partout (je vas voir ça après ton commit).


Top
 Profile  
 
 Post subject:
PostPosted: Sun Apr 23, 2006 12:28 pm 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
Bon boulot !

Quelques problèmes cependant, de ce que j'en ai vu pour l'instant :
- ostatcomp.sh est HS
- ManiaDrive aussi (webservices)

Je me penche sur tout ça.


Top
 Profile  
 
 Post subject:
PostPosted: Sun Apr 23, 2006 12:46 pm 
Offline

Joined: Fri Mar 17, 2006 12:41 pm
Posts: 46
Location: Gif/Yvette, France
- ostatcomp.sh est HS

Ca, c'est bien possible, j'ai pas mal de problèmes avec : mes librairies système sont compilées avec pas mal d'interdépendance (par exemple, mon probleme avec OpenAL vient du fait qu'il dépend de SDL et libMPEG, plus des problemes avec libcrypt / libssl)...

- ManiaDrive aussi (webservices)

Par contre, je viens d'y rejouer (avec la compile dynamique, et en recompilant mania2.static en dynamique aussi) et tout est OK chez moi.

_________________
Phyce


Top
 Profile  
 
 Post subject:
PostPosted: Sun Apr 23, 2006 12:54 pm 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
Pour ostatcomp.sh, je viens de régler le problème (interdépendance entre libssl et libcurl). Par contre, pour ManiaDrive, je suis assez étonné : Tes scores fonctionnent ? Par exemple, quand tu cliques dans le menu "Internet Tracks" sur "Get best time", tu as un score ?

De mon coté, j'ai ceci
Quote:
Fatal error: Cannot redeclare class soapclient in /home/xfennec/opengl/nusoap/nusoap.php on line 7240

... ce qui dans l'idée reste normal puisque nous devons maintenant utiliser le support SOAP natif de PHP5 et non NuSOAP.

Il y a aussi sans doute pas mal de boulot à réaliser pour win32.


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

All times are UTC


Who is online

Users browsing this forum: No registered users and 38 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:  
cron
Powered by phpBB® Forum Software © phpBB Group