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:


    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:


        Under Library files, add a New one:


    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?

            You don't have the DirectX SDK properly installed. Install it :)             You're missing the SDL include files.

            Check if you've got them, and that they are properly installed on MSVC++

            You have not included the libjpeg classes.

            Unzip these and add them to the directories.

            You need some GL classes.

            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.

            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:
            (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).

            This library has been renamed in DirectX 8.0

            You can find a solution to this problem here:


            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:


            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.

            This is tricky. You'll have to compile the libjpeg_vc project, which is at:


            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

            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).


Remove this file from the FileView. Add the one you have downloaded.

            Do the Viking way and get rid of it in the FileView. You don't need to substitute it with anything at this moment.

            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