From: <cry...@us...> - 2008-08-19 02:51:37
|
Revision: 30856 http://crystal.svn.sourceforge.net/crystal/?rev=30856&view=rev Author: crystal-manage Date: 2008-08-19 02:51:32 +0000 (Tue, 19 Aug 2008) Log Message: ----------- master header files: Automated master header file repair. Visual-C++ project files: Automated Visual-C++ project file repair. Texinfo files: Automated Texinfo @node and @menu repair. Swig Python files: Automated Swig Python file repair. Swig Perl5 files: Automated Swig Perl5 file repair. User's Manual: Automated Texinfo to HTML conversion. Modified Paths: -------------- CS/trunk/plugins/cscript/pyivideo/cs_ivideo.cpp CS/trunk/scripts/perl5/cswigpl5.inc Modified: CS/trunk/plugins/cscript/pyivideo/cs_ivideo.cpp =================================================================== --- CS/trunk/plugins/cscript/pyivideo/cs_ivideo.cpp 2008-08-19 00:09:37 UTC (rev 30855) +++ CS/trunk/plugins/cscript/pyivideo/cs_ivideo.cpp 2008-08-19 02:51:32 UTC (rev 30856) @@ -16330,6 +16330,39 @@ } +SWIGINTERN PyObject *_wrap_csShaderVariableStack_Setup__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + csShaderVariableStack *arg1 = (csShaderVariableStack *) 0 ; + csShaderVariableStack *arg2 = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + void *argp2 = 0 ; + int res2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if(!PyArg_UnpackTuple(args,(char *)"csShaderVariableStack_Setup",2,2,&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_csShaderVariableStack, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariableStack_Setup" "', argument " "1"" of type '" "csShaderVariableStack *""'"); + } + arg1 = reinterpret_cast< csShaderVariableStack * >(argp1); + res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_csShaderVariableStack, 0 | 0); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csShaderVariableStack_Setup" "', argument " "2"" of type '" "csShaderVariableStack const &""'"); + } + if (!argp2) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csShaderVariableStack_Setup" "', argument " "2"" of type '" "csShaderVariableStack const &""'"); + } + arg2 = reinterpret_cast< csShaderVariableStack * >(argp2); + (arg1)->Setup((csShaderVariableStack const &)*arg2); + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + SWIGINTERN PyObject *_wrap_csShaderVariableStack_Setup(PyObject *self, PyObject *args) { int argc; PyObject *argv[4]; @@ -16346,6 +16379,19 @@ int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_csShaderVariableStack, 0); _v = SWIG_CheckState(res); if (_v) { + int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_csShaderVariableStack, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_csShaderVariableStack_Setup__SWIG_2(self, args); + } + } + } + if (argc == 2) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_csShaderVariableStack, 0); + _v = SWIG_CheckState(res); + if (_v) { { int res = SWIG_AsVal_size_t(argv[1], NULL); _v = SWIG_CheckState(res); @@ -16377,7 +16423,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'csShaderVariableStack_Setup'.\n Possible C/C++ prototypes are:\n Setup(size_t)\n Setup(csShaderVariable **,size_t)\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'csShaderVariableStack_Setup'.\n Possible C/C++ prototypes are:\n Setup(size_t)\n Setup(csShaderVariable **,size_t)\n Setup(csShaderVariableStack const &)\n"); return NULL; } Modified: CS/trunk/scripts/perl5/cswigpl5.inc =================================================================== --- CS/trunk/scripts/perl5/cswigpl5.inc 2008-08-19 00:09:37 UTC (rev 30855) +++ CS/trunk/scripts/perl5/cswigpl5.inc 2008-08-19 02:51:32 UTC (rev 30856) @@ -166233,6 +166233,46 @@ } +XS(_wrap_csShaderVariableStack_Setup__SWIG_2) { + { + csShaderVariableStack *arg1 = (csShaderVariableStack *) 0 ; + csShaderVariableStack *arg2 = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + void *argp2 ; + int res2 = 0 ; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: csShaderVariableStack_Setup(self,stack);"); + } + res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariableStack, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariableStack_Setup" "', argument " "1"" of type '" "csShaderVariableStack *""'"); + } + arg1 = reinterpret_cast< csShaderVariableStack * >(argp1); + res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csShaderVariableStack, 0 ); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csShaderVariableStack_Setup" "', argument " "2"" of type '" "csShaderVariableStack const &""'"); + } + if (!argp2) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csShaderVariableStack_Setup" "', argument " "2"" of type '" "csShaderVariableStack const &""'"); + } + arg2 = reinterpret_cast< csShaderVariableStack * >(argp2); + (arg1)->Setup((csShaderVariableStack const &)*arg2); + + + + XSRETURN(argvi); + fail: + + + SWIG_croak_null(); + } +} + + XS(_wrap_csShaderVariableStack_Setup) { dXSARGS; @@ -166254,21 +166294,51 @@ _rankm += _pi; _pi *= SWIG_MAXCASTRANK; { + void *vptr = 0; + int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csShaderVariableStack, 0); + _v = SWIG_CheckState(res); + } + if (!_v) goto check_1; + _ranki += _v*_pi; + _rankm += _pi; + _pi *= SWIG_MAXCASTRANK; + if (!_index || (_ranki < _rank)) { + _rank = _ranki; _index = 1; + if (_rank == _rankm) goto dispatch; + } + } + check_1: + + if (items == 2) { + SWIG_TypeRank _ranki = 0; + SWIG_TypeRank _rankm = 0; + SWIG_TypeRank _pi = 1; + int _v = 0; + { + void *vptr = 0; + int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csShaderVariableStack, 0); + _v = SWIG_CheckState(res); + } + if (!_v) goto check_2; + _ranki += _v*_pi; + _rankm += _pi; + _pi *= SWIG_MAXCASTRANK; + { { int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), NULL); _v = SWIG_CheckState(res); } } - if (!_v) goto check_1; + if (!_v) goto check_2; _ranki += _v*_pi; _rankm += _pi; _pi *= SWIG_MAXCASTRANK; if (!_index || (_ranki < _rank)) { - _rank = _ranki; _index = 1; + _rank = _ranki; _index = 2; if (_rank == _rankm) goto dispatch; } } - check_1: + check_2: if (items == 3) { SWIG_TypeRank _ranki = 0; @@ -166280,7 +166350,7 @@ int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csShaderVariableStack, 0); _v = SWIG_CheckState(res); } - if (!_v) goto check_2; + if (!_v) goto check_3; _ranki += _v*_pi; _rankm += _pi; _pi *= SWIG_MAXCASTRANK; @@ -166289,7 +166359,7 @@ int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_p_csShaderVariable, 0); _v = SWIG_CheckState(res); } - if (!_v) goto check_2; + if (!_v) goto check_3; _ranki += _v*_pi; _rankm += _pi; _pi *= SWIG_MAXCASTRANK; @@ -166299,22 +166369,24 @@ _v = SWIG_CheckState(res); } } - if (!_v) goto check_2; + if (!_v) goto check_3; _ranki += _v*_pi; _rankm += _pi; _pi *= SWIG_MAXCASTRANK; if (!_index || (_ranki < _rank)) { - _rank = _ranki; _index = 2; + _rank = _ranki; _index = 3; if (_rank == _rankm) goto dispatch; } } - check_2: + check_3: dispatch: switch(_index) { case 1: + ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csShaderVariableStack_Setup__SWIG_2); return; + case 2: ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csShaderVariableStack_Setup__SWIG_0); return; - case 2: + case 3: ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csShaderVariableStack_Setup__SWIG_1); return; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cry...@us...> - 2008-08-19 12:16:49
|
Revision: 30860 http://crystal.svn.sourceforge.net/crystal/?rev=30860&view=rev Author: crystal-manage Date: 2008-08-19 12:16:44 +0000 (Tue, 19 Aug 2008) Log Message: ----------- Shared libraries are now disabled by default on MingW. This is done to fix problems with corrupt dll's. See bug #496. Modified Paths: -------------- CS/trunk/configure CS/trunk/configure.ac Modified: CS/trunk/configure =================================================================== --- CS/trunk/configure 2008-08-19 11:58:54 UTC (rev 30859) +++ CS/trunk/configure 2008-08-19 12:16:44 UTC (rev 30860) @@ -89203,7 +89203,7 @@ { echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } case $host_os in - mingw*|cygwin*|linux*) enable_shared_default=yes ;; + cygwin*|linux*) enable_shared_default=yes ;; *) enable_shared_default=no ;; esac # Check whether --enable-shared was given. Modified: CS/trunk/configure.ac =================================================================== --- CS/trunk/configure.ac 2008-08-19 11:58:54 UTC (rev 30859) +++ CS/trunk/configure.ac 2008-08-19 12:16:44 UTC (rev 30860) @@ -2473,7 +2473,7 @@ #------------------------------------------------------------------------------ AC_MSG_CHECKING([whether to build shared libraries]) case $host_os in - mingw*|cygwin*|linux*) enable_shared_default=yes ;; + cygwin*|linux*) enable_shared_default=yes ;; *) enable_shared_default=no ;; esac AC_ARG_ENABLE([shared], [AC_HELP_STRING([--enable-shared], This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <re...@us...> - 2008-08-20 00:46:55
|
Revision: 30869 http://crystal.svn.sourceforge.net/crystal/?rev=30869&view=rev Author: res2002 Date: 2008-08-20 00:46:52 +0000 (Wed, 20 Aug 2008) Log Message: ----------- Add a weaver type for 2 component translate + scale (as used for texture coords in a couple of places) Modified Paths: -------------- CS/trunk/include/csplugincommon/shader/weavertypes.h CS/trunk/libs/csplugincommon/shader/weavertypes.cpp Modified: CS/trunk/include/csplugincommon/shader/weavertypes.h =================================================================== --- CS/trunk/include/csplugincommon/shader/weavertypes.h 2008-08-19 22:14:47 UTC (rev 30868) +++ CS/trunk/include/csplugincommon/shader/weavertypes.h 2008-08-20 00:46:52 UTC (rev 30869) @@ -68,7 +68,12 @@ /// Direction (surface normal, tangent/bitangent, light direction...) Direction, /// Fragment depth value - Depth + Depth, + /** + * Translation+scale values (first components are translation, + * last components scale) + */ + TranslateScale } semantics; /// Space of direction/position enum Modified: CS/trunk/libs/csplugincommon/shader/weavertypes.cpp =================================================================== --- CS/trunk/libs/csplugincommon/shader/weavertypes.cpp 2008-08-19 22:14:47 UTC (rev 30868) +++ CS/trunk/libs/csplugincommon/shader/weavertypes.cpp 2008-08-20 00:46:52 UTC (rev 30869) @@ -96,6 +96,8 @@ {TypeInfo::Vector, false, 4, TypeInfo::Texcoord, TypeInfo::NoSpace, false}}, {"texcube", {TypeInfo::Sampler, true, 3, TypeInfo::NoSemantics, TypeInfo::NoSpace, false}}, + {"translateScale2", + {TypeInfo::Vector, false, 4, TypeInfo::TranslateScale, TypeInfo::NoSpace, false}}, }; static const size_t numTypeInfos = sizeof (typeInfoMap) / sizeof (typeInfoMap[0]); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <re...@us...> - 2008-08-20 01:06:54
|
Revision: 30875 http://crystal.svn.sourceforge.net/crystal/?rev=30875&view=rev Author: res2002 Date: 2008-08-20 01:06:51 +0000 (Wed, 20 Aug 2008) Log Message: ----------- Making (small) steps towards working point+spot light shadows Modified Paths: -------------- CS/trunk/data/shader/snippets/lighting/lighting-ppl-shadowmap.xml CS/trunk/data/shader/snippets/lighting/shadow-depth.cginc CS/trunk/data/shader/snippets/lighting/shadowfuncs.cginc CS/trunk/include/csplugincommon/rendermanager/shadow_pssm.h Modified: CS/trunk/data/shader/snippets/lighting/lighting-ppl-shadowmap.xml =================================================================== --- CS/trunk/data/shader/snippets/lighting/lighting-ppl-shadowmap.xml 2008-08-20 00:58:19 UTC (rev 30874) +++ CS/trunk/data/shader/snippets/lighting/lighting-ppl-shadowmap.xml 2008-08-20 01:06:51 UTC (rev 30875) @@ -212,22 +212,31 @@ shadow.Init (l, shadowMapCoords[l], lightDir[l].w); + float3 lightDiffuse = lightProps.colorDiffuse[i]; + #if 0 + // Force light color. Can be useful when debugginh point + // light shadow frustums. + if (i == 0) + lightDiffuse = float3 (1, 1, 0); + else if (i == 1) + lightDiffuse = float3 (0, 1, 1); + else if (i == 2) + lightDiffuse = float3 (1, 0, 1); + else if (i == 3) + lightDiffuse = float3 (1, 0, 0); + else if (i == 4) + lightDiffuse = float3 (0, 1, 0); + else if (i == 5) + lightDiffuse = float3 (0, 0, 1); + #endif + Light light = GetCurrentLight (lightSpace, i, normal); float4 lightAttenuationVec = lightProps.attenuationVec[i]; float3 d, s; ComputeLight (lightSpace, light, myEyeToSurf, normal, 32, - lightProps.colorDiffuse[i], lightProps.colorSpecular[i], + lightDiffuse, lightProps.colorSpecular[i], lightAttenuationVec, shadow.GetVisibility(), d, s); - #if 0 - if (i == 3) - d*= float3 (1, 0, 0); - else if (i == 4) - d*= float3 (0, 1, 0); - else if (i == 5) - d*= float3 (0, 0, 1); - #endif - diffuseColor += d; specularColor += s; } Modified: CS/trunk/data/shader/snippets/lighting/shadow-depth.cginc =================================================================== --- CS/trunk/data/shader/snippets/lighting/shadow-depth.cginc 2008-08-20 00:58:19 UTC (rev 30874) +++ CS/trunk/data/shader/snippets/lighting/shadow-depth.cginc 2008-08-20 01:06:51 UTC (rev 30875) @@ -80,7 +80,7 @@ // @@@ FIXME: Needing such a high bias scale seems ridiculous! bias = (1.0/32768.0); - bias *= 1 + (gradient*gradient*256); + //bias *= 1 + (gradient*gradient*256); } half GetVisibility() @@ -92,7 +92,7 @@ if (clipper.IsClipped (shadowMapCoordsProjUnscaled, shadowMapCoordsProj.xyz, shadowMapCoords)) return clipper.ClippedFactor (); - + float3 shadowMapCoordsBiased = (float3(0.5)*shadowMapCoordsProj.xyz) + float3(0.5); // Depth to compare against float compareDepth = (1-shadowMapCoordsBiased.z) - bias; Modified: CS/trunk/data/shader/snippets/lighting/shadowfuncs.cginc =================================================================== --- CS/trunk/data/shader/snippets/lighting/shadowfuncs.cginc 2008-08-20 00:58:19 UTC (rev 30874) +++ CS/trunk/data/shader/snippets/lighting/shadowfuncs.cginc 2008-08-20 01:06:51 UTC (rev 30875) @@ -41,7 +41,7 @@ bool2 compResLT = shadowMapCoordsProjUnscaled.xy < float2 (-1); bool2 compResBR = shadowMapCoordsProjUnscaled.xy >= float2 (1); return (compResLT.x || compResLT.y || compResBR.x || compResBR.y - || (shadowMapCoordsProj.z > 0)); + || (shadowMapCoords.w < 0)); ]]> <?else?> <![CDATA[ @@ -75,7 +75,7 @@ float2 compResLT = shadowMapCoordsProjUnscaled.xy >= float2 (-1); float2 compResBR = shadowMapCoordsProjUnscaled.xy < float2 (1); factor *= compResLT.x*compResLT.y*compResBR.x*compResBR.y; - factor *= (shadowMapCoordsProj.z <= 0); + factor *= (shadowMapCoords.w >= 0); ]]> <?else?> <![CDATA[ Modified: CS/trunk/include/csplugincommon/rendermanager/shadow_pssm.h =================================================================== --- CS/trunk/include/csplugincommon/rendermanager/shadow_pssm.h 2008-08-20 00:58:19 UTC (rev 30874) +++ CS/trunk/include/csplugincommon/rendermanager/shadow_pssm.h 2008-08-20 01:06:51 UTC (rev 30875) @@ -168,10 +168,20 @@ csReversibleTransform world2light_base; csReversibleTransform world2light_rotated; csMatrix3 frustumRotation; + + csBox3 lightBBoxLS; + /* @@@ TODO: Would be nice to get bbox of actual shadow casting + * objects ... All meshes in the superFrustum would have to be + * collected, and not just visible ones intersecting it */ + //csBox3 castingObjectsBBoxPP; + csBox3 lightBBoxPP; + + CS::Utility::MeshFilter meshFilter; + struct Frustum { + bool draw; // Volume (in post-project light space) - csBox3 volumeLS; csBox3 volumePP; csShaderVariable* shadowMapProjectSV; csShaderVariable* shadowMapUnscaleSV; @@ -180,11 +190,9 @@ csShaderVariable** textureSVs; // Object bboxes in post-project light space - csArray<csBox3> containedObjectsPP; + csBox3 receivingObjectsBBoxPP; - CS::Utility::MeshFilter meshFilter; - - Frustum() : textureSVs (0) {} + Frustum() : draw (true), textureSVs (0) {} ~Frustum() { delete[] textureSVs; } }; Frustum* frustums; @@ -200,6 +208,7 @@ void SetupFrame (RenderTree& tree, ShadowPSSM& shadows, iLight* light) { if (light->GetFlags().Check (CS_LIGHT_NOSHADOWS)) return; + //csPrintf ("%s\n", CS_FUNCTION_NAME); ViewSetup& viewSetup = shadows.viewSetup; csRef<iCamera> camera (viewSetup.rview->GetCamera()); @@ -219,24 +228,52 @@ 1.0f/lightCutoff, 0, 0, 0, 0, 1.0f/lightCutoff, 0, 0, 0, 0, -1, 0, - 0, 0, 0, 1); + 0, 0, 0, -1); } break; case CS_LIGHT_POINTLIGHT: case CS_LIGHT_SPOTLIGHT: - numFrustums = (ltype == CS_LIGHT_POINTLIGHT) ? 6 : 1; + if (ltype == CS_LIGHT_POINTLIGHT) + numFrustums = 6; + else + numFrustums = 1; { CS::Math::Matrix4 flipZW ( 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1); + //lightProject = flipZW * CS::Math::Projections::Frustum ( + // -lightNear, lightNear, -lightNear, lightNear, // @@@ TODO: use spot angle + // lightNear, lightCutoff, true); lightProject = flipZW * CS::Math::Projections::Frustum ( - -lightNear, lightNear, -lightNear, lightNear, // @@@ TODO: use spot angle - lightNear, lightCutoff); + lightCutoff, -lightCutoff, lightCutoff, -lightCutoff, // @@@ TODO: use spot angle + -lightCutoff, -lightNear); } break; } + /*csPrintf ("lightProject = %s\n", lightProject.Description().GetData()); + { + csVector4 a (0, 0, -lightNear, 1); + csVector4 b = lightProject * a; + csPrintf ("%s -> %s ", a.Description().GetData(), b.Description().GetData()); + } + { + csVector4 a (0, 0, lightNear, 1); + csVector4 b = lightProject * a; + csPrintf ("%s -> %s ", a.Description().GetData(), b.Description().GetData()); + } + { + csVector4 a (0, 0, lightCutoff, 1); + csVector4 b = lightProject * a; + csPrintf ("%s -> %s ", a.Description().GetData(), b.Description().GetData()); + } + { + csVector4 a (0, 0, -lightCutoff, 1); + csVector4 b = lightProject * a; + csPrintf ("%s -> %s ", a.Description().GetData(), b.Description().GetData()); + } + csPrintf ("\n");*/ const csReversibleTransform& world2light_base ( light->GetMovable()->GetFullTransform()); this->lightProject = lightProject; @@ -252,10 +289,10 @@ static const csMatrix3 frustRotationMatrices[6] = { csMatrix3 (), // must be identity - csMatrix3 (0, 0, 1, 0, 1, 0, -1, 0, 0), csMatrix3 (1, 0, 0, 0, 0, 1, 0, -1, 0), + csMatrix3 (1, 0, 0, 0, 0, -1, 0, 1, 0), csMatrix3 (0, 0, -1, 0, 1, 0, 1, 0, 0), - csMatrix3 (1, 0, 0, 0, 0, -1, 0, 1, 0), + csMatrix3 (0, 0, 1, 0, 1, 0, -1, 0, 0), csMatrix3 (1, 0, 0, 0, -1, 0, 0, 0, -1) // last must be 180 deg into other direction }; csVector2 corner2D[4] = { @@ -283,7 +320,33 @@ superFrustum.world2light_rotated.SetO2T ( superFrustum.world2light_rotated.GetO2T() * frustRotationMatrices[f]); + if (shadows.persist.limitedShadow) + superFrustum.meshFilter.SetFilterMode (CS::Utility::MESH_FILTER_INCLUDE); + + csBox3 frustBBox ( + csVector3 (-FLT_MAX, -FLT_MAX, 0), + csVector3 (FLT_MAX, FLT_MAX, FLT_MAX)); + /*{ + csTransform boxTF (frustRotationMatrices[f], csVector3 (0)); + frustBBox = boxTF.Other2This (frustBBox); + }*/ + frustBBox *= lightBBox; // @@@ lightBBox should prolly be rotated + /*tree.AddDebugBBox (frustBBox, + superFrustum.world2light_rotated.GetInverse(), + csColor (0.8, 0.8, 0.8));*/ + superFrustum.lightBBoxLS = frustBBox; + superFrustum.lightBBoxPP.StartBoundingBox(); + for (int c = 0; c < 7; c++) + { + csVector3 cornerLight = frustBBox.GetCorner (c); + csVector4 cornerUndiv = lightProject * csVector4 (cornerLight); + csVector3 cornerDiv = + csVector3 (cornerUndiv.x, cornerUndiv.y, cornerUndiv.z); + //cornerDiv /= cornerUndiv.w; + superFrustum.lightBBoxPP.AddBoundingVertex (cornerDiv); + } + superFrustum.frustums = new typename SuperFrustum::Frustum[viewSetup.numParts]; for (int i = 0; i < viewSetup.numParts; i++) @@ -293,9 +356,6 @@ typename SuperFrustum::Frustum& lightFrustum = superFrustum.frustums[i]; - if (shadows.persist.limitedShadow) - lightFrustum.meshFilter.SetFilterMode (CS::Utility::MESH_FILTER_INCLUDE); - // Frustum corner, camera space csVector3 cornerCam; // Frustum corner, world space @@ -337,30 +397,13 @@ superFrustum.world2light_rotated.GetInverse(), csColor (0, 1, 0)); } - if (!partFixed) frustumLight *= lightBBox; + if (!partFixed) frustumLight *= frustBBox; if (tree.IsDebugFlagEnabled (shadows.persist.dbgSplitFrustumLight)) { tree.AddDebugBBox (frustumLight, superFrustum.world2light_rotated.GetInverse(), csColor (0, 1, 1)); } - - // Frustum slice corner, light space before W divide - csVector4 cornerUndiv; - // Frustum slice corner, light space after W divide - csVector3 cornerDiv; - - lightFrustum.volumePP.StartBoundingBox(); - for (int c = 0; c < 7; c++) - { - cornerLight = frustumLight.GetCorner (c); - cornerUndiv = lightProject * csVector4 (cornerLight); - cornerDiv = - csVector3 (cornerUndiv.x, cornerUndiv.y, cornerUndiv.z); - cornerDiv /= cornerUndiv.w; - lightFrustum.volumePP.AddBoundingVertex (cornerDiv); - } - lightFrustum.volumeLS = frustumLight; lightFrustum.shadowMapProjectSV = lightVarsHelper.CreateTempSV ( viewSetup.persist.svNames.GetLightSVId ( @@ -394,6 +437,30 @@ lightFrustum.textureSVs[t] = lightVarsHelper.CreateTempSV ( viewSetup.persist.settings.targets[t]->svName); } + + if (frustumLight.Empty()) + { + lightFrustum.draw = false; + continue; + } + + + // Frustum slice corner, light space before W divide + csVector4 cornerUndiv; + // Frustum slice corner, light space after W divide + csVector3 cornerDiv; + + lightFrustum.volumePP.StartBoundingBox(); + for (int c = 0; c < 7; c++) + { + cornerLight = frustumLight.GetCorner (c); + cornerUndiv = lightProject * csVector4 (cornerLight); + cornerDiv = + csVector3 (cornerUndiv.x, cornerUndiv.y, cornerUndiv.z); + //cornerDiv /= cornerUndiv.w; + lightFrustum.volumePP.AddBoundingVertex (cornerDiv); + } + //superFrustum.lightBBoxLS += frustumLight; } } @@ -408,6 +475,14 @@ { if (light->GetFlags().Check (CS_LIGHT_NOSHADOWS)) return; + csBox3 clipToView; + if (light->GetType() == CS_LIGHT_DIRECTIONAL) + clipToView = csBox3 (csVector3 (-1, -1, -FLT_MAX), + csVector3 (1, 1, 0)); + else + clipToView = csBox3 (csVector3 (-1, -1, 0), + csVector3 (1, 1, FLT_MAX)); + typename RenderTree::ContextNode& context = meshNode->owner; CS_ALLOC_STACK_ARRAY(iTextureHandle*, texHandles, @@ -415,6 +490,9 @@ for (size_t l = 0; l < lightData.lightFrustums.GetSize(); l++) { const SuperFrustum& superFrust = *(lightData.lightFrustums[l]); + const csBox3& allCastersBoxPP = //superFrust.castingObjectsBBoxPP; + superFrust.lightBBoxPP; + csBox3 allVolumes; for (int frustNum = 0; frustNum < viewSetup.numParts; frustNum++) { const typename SuperFrustum::Frustum& lightFrust = superFrust.frustums[frustNum]; @@ -422,38 +500,27 @@ bool partFixed = viewSetup.doFixedCloseShadow && (frustNum == 0); + allVolumes += lightFrust.volumePP; + csBox3 castersBox = allCastersBoxPP; + //castersBox *= allVolumes; // *** + //csPrintf ("casters: %s\n", castersBox.Description().GetData()); /* Fit map to the bounding box of all shadowed objects. - If the shadowed objects are smaller than the light frustum in some dimension makes sure the shadow map is used optimally. */ - csBox3 allObjsBoxPP; - float allObjsMaxZ; - if (!partFixed && (lightFrust.containedObjectsPP.GetSize() > 0)) + csBox3 receiversBox; + if (!partFixed) { - allObjsBoxPP = lightFrust.containedObjectsPP[0]; - for (size_t i = 1; i < lightFrust.containedObjectsPP.GetSize(); i++) - { - allObjsBoxPP += lightFrust.containedObjectsPP[i]; - } - allObjsMaxZ = allObjsBoxPP.MaxZ(); - allObjsBoxPP *= lightFrust.volumePP; - csBox3 clipToView; - if (light->GetType() == CS_LIGHT_DIRECTIONAL) - clipToView = csBox3 (csVector3 (-1, -1, -FLT_MAX), - csVector3 (1, 1, 0)); - else - clipToView = csBox3 (csVector3 (-1, -1, 0), - csVector3 (1, 1, FLT_MAX)); - if (allObjsBoxPP.Empty()) - { - //continue; - } - allObjsBoxPP *= clipToView; + receiversBox = lightFrust.receivingObjectsBBoxPP; + // @@@ FIXME: causes light frustum clipping errors somewhere down below... + //receiversBox *= lightFrust.volumePP; } else { - allObjsBoxPP = lightFrust.volumePP; - allObjsMaxZ = allObjsBoxPP.MaxZ(); + receiversBox = lightFrust.volumePP; } + receiversBox *= clipToView; // @@@ Redundant? + //csPrintf ("receivers: %s\n", receiversBox.Description().GetData()); + bool noCasters = (castersBox.Empty()); CS::RenderManager::RenderView* rview = context.renderView; #include "csutil/custom_new_disable.h" @@ -464,9 +531,20 @@ newRenderView->SetEngine (rview->GetEngine ()); newRenderView->SetThisSector (rview->GetThisSector ()); + /* The minimum Z over all parts is used to avoid clipping shadows of + casters closer to the light than the split plane. + Ideally, allObjsBoxPP.MinZ() would be mapped to depth -1, and depths + below clamped */ + float n = allCastersBoxPP.MaxZ(); + float f = csMax (receiversBox.MinZ(), castersBox.MinZ()) + EPSILON; + /* Sometimes n==f which would result in an invalid matrix w/o EPSILON */ + CS::Math::Matrix4 crop; - if (lightFrust.containedObjectsPP.GetSize() == 0) + if (!lightFrust.draw) { + /* Case: a frustum slice does not intersect with the light + frustum: Just make sure the frustum is clipped correctly, + actual SM or SM transform doesn't matter much */ crop = CS::Math::Matrix4 ( 0, 0, 0, 10, 0, 0, 0, 10, @@ -474,18 +552,34 @@ 0, 0, 0, 1); lightFrust.shadowMapUnscaleSV->SetValue (csVector4 ( - 0, 0, -10, -10)); + 0, 0, -10, -10)); } + else if (noCasters) + { + /* Case: a frustum slice doesn't have any shadow casters. + All shadow receivers are unshadowed (the empty SM is used + for that), but also the frustum must be clipped correctly. */ + crop = CS::Math::Matrix4 ( + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1); + + lightFrust.shadowMapUnscaleSV->SetValue (csVector4 ( + 1, 1, 0, 0)); + + n = f - EPSILON; + } else { - const float frustW = allObjsBoxPP.MaxX() - allObjsBoxPP.MinX(); - const float frustH = allObjsBoxPP.MaxY() - allObjsBoxPP.MinY(); + const float frustW = receiversBox.MaxX() - receiversBox.MinX(); + const float frustH = receiversBox.MaxY() - receiversBox.MinY(); const float cropScaleX = 2.0f/frustW; - const float cropScaleY = -2.0f/frustH; + const float cropScaleY = 2.0f/frustH; const float cropShiftX = - (-1.0f * (allObjsBoxPP.MaxX() + allObjsBoxPP.MinX()))/frustW; + (-1.0f * (receiversBox.MaxX() + receiversBox.MinX()))/frustW; const float cropShiftY = - (1.0f * (allObjsBoxPP.MaxY() + allObjsBoxPP.MinY()))/frustH; + (-1.0f * (receiversBox.MaxY() + receiversBox.MinY()))/frustH; crop = CS::Math::Matrix4 ( cropScaleX, 0, 0, cropShiftX, 0, cropScaleY, 0, cropShiftY, @@ -498,20 +592,12 @@ const float uncropShiftY = -cropShiftY/cropScaleY; lightFrust.shadowMapUnscaleSV->SetValue (csVector4 ( uncropScaleX, uncropScaleY, uncropShiftX, uncropShiftY)); - } + } - /* The minimum Z over all parts is used to avoid clipping shadows of - casters closer to the light than the split plane. - Ideally, allObjsBoxPP.MinZ() would be mapped to depth -1, and depths - below clamped */ - float n = allObjsBoxPP.MinZ(); - float maxZ = allObjsMaxZ; - float f = maxZ + EPSILON; - /* Sometimes n==f which would result in an invalid matrix w/o EPSILON */ - CS::Math::Matrix4 Mortho = CS::Math::Projections::Ortho (-1, 1, 1, -1, -n, -f); + CS::Math::Matrix4 Mortho;// = CS::Math::Projections::Ortho (-1, 1, 1, -1, -n, -f); CS::Math::Matrix4 matrix = ((Mortho * crop) * lightData.lightProject) * CS::Math::Matrix4 (superFrust.frustumRotation); - + for (int i = 0; i < 4; i++) { csShaderVariable* item = lightFrust.shadowMapProjectSV->GetArrayElement (i); @@ -540,14 +626,25 @@ lightFrust.shadowMapDimSV->SetValue (csVector4 (1.0f/shadowMapSize, 1.0f/shadowMapSize, shadowMapSize, shadowMapSize)); - if (lightFrust.containedObjectsPP.GetSize() == 0) + if (!lightFrust.draw) { for (size_t t = 0; t < persist.settings.targets.GetSize(); t++) { + // Should not be used anyway lightFrust.textureSVs[t]->SetValue (0); } continue; } + else if (noCasters) + { + for (size_t t = 0; t < persist.settings.targets.GetSize(); t++) + { + // Can be 0 when using 1 light max + lightFrust.textureSVs[t]->SetValue (GetEmptyShadowMap (persist, t, + context)); + } + continue; + } csReversibleTransform view = superFrust.world2light_base; @@ -573,7 +670,7 @@ csRef<iClipper2D> newView; newView.AttachNew (new csBoxClipper (clipBox)); newRenderView->SetClipper (newView); - newRenderView->GetMeshFilter() = lightFrust.meshFilter; + newRenderView->GetMeshFilter() = superFrust.meshFilter; // Create a new context for shadow map w/ computed view typename RenderTree::ContextNode* shadowMapCtx = @@ -607,6 +704,47 @@ frustumsSetup = false; lightFrustums.Empty(); } + + iTextureHandle* GetEmptyShadowMap (PersistentData& persist, size_t target, + typename RenderTree::ContextNode& context) + { + if (persist.emptySMs.GetSize() == 0) + { + CS::RenderManager::RenderView* rview = context.renderView; + #include "csutil/custom_new_disable.h" + csRef<CS::RenderManager::RenderView> newRenderView; + newRenderView.AttachNew (new ( + context.owner.GetPersistentData().renderViewPool) RenderView); + #include "csutil/custom_new_enable.h" + newRenderView->SetEngine (rview->GetEngine ()); + + csRef<iCustomMatrixCamera> shadowViewCam = + newRenderView->GetEngine()->CreateCustomMatrixCamera(); + newRenderView->SetCamera (shadowViewCam->GetCamera()); + + csBox2 clipBox (0, 0, 1, 1); + csRef<iClipper2D> newView; + newView.AttachNew (new csBoxClipper (clipBox)); + newRenderView->SetClipper (newView); + + persist.emptySMs.SetSize (persist.settings.targets.GetSize()); + + typename RenderTree::ContextNode* shadowMapCtx = + context.owner.CreateContext (newRenderView); + for (size_t t = 0; t < persist.settings.targets.GetSize(); t++) + { + csRef<iTextureHandle> tex = persist.g3d->GetTextureManager() + ->CreateTexture (1, 1, csimg2D, + persist.settings.targets[t]->texCache.GetFormat(), + persist.settings.targets[t]->texCache.GetFlags ()); + persist.emptySMs.Put (t, tex); + shadowMapCtx->renderTargets[ + persist.settings.targets[t]->attachment].texHandle = tex; + } + shadowMapCtx->drawFlags = CSDRAW_CLEARSCREEN | CSDRAW_CLEARZBUFFER; + } + return persist.emptySMs[target]; + } }; private: class ShadowmapContextSetup @@ -740,6 +878,8 @@ LightingSorter::PersistentData lightSorterPersist; LightingVariablesHelper::PersistentData lightVarsPersist; iShaderManager* shaderManager; + csRefArray<iTextureHandle> emptySMs; + iGraphics3D* g3d; csString configPrefix; ShadowSettings settings; @@ -770,8 +910,11 @@ { csRef<iShaderManager> shaderManager = csQueryRegistry<iShaderManager> (objectReg); + csRef<iGraphics3D> g3d = + csQueryRegistry<iGraphics3D> (objectReg); this->shaderManager = shaderManager; + this->g3d = g3d; iShaderVarStringSet* strings = shaderManager->GetSVNameStringset(); svNames.SetStrings (strings); @@ -867,7 +1010,7 @@ csBox3 meshBboxLightPP; csVector4 vLightPP; vLightPP = lightData.lightProject * csVector4 (vLight); - vLightPP /= vLightPP.w; + //vLightPP /= vLightPP.w; meshBboxLightPP.StartBoundingBox (csVector3 (vLightPP.x, vLightPP.y, vLightPP.z)); for (int c = 1; c < 8; c++) @@ -877,73 +1020,78 @@ meshBboxLS.AddBoundingVertexSmart (csVector3 (vLight.x, vLight.y, vLight.z)); vLightPP = lightData.lightProject * csVector4 (vLight); - vLightPP /= vLightPP.w; + //vLightPP /= vLightPP.w; meshBboxLightPP.AddBoundingVertexSmart (csVector3 (vLightPP.x, vLightPP.y, vLightPP.z)); } - - uint spreadFlags = 0; - int s = 0; - for (int f = 0; f < viewSetup.numParts; f++) + /*csPrintf ("%s -> %s\n", + singleMesh.meshWrapper->QueryObject()->GetName(), + meshBboxLightPP.Description().GetData());*/ + + if (!superFrust.lightBBoxLS.TestIntersect (meshBboxLS)) + //if (!lightFrustum.volumePP.TestIntersect (meshBboxLightPP)) { - typename CachedLightData::SuperFrustum::Frustum& lightFrustum = - superFrust.frustums[f]; - //if (lightFrustum.volumePP.Empty()) continue; - if (!lightFrustum.volumeLS.TestIntersect (meshBboxLS)) - //if (!lightFrustum.volumePP.TestIntersect (meshBboxLightPP)) + return 0; + } + + if (persist.limitedShadow) + { + if (singleMesh.meshFlags.Check (CS_ENTITY_LIMITEDSHADOWCAST)) { - continue; + superFrust.meshFilter.AddFilterMesh (singleMesh.meshWrapper); + //superFrust.castingObjectsBBoxPP += meshBboxLightPP; + /* Here's a stupid bug: limited shadow casters which are outside + the view won't cast shadows */ } + } + else + { + if (!singleMesh.meshFlags.Check (CS_ENTITY_NOSHADOWCAST)) + { + // Mesh casts shadow + //superFrust.castingObjectsBBoxPP += meshBboxLightPP; + } + else + { + // Mesh does not cast shadow + superFrust.meshFilter.AddFilterMesh (singleMesh.meshWrapper); + } + } + - if (persist.limitedShadow) - { - if (singleMesh.meshFlags.Check (CS_ENTITY_LIMITEDSHADOWCAST)) + uint spreadFlags = 0; + if (!singleMesh.meshFlags.Check (CS_ENTITY_NOSHADOWRECEIVE)) + { + int s = 0; + for (int f = 0; f < viewSetup.numParts; f++) + { + typename CachedLightData::SuperFrustum::Frustum& lightFrustum = + superFrust.frustums[f]; + //if (lightFrustum.volumePP.Empty()) continue; + + lightFrustum.receivingObjectsBBoxPP += meshBboxLightPP; + + // Add shadow map SVs + lightVarsHelper.MergeAsArrayItem (lightStacks[s], + lightFrustum.shadowMapProjectSV, lightNum); + lightVarsHelper.MergeAsArrayItem (lightStacks[s], + lightFrustum.shadowMapUnscaleSV, lightNum); + lightVarsHelper.MergeAsArrayItem (lightStacks[s], + lightFrustum.shadowMapDimSV, lightNum); + if (lightStacks[s].GetSize() > lightFrustum.shadowClipSV->GetName()) { - /* Default for focused shadows: only the focused meshes cast shadows; - the mesh filter is inverted */ - lightFrustum.meshFilter.AddFilterMesh (singleMesh.meshWrapper); - lightFrustum.containedObjectsPP.Push (meshBboxLightPP - /* * lightFrustum.volumePP*/); + lightStacks[s][lightFrustum.shadowClipSV->GetName()] = + lightFrustum.shadowClipSV; } - } - else - { - if (!singleMesh.meshFlags.Check (CS_ENTITY_NOSHADOWCAST)) + + for (size_t t = 0; t < persist.settings.targets.GetSize(); t++) { - // Mesh casts shadow - lightFrustum.containedObjectsPP.Push (meshBboxLightPP - /* * lightFrustum.volumePP*/); + lightVarsHelper.MergeAsArrayItem (lightStacks[s], + lightFrustum.textureSVs[t], lightNum); } - else - { - // Mesh does not cast shadow - lightFrustum.meshFilter.AddFilterMesh (singleMesh.meshWrapper); - } - } - - if (singleMesh.meshFlags.Check (CS_ENTITY_NOSHADOWRECEIVE)) - continue; - - // Add shadow map SVs - lightVarsHelper.MergeAsArrayItem (lightStacks[s], - lightFrustum.shadowMapProjectSV, lightNum); - lightVarsHelper.MergeAsArrayItem (lightStacks[s], - lightFrustum.shadowMapUnscaleSV, lightNum); - lightVarsHelper.MergeAsArrayItem (lightStacks[s], - lightFrustum.shadowMapDimSV, lightNum); - if (lightStacks[s].GetSize() > lightFrustum.shadowClipSV->GetName()) - { - lightStacks[s][lightFrustum.shadowClipSV->GetName()] = - lightFrustum.shadowClipSV; - } - - for (size_t t = 0; t < persist.settings.targets.GetSize(); t++) - { - lightVarsHelper.MergeAsArrayItem (lightStacks[s], - lightFrustum.textureSVs[t], lightNum); + spreadFlags |= (1 << s); + s++; } - spreadFlags |= (1 << s); - s++; } return spreadFlags; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jo...@us...> - 2008-08-20 11:16:02
|
Revision: 30879 http://crystal.svn.sourceforge.net/crystal/?rev=30879&view=rev Author: jorrit Date: 2008-08-20 11:15:47 +0000 (Wed, 20 Aug 2008) Log Message: ----------- - Completely removed the thing object from CS (except for documentation which still has to be checked). - Fixed asndtest to use genmesh for the room geometry. - Moved the thing plugin into genmeshify so that the conversion to genmesh can still work. At this moment this is a full copy of the thing plugin which is a bit overkill since these meshes will never get rendered. So some cleanup opportunities are possible here. - Removed thing related functions from iEngine and iEngineSequenceManager. - Fixed a crash bug in the spr2d plugin. Modified Paths: -------------- CS/trunk/apps/tests/asndtest/asndtest.cpp CS/trunk/apps/tests/csbench/csbench.cpp CS/trunk/apps/tools/genmeshify/Jamfile CS/trunk/apps/tools/genmeshify/converter.cpp CS/trunk/apps/tools/genmeshify/converter.h CS/trunk/apps/walktest/Jamfile CS/trunk/apps/walktest/keys.cpp CS/trunk/apps/walktest/walkdemo.cpp CS/trunk/data/config-plugins/bugplug.key CS/trunk/data/config-plugins/shadermgr.cfg CS/trunk/include/bindings/common/allinterfaces.i CS/trunk/include/bindings/common/imesh.i CS/trunk/include/bindings/perl/perlpre.i CS/trunk/include/iengine/engine.h CS/trunk/include/imap/services.h CS/trunk/include/imesh.h CS/trunk/include/ivaria/engseq.h CS/trunk/libs/cstool/importkit_glue.cpp CS/trunk/libs/cstool/importkit_glue.h CS/trunk/plugins/csparser/csloader.cpp CS/trunk/plugins/csparser/csloader.h CS/trunk/plugins/csparser/prsseq.cpp CS/trunk/plugins/cssaver/cssaver.cpp CS/trunk/plugins/culling/dynavis/dynavis.h CS/trunk/plugins/engine/3d/engine.cpp CS/trunk/plugins/engine/3d/engine.h CS/trunk/plugins/engseq/engseq.cpp CS/trunk/plugins/engseq/engseq.h CS/trunk/plugins/mesh/Jamfile CS/trunk/plugins/mesh/spr2d/object/spr2d.cpp CS/trunk/plugins/utilities/bugplug/bugplug.cpp CS/trunk/plugins/utilities/bugplug/bugplug.h CS/trunk/vfs.cfg Added Paths: ----------- CS/trunk/apps/tools/genmeshify/thing/ CS/trunk/apps/tools/genmeshify/thing/object/ CS/trunk/apps/tools/genmeshify/thing/object/lghtmap.cpp CS/trunk/apps/tools/genmeshify/thing/object/lghtmap.h CS/trunk/apps/tools/genmeshify/thing/object/lppool.cpp CS/trunk/apps/tools/genmeshify/thing/object/lppool.h CS/trunk/apps/tools/genmeshify/thing/object/parrays.cpp CS/trunk/apps/tools/genmeshify/thing/object/parrays.h CS/trunk/apps/tools/genmeshify/thing/object/polygon.cpp CS/trunk/apps/tools/genmeshify/thing/object/polygon.h CS/trunk/apps/tools/genmeshify/thing/object/polyrender.cpp CS/trunk/apps/tools/genmeshify/thing/object/polyrender.h CS/trunk/apps/tools/genmeshify/thing/object/polytext.cpp CS/trunk/apps/tools/genmeshify/thing/object/polytext.h CS/trunk/apps/tools/genmeshify/thing/object/thing.cpp CS/trunk/apps/tools/genmeshify/thing/object/thing.h CS/trunk/apps/tools/genmeshify/thing/persist/ CS/trunk/apps/tools/genmeshify/thing/persist/thingldr.cpp CS/trunk/apps/tools/genmeshify/thing/persist/thingldr.h CS/trunk/apps/tools/genmeshify/thing/thing.h Removed Paths: ------------- CS/trunk/data/config-plugins/thing.cfg CS/trunk/include/imesh/thing.h CS/trunk/plugins/mesh/thing/ Modified: CS/trunk/apps/tests/asndtest/asndtest.cpp =================================================================== --- CS/trunk/apps/tests/asndtest/asndtest.cpp 2008-08-20 11:00:00 UTC (rev 30878) +++ CS/trunk/apps/tests/asndtest/asndtest.cpp 2008-08-20 11:15:47 UTC (rev 30879) @@ -49,11 +49,24 @@ // Create and prepare the world world = engine->CreateSector ("room"); - csRef<iMeshWrapper> walls ( engine->CreateSectorWallsMesh (world, "walls")); - iMeshObject* walls_object = walls->GetMeshObject (); - iMeshObjectFactory* walls_factory = walls_object->GetFactory(); - csRef<iThingFactoryState> walls_state = scfQueryInterface<iThingFactoryState> (walls_factory); + // First we make a primitive for our geometry. + using namespace CS::Geometry; + DensityTextureMapper mapper (0.3f); + TesselatedBox box (csVector3 (-40, 0, 0), csVector3 (40, 10, 40)); + box.SetLevel (3); + box.SetMapper (&mapper); + box.SetFlags (Primitives::CS_PRIMBOX_INSIDE); + + // Now we make a factory and a mesh at once. + csRef<iMeshWrapper> walls = GeneralMeshBuilder::CreateFactoryAndMesh ( + engine, world, "walls", "walls_factory", &box); + + csRef<iGeneralMeshState> mesh_state = scfQueryInterface< + iGeneralMeshState> (walls->GetMeshObject ()); + mesh_state->SetShadowReceiving (true); + walls->GetMeshObject ()->SetMaterialWrapper (tm); + // Prepare lighting csRef<iLight> light; iLightList* ll = world->GetLights (); @@ -107,11 +120,6 @@ csRef<iSndSysSource> sndsource; csRef<iSndSysSource3D> sndsource3d; - // Create the room - walls_state->AddInsideBox( csVector3 (-40, 0, 0), csVector3 ( 40, 10, 40)); - walls_state->SetPolygonMaterial (CS_POLYRANGE_ALL, tm); - walls_state->SetPolygonTextureMapping (CS_POLYRANGE_ALL, 3); - // Add some quick lighting light = engine->CreateLight (0, csVector3 (-30, 5, 10), 20, csColor (0.22f, 0.2f, 0.25f)); ll->Add (light); Modified: CS/trunk/apps/tests/csbench/csbench.cpp =================================================================== --- CS/trunk/apps/tests/csbench/csbench.cpp 2008-08-20 11:00:00 UTC (rev 30878) +++ CS/trunk/apps/tests/csbench/csbench.cpp 2008-08-20 11:15:47 UTC (rev 30879) @@ -42,7 +42,6 @@ #include "igraphic/imageio.h" #include "imesh/genmesh.h" #include "imesh/object.h" -#include "imesh/thing.h" #include "iutil/cmdline.h" #include "iutil/comp.h" #include "iutil/databuff.h" Modified: CS/trunk/apps/tools/genmeshify/Jamfile =================================================================== --- CS/trunk/apps/tools/genmeshify/Jamfile 2008-08-20 11:00:00 UTC (rev 30878) +++ CS/trunk/apps/tools/genmeshify/Jamfile 2008-08-20 11:15:47 UTC (rev 30879) @@ -4,6 +4,8 @@ Application genmeshify : [ Wildcard *.cpp *.h ] + [ Wildcard [ ConcatDirs thing object ] : *.cpp *.h ] + [ Wildcard [ ConcatDirs thing persist ] : *.cpp *.h ] : console ; Includes processor.h : $(SUBDIR)/processor.tok ; Modified: CS/trunk/apps/tools/genmeshify/converter.cpp =================================================================== --- CS/trunk/apps/tools/genmeshify/converter.cpp 2008-08-20 11:00:00 UTC (rev 30878) +++ CS/trunk/apps/tools/genmeshify/converter.cpp 2008-08-20 11:15:47 UTC (rev 30879) @@ -21,6 +21,7 @@ #include "converter.h" #include "genmeshify.h" +#include "thing/persist/thingldr.h" namespace genmeshify { @@ -33,10 +34,15 @@ "crystalspace.mesh.saver.genmesh", true); if (gmfactSaver.IsValid() && gmSaver.IsValid()) { - thingFactLoader = csLoadPluginCheck<iLoaderPlugin> (app->objectRegistry, - "crystalspace.mesh.loader.factory.thing", true); - thingObjLoader = csLoadPluginCheck<iLoaderPlugin> (app->objectRegistry, - "crystalspace.mesh.loader.thing", true); + csRef<iComponent> comp; + + thingFactLoader.AttachNew (new csThingFactoryLoader (0)); + comp = scfQueryInterface<iComponent> (thingFactLoader); + comp->Initialize (app->objectRegistry); + + thingObjLoader.AttachNew (new csThingLoader (0)); + comp = scfQueryInterface<iComponent> (thingObjLoader); + comp->Initialize (app->objectRegistry); } idTexLightmap = app->svStrings->Request ("tex lightmap"); Modified: CS/trunk/apps/tools/genmeshify/converter.h =================================================================== --- CS/trunk/apps/tools/genmeshify/converter.h 2008-08-20 11:00:00 UTC (rev 30878) +++ CS/trunk/apps/tools/genmeshify/converter.h 2008-08-20 11:15:47 UTC (rev 30879) @@ -20,6 +20,8 @@ #ifndef __CONVERTER_H__ #define __CONVERTER_H__ +#include "thing/thing.h" + namespace genmeshify { class App; Added: CS/trunk/apps/tools/genmeshify/thing/object/lghtmap.cpp =================================================================== --- CS/trunk/apps/tools/genmeshify/thing/object/lghtmap.cpp (rev 0) +++ CS/trunk/apps/tools/genmeshify/thing/object/lghtmap.cpp 2008-08-20 11:15:47 UTC (rev 30879) @@ -0,0 +1,771 @@ +/* + Copyright (C) 1998-2001 by Jorrit Tyberghein + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the Free + Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#include "cssysdef.h" +#include "csqint.h" + +#include "csgfx/packrgb.h" +#include "csutil/csendian.h" +#include "csutil/memfile.h" +#include "csutil/util.h" + +#include "iengine/engine.h" +#include "iutil/cache.h" +#include "iutil/vfs.h" + +#include "lghtmap.h" +#include "polygon.h" +#include "thing.h" + +#define LMMAGIC "LM04" // must be 4 chars! + + +csShadowMap::csShadowMap () +{ + Light = 0; + max_shadow = 255; // use worst case until calc'd +} + +csShadowMap::~csShadowMap () +{ +} + +void csShadowMap::Alloc (iLight *l) +{ + Light = l; +} + +void csShadowMap::CalcMaxShadow (long lmsize) +{ + max_shadow=0; + if (!map.IsValid()) return; + const uint8* array = map->GetUint8(); + for (int i=0; i<lmsize; i++) + if (array[i] > max_shadow) max_shadow = array[i]; +} + +//--------------------------------------------------------------------------- + +#include "csutil/custom_new_disable.h" + +class ParasiticDataBufferBlockAllocated : public csParasiticDataBufferBase +{ + typedef csBlockAllocator<ParasiticDataBufferBlockAllocated> Allocator; + CS_DECLARE_STATIC_CLASSVAR_REF(bufAlloc, BufAlloc, + Allocator); +public: + void DecRef() + { + CS_ASSERT_MSG("Refcount decremented for destroyed object", + scfRefCount != 0); + csRefTrackerAccess::TrackDecRef (GetSCFObject(), scfRefCount); + scfRefCount--; + if (scfRefCount == 0) + { + //scfRemoveRefOwners (); + //if (scfParent) scfParent->DecRef(); + BufAlloc().Free (this); + } + } + static ParasiticDataBufferBlockAllocated* Alloc (iDataBuffer* parent, + size_t offs, size_t size = (size_t)~0) + { + ParasiticDataBufferBlockAllocated* p = BufAlloc().Alloc(); + p->SetContents (parent, offs, size); + return p; + } +}; + +#include "csutil/custom_new_enable.h" + +CS_IMPLEMENT_STATIC_CLASSVAR_REF(ParasiticDataBufferBlockAllocated, bufAlloc, + BufAlloc, ParasiticDataBufferBlockAllocated::Allocator, (1024)); + +//--------------------------------------------------------------------------- +int csLightMap::lightcell_size = 16; +int csLightMap::lightcell_shift = 4; +int csLightMap::default_lightmap_cell_size = 16; + +CS_IMPLEMENT_STATIC_CLASSVAR_REF(csLightMap, shadowMapAlloc, ShadowMapAlloc, + csLightMap::ShadowMapAllocator, (1024)); + +csLightMap::csLightMap () +{ + first_smap = 0; + // Use slowest safest method by default. + max_static_color_values.Set (255,255,255); +} + +csLightMap::~csLightMap () +{ + while (first_smap) + { + csShadowMap *smap = first_smap->next; + ShadowMapAlloc().Free (first_smap); + first_smap = smap; + } +} + +void csLightMap::SetLightCellSize (int size) +{ + lightcell_size = size; + lightcell_shift = csLog2 (size); +} + +void csLightMap::DelShadowMap (csShadowMap *smap) +{ + if (smap == first_smap) + { + first_smap = smap->next; + } + else + { + csShadowMap* map = first_smap; + while (map && map->next != smap) + { + map = map->next; + } + if (map) + { + map->next = smap->next; + } + } + ShadowMapAlloc().Free (smap); +} + +csShadowMap *csLightMap::NewShadowMap (iLight *light) +{ + csShadowMap *smap = ShadowMapAlloc().Alloc(); + smap->Light = light; + smap->next = first_smap; + first_smap = smap; + + smap->Alloc (light); + + return smap; +} + +csShadowMap *csLightMap::FindShadowMap (iLight *light) +{ + csShadowMap *smap = first_smap; + while (smap) + { + if (smap->Light == light) return smap; + smap = smap->next; + } + + return 0; +} + +csShadowMap *csLightMap::GetShadowMap (size_t n) +{ + csShadowMap *smap = first_smap; + while (smap && (n-- > 0)) + { + smap = smap->next; + } + + return smap; +} + +void csLightMap::SetSize (int w, int h) +{ + lwidth = csLightMap::CalcLightMapWidth (w); + lheight = csLightMap::CalcLightMapHeight (h); +} + +void csLightMap::InitColor (int r, int g, int b) +{ + long lm_size = lwidth * lheight; + csRGBcolor def (r, g, b); + if (!staticLmBuffer.IsValid()) + { + staticLmBuffer.AttachNew ( + new csDataBuffer (lm_size * sizeof (csRGBcolor))); + } + /* @@@ FIXME: if staticLmBuffer != 0, it may come from a file. We don't want + * to write the colors to it then ... */ + csRGBcolor* static_lm = (csRGBcolor*)staticLmBuffer->GetData(); + for (int i = 0; i < lm_size; i++) static_lm[i] = def; +} + +void csLightMap::Alloc (int w, int h) +{ + SetSize (w, h); + staticLmBuffer = 0; + max_static_color_values.Set (0, 0, 0); +} + +struct PolySave +{ + char header[4]; + int16 x1, y1, z1; // Coordinate of vertex 1 + int16 x2, y2, z2; // Coordinate of vertex 2 + int32 lm_size; // Size of lightmap + int32 lm_cnt; // Number of non-dynamic lightmaps (normally 3) +}; + +struct LightSave +{ + char light_id[16]; +}; + +struct LightHeader +{ + char header[4]; + int32 dyn_cnt; // Number of dynamic maps +}; + +// This really should be inside csLightMap::ReadFromCache, but Cygwin +// crashes on exit if functions have local static variables with complex types +static csString error_buf; + +const char* csLightMap::ReadFromCache ( + iFile* file, + int w, + int h, + csPolygon3D* poly, + csPolygon3DStatic* spoly, + iEngine *engine) +{ + PolySave ps, pswanted; + LightHeader lh; + LightSave ls; + int i; + + csThing* parent = poly->GetParent (); + + SetSize (w, h); + size_t lm_size = lwidth * lheight; + + strcpy (pswanted.header, LMMAGIC); + if (poly) + { + pswanted.x1 = csFloatToShort (spoly->Vobj (0).x); + pswanted.y1 = csFloatToShort (spoly->Vobj (0).y); + pswanted.z1 = csFloatToShort (spoly->Vobj (0).z); + pswanted.x2 = csFloatToShort (spoly->Vobj (1).x); + pswanted.y2 = csFloatToShort (spoly->Vobj (1).y); + pswanted.z2 = csFloatToShort (spoly->Vobj (1).z); + } + pswanted.lm_size = lm_size; + pswanted.lm_cnt = 111; + + char type[5]; + if (file->Read (type, 4) != 4) + return "File too short while reading magic number!"; + type[4] = 0; + if (strcmp (type, "lmpn") != 0) + return "File doesn't appear to be a lightmap (magic number mismatch)!"; + + if (file->Read ((char*)&ps, sizeof (ps)) != sizeof (ps)) + return "File too short while reading lightmap info header!"; + + // Endian convert the file header. + ps.x1 = csLittleEndian::Convert (ps.x1); + ps.y1 = csLittleEndian::Convert (ps.y1); + ps.z1 = csLittleEndian::Convert (ps.z1); + ps.x2 = csLittleEndian::Convert (ps.x2); + ps.y2 = csLittleEndian::Convert (ps.y2); + ps.z2 = csLittleEndian::Convert (ps.z2); + ps.lm_size = csLittleEndian::Convert (ps.lm_size); + ps.lm_cnt = csLittleEndian::Convert (ps.lm_cnt); + + //------------------------------- + // From this point on we will try to skip the wrong lightmap + // so that we can continue processing further lightmaps. + //------------------------------- + + //------------------------------- + // Check if cached item is still valid. + //------------------------------- + error_buf.Empty(); + if (strncmp (ps.header, pswanted.header, 4) != 0) + error_buf = "Cached lightmap header doesn't match!"; + else if (poly) + { + if (ps.lm_cnt != pswanted.lm_cnt) + error_buf.Format ( + "Cached lightmap header mismatch (got cnt=%" PRId32 ", expected %" PRId32 ")!", + ps.lm_cnt, pswanted.lm_cnt); + else if (ps.lm_size != pswanted.lm_size) + error_buf.Format ( + "Cached lightmap base texture mismatch (got size=%" PRId32 ", expected %" PRId32 ")!", + ps.lm_size, pswanted.lm_size); + else if (ps.x1 != pswanted.x1 || ps.y1 != pswanted.y1 + || ps.z1 != pswanted.z1) + error_buf = "Cached lightmap first vertex mismatch!"; + else if (ps.x2 != pswanted.x2 || ps.y2 != pswanted.y2 + || ps.z2 != pswanted.z2) + error_buf = "Cached lightmap second vertex mismatch!"; + } + if (!error_buf.IsEmpty()) + { + // Invalid. + // First try to skip the cached lightmap. + if (!file->SetPos (file->GetPos() + ps.lm_size*3)) + return error_buf; + + uint8 have_dyn; + if (file->Read ((char*)&have_dyn, sizeof (have_dyn)) != sizeof (have_dyn)) + return error_buf; + if (have_dyn) + { + if (file->Read ((char*)lh.header, 4) != 4) + return error_buf; + if (file->Read ((char*)&lh.dyn_cnt, 4) != 4) + return error_buf; + lh.dyn_cnt = csLittleEndian::Convert (lh.dyn_cnt); + uint32 size; + if (file->Read ((char*)&size, sizeof (size)) != sizeof (size)) + return error_buf; + size = csLittleEndian::Convert (size); + file->SetPos (file->GetPos() + size); + } + + return error_buf; + } + + //------------------------------- + // The cached item is valid. + //------------------------------- + { + csRef<iDataBuffer> lmDataBuffer = file->GetAllData(); + const size_t bufSize = lm_size * 3; + lmDataBuffer.AttachNew (ParasiticDataBufferBlockAllocated::Alloc ( + lmDataBuffer, file->GetPos(), bufSize)); + if ((lmDataBuffer->GetSize() != bufSize) + || (!file->SetPos (file->GetPos() + bufSize))) + return "File too short while reading static lightmap data!"; + if (csPackRGB::IsRGBcolorSane()) + staticLmBuffer = lmDataBuffer; + else + { + staticLmBuffer.AttachNew ( + new csDataBuffer (lm_size * sizeof (csRGBcolor))); + csPackRGB::UnpackRGBtoRGBcolor ((csRGBcolor*)staticLmBuffer->GetData(), + lmDataBuffer->GetUint8(), lm_size); + } + } + + //------------------------------- + // Check if we have dynamic data. + //------------------------------- + uint8 have_dyn; + if (file->Read ((char*)&have_dyn, sizeof (have_dyn)) != sizeof (have_dyn)) + return "File too short while reading pseudo-dynamic lighting indicator!"; + if (have_dyn == 0) + goto stop; // No dynamic data. @@@ Recalc dynamic data? + + //------------------------------- + // Now load the dynamic data. + //------------------------------- + if (file->Read ((char*)lh.header, 4) != 4) + return "File too short at start of dynamic lightmaps!"; + if (file->Read ((char*)&lh.dyn_cnt, 4) != 4) + return "File too short at start of dynamic lightmaps!"; + lh.dyn_cnt = csLittleEndian::Convert (lh.dyn_cnt); + + uint32 size; + if (file->Read ((char*)&size, sizeof (size)) != sizeof (size)) + return "File too short at start of dynamic lightmaps!"; + + // Calculate the expected size and see if it matches with the + // size we still have in our data buffer. If it doesn't match + // we don't load anything. + size = csLittleEndian::Convert (size); + + unsigned int expected_size; + expected_size = lh.dyn_cnt * (sizeof (LightSave) + lm_size); + if (expected_size != size) + { + // Skip the data in the cache so we can potentially proceed + // to the next lightmap. + file->SetPos (file->GetPos() + size); + return "Mismatch with expected number of pseudo-dynamic lightmaps!"; + } + + iLightingInfo* li; + li = (iLightingInfo*)parent; + + for (i = 0 ; i < lh.dyn_cnt ; i++) + { + if (file->Read ((char*)&ls.light_id, sizeof (LightSave)) + != sizeof (LightSave)) + return "File too short while reading pseudo-dynamic lightmap header!"; + size -= sizeof (LightSave); + + iLight *light = engine->FindLightID (ls.light_id); + if (light) + { + csShadowMap *smap = NewShadowMap (light); + + light->AddAffectedLightingInfo (li); + + csRef<iDataBuffer> smDataBuffer = file->GetAllData(); + smDataBuffer.AttachNew (ParasiticDataBufferBlockAllocated::Alloc ( + smDataBuffer, file->GetPos(), lm_size)); + if ((smDataBuffer->GetSize() != lm_size) + || (!file->SetPos (file->GetPos() + lm_size))) + return "File too short while reading pseudo-dynamic lightmap data!"; + size -= lm_size; + smap->map = smDataBuffer; + smap->CalcMaxShadow (lm_size); + } + else + { + // Skip the data in the cache so we can potentially proceed to the + // next lightmap. + file->SetPos (file->GetPos() + size); + return "Couldn't find the pseudo-dynamic light for this lightmap!"; + } + } + +stop: + return 0; +} + +void csLightMap::Cache ( + iFile* file, + csPolygon3D *poly, + csPolygon3DStatic *spoly, + iEngine *engine) +{ + (void)engine; + + PolySave ps; + + strcpy (ps.header, LMMAGIC); + if (poly) + { + ps.x1 = csLittleEndian::Convert (csFloatToShort (spoly->Vobj (0).x)); + ps.y1 = csLittleEndian::Convert (csFloatToShort (spoly->Vobj (0).y)); + ps.z1 = csLittleEndian::Convert (csFloatToShort (spoly->Vobj (0).z)); + ps.x2 = csLittleEndian::Convert (csFloatToShort (spoly->Vobj (1).x)); + ps.y2 = csLittleEndian::Convert (csFloatToShort (spoly->Vobj (1).y)); + ps.z2 = csLittleEndian::Convert (csFloatToShort (spoly->Vobj (1).z)); + } + + if (file->Write ("lmpn", 4) != 4) + return; + + long lm_size = lwidth * lheight; + ps.lm_size = csLittleEndian::Convert ((int32)lm_size); + ps.lm_cnt = 111; // Dummy! + ps.lm_cnt = csLittleEndian::Convert (ps.lm_cnt); + + //------------------------------- + // Write the normal lightmap data. + //------------------------------- + file->Write ((char*)&ps, sizeof (ps)); + + if (csPackRGB::IsRGBcolorSane()) + file->Write (staticLmBuffer->GetData(), staticLmBuffer->GetSize()); + else + { + const uint8* rgbData = csPackRGB::PackRGBcolorToRGB ( + (csRGBcolor*)staticLmBuffer->GetData(), lm_size); + file->Write ((char*)rgbData, lm_size * 3); + csPackRGB::DiscardPackedRGB (rgbData); + } + + //------------------------------- + // Write the dynamic data. + //------------------------------- + LightHeader lh; + + csShadowMap *smap = first_smap; + if (smap) + { + uint8 have_dyn = 1; + file->Write ((char*)&have_dyn, sizeof (have_dyn)); + + strcpy (lh.header, "DYNL"); + lh.dyn_cnt = 0; + while (smap) + { + lh.dyn_cnt++; + smap = smap->next; + } + + smap = first_smap; + + file->Write (lh.header, 4); + uint32 l = csLittleEndian::Convert (lh.dyn_cnt); + file->Write ((char *) &l, 4); + + // unsigned long == ls.light_id. + uint32 size = lh.dyn_cnt * (sizeof (LightSave) + lm_size); + uint32 s = csLittleEndian::Convert (size); + file->Write ((char*)&s, sizeof (s)); + + while (smap) + { + iLight *light = smap->Light; + if (smap->map.IsValid()) + { + LightSave ls; + memcpy (ls.light_id, light->GetLightID (), sizeof (LightSave)); + file->Write ((char *) &ls.light_id, sizeof (LightSave)); + file->Write (smap->map->GetData(), smap->map->GetSize()); + } + + smap = smap->next; + } + } + else + { + uint8 have_dyn = 0; + file->Write ((char*)&have_dyn, sizeof (have_dyn)); + } +} + +bool csLightMap::UpdateRealLightMap (float dyn_ambient_r, + float dyn_ambient_g, + float dyn_ambient_b, + bool dyn_dirty, + csLightingScratchBuffer& finalLM) +{ + if (!dyn_dirty) return false; + + csRGBcolor temp_max_color_values = max_static_color_values; + csRGBcolor* static_lm = GetStaticMap(); + + long lm_size = lwidth * lheight; + finalLM.SetSize (lm_size); + + //--- + // First copy the static lightmap to the real lightmap. + // Remember the real lightmap first so that we can see if + // there were any changes. + //--- + if (dyn_ambient_r || dyn_ambient_g || dyn_ambient_b) + { + csRGBcolor ambient; + int dr = csQint (dyn_ambient_r * 128); + int dg = csQint (dyn_ambient_g * 128); + int db = csQint (dyn_ambient_b * 128); + if (dr > 255) dr = 255; + if (dg > 255) dg = 255; + if (db > 255) db = 255; + ambient.Set ((unsigned char)dr, (unsigned char)dg, (unsigned char)db); + + if (max_static_color_values.red + ambient.red <= 255 && + max_static_color_values.green + ambient.green <= 255 && + max_static_color_values.blue + ambient.blue <= 255) + { + // No lightmap overflows so we can use fastest loop with no checking. + if (static_lm) + { + for (int i=0; i<lm_size; i++) + { + finalLM[i] = static_lm[i]; + finalLM[i].UnsafeAdd (ambient); + } + } + else + { + csRGBcolor t = max_static_color_values; + t.UnsafeAdd (ambient); + for (int i=0; i<lm_size; i++) finalLM[i] = t; + } + temp_max_color_values.UnsafeAdd (ambient); + } + else + { + // An overflow is somewhere here, so check each and every addition. + if (static_lm) + { + for (int i=0; i<lm_size; i++) + { + finalLM[i] = static_lm[i]; + finalLM[i].SafeAdd (ambient); + } + } + else + { + csRGBcolor t = max_static_color_values; + t.SafeAdd (ambient); + for (int i=0; i<lm_size; i++) finalLM[i] = t; + } + temp_max_color_values.SafeAdd (ambient); + } + } + else + { + if (static_lm) + memcpy (finalLM.GetArray(), static_lm, lm_size * sizeof (csRGBcolor)); + else + for (int i=0; i<lm_size; i++) + finalLM[i] = max_static_color_values; + } + + //--- + // Then add all pseudo-dynamic lights. + //--- + iLight *light; + csRGBcolor* map; + float red, green, blue; + unsigned char *p, *last_p; + int l, s; + + if (first_smap) + { + csShadowMap *smap = first_smap; + + // Color mode. + do + { + map = finalLM.GetArray(); + light = smap->Light; + red = light->GetColor ().red; + green = light->GetColor ().green; + blue = light->GetColor ().blue; + p = smap->map->GetUint8(); + last_p = p + lm_size; + + int tm_r = temp_max_color_values.red + csQint (smap->max_shadow * red); + int tm_g = temp_max_color_values.green + csQint (smap->max_shadow * green); + int tm_b = temp_max_color_values.blue + csQint (smap->max_shadow * blue); + + if (tm_r <= 255 && tm_g <= 255 && tm_b <= 255) + { + // Again, if there is no risk of overflow, use fastest possible merge. + do + { + s = *p++; + + map->red += csQround (red * s); + map->green += csQround (green * s); + map->blue += csQround (blue * s); + map++; + } while (p < last_p); + + // Now update max color to include this merged shadowmap. + temp_max_color_values.red = tm_r; + temp_max_color_values.green = tm_g; + temp_max_color_values.blue = tm_b; + } + else + { + do + { + s = *p++; + + l = map->red + csQround (red * s); + map->red = l < 255 ? l : 255; + l = map->green + csQround (green * s); + map->green = l < 255 ? l : 255; + l = map->blue + csQround (blue * s); + map->blue = l < 255 ? l : 255; + + map++; + + } while (p < last_p); + // Now update max color to include this merged shadowmap + temp_max_color_values.red = (tm_r>255)?255:tm_r; + temp_max_color_values.green = (tm_g>255)?255:tm_g; + temp_max_color_values.blue= (tm_b>255)?255:tm_b; + } + smap = smap->next; + } while (smap); + } + + return true; +} + +void csLightMap::CalcMaxStatic (int r, int g, int b) +{ + max_static_color_values.Set (0,0,0); + + csRGBcolor *map = GetStaticMap(); + if (!map) return; + long lm_size = lwidth * lheight; + csRGBcolor min_static_color_values; + if (lm_size & 1) + { + min_static_color_values = *map; + max_static_color_values = *map; + lm_size--; + } + else + min_static_color_values.Set (255,255,255); + for (int i = 0; i < lm_size; i+=2) + { + const csRGBcolor& a = map[0]; + const csRGBcolor& b = map[1]; + + if (a.red < b.red) + { + if (a.red < min_static_color_values.red) + min_static_color_values.red = a.red; + if (b.red > max_static_color_values.red) + max_static_color_values.red = b.red; + } + else + { + if (a.red > max_static_color_values.red) + max_static_color_values.red = a.red; + if (b.red < min_static_color_values.red) + min_static_color_values.red = b.red; + } + + if (a.green < b.green) + { + if (a.green < min_static_color_values.green) + min_static_color_values.green = a.green; + if (b.green > max_static_color_values.green) + max_static_color_values.green = b.green; + } + else + { + if (a.green > max_static_color_values.green) + max_static_color_values.green = a.green; + if (b.green < min_static_color_values.green) + min_static_color_values.green = b.green; + } + + if (a.blue < b.blue) + { + if (a.blue < min_static_color_values.blue) + min_static_color_values.blue = a.blue; + if (b.blue > max_static_color_values.blue) + max_static_color_values.blue = b.blue; + } + else + { + if (a.blue > max_static_color_values.blue) + max_static_color_values.blue = a.blue; + if (b.blue < min_static_color_values.blue) + min_static_color_values.blue = b.blue; + } + + map+=2; + } + if (min_static_color_values.red < r) min_static_color_values.red = r; + if (min_static_color_values.green < g) min_static_color_values.green = g; + if (min_static_color_values.blue < b) min_static_color_values.blue = b; + +#define THRESHOLD 2 + if (max_static_color_values.red - min_static_color_values.red <= THRESHOLD && + max_static_color_values.green - min_static_color_values.green <= THRESHOLD && + max_static_color_values.blue - min_static_color_values.blue <= THRESHOLD) + { + staticLmBuffer = 0; + } +} + Property changes on: CS/trunk/apps/tools/genmeshify/thing/object/lghtmap.cpp ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Added: CS/trunk/apps/tools/genmeshify/thing/object/lghtmap.h =================================================================== --- CS/trunk/apps/tools/genmeshify/thing/object/lghtmap.h (rev 0) +++ CS/trunk/apps/tools/genmeshify/thing/object/lghtmap.h 2008-08-20 11:15:47 UTC (rev 30879) @@ -0,0 +1,206 @@ +/* + Copyright (C) 1998-2001 by Jorrit Tyberghein + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the Free + Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +#ifndef __CS_LIGHTMAP_H__ +#define __CS_LIGHTMAP_H__ + +#include "csutil/blockallocator.h" +#include "csutil/dirtyaccessarray.h" +#include "csutil/scf.h" +#include "csgfx/rgbpixel.h" +#include "csutil/parasiticdatabuffer.h" + +struct iLight; +struct iCacheManager; +struct iFile; +struct iEngine; + +class csPolyTexture; +class csThing; +class csPolygon3D; +class csPolygon3DStatic; +class csDelayedLightingInfo; +class csObject; + +typedef csDirtyAccessArray<csRGBcolor> csLightingScratchBuffer; + +class csShadowMap +{ +public: + iLight *Light; + csShadowMap *next; + unsigned char max_shadow; + csRef<iDataBuffer> map; + + csShadowMap (); + ~csShadowMap (); + void Alloc (iLight *l); + void CalcMaxShadow (long lm_size); +}; + +/** + * The static and all dynamic lightmaps for one polygon. + */ +class csLightMap +{ + /// + friend class csPolyTexture; + +private: + /** + * A color lightmap containing all static lighting information + * for the static lights (no pseudo-dynamic lights are here). + */ + csRef<iDataBuffer> staticLmBuffer; + + /** + * Stores the maximum r, g, b values for the static_lm array above. + * This is used in lightmap merge optimizations. + */ + csRGBcolor max_static_color_values; + + /** + * Linked list of shadow-maps (for the pseudo-dynamic lights). + * These shadowmaps are applied to static_lm to get real_lm. + */ + csShadowMap* first_smap; + + /// LightMap dimensions. + int lwidth, lheight; + + /** + * Calculate the sizes of this lightmap. + */ + void SetSize (int w, int h); + + typedef csBlockAllocator<csShadowMap> ShadowMapAllocator; + CS_DECLARE_STATIC_CLASSVAR_REF(shadowMapAlloc, ShadowMapAlloc, + ShadowMapAllocator); +public: + /// Option variable: shadow cell size + static int lightcell_size; + /// Log base 2 of lightcell_size + static int lightcell_shift; + /// Default. + static int default_lightmap_cell_size; + + /// Return the width of a lightmap given a texture size. + static int CalcLightMapWidth (int w) + { + return 1 + ((w + lightcell_size - 1) >> lightcell_shift); + //return 1 + ((w + lightcell_size) >> lightcell_shift); //@@@ EXP + } + /// Return the height of a lightmap given a texture size. + static int CalcLightMapHeight (int h) + { + return 1 + ((h + lightcell_size - 1) >> lightcell_shift); + //return 1 + ((h + lightcell_size) >> lightcell_shift); //@@@ EXP + } + + /// + csLightMap (); + /// + ~csLightMap (); + + /** + * Rebuilds the real lightmap data for the poly from all the lightmaps + + * the ambient light if specified. + */ + bool UpdateRealLightMap (float dyn_ambient_r, + float dyn_ambient_g, + float dyn_ambient_b, + bool dyn_dirty, + csLightingScratchBuffer& finalLM); + + /** + * Get the static lightmap data. After CalcMaxStatic() it + * is possible that this returns 0. In that case you can find + * the uniform lighting value in max_static_color_values. + */ + csRGBcolor* GetStaticMap () + { return staticLmBuffer ? (csRGBcolor*)staticLmBuffer->GetData() : 0; } + + /** + * Allocate the lightmap. 'w' and 'h' are the size of the + * bounding box in lightmap space. + */ + void Alloc (int w, int h); + + /** + * Initialize the lightmap to the given color. + * r,g,b is the ambient light color used to initialize the lightmap. + */ + void InitColor (int r, int g, int b); + + /** + * Calculate and save max_static_color_values after static_lm is loaded. + * r,g,b is the ambient light color used to initialize the lightmap. + * This will be used to optimize the lightmap away in case it is mostly + * equal to that ambient. + * Note! This function will delete the static lightmap data if it + * discovers that it is all the same! + */ + void CalcMaxStatic (int r, int g, int b); + + /** + * Create a ShadowMap for this LightMap. + */ + csShadowMap* NewShadowMap (iLight* light); + + /** + * Find a ShadowMap for a specific pseudo-dynamic light. + */ + csShadowMap* FindShadowMap (iLight* light); + + /** + * Delete a ShadowMap. + * It is ment for pseudo-dynamic lights that do not reach the polygon. + * but this can only be seen after trying. + */ + void DelShadowMap (csShadowMap* plm); + + /** + * Read lightmap from a file. Return 0 if succesful and + * otherwise a description of the error. + */ + const char* ReadFromCache (iFile* file, int w, int h, + csPolygon3D* poly, csPolygon3DStatic* spoly, iEngine*); + + /** + * Write lightmap to a file. + */ + void Cache (iFile* file, csPolygon3D* poly, + csPolygon3DStatic* spoly, iEngine*); + + /** + * Set the size of one lightmap cell (default = 16). + * Do not directly assign to the lightcell_size variable, as + * lightmap_shift also has to be updated. + */ + static void SetLightCellSize (int size); + + /// + int GetWidth () const { return lwidth; } + /// + int GetHeight () const { return lheight; } + + /// Get n-th shadow map + csShadowMap* GetShadowMap (size_t n); +}; + +#endif // __CS_LIGHTMAP_H__ Property changes on: CS/trunk/apps/tools/genmeshify/thing/object/lghtmap.h ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Added: CS/trunk/apps/tools/genmeshify/thing/object/lppool.cpp =================================================================== --- CS/trunk/apps/tools/genmeshify/thing/object/lppool.cpp (rev 0) +++ CS/trunk/apps/tools/genmeshify/thing/object/lppool.cpp 2008-08-20 11:15:47 UTC (rev 30879) @@ -0,0 +1,58 @@ +/* + Copyright (C) 1998-2001 by Jorrit Tyberghein + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the Free + Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +#include "cssysdef.h" +#include "csgeom/frustum.h" +#include "lppool.h" +#include "polygon.h" +#include "iengine/shadows.h" + +csLightPatch::csLightPatch () +{ + next = prev = 0; + num_vertices = 0; + max_vertices = 0; + vertices = 0; + polygon = 0; + light = 0; +} + +csLightPatch::~csLightPatch () +{ + delete[] vertices; + RemovePatch (); +} + +void csLightPatch::RemovePatch () +{ + if (polygon) polygon->UnlinkLightpatch (this); + light_frustum = 0; +} + +void csLightPatch::Initialize (int n) +{ + if (n > max_vertices) + { + delete[] vertices; + max_vertices = n; + vertices = new csVector3[max_vertices]; + } + + num_vertices = n; +} + Property changes on: CS/trunk/apps/tools/genmeshify/thing/object/lppool.cpp ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Added: CS/trunk/apps/tools/genmeshify/thing/object/lppool.h =================================================================== --- CS/trunk/apps/tools/genmeshify/thing/object/lppool.h (rev 0) +++ CS/trunk/apps/tools/genmeshify/thing/object/lppool.h 2008-08-20 11:15:47 UTC (rev 30879) @@ -0,0 +1,159 @@ +/* + Copyright (C) 1998 by Jorrit Tyberghein + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the Free + Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +#ifndef __CS_LPPOOL_H__ +#define __CS_LPPOOL_H__ + +#include "csutil/blockallocator.h" + +struct iLight; + +class csLightPatchPool; +class csPolygon3D; + +/** + * A light patch. This is a 3D polygon which fits on a world level 3D + * polygon and defines where the light hits the polygon. + * There is a list of light patches in every polygon (all dynamic lights + * hitting a polygon will give rise to a separate light patch) and there + * is a list of light patches in every dynamic light (representing all + * polygons that are hit by that particular light). + */ +class csLightPatch +{ + friend class csLightPatchPool; + +private: + csLightPatch* next; + csLightPatch* prev; + + /// Vertices. + csVector3* vertices; + /// Current number of vertices. + int num_vertices; + /// Maximum number of vertices. + int max_vertices; + + /// Polygon that this light patch is for. + csPolygon3D* polygon; + + /// Light that this light patch originates from. + iLight* light; + + /// frustum of where the visible light hits (for use with curves) + csRef<csFrustum> light_frustum; + +public: + /** + * Create an empty light patch (infinite frustum). + */ + csLightPatch (); + + /** + * Unlink this light patch from the polygon and the light + * and then destroy. + */ + ~csLightPatch (); + + /** + * Make room for the specified number of vertices and + * initialize to start a new light patch. + */ + void Initialize (int n); + + /** + * Remove this light patch (unlink from all lists). + */ + void RemovePatch (); + + /** + * Get the polygon that this light patch belongs too. + */ + csPolygon3D* GetPolygon () { return polygon; } + + /** + * Get the light that this light patch belongs too. + */ + iLight* GetLight () { return light; } + + /// Get the number of vertices in this light patch. + int GetVertexCount () { return num_vertices; } + /// Get all the vertices. + csVector3* GetVertices () { return vertices; } + + /// Get a vertex. + csVector3& GetVertex (int i) + { + CS_ASSERT (vertices != 0); + CS_ASSERT (i >= 0 && i < num_vertices); + return vertices[i]; + } + + /** + * Get next light patch. + */ + csLightPatch* GetNext () { return next; } + + /// Set polygon. + void SetPolyCurve (csPolygon3D* pol) { polygon = pol; } + /// Set light. + void SetLight (iLight* l) { light = l; } + /// Add to list. + void AddList (csLightPatch*& first) + { + next = first; + prev = 0; + if (first) + first->prev = this; + first = this; + } + /// Remove from list. + void RemoveList (csLightPatch*& first) + { + if (next) next->prev= prev; + if (prev) prev->next= next; + else first = next; + prev= next= 0; + polygon = 0; + } + + /// Set the light frustum. + void SetLightFrustum (csFrustum* lf) { light_frustum = lf; } + /// Set the light frustum. + void SetNewLightFrustum (csPtr<csFrustum> lf) { light_frustum = lf; } + /// Get the light frustum. + csFrustum* GetLightFrustum () { return light_frustum; } +}; + +/** + * This is an object pool which holds objects of type + * csLightPatch. You can ask new instances from this pool. + * If needed it will allocate one for you but ideally it can + * give you one which was allocated earlier. + */ +class csLightPatchPool : public csBlockAllocator<csLightPatch> +{ +public: + void Free (csLightPatch* o) + { + o->RemovePatch (); + csBlockAllocator<csLightPatch>::Free (o); + } +}; + +#endif // __CS_LPPOOL_H__ Property changes on: CS/trunk/apps/tools/genmeshify/thing/object/lppool.h ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Added: CS/trunk/apps/tools/genmeshify/thing/object/parrays.cpp =================================================================== --- CS/trunk/apps/tools/genmeshify/thing/object/parrays.cpp (rev 0) +++ CS/trunk/apps/tools/genmeshify/thing/object/parrays.cpp 2008-08-20 11:15:47 UTC (rev 30879) @@ -0,0 +1,52 @@ +/* + Dynamic arrays of engine objects + Copyright (C) 1999 by Andrew Zabolotny + Copyright (C) 2003 by Jorrit Tyberghein + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the Free + Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#include "cssysdef.h" +#include "parrays.h" +#include "polygon.h" +#include "thing.h" + +//-----------------------------------------------+ csPolygonStaticArray +----// +csPolygonStaticArray::~csPolygonStaticArray () +{ + FreeAll (); +} + +void csPolygonStaticArray::FreeAll () +{ + size_t i; + for (i = 0 ; i < GetSize () ; i++) + { + FreeItem (Get (i)); + } + DeleteAll (); +} + +void csPolygonStaticArray::FreeItem (csPolygon3DStatic* Item) +{ + thing_type->blk_polygon3dstatic.Free (Item); +} + +int csPolygonStaticArray::CompareKey (csPolygon3DStatic* const& Item, + char const* const& Key) +{ + const char *name = Item->GetName (); + return name ? strcmp (name, Key) : -1; +} + Property changes on: CS/trunk/apps/tools/genmeshify/thing/object/parrays.cpp ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Added: CS/trunk/apps/tools/genmeshify/thing/object/parrays.h =================================================================== --- CS/trunk/apps/tools/genmeshify/thing/object/parrays.h (rev 0) +++ CS/trunk/apps/tools/genmeshify/thing/object/parrays.h 2008-08-20 11:15:47 UTC (rev 30879) @@ -0,0 +1,111 @@ +/* + Dynamic arrays of engine objects + Copyright (C) 1999 by Andrew Zabolotny + Copyright (C) 2003 by Jorrit Tyberghein + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the Free + Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +#ifndef __CS_PARRAYS_H__ +#define __CS_PARRAYS_H__ + +#include "csutil/array.h" +#include "polygon.h" + +class csThingObjectType; + +/** + * An dynamic array of csPolygon3DStatic objects. + * This class is used in polygon set class and thing template class + * for storing the polygons that the model consists of. + */ +class csPolygonStaticArray : + public csArray<csPolygon3DStatic*, + csArrayElementHandler<csPolygon3DStatic*>, + CS::Container::ArrayAllocDefault, + csArrayCapacityFixedGrow<64> > +{ +private: + csThingObjectType* thing_type; + +public: + /// Create the polygon array object + csPolygonStaticArray (int iLimit) + : csArray<csPolygon3DStatic*, + csArrayElementHandler<csPolygon3DStatic*>, + CS::Container::ArrayAllocDefault, + csArrayCapacityFixedGrow<64> > (iLimit) + { + thing_type = 0; + } + + /// Destroy the polygon array and all inserted polygons + ~csPolygonStaticArray (); + + /// Set the thing type used to destroy polygons. + void SetThingType (csThingObjectType* thing_type) + { + csPolygonStaticArray::thing_type = thing_type; + } + + /// Free all polygons. + void FreeAll (); + + /// Delete a particular array element + void FreeItem (csPolygon3DStatic* Item); + + /// Find a polygon by name + static int CompareKey (csPolygon3DStatic* const&, char const* const& Key); + + /// Return a functor wrapping CompareKey for a given name. + static csArrayCmp<csPolygon3DStatic*,char const*> KeyCmp(char const* k) + { + return csArrayCmp<csPolygon3DStatic*,char const*>(k, CompareKey); + } +}; + +/** + * An dynamic array of csPolygon3D objects. + * This class is used in polygon set class and thing template class + * for storing the polygons that the model consists of. + */ +class csPolygonArray : + public csArray<csPolygon3D, + csArrayElementHandler<csPolygon3D>, + CS::Container::ArrayAllocDefault, + csArrayCapacityFixedGrow<64> > +{ +private: + csThingObjectType* thing_type; + +public: + /// Create the polygon array object + csPolygonArray (int iLimit) + : csArray<csPolygon3D, + csArrayElementHandler<csPolygon3D>, + CS::Container::ArrayAllocDefault, + csArrayCapacityFixedGrow<64> > (iLimit) + { + thing_type = 0; + } + + /// Set the thing type used to destroy polygons. + void SetThingType (csThingObjectType* thing_type) + { + csPolygonArray::thing_type = thing_type; + } +}; + +#endif // __CS_PARRAYS_H__ Property changes on: CS/trunk/apps/tools/genmeshify/thing/object/parrays.h ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Added: CS/trunk/apps/tools/genmeshify/thing/object/polygon.cpp =================================================================== --- CS/trunk/apps/tools/genmeshify/thing/object/polygon.cpp (rev 0) +++ CS/trunk/apps/tools/genmeshify/thing/object/polygon.cpp 2008-08-20 11:15:47 UTC (rev 30879) @@ -0,0 +1,1578 @@ +/* + Copyright (C) 1998-2001 by Jorrit Tyberghein + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the Free + Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#include "cssysdef.h" +#include "csqint.h" +#include "csqsqrt.h" + +#include "csgeom/frustum.h" +#include "csgeom/matrix2.h" +#include "csgeom/poly3d.h" +#include "csgeom/textrans.h" +#include "csutil/csendian.h" +#include "csutil/dirtyaccessarray.h" +#include "csutil/memfile.h" + +#include "iengine/engine.h" +#include "iengine/light.h" +#include "iengine/material.h" +#include "iengine/movable.h" +#include "iengine/shadows.h" +#include "iengine/texture.h" +#include "iutil/cache.h" +#include "iutil/vfs.h" +#include "ivideo/graph3d.h" +#include "ivideo/material.h" +#include "ivideo/texture.h" +#include "ivideo/txtmgr.h" + +#include "polygon.h" +#include "polytext.h" +#include "lghtmap.h" +#include "lppool.h" +#include "thing.h" + +// This is a static vector array which is adapted to the +// right size everytime it is used. In the beginning it means +// that this array will grow a lot but finally it will +// stabilize to a maximum size (not big). The advantage of +// this approach is that we don't have a static array which can +// overflow. And we don't have to do allocation every time we +// come here. We do an IncRef on this object each time a new +// csPolygon3D is created and an DecRef each time it is deleted. +// Thus, when the engine is cleaned, the array is automatically +// cleaned too. + +typedef csDirtyAccessArrayRefCounted<csVector3> engine3d_VectorArray; +CS_IMPLEMENT_STATIC_VAR (GetStaticVectorArray, engine3d_VectorArray,()) + +static engine3d_VectorArray *VectorArray = 0; + +//--------------------------------------------------------------------------- + +csPolygon3DStatic::csPolygon3DStatic () +{ + VectorArray = GetStaticVectorArray(); + thing_static = 0; + + material = 0; + name = 0; + + polygon_data.tmapping = 0; + polygon_data.num_vertices = 0; + polygon_data.vertices = 0; + polygon_data.useLightmap = false; + polygon_data.objNormals = 0; + + flags.SetAll (CS_POLY_LIGHTING | CS_POLY_COLLDET | CS_POLY_VISCULL); + + VectorArray->IncRef (); +} + +csPolygon3DStatic::~csPolygon3DStatic () +{ + SetNumVertices (0); // Clear vertices. + delete[] name; + + thing_static->thing_type->blk_texturemapping.Free (polygon_data.tmapping); + + VectorArray->DecRef (); +} + +void csPolygon3DStatic::SetNumVertices (int count) +{ + int old_count = polygon_data.num_vertices; + polygon_data.num_vertices = count; + if (old_count == count) return; + if (old_count >= 1 && old_count <= 3 && count >= 1 && count <= 3) return; + if (old_count >= 7 && old_count <= 20 && count >= 7 && count <= 20) return; + if (old_count >= 21 && count >= 21) return; + + int* old_data = polygon_data.vertices; + csThingObjectType* t = thing_static->thing_type; + switch (count) + { + case 0: + polygon_data.vertices = 0; + break; + case 1: + case 2: + case 3: + polygon_data.vertices = t->blk_polidx3.Alloc ()->ar; + break; + case 4: + polygon_data.vertices = t->blk_polidx4.Alloc ()->ar; + break; + case 5: + if (!t->blk_polidx5) + t->blk_polidx5 = new csBlockAllocator<intar5> (500); + polygon_data.vertices = t->blk_polidx5->Alloc ()->ar; + break; + case 6: + if (!t->blk_polidx6) + t->blk_polidx6 = new csBlockAllocator<intar6> (500); + polygon_data.vertices = t->blk_polidx6->Alloc ()->ar; + break; + default: + if (count <= 20) + { + if (!t->blk_polidx20) + t->blk_polidx20 = new csBlockAllocator<intar20> (300); + polygon_data.vertices = t->blk_polidx20->Alloc ()->ar; + } + else + { + if (!t->blk_polidx60) + t->blk_polidx60 = new csBlockAllocator<intar60> (300); + polygon_data.vertices = t->blk_polidx60->Alloc ()->ar; + } + break; + } + + if (old_data) + { + int minsize = MIN (count, old_count); + memcpy (polygon_data.vertices, old_data, sizeof (int) * minsize); + switch (old_count) + { + case 1: + case 2: + case 3: + t->blk_polidx3.Free ((intar3*)old_data); + break; + case 4: t->blk_polidx4.Free ((intar4*)old_data); break; + case 5: t->blk_polidx5->Free ((intar5*)old_data); break; + case 6: t->blk_polidx6->Free ((intar6*)old_data); break; + default: + if (old_count <= 20) + t->blk_polidx20->Free ((intar20*)old_data); + else + t->blk_polidx60->Free ((intar60*)old_data); + break; + } + } +} + +csPolygon3DStatic* csPolygon3DStatic::Clone (csThingStatic* new_parent) +{ + csThingObjectType* t = thing_static->thing_type; + csPolygon3DStatic* clone = t->blk_polygon3dstatic.Alloc (); + clone->SetParent (new_parent); + clone->SetMaterial (material); + clone->SetName (name); + clone->SetNumVertices (polygon_data.num_vertices); + memcpy (clone->polygon_data.vertices, polygon_data.vertices, + sizeof (int) * polygon_data.num_vertices); + + clone->polygon_data.plane_obj = polygon_data.plane_obj; + if (polygon_data.tmapping) + { + clone->polygon_data.tmapping = t->blk_texturemapping.Alloc (); + *clone->polygon_data.tmapping = *polygon_data.tmapping; + } + else + { + clone->polygon_data.tmapping = 0; + } + clone->flags.SetAll (flags.Get ()); + + return clone; +} + +bool csPolygon3DStatic::MappingSetTextureSpace ( + const csPlane3 &plane_wor, + const csVector3 &v_orig, + const csVector3 &v1, + float len) +{ + return MappingSetTextureSpace ( + plane_wor, + v_orig.x, v_orig.y, v_orig.z, + v1.x, v1.y, v1.z, + len); +} + +bool csPolygon3DStatic::MappingSetTextureSpace ( + const csPlane3 &plane_wor, + float xo, + float yo, + float zo, + float x1, + float y1, + float z1, + float len1) +{ + float A = plane_wor.A (); + float B = plane_wor.B (); + float C = plane_wor.C (); + bool result = csTextureTrans::compute_texture_space ( + polygon_data.tmapping->GetO2T (), + polygon_data.tmapping->GetO2TTranslation (), + xo, yo, zo, + x1, y1, z1, + len1, + A, B, C); + thing_static->ShapeChanged (); + return result; +} + +bool csPolygon3DStatic::MappingSetTextureSpace ( + const csVector3 &v_orig, + const csVector3 &v1, + float len1, + const csVector3 &v2, + float len2) +{ + bool result = csTextureTrans::compute_texture_space ( + polygon_data.tmapping->GetO2T (), + polygon_data.tmapping->GetO2TTranslation (), + v_orig, v1, + len1, v2, + len2); + thing_static->ShapeChanged (); + return result; +} + +bool csPolygon3DStatic::MappingSetTextureSpace ( + const csVector3 &v_orig, + const csVector3 &v_u, + const csVector3 &v_v) +{ + bool result = csTextureTrans::compute_texture_space ( + polygon_data.tmapping->GetO2T (), + polygon_data.tmapping->GetO2TTranslation (), + v_orig, + v_u, + v_v); + thing_static->ShapeChanged (); + return result; +} + +bool csPolygon3DStatic::MappingSetTextureSpace ( + float xo, float yo, float zo, + float xu, float yu, float zu, + float xv, float yv, float zv) +{ + const csVector3 o (xo, yo, zo); + const csVector3 u (xu, yu, zu); + const csVector3 v (xv, yv, zv); + bool result = csTextureTrans::compute_texture_space ( + polygon_data.tmapping->GetO2T (), + polygon_data.tmapping->GetO2TTranslation (), + o, u, v); + thing_static->ShapeChanged (); + return result; +} + +bool csPolygon3DStatic::MappingSetTextureSpace ( + float xo, float yo, float zo, + float xu, float yu, float zu, + float xv, float yv, float zv, + float xw, float yw, float zw) +{ + bool result = csTextureTrans::compute_texture_space ( + polygon_data.tmapping->GetO2T (), + polygon_data.tmapping->GetO2TTranslation (), + xo, yo, zo, + xu, yu, zu, + xv, yv, zv, + xw, yw, zw); + thing_static->ShapeChanged (); + return result; +} + +bool csPolygon3DStatic::MappingSetTextureSpace ( + const csMatrix3 &tx_matrix, + const csVector3 &tx_vector) +{ + polygon_data.tmapping->SetO2T (tx_matrix), + polygon_data.tmapping->SetO2TTranslation (tx_vector), + thing_static->ShapeChanged (); + return true; +} + +void csPolygon3DStatic::SetParent (csThingStatic *thing_static) +{ + csPolygon3DStatic::thing_static = thing_static; + if (thing_static) + { + polygon_data.p_obj_verts = &thing_static->obj_verts; + polygon_data.objNormals = &thing_static->obj_normals; + } +} + +void csPolygon3DStatic::EnableTextureMapping (bool enable) +{ + if (enable && polygon_data.tmapping != 0) return; + if (!enable && polygon_data.tmapping == 0) return; + + if (thing_static) thing_static->ShapeChanged (); + if (enable) + { + polygon_data.tmapping = thing_static->thing_type + ->blk_texturemapping.Alloc (); + } + else + { + thing_static->thing_type->blk_texturemapping.Free (polygon_data.tmapping); + polygon_data.tmapping = 0; + } +} + +void csPolygon3DStatic::Reset () +{ + SetNumVertices (0); +} + +bool csPolygon3DStatic::Overlaps (csPolygon3DStatic *overlapped) +{ + csPolygon3DStatic *totest = overlapped; + + // Algorithm: if any o... [truncated message content] |
From: <cry...@us...> - 2008-08-21 02:56:00
|
Revision: 30899 http://crystal.svn.sourceforge.net/crystal/?rev=30899&view=rev Author: crystal-manage Date: 2008-08-21 02:55:44 +0000 (Thu, 21 Aug 2008) Log Message: ----------- master header files: Automated master header file repair. Visual-C++ project files: Automated Visual-C++ project file repair. Texinfo files: Automated Texinfo @node and @menu repair. Swig Python files: Automated Swig Python file repair. Swig Perl5 files: Automated Swig Perl5 file repair. User's Manual: Automated Texinfo to HTML conversion. Modified Paths: -------------- CS/trunk/docs/html/manual/Basic-Tools.html CS/trunk/docs/html/manual/BugPlug.html CS/trunk/docs/html/manual/Controlling-BugPlug.html CS/trunk/docs/html/manual/FAQ.html CS/trunk/docs/html/manual/Feature-List.html CS/trunk/docs/html/manual/Glossary.html CS/trunk/docs/html/manual/HOWTO-Create-Genmesh.html CS/trunk/docs/html/manual/HOWTO-Mesh-LightAnim.html CS/trunk/docs/html/manual/HOWTO-Mesh-Movement.html CS/trunk/docs/html/manual/Map-Creation.html CS/trunk/docs/html/manual/MeshObject-Emit.html CS/trunk/docs/html/manual/MeshObject-Genmesh.html CS/trunk/docs/html/manual/MeshObject-Haze.html CS/trunk/docs/html/manual/MeshObject-Particles.html CS/trunk/docs/html/manual/MeshObject-Portal-Container.html CS/trunk/docs/html/manual/MeshObject-Spr2D.html CS/trunk/docs/html/manual/MeshObject-Spr3D.html CS/trunk/docs/html/manual/MeshObject-SprCal3D.html CS/trunk/docs/html/manual/MeshObject-TerrFunc.html CS/trunk/docs/html/manual/MeshObject-Terrain2-General.html CS/trunk/docs/html/manual/MeshObject-Terrain2-XML.html CS/trunk/docs/html/manual/MeshObject-Terrain2.html CS/trunk/docs/html/manual/MeshObject.html CS/trunk/docs/html/manual/Portal-Engine.html CS/trunk/docs/html/manual/Rendering-Loop.html CS/trunk/docs/html/manual/Shader-System-Overview.html CS/trunk/docs/html/manual/Simple-Map-Example.html CS/trunk/docs/html/manual/Sprite3D-Animation.html CS/trunk/docs/html/manual/Threads-in-CS.html CS/trunk/docs/html/manual/Using-BugPlug.html CS/trunk/docs/html/manual/Using-MeshObject.html CS/trunk/docs/html/manual/VIS-entities.html CS/trunk/docs/html/manual/VIS-sector-structure.html CS/trunk/docs/html/manual/VIS-visibility-culling.html CS/trunk/docs/html/manual/Various-Tools.html CS/trunk/docs/html/manual/Working-with-Meshes.html CS/trunk/docs/html/manual/World-Components.html CS/trunk/docs/html/manual/Writing-MeshObjects.html CS/trunk/docs/html/manual/XML-Init-Section.html CS/trunk/docs/html/manual/XML-World-Definition-Section.html CS/trunk/docs/html/manual/XML-World-Element-Section.html CS/trunk/docs/html/manual/cs_327.html CS/trunk/docs/html/manual/cs_328.html CS/trunk/docs/html/manual/cs_329.html CS/trunk/docs/html/manual/cs_Index.html CS/trunk/docs/html/manual/cs_ovr.html CS/trunk/docs/html/manual/cs_toc.html CS/trunk/docs/html/manual/md32spr-Tutorial.html CS/trunk/docs/texinfo/usingcs/meshobj/creategenmesh.txi CS/trunk/docs/texinfo/usingcs/meshobj/genmesh.txi CS/trunk/docs/texinfo/usingcs/meshobj/terrfunc.txi CS/trunk/docs/texinfo/usingcs/meshobj/writing.txi CS/trunk/mk/msvc/appwalktest_static_staticuse.cpp CS/trunk/mk/msvc/crystalspace_staticplugins_msvc7.jam CS/trunk/mk/msvc/crystalspace_staticplugins_msvc71.jam CS/trunk/mk/msvc/crystalspace_staticplugins_msvc8.jam CS/trunk/mk/msvc/crystalspace_staticplugins_msvc9.jam CS/trunk/mk/msvc7/appgenmeshify.vcproj CS/trunk/mk/msvc7/libcrystalspace_staticplugins.vcproj CS/trunk/mk/msvc7/wkspytypical.sln CS/trunk/mk/msvc7/wkstypical.sln CS/trunk/mk/msvc7/wkswxtypical.sln CS/trunk/mk/msvc71/appgenmeshify.vcproj CS/trunk/mk/msvc71/libcrystalspace_staticplugins.vcproj CS/trunk/mk/msvc71/wkspytypical.sln CS/trunk/mk/msvc71/wkstypical.sln CS/trunk/mk/msvc71/wkswxtypical.sln CS/trunk/mk/msvc8/appgenmeshify.vcproj CS/trunk/mk/msvc8/libcrystalspace_staticplugins.vcproj CS/trunk/mk/msvc8/wkspytypical.sln CS/trunk/mk/msvc8/wkstypical.sln CS/trunk/mk/msvc8/wkswxtypical.sln CS/trunk/mk/msvc9/appgenmeshify.vcproj CS/trunk/mk/msvc9/libcrystalspace_staticplugins.vcproj CS/trunk/mk/msvc9/wkspytypical.sln CS/trunk/mk/msvc9/wkstypical.sln CS/trunk/mk/msvc9/wkswxtypical.sln CS/trunk/plugins/cscript/pyiengine/cs_iengine.cpp CS/trunk/plugins/cscript/pyimesh/cs_imesh.cpp CS/trunk/plugins/cscript/pyivaria/cs_ivaria.cpp CS/trunk/scripts/perl5/cspace.pm CS/trunk/scripts/perl5/cswigpl5.inc CS/trunk/scripts/python/frozen/cspace/iengine.py CS/trunk/scripts/python/frozen/cspace/imesh.py CS/trunk/scripts/python/frozen/cspace/ivaria.py Added Paths: ----------- CS/trunk/docs/html/manual/cs_325.html CS/trunk/docs/html/manual/cs_326.html Removed Paths: ------------- CS/trunk/docs/html/manual/HOWTO-Create-Thing.html CS/trunk/docs/html/manual/MeshObject-Thing.html CS/trunk/docs/html/manual/cs_330.html CS/trunk/docs/html/manual/cs_331.html CS/trunk/mk/msvc/libthing_staticreg.cpp CS/trunk/mk/msvc/libthingldr_staticreg.cpp CS/trunk/mk/msvc/plgthing.rc CS/trunk/mk/msvc/plgthingldr.rc CS/trunk/mk/msvc7/plgthing.vcproj CS/trunk/mk/msvc7/plgthingldr.vcproj CS/trunk/mk/msvc71/plgthing.vcproj CS/trunk/mk/msvc71/plgthingldr.vcproj CS/trunk/mk/msvc8/plgthing.vcproj CS/trunk/mk/msvc8/plgthingldr.vcproj CS/trunk/mk/msvc9/plgthing.vcproj CS/trunk/mk/msvc9/plgthingldr.vcproj Modified: CS/trunk/docs/html/manual/Basic-Tools.html =================================================================== --- CS/trunk/docs/html/manual/Basic-Tools.html 2008-08-20 22:40:42 UTC (rev 30898) +++ CS/trunk/docs/html/manual/Basic-Tools.html 2008-08-21 02:55:44 UTC (rev 30899) @@ -60,37 +60,37 @@ </tr></table> <hr size="1"> <h3 class="subsection"> 4.22.3 Basic Tools </h3> - -<p>The first thing you notice when you start your application using -BugPlug is the current framerate at the lower-left corner of the display. -If you don't want to see this you can always press <samp>‘ctrl-d ctrl-alt-p’</samp>. -To toggle between fps and frame time display, press -<samp>‘ctrl-d ctrl-alt-shift-p’</samp>. -</p> -<p>Another useful feature is the screenshot feature. Just press <samp>‘ctrl-d -f12’</samp> and BugPlug will save a screenshot of the current display to the -current directory. By default this will be a <small>PNG</small> file called -<tt>‘crystal000.png’</tt>. The digits will automatically be incremented so that -previous screenshots are not overwritten. You can change the file format, -filename, and path in <tt>‘data/config/bugplug.cfg’</tt>. -</p> -<p>If you press <samp>‘ctrl-d e’</samp> then BugPlug will render the 3D world in -wireframe mode. This is useful to see how many triangles there are and can -also help to see geometry that you can otherwise not see because there is -not enough light or some materials/shaders are not working properly. -</p> -<p>If you run BugPlug and in addition add <samp>‘-verbose’</samp> or <samp>‘-verbose=-scf’</samp> -on the commandline then BugPlug will show additional debugging information -at the top-left of the display. The first line of this debugging information -is the number of sectors that are being displayed. With every number -you get a current number (what was being rendered last frame), a total number -and an average number. The second line is the number of triangles. Note -that what you think of as a single triangle may actually be multiple -triangles in reality because of lighting and multi-pass effects. The last -debugging line is the number of meshes that are being rendered. Again -this number can be higher then you expect. A single mesh object with two -different materials actually represents two meshes for the renderer. -</p> + +<p>The first thing you notice when you start your application using +BugPlug is the current framerate at the lower-left corner of the display. +If you don't want to see this you can always press <samp>‘ctrl-d ctrl-alt-p’</samp>. +To toggle between fps and frame time display, press +<samp>‘ctrl-d ctrl-alt-shift-p’</samp>. +</p> +<p>Another useful feature is the screenshot feature. Just press <samp>‘ctrl-d +f12’</samp> and BugPlug will save a screenshot of the current display to the +current directory. By default this will be a <small>PNG</small> file called +<tt>‘crystal000.png’</tt>. The digits will automatically be incremented so that +previous screenshots are not overwritten. You can change the file format, +filename, and path in <tt>‘data/config/bugplug.cfg’</tt>. +</p> +<p>If you press <samp>‘ctrl-d e’</samp> then BugPlug will render the 3D world in +wireframe mode. This is useful to see how many triangles there are and can +also help to see geometry that you can otherwise not see because there is +not enough light or some materials/shaders are not working properly. +</p> +<p>If you run BugPlug and in addition add <samp>‘-verbose’</samp> or <samp>‘-verbose=-scf’</samp> +on the commandline then BugPlug will show additional debugging information +at the top-left of the display. The first line of this debugging information +is the number of sectors that are being displayed. With every number +you get a current number (what was being rendered last frame), a total number +and an average number. The second line is the number of triangles. Note +that what you think of as a single triangle may actually be multiple +triangles in reality because of lighting and multi-pass effects. The last +debugging line is the number of meshes that are being rendered. Again +this number can be higher then you expect. A single mesh object with two +different materials actually represents two meshes for the renderer. +</p> <hr size="1"> <p> <font size="-1"> Modified: CS/trunk/docs/html/manual/BugPlug.html =================================================================== --- CS/trunk/docs/html/manual/BugPlug.html 2008-08-20 22:40:42 UTC (rev 30898) +++ CS/trunk/docs/html/manual/BugPlug.html 2008-08-21 02:55:44 UTC (rev 30899) @@ -60,12 +60,12 @@ </tr></table> <hr size="1"> <h2 class="section"> 4.22 Using the BugPlug Debugging Plugin </h2> - -<p>BugPlug is a small plugin that you can automatically load with -every application that uses Crystal Space. It provides a number of -useful debugging tools and also some useful tools for taking screenshots, -displaying framerate and so on. -</p> + +<p>BugPlug is a small plugin that you can automatically load with +every application that uses Crystal Space. It provides a number of +useful debugging tools and also some useful tools for taking screenshots, +displaying framerate and so on. +</p> <table class="menu" border="0" cellspacing="0"> <tr><td align="left" valign="top"><a href="Using-BugPlug.html#0">4.22.1 Using BugPlug</a></td><td> </td><td align="left" valign="top"> </td></tr> @@ -78,7 +78,7 @@ <tr><td align="left" valign="top"><a href="Various-Tools.html#0">4.22.5 Various Tools</a></td><td> </td><td align="left" valign="top"> </td></tr> </table> - + <hr size="1"> <p> <font size="-1"> Modified: CS/trunk/docs/html/manual/Controlling-BugPlug.html =================================================================== --- CS/trunk/docs/html/manual/Controlling-BugPlug.html 2008-08-20 22:40:42 UTC (rev 30898) +++ CS/trunk/docs/html/manual/Controlling-BugPlug.html 2008-08-21 02:55:44 UTC (rev 30899) @@ -60,17 +60,17 @@ </tr></table> <hr size="1"> <h3 class="subsection"> 4.22.2 Controlling BugPlug </h3> - -<p>There are two important keys in BugPlug. First is <samp>‘ctrl-d’</samp>. When you -press this key the next key you press will be treated as a special command -for BugPlug. The second key is <samp>‘ctrl-s’</samp>. When you press this key then -the next mouse click you do will be treated as a special command for -BugPlug. If you accidently press either of those keys then you can simply -press it again to return to normal operation. -</p> -<p>To get a complete list of keys and commands that BugPlug supports you can -look at <tt>‘data/config/bugplug.key’</tt>. -</p> + +<p>There are two important keys in BugPlug. First is <samp>‘ctrl-d’</samp>. When you +press this key the next key you press will be treated as a special command +for BugPlug. The second key is <samp>‘ctrl-s’</samp>. When you press this key then +the next mouse click you do will be treated as a special command for +BugPlug. If you accidently press either of those keys then you can simply +press it again to return to normal operation. +</p> +<p>To get a complete list of keys and commands that BugPlug supports you can +look at <tt>‘data/config/bugplug.key’</tt>. +</p> <hr size="1"> <p> <font size="-1"> Modified: CS/trunk/docs/html/manual/FAQ.html =================================================================== --- CS/trunk/docs/html/manual/FAQ.html 2008-08-20 22:40:42 UTC (rev 30898) +++ CS/trunk/docs/html/manual/FAQ.html 2008-08-21 02:55:44 UTC (rev 30899) @@ -286,7 +286,7 @@ <p><a href="http://www.cs.indiana.edu/~joellis/CSIntro.html">http://www.cs.indiana.edu/~joellis/CSIntro.html</a> </p> -<p><strong>A3</strong>: For maps and objects using either <samp>‘genmesh’</samp> or <samp>‘thing’</samp> +<p><strong>A3</strong>: For maps and objects using <samp>‘genmesh’</samp> you can also use 3dsMax. There is a 3dsMax exporter plugin included with Crystal Space (<tt>‘CS/scripts/max’</tt>) with associated documentation which works very well. This script is made and used by the @@ -441,7 +441,7 @@ </p> </li><li> <strong>Q</strong>: Why can't I get the -<code>iThingState</code> / <code>iSprite3DState</code> / <small class="dots">...</small> from my mesh wrapper? I +<code>iGeneralMeshState</code> / <code>iSprite3DState</code> / <small class="dots">...</small> from my mesh wrapper? I do <code>scfQueryInterface</code> from the mesh and it returns <samp>‘0’</samp>. <p><strong>A</strong>: A common error is to try to query the state interface for @@ -460,15 +460,15 @@ make it easier for you to keep track of references. They will automatically <code>DecRef()</code> when they are ready. Here is an example of their usage: </p> -<table><tr><td> </td><td><pre class="example">csRef<iThingState> st = - scfQueryInterface<iThingState> (mesh->GetMeshObject()); +<table><tr><td> </td><td><pre class="example">csRef<iGeneralMeshState> st = + scfQueryInterface<iGeneralMeshState> (mesh->GetMeshObject()); if (st) { st->blabla ...; } </pre></td></tr></table> <p>You can use the <samp>‘st’</samp> variable just like you would use the normal -<code>iThingState</code> reference. The only difference with code that doesn't use +<code>iGeneralMeshState</code> reference. The only difference with code that doesn't use smart pointers is that you don't have to take care of calling <code>DecRef</code>. See section <a href="Smart-Pointers.html#0">Correctly Using Smart Pointers</a>. </p> @@ -501,21 +501,6 @@ <code>GetBeginDrawFlags()</code>). </p> </li><li> -<strong>Q</strong>: I'm using a <samp>‘thing’</samp> mesh object and some of the polygons -are rendered completely wrong. - -<p><strong>A1</strong>: Polygons in Crystal Space must be convex (meaning that every -line between two random vertices of the polygon is fully contained in -the polygon). -</p> -<p><strong>A2</strong>: The vertices of the polygon must all be on the same plane. -For a triangle that is automatically the case. -</p> -<p><strong>A3</strong>: If you specify texture coordinates using <samp>‘uv’</samp> on three -of the polygon vertices then those three texture coordinates must be -different. -</p> -</li><li> <strong>Q</strong>: I'm trying to use some plugin but it says that it cannot find it (i.e. <code>csQueryRegistry</code> returns null). Modified: CS/trunk/docs/html/manual/Feature-List.html =================================================================== --- CS/trunk/docs/html/manual/Feature-List.html 2008-08-20 22:40:42 UTC (rev 30898) +++ CS/trunk/docs/html/manual/Feature-List.html 2008-08-21 02:55:44 UTC (rev 30899) @@ -136,8 +136,7 @@ Various types of mesh objects: bezier curves, polygonal lightmapped objects, triangle meshes, haze mesh (bit like volumetric light), <small class="dots">...</small>. -See section <a href="MeshObject.html#0">Mesh Object Plug-In System</a>. See section <a href="MeshObject-Thing.html#0">Thing Mesh Object</a>, -See section <a href="HOWTO-Create-Thing.html#0">Creating a Thing Mesh</a>. See section <a href="MeshObject-Genmesh.html#0">Genmesh Mesh Object</a>. +See section <a href="MeshObject.html#0">Mesh Object Plug-In System</a>. See section <a href="MeshObject-Genmesh.html#0">Genmesh Mesh Object</a>. See section <a href="HOWTO-Create-Genmesh.html#0">Creating a Genmesh Mesh</a>. </li><li> Modified: CS/trunk/docs/html/manual/Glossary.html =================================================================== --- CS/trunk/docs/html/manual/Glossary.html 2008-08-20 22:40:42 UTC (rev 30898) +++ CS/trunk/docs/html/manual/Glossary.html 2008-08-21 02:55:44 UTC (rev 30899) @@ -146,7 +146,7 @@ is very modular. The engine itself does not know how to render. It only knows about mesh objects. Every mesh object is responsible for rendering what it represents (using the 3D renderer). Crystal Space supports several -mesh objects: things, 3D sprites, 2D sprites, particle systems, haze, +mesh objects: genmeshes, 3D sprites, 2D sprites, particle systems, haze, terrain engine, <small class="dots">...</small> </p> </dd> @@ -191,13 +191,16 @@ </p> </dd> <dt> <em>Portal</em></dt> -<dd><p>A Portal is one of the polygons of a thing mesh object which will not be -texture mapped (unless it has a semi-transparent texture). Instead another -sector (visible through that portal) will be drawn. A portal may -even point back into the sector in which it is contained. This is -useful for portals which act as mirrors. A more general form of a mirror -is a space warping portal. This way a portal can go to any place in the -world. +<dd><p>A Portal is a special kind of polygons which will not be +texture mapped. Instead another sector (visible through that portal) +will be drawn. A portal may even point back into the sector in which it +is contained. This is useful for portals which act as mirrors. A +more general form of a mirror is a space warping portal. This way a +portal can go to any place in the world. +There are heavy and light portals. A light portal is for simple cases +where the portal doesn't transform space or has any special flags. In that +case the contents of the portal is simply rendered on screen. With heavy +portals the contents of the portal is rendered on a separate texture. </p> </dd> <dt> <em>Procedural Texture</em></dt> @@ -252,7 +255,7 @@ <dt> <em>Sector</em></dt> <dd><p>A sector is simply a container of geometry. It contains several mesh objects which will represent the geometry of the sector. A common mesh object is -the thing mesh object which is usually used to put walls around a sector +the genmesh mesh object which is usually used to put walls around a sector (that way the sector represents a room). Other mesh objects like 3d sprites can be used for actors. </p> @@ -270,7 +273,7 @@ from object space to texture space. </p> </dd> -<dt> <em>Thing Mesh Object</em></dt> +<dt> <em>GenMesh Mesh Object</em></dt> <dd><p>A mesh object which is often used to represent walls of a sector but can in general be used to represent many more kinds of objects. </p> Modified: CS/trunk/docs/html/manual/HOWTO-Create-Genmesh.html =================================================================== --- CS/trunk/docs/html/manual/HOWTO-Create-Genmesh.html 2008-08-20 22:40:42 UTC (rev 30898) +++ CS/trunk/docs/html/manual/HOWTO-Create-Genmesh.html 2008-08-21 02:55:44 UTC (rev 30899) @@ -11,10 +11,10 @@ --> <head> -<title>Crystal Space 1.9.0: 4.10.5 Creating a Genmesh Mesh</title> +<title>Crystal Space 1.9.0: 4.10.4 Creating a Genmesh Mesh</title> -<meta name="description" content="Crystal Space 1.9.0: 4.10.5 Creating a Genmesh Mesh"> -<meta name="keywords" content="Crystal Space 1.9.0: 4.10.5 Creating a Genmesh Mesh"> +<meta name="description" content="Crystal Space 1.9.0: 4.10.4 Creating a Genmesh Mesh"> +<meta name="keywords" content="Crystal Space 1.9.0: 4.10.4 Creating a Genmesh Mesh"> <meta name="resource-type" content="document"> <meta name="distribution" content="global"> <meta name="Generator" content="texi2html 1.76"> @@ -43,7 +43,7 @@ <a name="HOWTO-Create-Genmesh"></a> <a name="0"></a> <table cellpadding="1" cellspacing="1" border="0"> -<tr><td valign="middle" align="left">[<a href="HOWTO-Create-Thing.html#0" title="Previous section in reading order"> < </a>]</td> +<tr><td valign="middle" align="left">[<a href="Writing-MeshObjects.html#0" title="Previous section in reading order"> < </a>]</td> <td valign="middle" align="left">[<a href="HOWTO-Mesh-LightAnim.html#0" title="Next section in reading order"> > </a>]</td> <td valign="middle" align="left"> </td> <td valign="middle" align="left">[<a href="Using-Crystal-Space.html#0" title="Beginning of this chapter or previous chapter"> << </a>]</td> @@ -59,7 +59,7 @@ <td valign="middle" align="left">[<a href="cs_abt.html#SEC_About" title="About (help)"> ? </a>]</td> </tr></table> <hr size="1"> -<h3 class="subsection"> 4.10.5 Creating a Genmesh Mesh </h3> +<h3 class="subsection"> 4.10.4 Creating a Genmesh Mesh </h3> <p>This section describes how to create a Genmesh mesh. </p> @@ -207,7 +207,7 @@ </pre></td></tr></table> <hr size="1"> <table cellpadding="1" cellspacing="1" border="0"> -<tr><td valign="middle" align="left">[<a href="HOWTO-Create-Thing.html#0" title="Previous section in reading order"> < </a>]</td> +<tr><td valign="middle" align="left">[<a href="Writing-MeshObjects.html#0" title="Previous section in reading order"> < </a>]</td> <td valign="middle" align="left">[<a href="HOWTO-Mesh-LightAnim.html#0" title="Next section in reading order"> > </a>]</td> <td valign="middle" align="left"> </td> <td valign="middle" align="left">[<a href="Using-Crystal-Space.html#0" title="Beginning of this chapter or previous chapter"> << </a>]</td> Deleted: CS/trunk/docs/html/manual/HOWTO-Create-Thing.html =================================================================== --- CS/trunk/docs/html/manual/HOWTO-Create-Thing.html 2008-08-20 22:40:42 UTC (rev 30898) +++ CS/trunk/docs/html/manual/HOWTO-Create-Thing.html 2008-08-21 02:55:44 UTC (rev 30899) @@ -1,211 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd"> -<html> -<!-- Created by texi2html 1.76 --> -<!-- -Written by: Lionel Cons <Lio...@ce...> (original author) - Karl Berry <ka...@fr...> - Olaf Bachmann <oba...@ma...> - and many others. -Maintained by: Many creative people <de...@te...> -Send bugs and suggestions to <us...@te...> - ---> -<head> -<title>Crystal Space 1.9.0: 4.10.4 Creating a Thing Mesh</title> - -<meta name="description" content="Crystal Space 1.9.0: 4.10.4 Creating a Thing Mesh"> -<meta name="keywords" content="Crystal Space 1.9.0: 4.10.4 Creating a Thing Mesh"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="texi2html 1.76"> -<meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -pre.display {font-family: serif} -pre.format {font-family: serif} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: serif; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: serif; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.sansserif {font-family:sans-serif; font-weight:normal;} -ul.toc {list-style: none} ---> -</style> - - -</head> - -<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> - -<a name="HOWTO-Create-Thing"></a> -<a name="0"></a> -<table cellpadding="1" cellspacing="1" border="0"> -<tr><td valign="middle" align="left">[<a href="Writing-MeshObjects.html#0" title="Previous section in reading order"> < </a>]</td> -<td valign="middle" align="left">[<a href="HOWTO-Create-Genmesh.html#0" title="Next section in reading order"> > </a>]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[<a href="Using-Crystal-Space.html#0" title="Beginning of this chapter or previous chapter"> << </a>]</td> -<td valign="middle" align="left">[<a href="MeshObject.html#0" title="Up section"> Up </a>]</td> -<td valign="middle" align="left">[<a href="Working-with-Engine-Content.html#0" title="Next chapter"> >> </a>]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[<a href="index.html#SEC_Top" title="Cover (top) of document">Top</a>]</td> -<td valign="middle" align="left">[<a href="cs_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td> -<td valign="middle" align="left">[<a href="cs_Index.html#0" title="Index">Index</a>]</td> -<td valign="middle" align="left">[<a href="cs_abt.html#SEC_About" title="About (help)"> ? </a>]</td> -</tr></table> -<hr size="1"> -<h3 class="subsection"> 4.10.4 Creating a Thing Mesh </h3> - -<p>This section describes how to create a thing mesh. Note that the thing -mesh is considered deprecated in favor of <samp>‘GenMesh’</samp>. -See section <a href="MeshObject-Genmesh.html#0">Genmesh Mesh Object</a>. -</p> -<a name="1"></a> -<h4 class="subsubheading"> What are Things? </h4> - -<p>A <samp>‘thing’</samp> mesh object (see section <a href="MeshObject-Thing.html#0">Thing Mesh Object</a>) is an object made -out of polygons. Every polygon can have another material and the polygons -can have three or more vertices. A thing uses lightmapping -for lighting (roughly this means that every polygon gets another texture -which contains light and shadow information for that polygon). -</p> -<p>Things are useful for static geometry objects or objects that don't animate. -You can use it for walls, floor, staircases, and even doors that open. As -long as the object itself doesn't have to animate (but just moves) a thing -is perfectly fine. For very high detail objects it is probably better to -use the <samp>‘genmesh’</samp> mesh object (see section <a href="MeshObject-Genmesh.html#0">Genmesh Mesh Object</a> instead. Also -if you want to use internal animation (like an actor or a creature in your -game) you should use the <samp>‘sprite3d’</samp> mesh object (see section <a href="MeshObject-Spr3D.html#0">Sprite3D Mesh Object</a>). -</p> -<p>Things can share geometry if they are made from the same factory. Note that -information like lightmaps is not shared because a lightmap is position -dependent (i.e. the amount of light a polygon receives depends on where the -object instance actually is). -</p> -<p>Note that you can hardtransform things (hardmove in maps). If you do this -on a mesh object instance then the factory will be cloned if it is used -by multiple mesh objects. That's because hardtransform essentially modifies -the original geometry and the geometry of a thing is always in the factory. -So beware of this because it may mean a lot of extra memory usage if you -hardtransform every instance created from a factory. -</p> -<p>Note that individual polygons can have names. This can be useful for debugging -and also for attaching specific game features to some polygons (like indicating -if some polygon is a light switch button or something) but be aware that these -names add some memory overhead. -</p> -<a name="2"></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 -in this example we avoid the use of a factory. We load a mesh object directly. -A factory will be created invisibly to support the thing geometry: -</p> -<table><tr><td> </td><td><pre class="example"><meshobj name="cube"> - <plugin>crystalspace.mesh.loader.thing</plugin> - <params> - <v x="-0.5" y="-0.5" z="-0.5" /> - <v x="-0.5" y="-0.5" z="0.5" /> - <v x="-0.5" y="0.5" z="-0.5" /> - <v x="-0.5" y="0.5" z="0.5" /> - <v x="0.5" y="-0.5" z="-0.5" /> - <v x="0.5" y="-0.5" z="0.5" /> - <v x="0.5" y="0.5" z="-0.5" /> - <v x="0.5" y="0.5" z="0.5" /> - - <material>upMaterial</material> - <p name="up"> - <v>3</v> <v>7</v> <v>6</v> <v>2</v> - </p> - <material>otherMaterial</material> - <p name="north"> - <v>1</v> <v>5</v> <v>7</v> <v>3</v> - </p> - <p name="east"> - <v>5</v> <v>4</v> <v>6</v> <v>7</v> - </p> - <p name="south"> - <v>4</v> <v>0</v> <v>2</v> <v>6</v> - </p> - <p name="west"> - <v>0</v> <v>1</v> <v>3</v> <v>2</v> - </p> - <p name="down"> - <v>0</v> <v>4</v> <v>5</v> <v>1</v> - </p> - </params> - <move> - <v x="1" y="0" z="3" /> - </move> -</meshobj> -</pre></td></tr></table> -<p>There is a lot more you can do in a thing. For example you can specify -exactly how you want to map the texture on the polygons. -In this particular example we create a cube that -has another material for the upper polygon. -</p> -<a name="3"></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 -the engine to create a thing (<code>CreateThingMesh</code>). -</p> -<table><tr><td> </td><td><pre class="example">iMaterialWrapper* upMaterial = ... -iMaterialWrapper* otherMaterial = ... -csRef<iMeshWrapper> walls = engine->CreateThingMesh (room, "cube")); -csRef<iThingState> ws = - scfQueryInterface<iThingState> (walls->GetMeshObject ()); -iMeshObject* walls_object = walls->GetMeshObject (); -iMeshObjectFactory* walls_factory = walls->GetFactory(); -csRef<iThingFactoryState> walls_state = - scfQueryInterface<iThingFactoryState> (walls_factory); -walls_state->AddQuad ( - csVector3 (-.5, .5, -.5), - csVector3 (.5, .5, -.5), - csVector3 (.5, .5, .5), - csVector3 (-.5, .5, .5)); -walls_state->SetPolygonMaterial (CS_POLYRANGE_LAST, upMaterial); -walls_state->SetPolygonTextureMapping (CS_POLYRANGE_LAST, 3); -... -</pre></td></tr></table> -<p>This is only an extract of the example but you can easily see how to create -additional polygons here. -</p> -<a name="4"></a> -<h4 class="subsubheading"> Include Files </h4> - -<p>The include files useful for this section are: -</p> -<table><tr><td> </td><td><pre class="example">#include <imesh/thing.h> -</pre></td></tr></table> -<hr size="1"> -<table cellpadding="1" cellspacing="1" border="0"> -<tr><td valign="middle" align="left">[<a href="Writing-MeshObjects.html#0" title="Previous section in reading order"> < </a>]</td> -<td valign="middle" align="left">[<a href="HOWTO-Create-Genmesh.html#0" title="Next section in reading order"> > </a>]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[<a href="Using-Crystal-Space.html#0" title="Beginning of this chapter or previous chapter"> << </a>]</td> -<td valign="middle" align="left">[<a href="MeshObject.html#0" title="Up section"> Up </a>]</td> -<td valign="middle" align="left">[<a href="Working-with-Engine-Content.html#0" title="Next chapter"> >> </a>]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[<a href="index.html#SEC_Top" title="Cover (top) of document">Top</a>]</td> -<td valign="middle" align="left">[<a href="cs_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td> -<td valign="middle" align="left">[<a href="cs_Index.html#0" title="Index">Index</a>]</td> -<td valign="middle" align="left">[<a href="cs_abt.html#SEC_About" title="About (help)"> ? </a>]</td> -</tr></table> -<p> - <font size="-1"> - This document was generated using <a href="http://texi2html.cvshome.org/"><em>texi2html 1.76</em></a>. - </font> - <br> - -</p> -</body> -</html> Modified: CS/trunk/docs/html/manual/HOWTO-Mesh-LightAnim.html =================================================================== --- CS/trunk/docs/html/manual/HOWTO-Mesh-LightAnim.html 2008-08-20 22:40:42 UTC (rev 30898) +++ CS/trunk/docs/html/manual/HOWTO-Mesh-LightAnim.html 2008-08-21 02:55:44 UTC (rev 30899) @@ -11,10 +11,10 @@ --> <head> -<title>Crystal Space 1.9.0: 4.10.6 Mesh Lighting and Animation</title> +<title>Crystal Space 1.9.0: 4.10.5 Mesh Lighting and Animation</title> -<meta name="description" content="Crystal Space 1.9.0: 4.10.6 Mesh Lighting and Animation"> -<meta name="keywords" content="Crystal Space 1.9.0: 4.10.6 Mesh Lighting and Animation"> +<meta name="description" content="Crystal Space 1.9.0: 4.10.5 Mesh Lighting and Animation"> +<meta name="keywords" content="Crystal Space 1.9.0: 4.10.5 Mesh Lighting and Animation"> <meta name="resource-type" content="document"> <meta name="distribution" content="global"> <meta name="Generator" content="texi2html 1.76"> @@ -59,7 +59,7 @@ <td valign="middle" align="left">[<a href="cs_abt.html#SEC_About" title="About (help)"> ? </a>]</td> </tr></table> <hr size="1"> -<h3 class="subsection"> 4.10.6 Mesh Lighting and Animation </h3> +<h3 class="subsection"> 4.10.5 Mesh Lighting and Animation </h3> <p>This section describes how to do animation for meshes and how they can get lit by surrounding lights. Modified: CS/trunk/docs/html/manual/HOWTO-Mesh-Movement.html =================================================================== --- CS/trunk/docs/html/manual/HOWTO-Mesh-Movement.html 2008-08-20 22:40:42 UTC (rev 30898) +++ CS/trunk/docs/html/manual/HOWTO-Mesh-Movement.html 2008-08-21 02:55:44 UTC (rev 30899) @@ -11,10 +11,10 @@ --> <head> -<title>Crystal Space 1.9.0: 4.10.7 Mesh Movement</title> +<title>Crystal Space 1.9.0: 4.10.6 Mesh Movement</title> -<meta name="description" content="Crystal Space 1.9.0: 4.10.7 Mesh Movement"> -<meta name="keywords" content="Crystal Space 1.9.0: 4.10.7 Mesh Movement"> +<meta name="description" content="Crystal Space 1.9.0: 4.10.6 Mesh Movement"> +<meta name="keywords" content="Crystal Space 1.9.0: 4.10.6 Mesh Movement"> <meta name="resource-type" content="document"> <meta name="distribution" content="global"> <meta name="Generator" content="texi2html 1.76"> @@ -59,7 +59,7 @@ <td valign="middle" align="left">[<a href="cs_abt.html#SEC_About" title="About (help)"> ? </a>]</td> </tr></table> <hr size="1"> -<h3 class="subsection"> 4.10.7 Mesh Movement </h3> +<h3 class="subsection"> 4.10.6 Mesh Movement </h3> <p>This section describes how to move meshes around in your world. </p> Modified: CS/trunk/docs/html/manual/Map-Creation.html =================================================================== --- CS/trunk/docs/html/manual/Map-Creation.html 2008-08-20 22:40:42 UTC (rev 30898) +++ CS/trunk/docs/html/manual/Map-Creation.html 2008-08-21 02:55:44 UTC (rev 30899) @@ -218,7 +218,7 @@ object in a map file: </p> <table><tr><td> </td><td><pre class="example"><meshobj name="complexWall"> - <plugin>thing</plugin> + <plugin>genmesh</plugin> <params> ... </params> @@ -238,7 +238,7 @@ <p>And this is an example of how you can disable the occlusion mesh for an object: </p> <table><tr><td> </td><td><pre class="example"><meshobj name="wallSegment"> - <plugin>thing</plugin> + <plugin>genmesh</plugin> <params> ... </params> @@ -296,22 +296,10 @@ </p> <ul> <li> -<code>thing</code>: A polygon mesh object that supports multiple -materials and lightmapped, vertex based, or stencil based lighting. It is not -easy to animate them internally so they are usually used for static -objects. If you use lightmaps then these also will not be updated if the -object moves, so that is another consideration. <samp>‘thing’</samp> objects are -heavy-weight (use more memory than many other mesh types). Their main -advantage is that they support lightmaps which means that they can cast and -receive shadows even if they only have a few polygons. In contrast, an object -that only supports vertex lighting can not have shadows on a single polygon or -triangle (except if stencil-based lighting is used) (see section <a href="MeshObject-Thing.html#0">Thing Mesh Object</a>). - -</li><li> -<code>genmesh</code>: A triangle mesh object with a single -material. It only supports vertex- or stencil-based lighting and it is also -not designed for internal animation (although it is possible to do so). -Genmeshes are very efficient with regards to memory usage and rendering speed +<code>genmesh</code>: A triangle mesh object with support for multiple +materials. They are useful for static geometry mostly but you can easily +move them around as well. Genmeshes are very efficient with regards to +memory usage and rendering speed (see section <a href="MeshObject-Genmesh.html#0">Genmesh Mesh Object</a>). </li><li> @@ -329,21 +317,14 @@ </p> <ul> <li> -For static geometry, <samp>‘thing’</samp> or <samp>‘genmesh’</samp> objects are ideal. -<samp>‘genmesh’</samp> typically is used for high-detail objects that only need a -single material (every triangle can use other parts of the texture) and where -there is no need for detailed shadows on the individual triangles (usually a -<samp>‘genmesh’</samp> object is either small or highly detailed so that shadows are -accurately represented using vertex lighting only). <samp>‘thing’</samp> is used in -case you want large objects that have little detail but require detailed -lighting. +For static geometry, <samp>‘genmesh’</samp> objects are ideal. </li><li> If you plan on using stencil lighting only, then it is probably best to use mostly <samp>‘genmesh’</samp> objects. </li><li> -For moving objects you can also use <samp>‘thing’</samp> or <samp>‘genmesh’</samp> as long +For moving objects you can also use <samp>‘genmesh’</samp> as long as there is no need to change the object's appearance (i.e. no internal animation is required). You have to be aware of lighting problems mentioned above, though. @@ -363,21 +344,13 @@ Game actors and creatures should use <samp>‘sprite3d’</samp> or <samp>‘sprcal3d’</samp>. </li></ul> -<p>One important note when using <samp>‘thing’</samp> meshes: it is <em>very</em> important -to try to use quads instead of triangles. This is because lightmaps are -rectangular. If you have a wall made out of two triangles then you will have -two full square lightmaps (one for every triangle) which is a waste given -that half of these lightmaps will be unused. If you use a single quad -polygon for the wall then only one lightmap will be used. Lightmaps can be -big so this really can make a huge difference on performance. -</p> <a name="4"></a> <h4 class="subsubheading"> Assisting the Renderer </h4> <p>When considering on how to design your objects you should keep in mind what the renderer prefers. For the renderer a <em>mesh</em> is defined as a polygon or triangle mesh with a single material and/or shader. So, if -you are using a <samp>‘thing’</samp> mesh that uses multiple materials then this is +you are using a <samp>‘genmesh’</samp> mesh that uses multiple materials then this is actually a set of different meshes for the renderer. To avoid confusion we will call the single-material mesh that the renderer uses a <em>render-mesh</em>. </p> Modified: CS/trunk/docs/html/manual/MeshObject-Emit.html =================================================================== --- CS/trunk/docs/html/manual/MeshObject-Emit.html 2008-08-20 22:40:42 UTC (rev 30898) +++ CS/trunk/docs/html/manual/MeshObject-Emit.html 2008-08-21 02:55:44 UTC (rev 30899) @@ -11,10 +11,10 @@ --> <head> -<title>Crystal Space 1.9.0: 4.10.17 Emitter Mesh Object</title> +<title>Crystal Space 1.9.0: 4.10.15 Emitter Mesh Object</title> -<meta name="description" content="Crystal Space 1.9.0: 4.10.17 Emitter Mesh Object"> -<meta name="keywords" content="Crystal Space 1.9.0: 4.10.17 Emitter Mesh Object"> +<meta name="description" content="Crystal Space 1.9.0: 4.10.15 Emitter Mesh Object"> +<meta name="keywords" content="Crystal Space 1.9.0: 4.10.15 Emitter Mesh Object"> <meta name="resource-type" content="document"> <meta name="distribution" content="global"> <meta name="Generator" content="texi2html 1.76"> @@ -59,7 +59,7 @@ <td valign="middle" align="left">[<a href="cs_abt.html#SEC_About" title="About (help)"> ? </a>]</td> </tr></table> <hr size="1"> -<h3 class="subsection"> 4.10.17 Emitter Mesh Object </h3> +<h3 class="subsection"> 4.10.15 Emitter Mesh Object </h3> <p><em>Written by Wouter Wijngaards, <a href="mailto:wo...@cs...">wo...@cs...</a>.</em> Modified: CS/trunk/docs/html/manual/MeshObject-Genmesh.html =================================================================== --- CS/trunk/docs/html/manual/MeshObject-Genmesh.html 2008-08-20 22:40:42 UTC (rev 30898) +++ CS/trunk/docs/html/manual/MeshObject-Genmesh.html 2008-08-21 02:55:44 UTC (rev 30899) @@ -11,10 +11,10 @@ --> <head> -<title>Crystal Space 1.9.0: 4.10.8 Genmesh Mesh Object</title> +<title>Crystal Space 1.9.0: 4.10.7 Genmesh Mesh Object</title> -<meta name="description" content="Crystal Space 1.9.0: 4.10.8 Genmesh Mesh Object"> -<meta name="keywords" content="Crystal Space 1.9.0: 4.10.8 Genmesh Mesh Object"> +<meta name="description" content="Crystal Space 1.9.0: 4.10.7 Genmesh Mesh Object"> +<meta name="keywords" content="Crystal Space 1.9.0: 4.10.7 Genmesh Mesh Object"> <meta name="resource-type" content="document"> <meta name="distribution" content="global"> <meta name="Generator" content="texi2html 1.76"> @@ -44,7 +44,7 @@ <a name="0"></a> <table cellpadding="1" cellspacing="1" border="0"> <tr><td valign="middle" align="left">[<a href="HOWTO-Mesh-Movement.html#0" title="Previous section in reading order"> < </a>]</td> -<td valign="middle" align="left">[<a href="MeshObject-Thing.html#0" title="Next section in reading order"> > </a>]</td> +<td valign="middle" align="left">[<a href="MeshObject-TerrFunc.html#0" title="Next section in reading order"> > </a>]</td> <td valign="middle" align="left"> </td> <td valign="middle" align="left">[<a href="Using-Crystal-Space.html#0" title="Beginning of this chapter or previous chapter"> << </a>]</td> <td valign="middle" align="left">[<a href="MeshObject.html#0" title="Up section"> Up </a>]</td> @@ -59,7 +59,7 @@ <td valign="middle" align="left">[<a href="cs_abt.html#SEC_About" title="About (help)"> ? </a>]</td> </tr></table> <hr size="1"> -<h3 class="subsection"> 4.10.8 Genmesh Mesh Object </h3> +<h3 class="subsection"> 4.10.7 Genmesh Mesh Object </h3> <p><em>Written by Jorrit Tyberghein, <a href="mailto:jor...@gm...">jor...@gm...</a>.</em> @@ -296,7 +296,7 @@ <hr size="1"> <table cellpadding="1" cellspacing="1" border="0"> <tr><td valign="middle" align="left">[<a href="HOWTO-Mesh-Movement.html#0" title="Previous section in reading order"> < </a>]</td> -<td valign="middle" align="left">[<a href="MeshObject-Thing.html#0" title="Next section in reading order"> > </a>]</td> +<td valign="middle" align="left">[<a href="MeshObject-TerrFunc.html#0" title="Next section in reading order"> > </a>]</td> <td valign="middle" align="left"> </td> <td valign="middle" align="left">[<a href="Using-Crystal-Space.html#0" title="Beginning of this chapter or previous chapter"> << </a>]</td> <td valign="middle" align="left">[<a href="MeshObject.html#0" title="Up section"> Up </a>]</td> Modified: CS/trunk/docs/html/manual/MeshObject-Haze.html =================================================================== --- CS/trunk/docs/html/manual/MeshObject-Haze.html 2008-08-20 22:40:42 UTC (rev 30898) +++ CS/trunk/docs/html/manual/MeshObject-Haze.html 2008-08-21 02:55:44 UTC (rev 30899) @@ -11,10 +11,10 @@ --> <head> -<title>Crystal Space 1.9.0: 4.10.18 Haze Mesh Object</title> +<title>Crystal Space 1.9.0: 4.10.16 Haze Mesh Object</title> -<meta name="description" content="Crystal Space 1.9.0: 4.10.18 Haze Mesh Object"> -<meta name="keywords" content="Crystal Space 1.9.0: 4.10.18 Haze Mesh Object"> +<meta name="description" content="Crystal Space 1.9.0: 4.10.16 Haze Mesh Object"> +<meta name="keywords" content="Crystal Space 1.9.0: 4.10.16 Haze Mesh Object"> <meta name="resource-type" content="document"> <meta name="distribution" content="global"> <meta name="Generator" content="texi2html 1.76"> @@ -59,7 +59,7 @@ <td valign="middle" align="left">[<a href="cs_abt.html#SEC_About" title="About (help)"> ? </a>]</td> </tr></table> <hr size="1"> -<h3 class="subsection"> 4.10.18 Haze Mesh Object </h3> +<h3 class="subsection"> 4.10.16 Haze Mesh Object </h3> <p>This mesh object represents a 'haze' which is a bit like volumetric light. For example you can show this way moody Modified: CS/trunk/docs/html/manual/MeshObject-Particles.html =================================================================== --- CS/trunk/docs/html/manual/MeshObject-Particles.html 2008-08-20 22:40:42 UTC (rev 30898) +++ CS/trunk/docs/html/manual/MeshObject-Particles.html 2008-08-21 02:55:44 UTC (rev 30899) @@ -11,10 +11,10 @@ --> <head> -<title>Crystal Space 1.9.0: 4.10.12 Particles Mesh Object</title> +<title>Crystal Space 1.9.0: 4.10.10 Particles Mesh Object</title> -<meta name="description" content="Crystal Space 1.9.0: 4.10.12 Particles Mesh Object"> -<meta name="keywords" content="Crystal Space 1.9.0: 4.10.12 Particles Mesh Object"> +<meta name="description" content="Crystal Space 1.9.0: 4.10.10 Particles Mesh Object"> +<meta name="keywords" content="Crystal Space 1.9.0: 4.10.10 Particles Mesh Object"> <meta name="resource-type" content="document"> <meta name="distribution" content="global"> <meta name="Generator" content="texi2html 1.76"> @@ -59,7 +59,7 @@ <td valign="middle" align="left">[<a href="cs_abt.html#SEC_About" title="About (help)"> ? </a>]</td> </tr></table> <hr size="1"> -<h3 class="subsection"> 4.10.12 Particles Mesh Object </h3> +<h3 class="subsection"> 4.10.10 Particles Mesh Object </h3> <p><em>Written by Mårten Svanfeldt, <a href="mailto:dev...@sv...">dev...@sv...</a>.</em> Modified: CS/trunk/docs/html/manual/MeshObject-Portal-Container.html =================================================================== --- CS/trunk/docs/html/manual/MeshObject-Portal-Container.html 2008-08-20 22:40:42 UTC (rev 30898) +++ CS/trunk/docs/html/manual/MeshObject-Portal-Container.html 2008-08-21 02:55:44 UTC (rev 30899) @@ -11,10 +11,10 @@ --> <head> -<title>Crystal Space 1.9.0: 4.10.13 Portal Container Mesh Object</title> +<title>Crystal Space 1.9.0: 4.10.11 Portal Container Mesh Object</title> -<meta name="description" content="Crystal Space 1.9.0: 4.10.13 Portal Container Mesh Object"> -<meta name="keywords" content="Crystal Space 1.9.0: 4.10.13 Portal Container Mesh Object"> +<meta name="description" content="Crystal Space 1.9.0: 4.10.11 Portal Container Mesh Object"> +<meta name="keywords" content="Crystal Space 1.9.0: 4.10.11 Portal Container Mesh Object"> <meta name="resource-type" content="document"> <meta name="distribution" content="global"> <meta name="Generator" content="texi2html 1.76"> @@ -59,7 +59,7 @@ <td valign="middle" align="left">[<a href="cs_abt.html#SEC_About" title="About (help)"> ? </a>]</td> </tr></table> <hr size="1"> -<h3 class="subsection"> 4.10.13 Portal Container Mesh Object </h3> +<h3 class="subsection"> 4.10.11 Portal Container Mesh Object </h3> <p><em>Written by Jorrit Tyberghein, (<a href="mailto:jor...@gm...">jor...@gm...</a>).</em> Modified: CS/trunk/docs/html/manual/MeshObject-Spr2D.html =================================================================== --- CS/trunk/docs/html/manual/MeshObject-Spr2D.html 2008-08-20 22:40:42 UTC (rev 30898) +++ CS/trunk/docs/html/manual/MeshObject-Spr2D.html 2008-08-21 02:55:44 UTC (rev 30899) @@ -11,10 +11,10 @@ --> <head> -<title>Crystal Space 1.9.0: 4.10.15 Sprite2D Mesh Object</title> +<title>Crystal Space 1.9.0: 4.10.13 Sprite2D Mesh Object</title> -<meta name="description" content="Crystal Space 1.9.0: 4.10.15 Sprite2D Mesh Object"> -<meta name="keywords" content="Crystal Space 1.9.0: 4.10.15 Sprite2D Mesh Object"> +<meta name="description" content="Crystal Space 1.9.0: 4.10.13 Sprite2D Mesh Object"> +<meta name="keywords" content="Crystal Space 1.9.0: 4.10.13 Sprite2D Mesh Object"> <meta name="resource-type" content="document"> <meta name="distribution" content="global"> <meta name="Generator" content="texi2html 1.76"> @@ -59,7 +59,7 @@ <td valign="middle" align="left">[<a href="cs_abt.html#SEC_About" title="About (help)"> ? </a>]</td> </tr></table> <hr size="1"> -<h3 class="subsection"> 4.10.15 Sprite2D Mesh Object </h3> +<h3 class="subsection"> 4.10.13 Sprite2D Mesh Object </h3> <p><em>Written by Jorrit Tyberghein, (<a href="mailto:jor...@gm...">jor...@gm...</a>).</em> Modified: CS/trunk/docs/html/manual/MeshObject-Spr3D.html =================================================================== --- CS/trunk/docs/html/manual/MeshObject-Spr3D.html 2008-08-20 22:40:42 UTC (rev 30898) +++ CS/trunk/docs/html/manual/MeshObject-Spr3D.html 2008-08-21 02:55:44 UTC (rev 30899) @@ -11,10 +11,10 @@ --> <head> -<title>Crystal Space 1.9.0: 4.10.16 Sprite3D Mesh Object</title> +<title>Crystal Space 1.9.0: 4.10.14 Sprite3D Mesh Object</title> -<meta name="description" content="Crystal Space 1.9.0: 4.10.16 Sprite3D Mesh Object"> -<meta name="keywords" content="Crystal Space 1.9.0: 4.10.16 Sprite3D Mesh Object"> +<meta name="description" content="Crystal Space 1.9.0: 4.10.14 Sprite3D Mesh Object"> +<meta name="keywords" content="Crystal Space 1.9.0: 4.10.14 Sprite3D Mesh Object"> <meta name="resource-type" content="document"> <meta name="distribution" content="global"> <meta name="Generator" content="texi2html 1.76"> @@ -59,7 +59,7 @@ <td valign="middle" align="left">[<a href="cs_abt.html#SEC_About" title="About (help)"> ? </a>]</td> </tr></table> <hr size="1"> -<h3 class="subsection"> 4.10.16 Sprite3D Mesh Object </h3> +<h3 class="subsection"> 4.10.14 Sprite3D Mesh Object </h3> <p><em>Written by Jorrit Tyberghein, <a href="mailto:jor...@gm...">jor...@gm...</a>.</em> Modified: CS/trunk/docs/html/manual/MeshObject-SprCal3D.html =================================================================== --- CS/trunk/docs/html/manual/MeshObject-SprCal3D.html 2008-08-20 22:40:42 UTC (rev 30898) +++ CS/trunk/docs/html/manual/MeshObject-SprCal3D.html 2008-08-21 02:55:44 UTC (rev 30899) @@ -11,10 +11,10 @@ --> <head> -<title>Crystal Space 1.9.0: 4.10.14 SpriteCal3D Mesh Object</title> +<title>Crystal Space 1.9.0: 4.10.12 SpriteCal3D Mesh Object</title> -<meta name="description" content="Crystal Space 1.9.0: 4.10.14 SpriteCal3D Mesh Object"> -<meta name="keywords" content="Crystal Space 1.9.0: 4.10.14 SpriteCal3D Mesh Object"> +<meta name="description" content="Crystal Space 1.9.0: 4.10.12 SpriteCal3D Mesh Object"> +<meta name="keywords" content="Crystal Space 1.9.0: 4.10.12 SpriteCal3D Mesh Object"> <meta name="resource-type" content="document"> <meta name="distribution" content="global"> <meta name="Generator" content="texi2html 1.76"> @@ -59,7 +59,7 @@ <td valign="middle" align="left">[<a href="cs_abt.html#SEC_About" title="About (help)"> ? </a>]</td> </tr></table> <hr size="1"> -<h3 class="subsection"> 4.10.14 SpriteCal3D Mesh Object </h3> +<h3 class="subsection"> 4.10.12 SpriteCal3D Mesh Object </h3> <p><tt>‘sprcal3d’</tt> is a 3D mesh plugin which can perform skeletal animation using the Cal3D library. Modified: CS/trunk/docs/html/manual/MeshObject-TerrFunc.html =================================================================== --- CS/trunk/docs/html/manual/MeshObject-TerrFunc.html 2008-08-20 22:40:42 UTC (rev 30898) +++ CS/trunk/docs/html/manual/MeshObject-TerrFunc.html 2008-08-21 02:55:44 UTC (rev 30899) @@ -11,10 +11,10 @@ --> <head> -<title>Crystal Space 1.9.0: 4.10.10 Terrain Mesh Object</title> +<title>Crystal Space 1.9.0: 4.10.8 Terrain Mesh Object</title> -<meta name="description" content="Crystal Space 1.9.0: 4.10.10 Terrain Mesh Object"> -<meta name="keywords" content="Crystal Space 1.9.0: 4.10.10 Terrain Mesh Object"> +<meta name="description" content="Crystal Space 1.9.0: 4.10.8 Terrain Mesh Object"> +<meta name="keywords" content="Crystal Space 1.9.0: 4.10.8 Terrain Mesh Object"> <meta name="resource-type" content="document"> <meta name="distribution" content="global"> <meta name="Generator" content="texi2html 1.76"> @@ -43,7 +43,7 @@ <a name="MeshObject-TerrFunc"></a> <a name="0"></a> <table cellpadding="1" cellspacing="1" border="0"> -<tr><td valign="middle" align="left">[<a href="MeshObject-Thing.html#0" title="Previous section in reading order"> < </a>]</td> +<tr><td valign="middle" align="left">[<a href="MeshObject-Genmesh.html#0" title="Previous section in reading order"> < </a>]</td> <td valign="middle" align="left">[<a href="MeshObject-Terrain2.html#0" title="Next section in reading order"> > </a>]</td> <td valign="middle" align="left"> </td> <td valign="middle" align="left">[<a href="Using-Crystal-Space.html#0" title="Beginning of this chapter or previous chapter"> << </a>]</td> @@ -59,7 +59,7 @@ <td valign="middle" align="left">[<a href="cs_abt.html#SEC_About" title="About (help)"> ? </a>]</td> </tr></table> <hr size="1"> -<h3 class="subsection"> 4.10.10 Terrain Mesh Object </h3> +<h3 class="subsection"> 4.10.8 Terrain Mesh Object </h3> <p><em>Written by Jorrit Tyberghein, (<a href="mailto:jor...@gm...">jor...@gm...</a>).</em> @@ -366,7 +366,7 @@ <hr size="1"> <table cellpadding="1" cellspacing="1" border="0"> -<tr><td valign="middle" align="left">[<a href="MeshObject-Thing.html#0" title="Previous section in reading order"> < </a>]</td> +<tr><td valign="middle" align="left">[<a href="MeshObject-Genmesh.html#0" title="Previous section in reading order"> < </a>]</td> <td valign="middle" align="left">[<a href="MeshObject-Terrain2.html#0" title="Next section in reading order"> > </a>]</td> <td valign="middle" align="left"> </td> <td valign="middle" align="left">[<a href="Using-Crystal-Space.html#0" title="Beginning of this chapter or previous chapter"> << </a>]</td> Modified: CS/trunk/docs/html/manual/MeshObject-Terrain2-General.html =================================================================== --- CS/trunk/docs/html/manual/MeshObject-Terrain2-General.html 2008-08-20 22:40:42 UTC (rev 30898) +++ CS/trunk/docs/html/manual/MeshObject-Terrain2-General.html 2008-08-21 02:55:44 UTC (rev 30899) @@ -11,10 +11,10 @@ --> <head> -<title>Crystal Space 1.9.0: 4.10.11.1 General description</title> +<title>Crystal Space 1.9.0: 4.10.9.1 General description</title> -<meta name="description" content="Crystal Space 1.9.0: 4.10.11.1 General description"> -<meta name="keywords" content="Crystal Space 1.9.0: 4.10.11.1 General description"> +<meta name="description" content="Crystal Space 1.9.0: 4.10.9.1 General description"> +<meta name="keywords" content="Crystal Space 1.9.0: 4.10.9.1 General description"> <meta name="resource-type" content="document"> <meta name="distribution" content="global"> <meta name="Generator" content="texi2html 1.76"> @@ -59,174 +59,170 @@ <td valign="middle" align="left">[<a href="cs_abt.html#SEC_About" title="About (help)"> ? </a>]</td> </tr></table> <hr size="1"> -<h4 class="subsubsection"> 4.10.11.1 General description </h4> - -<p>To facilitate future improvements the plugin is split into several smaller -and communicating components -</p> +<h4 class="subsubsection"> 4.10.9.1 General description </h4> + +<p>To facilitate future improvements the plugin is split into several smaller +and communicating components +</p> <ul> -<li> -Terrain system - defines cells, keeps track of loaded data, dispatch request -to the collision, rendering and data feeder parts. -</li><li> -Data feeder - provide height data on demand by either loading it from disk or -generating it by for example fractal algorithms. -</li><li> -Renderer - converts height data into triangles and feeds them into the rendering -pipeline, providing LoD, culling etc. -</li><li> -Collision system - do collision detection between height data and rays, segments -and triangles. +<li> +Terrain system - defines cells, keeps track of loaded data, dispatch request +to the collision, rendering and data feeder parts. +</li><li> +Data feeder - provide height data on demand by either loading it from disk or +generating it by for example fractal algorithms. +</li><li> +Renderer - converts height data into triangles and feeds them into the rendering +pipeline, providing LoD, culling etc. +</li><li> +Collision system - do collision detection between height data and rays, segments +and triangles. </li></ul> - - -<p>At current there are two implementations of data feeder, one renderer and one -collision system. -</p> + +<p>At current there are two implementations of data feeder, one renderer and one +collision system. +</p> <a name="1"></a> <h4 class="subsubheading"> Terrain System </h4> - -<p>The terrain system is the central part in <samp>‘terrain2’</samp> plugin as it contains -definitions of cells as well as holding all other parts together. -</p> -<p>The main component in the terrain system is the <samp>‘cell’</samp>. Each cell within a -terrain system is a self contained area of the 2d map that contains its own -height map, material map, renderer-, feeder- and collision-settings. The -self-contained aspect is also related to that the cell is the unit used for paging -(on-demand loading and unloading) of terrain data. -</p> -<p>Each cell is defined by a small set of properties -</p> + +<p>The terrain system is the central part in <samp>‘terrain2’</samp> plugin as it contains +definitions of cells as well as holding all other parts together. +</p> +<p>The main component in the terrain system is the <samp>‘cell’</samp>. Each cell within a +terrain system is a self contained area of the 2d map that contains its own +height map, material map, render... [truncated message content] |
From: <vk...@us...> - 2008-08-21 14:56:38
|
Revision: 30910 http://crystal.svn.sourceforge.net/crystal/?rev=30910&view=rev Author: vknecht Date: 2008-08-21 14:56:33 +0000 (Thu, 21 Aug 2008) Log Message: ----------- Fixed wxWidget GLX canvas and wxtest build errors in memdebug mode. Modified Paths: -------------- CS/trunk/apps/tests/wxtest/wxtest.h CS/trunk/plugins/video/canvas/wxgl/GLWXDriver2D.cpp Modified: CS/trunk/apps/tests/wxtest/wxtest.h =================================================================== --- CS/trunk/apps/tests/wxtest/wxtest.h 2008-08-21 14:55:08 UTC (rev 30909) +++ CS/trunk/apps/tests/wxtest/wxtest.h 2008-08-21 14:56:33 UTC (rev 30910) @@ -22,7 +22,9 @@ #include <stdarg.h> #include "csutil/ref.h" +#include "csutil/custom_new_disable.h" #include <wx/wx.h> +#include "csutil/custom_new_enable.h" struct iEngine; struct iLoader; Modified: CS/trunk/plugins/video/canvas/wxgl/GLWXDriver2D.cpp =================================================================== --- CS/trunk/plugins/video/canvas/wxgl/GLWXDriver2D.cpp 2008-08-21 14:55:08 UTC (rev 30909) +++ CS/trunk/plugins/video/canvas/wxgl/GLWXDriver2D.cpp 2008-08-21 14:56:33 UTC (rev 30910) @@ -18,6 +18,8 @@ #include "cssysdef.h" +#include "csutil/custom_new_disable.h" + // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -29,6 +31,8 @@ #include "wx/wx.h" #endif +#include "csutil/custom_new_enable.h" + #include "csutil/cfgacc.h" #include "csutil/csinput.h" #include "csutil/csuctransform.h" @@ -815,3 +819,4 @@ { EmitKeyEvent(event, false); } + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2008-08-22 13:34:02
|
Revision: 30926 http://crystal.svn.sourceforge.net/crystal/?rev=30926&view=rev Author: thebolt00 Date: 2008-08-22 13:33:55 +0000 (Fri, 22 Aug 2008) Log Message: ----------- Applied patch from Mononoke fixing the extension header generation for some extensions as well as fixing spelling error and possible miss-assignment. Modified Paths: -------------- CS/trunk/include/csplugincommon/opengl/glextmanager.h CS/trunk/scripts/python/glext/headerfiletemplate CS/trunk/scripts/python/metaglext.xml Modified: CS/trunk/include/csplugincommon/opengl/glextmanager.h =================================================================== --- CS/trunk/include/csplugincommon/opengl/glextmanager.h 2008-08-22 13:32:32 UTC (rev 30925) +++ CS/trunk/include/csplugincommon/opengl/glextmanager.h 2008-08-22 13:33:55 UTC (rev 30926) @@ -1,5 +1,5 @@ /** - * WARNING - This file is automagically tenerated + * WARNING - This file is automagically generated */ /* @@ -11187,8 +11187,271 @@ typedef GLvoid (csAPIENTRY* csGLCLAMPCOLORARB) (GLenum target, GLenum clamp); /** @} */ +/**\name GL_ARB_framebuffer_sRGB constants + * For a description of what this ext does, see <a href="http://www.opengl.org/registry/specs/ARB/framebuffer_sRGB.txt">http://www.opengl.org/registry/specs/ARB/framebuffer_sRGB.txt</a>. + * @{ */ +#ifndef GL_FRAMEBUFFER_SRGB +#define GL_FRAMEBUFFER_SRGB 0x8DB9 +#endif +/** @} */ + +/**\name GL_ARB_framebuffer_sRGB functions + * For a description of what this ext does, see <a href="http://www.opengl.org/registry/specs/ARB/framebuffer_sRGB.txt">http://www.opengl.org/registry/specs/ARB/framebuffer_sRGB.txt</a>. + * @{ */ + +/** @} */ +#ifdef _WIN32 +/**\name WGL_ARB_framebuffer_sRGB constants + * For a description of what this ext does, see <a href="http://www.opengl.org/registry/specs/ARB/wgl_framebuffer_sRGB.txt">http://www.opengl.org/registry/specs/ARB/wgl_framebuffer_sRGB.txt</a>. + * @{ */ +#ifndef WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB +#define WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20A9 +#endif + + +/** @} */ + +/**\name WGL_ARB_framebuffer_sRGB functions + * For a description of what this ext does, see <a href="http://www.opengl.org/registry/specs/ARB/wgl_framebuffer_sRGB.txt">http://www.opengl.org/registry/specs/ARB/wgl_framebuffer_sRGB.txt</a>. + * @{ */ + +/** @} */ +#endif + +/**\name GL_ARB_draw_instanced constants + * For a description of what this ext does, see <a href="http://www.opengl.org/registry/specs/ARB/draw_instanced.txt">http://www.opengl.org/registry/specs/ARB/draw_instanced.txt</a>. + * @{ */ + +/** @} */ + +/**\name GL_ARB_draw_instanced functions + * For a description of what this ext does, see <a href="http://www.opengl.org/registry/specs/ARB/draw_instanced.txt">http://www.opengl.org/registry/specs/ARB/draw_instanced.txt</a>. + * @{ */ +typedef GLvoid (csAPIENTRY* csGLDRAWARRAYSINSTANCEDARB) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); +typedef GLvoid (csAPIENTRY* csGLDRAWELEMENTSINSTANCEDARB) (GLenum mode, GLsizei count, GLenum type, const GLvoid* indices, GLsizei primcount); + +/** @} */ +/**\name GL_ARB_depth_buffer_float constants + * For a description of what this ext does, see <a href="http://www.opengl.org/registry/specs/ARB/depth_buffer_float.txt">http://www.opengl.org/registry/specs/ARB/depth_buffer_float.txt</a>. + * @{ */ +#ifndef GL_DEPTH_COMPONENT32F +#define GL_DEPTH_COMPONENT32F 0x8CAC +#endif + +#ifndef GL_DEPTH32F_STENCIL8 +#define GL_DEPTH32F_STENCIL8 0x8CAD +#endif + +#ifndef GL_FLOAT_32_UNSIGNED_INT_24_8_REV +#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD +#endif + + +/** @} */ + +/**\name GL_ARB_depth_buffer_float functions + * For a description of what this ext does, see <a href="http://www.opengl.org/registry/specs/ARB/depth_buffer_float.txt">http://www.opengl.org/registry/specs/ARB/depth_buffer_float.txt</a>. + * @{ */ + +/** @} */ +/**\name GL_ARB_instanced_arrays constants + * For a description of what this ext does, see <a href="http://www.opengl.org/registry/specs/ARB/instanced_arrays.txt">http://www.opengl.org/registry/specs/ARB/instanced_arrays.txt</a>. + * @{ */ +#ifndef GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB +#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB 0x88FE +#endif + + +/** @} */ + +/**\name GL_ARB_instanced_arrays functions + * For a description of what this ext does, see <a href="http://www.opengl.org/registry/specs/ARB/instanced_arrays.txt">http://www.opengl.org/registry/specs/ARB/instanced_arrays.txt</a>. + * @{ */ +typedef GLvoid (csAPIENTRY* csGLVERTEXATTRIBDIVISORARB) (GLuint index, GLuint divisor); + +/** @} */ +/**\name GL_ARB_half_float_vertex constants + * For a description of what this ext does, see <a href="http://www.opengl.org/registry/specs/ARB/half_float_vertex.txt">http://www.opengl.org/registry/specs/ARB/half_float_vertex.txt</a>. + * @{ */ +#ifndef GL_HALF_FLOAT +#define GL_HALF_FLOAT 0x140B +#endif + + +/** @} */ + +/**\name GL_ARB_half_float_vertex functions + * For a description of what this ext does, see <a href="http://www.opengl.org/registry/specs/ARB/half_float_vertex.txt">http://www.opengl.org/registry/specs/ARB/half_float_vertex.txt</a>. + * @{ */ + +/** @} */ +/**\name GL_ARB_map_buffer_range constants + * For a description of what this ext does, see <a href="http://www.opengl.org/registry/specs/ARB/map_buffer_range.txt">http://www.opengl.org/registry/specs/ARB/map_buffer_range.txt</a>. + * @{ */ +#ifndef GL_MAP_READ_BIT +#define GL_MAP_READ_BIT 0x0001 +#endif + +#ifndef GL_MAP_WRITE_BIT +#define GL_MAP_WRITE_BIT 0x0002 +#endif + +#ifndef GL_MAP_INVALIDATE_RANGE_BIT +#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004 +#endif + +#ifndef GL_MAP_INVALIDATE_BUFFER_BIT +#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008 +#endif + +#ifndef GL_MAP_FLUSH_EXPLICIT_BIT +#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010 +#endif + +#ifndef GL_MAP_UNSYNCHRONIZED_BIT +#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020 +#endif + + +/** @} */ + +/**\name GL_ARB_map_buffer_range functions + * For a description of what this ext does, see <a href="http://www.opengl.org/registry/specs/ARB/map_buffer_range.txt">http://www.opengl.org/registry/specs/ARB/map_buffer_range.txt</a>. + * @{ */ +typedef GLvoid* (csAPIENTRY* csGLMAPBUFFERRANGE) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); +typedef GLvoid (csAPIENTRY* csGLFLUSHMAPPEDBUFFERRANGE) (GLenum target, GLintptr offset, GLsizeiptr length); + +/** @} */ +/**\name GL_ARB_texture_compression_rgtc constants + * For a description of what this ext does, see <a href="http://www.opengl.org/registry/specs/ARB/texture_compression_rgtc.txt">http://www.opengl.org/registry/specs/ARB/texture_compression_rgtc.txt</a>. + * @{ */ +#ifndef GL_COMPRESSED_RED_RGTC1 +#define GL_COMPRESSED_RED_RGTC1 0x8DBB +#endif + +#ifndef GL_COMPRESSED_SIGNED_RED_RGTC1 +#define GL_COMPRESSED_SIGNED_RED_RGTC1 0x8DBC +#endif + +#ifndef GL_COMPRESSED_RG_RGTC2 +#define GL_COMPRESSED_RG_RGTC2 0x8DBD +#endif + +#ifndef GL_COMPRESSED_SIGNED_RG_RGTC2 +#define GL_COMPRESSED_SIGNED_RG_RGTC2 0x8DBE +#endif + + +/** @} */ + +/**\name GL_ARB_texture_compression_rgtc functions + * For a description of what this ext does, see <a href="http://www.opengl.org/registry/specs/ARB/texture_compression_rgtc.txt">http://www.opengl.org/registry/specs/ARB/texture_compression_rgtc.txt</a>. + * @{ */ + +/** @} */ +/**\name GL_ARB_texture_rg constants + * For a description of what this ext does, see <a href="http://www.opengl.org/registry/specs/ARB/texture_rg.txt">http://www.opengl.org/registry/specs/ARB/texture_rg.txt</a>. + * @{ */ +#ifndef GL_R8 +#define GL_R8 0x8229 +#endif + +#ifndef GL_R16 +#define GL_R16 0x822A +#endif + +#ifndef GL_RG8 +#define GL_RG8 0x822B +#endif + +#ifndef GL_RG16 +#define GL_RG16 0x822C +#endif + +#ifndef GL_R16F +#define GL_R16F 0x822D +#endif + +#ifndef GL_R32F +#define GL_R32F 0x822E +#endif + +#ifndef GL_RG16F +#define GL_RG16F 0x822F +#endif + +#ifndef GL_RG32F +#define GL_RG32F 0x8230 +#endif + +#ifndef GL_R8I +#define GL_R8I 0x8231 +#endif + +#ifndef GL_R8UI +#define GL_R8UI 0x8232 +#endif + +#ifndef GL_R16I +#define GL_R16I 0x8233 +#endif + +#ifndef GL_R16UI +#define GL_R16UI 0x8234 +#endif + +#ifndef GL_R32I +#define GL_R32I 0x8235 +#endif + +#ifndef GL_R32UI +#define GL_R32UI 0x8236 +#endif + +#ifndef GL_RG8I +#define GL_RG8I 0x8237 +#endif + +#ifndef GL_RG8UI +#define GL_RG8UI 0x8238 +#endif + +#ifndef GL_RG16I +#define GL_RG16I 0x8239 +#endif + +#ifndef GL_RG16UI +#define GL_RG16UI 0x823A +#endif + +#ifndef GL_RG32I +#define GL_RG32I 0x823B +#endif + +#ifndef GL_RG32UI +#define GL_RG32UI 0x823C +#endif + +#ifndef GL_RG +#define GL_RG 0x8227 +#endif + +#ifndef GL_RG_INTEGER +#define GL_RG_INTEGER 0x8228 +#endif + + +/** @} */ + +/**\name GL_ARB_texture_rg functions + * For a description of what this ext does, see <a href="http://www.opengl.org/registry/specs/ARB/texture_rg.txt">http://www.opengl.org/registry/specs/ARB/texture_rg.txt</a>. + * @{ */ + +/** @} */ + + // end of definitions #ifdef CS_DEBUG @@ -11209,7 +11472,8 @@ allclear &= funcTest; #define EXTMGR_REPORT_INIT_RESULT(exttype, nameNC) \ - if (CS_##nameNC = allclear) \ + CS_##nameNC = allclear; \ + if (CS_##nameNC) \ { \ CS_##nameNC &= config->GetBool (cfgkey, defaultUse); \ if (CS_##nameNC) \ @@ -17047,7 +17311,80 @@ /** @} */ + /**\name GL_ARB_framebuffer_sRGB functions + * For a description of what this ext does, see <a href="http://www.opengl.org/registry/specs/ARB/framebuffer_sRGB.txt">http://www.opengl.org/registry/specs/ARB/framebuffer_sRGB.txt</a>. + * @{ */ + /** @} */ +#ifdef _WIN32 + /**\name WGL_ARB_framebuffer_sRGB functions + * For a description of what this ext does, see <a href="http://www.opengl.org/registry/specs/ARB/wgl_framebuffer_sRGB.txt">http://www.opengl.org/registry/specs/ARB/wgl_framebuffer_sRGB.txt</a>. + * @{ */ + + /** @} */ +#endif // _WIN32 + + /**\name GL_ARB_draw_instanced functions + * For a description of what this ext does, see <a href="http://www.opengl.org/registry/specs/ARB/draw_instanced.txt">http://www.opengl.org/registry/specs/ARB/draw_instanced.txt</a>. + * @{ */ + #ifndef GLDRAWARRAYSINSTANCEDARB_DECL + #define GLDRAWARRAYSINSTANCEDARB_DECL + csGLDRAWARRAYSINSTANCEDARB glDrawArraysInstancedARB; + #endif + + #ifndef GLDRAWELEMENTSINSTANCEDARB_DECL + #define GLDRAWELEMENTSINSTANCEDARB_DECL + csGLDRAWELEMENTSINSTANCEDARB glDrawElementsInstancedARB; + #endif + + + /** @} */ + /**\name GL_ARB_depth_buffer_float functions + * For a description of what this ext does, see <a href="http://www.opengl.org/registry/specs/ARB/depth_buffer_float.txt">http://www.opengl.org/registry/specs/ARB/depth_buffer_float.txt</a>. + * @{ */ + + /** @} */ + /**\name GL_ARB_instanced_arrays functions + * For a description of what this ext does, see <a href="http://www.opengl.org/registry/specs/ARB/instanced_arrays.txt">http://www.opengl.org/registry/specs/ARB/instanced_arrays.txt</a>. + * @{ */ + #ifndef GLVERTEXATTRIBDIVISORARB_DECL + #define GLVERTEXATTRIBDIVISORARB_DECL + csGLVERTEXATTRIBDIVISORARB glVertexAttribDivisorARB; + #endif + + + /** @} */ + /**\name GL_ARB_half_float_vertex functions + * For a description of what this ext does, see <a href="http://www.opengl.org/registry/specs/ARB/half_float_vertex.txt">http://www.opengl.org/registry/specs/ARB/half_float_vertex.txt</a>. + * @{ */ + + /** @} */ + /**\name GL_ARB_map_buffer_range functions + * For a description of what this ext does, see <a href="http://www.opengl.org/registry/specs/ARB/map_buffer_range.txt">http://www.opengl.org/registry/specs/ARB/map_buffer_range.txt</a>. + * @{ */ + #ifndef GLMAPBUFFERRANGE_DECL + #define GLMAPBUFFERRANGE_DECL + csGLMAPBUFFERRANGE glMapBufferRange; + #endif + + #ifndef GLFLUSHMAPPEDBUFFERRANGE_DECL + #define GLFLUSHMAPPEDBUFFERRANGE_DECL + csGLFLUSHMAPPEDBUFFERRANGE glFlushMappedBufferRange; + #endif + + + /** @} */ + /**\name GL_ARB_texture_compression_rgtc functions + * For a description of what this ext does, see <a href="http://www.opengl.org/registry/specs/ARB/texture_compression_rgtc.txt">http://www.opengl.org/registry/specs/ARB/texture_compression_rgtc.txt</a>. + * @{ */ + + /** @} */ + /**\name GL_ARB_texture_rg functions + * For a description of what this ext does, see <a href="http://www.opengl.org/registry/specs/ARB/texture_rg.txt">http://www.opengl.org/registry/specs/ARB/texture_rg.txt</a>. + * @{ */ + + /** @} */ + // end of functions }; @@ -17577,6 +17914,33 @@ /** Whether the <a href="http://www.opengl.org/registry/specs/ARB/color_buffer_float.txt">GL_ARB_color_buffer_float</a> extension was found. * Set by csGLExtensionManager::InitGL_ARB_color_buffer_float(). */ bool CS_GL_ARB_color_buffer_float; + /** Whether the <a href="http://www.opengl.org/registry/specs/ARB/framebuffer_sRGB.txt">GL_ARB_framebuffer_sRGB</a> extension was found. + * Set by csGLExtensionManager::InitGL_ARB_framebuffer_sRGB(). */ + bool CS_GL_ARB_framebuffer_sRGB; + /** Whether the <a href="http://www.opengl.org/registry/specs/ARB/wgl_framebuffer_sRGB.txt">WGL_ARB_framebuffer_sRGB</a> extension was found. + * Set by csGLExtensionManager::InitWGL_ARB_framebuffer_sRGB(). */ + bool CS_WGL_ARB_framebuffer_sRGB; + /** Whether the <a href="http://www.opengl.org/registry/specs/ARB/draw_instanced.txt">GL_ARB_draw_instanced</a> extension was found. + * Set by csGLExtensionManager::InitGL_ARB_draw_instanced(). */ + bool CS_GL_ARB_draw_instanced; + /** Whether the <a href="http://www.opengl.org/registry/specs/ARB/depth_buffer_float.txt">GL_ARB_depth_buffer_float</a> extension was found. + * Set by csGLExtensionManager::InitGL_ARB_depth_buffer_float(). */ + bool CS_GL_ARB_depth_buffer_float; + /** Whether the <a href="http://www.opengl.org/registry/specs/ARB/instanced_arrays.txt">GL_ARB_instanced_arrays</a> extension was found. + * Set by csGLExtensionManager::InitGL_ARB_instanced_arrays(). */ + bool CS_GL_ARB_instanced_arrays; + /** Whether the <a href="http://www.opengl.org/registry/specs/ARB/half_float_vertex.txt">GL_ARB_half_float_vertex</a> extension was found. + * Set by csGLExtensionManager::InitGL_ARB_half_float_vertex(). */ + bool CS_GL_ARB_half_float_vertex; + /** Whether the <a href="http://www.opengl.org/registry/specs/ARB/map_buffer_range.txt">GL_ARB_map_buffer_range</a> extension was found. + * Set by csGLExtensionManager::InitGL_ARB_map_buffer_range(). */ + bool CS_GL_ARB_map_buffer_range; + /** Whether the <a href="http://www.opengl.org/registry/specs/ARB/texture_compression_rgtc.txt">GL_ARB_texture_compression_rgtc</a> extension was found. + * Set by csGLExtensionManager::InitGL_ARB_texture_compression_rgtc(). */ + bool CS_GL_ARB_texture_compression_rgtc; + /** Whether the <a href="http://www.opengl.org/registry/specs/ARB/texture_rg.txt">GL_ARB_texture_rg</a> extension was found. + * Set by csGLExtensionManager::InitGL_ARB_texture_rg(). */ + bool CS_GL_ARB_texture_rg; protected: bool tested_CS_GL_version_1_2; @@ -17755,6 +18119,15 @@ bool tested_CS_GL_NV_gpu_program4; bool tested_CS_GL_EXT_gpu_program_parameters; bool tested_CS_GL_ARB_color_buffer_float; + bool tested_CS_GL_ARB_framebuffer_sRGB; + bool tested_CS_WGL_ARB_framebuffer_sRGB; + bool tested_CS_GL_ARB_draw_instanced; + bool tested_CS_GL_ARB_depth_buffer_float; + bool tested_CS_GL_ARB_instanced_arrays; + bool tested_CS_GL_ARB_half_float_vertex; + bool tested_CS_GL_ARB_map_buffer_range; + bool tested_CS_GL_ARB_texture_compression_rgtc; + bool tested_CS_GL_ARB_texture_rg; }; @@ -24101,7 +24474,277 @@ } } + /** Initialize <a href="http://www.opengl.org/registry/specs/ARB/framebuffer_sRGB.txt">GL_ARB_framebuffer_sRGB</a> extension. + * Check presence with csGLExtensionFlags::CS_GL_ARB_framebuffer_sRGB. */ + void InitGL_ARB_framebuffer_sRGB () + { + if (tested_CS_GL_ARB_framebuffer_sRGB) return; + if (!extstrGL) return; + tested_CS_GL_ARB_framebuffer_sRGB = true; + const char* ext = "GL_ARB_framebuffer_sRGB"; + char cfgkey[26 + 23 + 1]; + sprintf (cfgkey, "Video.OpenGL.UseExtension.%s", ext); + + CS_GL_ARB_framebuffer_sRGB = (strstr (extstrGL, ext) != 0); + + bool allclear, funcTest; + (void)funcTest; // shut up "variable unused" warnings + bool init = CS_GL_ARB_framebuffer_sRGB; + allclear = true; + if (init) // Don't check the functions if ext isn't reported anyway + { + + EXTMGR_REPORT_INIT_RESULT("GL", GL_ARB_framebuffer_sRGB) + } + else + { + Report (msgExtNotFound, "GL", ext); + } + } + +#ifdef _WIN32 + /** Initialize <a href="http://www.opengl.org/registry/specs/ARB/wgl_framebuffer_sRGB.txt">WGL_ARB_framebuffer_sRGB</a> extension. + * Check presence with csGLExtensionFlags::CS_WGL_ARB_framebuffer_sRGB. */ + void InitWGL_ARB_framebuffer_sRGB (HDC hDC) + { + if (tested_CS_WGL_ARB_framebuffer_sRGB) return; + tested_CS_WGL_ARB_framebuffer_sRGB = true; + const char* ext = "WGL_ARB_framebuffer_sRGB"; + char cfgkey[26 + 24 + 1]; + sprintf (cfgkey, "Video.OpenGL.UseExtension.%s", ext); + + (void)hDC; // avoid `unused variable' warning. + SetupWGLextStr (hDC); + if (!extstrWGL) return; + CS_WGL_ARB_framebuffer_sRGB = (strstr (extstrWGL, ext) != 0); + + bool allclear, funcTest; + (void)funcTest; // avoid `unused variable' warning. + bool init = CS_WGL_ARB_framebuffer_sRGB; + allclear = true; + if (init) + { + + EXTMGR_REPORT_INIT_RESULT("WGL", WGL_ARB_framebuffer_sRGB) + CS_WGL_ARB_framebuffer_sRGB &= allclear; + } + else + { + Report (msgExtNotFound, "WGL", ext); + } + } +#endif + + /** Initialize <a href="http://www.opengl.org/registry/specs/ARB/draw_instanced.txt">GL_ARB_draw_instanced</a> extension. + * Check presence with csGLExtensionFlags::CS_GL_ARB_draw_instanced. */ + void InitGL_ARB_draw_instanced () + { + if (tested_CS_GL_ARB_draw_instanced) return; + if (!extstrGL) return; + tested_CS_GL_ARB_draw_instanced = true; + const char* ext = "GL_ARB_draw_instanced"; + + char cfgkey[26 + 21 + 1]; + sprintf (cfgkey, "Video.OpenGL.UseExtension.%s", ext); + + CS_GL_ARB_draw_instanced = (strstr (extstrGL, ext) != 0); + + bool allclear, funcTest; + (void)funcTest; // shut up "variable unused" warnings + bool init = CS_GL_ARB_draw_instanced; + allclear = true; + if (init) // Don't check the functions if ext isn't reported anyway + { + EXTMGR_FUNC_INIT(glDrawArraysInstancedARB, GLDRAWARRAYSINSTANCEDARB); + EXTMGR_FUNC_INIT(glDrawElementsInstancedARB, GLDRAWELEMENTSINSTANCEDARB); + + EXTMGR_REPORT_INIT_RESULT("GL", GL_ARB_draw_instanced) + } + else + { + Report (msgExtNotFound, "GL", ext); + } + } + + /** Initialize <a href="http://www.opengl.org/registry/specs/ARB/depth_buffer_float.txt">GL_ARB_depth_buffer_float</a> extension. + * Check presence with csGLExtensionFlags::CS_GL_ARB_depth_buffer_float. */ + void InitGL_ARB_depth_buffer_float () + { + if (tested_CS_GL_ARB_depth_buffer_float) return; + if (!extstrGL) return; + tested_CS_GL_ARB_depth_buffer_float = true; + const char* ext = "GL_ARB_depth_buffer_float"; + + char cfgkey[26 + 25 + 1]; + sprintf (cfgkey, "Video.OpenGL.UseExtension.%s", ext); + + CS_GL_ARB_depth_buffer_float = (strstr (extstrGL, ext) != 0); + + bool allclear, funcTest; + (void)funcTest; // shut up "variable unused" warnings + bool init = CS_GL_ARB_depth_buffer_float; + allclear = true; + if (init) // Don't check the functions if ext isn't reported anyway + { + + EXTMGR_REPORT_INIT_RESULT("GL", GL_ARB_depth_buffer_float) + } + else + { + Report (msgExtNotFound, "GL", ext); + } + } + + /** Initialize <a href="http://www.opengl.org/registry/specs/ARB/instanced_arrays.txt">GL_ARB_instanced_arrays</a> extension. + * Check presence with csGLExtensionFlags::CS_GL_ARB_instanced_arrays. */ + void InitGL_ARB_instanced_arrays () + { + if (tested_CS_GL_ARB_instanced_arrays) return; + if (!extstrGL) return; + tested_CS_GL_ARB_instanced_arrays = true; + const char* ext = "GL_ARB_instanced_arrays"; + + char cfgkey[26 + 23 + 1]; + sprintf (cfgkey, "Video.OpenGL.UseExtension.%s", ext); + + CS_GL_ARB_instanced_arrays = (strstr (extstrGL, ext) != 0); + + bool allclear, funcTest; + (void)funcTest; // shut up "variable unused" warnings + bool init = CS_GL_ARB_instanced_arrays; + allclear = true; + if (init) // Don't check the functions if ext isn't reported anyway + { + EXTMGR_FUNC_INIT(glVertexAttribDivisorARB, GLVERTEXATTRIBDIVISORARB); + + EXTMGR_REPORT_INIT_RESULT("GL", GL_ARB_instanced_arrays) + } + else + { + Report (msgExtNotFound, "GL", ext); + } + } + + /** Initialize <a href="http://www.opengl.org/registry/specs/ARB/half_float_vertex.txt">GL_ARB_half_float_vertex</a> extension. + * Check presence with csGLExtensionFlags::CS_GL_ARB_half_float_vertex. */ + void InitGL_ARB_half_float_vertex () + { + if (tested_CS_GL_ARB_half_float_vertex) return; + if (!extstrGL) return; + tested_CS_GL_ARB_half_float_vertex = true; + const char* ext = "GL_ARB_half_float_vertex"; + + char cfgkey[26 + 24 + 1]; + sprintf (cfgkey, "Video.OpenGL.UseExtension.%s", ext); + + CS_GL_ARB_half_float_vertex = (strstr (extstrGL, ext) != 0); + + bool allclear, funcTest; + (void)funcTest; // shut up "variable unused" warnings + bool init = CS_GL_ARB_half_float_vertex; + allclear = true; + if (init) // Don't check the functions if ext isn't reported anyway + { + + EXTMGR_REPORT_INIT_RESULT("GL", GL_ARB_half_float_vertex) + } + else + { + Report (msgExtNotFound, "GL", ext); + } + } + + /** Initialize <a href="http://www.opengl.org/registry/specs/ARB/map_buffer_range.txt">GL_ARB_map_buffer_range</a> extension. + * Check presence with csGLExtensionFlags::CS_GL_ARB_map_buffer_range. */ + void InitGL_ARB_map_buffer_range () + { + if (tested_CS_GL_ARB_map_buffer_range) return; + if (!extstrGL) return; + tested_CS_GL_ARB_map_buffer_range = true; + const char* ext = "GL_ARB_map_buffer_range"; + + char cfgkey[26 + 23 + 1]; + sprintf (cfgkey, "Video.OpenGL.UseExtension.%s", ext); + + CS_GL_ARB_map_buffer_range = (strstr (extstrGL, ext) != 0); + + bool allclear, funcTest; + (void)funcTest; // shut up "variable unused" warnings + bool init = CS_GL_ARB_map_buffer_range; + allclear = true; + if (init) // Don't check the functions if ext isn't reported anyway + { + EXTMGR_FUNC_INIT(glMapBufferRange, GLMAPBUFFERRANGE); + EXTMGR_FUNC_INIT(glFlushMappedBufferRange, GLFLUSHMAPPEDBUFFERRANGE); + + EXTMGR_REPORT_INIT_RESULT("GL", GL_ARB_map_buffer_range) + } + else + { + Report (msgExtNotFound, "GL", ext); + } + } + + /** Initialize <a href="http://www.opengl.org/registry/specs/ARB/texture_compression_rgtc.txt">GL_ARB_texture_compression_rgtc</a> extension. + * Check presence with csGLExtensionFlags::CS_GL_ARB_texture_compression_rgtc. */ + void InitGL_ARB_texture_compression_rgtc () + { + if (tested_CS_GL_ARB_texture_compression_rgtc) return; + if (!extstrGL) return; + tested_CS_GL_ARB_texture_compression_rgtc = true; + const char* ext = "GL_ARB_texture_compression_rgtc"; + + char cfgkey[26 + 31 + 1]; + sprintf (cfgkey, "Video.OpenGL.UseExtension.%s", ext); + + CS_GL_ARB_texture_compression_rgtc = (strstr (extstrGL, ext) != 0); + + bool allclear, funcTest; + (void)funcTest; // shut up "variable unused" warnings + bool init = CS_GL_ARB_texture_compression_rgtc; + allclear = true; + if (init) // Don't check the functions if ext isn't reported anyway + { + + EXTMGR_REPORT_INIT_RESULT("GL", GL_ARB_texture_compression_rgtc) + } + else + { + Report (msgExtNotFound, "GL", ext); + } + } + + /** Initialize <a href="http://www.opengl.org/registry/specs/ARB/texture_rg.txt">GL_ARB_texture_rg</a> extension. + * Check presence with csGLExtensionFlags::CS_GL_ARB_texture_rg. */ + void InitGL_ARB_texture_rg () + { + if (tested_CS_GL_ARB_texture_rg) return; + if (!extstrGL) return; + tested_CS_GL_ARB_texture_rg = true; + const char* ext = "GL_ARB_texture_rg"; + + char cfgkey[26 + 17 + 1]; + sprintf (cfgkey, "Video.OpenGL.UseExtension.%s", ext); + + CS_GL_ARB_texture_rg = (strstr (extstrGL, ext) != 0); + + bool allclear, funcTest; + (void)funcTest; // shut up "variable unused" warnings + bool init = CS_GL_ARB_texture_rg; + allclear = true; + if (init) // Don't check the functions if ext isn't reported anyway + { + + EXTMGR_REPORT_INIT_RESULT("GL", GL_ARB_texture_rg) + } + else + { + Report (msgExtNotFound, "GL", ext); + } + } + + }; #undef REPORT_MISSING_ENTRIES Modified: CS/trunk/scripts/python/glext/headerfiletemplate =================================================================== --- CS/trunk/scripts/python/glext/headerfiletemplate 2008-08-22 13:32:32 UTC (rev 30925) +++ CS/trunk/scripts/python/glext/headerfiletemplate 2008-08-22 13:33:55 UTC (rev 30926) @@ -166,7 +166,8 @@ allclear &= funcTest; #define EXTMGR_REPORT_INIT_RESULT(exttype, nameNC) \ - if (CS_##nameNC = allclear) \ + CS_##nameNC = allclear; \ + if (CS_##nameNC) \ { \ CS_##nameNC &= config->GetBool (cfgkey, defaultUse); \ if (CS_##nameNC) \ Modified: CS/trunk/scripts/python/metaglext.xml =================================================================== --- CS/trunk/scripts/python/metaglext.xml 2008-08-22 13:32:32 UTC (rev 30925) +++ CS/trunk/scripts/python/metaglext.xml 2008-08-22 13:33:55 UTC (rev 30926) @@ -7572,19 +7572,19 @@ <!--extension name="GLX_ARB_framebuffer_sRGB" type="GLX"> <token name="GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB" value="0x20B2" /> </extension--> - <extension name="WGL_ARB_framebuffer_sRGB" type="GLX"> + <extension name="WGL_ARB_framebuffer_sRGB" type="WGL"> <token name="WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB" value="0x20A9" /> </extension> <extension name="GL_ARB_draw_instanced" type="GL"> <function name="glDrawArraysInstancedARB" return="GLvoid" pointer="false"> <arg name="mode" type="GLenum" const="false" pointer="false" /> <arg name="first" type="GLint" const="false" pointer="false" /> - <arg name="count" type="GLsize" const="false" pointer="false" /> + <arg name="count" type="GLsizei" const="false" pointer="false" /> <arg name="primcount" type="GLsizei" const="false" pointer="false" /> </function> <function name="glDrawElementsInstancedARB" return="GLvoid" pointer="false"> <arg name="mode" type="GLenum" const="false" pointer="false" /> - <arg name="count" type="GLsize" const="false" pointer="false" /> + <arg name="count" type="GLsizei" const="false" pointer="false" /> <arg name="type" type="GLenum" const="false" pointer="false" /> <arg name="indices" type="GLvoid" const="true" pointer="true" /> <arg name="primcount" type="GLsizei" const="false" pointer="false" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <re...@us...> - 2008-08-22 16:38:55
|
Revision: 30932 http://crystal.svn.sourceforge.net/crystal/?rev=30932&view=rev Author: res2002 Date: 2008-08-22 16:38:51 +0000 (Fri, 22 Aug 2008) Log Message: ----------- MSI stuff, filelists update from winlibs Modified Paths: -------------- CS/trunk/mk/jam/build.jam CS/trunk/mk/jam/filelist.jam Added Paths: ----------- CS/trunk/bin/cs-genwix-msm.py CS/trunk/bin/guidregistry.py CS/trunk/bin/wixlib.py CS/trunk/mk/jam/msi.jam Added: CS/trunk/bin/cs-genwix-msm.py =================================================================== --- CS/trunk/bin/cs-genwix-msm.py (rev 0) +++ CS/trunk/bin/cs-genwix-msm.py 2008-08-22 16:38:51 UTC (rev 30932) @@ -0,0 +1,47 @@ +#!python +from wixlib import * +from optparse import OptionParser + +import time +import datetime + +from guidregistry import guid_registry as gr + +options = OptionParser(usage="usage: %prog [options] list1 list2") +options.add_option("-o", "--out", dest="outfile", + help="Output file name", metavar="FILE") +options.add_option("--id", dest="msmid", + help="Merge module ID (used to look up GUID)", metavar="ID") +options.add_option("--version", dest="version", + help="Package version", metavar="VERSION") + +(parsed_options, args) = options.parse_args() + +if not parsed_options.outfile: + options.error("missing --out") +if not parsed_options.msmid: + options.error("missing --id") + +(base, merge, dir) = generate_merge_module(id = parsed_options.msmid, + path = [('TARGETDIR', 'SourceDir', None), + (parsed_options.msmid + '_dir', None, None)], + filename = parsed_options.outfile, + manufacturer = "The Crystal Space Project", + guid = gr[parsed_options.msmid], + version = parsed_options.version) + +f = Fragment( + parent = base, + id = parsed_options.msmid) + +ref = DirectoryRef( + parent = f, + id = parsed_options.msmid + '_dir') + +for list in args: + generate_from_file_list_txt (list, + parent = merge, + prefix = parsed_options.msmid, + dir = ref) + +base.save() Property changes on: CS/trunk/bin/cs-genwix-msm.py ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Copied: CS/trunk/bin/guidregistry.py (from rev 30910, CS/trunk/scripts/msi/csguidregistry.py) =================================================================== --- CS/trunk/bin/guidregistry.py (rev 0) +++ CS/trunk/bin/guidregistry.py 2008-08-22 16:38:51 UTC (rev 30932) @@ -0,0 +1,36 @@ +guid_registry = { + #We compute some uuids out of a base and a unique id (mostly component guids) + "base": '174182C0-BF94-11DC-B42B-0015582877AD', + + #Upgrade codes for our installers. Those may not change. + "CS.upgrade_code": '3C8B4562-BF93-11DC-B42B-0015582877AD', + "CS.cel.upgrade_code": '64D0D104-BF93-11DC-B42B-0015582877AD', + "CS.b2CS.upgrade_code": '7552D0F4-BF93-11DC-B42B-0015582877AD', + "cel.upgrade_code": '7C953DF2-BF93-11DC-B42B-0015582877AD', + "b2cs.upgrade_code": '826602C0-BF93-11DC-B42B-0015582877AD', + + #CS merge modules + "CS.doc.msm": '88888F92-BF93-11DC-B42B-0015582877AD', + "CS.vfs.msm": '8DDFD4F0-BF93-11DC-B42B-0015582877AD', + "CS.register.msm": '8E4AB45A-BF93-11DC-B42B-0015582877AD', + "CS.data.msm": '8EA81938-BF93-11DC-B42B-0015582877AD', + "CS.include.msm": '8F1B7996-BF93-11DC-B42B-0015582877AD', + "CS.arch.GCC.include.msm": '8F6CB040-BF93-11DC-B42B-0015582877AD', + "CS.arch.GCC.lib.msm": 'A6DDD416-BF93-11DC-B42B-0015582877AD', + "CS.arch.GCC.executable.msm": 'AC4E1EB0-BF93-11DC-B42B-0015582877AD', + "CS.arch.GCC.support.msm": 'B18119AA-BF93-11DC-B42B-0015582877AD', + + #cel merge modules + "cel.doc.msm": 'BFEEA872-BF93-11DC-B42B-0015582877AD', + "cel.vfs.msm": 'C7E67122-BF93-11DC-B42B-0015582877AD', + "cel.register.msm": 'D27841CE-BF93-11DC-B42B-0015582877AD', + "cel.data.msm": 'DD058534-BF93-11DC-B42B-0015582877AD', + "cel.include.msm": 'E639D420-BF93-11DC-B42B-0015582877AD', + "cel.arch.GCC.include.msm": 'F65B66AC-BF93-11DC-B42B-0015582877AD', + "cel.arch.GCC.lib.msm": '039A60DE-BF94-11DC-B42B-0015582877AD', + "cel.arch.GCC.executable.msm": '06DF1D7A-BF94-11DC-B42B-0015582877AD', + + "b2cs.blender.plugin.msm": 'FE7E2FC8-BFF6-11DC-BDF4-001302164650', + + "python": '4E60ED45-1DBB-44AD-A77F-E17E9C8BDCFB', + } Property changes on: CS/trunk/bin/guidregistry.py ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:mergeinfo + /CS/branches/release/V1.4/scripts/msi/csguidregistry.py:30463 /CS/branches/soc2008/threadcomm/scripts/msi/csguidregistry.py:30471,30486,30678,30681,30720,30722,30753 Added: svn:eol-style + native Added: CS/trunk/bin/wixlib.py =================================================================== --- CS/trunk/bin/wixlib.py (rev 0) +++ CS/trunk/bin/wixlib.py 2008-08-22 16:38:51 UTC (rev 30932) @@ -0,0 +1,581 @@ +#!/usr/bin/python +from guidregistry import guid_registry as gr +import uuid +import os +import sha +import md5 +import re +import sys + +from lxml import etree + + +class Empty(object): + """Marker class""" + pass + + +class InitializeOnDef(type): + """ + Ok. Now this is black magic. Makes every class have its own stack of + static_kw, map_kw etc. and simplifies defining them through not having + to use super(). + """ + def __init__(cls, name, bases, classdict): + cls._class_name = name + cls.init() + +class WixBase(object): + __metaclass__ = InitializeOnDef + + @classmethod + def setup(cls): + cls.kw_map['id'] = 'Id' + + @classmethod + def init(cls): + cls.kw_static = getattr(cls, 'kw_static', {}).copy() #Statically set parameters + cls.kw_map = getattr(cls, 'kw_map', {}).copy() #Rename + cls.kw_allowed = getattr(cls, 'kw_allowed', {}).copy() #Additionally allowed parameters + cls.kw_default = getattr(cls, 'kw_default', {}).copy() #Default values of parameters + cls.kw_default_call = getattr(cls, 'kw_default_call', {}).copy()#Default values of parameters as function + cls.kw_convert = getattr(cls, 'kw_convert', {}).copy() + cls.highersetup = None + cls.setup() + + def __init__(self, **kw): + self.param = kw.copy() + super(WixBase, self).__init__() + + self.childs = [] + if "parent" in kw.keys(): + kw["parent"].add(self) + kw.pop("parent") + self.kw = kw + + def toXML(self, contain): + param = self.kw.copy() + + #Validate we got only valid keys + for i in self.kw.keys(): + if i not in self.kw_map.keys() + self.kw_allowed.keys(): + raise TypeError('Unknown parameter ' + i) + + for i in self.kw_default: + if i not in param.keys(): + param[i] = self.kw_default[i] + + for i in self.kw_default_call: + if i not in param.keys(): + param[i] = self.kw_default_call[i](self) + + param.update(self.kw_static) + + for i in param: + if i in self.kw_convert.keys(): + param[i] = self.kw_convert[i](self, param.pop(i)) + + for i in param: + if i in self.kw_map.keys(): + #print i,self.kw_map[i], param[i] + param[self.kw_map[i]] = param.pop(i) + elem = etree.SubElement(contain, + getattr(self, "element_name", self._class_name), + **param) + for child in self.childs: + child.toXML(elem) + return contain + + def add(self, child): + self.childs.append(child) + +def call(a): + import pdb + pdb.set_trace() + + + +class RefBase(WixBase): + pass + #@classmethod + #def setup(cls): + # import pdb + # pdb.set_trace() + # cls.kw_map['id'] = 'Id' + + +class InstallExecuteSequence(WixBase): + @classmethod + def setup(cls): + pass + +class RemoveExistingProducts(WixBase): + @classmethod + def setup(cls): + cls.kw_static['After'] = "InstallFinalize" + + + +class Base(WixBase): + def __init__(self, *arg, **kw): + self.filename = kw.pop('filename') + super(Base, self).__init__(*arg, **kw) + + def save(self): + fh = open(self.filename, 'w') + fh.write(etree.tostring(self.toXML(), pretty_print=True)) + fh.write('\n') + fh.close() + + def toXML(self, contain = Empty): + elem = etree.Element('Wix', xmlns = 'http://schemas.microsoft.com/wix/2006/wi') + for child in self.childs: + child.toXML(elem) + return elem + +class Product(WixBase): + @classmethod + def setup(cls): + cls.kw_map['name'] = 'Name' + cls.kw_map['version'] = 'Version' + cls.kw_map['language'] = 'Language' + cls.kw_map['upgrade_code'] = 'UpgradeCode' + cls.kw_map['manufacturer'] = 'Manufacturer' + #cls.kw_map['id'] = 'Id' + + cls.kw_default['id'] = '*' + cls.kw_default['language'] = '1033' + + +class Package(WixBase): + @classmethod + def setup(cls): + cls.kw_static['InstallerVersion'] = '200' + cls.kw_map['compressed'] = 'Compressed' + cls.kw_map['manufacturer'] = 'Manufacturer' + #cls.kw_static['Description'] = "Whatever" + +class Module(WixBase): + @classmethod + def setup(cls): + cls.kw_map['version'] = 'Version' + cls.kw_map['language'] = 'Language' + +class Fragment(WixBase): + pass + +class UIRef(WixBase): + @classmethod + def setup(cls): + cls.kw_static['Id'] = "WixUI_FeatureTree" + +class Media(WixBase): + @classmethod + def setup(cls): + cls.kw_static['Id'] = '1' + cls.kw_static['Cabinet'] = 'cs1.cab' + cls.kw_static['EmbedCab'] = 'yes' + + +class Directory(WixBase): + @classmethod + def setup(cls): + cls.kw_map['source_dir'] = 'FileSource' + cls.kw_map['id'] = 'Id' + cls.kw_map['name'] = 'Name' + +class Feature(WixBase): + @classmethod + def setup(cls): + cls.kw_map['id'] = 'Id' + cls.kw_map['configurable_directory'] = 'ConfigurableDirectory' + cls.kw_map['title'] = 'Title' + cls.kw_map['level'] = 'Level' + + cls.kw_default['level'] = "1" + cls.kw_default['title'] = "" + + cls.kw_convert['configurable_directory'] = lambda self, val: val.param['id'] + +class FeatureRef(RefBase): + pass + +class DirectoryRef(RefBase): + pass + +class Component(WixBase): + component_genbase = uuid.UUID(gr['base']) + @classmethod + def setup(cls): + cls.kw_map['id'] = 'Id' + cls.kw_map['guid'] = 'Guid' + cls.kw_map['directory'] = 'Directory' + + cls.kw_default_call['guid'] = lambda self: str(uuid.uuid3(self.component_genbase, self.param['id'])) + +class ComponentRef(RefBase): + pass + +class Property(RefBase): + @classmethod + def setup(cls): + cls.kw_map['value'] = 'Value' + cls.kw_map['secure'] = 'Secure' + cls.kw_map['admin'] = 'Admin' + +class Upgrade(WixBase): + @classmethod + def setup(cls): + cls.kw_map['upgrade_code'] = 'Id' + + +class UpgradeVersion(WixBase): + @classmethod + def setup(cls): + cls.kw_static['Property'] = 'PATCHFOUND' + cls.kw_static['IncludeMinimum'] = 'yes' + cls.kw_static['IncludeMaximum'] = 'yes' + + cls.kw_map['min_version'] = "Minimum" + cls.kw_map['max_version'] = "Maximum" + + cls.kw_convert['keep_old'] = lambda self: 'yes' + + +class File(WixBase): + @classmethod + def setup(cls): + cls.kw_map['id'] = 'Id' + cls.kw_map['name'] = 'Name' + cls.kw_map['source'] = 'Source' + #cls.kw_static['Vital'] = 'yes' + +class WixVariable(WixBase): + @classmethod + def setup(cls): + cls.kw_map['id'] = 'Id' + cls.kw_map['value'] = 'Value' + +class RegistryValue(WixBase): + @classmethod + def setup(cls): + cls.kw_map['id'] = 'Id' + cls.kw_map['name'] = 'Name' + cls.kw_map['key'] = 'Key' + cls.kw_map['value'] = 'Value' + cls.kw_map['action'] = 'Action' + cls.kw_map['root'] = 'Root' + cls.kw_map['type'] = 'Type' + + cls.kw_default['root'] = "HKLM" + cls.kw_default['type'] = "string" + cls.kw_default['action'] = "write" + +class RegistrySearch(WixBase): + @classmethod + def setup(cls): + cls.kw_map['id'] = 'Id' + cls.kw_map['name'] = 'Name' + cls.kw_map['key'] = 'Key' + cls.kw_map['root'] = 'Root' + cls.kw_map['type'] = 'Type' + + cls.kw_default['root'] = "HKLM" + cls.kw_default['type'] = "directory" + +class DirectorySearch(WixBase): + @classmethod + def setup(cls): + cls.kw_map['id'] = 'Id' + cls.kw_map['depth'] = 'Depth' + cls.kw_map['path'] = 'Path' + +class Merge(WixBase): + @classmethod + def setup(cls): + cls.kw_map['id'] = 'Id' + cls.kw_map['source_file'] = 'SourceFile' + cls.kw_map['disk_id'] = 'DiskId' + cls.kw_map['language'] = "Language" + cls.kw_map['compressed'] = 'FileCompression' + + cls.kw_default['language'] = "1033" + cls.kw_default['compressed'] = "yes" + + +class MergeRef(WixBase): + pass + + + +class Environment(WixBase): + @classmethod + def setup(cls): + cls.kw_map['id'] = 'Id' + cls.kw_map['action'] = 'Action' + cls.kw_map['name'] = 'Name' + cls.kw_map['part'] = 'Part' + cls.kw_map['seperator'] = 'Seperator' + cls.kw_map['value'] = 'Value' + + cls.kw_default['action'] = 'set' + cls.kw_default['part'] = 'last' + + +def extract_version_information(directory): + fh = open(directory + "/configure") + package = 'PACKAGE_VERSION=' + len_proj = len(package) + for line in fh.readlines(): + if len(line) > len_proj and line[:len_proj] == package: + break + return line[len_proj+1:-2] + +def generate_directory_tree(directory, parent = Empty, prefix = Empty, create_dir = False, current = Empty, file_filter = Empty, directory_filter = Empty): + """ + Recurses through a directory structure and subsequently adds every file and + directory which is not negatively filtered to parent. + + parent = + prefix = A prefix making generated ids unique + current = Do we have a current directory, or do we need to generate it? + directory_filter = Which directories should we visit. Argument needs to be + a function which signals true/false after getting passed cur directry, to + be visited directory as arguments + file_filter = Which files should get included. Argument needs to be a + function which signals true/false after getting passed cur directry, + filename as arguments + """ + if Empty in [parent, current, prefix]: + raise TypeError('Missing paremeter') + + curdir = None + if create_dir: + prefix = prefix + '.' + os.path.basename(directory) + curdir = Directory(parent = current, source_dir = directory, name = os.path.basename(directory), id = gen_wix_id_repeatable(prefix)) + else: + curdir = Directory(parent = current, source_dir = directory, id = gen_wix_id_repeatable(prefix)) + #comp = Component(id = prefix + '.component') + + #entrycount = 0 + for entry in os.listdir(directory): + if os.path.isfile(os.path.join(directory, entry)) and (file_filter == Empty or file_filter(directory, entry)): + #c_id = prefix + "_" + os.path.join(directory, entry) + comp = Component(parent = curdir, id = gen_wix_id_repeatable(prefix + '.' + entry)) + File(parent = comp, name = entry, id = gen_wix_id_repeatable(prefix + '.' + entry)) + ComponentRef(parent = parent, + id = gen_wix_id_repeatable(prefix + '.' + entry)) + + #entrycount += 1 + elif os.path.isdir(os.path.join(directory, entry)) and (directory_filter == Empty or directory_filter(directory, entry)): + generate_directory_tree(os.path.join(directory, entry), + current = curdir, + create_dir = True, + parent = parent, + prefix = prefix, + file_filter = file_filter, + directory_filter = directory_filter) + + #if entrycount: + # curdir.add(comp) + # ComponentRef(parent = parent, + # id = prefix + '.component') + + return curdir + +class DirectoryHelper: + def __init__(self, parent, prefix, rootDir): + self.parent = parent + self.prefix = prefix + self.rootDir = rootDir + if not '_dirHelper_knownDirs' in parent.__dict__: + parent.__dict__['_dirHelper_knownDirs'] = {} + + def GetDirectory(self, dir): + if dir == None: + return self.rootDir + if dir in self.parent._dirHelper_knownDirs: + return self.parent._dirHelper_knownDirs[dir] + dirSplit = dir.rsplit ('/', 1) + if len(dirSplit) == 1: + pObj = self.rootDir + name = dirSplit[0] + realPrefix = self.prefix + else: + pObj = self.GetDirectory (dirSplit[0]) + name = dirSplit[1] + realPrefix = self.prefix + '.' + dirSplit[0].replace('/', '.') + newDir = Directory (parent = pObj, + name = name, + id = gen_wix_id_repeatable(realPrefix + '.' + name)) + self.parent._dirHelper_knownDirs[dir] = newDir + return newDir + +def generate_from_file_list(filelist, parent, prefix, dir): + """ + Goes through a file list (as generated by CS' `jam filelists` command) and + adds each file (and containing directory) to parent. + + filelist = List of files. Must be iterable, with the iterated items being + lines as in a filelist file. + parent = + prefix = A prefix making generated ids unique + """ + + dirs = DirectoryHelper(parent, prefix, dir) + + for file in filelist: + (sourcePath, destPath) = file.split(':', 1) + destSplit = destPath.rsplit ('/', 1) + if len(destSplit) == 1: + destFN = destSplit[0].strip() + destDir = None + realPrefix = prefix + else: + destDir = destSplit[0].strip() + destFN = destSplit[1].strip() + realPrefix = prefix + '.' + destDir.replace('/', '.') + dirObj = dirs.GetDirectory (destDir) + if destFN == "": + # No file name part - create empty dir + continue + if os.path.isfile(sourcePath): + wixID = gen_wix_id_repeatable(realPrefix + '.' + destFN) + comp = Component(parent = dirObj, id = wixID) + File(parent = comp, name = destFN, id = wixID, source = sourcePath) + ComponentRef(parent = parent, id = wixID) + elif os.path.isdir(sourcePath): + # Source is actually a directory, add recursively + generate_directory_tree(sourcePath, + current = dirObj, + create_dir = True, + parent = parent, + prefix = realPrefix) + else: + print "File list entry %s not found, packages may be incomplete" % sourcePath + +def generate_from_file_list_txt(filelist_name, parent, prefix, dir): + try: + list = file(filelist_name, "r") + except: + list = None + print "Could not open %s, packages may be incomplete" % filelist_name + if list: + generate_from_file_list(list, + parent = parent, + prefix = prefix, + dir = dir) + +def wixify_string(s): + return s.replace('-', '_').replace(' ', '_').replace(',', '_') + +def wixify_string_and_shorten(s, cur): + """ + This is quite ugly and ad hoc. + Compress the filenames to fit into the stupid `Id` length requirement. + A nicer solution is needed, but in most cases we now dont need to calculate + an sha based id. + """ + return md5.md5(s).hexdigest() + curlen = len(cur) + 1 + s = wixify_string(s) + if len(s) + curlen >= 72: + #s = re.sub('(.*)_([0-9a-f]{32})(\.[a-z]*)', r'\1.\3', s) + s = s.replace('graph', 'gr') + s = s.replace('source', 'sr') + s = s.replace('struct', 'st') + s = s.replace('class', 'c') + s = s.replace('const', 'c') + s = s.replace('char', 'c') + s = s.replace('inherit', 'i') + s = s.replace('members', 'm') + s = s.replace('.html', '.h') + s = s.replace('crystalspace', 'cs') + s = s.replace('lightmap', 'lm') + s = s.replace('crystalspace', 'cs') + s = s.replace('Plugin', 'plg') + s = s.replace('Common', 'cmn') + s = s.replace('Shader', 'shd') + s = s.replace('Comparator', 'cmp') + s = s.replace('Default', 'def') + s = s.replace('Scanline', 'scl') + s = s.replace('Render', 'rn') + s = s.replace('Implementation', 'impl') + s = s.replace('System', 'sys') + s = s.replace('Stream', 'str') + s = s.replace('Notification', 'notif') + s = s.replace('Interpolate', 'intrp') + s = s.replace('Utility', 'util') + s = s.replace('Container', 'cont') + s = s.replace('Upcase', 'uc') + s = s.replace('Downcase', 'lc') + if len(s) + curlen > 72: + olds = s + s = md5.md5(s).hexdigest() + sys.stderr.write('shortening filename because it trips the limit: \n'+ + '\t' + olds + "\n" + '\twith a len of ' + str(curlen + len(olds)) + "\n" + + '\treplacing with ' + s + "\n" + '\ttill now id is ' + cur + "\n") + #s = s.replace('__', '_') + #s = s[:20] + return s + +def gen_wix_id_repeatable(s): + """ + Generates a Id which fits to WIX's requirements for ids. It + creates the same id for the same input. + """ + #return '_' + sha.sha(str(s)).hexdigest() + return '_' + md5.md5(s).hexdigest()[:-1] + +def default_directory_filter(directory, entry): + #print entry + if entry in [".svn", 'CVS']: + return False + return True + +def generate_merge_module(path = [], out = '.', id = Empty, manufacturer = "", Language = 1033, guid = Empty, version = Empty, language = '1033', filename = None): + if Empty in [id, guid, version]: + raise TypeError('Missing parameter') + if not filename: + filename = out + os.path.sep + id + '.wxs' + base = Base(filename = filename) + module = Module( + parent = base, + version = version, + language = language, + id = id + ) + package = Package( + parent = module, + id = guid, + manufacturer = manufacturer + ) + + p = module + for i in path: + (c_id, c_name, c_source) = i + param = {"parent": p, + "id": c_id} + if c_source: + param['source_dir'] = c_source + if c_name: + param['name'] = c_name + + p = Directory( + **param) + + return (base, module, p) + +def merge_merge_module(id = Empty, source_file = Empty, feature = Empty, directory = Empty, media = '1', guid = Empty): + if Empty in [source_file, feature, directory, id, guid]: + raise TypeError('Missing parameter') + comb_id = id + '.' + guid + Merge(parent = directory, + id = comb_id, + source_file = source_file, + disk_id = media) + MergeRef( + parent = feature, + id = comb_id) Property changes on: CS/trunk/bin/wixlib.py ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Modified: CS/trunk/mk/jam/build.jam =================================================================== --- CS/trunk/mk/jam/build.jam 2008-08-22 16:09:11 UTC (rev 30931) +++ CS/trunk/mk/jam/build.jam 2008-08-22 16:38:51 UTC (rev 30932) @@ -63,6 +63,7 @@ include $(jamrulesdir)/upload.jam ; include $(jamrulesdir)/filelist.jam ; +include $(jamrulesdir)/msi.jam ; # Include OS specific rules switch $(TARGET.OS) Modified: CS/trunk/mk/jam/filelist.jam =================================================================== --- CS/trunk/mk/jam/filelist.jam 2008-08-22 16:09:11 UTC (rev 30931) +++ CS/trunk/mk/jam/filelist.jam 2008-08-22 16:38:51 UTC (rev 30932) @@ -18,6 +18,17 @@ # #============================================================================ +## ListFile list +## Returns the output file name for a certain file list. +rule ListFile +{ + listfile = $(1:S=.txt) ; + MakeLocate $(listfile) : [ ConcatDirs $(BUILDTOP) out lists ] ; + Clean filelistsclean : $(listfile) ; + Depends clean : filelistsclean ; + return $(listfile) ; +} + ## DoFileListEntries sourcenames : directory : list ## Creates a new target adding the given sources named by ## `sourcenames' to the file list `list`. `directory' is a list of @@ -50,16 +61,13 @@ dir = [ ConcatDirs $(2) ] ; target = $(1:G=filelist!$(SUBDIR:J=!)) ; - listfile = $(4:S=.txt) ; - MakeLocate $(listfile) : [ ConcatDirs $(BUILDTOP) out lists ] ; + listfile = [ ListFile $(4) ] ; SEARCH on $(target) = [ on $(1) GetVar SEARCH ] ; - Always $(target) ; NoCare $(target) ; WriteFileListEntry $(listfile) : $(target) : $(dir) : $(1) ; Depends $(listfile) : $(target) ; - Always $(listfile) ; return $(listfile) ; } @@ -100,7 +108,6 @@ local listfile_gristed = $(listfile:G=$(destname)) ; MakeLocate $(listfile_gristed) : [ on $(listfile) GetVar LOCATE ] ; - Always $(listfile_gristed) ; DESTNAME on $(listfile_gristed) = $(destname) ; LOCATE on $(srcfile) = [ on $(srcfile) GetVar SEARCH ] ; Added: CS/trunk/mk/jam/msi.jam =================================================================== --- CS/trunk/mk/jam/msi.jam (rev 0) +++ CS/trunk/mk/jam/msi.jam 2008-08-22 16:38:51 UTC (rev 30932) @@ -0,0 +1,77 @@ +#============================================================================ +# Rules for creating MSI/MSM files via WiX +# Copyright (C)2008 by Frank Richter +# +# This library is free software; you can redistribute it and/or modify it +# under the terms of the GNU Library General Public License as published by +# the Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This library is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public +# License for more details. +# +# You should have received a copy of the GNU Library General Public License +# along with this library; if not, write to the Free Software Foundation, +# Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# +#============================================================================ + +CMD.GENMSM ?= $(TOP)/bin/cs-genwix-msm.py ; +CMD.CANDLE ?= candle ; +CMD.LIGHT ?= light ; + +WIX_FLAGS = -v -nologo ; #-pedantic +CANDLEFLAGS = ; +LIGHTFLAGS = -ext WixUIExtension -cultures:en-us -ss -sval ; + +LOCATE.MSI ?= $(BUILDTOP)/out/msi ; +LOCATE.MSI.TEMP ?= $(BUILDTOP)/out/msi/temp ; + +# MSIMergeModule id : filelist : version +rule MSIMergeModule +{ + local target = $(1) ; + local mod_src = $(target).wxs ; + local filelistfile = [ ListFile $(2) ] ; + + MakeLocate $(mod_src) : $(LOCATE.MSI.TEMP) ; + VERSION on $(mod_src) = $(3) ; + ID on $(mod_src) = $(target) ; + Depends $(mod_src) : $(filelistfile) ; + GenerateMSMSource $(mod_src) : $(filelistfile) ; + Clean mergemodulesclean : $(mod_src) ; + + local mod_obj = $(mod_src:S=.wixobj) ; + MakeLocate $(mod_obj) : $(LOCATE.MSI.TEMP) ; + Depends $(mod_obj) : $(mod_src) ; + CompileWXS $(mod_obj) : $(mod_src) ; + Clean mergemodulesclean : $(mod_obj) ; + + local mod_msm = $(mod_src:S=.msm) ; + MakeLocate $(mod_msm) : $(LOCATE.MSI) ; + Depends $(mod_msm) : $(mod_obj) ; + LinkWIXOBJ $(mod_msm) : $(mod_obj) ; + Clean mergemodulesclean : $(mod_msm) ; + + Depends $(target) : $(mod_msm) ; + NotFile $(target) ; + Depends mergemodules : $(target) ; + Depends clean : mergemodulesclean ; +} + +actions together GenerateMSMSource +{ + $(CMD.GENMSM) -o $(<) --id $(ID) --version $(VERSION) $(>) +} + +actions CompileWXS +{ + candle $(WIX_FLAGS) $(CANDLEFLAGS) $(>) -out $(<) +} + +actions LinkWIXOBJ +{ + light $(WIX_FLAGS) $(LIGHTFLAGS) $(>) -out $(<) +} Property changes on: CS/trunk/mk/jam/msi.jam ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <re...@us...> - 2008-08-22 17:26:18
|
Revision: 30934 http://crystal.svn.sourceforge.net/crystal/?rev=30934&view=rev Author: res2002 Date: 2008-08-22 17:26:14 +0000 (Fri, 22 Aug 2008) Log Message: ----------- Allow specification of subdirs for file lists put into an MSM. Modified Paths: -------------- CS/trunk/bin/cs-genwix-msm.py CS/trunk/mk/jam/msi.jam Modified: CS/trunk/bin/cs-genwix-msm.py =================================================================== --- CS/trunk/bin/cs-genwix-msm.py 2008-08-22 16:49:17 UTC (rev 30933) +++ CS/trunk/bin/cs-genwix-msm.py 2008-08-22 17:26:14 UTC (rev 30934) @@ -12,6 +12,9 @@ help="Output file name", metavar="FILE") options.add_option("--id", dest="msmid", help="Merge module ID (used to look up GUID)", metavar="ID") +options.add_option("--subdirmap", dest="subdirmap", + help="Subdirectory map to place files in. (Multiple allowed)", + action="append", metavar="LIST:DIR") options.add_option("--version", dest="version", help="Package version", metavar="VERSION") @@ -22,6 +25,12 @@ if not parsed_options.msmid: options.error("missing --id") +if parsed_options.subdirmap: + subdirmap = {} + for s in parsed_options.subdirmap: + (list, subdirs) = s.split (':', 1) + subdirmap[list] = subdirs + (base, merge, dir) = generate_merge_module(id = parsed_options.msmid, path = [('TARGETDIR', 'SourceDir', None), (parsed_options.msmid + '_dir', None, None)], @@ -34,14 +43,25 @@ parent = base, id = parsed_options.msmid) -ref = DirectoryRef( +dirref = DirectoryRef( parent = f, id = parsed_options.msmid + '_dir') for list in args: + listid = os.path.splitext(os.path.basename(list))[0] + thisdir = dirref + if subdirmap and subdirmap.has_key(listid): + dirid = parsed_options.msmid + list_subdir = subdirmap[listid] + for subdir in list_subdir.split('/'): + dirid = dirid + '.' + subdir + thisdir = Directory( + parent = thisdir, + id = dirid + '_d', + name = subdir) generate_from_file_list_txt (list, parent = merge, - prefix = parsed_options.msmid, - dir = ref) + prefix = parsed_options.msmid + '.' + listid, + dir = thisdir) base.save() Modified: CS/trunk/mk/jam/msi.jam =================================================================== --- CS/trunk/mk/jam/msi.jam 2008-08-22 16:49:17 UTC (rev 30933) +++ CS/trunk/mk/jam/msi.jam 2008-08-22 17:26:14 UTC (rev 30934) @@ -29,7 +29,7 @@ LOCATE.MSI ?= $(BUILDTOP)/out/msi ; LOCATE.MSI.TEMP ?= $(BUILDTOP)/out/msi/temp ; -# MSIMergeModule id : filelist : version +# MSIMergeModule id : filelist : version [: subdir] rule MSIMergeModule { local target = $(1) ; @@ -39,6 +39,7 @@ MakeLocate $(mod_src) : $(LOCATE.MSI.TEMP) ; VERSION on $(mod_src) = $(3) ; ID on $(mod_src) = $(target) ; + SUBDIR on $(mod_src) = $(4) ; Depends $(mod_src) : $(filelistfile) ; GenerateMSMSource $(mod_src) : $(filelistfile) ; Clean mergemodulesclean : $(mod_src) ; @@ -63,7 +64,9 @@ actions together GenerateMSMSource { - $(CMD.GENMSM) -o $(<) --id $(ID) --version $(VERSION) $(>) + $(CMD.GENMSM) -o $(<) --id $(ID) --version $(VERSION) \ + --subdirmap=$(SUBDIR) \ + $(>) } actions CompileWXS This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <re...@us...> - 2008-08-23 00:46:09
|
Revision: 30937 http://crystal.svn.sourceforge.net/crystal/?rev=30937&view=rev Author: res2002 Date: 2008-08-23 00:46:06 +0000 (Sat, 23 Aug 2008) Log Message: ----------- Start on providing Jam targets to make MSMs Modified Paths: -------------- CS/trunk/bin/guidregistry.py CS/trunk/scripts/Jamfile Added Paths: ----------- CS/trunk/scripts/msi/Jamfile Modified: CS/trunk/bin/guidregistry.py =================================================================== --- CS/trunk/bin/guidregistry.py 2008-08-22 23:20:48 UTC (rev 30936) +++ CS/trunk/bin/guidregistry.py 2008-08-23 00:46:06 UTC (rev 30937) @@ -10,15 +10,15 @@ "b2cs.upgrade_code": '826602C0-BF93-11DC-B42B-0015582877AD', #CS merge modules - "CS.doc.msm": '88888F92-BF93-11DC-B42B-0015582877AD', - "CS.vfs.msm": '8DDFD4F0-BF93-11DC-B42B-0015582877AD', - "CS.register.msm": '8E4AB45A-BF93-11DC-B42B-0015582877AD', - "CS.data.msm": '8EA81938-BF93-11DC-B42B-0015582877AD', - "CS.include.msm": '8F1B7996-BF93-11DC-B42B-0015582877AD', - "CS.arch.GCC.include.msm": '8F6CB040-BF93-11DC-B42B-0015582877AD', - "CS.arch.GCC.lib.msm": 'A6DDD416-BF93-11DC-B42B-0015582877AD', - "CS.arch.GCC.executable.msm": 'AC4E1EB0-BF93-11DC-B42B-0015582877AD', - "CS.arch.GCC.support.msm": 'B18119AA-BF93-11DC-B42B-0015582877AD', + "CS.doc": '88888F92-BF93-11DC-B42B-0015582877AD', + "CS.vfs": '8DDFD4F0-BF93-11DC-B42B-0015582877AD', + "CS.register": '8E4AB45A-BF93-11DC-B42B-0015582877AD', + "CS.data": '8EA81938-BF93-11DC-B42B-0015582877AD', + "CS.include": '8F1B7996-BF93-11DC-B42B-0015582877AD', + "CS.arch.GCC.include": '8F6CB040-BF93-11DC-B42B-0015582877AD', + "CS.arch.GCC.lib": 'A6DDD416-BF93-11DC-B42B-0015582877AD', + "CS.arch.GCC.executable": 'AC4E1EB0-BF93-11DC-B42B-0015582877AD', + "CS.arch.GCC.support": 'B18119AA-BF93-11DC-B42B-0015582877AD', #cel merge modules "cel.doc.msm": 'BFEEA872-BF93-11DC-B42B-0015582877AD', Modified: CS/trunk/scripts/Jamfile =================================================================== --- CS/trunk/scripts/Jamfile 2008-08-22 23:20:48 UTC (rev 30936) +++ CS/trunk/scripts/Jamfile 2008-08-23 00:46:06 UTC (rev 30937) @@ -7,6 +7,7 @@ SubInclude TOP scripts maketemplate ; SubInclude TOP scripts max ; SubInclude TOP scripts maya ; +SubInclude TOP scripts msi ; SubInclude TOP scripts perl5 ; SubInclude TOP scripts python ; SubInclude TOP scripts qt2aws ; Added: CS/trunk/scripts/msi/Jamfile =================================================================== --- CS/trunk/scripts/msi/Jamfile (rev 0) +++ CS/trunk/scripts/msi/Jamfile 2008-08-23 00:46:06 UTC (rev 30937) @@ -0,0 +1,11 @@ +SubDir TOP scripts msi ; + +# @@@ Not quite the same ... +MSM_VERSION ?= $(PACKAGE_VERSION) ; + +# Architecture-independent +MSIMergeModule CS.doc : doc-manual doc-api : $(MSM_VERSION) : doc-manual:manual doc-api:api ; +MSIMergeModule CS.data : data-demo data-demo-maps data-runtime data-tool : $(MSM_VERSION) ; +MSIMergeModule CS.include : headers : $(MSM_VERSION) ; +MSIMergeModule CS.vfs : vfs : $(MSM_VERSION) ; + Property changes on: CS/trunk/scripts/msi/Jamfile ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <er...@us...> - 2008-08-24 00:48:17
|
Revision: 30947 http://crystal.svn.sourceforge.net/crystal/?rev=30947&view=rev Author: erluk Date: 2008-08-24 00:48:14 +0000 (Sun, 24 Aug 2008) Log Message: ----------- Merged revisions 30946 via svnmerge from https://crystal.svn.sourceforge.net/svnroot/crystal/CS/branches/release/V1.4 ........ r30946 | erluk | 2008-08-24 01:32:43 +0200 (So, 24 Aug 2008) | 2 lines - Added a section on migrating to the new event system ........ Modified Paths: -------------- CS/trunk/docs/texinfo/appendix/apimod14.txi Property Changed: ---------------- CS/trunk/ Property changes on: CS/trunk ___________________________________________________________________ Modified: svnmerge-integrated - /CS/branches/feature/newanim:1-30040 /CS/branches/feature/rendermanager:1-29759,29761-29886 /CS/branches/release/V1.4:1-29935,30181,30333,30463 /CS/branches/soc2008/threadcomm:1-29721,30471,30486,30678,30681,30720,30722,30753 + /CS/branches/feature/newanim:1-30040 /CS/branches/feature/rendermanager:1-29759,29761-29886 /CS/branches/release/V1.4:1-29935,30181,30333,30463,30946 /CS/branches/soc2008/threadcomm:1-29721,30471,30486,30678,30681,30720,30722,30753 Modified: CS/trunk/docs/texinfo/appendix/apimod14.txi =================================================================== --- CS/trunk/docs/texinfo/appendix/apimod14.txi 2008-08-23 23:32:43 UTC (rev 30946) +++ CS/trunk/docs/texinfo/appendix/apimod14.txi 2008-08-24 00:48:14 UTC (rev 30947) @@ -8,10 +8,20 @@ @menu * Api1_4 iGenMeshAnimationControl changes:: @code{iGenMeshAnimationControl} changes +* Api1_4 Deprecation of the old event system:: Deprecation of the old event system @end menu -@node Api1_4 iGenMeshAnimationControl changes, , Release Notes 1_4, Release Notes 1_4 +@node Api1_4 iGenMeshAnimationControl changes, Api1_4 Deprecation of the old event system, Release Notes 1_4, Release Notes 1_4 @subsection @code{iGenMeshAnimationControl} changes The @code{Update} method of the @code{iGenMeshAnimationControl} interface has a different prototype, as more parameters have been added. + +@node Api1_4 Deprecation of the old event system, , Api1_4 iGenMeshAnimationControl changes, Release Notes 1_4 +@subsection Deprecation of the old event system + +The old event system has been deprecated in this release and will be gone in the next version. This means that the frame sub-events @code{csevPreProcess}, @code{csevProcess}, @code{csevPostProcess}, and @code{csevFinalProcess} will no longer be available. At the same time, the corresponding methods from @code{csBaseEventHandler} will be replaced by a single @code{csBaseEventHandler::Frame()} function. + +Applications that rely on the old event system should be changed to use the new event system. If a single event handling class needs to handle the @code{csevFrame} event more than once per frame, embedded event handler classes should be used. These classes should define constraints to receive the event in the correct phase. Examine the code of @code{walktest} for an example. + +Applications that only use @code{csevFinalProcess} or @code{csBaseEventHandler::FinishFrame} to update the display via @code{iGraphics3D::Print} should use the helper class @code{FramePrinter} instead. Examine the code of @code{simple1} for an example. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cry...@us...> - 2008-08-24 02:53:29
|
Revision: 30948 http://crystal.svn.sourceforge.net/crystal/?rev=30948&view=rev Author: crystal-manage Date: 2008-08-24 02:53:24 +0000 (Sun, 24 Aug 2008) Log Message: ----------- master header files: Automated master header file repair. Visual-C++ project files: Automated Visual-C++ project file repair. Texinfo files: Automated Texinfo @node and @menu repair. Swig Python files: Automated Swig Python file repair. Swig Perl5 files: Automated Swig Perl5 file repair. User's Manual: Automated Texinfo to HTML conversion. Modified Paths: -------------- CS/trunk/docs/html/manual/Api1_005f4-iGenMeshAnimationControl-changes.html CS/trunk/docs/html/manual/Release-Notes-1_005f2.html CS/trunk/docs/html/manual/Release-Notes-1_005f4.html CS/trunk/docs/html/manual/cs_326.html CS/trunk/docs/html/manual/cs_327.html CS/trunk/docs/html/manual/cs_328.html CS/trunk/docs/html/manual/cs_329.html CS/trunk/docs/html/manual/cs_Index.html CS/trunk/docs/html/manual/cs_ovr.html CS/trunk/docs/html/manual/cs_toc.html CS/trunk/mk/msvc/appcslight_static_staticuse.cpp CS/trunk/mk/msvc/applighter2_static_staticuse.cpp Added Paths: ----------- CS/trunk/docs/html/manual/Api1_005f4-Deprecation-of-the-old-event-system.html CS/trunk/docs/html/manual/cs_330.html Removed Paths: ------------- CS/trunk/docs/html/manual/cs_325.html Added: CS/trunk/docs/html/manual/Api1_005f4-Deprecation-of-the-old-event-system.html =================================================================== --- CS/trunk/docs/html/manual/Api1_005f4-Deprecation-of-the-old-event-system.html (rev 0) +++ CS/trunk/docs/html/manual/Api1_005f4-Deprecation-of-the-old-event-system.html 2008-08-24 02:53:24 UTC (rev 30948) @@ -0,0 +1,79 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd"> +<html> +<!-- Created by texi2html 1.76 --> +<!-- +Written by: Lionel Cons <Lio...@ce...> (original author) + Karl Berry <ka...@fr...> + Olaf Bachmann <oba...@ma...> + and many others. +Maintained by: Many creative people <de...@te...> +Send bugs and suggestions to <us...@te...> + +--> +<head> +<title>Crystal Space 1.9.0: C.1.2 Deprecation of the old event system</title> + +<meta name="description" content="Crystal Space 1.9.0: C.1.2 Deprecation of the old event system"> +<meta name="keywords" content="Crystal Space 1.9.0: C.1.2 Deprecation of the old event system"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="texi2html 1.76"> +<meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +pre.display {font-family: serif} +pre.format {font-family: serif} +pre.menu-comment {font-family: serif} +pre.menu-preformatted {font-family: serif} +pre.smalldisplay {font-family: serif; font-size: smaller} +pre.smallexample {font-size: smaller} +pre.smallformat {font-family: serif; font-size: smaller} +pre.smalllisp {font-size: smaller} +span.sansserif {font-family:sans-serif; font-weight:normal;} +ul.toc {list-style: none} +--> +</style> + + +</head> + +<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> + +<a name="Api1_005f4-Deprecation-of-the-old-event-system"></a> +<a name="0"></a> +<table cellpadding="1" cellspacing="1" border="0"> +<tr><td valign="middle" align="left">[<a href="Api1_005f4-iGenMeshAnimationControl-changes.html#0" title="Previous section in reading order"> < </a>]</td> +<td valign="middle" align="left">[<a href="Release-Notes-1_005f2.html#0" title="Next section in reading order"> > </a>]</td> +<td valign="middle" align="left"> </td> +<td valign="middle" align="left">[<a href="Release-Notes.html#0" title="Beginning of this chapter or previous chapter"> << </a>]</td> +<td valign="middle" align="left">[<a href="Release-Notes-1_005f4.html#0" title="Up section"> Up </a>]</td> +<td valign="middle" align="left">[<a href="Licenses.html#0" title="Next chapter"> >> </a>]</td> +<td valign="middle" align="left"> </td> +<td valign="middle" align="left"> </td> +<td valign="middle" align="left"> </td> +<td valign="middle" align="left"> </td> +<td valign="middle" align="left">[<a href="index.html#SEC_Top" title="Cover (top) of document">Top</a>]</td> +<td valign="middle" align="left">[<a href="cs_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td> +<td valign="middle" align="left">[<a href="cs_Index.html#0" title="Index">Index</a>]</td> +<td valign="middle" align="left">[<a href="cs_abt.html#SEC_About" title="About (help)"> ? </a>]</td> +</tr></table> +<hr size="1"> +<h3 class="subsection"> C.1.2 Deprecation of the old event system </h3> + +<p>The old event system has been deprecated in this release and will be gone in the next version. This means that the frame sub-events <code>csevPreProcess</code>, <code>csevProcess</code>, <code>csevPostProcess</code>, and <code>csevFinalProcess</code> will no longer be available. At the same time, the corresponding methods from <code>csBaseEventHandler</code> will be replaced by a single <code>csBaseEventHandler::Frame()</code> function. +</p> +<p>Applications that rely on the old event system should be changed to use the new event system. If a single event handling class needs to handle the <code>csevFrame</code> event more than once per frame, embedded event handler classes should be used. These classes should define constraints to receive the event in the correct phase. Examine the code of <code>walktest</code> for an example. +</p> +<p>Applications that only use <code>csevFinalProcess</code> or <code>csBaseEventHandler::FinishFrame</code> to update the display via <code>iGraphics3D::Print</code> should use the helper class <code>FramePrinter</code> instead. Examine the code of <code>simple1</code> for an example. +</p> +<hr size="1"> +<p> + <font size="-1"> + This document was generated using <a href="http://texi2html.cvshome.org/"><em>texi2html 1.76</em></a>. + </font> + <br> + +</p> +</body> +</html> Property changes on: CS/trunk/docs/html/manual/Api1_005f4-Deprecation-of-the-old-event-system.html ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Modified: CS/trunk/docs/html/manual/Api1_005f4-iGenMeshAnimationControl-changes.html =================================================================== --- CS/trunk/docs/html/manual/Api1_005f4-iGenMeshAnimationControl-changes.html 2008-08-24 00:48:14 UTC (rev 30947) +++ CS/trunk/docs/html/manual/Api1_005f4-iGenMeshAnimationControl-changes.html 2008-08-24 02:53:24 UTC (rev 30948) @@ -44,7 +44,7 @@ <a name="0"></a> <table cellpadding="1" cellspacing="1" border="0"> <tr><td valign="middle" align="left">[<a href="Release-Notes-1_005f4.html#0" title="Previous section in reading order"> < </a>]</td> -<td valign="middle" align="left">[<a href="Release-Notes-1_005f2.html#0" title="Next section in reading order"> > </a>]</td> +<td valign="middle" align="left">[<a href="Api1_005f4-Deprecation-of-the-old-event-system.html#0" title="Next section in reading order"> > </a>]</td> <td valign="middle" align="left"> </td> <td valign="middle" align="left">[<a href="Release-Notes.html#0" title="Beginning of this chapter or previous chapter"> << </a>]</td> <td valign="middle" align="left">[<a href="Release-Notes-1_005f4.html#0" title="Up section"> Up </a>]</td> Modified: CS/trunk/docs/html/manual/Release-Notes-1_005f2.html =================================================================== --- CS/trunk/docs/html/manual/Release-Notes-1_005f2.html 2008-08-24 00:48:14 UTC (rev 30947) +++ CS/trunk/docs/html/manual/Release-Notes-1_005f2.html 2008-08-24 02:53:24 UTC (rev 30948) @@ -43,7 +43,7 @@ <a name="Release-Notes-1_005f2"></a> <a name="0"></a> <table cellpadding="1" cellspacing="1" border="0"> -<tr><td valign="middle" align="left">[<a href="Api1_005f4-iGenMeshAnimationControl-changes.html#0" title="Previous section in reading order"> < </a>]</td> +<tr><td valign="middle" align="left">[<a href="Api1_005f4-Deprecation-of-the-old-event-system.html#0" title="Previous section in reading order"> < </a>]</td> <td valign="middle" align="left">[<a href="Api1_005f2-Threading.html#0" title="Next section in reading order"> > </a>]</td> <td valign="middle" align="left"> </td> <td valign="middle" align="left">[<a href="Release-Notes.html#0" title="Beginning of this chapter or previous chapter"> << </a>]</td> Modified: CS/trunk/docs/html/manual/Release-Notes-1_005f4.html =================================================================== --- CS/trunk/docs/html/manual/Release-Notes-1_005f4.html 2008-08-24 00:48:14 UTC (rev 30947) +++ CS/trunk/docs/html/manual/Release-Notes-1_005f4.html 2008-08-24 02:53:24 UTC (rev 30948) @@ -66,6 +66,7 @@ </p> <table class="menu" border="0" cellspacing="0"> <tr><td align="left" valign="top"><a href="Api1_005f4-iGenMeshAnimationControl-changes.html#0">C.1.1 <code>iGenMeshAnimationControl</code> changes</a></td><td> </td><td align="left" valign="top"></td></tr> +<tr><td align="left" valign="top"><a href="Api1_005f4-Deprecation-of-the-old-event-system.html#0">C.1.2 Deprecation of the old event system</a></td><td> </td><td align="left" valign="top"></td></tr> </table> <hr size="1"> Deleted: CS/trunk/docs/html/manual/cs_325.html =================================================================== --- CS/trunk/docs/html/manual/cs_325.html 2008-08-24 00:48:14 UTC (rev 30947) +++ CS/trunk/docs/html/manual/cs_325.html 2008-08-24 02:53:24 UTC (rev 30948) @@ -1,571 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd"> -<html> -<!-- Created by texi2html 1.76 --> -<!-- -Written by: Lionel Cons <Lio...@ce...> (original author) - Karl Berry <ka...@fr...> - Olaf Bachmann <oba...@ma...> - and many others. -Maintained by: Many creative people <de...@te...> -Send bugs and suggestions to <us...@te...> - ---> -<head> -<title>Crystal Space 1.9.0: Index: D -- I</title> - -<meta name="description" content="Crystal Space 1.9.0: Index: D -- I"> -<meta name="keywords" content="Crystal Space 1.9.0: Index: D -- I"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="texi2html 1.76"> -<meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -pre.display {font-family: serif} -pre.format {font-family: serif} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: serif; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: serif; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.sansserif {font-family:sans-serif; font-weight:normal;} -ul.toc {list-style: none} ---> -</style> - - -</head> - -<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> - -<a name="INDEX0"></a> -<table cellpadding="1" cellspacing="1" border="0"> -<tr><td valign="middle" align="left">[<a href="cs_Index.html#0" title="Previous section in reading order"> < </a>]</td> -<td valign="middle" align="left">[<a href="cs_326.html#INDEX1" title="Next section in reading order"> > </a>]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[<a href="cs_Index.html#0" title="Beginning of this chapter or previous chapter"> << </a>]</td> -<td valign="middle" align="left">[<a href="index.html#SEC_Top" title="Up section"> Up </a>]</td> -<td valign="middle" align="left">[<a href="cs_326.html#INDEX1" title="Next chapter"> >> </a>]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[<a href="index.html#SEC_Top" title="Cover (top) of document">Top</a>]</td> -<td valign="middle" align="left">[<a href="cs_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td> -<td valign="middle" align="left">[<a href="cs_Index.html#0" title="Index">Index</a>]</td> -<td valign="middle" align="left">[<a href="cs_abt.html#SEC_About" title="About (help)"> ? </a>]</td> -</tr></table> -<hr size="1"> -<h1 class="unnumbered"> Index: D -- I </h1> -<table><tr><th valign="top">Jump to: </th><td><a href="cs_Index.html#0_0" class="summary-letter"><b>-</b></a> - -<a href="cs_Index.html#0_1" class="summary-letter"><b>.</b></a> - -<a href="cs_Index.html#0_2" class="summary-letter"><b>/</b></a> - -<a href="cs_Index.html#0_3" class="summary-letter"><b>2</b></a> - -<a href="cs_Index.html#0_4" class="summary-letter"><b>3</b></a> - -<br> -<a href="cs_Index.html#0_5" class="summary-letter"><b>A</b></a> - -<a href="cs_Index.html#0_6" class="summary-letter"><b>B</b></a> - -<a href="cs_Index.html#0_7" class="summary-letter"><b>C</b></a> - -<a href="#INDEX0_0" class="summary-letter"><b>D</b></a> - -<a href="#INDEX0_1" class="summary-letter"><b>E</b></a> - -<a href="#INDEX0_2" class="summary-letter"><b>F</b></a> - -<a href="#INDEX0_3" class="summary-letter"><b>G</b></a> - -<a href="#INDEX0_4" class="summary-letter"><b>H</b></a> - -<a href="#INDEX0_5" class="summary-letter"><b>I</b></a> - -<a href="cs_326.html#INDEX1_0" class="summary-letter"><b>J</b></a> - -<a href="cs_326.html#INDEX1_1" class="summary-letter"><b>K</b></a> - -<a href="cs_326.html#INDEX1_2" class="summary-letter"><b>L</b></a> - -<a href="cs_326.html#INDEX1_3" class="summary-letter"><b>M</b></a> - -<a href="cs_327.html#INDEX2_0" class="summary-letter"><b>N</b></a> - -<a href="cs_327.html#INDEX2_1" class="summary-letter"><b>O</b></a> - -<a href="cs_327.html#INDEX2_2" class="summary-letter"><b>P</b></a> - -<a href="cs_327.html#INDEX2_3" class="summary-letter"><b>Q</b></a> - -<a href="cs_327.html#INDEX2_4" class="summary-letter"><b>R</b></a> - -<a href="cs_328.html#INDEX3_0" class="summary-letter"><b>S</b></a> - -<a href="cs_328.html#INDEX3_1" class="summary-letter"><b>T</b></a> - -<a href="cs_329.html#INDEX4_0" class="summary-letter"><b>U</b></a> - -<a href="cs_329.html#INDEX4_1" class="summary-letter"><b>V</b></a> - -<a href="cs_329.html#INDEX4_2" class="summary-letter"><b>W</b></a> - -<a href="cs_329.html#INDEX4_3" class="summary-letter"><b>X</b></a> - -<a href="cs_329.html#INDEX4_4" class="summary-letter"><b>Z</b></a> - -</td></tr></table> -<table border="0" class="index-cp"> -<tr><td></td><th align="left">Index Entry</th><th align="left"> Section</th></tr> -<tr><td colspan="3"> <hr></td></tr> -<tr><th><a name="INDEX0_0">D</a></th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-90.html#20"><small>DDG</small> Terrain Engine</a></td><td valign="top"><a href="Release-Notes-90.html#20"><small>DDG</small> Terrain Engine Removed</a></td></tr> -<tr><td></td><td valign="top"><a href="Efficient-Textures.html#0">DDS</a></td><td valign="top"><a href="Efficient-Textures.html#0">4.12.4 Efficient Textures</a></td></tr> -<tr><td></td><td valign="top"><a href="Map-Creation-Tips.html#3"><small>DDS</small></a></td><td valign="top"><a href="Map-Creation-Tips.html#3">Use <small>DDS</small> Image Format</a></td></tr> -<tr><td></td><td valign="top"><a href="BugPlug.html#0">debugging</a></td><td valign="top"><a href="BugPlug.html#0">4.22 Using the BugPlug Debugging Plugin</a></td></tr> -<tr><td></td><td valign="top"><a href="Walktest-Debugging.html#0">Debugging Walktest</a></td><td valign="top"><a href="Walktest-Debugging.html#0">3.1.4.9 Debugging Commands</a></td></tr> -<tr><td></td><td valign="top"><a href="Decals.html#0">Decals</a></td><td valign="top"><a href="Decals.html#0">4.9.11 Decals</a></td></tr> -<tr><td></td><td valign="top"><a href="Smart-Pointers.html#0"><code>DecRef</code></a></td><td valign="top"><a href="Smart-Pointers.html#0">4.3.2 Correctly Using Smart Pointers</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-98.html#1"><code>DeferUpdateLighting</code></a></td><td valign="top"><a href="Release-Notes-98.html#1">Lighting Changes</a></td></tr> -<tr><td></td><td valign="top"><a href="Walktest-Movement.html#0">Descent-like</a></td><td valign="top"><a href="Walktest-Movement.html#0">3.1.4.2 Movement Commands</a></td></tr> -<tr><td></td><td valign="top"><a href="md32spr-Tutorial.html#4">Description of Archive Contents, <code>md32spr</code> Tutorial</a></td><td valign="top"><a href="md32spr-Tutorial.html#4">Description of Archive Contents</a></td></tr> -<tr><td></td><td valign="top"><a href="Platform-Details.html#0">Details, Platform-Specific</a></td><td valign="top"><a href="Platform-Details.html#0">6.1 Platform-Specific Details</a></td></tr> -<tr><td></td><td valign="top"><a href="VFS-Details.html#0">Details, <small>VFS</small></a></td><td valign="top"><a href="VFS-Details.html#0">4.7.1 Details</a></td></tr> -<tr><td></td><td valign="top"><a href="HOWTO-CS-Project-DevCPP.html#0">Dev-CPP</a></td><td valign="top"><a href="HOWTO-CS-Project-DevCPP.html#0">4.20.4 Creating an External Crystal Space Application Using Dev-CPP</a></td></tr> -<tr><td></td><td valign="top"><a href="Where-to-Get.html#2">Developer Documentation and <small>API</small></a></td><td valign="top"><a href="Where-to-Get.html#2">Documentation</a></td></tr> -<tr><td></td><td valign="top"><a href="Where-to-Get.html#1">Developmental Releases, Bleeding-Edge</a></td><td valign="top"><a href="Where-to-Get.html#1">Bleeding-Edge Developmental Releases (<small>SVN</small>)</a></td></tr> -<tr><td></td><td valign="top"><a href="Directory-Hierarchy.html#0">Directory Hierarchy</a></td><td valign="top"><a href="Directory-Hierarchy.html#0">2.1 Directory Hierarchy</a></td></tr> -<tr><td></td><td valign="top"><a href="Applications-Overview.html#IDX17"><tt>‘docconv’</tt></a></td><td valign="top"><a href="Applications-Overview.html#0">3.2 Quick Overview</a></td></tr> -<tr><td></td><td valign="top"><a href="Binary-XML.html#0"><samp>‘docconv’</samp></a></td><td valign="top"><a href="Binary-XML.html#0">4.16.3 Binary <small>XML</small></a></td></tr> -<tr><td></td><td valign="top"><a href="Where-to-Get.html#2">Documentation, Obtaining</a></td><td valign="top"><a href="Where-to-Get.html#2">Documentation</a></td></tr> -<tr><td></td><td valign="top"><a href="Where-to-Get.html#2">Documentation, Online</a></td><td valign="top"><a href="Where-to-Get.html#2">Documentation</a></td></tr> -<tr><td></td><td valign="top"><a href="Writing-Documentation.html#0">Documentation, Writing</a></td><td valign="top"><a href="Writing-Documentation.html#0">7.1 Writing Documentation</a></td></tr> -<tr><td></td><td valign="top"><a href="HOWTO-Pseudo-DynLight.html#0">dynamic lights</a></td><td valign="top"><a href="HOWTO-Pseudo-DynLight.html#0">4.11.2 Pseudo-dynamic Lights</a></td></tr> -<tr><td></td><td valign="top"><a href="Walktest-Lighting.html#0">Dynamic Lights</a></td><td valign="top"><a href="Walktest-Lighting.html#0">3.1.4.7 Lighting Commands</a></td></tr> -<tr><td></td><td valign="top"><a href="Lighting.html#3">Dynamic Lights</a></td><td valign="top"><a href="Lighting.html#3">Dynamic Lights</a></td></tr> -<tr><td></td><td valign="top"><a href="World-Components.html#11">dynamic loading</a></td><td valign="top"><a href="World-Components.html#11">Collections</a></td></tr> -<tr><td></td><td valign="top"><a href="Dynamic-Worlds.html#0">Dynamic Worlds</a></td><td valign="top"><a href="Dynamic-Worlds.html#0">4.9.9 Dynamic Worlds</a></td></tr> -<tr><td></td><td valign="top"><a href="VIS-cullers.html#0">dynavis</a></td><td valign="top"><a href="VIS-cullers.html#0">4.9.8.2 Visibility Cullers</a></td></tr> -<tr><td colspan="3"> <hr></td></tr> -<tr><th><a name="INDEX0_1">E</a></th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Map-Creation-Tips.html#0">Efficient Maps</a></td><td valign="top"><a href="Map-Creation-Tips.html#0">5.2 Some Tips for Efficient Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-17.html#1"><code>elapsed_time</code> Changes</a></td><td valign="top"><a href="Release-Notes-17.html#1">Signature Change: NextFrame(elapsed_time/current_time)</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Emit.html#0">Emitter Particle System</a></td><td valign="top"><a href="MeshObject-Emit.html#0">4.10.15 Emitter Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="Engine.html#0">engine</a></td><td valign="top"><a href="Engine.html#0">4.9 The 3D Engine</a></td></tr> -<tr><td></td><td valign="top"><a href="Engine-Internal-Workings.html#0">Engine Internals</a></td><td valign="top"><a href="Engine-Internal-Workings.html#0">6.3 The Engine Internals Explained</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-90.html#11">Engine Plugin</a></td><td valign="top"><a href="Release-Notes-90.html#11">Using the Engine as a Plugin</a></td></tr> -<tr><td></td><td valign="top"><a href="SVN-Guide.html#0">Etiquette, <small>SVN</small></a></td><td valign="top"><a href="SVN-Guide.html#0">7.4 <small>SVN</small> Etiquette Guidelines</a></td></tr> -<tr><td></td><td valign="top"><a href="Simple-Event-Handling.html#0">Event Handling, Simple Tutorial</a></td><td valign="top"><a href="Simple-Event-Handling.html#0">4.2.1.2 Event Handling</a></td></tr> -<tr><td></td><td valign="top"><a href="Event-System.html#0">Event System</a></td><td valign="top"><a href="Event-System.html#0">4.4 Event System</a></td></tr> -<tr><td></td><td valign="top"><a href="Event-Bindings.html#0">Events, Bindings</a></td><td valign="top"><a href="Event-Bindings.html#0">4.4.5 Bindings</a></td></tr> -<tr><td></td><td valign="top"><a href="Frame-phase-events.html#0">Events, Frame phases</a></td><td valign="top"><a href="Frame-phase-events.html#0">4.4.4 Frame phase events</a></td></tr> -<tr><td></td><td valign="top"><a href="Event-Names.html#0">Events, Names</a></td><td valign="top"><a href="Event-Names.html#0">4.4.1 Names</a></td></tr> -<tr><td></td><td valign="top"><a href="Event-Scheduling.html#0">Events, Scheduling</a></td><td valign="top"><a href="Event-Scheduling.html#0">4.4.2 Scheduling</a></td></tr> -<tr><td></td><td valign="top"><a href="Event-Subscription.html#0">Events, Subscription</a></td><td valign="top"><a href="Event-Subscription.html#0">4.4.3 Subscription</a></td></tr> -<tr><td></td><td valign="top"><a href="Applications-Overview.html#IDX19"><tt>‘eventtest’</tt></a></td><td valign="top"><a href="Applications-Overview.html#0">3.2 Quick Overview</a></td></tr> -<tr><td></td><td valign="top"><a href="HOWTO-CS-Project.html#0">External Crystal Space Application</a></td><td valign="top"><a href="HOWTO-CS-Project.html#0">4.20.1 Creating an External Crystal Space Application</a></td></tr> -<tr><td></td><td valign="top"><a href="HOWTO-CS-Project-DevCPP.html#0">External Crystal Space Application</a></td><td valign="top"><a href="HOWTO-CS-Project-DevCPP.html#0">4.20.4 Creating an External Crystal Space Application Using Dev-CPP</a></td></tr> -<tr><td></td><td valign="top"><a href="Making-Own-Projects.html#0">external projects</a></td><td valign="top"><a href="Making-Own-Projects.html#0">4.20 Making Projects Using Crystal Space</a></td></tr> -<tr><td colspan="3"> <hr></td></tr> -<tr><th><a name="INDEX0_2">F</a></th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="FAQ.html#0"><small>FAQ</small></a></td><td valign="top"><a href="FAQ.html#0">B. Frequently Asked Questions (<small>FAQ</small>)</a></td></tr> -<tr><td></td><td valign="top"><a href="Map-Creation-Tips.html#6">Far Plane Clipping</a></td><td valign="top"><a href="Map-Creation-Tips.html#6">Far Plane Clipping</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-94.html#3">far planes</a></td><td valign="top"><a href="Release-Notes-94.html#3">Engine Changes</a></td></tr> -<tr><td></td><td valign="top"><a href="Feature-List.html#0">Features</a></td><td valign="top"><a href="Feature-List.html#0">1.5 Feature List</a></td></tr> -<tr><td></td><td valign="top"><a href="Feedback.html#0">Feedback</a></td><td valign="top"><a href="Feedback.html#0">1.9 Feedback and Bug Reporting</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-98.html#16"><code>FindFiles</code></a></td><td valign="top"><a href="Release-Notes-98.html#16">csStrVector and iStrVector Removed</a></td></tr> -<tr><td></td><td valign="top"><a href="Walktest-Command-Line-Options.html#0"><tt>‘flarge’</tt></a></td><td valign="top"><a href="Walktest-Command-Line-Options.html#0">3.1.3 Command Line options</a></td></tr> -<tr><td></td><td valign="top"><a href="HOWTO-Use-custom-font.html#0">font, csf</a></td><td valign="top"><a href="HOWTO-Use-custom-font.html#0">4.13.1 Using a Custom Font</a></td></tr> -<tr><td></td><td valign="top"><a href="XML-File-Format.html#0">Format of Map File</a></td><td valign="top"><a href="XML-File-Format.html#0">5.11.2 Format of Map File (<small>XML</small>)</a></td></tr> -<tr><td></td><td valign="top"><a href="Basic-Tools.html#0">framerate</a></td><td valign="top"><a href="Basic-Tools.html#0">4.22.3 Basic Tools</a></td></tr> -<tr><td></td><td valign="top"><a href="Walktest-Mouse-Movement.html#0">Freelook</a></td><td valign="top"><a href="Walktest-Mouse-Movement.html#0">3.1.2 Mouse Movement</a></td></tr> -<tr><td></td><td valign="top"><a href="External-Libraries.html#7">Freetype2</a></td><td valign="top"><a href="External-Libraries.html#7">Freetype2</a></td></tr> -<tr><td></td><td valign="top"><a href="FAQ.html#0">Frequently Asked Questions</a></td><td valign="top"><a href="FAQ.html#0">B. Frequently Asked Questions (<small>FAQ</small>)</a></td></tr> -<tr><td></td><td valign="top"><a href="VIS-cullers.html#0">frustvis</a></td><td valign="top"><a href="VIS-cullers.html#0">4.9.8.2 Visibility Cullers</a></td></tr> -<tr><td colspan="3"> <hr></td></tr> -<tr><th><a name="INDEX0_3">G</a></th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Applications-Overview.html#IDX21"><tt>‘g2dtest’</tt></a></td><td valign="top"><a href="Applications-Overview.html#0">3.2 Quick Overview</a></td></tr> -<tr><td></td><td valign="top"><a href="Game-Data.html#0">game data</a></td><td valign="top"><a href="Game-Data.html#0">4.8 Managing Game Specific Data</a></td></tr> -<tr><td></td><td valign="top"><a href="Walktest-Console-Commands.html#0">General Commands</a></td><td valign="top"><a href="Walktest-Console-Commands.html#0">3.1.4 Console Commands</a></td></tr> -<tr><td></td><td valign="top"><a href="Walktest-General.html#0">General Commands</a></td><td valign="top"><a href="Walktest-General.html#0">3.1.4.1 General Commands</a></td></tr> -<tr><td></td><td valign="top"><a href="General-Renderbuffers-Format.html#0">General Renderbuffers Format, Renderbuffers</a></td><td valign="top"><a href="General-Renderbuffers-Format.html#0">5.11.1 General Renderbuffers Format</a></td></tr> -<tr><td></td><td valign="top"><a href="Tutorial-Simple.html#0"><code>GeneralMeshBuilder</code></a></td><td valign="top"><a href="Tutorial-Simple.html#0">4.2.1 Simple Tutorial 1: Basic Setup, World Creation</a></td></tr> -<tr><td></td><td valign="top"><a href="HOWTO-Create-Genmesh.html#0"><samp>‘GeneralMeshBuilder’</samp></a></td><td valign="top"><a href="HOWTO-Create-Genmesh.html#0">4.10.4 Creating a Genmesh Mesh</a></td></tr> -<tr><td></td><td valign="top"><a href="Genesis.html#0">Genesis</a></td><td valign="top"><a href="Genesis.html#0">1.10 Genesis of Crystal Space</a></td></tr> -<tr><td></td><td valign="top"><a href="GenMesh-Animation.html#0">GenMesh</a></td><td valign="top"><a href="GenMesh-Animation.html#0">4.15.4 GenMesh Animation</a></td></tr> -<tr><td></td><td valign="top"><a href="HOWTO-Create-Genmesh.html#0">genmesh mesh</a></td><td valign="top"><a href="HOWTO-Create-Genmesh.html#0">4.10.4 Creating a Genmesh Mesh</a></td></tr> -<tr><td></td><td valign="top"><a href="Portal-Engine.html#2">GenMeshes</a></td><td valign="top"><a href="Portal-Engine.html#2">GenMeshes</a></td></tr> -<tr><td></td><td valign="top"><a href="VIS-entities.html#2">GenMeshes, Visibility</a></td><td valign="top"><a href="VIS-entities.html#2">GenMeshes</a></td></tr> -<tr><td></td><td valign="top"><a href="csGeom.html#0">Geometry Library</a></td><td valign="top"><a href="csGeom.html#0">4.6.1 Geometry Library (<code>csGeom</code>)</a></td></tr> -<tr><td></td><td valign="top"><a href="csGeom.html#0">Geometry Module</a></td><td valign="top"><a href="csGeom.html#0">4.6.1 Geometry Library (<code>csGeom</code>)</a></td></tr> -<tr><td></td><td valign="top"><a href="HOWTO-Mesh-Movement.html#0"><code>GetFullTransform</code></a></td><td valign="top"><a href="HOWTO-Mesh-Movement.html#0">4.10.6 Mesh Movement</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-98.html#1"><code>GetNearbyLights</code></a></td><td valign="top"><a href="Release-Notes-98.html#1">Lighting Changes</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-18.html#0"><code>GetNearbyLights()</code></a></td><td valign="top"><a href="Release-Notes-18.html#0">C.9 Release Notes from 0.17 to 0.18</a></td></tr> -<tr><td></td><td valign="top"><a href="HOWTO-Mesh-Movement.html#0"><code>GetTransform</code></a></td><td valign="top"><a href="HOWTO-Mesh-Movement.html#0">4.10.6 Mesh Movement</a></td></tr> -<tr><td></td><td valign="top"><a href="Glossary.html#0">Glossary</a></td><td valign="top"><a href="Glossary.html#0">A. Glossary</a></td></tr> -<tr><td></td><td valign="top"><a href="Copying.html#IDX80"><small>GPL</small>, General Public License</a></td><td valign="top"><a href="Copying.html#0">D.3 <small>GNU</small> General Public License</a></td></tr> -<tr><td colspan="3"> <hr></td></tr> -<tr><th><a name="INDEX0_4">H</a></th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-17.html#2"><code>HandleEvent()</code> Changes</a></td><td valign="top"><a href="Release-Notes-17.html#2">Signature Change: HandleEvent(csEvent)</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-96.html#12"><samp>‘Hardmove’</samp></a></td><td valign="top"><a href="Release-Notes-96.html#12">Hardmove Change</a></td></tr> -<tr><td></td><td valign="top"><a href="HOWTO-Mesh-Movement.html#0"><code>HardTransform</code></a></td><td valign="top"><a href="HOWTO-Mesh-Movement.html#0">4.10.6 Mesh Movement</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Haze.html#0">Haze</a></td><td valign="top"><a href="MeshObject-Haze.html#0">4.10.16 Haze Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="HOWTO-Mesh-Movement.html#0">hierarchical transformations</a></td><td valign="top"><a href="HOWTO-Mesh-Movement.html#0">4.10.6 Mesh Movement</a></td></tr> -<tr><td></td><td valign="top"><a href="Directory-Hierarchy.html#0">Hierarchy, Directory</a></td><td valign="top"><a href="Directory-Hierarchy.html#0">2.1 Directory Hierarchy</a></td></tr> -<tr><td></td><td valign="top"><a href="Walktest-Mouse-Movement.html#0">Hit mesh</a></td><td valign="top"><a href="Walktest-Mouse-Movement.html#0">3.1.2 Mouse Movement</a></td></tr> -<tr><td></td><td valign="top"><a href="Walktest-Mouse-Movement.html#0">Hit polygon</a></td><td valign="top"><a href="Walktest-Mouse-Movement.html#0">3.1.2 Mouse Movement</a></td></tr> -<tr><td colspan="3"> <hr></td></tr> -<tr><th><a name="INDEX0_5">I</a></th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-98.html#2"><code>iBezierFactoryState</code></a></td><td valign="top"><a href="Release-Notes-98.html#2">Bezier Curve Changes</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-98.html#2"><code>iBezierState</code></a></td><td valign="top"><a href="Release-Notes-98.html#2">Bezier Curve Changes</a></td></tr> -<tr><td></td><td valign="top"><a href="Simple-Camera.html#0">iCamera</a></td><td valign="top"><a href="Simple-Camera.html#0">4.2.1.4 The Camera</a></td></tr> -<tr><td></td><td valign="top"><a href="HOWTO-Camera-Movement.html#0"><code>iCamera</code></a></td><td valign="top"><a href="HOWTO-Camera-Movement.html#0">4.9.6 Camera Movement</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-94.html#2"><code>iCamera</code></a></td><td valign="top"><a href="Release-Notes-94.html#2">iCamera Changes</a></td></tr> -<tr><td></td><td valign="top"><a href="World-Components.html#11"><code>iCollection</code></a></td><td valign="top"><a href="World-Components.html#11">Collections</a></td></tr> -<tr><td></td><td valign="top"><a href="Basic-Collision-Detection.html#0"><code>iCollider</code></a></td><td valign="top"><a href="Basic-Collision-Detection.html#0">4.14.1 Basic Collision Detection</a></td></tr> -<tr><td></td><td valign="top"><a href="Basic-Collision-Detection.html#0"><code>iCollideSystem</code></a></td><td valign="top"><a href="Basic-Collision-Detection.html#0">4.14.1 Basic Collision Detection</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-98.html#45"><code>iCollideSystem</code></a></td><td valign="top"><a href="Release-Notes-98.html#45">Collision Detection Changes</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-92.html#2"><code>iCollideSystem</code></a></td><td valign="top"><a href="Release-Notes-92.html#2">iCollideSystem Changes</a></td></tr> -<tr><td></td><td valign="top"><a href="TutIntro-Basic-Concepts.html#7"><code>iCommandLineParser</code></a></td><td valign="top"><a href="TutIntro-Basic-Concepts.html#7">The Commandline Parser</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Concepts.html#0"><code>iConfig</code></a></td><td valign="top"><a href="MeshObject-Concepts.html#0">4.10.1 MeshObject Concepts</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Spr3D.html#0"><code>iConfig</code></a></td><td valign="top"><a href="MeshObject-Spr3D.html#0">4.10.14 Sprite3D Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="TutIntro-Basic-Concepts.html#8"><code>iConfigManager</code></a></td><td valign="top"><a href="TutIntro-Basic-Concepts.html#8">The Configuration Manager</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-98.html#2"><code>iCurve</code></a></td><td valign="top"><a href="Release-Notes-98.html#2">Bezier Curve Changes</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-98.html#2"><code>iCurveTemplate</code></a></td><td valign="top"><a href="Release-Notes-98.html#2">Bezier Curve Changes</a></td></tr> -<tr><td></td><td valign="top"><a href="Decals.html#0"><code>iDecalManager</code></a></td><td valign="top"><a href="Decals.html#0">4.9.11 Decals</a></td></tr> -<tr><td></td><td valign="top"><a href="Decals.html#2"><code>iDecalTemplate</code></a></td><td valign="top"><a href="Decals.html#2">Decal Templates</a></td></tr> -<tr><td></td><td valign="top"><a href="Binary-XML.html#0"><code>iDocumentSystem</code></a></td><td valign="top"><a href="Binary-XML.html#0">4.16.3 Binary <small>XML</small></a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-98.html#4"><code>iDynLight</code></a></td><td valign="top"><a href="Release-Notes-98.html#4">Light Changes</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Emit.html#0"><code>iEmitFactoryState</code></a></td><td valign="top"><a href="MeshObject-Emit.html#0">4.10.15 Emitter Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Emit.html#0"><code>iEmitState</code></a></td><td valign="top"><a href="MeshObject-Emit.html#0">4.10.15 Emitter Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-98.html#10"><code>iEngine</code></a></td><td valign="top"><a href="Release-Notes-98.html#10">Regions</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-18.html#0"><code>iEngine</code></a></td><td valign="top"><a href="Release-Notes-18.html#0">C.9 Release Notes from 0.17 to 0.18</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-18.html#1"><code>iEngine</code></a></td><td valign="top"><a href="Release-Notes-18.html#1">Name Change: csWorld => csEngine</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-92.html#5"><code>iEngine.GetThingState()</code></a></td><td valign="top"><a href="Release-Notes-92.html#5">GetThingState</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-94.html#3"><code>iEngine.LoadMeshFactory()</code></a></td><td valign="top"><a href="Release-Notes-94.html#3">Engine Changes</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-94.html#3"><code>iEngine.LoadMeshWrapper()</code></a></td><td valign="top"><a href="Release-Notes-94.html#3">Engine Changes</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-90.html#23"><code>iEngine.NextFrame()</code></a></td><td valign="top"><a href="Release-Notes-90.html#23">Miscellaneous Changes</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-98.html#20"><code>iEvent</code></a></td><td valign="top"><a href="Release-Notes-98.html#20">Event-Related Changes</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-17.html#2"><code>iEvent</code> Changes</a></td><td valign="top"><a href="Release-Notes-17.html#2">Signature Change: HandleEvent(csEvent)</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-98.html#20"><code>iEventCord</code></a></td><td valign="top"><a href="Release-Notes-98.html#20">Event-Related Changes</a></td></tr> -<tr><td></td><td valign="top"><a href="TutIntro-Basic-Concepts.html#5"><code>iEventHandler</code></a></td><td valign="top"><a href="TutIntro-Basic-Concepts.html#5">The Event Queue</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-98.html#20"><code>iEventOutlet</code></a></td><td valign="top"><a href="Release-Notes-98.html#20">Event-Related Changes</a></td></tr> -<tr><td></td><td valign="top"><a href="TutIntro-Basic-Concepts.html#5"><code>iEventQueue</code></a></td><td valign="top"><a href="TutIntro-Basic-Concepts.html#5">The Event Queue</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-98.html#20"><code>iEventQueue</code></a></td><td valign="top"><a href="Release-Notes-98.html#20">Event-Related Changes</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-98.html#40"><code>iFont</code></a></td><td valign="top"><a href="Release-Notes-98.html#40">Font changes</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-98.html#40"><code>iFontServer</code></a></td><td valign="top"><a href="Release-Notes-98.html#40">Font changes</a></td></tr> -<tr><td></td><td valign="top"><a href="Simple-World.html#0">iGeneralFactoryState</a></td><td valign="top"><a href="Simple-World.html#0">4.2.1.3 Creating a “World”</a></td></tr> -<tr><td></td><td valign="top"><a href="HOWTO-Create-Genmesh.html#0"><code>iGeneralFactoryState</code></a></td><td valign="top"><a href="HOWTO-Create-Genmesh.html#0">4.10.4 Creating a Genmesh Mesh</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Genmesh.html#0"><code>iGeneralFactoryState</code></a></td><td valign="top"><a href="MeshObject-Genmesh.html#0">4.10.7 Genmesh Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="Simple-World.html#0">iGeneralMeshState</a></td><td valign="top"><a href="Simple-World.html#0">4.2.1.3 Creating a “World”</a></td></tr> -<tr><td></td><td valign="top"><a href="HOWTO-Create-Genmesh.html#0"><code>iGeneralMeshState</code></a></td><td valign="top"><a href="HOWTO-Create-Genmesh.html#0">4.10.4 Creating a Genmesh Mesh</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Genmesh.html#0"><code>iGeneralMeshState</code></a></td><td valign="top"><a href="MeshObject-Genmesh.html#0">4.10.7 Genmesh Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="3D-Renderer.html#0"><code>iGraphics2D</code></a></td><td valign="top"><a href="3D-Renderer.html#0">4.13 The Rendering System</a></td></tr> -<tr><td></td><td valign="top"><a href="3D-Renderer.html#0"><code>iGraphics3D</code></a></td><td valign="top"><a href="3D-Renderer.html#0">4.13 The Rendering System</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Haze.html#0"><code>iHazeFactoryState</code></a></td><td valign="top"><a href="MeshObject-Haze.html#0">4.10.16 Haze Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Haze.html#0"><code>iHazeState</code></a></td><td valign="top"><a href="MeshObject-Haze.html#0">4.10.16 Haze Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="HOWTO-Pixmaps.html#0"><code>iImage</code></a></td><td valign="top"><a href="HOWTO-Pixmaps.html#0">4.23.2 Loading Images for Pixmaps</a></td></tr> -<tr><td></td><td valign="top"><a href="Simple-Map-Example.html#0"><code>iImage</code></a></td><td valign="top"><a href="Simple-Map-Example.html#0">5.3 Simple Map Example</a></td></tr> -<tr><td></td><td valign="top"><a href="HOWTO-Pixmaps.html#0"><code>iImageIO</code></a></td><td valign="top"><a href="HOWTO-Pixmaps.html#0">4.23.2 Loading Images for Pixmaps</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-90.html#6"><code>iImageIO</code></a></td><td valign="top"><a href="Release-Notes-90.html#6">Image Loading</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-92.html#7"><code>iIsoEngine</code></a></td><td valign="top"><a href="Release-Notes-92.html#7">Isometric Engine</a></td></tr> -<tr><td></td><td valign="top"><a href="User-Objects-in-Maps.html#0"><code>iKeyValuePair</code></a></td><td valign="top"><a href="User-Objects-in-Maps.html#0">4.8.3 Attaching User Objects to CS Objects in a map file</a></td></tr> -<tr><td></td><td valign="top"><a href="World-Components.html#12"><code>iKeyValuePair</code></a></td><td valign="top"><a href="World-Components.html#12">Key/Value pairs</a></td></tr> -<tr><td></td><td valign="top"><a href="Simple-World.html#0">iLight</a></td><td valign="top"><a href="Simple-World.html#0">4.2.1.3 Creating a “World”</a></td></tr> -<tr><td></td><td valign="top"><a href="World-Components.html#9"><code>iLight</code></a></td><td valign="top"><a href="World-Components.html#9">Lights</a></td></tr> -<tr><td></td><td valign="top"><a href="Lighting.html#0"><code>iLight</code></a></td><td valign="top"><a href="Lighting.html#0">4.11.1 Lighting</a></td></tr> -<tr><td></td><td valign="top"><a href="HOWTO-Pseudo-DynLight.html#0"><code>iLight</code></a></td><td valign="top"><a href="HOWTO-Pseudo-DynLight.html#0">4.11.2 Pseudo-dynamic Lights</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-98.html#4"><code>iLight</code></a></td><td valign="top"><a href="Release-Notes-98.html#4">Light Changes</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-98.html#12"><code>iLightIterator</code></a></td><td valign="top"><a href="Release-Notes-98.html#12">Iterator Changes</a></td></tr> -<tr><td></td><td valign="top"><a href="Simple-World.html#0">iLightList</a></td><td valign="top"><a href="Simple-World.html#0">4.2.1.3 Creating a “World”</a></td></tr> -<tr><td></td><td valign="top"><a href="HOWTO-Level-Loading.html#0"><code>iLoader</code></a></td><td valign="top"><a href="HOWTO-Level-Loading.html#0">4.16.1 Loading a Level</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-98.html#10"><code>iLoader</code></a></td><td valign="top"><a href="Release-Notes-98.html#10">Regions</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-90.html#7"><code>iLoader</code></a></td><td valign="top"><a href="Release-Notes-90.html#7">Map Loading (csLoader)</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-94.html#1"><code>iLoaderContext</code></a></td><td valign="top"><a href="Release-Notes-94.html#1">Loader and Saver Changes</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Concepts.html#0"><code>iLoaderPlugin</code></a></td><td valign="top"><a href="MeshObject-Concepts.html#0">4.10.1 MeshObject Concepts</a></td></tr> -<tr><td></td><td valign="top"><a href="XML-World-Element-Section.html#1"><code>iLoaderPlugin</code></a></td><td valign="top"><a href="XML-World-Element-Section.html#1">Addon Section</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-94.html#1"><code>iLoaderPlugin</code></a></td><td valign="top"><a href="Release-Notes-94.html#1">Loader and Saver Changes</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-92.html#9"><code>iLoaderPlugin</code></a></td><td valign="top"><a href="Release-Notes-92.html#9">Loader and Saver Plugins</a></td></tr> -<tr><td></td><td valign="top"><a href="World-Components.html#13"><code>iMapNode</code></a></td><td valign="top"><a href="World-Components.html#13">Nodes</a></td></tr> -<tr><td></td><td valign="top"><a href="Simple-World.html#0">iMaterialWrapper</a></td><td valign="top"><a href="Simple-World.html#0">4.2.1.3 Creating a “World”</a></td></tr> -<tr><td></td><td valign="top"><a href="World-Components.html#5"><code>iMaterialWrapper</code></a></td><td valign="top"><a href="World-Components.html#5">Materials</a></td></tr> -<tr><td></td><td valign="top"><a href="Materials.html#0"><code>iMaterialWrapper</code></a></td><td valign="top"><a href="Materials.html#0">4.12 Materials and Textures</a></td></tr> -<tr><td></td><td valign="top"><a href="World-Components.html#2"><code>iMeshFactoryWrapper</code></a></td><td valign="top"><a href="World-Components.html#2">Mesh Factories</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Concepts.html#0"><code>iMeshFactoryWrapper</code></a></td><td valign="top"><a href="MeshObject-Concepts.html#0">4.10.1 MeshObject Concepts</a></td></tr> -<tr><td></td><td valign="top"><a href="World-Components.html#3"><code>iMeshObject</code></a></td><td valign="top"><a href="World-Components.html#3">Mesh Objects</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Concepts.html#0"><code>iMeshObject</code></a></td><td valign="top"><a href="MeshObject-Concepts.html#0">4.10.1 MeshObject Concepts</a></td></tr> -<tr><td></td><td valign="top"><a href="Using-MeshObject.html#0"><code>iMeshObject</code></a></td><td valign="top"><a href="Using-MeshObject.html#0">4.10.2 Using Mesh Objects</a></td></tr> -<tr><td></td><td valign="top"><a href="Writing-MeshObjects.html#0"><code>iMeshObject</code></a></td><td valign="top"><a href="Writing-MeshObjects.html#0">4.10.3 Writing Mesh Objects</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Genmesh.html#0"><code>iMeshObject</code></a></td><td valign="top"><a href="MeshObject-Genmesh.html#0">4.10.7 Genmesh Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-TerrFunc.html#0"><code>iMeshObject</code></a></td><td valign="top"><a href="MeshObject-TerrFunc.html#0">4.10.8 Terrain Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Terrain2.html#0"><code>iMeshObject</code></a></td><td valign="top"><a href="MeshObject-Terrain2.html#0">4.10.9 Terrain2 Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Particles.html#0"><code>iMeshObject</code></a></td><td valign="top"><a href="MeshObject-Particles.html#0">4.10.10 Particles Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Portal-Container.html#0"><code>iMeshObject</code></a></td><td valign="top"><a href="MeshObject-Portal-Container.html#0">4.10.11 Portal Container Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-SprCal3D.html#0"><code>iMeshObject</code></a></td><td valign="top"><a href="MeshObject-SprCal3D.html#0">4.10.12 SpriteCal3D Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Spr2D.html#0"><code>iMeshObject</code></a></td><td valign="top"><a href="MeshObject-Spr2D.html#0">4.10.13 Sprite2D Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Spr3D.html#0"><code>iMeshObject</code></a></td><td valign="top"><a href="MeshObject-Spr3D.html#0">4.10.14 Sprite3D Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Emit.html#0"><code>iMeshObject</code></a></td><td valign="top"><a href="MeshObject-Emit.html#0">4.10.15 Emitter Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Haze.html#0"><code>iMeshObject</code></a></td><td valign="top"><a href="MeshObject-Haze.html#0">4.10.16 Haze Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-98.html#3"><code>iMeshObject</code></a></td><td valign="top"><a href="Release-Notes-98.html#3">iThingState and iPolygon3D Changes</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-96.html#3"><code>iMeshObject</code></a></td><td valign="top"><a href="Release-Notes-96.html#3">iMeshObject changes</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-92.html#10"><code>iMeshObject</code></a></td><td valign="top"><a href="Release-Notes-92.html#10">iMeshObject and iMeshObjectFactory Changes</a></td></tr> -<tr><td></td><td valign="top"><a href="World-Components.html#2"><code>iMeshObjectFactory</code></a></td><td valign="top"><a href="World-Components.html#2">Mesh Factories</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Concepts.html#0"><code>iMeshObjectFactory</code></a></td><td valign="top"><a href="MeshObject-Concepts.html#0">4.10.1 MeshObject Concepts</a></td></tr> -<tr><td></td><td valign="top"><a href="Using-MeshObject.html#0"><code>iMeshObjectFactory</code></a></td><td valign="top"><a href="Using-MeshObject.html#0">4.10.2 Using Mesh Objects</a></td></tr> -<tr><td></td><td valign="top"><a href="Writing-MeshObjects.html#0"><code>iMeshObjectFactory</code></a></td><td valign="top"><a href="Writing-MeshObjects.html#0">4.10.3 Writing Mesh Objects</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Genmesh.html#0"><code>iMeshObjectFactory</code></a></td><td valign="top"><a href="MeshObject-Genmesh.html#0">4.10.7 Genmesh Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-TerrFunc.html#0"><code>iMeshObjectFactory</code></a></td><td valign="top"><a href="MeshObject-TerrFunc.html#0">4.10.8 Terrain Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Terrain2.html#0"><code>iMeshObjectFactory</code></a></td><td valign="top"><a href="MeshObject-Terrain2.html#0">4.10.9 Terrain2 Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Particles.html#0"><code>iMeshObjectFactory</code></a></td><td valign="top"><a href="MeshObject-Particles.html#0">4.10.10 Particles Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Portal-Container.html#0"><code>iMeshObjectFactory</code></a></td><td valign="top"><a href="MeshObject-Portal-Container.html#0">4.10.11 Portal Container Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-SprCal3D.html#0"><code>iMeshObjectFactory</code></a></td><td valign="top"><a href="MeshObject-SprCal3D.html#0">4.10.12 SpriteCal3D Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Spr2D.html#0"><code>iMeshObjectFactory</code></a></td><td valign="top"><a href="MeshObject-Spr2D.html#0">4.10.13 Sprite2D Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Spr3D.html#0"><code>iMeshObjectFactory</code></a></td><td valign="top"><a href="MeshObject-Spr3D.html#0">4.10.14 Sprite3D Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Emit.html#0"><code>iMeshObjectFactory</code></a></td><td valign="top"><a href="MeshObject-Emit.html#0">4.10.15 Emitter Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Haze.html#0"><code>iMeshObjectFactory</code></a></td><td valign="top"><a href="MeshObject-Haze.html#0">4.10.16 Haze Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-98.html#3"><code>iMeshObjectFactory</code></a></td><td valign="top"><a href="Release-Notes-98.html#3">iThingState and iPolygon3D Changes</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-92.html#10"><code>iMeshObjectFactory</code></a></td><td valign="top"><a href="Release-Notes-92.html#10">iMeshObject and iMeshObjectFactory Changes</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Concepts.html#0"><code>iMeshObjectType</code></a></td><td valign="top"><a href="MeshObject-Concepts.html#0">4.10.1 MeshObject Concepts</a></td></tr> -<tr><td></td><td valign="top"><a href="Using-MeshObject.html#0"><code>iMeshObjectType</code></a></td><td valign="top"><a href="Using-MeshObject.html#0">4.10.2 Using Mesh Objects</a></td></tr> -<tr><td></td><td valign="top"><a href="Writing-MeshObjects.html#0"><code>iMeshObjectType</code></a></td><td valign="top"><a href="Writing-MeshObjects.html#0">4.10.3 Writing Mesh Objects</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Genmesh.html#0"><code>iMeshObjectType</code></a></td><td valign="top"><a href="MeshObject-Genmesh.html#0">4.10.7 Genmesh Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-TerrFunc.html#0"><code>iMeshObjectType</code></a></td><td valign="top"><a href="MeshObject-TerrFunc.html#0">4.10.8 Terrain Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Terrain2.html#0"><code>iMeshObjectType</code></a></td><td valign="top"><a href="MeshObject-Terrain2.html#0">4.10.9 Terrain2 Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Particles.html#0"><code>iMeshObjectType</code></a></td><td valign="top"><a href="MeshObject-Particles.html#0">4.10.10 Particles Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Portal-Container.html#0"><code>iMeshObjectType</code></a></td><td valign="top"><a href="MeshObject-Portal-Container.html#0">4.10.11 Portal Container Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-SprCal3D.html#0"><code>iMeshObjectType</code></a></td><td valign="top"><a href="MeshObject-SprCal3D.html#0">4.10.12 SpriteCal3D Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Spr2D.html#0"><code>iMeshObjectType</code></a></td><td valign="top"><a href="MeshObject-Spr2D.html#0">4.10.13 Sprite2D Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Spr3D.html#0"><code>iMeshObjectType</code></a></td><td valign="top"><a href="MeshObject-Spr3D.html#0">4.10.14 Sprite3D Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Emit.html#0"><code>iMeshObjectType</code></a></td><td valign="top"><a href="MeshObject-Emit.html#0">4.10.15 Emitter Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Haze.html#0"><code>iMeshObjectType</code></a></td><td valign="top"><a href="MeshObject-Haze.html#0">4.10.16 Haze Mesh Object</a></td></tr> -<tr><td></td><td valign="top"><a href="Simple-World.html#0">iMeshWrapper</a></td><td valign="top"><a href="Simple-World.html#0">4.2.1.3 Creating a “World”</a></td></tr> -<tr><td></td><td valign="top"><a href="World-Components.html#3"><code>iMeshWrapper</code></a></td><td valign="top"><a href="World-Components.html#3">Mesh Objects</a></td></tr> -<tr><td></td><td valign="top"><a href="HOWTO-Render-Priorities.html#0"><code>iMeshWrapper</code></a></td><td valign="top"><a href="HOWTO-Render-Priorities.html#0">4.9.3 Render Priorities and Objects in Sectors</a></td></tr> -<tr><td></td><td valign="top"><a href="MeshObject-Concepts.html#0"><code>iMeshWrapper</code></a></td><td valign="top"><a href="MeshObject-Concepts.html#0">4.10.1 MeshObject Concepts</a></td></tr> -<tr><td></td><td valign="top"><a href="Using-MeshObject.html#0"><code>iMeshWrapper</code></a></td><td valign="top"><a href="Using-MeshObject.html#0">4.10.2 Using Mesh Objects</a></td></tr> -<tr><td></td><td valign="top"><a href="HOWTO-Mesh-LightAnim.html#0"><code>iMeshWrapper</code></a></td><td valign="top"><a href="HOWTO-Mesh-LightAnim.html#0">4.10.5 Mesh Lighting and Animation</a></td></tr> -<tr><td></td><td valign="top"><a href="HOWTO-Mesh-Movement.html#0"><code>iMeshWrapper</code></a></td><td valign="top"><a href="HOWTO-Mesh-Movement.html#0">4.10.6 Mesh Movement</a></td></tr> -<tr><td></td><td valign="top"><a href="Basic-Collision-Detection.html#0"><code>iMeshWrapper</code></a></td><td valign="top"><a href="Basic-Collision-Detection.html#0">4.14.1 Basic Collision Detection</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-90.html#21"><code>iMessageBoxData</code></a></td><td valign="top"><a href="Release-Notes-90.html#21"><small>CSWS</small> Modal Session Paradigm Shift</a></td></tr> -<tr><td></td><td valign="top"><a href="Model-Loading.html#0"><code>iModelLoader</code></a></td><td valign="top"><a href="Model-Loading.html#0">4.16.4 Loading <small>3DS</small> and <small>MD2</small> Models</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-98.html#42"><code>iMotionManager</code></a></td><td valign="top"><a href="Release-Notes-98.html#42">Skeletal Sprites</a></td></tr> -<tr><td></td><td valign="top"><a href="Release-Notes-98.html#42"><code>iMotionTemplate</code></a></td><td valign="top"><a href="Release-Notes-98.html#42">Skeletal Sprites</a></td></tr> -<tr><td></td><td valign="top"><a href="HOWTO-Render-Priorities.html#0"><code>iMovable</code></a></td><td valign="top"><a href="HOWTO-Render-Priorities.html#0">4.9.3 Render Priorities and Objects in Sectors</a></td></tr> -<tr><td></td><td valign="top"><a href="HOWTO-Mesh-Movement.html#0"><code>iMovable</code></a></td><td valign="top"><a href="HOWTO-Mesh-Movement.html#0">4.10.6 Mesh Movement</a></td></tr> -<tr><td></td><td valign="top"><a href="Smart-Pointers.html#0"><code>IncRef</code></a></td><td valign="top"><a href="Smart-Pointers.html#0">4.3.2 Correctly Using Smart Pointers</a></td></tr> -<tr><td></td><td valign="top"><a href="TutIntro-Basic-Concepts.html#9">Input Drivers</a></td><td valign="top"><a href="TutIntro-Basic-Concepts.html#9">The Input Drivers</a></td></tr> -<tr><td></td><td valign="top"><a href="Building.html#0">Installation</a></td><td valign="top"><a href="Building.html#0">2. Building and Installing</a></td></tr> -<tr><td></td><td valign="top"><a href="SCF-Chapter.html#0">interface</a></td><td valign="top"><a href="SCF-Chapter.html#0">4.3 Plugins, Reference counting, Interfaces (<small>SCF</small>)</a></td></tr> -<tr><td></td><td valign="top"><a href="Internals.html#0">Internal Structure</a></td><td valign="top"><a href="Internals.html#0">6. Internal Project Structure</a></td></tr> -<tr><td></td><td valign="top"><a href="IRC.html#0">Internet Relay Chat (<small>IRC</small>)</a></td><td valign="top"><a href="IRC.html#0">1.8 Internet Relay Chat (<small>IRC</small>)</a></td></tr> -<tr><td></td><td valign="top"><a href="CS-Introduction.html#0">Introduction</a></td><td valign="top"><a href="CS-Introduction.html#0">1. Introduction</a></td></tr> -<tr><td></td><td valign="top"><a href="Game-Data.html#0"><code>iObject</code></a></td><td valign="top"><a href="Game-Data.html#0">4.8 Managing Game Specific Data</a></td></tr> -<tr><td></td><td valign="top"><a href="csObject.html#0"><code>iObject</code></a></td><td valign="top"><a href="csObject.html#0">4.8.1 csObject and iObject</a></td></tr> -<tr><td></td><td valign="top"><a href="User-Objects.html#0"><code>iObject</code></a></td><td valign="top"><a href="User-Objects.html#0">4.8.2 Attaching User Objects to CS Objects</a></td></tr> -<tr><td></td><td valign="top"><a href="User-Objects-in-Maps.html#0"><code>iObject</code></a></td><td valign="top"><a href="User-Objects-in-Maps.html#0">4.8.3 Attaching User Objects to CS Objects in a map file</a></td></tr> -<tr><td></td><td valign="top"><a href="World-Components.html#12"><code>iObject</code></a></td><td valign="top"><a href="World-Components.html#12">Key/Value pairs</a></td></tr> -<tr><td></td><td valign="top"><a href="World-Components.html#13"><code>iObject</code></a></td><td valign="top"><a href="World-Components.html#13">Nod... [truncated message content] |
From: <er...@us...> - 2008-08-24 14:23:23
|
Revision: 30950 http://crystal.svn.sourceforge.net/crystal/?rev=30950&view=rev Author: erluk Date: 2008-08-24 14:23:19 +0000 (Sun, 24 Aug 2008) Log Message: ----------- - Removed the remainder of the old event system Modified Paths: -------------- CS/trunk/include/bindings/common/core.i CS/trunk/include/cstool/initapp.h CS/trunk/include/csutil/csbaseeventh.h CS/trunk/include/csutil/cseventq.h CS/trunk/include/csutil/eventnames.h CS/trunk/libs/csutil/csbaseeventh.cpp CS/trunk/libs/csutil/cseventq.cpp CS/trunk/libs/csutil/eventnames.cpp Modified: CS/trunk/include/bindings/common/core.i =================================================================== --- CS/trunk/include/bindings/common/core.i 2008-08-24 13:43:36 UTC (rev 30949) +++ CS/trunk/include/bindings/common/core.i 2008-08-24 14:23:19 UTC (rev 30950) @@ -921,20 +921,6 @@ #undef csevQuit csEventID _csevQuit (iObjectRegistry *); -/* Process */ -#define _csevProcess(reg) csevProcess(reg) -#undef csevProcess -csEventID _csevProcess (iObjectRegistry *); -#define _csevPreProcess(reg) csevPreProcess(reg) -#undef csevPreProcess -csEventID _csevPreProcess (iObjectRegistry *); -#define _csevPostProcess(reg) csevPostProcess(reg) -#undef csevPostProcess -csEventID _csevPostProcess (iObjectRegistry *); -#define _csevFinalProcess(reg) csevFinalProcess(reg) -#undef csevFinalProcess -csEventID _csevFinalProcess (iObjectRegistry *); - /* Canvas */ #define _csevCanvasClose(reg, g2d) csevCanvasClose(reg, g2d) #undef csevCanvasClose Modified: CS/trunk/include/cstool/initapp.h =================================================================== --- CS/trunk/include/cstool/initapp.h 2008-08-24 13:43:36 UTC (rev 30949) +++ CS/trunk/include/cstool/initapp.h 2008-08-24 14:23:19 UTC (rev 30950) @@ -377,7 +377,7 @@ * that are sent through the event manager. Use this function to know * about keyboard, mouse and other events. Note that you also have to * use this function to be able to render something as rendering - * happens as a result of one event (csevProcess). + * happens as a result of one event (csevFrame). */ static bool SetupEventHandler (iObjectRegistry*, iEventHandler*, const csEventID[]); Modified: CS/trunk/include/csutil/csbaseeventh.h =================================================================== --- CS/trunk/include/csutil/csbaseeventh.h 2008-08-24 13:43:36 UTC (rev 30949) +++ CS/trunk/include/csutil/csbaseeventh.h 2008-08-24 14:23:19 UTC (rev 30950) @@ -64,10 +64,6 @@ iObjectRegistry *object_registry; csHandlerID self; csEventID FrameEvent; - csEventID PreProcess; - csEventID Process; - csEventID PostProcess; - csEventID FinalProcess; /** * Actual iEventHandler implementation. @@ -310,18 +306,6 @@ /// Invoked by the handler for the crystalspace.frame event. virtual void Frame (); - - /// Invoked by the handler during a pre-process frame broadcast event. - virtual void PreProcessFrame (); - - /// Invoked by the handler during a process frame broadcast event. - virtual void ProcessFrame (); - - /// Invoked by the handler during a post-process frame broadcast event. - virtual void PostProcessFrame (); - - /// Invoked by the handler during a finish frame broadcast event. - virtual void FinishFrame (); }; /** @} */ Modified: CS/trunk/include/csutil/cseventq.h =================================================================== --- CS/trunk/include/csutil/cseventq.h 2008-08-24 13:43:36 UTC (rev 30949) +++ CS/trunk/include/csutil/cseventq.h 2008-08-24 14:23:19 UTC (rev 30950) @@ -221,97 +221,6 @@ virtual bool IsEmpty () { return evqHead == evqTail; } csEventID Frame; - csEventID PreProcess; - csEventID ProcessEvent; - csEventID PostProcess; - csEventID FinalProcess; - - /** - * As a transitional measure, the csevPreProcess, csevProcess, - * csevPostProcess and csevFinalProcess events are actually sub-events - * dispatched by a csevFrame handler. Each of the TypedFrameEventDispatcher - * child classes receives the csevFrame event in order and dispatches - * its name event. Event handlers should either subscribe to these - * events or subscribe to csevFrame. They may wish to use these - * event handlers as "milestones" relative to which they define their - * own order (e.g., "I can process the Frame event at any time between - * the handling of the Process event and the handling of the FinalProcess - * event"). - */ - struct TypedFrameEventDispatcher - : public scfImplementation1<TypedFrameEventDispatcher, - iEventHandler> - { - protected: - csWeakRef<csEventQueue> parent; - csEventID sendEvent; - public: - TypedFrameEventDispatcher (csEventID sendEvent) : - scfImplementationType(this), sendEvent (sendEvent) - { - } - virtual ~TypedFrameEventDispatcher () - { - } - CS_EVENTHANDLER_DEFAULT_INSTANCE_CONSTRAINTS - virtual bool HandleEvent (iEvent&) - { - parent->Notify (sendEvent); - return false; - } - }; - - class PreProcessFrameEventDispatcher - : public scfImplementationExt0<PreProcessFrameEventDispatcher, - TypedFrameEventDispatcher> - { - public: - PreProcessFrameEventDispatcher (csEventQueue* parent) - : scfImplementationType (this, parent->PreProcess) - { - this->parent = parent; - } - CS_EVENTHANDLER_PHASE_LOGIC("crystalspace.deprecated.preprocess") - }; - - class ProcessFrameEventDispatcher - : public scfImplementationExt0<ProcessFrameEventDispatcher, - TypedFrameEventDispatcher> - { - public: - ProcessFrameEventDispatcher (csEventQueue* parent) - : scfImplementationType (this, parent->ProcessEvent) - { - this->parent = parent; - } - CS_EVENTHANDLER_PHASE_3D("crystalspace.deprecated.process") - }; - - class PostProcessFrameEventDispatcher - : public scfImplementationExt0<PostProcessFrameEventDispatcher, - TypedFrameEventDispatcher> - { - public: - PostProcessFrameEventDispatcher (csEventQueue* parent) - : scfImplementationType (this, parent->PostProcess) - { - this->parent = parent; - } - CS_EVENTHANDLER_PHASE_2D("crystalspace.deprecated.postprocess") - }; - - class FinalProcessFrameEventDispatcher - : public scfImplementationExt0<FinalProcessFrameEventDispatcher, - TypedFrameEventDispatcher> - { - public: - FinalProcessFrameEventDispatcher (csEventQueue* parent) - : scfImplementationType (this, parent->FinalProcess) - { - this->parent = parent; - } - CS_EVENTHANDLER_PHASE_FRAME("crystalspace.deprecated.finalprocess") - }; }; #endif // __CS_CSEVENTQ_H__ Modified: CS/trunk/include/csutil/eventnames.h =================================================================== --- CS/trunk/include/csutil/eventnames.h 2008-08-24 13:43:36 UTC (rev 30949) +++ CS/trunk/include/csutil/eventnames.h 2008-08-24 14:23:19 UTC (rev 30950) @@ -461,43 +461,6 @@ #define csevCommandLineHelp(reg) \ (csEventNameRegistry::GetID((reg), "crystalspace.application.commandlinehelp")) -/** - * Broadcasted before csevProcess on every frame. - * This event will go away soon, since it was a kludge to - * work around the lack of subscription priorities/scheduling. - * Should be replaced with subscriptions to csevFrame with subscription - * ordering. - */ -CS_CRYSTALSPACE_EXPORT csEventID csevPreProcess(iObjectRegistry *reg); -CS_CRYSTALSPACE_EXPORT csEventID csevPreProcess(iEventNameRegistry *reg); - -/** - * Broadcasted every frame. - * This event will go away soon, replaced by csevFrame. - */ -CS_CRYSTALSPACE_EXPORT csEventID csevProcess(iObjectRegistry *reg); -CS_CRYSTALSPACE_EXPORT csEventID csevProcess(iEventNameRegistry *reg); - -/** - * Broadcasted after csevProcess on every frame. - * This event will go away soon, since it was a kludge to - * work around the lack of subscription priorities/scheduling. - * Should be replaced with subscriptions to csevFrame with subscription - * ordering. - */ -CS_CRYSTALSPACE_EXPORT csEventID csevPostProcess(iObjectRegistry *reg); -CS_CRYSTALSPACE_EXPORT csEventID csevPostProcess(iEventNameRegistry *reg); - -/** - * Broadcasted after csevPostProcess on every frame. - * This event will go away soon, since it was a kludge to - * work around the lack of subscription priorities/scheduling. - * Should be replaced with subscriptions to csevFrame with subscription - * ordering. - */ -CS_CRYSTALSPACE_EXPORT csEventID csevFinalProcess(iObjectRegistry *reg); -CS_CRYSTALSPACE_EXPORT csEventID csevFinalProcess(iEventNameRegistry *reg); - /** @} */ #define CS_DECLARE_SYSTEM_EVENT_SHORTCUTS \ @@ -505,11 +468,7 @@ csEventID SystemClose #define CS_DECLARE_FRAME_EVENT_SHORTCUTS \ - csEventID Frame; \ - csEventID PreProcess; \ - csEventID Process; \ - csEventID PostProcess; \ - csEventID FinalProcess + csEventID Frame #define CS_DECLARE_INPUT_EVENT_SHORTCUTS \ csEventID KeyboardEvent; \ @@ -518,7 +477,7 @@ /** * Shortcut to declare class properties SystemOpen, SystemClose, - * Frame, PreProcess, Process, PostProcess, FinalProcess. + * Frame. * Pair with CS_INITIALIZE_EVENT_SHORTCUTS(registry). */ #define CS_DECLARE_EVENT_SHORTCUTS \ @@ -533,10 +492,6 @@ #define CS_INITIALIZE_FRAME_EVENT_SHORTCUTS(object_reg) do { \ Frame = csevFrame ((object_reg)); \ - PreProcess = csevPreProcess ((object_reg)); \ - Process = csevProcess ((object_reg)); \ - PostProcess = csevPostProcess ((object_reg)); \ - FinalProcess = csevFinalProcess ((object_reg)); \ } while (0) #define CS_INITIALIZE_INPUT_EVENT_SHORTCUTS(object_reg) do { \ Modified: CS/trunk/libs/csutil/csbaseeventh.cpp =================================================================== --- CS/trunk/libs/csutil/csbaseeventh.cpp 2008-08-24 13:43:36 UTC (rev 30949) +++ CS/trunk/libs/csutil/csbaseeventh.cpp 2008-08-24 14:23:19 UTC (rev 30950) @@ -35,8 +35,7 @@ object_registry (0), self (CS_EVENT_INVALID) { - FrameEvent = PreProcess = Process = PostProcess - = FinalProcess = CS_EVENT_INVALID; + FrameEvent = CS_EVENT_INVALID; eventh.AttachNew (new EventHandlerImpl (this)); } @@ -45,10 +44,6 @@ object_registry = r; self = csEventHandlerRegistry::RegisterID (r, eventh); FrameEvent = csevFrame (r); - PreProcess = csevPreProcess (r); - Process = csevProcess (r); - PostProcess = csevPostProcess (r); - FinalProcess = csevFinalProcess (r); } csBaseEventHandler::~csBaseEventHandler() @@ -114,26 +109,6 @@ Frame(); return true; } - else if (event.Name == PreProcess) - { - PreProcessFrame (); - return true; - } - else if (event.Name == Process) - { - ProcessFrame (); - return true; - } - else if (event.Name == PostProcess) - { - PostProcessFrame (); - return true; - } - else if (event.Name == FinalProcess) - { - FinishFrame (); - return true; - } else if (CS_IS_KEYBOARD_EVENT(object_registry, event)) return OnKeyboard(event); else if (CS_IS_MOUSE_EVENT(object_registry, event)) @@ -189,7 +164,3 @@ { return; } DefaultVoidTrigger ( Frame ) -DefaultVoidTrigger ( PreProcessFrame ) -DefaultVoidTrigger ( ProcessFrame ) -DefaultVoidTrigger ( PostProcessFrame ) -DefaultVoidTrigger ( FinishFrame ) Modified: CS/trunk/libs/csutil/cseventq.cpp =================================================================== --- CS/trunk/libs/csutil/cseventq.cpp 2008-08-24 13:43:36 UTC (rev 30949) +++ CS/trunk/libs/csutil/cseventq.cpp 2008-08-24 14:23:19 UTC (rev 30950) @@ -52,35 +52,6 @@ EventTree = csEventTree::CreateRootNode(HandlerRegistry, NameRegistry, this); Frame = csevFrame (NameRegistry); - PreProcess = csevPreProcess (NameRegistry); - ProcessEvent = csevProcess (NameRegistry); - PostProcess = csevPostProcess (NameRegistry); - FinalProcess = csevFinalProcess (NameRegistry); - - csRef<TypedFrameEventDispatcher> PreProcessEventDispatcher; - csRef<TypedFrameEventDispatcher> ProcessEventDispatcher; - csRef<TypedFrameEventDispatcher> PostProcessEventDispatcher; - csRef<TypedFrameEventDispatcher> FinalProcessEventDispatcher; - PreProcessEventDispatcher.AttachNew ( - new PreProcessFrameEventDispatcher (this)); - ProcessEventDispatcher.AttachNew ( - new ProcessFrameEventDispatcher (this)); - PostProcessEventDispatcher.AttachNew ( - new PostProcessFrameEventDispatcher (this)); - FinalProcessEventDispatcher.AttachNew ( - new FinalProcessFrameEventDispatcher (this)); - - if (!RegisterListener (PreProcessEventDispatcher) - || !Subscribe (PreProcessEventDispatcher, Frame) - || !RegisterListener (ProcessEventDispatcher) - || !Subscribe (ProcessEventDispatcher, Frame) - || !RegisterListener (PostProcessEventDispatcher) - || !Subscribe (PostProcessEventDispatcher, Frame) - || !RegisterListener (FinalProcessEventDispatcher) - || !Subscribe (FinalProcessEventDispatcher, Frame)) - { - CS_ASSERT(0); - } } csEventQueue::~csEventQueue () Modified: CS/trunk/libs/csutil/eventnames.cpp =================================================================== --- CS/trunk/libs/csutil/eventnames.cpp 2008-08-24 13:43:36 UTC (rev 30949) +++ CS/trunk/libs/csutil/eventnames.cpp 2008-08-24 14:23:19 UTC (rev 30950) @@ -160,63 +160,3 @@ name.Append (y); return name_reg->GetID (name); } - - - -/* - These are only here until they go away, which will be soon. -*/ - - -/** - * Broadcasted before csevProcess on every frame. - * This event will go away soon, since it was a kludge to - * work around the lack of subscription priorities/scheduling. - * Should be replaced with subscriptions to csevFrame with subscription - * ordering. - */ -CS_DEPRECATED_METHOD csEventID csevPreProcess(iObjectRegistry *reg) { - return csEventNameRegistry::GetID((reg), "crystalspace.deprecated.preprocess"); -} -CS_DEPRECATED_METHOD csEventID csevPreProcess(iEventNameRegistry *reg) { - return csEventNameRegistry::GetID((reg), "crystalspace.deprecated.preprocess"); -} - -/** - * Broadcasted every frame. - * This event will go away soon, replaced by csevFrame. - */ -CS_DEPRECATED_METHOD csEventID csevProcess(iObjectRegistry *reg) { - return csEventNameRegistry::GetID((reg), "crystalspace.deprecated.process"); -} -CS_DEPRECATED_METHOD csEventID csevProcess(iEventNameRegistry *reg) { - return csEventNameRegistry::GetID((reg), "crystalspace.deprecated.process"); -} - -/** - * Broadcasted after csevProcess on every frame. - * This event will go away soon, since it was a kludge to - * work around the lack of subscription priorities/scheduling. - * Should be replaced with subscriptions to csevFrame with subscription - * ordering. - */ -CS_DEPRECATED_METHOD csEventID csevPostProcess(iObjectRegistry *reg) { - return csEventNameRegistry::GetID((reg), "crystalspace.deprecated.postprocess"); -} -CS_DEPRECATED_METHOD csEventID csevPostProcess(iEventNameRegistry *reg) { - return csEventNameRegistry::GetID((reg), "crystalspace.deprecated.postprocess"); -} - -/** - * Broadcasted after csevPostProcess on every frame. - * This event will go away soon, since it was a kludge to - * work around the lack of subscription priorities/scheduling. - * Should be replaced with subscriptions to csevFrame with subscription - * ordering. - */ -CS_DEPRECATED_METHOD csEventID csevFinalProcess(iObjectRegistry *reg) { - return csEventNameRegistry::GetID((reg), "crystalspace.deprecated.finalprocess"); -} -CS_DEPRECATED_METHOD csEventID csevFinalProcess(iEventNameRegistry *reg) { - return csEventNameRegistry::GetID((reg), "crystalspace.deprecated.finalprocess"); -} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2008-08-24 15:51:48
|
Revision: 30951 http://crystal.svn.sourceforge.net/crystal/?rev=30951&view=rev Author: thebolt00 Date: 2008-08-24 15:51:43 +0000 (Sun, 24 Aug 2008) Log Message: ----------- Added typedefs for GLintptrt and GLsizeiptr unless these already exists. Modified Paths: -------------- CS/trunk/configure.ac CS/trunk/include/csplugincommon/opengl/glextmanager.h CS/trunk/scripts/python/glext/headerfiletemplate Modified: CS/trunk/configure.ac =================================================================== --- CS/trunk/configure.ac 2008-08-24 14:23:19 UTC (rev 30950) +++ CS/trunk/configure.ac 2008-08-24 15:51:43 UTC (rev 30951) @@ -1070,7 +1070,13 @@ [CS_HEADER_PROPERTY([CS_HAVE_GLHANDLEARB_T])]) CS_CHECK_OPENGL_TYPE([GLcharARB], [CS_HEADER_PROPERTY([CS_HAVE_GLCHARARB_T])]) - CS_CHECK_OPENGL_TYPE([GLchar], [CS_HEADER_PROPERTY([CS_HAVE_GLCHAR_T])])]) + CS_CHECK_OPENGL_TYPE([GLchar], + [CS_HEADER_PROPERTY([CS_HAVE_GLCHAR_T])]) + CS_CHECK_OPENGL_TYPE([GLintptr], + [CS_HEADER_PROPERTY([CS_HAVE_GLINTPTR_T)]) + CS_CHECK_OPENGL_TYPE([GLsizeiptr], + [CS_HEADER_PROPERTY([CS_HAVE_GLSIZEIPTR_T)]) + ]) CS_CHECK_GLU CS_CHECK_GLX # Check for GLX extensions. Define CSGL_EXT_STATIC_ASSERTION if _not_ present. Modified: CS/trunk/include/csplugincommon/opengl/glextmanager.h =================================================================== --- CS/trunk/include/csplugincommon/opengl/glextmanager.h 2008-08-24 14:23:19 UTC (rev 30950) +++ CS/trunk/include/csplugincommon/opengl/glextmanager.h 2008-08-24 15:51:43 UTC (rev 30951) @@ -139,6 +139,13 @@ #ifndef CS_HAVE_GLCHAR_T typedef GLcharARB GLchar; #endif +/* Newer GL type identifiers */ +#ifndef CS_HAVE_GLINTPTR_T +typedef intptr_t GLintptr; +#endif +#ifndef CS_HAVE_GLSIZEIPTR_T +typedef uintptr_t GLsizeiptr; +#endif #include "iutil/cmdline.h" #include "iutil/objreg.h" @@ -11472,7 +11479,7 @@ allclear &= funcTest; #define EXTMGR_REPORT_INIT_RESULT(exttype, nameNC) \ - CS_##nameNC = allclear; \ + CS_##nameNC = allclear; \ if (CS_##nameNC) \ { \ CS_##nameNC &= config->GetBool (cfgkey, defaultUse); \ Modified: CS/trunk/scripts/python/glext/headerfiletemplate =================================================================== --- CS/trunk/scripts/python/glext/headerfiletemplate 2008-08-24 14:23:19 UTC (rev 30950) +++ CS/trunk/scripts/python/glext/headerfiletemplate 2008-08-24 15:51:43 UTC (rev 30951) @@ -135,6 +135,13 @@ #ifndef CS_HAVE_GLCHAR_T typedef GLcharARB GLchar; #endif +/* Newer GL type identifiers */ +#ifndef CS_HAVE_GLINTPTR_T +typedef intptr_t GLintptr; +#endif +#ifndef CS_HAVE_GLSIZEIPTR_T +typedef uintptr_t GLsizeiptr; +#endif #include "iutil/cmdline.h" #include "iutil/objreg.h" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cry...@us...> - 2008-08-25 02:52:42
|
Revision: 30956 http://crystal.svn.sourceforge.net/crystal/?rev=30956&view=rev Author: crystal-manage Date: 2008-08-25 02:52:34 +0000 (Mon, 25 Aug 2008) Log Message: ----------- master header files: Automated master header file repair. Visual-C++ project files: Automated Visual-C++ project file repair. Texinfo files: Automated Texinfo @node and @menu repair. Swig Python files: Automated Swig Python file repair. Swig Perl5 files: Automated Swig Perl5 file repair. User's Manual: Automated Texinfo to HTML conversion. Modified Paths: -------------- CS/trunk/plugins/cscript/pycore/cs_core.cpp CS/trunk/scripts/perl5/cspace.pm CS/trunk/scripts/perl5/cswigpl5.inc CS/trunk/scripts/python/frozen/cspace/core.py Modified: CS/trunk/plugins/cscript/pycore/cs_core.cpp =================================================================== --- CS/trunk/plugins/cscript/pycore/cs_core.cpp 2008-08-24 20:29:28 UTC (rev 30955) +++ CS/trunk/plugins/cscript/pycore/cs_core.cpp 2008-08-25 02:52:34 UTC (rev 30956) @@ -35581,346 +35581,6 @@ } -SWIGINTERN PyObject *_wrap_csevPreProcess__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - iObjectRegistry *arg1 = (iObjectRegistry *) 0 ; - SwigValueWrapper<CS::StringID<CS::StringSetTag::General > > result; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - - if(!PyArg_UnpackTuple(args,(char *)"csevPreProcess",1,1,&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_iObjectRegistry, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevPreProcess" "', argument " "1"" of type '" "iObjectRegistry *""'"); - } - arg1 = reinterpret_cast< iObjectRegistry * >(argp1); - result = csevPreProcess(arg1); - { - csEventID stringid = result; - resultobj = PyLong_FromUnsignedLong((unsigned long)stringid); - } - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_csevPreProcess__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - iEventNameRegistry *arg1 = (iEventNameRegistry *) 0 ; - SwigValueWrapper<CS::StringID<CS::StringSetTag::General > > result; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - - if(!PyArg_UnpackTuple(args,(char *)"csevPreProcess",1,1,&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_iEventNameRegistry, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevPreProcess" "', argument " "1"" of type '" "iEventNameRegistry *""'"); - } - arg1 = reinterpret_cast< iEventNameRegistry * >(argp1); - result = csevPreProcess(arg1); - { - csEventID stringid = result; - resultobj = PyLong_FromUnsignedLong((unsigned long)stringid); - } - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_csevPreProcess(PyObject *self, PyObject *args) { - int argc; - PyObject *argv[2]; - int ii; - - if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); - for (ii = 0; (ii < argc) && (ii < 1); ii++) { - argv[ii] = PyTuple_GET_ITEM(args,ii); - } - if (argc == 1) { - int _v; - void *vptr = 0; - int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_iObjectRegistry, 0); - _v = SWIG_CheckState(res); - if (_v) { - return _wrap_csevPreProcess__SWIG_0(self, args); - } - } - if (argc == 1) { - int _v; - void *vptr = 0; - int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_iEventNameRegistry, 0); - _v = SWIG_CheckState(res); - if (_v) { - return _wrap_csevPreProcess__SWIG_1(self, args); - } - } - -fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'csevPreProcess'.\n Possible C/C++ prototypes are:\n csevPreProcess(iObjectRegistry *)\n csevPreProcess(iEventNameRegistry *)\n"); - return NULL; -} - - -SWIGINTERN PyObject *_wrap_csevProcess__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - iObjectRegistry *arg1 = (iObjectRegistry *) 0 ; - SwigValueWrapper<CS::StringID<CS::StringSetTag::General > > result; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - - if(!PyArg_UnpackTuple(args,(char *)"csevProcess",1,1,&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_iObjectRegistry, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevProcess" "', argument " "1"" of type '" "iObjectRegistry *""'"); - } - arg1 = reinterpret_cast< iObjectRegistry * >(argp1); - result = csevProcess(arg1); - { - csEventID stringid = result; - resultobj = PyLong_FromUnsignedLong((unsigned long)stringid); - } - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_csevProcess__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - iEventNameRegistry *arg1 = (iEventNameRegistry *) 0 ; - SwigValueWrapper<CS::StringID<CS::StringSetTag::General > > result; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - - if(!PyArg_UnpackTuple(args,(char *)"csevProcess",1,1,&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_iEventNameRegistry, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevProcess" "', argument " "1"" of type '" "iEventNameRegistry *""'"); - } - arg1 = reinterpret_cast< iEventNameRegistry * >(argp1); - result = csevProcess(arg1); - { - csEventID stringid = result; - resultobj = PyLong_FromUnsignedLong((unsigned long)stringid); - } - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_csevProcess(PyObject *self, PyObject *args) { - int argc; - PyObject *argv[2]; - int ii; - - if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); - for (ii = 0; (ii < argc) && (ii < 1); ii++) { - argv[ii] = PyTuple_GET_ITEM(args,ii); - } - if (argc == 1) { - int _v; - void *vptr = 0; - int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_iObjectRegistry, 0); - _v = SWIG_CheckState(res); - if (_v) { - return _wrap_csevProcess__SWIG_0(self, args); - } - } - if (argc == 1) { - int _v; - void *vptr = 0; - int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_iEventNameRegistry, 0); - _v = SWIG_CheckState(res); - if (_v) { - return _wrap_csevProcess__SWIG_1(self, args); - } - } - -fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'csevProcess'.\n Possible C/C++ prototypes are:\n csevProcess(iObjectRegistry *)\n csevProcess(iEventNameRegistry *)\n"); - return NULL; -} - - -SWIGINTERN PyObject *_wrap_csevPostProcess__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - iObjectRegistry *arg1 = (iObjectRegistry *) 0 ; - SwigValueWrapper<CS::StringID<CS::StringSetTag::General > > result; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - - if(!PyArg_UnpackTuple(args,(char *)"csevPostProcess",1,1,&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_iObjectRegistry, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevPostProcess" "', argument " "1"" of type '" "iObjectRegistry *""'"); - } - arg1 = reinterpret_cast< iObjectRegistry * >(argp1); - result = csevPostProcess(arg1); - { - csEventID stringid = result; - resultobj = PyLong_FromUnsignedLong((unsigned long)stringid); - } - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_csevPostProcess__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - iEventNameRegistry *arg1 = (iEventNameRegistry *) 0 ; - SwigValueWrapper<CS::StringID<CS::StringSetTag::General > > result; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - - if(!PyArg_UnpackTuple(args,(char *)"csevPostProcess",1,1,&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_iEventNameRegistry, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevPostProcess" "', argument " "1"" of type '" "iEventNameRegistry *""'"); - } - arg1 = reinterpret_cast< iEventNameRegistry * >(argp1); - result = csevPostProcess(arg1); - { - csEventID stringid = result; - resultobj = PyLong_FromUnsignedLong((unsigned long)stringid); - } - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_csevPostProcess(PyObject *self, PyObject *args) { - int argc; - PyObject *argv[2]; - int ii; - - if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); - for (ii = 0; (ii < argc) && (ii < 1); ii++) { - argv[ii] = PyTuple_GET_ITEM(args,ii); - } - if (argc == 1) { - int _v; - void *vptr = 0; - int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_iObjectRegistry, 0); - _v = SWIG_CheckState(res); - if (_v) { - return _wrap_csevPostProcess__SWIG_0(self, args); - } - } - if (argc == 1) { - int _v; - void *vptr = 0; - int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_iEventNameRegistry, 0); - _v = SWIG_CheckState(res); - if (_v) { - return _wrap_csevPostProcess__SWIG_1(self, args); - } - } - -fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'csevPostProcess'.\n Possible C/C++ prototypes are:\n csevPostProcess(iObjectRegistry *)\n csevPostProcess(iEventNameRegistry *)\n"); - return NULL; -} - - -SWIGINTERN PyObject *_wrap_csevFinalProcess__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - iObjectRegistry *arg1 = (iObjectRegistry *) 0 ; - SwigValueWrapper<CS::StringID<CS::StringSetTag::General > > result; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - - if(!PyArg_UnpackTuple(args,(char *)"csevFinalProcess",1,1,&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_iObjectRegistry, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevFinalProcess" "', argument " "1"" of type '" "iObjectRegistry *""'"); - } - arg1 = reinterpret_cast< iObjectRegistry * >(argp1); - result = csevFinalProcess(arg1); - { - csEventID stringid = result; - resultobj = PyLong_FromUnsignedLong((unsigned long)stringid); - } - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_csevFinalProcess__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - iEventNameRegistry *arg1 = (iEventNameRegistry *) 0 ; - SwigValueWrapper<CS::StringID<CS::StringSetTag::General > > result; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - - if(!PyArg_UnpackTuple(args,(char *)"csevFinalProcess",1,1,&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_iEventNameRegistry, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevFinalProcess" "', argument " "1"" of type '" "iEventNameRegistry *""'"); - } - arg1 = reinterpret_cast< iEventNameRegistry * >(argp1); - result = csevFinalProcess(arg1); - { - csEventID stringid = result; - resultobj = PyLong_FromUnsignedLong((unsigned long)stringid); - } - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_csevFinalProcess(PyObject *self, PyObject *args) { - int argc; - PyObject *argv[2]; - int ii; - - if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); - for (ii = 0; (ii < argc) && (ii < 1); ii++) { - argv[ii] = PyTuple_GET_ITEM(args,ii); - } - if (argc == 1) { - int _v; - void *vptr = 0; - int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_iObjectRegistry, 0); - _v = SWIG_CheckState(res); - if (_v) { - return _wrap_csevFinalProcess__SWIG_0(self, args); - } - } - if (argc == 1) { - int _v; - void *vptr = 0; - int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_iEventNameRegistry, 0); - _v = SWIG_CheckState(res); - if (_v) { - return _wrap_csevFinalProcess__SWIG_1(self, args); - } - } - -fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'csevFinalProcess'.\n Possible C/C++ prototypes are:\n csevFinalProcess(iObjectRegistry *)\n csevFinalProcess(iEventNameRegistry *)\n"); - return NULL; -} - - SWIGINTERN PyObject *_wrap_iEventHandler_HandleEvent(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; iEventHandler *arg1 = (iEventHandler *) 0 ; @@ -58563,10 +58223,6 @@ { (char *)"csevJoystick", _wrap_csevJoystick, METH_VARARGS, NULL}, { (char *)"csevJoystickOp", _wrap_csevJoystickOp, METH_VARARGS, NULL}, { (char *)"csevCanvasOp", _wrap_csevCanvasOp, METH_VARARGS, NULL}, - { (char *)"csevPreProcess", _wrap_csevPreProcess, METH_VARARGS, NULL}, - { (char *)"csevProcess", _wrap_csevProcess, METH_VARARGS, NULL}, - { (char *)"csevPostProcess", _wrap_csevPostProcess, METH_VARARGS, NULL}, - { (char *)"csevFinalProcess", _wrap_csevFinalProcess, METH_VARARGS, NULL}, { (char *)"iEventHandler_HandleEvent", _wrap_iEventHandler_HandleEvent, METH_VARARGS, NULL}, { (char *)"iEventHandler_GenericName", _wrap_iEventHandler_GenericName, METH_VARARGS, NULL}, { (char *)"iEventHandler_GenericID", _wrap_iEventHandler_GenericID, METH_VARARGS, NULL}, Modified: CS/trunk/scripts/perl5/cspace.pm =================================================================== --- CS/trunk/scripts/perl5/cspace.pm 2008-08-24 20:29:28 UTC (rev 30955) +++ CS/trunk/scripts/perl5/cspace.pm 2008-08-25 02:52:34 UTC (rev 30956) @@ -73,10 +73,6 @@ *csevJoystick = *cspacec::csevJoystick; *csevJoystickOp = *cspacec::csevJoystickOp; *csevCanvasOp = *cspacec::csevCanvasOp; -*csevPreProcess = *cspacec::csevPreProcess; -*csevProcess = *cspacec::csevProcess; -*csevPostProcess = *cspacec::csevPostProcess; -*csevFinalProcess = *cspacec::csevFinalProcess; *csLoadPluginAlways = *cspacec::csLoadPluginAlways; *CSKEY_SHIFT_NUM = *cspacec::CSKEY_SHIFT_NUM; *CSKEY_CTRL_NUM = *cspacec::CSKEY_CTRL_NUM; Modified: CS/trunk/scripts/perl5/cswigpl5.inc =================================================================== --- CS/trunk/scripts/perl5/cswigpl5.inc 2008-08-24 20:29:28 UTC (rev 30955) +++ CS/trunk/scripts/perl5/cswigpl5.inc 2008-08-25 02:52:34 UTC (rev 30956) @@ -45984,478 +45984,6 @@ } -XS(_wrap_csevPreProcess__SWIG_0) { - { - iObjectRegistry *arg1 = (iObjectRegistry *) 0 ; - SwigValueWrapper<CS::StringID<CS::StringSetTag::General > > result; - void *argp1 = 0 ; - int res1 = 0 ; - int argvi = 0; - dXSARGS; - - if ((items < 1) || (items > 1)) { - SWIG_croak("Usage: csevPreProcess(reg);"); - } - res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevPreProcess" "', argument " "1"" of type '" "iObjectRegistry *""'"); - } - arg1 = reinterpret_cast< iObjectRegistry * >(argp1); - result = csevPreProcess(arg1); - ST(argvi) = SWIG_NewPointerObj((new csEventID(static_cast< const csEventID& >(result))), SWIGTYPE_p_CS__StringIDTCS__StringSetTag__General_t, SWIG_POINTER_OWN | 0); argvi++ ; - - XSRETURN(argvi); - fail: - - SWIG_croak_null(); - } -} - - -XS(_wrap_csevPreProcess__SWIG_1) { - { - iEventNameRegistry *arg1 = (iEventNameRegistry *) 0 ; - SwigValueWrapper<CS::StringID<CS::StringSetTag::General > > result; - void *argp1 = 0 ; - int res1 = 0 ; - int argvi = 0; - dXSARGS; - - if ((items < 1) || (items > 1)) { - SWIG_croak("Usage: csevPreProcess(reg);"); - } - res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventNameRegistry, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevPreProcess" "', argument " "1"" of type '" "iEventNameRegistry *""'"); - } - arg1 = reinterpret_cast< iEventNameRegistry * >(argp1); - result = csevPreProcess(arg1); - ST(argvi) = SWIG_NewPointerObj((new csEventID(static_cast< const csEventID& >(result))), SWIGTYPE_p_CS__StringIDTCS__StringSetTag__General_t, SWIG_POINTER_OWN | 0); argvi++ ; - - XSRETURN(argvi); - fail: - - SWIG_croak_null(); - } -} - - -XS(_wrap_csevPreProcess) { - dXSARGS; - - { - unsigned long _index = 0; - SWIG_TypeRank _rank = 0; - if (items == 1) { - SWIG_TypeRank _ranki = 0; - SWIG_TypeRank _rankm = 0; - SWIG_TypeRank _pi = 1; - int _v = 0; - { - void *vptr = 0; - int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObjectRegistry, 0); - _v = SWIG_CheckState(res); - } - if (!_v) goto check_1; - _ranki += _v*_pi; - _rankm += _pi; - _pi *= SWIG_MAXCASTRANK; - if (!_index || (_ranki < _rank)) { - _rank = _ranki; _index = 1; - if (_rank == _rankm) goto dispatch; - } - } - check_1: - - if (items == 1) { - SWIG_TypeRank _ranki = 0; - SWIG_TypeRank _rankm = 0; - SWIG_TypeRank _pi = 1; - int _v = 0; - { - void *vptr = 0; - int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEventNameRegistry, 0); - _v = SWIG_CheckState(res); - } - if (!_v) goto check_2; - _ranki += _v*_pi; - _rankm += _pi; - _pi *= SWIG_MAXCASTRANK; - if (!_index || (_ranki < _rank)) { - _rank = _ranki; _index = 2; - if (_rank == _rankm) goto dispatch; - } - } - check_2: - - dispatch: - switch(_index) { - case 1: - ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csevPreProcess__SWIG_0); return; - case 2: - ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csevPreProcess__SWIG_1); return; - } - } - - croak("No matching function for overloaded 'csevPreProcess'"); - XSRETURN(0); -} - - -XS(_wrap_csevProcess__SWIG_0) { - { - iObjectRegistry *arg1 = (iObjectRegistry *) 0 ; - SwigValueWrapper<CS::StringID<CS::StringSetTag::General > > result; - void *argp1 = 0 ; - int res1 = 0 ; - int argvi = 0; - dXSARGS; - - if ((items < 1) || (items > 1)) { - SWIG_croak("Usage: csevProcess(reg);"); - } - res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevProcess" "', argument " "1"" of type '" "iObjectRegistry *""'"); - } - arg1 = reinterpret_cast< iObjectRegistry * >(argp1); - result = csevProcess(arg1); - ST(argvi) = SWIG_NewPointerObj((new csEventID(static_cast< const csEventID& >(result))), SWIGTYPE_p_CS__StringIDTCS__StringSetTag__General_t, SWIG_POINTER_OWN | 0); argvi++ ; - - XSRETURN(argvi); - fail: - - SWIG_croak_null(); - } -} - - -XS(_wrap_csevProcess__SWIG_1) { - { - iEventNameRegistry *arg1 = (iEventNameRegistry *) 0 ; - SwigValueWrapper<CS::StringID<CS::StringSetTag::General > > result; - void *argp1 = 0 ; - int res1 = 0 ; - int argvi = 0; - dXSARGS; - - if ((items < 1) || (items > 1)) { - SWIG_croak("Usage: csevProcess(reg);"); - } - res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventNameRegistry, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevProcess" "', argument " "1"" of type '" "iEventNameRegistry *""'"); - } - arg1 = reinterpret_cast< iEventNameRegistry * >(argp1); - result = csevProcess(arg1); - ST(argvi) = SWIG_NewPointerObj((new csEventID(static_cast< const csEventID& >(result))), SWIGTYPE_p_CS__StringIDTCS__StringSetTag__General_t, SWIG_POINTER_OWN | 0); argvi++ ; - - XSRETURN(argvi); - fail: - - SWIG_croak_null(); - } -} - - -XS(_wrap_csevProcess) { - dXSARGS; - - { - unsigned long _index = 0; - SWIG_TypeRank _rank = 0; - if (items == 1) { - SWIG_TypeRank _ranki = 0; - SWIG_TypeRank _rankm = 0; - SWIG_TypeRank _pi = 1; - int _v = 0; - { - void *vptr = 0; - int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObjectRegistry, 0); - _v = SWIG_CheckState(res); - } - if (!_v) goto check_1; - _ranki += _v*_pi; - _rankm += _pi; - _pi *= SWIG_MAXCASTRANK; - if (!_index || (_ranki < _rank)) { - _rank = _ranki; _index = 1; - if (_rank == _rankm) goto dispatch; - } - } - check_1: - - if (items == 1) { - SWIG_TypeRank _ranki = 0; - SWIG_TypeRank _rankm = 0; - SWIG_TypeRank _pi = 1; - int _v = 0; - { - void *vptr = 0; - int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEventNameRegistry, 0); - _v = SWIG_CheckState(res); - } - if (!_v) goto check_2; - _ranki += _v*_pi; - _rankm += _pi; - _pi *= SWIG_MAXCASTRANK; - if (!_index || (_ranki < _rank)) { - _rank = _ranki; _index = 2; - if (_rank == _rankm) goto dispatch; - } - } - check_2: - - dispatch: - switch(_index) { - case 1: - ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csevProcess__SWIG_0); return; - case 2: - ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csevProcess__SWIG_1); return; - } - } - - croak("No matching function for overloaded 'csevProcess'"); - XSRETURN(0); -} - - -XS(_wrap_csevPostProcess__SWIG_0) { - { - iObjectRegistry *arg1 = (iObjectRegistry *) 0 ; - SwigValueWrapper<CS::StringID<CS::StringSetTag::General > > result; - void *argp1 = 0 ; - int res1 = 0 ; - int argvi = 0; - dXSARGS; - - if ((items < 1) || (items > 1)) { - SWIG_croak("Usage: csevPostProcess(reg);"); - } - res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevPostProcess" "', argument " "1"" of type '" "iObjectRegistry *""'"); - } - arg1 = reinterpret_cast< iObjectRegistry * >(argp1); - result = csevPostProcess(arg1); - ST(argvi) = SWIG_NewPointerObj((new csEventID(static_cast< const csEventID& >(result))), SWIGTYPE_p_CS__StringIDTCS__StringSetTag__General_t, SWIG_POINTER_OWN | 0); argvi++ ; - - XSRETURN(argvi); - fail: - - SWIG_croak_null(); - } -} - - -XS(_wrap_csevPostProcess__SWIG_1) { - { - iEventNameRegistry *arg1 = (iEventNameRegistry *) 0 ; - SwigValueWrapper<CS::StringID<CS::StringSetTag::General > > result; - void *argp1 = 0 ; - int res1 = 0 ; - int argvi = 0; - dXSARGS; - - if ((items < 1) || (items > 1)) { - SWIG_croak("Usage: csevPostProcess(reg);"); - } - res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventNameRegistry, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevPostProcess" "', argument " "1"" of type '" "iEventNameRegistry *""'"); - } - arg1 = reinterpret_cast< iEventNameRegistry * >(argp1); - result = csevPostProcess(arg1); - ST(argvi) = SWIG_NewPointerObj((new csEventID(static_cast< const csEventID& >(result))), SWIGTYPE_p_CS__StringIDTCS__StringSetTag__General_t, SWIG_POINTER_OWN | 0); argvi++ ; - - XSRETURN(argvi); - fail: - - SWIG_croak_null(); - } -} - - -XS(_wrap_csevPostProcess) { - dXSARGS; - - { - unsigned long _index = 0; - SWIG_TypeRank _rank = 0; - if (items == 1) { - SWIG_TypeRank _ranki = 0; - SWIG_TypeRank _rankm = 0; - SWIG_TypeRank _pi = 1; - int _v = 0; - { - void *vptr = 0; - int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObjectRegistry, 0); - _v = SWIG_CheckState(res); - } - if (!_v) goto check_1; - _ranki += _v*_pi; - _rankm += _pi; - _pi *= SWIG_MAXCASTRANK; - if (!_index || (_ranki < _rank)) { - _rank = _ranki; _index = 1; - if (_rank == _rankm) goto dispatch; - } - } - check_1: - - if (items == 1) { - SWIG_TypeRank _ranki = 0; - SWIG_TypeRank _rankm = 0; - SWIG_TypeRank _pi = 1; - int _v = 0; - { - void *vptr = 0; - int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEventNameRegistry, 0); - _v = SWIG_CheckState(res); - } - if (!_v) goto check_2; - _ranki += _v*_pi; - _rankm += _pi; - _pi *= SWIG_MAXCASTRANK; - if (!_index || (_ranki < _rank)) { - _rank = _ranki; _index = 2; - if (_rank == _rankm) goto dispatch; - } - } - check_2: - - dispatch: - switch(_index) { - case 1: - ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csevPostProcess__SWIG_0); return; - case 2: - ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csevPostProcess__SWIG_1); return; - } - } - - croak("No matching function for overloaded 'csevPostProcess'"); - XSRETURN(0); -} - - -XS(_wrap_csevFinalProcess__SWIG_0) { - { - iObjectRegistry *arg1 = (iObjectRegistry *) 0 ; - SwigValueWrapper<CS::StringID<CS::StringSetTag::General > > result; - void *argp1 = 0 ; - int res1 = 0 ; - int argvi = 0; - dXSARGS; - - if ((items < 1) || (items > 1)) { - SWIG_croak("Usage: csevFinalProcess(reg);"); - } - res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevFinalProcess" "', argument " "1"" of type '" "iObjectRegistry *""'"); - } - arg1 = reinterpret_cast< iObjectRegistry * >(argp1); - result = csevFinalProcess(arg1); - ST(argvi) = SWIG_NewPointerObj((new csEventID(static_cast< const csEventID& >(result))), SWIGTYPE_p_CS__StringIDTCS__StringSetTag__General_t, SWIG_POINTER_OWN | 0); argvi++ ; - - XSRETURN(argvi); - fail: - - SWIG_croak_null(); - } -} - - -XS(_wrap_csevFinalProcess__SWIG_1) { - { - iEventNameRegistry *arg1 = (iEventNameRegistry *) 0 ; - SwigValueWrapper<CS::StringID<CS::StringSetTag::General > > result; - void *argp1 = 0 ; - int res1 = 0 ; - int argvi = 0; - dXSARGS; - - if ((items < 1) || (items > 1)) { - SWIG_croak("Usage: csevFinalProcess(reg);"); - } - res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventNameRegistry, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevFinalProcess" "', argument " "1"" of type '" "iEventNameRegistry *""'"); - } - arg1 = reinterpret_cast< iEventNameRegistry * >(argp1); - result = csevFinalProcess(arg1); - ST(argvi) = SWIG_NewPointerObj((new csEventID(static_cast< const csEventID& >(result))), SWIGTYPE_p_CS__StringIDTCS__StringSetTag__General_t, SWIG_POINTER_OWN | 0); argvi++ ; - - XSRETURN(argvi); - fail: - - SWIG_croak_null(); - } -} - - -XS(_wrap_csevFinalProcess) { - dXSARGS; - - { - unsigned long _index = 0; - SWIG_TypeRank _rank = 0; - if (items == 1) { - SWIG_TypeRank _ranki = 0; - SWIG_TypeRank _rankm = 0; - SWIG_TypeRank _pi = 1; - int _v = 0; - { - void *vptr = 0; - int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObjectRegistry, 0); - _v = SWIG_CheckState(res); - } - if (!_v) goto check_1; - _ranki += _v*_pi; - _rankm += _pi; - _pi *= SWIG_MAXCASTRANK; - if (!_index || (_ranki < _rank)) { - _rank = _ranki; _index = 1; - if (_rank == _rankm) goto dispatch; - } - } - check_1: - - if (items == 1) { - SWIG_TypeRank _ranki = 0; - SWIG_TypeRank _rankm = 0; - SWIG_TypeRank _pi = 1; - int _v = 0; - { - void *vptr = 0; - int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEventNameRegistry, 0); - _v = SWIG_CheckState(res); - } - if (!_v) goto check_2; - _ranki += _v*_pi; - _rankm += _pi; - _pi *= SWIG_MAXCASTRANK; - if (!_index || (_ranki < _rank)) { - _rank = _ranki; _index = 2; - if (_rank == _rankm) goto dispatch; - } - } - check_2: - - dispatch: - switch(_index) { - case 1: - ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csevFinalProcess__SWIG_0); return; - case 2: - ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csevFinalProcess__SWIG_1); return; - } - } - - croak("No matching function for overloaded 'csevFinalProcess'"); - XSRETURN(0); -} - - XS(_wrap_iEventHandler_HandleEvent) { { iEventHandler *arg1 = (iEventHandler *) 0 ; @@ -350859,10 +350387,6 @@ {"cspacec::csevJoystick", _wrap_csevJoystick}, {"cspacec::csevJoystickOp", _wrap_csevJoystickOp}, {"cspacec::csevCanvasOp", _wrap_csevCanvasOp}, -{"cspacec::csevPreProcess", _wrap_csevPreProcess}, -{"cspacec::csevProcess", _wrap_csevProcess}, -{"cspacec::csevPostProcess", _wrap_csevPostProcess}, -{"cspacec::csevFinalProcess", _wrap_csevFinalProcess}, {"cspacec::iEventHandler_HandleEvent", _wrap_iEventHandler_HandleEvent}, {"cspacec::iEventHandler_GenericName", _wrap_iEventHandler_GenericName}, {"cspacec::iEventHandler_GenericID", _wrap_iEventHandler_GenericID}, Modified: CS/trunk/scripts/python/frozen/cspace/core.py =================================================================== --- CS/trunk/scripts/python/frozen/cspace/core.py 2008-08-24 20:29:28 UTC (rev 30955) +++ CS/trunk/scripts/python/frozen/cspace/core.py 2008-08-25 02:52:34 UTC (rev 30956) @@ -1543,10 +1543,6 @@ csevJoystick = _core.csevJoystick csevJoystickOp = _core.csevJoystickOp csevCanvasOp = _core.csevCanvasOp -csevPreProcess = _core.csevPreProcess -csevProcess = _core.csevProcess -csevPostProcess = _core.csevPostProcess -csevFinalProcess = _core.csevFinalProcess iEventHandler_scfGetVersion = _core.iEventHandler_scfGetVersion class iPluginIterator(iBase): This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <re...@us...> - 2008-08-25 18:35:46
|
Revision: 30965 http://crystal.svn.sourceforge.net/crystal/?rev=30965&view=rev Author: res2002 Date: 2008-08-25 18:35:36 +0000 (Mon, 25 Aug 2008) Log Message: ----------- Create architecture-dependent MSMs. Modified Paths: -------------- CS/trunk/bin/guidregistry.py CS/trunk/scripts/msi/Jamfile Modified: CS/trunk/bin/guidregistry.py =================================================================== --- CS/trunk/bin/guidregistry.py 2008-08-25 17:38:43 UTC (rev 30964) +++ CS/trunk/bin/guidregistry.py 2008-08-25 18:35:36 UTC (rev 30965) @@ -15,10 +15,10 @@ "CS.register": '8E4AB45A-BF93-11DC-B42B-0015582877AD', "CS.data": '8EA81938-BF93-11DC-B42B-0015582877AD', "CS.include": '8F1B7996-BF93-11DC-B42B-0015582877AD', - "CS.arch.GCC.include": '8F6CB040-BF93-11DC-B42B-0015582877AD', - "CS.arch.GCC.lib": 'A6DDD416-BF93-11DC-B42B-0015582877AD', - "CS.arch.GCC.executable": 'AC4E1EB0-BF93-11DC-B42B-0015582877AD', - "CS.arch.GCC.support": 'B18119AA-BF93-11DC-B42B-0015582877AD', + "CS.arch.GCC_3.4.include": '8F6CB040-BF93-11DC-B42B-0015582877AD', + "CS.arch.GCC_3.4.lib": 'A6DDD416-BF93-11DC-B42B-0015582877AD', + "CS.arch.GCC_3.4.executable": 'AC4E1EB0-BF93-11DC-B42B-0015582877AD', + "CS.arch.GCC_3.4.support": 'B18119AA-BF93-11DC-B42B-0015582877AD', #cel merge modules "cel.doc.msm": 'BFEEA872-BF93-11DC-B42B-0015582877AD', Modified: CS/trunk/scripts/msi/Jamfile =================================================================== --- CS/trunk/scripts/msi/Jamfile 2008-08-25 17:38:43 UTC (rev 30964) +++ CS/trunk/scripts/msi/Jamfile 2008-08-25 18:35:36 UTC (rev 30965) @@ -3,9 +3,22 @@ # @@@ Not quite the same ... MSM_VERSION ?= $(PACKAGE_VERSION) ; +if $(COMPILER.C++.VERSION_LIST) +{ + MSM_ARCH = "$(COMPILER.C++.TYPE)_$(COMPILER.C++.VERSION_LIST[1]).$(COMPILER.C++.VERSION_LIST[2])" ; +} +else +{ + MSM_ARCH = "$(COMPILER.C++.TYPE)" ; +} + # Architecture-independent MSIMergeModule CS.doc : doc-manual doc-api : $(MSM_VERSION) : doc-manual:manual doc-api:api ; MSIMergeModule CS.data : data-demo data-demo-maps data-runtime data-tool : $(MSM_VERSION) ; MSIMergeModule CS.include : headers : $(MSM_VERSION) ; MSIMergeModule CS.vfs : vfs : $(MSM_VERSION) ; +# Architecture-dependent +MSIMergeModule CS.arch.$(MSM_ARCH).include : headers-platform : $(MSM_VERSION) ; +MSIMergeModule CS.arch.$(MSM_ARCH).lib : libs-shared : $(MSM_VERSION) ; +MSIMergeModule CS.arch.$(MSM_ARCH).executable : app-demo app-tool plugin plugin-cg : $(MSM_VERSION) ; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cry...@us...> - 2008-08-28 02:53:02
|
Revision: 30978 http://crystal.svn.sourceforge.net/crystal/?rev=30978&view=rev Author: crystal-manage Date: 2008-08-28 02:52:53 +0000 (Thu, 28 Aug 2008) Log Message: ----------- master header files: Automated master header file repair. Visual-C++ project files: Automated Visual-C++ project file repair. Texinfo files: Automated Texinfo @node and @menu repair. Swig Python files: Automated Swig Python file repair. Swig Perl5 files: Automated Swig Perl5 file repair. User's Manual: Automated Texinfo to HTML conversion. Modified Paths: -------------- CS/trunk/plugins/cscript/cspython/swigpyruntime.h CS/trunk/plugins/cscript/pycore/cs_core.cpp CS/trunk/plugins/cscript/pycsgeom/cs_csgeom.cpp CS/trunk/plugins/cscript/pycsgfx/cs_csgfx.cpp CS/trunk/plugins/cscript/pycstool/cs_cstool.cpp CS/trunk/plugins/cscript/pyiengine/cs_iengine.cpp CS/trunk/plugins/cscript/pyimap/cs_imap.cpp CS/trunk/plugins/cscript/pyimesh/cs_imesh.cpp CS/trunk/plugins/cscript/pyisndsys/cs_isndsys.cpp CS/trunk/plugins/cscript/pyivaria/cs_ivaria.cpp CS/trunk/plugins/cscript/pyivideo/cs_ivideo.cpp CS/trunk/scripts/perl5/cspace.pm CS/trunk/scripts/perl5/cswigpl5.inc CS/trunk/scripts/python/frozen/cspace/core.py CS/trunk/scripts/python/frozen/cspace/csgeom.py CS/trunk/scripts/python/frozen/cspace/csgfx.py CS/trunk/scripts/python/frozen/cspace/cstool.py CS/trunk/scripts/python/frozen/cspace/iengine.py CS/trunk/scripts/python/frozen/cspace/imap.py CS/trunk/scripts/python/frozen/cspace/imesh.py CS/trunk/scripts/python/frozen/cspace/isndsys.py CS/trunk/scripts/python/frozen/cspace/ivaria.py CS/trunk/scripts/python/frozen/cspace/ivideo.py Modified: CS/trunk/plugins/cscript/cspython/swigpyruntime.h =================================================================== --- CS/trunk/plugins/cscript/cspython/swigpyruntime.h 2008-08-27 07:44:50 UTC (rev 30977) +++ CS/trunk/plugins/cscript/cspython/swigpyruntime.h 2008-08-28 02:52:53 UTC (rev 30978) @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.31 + * Version 1.3.33 * * This file is not intended to be easily readable and contains a number of * coding conventions designed to improve portability and efficiency. Do not make @@ -15,14 +15,14 @@ /* template workaround for compilers that cannot correctly implement the C++ standard */ #ifndef SWIGTEMPLATEDISAMBIGUATOR -# if defined(__SUNPRO_CC) -# if (__SUNPRO_CC <= 0x560) -# define SWIGTEMPLATEDISAMBIGUATOR template -# else -# define SWIGTEMPLATEDISAMBIGUATOR -# endif +# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560) +# define SWIGTEMPLATEDISAMBIGUATOR template +# elif defined(__HP_aCC) +/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */ +/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */ +# define SWIGTEMPLATEDISAMBIGUATOR template # else -# define SWIGTEMPLATEDISAMBIGUATOR +# define SWIGTEMPLATEDISAMBIGUATOR # endif #endif @@ -104,6 +104,12 @@ #if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE) # define _CRT_SECURE_NO_DEPRECATE #endif + +/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */ +#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE) +# define _SCL_SECURE_NO_DEPRECATE +#endif + /* Errors in SWIG */ #define SWIG_UnknownError -1 #define SWIG_IOError -2 @@ -368,7 +374,7 @@ while ((*f2 == ' ') && (f2 != l2)) ++f2; if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1; } - return (l1 - f1) - (l2 - f2); + return (int)((l1 - f1) - (l2 - f2)); } /* @@ -1093,14 +1099,14 @@ /* Unpack the argument tuple */ SWIGINTERN int -SWIG_Python_UnpackTuple(PyObject *args, const char *name, int min, int max, PyObject **objs) +SWIG_Python_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssize_t max, PyObject **objs) { if (!args) { if (!min && !max) { return 1; } else { PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got none", - name, (min == max ? "" : "at least "), min); + name, (min == max ? "" : "at least "), (int)min); return 0; } } @@ -1108,14 +1114,14 @@ PyErr_SetString(PyExc_SystemError, "UnpackTuple() argument list is not a tuple"); return 0; } else { - register int l = PyTuple_GET_SIZE(args); + register Py_ssize_t l = PyTuple_GET_SIZE(args); if (l < min) { PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d", - name, (min == max ? "" : "at least "), min, l); + name, (min == max ? "" : "at least "), (int)min, (int)l); return 0; } else if (l > max) { PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d", - name, (min == max ? "" : "at most "), max, l); + name, (min == max ? "" : "at most "), (int)max, (int)l); return 0; } else { register int i; @@ -1594,9 +1600,11 @@ (unaryfunc)0, /*nb_float*/ (unaryfunc)PySwigObject_oct, /*nb_oct*/ (unaryfunc)PySwigObject_hex, /*nb_hex*/ -#if PY_VERSION_HEX >= 0x02020000 - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_true_divide */ -#elif PY_VERSION_HEX >= 0x02000000 +#if PY_VERSION_HEX >= 0x02050000 /* 2.5.0 */ + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_index */ +#elif PY_VERSION_HEX >= 0x02020000 /* 2.2.0 */ + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_true_divide */ +#elif PY_VERSION_HEX >= 0x02000000 /* 2.0.0 */ 0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_or */ #endif }; Modified: CS/trunk/plugins/cscript/pycore/cs_core.cpp =================================================================== --- CS/trunk/plugins/cscript/pycore/cs_core.cpp 2008-08-27 07:44:50 UTC (rev 30977) +++ CS/trunk/plugins/cscript/pycore/cs_core.cpp 2008-08-28 02:52:53 UTC (rev 30978) @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.31 + * Version 1.3.33 * * This file is not intended to be easily readable and contains a number of * coding conventions designed to improve portability and efficiency. Do not make @@ -12,7 +12,7 @@ #define SWIG_PYTHON_DIRECTOR_NO_VTABLE #ifdef __cplusplus -template<class T> class SwigValueWrapper { +template<typename T> class SwigValueWrapper { T *tt; public: SwigValueWrapper() : tt(0) { } @@ -25,6 +25,10 @@ private: SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs); }; + +template <typename T> T SwigValueInit() { + return T(); +} #endif /* ----------------------------------------------------------------------------- @@ -34,14 +38,14 @@ /* template workaround for compilers that cannot correctly implement the C++ standard */ #ifndef SWIGTEMPLATEDISAMBIGUATOR -# if defined(__SUNPRO_CC) -# if (__SUNPRO_CC <= 0x560) -# define SWIGTEMPLATEDISAMBIGUATOR template -# else -# define SWIGTEMPLATEDISAMBIGUATOR -# endif +# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560) +# define SWIGTEMPLATEDISAMBIGUATOR template +# elif defined(__HP_aCC) +/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */ +/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */ +# define SWIGTEMPLATEDISAMBIGUATOR template # else -# define SWIGTEMPLATEDISAMBIGUATOR +# define SWIGTEMPLATEDISAMBIGUATOR # endif #endif @@ -124,7 +128,13 @@ # define _CRT_SECURE_NO_DEPRECATE #endif +/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */ +#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE) +# define _SCL_SECURE_NO_DEPRECATE +#endif + + /* Python.h has to appear first */ #ifndef __STDC_CONSTANT_MACROS @@ -370,7 +380,7 @@ while ((*f2 == ' ') && (f2 != l2)) ++f2; if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1; } - return (l1 - f1) - (l2 - f2); + return (int)((l1 - f1) - (l2 - f2)); } /* @@ -1117,14 +1127,14 @@ /* Unpack the argument tuple */ SWIGINTERN int -SWIG_Python_UnpackTuple(PyObject *args, const char *name, int min, int max, PyObject **objs) +SWIG_Python_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssize_t max, PyObject **objs) { if (!args) { if (!min && !max) { return 1; } else { PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got none", - name, (min == max ? "" : "at least "), min); + name, (min == max ? "" : "at least "), (int)min); return 0; } } @@ -1132,14 +1142,14 @@ PyErr_SetString(PyExc_SystemError, "UnpackTuple() argument list is not a tuple"); return 0; } else { - register int l = PyTuple_GET_SIZE(args); + register Py_ssize_t l = PyTuple_GET_SIZE(args); if (l < min) { PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d", - name, (min == max ? "" : "at least "), min, l); + name, (min == max ? "" : "at least "), (int)min, (int)l); return 0; } else if (l > max) { PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d", - name, (min == max ? "" : "at most "), max, l); + name, (min == max ? "" : "at most "), (int)max, (int)l); return 0; } else { register int i; @@ -1618,9 +1628,11 @@ (unaryfunc)0, /*nb_float*/ (unaryfunc)PySwigObject_oct, /*nb_oct*/ (unaryfunc)PySwigObject_hex, /*nb_hex*/ -#if PY_VERSION_HEX >= 0x02020000 - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_true_divide */ -#elif PY_VERSION_HEX >= 0x02000000 +#if PY_VERSION_HEX >= 0x02050000 /* 2.5.0 */ + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_index */ +#elif PY_VERSION_HEX >= 0x02020000 /* 2.2.0 */ + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_true_divide */ +#elif PY_VERSION_HEX >= 0x02000000 /* 2.0.0 */ 0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_or */ #endif }; @@ -2749,7 +2761,7 @@ #define SWIG_name "_core" -#define SWIGVERSION 0x010331 +#define SWIGVERSION 0x010333 #define SWIG_VERSION SWIGVERSION @@ -2899,15 +2911,13 @@ #include <limits.h> -#ifndef LLONG_MIN -# define LLONG_MIN LONG_LONG_MIN +#if !defined(SWIG_NO_LLONG_MAX) +# if !defined(LLONG_MAX) && defined(__GNUC__) && defined (__LONG_LONG_MAX__) +# define LLONG_MAX __LONG_LONG_MAX__ +# define LLONG_MIN (-LLONG_MAX - 1LL) +# define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL) +# endif #endif -#ifndef LLONG_MAX -# define LLONG_MAX LONG_LONG_MAX -#endif -#ifndef ULLONG_MAX -# define ULLONG_MAX ULONG_LONG_MAX -#endif SWIGINTERN int @@ -3276,18 +3286,11 @@ SWIGINTERN int SWIG_AsVal_bool (PyObject *obj, bool *val) { - if (obj == Py_True) { - if (val) *val = true; - return SWIG_OK; - } else if (obj == Py_False) { - if (val) *val = false; - return SWIG_OK; - } else { - long v = 0; - int res = SWIG_AddCast(SWIG_AsVal_long (obj, val ? &v : 0)); - if (SWIG_IsOK(res) && val) *val = v ? true : false; - return res; - } + int r = PyObject_IsTrue(obj); + if (r == -1) + return SWIG_ERROR; + if (val) *val = r ? true : false; + return SWIG_OK; } SWIGINTERN int iSCF_scfGetVersion(){ return scfInterfaceTraits<iSCF>::GetVersion(); } @@ -3840,7 +3843,7 @@ PyObject *resultobj = 0; char *arg1 = (char *) 0 ; scfInterfaceVersion arg2 ; - SwigValueWrapper<csPtr<iBase > > arg3 ; + SwigValueWrapper< csPtr<iBase > > arg3 ; csWrapPtr *result = 0 ; int res1 ; char *buf1 = 0 ; @@ -3891,7 +3894,7 @@ PyObject *resultobj = 0; char *arg1 = (char *) 0 ; scfInterfaceVersion arg2 ; - SwigValueWrapper<csRef<iBase > > arg3 ; + SwigValueWrapper< csRef<iBase > > arg3 ; csWrapPtr *result = 0 ; int res1 ; char *buf1 = 0 ; @@ -3969,7 +3972,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 3); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -4019,7 +4022,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_csWrapPtr'.\n Possible C/C++ prototypes are:\n csWrapPtr(char const *,scfInterfaceVersion,csPtr<iBase >)\n csWrapPtr(char const *,scfInterfaceVersion,csRef<iBase >)\n csWrapPtr(csWrapPtr const &)\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_csWrapPtr'.\n Possible C/C++ prototypes are:\n"" csWrapPtr(char const *,scfInterfaceVersion,csPtr<iBase >)\n"" csWrapPtr(char const *,scfInterfaceVersion,csRef<iBase >)\n"" csWrapPtr(csWrapPtr const &)\n"); return NULL; } @@ -4136,7 +4139,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 1); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -4155,7 +4158,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_csArrayThresholdVariable'.\n Possible C/C++ prototypes are:\n csArrayThresholdVariable(size_t)\n csArrayThresholdVariable()\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_csArrayThresholdVariable'.\n Possible C/C++ prototypes are:\n"" csArrayThresholdVariable(size_t)\n"" csArrayThresholdVariable()\n"); return NULL; } @@ -4277,7 +4280,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 1); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -4304,7 +4307,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_csArrayThresholdVariableCapacityLinear'.\n Possible C/C++ prototypes are:\n csArrayCapacityLinear<(csArrayThresholdVariable)>()\n csArrayCapacityLinear<(csArrayThresholdVariable)>(csArrayThresholdVariable const &)\n csArrayCapacityLinear<(csArrayThresholdVariable)>(size_t const)\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_csArrayThresholdVariableCapacityLinear'.\n Possible C/C++ prototypes are:\n"" csArrayCapacityLinear<(csArrayThresholdVariable)>()\n"" csArrayCapacityLinear<(csArrayThresholdVariable)>(csArrayThresholdVariable const &)\n"" csArrayCapacityLinear<(csArrayThresholdVariable)>(size_t const)\n"); return NULL; } @@ -4475,7 +4478,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 1); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -4502,7 +4505,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_csArrayCapacityVariableGrow'.\n Possible C/C++ prototypes are:\n csArrayCapacityVariableGrow()\n csArrayCapacityVariableGrow(csArrayThresholdVariable const &)\n csArrayCapacityVariableGrow(size_t const)\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_csArrayCapacityVariableGrow'.\n Possible C/C++ prototypes are:\n"" csArrayCapacityVariableGrow()\n"" csArrayCapacityVariableGrow(csArrayThresholdVariable const &)\n"" csArrayCapacityVariableGrow(size_t const)\n"); return NULL; } @@ -4536,13 +4539,13 @@ return SWIG_Py_Void(); } -SWIGINTERN int csArrayItemNotFound_set(PyObject *) { +SWIGINTERN int Swig_var_csArrayItemNotFound_set(PyObject *) { SWIG_Error(SWIG_AttributeError,"Variable csArrayItemNotFound is read-only."); return 1; } -SWIGINTERN PyObject *csArrayItemNotFound_get(void) { +SWIGINTERN PyObject *Swig_var_csArrayItemNotFound_get(void) { PyObject *pyobj = 0; pyobj = SWIG_From_size_t(static_cast< size_t >(csArrayItemNotFound)); @@ -4718,7 +4721,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 3); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -4777,7 +4780,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_Vector2Array'.\n Possible C/C++ prototypes are:\n csArray<(csVector2)>(size_t,csArrayCapacityFixedGrow<16 > const &)\n csArray<(csVector2)>(size_t)\n csArray<(csVector2)>()\n csArray<(csVector2)>(size_t,CS::Memory::AllocatorMalloc const &,csArrayCapacityFixedGrow<16 > const &)\n csArray<(csVector2)>(csArray<csVector2 > const &)\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_Vector2Array'.\n Possible C/C++ prototypes are:\n"" csArray<(csVector2)>(size_t,csArrayCapacityFixedGrow<16 > const &)\n"" csArray<(csVector2)>(size_t)\n"" csArray<(csVector2)>()\n"" csArray<(csVector2)>(size_t,CS::Memory::AllocatorMalloc const &,csArrayCapacityFixedGrow<16 > const &)\n"" csArray<(csVector2)>(csArray<csVector2 > const &)\n"); return NULL; } @@ -4878,7 +4881,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 2); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -4914,7 +4917,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Vector2Array_Get'.\n Possible C/C++ prototypes are:\n Get(size_t)\n Get(size_t)\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Vector2Array_Get'.\n Possible C/C++ prototypes are:\n"" Get(csArray<csVector2 > *,size_t)\n"" Get(csArray<csVector2 > const *,size_t)\n"); return NULL; } @@ -5073,7 +5076,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 1); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -5097,7 +5100,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Vector2Array_Top'.\n Possible C/C++ prototypes are:\n Top()\n Top()\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Vector2Array_Top'.\n Possible C/C++ prototypes are:\n"" Top(csArray<csVector2 > const *)\n"" Top(csArray<csVector2 > *)\n"); return NULL; } @@ -5580,7 +5583,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 2); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -5613,7 +5616,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_Vector2DirtyAccessArray'.\n Possible C/C++ prototypes are:\n csDirtyAccessArray<(csVector2)>(size_t,csArrayCapacityFixedGrow<16 > const &)\n csDirtyAccessArray<(csVector2)>(size_t)\n csDirtyAccessArray<(csVector2)>()\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_Vector2DirtyAccessArray'.\n Possible C/C++ prototypes are:\n"" csDirtyAccessArray<(csVector2)>(size_t,csArrayCapacityFixedGrow<16 > const &)\n"" csDirtyAccessArray<(csVector2)>(size_t)\n"" csDirtyAccessArray<(csVector2)>()\n"); return NULL; } @@ -5668,7 +5671,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 1); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -5692,7 +5695,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Vector2DirtyAccessArray_GetArray'.\n Possible C/C++ prototypes are:\n GetArray()\n GetArray()\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Vector2DirtyAccessArray_GetArray'.\n Possible C/C++ prototypes are:\n"" GetArray(csDirtyAccessArray<csVector2 > *)\n"" GetArray(csDirtyAccessArray<csVector2 > const *)\n"); return NULL; } @@ -5916,7 +5919,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 3); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -5975,7 +5978,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_Vector3Array'.\n Possible C/C++ prototypes are:\n csArray<(csVector3)>(size_t,csArrayCapacityFixedGrow<16 > const &)\n csArray<(csVector3)>(size_t)\n csArray<(csVector3)>()\n csArray<(csVector3)>(size_t,CS::Memory::AllocatorMalloc const &,csArrayCapacityFixedGrow<16 > const &)\n csArray<(csVector3)>(csArray<csVector3 > const &)\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_Vector3Array'.\n Possible C/C++ prototypes are:\n"" csArray<(csVector3)>(size_t,csArrayCapacityFixedGrow<16 > const &)\n"" csArray<(csVector3)>(size_t)\n"" csArray<(csVector3)>()\n"" csArray<(csVector3)>(size_t,CS::Memory::AllocatorMalloc const &,csArrayCapacityFixedGrow<16 > const &)\n"" csArray<(csVector3)>(csArray<csVector3 > const &)\n"); return NULL; } @@ -6076,7 +6079,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 2); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -6112,7 +6115,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Vector3Array_Get'.\n Possible C/C++ prototypes are:\n Get(size_t)\n Get(size_t)\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Vector3Array_Get'.\n Possible C/C++ prototypes are:\n"" Get(csArray<csVector3 > *,size_t)\n"" Get(csArray<csVector3 > const *,size_t)\n"); return NULL; } @@ -6271,7 +6274,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 1); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -6295,7 +6298,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Vector3Array_Top'.\n Possible C/C++ prototypes are:\n Top()\n Top()\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Vector3Array_Top'.\n Possible C/C++ prototypes are:\n"" Top(csArray<csVector3 > const *)\n"" Top(csArray<csVector3 > *)\n"); return NULL; } @@ -6778,7 +6781,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 2); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -6811,7 +6814,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_Vector3DirtyAccessArray'.\n Possible C/C++ prototypes are:\n csDirtyAccessArray<(csVector3)>(size_t,csArrayCapacityFixedGrow<16 > const &)\n csDirtyAccessArray<(csVector3)>(size_t)\n csDirtyAccessArray<(csVector3)>()\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_Vector3DirtyAccessArray'.\n Possible C/C++ prototypes are:\n"" csDirtyAccessArray<(csVector3)>(size_t,csArrayCapacityFixedGrow<16 > const &)\n"" csDirtyAccessArray<(csVector3)>(size_t)\n"" csDirtyAccessArray<(csVector3)>()\n"); return NULL; } @@ -6866,7 +6869,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 1); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -6890,7 +6893,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Vector3DirtyAccessArray_GetArray'.\n Possible C/C++ prototypes are:\n GetArray()\n GetArray()\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Vector3DirtyAccessArray_GetArray'.\n Possible C/C++ prototypes are:\n"" GetArray(csDirtyAccessArray<csVector3 > *)\n"" GetArray(csDirtyAccessArray<csVector3 > const *)\n"); return NULL; } @@ -7114,7 +7117,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 3); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -7173,7 +7176,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_Vector4Array'.\n Possible C/C++ prototypes are:\n csArray<(csVector4)>(size_t,csArrayCapacityFixedGrow<16 > const &)\n csArray<(csVector4)>(size_t)\n csArray<(csVector4)>()\n csArray<(csVector4)>(size_t,CS::Memory::AllocatorMalloc const &,csArrayCapacityFixedGrow<16 > const &)\n csArray<(csVector4)>(csArray<csVector4 > const &)\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_Vector4Array'.\n Possible C/C++ prototypes are:\n"" csArray<(csVector4)>(size_t,csArrayCapacityFixedGrow<16 > const &)\n"" csArray<(csVector4)>(size_t)\n"" csArray<(csVector4)>()\n"" csArray<(csVector4)>(size_t,CS::Memory::AllocatorMalloc const &,csArrayCapacityFixedGrow<16 > const &)\n"" csArray<(csVector4)>(csArray<csVector4 > const &)\n"); return NULL; } @@ -7274,7 +7277,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 2); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -7310,7 +7313,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Vector4Array_Get'.\n Possible C/C++ prototypes are:\n Get(size_t)\n Get(size_t)\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Vector4Array_Get'.\n Possible C/C++ prototypes are:\n"" Get(csArray<csVector4 > *,size_t)\n"" Get(csArray<csVector4 > const *,size_t)\n"); return NULL; } @@ -7469,7 +7472,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 1); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -7493,7 +7496,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Vector4Array_Top'.\n Possible C/C++ prototypes are:\n Top()\n Top()\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Vector4Array_Top'.\n Possible C/C++ prototypes are:\n"" Top(csArray<csVector4 > const *)\n"" Top(csArray<csVector4 > *)\n"); return NULL; } @@ -7976,7 +7979,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 2); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -8009,7 +8012,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_Vector4DirtyAccessArray'.\n Possible C/C++ prototypes are:\n csDirtyAccessArray<(csVector4)>(size_t,csArrayCapacityFixedGrow<16 > const &)\n csDirtyAccessArray<(csVector4)>(size_t)\n csDirtyAccessArray<(csVector4)>()\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_Vector4DirtyAccessArray'.\n Possible C/C++ prototypes are:\n"" csDirtyAccessArray<(csVector4)>(size_t,csArrayCapacityFixedGrow<16 > const &)\n"" csDirtyAccessArray<(csVector4)>(size_t)\n"" csDirtyAccessArray<(csVector4)>()\n"); return NULL; } @@ -8064,7 +8067,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 1); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -8088,7 +8091,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Vector4DirtyAccessArray_GetArray'.\n Possible C/C++ prototypes are:\n GetArray()\n GetArray()\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Vector4DirtyAccessArray_GetArray'.\n Possible C/C++ prototypes are:\n"" GetArray(csDirtyAccessArray<csVector4 > *)\n"" GetArray(csDirtyAccessArray<csVector4 > const *)\n"); return NULL; } @@ -8312,7 +8315,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 3); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -8371,7 +8374,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_UIntArray'.\n Possible C/C++ prototypes are:\n csArray<(unsigned int)>(size_t,csArrayCapacityFixedGrow<16 > const &)\n csArray<(unsigned int)>(size_t)\n csArray<(unsigned int)>()\n csArray<(unsigned int)>(size_t,CS::Memory::AllocatorMalloc const &,csArrayCapacityFixedGrow<16 > const &)\n csArray<(unsigned int)>(csArray<unsigned int > const &)\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_UIntArray'.\n Possible C/C++ prototypes are:\n"" csArray<(unsigned int)>(size_t,csArrayCapacityFixedGrow<16 > const &)\n"" csArray<(unsigned int)>(size_t)\n"" csArray<(unsigned int)>()\n"" csArray<(unsigned int)>(size_t,CS::Memory::AllocatorMalloc const &,csArrayCapacityFixedGrow<16 > const &)\n"" csArray<(unsigned int)>(csArray<unsigned int > const &)\n"); return NULL; } @@ -8472,7 +8475,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 2); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -8508,7 +8511,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'UIntArray_Get'.\n Possible C/C++ prototypes are:\n Get(size_t)\n Get(size_t)\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'UIntArray_Get'.\n Possible C/C++ prototypes are:\n"" Get(csArray<unsigned int > *,size_t)\n"" Get(csArray<unsigned int > const *,size_t)\n"); return NULL; } @@ -8665,7 +8668,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 1); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -8689,7 +8692,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'UIntArray_Top'.\n Possible C/C++ prototypes are:\n Top()\n Top()\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'UIntArray_Top'.\n Possible C/C++ prototypes are:\n"" Top(csArray<unsigned int > const *)\n"" Top(csArray<unsigned int > *)\n"); return NULL; } @@ -9170,7 +9173,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 2); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -9203,7 +9206,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_UIntDirtyAccessArray'.\n Possible C/C++ prototypes are:\n csDirtyAccessArray<(unsigned int)>(size_t,csArrayCapacityFixedGrow<16 > const &)\n csDirtyAccessArray<(unsigned int)>(size_t)\n csDirtyAccessArray<(unsigned int)>()\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_UIntDirtyAccessArray'.\n Possible C/C++ prototypes are:\n"" csDirtyAccessArray<(unsigned int)>(size_t,csArrayCapacityFixedGrow<16 > const &)\n"" csDirtyAccessArray<(unsigned int)>(size_t)\n"" csDirtyAccessArray<(unsigned int)>()\n"); return NULL; } @@ -9258,7 +9261,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 1); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -9282,7 +9285,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'UIntDirtyAccessArray_GetArray'.\n Possible C/C++ prototypes are:\n GetArray()\n GetArray()\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'UIntDirtyAccessArray_GetArray'.\n Possible C/C++ prototypes are:\n"" GetArray(csDirtyAccessArray<unsigned int > *)\n"" GetArray(csDirtyAccessArray<unsigned int > const *)\n"); return NULL; } @@ -9912,7 +9915,7 @@ iBase *arg1 = (iBase *) 0 ; char *arg2 = (char *) 0 ; int arg3 ; - SwigValueWrapper<csWrapPtr > result; + SwigValueWrapper< csWrapPtr > result; void *argp1 = 0 ; int res1 = 0 ; csString className2 ; @@ -9964,13 +9967,13 @@ return SWIG_Py_Void(); } -SWIGINTERN int iSCF_SCF_set(PyObject *) { +SWIGINTERN int Swig_var_iSCF_SCF_set(PyObject *) { SWIG_Error(SWIG_AttributeError,"Variable iSCF_SCF is read-only."); return 1; } -SWIGINTERN PyObject *iSCF_SCF_get(void) { +SWIGINTERN PyObject *Swig_var_iSCF_SCF_get(void) { PyObject *pyobj = 0; pyobj = SWIG_NewPointerObj(SWIG_as_voidptr(iSCF::SCF), SWIGTYPE_p_iSCF, 0 ); @@ -9979,7 +9982,7 @@ SWIGINTERN PyObject *_wrap_iSCF_SCF_get(PyObject *SWIGUNUSEDPARM(self), PyObject *SWIGUNUSEDPARM(args)) { - return iSCF_SCF_get(); + return Swig_var_iSCF_SCF_get(); } @@ -10235,7 +10238,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 4); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -10343,7 +10346,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'iSCF_RegisterClasses'.\n Possible C/C++ prototypes are:\n RegisterClasses(iDocument *,char const *)\n RegisterClasses(iDocument *)\n RegisterClasses(char const *,char const *)\n RegisterClasses(char const *)\n RegisterClasses(char const *,iDocument *,char const *)\n RegisterClasses(char const *,iDocument *)\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'iSCF_RegisterClasses'.\n Possible C/C++ prototypes are:\n"" RegisterClasses(iSCF *,iDocument *,char const *)\n"" RegisterClasses(iSCF *,iDocument *)\n"" RegisterClasses(iSCF *,char const *,char const *)\n"" RegisterClasses(iSCF *,char const *)\n"" RegisterClasses(iSCF *,char const *,iDocument *,char const *)\n"" RegisterClasses(iSCF *,char const *,iDocument *)\n"); return NULL; } @@ -10488,7 +10491,7 @@ PyObject *resultobj = 0; iSCF *arg1 = (iSCF *) 0 ; char *arg2 = (char *) 0 ; - SwigValueWrapper<csRef<iDocument > > result; + SwigValueWrapper< csRef<iDocument > > result; void *argp1 = 0 ; int res1 = 0 ; int res2 ; @@ -10510,7 +10513,7 @@ arg2 = reinterpret_cast< char * >(buf2); result = (arg1)->GetPluginMetadata((char const *)arg2); { - /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/ + /*@SWIG:./include/bindings/python/pythpre.i,119,TYPEMAP_OUT_csRef_BODY@*/ csRef<iDocument> ref((csRef<iDocument>&)result); /* explicit cast */ if (!ref.IsValid()) @@ -11001,7 +11004,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 7); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -11172,7 +11175,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'iSCF_RegisterClass'.\n Possible C/C++ prototypes are:\n RegisterClass(char const *,char const *,char const *,char const *,char const *,char const *)\n RegisterClass(char const *,char const *,char const *,char const *,char const *)\n RegisterClass(char const *,char const *,char const *,char const *)\n RegisterClass(scfFactoryFunc,char const *,char const *,char const *,char const *)\n RegisterClass(scfFactoryFunc,char const *,char const *,char const *)\n RegisterClass(scfFactoryFunc,char const *,char const *)\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'iSCF_RegisterClass'.\n Possible C/C++ prototypes are:\n"" RegisterClass(iSCF *,char const *,char const *,char const *,char const *,char const *,char const *)\n"" RegisterClass(iSCF *,char const *,char const *,char const *,char const *,char const *)\n"" RegisterClass(iSCF *,char const *,char const *,char const *,char const *)\n"" RegisterClass(iSCF *,scfFactoryFunc,char const *,char const *,char const *,char const *)\n"" RegisterClass(iSCF *,scfFactoryFunc,char const *,char const *,char const *)\n"" RegisterClass(iSCF *,scfFactoryFunc,char const *,char const *)\n"); return NULL; } @@ -11343,7 +11346,7 @@ PyObject *resultobj = 0; iSCF *arg1 = (iSCF *) 0 ; char *arg2 = (char *) 0 ; - SwigValueWrapper<csRef<iStringArray > > result; + SwigValueWrapper< csRef<iStringArray > > result; void *argp1 = 0 ; int res1 = 0 ; int res2 ; @@ -11365,7 +11368,7 @@ arg2 = reinterpret_cast< char * >(buf2); result = (arg1)->QueryClassList((char const *)arg2); { - /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/ + /*@SWIG:./include/bindings/python/pythpre.i,119,TYPEMAP_OUT_csRef_BODY@*/ csRef<iStringArray> ref((csRef<iStringArray>&)result); /* explicit cast */ if (!ref.IsValid()) @@ -11520,7 +11523,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 4); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -11581,7 +11584,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'iSCF_ScanPluginsPath'.\n Possible C/C++ prototypes are:\n ScanPluginsPath(char const *,bool,char const *)\n ScanPluginsPath(char const *,bool)\n ScanPluginsPath(char const *)\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'iSCF_ScanPluginsPath'.\n Possible C/C++ prototypes are:\n"" ScanPluginsPath(iSCF *,char const *,bool,char const *)\n"" ScanPluginsPath(iSCF *,char const *,bool)\n"" ScanPluginsPath(iSCF *,char const *)\n"); return NULL; } @@ -11941,7 +11944,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 4); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -11985,7 +11988,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'scfRegisterStaticClass'.\n Possible C/C++ prototypes are:\n scfRegisterStaticClass(scfFactoryFunc,char const *,char const *,char const *)\n scfRegisterStaticClass(scfFactoryFunc,char const *,char const *)\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'scfRegisterStaticClass'.\n Possible C/C++ prototypes are:\n"" scfRegisterStaticClass(scfFactoryFunc,char const *,char const *,char const *)\n"" scfRegisterStaticClass(scfFactoryFunc,char const *,char const *)\n"); return NULL; } @@ -12071,7 +12074,7 @@ SWIGINTERN PyObject *_wrap_iDebugHelper_StateTest(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; iDebugHelper *arg1 = (iDebugHelper *) 0 ; - SwigValueWrapper<csPtr<iString > > result; + SwigValueWrapper< csPtr<iString > > result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; @@ -12084,7 +12087,7 @@ arg1 = reinterpret_cast< iDebugHelper * >(argp1); result = (arg1)->StateTest(); { - /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/ + /*@SWIG:./include/bindings/python/pythpre.i,119,TYPEMAP_OUT_csRef_BODY@*/ csRef<iString> ref((csPtr<iString>&)result); /* explicit cast */ if (!ref.IsValid()) @@ -12136,7 +12139,7 @@ SWIGINTERN PyObject *_wrap_iDebugHelper_Dump__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; iDebugHelper *arg1 = (iDebugHelper *) 0 ; - SwigValueWrapper<csPtr<iString > > result; + SwigValueWrapper< csPtr<iString > > result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; @@ -12149,7 +12152,7 @@ arg1 = reinterpret_cast< iDebugHelper * >(argp1); result = (arg1)->Dump(); { - /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/ + /*@SWIG:./include/bindings/python/pythpre.i,119,TYPEMAP_OUT_csRef_BODY@*/ csRef<iString> ref((csPtr<iString>&)result); /* explicit cast */ if (!ref.IsValid()) @@ -12203,7 +12206,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 2); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -12232,7 +12235,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'iDebugHelper_Dump'.\n Possible C/C++ prototypes are:\n Dump()\n Dump(iGraphics3D *)\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'iDebugHelper_Dump'.\n Possible C/C++ prototypes are:\n"" Dump(iDebugHelper *)\n"" Dump(iDebugHelper *,iGraphics3D *)\n"); return NULL; } @@ -12522,7 +12525,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 2); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -12552,7 +12555,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'iCommandLineParser_GetName'.\n Possible C/C++ prototypes are:\n GetName(size_t)\n GetName()\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'iCommandLineParser_GetName'.\n Possible C/C++ prototypes are:\n"" GetName(iCommandLineParser const *,size_t)\n"" GetName(iCommandLineParser const *)\n"); return NULL; } @@ -12742,7 +12745,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 4); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -12788,7 +12791,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'iCommandLineParser_ReplaceOption'.\n Possible C/C++ prototypes are:\n ReplaceOption(char const *,char const *,size_t)\n ReplaceOption(char const *,char const *)\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'iCommandLineParser_ReplaceOption'.\n Possible C/C++ prototypes are:\n"" ReplaceOption(iCommandLineParser *,char const *,char const *,size_t)\n"" ReplaceOption(iCommandLineParser *,char const *,char const *)\n"); return NULL; } @@ -12876,7 +12879,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 3); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -12914,7 +12917,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'iCommandLineParser_ReplaceName'.\n Possible C/C++ prototypes are:\n ReplaceName(char const *,size_t)\n ReplaceName(char const *)\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'iCommandLineParser_ReplaceName'.\n Possible C/C++ prototypes are:\n"" ReplaceName(iCommandLineParser *,char const *,size_t)\n"" ReplaceName(iCommandLineParser *,char const *)\n"); return NULL; } @@ -13002,7 +13005,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 3); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -13040,7 +13043,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'iCommandLineParser_GetBoolOption'.\n Possible C/C++ prototypes are:\n GetBoolOption(char const *,bool)\n GetBoolOption(char const *)\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'iCommandLineParser_GetBoolOption'.\n Possible C/C++ prototypes are:\n"" GetBoolOption(iCommandLineParser *,char const *,bool)\n"" GetBoolOption(iCommandLineParser *,char const *)\n"); return NULL; } @@ -13201,7 +13204,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 3); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -13263,7 +13266,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'iCommandLineParser_GetOption'.\n Possible C/C++ prototypes are:\n GetOption(char const *,size_t)\n GetOption(char const *)\n GetOption(size_t)\n GetOption()\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'iCommandLineParser_GetOption'.\n Possible C/C++ prototypes are:\n"" GetOption(iCommandLineParser const *,char const *,size_t)\n"" GetOption(iCommandLineParser const *,char const *)\n"" GetOption(iCommandLineParser const *,size_t)\n"" GetOption(iCommandLineParser const *)\n"); return NULL; } @@ -13575,7 +13578,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 3); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -13624,7 +13627,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_csColor'.\n Possible C/C++ prototypes are:\n csColor()\n csColor(float,float,float)\n csColor(float)\n csColor(csColor const &)\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_csColor'.\n Possible C/C++ prototypes are:\n"" csColor()\n"" csColor(float,float,float)\n"" csColor(float)\n"" csColor(csColor const &)\n"); return NULL; } @@ -13716,7 +13719,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 4); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -13762,7 +13765,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'csColor_Set'.\n Possible C/C++ prototypes are:\n Set(float,float,float)\n Set(csColor const &)\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'csColor_Set'.\n Possible C/C++ prototypes are:\n"" Set(csColor *,float,float,float)\n"" Set(csColor *,csColor const &)\n"); return NULL; } @@ -13895,7 +13898,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 2); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -13925,7 +13928,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'csColor_IsBlack'.\n Possible C/C++ prototypes are:\n IsBlack()\n IsBlack(float)\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'csColor_IsBlack'.\n Possible C/C++ prototypes are:\n"" IsBlack(csColor const *)\n"" IsBlack(csColor const *,float)\n"); return NULL; } @@ -14118,7 +14121,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 2); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -14152,7 +14155,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'csColor___imul__'.\n Possible C/C++ prototypes are:\n operator *=(float)\n operator *=(csColor const &)\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'csColor___imul__'.\n Possible C/C++ prototypes are:\n"" operator *=(csColor *,float)\n"" operator *=(csColor *,csColor const &)\n"); return NULL; } @@ -14688,7 +14691,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 4); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -14755,7 +14758,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_csColor4'.\n Possible C/C++ prototypes are:\n csColor4()\n csColor4(float,float,float,float)\n csColor4(float,float,float)\n csColor4(csColor const &)\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_csColor4'.\n Possible C/C++ prototypes are:\n"" csColor4()\n"" csColor4(float,float,float,float)\n"" csColor4(float,float,float)\n"" csColor4(csColor const &)\n"); return NULL; } @@ -14937,7 +14940,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 5); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -15029,7 +15032,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'csColor4_Set'.\n Possible C/C++ prototypes are:\n Set(csColor const &)\n Set(csColor4 const &)\n Set(float,float,float)\n Set(float,float,float,float)\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'csColor4_Set'.\n Possible C/C++ prototypes are:\n"" Set(csColor4 *,csColor const &)\n"" Set(csColor4 *,csColor4 const &)\n"" Set(csColor4 *,float,float,float)\n"" Set(csColor4 *,float,float,float,float)\n"); return NULL; } @@ -15114,7 +15117,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 2); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -15146,7 +15149,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'csColor4_assign'.\n Possible C/C++ prototypes are:\n operator =(csColor4 const &)\n operator =(csColor const &)\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'csColor4_assign'.\n Possible C/C++ prototypes are:\n"" operator =(csColor4 *,csColor4 const &)\n"" operator =(csColor4 *,csColor const &)\n"); return NULL; } @@ -15265,7 +15268,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 2); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -15297,7 +15300,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'csColor4___iadd__'.\n Possible C/C++ prototypes are:\n operator +=(csColor4 const &)\n operator +=(csColor const &)\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'csColor4___iadd__'.\n Possible C/C++ prototypes are:\n"" operator +=(csColor4 *,csColor4 const &)\n"" operator +=(csColor4 *,csColor const &)\n"); return NULL; } @@ -15382,7 +15385,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 2); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -15414,7 +15417,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'csColor4___isub__'.\n Possible C/C++ prototypes are:\n operator -=(csColor4 const &)\n operator -=(csColor const &)\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'csColor4___isub__'.\n Possible C/C++ prototypes are:\n"" operator -=(csColor4 *,csColor4 const &)\n"" operator -=(csColor4 *,csColor const &)\n"); return NULL; } @@ -15573,7 +15576,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 2); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -15602,7 +15605,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'csCommandLineHelper_Help'.\n Possible C/C++ prototypes are:\n Help(iObjectRegistry *,iCommandLineParser *)\n csCommandLineHelper::Help(iObjectRegistry *)\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'csCommandLineHelper_Help'.\n Possible C/C++ prototypes are:\n"" Help(iObjectRegistry *,iCommandLineParser *)\n"" csCommandLineHelper::Help(iObjectRegistry *)\n"); return NULL; } @@ -15666,7 +15669,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 2); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -15695,7 +15698,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'csCommandLineHelper_CheckHelp'.\n Possible C/C++ prototypes are:\n CheckHelp(iObjectRegistry *,iCommandLineParser *)\n csCommandLineHelper::CheckHelp(iObjectRegistry *)\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'csCommandLineHelper_CheckHelp'.\n Possible C/C++ prototypes are:\n"" CheckHelp(iObjectRegistry *,iCommandLineParser *)\n"" csCommandLineHelper::CheckHelp(iObjectRegistry *)\n"); return NULL; } @@ -15783,7 +15786,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 1); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -15802,7 +15805,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_csFlags'.\n Possible C/C++ prototypes are:\n csFlags(uint32)\n csFlags()\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_csFlags'.\n Possible C/C++ prototypes are:\n"" csFlags(uint32)\n"" csFlags()\n"); return NULL; } @@ -15942,7 +15945,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 3); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -15984,7 +15987,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'csFlags_Set'.\n Possible C/C++ prototypes are:\n Set(uint32)\n Set(uint32,uint32)\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'csFlags_Set'.\n Possible C/C++ prototypes are:\n"" Set(csFlags *,uint32)\n"" Set(csFlags *,uint32,uint32)\n"); return NULL; } @@ -16269,7 +16272,7 @@ PyObject *resultobj = 0; iStringSetBase<CS::StringSetTag::General > *arg1 = (iStringSetBase<CS::StringSetTag::General > *) 0 ; char *arg2 = (char *) 0 ; - SwigValueWrapper<CS::StringID<CS::StringSetTag::General > > result; + SwigValueWrapper< CS::StringID<CS::StringSetTag::General > > result; void *argp1 = 0 ; int res1 = 0 ; int res2 ; @@ -16305,7 +16308,7 @@ SWIGINTERN PyObject *_wrap_iGeneralStringSetBase_Request__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; iStringSetBase<CS::StringSetTag::General > *arg1 = (iStringSetBase<CS::StringSetTag::General > *) 0 ; - SwigValueWrapper<CS::StringID<CS::StringSetTag::General > > arg2 ; + SwigValueWrapper< CS::StringID<CS::StringSetTag::General > > arg2 ; char *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; @@ -16335,7 +16338,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 2); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -16368,7 +16371,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'iGeneralStringSetBase_Request'.\n Possible C/C++ prototypes are:\n Request(char const *)\n Request(CS::StringID<CS::StringSetTag::General >)\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'iGeneralStringSetBase_Request'.\n Possible C/C++ prototypes are:\n"" Request(iStringSetBase<CS::StringSetTag::General > *,char const *)\n"" Request(iStringSetBase<CS::StringSetTag::General > const *,CS::StringID<CS::StringSetTag::General >)\n"); return NULL; } @@ -16410,7 +16413,7 @@ SWIGINTERN PyObject *_wrap_iGeneralStringSetBase_Contains__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; iStringSetBase<CS::StringSetTag::General > *arg1 = (iStringSetBase<CS::StringSetTag::General > *) 0 ; - SwigValueWrapper<CS::StringID<CS::StringSetTag::General > > arg2 ; + SwigValueWrapper< CS::StringID<CS::StringSetTag::General > > arg2 ; bool result; void *argp1 = 0 ; int res1 = 0 ; @@ -16440,7 +16443,7 @@ int ii; if (!PyTuple_Check(args)) SWIG_fail; - argc = PyObject_Length(args); + argc = (int)PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 2); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } @@ -16473,7 +16476,7 @@ } fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'iGeneralStringSetBase_Contains'.\n Possible C/C++ prototypes are:\n Contains(char const *)\n Contains(CS::StringID<CS::StringSetTag::General >)\n"); + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'iGeneralStringSetBase_Contains'.\n Possible C/C++ prototypes are:\n"" Contains(iS... [truncated message content] |
From: <re...@us...> - 2008-08-28 15:26:03
|
Revision: 30979 http://crystal.svn.sourceforge.net/crystal/?rev=30979&view=rev Author: res2002 Date: 2008-08-28 15:25:59 +0000 (Thu, 28 Aug 2008) Log Message: ----------- Move vfs file list generation to VFS Jamfile Modified Paths: -------------- CS/trunk/Jamfile.in CS/trunk/plugins/filesys/vfs/Jamfile Modified: CS/trunk/Jamfile.in =================================================================== --- CS/trunk/Jamfile.in 2008-08-28 02:52:53 UTC (rev 30978) +++ CS/trunk/Jamfile.in 2008-08-28 15:25:59 UTC (rev 30979) @@ -96,6 +96,3 @@ local SUBDIR = [ ConcatDirs $(BUILDTOP) include ] ; # Temporary for Recurse. Recurse InstallHeader : .h ; } - -# Create a file list for vfs.cfg -FileListEntriesData vfs.cfg : : vfs ; Modified: CS/trunk/plugins/filesys/vfs/Jamfile =================================================================== --- CS/trunk/plugins/filesys/vfs/Jamfile 2008-08-28 02:52:53 UTC (rev 30978) +++ CS/trunk/plugins/filesys/vfs/Jamfile 2008-08-28 15:25:59 UTC (rev 30979) @@ -32,3 +32,7 @@ Depends install_config : [ DoInstall $(VFS_CONFIGFILE:G=config) : $(appconfdir) ] ; } + +SubDir TOP ; +# Create a file list for vfs.cfg +FileListEntriesData vfs.cfg : : vfs ; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <re...@us...> - 2008-09-02 12:21:48
|
Revision: 30982 http://crystal.svn.sourceforge.net/crystal/?rev=30982&view=rev Author: res2002 Date: 2008-09-02 12:21:43 +0000 (Tue, 02 Sep 2008) Log Message: ----------- Fix shader-old and include Jamfiles to properly put files at the base directory into the filelist they create. Modified Paths: -------------- CS/trunk/data/shader-old/Jamfile CS/trunk/include/Jamfile Modified: CS/trunk/data/shader-old/Jamfile =================================================================== --- CS/trunk/data/shader-old/Jamfile 2008-08-30 12:25:53 UTC (rev 30981) +++ CS/trunk/data/shader-old/Jamfile 2008-09-02 12:21:43 UTC (rev 30982) @@ -6,7 +6,9 @@ } rule FilelistEntryShaderOld { - local file_gristed = $(1:G=$(2:J=!)) ; + local listdir = $(2:E=.) ; + + local file_gristed = $(1:G=$(listdir:J=!)) ; FileListEntriesData $(file_gristed) : shader-old $(2) : data-runtime ; } Modified: CS/trunk/include/Jamfile =================================================================== --- CS/trunk/include/Jamfile 2008-08-30 12:25:53 UTC (rev 30981) +++ CS/trunk/include/Jamfile 2008-09-02 12:21:43 UTC (rev 30982) @@ -9,7 +9,8 @@ { if "$(2)" != "" || $(1) != "csconfig.h" { - local file_gristed = $(1:G=$(2:J=!)) ; + local listdir = $(2:E=.) ; + local file_gristed = $(1:G=$(listdir:J=!)) ; FileListEntriesData $(file_gristed) : $(2) : headers ; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <re...@us...> - 2008-09-02 12:29:40
|
Revision: 30984 http://crystal.svn.sourceforge.net/crystal/?rev=30984&view=rev Author: res2002 Date: 2008-09-02 12:29:36 +0000 (Tue, 02 Sep 2008) Log Message: ----------- Change plugin search path to also contain "<compiler+version>/bin". Simplifies parallel installation of CS builds for different compilers (expected on Win32). Idea by andres. Modified Paths: -------------- CS/trunk/Jamfile.in CS/trunk/libs/Jamfile CS/trunk/libs/csutil/syspath.cpp Modified: CS/trunk/Jamfile.in =================================================================== --- CS/trunk/Jamfile.in 2008-09-02 12:28:04 UTC (rev 30983) +++ CS/trunk/Jamfile.in 2008-09-02 12:29:36 UTC (rev 30984) @@ -73,6 +73,17 @@ NotFile drivers3d ; Depends drivers3d : renderers ; +# Create a string combining compiler type and version. +# Can be used for ABI identification +if $(COMPILER.C++.VERSION_LIST) +{ + CS_COMPILER_NAME_AND_VERSION = "$(COMPILER.C++.TYPE)_$(COMPILER.C++.VERSION_LIST[1]).$(COMPILER.C++.VERSION_LIST[2])" ; +} +else +{ + CS_COMPILER_NAME_AND_VERSION = "$(COMPILER.C++.TYPE)" ; +} + # Process subdirectories. NOTE: Unfortunately, Jam rules are presently # order-sensitive; Library targets must be seen by Jam before Application and # Plugin targets, thus ordering of these SubInclude invocations is dictated by Modified: CS/trunk/libs/Jamfile =================================================================== --- CS/trunk/libs/Jamfile 2008-09-02 12:28:04 UTC (rev 30983) +++ CS/trunk/libs/Jamfile 2008-09-02 12:29:36 UTC (rev 30984) @@ -96,11 +96,19 @@ Library crystalspace : $(CSLIB.SOURCES) : shared notest ; UnitTest crystalspace : $(CSLIB.TESTS) ; CFlags crystalspace : [ FDefines CS_CRYSTALSPACE_LIB ] ; -MsvcDefine crystalspace : CS_CRYSTALSPACE_LIB $(CSLIB.MSVC_DEFINES) ; +MsvcDefine crystalspace : + CS_CRYSTALSPACE_LIB + "CS_COMPILER_NAME_AND_VERSION=\"VC_$(MSVC_VERSION)\"" + $(CSLIB.MSVC_DEFINES) ; if $(CSLIB.CFLAGS) { CFlags crystalspace : $(CSLIB.CFLAGS) ; } +if [ Property build : projgen ] != msvc +{ + CFlags crystalspace : + [ FDefines "CS_COMPILER_NAME_AND_VERSION=\'\"$(CS_COMPILER_NAME_AND_VERSION)\"\'" ] ; +} if $(CSLIB.DEPENDS) { LibDepends crystalspace : $(CSLIB.DEPENDS) ; Modified: CS/trunk/libs/csutil/syspath.cpp =================================================================== --- CS/trunk/libs/csutil/syspath.cpp 2008-09-02 12:28:04 UTC (rev 30983) +++ CS/trunk/libs/csutil/syspath.cpp 2008-09-02 12:29:36 UTC (rev 30984) @@ -257,6 +257,9 @@ "lib/" CS_PACKAGE_NAME, CS_PACKAGE_NAME "/lib", CS_PACKAGE_NAME, +#ifdef CS_COMPILER_NAME_AND_VERSION + CS_COMPILER_NAME_AND_VERSION "/bin", +#endif "", 0}; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jo...@us...> - 2008-09-03 13:47:04
|
Revision: 30997 http://crystal.svn.sourceforge.net/crystal/?rev=30997&view=rev Author: jorrit Date: 2008-09-03 13:46:56 +0000 (Wed, 03 Sep 2008) Log Message: ----------- - Added Frankie model from Apricot. This is a good testing model for animesh. - Added 'f' key to walktest so that you can create Frankie on any spot you want. I also tried to get it animated but that didn't work out. Modified Paths: -------------- CS/trunk/apps/walktest/walkcmd.cpp CS/trunk/data/config-app/autoexec.cfg CS/trunk/vfs.cfg Added Paths: ----------- CS/trunk/data/frankie/ CS/trunk/data/frankie/frankie.xml CS/trunk/data/frankie/frankie_col.png CS/trunk/data/frankie/frankie_nor.png CS/trunk/data/frankie/frankie_spec.png CS/trunk/data/frankie/franky_frankie CS/trunk/data/frankie/skelfrankie_rig Modified: CS/trunk/apps/walktest/walkcmd.cpp =================================================================== --- CS/trunk/apps/walktest/walkcmd.cpp 2008-09-03 12:27:12 UTC (rev 30996) +++ CS/trunk/apps/walktest/walkcmd.cpp 2008-09-03 13:46:56 UTC (rev 30997) @@ -933,6 +933,7 @@ 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(" frankie"); CONPRI("Debugging:"); CONPRI(" zbuf debug0 debug1 debug2 palette bugplug"); CONPRI(" db_boxshow db_boxcam1 db_boxcam2 db_boxsize1 db_boxsize2"); @@ -2094,6 +2095,48 @@ } } } + else if (!csStrCaseCmp (cmd, "frankie")) + { + RECORD_ARGS (cmd, arg); + csRef<iMeshFactoryWrapper> meshfact = Sys->Engine->FindMeshFactory ("franky_frankie"); + if (!meshfact) + { + csLoadResult rc = Sys->LevelLoader->Load ("/lib/frankie/frankie.xml"); + if (!rc.success) + Sys->Report (CS_REPORTER_SEVERITY_ERROR, "Can't load frankie!"); + meshfact = Sys->Engine->FindMeshFactory ("franky_frankie"); + } + if (meshfact) + { + csRef<iMeshWrapper> sprite = Sys->Engine->CreateMeshWrapper (meshfact, "Frankie", + Sys->view->GetCamera ()->GetSector (), + Sys->view->GetCamera ()->GetTransform ().GetOrigin ()); + csRef<iAnimatedMesh> animesh = scfQueryInterface<iAnimatedMesh> (sprite->GetMeshObject ()); + iSkeletonAnimNode2* root = animesh->GetSkeleton ()->GetAnimationPacket ()->GetAnimationRoot (); + csRef<iSkeletonAnimNode2> anim; + csRef<iSkeletonFSMNode2> fsm = scfQueryInterface<iSkeletonFSMNode2> (root); + if (fsm) + { + root->Play(); + csRef<iSkeletonFSMNodeFactory2> fsmfact = scfQueryInterface<iSkeletonFSMNodeFactory2>(root->GetFactory()); + CS::Animation::StateID wanted_state = fsmfact->FindState("Frankie_Walk"); + if (wanted_state != CS::Animation::InvalidStateID) + if (wanted_state != fsm->GetCurrentState()) + fsm->SwitchToState(wanted_state); + } + else + { + anim = root->FindNode("Frankie_Walk"); + if (anim && !anim->IsActive()) + { + root->Stop(); + csRef<iSkeletonAnimationNodeFactory2> animfact = scfQueryInterface<iSkeletonAnimationNodeFactory2>(anim->GetFactory()); + animfact->SetCyclic(true); + anim->Play(); + } + } + } + } else if (!csStrCaseCmp (cmd, "addmbot")) { RECORD_ARGS (cmd, arg); Modified: CS/trunk/data/config-app/autoexec.cfg =================================================================== --- CS/trunk/data/config-app/autoexec.cfg 2008-09-03 12:27:12 UTC (rev 30996) +++ CS/trunk/data/config-app/autoexec.cfg 2008-09-03 13:46:56 UTC (rev 30997) @@ -12,6 +12,7 @@ bind l do_logo toggle bind p perftest bind q quit +bind f frankie bind esc quit bind r record bind shift-r play Added: CS/trunk/data/frankie/frankie.xml =================================================================== --- CS/trunk/data/frankie/frankie.xml (rev 0) +++ CS/trunk/data/frankie/frankie.xml 2008-09-03 13:46:56 UTC (rev 30997) @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="UTF-8"?> +<library> + <plugins> + <plugin name="skeletonfact">crystalspace.mesh.loader.factory.skeleton</plugin> + <plugin name="animesh">crystalspace.mesh.loader.animesh</plugin> + <plugin name="animeshfact">crystalspace.mesh.loader.factory.animesh</plugin> + </plugins> + <!-- + <shaders> + <shader> + <file>/shader/reflect/water_plane.xml</file> + </shader> + <shader> + <file>/shader/apricot/terrain_blend.xml</file> + </shader> + <shader> + <file>/shader/speculartex/speculartex.xml</file> + </shader> + <shader> + <file>/shader/postproc/hdr/simple-log.xml</file> + </shader> + <shader> + <file>/shader/lighting/lighting_default_binalpha.xml</file> + </shader> + <shader> + <file>/shader/lighting/lighting_default_shadowmap_binalpha.xml</file> + </shader> + </shaders> + --> + <textures> + <texture name="frankie_col"> + <file>/lib/frankie/frankie_col.png</file> + </texture> + <texture name="BUMPfrankie_nor"> + <file>/lib/frankie/frankie_nor.png</file> + <class>normalmap</class> + </texture> + <texture name="frankie_spec"> + <file>/lib/frankie/frankie_spec.png</file> + </texture> + </textures> + <materials> + <material name="frankie_skin"> + <texture>frankie_col</texture> + <shadervar type="texture" name="tex normal">BUMPfrankie_nor</shadervar> + <shadervar type="texture" name="tex specular">frankie_spec</shadervar> + </material> + </materials> + <library>/lib/frankie/skelfrankie_rig</library> + <library>/lib/frankie/franky_frankie</library> +</library> + Property changes on: CS/trunk/data/frankie/frankie.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Property changes on: CS/trunk/data/frankie/frankie_col.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: CS/trunk/data/frankie/frankie_nor.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: CS/trunk/data/frankie/frankie_spec.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: CS/trunk/data/frankie/franky_frankie =================================================================== --- CS/trunk/data/frankie/franky_frankie (rev 0) +++ CS/trunk/data/frankie/franky_frankie 2008-09-03 13:46:56 UTC (rev 30997) @@ -0,0 +1,40468 @@ +<library> + <meshfact name='franky_frankie'> + <plugin>crystalspace.mesh.loader.factory.animesh</plugin> + <params> + <material>frankie_skin</material> + <vertex type="float" components="3"> + <e c0="-0.10825703" c2="-0.11894334" c1="0.42792189" /> + <e c0="-0.10144710" c2="-0.11942758" c1="0.40130565" /> + <e c0="-0.09100120" c2="-0.10041446" c1="0.40696031" /> + <e c0="-0.09621327" c2="-0.10004387" c1="0.42733151" /> + <e c0="-0.11214851" c2="-0.14101406" c1="0.42849639" /> + <e c0="-0.10477753" c2="-0.14153822" c1="0.39968720" /> + <e c0="-0.10729541" c2="-0.16289591" c1="0.42896757" /> + <e c0="-0.10048552" c2="-0.16338017" c1="0.40235132" /> + <e c0="-0.09443653" c2="-0.18125766" c1="0.42926368" /> + <e c0="-0.08922446" c2="-0.18162825" c1="0.40889248" /> + <e c0="-0.07552952" c2="-0.19330376" c1="0.42933965" /> + <e c0="-0.07270877" c2="-0.19350433" c1="0.41831484" /> + <e c0="-0.05345279" c2="-0.19720047" c1="0.42918393" /> + <e c0="-0.06475402" c2="-0.19352400" c1="0.41017455" /> + <e c0="-0.07452600" c2="-0.18166452" c1="0.39385122" /> + <e c0="-0.08128105" c2="-0.16342758" c1="0.38269886" /> + <e c0="-0.08399077" c2="-0.14158954" c1="0.37841550" /> + <e c0="-0.08224261" c2="-0.11947501" c1="0.38165316" /> + <e c0="-0.07630275" c2="-0.10045079" c1="0.39191905" /> + <e c0="-0.05578938" c2="-0.11907291" c1="0.37423033" /> + <e c0="-0.05605631" c2="-0.10014298" c1="0.38623774" /> + <e c0="-0.05535799" c2="-0.14115428" c1="0.37038115" /> + <e c0="-0.05482782" c2="-0.16302546" c1="0.37527603" /> + <e c0="-0.05427959" c2="-0.18135678" c1="0.38816997" /> + <e c0="-0.05379674" c2="-0.19335746" c1="0.40709990" /> + <e c0="-0.04277290" c2="-0.19304930" c1="0.40991479" /> + <e c0="-0.03391022" c2="-0.18078738" c1="0.39337128" /> + <e c0="-0.02821394" c2="-0.16228156" c1="0.38207179" /> + <e c0="-0.02655135" c2="-0.14034908" c1="0.37773678" /> + <e c0="-0.02917551" c2="-0.11832898" c1="0.38102615" /> + <e c0="-0.03568694" c2="-0.09957363" c1="0.39143911" /> + <e c0="-0.00953217" c2="-0.11744258" c1="0.40021953" /> + <e c0="-0.02065257" c2="-0.09889521" c1="0.40612903" /> + <e c0="-0.00528957" c2="-0.13938965" c1="0.39851162" /> + <e c0="-0.00857062" c2="-0.16139518" c1="0.40126523" /> + <e c0="-0.01887585" c2="-0.18010899" c1="0.40806121" /> + <e c0="-0.03463636" c2="-0.19268214" c1="0.41786495" /> + <e c0="-0.03156731" c2="-0.19235437" c1="0.42882019" /> + <e c0="-0.01320496" c2="-0.17950331" c1="0.42830381" /> + <e c0="-0.00116124" c2="-0.16060384" c1="0.42771345" /> + <e c0="0.00273030" c2="-0.13853313" c1="0.42713892" /> + <e c0="-0.00291277" c2="-0.11666834" c1="0.42667711" /> + <e c0="-0.01498169" c2="-0.09828957" c1="0.42637163" /> + <e c0="-0.00893269" c2="-0.11616702" c1="0.45328400" /> + <e c0="-0.02019375" c2="-0.09791895" c1="0.44674286" /> + <e c0="-0.00464069" c2="-0.13800897" c1="0.45594814" /> + <e c0="-0.00797112" c2="-0.16011958" c1="0.45432970" /> + <e c0="-0.01841703" c2="-0.17913269" c1="0.44867504" /> + <e c0="-0.03438805" c2="-0.19215380" c1="0.43984500" /> + <e c0="-0.04234281" c2="-0.19213416" c1="0.44798529" /> + <e c0="-0.03311550" c2="-0.17909642" c1="0.46371630" /> + <e c0="-0.02717561" c2="-0.16007217" c1="0.47398216" /> + <e c0="-0.02542746" c2="-0.13795765" c1="0.47721982" /> + <e c0="-0.02813717" c2="-0.11611958" c1="0.47293648" /> + <e c0="-0.03489222" c2="-0.09788262" c1="0.46178412" /> + <e c0="-0.05459041" c2="-0.11652174" c1="0.48035932" /> + <e c0="-0.05513865" c2="-0.09819043" c1="0.46746543" /> + <e c0="-0.05406024" c2="-0.13839291" c1="0.48525420" /> + <e c0="-0.05362885" c2="-0.16047429" c1="0.48140502" /> + <e c0="-0.05336192" c2="-0.17940416" c1="0.46939760" /> + <e c0="-0.05330011" c2="-0.19230070" c1="0.45105994" /> + <e c0="-0.06432393" c2="-0.19260883" c1="0.44824505" /> + <e c0="-0.07373129" c2="-0.17997356" c1="0.46419623" /> + <e c0="-0.08024271" c2="-0.16121819" c1="0.47460923" /> + <e c0="-0.08286688" c2="-0.13919811" c1="0.47789857" /> + <e c0="-0.08120428" c2="-0.11726565" c1="0.47356355" /> + <e c0="-0.07550800" c2="-0.09875977" c1="0.46226406" /> + <e c0="-0.10084759" c2="-0.11815201" c1="0.45437011" /> + <e c0="-0.09054238" c2="-0.09943817" c1="0.44757411" /> + <e c0="-0.10412866" c2="-0.14015754" c1="0.45712373" /> + <e c0="-0.09988603" c2="-0.16210457" c1="0.45541579" /> + <e c0="-0.08876564" c2="-0.18065198" c1="0.44950628" /> + <e c0="-0.07246044" c2="-0.19297596" c1="0.44029489" /> + <e c0="0.10670906" c2="-0.11755863" c1="0.42743587" /> + <e c0="0.09425395" c2="-0.09891835" c1="0.42743000" /> + <e c0="0.08881881" c2="-0.09891935" c1="0.40711382" /> + <e c0="0.09960769" c2="-0.11756001" c1="0.40089148" /> + <e c0="0.11108267" c2="-0.13954638" c1="0.42743874" /> + <e c0="0.10339625" c2="-0.13954787" c1="0.39870730" /> + <e c0="0.10670905" c2="-0.16153415" c1="0.42743814" /> + <e c0="0.09960772" c2="-0.16153552" c1="0.40089375" /> + <e c0="0.09425400" c2="-0.18017449" c1="0.42743418" /> + <e c0="0.08881887" c2="-0.18017553" c1="0.40711796" /> + <e c0="0.07267222" c2="-0.19263014" c1="0.41643241" /> + <e c0="0.07561370" c2="-0.19262957" c1="0.42742747" /> + <e c0="0.05345279" c2="-0.19720047" c1="0.42918393" /> + <e c0="0.06462731" c2="-0.19263058" c1="0.40838119" /> + <e c0="0.07395382" c2="-0.18017628" c1="0.39224127" /> + <e c0="0.08018559" c2="-0.16153650" c1="0.38145629" /> + <e c0="0.08237389" c2="-0.13954897" c1="0.37766835" /> + <e c0="0.08018556" c2="-0.11756100" c1="0.38145405" /> + <e c0="0.07395376" c2="-0.09892017" c1="0.39223710" /> + <e c0="0.05364185" c2="-0.09892042" c1="0.38678586" /> + <e c0="0.05364677" c2="-0.11756142" c1="0.37433177" /> + <e c0="0.05364851" c2="-0.13954939" c1="0.36995932" /> + <e c0="0.05364680" c2="-0.16153689" c1="0.37433404" /> + <e c0="0.05364193" c2="-0.18017661" c1="0.38679010" /> + <e c0="0.05363459" c2="-0.19263073" c1="0.40543106" /> + <e c0="0.04263954" c2="-0.19263058" c1="0.40837252" /> + <e c0="0.03332572" c2="-0.18017631" c1="0.39222527" /> + <e c0="0.02710240" c2="-0.16153656" c1="0.38143539" /> + <e c0="0.02491706" c2="-0.13954900" c1="0.37764573" /> + <e c0="0.02710237" c2="-0.11756106" c1="0.38143316" /> + <e c0="0.03332566" c2="-0.09892020" c1="0.39222112" /> + <e c0="0.01844888" c2="-0.09891943" c1="0.40708610" /> + <e c0="0.00766493" c2="-0.11756007" c1="0.40085530" /> + <e c0="0.00387814" c2="-0.13954793" c1="0.39866811" /> + <e c0="0.00766496" c2="-0.16153558" c1="0.40085754" /> + <e c0="0.01844894" c2="-0.18017556" c1="0.40709025" /> + <e c0="0.03458828" c2="-0.19263019" c1="0.41641742" /> + <e c0="0.03163816" c2="-0.19262963" c1="0.42741016" /> + <e c0="0.01299781" c2="-0.18017452" c1="0.42740220" /> + <e c0="0.00054273" c2="-0.16153424" c1="0.42739633" /> + <e c0="-0.00383093" c2="-0.13954647" c1="0.42739347" /> + <e c0="0.00133291" c2="-0.11755872" c1="0.42739439" /> + <e c0="0.01299776" c2="-0.09891838" c1="0.42739803" /> + <e c0="0.01843288" c2="-0.09891735" c1="0.44771424" /> + <e c0="0.00764402" c2="-0.11755737" c1="0.45393845" /> + <e c0="0.00385551" c2="-0.13954501" c1="0.45612490" /> + <e c0="0.00764405" c2="-0.16153287" c1="0.45394072" /> + <e c0="0.01843294" c2="-0.18017348" c1="0.44771838" /> + <e c0="0.03457962" c2="-0.19262906" c1="0.43840522" /> + <e c0="0.04262454" c2="-0.19262865" c1="0.44645646" /> + <e c0="0.03329800" c2="-0.18017273" c1="0.46259511" /> + <e c0="0.02706620" c2="-0.16153186" c1="0.47337815" /> + <e c0="0.02487787" c2="-0.13954391" c1="0.47716385" /> + <e c0="0.02706617" c2="-0.11755634" c1="0.47337592" /> + <e c0="0.03329794" c2="-0.09891655" c1="0.46259093" /> + <e c0="0.05360985" c2="-0.09891630" c1="0.46804219" /> + <e c0="0.05360496" c2="-0.11755597" c1="0.48049816" /> + <e c0="0.05360326" c2="-0.13954349" c1="0.48487288" /> + <e c0="0.05360500" c2="-0.16153147" c1="0.48050043" /> + <e c0="0.05360991" c2="-0.18017241" c1="0.46804637" /> + <e c0="0.05361728" c2="-0.19262847" c1="0.44940659" /> + <e c0="0.06461232" c2="-0.19262859" c1="0.44646510" /> + <e c0="0.07392611" c2="-0.18017270" c1="0.46261108" /> + <e c0="0.08014938" c2="-0.16153180" c1="0.47339907" /> + <e c0="0.08233470" c2="-0.13954388" c1="0.47718647" /> + <e c0="0.08014935" c2="-0.11755633" c1="0.47339681" /> + <e c0="0.07392603" c2="-0.09891655" c1="0.46260694" /> + <e c0="0.08880283" c2="-0.09891727" c1="0.44774196" /> + <e c0="0.09958678" c2="-0.11755728" c1="0.45397466" /> + <e c0="0.10337363" c2="-0.13954492" c1="0.45616409" /> + <e c0="0.09958681" c2="-0.16153278" c1="0.45397690" /> + <e c0="0.08880288" c2="-0.18017345" c1="0.44774610" /> + <e c0="0.07266356" c2="-0.19262900" c1="0.43842024" /> + <e c0="0.29406947" c2="-0.07701232" c1="0.40187898" /> + <e c0="0.28896684" c2="-0.08216195" c1="0.40331334" /> + <e c0="0.29636908" c2="-0.07957595" c1="0.40538430" /> + <e c0="0.29636908" c2="-0.07957595" c1="0.40538430" /> + <e c0="0.28896684" c2="-0.08216195" c1="0.40331334" /> + <e c0="0.29168773" c2="-0.08030118" c1="0.41430625" /> + <e c0="0.06995625" c2="-0.08369166" c1="0.53933340" /> + <e c0="0.05143054" c2="-0.06818187" c1="0.53408748" /> + <e c0="0.05290820" c2="-0.05241156" c1="0.50606364" /> + <e c0="0.09322556" c2="-0.06513590" c1="0.49749336" /> + <e c0="0.00000000" c2="-0.06729694" c1="0.54322702" /> + <e c0="0.02235175" c2="-0.06681996" c1="0.54119891" /> + <e c0="0.02130515" c2="-0.09658608" c1="0.55437982" /> + <e c0="0.00000000" c2="-0.09897763" c1="0.55635428" /> + <e c0="0.00000000" c2="-0.04330528" c1="0.51751298" /> + <e c0="0.02339836" c2="-0.04494187" c1="0.51483792" /> + <e c0="0.04995293" c2="-0.09077388" c1="0.54692626" /> + <e c0="0.10522946" c2="-0.04656400" c1="0.41403896" /> + <e c0="0.10032782" c2="-0.06878747" c1="0.38517782" /> + <e c0="0.09238681" c2="-0.08047641" c1="0.38504496" /> + <e c0="0.09204259" c2="-0.05466964" c1="0.42151451" /> + <e c0="0.10101244" c2="-0.06934829" c1="0.42342997" /> + <e c0="0.09204259" c2="-0.05466964" c1="0.42151451" /> + <e c0="0.09238681" c2="-0.08047641" c1="0.38504496" /> + <e c0="0.09297629" c2="-0.09368074" c1="0.37740642" /> + <e c0="0.08507941" c2="-0.00668785" c1="0.44126135" /> + <e c0="0.08044680" c2="-0.03789325" c1="0.45131192" /> + <e c0="0.04985091" c2="-0.01696580" c1="0.45760313" /> + <e c0="0.04853451" c2="0.00522133" c1="0.44403952" /> + <e c0="0.00000000" c2="-0.20577374" c1="0.34515181" /> + <e c0="0.00000000" c2="-0.21264696" c1="0.32948077" /> + <e c0="0.01353587" c2="-0.20942574" c1="0.33525503" /> + <e c0="0.00876779" c2="-0.20998647" c1="0.34751308" /> + <e c0="0.02052249" c2="-0.19099393" c1="0.34247848" /> + <e c0="0.01953967" c2="-0.19163489" c1="0.34197474" /> + <e c0="0.01519407" c2="-0.17633586" c1="0.33226115" /> + <e c0="0.02270522" c2="-0.17250412" c1="0.33413783" /> + <e c0="0.02099510" c2="-0.19156729" c1="0.34207758" /> + <e c0="0.02516575" c2="-0.17883014" c1="0.33192015" /> + <e c0="0.02020814" c2="-0.19231483" c1="0.34151870" /> + <e c0="0.01912315" c2="-0.18695792" c1="0.32826880" /> + <e c0="0.01968904" c2="-0.19225099" c1="0.34091800" /> + <e c0="0.01619686" c2="-0.18857964" c1="0.32752034" /> + <e c0="0.01908912" c2="-0.19204777" c1="0.34126347" /> + <e c0="0.01159771" c2="-0.18559935" c1="0.32901049" /> + <e c0="0.11469468" c2="-0.07046576" c1="0.02201137" /> + <e c0="0.09354326" c2="-0.06476425" c1="0.02916288" /> + <e c0="0.09681770" c2="-0.05073887" c1="0.01838821" /> + <e c0="0.08641836" c2="-0.05344249" c1="0.02390280" /> + <e c0="0.08286014" c2="-0.07231982" c1="0.02949122" /> + <e c0="0.06975427" c2="-0.07169825" c1="0.01999536" /> + <e c0="0.07622232" c2="-0.06174036" c1="0.02402869" /> + <e c0="0.07760771" c2="-0.09145777" c1="0.02113250" /> + <e c0="0.06969358" c2="0.04674290" c1="0.11413166" /> + <e c0="0.03536829" c2="0.07736258" c1="0.11511016" /> + <e c0="0.02842731" c2="0.05070820" c1="0.09495342" /> + <e c0="0.04833497" c2="0.04771292" c1="0.09443632" /> + <e c0="0.02148629" c2="0.02405383" c1="0.07479665" /> + <e c0="0.03376098" c2="0.02377687" c1="0.07537329" /> + <e c0="0.00000000" c2="0.05151212" c1="0.08260861" /> + <e c0="0.00000000" c2="0.02496483" c1="0.07312828" /> + <e c0="0.08044680" c2="-0.03789325" c1="0.45131192" /> + <e c0="0.09595868" c2="-0.06753476" c1="0.44880593" /> + <e c0="0.02080292" c2="-0.22869414" c1="0.50337666" /> + <e c0="0.00000000" c2="-0.24037287" c1="0.50515729" /> + <e c0="0.00000000" c2="-0.21672949" c1="0.53072733" /> + <e c0="0.01971550" c2="-0.20846366" c1="0.53091586" /> + <e c0="0.04715945" c2="-0.19322445" c1="0.53164619" /> + <e c0="0.04695965" c2="-0.21179968" c1="0.51144326" /> + <e c0="0.02701319" c2="-0.24455428" c1="0.49189314" /> + <e c0="0.05758650" c2="-0.22904837" c1="0.50244951" /> + <e c0="0.04390586" c2="-0.24836236" c1="0.47059426" /> + <e c0="0.06831092" c2="-0.23426920" c1="0.47764024" /> + <e c0="0.03735340" c2="-0.23507565" c1="0.44650763" /> + <e c0="0.06435951" c2="-0.21867632" c1="0.45609298" /> + <e c0="0.03483385" c2="-0.22539401" c1="0.43682307" /> + <e c0="0.06028540" c2="-0.21412837" c1="0.45534527" /> + <e c0="0.03754145" c2="-0.21647125" c1="0.43803325" /> + <e c0="0.05815990" c2="-0.20779663" c1="0.45615265" /> + <e c0="0.04186781" c2="-0.21241742" c1="0.43642375" /> + <e c0="0.06478085" c2="-0.20702424" c1="0.44985566" /> + <e c0="0.04715450" c2="-0.20526272" c1="0.43584931" /> + <e c0="0.06825932" c2="-0.20358470" c1="0.44250992" /> + <e c0="0.04710884" c2="-0.19185212" c1="0.43455100" /> + <e c0="0.06503328" c2="-0.19327363" c1="0.43921158" /> + <e c0="0.00000000" c2="-0.25271928" c1="0.48482633" /> + <e c0="0.14871864" c2="0.00764303" c1="0.39606941" /> + <e c0="0.17002546" c2="-0.00229755" c1="0.39890337" /> + <e c0="0.16713815" c2="-0.01093248" c1="0.40340033" /> + <e c0="0.14365147" c2="-0.00652818" c1="0.40817592" /> + <e c0="0.15428381" c2="0.01159818" c1="0.37881643" /> + <e c0="0.17498576" c2="0.00587779" c1="0.38867864" /> + <e c0="0.23371953" c2="-0.02507779" c1="0.37332878" /> + <e c0="0.22116851" c2="-0.03759622" c1="0.37442136" /> + <e c0="0.24462414" c2="-0.04065907" c1="0.38643962" /> + <e c0="0.25061095" c2="-0.03217673" c1="0.39040601" /> + <e c0="0.26807976" c2="-0.04372193" c1="0.39845785" /> + <e c0="0.27032686" c2="-0.03993008" c1="0.40199038" /> + <e c0="0.23717022" c2="-0.01298742" c1="0.38057697" /> + <e c0="0.25086379" c2="-0.02425248" c1="0.39913836" /> + <e c0="0.24130106" c2="-0.02593117" c1="0.40666300" /> + <e c0="0.22158241" c2="-0.01143146" c1="0.39605179" /> + <e c0="0.26778716" c2="-0.03763784" c1="0.41207951" /> + <e c0="0.26101971" c2="-0.04043088" c1="0.41727424" /> + <e c0="0.23289640" c2="-0.05045766" c1="0.39726341" /> + <e c0="0.23856832" c2="-0.04715926" c1="0.39061284" /> + <e c0="0.21460439" c2="-0.04487990" c1="0.38322303" /> + <e c0="0.20781148" c2="-0.04341075" c1="0.39408505" /> + <e c0="0.25798124" c2="-0.05750454" c1="0.40044177" /> + <e c0="0.26326561" c2="-0.05160183" c1="0.39674848" /> + <e c0="0.23359841" c2="-0.02830528" c1="0.41266823" /> + <e c0="0.23045456" c2="-0.03325597" c1="0.41446054" /> + <e c0="0.20686238" c2="-0.01868711" c1="0.41062701" /> + <e c0="0.21030044" c2="-0.01273060" c1="0.40624416" /> + <e c0="0.25689632" c2="-0.04387996" c1="0.41909233" /> + <e c0="0.25404680" c2="-0.04782482" c1="0.41829410" /> + <e c0="0.22779637" c2="-0.03870075" c1="0.41347235" /> + <e c0="0.20394861" c2="-0.02571901" c1="0.41133630" /> + <e c0="0.25274211" c2="-0.05308279" c1="0.41476005" /> + <e c0="0.22709055" c2="-0.04723118" c1="0.40946066" /> + <e c0="0.25203341" c2="-0.05735924" c1="0.40942988" /> + <e c0="0.20340061" c2="-0.03772632" c1="0.40884945" /> + <e c0="0.11516782" c2="-0.13420402" c1="0.42799488" /> + <e c0="0.11360159" c2="-0.15231149" c1="0.40661240" /> + <e c0="0.09988238" c2="-0.15188359" c1="0.40967080" /> + <e c0="0.10633870" c2="-0.13749759" c1="0.42609641" /> + <e c0="0.11532970" c2="-0.13093220" c1="0.42718592" /> + <e c0="0.11406704" c2="-0.14794676" c1="0.40069342" /> + <e c0="0.11601808" c2="-0.13003956" c1="0.42706668" /> + <e c0="0.11348422" c2="-0.14707141" c1="0.39899284" /> + <e c0="0.11817387" c2="-0.12639110" c1="0.42748651" /> + <e c0="0.11463012" c2="-0.14605980" c1="0.39765111" /> + <e c0="0.12318438" c2="-0.11623613" c1="0.42744419" /> + <e c0="0.12147637" c2="-0.13879688" c1="0.39339626" /> + <e c0="0.12194952" c2="-0.10166985" c1="0.42580268" /> + <e c0="0.12625602" c2="-0.12277753" c1="0.38956428" /> + <e c0="0.10651478" c2="-0.07992194" c1="0.42390299" /> + <e c0="0.12135430" c2="-0.11044908" c1="0.37759838" /> + <e c0="0.10760136" c2="-0.10132418" c1="0.37441909" /> + <e c0="0.11628595" c2="-0.04125526" c1="0.40848276" /> + <e c0="0.11276623" c2="-0.05837310" c1="0.38115036" /> + <e c0="0.12943046" c2="-0.03837858" c1="0.40197664" /> + <e c0="0.13057983" c2="-0.04791324" c1="0.37972245" /> + <e c0="0.14602594" c2="-0.03697318" c1="0.39944535" /> + <e c0="0.15136014" c2="-0.03843066" c1="0.37858552" /> + <e c0="0.17355620" c2="-0.03291136" c1="0.39109889" /> + <e c0="0.17918026" c2="-0.03497127" c1="0.37761092" /> + <e c0="0.18370181" c2="-0.03266084" c1="0.39287782" /> + <e c0="0.19104367" c2="-0.03203565" c1="0.37954664" /> + <e c0="0.27139420" c2="-0.05800660" c1="0.40307626" /> + <e c0="0.27448273" c2="-0.05151807" c1="0.40149066" /> + <e c0="0.05354072" c2="-0.20682454" c1="0.36276570" /> + <e c0="0.04626162" c2="-0.21134853" c1="0.35208258" /> + <e c0="0.03550536" c2="-0.23241812" c1="0.36195928" /> + <e c0="0.04298473" c2="-0.21978032" c1="0.37114581" /> + <e c0="0.02069217" c2="-0.23808840" c1="0.37107879" /> + <e c0="0.02761424" c2="-0.23130655" c1="0.37926430" /> + <e c0="0.08684369" c2="-0.10515924" c1="0.01739287" /> + <e c0="0.09214349" c2="-0.10836781" c1="0.00189540" /> + <e c0="0.08539458" c2="-0.10780290" c1="0.00189540" /> + <e c0="0.09360357" c2="-0.10424188" c1="0.01895601" /> + <e c0="0.10400166" c2="-0.10218758" c1="0.01834282" /> + <e c0="0.10987135" c2="-0.10271070" c1="0.00189540" /> + <e c0="0.10414507" c2="-0.10527929" c1="0.00189540" /> + <e c0="0.11153813" c2="-0.09727003" c1="0.01837024" /> + <e c0="0.11613043" c2="-0.08811277" c1="0.01786527" /> + <e c0="0.12176474" c2="-0.08907581" c1="0.00189540" /> + <e c0="0.11641272" c2="-0.09137103" c1="0.00189540" /> + <e c0="0.12050314" c2="-0.08218996" c1="0.01701629" /> + <e c0="0.13919872" c2="-0.05359642" c1="0.16228606" /> + <e c0="0.12816775" c2="-0.05740408" c1="0.18099317" /> + <e c0="0.15610899" c2="-0.03977087" c1="0.23578310" /> + <e c0="0.16978214" c2="-0.03485212" c1="0.21260989" /> + <e c0="0.11636904" c2="-0.05531809" c1="0.23878349" /> + <e c0="0.14242815" c2="-0.04123829" c1="0.26479089" /> + <e c0="0.18731114" c2="-0.02132874" c1="0.29268998" /> + <e c0="0.20843324" c2="-0.01676069" c1="0.29061535" /> + <e c0="0.16658234" c2="-0.02931862" c1="0.29444861" /> + <e c0="0.10035499" c2="-0.12614487" c1="0.51300615" /> + <e c0="0.09489109" c2="-0.14135565" c1="0.53400654" /> + <e c0="0.10127171" c2="-0.08580597" c1="0.49034372" /> + <e c0="0.09795340" c2="-0.12774776" c1="0.54548019" /> + <e c0="0.11041453" c2="-0.07480544" c1="0.50870490" /> + <e c0="0.12336399" c2="-0.06251578" c1="0.53874689" /> + <e c0="0.11536034" c2="-0.09602802" c1="0.56036156" /> + <e c0="0.12365141" c2="-0.06393810" c1="0.57593697" /> + <e c0="0.12554973" c2="-0.05963990" c1="0.57169116" /> + <e c0="0.00000000" c2="0.06955143" c1="0.41450131" /> + <e c0="0.00000000" c2="0.09221971" c1="0.37474513" /> + <e c0="0.03701868" c2="0.08268323" c1="0.37283325" /> + <e c0="0.03416164" c2="0.06193848" c1="0.41369334" /> + <e c0="0.00000000" c2="0.11711770" c1="0.32161051" /> + <e c0="0.03515849" c2="0.10698153" c1="0.32136226" /> + <e c0="0.00000000" c2="0.12597036" c1="0.26828641" /> + <e c0="0.03492412" c2="0.11195026" c1="0.26864424" /> + <e c0="0.02393234" c2="0.01373022" c1="0.44854215" /> + <e c0="0.02318799" c2="-0.00586807" c1="0.46280965" /> + <e c0="0.00000000" c2="-0.00374213" c1="0.46420893" /> + <e c0="0.00000000" c2="0.01820897" c1="0.45022249" /> + <e c0="0.02807135" c2="0.03517349" c1="0.43590796" /> + <e c0="0.00000000" c2="0.04184490" c1="0.43730342" /> + <e c0="0.02318799" c2="-0.00586807" c1="0.46280965" /> + <e c0="0.02393314" c2="-0.02669879" c1="0.47919562" /> + <e c0="0.00000000" c2="-0.02375253" c1="0.48093691" /> + <e c0="0.00000000" c2="-0.00374213" c1="0.46420893" /> + <e c0="0.00000000" c2="0.10365712" c1="0.15003230" /> + <e c0="0.00000000" c2="0.09287905" c1="0.13396256" /> + <e c0="0.03305294" c2="0.09179835" c1="0.14053437" /> + <e c0="0.03472038" c2="0.10363902" c1="0.19796573" /> + <e c0="0.00000000" c2="0.11437213" c1="0.19861744" /> + <e c0="0.02393105" c2="-0.15829929" c1="0.55417597" /> + <e c0="0.00000000" c2="-0.16377990" c1="0.55330354" /> + <e c0="0.00840142" c2="0.09592265" c1="0.10627028" /> + <e c0="0.01483633" c2="0.07979273" c1="0.10997376" /> + <e c0="0.00000000" c2="0.08881041" c1="0.11921039" /> + <e c0="0.00000000" c2="0.09801152" c1="0.11372995" /> + <e c0="0.08421430" c2="-0.15813594" c1="0.51683438" /> + <e c0="0.06365927" c2="-0.17779311" c1="0.52819198" /> + <e c0="0.07238159" c2="-0.13254325" c1="0.54775763" /> + <e c0="0.26687664" c2="-0.05759040" c1="0.41911465" /> + <e c0="0.26511032" c2="-0.06149472" c1="0.41365603" /> + <e c0="0.26944602" c2="-0.05418140" c1="0.42150077" /> + <e c0="0.18353688" c2="-0.00470396" c1="0.40407723" /> + <e c0="0.19017791" c2="0.00277517" c1="0.39592865" /> + <e c0="0.17896878" c2="-0.01264270" c1="0.40649807" /> + <e c0="0.16798424" c2="0.01752695" c1="0.35380274" /> + <e c0="0.17712342" c2="0.00952938" c1="0.37401804" /> + <e c0="0.11892388" c2="0.04011484" c1="0.36911225" /> + <e c0="0.09842481" c2="0.05517100" c1="0.37382239" /> + <e c0="0.10214660" c2="0.06858854" c1="0.32503638" /> + <e c0="0.12930284" c2="0.05094281" c1="0.31881303" /> + <e c0="0.11169425" c2="0.03727341" c1="0.40260375" /> + <e c0="0.09326227" c2="0.04692588" c1="0.40869176" /> + <e c0="0.06849918" c2="0.07127100" c1="0.37241301" /> + <e c0="0.06560899" c2="0.05384070" c1="0.40983951" /> + <e c0="0.06876376" c2="0.09120962" c1="0.32094520" /> + <e c0="0.13203995" c2="0.02693210" c1="0.37156099" /> + <e c0="0.14202635" c2="0.01829682" c1="0.37324733" /> + <e c0="0.13320635" c2="0.01341281" c1="0.39433622" /> + <e c0="0.12340353" c2="0.02387551" c1="0.39689589" /> + <e c0="0.14801680" c2="0.03974937" c1="0.32792723" /> + <e c0="0.16003697" c2="0.02661563" c1="0.33849382" /> + <e c0="0.10554142" c2="-0.08074754" c1="0.44386822" /> + <e c0="0.11783465" c2="-0.10175196" c1="0.43899637" /> + <e c0="0.11867257" c2="-0.11552177" c1="0.43746769" /> + <e c0="0.11286410" c2="-0.13094644" c1="0.43567333" /> + <e c0="0.11421952" c2="-0.12969349" c1="0.43673283" /> + <e c0="0.11190154" c2="-0.13314553" c1="0.43444908" /> + <e c0="0.11632851" c2="-0.12636487" c1="0.43719530" /> + <e c0="0.10469820" c2="-0.13743858" c1="0.43186164" /> + <e c0="0.01801533" c2="-0.21705001" c1="0.34749982" /> + <e c0="0.01746399" c2="-0.24253890" c1="0.36170274" /> + <e c0="0.01708061" c2="-0.24243843" c1="0.36683354" /> + <e c0="0.00779968" c2="-0.24695587" c1="0.37350628" /> + <e c0="0.00581103" c2="-0.25010297" c1="0.36747548" /> + <e c0="0.01039422" c2="-0.24857435" c1="0.36245650" /> + <e c0="0.00000000" c2="-0.25232068" c1="0.36615470" /> + <e c0="0.00000000" c2="-0.24929929" c1="0.37427628" /> + <e c0="0.00382244" c2="-0.25142631" c1="0.35724986" /> + <e c0="0.00000000" c2="-0.25196806" c1="0.35630053" /> + <e c0="0.01734664" c2="-0.17369216" c1="0.34365624" /> + <e c0="0.03184862" c2="-0.17905440" c1="0.34339419" /> + <e c0="0.00000000" c2="-0.17891052" c1="0.33129790" /> + <e c0="0.00000000" c2="-0.16940032" c1="0.34334069" /> + <e c0="0.01326759" c2="-0.19341644" c1="0.35150817" /> + <e c0="0.01397111" c2="-0.17829560" c1="0.35218105" /> + <e c0="0.00000000" c2="-0.17629235" c1="0.35217929" /> + <e c0="0.00000000" c2="-0.19224136" c1="0.35071066" /> + <e c0="0.02444188" c2="-0.18602230" c1="0.35225815" /> + <e c0="0.02212233" c2="-0.20279356" c1="0.34894878" /> + <e c0="0.02860947" c2="-0.20549252" c1="0.34157252" /> + <e c0="0.03195937" c2="-0.19618400" c1="0.34350196" /> + <e c0="0.00876779" c2="-0.20998647" c1="0.34751308" /> + <e c0="0.00000000" c2="-0.20577374" c1="0.34515181" /> + <e c0="0.01801533" c2="-0.21705001" c1="0.34749982" /> + <e c0="0.02152170" c2="-0.21740800" c1="0.34767574" /> + <e c0="0.00000000" c2="-0.23244238" c1="0.33840233" /> + <e c0="0.00000000" c2="-0.24142167" c1="0.34151229" /> + <e c0="0.00236887" c2="-0.23301607" c1="0.33516070" /> + <e c0="0.00912869" c2="-0.24542168" c1="0.35944575" /> + <e c0="0.00000000" c2="-0.24642414" c1="0.35259724" /> + <e c0="0.00399029" c2="-0.24694052" c1="0.35516626" /> + <e c0="0.05528970" c2="-0.18191694" c1="0.33919352" /> + <e c0="0.04099681" c2="-0.18465909" c1="0.33311379" /> + <e c0="0.04764278" c2="-0.19155520" c1="0.33880177" /> + <e c0="0.05981429" c2="-0.19056540" c1="0.34831017" /> + <e c0="0.05080874" c2="-0.19604119" c1="0.34507602" /> + <e c0="0.03142799" c2="-0.19076451" c1="0.33895516" /> + <e c0="0.03259779" c2="-0.19306635" c1="0.34305373" /> + <e c0="0.03173937" c2="-0.19912135" c1="0.33865818" /> + <e c0="0.03295584" c2="-0.19856086" c1="0.33999610" /> + <e c0="0.04098625" c2="-0.19728067" c1="0.33758914" /> + <e c0="0.03895588" c2="-0.19750687" c1="0.33580783" /> + <e c0="0.04378886" c2="-0.20045053" c1="0.34049430" /> + <e c0="0.03295584" c2="-0.19856086" c1="0.33999610" /> + <e c0="0.03625323" c2="-0.20021244" c1="0.33864063" /> + <e c0="0.03520603" c2="-0.20043331" c1="0.33734792" /> + <e c0="0.03173937" c2="-0.19912135" c1="0.33865818" /> + <e c0="0.10465601" c2="-0.06780779" c1="0.51148230" /> + <e c0="0.11955866" c2="-0.05897108" c1="0.53865272" /> + <e c0="0.08266415" c2="-0.11193056" c1="0.55340385" /> + <e c0="0.10790439" c2="-0.08665654" c1="0.56453651" /> + <e c0="0.08210548" c2="-0.07842549" c1="0.54099017" /> + <e c0="0.10681900" c2="-0.07020418" c1="0.55494994" /> + <e c0="0.10465601" c2="-0.06780779" c1="0.51148230" /> + <e c0="0.11955866" c2="-0.05897108" c1="0.53865272" /> + <e c0="0.18170350" c2="0.01850219" c1="0.31694210" /> + <e c0="0.19308382" c2="0.00951407" c1="0.34888515" /> + <e c0="0.09765539" c2="0.06906669" c1="0.27622995" /> + <e c0="0.13473700" c2="0.04782980" c1="0.28030849" /> + <e c0="0.16209679" c2="0.03461875" c1="0.29345989" /> + <e c0="0.06851967" c2="0.09399608" c1="0.27212903" /> + <e c0="0.11155346" c2="-0.04040119" c1="0.08954920" /> + <e c0="0.10514608" c2="-0.05758464" c1="0.06385666" /> + <e c0="0.09379372" c2="-0.07214307" c1="0.06218615" /> + <e c0="0.10814640" c2="-0.05928326" c1="0.08837515" /> + <e c0="0.07973644" c2="-0.07532714" c1="0.06075537" /> + <e c0="0.09255728" c2="-0.07554998" c1="0.08560492" /> + <e c0="0.07286001" c2="-0.08154136" c1="0.08047009" /> + <e c0="0.06626543" c2="-0.07358756" c1="0.05922303" /> + <e c0="0.05197110" c2="-0.05616828" c1="0.05583689" /> + <e c0="0.05007901" c2="-0.05450421" c1="0.05863769" /> + <e c0="0.05570515" c2="-0.04598114" c1="0.03731272" /> + <e c0="0.05106338" c2="-0.03546827" c1="0.04359901" /> + <e c0="0.05178048" c2="-0.02946911" c1="0.02121623" /> + <e c0="0.04696682" c2="-0.02339848" c1="0.02228713" /> + <e c0="0.04262155" c2="-0.01853015" c1="0.00189540" /> + <e c0="0.04696682" c2="-0.02339848" c1="0.02228713" /> + <e c0="0.05178048" c2="-0.02946911" c1="0.02121623" /> + <e c0="0.04877581" c2="-0.02339024" c1="0.00189540" /> + <e c0="0.09406411" c2="0.00086799" c1="0.08490238" /> + <e c0="0.09197796" c2="-0.02035034" c1="0.06703424" /> + <e c0="0.11390184" c2="-0.01772264" c1="0.11129710" /> + <e c0="0.09045339" c2="0.02029462" c1="0.10398993" /> + <e c0="0.12312903" c2="-0.03514454" c1="0.11008817" /> + <e c0="0.10702143" c2="-0.01578503" c1="0.43107626" /> + <e c0="0.10892578" c2="0.01201443" c1="0.42160177" /> + <e c0="0.08747138" c2="0.02060539" c1="0.42762101" /> + <e c0="0.11390184" c2="-0.01772264" c1="0.11129710" /> + <e c0="0.11709091" c2="-0.00367464" c1="0.13393493" /> + <e c0="0.09428552" c2="0.03020517" c1="0.13056114" /> + <e c0="0.09045339" c2="0.02029462" c1="0.10398993" /> + <e c0="0.12178721" c2="0.01243160" c1="0.15937270" /> + <e c0="0.09332857" c2="0.03773264" c1="0.15189834" /> + <e c0="0.13456337" c2="0.03039506" c1="0.22330500" /> + <e c0="0.08999522" c2="0.06106059" c1="0.21072501" /> + <e c0="0.05526699" c2="0.02837500" c1="0.43167835" /> + <e c0="0.05247982" c2="-0.03746531" c1="0.47447842" /> + <e c0="0.04985091" c2="-0.01696580" c1="0.45760313" /> + <e c0="0.08044680" c2="-0.03789325" c1="0.45131192" /> + <e c0="0.08437725" c2="-0.05602775" c1="0.46956813" /> + <e c0="0.19271409" c2="0.00611832" c1="0.37988725" /> + <e c0="0.14564578" c2="-0.03566341" c1="0.33117315" /> + <e c0="0.15185349" c2="-0.03350204" c1="0.30772337" /> + <e c0="0.12861472" c2="-0.04440516" c1="0.29024097" /> + <e c0="0.12467375" c2="-0.04776989" c1="0.32720554" /> + <e c0="0.10736975" c2="-0.05589167" c1="0.27108544" /> + <e c0="0.10165605" c2="-0.06189939" c1="0.31746200" /> + <e c0="0.11306295" c2="-0.06986551" c1="0.13914552" /> + <e c0="0.10240181" c2="-0.08091159" c1="0.15747726" /> + <e c0="0.08434197" c2="-0.06763332" c1="0.26140434" /> + <e c0="0.09321828" c2="-0.08283738" c1="0.22296014" /> + <e c0="0.08114597" c2="-0.07177179" c1="0.29867923" /> + <e c0="0.05601461" c2="-0.08375359" c1="0.25228909" /> + <e c0="0.05331857" c2="-0.09217391" c1="0.28287250" /> + <e c0="0.06478550" c2="-0.09884413" c1="0.21263959" /> + <e c0="0.12150547" c2="-0.05788086" c1="0.12999137" /> + <e c0="0.09997925" c2="-0.06703422" c1="0.10366365" /> + <e c0="0.06514647" c2="-0.08038312" c1="0.09371260" /> + <e c0="0.05851610" c2="-0.09449543" c1="0.11313723" /> + <e c0="0.12150547" c2="-0.05788086" c1="0.12999137" /> + <e c0="0.13101387" c2="-0.04532885" c1="0.12899445" /> + <e c0="0.11670384" c2="-0.05155688" c1="0.10670936" /> + <e c0="0.09997925" c2="-0.06703422" c1="0.10366365" /> + <e c0="0.13064037" c2="-0.02750777" c1="0.12865698" /> + <e c0="0.12312903" c2="-0.03514454" c1="0.11008817" /> + <e c0="0.02139943" c2="-0.02073298" c1="0.06765106" /> + <e c0="0.02635630" c2="-0.05947346" c1="0.07643276" /> + <e c0="0.03792955" c2="-0.05677773" c1="0.07096016" /> + <e c0="0.03514608" c2="-0.02412466" c1="0.06298411" /> + <e c0="0.05135715" c2="0.01149456" c1="0.07262018" /> + <e c0="0.06552495" c2="0.02696734" c1="0.08413495" /> + <e c0="0.02139943" c2="-0.02073298" c1="0.06765106" /> + <e c0="0.03514608" c2="-0.02412466" c1="0.06298411" /> + <e c0="0.14819879" c2="-0.04740116" c1="0.15752880" /> + <e c0="0.14988669" c2="-0.03640791" c1="0.15387636" /> + <e c0="0.13857339" c2="-0.02033710" c1="0.15750717" /> + <e c0="0.06863841" c2="0.06858080" c1="0.14117651" /> + <e c0="0.14819879" c2="-0.04740116" c1="0.15752880" /> + <e c0="0.20046040" c2="-0.02272346" c1="0.32852882" /> + <e c0="0.18142661" c2="-0.02778303" c1="0.32720900" /> + <e c0="0.19557136" c2="-0.02559895" c1="0.36558336" /> + <e c0="0.17667430" c2="-0.02861105" c1="0.36047524" /> + <e c0="0.16407513" c2="-0.02804759" c1="0.33014923" /> + <e c0="0.14962249" c2="-0.03362651" c1="0.35751548" /> + <e c0="0.06888791" c2="-0.10612995" c1="0.15951519" /> + <e c0="0.02677793" c2="-0.09598577" c1="0.25029823" /> + <e c0="0.02570743" c2="-0.10373427" c1="0.28076285" /> + <e c0="0.00000000" c2="-0.10147857" c1="0.25260419" /> + <e c0="0.00000000" c2="-0.10878663" c1="0.27893704" /> + <e c0="0.07801444" c2="-0.08234972" c1="0.32504544" /> + <e c0="0.09911248" c2="-0.06752487" c1="0.34487921" /> + <e c0="0.12710881" c2="-0.04708490" c1="0.35133201" /> + <e c0="0.16798859" c2="-0.00060713" c1="0.22130701" /> + <e c0="0.20300239" c2="0.00947458" c1="0.29916754" /> + <e c0="0.21480357" c2="0.00328043" c1="0.33943999" /> + <e c0="0.21927073" c2="-0.01229821" c1="0.28946990" /> + <e c0="0.18479200" c2="-0.02819402" c1="0.21243341" /> + <e c0="0.21811741" c2="-0.02078975" c1="0.32838541" /> + <e c0="0.23169285" c2="-0.01272562" c1="0.33019549" /> + <e c0="0.21927073" c2="-0.01229821" c1="0.28946990" /> + <e c0="0.22151816" c2="-0.00589435" c1="0.29041803" /> + <e c0="0.19008508" c2="-0.02078849" c1="0.21294536" /> + <e c0="0.18479200" c2="-0.02819402" c1="0.21243341" /> + <e c0="0.23169285" c2="-0.01272562" c1="0.33019549" /> + <e c0="0.23186910" c2="-0.00280551" c1="0.33167082" /> + <e c0="0.04969246" c2="-0.10231929" c1="0.30506513" /> + <e c0="0.12869607" c2="-0.00075486" c1="0.41077086" /> + <e c0="0.12869357" c2="-0.02119359" c1="0.42033201" /> + <e c0="0.11992799" c2="-0.01974770" c1="0.42487162" /> + <e c0="0.11987051" c2="0.00434412" c1="0.41696981" /> + <e c0="0.14075326" c2="-0.02276259" c1="0.41297826" /> + <e c0="0.06928929" c2="0.08698964" c1="0.20015416" /> + <e c0="0.07123871" c2="-0.09083797" c1="0.34531534" /> + <e c0="0.07665895" c2="-0.12989636" c1="0.34269080" /> + <e c0="0.05956832" c2="-0.13156487" c1="0.34478170" /> + <e c0="0.06330110" c2="-0.10228087" c1="0.34852910" /> + <e c0="0.06330110" c2="-0.10228087" c1="0.34852910" /> + <e c0="0.00000000" c2="-0.11939501" c1="0.31567347" /> + <e c0="0.02018079" c2="-0.11792438" c1="0.31556290" /> + <e c0="0.02516350" c2="-0.11356976" c1="0.29643473" /> + <e c0="0.00000000" c2="-0.11758483" c1="0.29305136" /> + <e c0="0.00000000" c2="-0.13433050" c1="0.32901210" /> + <e c0="0.01982823" c2="-0.13185109" c1="0.32959875" /> + <e c0="0.04188940" c2="-0.11059203" c1="0.32286558" /> + <e c0="0.03605207" c2="-0.12566189" c1="0.32933220" /> + <e c0="0.02130403" c2="-0.18730419" c1="0.32646966" /> + <e c0="0.01545663" c2="-0.19108992" c1="0.32481372" /> + <e c0="0.00000000" c2="-0.19374638" c1="0.32259327" /> + <e c0="0.00000000" c2="-0.19142409" c1="0.32637545" /> + <e c0="0.00000000" c2="-0.01900446" c1="0.06598327" /> + <e c0="0.00000000" c2="-0.06412334" c1="0.07677901" /> + <e c0="0.01681979" c2="-0.06025833" c1="0.07657833" /> + <e c0="0.01217907" c2="-0.01915640" c1="0.06778198" /> + <e c0="0.00000000" c2="-0.10831242" c1="0.11340871" /> + <e c0="0.02826959" c2="-0.10086187" c1="0.11470206" /> + <e c0="0.00000000" c2="-0.01900446" c1="0.06598327" /> + <e c0="0.01217907" c2="-0.01915640" c1="0.06778198" /> + <e c0="0.00000000" c2="-0.11397401" c1="0.20992216" /> + <e c0="0.02982304" c2="-0.10978546" c1="0.20973684" /> + <e c0="0.00000000" c2="-0.12410315" c1="0.15798646" /> + <e c0="0.03250375" c2="-0.12043875" c1="0.15756145" /> + <e c0="0.01964339" c2="-0.15073337" c1="0.32246599" /> + <e c0="0.01982823" c2="-0.13185109" c1="0.32959875" /> + <e c0="0.00000000" c2="-0.13433050" c1="0.32901210" /> + <e c0="0.00000000" c2="-0.15255107" c1="0.32161680" /> + <e c0="0.03670636" c2="-0.14657356" c1="0.32823789" /> + <e c0="0.03605207" c2="-0.12566189" c1="0.32933220" /> + <e c0="0.10408969" c2="-0.08464943" c1="0.46847782" /> + <e c0="0.08437725" c2="-0.05602775" c1="0.46956813" /> + <e c0="0.04275281" c2="-0.20885926" c1="0.34365517" /> + <e c0="0.03469241" c2="-0.22345692" c1="0.34148112" /> + <e c0="0.03348786" c2="-0.23041931" c1="0.34838679" /> + <e c0="0.05064764" c2="-0.14694147" c1="0.55130917" /> + <e c0="0.05047603" c2="-0.21321654" c1="0.38098747" /> + <e c0="0.03560400" c2="-0.22108069" c1="0.38848376" /> + <e c0="0.06458553" c2="-0.20563748" c1="0.37628758" /> + <e c0="0.05375738" c2="-0.20551633" c1="0.38701013" /> + <e c0="0.03731794" c2="-0.21182635" c1="0.39625555" /> + <e c0="0.06659409" c2="-0.20114117" c1="0.38191858" /> + <e c0="0.05083968" c2="-0.19823211" c1="0.39106011" /> + <e c0="0.05264689" c2="-0.19830965" c1="0.39256257" /> + <e c0="0.06227787" c2="-0.19463267" c1="0.38786015" /> + <e c0="0.06166150" c2="-0.19436582" c1="0.38660055" /> + <e c0="0.03498961" c2="-0.20380210" c1="0.40748435" /> + <e c0="0.03821863" c2="-0.20425322" c1="0.41068256" /> + <e c0="0.05384023" c2="-0.19963443" c1="0.40177470" /> + <e c0="0.06594326" c2="-0.19888085" c1="0.39673463" /> + <e c0="0.04021854" c2="-0.20163088" c1="0.41401154" /> + <e c0="0.05294682" c2="-0.19986581" c1="0.38946632" /> + <e c0="0.06455608" c2="-0.19523313" c1="0.38528010" /> + <e c0="0.03527899" c2="-0.20652258" c1="0.40246204" /> + <e c0="0.05275126" c2="-0.18719404" c1="0.40619767" /> + <e c0="0.06123181" c2="-0.18495231" c1="0.40432671" /> + <e c0="0.03897907" c2="-0.18811595" c1="0.41415572" /> + <e c0="0.00000000" c2="-0.24128619" c1="0.38816082" /> + <e c0="0.01225967" c2="-0.23714730" c1="0.38599738" /> + <e c0="0.08140525" c2="-0.16879927" c1="0.33886293" /> + <e c0="0.06362364" c2="-0.16339832" c1="0.33627689" /> + <e c0="0.05031326" c2="-0.16204812" c1="0.33461711" /> + <e c0="0.00000000" c2="-0.19400217" c1="0.31377396" /> + <e c0="0.01632310" c2="-0.19158425" c1="0.31738612" /> + <e c0="0.01860573" c2="-0.17222407" c1="0.31961942" /> + <e c0="0.00000000" c2="-0.17213627" c1="0.31694227" /> + <e c0="0.02817156" c2="-0.18806129" c1="0.32340309" /> + <e c0="0.03442986" c2="-0.16734835" c1="0.32818729" /> + <e c0="0.00000000" c2="-0.24164274" c1="0.39786854" /> + <e c0="0.01545781" c2="-0.23504224" c1="0.39529416" /> + <e c0="0.09586748" c2="-0.17373424" c1="0.34856787" /> + <e c0="0.07567581" c2="-0.19241154" c1="0.35410732" /> + <e c0="0.08410123" c2="-0.19077202" c1="0.36662689" /> + <e c0="0.10348698" c2="-0.17549293" c1="0.36177987" /> + <e c0="0.10901596" c2="-0.14335929" c1="0.35689610" /> + <e c0="0.09697266" c2="-0.13557013" c1="0.34738904" /> + <e c0="0.11387177" c2="-0.15326698" c1="0.36700246" /> + <e c0="0.11650594" c2="-0.10913423" c1="0.45113185" /> + <e c0="0.11095067" c2="-0.09119407" c1="0.46030289" /> + <e c0="0.11230477" c2="-0.15936982" c1="0.37938273" /> + <e c0="0.10080293" c2="-0.17425202" c1="0.37581724" /> + <e c0="0.08530816" c2="-0.18910586" c1="0.37602636" /> + <e c0="0.01937360" c2="-0.23467344" c1="0.40732920" /> + <e c0="0.00000000" c2="-0.24373385" c1="0.40913385" /> + <e c0="0.01779336" c2="-0.25289235" c1="0.46532398" /> + <e c0="0.01779133" c2="-0.24723247" c1="0.43785870" /> + <e c0="0.00000000" c2="-0.25175554" c1="0.43497407" /> + <e c0="0.00000000" c2="-0.25575140" c1="0.46070462" /> + <e c0="0.01647264" c2="-0.23756230" c1="0.42600930" /> + <e c0="0.00000000" c2="-0.24318880" c1="0.41874623" /> + <e c0="0.10503163" c2="-0.16024287" c1="0.39101055" /> + <e c0="0.10660501" c2="-0.16584011" c1="0.39871985" /> + <e c0="0.10322340" c2="-0.15870603" c1="0.38872966" /> + <e c0="0.03755398" c2="-0.21150457" c1="0.42457691" /> + <e c0="0.03893776" c2="-0.20319259" c1="0.42356259" /> + <e c0="0.03444690" c2="-0.21746182" c1="0.42080650" /> + <e c0="0.11267563" c2="-0.13824590" c1="0.44448206" /> + <e c0="0.10980018" c2="-0.13422789" c1="0.44526485" /> + <e c0="0.11196741" c2="-0.14544450" c1="0.44085377" /> + <e c0="0.09274402" c2="-0.17292224" c1="0.38503772" /> + <e c0="0.09039207" c2="-0.16997640" c1="0.38241905" /> + <e c0="0.09781256" c2="-0.17920612" c1="0.39371017" /> + <e c0="0.07967969" c2="-0.18718489" c1="0.38430703" /> + <e c0="0.07909527" c2="-0.18436613" c1="0.38274652" /> + <e c0="0.08338901" c2="-0.18962961" c1="0.39429897" /> + <e c0="0.08694908" c2="-0.19314068" c1="0.45565984" /> + <e c0="0.08101192" c2="-0.19484141" c1="0.46245512" /> + <e c0="0.09072265" c2="-0.18951129" c1="0.44817275" /> + <e c0="0.09964963" c2="-0.17730050" c1="0.45772094" /> + <e c0="0.09192964" c2="-0.17343014" c1="0.46387768" /> + <e c0="0.10206100" c2="-0.17604267" c1="0.44841838" /> + <e c0="0.10599359" c2="-0.16294833" c1="0.45532984" /> + <e c0="0.09906109" c2="-0.15980025" c1="0.46247077" /> + <e c0="0.10739609" c2="-0.16494672" c1="0.44778818" /> + <e c0="0.10533949" c2="-0.15931802" c1="0.38794002" /> + <e c0="0.09467825" c2="-0.17200752" c1="0.38204819" /> + <e c0="0.08099761" c2="-0.18587851" c1="0.38144061" /> + <e c0="0.06690987" c2="-0.19335210" c1="0.51527512" /> + <e c0="0.09162262" c2="-0.17199307" c1="0.51087159" /> + <e c0="0.10035541" c2="-0.13724120" c1="0.50514185" /> + <e c0="0.10554113" c2="-0.14206551" c1="0.50184989" /> + <e c0="0.02994258" c2="-0.22512045" c1="0.41508901" /> + <e c0="0.09941265" c2="-0.18396246" c1="0.49976090" /> + <e c0="0.07815602" c2="-0.20900875" c1="0.50429833" /> + <e c0="0.09130539" c2="-0.16196920" c1="0.40531111" /> + <e c0="0.08745876" c2="-0.20418369" c1="0.46483368" /> + <e c0="0.08097669" c2="-0.19711488" c1="0.46153736" /> + <e c0="0.08693787" c2="-0.21315366" c1="0.48206609" /> + <e c0="0.10474428" c2="-0.18134849" c1="0.46782964" /> + <e c0="0.10836180" c2="-0.16446750" c1="0.46695077" /> + <e c0="0.10445573" c2="-0.16245293" c1="0.46302190" /> + <e c0="0.09447398" c2="-0.17527162" c1="0.46409565" /> + <e c0="0.10683426" c2="-0.19075321" c1="0.48224878" /> + <e c0="0.11783203" c2="-0.16403468" c1="0.47937262" /> + <e c0="0.11399535" c2="-0.12309752" c1="0.44941226" /> + <e c0="0.11183628" c2="-0.13151313" c1="0.44750512" /> + <e c0="0.03675653" c2="-0.19022413" c1="0.42555499" /> + <e c0="0.10628672" c2="-0.14789181" c1="0.43974277" /> + <e c0="0.09915705" c2="-0.16208654" c1="0.44472760" /> + <e c0="0.09325017" c2="-0.16951804" c1="0.44529989" /> + <e c0="0.08421137" c2="-0.18043908" c1="0.44453245" /> + <e c0="0.07410344" c2="-0.17788248" c1="0.40256724" /> + <e c0="0.08423325" c2="-0.17169779" c1="0.40274316" /> + <e c0="0.00000000" c2="-0.24679390" c1="0.35421413" /> + <e c0="0.00000000" c2="-0.24850047" c1="0.35342157" /> + <e c0="0.00232452" c2="-0.24797103" c1="0.35267898" /> + <e c0="0.01628482" c2="-0.24516177" c1="0.35467660" /> + <e c0="0.01876247" c2="-0.24184474" c1="0.34628651" /> + <e c0="0.00315827" c2="-0.24598387" c1="0.34548348" /> + <e c0="0.00236887" c2="-0.23301607" c1="0.33516070" /> + <e c0="0.01356602" c2="-0.22424811" c1="0.33354318" /> + <e c0="0.01656694" c2="-0.22499820" c1="0.33916554" /> + <e c0="0.00000000" c2="-0.23244238" c1="0.33840233" /> + <e c0="0.00000000" c2="-0.24418402" c1="0.34575540" /> + <e c0="0.00978130" c2="-0.24618596" c1="0.35921973" /> + <e c0="0.02852768" c2="-0.23759609" c1="0.35562888" /> + <e c0="0.00441945" c2="-0.23420587" c1="0.33053607" /> + <e c0="0.01570982" c2="-0.23082390" c1="0.32940826" /> + <e c0="0.01356602" c2="-0.22424811" c1="0.33354318" /> + <e c0="0.01524360" c2="-0.20911741" c1="0.32568917" /> + <e c0="0.00000000" c2="-0.21277827" c1="0.32186687" /> + <e c0="0.00000000" c2="-0.21117407" c1="0.32769358" /> + <e c0="0.01482273" c2="-0.20859977" c1="0.33049202" /> + <e c0="0.01482273" c2="-0.20859977" c1="0.33049202" /> + <e c0="0.00000000" c2="-0.21117407" c1="0.32769358" /> + <e c0="0.00000000" c2="-0.20824807" c1="0.32915264" /> + <e c0="0.01404114" c2="-0.20515832" c1="0.33127123" /> + <e c0="0.03213156" c2="-0.20164713" c1="0.33976194" /> + <e c0="0.03213156" c2="-0.20164713" c1="0.33976194" /> + <e c0="0.03574176" c2="-0.20417022" c1="0.33872044" /> + <e c0="0.02334679" c2="-0.20510801" c1="0.33404759" /> + <e c0="0.02246536" c2="-0.20131286" c1="0.33394533" /> + <e c0="0.02431543" c2="-0.20623013" c1="0.33035788" /> + <e c0="0.02334679" c2="-0.20510801" c1="0.33404759" /> + <e c0="0.01559837" c2="-0.20726135" c1="0.31870204" /> + <e c0="0.00000000" c2="-0.20927867" c1="0.31479472" /> + <e c0="0.02511937" c2="-0.20310744" c1="0.32520780" /> + <e c0="0.02769072" c2="-0.20972359" c1="0.33688399" /> + <e c0="0.02769072" c2="-0.20972359" c1="0.33688399" /> + <e c0="0.02924241" c2="-0.21449604" c1="0.33519477" /> + <e c0="0.00330073" c2="-0.24296492" c1="0.34099975" /> + <e c0="0.01932943" c2="-0.23869401" c1="0.33989781" /> + <e c0="0.01124681" c2="-0.21226203" c1="0.33231691" /> + <e c0="0.00000000" c2="-0.21467274" c1="0.32954812" /> + <e c0="0.01697726" c2="-0.22358748" c1="0.34395355" /> + <e c0="0.00000000" c2="-0.22661689" c1="0.33976823" /> + <e c0="0.00000000" c2="-0.18572112" c1="0.32854107" /> + <e c0="0.01697726" c2="-0.22358748" c1="0.34395355" /> + <e c0="0.00000000" c2="-0.22661689" c1="0.33976823" /> + <e c0="0.09322556" c2="-0.06513590" c1="0.49749336" /> + <e c0="0.11882242" c2="-0.05981468" c1="0.57882297" /> + <e c0="0.12221214" c2="-0.05505549" c1="0.57425582" /> + <e c0="0.12221214" c2="-0.05505549" c1="0.57425582" /> + <e c0="0.17839616" c2="-0.02699173" c1="0.40584108" /> + <e c0="0.16802471" c2="-0.02512919" c1="0.40482557" /> + <e c0="0.24316770" c2="-0.01948023" c1="0.37489963" /> + <e c0="0.24316770" c2="-0.01948023" c1="0.37489963" /> + <e c0="0.25560606" c2="-0.02725821" c1="0.39332518" /> + <e c0="0.27133620" c2="-0.03747175" c1="0.40588304" /> + <e c0="0.25560606" c2="-0.02725821" c1="0.39332518" /> + <e c0="0.27133620" c2="-0.03747175" c1="0.40588304" /> + <e c0="0.26616198" c2="-0.06207832" c1="0.40836173" /> + <e c0="0.27296162" c2="-0.05044991" c1="0.42152610" /> + <e c0="0.27644480" c2="-0.04492699" c1="0.41837844" /> + <e c0="0.27917755" c2="-0.04339563" c1="0.40857062" /> + <e c0="0.27878499" c2="-0.04247492" c1="0.41303906" /> + <e c0="0.27762360" c2="-0.04557279" c1="0.40444553" /> + <e c0="0.27878499" c2="-0.04247492" c1="0.41303906" /> + <e c0="0.00000000" c2="0.06990790" c1="0.08888069" /> + <e c0="0.00000000" c2="0.09411391" c1="0.09459005" /> + <e c0="0.04457172" c2="-0.03045188" c1="0.05463256" /> + <e c0="0.05696424" c2="-0.03477963" c1="0.05876085" /> + <e c0="0.07044256" c2="0.01134933" c1="0.07069813" /> + <e c0="0.05880449" c2="-0.00183432" c1="0.06441888" /> + <e c0="0.05696424" c2="-0.03477963" c1="0.05876085" /> + <e c0="0.06897924" c2="-0.01483191" c1="0.06287967" /> + <e c0="0.04457172" c2="-0.03045188" c1="0.05463256" /> + <e c0="0.06552495" c2="0.02696734" c1="0.08413495" /> + <e c0="0.05135715" c2="0.01149456" c1="0.07262018" /> + <e c0="0.03514608" c2="-0.02412466" c1="0.06298411" /> + <e c0="0.06132885" c2="-0.04850145" c1="0.03565499" /> + <e c0="0.04995163" c2="-0.02823715" c1="0.04910251" /> + <e c0="0.04995163" c2="-0.02823715" c1="0.04910251" /> + <e c0="0.06231711" c2="-0.01701197" c1="0.05382279" /> + <e c0="0.07484252" c2="-0.02368397" c1="0.04700160" /> + <e c0="0.07830557" c2="-0.03777114" c1="0.03881860" /> + <e c0="0.06843730" c2="-0.04743749" c1="0.03529075" /> + <e c0="0.05958530" c2="-0.02939447" c1="0.02347830" /> + <e c0="0.04227007" c2="-0.00659369" c1="0.02622518" /> + <e c0="0.04227007" c2="-0.00659369" c1="0.02622518" /> + <e c0="0.04723856" c2="-0.00065403" c1="0.02803122" /> + <e c0="0.05904886" c2="-0.00828272" c1="0.02540261" /> + <e c0="0.06266736" c2="-0.01888445" c1="0.02211585" /> + <e c0="0.06341324" c2="-0.02621852" c1="0.02314743" /> + <e c0="0.06341324" c2="-0.02621852" c1="0.02314743" /> + <e c0="0.06392268" c2="-0.02715844" c1="0.02254283" /> + <e c0="0.05982300" c2="-0.03038650" c1="0.02278498" /> + <e c0="0.05958530" c2="-0.02939447" c1="0.02347830" /> + <e c0="0.06266736" c2="-0.01888445" c1="0.02211585" /> + <e c0="0.06627629" c2="-0.02178112" c1="0.01778123" /> + <e c0="0.06794382" c2="-0.08165022" c1="0.00189540" /> + <e c0="0.07702734" c2="-0.09542858" c1="0.00189540" /> + <e c0="0.09422906" c2="-0.09416856" c1="0.00189540" /> + <e c0="0.08913561" c2="-0.06581984" c1="0.00189540" /> + <e c0="0.10899152" c2="-0.08547896" c1="0.00189540" /> + <e c0="0.11868390" c2="-0.06794021" c1="0.00189540" /> + <e c0="0.10553881" c2="-0.05032661" c1="0.00189540" /> + <e c0="0.06405564" c2="-0.05301157" c1="0.01612324" /> + <e c0="0.06254765" c2="-0.03626080" c1="0.02073804" /> + <e c0="0.07191243" c2="-0.03735246" c1="0.02054071" /> + <e c0="0.08066245" c2="-0.03734982" c1="0.01613930" /> + <e c0="0.07733747" c2="-0.05017567" c1="0.00189540" /> + <e c0="0.06435635" c2="-0.06344276" c1="0.00189540" /> + <e c0="0.08815166" c2="-0.03945364" c1="0.00189540" /> + <e c0="0.05503744" c2="-0.03096524" c1="0.01914805" /> + <e c0="0.06108389" c2="-0.01011960" c1="0.00189540" /> + <e c0="0.04862055" c2="-0.00771057" c1="0.00189540" /> + <e c0="0.12176474" c2="-0.08907581" c1="0.00189540" /> + <e c0="0.12264521" c2="-0.08213174" c1="0.00189540" /> + <e c0="0.11641272" c2="-0.09137103" c1="0.00189540" /> + <e c0="0.10987135" c2="-0.10271070" c1="0.00189540" /> + <e c0="0.11417480" c2="-0.09866488" c1="0.00189540" /> + <e c0="0.10414507" c2="-0.10527929" c1="0.00189540" /> + <e c0="0.09214349" c2="-0.10836781" c1="0.00189540" /> + <e c0="0.09816333" c2="-0.10510093" c1="0.00189540" /> + <e c0="0.08539458" c2="-0.10780290" c1="0.00189540" /> + <e c0="0.04227007" c2="-0.00659369" c1="0.02622518" /> + <e c0="0.04141200" c2="-0.00372340" c1="0.00189540" /> + <e c0="0.04723856" c2="-0.00065403" c1="0.02803122" /> + <e c0="0.04227007" c2="-0.00659369" c1="0.02622518" /> + <e c0="0.04141200" c2="-0.00372340" c1="0.00189540" /> + <e c0="0.04389149" c2="0.00070990" c1="0.00189540" /> + <e c0="0.05904886" c2="-0.00828272" c1="0.02540261" /> + <e c0="0.05247933" c2="-0.00280245" c1="0.00189540" /> + <e c0="0.06108389" c2="-0.01011960" c1="0.00189540" /> + <e c0="0.10553881" c2="-0.05032661" c1="0.00189540" /> + <e c0="0.11868390" c2="-0.06794021" c1="0.00189540" /> + <e c0="0.07702734" c2="-0.09542858" c1="0.00189540" /> + <e c0="0.06794382" c2="-0.08165022" c1="0.00189540" /> + <e c0="0.08815166" c2="-0.03945364" c1="0.00189540" /> + <e c0="0.06435635" c2="-0.06344276" c1="0.00189540" /> + <e c0="0.12264521" c2="-0.08213174" c1="0.00189540" /> + <e c0="0.11417480" c2="-0.09866488" c1="0.00189540" /> + <e c0="0.09816333" c2="-0.10510093" c1="0.00189540" /> + <e c0="0.09355809" c2="-0.08927475" c1="0.02340958" /> + <e c0="0.10439326" c2="-0.08379601" c1="0.02477345" /> + <e c0="0.10899152" c2="-0.08547896" c1="0.00189540" /> + <e c0="0.09422906" c2="-0.09416856" c1="0.00189540" /> + <e c0="0.10458132" c2="-0.07736647" c1="0.02617595" /> + <e c0="0.09261914" c2="-0.09284249" c1="0.02352938" /> + <e c0="0.11670384" c2="-0.05155688" c1="0.10670936" /> + <e c0="0.27412409" c2="-0.06939251" c1="0.39978856" /> + <e c0="0.28630919" c2="-0.06510947" c1="0.39772642" /> + <e c0="0.27721578" c2="-0.06047971" c1="0.40286192" /> + <e c0="0.28759748" c2="-0.05897887" c1="0.39963928" /> + <e c0="0.30276919" c2="-0.04727350" c1="0.40395641" /> + <e c0="0.30118544" c2="-0.05613228" c1="0.40095669" /> + <e c0="0.30838729" c2="-0.05491821" c1="0.40021345" /> + <e c0="0.30927760" c2="-0.05075077" c1="0.40253314" /> + <e c0="0.30442227" c2="-0.04595817" c1="0.41093409" /> + <e c0="0.31133933" c2="-0.04961516" c1="0.40865117" /> + <e c0="0.31200612" c2="-0.05361727" c1="0.41411304" /> + <e c0="0.30504847" c2="-0.04990139" c1="0.41598380" /> + <e c0="0.30026407" c2="-0.06479023" c1="0.42126268" /> + <e c0="0.30899567" c2="-0.06759519" c1="0.41801038" /> + <e c0="0.30640263" c2="-0.07478215" c1="0.41643742" /> + <e c0="0.29595447"... [truncated message content] |
From: <re...@us...> - 2008-09-03 16:19:04
|
Revision: 31000 http://crystal.svn.sourceforge.net/crystal/?rev=31000&view=rev Author: res2002 Date: 2008-09-03 16:18:45 +0000 (Wed, 03 Sep 2008) Log Message: ----------- Make start up state of bugplug FPS counter/time per frame display configurable Modified Paths: -------------- CS/trunk/data/config-plugins/bugplug.cfg CS/trunk/plugins/utilities/bugplug/bugplug.cpp Modified: CS/trunk/data/config-plugins/bugplug.cfg =================================================================== --- CS/trunk/data/config-plugins/bugplug.cfg 2008-09-03 16:14:50 UTC (rev 30999) +++ CS/trunk/data/config-plugins/bugplug.cfg 2008-09-03 16:18:45 UTC (rev 31000) @@ -1,6 +1,11 @@ ; file, where the key bindings are stored Bugplug.Keybindings = /config/bugplug.key +; Whether to display a frame rendering speed indicator. +; Can be 'fps' (frames per second), 'time' (milliseconds needed for one frame), +; 'off' (don't display anything). +Bugplug.ShowFrameSpeed = fps + ; format of the screenshot filename ; the rightmost string of digits is automatically replaced with a number Bugplug.Capture.FilenameFormat = /this/crystal000.png Modified: CS/trunk/plugins/utilities/bugplug/bugplug.cpp =================================================================== --- CS/trunk/plugins/utilities/bugplug/bugplug.cpp 2008-09-03 16:14:50 UTC (rev 30999) +++ CS/trunk/plugins/utilities/bugplug/bugplug.cpp 2008-09-03 16:18:45 UTC (rev 31000) @@ -324,6 +324,31 @@ captureMIME = config->GetStr ("Bugplug.Capture.Image.MIME", "image/png"); captureOptions = config->GetStr ("Bugplug.Capture.Image.Options"); + + const char* framespeed = config->GetStr ("Bugplug.ShowFrameSpeed", "fps"); + if (framespeed) + { + if (strcmp (framespeed, "fps") == 0) + { + do_fps = true; + display_time = false; + } + else if (strcmp (framespeed, "time") == 0) + { + do_fps = true; + display_time = true; + } + else if (strcmp (framespeed, "off") == 0) + { + do_fps = false; + display_time = false; + } + else + { + Report (CS_REPORTER_SEVERITY_WARNING, + "Invalid value '%s' for frame speed display", framespeed); + } + } initialized = true; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <re...@us...> - 2008-09-04 00:34:46
|
Revision: 31022 http://crystal.svn.sourceforge.net/crystal/?rev=31022&view=rev Author: res2002 Date: 2008-09-04 00:34:40 +0000 (Thu, 04 Sep 2008) Log Message: ----------- Fix 'noshadowreceive' meshes not being rendered; Make rm_shadow_pssm really support disabling shadows in reflections/refractions Modified Paths: -------------- CS/trunk/include/csplugincommon/rendermanager/lightsetup.h CS/trunk/include/csplugincommon/rendermanager/shadow_pssm.h CS/trunk/plugins/rendermanager/shadow_pssm/shadow_pssm.cpp CS/trunk/plugins/rendermanager/shadow_pssm/shadow_pssm.h Modified: CS/trunk/include/csplugincommon/rendermanager/lightsetup.h =================================================================== --- CS/trunk/include/csplugincommon/rendermanager/lightsetup.h 2008-09-03 21:06:48 UTC (rev 31021) +++ CS/trunk/include/csplugincommon/rendermanager/lightsetup.h 2008-09-04 00:34:40 UTC (rev 31022) @@ -741,6 +741,7 @@ public: struct PersistentData; typedef csArray<iShader*> ShaderArrayType; + typedef ShadowHandler ShadowHandlerType; typedef typename ShadowHandler::ShadowParameters ShadowParamType; /** Modified: CS/trunk/include/csplugincommon/rendermanager/shadow_pssm.h =================================================================== --- CS/trunk/include/csplugincommon/rendermanager/shadow_pssm.h 2008-09-03 21:06:48 UTC (rev 31021) +++ CS/trunk/include/csplugincommon/rendermanager/shadow_pssm.h 2008-09-04 00:34:40 UTC (rev 31022) @@ -148,11 +148,6 @@ } ~ViewSetup() { delete[] splitDists; } - - void PostLightSetup (typename RenderTree::ContextNode& context, - const LayerConfigType& layerConfig) - { - } }; struct CachedLightData : @@ -1099,6 +1094,8 @@ s++; } } + else + spreadFlags = 1; return spreadFlags; } Modified: CS/trunk/plugins/rendermanager/shadow_pssm/shadow_pssm.cpp =================================================================== --- CS/trunk/plugins/rendermanager/shadow_pssm/shadow_pssm.cpp 2008-09-03 21:06:48 UTC (rev 31021) +++ CS/trunk/plugins/rendermanager/shadow_pssm/shadow_pssm.cpp 2008-09-04 00:34:40 UTC (rev 31022) @@ -45,31 +45,65 @@ SCF_IMPLEMENT_FACTORY(RMShadowedPSSM) -template<typename RenderTreeType, typename LayerConfigType, bool doShadow> +/* Template magic to deal with different initializers for different + ShadowType::ShadowParameter types. */ +template<typename ShadowType> +struct WrapShadowParams +{ + static typename ShadowType::ShadowParameters Create ( + RMShadowedPSSM::ShadowType::PersistentData& persist, + CS::RenderManager::RenderView* rview) + { + return typename ShadowType::ShadowParameters (); + } +}; + +template<> +struct WrapShadowParams<RMShadowedPSSM::ShadowType> +{ + static RMShadowedPSSM::ShadowType::ViewSetup Create ( + RMShadowedPSSM::ShadowType::PersistentData& shadowPersist, + CS::RenderManager::RenderView* rview) + { + return RMShadowedPSSM::ShadowType::ViewSetup ( + shadowPersist, rview); + } +}; + +template<typename RenderTreeType, typename LayerConfigType, + typename LightSetupType> class StandardContextSetup { public: - typedef StandardContextSetup<RenderTreeType, LayerConfigType, doShadow> ThisType; + typedef StandardContextSetup<RenderTreeType, LayerConfigType, LightSetupType> ThisType; typedef StandardPortalSetup<RenderTreeType, ThisType> PortalSetupType; + typedef typename LightSetupType::ShadowHandlerType ShadowType; - StandardContextSetup (RMShadowedPSSM* rmanager, const LayerConfigType& layerConfig) - : rmanager (rmanager), layerConfig (layerConfig), + StandardContextSetup (RMShadowedPSSM* rmanager, + typename LightSetupType::PersistentData& lightPersistent, + const LayerConfigType& layerConfig) + : rmanager (rmanager), lightPersistent (lightPersistent), + layerConfig (layerConfig), recurseCount (0) { } StandardContextSetup (const StandardContextSetup& other) - : rmanager (other.rmanager), layerConfig (other.layerConfig), + : rmanager (other.rmanager), + lightPersistent (other.lightPersistent), + layerConfig (other.layerConfig), recurseCount (other.recurseCount) { } template<typename T2> - StandardContextSetup (const T2& other) - : rmanager (other.rmanager), layerConfig (other.layerConfig), + StandardContextSetup (const T2& other, + typename LightSetupType::PersistentData& lightPersistent) + : rmanager (other.rmanager), + lightPersistent (lightPersistent), layerConfig (other.layerConfig), recurseCount (other.recurseCount) { } - + void operator() (typename RenderTreeType::ContextNode& context, typename PortalSetupType::ContextSetupData& portalSetupData) { @@ -79,8 +113,9 @@ // @@@ FIXME: Of course, don't hardcode. if (recurseCount > 30) return; - RMShadowedPSSM::ShadowType::ViewSetup shadowViewSetup ( - rmanager->lightPersistent.shadowPersist, rview); + typename ShadowType::ShadowParameters shadowViewSetup ( + WrapShadowParams<ShadowType>::Create ( + rmanager->lightPersistent.shadowPersist, rview)); iShaderManager* shaderManager = rmanager->shaderManager; @@ -132,12 +167,11 @@ SetupStandardShader (context, shaderManager, layerConfig); - RMShadowedPSSM::LightSetupType lightSetup ( - rmanager->lightPersistent, rmanager->lightManager, + LightSetupType lightSetup ( + lightPersistent, rmanager->lightManager, context.svArrays, layerConfig, shadowViewSetup); ForEachMeshNode (context, lightSetup); - shadowViewSetup.PostLightSetup (context, layerConfig); // Setup shaders and tickets SetupStandardTicket (context, shaderManager, @@ -147,8 +181,10 @@ { case 0: { - RMShadowedPSSM::ContextSetupType_Unshadowed ctxRefl (*this); - RMShadowedPSSM::ContextSetupType_Unshadowed ctxRefr (*this); + RMShadowedPSSM::ContextSetupType_Unshadowed ctxRefl (*this, + rmanager->lightPersistent_unshadowed); + RMShadowedPSSM::ContextSetupType_Unshadowed ctxRefr (*this, + rmanager->lightPersistent_unshadowed); RMShadowedPSSM::AutoReflectRefractType_UU fxRR ( rmanager->reflectRefractPersistent, ctxRefl, ctxRefr); typedef TraverseUsedSVSets<RenderTreeType, @@ -161,8 +197,10 @@ break; case RMShadowedPSSM::rrShadowReflect: { - RMShadowedPSSM::ContextSetupType ctxRefl (*this); - RMShadowedPSSM::ContextSetupType_Unshadowed ctxRefr (*this); + RMShadowedPSSM::ContextSetupType ctxRefl (*this, + rmanager->lightPersistent); + RMShadowedPSSM::ContextSetupType_Unshadowed ctxRefr (*this, + rmanager->lightPersistent_unshadowed); RMShadowedPSSM::AutoReflectRefractType_SU fxRR ( rmanager->reflectRefractPersistent, ctxRefl, ctxRefr); typedef TraverseUsedSVSets<RenderTreeType, @@ -175,8 +213,10 @@ break; case RMShadowedPSSM::rrShadowRefract: { - RMShadowedPSSM::ContextSetupType_Unshadowed ctxRefl (*this); - RMShadowedPSSM::ContextSetupType ctxRefr (*this); + RMShadowedPSSM::ContextSetupType_Unshadowed ctxRefl (*this, + rmanager->lightPersistent_unshadowed); + RMShadowedPSSM::ContextSetupType ctxRefr (*this, + rmanager->lightPersistent); RMShadowedPSSM::AutoReflectRefractType_US fxRR ( rmanager->reflectRefractPersistent, ctxRefl, ctxRefr); typedef TraverseUsedSVSets<RenderTreeType, @@ -189,8 +229,10 @@ break; case RMShadowedPSSM::rrShadowReflect | RMShadowedPSSM::rrShadowRefract: { - RMShadowedPSSM::ContextSetupType ctxRefl (*this); - RMShadowedPSSM::ContextSetupType ctxRefr (*this); + RMShadowedPSSM::ContextSetupType ctxRefl (*this, + rmanager->lightPersistent); + RMShadowedPSSM::ContextSetupType ctxRefr (*this, + rmanager->lightPersistent); RMShadowedPSSM::AutoReflectRefractType_SS fxRR ( rmanager->reflectRefractPersistent, ctxRefl, ctxRefr); typedef TraverseUsedSVSets<RenderTreeType, @@ -215,6 +257,7 @@ public: RMShadowedPSSM* rmanager; + typename LightSetupType::PersistentData& lightPersistent; const LayerConfigType& layerConfig; int recurseCount; }; @@ -270,7 +313,7 @@ // Setup the main context { - ContextSetupType contextSetup (this, renderLayer); + ContextSetupType contextSetup (this, lightPersistent, renderLayer); ContextSetupType::PortalSetupType::ContextSetupData portalData (startContext); contextSetup (*startContext, portalData); @@ -329,7 +372,7 @@ startContext->renderTargets[rtaColor0].texHandle = settings.target; startContext->renderTargets[rtaColor0].subtexture = settings.targetSubTexture; - ContextSetupType contextSetup (this, renderLayer); + ContextSetupType contextSetup (this, lightPersistent, renderLayer); ContextSetupType::PortalSetupType::ContextSetupData portalData (startContext); contextSetup (*startContext, portalData); @@ -417,6 +460,7 @@ portalPersistent.Initialize (shaderManager, g3d); lightPersistent.shadowPersist.SetConfigPrefix ("RenderManager.ShadowPSSM"); lightPersistent.Initialize (objectReg, treePersistent.debugPersist); + lightPersistent_unshadowed.Initialize (objectReg, treePersistent.debugPersist); reflectRefractPersistent.Initialize (objectReg, treePersistent.debugPersist, &postEffects); Modified: CS/trunk/plugins/rendermanager/shadow_pssm/shadow_pssm.h =================================================================== --- CS/trunk/plugins/rendermanager/shadow_pssm/shadow_pssm.h 2008-09-03 21:06:48 UTC (rev 31021) +++ CS/trunk/plugins/rendermanager/shadow_pssm/shadow_pssm.h 2008-09-04 00:34:40 UTC (rev 31022) @@ -29,7 +29,8 @@ CS_PLUGIN_NAMESPACE_BEGIN(RMShadowedPSSM) { - template<typename RenderTreeType, typename LayerConfigType, bool doShadow> + template<typename RenderTreeType, typename LayerConfigType, + typename LightSetupType> class StandardContextSetup; class RenderTreeTraits : public CS::RenderManager::RenderTreeStandardTraits @@ -89,10 +90,19 @@ return false; } + typedef CS::RenderManager::ShadowPSSM<RenderTreeType, + CS::RenderManager::MultipleRenderLayer> ShadowType; + typedef CS::RenderManager::LightSetup<RenderTreeType, + CS::RenderManager::MultipleRenderLayer, + ShadowType> LightSetupType; + typedef CS::RenderManager::LightSetup<RenderTreeType, + CS::RenderManager::MultipleRenderLayer> LightSetupType_Unshadowed; + typedef StandardContextSetup<RenderTreeType, - CS::RenderManager::MultipleRenderLayer, true> ContextSetupType; + CS::RenderManager::MultipleRenderLayer, LightSetupType> ContextSetupType; typedef StandardContextSetup<RenderTreeType, - CS::RenderManager::MultipleRenderLayer, false> ContextSetupType_Unshadowed; + CS::RenderManager::MultipleRenderLayer, + LightSetupType_Unshadowed> ContextSetupType_Unshadowed; typedef CS::RenderManager::StandardPortalSetup<RenderTreeType, ContextSetupType> PortalSetupType; @@ -100,14 +110,6 @@ typedef CS::RenderManager::DependentTargetManager<RenderTreeType, RMShadowedPSSM> TargetManagerType; - typedef CS::RenderManager::ShadowPSSM<RenderTreeType, - CS::RenderManager::MultipleRenderLayer> ShadowType; - typedef CS::RenderManager::LightSetup<RenderTreeType, - CS::RenderManager::MultipleRenderLayer, - ShadowType> LightSetupType; - typedef CS::RenderManager::LightSetup<RenderTreeType, - CS::RenderManager::MultipleRenderLayer> LightSetupType_Unshadowed; - typedef CS::RenderManager::AutoFX_ReflectRefract<RenderTreeType, ContextSetupType, ContextSetupType> AutoReflectRefractType_SS; typedef CS::RenderManager::AutoFX_ReflectRefract<RenderTreeType, @@ -127,6 +129,7 @@ RenderTreeType::PersistentData treePersistent; PortalSetupType::PersistentData portalPersistent; LightSetupType::PersistentData lightPersistent; + LightSetupType_Unshadowed::PersistentData lightPersistent_unshadowed; CS::RenderManager::AutoFX_ReflectRefract_Base::PersistentData reflectRefractPersistent; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cry...@us...> - 2008-09-04 02:52:58
|
Revision: 31023 http://crystal.svn.sourceforge.net/crystal/?rev=31023&view=rev Author: crystal-manage Date: 2008-09-04 02:52:49 +0000 (Thu, 04 Sep 2008) Log Message: ----------- master header files: Automated master header file repair. Visual-C++ project files: Automated Visual-C++ project file repair. Texinfo files: Automated Texinfo @node and @menu repair. Swig Python files: Automated Swig Python file repair. Swig Perl5 files: Automated Swig Perl5 file repair. User's Manual: Automated Texinfo to HTML conversion. Modified Paths: -------------- CS/trunk/mk/msvc7/libcrystalspace.vcproj CS/trunk/mk/msvc71/libcrystalspace.vcproj CS/trunk/mk/msvc8/libcrystalspace.vcproj CS/trunk/mk/msvc9/libcrystalspace.vcproj CS/trunk/plugins/cscript/pycore/cs_core.cpp CS/trunk/plugins/cscript/pycsgeom/cs_csgeom.cpp CS/trunk/plugins/cscript/pycsgfx/cs_csgfx.cpp CS/trunk/plugins/cscript/pycstool/cs_cstool.cpp CS/trunk/plugins/cscript/pyiengine/cs_iengine.cpp CS/trunk/plugins/cscript/pyimap/cs_imap.cpp CS/trunk/plugins/cscript/pyimesh/cs_imesh.cpp CS/trunk/plugins/cscript/pyisndsys/cs_isndsys.cpp CS/trunk/plugins/cscript/pyivaria/cs_ivaria.cpp CS/trunk/plugins/cscript/pyivideo/cs_ivideo.cpp CS/trunk/scripts/perl5/cswigpl5.inc Modified: CS/trunk/mk/msvc7/libcrystalspace.vcproj =================================================================== --- CS/trunk/mk/msvc7/libcrystalspace.vcproj 2008-09-04 00:34:40 UTC (rev 31022) +++ CS/trunk/mk/msvc7/libcrystalspace.vcproj 2008-09-04 02:52:49 UTC (rev 31023) @@ -27,7 +27,7 @@ DebugInformationFormat="3" BufferSecurityCheck="FALSE" ProgramDataBaseFileName="..\..\out\release7\build\libcrystalspace\crystalspace.pdb" - PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_7";WIN32" + PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_7;WIN32" OptimizeForProcessor="1" AdditionalOptions=" " AdditionalIncludeDirectories=".;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" @@ -60,7 +60,7 @@ SuppressStartupBanner="TRUE"/> <Tool Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_7"" + PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_7" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" @@ -75,7 +75,7 @@ Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_7";PROJECTGEN_VERSION=7" + PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_7;PROJECTGEN_VERSION=7" AdditionalIncludeDirectories=".;..\..\libs;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" Culture="1033"/> <Tool @@ -100,7 +100,7 @@ DebugInformationFormat="3" BufferSecurityCheck="FALSE" ProgramDatabaseFileName="..\..\out\release7\build\libcrystalspace\crystalspace-1.9-vc7.pdb" - PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_7";WIN32;CS_BUILD_SHARED_LIBS" + PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_7;WIN32;CS_BUILD_SHARED_LIBS" OptimizeForProcessor="1" AdditionalOptions=" " AdditionalIncludeDirectories=".;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" @@ -135,7 +135,7 @@ SuppressStartupBanner="TRUE"/> <Tool Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_7"" + PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_7" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" @@ -150,7 +150,7 @@ Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_7";PROJECTGEN_VERSION=7" + PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_7;PROJECTGEN_VERSION=7" AdditionalIncludeDirectories=".;..\..\libs;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" Culture="1033"/> <Tool @@ -174,7 +174,7 @@ RuntimeLibrary="3" ProgramDataBaseFileName="..\..\out\debug7\build\libcrystalspace\crystalspace.pdb" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_7";WIN32" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_7;WIN32" OptimizeForProcessor="1" AdditionalOptions=" " AdditionalIncludeDirectories=".;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" @@ -205,7 +205,7 @@ SuppressStartupBanner="TRUE"/> <Tool Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_7"" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_7" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" @@ -220,7 +220,7 @@ Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_7";PROJECTGEN_VERSION=7" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_7;PROJECTGEN_VERSION=7" AdditionalIncludeDirectories=".;..\..\libs;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" Culture="1033"/> <Tool @@ -245,7 +245,7 @@ ProgramDatabaseFileName="..\..\out\debug7\build\libcrystalspace\crystalspace-1.9-vc7_d.pdb" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_7";WIN32;CS_BUILD_SHARED_LIBS" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_7;WIN32;CS_BUILD_SHARED_LIBS" OptimizeForProcessor="1" AdditionalOptions=" " AdditionalIncludeDirectories=".;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" @@ -278,7 +278,7 @@ SuppressStartupBanner="TRUE"/> <Tool Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_7"" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_7" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" @@ -293,7 +293,7 @@ Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_7";PROJECTGEN_VERSION=7" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_7;PROJECTGEN_VERSION=7" AdditionalIncludeDirectories=".;..\..\libs;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" Culture="1033"/> <Tool @@ -317,7 +317,7 @@ RuntimeLibrary="3" ProgramDataBaseFileName="..\..\out\debug7\build\libcrystalspace\crystalspace.pdb" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_7";WIN32" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_7;WIN32" OptimizeForProcessor="1" AdditionalOptions=" " AdditionalIncludeDirectories=".;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" @@ -348,7 +348,7 @@ SuppressStartupBanner="TRUE"/> <Tool Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_7"" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_7" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" @@ -363,7 +363,7 @@ Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_7";PROJECTGEN_VERSION=7" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_7;PROJECTGEN_VERSION=7" AdditionalIncludeDirectories=".;..\..\libs;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" Culture="1033"/> <Tool @@ -388,7 +388,7 @@ ProgramDatabaseFileName="..\..\out\debug7\build\libcrystalspace\crystalspace-1.9-vc7_d.pdb" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_7";WIN32;CS_BUILD_SHARED_LIBS" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_7;WIN32;CS_BUILD_SHARED_LIBS" OptimizeForProcessor="1" AdditionalOptions=" " AdditionalIncludeDirectories=".;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" @@ -421,7 +421,7 @@ SuppressStartupBanner="TRUE"/> <Tool Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_7"" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_7" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" @@ -436,7 +436,7 @@ Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_7";PROJECTGEN_VERSION=7" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_7;PROJECTGEN_VERSION=7" AdditionalIncludeDirectories=".;..\..\libs;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" Culture="1033"/> <Tool @@ -460,7 +460,7 @@ RuntimeLibrary="3" ProgramDataBaseFileName="..\..\out\debug7\build\libcrystalspace\crystalspace.pdb" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_7";WIN32" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_7;WIN32" OptimizeForProcessor="1" AdditionalOptions=" " AdditionalIncludeDirectories=".;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" @@ -491,7 +491,7 @@ SuppressStartupBanner="TRUE"/> <Tool Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_7"" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_7" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" @@ -506,7 +506,7 @@ Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_7";PROJECTGEN_VERSION=7" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_7;PROJECTGEN_VERSION=7" AdditionalIncludeDirectories=".;..\..\libs;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" Culture="1033"/> <Tool @@ -531,7 +531,7 @@ ProgramDatabaseFileName="..\..\out\debug7\build\libcrystalspace\crystalspace-1.9-vc7_d.pdb" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_7";WIN32;CS_BUILD_SHARED_LIBS" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_7;WIN32;CS_BUILD_SHARED_LIBS" OptimizeForProcessor="1" AdditionalOptions=" " AdditionalIncludeDirectories=".;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" @@ -564,7 +564,7 @@ SuppressStartupBanner="TRUE"/> <Tool Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_7"" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_7" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" @@ -579,7 +579,7 @@ Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_7";PROJECTGEN_VERSION=7" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_7;PROJECTGEN_VERSION=7" AdditionalIncludeDirectories=".;..\..\libs;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" Culture="1033"/> <Tool Modified: CS/trunk/mk/msvc71/libcrystalspace.vcproj =================================================================== --- CS/trunk/mk/msvc71/libcrystalspace.vcproj 2008-09-04 00:34:40 UTC (rev 31022) +++ CS/trunk/mk/msvc71/libcrystalspace.vcproj 2008-09-04 02:52:49 UTC (rev 31023) @@ -27,7 +27,7 @@ DebugInformationFormat="3" BufferSecurityCheck="FALSE" ProgramDataBaseFileName="..\..\out\release71\build\libcrystalspace\crystalspace.pdb" - PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_71";WIN32" + PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_71;WIN32" OptimizeForProcessor="1" AdditionalOptions=" " AdditionalIncludeDirectories=".;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" @@ -60,7 +60,7 @@ SuppressStartupBanner="TRUE"/> <Tool Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_71"" + PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_71" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" @@ -75,7 +75,7 @@ Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_71";PROJECTGEN_VERSION=71" + PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_71;PROJECTGEN_VERSION=71" AdditionalIncludeDirectories=".;..\..\libs;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" Culture="1033"/> <Tool @@ -100,7 +100,7 @@ DebugInformationFormat="3" BufferSecurityCheck="FALSE" ProgramDatabaseFileName="..\..\out\release71\build\libcrystalspace\crystalspace-1.9-vc71.pdb" - PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_71";WIN32;CS_BUILD_SHARED_LIBS" + PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_71;WIN32;CS_BUILD_SHARED_LIBS" OptimizeForProcessor="1" AdditionalOptions=" " AdditionalIncludeDirectories=".;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" @@ -135,7 +135,7 @@ SuppressStartupBanner="TRUE"/> <Tool Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_71"" + PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_71" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" @@ -150,7 +150,7 @@ Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_71";PROJECTGEN_VERSION=71" + PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_71;PROJECTGEN_VERSION=71" AdditionalIncludeDirectories=".;..\..\libs;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" Culture="1033"/> <Tool @@ -174,7 +174,7 @@ RuntimeLibrary="3" ProgramDataBaseFileName="..\..\out\debug71\build\libcrystalspace\crystalspace.pdb" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_71";WIN32" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_71;WIN32" OptimizeForProcessor="1" AdditionalOptions=" " AdditionalIncludeDirectories=".;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" @@ -205,7 +205,7 @@ SuppressStartupBanner="TRUE"/> <Tool Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_71"" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_71" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" @@ -220,7 +220,7 @@ Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_71";PROJECTGEN_VERSION=71" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_71;PROJECTGEN_VERSION=71" AdditionalIncludeDirectories=".;..\..\libs;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" Culture="1033"/> <Tool @@ -245,7 +245,7 @@ ProgramDatabaseFileName="..\..\out\debug71\build\libcrystalspace\crystalspace-1.9-vc71_d.pdb" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_71";WIN32;CS_BUILD_SHARED_LIBS" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_71;WIN32;CS_BUILD_SHARED_LIBS" OptimizeForProcessor="1" AdditionalOptions=" " AdditionalIncludeDirectories=".;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" @@ -278,7 +278,7 @@ SuppressStartupBanner="TRUE"/> <Tool Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_71"" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_71" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" @@ -293,7 +293,7 @@ Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_71";PROJECTGEN_VERSION=71" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_71;PROJECTGEN_VERSION=71" AdditionalIncludeDirectories=".;..\..\libs;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" Culture="1033"/> <Tool @@ -317,7 +317,7 @@ RuntimeLibrary="3" ProgramDataBaseFileName="..\..\out\debug71\build\libcrystalspace\crystalspace.pdb" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_71";WIN32" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_71;WIN32" OptimizeForProcessor="1" AdditionalOptions=" " AdditionalIncludeDirectories=".;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" @@ -348,7 +348,7 @@ SuppressStartupBanner="TRUE"/> <Tool Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_71"" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_71" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" @@ -363,7 +363,7 @@ Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_71";PROJECTGEN_VERSION=71" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_71;PROJECTGEN_VERSION=71" AdditionalIncludeDirectories=".;..\..\libs;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" Culture="1033"/> <Tool @@ -388,7 +388,7 @@ ProgramDatabaseFileName="..\..\out\debug71\build\libcrystalspace\crystalspace-1.9-vc71_d.pdb" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_71";WIN32;CS_BUILD_SHARED_LIBS" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_71;WIN32;CS_BUILD_SHARED_LIBS" OptimizeForProcessor="1" AdditionalOptions=" " AdditionalIncludeDirectories=".;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" @@ -421,7 +421,7 @@ SuppressStartupBanner="TRUE"/> <Tool Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_71"" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_71" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" @@ -436,7 +436,7 @@ Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_71";PROJECTGEN_VERSION=71" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_71;PROJECTGEN_VERSION=71" AdditionalIncludeDirectories=".;..\..\libs;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" Culture="1033"/> <Tool @@ -460,7 +460,7 @@ RuntimeLibrary="3" ProgramDataBaseFileName="..\..\out\debug71\build\libcrystalspace\crystalspace.pdb" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_71";WIN32" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_71;WIN32" OptimizeForProcessor="1" AdditionalOptions=" " AdditionalIncludeDirectories=".;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" @@ -491,7 +491,7 @@ SuppressStartupBanner="TRUE"/> <Tool Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_71"" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_71" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" @@ -506,7 +506,7 @@ Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_71";PROJECTGEN_VERSION=71" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_71;PROJECTGEN_VERSION=71" AdditionalIncludeDirectories=".;..\..\libs;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" Culture="1033"/> <Tool @@ -531,7 +531,7 @@ ProgramDatabaseFileName="..\..\out\debug71\build\libcrystalspace\crystalspace-1.9-vc71_d.pdb" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_71";WIN32;CS_BUILD_SHARED_LIBS" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_71;WIN32;CS_BUILD_SHARED_LIBS" OptimizeForProcessor="1" AdditionalOptions=" " AdditionalIncludeDirectories=".;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" @@ -564,7 +564,7 @@ SuppressStartupBanner="TRUE"/> <Tool Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_71"" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_71" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" @@ -579,7 +579,7 @@ Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_71";PROJECTGEN_VERSION=71" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_71;PROJECTGEN_VERSION=71" AdditionalIncludeDirectories=".;..\..\libs;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" Culture="1033"/> <Tool Modified: CS/trunk/mk/msvc8/libcrystalspace.vcproj =================================================================== --- CS/trunk/mk/msvc8/libcrystalspace.vcproj 2008-09-04 00:34:40 UTC (rev 31022) +++ CS/trunk/mk/msvc8/libcrystalspace.vcproj 2008-09-04 02:52:49 UTC (rev 31023) @@ -27,7 +27,7 @@ DebugInformationFormat="3" BufferSecurityCheck="FALSE" ProgramDataBaseFileName="..\..\out\release8\build\libcrystalspace\crystalspace.pdb" - PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_8";WIN32" + PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_8;WIN32" OptimizeForProcessor="1" AdditionalOptions=" " AdditionalIncludeDirectories=".;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" @@ -60,7 +60,7 @@ SuppressStartupBanner="TRUE"/> <Tool Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_8"" + PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_8" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" @@ -75,7 +75,7 @@ Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_8";PROJECTGEN_VERSION=8" + PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_8;PROJECTGEN_VERSION=8" AdditionalIncludeDirectories=".;..\..\libs;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" Culture="1033"/> <Tool @@ -100,7 +100,7 @@ DebugInformationFormat="3" BufferSecurityCheck="FALSE" ProgramDatabaseFileName="..\..\out\release8\build\libcrystalspace\crystalspace-1.9-vc8.pdb" - PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_8";WIN32;CS_BUILD_SHARED_LIBS" + PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_8;WIN32;CS_BUILD_SHARED_LIBS" OptimizeForProcessor="1" AdditionalOptions=" " AdditionalIncludeDirectories=".;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" @@ -135,7 +135,7 @@ SuppressStartupBanner="TRUE"/> <Tool Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_8"" + PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_8" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" @@ -150,7 +150,7 @@ Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_8";PROJECTGEN_VERSION=8" + PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_8;PROJECTGEN_VERSION=8" AdditionalIncludeDirectories=".;..\..\libs;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" Culture="1033"/> <Tool @@ -174,7 +174,7 @@ RuntimeLibrary="3" ProgramDataBaseFileName="..\..\out\debug8\build\libcrystalspace\crystalspace.pdb" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_8";WIN32" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_8;WIN32" OptimizeForProcessor="1" AdditionalOptions=" " AdditionalIncludeDirectories=".;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" @@ -205,7 +205,7 @@ SuppressStartupBanner="TRUE"/> <Tool Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_8"" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_8" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" @@ -220,7 +220,7 @@ Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_8";PROJECTGEN_VERSION=8" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_8;PROJECTGEN_VERSION=8" AdditionalIncludeDirectories=".;..\..\libs;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" Culture="1033"/> <Tool @@ -245,7 +245,7 @@ ProgramDatabaseFileName="..\..\out\debug8\build\libcrystalspace\crystalspace-1.9-vc8_d.pdb" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_8";WIN32;CS_BUILD_SHARED_LIBS" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_8;WIN32;CS_BUILD_SHARED_LIBS" OptimizeForProcessor="1" AdditionalOptions=" " AdditionalIncludeDirectories=".;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" @@ -278,7 +278,7 @@ SuppressStartupBanner="TRUE"/> <Tool Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_8"" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_8" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" @@ -293,7 +293,7 @@ Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_8";PROJECTGEN_VERSION=8" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_8;PROJECTGEN_VERSION=8" AdditionalIncludeDirectories=".;..\..\libs;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" Culture="1033"/> <Tool @@ -317,7 +317,7 @@ RuntimeLibrary="3" ProgramDataBaseFileName="..\..\out\debug8\build\libcrystalspace\crystalspace.pdb" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_8";WIN32" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_8;WIN32" OptimizeForProcessor="1" AdditionalOptions=" " AdditionalIncludeDirectories=".;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" @@ -348,7 +348,7 @@ SuppressStartupBanner="TRUE"/> <Tool Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_8"" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_8" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" @@ -363,7 +363,7 @@ Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_8";PROJECTGEN_VERSION=8" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_8;PROJECTGEN_VERSION=8" AdditionalIncludeDirectories=".;..\..\libs;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" Culture="1033"/> <Tool @@ -388,7 +388,7 @@ ProgramDatabaseFileName="..\..\out\debug8\build\libcrystalspace\crystalspace-1.9-vc8_d.pdb" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_8";WIN32;CS_BUILD_SHARED_LIBS" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_8;WIN32;CS_BUILD_SHARED_LIBS" OptimizeForProcessor="1" AdditionalOptions=" " AdditionalIncludeDirectories=".;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" @@ -421,7 +421,7 @@ SuppressStartupBanner="TRUE"/> <Tool Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_8"" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_8" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" @@ -436,7 +436,7 @@ Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_8";PROJECTGEN_VERSION=8" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_8;PROJECTGEN_VERSION=8" AdditionalIncludeDirectories=".;..\..\libs;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" Culture="1033"/> <Tool @@ -460,7 +460,7 @@ RuntimeLibrary="3" ProgramDataBaseFileName="..\..\out\debug8\build\libcrystalspace\crystalspace.pdb" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_8";WIN32" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_8;WIN32" OptimizeForProcessor="1" AdditionalOptions=" " AdditionalIncludeDirectories=".;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" @@ -491,7 +491,7 @@ SuppressStartupBanner="TRUE"/> <Tool Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_8"" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_8" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" @@ -506,7 +506,7 @@ Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_8";PROJECTGEN_VERSION=8" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_8;PROJECTGEN_VERSION=8" AdditionalIncludeDirectories=".;..\..\libs;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" Culture="1033"/> <Tool @@ -531,7 +531,7 @@ ProgramDatabaseFileName="..\..\out\debug8\build\libcrystalspace\crystalspace-1.9-vc8_d.pdb" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_8";WIN32;CS_BUILD_SHARED_LIBS" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_8;WIN32;CS_BUILD_SHARED_LIBS" OptimizeForProcessor="1" AdditionalOptions=" " AdditionalIncludeDirectories=".;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" @@ -564,7 +564,7 @@ SuppressStartupBanner="TRUE"/> <Tool Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_8"" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_8" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" @@ -579,7 +579,7 @@ Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_8";PROJECTGEN_VERSION=8" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_8;PROJECTGEN_VERSION=8" AdditionalIncludeDirectories=".;..\..\libs;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" Culture="1033"/> <Tool Modified: CS/trunk/mk/msvc9/libcrystalspace.vcproj =================================================================== --- CS/trunk/mk/msvc9/libcrystalspace.vcproj 2008-09-04 00:34:40 UTC (rev 31022) +++ CS/trunk/mk/msvc9/libcrystalspace.vcproj 2008-09-04 02:52:49 UTC (rev 31023) @@ -27,7 +27,7 @@ DebugInformationFormat="3" BufferSecurityCheck="FALSE" ProgramDataBaseFileName="..\..\out\release9\build\libcrystalspace\crystalspace.pdb" - PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_9";WIN32" + PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_9;WIN32" OptimizeForProcessor="1" AdditionalOptions=" " AdditionalIncludeDirectories=".;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" @@ -60,7 +60,7 @@ SuppressStartupBanner="TRUE"/> <Tool Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_9"" + PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_9" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" @@ -75,7 +75,7 @@ Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_9";PROJECTGEN_VERSION=9" + PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_9;PROJECTGEN_VERSION=9" AdditionalIncludeDirectories=".;..\..\libs;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" Culture="1033"/> <Tool @@ -100,7 +100,7 @@ DebugInformationFormat="3" BufferSecurityCheck="FALSE" ProgramDatabaseFileName="..\..\out\release9\build\libcrystalspace\crystalspace-1.9-vc9.pdb" - PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_9";WIN32;CS_BUILD_SHARED_LIBS" + PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_9;WIN32;CS_BUILD_SHARED_LIBS" OptimizeForProcessor="1" AdditionalOptions=" " AdditionalIncludeDirectories=".;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" @@ -135,7 +135,7 @@ SuppressStartupBanner="TRUE"/> <Tool Name="VCMIDLTool" - PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_9"" + PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_9" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" @@ -150,7 +150,7 @@ Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_9";PROJECTGEN_VERSION=9" + PreprocessorDefinitions="NDEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_9;PROJECTGEN_VERSION=9" AdditionalIncludeDirectories=".;..\..\libs;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" Culture="1033"/> <Tool @@ -174,7 +174,7 @@ RuntimeLibrary="3" ProgramDataBaseFileName="..\..\out\debug9\build\libcrystalspace\crystalspace.pdb" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_9";WIN32" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_9;WIN32" OptimizeForProcessor="1" AdditionalOptions=" " AdditionalIncludeDirectories=".;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" @@ -205,7 +205,7 @@ SuppressStartupBanner="TRUE"/> <Tool Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_9"" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_9" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" @@ -220,7 +220,7 @@ Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_9";PROJECTGEN_VERSION=9" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_9;PROJECTGEN_VERSION=9" AdditionalIncludeDirectories=".;..\..\libs;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" Culture="1033"/> <Tool @@ -245,7 +245,7 @@ ProgramDatabaseFileName="..\..\out\debug9\build\libcrystalspace\crystalspace-1.9-vc9_d.pdb" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_9";WIN32;CS_BUILD_SHARED_LIBS" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_9;WIN32;CS_BUILD_SHARED_LIBS" OptimizeForProcessor="1" AdditionalOptions=" " AdditionalIncludeDirectories=".;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" @@ -278,7 +278,7 @@ SuppressStartupBanner="TRUE"/> <Tool Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_9"" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_9" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" @@ -293,7 +293,7 @@ Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_9";PROJECTGEN_VERSION=9" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_9;PROJECTGEN_VERSION=9" AdditionalIncludeDirectories=".;..\..\libs;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" Culture="1033"/> <Tool @@ -317,7 +317,7 @@ RuntimeLibrary="3" ProgramDataBaseFileName="..\..\out\debug9\build\libcrystalspace\crystalspace.pdb" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_9";WIN32" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_9;WIN32" OptimizeForProcessor="1" AdditionalOptions=" " AdditionalIncludeDirectories=".;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" @@ -348,7 +348,7 @@ SuppressStartupBanner="TRUE"/> <Tool Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_9"" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_9" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" @@ -363,7 +363,7 @@ Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_9";PROJECTGEN_VERSION=9" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_9;PROJECTGEN_VERSION=9" AdditionalIncludeDirectories=".;..\..\libs;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" Culture="1033"/> <Tool @@ -388,7 +388,7 @@ ProgramDatabaseFileName="..\..\out\debug9\build\libcrystalspace\crystalspace-1.9-vc9_d.pdb" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_9";WIN32;CS_BUILD_SHARED_LIBS" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_9;WIN32;CS_BUILD_SHARED_LIBS" OptimizeForProcessor="1" AdditionalOptions=" " AdditionalIncludeDirectories=".;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" @@ -421,7 +421,7 @@ SuppressStartupBanner="TRUE"/> <Tool Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_9"" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_9" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" @@ -436,7 +436,7 @@ Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_9";PROJECTGEN_VERSION=9" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_MEMORY_TRACKER;_WINDOWS;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_9;PROJECTGEN_VERSION=9" AdditionalIncludeDirectories=".;..\..\libs;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" Culture="1033"/> <Tool @@ -460,7 +460,7 @@ RuntimeLibrary="3" ProgramDataBaseFileName="..\..\out\debug9\build\libcrystalspace\crystalspace.pdb" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_9";WIN32" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_9;WIN32" OptimizeForProcessor="1" AdditionalOptions=" " AdditionalIncludeDirectories=".;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" @@ -491,7 +491,7 @@ SuppressStartupBanner="TRUE"/> <Tool Name="VCMIDLTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_9"" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_9" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" @@ -506,7 +506,7 @@ Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION="VC_9";PROJECTGEN_VERSION=9" + PreprocessorDefinitions="_DEBUG;CS_DEBUG;CS_WIN32_CSCONFIG;__CRYSTAL_SPACE__;CS_SUPPORTS_MMX;CS_REF_TRACKER;CS_CRYSTALSPACE_LIB;CS_COMPILER_NAME_AND_VERSION=VC_9;PROJECTGEN_VERSION=9" AdditionalIncludeDirectories=".;..\..\libs;..\..;..\..\include;..\..\win32libs\include;..\..\include\csutil\win32;..\..\libs\csutil\ptmalloc\sysdeps\win32" Culture="1033"/> <Tool @@ -531,7 +531,... [truncated message content] |