<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ca">
	<id>http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=Open_Source_Videogames</id>
	<title>Open Source Videogames - Historial de revisió</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=Open_Source_Videogames"/>
	<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=Open_Source_Videogames&amp;action=history"/>
	<updated>2026-08-30T14:13:13Z</updated>
	<subtitle>Historial de revisió per a aquesta pàgina del wiki</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>http://wiki.joanillo.org/index.php?title=Open_Source_Videogames&amp;diff=254569&amp;oldid=prev</id>
		<title>Joan: /* Compilació a la RPi */</title>
		<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=Open_Source_Videogames&amp;diff=254569&amp;oldid=prev"/>
		<updated>2016-05-11T17:43:13Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Compilació a la RPi&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Pàgina nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__TOC__&lt;br /&gt;
=Introducció=&lt;br /&gt;
*https://en.wikipedia.org/wiki/2048_%28video_game%29&lt;br /&gt;
*https://libregamewiki.org/SDL_games&lt;br /&gt;
&lt;br /&gt;
=Jocs enllestits a la RPi=&lt;br /&gt;
==2048 puzzle==&lt;br /&gt;
*https://github.com/tondeur-h/2048-SDL/&lt;br /&gt;
*https://jeremy.hu/tag/2048/&lt;br /&gt;
El joc també es pot jugar online:&lt;br /&gt;
*http://gabrielecirulli.github.io/2048/&lt;br /&gt;
&lt;br /&gt;
És un joc popular per mòbil que hi ha una versió per a Linux i SDL. S'hauria d'adaptar a fullscreen i compilar-ho per la Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
Per compilar el projecte (són les comandes que s'executen en el ''make''):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
g++ -I/usr/include/SDL -O3 -Wall -c -fmessage-length=0 -MMD -MP -MF&amp;quot;AppGame.d&amp;quot; -MT&amp;quot;AppGame.d&amp;quot; -o &amp;quot;AppGame.o&amp;quot; &amp;quot;../AppGame.cpp&amp;quot;&lt;br /&gt;
g++ -I/usr/include/SDL -O3 -Wall -c -fmessage-length=0 -MMD -MP -MF&amp;quot;appnew.d&amp;quot; -MT&amp;quot;appnew.d&amp;quot; -o &amp;quot;appnew.o&amp;quot; &amp;quot;../appnew.cpp&amp;quot;&lt;br /&gt;
g++ -I/usr/include/SDL -O3 -Wall -c -fmessage-length=0 -MMD -MP -MF&amp;quot;globalVars.d&amp;quot; -MT&amp;quot;globalVars.d&amp;quot; -o &amp;quot;globalVars.o&amp;quot; &amp;quot;../globalVars.cpp&amp;quot;&lt;br /&gt;
g++ -I/usr/include/SDL -O3 -Wall -c -fmessage-length=0 -MMD -MP -MF&amp;quot;main.d&amp;quot; -MT&amp;quot;main.d&amp;quot; -o &amp;quot;main.o&amp;quot; &amp;quot;../main.cpp&amp;quot;&lt;br /&gt;
g++ -I/usr/include/SDL -O3 -Wall -c -fmessage-length=0 -MMD -MP -MF&amp;quot;sdl_widgets.d&amp;quot; -MT&amp;quot;sdl_widgets.d&amp;quot; -o &amp;quot;sdl_widgets.o&amp;quot; &amp;quot;../sdl_widgets.cpp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
g++ -L../ -o &amp;quot;2048&amp;quot;  ./AppGame.o ./appnew.o ./globalVars.o ./main.o ./sdl_widgets.o   -lSDL_image -lSDL_mixer -lSDL_gfx -lSDL -lSDL_ttf -lSDL_image&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
L'adaptació de codi persegueix els següents objectius:&lt;br /&gt;
*fullscreen&lt;br /&gt;
*no necessito per res el mouse, sinó les tecles de les meves màquines&lt;br /&gt;
*amb el botó ''3'' faig un moviment endarrere (també es podria fer dos moviments endarrere)&lt;br /&gt;
*corregir l'algorisme de quan es fusionen tres números iguals quan tiro a la dreta i a l'esquerra.&lt;br /&gt;
*posar música amb SDL_Mixer&lt;br /&gt;
*canviar la font&lt;br /&gt;
*jugar amb la geometria&lt;br /&gt;
*adaptar el disseny a què quedi un aspecte de màquina de bar anys 80.&lt;br /&gt;
*Eliminar botons i funcions que no necessito. Eliminar appnew.cpp&lt;br /&gt;
*afegir crèdits per tal de què no es pugui jugar si no tinc crèdits.&lt;br /&gt;
*Simplificar el codi al màxim i eliminar els arxius ''appnew.cpp'' i ''appnew.h''.&lt;br /&gt;
*Encara que guanyi, he de poder continuar la partida per intentar fer un nou ''high score''.&lt;br /&gt;
&lt;br /&gt;
'''TODO''':&lt;br /&gt;
*pàgina de presentació / títol del joc (2048)&lt;br /&gt;
*demanar permís a l'autor de codi original, i a la música&lt;br /&gt;
&lt;br /&gt;
Després d'eliminar el fitxer ''appnew.cpp'', les instruccions per compilar són: (''compilar1.sh'')&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
g++ -I/usr/include/SDL -O3 -Wall -c -fmessage-length=0 -MMD -MP -MF&amp;quot;AppGame.d&amp;quot; -MT&amp;quot;AppGame.d&amp;quot; -o &amp;quot;AppGame.o&amp;quot; &amp;quot;../AppGame.cpp&amp;quot;&lt;br /&gt;
g++ -I/usr/include/SDL -O3 -Wall -c -fmessage-length=0 -MMD -MP -MF&amp;quot;globalVars.d&amp;quot; -MT&amp;quot;globalVars.d&amp;quot; -o &amp;quot;globalVars.o&amp;quot; &amp;quot;../globalVars.cpp&amp;quot;&lt;br /&gt;
g++ -I/usr/include/SDL -O3 -Wall -c -fmessage-length=0 -MMD -MP -MF&amp;quot;main.d&amp;quot; -MT&amp;quot;main.d&amp;quot; -o &amp;quot;main.o&amp;quot; &amp;quot;../main.cpp&amp;quot;&lt;br /&gt;
g++ -I/usr/include/SDL -O3 -Wall -c -fmessage-length=0 -MMD -MP -MF&amp;quot;sdl_widgets.d&amp;quot; -MT&amp;quot;sdl_widgets.d&amp;quot; -o &amp;quot;sdl_widgets.o&amp;quot; &amp;quot;../sdl_widgets.cpp&amp;quot;&lt;br /&gt;
g++ -L../ -o &amp;quot;2048&amp;quot;  ./AppGame.o ./globalVars.o ./main.o ./sdl_widgets.o   -lSDL_image -lSDL_mixer -lSDL_gfx -lSDL -lSDL_ttf -lSDL_image&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
i si només modifico l'arxiu ''AppGame.cpp'': (''compilar2.sh'')&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
g++ -I/usr/include/SDL -O3 -Wall -c -fmessage-length=0 -MMD -MP -MF&amp;quot;AppGame.d&amp;quot; -MT&amp;quot;AppGame.d&amp;quot; -o &amp;quot;AppGame.o&amp;quot; &amp;quot;../AppGame.cpp&amp;quot;&lt;br /&gt;
g++ -L../ -o &amp;quot;2048&amp;quot;  ./AppGame.o ./globalVars.o ./main.o ./sdl_widgets.o   -lSDL_image -lSDL_mixer -lSDL_gfx -lSDL -lSDL_ttf -lSDL_image&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Per tal de modificar la geometria:&lt;br /&gt;
*coordenades i dimensions de la graella: AppGame.cpp&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//coordonnees grille&lt;br /&gt;
int ep=2;&lt;br /&gt;
int left=40;&lt;br /&gt;
int top=200;&lt;br /&gt;
int width=400;&lt;br /&gt;
int height=400;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*tamany de les fonts: AppGame.cpp&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	fontLarge=TTF_OpenFont(&amp;quot;homespun.ttf&amp;quot;,58);&lt;br /&gt;
	fontMedium=TTF_OpenFont(&amp;quot;homespun.ttf&amp;quot;,38);&lt;br /&gt;
	fontSmall=TTF_OpenFont(&amp;quot;homespun.ttf&amp;quot;,26);&lt;br /&gt;
    fontHalfSmall=TTF_OpenFont(&amp;quot;homespun.ttf&amp;quot;,21);&lt;br /&gt;
	fontVerySmall=TTF_OpenFont(&amp;quot;homespun.ttf&amp;quot;,14);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Posicionament dels botons:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	//best score&lt;br /&gt;
	drawBtn(200,100,200,20,&amp;quot;Best Score&amp;quot;,fontSmall,0,0,0,0,fgColor,false,false,false);&lt;br /&gt;
	//convertir chiffre en chaine de caracteres&lt;br /&gt;
	std::ostringstream sbs;sbs&amp;lt;&amp;lt; bestScore;&lt;br /&gt;
	drawBtn(200,130,260,40,sbs.str().c_str(),fontMedium,0,0,150,200,fgColor,false,false,false);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Fer sonar una cançó amb SDL_Mixer===&lt;br /&gt;
*http://ccpssolutions.com/nogdusforums/index.php?topic=429.0&lt;br /&gt;
&lt;br /&gt;
===Compilar el projecte a la Raspberry Pi B+===&lt;br /&gt;
Em faltava la llibreria:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt-get install libsdl-mixer1.2-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
El projecte s'executa a:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/pi/open_source/2048-SDL-Master/Release/2048&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Ri-li==&lt;br /&gt;
És un maze molt divertit. És de l'any 2006.&lt;br /&gt;
*https://libregamewiki.org/Ri-li&lt;br /&gt;
*http://ri-li.sourceforge.net/&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    bunzip2 Ri-li-2.0.1.tar.bz2&lt;br /&gt;
    tar -xpvf Ri-li-2.0.1.tar&lt;br /&gt;
    cd Ri-li-2.0.1&lt;br /&gt;
    ./configure&lt;br /&gt;
    make&lt;br /&gt;
    (in root user 'su root') make install&lt;br /&gt;
    Ri_li (Good game !)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Quan compilem:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
audio.cc:25:22: fatal error: iostream.h: El fitxer o directori no existeix&lt;br /&gt;
&lt;br /&gt;
Using standard C++ calling (note that you should use namespace std for cout or add using namespace std;)&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Els problemes de compilació en el portàtil que he trobat es solucionen posant ''#include &amp;lt;iostream&amp;gt;'' en comptes de ''#include &amp;lt;iostream.h&amp;gt;'', i ficant ''using namespace std;'' allà on ho demana.&lt;br /&gt;
&lt;br /&gt;
Un cop compilat amb ''make'', ja podem executar-lo:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ src/Ri_li&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
però protesta perquè no troba el fitxer ''language.dat''. Això és fàcil de solucionar si fem:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo make install&lt;br /&gt;
$ Ri_li&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
doncs els fitxers d'idiomes queden ben instal.lats allà on toca.&lt;br /&gt;
&lt;br /&gt;
===Coses a realitzar===&lt;br /&gt;
*Que compili a la RPi. Eliminar referències a Windows i MAC.&lt;br /&gt;
*En general simplificar i eliminar les opcions.&lt;br /&gt;
*sempre fullscreen&lt;br /&gt;
*nivell de so màxim.&lt;br /&gt;
*eliminar idiomes (un sol idioma)&lt;br /&gt;
*eliminar que et demani la declaració dels Drets Humans.&lt;br /&gt;
*En la taula de Score he d'entrar el nom amb el teclat. Utilitzar les tecles up i down per modificar les lletres, dreta per següent lletra, i ''3'' per acabar d'escriure.&lt;br /&gt;
*''0'' per sortir en tots els menus i en el joc&lt;br /&gt;
*Posar una música de 8 bits.&lt;br /&gt;
*Treure el mouse (souris)&lt;br /&gt;
*etc.&lt;br /&gt;
&lt;br /&gt;
===Compilació===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
g++ -DHAVE_CONFIG_H -I. -I. -I..  -DDATA_DIR=&amp;quot;\&amp;quot;/usr/local/share/Ri-li\&amp;quot;&amp;quot; -Wno-deprecated -DLINUX  -g -O2 -MT audio.o -MD -MP  -c -o audio.o audio.cc&lt;br /&gt;
g++ -DHAVE_CONFIG_H -I. -I. -I..  -DDATA_DIR=&amp;quot;\&amp;quot;/usr/local/share/Ri-li\&amp;quot;&amp;quot; -Wno-deprecated -DLINUX  -g -O2 -MT ecran.o -MD -MP -c -o ecran.o ecran.cc&lt;br /&gt;
g++ -DHAVE_CONFIG_H -I. -I. -I..  -DDATA_DIR=&amp;quot;\&amp;quot;/usr/local/share/Ri-li\&amp;quot;&amp;quot; -Wno-deprecated -DLINUX  -g -O2 -MT editeur.o -MD -MP -c -o editeur.o editeur.cc&lt;br /&gt;
g++ -DHAVE_CONFIG_H -I. -I. -I..  -DDATA_DIR=&amp;quot;\&amp;quot;/usr/local/share/Ri-li\&amp;quot;&amp;quot; -Wno-deprecated -DLINUX  -g -O2 -MT jeux.o -MD -MP -c -o jeux.o jeux.cc&lt;br /&gt;
g++ -DHAVE_CONFIG_H -I. -I. -I..  -DDATA_DIR=&amp;quot;\&amp;quot;/usr/local/share/Ri-li\&amp;quot;&amp;quot; -Wno-deprecated -DLINUX  -g -O2 -MT loco.o -MD -MP -c -o loco.o loco.cc&lt;br /&gt;
g++ -DHAVE_CONFIG_H -I. -I. -I..  -DDATA_DIR=&amp;quot;\&amp;quot;/usr/local/share/Ri-li\&amp;quot;&amp;quot; -Wno-deprecated -DLINUX  -g -O2 -MT main.o -MD -MP -c -o main.o main.cc&lt;br /&gt;
g++ -DHAVE_CONFIG_H -I. -I. -I..  -DDATA_DIR=&amp;quot;\&amp;quot;/usr/local/share/Ri-li\&amp;quot;&amp;quot; -Wno-deprecated -DLINUX  -g -O2 -MT menu.o -MD -MP -c -o menu.o menu.cc&lt;br /&gt;
g++ -DHAVE_CONFIG_H -I. -I. -I..  -DDATA_DIR=&amp;quot;\&amp;quot;/usr/local/share/Ri-li\&amp;quot;&amp;quot; -Wno-deprecated -DLINUX  -g -O2 -MT mouse.o -MD -MP -c -o mouse.o mouse.cc&lt;br /&gt;
g++ -DHAVE_CONFIG_H -I. -I. -I..  -DDATA_DIR=&amp;quot;\&amp;quot;/usr/local/share/Ri-li\&amp;quot;&amp;quot; -Wno-deprecated -DLINUX  -g -O2 -MT sprite.o -MD -MP -c -o sprite.o sprite.cc&lt;br /&gt;
g++ -DHAVE_CONFIG_H -I. -I. -I..  -DDATA_DIR=&amp;quot;\&amp;quot;/usr/local/share/Ri-li\&amp;quot;&amp;quot; -Wno-deprecated -DLINUX  -g -O2 -MT tableau.o -MD -MP -c -o tableau.o tableau.cc&lt;br /&gt;
g++ -DHAVE_CONFIG_H -I. -I. -I..  -DDATA_DIR=&amp;quot;\&amp;quot;/usr/local/share/Ri-li\&amp;quot;&amp;quot; -Wno-deprecated -DLINUX  -g -O2 -MT utils.o -MD -MP -c -o utils.o utils.cc&lt;br /&gt;
&lt;br /&gt;
g++  -g -O2   -o Ri_li  audio.o ecran.o editeur.o jeux.o loco.o main.o menu.o mouse.o sprite.o tableau.o utils.o  -lm -lpthread -lSDL_mixer -lSDL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Un cop fetes les modificacions, no necessito editeur.cc&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
g++ -DHAVE_CONFIG_H -I. -I. -I..  -DDATA_DIR=&amp;quot;\&amp;quot;/usr/local/share/Ri-li\&amp;quot;&amp;quot; -Wno-deprecated -DLINUX  -g -O2 -MT audio.o -MD -MP  -c -o audio.o audio.cc&lt;br /&gt;
g++ -DHAVE_CONFIG_H -I. -I. -I..  -DDATA_DIR=&amp;quot;\&amp;quot;/usr/local/share/Ri-li\&amp;quot;&amp;quot; -Wno-deprecated -DLINUX  -g -O2 -MT ecran.o -MD -MP -c -o ecran.o ecran.cc&lt;br /&gt;
g++ -DHAVE_CONFIG_H -I. -I. -I..  -DDATA_DIR=&amp;quot;\&amp;quot;/usr/local/share/Ri-li\&amp;quot;&amp;quot; -Wno-deprecated -DLINUX  -g -O2 -MT jeux.o -MD -MP -c -o jeux.o jeux.cc&lt;br /&gt;
g++ -DHAVE_CONFIG_H -I. -I. -I..  -DDATA_DIR=&amp;quot;\&amp;quot;/usr/local/share/Ri-li\&amp;quot;&amp;quot; -Wno-deprecated -DLINUX  -g -O2 -MT loco.o -MD -MP -c -o loco.o loco.cc&lt;br /&gt;
g++ -DHAVE_CONFIG_H -I. -I. -I..  -DDATA_DIR=&amp;quot;\&amp;quot;/usr/local/share/Ri-li\&amp;quot;&amp;quot; -Wno-deprecated -DLINUX  -g -O2 -MT main.o -MD -MP -c -o main.o main.cc&lt;br /&gt;
g++ -DHAVE_CONFIG_H -I. -I. -I..  -DDATA_DIR=&amp;quot;\&amp;quot;/usr/local/share/Ri-li\&amp;quot;&amp;quot; -Wno-deprecated -DLINUX  -g -O2 -MT menu.o -MD -MP -c -o menu.o menu.cc&lt;br /&gt;
g++ -DHAVE_CONFIG_H -I. -I. -I..  -DDATA_DIR=&amp;quot;\&amp;quot;/usr/local/share/Ri-li\&amp;quot;&amp;quot; -Wno-deprecated -DLINUX  -g -O2 -MT mouse.o -MD -MP -c -o mouse.o mouse.cc&lt;br /&gt;
g++ -DHAVE_CONFIG_H -I. -I. -I..  -DDATA_DIR=&amp;quot;\&amp;quot;/usr/local/share/Ri-li\&amp;quot;&amp;quot; -Wno-deprecated -DLINUX  -g -O2 -MT sprite.o -MD -MP -c -o sprite.o sprite.cc&lt;br /&gt;
g++ -DHAVE_CONFIG_H -I. -I. -I..  -DDATA_DIR=&amp;quot;\&amp;quot;/usr/local/share/Ri-li\&amp;quot;&amp;quot; -Wno-deprecated -DLINUX  -g -O2 -MT tableau.o -MD -MP -c -o tableau.o tableau.cc&lt;br /&gt;
g++ -DHAVE_CONFIG_H -I. -I. -I..  -DDATA_DIR=&amp;quot;\&amp;quot;/usr/local/share/Ri-li\&amp;quot;&amp;quot; -Wno-deprecated -DLINUX  -g -O2 -MT utils.o -MD -MP -c -o utils.o utils.cc&lt;br /&gt;
&lt;br /&gt;
g++  -g -O2   -o Ri_li  audio.o ecran.o jeux.o loco.o main.o menu.o mouse.o sprite.o tableau.o utils.o  -lm -lpthread -lSDL_mixer -lSDL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Modificació de codi===&lt;br /&gt;
Les preferències es guarden a ''$HOME/.ri-li.pref''.&lt;br /&gt;
&lt;br /&gt;
El menú d'opcions té quatre opcions: volum de la música, volum dels sons, idioma, i fullscreen. A mi no m'interessa cap d'aquestes opcions, dons escolliré volum màxim, idioma anglès i fullscreen. Per tant, és millor no accedir mai a aquest menú d'opcions.&lt;br /&gt;
&lt;br /&gt;
Els idiomes espera trobar-los a ''/usr/local/share/Ri-li/language.En'' (a ''sprite.cc'', línia 89, podem ficar ''std::cout &amp;lt;&amp;lt; PathFile &amp;lt;&amp;lt; std::endl;'').&lt;br /&gt;
===Compilació a la RPi===&lt;br /&gt;
No em cal partir del codi original, puc utilitzar el meu propi codi. Després de fer la compilació em petava perquè cercava els fitxers d'idiomes a ''/usr/local/share/Ri-li/''. El que he de fer és en les línies de compilació dir que el directori on estan les dades és:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-DDATA_DIR=&amp;quot;\&amp;quot;../data\&amp;quot;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
g++ -DHAVE_CONFIG_H -I. -I. -I..  -DDATA_DIR=&amp;quot;\&amp;quot;../data\&amp;quot;&amp;quot; -Wno-deprecated -DLINUX  -g -O2 -MT audio.o -MD -MP  -c -o audio.o audio.cc&lt;br /&gt;
g++ -DHAVE_CONFIG_H -I. -I. -I..  -DDATA_DIR=&amp;quot;\&amp;quot;../data\&amp;quot;&amp;quot; -Wno-deprecated -DLINUX  -g -O2 -MT ecran.o -MD -MP -c -o ecran.o ecran.cc&lt;br /&gt;
g++ -DHAVE_CONFIG_H -I. -I. -I..  -DDATA_DIR=&amp;quot;\&amp;quot;../data\&amp;quot;&amp;quot; -Wno-deprecated -DLINUX  -g -O2 -MT jeux.o -MD -MP -c -o jeux.o jeux.cc&lt;br /&gt;
g++ -DHAVE_CONFIG_H -I. -I. -I..  -DDATA_DIR=&amp;quot;\&amp;quot;../data\&amp;quot;&amp;quot; -Wno-deprecated -DLINUX  -g -O2 -MT loco.o -MD -MP -c -o loco.o loco.cc&lt;br /&gt;
g++ -DHAVE_CONFIG_H -I. -I. -I..  -DDATA_DIR=&amp;quot;\&amp;quot;../data\&amp;quot;&amp;quot; -Wno-deprecated -DLINUX  -g -O2 -MT main.o -MD -MP -c -o main.o main.cc&lt;br /&gt;
g++ -DHAVE_CONFIG_H -I. -I. -I..  -DDATA_DIR=&amp;quot;\&amp;quot;../data\&amp;quot;&amp;quot; -Wno-deprecated -DLINUX  -g -O2 -MT menu.o -MD -MP -c -o menu.o menu.cc&lt;br /&gt;
g++ -DHAVE_CONFIG_H -I. -I. -I..  -DDATA_DIR=&amp;quot;\&amp;quot;../data\&amp;quot;&amp;quot; -Wno-deprecated -DLINUX  -g -O2 -MT mouse.o -MD -MP -c -o mouse.o mouse.cc&lt;br /&gt;
g++ -DHAVE_CONFIG_H -I. -I. -I..  -DDATA_DIR=&amp;quot;\&amp;quot;../data\&amp;quot;&amp;quot; -Wno-deprecated -DLINUX  -g -O2 -MT sprite.o -MD -MP -c -o sprite.o sprite.cc&lt;br /&gt;
g++ -DHAVE_CONFIG_H -I. -I. -I..  -DDATA_DIR=&amp;quot;\&amp;quot;../data\&amp;quot;&amp;quot; -Wno-deprecated -DLINUX  -g -O2 -MT tableau.o -MD -MP -c -o tableau.o tableau.cc&lt;br /&gt;
g++ -DHAVE_CONFIG_H -I. -I. -I..  -DDATA_DIR=&amp;quot;\&amp;quot;../data\&amp;quot;&amp;quot; -Wno-deprecated -DLINUX  -g -O2 -MT utils.o -MD -MP -c -o utils.o utils.cc&lt;br /&gt;
&lt;br /&gt;
g++  -g -O2   -o Ri_li  audio.o ecran.o jeux.o loco.o main.o menu.o mouse.o sprite.o tableau.o utils.o  -lm -lpthread -lSDL_mixer -lSDL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Però compte, que en el codi original els fitxers de sons no estan a data/. Per tant:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cp -R Sounds/ data/&lt;br /&gt;
sudo rm -R /usr/local/share/Ri-li/ (si necessari)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Per tant, ara em queda tot dins el directori del projecte. Compilo i ja tinc els fitxers objecte i l'executable, dins de ''src/''.&lt;br /&gt;
&lt;br /&gt;
Per tal de què compili correctament, en tots els fitxers src/*.cc:&lt;br /&gt;
*#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
*using namespace std;&lt;br /&gt;
&lt;br /&gt;
Així doncs, no cal fer ''make'' i ''sudo make install''.&lt;br /&gt;
&lt;br /&gt;
Per tal de què funcioni correctament a la RPi, és necessari les opcions ''SDL_FULLSCREEN|SDL_SWSURFACE'' a main.cc i menu.cc:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sdlVideo=SDL_SetVideoMode(800, 600, sdlVideoInfo-&amp;gt;vfmt-&amp;gt;BitsPerPixel, SDL_FULLSCREEN|SDL_SWSURFACE);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
i la geometria està fixa a 800x600 per tal de què la geometria quedi bé.&lt;br /&gt;
&lt;br /&gt;
Puc eliminar tots els fitxers d'idioma menys language.dat i language.En, doncs escullo anglès com a idioma per defecte.&lt;br /&gt;
&lt;br /&gt;
Les preferències es guarden a ''$HOME/.ri-li.pref''. Per tant, si hi ha algun problema puc utilitzar un fitxer de preferències que ja existeixi. El Hi Score també es guarda en aquest fitxer. Per tant, si l'elimino es torna a crear de 0, i queda el HI Score resetejat.&lt;br /&gt;
&lt;br /&gt;
=Jocs candidats a compilar a la RPi=&lt;br /&gt;
==Chromium B.S.U.==&lt;br /&gt;
*https://en.wikipedia.org/wiki/Chromium_B.S.U.&lt;br /&gt;
*https://sourceforge.net/projects/chromium-bsu/?source=typ_redirect&lt;br /&gt;
*http://chromium-bsu.sourceforge.net/download.htm&lt;br /&gt;
*https://sourceforge.net/projects/chromium-bsu/files/Chromium%20B.S.U.%20source%20code/&lt;br /&gt;
Descarreguem: chromium-bsu-0.9.15.1.tar.gz&lt;br /&gt;
&lt;br /&gt;
Instal.lació en el portàtil&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ./configure&lt;br /&gt;
$ sudo apt-get install ftgl-dev&lt;br /&gt;
$ make&lt;br /&gt;
$ cd src&lt;br /&gt;
$ ./chromium-bsu&lt;br /&gt;
$ ./chromium-bsu --help&lt;br /&gt;
$ ./chromium-bsu -f --vimode 3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Bastant bé&lt;br /&gt;
&lt;br /&gt;
==Crack-attack==&lt;br /&gt;
*https://libregamewiki.org/Crack_Attack!&lt;br /&gt;
*http://www.nongnu.org/crack-attack/&lt;br /&gt;
&lt;br /&gt;
Descarrego crack-attack-1.1.14.tar.gz&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$./configure&lt;br /&gt;
...&lt;br /&gt;
checking for gtk+-2.0 &amp;gt;= 2.0.0... Package gtk+-2.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install gtk-2.0-dev&lt;br /&gt;
&lt;br /&gt;
$./configure&lt;br /&gt;
$ make&lt;br /&gt;
...&lt;br /&gt;
TextureLoader.h:66:42: error: ‘strncpy’ was not declared in this scope&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*http://savannah.nongnu.org/support/?107644&lt;br /&gt;
*http://www.mail-archive.com/debian-bugs-rc@lists.debian.org/msg28608.html&lt;br /&gt;
En el fitxer TextureLoader.h:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include string.h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
En el fitxer Attack.cxx, línia 76&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main ( int argc, char **argv )&lt;br /&gt;
{&lt;br /&gt;
  setupLocalDataDirectory();&lt;br /&gt;
glutInit(&amp;amp;argc, argv);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
/usr/bin/ld: cannot find -lXmu&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ld -lXmu --verbose&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
no troba res&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libxmu-dev&lt;br /&gt;
$ ld -lXmu --verbose&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ara sí&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd src/&lt;br /&gt;
$ ./crack-attack&lt;br /&gt;
$ ./crack-attack --solo --really --low --name PEPET&lt;br /&gt;
Error opening texture file '/home/joan/videogames/crack-attack-1.1.14/share/crack-attack/garbage_lightmap_5.tga'.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Pero no existeix el directori share/&lt;br /&gt;
&lt;br /&gt;
el que puc fer és instal.lar a partir dels paquets debian:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt-get install crack-attack&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
i aleshores veig on queda la carpeta share/ i tot el seu contingut:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ls /usr/share/games/crack-attack&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Primer he de crear la carpeta share/crack-attack/ a /home/joan/videogames/crack-attack-1.1.14&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp -R  /usr/share/games/crack-attack/* /home/joan/videogames/crack-attack-1.1.14/share/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I ara finalment:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ./crack-attack --solo --really --low --name PEPET&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
no té l'opció fullscreen, però per algo disposo del codi font&lt;br /&gt;
&lt;br /&gt;
El joc tracta de fer grups de tres colors, que s'esvaeixen. Les tecles són les fletxes i K/Space i L&lt;br /&gt;
==LBreakout2==&lt;br /&gt;
El primer que faig és instal.lar el paquet i provar-lo&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt-get install lbreakout2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Veig que funciona amb finestra o amb fullscreen.&lt;br /&gt;
&lt;br /&gt;
*http://lgames.sourceforge.net/index.php?project=LBreakout2&lt;br /&gt;
Descarrego lbreakout2-2.6.5.tar.gz&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./configure  --disable-network --disable-install --localstatedir&lt;br /&gt;
$ make&lt;br /&gt;
$ cd client&lt;br /&gt;
$ ./lbreakout2&lt;br /&gt;
&lt;br /&gt;
Couldn't open /usr/local/share/lbreakout2/gfx/win_icon.png&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ sudo mkdir  /usr/local/share/lbreakout2&lt;br /&gt;
$ sudo mkdir  /usr/local/share/lbreakout2/gfx&lt;br /&gt;
$ sudo mkdir  /usr/local/share/lbreakout2/gui_theme&lt;br /&gt;
&lt;br /&gt;
$ sudo cp -R gfx/*  /usr/local/share/lbreakout2/gfx/&lt;br /&gt;
$ sudo cp -R gui_theme/*  /usr/local/share/lbreakout2/gui_theme/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Xye==&lt;br /&gt;
*https://libregamewiki.org/Xye&lt;br /&gt;
*http://xye.sourceforge.net/&lt;br /&gt;
Descarrego xye-0.12.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
requires SDL, SDLImage and SDLTTF to compile&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ./configure&lt;br /&gt;
$ make&lt;br /&gt;
&lt;br /&gt;
$ ./xye&lt;br /&gt;
Will look on /usr/local/share/xye for data files.&lt;br /&gt;
Exception: Can't open/find data folder&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir /usr/local/share/xye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
i continua els problemes. Però el problema es soluciona si faig&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo make install&lt;br /&gt;
$ xye&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
no hi ha opció de fullscreen&lt;br /&gt;
==Trigger Rally==&lt;br /&gt;
*https://libregamewiki.org/Trigger&lt;br /&gt;
*https://sourceforge.net/projects/trigger-rally/&lt;br /&gt;
Descarrego trigger-rally-0.6.3.tar.gz&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
To build Trigger Rally, your system must satisfy the following requirements:&lt;br /&gt;
&lt;br /&gt;
* have a C++ compiler (preferably g++ v.4.8+) and related binutils&lt;br /&gt;
* have the GNU Make utility&lt;br /&gt;
* have these development libraries installed:&lt;br /&gt;
&lt;br /&gt;
  LIBRARY NAME      POSSIBLE PACKAGE NAME       OFFICIAL DOWNLOAD LINK&lt;br /&gt;
  --------------------------------------------------------------------&lt;br /&gt;
  GL                libgl1-mesa-dev             N/A&lt;br /&gt;
  GLU               libglu1-mesa-dev            N/A&lt;br /&gt;
  GLEW              libglew-dev                 http://sourceforge.net/projects&lt;br /&gt;
  OpenAL            libopenal-dev               N/A&lt;br /&gt;
  ALUT              libalut-dev                 N/A&lt;br /&gt;
  PhysFS            libphysfs-dev               http://icculus.org/physfs/downl&lt;br /&gt;
  SDL 1.2           libsdl1.2-dev               http://www.libsdl.org/download-&lt;br /&gt;
  SDL_image 1.2     libsdl-image1.2-dev         http://www.libsdl.org/projects/&lt;br /&gt;
&lt;br /&gt;
To build Trigger Rally you must run &amp;quot;make&amp;quot; in the &amp;quot;src&amp;quot; directory where&lt;br /&gt;
&amp;quot;GNUmakefile&amp;quot; is located:&lt;br /&gt;
&lt;br /&gt;
  $ cd src/&lt;br /&gt;
  $ make&lt;br /&gt;
  $ cd ../bin/&lt;br /&gt;
  $ ./trigger-rally&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
quan faig el ''make'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./include/codriversigns.h: In member function ‘void PCodriverSigns::set(const string&amp;amp;, float)’:&lt;br /&gt;
no matching function for call to ‘std::vector&amp;lt;std::basic_string&amp;lt;char&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
(TBD)&lt;br /&gt;
&lt;br /&gt;
==Starfighter==&lt;br /&gt;
*https://libregamewiki.org/Starfighter&lt;br /&gt;
*http://starfighter.nongnu.org/&lt;br /&gt;
Source code: starfighter-1.5.1.1-src.tar.gz (Alternate link)&lt;br /&gt;
Està basat en SDL2. La versió 1.3 també està basada en SDL2.&lt;br /&gt;
&lt;br /&gt;
==SuperTux==&lt;br /&gt;
*http://supertuxproject.org/download.html&lt;br /&gt;
Està basat en SDL2&lt;br /&gt;
&lt;br /&gt;
==Blobwars==&lt;br /&gt;
*https://sourceforge.net/projects/blobwars/&lt;br /&gt;
Està basat en SDL2&lt;br /&gt;
&lt;br /&gt;
==Crossfire==&lt;br /&gt;
Funciona amb les llibreries GTK (a mi només m'interessa SDL)&lt;br /&gt;
&lt;br /&gt;
==Ketm i wing==&lt;br /&gt;
S'instal.len amb sudo apt-get:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt-get install ketm ketm-data&lt;br /&gt;
$ sudo apt-get install wing wing-data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Llista de jocs que he aconseguit compilar a la RPi=&lt;br /&gt;
*2048 Puzzle&lt;br /&gt;
*Ri-li&lt;br /&gt;
{{Autor}}, març 2016&lt;/div&gt;</summary>
		<author><name>Joan</name></author>
		
	</entry>
</feed>