Module CS/include/iutil/

back to main page

Summary Period: 2001-03-09 to 2003-06-20

Modules

[root]/CS/include/iutil

Lines Of Code


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

Authors

Author Changes Lines of code Lines per change
Totals 238 (100.0%) 5109 (100.0%) 21.4
jorrit 93 (39.1%) 2366 (46.3%) 25.4
sunshine 39 (16.4%) 1694 (33.2%) 43.4
res2002 41 (17.2%) 487 (9.5%) 11.8
okt 5 (2.1%) 124 (2.4%) 24.8
renej_frog 1 (0.4%) 73 (1.4%) 73.0
mgeisse 6 (2.5%) 66 (1.3%) 11.0
jtarbox 6 (2.5%) 66 (1.3%) 11.0
ab031ns 22 (9.2%) 66 (1.3%) 3.0
dentoid 2 (0.8%) 59 (1.2%) 29.5
tulebast 2 (0.8%) 24 (0.5%) 12.0
matzebraun 9 (3.8%) 20 (0.4%) 2.2
designa 2 (0.8%) 17 (0.3%) 8.5
uid20594 1 (0.4%) 14 (0.3%) 14.0
neverjade 3 (1.3%) 12 (0.2%) 4.0
groton 1 (0.4%) 11 (0.2%) 11.0
norman 3 (1.3%) 8 (0.2%) 2.6
philwyett 2 (0.8%) 2 (0.0%) 1.0

Most Recent Commits

sunshine 2003-06-20 20:01

Eric Sunshine made the following changes:

-*- Renamed csGetAppPath() to csGetAppDir() to better reflect its
function.

-*- Added a new csGetAppPath() which returns the actual absolute path to
the executable (as opposed to csGetAppDir() which returns the
directory containing the executable).

-*- Added csGetResourceDir() as complement of csGetAppDir(). On many
platforms, the resource path is the same as the application path, but
this might not be true for all platforms. For instance, on MacOS/X,
csGetAppDir() needs to return the directory in which the .app wrapper
is contained, however csGetResourceDir() needs to return the Resources
directory inside the wrapper.

-*- Added platform-specific csGetAppDir() and csGetResourceDir() for
MacOS/X.

-*- Updated the generic csGetPluginPaths() so that it includes the result
of csGetResourceDir() in the plugin path list.

-*- The above changes should allow the MacOS/X port to once again locate
its plugin modules.

-*- Fixed bug: In the case of a bare program name as argv[0] (as opposed
to an absolute or relative path), the default csGetAppDir() in
cssys/general simply returned the first component of PATH which
actually existed, rather than returning the component of PATH which
contained the application.

-*- Fixed bug: The default csGetAppDir() in cssys/general was always using
';' as the path delimiter, even though that only works for Windows.
Now uses ':' for Unix and Unix-like platforms.

-*- Fixed bug: The default csGetPluginPaths() in cssys/general was
attempting to prevent pushing "/" onto the plugin path list (because
"/" has ambiguous meaning under Windows), but was instead actually
preventing addition of any absolute path to the list (that is, any
path beginning with "/").

-*- Renamed iCommandLineParser::GetAppPath() to GetAppDir() to better
reflect its function.

2 lines of code changed in:

sunshine 2003-06-19 15:27

Eric Sunshine eliminated incorrect statement in documentation of
iConfigManager in iutil/cfgmgr.h where it claimed that the dynamic domain's
iConfigFile could not be changed after construction.

3 lines of code changed in:

res2002 2003-06-18 22:14

Made the following changes:
Added some documentation about per-user configs.
Fixed csGetAppPath() on unix.
On Win32, external .csplugin files are supported again (in
addition to embedded metadata.)
SCF factories have internally a 'context' now. The 'context'
basically identifies the directory of a plugin and is used to
decide whether duplicate class ID will be reported or not.
Eliminated a bit of redundant code and used more macros in
the GL extension manager to reduce it's bloat a bit.
Renamed "win32/syspath.cpp" to "win32/winsyspath.cpp".

5 lines of code changed in:

designa 2003-06-10 15:18

fixed minor off-by-one bug in csString::FindLast(). Documentation for
FindFirst/FindLast has been updated to include the not-found status return
value.

6 lines of code changed in:

designa 2003-06-10 14:10

added csString::FindLast(). iString/scfString has been updated for new
SubString, FindFirst and FindLast members.

11 lines of code changed in:

okt 2003-06-05 01:45

Replaced Pooled() with IncRefUnlessPooled and DecRefIfPooled.
It is indicative of inflexible procedural design to find yourself using
conditional statements to destinguish between objects of different types.

2 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

17 lines of code changed in:

jorrit 2003-06-04 10:17

- Jorrit added iPluginManager->QueryOptions() so that it is possible
to do the commandline options later.
- Jorrit changed iPluginManager->LoadPlugin() so that it no longer
calls QueryOptions() automatically if the 'init' parameter is false.
- Jorrit changed the csPluginLoader so that it only queries commandline
options for all loaded plugins AFTER all plugins are initialized.
This fixes a lot of commandline options (like -ilace, -smaller
for software renderer and -fov for engine).

13 lines of code changed in:

jorrit 2003-05-29 08:04

Replaced NULL with 0.

50 lines of code changed in:

jtarbox 2003-05-29 00:47

Fixed a bug with Post() and added iEvent::Pooled()

3 lines of code changed in:

groton 2003-05-15 21:26

groton (groton@gmx.net) modified the comment about the method
iEventQueue::Register in the file include/iutil/eventq.h

11 lines of code changed in:

dentoid 2003-05-12 01:20

Added SCF wrapper for stringset, and made the new renderer use it.

57 lines of code changed in:

res2002 2003-05-11 22:49

- fixed a leak in the engine: csStatLight:: and
csDynLight::AddAffectedLightingInfo() added the passed lighting info
to a hash and IncRef()ed it. However, the hash only adds it once,
while the IncRef() always happens, leading to lots of fake
references. When on destruction the lighting info hash was iterated
over, the lighting info was only DecRef()ed once (because there was
only one copy in the hash.) The lighting info is now only IncRef()ed
when it's not already in the hash.
- improved the thing loader to not produce a heap error in case of
an error. An iPoly3D was DecRef()ed, causing it to delete itself -
which wouldn't work as it was block-allocated. Now the polygon is
properly removed from the thing factory state.
- changed the Thing object to emit a notification as well if
iPolygonMesh is queried.
- changed a refcount issue in csEventQueue. For managing the
iEvents in the queue both smart pointers and manual IncRef()s/
DecRef()s were used, however an iEvent was always IncRef()ed but
not always DecRef()ed, causing leaks under some circumstances.
Removed IncRef()s/DecRef()s and let the smart pointers do their
work.
- added a remark to iEventQueue::Post() documentation on how
the owner ship of a passed iEvent is treated.

3 lines of code changed in:

okt 2003-05-10 04:14

Finished updating cssocket for UDP, and changed the network manager so it can manage sockets from cssocket as well as those from ensocket.

22 lines of code changed in:

res2002 2003-05-01 21:29

- changed the VFS cache manager to return data w/o null terminator.
- added a new constructor to csDataBuffer, copying from an existing
data buffer (and adding a null terminator.)
- fixed precalc info reader for the changed cache manager behaviour.

2 lines of code changed in:

res2002 2003-05-01 21:03

- made the following changes to VFS:
- added iFile::SetPos() to complement iFile::GetPos()
- added a new parameter to iFile::GetAllData() and
iVFS::ReadFile() whether the returned data buffer should
feature a null terminator. Default is 'no' resp. 'yes'.
- implemented GetAllData() for VFS disk files. When supported
by hardware and no null terminator is requested, nothing is read
but a file mapping is created. The created buffer is also saved
and all subsequent reads are copied from this buffer.
- added the possibility to map a disk file into memory on opening
when it is in a specific size range, but disabled for now as I'm
not sure whether this is really advantageous.
- fixed the document system plexer to seek in a file to the initial
position prior passing it to the "real" document system.
- changed binary loader to take advantage of iFile::GetAllData().
- parser now requests buffers w/o null termination for image
loading.
- changed TinyXML plugin to use iFile::GetAllData().

34 lines of code changed in:

jorrit 2003-04-23 10:01

- Removed iPluginManager->GetPluginCount() and GetPlugin() since
those two functions cannot be used in a thread-safe way. The
entire plugin manager is thread safe but those two functions
prevented using it correctly. Instead there is now a GetPlugins()
function which returns an iPluginIterator instance. That instance
takes a copy of the plugin manager so that the plugin manager
is not locked.

21 lines of code changed in:

jorrit 2003-04-18 09:26

- Started a document describing which parts of Crystal Space are
thread-safe and which are not.
- Made SCF class loading/unloading thread-safe. This means
that SCF_CREATE_INSTANCE is safe.
- Made the plugin manager thread-safe. This also means that macros
like CS_LOAD_PLUGIN and CS_QUERY_PLUGIN_CLASS are now thread-safe.
- Made the object registry thread-safe. This means things like
CS_QUERY_REGISTRY are now thread-safe.
- Also the object registry now returns a csPtr<> for the
object registry iterators.
- Added an entry to the faq about lack of hardware stencil causing
possible slow-down if not accelerated.

11 lines of code changed in:

renej_frog 2003-04-17 00:59

Major update of CS python scripting.

The cspython plugin can now access CS almost completely.
A python module can be built by "make pythmod" which allows for writing
CS application python.

Development and testing was done with Python 2.2.1, SWIG 1.3.17 on
RedHat Linux 7.2+. For platforms where Python 2.2.x is run by the
command "python2", use "PYTHON=python2" before "./configure" and
"make *" commands.

ToDo's:
* more support for callback situations
* provide support for building with Jam

The following lists repository changes (M=modified, A=addd, R=removed):

scripts/python/:
M cspace.py
generated by SWIG 1.3.17 from include/ivaria/cspace.i
M pysimp.py
used by cspython plugin in pysimp application
A pysimp2.py
second plugin example by Mark Gossage (mark@gossage.cjb.net)
M pysimpcd.py
stand-alone python version of simpcd application
M testpymod.py
simple python module test (much like pysimp.py, but pure python)
A tinydoc.py
test for iDocumentSystem
A tutorial0.py
python version of tutorial 0 by Mark Gossage (mark@gossage.cjb.net)
A tutorial2.py
python version of tutorial 2 by Mark Gossage (mark@gossage.cjb.net)
A tutorial3.py
python version of tutorial 3 by Mark Gossage (mark@gossage.cjb.net)

plugins/cscript/cspython/:
M cs_pyth.cpp
generated by SWIG 1.3.17 from include/ivaria/cspace.i
R cspymod.cpp
replaced by pythmod.cpp, following LANGmod.cpp scheme
M cspython.cpp
main file for cspython plugin
M cspython.mak
makefile for cspython plugin and python module (pythmod)
A pythmod.cpp
application stub for python module
A pythmod_setup.py
setup file for python module
M pytocs.cpp
python-to-CS-console functions for plugin

include/:
M ivaria/cspace.i
too much to mention, please see file
A ivaria/pythpre.i
python pre-include file for cspace.i (LANGpre.i scheme)
A ivaria/pythpost.i
python pre-include file for cspace.i (LANGpost.i scheme)
M igraphic/imageio.h
iImageIO::FileFormatDescription now usable by SWIG by introducing
a global csImageIOFileFormatDescription type
M iutil/event.h
anonymous structs in anonoymous union in iEvent now usable by SWIG,
names csEvent*Data
M ivideo/graph3d.h
"enum {...} vertex_mode;" made usable by SWIG by changing to
"enum {...} VertexMode; VertexMode vertex_mode;"

73 lines of code changed in:

tulebast 2003-04-08 09:15

Added RemoveAllListeners() declaration.

13 lines of code changed in:

(111 more)


Generated by StatCvs v0.2-dev