Module CS/libs/csengine/basic/

back to main page

Summary Period: 1999-05-06 to 2003-06-20

Modules

[root]/CS/libs/csengine/basic

Lines Of Code


Total Lines Of Code: 573 (2003-07-11 20:29)

Authors

Author Changes Lines of code Lines per change
Totals 244 (100.0%) 3120 (100.0%) 12.7
jorrit 166 (68.0%) 2528 (81.0%) 15.2
mgeisse 20 (8.2%) 240 (7.7%) 12.0
bdavis 8 (3.3%) 98 (3.1%) 12.2
andy 7 (2.9%) 77 (2.5%) 11.0
sunshine 15 (6.1%) 72 (2.3%) 4.8
andyz 7 (2.9%) 62 (2.0%) 8.8
norman 8 (3.3%) 23 (0.7%) 2.8
thieber 7 (2.9%) 9 (0.3%) 1.2
philwyett 2 (0.8%) 4 (0.1%) 2.0
malakai 1 (0.4%) 4 (0.1%) 4.0
wouter 2 (0.8%) 2 (0.1%) 1.0
mrsigma 1 (0.4%) 1 (0.0%) 1.0

Most Recent Commits

jorrit 2003-06-20 11:09

- Jorrit did the following region related changes:
- Removed the concept of the current region. The engine still
manages regions but no longer knows about the current region.
- Removed engine->SelectRegion(), engine->GetCurrentRegion(),
and engine->AddToCurrentRegion().
- Added engine->CreateRegion(). This function will create a region
and add it to the region list. If the region already exists
it will simply return a pointer to that.
- Removed support for the <region> keyword in map files.
- Added optional region parameter to iLoader->LoadLibraryFile().
- Replaced boolean resolveOnlyRegion parameter in
iLoader->LoadMapFile() with a pointer to the actual region
instead.
- Changed the parser to add all objects to the current region
itself.
- Sequences, triggers, and shared variables are also put in
regions now.
- The region code now supports removing sequences, triggers, and
shared variables too.

0 lines of code changed in:

jorrit 2003-05-29 08:05

Replaced NULL with 0.

23 lines of code changed in:

jorrit 2003-05-28 15:39

Jorrit removed several usages of GetPrivateObject() in the engine.
Not all usages could be removed however. The ones that were removed
now were the easy ones.

1 lines of code changed in:

jorrit 2003-02-28 20:33

- Fixed a bug in csMovable which updated the 'is_identity'
flag after the listeners were fired. That way the listeners would
potentially use wrong information.
- Added some additional asserts in dynavis and frustvis for
debugging purposes.

2 lines of code changed in:

jorrit 2003-01-15 08:50

- Started removing a few csVector usages and replacing them
with typed versions. In particular changed:
- csCrysBall
- csCollection
- csMeshWrapper
- csSector
- csAnimationTemplate
- Removed csObjVector (replaced with csRefArray in most places).

2 lines of code changed in:

jorrit 2003-01-13 16:05

- CS_DECLARE_OBJECT_VECTOR_NOREF was not used in CS so I removed it.
- Replaced usage of CS_DECLARE_RESTRICTED_ACCESS_OBJECT_VECTOR with
csRefArrayObject<T> and consequently removed the vector.
- Removed the now unused csNamedObjectVector.
- Thing plugin now uses csRefArrayObject for curve templates and
planes instead of csNamedObjVector.
- Ode dynamics plugin now uses csRefArrayObject instead of
csNamedObjVector.
- Iso engine uses csRefArray instead of csNamedObjVector.

5 lines of code changed in:

jorrit 2003-01-10 14:05

- Made the calling of the movable callbacks safe so that they now
can delete themselves from the movable. This basically amounts
to walking the callback list in reverse order.
- Changed the loops in all iLightCallback functions to go in reverse
order instead of the solution that is now used.
- Added iLight parameter to the functions in iLightCallback. That
way you can use the same callback instance for listening to
multiple lights at once.
- Added iObjectWatcher interface. This is a new system so that you
can easily watch a number of objects at the same time. Currently
this system supports lights and movables.
- Added iEngine->CreateObjectWatcher(). This will create an empty
object watcher for your own personal use.
- Added csPtrArray. This is a templated array similar to csRefArray.
The main difference is that no reference counting is used.
The difference with csVector is that csPtrArray is type-safe.

213 lines of code changed in:

jorrit 2002-12-20 16:32

- Lightmap cell size can no longer be set from within config.
Use the <settings> block in the map file instead.
- Temporarily removed the ability of setting cosinus factor from
within config.
- Added iFrustumView->CreateShadowBlock().
- Added accessor functions for lightmap cell size in iThingEnvironment.
And removed the SetLightmapCellSize/GetLightmapCellSize() functions
from iEngine.
- Added iFrustumView->GetSquaredRadius().
- Temporarily removed the ability to set lightmap calculation quality.
It will now always be 3.
- Temporarily removed the ability to control the number of reflections
in lighting calculations. Now hardcoded at the default 1 value.
- Temporarily removed the ability to disable portal traversal for
debugging purposes.
- Added iSector->CheckFrustum() for portal traversal.
- Removed the 'cosfact' console command in walktest.
- The big step! csThing is now a seperate plugin!

0 lines of code changed in:

jorrit 2002-12-19 15:38

- Physically seperated arrays.cpp in the engine to prepare for the
move of thing as a seperate plugin.
- Moved csLightPatch to lppool.cpp.
- Removed all includes from core engine to thing and vice versa
that are not needed. This only leaves a very few dependencies
before thing can be moved outside. Of course these few
dependencies still require some work.

0 lines of code changed in:

jorrit 2002-12-18 12:10

- Removed 'culler_mesh' in csSector. That is no longer valid
with the removal of the octree.
- Added iMovable::IsTransformIdentity() and TransformIdentity().
With this feature the movable will track if the transform
is still an identity transform. If that's the case then some
entities (like engine and cullers) can optimize based on that
fact. These two functions also make sure the engine doesn't have
to use the equivalent thing flags to do the same optimization.
- Added csTransform::Identity() and IsIdentity().
- Also added iMovable::IsFullTransformIdentity() which corresponds
to the GetFullTransform() being an identity transform.
- Optimized Dynavis and Frustvis by using IsFullTransformIdentity()
and avoiding the transforms in that case.
- Additionally optimized all mesh objects and parts of the engine
to test for the identity transform and avoid some matrix
manipulations or even more in some cases.

5 lines of code changed in:

jorrit 2002-12-16 13:00

- Completely removed the old octree culler. This has a great impact
on the internal engine structure. It greatly simplifies both
csThing and csPolygon3D and it also makes sure they are a bit
more efficient (use less memory and a bit faster since some
virtual function calls are no longer virtual).
- Moved crysball culler from csengine to csgeom as it doesn't
need nor depend on the engine.
- Removed everything related to PVS from the engine. That wasn't
used anyway.
- Removed several API calls in iEngine and iSector related to the
old culler and PVS.
- The parser will now give an error if 'culler' or 'vistree' is
used in a map file.

2 lines of code changed in:

jorrit 2002-11-01 21:26

- Removed userdata from iMovableListener. It is not needed.
- Added new iObjectModelListener so you can listen to changes
in an object model. Implemented this partially in all
iObjectModel implementations (i.e. all mesh objects). The listeners
are not yet fired though.

5 lines of code changed in:

norman 2002-03-14 00:40

- changed few of the static/global objects in csgeom and csengine to be declared/implemented with the new CS_ macros ("scfreg engine.so" no longer segfaults - that was why i started all this, the guy who asked on irc why it segfaults be cursed :)
- added a CS_..._REF in cssysdef that returns a reference to the static object
- in cssysdef.h moved forward declaration of cleanup function out of extern "C" {} construct

0 lines of code changed in:

jorrit 2002-02-15 09:18

Completely reformatted the engine source code using the GC utility.

201 lines of code changed in:

jorrit 2002-01-18 11:47

Slight code cleanup: removed all trailing spaces and tabs from
all lines in all source and make files throughout the entire project.
Note that this will most likely not result in a significant
FPS increase :-)

6 lines of code changed in:

jorrit 2001-12-13 10:04

Fix.

1 lines of code changed in:

jorrit 2001-12-13 08:49

Applied a patch from Peter Amstutz <tetron@student.umass.edu>
which allows csMovable to operate nicely even if there is no
attached mesh object (i.e. mesh object == NULL).

6 lines of code changed in:

mgeisse 2001-11-17 17:18

made the following changes:
- fixed a bug in csMovableSectorList where it would IncRef an object that is
not stored at all.
- removed ObjReleaseOld and the special destructor behaviour from csObject
since it is no longer needed.
- fixed an old bug in the constructors of csObject and csConfigFile. When I
changed these functions some time ago, I made the wrong assumption that
it is possible to call one constructor from another one to handle common
work. Instead, this creates another instance of the class on the stack,
which is of course not the desired behaviour.

1 lines of code changed in:

jorrit 2001-11-17 14:11

Fixed a significant memory leak on sectors. Every time a
mesh would move to a different sector a ref count would
be increased without it being decreased ever.

1 lines of code changed in:

mgeisse 2001-10-06 17:27

made the following changes:
- modified iLightList, iMeshList, iMeshFactoryList, iCameraPositionList and
iCollectionList to the new standard list interface
- removed the custom FreeItem from some of these lists where it was not
needed. The function just DecRef'ed the removed objects, which is already
done by the parent object vector class.
- removed the custom destructor in some of these lists where it was not
needed. These destructors did nothing but a DeleteAll(), which is only
needed if a custom FreeItem() is present. Otherwise they can rely on the
parent object vector class to call DeleteAll().
- Removed special AddBla() and RemoveBla() functions from the actual
vector classes. They co-existed with the normal Push(), Delete() and other
functions and contained special code that was not invoked by the normal
vector methods. The special code was moved to PrepareItem() and
FreeItem().
- fixed some bugs in the typed vector code

15 lines of code changed in:

(168 more)


Generated by StatCvs v0.2-dev