58 lines
2.9 KiB
XML
58 lines
2.9 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
|
<pkgmetadata>
|
|
<maintainer type="project">
|
|
<email>games@gentoo.org</email>
|
|
<name>Gentoo Games Project</name>
|
|
</maintainer>
|
|
<longdescription>
|
|
Welcome to ClanLib, a multi-platform game development library.
|
|
|
|
ClanLib is a medium level development kit. At its lowest level, it provides a
|
|
platform independent (as much as that is possible in C++) way of dealing with
|
|
display, sound, input, networking, files, threadding and such.
|
|
|
|
On top of that, ClanLib builds a generic game development framework, giving you
|
|
easy handling of resources, network object replication, graphical user
|
|
interfaces (GUI) with theme support, game scripting and more.
|
|
|
|
The goal of ClanLib is to allow the game developer to focus on stuff that
|
|
matters, avoiding all those nasty (and boring) lowlevel trivials like setting up
|
|
a directdraw window, sound mixing, reading image files, etc. All those things
|
|
are simplified into object oriented classes and function calls, making it a joy
|
|
to write your game.
|
|
|
|
ClanLib uses a resource system to keep track of images, fonts, samples and
|
|
music. It supports Targa, PCX, JPEG, PNG and BMP for images. Wave files for
|
|
sample. Ogg Vorbis (open sound format that has same sound quality as mp3) and
|
|
MikMod for music. By using a resource system, you cleanly seperate the physical
|
|
data formats from your code, and makes it easy to make themes and other plugins
|
|
for your game. The resource system is written in a manner that allows you to add
|
|
your own custom resources.
|
|
|
|
All classes in clanlib focus on making simple interfaces that are customizeable
|
|
and expandable. This keeps your game code clean and simple; but still allows you
|
|
to do advanced stuff. As an example, look at some sound code:
|
|
CL_SoundBuffer my_sample("Weapon/Minigun/sound", resources);
|
|
my_sample.play();
|
|
|
|
In this example, we play a simple sound effect, and afterwards forget all about
|
|
it. Nice and simple. But if we want to adjust the frequency during its playback
|
|
(eg. for a dobbler effect), it could look like this:
|
|
CL_SoundBuffer_Session playback = my_sample.play();
|
|
playback.set_frequency(1.2f); // increase frequency by 20%
|
|
|
|
We only need to keep the session handle if we are going to use it. Keep things
|
|
simple when they are simple, and make them complex when they are complex. :)
|
|
|
|
The object oriented nature of ClanLib allows you to operate both at high and low
|
|
levels, minimizing redundant code and still allows you to do stuff that isnt
|
|
supported by clanlib's high level APIs.
|
|
|
|
ClanLib currently support Windows 98, Windows 2000, Windows XP and Linux. The
|
|
following display targets are supported under linux: X11 and OpenGL. Some parts
|
|
of ClanLib still isnt entirely endian clean, so it will currently only work
|
|
without problems on the x86 architecture. Work is underway for a MacOS port.
|
|
Current compilers supported is VC++ 6.0, VC++ 7.0, GCC, Borland and MingW.
|
|
</longdescription>
|
|
</pkgmetadata>
|