Compilation Ubuntu 16.04

Si vous n'arrivez pas à accéder au jeu, si vous avez des problèmes d'utilisation du jeu, c'est ici qu'il faut poster !
Chojin
Messages : 4
Inscription : 27 août 2016, 22:04

Compilation Ubuntu 16.04

Message par Chojin »

Salutations,

pour réussir à compiler le jeu sous Ubuntu 16.04, voici une petite procédure.
Celle-ci remplace en partie https://doc.ubuntu-fr.org/landes_eternelles

1/ Télécharger le client du jeu (voir page d'accueil) puis décompresser le jeu (On appellera le rép ~/LandesEternelles)
2/ Télécharger le code source du client du jeu (voir page d'accueil) puis décompresser celui-ci dans un répertoire distinct (On appellera le rép ~/LandesEternelles-source)
3/ Installer les paquets requis

Code : Tout sélectionner

sudo apt-get install libxml2-dev libsdl1.2-dev libopenal-dev libogg-dev libsdl-net1.2-dev libvorbis-dev libsdl-image1.2-dev libcal3d12-dev libxslt1-dev g++ build-essential patchutils patch
4/ Sauvegarder les patches suivants en tapant exactement ces commandes
a/ Patch minimap.c

Code : Tout sélectionner

cd ~/LandesEternelles-source
cat > minimap.c.diff
--- minimap.c.old	2014-10-24 22:13:58.000000000 +0200
+++ minimap.c	2016-08-27 17:56:15.021816440 +0200
@@ -84,7 +84,7 @@
 	glTranslatef(-x,-y,0.0f);
 }
 
-__inline__ void rotate_at_player(float zoom_multip, float px, float py)
+static __inline__ void rotate_at_player(float zoom_multip, float px, float py)
 {
 	float x,y;
 	x = (px - (float_minimap_size/2) );
@@ -100,7 +100,7 @@
 	glTranslatef(-x,-y,0.0f);
 }
 
-__inline__ void rotate_click_coords(float * x,float * y)
+static __inline__ void rotate_click_coords(float * x,float * y)
 {
 	if(rotate_minimap)
 	{
@@ -113,7 +113,7 @@
 	}
 }
 
-__inline__ int is_within_radius(float mx, float my,float px,float py,float radius)
+static __inline__ int is_within_radius(float mx, float my,float px,float py,float radius)
 {
 	float distance;
appuyer sur CTRL et D en même temps pour terminer cette procédure

b/ Patch weather.c

Code : Tout sélectionner

cd ~/LandesEternelles-source
cat > weather.c.diff
--- weather.c.old	2014-10-24 22:13:58.000000000 +0200
+++ weather.c	2016-08-27 17:57:37.154191062 +0200
@@ -122,7 +122,7 @@
 // array used to build coordinates of quads to display particles
 float weather_particles_coords[MAX_RAIN_DROPS*20];
 
-__inline__ float next_random_number()
+static __inline__ float next_random_number()
 {
 	last_random_number = (last_random_number+1)%RANDOM_TABLE_SIZE;
 	return random_table[last_random_number];
@@ -297,7 +297,7 @@
 	}
 }
 
-void __inline__ make_drop(int type, int i, float x, float y, float z)
+static void __inline__ make_drop(int type, int i, float x, float y, float z)
 {
 	weather_drops[type][i].pos1[0] = x + 16.0f * RAND_ONE - 8.0f;
 	weather_drops[type][i].pos1[1] = y + 16.0f * RAND_ONE - 8.0f;
appuyer sur CTRL et D en même temps pour terminer cette procédure

5/ Appliquer les patches

Code : Tout sélectionner

cd ~/LandesEternelles-source
patch -p0 < minimap.c.diff
patch -p0 < weather.c.diff
6/ Compiler

Code : Tout sélectionner

cd ~/LandesEternelles-source
make -f Makefile.linux
7/ Copier le binaire compilé
Nous supposons que votre binaire s'appelle le.X86_64.linux.bin

Code : Tout sélectionner

cp -p ~/LandesEternelles-source/le.X86_64.linux.bin ~/LandesEternelles/
Enjoy :-)

Avatar de l’utilisateur
tosh
Messages : 2356
Inscription : 01 sept. 2007, 01:09
Localisation : Quelque part sur la planete Terre.

Re: Compilation Ubuntu 16.04

Message par tosh »

Merci pour le petit tutoriel. J'ai appliqué ton patch sur le SVN :) .
Guerrier dans l'âme.

Membre de l'équipe.
Développeur Client & Serveur.

Breche
Messages : 10
Inscription : 23 sept. 2017, 09:03

Re: Compilation Ubuntu 16.04

Message par Breche »

J'ai recommencé la procédure complète écrite par Chojin (Compilation Ubuntu 16.04). Donc télécharger LandesEternellesLinux et le client, puis les décompresser avec création de 2 répertoires différents. Ensuite j'ai applique le patch sur les deux fichiers du répertoire client_sources (Patch minimap.c et Patch weather.c).

Le fichier binaire " le.****.bin " se crée bien. Je le copie ensuite dans le répertoire du jeu (LandesEternellesLinux).

Ensuite, dans le terminal, je tape la commande pour démarrer le jeu qui apparaît enfin.
Mon personnage s'appelle Robain.


Donc merci pour votre aide car c'est résolu pour l'installation du jeu.
Mon erreur: Dans le patch des deux fichiers " *.c " je n'avais pas procédé en 2 étapes je pense, d'abord taper la commande:
cat > minimap.c. l'exécuter;
puis dans un deuxième temps recopier le texte contenu dans la commande et terminer par ctrl D.
Idem pour le weather.c

Question: peut-on lancer le jeu autrement que par le terminal?

Répondre