SourceCode » History » Revision 1
Revision 1/5
| Next »
Andreas Schneider, 12/06/2009 05:33 PM
SourceCode¶
CentrED's Source Code can be obtained via Mercurial from http://hg.aksdb.de/CentrED.
The whole program has been developed using FreePascal and Lazarus. Therefore both are required to compile the source.
Cloning the repository¶
The act of getting the source code for the first time is refered to as clone. This will copy the whole repository with all past revisions, their log entries, etc. to your local drive. You can commit new changes anytime to your local copy without interfering with the official repository.
$ hg clone http://hg.aksdb.de/CentrED CentrED
This command will create a directory named "CentrED" containing the said copy of the repository.
For further commands and more detailed descriptions on how Mercurial works, please refer to Mercurial's Website.
The directory structure¶
CentrED's source is divided into the following subdirectories.
Client/ Client/GLFont Client/Overlay Client/Tools Imaging/ MulProvider/ Server/ UOLib/ Tools/ bin/ obj/
The directory Client/
contains the Lazarus project as well as the strictly client related source files. It also houses the subdirectories GLFont
which holds the bitmap font used to display characters in OpenGL, Overlay
which contains graphics for additional on-screen elements and Tools
which contains the dialogs and their source for the map and statics manipulating commands.
Imaging/
contains a slightly modified copy of the Vampyre Imaging Library by Marek Mauder. It contains classes to load several different graphics formats, manipulate them and convert them into OpenGL textures at runtime (plus several features more, that aren't used within CentrED however).
MulProvider/
and UOLib/
contain code specific to the UO data files for reading as well as writing them. The map and statics related classes however also contain extensions to support easier management of these tiles within the UI.
Within Server/
are the Lazarus project and source files for strictly server related things.
Tools/
contains some helper programs used during development.
bin/
and obj/
are the target directories for the compile process of CentrED and cedserver.
Compiling¶
Requirements¶
You need the following tools and libraries to successfully build CentrED.
- FreePascal 2.4.0
- Lazarus 0.9.28.2 or better yet a snapshot or SVN checkout
- lNet 0.6
- MultiLog from SVN
- LCLExtensions from SVN
- VirtualTreeview from SVN
- OpenGLContext (which is bundled with Lazarus but has to be installed explicitly)
Build Process¶
The build process mainly includes opening the according project file (Client/CentrED.lpi
or Server/cedserver.lpi
) with Lazarus and hit Compile (and/or Run). If all previously mentioned libraries are installed correctly that should already produce a working executable in bin/
.
Additionally you need the CentrED.dat
to start the client. You can either obtain it from a released version or build it yourself. To build it yourself you have to compile the ResourceBuilder first.
$ fpc -XX -CX -Xs -FUobj -FEbin ResourceBuilder.pas $ cd Client $ ../bin/ResourceBuilder ResourceList.txt ../bin/CentrED.dat
Updated by Andreas Schneider almost 15 years ago · 1 revisions