[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This is a list of people who have contributed to Crystal Space in one way or another. Some of these people are no longer active with Crystal Space and may not be reachable. This list is sorted chronologically based upon the first time a person contributed to the project.
Jorrit is the main author of Crystal Space. He wrote the initial engine with the main current functionality. He is still the main driving force of the project. Contact him for any general and strategic questions as well as specific implementation issues. Jorrit's home address is Schoonstraat 11, 3020 Veltem Beisem, BELGIUM.
Murat was the first contributor for Crystal Space. He provided the first steps to porting Crystal Space to DOS. Parts of his code are still present in the current version.
David enhanced the DOS port made by Murat. He added C++ classes and VESA support. David also wrote the original Pentium assembler version of `scan.cpp'.
Nathaniel is a very eager Crystal Space fan. He even has his own web page dedicated to Crystal Space:
http://www.bigfoot.com/~noote/CrystalSpace
He enhanced Arnold's DOS port again so that it worked with the Watcom C++ compiler. He also suggested and implemented a considerable restructuring of the system-dependent stuff with every port having its own directory. He is also the original author of the input/output console. Nathaniel was also the first to actually present me with an almost working Windows 95 version with source! Nathaniel is also responsible for most of the sound support code in Crystal Space. He made the basic sound system, wrote the Windows drivers and wrote support for 3D sound. Nathaniel created the config utility which allows for easier editing of `cryst.cfg'; currently only for Windows and DOS. In addition he also enhanced the (now non-existant) CSAR utility. He also helped develop the Windows/Direct3D and Windows/OpenGL versions and is co-author of the Glide port. His latest work has been some enhancements on the 3D sprites including two convertors from Quake `.mdl' and Quake 2 `.md2' to Crystal Space.
Jyrki made the original Amiga port of Crystal Space. This old port can still be found at the following location. Beware, however, that it is extremely obsolete.
http://www.helsinki.fi/~jxsaarin/crystalspace/
Steve made the pre-Carbon Macintosh port of Crystal Space. He also did some optimizations on the assembler `draw_scanline()' routines. Steve made the first preliminary physics system and also implemented an easy uniform kind of dynamic lighting useful for fluorescent lights and such. Steve greatly enhanced the routines to parse the map format.
Bill contributed the first free textures for Crystal Space.
Ang See contributed another set of textures.
Jaison gave me a new version of `police.fnt' which doesn't give an error on the Borland compiler.
Phil suggested a statistics counter so that you can see the number of polygons
considered and drawn each frame. He helped with Nathaniel to get the Windows
32-bit port working. Phil patched find_rgb_slow()
to make it slightly
faster (but he forgot to rename it to find_rgb_slow_somewhat_faster()
.
:-)
Tor contributed some textures. He also donated code for reading several file formats and a virtual machine. This code has not been integrated with Crystal Space yet but you can find his code in the `contrib' directory. Tor gave me a `dj_joy.c' file (in the `contrib' directory) which is an example on how to use the joystick from within DOS with DJGPP. He also added JPG support to Crystal Space and support for the mouse in DJGPP.
Alessandro gave me a patch for the X version of Crystal Space which allows simultaneous keypresses and disables autorepeat. This makes movement much more smoother. Alessandro Russo presented me with a patch to fix the autorepeat problem (in X-windows).
Gary designed the basic framework of the Graphics3D class and I helped him start to implement this. Gary also made an extension so that Crystal Space can now use accurate RGB light sourcing. Since this slows down the texture cache a bit I have made it optional (using `cryst.cfg'). Also added a patch from Gary Clark to fix the problem with the X version of Crystal Space that Crystal Space would not immediately start drawing but only after an expose event was generated. He gave me the `lin_joy.cpp' file (in the `contrib' directory) which is an example on how to use the joystick from within Linux.
Karlis found and fixed a few stupid bugs in `wcc/watcom.cpp'. I wonder how this version could work before he fixed it. :-)
Darius was busy with 3D sprites. He contributed some unfinished stubs for his work. Unfortunately he seemed to have stopped supporting it. His code has now been moved to the attic directory. The current 3D sprites in Crystal Space are developed by Jorrit Tyberghein.
Dan provided a patch for `printf()' so that it also works with the Windows port. Dan made the Direct3D port for Windows! He greatly enhanced the Windows port and also added 16-bit support for Windows. His greatest work up to now is converting the 3D and 2D graphics subsystems to COM. He thus provided the foundations for the COM system (also on non-Windows platforms) that Crystal Space used in the past. He also contributed the Halo code to Crystal Space.
Robert patched Dan Ogles' `printf()' patch so that there is no more buffer overrun and also found a bug in `gifload.cpp'. He also ran a memory debugger on Crystal Space and found/fixed many bugs related to that.
Anis updated the makefiles for Watcom C++ for both Crystal Space and CSAR. He also made the Crystal Space editor for Windows 95 which is unfortunately no longer supported.
Andrew is one of the developers who does far more work than can possibly be detailed in this small blurb, and his contribution to Crystal Space is far more extensive than this tiny entry implies. Here is an excerpt of his contributions:
DrawPolygon()
and
DrawPolygonQuick()
. He also contributed to the halo code and to the
graphics drivers in general. He introduced the first MMX support.
John manages the Crystal Space Texture Archive. It can be found at:
Jon provided a few patches and a makefile for the SGI/IRIX port.
Andrew ported Crystal Space to the GGI library. More information at:
Paul contributed a makefile for Windows NT with GCC and helped to maintain that port.
Ralf updated the Amiga port to Crystal Space version 0.09.
Maurice helped to maintain the Amiga port at one time.
Ivan cleaned all the matrix/vector stuff and rewrote the csCamera
class. He also helped a lot with cleaning up the perspective projection and
clipping. He made some considerable improvements there. He also helped fix a
lot of bugs with portals and clipping. Ivan also enhanced the image loader
classes to make it possible to dynamically add new image formats even with a
pre-compiled Crystal Space library. He also rewrote the loader routines and
added the csObject
library which is now used in Crystal Space. He also
seperated the scripting stuff from the engine.
Slavik created the current Watcom port with 16-bit display support.
Markus provided a small patch for the X-windows port.
Trochu wrote the How-To describing how to compile Crystal Space with Visual C++ for Windows 95 and also contributed a few small patches to the Windows 95 version. He also contributed up-to-date project files for Visual C++. He also ported Crystal Space to the Glide API (together with Nathaniel)!
Thomas Ogbuji wrote the Crystal Space map file to VRML convertor in Java. He also wrote the Java Crystal Space map file editor (not really a level editor, but for editing map files).
Helge suggested the algorithm for texel filtering which is now in Crystal Space.
Charles gave contributed a TCL/TK script for launching Crystal Space.
Oliver made a few fixes to the event system in Crystal Space and ported Crystal Space to Borland C++. He also found and fixed some memory leaks. He also contributed the MemoryHeap class for the texture cache. Olivier also ported the GCC assembler functions to Visual C++ and implemented a few additional Visual C++ assembly functions. He also implemented the BMP loader class. He also optimized and helped optimize several key-functions in the engine pipeline. For example, he managed to nearly doublethe speed of the assembler scanline drawers! Lightmap generation and math functions were also improved.
Alex integrated Crystal Space with the VCOLLIDE library for collision detection. Later he removed VCOLLIDE and used RAPID instead. He then rewrote RAPID to work better with Crystal Space. He also contributed the DDG landscape engine which used to be integrated with Crystal Space.
Antonio provided a few notes which allowed a few matrix inversions to be optimized away.
Doug helped fixed a possible memory leak in the X port with SHM extension.
Jeff helped with the DJGPP port.
Philipp helped with optimizing the texture cache. Philipp also helped optimize a few other routines.
Xavier contributed a few patches which allowed Crystal Space to compile with the EGCS compiler. For one reason or another this compiler doesn't support a C++ construction which other compilers do support.
Rodolphe patched the Glide port so that it works on Linux. He also provided output from Purify which helped a lot for debugging Crystal Space.
Greg contributed a patch which greatly speeds up the computing of the initial palette table.
Vyacheslav suggested some fixes so that Crystal Space compiles with Watcom C++ v11. He also contributed a few makefiles for Watcom C++ and fixed a few small bugs.
Dmitry helped by running Purify and solving a lot of bugs that way. He also contributed makefiles for IRIX/SGI.
Xavier ported Crystal Space to BeOS!
David helped fix the BeOS port.
Jesko suggested a way to improve speed of the volumetric fog.
Ayal contributed a nice missile sprite which was used to replace the old, ugly missile. He helped create the base classes for the curve system. He then implemented the first Bezier curves with 3x3 control points.
Seth also contributed a nice missile and he fixed the texture bug in
`mdl2spr'. Seth is also a great source of suggestions and bug reports.
Seth also updated the DOS/DJGPP documentation and the tutorial. He
also wrote the Squawk (see section 4.4 Squawk) demo (using the skybox). Seth also
fixed the csCamera
and csView
classes so that the FOV is no
longer static and it is also possible to recenter each view separately. Seth
added sprite vertex tweening and new lighting attenuation settings. He also
worked on vertex/texel merging in sprites, and on sprites in general, and he
added several other features to the project.
Gert wrote the Linux drivers for the sound system and he also converted the SVGALIB driver to COM. He also helped develop the Linux/Glide and OpenGL ports.
Michael helped fix the Glide port and contributed lots of other small fixes. He is also the author of the Crystal Clear project which was included in Crystal Space. Crystal Clear served as a game layer on top of Crystal Space. Crystal Clear is now removed from Crystal Space though due to lack of maintenance and interest. Michael also wrote the default version of DrawPolygonMesh(). He also helped a bit with the Windows port and with the console plugin. He wrote the CVS guideline documentation.
Gary wrote and maintains the Crystal Space OpenGL renderer as well as the importers for 3DS and `.md2' models.
Andrew gave me a makefile for FreeBSD and did some other FreeBSD patches.
Brian provided some FreeBSD patches.
Conor further optimized the 16-bit scanline drawers which were already optimized by Olivier Langlois. Conor Stokes is also Jorrit's main inspiration source for all the current visibility algorithm work.
Mattias provided a patch with a cleaner handling of the X11 visual and window creation.
Serguei added the first integrated networking code to Crystal Space. His code uses the COM subsystem so it can easily be extended for system-dependent parts.
Robert is the current pre-Carbon Macintosh port maintainer. He also helps with maintenance in general.
Norman contributed several fixes and new features and helped with code
cleanup. In particular he worked on the sound code, the engine, CSWS and
the graphics drivers. He also worked on the image loaders. For example he
split the former monolithic image loader into several modules, added saving to
many of the image loaders, fixed the BMP loader so that it is endian
correct and added RLE8 encoding to the BMP loader. Norman also added
the csQuaternion
class and has been bringing the Glide drivers up to
date. Norman contributed a FreeType font server plug-in. Most recently, he
added a grid-view to CSWS. He also added a sound renderer using the artsd
soundserver that comes with the aRts system (see www.arts-project.org). Norman
added an export script for Blender. He added texture coordinate animation to
2d sprites. He worked on the video file streamer. Norman also added the
(unused) csCrystalBall
culler and the fancy console plugin.
Nicholas made a few contributions to MazeD.
Eric is one of the developers who does far more work than can possibly be detailed in this small blurb, and his contribution to Crystal Space is far more extensive than this tiny entry implies. His contributions include:
Wolfgang wrote a Doom to Crystal Space convertor in Java. It is included in the `contrib' directory.
Jesse made the latest Amiga port including the COM stuff.
Leslie contributed some code to implement freelook like in Quake.
Denis contributed a routine to split a convex object into slices parallel to the view plane (useful for volumetric fog). He also added a progress bar to the console (during lighting) and added a new way to do bilinear filtering for the software renderer. He also dramatically improved the quality of the precalculated lightmaps. Denis also improved the movement system in WalkTest by implementing gravity and better collision detection (using the collision detection system from Alex Pfaffe). He added the `metademo' application which has recently been reworked to the `metaballs' mesh object. He also fixed a lot of bugs.
Thomas was the primary maintainer of the Windows port of Crystal
Space for some time and has also contributed various other things. He wrote
DrawPolygonFX()
. He added the csGame library and the Crystal Shooter
application. Both are now removed, but he is now working on a remake of it,
the `gamecore' plugin. He also significantly enhanced and maintained the
Windows port and especially the Direct3D port. Thomas also wrote
map2cs
, a converter which translates Quake maps to Crystal Space
format. He provided a shuttle sprite and a space station sprite for
`csdemo'. Thomas introduced the concept of map nodes and key/value pairs
for engine objects.
Bruce helped optimize the Direct3D driver. He also contributed a set of convertor utilities which is going to be used so that Crystal Space can load 3DS, `.mdl', ... objects directly.
Sylvain provided a few fixes for the Windows port.
Sui-Hang attempted to add functionality to MazeD for sector, portals, lights, textures, etc. He also sped up the calculation of the palette at startup.
David added code for sprite selection to WalkTest and also did some other fixes to sprites. He also cleaned up the WalkTest code and added a double linked list class.
Tristan added a new DX6.1 renderer for Windows.
Jonathan fixed a bug in the BMP reader so that it is no longer upside-down.
Mr. Galore contributed a WAL/SGI loader and also added initial support for alpha maps to the texture loaders. He has also contributed to the halo code.
Brad used to host and maintain the master CVS repository for the project. However, the project now resides at SourceForge:
Brandon added a new plug-in system to Crystal Space. He also contributed
`csPython' and `csLua' for scripting. Using `csPython' he
wrote an Unreal map to Crystal Space convertor. Brandon also added project
files for Borland 4. Brandon also worked on the Playstation2 port. He
improved csQuaternion
a lot. Brandon also added CSSH (Crystal
Space Shell). He added the (now non-existant) `newdoc' directory with
LaTeX documentation.
Wyatt has performed some editing of Crystal Space's (now defunct) LaTeX documentation files. He has also helped to maintain the Mac port. Wyatt added the background music to Blocks. He has also worked on correcting errors in the texinfo documentation.
Scott sent patches to allow Crystal Space to compile on Alpha machines.
Petr helped fix Windows Glide and added XML output to `map2cs'.
Stephan added makefile targets for full dynamic linking.
Michael contributed the `csPhyzik' library to Crystal Space and also a test application.
Mr. Void did some work on Blocks to make it playable again. He also fixed a considerable number of bugs and other problems.
Peter fixed the sound drivers for SCF and also fixed some bugs.
Noah worked with Michael Ewert on the `csPhyzik' library.
Michal started work on an `autoconf' system for Crystal Space but abandoned the effort.
Thomas fixed the OpenGL renderer so that 3Dfx/Mesa combination doesn't crash anymore.
Simon made several changes to the Direct3D renderer. He added multitexture support and render state caching.
Brett fixed the X11 2D drivers so that they properly exit when the window is closed by the window manager.
Eric Wigforss (ewigforss@novametrix.com)
Eric made some Windows-specific fixes to the networking code.
Martin converted many of the Crystal Space text and LaTeX documents to Texinfo format and began construction of Texinfo version of the Crystal Space manual. He also contributed a random dungeon generation plug-in module as well as a sample program which demonstrates its use. Martin added the model data classes and rewrote the old model importer in a more modular way. He also cleaned up some of the utility classes, parts of the system driver and parts of the engine, added the configuration manager as suggested by Eric Subshine, changed many applications to use the engine as a plug-in and added the `simplept' application. He added "fast interfaces" to SCF. Martin also completely rewrote the "Software" and "DirectSound" sound renderes and modified the world file loader and the image loader to work as plug-ins.
Daniel helped work on the physics engine and collision detection.
Desmond helped a bit on `map2cs' and updated its documentation. He also pointed out several bugs and errors in Crystal Space.
Rene began working on networking capability for the Blocks game and contributed to the 3d sprite code. He also provided a set of export scripts for Blender.
Thomas supplied a small patch for BeOS to allow full-screen mode with the OpenGL driver.
Benjamin submitted some patches for the terrain engine.
Wouter contributed a particle system to Crystal Space based on 2D sprites. He also added a full-fledged radiosity calculator. Wouter is the author of the game Tunnel Fighter which is based on the Crystal Space engine. He added lots of nice particle effects and a test level for them, and so-called full screen visual effects. Wouter is also the author of the iso engine! He also worked on visibility culling in the terrain engine and on the terrain texture generator. He added a test application for a new bump-mapping feature, and a test application for a procedural sky texture. He added the `flare' halo and several minor patches. He also added the `make install' target.
Frank was the port maintainer of the Windows port of Crystal Space for some time. One of the first tasks he undertook was a reorganization of the MSVC project files. He also helped with project maintenance in general.
Samuel submitted some fixes for sprites and patched the X drivers so that resizing windows works. Samuel also added a procedural texture system to Crystal Space. With this system it is possible to render on textures procedurally and use that texture on a polygon as usual. He also helped to clean up the engine code. He added the `perfstat' plugin.
Thomas contributed a temporary "network manager" and NSTP, a plug-in for the now defunct NetSpace project.
Chris submitted several fixes for the Borland compile.
Burton added a new Allegro canvas.
Travis did some very fundamental work on the curve and lighting code in order to implement both dynamic and pseudo-dynamic lights for them and also allow shadows.
Bob submitted the Makefile changes need to compile on GNU/Hurd. He proof-read much of this manual. He also started working on a level editor for Crystal Space but ceased work on it:
http://sourceforge.net/projects/ticle/
Bart provided a few patches, a working Watcom/DOS makefile and Visual C++ project files.
Bob provided a project file for Windows/Watcom C++.
Philip has done (and is doing) a great job maintaining the Windows ports, both the MSVC one and the GCC one and also the documentation for the ports. He also creates installable packages for Windows from time to time and helps with maintenance in general.
Justin added csString::Format()
. He also contributed to the
documentation and sent a few fixes.
Luca extended the ASE importer in impexp and added a Crystal Space sprite exporter. He also sent a patch for `mdl2spr'.
Mike added fullscreen support under X.
Matthew added a world file exporter script for Blender.
George added an SDL canvas driver and reported some bugs.
Thomas sent some patches for the OpenGL driver.
Nicholas sent a few bug fixes.
Mark sent a few patches for the MSVC project files.
Scott added an Unreal to Crystal Space converter.
Jerry added theme support to CSWS.
Roland contributed a simple terrain engine.
Michael cleaned up the texture manager and added some minor features. He also
fixed several bugs, especially the buggy implementation of
HitBeamObject
in several mesh objects. He moved the "metaballs" to
a mesh object plugin and added a blobby texture for them. He wrote the
motion manager and contributed a shuttle model for "csdemo".
Sebastian contributed a Blender export script.
Christopher wrote a remake of the windowing system (CSWS), called AWS. He also added the `cslexan' plugin (lexical analyzer). Before he started work on the AWS, he contributed to CSWS.
Andreas rewrote and cleaned up the WAV loader.
Richard added the 3DS model importer. He also moved the old terrain engine to a plug-in.
Dan recently became port maintainer for DJGPP.
The following people have contributed to the project by minor patches or by their suggestions and ideas:
Adam Bailey
Alistair Leslie (AlistairL@optushome.com.au)
Artur Biesiadowski (abies@pg.gda.pl)
Branimir Karadzic
Charles Duffy (cduffy@bigfoot.com)
David Fox
Denis Oliver Kropp (dok@master.fischlustig.de)
Donald Ryan Willhoit (willhoit@mail1.andrew.cmu.edu)
Duane McDonnel
E. Allen Soard (esp@espsw.net)
Ed Halley
Frederick A. Niles
Furqan Ullah (furqan@writeme.com)
Garrett (garrett@memesis.org)
Gregory Austwick (g.austwick@virgin.net)
Harald Fielker (fielker@informatik.fh-augsburg.de)
Jan Dvorak (johnydog@go.cz)
Jaroslav Benkovsky (benkovsk@www.pvtnet.cz)
Jason McKnight
Jason Platt
Jonathan Hudson (nathanoj@realmail.2ndmail.com)
Jonathon Doran (jon.doran@nsc.com)
Malcolm Peacock (malcolm@mpeacock.demon.co.uk)
Matt Keith (keith@www.keithcom.com)
Michael Knorr (damage-list@freenet.de)
Michael Robellard (miker@vetechno.com)
Paul Snively (psnively@earthlink.net)
Paulo Candido
Ryan J. Evans
Sebestyen Zoltan (szoli@valerie.inf.elte.hu)
Simon B. (simonb@telisphere.com)
Terrence Stewart
Thiago Ramon
Thomthee Besset (Besset@sugar-land.dowell.slb.com)
Travis McLane (tmclane@swt.edu)
Walt Armour (walt@armour.cx)
Wormz Studios (wormzstudios@iname.com)
Many thanks also for the people at GrimmWare for being the first to offer web space for Crystal Space.
Many thanks to Alessandro Russo for convincing his system manager to create a mailing list for Crystal Space. Thanks to Marco d'Itri (the system manager) for creating this list for me. Also thanks to those people for creating an ftp mirror of this site.
If we have forgotten anyone or missed a contribution, we sincerely apologize. Please feel free to notify us of errors or omissions.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |