/
INSTALL
187 lines (140 loc) · 7.63 KB
/
INSTALL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
COMPILING YATC
==============
Copyright (C) 2007-2010 OpenTibia Team
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
1. Requirements
2. Building on Linux/Unix
3. Building on Windows
4. Devpaks and Debian packages
5. Building without OpenGL support
6. libGLICTd.a versus libGLICT.a
1. Requirements
===============
- SDL 1.2 http://www.libsdl.org/
- GMP 4.2 http://gmplib.org/
- GLICT https://glict.svn.sf.net/svnroot/glict/ (svn)
- SDL_gfx for SDL1.2
- OpenGL and GLU
- autoconf 2.61
- automake 1.10
Please understand that while we have produced builds that run on MacOS X platform, we are currently unable to provide systematic instructions.
2. Building on Linux/Unix
=========================
0. First follow section 4.2, to make sure you installed all required packages.
Also follow section 2.1, to make sure you installed GLICT.
1. Make directory for yatc. For example "mkdir ~/yatc"
2. Go to the new directory. For example "cd ~/yatc"
3. Run "svn co https://opentibia.svn.sourceforge.net/svnroot/opentibia/yatc/trunk ."
4. Run "./autogen.sh".
5. Run "./configure"
6. Run "make"
7. Run "./yatc" to start the client.
== 2.1. Compiling and installing GLICT ==
GLICT started using autotools recently.
1. Make directory for glict. For example "mkdir ~/glict"
2. Go to the new directory. For example "cd ~/glict"
3. Run "svn co https://glict.svn.sf.net/svnroot/glict/trunk/glict/ ."
4. Run "./autogen.sh"
5. Run "./configure"
6. Run "make"
7. Run "sudo make install"
3. Building on Windows with Dev-Cpp
===================================
WARNING! We are no longer shipping .dev project file as it is not being updated. Consequently, these instructions no longer apply. We will probably not release a fix at a later date. You are advised to switch to Code::Blocks anyways, Dev-Cpp is not updated since 2005 so it's a pretty outdated IDE. GLICT compile instructions still apply.
We will release Code::Blocks compiling instructions at a later date.
You are expected to have DevCpp installed. Instructions are based around Windows XP environment, but you can easily adapt them to other OSes, if you turn on your brain.
Dev-Cpp project file is rarely updated. If you get link errors, make sure that all .cpp files are a part of the project. Developers who care ;) do not have access to a Win32 machine with Dev-Cpp installed.
When instructed to fetch code from SVN repository, and you don't have a SVN client, you can use the WebDAV client built into the XP. Instructions are in chapter 3.3.
If you have any problems please try to fix them yourself, and then contact Khaos via OTfans PM. If you really cannot find a solution, try contacting Khaos anyway. If you report the problem we can fix these instructions together -- if not, someone else will have the same problem!
== 3.1. Compiling GLICT ==
1. Fetch the GLICT code from the SVN.
(https://glict.svn.sf.net/svnroot/glict/trunk/glict/)
2. Start Devcpp and create a new project of type "Empty project".
Call it "libGLICT".
Choose type "Static library".
Save it in the root GLICT folder (next to "history.txt").
Call the file: "libGLICT.dev"
3. Click Project->Add to project.
Select all files in the "GLICT/" subfolder
("button.cpp", "button.h", "container.cpp", "container.h", ...)
4. Copy the entire "GLICT/" subfolder to C:\Dev-Cpp\include
(you should now have files such as:
C:\Dev-Cpp\include\GLICT\button.h
C:\Dev-Cpp\include\GLICT\container.h, ...)
5. Click Execute->Compile
6. Go to the root GLICT folder.
7. Find "libGLICT.a".
8. Copy it to "C:\Dev-Cpp\lib\libGLICT.a"
== 3.2. Compiling YATC ==
1) First, you'll need GMP and SDL. Get and install the Devpaks.
2) Fetch YATC SVN.
3) Open the yatc.dev project file.
4) Go to Execute->Compile.
5) Copy C:\Dev-Cpp\bin\SDL.dll to YATC's folder.
You should have YATC.exe built in the directory where YATC.dev was, and it should run correctly. Don't forget to copy Tibia.pic, Tibia.dat and Tibia.spr to YATC's folder!
== 3.3. Fetching SVN using XP's WebDAV client ==
Here are instructions on how to do fetch a Subversion repository without a Subversion client under XP, using the WebDAV client.
1. Go to My Network Places.
2. Click on Add a network place.
3. Select "Choose another network location".
4. Under "Internet or network address", enter SVN repository's URL. You'll get a warning about security certificate being invalid; just ignore it.
5. If you want, change the name of the shortcut that'll be created in My Network Places.
6. Then make sure that "Open this network place when I click finish" is checked.
7. Click Finish.
The repository's contents will open as a more-or-less regular folder.
8. Copy the files you need out of it into a new folder.
Then, proceed with instructions!
4. Devpaks and Debian packages
==============================
Here we include links to required Devpaks and Debian packages.
GLICT is not officially available as Devpak nor as Debian package, but
compile instructions are included above.
== 4.1. Devpaks
SDL: http://devpaks.org/details.php?devpak=200
SDL_gfx: http://old.devpaks.org/show.php?devpak=160
GMP: http://pekayz.googlepages.com/GMP.DevPak
GLICT: http://ivan.vucica.net/nightly/
== 4.2. Debian/Ubuntu packages
Just copypaste this to root commandline (type su and type root password, then
punch these lines in):
apt-get install libsdl1.2-dev libsdl-gfx1.2-dev libgmp3-dev autoconf automake \
libgl1-mesa-dev libglu1-mesa-dev
5. Building without OpenGL support
==================================
If you are building for a platform that does not support OpenGL such as
Windows CE, you may want to use option --disable-opengl when running configure:
$ ./configure --disable-opengl
Configure script should detect GL's nonexistance automatically, but if it
does not, that's the way to do it.
Do not forget, your GLICT must also be compiled without OpenGL support; to do
that, define NO_GL macro. In the Makefile, find the line that begins with
CPPFLAGS= and in it, on the end, add -DNO_GL:
CPPFLAGS=[... stuff...] -DNO_GL
You probably had to do this anyway if you were working with WinCE or similar
platform, but it's sure worth mentioning in case you're, for a sick and twisted
reason to complicate yourself the building process, trying to compile it for
a platform that does have GL, you must not forget this since otherwise it'll
break badly and you'll be extremely unhappy.
6. libGLICTd.a versus libGLICT.a
================================
libGLICTd.a is regular GLICT, but compiled with these extra #defines:
_GLIBCXX_DEBUG
_GLIBCXX_DEBUG_PEDANTIC
These defines make program execute slower, but it's easier to debug C++ code.
To build Debug Unix build in Code::Blocks without libGLICTd.a, remove the
mentioned two defines in Project Options, and in the same place change all
references to GLICTd into GLICT. It should compile properly then even if you
don't create a libGLICTd.a.
(This is necessary because these two, although built from same code with
same compiler, are NOT binary compatible since those modifiers change behaviour
of G++'s implementation of STL.)