LINUX COMPILING
(assumes current updated libs, and installation of glew, make, cmake, boost, glm, git, and gdb)
Update January 2, 2020: Also please install the following libs for the sdl2 porting. Nothing else will change.
libsdl2-dev (sdl2 in Arch Linux)
libsdl2-net-dev (sdl2_net in Arch)
libsdl2-image-dev (sdl2_image in Arch)
Current Official Client
[sb@precision330 ~]$ git clone git://github.com/raduprv/Eternal-Lands.git
[sb@precision330 ~]$ cd Eternal-Lands
[sb@precision330 Eternal-Lands]$ make -f Makefile.linux
End result in your terminal should look something like this:
CXX engine/hardwarebuffer.o
LINK el.x86.linux.bin
[sb@precision330 Eternal-Lands]$
Pastebin file of everything as it spits out in my terminal:
http://pastebin.com/ZXumkk6z
Copy el.x86.linux.bin over into your el_linux directory.
If it is not executable already (which it should be), make it executable:
[sb@precision330 el_linux]$ chmod 755 el.x86.linux.bin
Opengl2 Testing Client
[sb@precision330 ~]$ git clone git://github.com/xaphier/Eternal-Lands.git
[sb@precision330 ~]$ cd Eternal-Lands
[sb@precision330 Eternal-Lands]$ cmake ./
[sb@precision330 Eternal-Lands]$ make
End result in your terminal should look something like this:
Linking CXX executable el_client
[100%] Built target el_client
[sb@precision330 Eternal-Lands]$
<No pastebin file currently as I can get the client to compile but it's not working right so I don't want to post something not working well.>
Copy el_client over into your el_linux directory.
If it is not executable already (which it should be), make it executable:
[sb@precision330 el_linux]$ chmod 755 el_client
Copy shaders directory to /path/to/el_linux/shaders (this only applies for the opengl2 test client)
Additional tricks:
If you need to run or are asked to run your client with dbg (debugging tool), here's how to:
[sb@precision330 ~]$ cd el_linux
[sb@precision330 el_linux]$ gdb el_client
<gdb info spits out at you here and when it finishes type run after it says (gdb)>
(gdb) run
<stuff spits out here too and when it finishes, type bt full after it says (gdb)>
(gdb) bt full
<more stuff spits out>
If you want to connect the client to the test server, you can do a
(gdb) run test
Important Notes:
1. Notice the two different github addresses you are pulling from (one raduprv and one xaphier) distinguishing which is current client and which is opengl2.
2. However, notice both get dumped into a directory called Eternal-Lands. This is the default but this is not good. If you are compiling BOTH versions, you need to keep them separated. To do this, you can set an extra parameter in your gitclone command to create better named directories like these:
[sb@precision330 ~]$ git clone git://github.com/raduprv/Eternal-Lands.git EL-official
and
[sb@precision330 ~]$ git clone git://github.com/xaphier/Eternal-Lands.git opengl2-client
That way, your files will go to the newly created EL-official and opengl2-client directories rather than an Eternal-Lands directory. (You can choose for yourself what you want to name these directories.) Then the next time you need to update, you just $cd into the directories you created and you can just compile or gitpull from there.
3. If you already have a version of the code from github, you can update it (versus deleting it and starting over as above) by running:
[sb@precision330 ~]$ cd EL-official
[sb@precision330 EL-official]$ git pull
(instead of the whole $ git clone git://github.com/.../Eternal-Lands.git)
As always, many thanks to Sir_Odie and bluap for their help and patience.