XClient Development for n00bz
1. Software you need
2. Downloading the source code
3. Configuring MSVC++
4. Troubleshooting
1. Software you need
You'll need the following software:
1.1 CVS to download the Source code
You can find CVS here: http://www.cvshome.org/
1.2 Microsoft Visual Studio to hack into the code
1.3 The Microsoft DirectX SDK
1.4 SDL (Simple DirectMedia Layer), as XClient uses it
You can get SDL here: http://www.libsdl.org/
1.5 libjpeg, a library to manipulate jpeg images, made by the Independent JPEG group.
The homepage of the authors is here: http://www.ijg.org/ but the .zip link seems to be broken.
For instance, you can get the .zip file here: http://www.go.dlr.de/fresh/unix/src/misc/ghost/3rdparty/.warix/jpegsr6b.zip.html
2. Downloading the source code
You should download the latest source code from the CVS. The use of cvs is detailed here:
http://www.worldforge.org/website/helpdesk/toolshelp/cvs
However, for the purpose of downloading XClient source, you don't have to be a Master of CVS. Just follow these guidelines:
You may set your home to any directory that suits your needs (cvs will download in this directory). I, for instance, made:
SET HOME=C:\cvs
You can set the CVSROOT so you don't have to type all of the following for every command:
SET CVSROOT=:pserver:cvsanon@cvs.seul.org:/home/cvspsrv/worldforge
Then you have to login to the cvs:
cvs login
As you are prompted for a password, type cvsanon and you're in.
To download (or update) the XClient source code, type:
cvs co forge/clients/xclient
3. Configuring MSVC++
You can open the XClient workspace in MSVC++ by double-clicking on the XClient.dsw file from the source code.
You have to include the SDL paths, choose Tools --> Options --> Directories,
Under Include files, add a New one:
[SDLpath]\include
Under Library files, add a New one:
[SDLpath]\lib
Where [SDLpath] is the path where you have unzipped the SDL files.
Under Include files you'll have to include the libjpeg paths also:
Where that is the path where you have unzipped the libjpeg .zip file.
4. Building Troubleshooting
What happens if I get these kind of errors while
building XClient?
- 'LPDIRECT******' : missing storage-class or type specifiers
- Cannot open include file: 'SDL.h': No such file or directory
Check if you've got them, and that they are properly installed on MSVC++
- Cannot open include file: 'jerror.h': No such file or directory
Unzip these and add them to the directories.
- Cannot open include file: 'glext.h': No such file or directory
At this moment we can't tell you where to find the official distro of them, ask us for them.
Once you have got them, add them to the Include files directory.
- Cannot open include file: 'Atlas-C++/src/Objects/Decoder.h': No such file or directory
Atlas is Worldforge Protocol. XClient is intended to use it someday.
Don't use Atlas right now, to disable it do the following:
menu
Project
--> Settings
tab c/c++
Select Settings for All Configurations in the left upper corner
drop-down box.
On "Preprocessor Definitions", add:
,NO_ATLAS
(the comma is to separate items)
Tip: remember to select the XClient Project! I once selected XTestServer Project and spent a day figuring out why it didn't work!
You'll have to rebuild all after doing this.
You'll have to eventually download Atlas in future releases, if you waant to download Atlas anyway, get it with CVS:
cvs co forge/libs/Atlas-C++
Then add [yourCVSpath]\forge\libs to the Include files as before.
(I
haven't got Atlas-C++ to work with the current XClient release, so better
wait for a future version).
- LINK : fatal error LNK1104: cannot open file "d3dim.lib"
You can find a solution to this problem here:
http://www.mvps.org/directx/support/book_support.htm#errlink8
- LINK : fatal error LNK1104: cannot open file ".\xengine\XFont\freetype-1.3.1.tar\freetype-1.3.1\lib\arch\win32\Release\freetype.lib"
The file is inside a .tar, this tar is corrupted.
There is an untarred version at: xclient\xengine\XFont\freetype-1.2\lib, which, BTW, is also corrupted :(
So this is tricky, you have to download another freetype. Try here:
ftp://ftp.funet.fi/pub/mirrors/ftp.freetype.org/freetype1/
I downloaded ft131.zip because 1.2 wasn't there. You'll have to open the files in MSVC in a new project, and include the needed files, and build freetype.zip, then add it to teh FileView of the XClient workspace. This is a bit tricky because the ft131.zip has no .dsw or .dsp so you'll have to generate them on your own.
- LINK : fatal error LNK1104: cannot open file ".\xengine\external\libjpeg_vc\Release\libjpeg_vc.lib"
This is tricky. You'll have to compile the libjpeg_vc project, which is
at:
xclient\xengine\external\libjpeg_vc\libjpeg_vc.dsw
To to this you need the jpeg-6b files under the external directory (fine if you put them at first, if not, copy them)
When
compiled, it outputs the libjpeg.lib to the external\lib directory. Rename
this file to libjpeg_vc.lib. Copy it to the external\libjpeg_vc\Release
directory
- LINK : fatal error LNK1104: cannot open file ".\xengine\external\Lpng108\msvc\win32\libpng\lib\libpng.lib"
Remove this file from the fileview (Viking way of solving problems :P).
You should substitute this one for the one you compile with the libpng_vc
project. Remember to unzip zlib113 and lpng106 (in the xengine\external
dir).
- LINK : fatal error LNK1104: cannot open file ".\SDL-1.1.6\lib\SDL.lib"
Remove this file from the FileView. Add the one you have downloaded.
- LINK : fatal error LNK1104: cannot open file ".\xengine\titan\LIBJPEG.LIB"
Do the Viking way and get rid of it in the FileView. You don't need to
substitute it with anything at this moment.
- .\xengine\XFont\gltt-2.4\vc5\gltt.lib : fatal error LNK1136: invalid or corrupt file
See XClient README file in the base directory. CVS corrupts this file.
You can do what it is said there, or asks us for the gltt.lib file.
At this point you should be able to build XClient and start tweaking it. Have a nice experimental day!
Last Update Aglanor 2001/07/15
| Current Issue: February 2003, Recent Issues: January 2003, November 2002, October 2002 |