Revision: 26505
http://svn.sourceforge.net/crystal/?rev=26505&view=rev
Author: res2002
Date: 2007-02-26 20:43:48 -0800 (Mon, 26 Feb 2007)
Log Message:
-----------
Merged trunk r26280:26380 into SoC VFS branch.
Modified Paths:
--------------
CS/branches/soc/vfs/apps/demo/demo.cpp
CS/branches/soc/vfs/apps/demo/demoldr.cpp
CS/branches/soc/vfs/apps/demo/demoseq.cpp
CS/branches/soc/vfs/apps/demo/demoseq.h
CS/branches/soc/vfs/apps/import/maya2spr/maya2spr.cpp
CS/branches/soc/vfs/apps/import/maya2spr/maya_mdl.cpp
CS/branches/soc/vfs/apps/import/maya2spr/mayanode.cpp
CS/branches/soc/vfs/apps/import/md32spr/md32spr.cpp
CS/branches/soc/vfs/apps/tools/heightmapgen/heightmapgen.cpp
CS/branches/soc/vfs/apps/tools/imagetool/imagetool.cpp
CS/branches/soc/vfs/apps/tools/levtool/levtool.cpp
CS/branches/soc/vfs/apps/tools/lighter2/kdtree.cpp
CS/branches/soc/vfs/apps/tools/lighter2/kdtree.h
CS/branches/soc/vfs/apps/tools/lighter2/light.cpp
CS/branches/soc/vfs/apps/tools/lighter2/sampler.h
CS/branches/soc/vfs/apps/tools/startme/startme.cpp
CS/branches/soc/vfs/apps/tutorial/mazing/gamestuff.cpp
CS/branches/soc/vfs/apps/walktest/Jamfile
CS/branches/soc/vfs/apps/walktest/walkcmd.cpp
CS/branches/soc/vfs/apps/walktest/walkdemo.cpp
CS/branches/soc/vfs/apps/walktest/walktest.cpp
CS/branches/soc/vfs/configure
CS/branches/soc/vfs/configure.ac
CS/branches/soc/vfs/data/config/autoexec.cfg
CS/branches/soc/vfs/data/config/bugplug.key
CS/branches/soc/vfs/data/config/r3dopengl.cfg
CS/branches/soc/vfs/docs/history.txt
CS/branches/soc/vfs/docs/html/manual/cs_2.4.2.html
CS/branches/soc/vfs/docs/html/manual/cs_2.4.3.html
CS/branches/soc/vfs/docs/html/manual/cs_2.4.4.html
CS/branches/soc/vfs/docs/html/manual/cs_4.1.3.html
CS/branches/soc/vfs/docs/html/manual/cs_4.10.1.html
CS/branches/soc/vfs/docs/html/manual/cs_4.10.10.html
CS/branches/soc/vfs/docs/html/manual/cs_4.10.11.html
CS/branches/soc/vfs/docs/html/manual/cs_4.10.12.html
CS/branches/soc/vfs/docs/html/manual/cs_4.10.13.html
CS/branches/soc/vfs/docs/html/manual/cs_4.10.14.html
CS/branches/soc/vfs/docs/html/manual/cs_4.10.15.html
CS/branches/soc/vfs/docs/html/manual/cs_4.10.16.html
CS/branches/soc/vfs/docs/html/manual/cs_4.10.18.html
CS/branches/soc/vfs/docs/html/manual/cs_4.10.2.html
CS/branches/soc/vfs/docs/html/manual/cs_4.10.4.html
CS/branches/soc/vfs/docs/html/manual/cs_4.10.5.html
CS/branches/soc/vfs/docs/html/manual/cs_4.10.6.html
CS/branches/soc/vfs/docs/html/manual/cs_4.10.7.html
CS/branches/soc/vfs/docs/html/manual/cs_4.10.8.html
CS/branches/soc/vfs/docs/html/manual/cs_4.10.9.html
CS/branches/soc/vfs/docs/html/manual/cs_4.11.1.html
CS/branches/soc/vfs/docs/html/manual/cs_4.11.2.html
CS/branches/soc/vfs/docs/html/manual/cs_4.12.1.1.html
CS/branches/soc/vfs/docs/html/manual/cs_4.12.1.2.html
CS/branches/soc/vfs/docs/html/manual/cs_4.12.1.3.html
CS/branches/soc/vfs/docs/html/manual/cs_4.12.3.2.html
CS/branches/soc/vfs/docs/html/manual/cs_4.12.3.6.html
CS/branches/soc/vfs/docs/html/manual/cs_4.12.4.html
CS/branches/soc/vfs/docs/html/manual/cs_4.13.1.html
CS/branches/soc/vfs/docs/html/manual/cs_4.13.2.html
CS/branches/soc/vfs/docs/html/manual/cs_4.14.1.html
CS/branches/soc/vfs/docs/html/manual/cs_4.14.2.html
CS/branches/soc/vfs/docs/html/manual/cs_4.15.1.html
CS/branches/soc/vfs/docs/html/manual/cs_4.15.3.html
CS/branches/soc/vfs/docs/html/manual/cs_4.15.5.html
CS/branches/soc/vfs/docs/html/manual/cs_4.15.6.html
CS/branches/soc/vfs/docs/html/manual/cs_4.16.1.html
CS/branches/soc/vfs/docs/html/manual/cs_4.16.2.1.html
CS/branches/soc/vfs/docs/html/manual/cs_4.16.2.2.html
CS/branches/soc/vfs/docs/html/manual/cs_4.16.2.3.html
CS/branches/soc/vfs/docs/html/manual/cs_4.16.2.4.html
CS/branches/soc/vfs/docs/html/manual/cs_4.16.2.html
CS/branches/soc/vfs/docs/html/manual/cs_4.16.3.2.html
CS/branches/soc/vfs/docs/html/manual/cs_4.16.4.html
CS/branches/soc/vfs/docs/html/manual/cs_4.16.5.html
CS/branches/soc/vfs/docs/html/manual/cs_4.17.1.html
CS/branches/soc/vfs/docs/html/manual/cs_4.17.2.html
CS/branches/soc/vfs/docs/html/manual/cs_4.18.3.html
CS/branches/soc/vfs/docs/html/manual/cs_4.19.11.1.html
CS/branches/soc/vfs/docs/html/manual/cs_4.19.11.2.html
CS/branches/soc/vfs/docs/html/manual/cs_4.19.11.3.html
CS/branches/soc/vfs/docs/html/manual/cs_4.19.11.4.html
CS/branches/soc/vfs/docs/html/manual/cs_4.19.11.5.html
CS/branches/soc/vfs/docs/html/manual/cs_4.19.11.html
CS/branches/soc/vfs/docs/html/manual/cs_4.19.5.1.html
CS/branches/soc/vfs/docs/html/manual/cs_4.19.5.10.html
CS/branches/soc/vfs/docs/html/manual/cs_4.19.5.11.html
CS/branches/soc/vfs/docs/html/manual/cs_4.19.5.12.html
CS/branches/soc/vfs/docs/html/manual/cs_4.19.5.13.html
CS/branches/soc/vfs/docs/html/manual/cs_4.19.5.14.html
CS/branches/soc/vfs/docs/html/manual/cs_4.19.5.2.html
CS/branches/soc/vfs/docs/html/manual/cs_4.19.5.3.html
CS/branches/soc/vfs/docs/html/manual/cs_4.19.5.4.html
CS/branches/soc/vfs/docs/html/manual/cs_4.19.5.5.html
CS/branches/soc/vfs/docs/html/manual/cs_4.19.5.6.html
CS/branches/soc/vfs/docs/html/manual/cs_4.19.5.7.html
CS/branches/soc/vfs/docs/html/manual/cs_4.19.5.8.html
CS/branches/soc/vfs/docs/html/manual/cs_4.19.5.9.html
CS/branches/soc/vfs/docs/html/manual/cs_4.19.6.html
CS/branches/soc/vfs/docs/html/manual/cs_4.19.7.html
CS/branches/soc/vfs/docs/html/manual/cs_4.19.8.html
CS/branches/soc/vfs/docs/html/manual/cs_4.21.html
CS/branches/soc/vfs/docs/html/manual/cs_4.22.1.html
CS/branches/soc/vfs/docs/html/manual/cs_4.22.2.html
CS/branches/soc/vfs/docs/html/manual/cs_4.22.3.html
CS/branches/soc/vfs/docs/html/manual/cs_4.22.4.html
CS/branches/soc/vfs/docs/html/manual/cs_4.22.5.html
CS/branches/soc/vfs/docs/html/manual/cs_4.22.6.html
CS/branches/soc/vfs/docs/html/manual/cs_4.23.1.html
CS/branches/soc/vfs/docs/html/manual/cs_4.23.2.html
CS/branches/soc/vfs/docs/html/manual/cs_4.23.3.html
CS/branches/soc/vfs/docs/html/manual/cs_4.3.1.11.html
CS/branches/soc/vfs/docs/html/manual/cs_4.3.2.html
CS/branches/soc/vfs/docs/html/manual/cs_4.3.3.html
CS/branches/soc/vfs/docs/html/manual/cs_4.5.3.html
CS/branches/soc/vfs/docs/html/manual/cs_4.5.4.1.html
CS/branches/soc/vfs/docs/html/manual/cs_4.5.4.3.html
CS/branches/soc/vfs/docs/html/manual/cs_4.5.4.4.html
CS/branches/soc/vfs/docs/html/manual/cs_4.6.2.2.html
CS/branches/soc/vfs/docs/html/manual/cs_4.8.2.html
CS/branches/soc/vfs/docs/html/manual/cs_4.8.3.html
CS/branches/soc/vfs/docs/html/manual/cs_4.9.1.html
CS/branches/soc/vfs/docs/html/manual/cs_4.9.10.html
CS/branches/soc/vfs/docs/html/manual/cs_4.9.3.html
CS/branches/soc/vfs/docs/html/manual/cs_4.9.4.html
CS/branches/soc/vfs/docs/html/manual/cs_4.9.5.html
CS/branches/soc/vfs/docs/html/manual/cs_4.9.6.html
CS/branches/soc/vfs/docs/html/manual/cs_4.9.8.3.html
CS/branches/soc/vfs/docs/html/manual/cs_5.1.html
CS/branches/soc/vfs/docs/html/manual/cs_5.2.html
CS/branches/soc/vfs/docs/html/manual/cs_5.4.html
CS/branches/soc/vfs/docs/html/manual/cs_5.5.html
CS/branches/soc/vfs/docs/html/manual/cs_5.6.html
CS/branches/soc/vfs/docs/html/manual/cs_5.7.html
CS/branches/soc/vfs/docs/html/manual/cs_5.9.html
CS/branches/soc/vfs/docs/html/manual/cs_6.2.html
CS/branches/soc/vfs/docs/html/manual/cs_6.3.html
CS/branches/soc/vfs/docs/html/manual/cs_6.4.html
CS/branches/soc/vfs/docs/html/manual/cs_7.1.html
CS/branches/soc/vfs/docs/html/manual/cs_C.1.1.html
CS/branches/soc/vfs/docs/html/manual/cs_C.1.2.html
CS/branches/soc/vfs/docs/html/manual/cs_C.2.1.html
CS/branches/soc/vfs/docs/html/manual/cs_C.2.12.html
CS/branches/soc/vfs/docs/html/manual/cs_C.2.2.html
CS/branches/soc/vfs/docs/html/manual/cs_C.2.22.html
CS/branches/soc/vfs/docs/html/manual/cs_C.2.3.html
CS/branches/soc/vfs/docs/html/manual/cs_C.2.4.html
CS/branches/soc/vfs/docs/html/manual/cs_C.2.6.html
CS/branches/soc/vfs/docs/html/manual/cs_C.2.7.html
CS/branches/soc/vfs/docs/html/manual/cs_C.2.8.html
CS/branches/soc/vfs/docs/html/manual/cs_C.2.9.html
CS/branches/soc/vfs/docs/html/manual/cs_C.3.html
CS/branches/soc/vfs/docs/html/manual/cs_C.4.html
CS/branches/soc/vfs/docs/html/manual/cs_C.5.html
CS/branches/soc/vfs/docs/html/manual/cs_C.6.html
CS/branches/soc/vfs/docs/html/manual/cs_C.7.html
CS/branches/soc/vfs/docs/html/manual/cs_C.8.html
CS/branches/soc/vfs/docs/html/manual/cs_C.9.html
CS/branches/soc/vfs/docs/html/manual/cs_INDEX0.html
CS/branches/soc/vfs/docs/html/manual/cs_INDEX1.html
CS/branches/soc/vfs/docs/html/manual/cs_INDEX2.html
CS/branches/soc/vfs/docs/html/manual/cs_INDEX3.html
CS/branches/soc/vfs/docs/html/manual/cs_INDEX4.html
CS/branches/soc/vfs/docs/html/manual/cs_Index.html
CS/branches/soc/vfs/docs/texinfo/build/platform/win32/msvc/msvc7.txi
CS/branches/soc/vfs/docs/texinfo/usingcs/libs/threading.txi
CS/branches/soc/vfs/docs/texinfo/usingcs/meshobj/particles.txi
CS/branches/soc/vfs/docs/texinfo/usingcs/scf/smartptr.txi
CS/branches/soc/vfs/include/csgeom/frustum.h
CS/branches/soc/vfs/include/csgeom/path.h
CS/branches/soc/vfs/include/csgeom/poly3d.h
CS/branches/soc/vfs/include/csgeom/trimesh.h
CS/branches/soc/vfs/include/csgfx/imagebase.h
CS/branches/soc/vfs/include/csgfx/imagememory.h
CS/branches/soc/vfs/include/csgfx/imagevolumemaker.h
CS/branches/soc/vfs/include/csgfx/packrgb.h
CS/branches/soc/vfs/include/csgfx/renderbuffer.h
CS/branches/soc/vfs/include/csgfx/shadervar.h
CS/branches/soc/vfs/include/csgfx/shadervarcontext.h
CS/branches/soc/vfs/include/csplugincommon/particlesys/partgen.h
CS/branches/soc/vfs/include/cssysdef.h
CS/branches/soc/vfs/include/cstool/csanim2d.h
CS/branches/soc/vfs/include/cstool/importkit.h
CS/branches/soc/vfs/include/cstool/initapp.h
CS/branches/soc/vfs/include/cstool/meshobjtmpl.h
CS/branches/soc/vfs/include/cstool/objmodel.h
CS/branches/soc/vfs/include/csutil/allocator.h
CS/branches/soc/vfs/include/csutil/archive.h
CS/branches/soc/vfs/include/csutil/array.h
CS/branches/soc/vfs/include/csutil/compileassert.h
CS/branches/soc/vfs/include/csutil/databuf.h
CS/branches/soc/vfs/include/csutil/debug.h
CS/branches/soc/vfs/include/csutil/dirtyaccessarray.h
CS/branches/soc/vfs/include/csutil/fifo.h
CS/branches/soc/vfs/include/csutil/formatter.h
CS/branches/soc/vfs/include/csutil/hash.h
CS/branches/soc/vfs/include/csutil/mempool.h
CS/branches/soc/vfs/include/csutil/nobjvec.h
CS/branches/soc/vfs/include/csutil/parray.h
CS/branches/soc/vfs/include/csutil/partialorder.h
CS/branches/soc/vfs/include/csutil/profile.h
CS/branches/soc/vfs/include/csutil/ref.h
CS/branches/soc/vfs/include/csutil/refarr.h
CS/branches/soc/vfs/include/csutil/scf.h
CS/branches/soc/vfs/include/csutil/scf_implementation.h
CS/branches/soc/vfs/include/csutil/scf_interface.h
CS/branches/soc/vfs/include/csutil/scfstringarray.h
CS/branches/soc/vfs/include/csutil/syspath.h
CS/branches/soc/vfs/include/csutil/threading/atomicops.h
CS/branches/soc/vfs/include/csutil/timer.h
CS/branches/soc/vfs/include/csutil/tree.h
CS/branches/soc/vfs/include/csutil/weakref.h
CS/branches/soc/vfs/include/csutil/weakrefarr.h
CS/branches/soc/vfs/include/csutil/win32/csosdefs.h
CS/branches/soc/vfs/include/csutil.h
CS/branches/soc/vfs/include/iengine/mesh.h
CS/branches/soc/vfs/include/igeom.h
CS/branches/soc/vfs/include/igraphic/image.h
CS/branches/soc/vfs/include/imesh/object.h
CS/branches/soc/vfs/include/imesh/skeleton.h
CS/branches/soc/vfs/include/ivaria/profile.h
CS/branches/soc/vfs/include/ivideo/rndbuf.h
CS/branches/soc/vfs/include/ivideo/shader/shader.h
CS/branches/soc/vfs/libs/csgeom/bsptree.cpp
CS/branches/soc/vfs/libs/csgeom/pmtools.cpp
CS/branches/soc/vfs/libs/csgeom/poly3d.cpp
CS/branches/soc/vfs/libs/csgeom/subrec2.cpp
CS/branches/soc/vfs/libs/csgeom/triangulate.cpp
CS/branches/soc/vfs/libs/csgeom/trimesh.cpp
CS/branches/soc/vfs/libs/csgeom/trimeshlod.cpp
CS/branches/soc/vfs/libs/csgfx/gradient.cpp
CS/branches/soc/vfs/libs/csgfx/imagevolumemaker.cpp
CS/branches/soc/vfs/libs/csgfx/memimage.cpp
CS/branches/soc/vfs/libs/csgfx/renderbuffer.cpp
CS/branches/soc/vfs/libs/csgfx/shaderexp.cpp
CS/branches/soc/vfs/libs/csplugincommon/canvas/fontcache.cpp
CS/branches/soc/vfs/libs/csplugincommon/directx/directdetection.cpp
CS/branches/soc/vfs/libs/csplugincommon/opengl/driverdb.cpp
CS/branches/soc/vfs/libs/csplugincommon/opengl/glcommon2d.cpp
CS/branches/soc/vfs/libs/csplugincommon/opengl/glfontcache.cpp
CS/branches/soc/vfs/libs/csplugincommon/particlesys/partgen.cpp
CS/branches/soc/vfs/libs/csplugincommon/shader/shaderprogram.cpp
CS/branches/soc/vfs/libs/csplugincommon/sndsys/sndstream.cpp
CS/branches/soc/vfs/libs/csplugincommon/win32/customcursor.cpp
CS/branches/soc/vfs/libs/cstool/collider.cpp
CS/branches/soc/vfs/libs/cstool/importkit_glue.cpp
CS/branches/soc/vfs/libs/cstool/normalcalc.cpp
CS/branches/soc/vfs/libs/cstool/pen.cpp
CS/branches/soc/vfs/libs/cstool/primitives.cpp
CS/branches/soc/vfs/libs/cstool/rendermeshlist.cpp
CS/branches/soc/vfs/libs/cstool/userrndbuf.cpp
CS/branches/soc/vfs/libs/csutil/archive.cpp
CS/branches/soc/vfs/libs/csutil/binder.cpp
CS/branches/soc/vfs/libs/csutil/callstack.cpp
CS/branches/soc/vfs/libs/csutil/cfgacc.cpp
CS/branches/soc/vfs/libs/csutil/cfgfile.cpp
CS/branches/soc/vfs/libs/csutil/cfgmgr.cpp
CS/branches/soc/vfs/libs/csutil/cmdline.cpp
CS/branches/soc/vfs/libs/csutil/csobject.cpp
CS/branches/soc/vfs/libs/csutil/cssubscription.cpp
CS/branches/soc/vfs/libs/csutil/generic/pathutil.cpp
CS/branches/soc/vfs/libs/csutil/mempool.cpp
CS/branches/soc/vfs/libs/csutil/objreg.cpp
CS/branches/soc/vfs/libs/csutil/plugldr.cpp
CS/branches/soc/vfs/libs/csutil/plugmgr.cpp
CS/branches/soc/vfs/libs/csutil/reftrack.cpp
CS/branches/soc/vfs/libs/csutil/scf.cpp
CS/branches/soc/vfs/libs/csutil/syspath.cpp
CS/branches/soc/vfs/libs/csutil/threading/win32_thread.cpp
CS/branches/soc/vfs/libs/csutil/timer.cpp
CS/branches/soc/vfs/libs/csutil/tinyxml.cpp
CS/branches/soc/vfs/libs/csutil/tinyxml.h
CS/branches/soc/vfs/libs/csutil/verbosity.cpp
CS/branches/soc/vfs/libs/csutil/win32/callstack-dbghelp.cpp
CS/branches/soc/vfs/libs/csutil/win32/loadlib.cpp
CS/branches/soc/vfs/libs/csutil/win32/minidump.cpp
CS/branches/soc/vfs/libs/csutil/win32/registrycfg.cpp
CS/branches/soc/vfs/libs/csutil/win32/win32.cpp
CS/branches/soc/vfs/libs/csutil/win32/win32kbd.cpp
CS/branches/soc/vfs/libs/csutil/win32/winsyspath.cpp
CS/branches/soc/vfs/mk/autoconf/checkpython.m4
CS/branches/soc/vfs/mk/autoconf/compiler.m4
CS/branches/soc/vfs/mk/jam/static.jam
CS/branches/soc/vfs/mk/msvc/appwalktest_static_staticuse.cpp
CS/branches/soc/vfs/mk/msvc/crystalspace_staticplugins_msvc.jam
CS/branches/soc/vfs/mk/msvc/libprofiler_staticreg.cpp
CS/branches/soc/vfs/mk/msvc/plgprofiler.rc
CS/branches/soc/vfs/mk/msvc7/libcrystalspace.vcproj
CS/branches/soc/vfs/mk/msvc7/libcrystalspace_staticplugins.vcproj
CS/branches/soc/vfs/mk/msvc7/plgcsjpgimg.vcproj
CS/branches/soc/vfs/mk/msvc7/wkstypical.sln
CS/branches/soc/vfs/mk/msvc7/wkswxtypical.sln
CS/branches/soc/vfs/mk/msvc71/libcrystalspace.vcproj
CS/branches/soc/vfs/mk/msvc71/libcrystalspace_staticplugins.vcproj
CS/branches/soc/vfs/mk/msvc71/plgcsjpgimg.vcproj
CS/branches/soc/vfs/mk/msvc71/wkstypical.sln
CS/branches/soc/vfs/mk/msvc71/wkswxtypical.sln
CS/branches/soc/vfs/mk/msvc8/libcrystalspace.vcproj
CS/branches/soc/vfs/mk/msvc8/libcrystalspace_staticplugins.vcproj
CS/branches/soc/vfs/mk/msvc8/plgcsjpgimg.vcproj
CS/branches/soc/vfs/mk/msvc8/wkstypical.sln
CS/branches/soc/vfs/mk/msvc8/wkswxtypical.sln
CS/branches/soc/vfs/plugins/Jamfile
CS/branches/soc/vfs/plugins/collide/opcode/CSopcode.cpp
CS/branches/soc/vfs/plugins/collide/opcode/csTerraFormerCollider.cpp
CS/branches/soc/vfs/plugins/console/input/standard/csconin.cpp
CS/branches/soc/vfs/plugins/cscript/cspython/cs_pyth.cpp
CS/branches/soc/vfs/plugins/csparser/csloader.cpp
CS/branches/soc/vfs/plugins/csparser/ldrplug.cpp
CS/branches/soc/vfs/plugins/csparser/prstex.cpp
CS/branches/soc/vfs/plugins/cssaver/cssaver.cpp
CS/branches/soc/vfs/plugins/culling/dynavis/dynavis.cpp
CS/branches/soc/vfs/plugins/culling/frustvis/frustvis.cpp
CS/branches/soc/vfs/plugins/device/joystick/windows/csjoywin.cpp
CS/branches/soc/vfs/plugins/documentsystem/binary/bindoc.cpp
CS/branches/soc/vfs/plugins/documentsystem/dsplex/dsplex.cpp
CS/branches/soc/vfs/plugins/documentsystem/xmlread/xr.cpp
CS/branches/soc/vfs/plugins/documentsystem/xmlread/xr.h
CS/branches/soc/vfs/plugins/engine/3d/camera.cpp
CS/branches/soc/vfs/plugins/engine/3d/engine.cpp
CS/branches/soc/vfs/plugins/engine/3d/light.cpp
CS/branches/soc/vfs/plugins/engine/3d/light.h
CS/branches/soc/vfs/plugins/engine/3d/lview.cpp
CS/branches/soc/vfs/plugins/engine/3d/lview.h
CS/branches/soc/vfs/plugins/engine/3d/material.cpp
CS/branches/soc/vfs/plugins/engine/3d/material.h
CS/branches/soc/vfs/plugins/engine/3d/meshgen.cpp
CS/branches/soc/vfs/plugins/engine/3d/meshgen.h
CS/branches/soc/vfs/plugins/engine/3d/meshlod.h
CS/branches/soc/vfs/plugins/engine/3d/meshobj.cpp
CS/branches/soc/vfs/plugins/engine/3d/meshobj.h
CS/branches/soc/vfs/plugins/engine/3d/movable.cpp
CS/branches/soc/vfs/plugins/engine/3d/movable.h
CS/branches/soc/vfs/plugins/engine/3d/objwatch.cpp
CS/branches/soc/vfs/plugins/engine/3d/objwatch.h
CS/branches/soc/vfs/plugins/engine/3d/portal.cpp
CS/branches/soc/vfs/plugins/engine/3d/portal.h
CS/branches/soc/vfs/plugins/engine/3d/portalcontainer.cpp
CS/branches/soc/vfs/plugins/engine/3d/portalcontainer.h
CS/branches/soc/vfs/plugins/engine/3d/region.cpp
CS/branches/soc/vfs/plugins/engine/3d/renderloop.cpp
CS/branches/soc/vfs/plugins/engine/3d/sector.cpp
CS/branches/soc/vfs/plugins/engine/3d/sector.h
CS/branches/soc/vfs/plugins/engine/3d/sharevar.cpp
CS/branches/soc/vfs/plugins/engine/3d/texture.cpp
CS/branches/soc/vfs/plugins/engine/renderloop/shadow/stencil/polymesh.h
CS/branches/soc/vfs/plugins/engine/renderloop/shadow/stencil/stencil.cpp
CS/branches/soc/vfs/plugins/engine/renderloop/shadow/stencil2/polymesh.h
CS/branches/soc/vfs/plugins/engine/renderloop/shadow/stencil2/stencil2.cpp
CS/branches/soc/vfs/plugins/engine/renderloop/stdsteps/generic.cpp
CS/branches/soc/vfs/plugins/engine/renderloop/stdsteps/lightiter.cpp
CS/branches/soc/vfs/plugins/engine/renderloop/stdsteps/shadowmap.cpp
CS/branches/soc/vfs/plugins/engine/renderloop/stdsteps/target.cpp
CS/branches/soc/vfs/plugins/engseq/engseq.cpp
CS/branches/soc/vfs/plugins/engseq/engseq.h
CS/branches/soc/vfs/plugins/filesys/vfs/filesystem.cpp
CS/branches/soc/vfs/plugins/filesys/vfs/vfs.cpp
CS/branches/soc/vfs/plugins/font/server/csfont/csfont.cpp
CS/branches/soc/vfs/plugins/font/server/fontplex/fontplex.cpp
CS/branches/soc/vfs/plugins/font/server/freefnt2/freefnt2.cpp
CS/branches/soc/vfs/plugins/gui/aws/awsControlBar.cpp
CS/branches/soc/vfs/plugins/gui/aws/awsTabCtrl.cpp
CS/branches/soc/vfs/plugins/gui/aws/awscomp.cpp
CS/branches/soc/vfs/plugins/gui/aws/awsfparm.cpp
CS/branches/soc/vfs/plugins/gui/aws/awsgbl.cpp
CS/branches/soc/vfs/plugins/gui/aws/awskeycn.cpp
CS/branches/soc/vfs/plugins/gui/aws/awslstbx.cpp
CS/branches/soc/vfs/plugins/gui/aws/awsmgr.cpp
CS/branches/soc/vfs/plugins/gui/aws/awsmled.cpp
CS/branches/soc/vfs/plugins/gui/aws/awsntbk.cpp
CS/branches/soc/vfs/plugins/gui/aws/awsntbk.h
CS/branches/soc/vfs/plugins/gui/aws/awsprefs.cpp
CS/branches/soc/vfs/plugins/gui/aws/awsprefs.h
CS/branches/soc/vfs/plugins/gui/aws/awsscr.cpp
CS/branches/soc/vfs/plugins/gui/aws/awsslot.cpp
CS/branches/soc/vfs/plugins/gui/aws/awstex.cpp
CS/branches/soc/vfs/plugins/gui/aws2/fvg.h
CS/branches/soc/vfs/plugins/gui/aws2/fvg_shape.h
CS/branches/soc/vfs/plugins/gui/aws2/script_console.cpp
CS/branches/soc/vfs/plugins/gui/aws2/script_console.h
CS/branches/soc/vfs/plugins/gui/aws2/widget.cpp
CS/branches/soc/vfs/plugins/gui/aws2/widget.h
CS/branches/soc/vfs/plugins/gui/cegui/ceguiresourceprovider.cpp
CS/branches/soc/vfs/plugins/mesh/bezier/object/beziermsh.cpp
CS/branches/soc/vfs/plugins/mesh/bezier/object/beziermsh.h
CS/branches/soc/vfs/plugins/mesh/bezier/object/clightmap.cpp
CS/branches/soc/vfs/plugins/mesh/emit/object/emit.cpp
CS/branches/soc/vfs/plugins/mesh/genmesh/anim/gmeshanim.cpp
CS/branches/soc/vfs/plugins/mesh/genmesh/object/genmesh.cpp
CS/branches/soc/vfs/plugins/mesh/genmesh/object/genmesh.h
CS/branches/soc/vfs/plugins/mesh/genmesh/persist/gmesh3ds/gmesh3ds.cpp
CS/branches/soc/vfs/plugins/mesh/genmesh/persist/standard/gmeshldr.cpp
CS/branches/soc/vfs/plugins/mesh/genmesh/skelanim2/gmeshskelanim.cpp
CS/branches/soc/vfs/plugins/mesh/haze/object/haze.cpp
CS/branches/soc/vfs/plugins/mesh/haze/object/haze.h
CS/branches/soc/vfs/plugins/mesh/instmesh/object/instmesh.cpp
CS/branches/soc/vfs/plugins/mesh/instmesh/object/instmesh.h
CS/branches/soc/vfs/plugins/mesh/lghtng/object/lghtng.h
CS/branches/soc/vfs/plugins/mesh/null/object/nullmesh.h
CS/branches/soc/vfs/plugins/mesh/particles/object/particles.h
CS/branches/soc/vfs/plugins/mesh/particles/persist/standard/particlesldr.cpp
CS/branches/soc/vfs/plugins/mesh/particles/persist/standard/particlesldr.tok
CS/branches/soc/vfs/plugins/mesh/protomesh/object/protomesh.h
CS/branches/soc/vfs/plugins/mesh/skeleton/object/skeleton.cpp
CS/branches/soc/vfs/plugins/mesh/skeleton/object/skeleton.h
CS/branches/soc/vfs/plugins/mesh/spr2d/object/spr2d.cpp
CS/branches/soc/vfs/plugins/mesh/spr2d/object/spr2d.h
CS/branches/soc/vfs/plugins/mesh/spr2d/object/spr2duv.cpp
CS/branches/soc/vfs/plugins/mesh/spr3d/object/spr3d.cpp
CS/branches/soc/vfs/plugins/mesh/spr3d/object/spr3d.h
CS/branches/soc/vfs/plugins/mesh/spr3d/persist/spr3md2/spr3md2.cpp
CS/branches/soc/vfs/plugins/mesh/sprcal3d/object/sprcal3d.cpp
CS/branches/soc/vfs/plugins/mesh/sprcal3d/object/sprcal3d.h
CS/branches/soc/vfs/plugins/mesh/terrain/brute/brute.cpp
CS/branches/soc/vfs/plugins/mesh/terrain/brute/brute.h
CS/branches/soc/vfs/plugins/mesh/thing/object/lghtmap.cpp
CS/branches/soc/vfs/plugins/mesh/thing/object/parrays.cpp
CS/branches/soc/vfs/plugins/mesh/thing/object/polygon.cpp
CS/branches/soc/vfs/plugins/mesh/thing/object/polygon.h
CS/branches/soc/vfs/plugins/mesh/thing/object/polyrender.cpp
CS/branches/soc/vfs/plugins/mesh/thing/object/polytext.cpp
CS/branches/soc/vfs/plugins/mesh/thing/object/thing.cpp
CS/branches/soc/vfs/plugins/mesh/thing/object/thing.h
CS/branches/soc/vfs/plugins/mesh/thing/persist/standard/thingldr.cpp
CS/branches/soc/vfs/plugins/physics/bullet/bullet.cpp
CS/branches/soc/vfs/plugins/physics/odedynam/odedynam.cpp
CS/branches/soc/vfs/plugins/reporter/reporter.cpp
CS/branches/soc/vfs/plugins/sequence/sequence.cpp
CS/branches/soc/vfs/plugins/sndsys/manager/sndmanager.cpp
CS/branches/soc/vfs/plugins/sndsys/manager/sndmanager.h
CS/branches/soc/vfs/plugins/stdrep/stdrep.cpp
CS/branches/soc/vfs/plugins/terraformer/pagingformer/pagingformer.cpp
CS/branches/soc/vfs/plugins/terraformer/simpleformer/loader/loader.cpp
CS/branches/soc/vfs/plugins/terraformer/simpleformer/simpleformer.cpp
CS/branches/soc/vfs/plugins/utilities/bugplug/bugplug.cpp
CS/branches/soc/vfs/plugins/utilities/bugplug/bugplug.h
CS/branches/soc/vfs/plugins/utilities/bugplug/shadow.h
CS/branches/soc/vfs/plugins/utilities/profiler/profiler.cpp
CS/branches/soc/vfs/plugins/utilities/profiler/profiler.csplugin
CS/branches/soc/vfs/plugins/utilities/profiler/profiler.h
CS/branches/soc/vfs/plugins/video/canvas/wxgl/GLWXDriver2D.cpp
CS/branches/soc/vfs/plugins/video/canvas/wxgl/GLWXDriver2D.h
CS/branches/soc/vfs/plugins/video/loader/dds/ddsloader.cpp
CS/branches/soc/vfs/plugins/video/loader/jng/jng.cpp
CS/branches/soc/vfs/plugins/video/loader/jpg/Jamfile
CS/branches/soc/vfs/plugins/video/loader/jpg/jpgimage.cpp
CS/branches/soc/vfs/plugins/video/loader/jpg/jpgimage.h
CS/branches/soc/vfs/plugins/video/loader/mplex/imgplex.cpp
CS/branches/soc/vfs/plugins/video/loader/png/pngimage.cpp
CS/branches/soc/vfs/plugins/video/render3d/opengl/gl_r2t_framebuf.cpp
CS/branches/soc/vfs/plugins/video/render3d/opengl/gl_render3d.cpp
CS/branches/soc/vfs/plugins/video/render3d/opengl/gl_render3d.h
CS/branches/soc/vfs/plugins/video/render3d/opengl/gl_renderbuffer.cpp
CS/branches/soc/vfs/plugins/video/render3d/opengl/gl_renderbuffer.h
CS/branches/soc/vfs/plugins/video/render3d/opengl/gl_txtmgr.cpp
CS/branches/soc/vfs/plugins/video/render3d/shader/shadercompiler/xmlshader/cpi/docwrap.cpp
CS/branches/soc/vfs/plugins/video/render3d/shader/shadercompiler/xmlshader/cpi/expparser.h
CS/branches/soc/vfs/plugins/video/render3d/shader/shadercompiler/xmlshader/cpi/valueset.cpp
CS/branches/soc/vfs/plugins/video/render3d/shader/shadercompiler/xmlshader/shader.cpp
CS/branches/soc/vfs/plugins/video/render3d/shader/shadercompiler/xmlshader/shadertech.cpp
CS/branches/soc/vfs/plugins/video/render3d/shader/shadercompiler/xmlshader/xmlshader.cpp
CS/branches/soc/vfs/plugins/video/render3d/shader/shadermgr/shadermgr.cpp
CS/branches/soc/vfs/plugins/video/render3d/shader/shaderplugins/glshader_arb/glshader_afp.cpp
CS/branches/soc/vfs/plugins/video/render3d/shader/shaderplugins/glshader_arb/glshader_avp.cpp
CS/branches/soc/vfs/plugins/video/render3d/shader/shaderplugins/glshader_cg/glshader_cgcommon.cpp
CS/branches/soc/vfs/plugins/video/render3d/shader/shaderplugins/glshader_cg/glshader_cgfp.cpp
CS/branches/soc/vfs/plugins/video/render3d/shader/shaderplugins/glshader_fixed/glshader_ffp.cpp
CS/branches/soc/vfs/plugins/video/render3d/shader/shaderplugins/glshader_fixed/glshader_fvp.cpp
CS/branches/soc/vfs/plugins/video/render3d/shader/shaderplugins/glshader_ps1/ps1_1xto14.cpp
CS/branches/soc/vfs/plugins/video/render3d/shader/shaderplugins/glshader_ps1/ps1_emu_ati.cpp
CS/branches/soc/vfs/plugins/video/render3d/shader/shaderplugins/glshader_ps1/ps1_emu_common.cpp
CS/branches/soc/vfs/plugins/video/render3d/shader/shaderplugins/glshader_ps1/ps1_emu_nv.cpp
CS/branches/soc/vfs/plugins/video/render3d/shader/shaderplugins/glshader_ps1/ps1_parser.cpp
CS/branches/soc/vfs/plugins/video/render3d/software/sft3dcom.cpp
CS/branches/soc/vfs/plugins/video/render3d/software/tridraw.h
CS/branches/soc/vfs/plugins/video/render3d/software/vertextransform.cpp
CS/branches/soc/vfs/scripts/cs-config/Jamfile
CS/branches/soc/vfs/scripts/cs-config/cs-config.temppost
CS/branches/soc/vfs/scripts/perl5/cspace.pm
CS/branches/soc/vfs/scripts/perl5/cswigpl5.inc
CS/branches/soc/vfs/scripts/python/cspace.py
Added Paths:
-----------
CS/branches/soc/vfs/include/csutil/bitops.h
CS/branches/soc/vfs/include/csutil/scopeddelete.h
CS/branches/soc/vfs/include/csutil/threading/atomicops_gcc_ppc.h
CS/branches/soc/vfs/include/csutil/threading/atomicops_gcc_x86.h
CS/branches/soc/vfs/include/csutil/threading/atomicops_msvc.h
CS/branches/soc/vfs/include/csutil/threading/atomicops_sparc.h
CS/branches/soc/vfs/include/igeom/decal.h
CS/branches/soc/vfs/libs/csutil/deprecated_macros.cpp
CS/branches/soc/vfs/mk/msvc/libdecal_staticreg.cpp
CS/branches/soc/vfs/mk/msvc/plgdecal.rc
CS/branches/soc/vfs/mk/msvc7/plgdecal.vcproj
CS/branches/soc/vfs/mk/msvc71/plgdecal.vcproj
CS/branches/soc/vfs/mk/msvc8/plgdecal.vcproj
CS/branches/soc/vfs/plugins/decal/
CS/branches/soc/vfs/plugins/decal/Jamfile
CS/branches/soc/vfs/plugins/decal/decal.cpp
CS/branches/soc/vfs/plugins/decal/decal.csplugin
CS/branches/soc/vfs/plugins/decal/decal.h
CS/branches/soc/vfs/plugins/decal/decalmanager.cpp
CS/branches/soc/vfs/plugins/decal/decalmanager.h
CS/branches/soc/vfs/plugins/decal/decaltemplate.cpp
CS/branches/soc/vfs/plugins/decal/decaltemplate.h
CS/branches/soc/vfs/plugins/video/loader/jpg/jpegcxxwrapper.h
Removed Paths:
-------------
CS/branches/soc/vfs/plugins/decal/Jamfile
CS/branches/soc/vfs/plugins/decal/decal.cpp
CS/branches/soc/vfs/plugins/decal/decal.csplugin
CS/branches/soc/vfs/plugins/decal/decal.h
CS/branches/soc/vfs/plugins/decal/decalmanager.cpp
CS/branches/soc/vfs/plugins/decal/decalmanager.h
CS/branches/soc/vfs/plugins/decal/decaltemplate.cpp
CS/branches/soc/vfs/plugins/decal/decaltemplate.h
Property Changed:
----------------
CS/branches/soc/vfs/plugins/utilities/profiler/profiler.csplugin
Modified: CS/branches/soc/vfs/apps/demo/demo.cpp
===================================================================
--- CS/branches/soc/vfs/apps/demo/demo.cpp 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/apps/demo/demo.cpp 2007-02-27 04:43:48 UTC (rev 26505)
@@ -450,7 +450,7 @@
ty += 10;
- if (demos.Length () == 0)
+ if (demos.GetSize () == 0)
{
GfxWrite (tx, ty, col_black, col_bg,
"I could not find any data files in this and the data directory!");
@@ -468,7 +468,7 @@
ty += 10;
first_y = ty;
size_t i;
- for (i = 0 ; i < demos.Length () ; i++)
+ for (i = 0 ; i < demos.GetSize () ; i++)
{
int bg = col_bg;
int fg = col_fgdata;
@@ -1293,7 +1293,7 @@
if (do_demo == 0)
{
selected_demo = (csMouseEventHelper::GetY(&Event) - first_y) / 10;
- if ((selected_demo != (size_t)-1) && selected_demo < demos.Length ())
+ if ((selected_demo != (size_t)-1) && selected_demo < demos.GetSize ())
do_demo = 1;
}
else if (do_demo < 3)
@@ -1339,7 +1339,7 @@
if (do_demo == 0)
{
selected_demo = (csMouseEventHelper::GetY(&Event) - first_y) / 10;
- if (!((selected_demo != (size_t)-1) && selected_demo < demos.Length ()))
+ if (!((selected_demo != (size_t)-1) && selected_demo < demos.GetSize ()))
selected_demo = (size_t)-1;
}
}
Modified: CS/branches/soc/vfs/apps/demo/demoldr.cpp
===================================================================
--- CS/branches/soc/vfs/apps/demo/demoldr.cpp 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/apps/demo/demoldr.cpp 2007-02-27 04:43:48 UTC (rev 26505)
@@ -126,7 +126,7 @@
iSequence* DemoSequenceLoader::GetSequence (const char* name)
{
size_t i;
- for (i = 0 ; i < sequences.Length () ; i++)
+ for (i = 0 ; i < sequences.GetSize () ; i++)
{
NamedSequence* ns = sequences[i];
if (!strcmp (ns->name, name)) return ns->sequence;
Modified: CS/branches/soc/vfs/apps/demo/demoseq.cpp
===================================================================
--- CS/branches/soc/vfs/apps/demo/demoseq.cpp 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/apps/demo/demoseq.cpp 2007-02-27 04:43:48 UTC (rev 26505)
@@ -221,7 +221,7 @@
iMeshWrapper* mesh)
{
size_t i;
- for (i = 0 ; i < pathForMesh.Length () ; i++)
+ for (i = 0 ; i < pathForMesh.GetSize () ; i++)
{
PathForMesh* pfm = pathForMesh[i];
if (pfm->path == path)
@@ -250,7 +250,7 @@
if (suspended) return;
csTicks current_time = seqmgr->GetMainTime ();
size_t i = 0;
- size_t len = pathForMesh.Length ();
+ size_t len = pathForMesh.GetSize ();
while (i < len)
{
PathForMesh* pfm = pathForMesh[i];
@@ -315,7 +315,7 @@
}
i = 0;
- len = meshRotation.Length ();
+ len = meshRotation.GetSize ();
while (i < len)
{
MeshRotation* mrot = meshRotation[i];
@@ -338,7 +338,7 @@
csTicks debug_time)
{
size_t i = 0;
- size_t len = pathForMesh.Length ();
+ size_t len = pathForMesh.GetSize ();
while (i < len)
{
PathForMesh* pfm = pathForMesh[i];
@@ -449,7 +449,7 @@
int selpoint)
{
size_t i;
- size_t len = pathForMesh.Length ();
+ size_t len = pathForMesh.GetSize ();
csTicks current_time = seqmgr->GetMainTime ();
//=====
@@ -542,7 +542,7 @@
void DemoSequenceManager::SelectFirstPath (char* hilight)
{
- if (pathForMesh.Length () > 0)
+ if (pathForMesh.GetSize () > 0)
{
strcpy (hilight, pathForMesh[0]->path->GetName ());
}
@@ -550,9 +550,9 @@
void DemoSequenceManager::SelectLastPath (char* hilight)
{
- if (pathForMesh.Length () > 0)
+ if (pathForMesh.GetSize () > 0)
{
- strcpy (hilight, pathForMesh[pathForMesh.Length ()-1]->path->GetName ());
+ strcpy (hilight, pathForMesh[pathForMesh.GetSize ()-1]->path->GetName ());
}
}
@@ -565,7 +565,7 @@
return;
}
size_t i;
- for (i = 0 ; i < pathForMesh.Length () ; i++)
+ for (i = 0 ; i < pathForMesh.GetSize () ; i++)
{
PathForMesh* pfm = pathForMesh[i];
if (pfm->path == np)
@@ -594,12 +594,12 @@
return;
}
size_t i;
- for (i = 0 ; i < pathForMesh.Length () ; i++)
+ for (i = 0 ; i < pathForMesh.GetSize () ; i++)
{
PathForMesh* pfm = pathForMesh[i];
if (pfm->path == np)
{
- if (i < pathForMesh.Length ()-1)
+ if (i < pathForMesh.GetSize ()-1)
{
pfm = pathForMesh[i+1];
strcpy (hilight, pfm->path->GetName ());
@@ -622,7 +622,7 @@
csTicks& start, csTicks& total)
{
size_t i = 0;
- size_t len = pathForMesh.Length ();
+ size_t len = pathForMesh.GetSize ();
while (i < len)
{
PathForMesh* pfm = pathForMesh[i];
Modified: CS/branches/soc/vfs/apps/demo/demoseq.h
===================================================================
--- CS/branches/soc/vfs/apps/demo/demoseq.h 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/apps/demo/demoseq.h 2007-02-27 04:43:48 UTC (rev 26505)
@@ -260,7 +260,7 @@
csNamedPath* FindPath (const char* name)
{
size_t i;
- for (i = 0 ; i < paths.Length () ; i++)
+ for (i = 0 ; i < paths.GetSize () ; i++)
{
csNamedPath* p = paths[i];
if (!strcmp (p->GetName (), name)) return p;
Modified: CS/branches/soc/vfs/apps/import/maya2spr/maya2spr.cpp
===================================================================
--- CS/branches/soc/vfs/apps/import/maya2spr/maya2spr.cpp 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/apps/import/maya2spr/maya2spr.cpp 2007-02-27 04:43:48 UTC (rev 26505)
@@ -152,7 +152,7 @@
fatal_usage();
}
}
- if (!anims.Length() ) // no anims means we need to specify a default one
+ if (!anims.GetSize() ) // no anims means we need to specify a default one
{
csPrintf("Warning: Only default action being generated!\n");
Modified: CS/branches/soc/vfs/apps/import/maya2spr/maya_mdl.cpp
===================================================================
--- CS/branches/soc/vfs/apps/import/maya2spr/maya_mdl.cpp 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/apps/import/maya2spr/maya_mdl.cpp 2007-02-27 04:43:48 UTC (rev 26505)
@@ -221,14 +221,14 @@
}
// Now write out animation actions
- if (!anims.Length())
+ if (!anims.GetSize())
{
setError("At least one action animation is required.");
return false;
}
size_t i;
- for (i=0;i<anims.Length();i++)
+ for (i=0;i<anims.GetSize ();i++)
{
Animation* anim = anims[i];
@@ -239,7 +239,7 @@
csPrintf("Writing out Animation %s\n",(const char *)name);
- if (i != anims.Length()-1)
+ if (i != anims.GetSize ()-1)
stop = anim->startframe-1;
else
stop = (animnode)?animnode->GetFrames():start;
@@ -258,7 +258,7 @@
disg.stopframe =0;
disg.vertex=0;
- DisplacementGroup &dg = (curr_anim->displacements.Length())? curr_anim->displacements[0] : disg;
+ DisplacementGroup &dg = (curr_anim->displacements.GetSize ())? curr_anim->displacements[0] : disg;
int displacementnum = 1;
csFPrintf(f," <action name=\"%s\">\n",(const char *)name);
@@ -291,7 +291,7 @@
meshnode->WriteTriangles(f);
// Now write out sockets
- for (i=0;i<sockets.Length();i++)
+ for (i=0;i<sockets.GetSize ();i++)
{
Animation* socket = sockets[i];
Modified: CS/branches/soc/vfs/apps/import/maya2spr/mayanode.cpp
===================================================================
--- CS/branches/soc/vfs/apps/import/maya2spr/mayanode.cpp 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/apps/import/maya2spr/mayanode.cpp 2007-02-27 04:43:48 UTC (rev 26505)
@@ -28,7 +28,7 @@
void DAGNode::PrintStats(FILE *s,int level)
{
- for (size_t i=0;i<children.Length();i++)
+ for (size_t i=0;i<children.GetSize();i++)
children[i]->PrintStats (s, level+1);
}
Modified: CS/branches/soc/vfs/apps/import/md32spr/md32spr.cpp
===================================================================
--- CS/branches/soc/vfs/apps/import/md32spr/md32spr.cpp 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/apps/import/md32spr/md32spr.cpp 2007-02-27 04:43:48 UTC (rev 26505)
@@ -378,7 +378,7 @@
}
}
- if (weaponDir && !generic.Length())
+ if (weaponDir && !generic.GetSize ())
ReportError
("Fatal Error: Weapon Directory \"%s\" not found or error allocating memory",
weaponDir.GetData());
@@ -672,9 +672,9 @@
if (!player && !weaponDir)
{
- if (generic.Length())
+ if (generic.GetSize ())
{
- for (i = 0; i < generic.Length(); i++)
+ for (i = 0; i < generic.GetSize (); i++)
{
md3Model *mdl = generic.Get(i);
mdlName = new char[strlen(mdl->GetFileName()) + 1];
@@ -756,7 +756,7 @@
}
if (weaponDir)
{
- for (i = 0; i < generic.Length(); i++)
+ for (i = 0; i < generic.GetSize (); i++)
{
md3Model *mdl = generic.Get(i);
csRef < iDocumentSystem > xml(csPtr < iDocumentSystem >
Modified: CS/branches/soc/vfs/apps/tools/heightmapgen/heightmapgen.cpp
===================================================================
--- CS/branches/soc/vfs/apps/tools/heightmapgen/heightmapgen.cpp 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/apps/tools/heightmapgen/heightmapgen.cpp 2007-02-27 04:43:48 UTC (rev 26505)
@@ -279,7 +279,7 @@
int heightmap_res = cfgmgr->GetInt ("HeightMapGen.HeightmapResolution", 513);
int num_texture_layers = cfgmgr->GetInt ("HeightMapGen.NumTextureLayers", 3);
csArray<TextureLayer> txt_layers;
- txt_layers.SetLength (num_texture_layers);
+ txt_layers.SetSize (num_texture_layers);
int i;
for (i = 0 ; i < num_texture_layers ; i++)
{
Modified: CS/branches/soc/vfs/apps/tools/imagetool/imagetool.cpp
===================================================================
--- CS/branches/soc/vfs/apps/tools/imagetool/imagetool.cpp 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/apps/tools/imagetool/imagetool.cpp 2007-02-27 04:43:48 UTC (rev 26505)
@@ -163,7 +163,7 @@
size_t i;
csPrintf (mask, "MIME", "description", "load?", "save?");
csPrintf (mask, "----", "-----------", "-----", "-----");
- for (i = 0; i < descr.Length (); i++)
+ for (i = 0; i < descr.GetSize (); i++)
{
iImageIO::FileFormatDescription *format =
(iImageIO::FileFormatDescription*) descr.Get (i);
Modified: CS/branches/soc/vfs/apps/tools/levtool/levtool.cpp
===================================================================
--- CS/branches/soc/vfs/apps/tools/levtool/levtool.cpp 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/apps/tools/levtool/levtool.cpp 2007-02-27 04:43:48 UTC (rev 26505)
@@ -719,7 +719,7 @@
return false;
}
size_t i;
- for (i = 0 ; i < plane_plugins.Length () ; i++)
+ for (i = 0 ; i < plane_plugins.GetSize () ; i++)
{
csString* str = plane_plugins.Get (i);
if (str->Compare (plugname))
@@ -743,7 +743,7 @@
return false;
}
size_t i;
- for (i = 0 ; i < thing_plugins.Length () ; i++)
+ for (i = 0 ; i < thing_plugins.GetSize () ; i++)
{
csString* str = thing_plugins.Get (i);
if (str->Compare (plugname))
@@ -1025,7 +1025,7 @@
void LevTool::SplitThing (iDocumentNode* meshnode, iDocumentNode* parentnode)
{
size_t i;
- for (i = 0 ; i < things.Length () ; i++)
+ for (i = 0 ; i < things.GetSize () ; i++)
{
ltThing* th = things.Get (i);
if (th->GetMeshNode ()->Equals (meshnode))
@@ -1250,7 +1250,7 @@
{
const char* planename = child->GetContentsValue ();
size_t i;
- for (i = 0 ; i < planes.Length () ; i++)
+ for (i = 0 ; i < planes.GetSize () ; i++)
{
ltPlane* pl = planes[i];
if (strcmp (pl->name, planename) == 0)
@@ -1410,7 +1410,7 @@
{
ltThing* th = 0;
size_t i;
- for (i = 0 ; i < things.Length () ; i++)
+ for (i = 0 ; i < things.GetSize () ; i++)
{
th = things.Get (i);
if (th->GetMeshNode ()->Equals (node)) break;
@@ -1609,7 +1609,7 @@
void LevTool::ValidateContents ()
{
size_t i;
- for (i = 0 ; i < things.Length () ; i++)
+ for (i = 0 ; i < things.GetSize () ; i++)
{
ltThing* th = things.Get (i);
ValidateContents (th);
@@ -1917,7 +1917,7 @@
csBox3 global_bbox;
global_bbox.StartBoundingBox ();
size_t i;
- for (i = 0 ; i < things.Length () ; i++)
+ for (i = 0 ; i < things.GetSize () ; i++)
{
ltThing* th = things.Get (i);
th->CreateBoundingBox ();
@@ -1936,7 +1936,7 @@
int counts[51];
for (i = 0 ; i <= 50 ; i++)
counts[i] = 0;
- for (i = 0 ; i < things.Length () ; i++)
+ for (i = 0 ; i < things.GetSize () ; i++)
{
ltThing* th = things.Get (i);
const csBox3& b = th->GetBoundingBox ();
@@ -1981,7 +1981,7 @@
csRef<iDocument> newdoc = newsys->CreateDocument ();
size_t i;
- for (i = 0 ; i < things.Length () ; i++)
+ for (i = 0 ; i < things.GetSize () ; i++)
{
ltThing* th = things.Get (i);
th->CreateVertexInfo ();
@@ -2005,7 +2005,7 @@
csRef<iDocument> newdoc = newsys->CreateDocument ();
size_t i;
- for (i = 0 ; i < things.Length () ; i++)
+ for (i = 0 ; i < things.GetSize () ; i++)
{
ltThing* th = things.Get (i);
th->CompressVertices ();
@@ -2034,7 +2034,7 @@
csBox3 global_bbox;
global_bbox.StartBoundingBox ();
size_t i;
- for (i = 0 ; i < things.Length () ; i++)
+ for (i = 0 ; i < things.GetSize () ; i++)
{
ltThing* th = things.Get (i);
th->CompressVertices ();
@@ -2050,7 +2050,7 @@
(global_bbox.MaxZ () - global_bbox.MinZ ());
global_area = pow (global_area, 1.0f/3.0f);
- for (i = 0 ; i < things.Length () ; i++)
+ for (i = 0 ; i < things.GetSize () ; i++)
{
ltThing* th = things.Get (i);
const csBox3& b = th->GetBoundingBox ();
@@ -2084,7 +2084,7 @@
csBox3 global_bbox;
global_bbox.StartBoundingBox ();
size_t i;
- for (i = 0 ; i < things.Length () ; i++)
+ for (i = 0 ; i < things.GetSize () ; i++)
{
ltThing* th = things.Get (i);
th->CreateBoundingBox ();
@@ -2096,7 +2096,7 @@
(global_bbox.MaxZ () - global_bbox.MinZ ());
global_area = pow (global_area, 1.0f/3.0f);
- for (i = 0 ; i < things.Length () ; i++)
+ for (i = 0 ; i < things.GetSize () ; i++)
{
ltThing* th = things.Get (i);
const csBox3& b = th->GetBoundingBox ();
@@ -2135,7 +2135,7 @@
csBox3 global_bbox;
global_bbox.StartBoundingBox ();
size_t i;
- for (i = 0 ; i < things.Length () ; i++)
+ for (i = 0 ; i < things.GetSize () ; i++)
{
ltThing* th = things.Get (i);
th->CreateBoundingBox ();
Modified: CS/branches/soc/vfs/apps/tools/lighter2/kdtree.cpp
===================================================================
--- CS/branches/soc/vfs/apps/tools/lighter2/kdtree.cpp 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/apps/tools/lighter2/kdtree.cpp 2007-02-27 04:43:48 UTC (rev 26505)
@@ -456,158 +456,162 @@
return true;
}
- KDTree* KDTreeBuilder::SetupRealTree (KDNode* rootNode)
+ //Copy the tree
+ struct CopyFunctor
{
- //Count number of nodes and number of primitive slots
- struct CountFunctor
+ CopyFunctor (KDTree* t)
+ : tree (t), usedNodes (2 ), usedPrims (0)
{
- CountFunctor ()
- : numNodes (0), numPrimSlots (0), maxDepth (0), sumDepth (0)
+ }
+
+ void CopyNodes (KDTreeBuilder::KDNode* node, KDTreeNode* newNode)
+ {
+ if (!node)
+ return;
+
+ //Copy node
+ if (node->leftChild)
{
- }
-
- void CountNode (KDNode* node, size_t depth = 0)
- {
- if (!node)
- return;
+ // inner node
+ KDTreeNode_Op::SetLeaf (newNode, false);
+ KDTreeNode_Op::SetDimension (newNode, node->splitDimension);
+ KDTreeNode_Op::SetLocation (newNode, node->splitLocation);
- numNodes++;
- numPrimSlots += node->primitives.GetSize ();
+ // Get nodes for children
+ KDTreeNode* left = tree->nodeList + usedNodes++;
+ KDTreeNode* right = tree->nodeList + usedNodes++;
- //At the same time, collect global statistics
- if (!node->leftChild)
- {
- // Leaf
- globalStats.kdtree.leafNodes++;
- sumDepth += depth;
- maxDepth = csMax (maxDepth, depth);
- }
+ KDTreeNode_Op::SetLeft (newNode, left);
-
- CountNode (node->leftChild, depth+1);
- CountNode (node->rightChild, depth+1);
+ CopyNodes (node->leftChild, left);
+ CopyNodes (node->rightChild, right);
}
+ else
+ {
+ // leaf node
+ KDTreeNode_Op::SetLeaf (newNode, true);
+ KDTreeNode_Op::SetPrimitiveListSize (newNode,
+ node->primitives.GetSize ());
- size_t numNodes, numPrimSlots, maxDepth, sumDepth;
- } counter;
- counter.CountNode (rootNode);
+ KDTreePrimitive* prims = tree->primitives + usedPrims;
+ usedPrims += node->primitives.GetSize ();
- globalStats.kdtree.numNodes += counter.numNodes;
- globalStats.kdtree.numPrimitives += counter.numPrimSlots;
- globalStats.kdtree.sumDepth += counter.sumDepth;
- globalStats.kdtree.maxDepth = csMax(counter.maxDepth, globalStats.kdtree.maxDepth);
+ KDTreeNode_Op::SetPrimitiveList (newNode, prims);
- //Allocate
- KDTree* newTree = new KDTree;
- newTree->boundingBox = objectExtents;
- newTree->nodeList = static_cast<KDTreeNode*> (
- CS::Memory::AlignedMalloc (sizeof(KDTreeNode) * (counter.numNodes + 1), 32));
- newTree->primitives = static_cast<KDTreePrimitive*> (
- CS::Memory::AlignedMalloc (sizeof(KDTreePrimitive) * counter.numPrimSlots, 32));
+ // Setup all primitives
+ for (size_t i = 0; i < node->primitives.GetSize (); ++i)
+ {
+ Primitive* prim = node->primitives[i];
- //Copy the tree
- struct CopyFunctor
- {
- CopyFunctor (KDTree* t)
- : tree (t), usedNodes (2 ), usedPrims (0)
- {
- }
+ KDTreePrimitive &optPrim = prims[i];
- void CopyNodes (KDNode* node, KDTreeNode* newNode)
- {
- if (!node)
- return;
+ // Setup optimized
+ optPrim.primPointer = prim;
- //Copy node
- if (node->leftChild)
- {
- // inner node
- KDTreeNode_Op::SetLeaf (newNode, false);
- KDTreeNode_Op::SetDimension (newNode, node->splitDimension);
- KDTreeNode_Op::SetLocation (newNode, node->splitLocation);
+ int32 kdFlags = 0;
- // Get nodes for children
- KDTreeNode* left = tree->nodeList + usedNodes++;
- KDTreeNode* right = tree->nodeList + usedNodes++;
+ if (prim->GetObject ()->GetFlags ().Check (OBJECT_FLAG_NOSHADOW))
+ kdFlags |= KDPRIM_FLAG_NOSHADOW;
- KDTreeNode_Op::SetLeft (newNode, left);
+ //Extract our info
+ const csVector3& N = prim->GetPlane ().Normal ();
+ ObjectVertexData &vdata = prim->GetVertexData ();
+ const Primitive::TriangleType& t = prim->GetTriangle ();
+ const csVector3& A = vdata.vertexArray[t.a].position;
+ const csVector3& B = vdata.vertexArray[t.b].position;
+ const csVector3& C = vdata.vertexArray[t.c].position;
- CopyNodes (node->leftChild, left);
- CopyNodes (node->rightChild, right);
- }
- else
- {
- // leaf node
- KDTreeNode_Op::SetLeaf (newNode, true);
- KDTreeNode_Op::SetPrimitiveListSize (newNode,
- node->primitives.GetSize ());
+ // Find max normal direction
+ int k = N.DominantAxis ();
- KDTreePrimitive* prims = tree->primitives + usedPrims;
- usedPrims += node->primitives.GetSize ();
+ optPrim.normal_K = k | kdFlags;
- KDTreeNode_Op::SetPrimitiveList (newNode, prims);
+ size_t u = (k+1)%3;
+ size_t v = (k+2)%3;
- // Setup all primitives
- for (size_t i = 0; i < node->primitives.GetSize (); ++i)
- {
- Primitive* prim = node->primitives[i];
+ // precalc normal
+ float nkinv = 1.0f/N[k];
+ optPrim.normal_U = N[u] * nkinv;
+ optPrim.normal_V = N[v] * nkinv;
+ optPrim.normal_D = (N * A) * nkinv;
- KDTreePrimitive &optPrim = prims[i];
- // Setup optimized
- optPrim.primPointer = prim;
+ csVector3 bb = C - A;
+ csVector3 cc = B - A;
- int32 kdFlags = 0;
+ float tmp = 1.0f/(bb[u] * cc[v] - bb[v] * cc[u]);
- if (prim->GetObject ()->GetFlags ().Check (OBJECT_FLAG_NOSHADOW))
- kdFlags |= KDPRIM_FLAG_NOSHADOW;
+ // edge 1
+ optPrim.edgeA_U = -bb[v] * tmp;
+ optPrim.edgeA_V = bb[u] * tmp;
+ optPrim.edgeA_D = (bb[v] * A[u] - bb[u] * A[v]) * tmp;
- //Extract our info
- const csVector3& N = prim->GetPlane ().Normal ();
- ObjectVertexData &vdata = prim->GetVertexData ();
- const Primitive::TriangleType& t = prim->GetTriangle ();
- const csVector3& A = vdata.vertexArray[t.a].position;
- const csVector3& B = vdata.vertexArray[t.b].position;
- const csVector3& C = vdata.vertexArray[t.c].position;
+ // edge 2
+ optPrim.edgeB_U = cc[v] * tmp;
+ optPrim.edgeB_V = -cc[u] * tmp;
+ optPrim.edgeB_D = (cc[u] * A[v] - cc[v] * A[u]) * tmp;
- // Find max normal direction
- int k = N.DominantAxis ();
+ }
+ }
- optPrim.normal_K = k | kdFlags;
+ }
- size_t u = (k+1)%3;
- size_t v = (k+2)%3;
+ KDTree* tree;
+ size_t usedNodes, usedPrims;
+ };
- // precalc normal
- float nkinv = 1.0f/N[k];
- optPrim.normal_U = N[u] * nkinv;
- optPrim.normal_V = N[v] * nkinv;
- optPrim.normal_D = (N * A) * nkinv;
+ //Count number of nodes and number of primitive slots
+ struct CountFunctor
+ {
+ CountFunctor ()
+ : numNodes (0), numPrimSlots (0), maxDepth (0), sumDepth (0)
+ {
+ }
+
+ void CountNode (KDTreeBuilder::KDNode* node, size_t depth = 0)
+ {
+ if (!node)
+ return;
+ numNodes++;
+ numPrimSlots += node->primitives.GetSize ();
- csVector3 bb = C - A;
- csVector3 cc = B - A;
+ //At the same time, collect global statistics
+ if (!node->leftChild)
+ {
+ // Leaf
+ globalStats.kdtree.leafNodes++;
+ sumDepth += depth;
+ maxDepth = csMax (maxDepth, depth);
+ }
- float tmp = 1.0f/(bb[u] * cc[v] - bb[v] * cc[u]);
- // edge 1
- optPrim.edgeA_U = -bb[v] * tmp;
- optPrim.edgeA_V = bb[u] * tmp;
- optPrim.edgeA_D = (bb[v] * A[u] - bb[u] * A[v]) * tmp;
+ CountNode (node->leftChild, depth+1);
+ CountNode (node->rightChild, depth+1);
+ }
- // edge 2
- optPrim.edgeB_U = cc[v] * tmp;
- optPrim.edgeB_V = -cc[u] * tmp;
- optPrim.edgeB_D = (cc[u] * A[v] - cc[v] * A[u]) * tmp;
+ size_t numNodes, numPrimSlots, maxDepth, sumDepth;
+ };
- }
- }
+ KDTree* KDTreeBuilder::SetupRealTree (KDNode* rootNode)
+ {
+ CountFunctor counter;
+ counter.CountNode (rootNode);
- }
+ globalStats.kdtree.numNodes += counter.numNodes;
+ globalStats.kdtree.numPrimitives += counter.numPrimSlots;
+ globalStats.kdtree.sumDepth += counter.sumDepth;
+ globalStats.kdtree.maxDepth = csMax(counter.maxDepth, globalStats.kdtree.maxDepth);
- KDTree* tree;
- size_t usedNodes, usedPrims;
- } copyer (newTree);
+ //Allocate
+ KDTree* newTree = new KDTree;
+ newTree->boundingBox = objectExtents;
+ newTree->nodeList = static_cast<KDTreeNode*> (
+ CS::Memory::AlignedMalloc (sizeof(KDTreeNode) * (counter.numNodes + 1), 32));
+ newTree->primitives = static_cast<KDTreePrimitive*> (
+ CS::Memory::AlignedMalloc (sizeof(KDTreePrimitive) * counter.numPrimSlots, 32));
+
+ CopyFunctor copyer (newTree);
copyer.CopyNodes (rootNode, newTree->nodeList);
return newTree;
Modified: CS/branches/soc/vfs/apps/tools/lighter2/kdtree.h
===================================================================
--- CS/branches/soc/vfs/apps/tools/lighter2/kdtree.h 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/apps/tools/lighter2/kdtree.h 2007-02-27 04:43:48 UTC (rev 26505)
@@ -24,6 +24,8 @@
// For a tad more speed:
#define KDTREE_ASSERT(x) (void)0
+#include "csutil/compileassert.h"
+
namespace lighter
{
class Primitive;
@@ -36,10 +38,10 @@
};
/**
- * Optimized KD-tree primitive
- * \todo
- * Make more efficient on 64 bit platforms!
- */
+ * Optimized KD-tree primitive
+ * \todo
+ * Make more efficient on 64 bit platforms!
+ */
struct KDTreePrimitive
{
/// Normal u, v and d components. Normalized.
@@ -213,7 +215,6 @@
*/
KDTree* BuildTree (csHash<csRef<Object>, csString>::GlobalIterator& objects);
-
private:
// Building constants
@@ -225,7 +226,27 @@
PRIMS_PER_LEAF = 4,
NODE_SIZE_EPSILON = 1000 //*1e-9
};
-
+
+ //Internal node representing a kd-tree node (inner or leaf) while building
+ struct KDNode
+ {
+ // CS_AXIS_*
+ uint splitDimension;
+
+ // Split plane location (world space)
+ float splitLocation;
+
+ // Left-right pointer
+ KDNode *leftChild, *rightChild;
+
+ // Primitives
+ csArray<Primitive*> primitives;
+
+ KDNode()
+ : splitDimension(0), splitLocation(0.0f), leftChild(0), rightChild(0)
+ {}
+ };
+
class PrimBox;
// Represent an end-point of triangle along given axis
class EndPoint
@@ -263,10 +284,10 @@
}
/*
- Get the (probable) location of the primbox by realigning the this pointer
- to an even 64/128 byte boundary.
- Can be dangerous, use with care!
- */
+ Get the (probable) location of the primbox by realigning the this pointer
+ to an even 64/128 byte boundary.
+ Can be dangerous, use with care!
+ */
PrimBox* GetBox ()
{
return reinterpret_cast<PrimBox*> ( reinterpret_cast<size_t> (this) &
@@ -288,8 +309,7 @@
float position[3];
#if (CS_PROCESSOR_SIZE == 64)
- enum {BOX_ALIGN = ~0x7f};
- float pad0; //For 64-bit we pad this to have a size dividable by even 4 bytes
+ enum {BOX_ALIGN = ~0x7f};
#else
enum {BOX_ALIGN = ~0x3f};
#endif
@@ -312,7 +332,7 @@
side[1].SetSide (i, EndPoint::SIDE_END);
}
}
-
+
enum
{
STATE_LEFT = 0,
@@ -322,25 +342,31 @@
};
//End-point [min/max]
- EndPoint side[2]; //48 / 96
- Primitive* primitive; // 4 / 8
- int32 flags; // 4 / 4
+ EndPoint side[2]; //48 / 80
+ Primitive* primitive; // 4 / 8
PrimBox* clone; // 4 / 8
+ uint8 pad[4]; // 4 / 4
- uint8 pad[4]; // 4 / 4
+ int32 flags; // 4 / 4
#if (CS_PROCESSOR_SIZE == 64)
//Bit unfortunate, but we need an even pot-2 alignment
- uint8 pad0[8]; // 0 / 8
+ uint8 pad0[24]; // 0 / 24
#endif
}; //sizeof = 64 / 128
+#if (CS_PROCESSOR_SIZE == 64)
+ CS_COMPILE_ASSERT(sizeof (PrimBox) == 128);
+#else
+ CS_COMPILE_ASSERT(sizeof (PrimBox) == 64);
+#endif
+
// Helper class for clipping primitives and computing primitive AABB
struct PrimHelper
{
PrimHelper ()
{
}
-
+
//Init with a Prrimitive
void Init (const Primitive* prim);
@@ -357,9 +383,9 @@
} primHelper;
/**
- * Holder for the sorted end point lists.
- * The lists are sorted by position followed by side.
- */
+ * Holder for the sorted end point lists.
+ * The lists are sorted by position followed by side.
+ */
struct EndPointList
{
void Insert (size_t axis, EndPoint* ep);
@@ -368,7 +394,7 @@
EndPoint* head[3];
EndPoint* tail[3];
-
+
EndPointList ()
{
head[0] = head[1] = head[2] = 0;
@@ -376,27 +402,6 @@
}
} endPointList;
- //Internal node representing a kd-tree node (inner or leaf) while building
- struct KDNode
- {
- // CS_AXIS_*
- uint splitDimension;
-
- // Split plane location (world space)
- float splitLocation;
-
- // Left-right pointer
- KDNode *leftChild, *rightChild;
-
- // Primitives
- csArray<Primitive*> primitives;
-
- KDNode()
- : splitDimension(0), splitLocation(0.0f), leftChild(0), rightChild(0)
- {}
- };
-
-
//Allocator for boxes
typedef csBlockAllocator<PrimBox, CS::Memory::AllocatorAlign<128> >
BoxAllocatorType;
@@ -417,6 +422,8 @@
csBox3 aabb, size_t numPrim, size_t treeDepth);
KDTree* SetupRealTree (KDNode* rootNode);
+ friend struct CopyFunctor;
+ friend struct CountFunctor;
};
// Helper to do operations on a kd-tree
Modified: CS/branches/soc/vfs/apps/tools/lighter2/light.cpp
===================================================================
--- CS/branches/soc/vfs/apps/tools/lighter2/light.cpp 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/apps/tools/lighter2/light.cpp 2007-02-27 04:43:48 UTC (rev 26505)
@@ -213,7 +213,10 @@
csSegment3 visSegment (lightPos, point);
if (!lightFrustum.Contains (point-lightFrustum.GetOrigin ()) ||
!lightFrustum.Intersect (visSegment))
- return csColor (0,0,1);
+ {
+ pdf = 0.0f;
+ return csColor (0,0,0);
+ }
if (visLimitPlane)
csIntersect3::SegmentPlane (*visLimitPlane, visSegment);
Modified: CS/branches/soc/vfs/apps/tools/lighter2/sampler.h
===================================================================
--- CS/branches/soc/vfs/apps/tools/lighter2/sampler.h 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/apps/tools/lighter2/sampler.h 2007-02-27 04:43:48 UTC (rev 26505)
@@ -114,12 +114,23 @@
seqIndexHolder.AttachNew (new SampleSequenceIndex);
}
+ SamplerSequence (const SamplerSequence& other)
+ {
+ seqIndexHolder = other.GetIndexHolder ();
+ }
+
template<int M>
SamplerSequence (const SamplerSequence<M>& other)
{
seqIndexHolder = other.GetIndexHolder ();
}
+ SamplerSequence& operator= (const SamplerSequence& other)
+ {
+ seqIndexHolder = other.GetIndexHolder ();
+ return *this;
+ }
+
template<int M>
SamplerSequence<N>& operator= (const SamplerSequence<M>& other)
{
Modified: CS/branches/soc/vfs/apps/tools/startme/startme.cpp
===================================================================
--- CS/branches/soc/vfs/apps/tools/startme/startme.cpp 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/apps/tools/startme/startme.cpp 2007-02-27 04:43:48 UTC (rev 26505)
@@ -79,7 +79,7 @@
}
float dr = elapsed_seconds / star_maxage;
- size_t j = star_queue.Length ();
+ size_t j = star_queue.GetSize ();
while (j > 0)
{
j--;
@@ -135,7 +135,7 @@
if (sqdist >= 0 && sel_mesh)
{
const char* name = sel_mesh->QueryObject ()->GetName ();
- for (i = 0 ; i < demos.Length () ; i++)
+ for (i = 0 ; i < demos.GetSize () ; i++)
if (!strcmp (demos[i].name, name))
{
demos[i].spinning_speed += elapsed_seconds / 80.0f;
@@ -146,7 +146,7 @@
}
last_selected = sel;
- for (i = 0 ; i < demos.Length () ; i++)
+ for (i = 0 ; i < demos.GetSize () ; i++)
{
if (sel != i)
{
@@ -273,7 +273,7 @@
vfs->ChDir ("/lib/startme");
size_t i;
- for (i = 0 ; i < demos.Length () ; i++)
+ for (i = 0 ; i < demos.GetSize () ; i++)
{
if (!loader->LoadTexture (demos[i].name, demos[i].image))
return ReportError ("Error loading '%s' texture!", demos[i].image);
@@ -464,11 +464,11 @@
box_state->CalculateNormals ();
int cols = 4;
- int rows = int (demos.Length ()-1) / cols + 1;
+ int rows = int (demos.GetSize ()-1) / cols + 1;
float dx = (DEMO_MESH_MAXX-DEMO_MESH_MINX) / float (cols-1);
float dy = (DEMO_MESH_MAXY-DEMO_MESH_MINY) / float (rows-1);
int x = 0, y = rows-1;
- for (i = 0 ; i < demos.Length () ; i++)
+ for (i = 0 ; i < demos.GetSize () ; i++)
{
demos[i].mesh = CreateDemoMesh (demos[i].name,
csVector3 (DEMO_MESH_MINX + dx * float (x),
Modified: CS/branches/soc/vfs/apps/tutorial/mazing/gamestuff.cpp
===================================================================
--- CS/branches/soc/vfs/apps/tutorial/mazing/gamestuff.cpp 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/apps/tutorial/mazing/gamestuff.cpp 2007-02-27 04:43:48 UTC (rev 26505)
@@ -408,7 +408,7 @@
Maze* maze = app->GetGame ().GetMaze ();
const csArray<RoomCoordinate>& connections = maze->GetConnections (
current_location);
- size_t moveto = (rand () >> 3) % connections.Length ();
+ size_t moveto = (rand () >> 3) % connections.GetSize ();
if (maze->IsSpaceFree (connections[moveto]))
{
start.x = float (current_location.x) * ROOM_DIMENSION;
@@ -698,7 +698,7 @@
void Game::HandleExplosions (csTicks elapsed_ticks)
{
size_t i = 0;
- while (i < explosions.Length ())
+ while (i < explosions.GetSize ())
{
if (explosions[i].Handle (elapsed_ticks)) i++;
else
@@ -724,7 +724,7 @@
// Let all the adversaries think about what to do.
size_t i;
- for (i = 0 ; i < adversaries.Length () ; i++)
+ for (i = 0 ; i < adversaries.GetSize () ; i++)
adversaries[i]->ThinkAndMove (elapsed_seconds);
}
Modified: CS/branches/soc/vfs/apps/walktest/Jamfile
===================================================================
--- CS/branches/soc/vfs/apps/walktest/Jamfile 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/apps/walktest/Jamfile 2007-02-27 04:43:48 UTC (rev 26505)
@@ -29,6 +29,7 @@
csopcode
csparser
cssynldr
+ decal
dynavis
particles
particlesldr
Modified: CS/branches/soc/vfs/apps/walktest/walkcmd.cpp
===================================================================
--- CS/branches/soc/vfs/apps/walktest/walkcmd.cpp 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/apps/walktest/walkcmd.cpp 2007-02-27 04:43:48 UTC (rev 26505)
@@ -88,13 +88,13 @@
{
csRef<iFile> cf;
cf = vfs->Open (fName, VFS_FILE_WRITE);
- uint32 l = (int32)Sys->recording.Length();
+ uint32 l = (int32)Sys->recording.GetSize ();
l = csLittleEndian::Convert (l);
cf->Write ((char*)&l, sizeof (l));
size_t i;
csRecordedCameraFile camint;
iSector* prev_sector = 0;
- for (i = 0 ; i < Sys->recording.Length () ; i++)
+ for (i = 0 ; i < Sys->recording.GetSize () ; i++)
{
csRecordedCamera* reccam = (csRecordedCamera*)Sys->recording[i];
camint.m11 = csLittleEndian::Convert (csFloatToLong (reccam->mat.m11));
@@ -160,7 +160,7 @@
cf = vfs->Open (fName, VFS_FILE_READ);
if (!cf) return;
Sys->recording.DeleteAll ();
- Sys->recording.SetLength (0);
+ Sys->recording.SetSize (0);
int32 l;
cf->Read ((char*)&l, sizeof (l));
l = csLittleEndian::Convert (l);
@@ -247,7 +247,7 @@
c->GetSector ()->QueryObject ()->GetName (),
int(c->IsMirrored ()));
- myVFS->WriteFile (fName, s.GetData(), s.Length());
+ myVFS->WriteFile (fName, s.GetData(), s.Length ());
}
bool WalkTest::LoadCamera (const char *fName)
@@ -924,7 +924,7 @@
CONPRI("Statistics:");
CONPRI(" stats perftest coordshow");
CONPRI("Special effects:");
- CONPRI(" addmbot delmbot addbot delbot fire explosion frain");
+ CONPRI(" addmbot delmbot addbot delbot fire explosion frain decal_test");
CONPRI(" rain snow fountain flame portal fs_inter fs_fadeout fs_fadecol");
CONPRI(" fs_fadetxt fs_red fs_green fs_blue fs_whiteout fs_shadevert");
CONPRI("Debugging:");
@@ -1254,7 +1254,7 @@
else if (!csStrCaseCmp (cmd, "clrrec"))
{
Sys->recording.DeleteAll ();
- Sys->recording.SetLength (0);
+ Sys->recording.SetSize (0);
}
else if (!csStrCaseCmp (cmd, "record"))
{
@@ -1818,6 +1818,11 @@
extern void fire_missile ();
fire_missile ();
}
+ else if (!csStrCaseCmp (cmd, "decal_test"))
+ {
+ extern void test_decal();
+ test_decal ();
+ }
else if (!csStrCaseCmp (cmd, "lightning"))
{
extern void show_lightning ();
@@ -2196,7 +2201,7 @@
{
ll->Remove (l);
size_t j;
- for (j = 0 ; j < Sys->dynamic_lights.Length () ; j++)
+ for (j = 0 ; j < Sys->dynamic_lights.GetSize () ; j++)
{
if (Sys->dynamic_lights[j] == l)
{
@@ -2221,7 +2226,7 @@
{
ll->Remove (l);
size_t j;
- for (j = 0 ; j < Sys->dynamic_lights.Length () ; j++)
+ for (j = 0 ; j < Sys->dynamic_lights.GetSize () ; j++)
{
if (Sys->dynamic_lights[j] == l)
{
Modified: CS/branches/soc/vfs/apps/walktest/walkdemo.cpp
===================================================================
--- CS/branches/soc/vfs/apps/walktest/walkdemo.cpp 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/apps/walktest/walkdemo.cpp 2007-02-27 04:43:48 UTC (rev 26505)
@@ -49,6 +49,8 @@
#include "ivaria/reporter.h"
#include "ivaria/view.h"
#include "ivideo/graph3d.h"
+#include "igeom/decal.h"
+#include "ivideo/material.h"
#include "bot.h"
#include "command.h"
@@ -469,12 +471,12 @@
{
if (manual)
{
- if (manual_bots.Length () > 0)
+ if (manual_bots.GetSize () > 0)
manual_bots.DeleteIndex (0);
}
else
{
- if (bots.Length () > 0)
+ if (bots.GetSize () > 0)
bots.DeleteIndex (0);
}
}
@@ -482,7 +484,7 @@
void WalkTest::move_bots (csTicks elapsed_time)
{
size_t i;
- for (i = 0; i < bots.Length(); i++)
+ for (i = 0; i < bots.GetSize (); i++)
{
bots[i]->move (elapsed_time);
}
@@ -750,6 +752,77 @@
}
}
+void test_decal ()
+{
+ csRef<iDecalManager> decalMgr = csLoadPluginCheck<iDecalManager> (
+ Sys->object_reg, "crystalspace.decal.manager");
+ if (!decalMgr)
+ return;
+
+ iMaterialWrapper * material =
+ Sys->view->GetEngine()->GetMaterialList()->FindByName("decal");
+ if (!material)
+ {
+ csRef<iLoader> loader = csQueryRegistry<iLoader>(Sys->object_reg);
+ if (!loader)
+ {
+ Sys->Report(CS_REPORTER_SEVERITY_NOTIFY, "Couldn't find iLoader");
+ return;
+ }
+
+ if (!loader->LoadTexture ("decal", "/lib/std/cslogo2.png"))
+ Sys->Report(CS_REPORTER_SEVERITY_NOTIFY,
+ "Couldn't load decal texture!");
+
+ material = Sys->view->GetEngine()->GetMaterialList()->FindByName("decal");
+ if (!material)
+ {
+ Sys->Report(CS_REPORTER_SEVERITY_NOTIFY,
+ "Error finding decal material");
+ return;
+ }
+ }
+
+ // create a template for our new decal
+ csRef<iDecalTemplate> decalTemplate =
+ decalMgr->CreateDecalTemplate(material);
+ decalTemplate->SetTimeToLive(5.0f);
+
+ // figure out the starting point
+ csRef<iCollideSystem> cdsys = csQueryRegistry<iCollideSystem>(Sys->object_reg);
+ if (!cdsys)
+ {
+ Sys->Report(CS_REPORTER_SEVERITY_NOTIFY, "Couldn't find iCollideSystem");
+ return;
+ }
+
+ csVector3 start = Sys->view->GetCamera()->GetTransform().GetOrigin();
+
+ csVector3 normal =
+ Sys->view->GetCamera()->GetTransform().This2OtherRelative(
+ csVector3(0,0,-1));
+
+ csVector3 end = start - normal * 100.0f;
+
+ // intersect with world to get a decal position
+ csVector3 iSect;
+ csIntersectingTriangle closestTri;
+ iMeshWrapper * selMesh;
+ csColliderHelper::TraceBeam(cdsys, Sys->view->GetCamera()->GetSector(),
+ start, end, true, closestTri, iSect, &selMesh);
+
+ start = iSect;
+
+ // make the up direction of the decal the same as the camera
+ csVector3 up =
+ Sys->view->GetCamera()->GetTransform().This2OtherRelative(
+ csVector3(0,1,0));
+
+ // create the decal
+ decalMgr->CreateDecal(decalTemplate, Sys->view->GetCamera()->GetSector(),
+ start, up, normal, 1.0f, 0.5f);
+}
+
void AttachRandomLight (iLight* light)
{
RandomLight* rl = new RandomLight;
Modified: CS/branches/soc/vfs/apps/walktest/walktest.cpp
===================================================================
--- CS/branches/soc/vfs/apps/walktest/walktest.cpp 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/apps/walktest/walktest.cpp 2007-02-27 04:43:48 UTC (rev 26505)
@@ -267,7 +267,7 @@
{
// Emit recorded commands directly to the CommandHandler
if (cfg_playrecording > 0 &&
- recording.Length () > 0)
+ recording.GetSize () > 0)
{
csRecordedCamera* reccam = (csRecordedCamera*)recording[
cfg_playrecording];
@@ -339,12 +339,12 @@
size_t i;
busy_vector.DeleteAll ();
csWalkEntity* wentity;
- for (i = 0 ; i < busy_entities.Length () ; i++)
+ for (i = 0 ; i < busy_entities.GetSize () ; i++)
{
wentity = busy_entities[i];
busy_vector.Push (wentity);
}
- for (i = 0 ; i < busy_vector.Length () ; i++)
+ for (i = 0 ; i < busy_vector.GetSize () ; i++)
{
wentity = busy_vector[i];
wentity->NextFrame (elapsed_time);
@@ -572,7 +572,7 @@
// Apply lighting BEFORE the very first frame
size_t i;
- for (i = 0 ; i < dynamic_lights.Length () ; i++)
+ for (i = 0 ; i < dynamic_lights.GetSize () ; i++)
{
iLight* dyn = dynamic_lights[i];
extern bool HandleDynLight (iLight*, iEngine*);
@@ -673,12 +673,12 @@
recorded_cmd = recorded_arg = 0;
recording.Push (reccam);
}
- if (cfg_playrecording >= 0 && recording.Length () > 0)
+ if (cfg_playrecording >= 0 && recording.GetSize () > 0)
{
csRecordedCamera* reccam = (csRecordedCamera*)recording[cfg_playrecording];
cfg_playrecording++;
record_frame_count++;
- if ((size_t)cfg_playrecording >= recording.Length ())
+ if ((size_t)cfg_playrecording >= recording.GetSize ())
{
csTicks t1 = record_start_time;
csTicks t2 = csGetTicks ();
@@ -779,7 +779,7 @@
int i;
for (i = 0 ; i < num ; i++)
{
- if (Sys->cfg_playrecording >= 0 && Sys->recording.Length () > 0)
+ if (Sys->cfg_playrecording >= 0 && Sys->recording.GetSize () > 0)
{
Sys->record_frame_count++;
}
Modified: CS/branches/soc/vfs/configure
===================================================================
--- CS/branches/soc/vfs/configure 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/configure 2007-02-27 04:43:48 UTC (rev 26505)
@@ -4882,10 +4882,9 @@
# Check if binutils support response files
- rm -f conftest.resp
- echo "" > conftest.resp
- if test "" != yes; then
- { echo "$as_me:$LINENO: checking if response files are accepted" >&5
+ rm -f conf$$.resp
+ echo "" > conf$$.resp
+ { echo "$as_me:$LINENO: checking if response files are accepted" >&5
echo $ECHO_N "checking if response files are accepted... $ECHO_C" >&6; }
if test "${cs_cv_prog_link_respfile+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -4896,71 +4895,8 @@
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
- cs_cflags_save="$CXXFLAGS"
- cs_lflags_save="$LDFLAGS"
- cs_libs_save="$LIBS"
- cs_build_ok=no
-
-
- for cs_build_item in -Wl,@conftest.resp
- do
-
- set filler `echo "$cs_build_item" | awk 'BEGIN { FS="@" }
- { for (i=1; i <= NF; ++i)
- { if ($i == "") print "filler"; else print $i } }'`
- shift
- if test $# -eq 0; then
- cs_dummy=''
-else
- if test "$1" = filler; then
- cs_dummy=''
-else
- cs_dummy=$1
-fi
-
- shift
-fi
-if test $# -eq 0; then
- cs_cflags_test=''
-else
- if test "$1" = filler; then
- cs_cflags_test=''
-else
- cs_cflags_test=$1
-fi
-
- shift
-fi
-if test $# -eq 0; then
- cs_lflags_test=''
-else
- if test "$1" = filler; then
- cs_lflags_test=''
-else
- cs_lflags_test=$1
-fi
-
- shift
-fi
-if test $# -eq 0; then
- cs_libs_test=''
-else
- if test "$1" = filler; then
- cs_libs_test=''
-else
- cs_libs_test=$1
-fi
-
- shift
-fi
-
- cs_cflags_test=`echo $cs_cflags_test | sed 'y%#% %'`
- cs_lflags_test=`echo $cs_lflags_test | sed 'y%#% %'`
- cs_libs_test=`echo $cs_libs_test | sed 'y%#% %'`
-
- CXXFLAGS="$cs_cflags_test $cs_cflags_save"
- LDFLAGS="$cs_lflags_test $cs_lflags_save"
- LIBS="$cs_libs_test $cs_libs_save"
+ cs_lflags_save="$LDFLAGS"
+ LDFLAGS="-Wl,@conf$$.resp $cs_lflags_save"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -4994,198 +4930,26 @@
test ! -s conftest.err
} && test -s conftest$ac_exeext &&
$as_test_x conftest$ac_exeext; then
- cs_build_ok=yes
+ cs_cv_prog_link_respfile=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-
+ cs_cv_prog_link_respfile=no
fi
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
- if test $cs_build_ok = yes; then
- break
-fi
-
- done
-
-
- CXXFLAGS=$cs_cflags_save
- LDFLAGS=$cs_lflags_save
- LIBS=$cs_libs_save
- ac_ext=c
+ LDFLAGS=$cs_lflags_save
+ ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
- if test $cs_build_ok = yes; then
- cs_build_cflags=`echo x$cs_cflags_test | sed 's/^x//;s/ */ /g;s/^ //;s/ $//'`
- cs_build_lflags=`echo x$cs_lflags_test | sed 's/^x//;s/ */ /g;s/^ //;s/ $//'`
- cs_build_libs=`echo x$cs_libs_test | sed 's/^x//;s/ */ /g;s/^ //;s/ $//'`
- cs_cv_prog_link_respfile=yes
- cs_cv_prog_link_respfile_cflags=$cs_build_cflags
- cs_cv_prog_link_respfile_lflags=$cs_build_lflags
- cs_cv_prog_link_respfile_libs=$cs_build_libs
-else
- cs_cv_prog_link_respfile=no
fi
-
-fi
{ echo "$as_me:$LINENO: result: $cs_cv_prog_link_respfile" >&5
echo "${ECHO_T}$cs_cv_prog_link_respfile" >&6; }
-else
- { echo "$as_me:$LINENO: checking if response files are accepted" >&5
-echo $ECHO_N "checking if response files are accepted... $ECHO_C" >&6; }
- ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cs_cflags_save="$CXXFLAGS"
- cs_lflags_save="$LDFLAGS"
- cs_libs_save="$LIBS"
- cs_build_ok=no
-
-
- for cs_build_item in -Wl,@conftest.resp
- do
-
- set filler `echo "$cs_build_item" | awk 'BEGIN { FS="@" }
- { for (i=1; i <= NF; ++i)
- { if ($i == "") print "filler"; else print $i } }'`
- shift
- if test $# -eq 0; then
- cs_dummy=''
-else
- if test "$1" = filler; then
- cs_dummy=''
-else
- cs_dummy=$1
-fi
-
- shift
-fi
-if test $# -eq 0; then
- cs_cflags_test=''
-else
- if test "$1" = filler; then
- cs_cflags_test=''
-else
- cs_cflags_test=$1
-fi
-
- shift
-fi
-if test $# -eq 0; then
- cs_lflags_test=''
-else
- if test "$1" = filler; then
- cs_lflags_test=''
-else
- cs_lflags_test=$1
-fi
-
- shift
-fi
-if test $# -eq 0; then
- cs_libs_test=''
-else
- if test "$1" = filler; then
- cs_libs_test=''
-else
- cs_libs_test=$1
-fi
-
- shift
-fi
-
- cs_cflags_test=`echo $cs_cflags_test | sed 'y%#% %'`
- cs_lflags_test=`echo $cs_lflags_test | sed 'y%#% %'`
- cs_libs_test=`echo $cs_libs_test | sed 'y%#% %'`
-
- CXXFLAGS="$cs_cflags_test $cs_cflags_save"
- LDFLAGS="$cs_lflags_test $cs_lflags_save"
- LIBS="$cs_libs_test $cs_libs_save"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- cs_build_ok=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
- if test $cs_build_ok = yes; then
- break
-fi
-
- done
-
-
- CXXFLAGS=$cs_cflags_save
- LDFLAGS=$cs_lflags_save
- LIBS=$cs_libs_save
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
- if test $cs_build_ok = yes; then
- cs_build_cflags=`echo x$cs_cflags_test | sed 's/^x//;s/ */ /g;s/^ //;s/ $//'`
- cs_build_lflags=`echo x$cs_lflags_test | sed 's/^x//;s/ */ /g;s/^ //;s/ $//'`
- cs_build_libs=`echo x$cs_libs_test | sed 's/^x//;s/ */ /g;s/^ //;s/ $//'`
- cs_cv_prog_link_respfile=yes
- cs_cv_prog_link_respfile_cflags=$cs_build_cflags
- cs_cv_prog_link_respfile_lflags=$cs_build_lflags
- cs_cv_prog_link_respfile_libs=$cs_build_libs
-else
- cs_cv_prog_link_respfile=no
-fi
-
- { echo "$as_me:$LINENO: result: $cs_cv_prog_link_respfile" >&5
-echo "${ECHO_T}$cs_cv_prog_link_respfile" >&6; }
-fi
-
if test $cs_cv_prog_link_respfile = yes; then
cs_build_prop_val="yes"
cs_build_prop_val=`echo x$cs_build_prop_val | sed 's/^x//;s/ */ /g;s/^ //;s/ $//'`
@@ -5194,14 +4958,9 @@
"
fi
-else
- cs_cv_prog_link_respfile_cflags=''
- cs_cv_prog_link_respfile_lflags=''
- cs_cv_prog_link_respfile_libs=''
-
fi
- rm -f conftest.resp
+ rm -f conf$$.resp
# Check if linker supports --as-needed.
# Check whether --enable-as-needed was given.
@@ -54096,12 +53855,24 @@
#------------------------------------------------------------------------------
# Check for Cg shader package.
+#
+# A note on the 'log()' call: on Linux, libCg.so itself doesn't depend on
+# the libmy's shared object. However, if the --as-needed flag is used in
+# LDFLAGS, and the app itself doesn't use a function from libm, it's symbols
+# won't be available, causing problems. Normally any app calls some libm
+# function. However, the default test program doesn't, so a call to log() was
+# added explicitly.
+# And the same applies to pthread, too.
+# The workaround is to explicitly strip -Wl,--as-needed from LDFLAGS.
#------------------------------------------------------------------------------
+ LDFLAGS_BACKUP="$LDFLAGS"
+ LDFLAGS=`echo "$LDFLAGS" | sed s/-Wl,--as-needed//`
+
# Check whether --with-Cg was given.
if test "${with_Cg+set}" = set; then
withval=$with_Cg;
@@ -55472,7 +55243,7 @@
int
main ()
{
-CGcontext c = cgCreateContext()
+CGcontext c = cgCreateContext();
;
return 0;
}
@@ -55621,7 +55392,7 @@
int
main ()
{
-CGcontext c = cgCreateContext()
+CGcontext c = cgCreateContext();
;
return 0;
}
@@ -59307,8 +59078,10 @@
fi
+ LDFLAGS="$LDFLAGS_BACKUP"
+
#------------------------------------------------------------------------------
# Check for OpenSoundSystem (OSS).
#------------------------------------------------------------------------------
Modified: CS/branches/soc/vfs/configure.ac
===================================================================
--- CS/branches/soc/vfs/configure.ac 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/configure.ac 2007-02-27 04:43:48 UTC (rev 26505)
@@ -1629,18 +1629,30 @@
#------------------------------------------------------------------------------
# Check for Cg shader package.
+#
+# A note on the 'log()' call: on Linux, libCg.so itself doesn't depend on
+# the libmy's shared object. However, if the --as-needed flag is used in
+# LDFLAGS, and the app itself doesn't use a function from libm, it's symbols
+# won't be available, causing problems. Normally any app calls some libm
+# function. However, the default test program doesn't, so a call to log() was
+# added explicitly.
+# And the same applies to pthread, too.
+# The workaround is to explicitly strip -Wl,--as-needed from LDFLAGS.
#------------------------------------------------------------------------------
AC_DEFUN([CS_CHECK_LIBCG],
[AC_REQUIRE([CS_CHECK_COMMON_LIBS])
AC_REQUIRE([CS_CHECK_PTHREAD])
+ AC_REQUIRE([CS_PROG_LINK])
+ LDFLAGS_BACKUP="$LDFLAGS"
+ LDFLAGS=`echo "$LDFLAGS" | sed s/-Wl,--as-needed//`
CS_CHECK_LIB_WITH([Cg],
- [AC_LANG_PROGRAM(
- [[#include <Cg/cg.h>]],
- [CGcontext c = cgCreateContext()])],
- [], [], [], [],
- [$cs_cv_libm_cflags $cs_cv_sys_pthread_cflags],
- [$cs_cv_libm_lflags $cs_cv_sys_pthread_lflags],
- [$cs_cv_libm_libs $cs_cv_sys_pthread_libs],
+ [AC_LANG_PROGRAM(
+ [[#include <Cg/cg.h>]],
+ [CGcontext c = cgCreateContext();])],
+ [], [], [], [],
+ [$cs_cv_libm_cflags $cs_cv_sys_pthread_cflags],
+ [$cs_cv_libm_lflags $cs_cv_sys_pthread_lflags],
+ [$cs_cv_libm_libs $cs_cv_sys_pthread_libs],
[cg, CG])
AS_IF([test $cs_cv_libCg = yes],
@@ -1664,7 +1676,9 @@
[$cs_cv_libCg_cflags $cs_cv_libgl_cflags $cs_cv_libglu_cflags],
[$cs_cv_libCg_lflags $cs_cv_libgl_lflags $cs_cv_libglu_lflags],
[$cs_cv_libCg_libs $cs_cv_libgl_libs $cs_cv_libglu_libs],
- [cggl, cgGL, CGGL, Cg, cg, CG])])])
+ [cggl, cgGL, CGGL, Cg, cg, CG])])
+
+ LDFLAGS="$LDFLAGS_BACKUP"])
CS_CHECK_LIBCG
@@ -1909,6 +1923,7 @@
case $host_cpu in
[[Ii][3-9]86*|[Xx]86*]) cs_host_cpu=x86 ;;
powerpc*) cs_host_cpu=powerpc ;;
+ sparc*) cs_host_cpu=sparc ;;
*) cs_host_cpu=$host_cpu ;;
esac
cs_host_cpu_normalized="AS_TR_CPP([$cs_host_cpu])"])
Modified: CS/branches/soc/vfs/data/config/autoexec.cfg
===================================================================
--- CS/branches/soc/vfs/data/config/autoexec.cfg 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/data/config/autoexec.cfg 2007-02-27 04:43:48 UTC (rev 26505)
@@ -37,6 +37,7 @@
bind f4 fs_inter .01,100
bind f5 fs_fadeout
bind f6 fs_fadetxt spark
+bind f8 decal_test
bind \ freelook toggle
;bind ) db_procpol 0
;bind _ db_procpol --1
Modified: CS/branches/soc/vfs/data/config/bugplug.key
===================================================================
--- CS/branches/soc/vfs/data/config/bugplug.key 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/data/config/bugplug.key 2007-02-27 04:43:48 UTC (rev 26505)
@@ -88,8 +88,6 @@
w=shadowdebug
alt-u=unprepare
ctrl-m=memorydump
-p=profdump
-ctrl-shift-p=profreset
ctrl-shift-s=debugcmd iGraphics3D dump_slms
ctrl-shift-v=debugcmd iGraphics3D dump_vbostat
@@ -101,3 +99,5 @@
ctrl-alt-o=onesector
ctrl-alt-l=listplugins
+ctrl-shift-p=prof_log
+ctrl-shift-r=prof_autoreset
\ No newline at end of file
Modified: CS/branches/soc/vfs/data/config/r3dopengl.cfg
===================================================================
--- CS/branches/soc/vfs/data/config/r3dopengl.cfg 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/data/config/r3dopengl.cfg 2007-02-27 04:43:48 UTC (rev 26505)
@@ -132,8 +132,8 @@
;Video.OpenGL.UseExtension.GL_SGIS_generate_mipmap = false
Video.OpenGL.UseExtension.GL_ARB_point_sprite = false
-Video.OpenGL.VBO.VBsize = 33554432
-Video.OpenGL.VBO.IBsize = 16M
+; Maximum size of allocated VBO buffers
+Video.OpenGL.VBO.MaxSize = 64M
; Some ATI hardware (Radeon 9500+) has a "hidden" feature where you can specify
; NPOTS textures as 2D textures. (Normally they would have to be POTS.)
Modified: CS/branches/soc/vfs/docs/history.txt
===================================================================
--- CS/branches/soc/vfs/docs/history.txt 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/docs/history.txt 2007-02-27 04:43:48 UTC (rev 26505)
@@ -2,14 +2,149 @@
http://www.crystalspace3d.org/
The overall history is in reverse (descending) chronological order, so that
-each new day's entries apears before the previous day's entries. The
+each new day's entries appears before the previous day's entries. The
individual changes for each given day, however, are in normal (ascending)
chronological order.
+12-Feb-2007
+ - Andrew Robberts updated decals so reduce z-fighting and seams.
+ - Marten rewrote the VBO buffer handling to be more robust, contain
+ less cruft and be a bit faster.
+ - Andrew Robberts updated decals to better specify a top and
+ bottom clipping plane for decals.
+ - res slightly expanded the manual section on smart pointers with
+ information on translation to and from normal pointers as well as
+ information on csWeakRef<> and how to deal with references in
+ function parameters.
+ - res replaced the csPtr<> API docs with an excerpt from the user
+ manual description. Also added pointer to section in manual.
+ - res made csRenderBuffer use cs_malloc() for buffer data allocation.
+ - res marked the new temp file/dir functions for DLL exporting.
+ - res fixed an inclusion of a non-existant header in the bullet
+ plugin. (Probably went undetected due a blunder in cs-win32libs
+ which actually ships this header [which was removed between bullet
+ versions]...)
+ - res made more Windows SDK 6.0 compatibility fixes.
+ - Marten added CSV logging to the profiling plugin. Also added a
+ command to start and stop logging as well as activating automatic
+ reset (and writing) of data once per frame.
+ - Marten removed some left-over debugging code in lighter2. Fixes
+ trac #237.
+10-Feb-2007
+ - Marten hopefully fixed lighter2 compiled with MSVC on win64.
+ - res changed csjpgimg to not use setjmp() but exceptions for error
+ handling (setjmp doesn't work right on Win64 MSVC). Also added some
+ wrappers around the JPEG structs so the client code more feels like
+ C++ and less like C.
+9-Feb-2007
+ - Piotr started implementation of iSkeleton related interfaces in
+ Cal3d plugin.
+ - res added a csPackRGB::PackRGBpixelToRGB() variant that packs to a
+ given buffer.
+ - res fixed a couple of compile errors with VC7.0.
+8-Feb-2007
+ - Marten added (untested) code for atomic operations on SPARC.
+ - Piotr improved choosing pixelformat in wxgl plugin (on win32 only).
+ - Piotr made wxgl plugin compilable and working with wxwidgets 2.8
+ - Marten made two tweaks to particles:
+ - Exposed initial angular velocity setting on emitters to xml.
+ - Made sure rotation-mode resets the texcoord vectors. Fixes
+ problem when switching from texcoord rotation to none.
+ - res split csutil/threading/atomicops.h up into multiple files (one
+ per implementation).
+ - Piotr made more backward compatibility safe and improved code quality
+ (removed not valid comments and unecesery method) in his latest commit.
+ - Andrew Robberts made decals a bit more efficient sharing memory and
+ adding the ability to reuse/change existing decals
+7-Feb-2007
+ - Genjix changed csWeakRefArray to not use deprecated Length ().
+ - res changed configure to normalize sparc* cpu names to sparc (so
+ e.g. sparc64 is treated as sparc).
+6-Feb-2007
+ - res added CS::ScopedDelete<>, a helper class to delete a pointer
+ when leaving a scope.
+4-Feb-2007
+ - res worked around an apparent incompatibility between one of VC8's
+ headers and a header from the latest Windows SDK 6.0.
+ - res fixed a couple of compile warnings.
+ - res changed the CS_REQUEST_FONTSERVER macro to pull in the font
+ multiplexer plugin instead of the "default" font plugin. (The idea
+ is that nowadays most people would probably like to use TrueType
+ fonts instead of the built-in bitmap fonts; using the font plexer
+ by default this will work out of the box.)
+ - Luca fixed the source code of the examples in the Threading
+ Library section of the manual.
+ - res fixed the static plugin dependencies file to contain the correct
+ library names.
+3-Feb-2007
+ - Jorrit added 'decal_test' to the online help for walktest.
+ - Marten fixed a compilation error in sector.cpp that only showed
+ in release mode.
+2-Feb-2007
+ - res worked around Cg not being properly detected on Linux when
+ -Wl,--as-needed was passed in LDFLAGS.
+ - res correctly placed a comment in compiler.m4 and fixed the response
+ file support test. (Previously it didn't work - the used @ sign
+ is internally used by the CS build test macros as a separator.
+ Worked around by not using the CS build macros but the relevant AC_
+ macros directly.)
+ - res fixed a couple of warnings and errors after the temp file name
+ stuff change. Also removed an (actually inappropriate) use of
+ GetTempFilename in importkit_glue.cpp.
+ - res slightly changed CS_TEMP_DIR and CS_TEMP_FILE to emit a warning
+ when employed.
+ - Marten removed deprecated methods from:
+ - csArray and derived types
+ - csPath
+ - csImageBase
+ - Marten put back csArray::Length and csArray::SetLength but properly
+ marked them deprecated.
+ - Andrew Robberts added the ability to attach arbitrary rendermeshes
+ with priority and zbufmodes to any iMeshWrapper.
+ - Andrew Robberts added an InSphere function to poly3d to test
+ if the poly is within a sphere.
+ - Andrew Robberts added decal support and a decalmanager plugin
+ to CS. Decals are currently supported by thing and static
+ genmeshes.
+ - Andrew Robberts fixed copyright, interface versions, and comments
+ - Andrew Robberts added missing include/igeom/decal.h
+ - Andrew Robberts fixed pointer and csRef references in decals.
+1-Feb-2007
+ - Marten fixed compilation of CS::DataBuffer on gcc.
+ - Marten made sure genmesh doesn't return any rendermeshes when
+ there is no triangles. Fix bug #224.
+ - Marten implemented functions to get temporary directory and
+ file in CS::Platform / syspath.h. These functions make
+ CS_TEMP_DIR and CS_TEMP_FILE deprecated.
+31-Jan-2007
+ - Jorrit changed csImageMemory to use a csDataBuffer to keep track
+ of its image memory. That way it can also implement GetRawData().
+ - Jorrit changed the png loader to use rawData instead
+ of dataSource.
+ - Jorrit reverted the png loader change as it was assigning the raw
+ file data to rawData but rawData is supposed to contain the
+ decoded image data.
+ - Jorrit changed the png loader again so that it now correctly sets
+ up the rawData from the decoded image data.
+ - res added a memory allocator mixin using new char[].
+ - res turned csDataBuffer into template<Allocator> CS::DataBuffer.
+ This allows to use different allocators for data buffers. (The
+ default DataBuffer now uses cs_malloc(); csDataBuffer still uses
+ new char[].)
+ - res fixed the JNG plugin for the change in the way csImageMemory
+ stores image data.
+ - res fixed some deprecation warnings caused by r26260.
+30-Jan-2007
+ - res rigged (the deprecated) csutil/debug.h to emit a warning when
+ included.
+29-Jan-2007
+ - Andrew Robberts fixed a warning from checking if an unsigned is >= 0.
- Jorrit reverted a change from Genjix yesterday. /bin/bash doesn't
exist on mingw.
- res rigged (the deprecated) csutil/profile.h to emit a warning when
included.
+ - Genjix added fix to cs-config where a switch case is autogenerated for
+ variable indirection for systems like ubuntu.
28-Jan-2007
- Eric Sunshine made some minor clarifications to the Dev-CPP tutorial
suggested by Johannes Schoen <schoen.johannes@...>.
Modified: CS/branches/soc/vfs/docs/html/manual/cs_2.4.2.html
===================================================================
--- CS/branches/soc/vfs/docs/html/manual/cs_2.4.2.html 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/docs/html/manual/cs_2.4.2.html 2007-02-27 04:43:48 UTC (rev 26505)
@@ -275,10 +275,25 @@
the project.
</p>
<a name="SEC52"></a>
-<h4 class="subsubheading"> Compilation </h4>
+<h4 class="subsubheading"> Building </h4>
<ul>
-<li>
+<li>
+Q1. <em>I'm using the Visual C++ 2005 Express Edition and I get a lot of
+"file not found" errors for <tt>`windef.h'</tt> and others. What is wrong?</em>
+Q2. <em>I'm using the Visual C++ 2005 Express Edition and I get a lot of
+"unresolved symbol" errors for names like
+<code>SHGetSpecialFolderLocation@...>. What is wrong?</em>
+
+<p>A. These errors indicate a lacking or an incomplete installation of the
+Platform SDK. Exactly follow the instructions given on Microsoft's
+"Using Visual C++ 2005 Express Edition with the Microsoft Platform SDK"
+page:
+<a href="http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/">http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/</a>
+Also, the instructions don't say that, but if you have Visual C++ open while
+applying those changes you need to restart it.
+</p>
+</li><li>
Q. <em>I get "Errors in post link" and later "file not found" errors.</em>
<p>A. Some problems with non-latin directory names have been reported (e.g.
@@ -294,29 +309,7 @@
versions of these libraries i.e. <em>cs-win32libs</em> or grab the source code and
compile it yourself if you prefer. See section <a href="cs_2.3.html#2.3">External Libraries</a>.
</p>
-<p>The resources from these packages should be placed in the following locations.
-</p>
</li><li>
-Q. <em>How can I reduce build times?</em>
-
-<p>A. Build only the projects you will need. You must build all the Crystal Space
-libraries, however those you may not need can be unloaded (Right click on the
-project you wish unload from the build process and click on Unload). <em>Be
-very careful when unloading projects as some of Crystal Spaces projects e.g.
-some plugins are dependent on others</em>.
-</p>
-</li><li>
-Q. <em>How can I reduce build sizes?</em>
-A. Build only the projects you will need.
-A. Turning off precompiled headers tends to save a large amount of file space
-while increasing build times somewhat.
-</li></ul>
-
-<a name="SEC53"></a>
-<h4 class="subsubheading"> Linking </h4>
-
-<ul>
-<li>
Q. <em>Where are the files <tt>`libpng.lib'</tt> and <tt>`zlib.lib'</tt>?</em>
<p>A. Just look above at the question about <tt>`zlib.h'</tt> and <tt>`png.h'</tt>.
@@ -342,28 +335,34 @@
component), look below.
</li><li>-
-Any others: Well, I always have a solution, but this one is more difficult. It
-seems that there is a missing source file in your project. But the question
-is, which source file? If it isn't obvious by the name of the functions, just
-to the following: In the menu <em>Edit</em>, select the option <em>Find in
-Files<small class="dots">...</small></em>. Put the name of the function in the field "Find What", check
-that the "In Folder" field content is the Crystal Space source directory and
-press <em>Find</em>. You should get a bunch of files, many of them just making a
-call to the function. But there is surely one which contains the definition of
-the function. Look at the position of the file where it is defined, and add it
-to the project (menu <em>Project/Add To Project/Files</em>).
+Q. <em>How can I reduce build times?</em>
-<p>In order to add (or remove) a library for the link process, invoke the
-<em>Project/Settings/Link</em> menu item, then select the "General" category
-tab.. There is a field called "Object/Library Modules" that lists all the
-libraries added to the project at link time.
-</p></li></ul>
-</li></ul>
+<p>A. Build only the projects you will need. You must build all the Crystal Space
+libraries, however those you may not need can be unloaded (Right click on the
+project you wish unload from the build process and click on Unload). <em>Be
+very careful when unloading projects as some of Crystal Spaces projects e.g.
+some plugins are dependent on others</em>.
+</p>
+</li><li>-
+Q. <em>How can I reduce build sizes?</em>
+A. Build only the projects you will need.
+A. Turning off precompiled headers tends to save a large amount of file space
+while increasing build times somewhat.
-<p>OK, now it should link. So you should have an executable file called
-<tt>`walktest.exe'</tt> in your src directory. Let's run it!
+</li><li>-
+Any others: It seems that there is a missing source file in the project.
+
+<p>For Crystal Space the MSVC project files are generated once every 24 hours, so
+normally all missing sources should have been added after that time. If you
+can't wait that long, or the file is still missing, contact one of the Crystal
+Space developers.
</p>
-<a name="SEC54"></a>
+<p>For third party projects it's usually the best idea to contact one of it's
+developers, they should be able to tell you which file is missing.
+</p>
+</li></ul>
+</li></ul>
+<a name="SEC53"></a>
<h4 class="subsubheading"> Executing </h4>
<ul>
@@ -406,7 +405,7 @@
have the <tt>`libz-cs.dll'</tt> installed, the <small>VFS</small> plugin is dependent upon it.
</p></li></ul>
-<a name="SEC55"></a>
+<a name="SEC54"></a>
<h4 class="subsubheading"> Miscellaneous </h4>
<ul>
Modified: CS/branches/soc/vfs/docs/html/manual/cs_2.4.3.html
===================================================================
--- CS/branches/soc/vfs/docs/html/manual/cs_2.4.3.html 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/docs/html/manual/cs_2.4.3.html 2007-02-27 04:43:48 UTC (rev 26505)
@@ -71,7 +71,7 @@
<p><a href="http://www.mingw.org/">http://www.mingw.org/</a>
</p>
-<a name="SEC57"></a>
+<a name="SEC56"></a>
<h4 class="subsubheading"> Necessary Resources </h4>
<p>Download the following packages:
@@ -115,7 +115,7 @@
etc. See <a href="cs_2.3.html#cs_002dwin32libs">cs-win32libs</a>.
</li></ul>
-<a name="SEC58"></a>
+<a name="SEC57"></a>
<h4 class="subsubheading"> Installation </h4>
<p>Follow these instructions to install the packages which you downloaded.
@@ -152,7 +152,7 @@
<p><em>Note</em>: If you ever install a new version of <small>MSYS</small>, then you should
also re-install the <tt>`cs-win32libs'</tt> package.
</p>
-<a name="SEC59"></a>
+<a name="SEC58"></a>
<h4 class="subsubheading"> Building Crystal Space </h4>
<p>You must configure and build Crystal Space from within the <small>MSYS</small> shell
@@ -198,7 +198,7 @@
<table><tr><td> </td><td><pre class="example">jam install
jam distclean
</pre></td></tr></table>
-<a name="SEC60"></a>
+<a name="SEC59"></a>
<h4 class="subsubheading"> Additional Build Options </h4>
<p>Sometimes it is a good idea to remove all of the built programs and executable
@@ -215,7 +215,7 @@
./configure
jam
</pre></td></tr></table>
-<a name="SEC61"></a>
+<a name="SEC60"></a>
<h4 class="subsubheading"> Troubleshooting </h4>
<p>If you successfully built Crystal Space, yet find that you can not run the
@@ -225,7 +225,7 @@
stuff\CS'</tt>, try renaming the path to <tt>`C:\my_stuff\CS'</tt> or
<tt>`C:\mystuff\CS'</tt>.
</p>
-<a name="SEC62"></a>
+<a name="SEC61"></a>
<h3 class="subheading"> Blasting the Past </h3>
<p>If you were previously using the older, deprecated <tt>`cs_mingw_0.??.exe'</tt>
Modified: CS/branches/soc/vfs/docs/html/manual/cs_2.4.4.html
===================================================================
--- CS/branches/soc/vfs/docs/html/manual/cs_2.4.4.html 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/docs/html/manual/cs_2.4.4.html 2007-02-27 04:43:48 UTC (rev 26505)
@@ -69,7 +69,7 @@
compiler for Windows created by Red Hat Inc. and other third party
contributors.
</p>
-<a name="SEC64"></a>
+<a name="SEC63"></a>
<h4 class="subsubheading"> A Warning About Cygwin </h4>
<p>A full or extensive Cygwin installation can take up alot of hard disk space.
@@ -80,7 +80,7 @@
<small>GCC</small> compiler and linker suite and related tools, and several support
libraries as discussed below.
</p>
-<a name="SEC65"></a>
+<a name="SEC64"></a>
<h4 class="subsubheading"> Obtaining Cygwin </h4>
<p>Cygwin uses a custom setup application for installation of Cygwin which can be
@@ -94,7 +94,7 @@
<p><a href="http://www.cygwin.com/setup.exe">http://www.cygwin.com/setup.exe</a>
</p>
-<a name="SEC66"></a>
+<a name="SEC65"></a>
<h4 class="subsubheading"> Installing Cygwin </h4>
<p>First, go to the location where you downloaded the Cygwin <tt>`setup.exe'</tt>. It
@@ -211,7 +211,7 @@
installation is complete. Click on the <em>Ok</em> button to finish the
installation process.
</p>
-<a name="SEC67"></a>
+<a name="SEC66"></a>
<h4 class="subsubheading"> Using "cs-win32libs" </h4>
<p>You can use the "cs-win32libs" package to obtain the third-party libraries
@@ -234,7 +234,7 @@
sections; otherwise, you can skip to the section
<a href="#Cygwin_003a-Building-Crystal-Space">Cygwin: Building Crystal Space</a>.
</p>
-<a name="SEC68"></a>
+<a name="SEC67"></a>
<h4 class="subsubheading"> Installing DirectX 8 <small>SDK</small> for Cygwin </h4>
<p>The Microsoft DirectX 8 <small>SDK</small> which the Cygwin port uses is one created
@@ -248,7 +248,7 @@
directory which contains the <tt>`Makefile'</tt>). Next, at the command prompt
type <samp>`make install'</samp>.
</p>
-<a name="SEC69"></a>
+<a name="SEC68"></a>
<h4 class="subsubheading"> Open Dynamics Engine (required for physics plugin) </h4>
<p>The Open Dynamics Engine library is required for successful compilation of the
@@ -296,7 +296,7 @@
<em>/usr</em> directory. You will be prompted about overwriting files, and
you should just answer <tt>`Yes to All'</tt>.
</p>
-<a name="SEC70"></a>
+<a name="SEC69"></a>
<h4 class="subsubheading"> Installing the <small>MNG</small> Library (optional) </h4>
<p>In order to successfully build the optional Crystal Space <em>jng</em> plugin,
@@ -307,7 +307,7 @@
directory which contains the <tt>`install-sh'</tt>). Next, at the command prompt
type <samp>`make install'</samp>.
</p>
-<a name="SEC71"></a>
+<a name="SEC70"></a>
<h4 class="subsubheading"> Building Crystal Space </h4>
<p><a name="Cygwin_003a-Building-Crystal-Space"></a>
</p>
@@ -357,7 +357,7 @@
<table><tr><td> </td><td><pre class="example">make install
make distclean
</pre></td></tr></table>
-<a name="SEC72"></a>
+<a name="SEC71"></a>
<h4 class="subsubheading"> Additional Build Options </h4>
<p>Sometimes it is a good idea to remove all of the built programs and executable
Modified: CS/branches/soc/vfs/docs/html/manual/cs_4.1.3.html
===================================================================
--- CS/branches/soc/vfs/docs/html/manual/cs_4.1.3.html 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/docs/html/manual/cs_4.1.3.html 2007-02-27 04:43:48 UTC (rev 26505)
@@ -67,14 +67,14 @@
of using Crystal Space as a framework. Read the next section to learn
about engine concepts.
</p>
-<a name="SEC103"></a>
+<a name="SEC102"></a>
<h4 class="subsubheading"> The <small>SCF</small> Facility </h4>
<p>The <small>SCF</small> (see section <a href="cs_4.3.1.html#4.3.1">Shared Class Facility (<small>SCF</small>)</a>) system is the core low-level memory framework
for Crystal Space. You must initialize this before doing anything else
(one way is to use <code>csInitializer::InitializeSCF()</code>).
</p>
-<a name="SEC104"></a>
+<a name="SEC103"></a>
<h4 class="subsubheading"> Reference Counting </h4>
<p>Reference counting is a very important part of the Crystal Space
@@ -83,7 +83,7 @@
sure you manage references correctly in your own code. Missing a
<code>DecRef()</code> can cause big memory leaks.
</p>
-<a name="SEC105"></a>
+<a name="SEC104"></a>
<h4 class="subsubheading"> The Object Registry </h4>
<p>The object registry is the central repository for all objects in
@@ -94,7 +94,7 @@
<code>csInitializer::CreateObjectRegistry()</code> or
<code>csInitializer::CreateEnvironment()</code>.
</p>
-<a name="SEC106"></a>
+<a name="SEC105"></a>
<h4 class="subsubheading"> The Plugin Manager </h4>
<p>The plugin manager is responsible for loading and unloading plugins. A
@@ -106,7 +106,7 @@
<code>csInitializer::CreatePluginManager()</code> or
<code>csInitializer::CreateEnvironment()</code>.
</p>
-<a name="SEC107"></a>
+<a name="SEC106"></a>
<h4 class="subsubheading"> The Event Queue </h4>
<p>Crystal Space is an event-driven framework. So a Crystal Space application
@@ -124,7 +124,7 @@
keyboard/mouse input. But there is much more. To setup an event handler
for the application you can use <code>csInitializer::SetupEventHandler()</code>.
</p>
-<a name="SEC108"></a>
+<a name="SEC107"></a>
<h4 class="subsubheading"> The Virtual Clock </h4>
<p>Most Crystal Space applications will be time-based. The virtual clock
@@ -140,7 +140,7 @@
<code>csInitializer::CreateVirtualClock()</code> or
<code>csInitializer::CreateEnvironment()</code>.
</p>
-<a name="SEC109"></a>
+<a name="SEC108"></a>
<h4 class="subsubheading"> The Commandline Parser </h4>
<p>The commandline parser is responsible for parsing options from
@@ -152,7 +152,7 @@
<code>csInitializer::CreateCommandLineParser()</code> or
<code>csInitializer::CreateEnvironment()</code>.
</p>
-<a name="SEC110"></a>
+<a name="SEC109"></a>
<h4 class="subsubheading"> The Configuration Manager </h4>
<p>The configuration manager is responsible for reading options from configuration
@@ -174,7 +174,7 @@
</p>
<table><tr><td> </td><td><pre class="example">csInitializer::SetupConfigManager()
</pre></td></tr></table>
-<a name="SEC111"></a>
+<a name="SEC110"></a>
<h4 class="subsubheading"> The Input Drivers </h4>
<p>There are three standard input drivers included with Crystal Space:
@@ -191,7 +191,7 @@
<p>will create the drivers and publish them via the object registry. These
drivers will post events to the global event queue.
</p>
-<a name="SEC112"></a>
+<a name="SEC111"></a>
<h4 class="subsubheading"> The <code>csInitializer</code> class </h4>
<p>We already mentioned several of the functions above. This class (for which
Modified: CS/branches/soc/vfs/docs/html/manual/cs_4.10.1.html
===================================================================
--- CS/branches/soc/vfs/docs/html/manual/cs_4.10.1.html 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/docs/html/manual/cs_4.10.1.html 2007-02-27 04:43:48 UTC (rev 26505)
@@ -66,7 +66,7 @@
<p>In this section a general overview is given of the mesh object plug-in
system and several of the concepts are explained.
</p>
-<a name="SEC282"></a>
+<a name="SEC281"></a>
<h4 class="subsubheading"> Mesh Object </h4>
<p>A <em>Mesh Object</em> is what this plug-in system is all about. It is basically
@@ -85,7 +85,7 @@
that it uses. These type specific interfaces are usually called
<samp>`iSomethingState'</samp> (replace <em>Something</em> with the appropriate name).
</p>
-<a name="SEC283"></a>
+<a name="SEC282"></a>
<h4 class="subsubheading"> Mesh Object Factory </h4>
<p>A <em>Mesh Object Factory</em> is an object from which you can generate Mesh
@@ -130,7 +130,7 @@
called <samp>`iSomethingFactoryState'</samp> (replace <em>Something</em> with the
appropriate name).
</p>
-<a name="SEC284"></a>
+<a name="SEC283"></a>
<h4 class="subsubheading"> Mesh Object Type </h4>
<p>The <em>Mesh Object Type</em> describes a specific kind of Mesh Object plug-in.
@@ -144,7 +144,7 @@
this case, you can use this interface to query all run-time options that are
valid for that type.
</p>
-<a name="SEC285"></a>
+<a name="SEC284"></a>
<h4 class="subsubheading"> Loaders </h4>
<p>In addition to the functionality for the Mesh Objects themselves, many Mesh
@@ -156,7 +156,7 @@
can even write different loader plug-ins for the same Mesh Object Type if you
so desire.
</p>
-<a name="SEC286"></a>
+<a name="SEC285"></a>
<h4 class="subsubheading"> Responsibilities </h4>
<p>As mentioned above Mesh Objects only know how to render themselves and how to
Modified: CS/branches/soc/vfs/docs/html/manual/cs_4.10.10.html
===================================================================
--- CS/branches/soc/vfs/docs/html/manual/cs_4.10.10.html 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/docs/html/manual/cs_4.10.10.html 2007-02-27 04:43:48 UTC (rev 26505)
@@ -81,7 +81,7 @@
Dynamic lighting using bumpmapping and similar techniques.
</li></ul>
-<a name="SEC327"></a>
+<a name="SEC326"></a>
<h4 class="subsubheading"> Basic Structure </h4>
<p>The following <small>SCF</small> class names are used (for <code>csLoadPlugin</code>):
@@ -123,7 +123,7 @@
</li></ul>
</li></ul>
-<a name="SEC328"></a>
+<a name="SEC327"></a>
<h4 class="subsubheading"> Factory State Interface </h4>
<p>Use the <samp>`iTerrainFactoryState'</samp> <small>SCF</small> interface to access settings for
@@ -132,7 +132,7 @@
to include in your applications to use this plugin. Using this interface you
can access the terraformer and sample area for a terrain factory.
</p>
-<a name="SEC329"></a>
+<a name="SEC328"></a>
<h4 class="subsubheading"> Object State Interface </h4>
<p><samp>`iTerrainObjectState'</samp> (residing in <tt>`CS/include/imesh/terrain.h'</tt>)
@@ -140,7 +140,7 @@
object. By using this interface you can access the base material, material
palette, and various other settings for the terrain object.
</p>
-<a name="SEC330"></a>
+<a name="SEC329"></a>
<h4 class="subsubheading"> How Does it Work </h4>
<p>The easiest way to explain how the landscape engine works is to show
@@ -252,7 +252,7 @@
</sector>
</world>
</pre></td></tr></table>
-<a name="SEC331"></a>
+<a name="SEC330"></a>
<h4 class="subsubheading"> Textures and Materials </h4>
<p>In the first part of this world file we define the textures as used
@@ -275,7 +275,7 @@
shader variable you can control the scale of these textures as used on the
terrain.
</p>
-<a name="SEC332"></a>
+<a name="SEC331"></a>
<h4 class="subsubheading"> Level Setup </h4>
<p>Because we need the <samp>`terrain_fixed_base'</samp> shaders we also need the
@@ -284,7 +284,7 @@
software vertex lighted meshes and meshes using lightmaps so you can easily
put other objects on the landscape.
</p>
-<a name="SEC333"></a>
+<a name="SEC332"></a>
<h4 class="subsubheading"> Heightmap Data </h4>
<p>The landscape engine uses a terraformer plugin to get the heightmap
@@ -295,7 +295,7 @@
give it the name <samp>`simple'</samp>. Using the <samp>`scale'</samp> keyword we can
scale it to the right dimensions as needed for the landscape engine.
</p>
-<a name="SEC334"></a>
+<a name="SEC333"></a>
<h4 class="subsubheading"> Mesh Factory </h4>
<p>In the mesh factory of the landscape engine we say which terraformer we
@@ -304,7 +304,7 @@
data to the right dimensions. But in the factory we decide which region
we will actually use for geometry.
</p>
-<a name="SEC335"></a>
+<a name="SEC334"></a>
<h4 class="subsubheading"> Mesh Object </h4>
<p>Finally we need the actual mesh object representing the landscape.
@@ -352,7 +352,7 @@
static lighting.
</li></ul>
-<a name="SEC336"></a>
+<a name="SEC335"></a>
<h4 class="subsubheading"> Using From Code </h4>
<p>It is also possible to use the landscape mesh from code. Use the state
Modified: CS/branches/soc/vfs/docs/html/manual/cs_4.10.11.html
===================================================================
--- CS/branches/soc/vfs/docs/html/manual/cs_4.10.11.html 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/docs/html/manual/cs_4.10.11.html 2007-02-27 04:43:48 UTC (rev 26505)
@@ -69,7 +69,7 @@
interface for portal containers. They are created by the engine directly
as mesh objects.
</p>
-<a name="SEC338"></a>
+<a name="SEC337"></a>
<h4 class="subsubheading"> Object State Interface </h4>
<p><samp>`iPortalContainer'</samp> (residing in
@@ -83,7 +83,7 @@
Portal containers are normal mesh objects otherwise. They implement
<code>iMeshObject</code> and are put in a sector like other mesh objects.
</p>
-<a name="SEC339"></a>
+<a name="SEC338"></a>
<h4 class="subsubheading"> Object Loader </h4>
<p>With normal mesh objects you have a specific loader plugin to load
Modified: CS/branches/soc/vfs/docs/html/manual/cs_4.10.12.html
===================================================================
--- CS/branches/soc/vfs/docs/html/manual/cs_4.10.12.html 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/docs/html/manual/cs_4.10.12.html 2007-02-27 04:43:48 UTC (rev 26505)
@@ -67,7 +67,7 @@
some special effects that you can do with this but it is really very simple
otherwise.
</p>
-<a name="SEC341"></a>
+<a name="SEC340"></a>
<h4 class="subsubheading"> Basic Structure </h4>
<p>The following <small>SCF</small> class names are used (for <code>csLoadPlugin</code>):
@@ -111,7 +111,7 @@
</li></ul>
</li></ul>
-<a name="SEC342"></a>
+<a name="SEC341"></a>
<h4 class="subsubheading"> Factory State Interface </h4>
<p>Use the <small>SCF</small> interface <samp>`iSprite2DFactoryState'</samp> to access settings for
@@ -120,7 +120,7 @@
to include in your applications to use this plugin. Using this interface you
can access the material, blending mode (mixmode), and lighting settings.
</p>
-<a name="SEC343"></a>
+<a name="SEC342"></a>
<h4 class="subsubheading"> Factory Loader </h4>
<dl compact="compact">
@@ -152,7 +152,7 @@
</dd>
</dl>
-<a name="SEC344"></a>
+<a name="SEC343"></a>
<h4 class="subsubheading"> Object State Interface </h4>
<p><samp>`iSprite2DState'</samp> is the <small>SCF</small> interface that you can use to set/get
@@ -162,7 +162,7 @@
interface you can access the material, blending mode (mixmode), lighting
settings, and also the vertices of the 2D polygon controlled by this plugin.
</p>
-<a name="SEC345"></a>
+<a name="SEC344"></a>
<h4 class="subsubheading"> Object Loader </h4>
<dl compact="compact">
@@ -209,7 +209,7 @@
</dd>
</dl>
-<a name="SEC346"></a>
+<a name="SEC345"></a>
<h4 class="subsubheading"> Example 1 </h4>
<p>This is how our world file looks:
Modified: CS/branches/soc/vfs/docs/html/manual/cs_4.10.13.html
===================================================================
--- CS/branches/soc/vfs/docs/html/manual/cs_4.10.13.html 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/docs/html/manual/cs_4.10.13.html 2007-02-27 04:43:48 UTC (rev 26505)
@@ -66,7 +66,7 @@
<p>A 3D Sprite is a complex set of 3D triangles that supports animation through
frames.
</p>
-<a name="SEC348"></a>
+<a name="SEC347"></a>
<h4 class="subsubheading"> Basic Structure </h4>
<p>The following <small>SCF</small> class names are used (for <code>csLoadPlugin</code>):
@@ -110,7 +110,7 @@
</li></ul>
</li></ul>
-<a name="SEC349"></a>
+<a name="SEC348"></a>
<h4 class="subsubheading"> Factory State Interface </h4>
<p>Use the <samp>`iSprite3DFactoryState'</samp> <small>SCF</small> interface to access settings for
@@ -124,7 +124,7 @@
<p>For frame based animation you need to access the <samp>`iSpriteFrame'</samp> and
<samp>`iSpriteAction'</samp> interfaces (defined in <tt>`CS/include/imesh/sprite3d.h'</tt>).
</p>
-<a name="SEC350"></a>
+<a name="SEC349"></a>
<h4 class="subsubheading"> Factory Loader </h4>
<dl compact="compact">
@@ -154,7 +154,7 @@
</p></dd>
</dl>
-<a name="SEC351"></a>
+<a name="SEC350"></a>
<h4 class="subsubheading"> Object State Interface </h4>
<p><samp>`iSprite3DState'</samp> is the <small>SCF</small> interface that you can
@@ -165,7 +165,7 @@
current frame and action, and various other configuration parameters for an
3D sprite object.
</p>
-<a name="SEC352"></a>
+<a name="SEC351"></a>
<h4 class="subsubheading"> Object Loader </h4>
<dl compact="compact">
@@ -193,7 +193,7 @@
</p></dd>
</dl>
-<a name="SEC353"></a>
+<a name="SEC352"></a>
<h4 class="subsubheading"> Configuration Parameters </h4>
<p>The <tt>`sprite3d'</tt> plugin supports the following configuration parameters
Modified: CS/branches/soc/vfs/docs/html/manual/cs_4.10.14.html
===================================================================
--- CS/branches/soc/vfs/docs/html/manual/cs_4.10.14.html 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/docs/html/manual/cs_4.10.14.html 2007-02-27 04:43:48 UTC (rev 26505)
@@ -66,7 +66,7 @@
<p><a href="http://cal3d.sourceforge.net/">http://cal3d.sourceforge.net/</a>
</p>
-<a name="SEC355"></a>
+<a name="SEC354"></a>
<h4 class="subsubheading"> Making the Model </h4>
<p>This is an example of how to load and view a Cal3d file with the
@@ -243,7 +243,7 @@
<p>You should be able to see the <tt>`cally'</tt> model, completely green.
</p>
-<a name="SEC356"></a>
+<a name="SEC355"></a>
<h4 class="subsubheading"> Creating Your Own Cal3D Mesh </h4>
<p>Although explaining how to create your own Cal3D meshes is beyond the
@@ -269,7 +269,7 @@
create at least one bone, the <samp>`sprcal3d'</samp> plugin either will fail to load
the model or will otherwise misbehave.
</p>
-<a name="SEC357"></a>
+<a name="SEC356"></a>
<h4 class="subsubheading"> Common <tt>`viewmesh'</tt> Errors </h4>
<p>A good way to test your Cal3d mesh is by loading it into <tt>`viewmesh'</tt>.
@@ -332,7 +332,7 @@
">" at the end of a tag). Check your <tt>`.cal3d'</tt> file, and try again.
</p></li></ul>
-<a name="SEC358"></a>
+<a name="SEC357"></a>
<h4 class="subsubheading"> Displaying the Model </h4>
<p>We now show you how to edit the <tt>`simple1'</tt> tutorial
@@ -358,7 +358,7 @@
<p>Now, build <tt>`simple1'</tt>, and run it from the <tt>`CS'</tt> directory.
You should be looking right at the model.
</p>
-<a name="SEC359"></a>
+<a name="SEC358"></a>
<h4 class="subsubheading"> Controlling the Model </h4>
<p>We can now display the model but we can not set animations, etc.
@@ -381,7 +381,7 @@
<samp>`iSpriteCal3DFactoryState'</samp>. Alternately, consult the Crystal Space
<small>API</small> documentation.
</p>
-<a name="SEC360"></a>
+<a name="SEC359"></a>
<h4 class="subsubheading"> Morph Animations </h4>
<p>You can add morph target meshes to each mesh. Remember that morph target
@@ -431,7 +431,7 @@
</p>
<table><tr><td> </td><td><pre class="example">cal3dstate->ClearMorphTarget(morphanimationid, 10.0f);
</pre></td></tr></table>
-<a name="SEC361"></a>
+<a name="SEC360"></a>
<h4 class="subsubheading"> Sockets </h4>
<p>Sockets enable you to <em>attach</em> any mesh object to a triangle. The attached
Modified: CS/branches/soc/vfs/docs/html/manual/cs_4.10.15.html
===================================================================
--- CS/branches/soc/vfs/docs/html/manual/cs_4.10.15.html 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/docs/html/manual/cs_4.10.15.html 2007-02-27 04:43:48 UTC (rev 26505)
@@ -73,7 +73,7 @@
and accelerations you choose. During their lifetime they age and change
as you choose.
</p>
-<a name="SEC363"></a>
+<a name="SEC362"></a>
<h4 class="subsubheading"> Basic Structure </h4>
<p>The following <small>SCF</small> class names are used (for <code>csLoadPlugin</code>):
@@ -117,7 +117,7 @@
</li></ul>
</li></ul>
-<a name="SEC364"></a>
+<a name="SEC363"></a>
<h4 class="subsubheading"> Factory State Interface </h4>
<p>The factory state interface has methods to create new emitter objects,
@@ -186,12 +186,12 @@
</p></dd>
</dl>
-<a name="SEC365"></a>
+<a name="SEC364"></a>
<h4 class="subsubheading"> Factory Loader </h4>
<p>The emitter mesh factory loader has no parameters.
</p>
-<a name="SEC366"></a>
+<a name="SEC365"></a>
<h4 class="subsubheading"> Object State Interface </h4>
<p><samp>`iEmitState'</samp> is the <small>SCF</small> interface that you can
@@ -247,7 +247,7 @@
<p>In addition you can use <samp>`iParticleState'</samp>.
</p>
-<a name="SEC367"></a>
+<a name="SEC366"></a>
<h4 class="subsubheading"> Object Loader </h4>
<p>Also see the general documentation for particle systems for other recognized
Modified: CS/branches/soc/vfs/docs/html/manual/cs_4.10.16.html
===================================================================
--- CS/branches/soc/vfs/docs/html/manual/cs_4.10.16.html 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/docs/html/manual/cs_4.10.16.html 2007-02-27 04:43:48 UTC (rev 26505)
@@ -67,7 +67,7 @@
Go to the specific particle system section for more information about
a particle system in particular.
</p>
-<a name="SEC369"></a>
+<a name="SEC368"></a>
<h4 class="subsubheading"> Particle State Interface </h4>
<p>Use the <samp>`iParticleState'</samp> <small>SCF</small> interface to access settings for
@@ -77,7 +77,7 @@
interface you can access the material, blending mode (mixmode), color, and
various other parameters.
</p>
-<a name="SEC370"></a>
+<a name="SEC369"></a>
<h4 class="subsubheading"> Object Loader </h4>
<p>Every particle system will at least have the following keywords in
Modified: CS/branches/soc/vfs/docs/html/manual/cs_4.10.18.html
===================================================================
--- CS/branches/soc/vfs/docs/html/manual/cs_4.10.18.html 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/docs/html/manual/cs_4.10.18.html 2007-02-27 04:43:48 UTC (rev 26505)
@@ -67,7 +67,7 @@
also contains a few simpler built-in implementations of particle emitters
and effectors.
</p>
-<a name="SEC373"></a>
+<a name="SEC372"></a>
<h4 class="subsubheading"> Basic Structure </h4>
<p>The following <small>SCF</small> class names are used (for <code>csLoadPlugin</code>):
@@ -109,7 +109,7 @@
</li></ul>
</li></ul>
-<a name="SEC374"></a>
+<a name="SEC373"></a>
<h4 class="subsubheading"> Factory State Interface </h4>
<p>Use the <samp>`iParticleSystemFactory'</samp> <small>SCF</small> interface to access settings for
@@ -124,7 +124,7 @@
the factory won't change the instance. So in the case of particle systems
the factory should be viewed as a template rather than a "parent".
</p>
-<a name="SEC375"></a>
+<a name="SEC374"></a>
<h4 class="subsubheading"> Object State Interface </h4>
<p>Use the <samp>`iParticleSystem'</samp> <small>SCF</small> interface to access settings for
@@ -136,7 +136,7 @@
particle system.
</p>
<p><a name="Particles-Factory-and-Object-Loader"></a>
-</p><a name="SEC376"></a>
+</p><a name="SEC375"></a>
<h4 class="subsubheading"> Factory and Object Loader </h4>
<p>The factory and object loader in much recognize the same set of keywords.
@@ -189,7 +189,7 @@
</dl>
-<a name="SEC377"></a>
+<a name="SEC376"></a>
<h4 class="subsubheading"> Factory Loader </h4>
<p>Also see the general documentation for keywords recognized both by factory and
@@ -208,7 +208,7 @@
</p></dd>
</dl>
-<a name="SEC378"></a>
+<a name="SEC377"></a>
<h4 class="subsubheading"> Object Loader </h4>
<p>Also see the general documentation for keywords recognized both by factory and
@@ -227,7 +227,7 @@
</p></dd>
</dl>
-<a name="SEC379"></a>
+<a name="SEC378"></a>
<h4 class="subsubheading"> Operation of particles </h4>
<p>The particle system have three basic parts
</p>
@@ -241,7 +241,7 @@
everything together and interface the rest of Crystal Space, as well as loading
and saving from/to files.
</p>
-<a name="SEC380"></a>
+<a name="SEC379"></a>
<h4 class="subsubheading"> Particle update loop </h4>
<p>The main part of work related to particle creation and movement is done in the
particle update loop. The update loop is called once per frame for every visible
@@ -260,7 +260,7 @@
</li></ol>
<p><a name="Particles-billboard-setup"></a>
-</p><a name="SEC381"></a>
+</p><a name="SEC380"></a>
<h4 class="subsubheading"> Particle billboard setup </h4>
<p>The second big part of particles plugin is the particle billboard setup. In
computations each particle is "point-like" however for rendering you have to
@@ -305,7 +305,7 @@
</p></dd>
</dl>
-<a name="SEC382"></a>
+<a name="SEC381"></a>
<h4 class="subsubheading"> Emitters </h4>
<p>Emitters are the entities responsible for emitting new particles into the
particle system. Without any emitters there won't be any particles and nothing
@@ -383,9 +383,14 @@
</td></tr>
<tr><td><p> <code><initialvelocity x="" y="" z=""/></code>
</p></td><td><p> <samp>`all'</samp>
-</p></td><td><p> Set initial velocity vector.
+</p></td><td><p> Set initial linear velocity vector.
</p>
</td></tr>
+<tr><td><p> <code><initialangularvelocity x="" y="" z=""/></code>
+</p></td><td><p> <samp>`all'</samp>
+</p></td><td><p> Set initial angular velocity vector.
+</p>
+</td></tr>
<tr><td><p> <code><radius>rad</radius></code>
</p></td><td><p> <samp>`sphere'</samp>, <samp>`cylinder'</samp>
</p></td><td><p> Radius of emitting sphere/cylinder
@@ -407,7 +412,7 @@
</p></td></tr>
</table>
-<a name="SEC383"></a>
+<a name="SEC382"></a>
<h4 class="subsubheading"> Effectors </h4>
<p>Just as emitters emit particles into the particle system, effectors put
different kinds of effects on those who are already there, be it physical or
Modified: CS/branches/soc/vfs/docs/html/manual/cs_4.10.2.html
===================================================================
--- CS/branches/soc/vfs/docs/html/manual/cs_4.10.2.html 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/docs/html/manual/cs_4.10.2.html 2007-02-27 04:43:48 UTC (rev 26505)
@@ -66,7 +66,7 @@
<p>This section explains how to use Mesh Objects in general. It doesn't go into
detail about the specific Mesh Object Types that Crystal Space supports.
</p>
-<a name="SEC288"></a>
+<a name="SEC287"></a>
<h4 class="subsubheading"> General </h4>
<p>When the engine works with instances of Mesh Objects it does so through the
@@ -77,7 +77,7 @@
in the world and manages possible hierarchical transformations (i.e.
<samp>`iMeshWrapper'</samp> has an array of <samp>`iMeshWrapper'</samp> children).
</p>
-<a name="SEC289"></a>
+<a name="SEC288"></a>
<h4 class="subsubheading"> Loading From Map File </h4>
<p>The easiest way to use Mesh Objects is to simply specify them in the map file
@@ -154,7 +154,7 @@
illustrated above, then you can query the parameters from your application by
using the standard <small>API</small> in the <samp>`iEngine'</samp> interface.
</p>
-<a name="SEC290"></a>
+<a name="SEC289"></a>
<h4 class="subsubheading"> Using Directly From Code </h4>
<p>You can also create Mesh Objects directly from your application. The engine
@@ -232,7 +232,7 @@
interfaces for setting the characteristics of genmesh Mesh Objects.
</p>
<p><a name="Generic-Mesh-Creation-Code"></a>
-</p><a name="SEC291"></a>
+</p><a name="SEC290"></a>
<h4 class="subsubheading"> Generic Mesh Creation Code </h4>
<p>In general you should use the following code to create any kind of mesh:
Modified: CS/branches/soc/vfs/docs/html/manual/cs_4.10.4.html
===================================================================
--- CS/branches/soc/vfs/docs/html/manual/cs_4.10.4.html 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/docs/html/manual/cs_4.10.4.html 2007-02-27 04:43:48 UTC (rev 26505)
@@ -62,7 +62,7 @@
<p>This section describes how to create a thing mesh.
</p>
-<a name="SEC294"></a>
+<a name="SEC293"></a>
<h4 class="subsubheading"> What are Things? </h4>
<p>A <samp>`thing'</samp> mesh object (see section <a href="cs_4.10.9.html#4.10.9">Thing Mesh Object</a>) is an object made
@@ -96,7 +96,7 @@
if some polygon is a light switch button or something) but be aware that these
names add some memory overhead.
</p>
-<a name="SEC295"></a>
+<a name="SEC294"></a>
<h4 class="subsubheading"> Creating a Thing in a Map </h4>
<p>Here is an example of how to create a cube thing in a map file. Note that
@@ -146,7 +146,7 @@
In this particular example we create a cube that
has another material for the upper polygon.
</p>
-<a name="SEC296"></a>
+<a name="SEC295"></a>
<h4 class="subsubheading"> Creating a Thing from Code </h4>
<p>Here we create the same thing from code. We use a convenience function in
@@ -173,7 +173,7 @@
<p>This is only an extract of the example but you can easily see how to create
additional polygons here.
</p>
-<a name="SEC297"></a>
+<a name="SEC296"></a>
<h4 class="subsubheading"> Include Files </h4>
<p>The include files useful for this section are:
Modified: CS/branches/soc/vfs/docs/html/manual/cs_4.10.5.html
===================================================================
--- CS/branches/soc/vfs/docs/html/manual/cs_4.10.5.html 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/docs/html/manual/cs_4.10.5.html 2007-02-27 04:43:48 UTC (rev 26505)
@@ -62,7 +62,7 @@
<p>This section describes how to create a Genmesh mesh.
</p>
-<a name="SEC299"></a>
+<a name="SEC298"></a>
<h4 class="subsubheading"> What is Genmesh? </h4>
<p>A <samp>`Genmesh'</samp> mesh object (see section <a href="cs_4.10.8.html#4.10.8">Genmesh Mesh Object</a>) is a generic
@@ -81,7 +81,7 @@
This does mean that it is not possible to HardTransform genmeshes. It is
only possible to HardTransform Genmesh factories.
</p>
-<a name="SEC300"></a>
+<a name="SEC299"></a>
<h4 class="subsubheading"> Creating a Genmesh in a Map </h4>
<p>Here is an example of how to create a cube genmesh in a map file:
@@ -150,7 +150,7 @@
</pre></td></tr></table>
<p>This is a quick way to make boxes in a map file.
</p>
-<a name="SEC301"></a>
+<a name="SEC300"></a>
<h4 class="subsubheading"> Creating a Genmesh Programmatically </h4>
<p>Here we create the same genmesh programmatically:
@@ -183,7 +183,7 @@
</pre></td></tr></table>
<p>This will basically create the same cube as in the map file example.
</p>
-<a name="SEC302"></a>
+<a name="SEC301"></a>
<h4 class="subsubheading"> Include Files </h4>
<p>The include files useful for this section are:
Modified: CS/branches/soc/vfs/docs/html/manual/cs_4.10.6.html
===================================================================
--- CS/branches/soc/vfs/docs/html/manual/cs_4.10.6.html 2007-02-27 01:24:43 UTC (rev 26504)
+++ CS/branches/soc/vfs/docs/html/manual/cs_4.10.6.html 2007-02-27 04:43:48 UTC (rev 26505)
@@ -63,7 +63,7 @@
<p>This section describes how to do animation for meshes and how they can
get lit by surrounding lights.
</p>
-<a name="SEC304"></a>
+<a name="SEC303"></a>
<h4 class="subsubheading"> Animating Meshes </h4>
<p>Not all meshes support animation. All particle systems and 3D sprites
@@ -72,7 +72,7 @@
@@ Diff output truncated at 100000 characters. @@
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|