Module CS/plugins/csparser/

back to main page

Summary Period: 2001-06-29 to 2003-07-11

Modules

[root]/CS/plugins/csparser
     services (5 files, 1601 lines)

Lines Of Code


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

Authors

Author Changes Lines of code Lines per change
Totals 491 (100.0%) 17643 (100.0%) 35.9
jorrit 296 (60.3%) 9971 (56.5%) 33.6
mgeisse 26 (5.3%) 5026 (28.5%) 193.3
res2002 50 (10.2%) 1232 (7.0%) 24.6
thebolt00 10 (2.0%) 497 (2.8%) 49.7
vengeance2001 17 (3.5%) 316 (1.8%) 18.5
dentoid 8 (1.6%) 142 (0.8%) 17.7
sunshine 17 (3.5%) 114 (0.6%) 6.7
matzebraun 13 (2.6%) 81 (0.5%) 6.2
norman 11 (2.2%) 75 (0.4%) 6.8
philwyett 23 (4.7%) 56 (0.3%) 2.4
okt 4 (0.8%) 45 (0.3%) 11.2
boyan 1 (0.2%) 29 (0.2%) 29.0
hangman 2 (0.4%) 21 (0.1%) 10.5
azverkan 3 (0.6%) 12 (0.1%) 4.0
uid20594 2 (0.4%) 10 (0.1%) 5.0
uid30344 4 (0.8%) 7 (0.0%) 1.7
mreda 1 (0.2%) 4 (0.0%) 4.0
jacereda 1 (0.2%) 3 (0.0%) 3.0
wouter 1 (0.2%) 1 (0.0%) 1.0
jtarbox 1 (0.2%) 1 (0.0%) 1.0

Most Recent Commits

jorrit 2003-07-11 08:51

Renamed csPolygonMeshCube -> csPolygonMeshBox.

1 lines of code changed in:

jorrit 2003-07-11 07:41

- Jorrit added a conveniance csPolygonMeshCube class which represents
an easy way to make a cube collider.
- In addition Jorrit did the following:
- Simplified walktest a bit by using this new csPolygonMeshCube
class. So it no longer has to make dummy cube things for the
actor.
- Also use csPolygonMeshCube in csparser instead of the custom
cube mesh that was implemented there.

2 lines of code changed in:

jorrit 2003-07-10 12:07

- Jorrit fixed two wrong message id's in the csparser. It was
complaining about 'addon' while it had nothing to do with that.

2 lines of code changed in:

jorrit 2003-06-24 14:03

- Jorrit did the following sequence manager related changes:
- Added four different operations (AddOperationSetVariable())
to the engine sequence manager with which you can set a variable
(or add to it).
- Added the 'setvar' command to sequences. With this you can
do the following:
<setvar var="v" value="3"/> set 'v' to value 3.
<setvar var="v" add="-2"/> subtract 2 from 'v'.
<setvar var="v" value_var="z"/> copy var 'z' to 'v'.
<setvar var="v" add_var="z"/> add var 'z' to 'v' (as float).
<setvar var="v" x="1" y="2" z="1"/> set vector 1,2,1 to 'v'.
<setvar var="v" red="0" green="0" blue="1"/> set 'v' to blue.
- These changes are totally untested!

113 lines of code changed in:

sunshine 2003-06-22 22:38

Eric Sunshine removed the unused, obsolete, and deprecated top-level <name>
node from the .csplugin files.

0 lines of code changed in:

jorrit 2003-06-20 12:07

- Jorrit re-added the bool resolveOnlyRegion parameter (curRegOnly) for
LoadMapFile(). Also added this for LoadLibraryFile(). This is used
in addition to the region parameter now. The region parameter on
its own only causes objects to be added to that region. The
curRegOnly parameter causes objects to be searched in only that
region (as opposed to all regions).
This fixes the -regions commandline option for walktest.

43 lines of code changed in:

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.

166 lines of code changed in:

res2002 2003-06-12 23:59

Changed the texture parser to only use the texture name as a
source image file name if neither a <file> nor a <type> have been
specified; previously, this was always done, with the result that
the loader always tried to load an image with the texture name as
the filename, causing a confusing warning in flarge.

7 lines of code changed in:

jorrit 2003-06-12 15:01

- Jorrit reverted a change that res did about four weeks ago. Instead
of copying the texture name for loading a texture he kept a pointer
to it. The problem with that is that the filename of the texture
(out of the child XML node) is not guaranteed to remain in memory
while the node is out of scope. So a copy is required. Also in
addition it was no longer possible to omit the <file> keyword
if the filename happened to be equal to the texture name. The result
of that was that dmburg failed.

3 lines of code changed in:

res2002 2003-06-06 18:29

Did further fixes related to the new shader var stuff. r3dtest now seems to run fine (for me, at least.)

6 lines of code changed in:

sunshine 2003-06-05 15:44

Eric Sunshine performed Phase Three of the elimination of the monolithic
scf.cfg:

-*- Eliminated the SCF information which was hardcoded in the .cpp files
of plugin modules, and which duplicated information in the external
.csplugin files.

-*- Plugin modules no longer maintain and export a monolithic class list.
Now, each factory implemented by the code is exported automatically.

-*- Added a new <implementation> child node to the <class> node in
.csplugin files. The value of this node is the name of the C++ class
which implements the SCF class. For instance, C++ class csVFS
implements crystalspace.kernel.vfs.

-*- Eliminated the following SCF macros which were related to exporting
SCF information from .cpp code and/or registering classes manually:

SCF_EXPORT_CLASS_TABLE
SCF_EXPORT_CLASS
SCF_EXPORT_CLASS_DEP
SCF_EXPORT_CLASS_TABLE_END
SCF_REGISTER_STATIC_CLASS_DEP

-*- Eliminated the following methods from iSCF:

RegisterStaticClass
RegisterClassList

-*- Plugin modules are now initialized/shutdown lazily as classes are
requested from them. The first time a class is requested, the plugin
is initialized. The plugin is shutdown after the last class instance
has been destroyed.

-*- Fixed bug in scf.h where SCF_PRINT_CALL_ADDRESS was not being enabled
for gcc 3.x.

-*- Fixed bug in win32.jam where GenerateExportDefs rule failed to ensure
that directory containing output file existed before creating file.
Also fixed bug where it failed to set up a dependency between the
input and output files.

-*- Still To-Do:

- Remove references to scf.cfg and scfreg from documentation. Also
document new .csplugin resources.

- Add platform-specific function to scan and locate plugins
automatically rather than using the ad-hoc approach inherited from
scanning for .scf files.

- Add platform-specific function to query a plugin's meta-information.
This should be used by SCF to do the raw extraction. Provide and
finalize API for higher-level clients to access meta-information.

- Augment static linking to work with the new facility. (Removal of
the hardcoded SCF information, has now broken static linking. It
worked until this time, even with all of the preceding changes.)

3 lines of code changed in:

res2002 2003-06-05 02:45

Modified the engine to change to the default render loop when the world-specific settings reset.
Augmented the map loader to allow setting of a <renderloop> in a map's <settings>.
Added support for render loop loading through the <addon> mechanism.
Started working on a generic render step plugin. For now just compiles, but doesn't do anything yet.

38 lines of code changed in:

jorrit 2003-06-04 14:40

Jorrit changed the following iterators to conform to the new
CS iterator standard which means there is a HasNext() function
and a Next() (and optionally a Reset() if the iterator supports
that).
- iVisibilityObjectIterator
- iLightIterator
- iSectorIterator
- iObjectIterator
- iObjectRegistryIterator
- csTypedObjectIterator
- csModelDataActionIterator
- csModelDataPolygonIterator
- csModelDataTextureIterator
- csModelDataMaterialIterator
- csModelDataObjectIterator

8 lines of code changed in:

dentoid 2003-06-01 16:09

(New Renderer) Rewrote the custom render loop a bit to be more general, and also added "foreachlight" support. Also changed the way z-mode is set. Now it's set explicitly by a SetZMode call, and not implicitly in DrawMesh. A csBasicVector in the shadermanager has been replaced with csRefArray too. (Might have introduced bugs with reference counts.)

19 lines of code changed in:

matzebraun 2003-05-30 19:14

fixed crasher in map loader.

7 lines of code changed in:

jorrit 2003-05-29 08:06

Replaced NULL with 0.

275 lines of code changed in:

sunshine 2003-05-26 09:49

Eric Sunshine performed Phase One of the elimination of the monolithic
scf.cfg:

-*- Plugin modules are now self-describing. This information can be
queried at run-time without having to actually load the module.

-*- The plugin maintainer now manages the plugin's meta-information in an
external .csplugin file, rather than hard-coding the information into
the plugin's source code. The mechanism by which the meta-information
is bound to the plugin is platform-dependent. Presently, all
platforms simply lay down the meta-information in a plain text file
alongside the plugin itself; with the same basename and extension
.csplugin. This may change in the future. For example, on MacOS/X,
the meta-information will probably be encapsulated within the plugin's
bundle wrapper.

-*- Plugin meta-information is now maintained in XML format. Here is an
example:

<?xml version="1.0"?>
<!-- gl3d.csplugin -->
<plugin>
<name>gl3d</name>
<scf>
<classes>
<class>
<name>crystalspace.graphics3d.opengl</name>
<description>OpenGL 3D graphics driver</description>
<requires>
<class>crystalspace.font.server.</class>
</requires>
</class>
</classes>
</scf>
</plugin>

-*- Since meta-information is now extensible, maintainers can choose to
publish supplementary information about plugins (in addition to the
SCF information already published). For example, image loading
plugins could publish "image indendification" information which would
allow the image loading multiplexor to selectively request image
loading plugins on-demand, rather than requesting all plugins
unconditionally, even if they are not needed. Here is an example of a
possible meta-information table for the PNG loader:

<?xml version="1.0"?>
<!-- cspngimg.csplugin -->
<plugin>
<name>cspngimg</name>
<scf>...</scf>
<imageloader>
<imagetype>
<class>crystalspace.graphic.image.io.png</class>
<identify>
<mimetype>image/png</mimetype>
<extension>png</extension>
<extension>PNG</extension>
<scan length="4" bytes="\0x89PNG"/>
</identify>
</imagetype>
</imageloader>
</plugin>

In this example, the PNG loader meta-information tells the multiplexor
several different ways to identify a PNG image: by checking file
extension, if available; by checking MIME type, if available; by
checking for the magic-string "\0x89PNG" in the raw image data. If
the multiplexor identifies the image as PNG, only then will it
actually request the PNG loader.

-*- Added the --meta-file directive to msvcgen.pl to allow specification
of the meta-information file for a module. The value of this option
is interpolated into template files via the new %metafile% variable.
msvcgen.mak now utilizes this flag with the value of the new
INC.PROJECT makefile variable. Augmented the MSVC6 and MSVC7 plugin
template files (plugin.tpl) to make use of %metafile%.

-*- Changed the file extension for plugins on MacOS/X from .csplugin to
.csbundle to avoid conflict with new meta-information resource which
uses the extension .csplugin.

-*- Still To-Do:

- Augment SCF to utilize the new meta-information resources, and to
understand the new XML format. Presently, these resources are
ignored at run-time.

- Add platform-specific function to scan and locate plugins
automatically, rather than relying upon a monolithic registry such
as scf.cfg.

- Add platform-specific function to query a plugin's meta-information.

- Eliminate the monolithic scf.cfg.

- Augment static linking to work with the new facility.

- Eliminate the hard-coded SCF registration information in each
plugin's source code.

41 lines of code changed in:

res2002 2003-05-25 00:23

- added some #ifdefs to the texture loader in csparser to make it
work with render3d.

10 lines of code changed in:

jorrit 2003-05-20 12:40

- Jorrit added iObjectModel->GetPolygonMeshShadows() and
SetPolygonMeshShadows(). This will be used by the shadow manager
in the new renderer. Implemented this in csObjectModel and also
fixed all mesh objects.
- Jorrit extended the loader so you can now specify <shadows/>
in a <polymesh> to indicate that the polymesh is for shadows (this
is in addition to <viscull/> and <colldet/>).

18 lines of code changed in:

jorrit 2003-05-16 09:08

- Jorrit added SetBoundingBox() and GetBoundingBox() to iNullMeshState.
- Jorrit added a shortcut feature to the loader. You can now specify
a <polymesh/> outside a <meshobj/> (but inside a <sector/>).
Previously it was only possible to replace the polymesh for CD
or visibility culling of a mesh. With this new syntax it is possible
to create invisible objects that can be used for occlusion or for
collision detection without having to define a mesh object.
Internally this shortcut will make a regular mesh object that uses
a 'nullmesh' internally.

213 lines of code changed in:

(255 more)


Generated by StatCvs v0.2-dev