From: <mg...@us...> - 2009-02-15 22:18:48
|
Revision: 3041 http://planeshift.svn.sourceforge.net/planeshift/?rev=3041&view=rev Author: mgist Date: 2009-02-15 22:18:44 +0000 (Sun, 15 Feb 2009) Log Message: ----------- - Set render priorities for sneaking. Modified Paths: -------------- trunk/src/client/charapp.cpp Modified: trunk/src/client/charapp.cpp =================================================================== --- trunk/src/client/charapp.cpp 2009-02-15 21:13:36 UTC (rev 3040) +++ trunk/src/client/charapp.cpp 2009-02-15 22:18:44 UTC (rev 3041) @@ -834,6 +834,15 @@ { sneak = sneaking; + if(sneaking) + { + baseMesh->SetRenderPriority(engine->GetRenderPriority("alpha")); + } + else + { + baseMesh->SetRenderPriority(engine->GetRenderPriority("object")); + } + CS::ShaderVarStringID varName = stringSet->Request("alpha factor"); for(uint i=0; i<meshCount; i++) { @@ -843,7 +852,7 @@ csShaderVariable* var = context->GetVariableAdd(varName); if(var) { - if(sneak) + if(sneaking) { var->SetValue(0.5f); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2009-04-07 18:25:42
|
Revision: 3414 http://planeshift.svn.sourceforge.net/planeshift/?rev=3414&view=rev Author: mgist Date: 2009-04-07 18:25:40 +0000 (Tue, 07 Apr 2009) Log Message: ----------- - Fix. Modified Paths: -------------- trunk/src/client/charapp.cpp Modified: trunk/src/client/charapp.cpp =================================================================== --- trunk/src/client/charapp.cpp 2009-04-07 17:40:10 UTC (rev 3413) +++ trunk/src/client/charapp.cpp 2009-04-07 18:25:40 UTC (rev 3414) @@ -444,7 +444,7 @@ // The material isn't available to load. csReport(psengine->GetObjectRegistry(), CS_REPORTER_SEVERITY_NOTIFY, "planeshift.character.appearance", "Attempted to change to material %s and failed; material not found.", - materialNameParsed); + materialNameParsed.GetData()); return false; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2009-07-17 15:09:11
|
Revision: 4053 http://planeshift.svn.sourceforge.net/planeshift/?rev=4053&view=rev Author: mgist Date: 2009-07-17 15:09:08 +0000 (Fri, 17 Jul 2009) Log Message: ----------- - Removed incorrect check which broke equipped mesh loading. Modified Paths: -------------- trunk/src/client/charapp.cpp Modified: trunk/src/client/charapp.cpp =================================================================== --- trunk/src/client/charapp.cpp 2009-07-17 15:01:24 UTC (rev 4052) +++ trunk/src/client/charapp.cpp 2009-07-17 15:09:08 UTC (rev 4053) @@ -590,12 +590,6 @@ return false; } - if(!factory) - { - Error2("Mesh factory %s not found.", meshFactName); - return false; - } - if(!factory.IsValid()) { Attachment attach(true); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2009-09-21 03:50:50
|
Revision: 4469 http://planeshift.svn.sourceforge.net/planeshift/?rev=4469&view=rev Author: mgist Date: 2009-09-21 03:50:44 +0000 (Mon, 21 Sep 2009) Log Message: ----------- - Fixed some bugs in detaching 'equipped' lights. Modified Paths: -------------- trunk/src/client/charapp.cpp Modified: trunk/src/client/charapp.cpp =================================================================== --- trunk/src/client/charapp.cpp 2009-09-21 02:29:07 UTC (rev 4468) +++ trunk/src/client/charapp.cpp 2009-09-21 03:50:44 UTC (rev 4469) @@ -593,6 +593,7 @@ if ( mesh.Length() ) { + ClearEquipment(slotname); Detach(slotname); } @@ -1055,13 +1056,6 @@ return; } - csArray<csString> deleteList = usedSlots; - - for ( size_t z = 0; z < deleteList.GetSize(); z++ ) - { - Detach(deleteList[z]); - } - if(psengine->GetEffectManager()) { csHash<int, csString>::GlobalIterator effectItr = effectids.GetIterator(); @@ -1074,10 +1068,16 @@ csHash<int, csString>::GlobalIterator lightItr = lightids.GetIterator(); while(lightItr.HasNext()) { - psengine->GetEffectManager()->DeleteEffect(lightItr.Next()); + psengine->GetEffectManager()->DetachLight(lightItr.Next()); } lightids.Empty(); } + + csArray<csString> deleteList = usedSlots; + for ( size_t z = 0; z < deleteList.GetSize(); z++ ) + { + Detach(deleteList[z]); + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2010-01-13 21:54:55
|
Revision: 5278 http://planeshift.svn.sourceforge.net/planeshift/?rev=5278&view=rev Author: mgist Date: 2010-01-13 21:54:41 +0000 (Wed, 13 Jan 2010) Log Message: ----------- - Extra sanity check. Modified Paths: -------------- trunk/src/client/charapp.cpp Modified: trunk/src/client/charapp.cpp =================================================================== --- trunk/src/client/charapp.cpp 2010-01-13 21:44:56 UTC (rev 5277) +++ trunk/src/client/charapp.cpp 2010-01-13 21:54:41 UTC (rev 5278) @@ -1083,8 +1083,9 @@ bool psCharAppearance::Detach(const char* socketName, bool removeItem ) { - if (!socketName) + if (!socketName || !state.IsValid()) { + CS_ASSERT(state.IsValid()); return false; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2010-01-14 14:33:17
|
Revision: 5283 http://planeshift.svn.sourceforge.net/planeshift/?rev=5283&view=rev Author: weltall2 Date: 2010-01-14 12:40:39 +0000 (Thu, 14 Jan 2010) Log Message: ----------- fixed Attach() crash as template of Detach() Modified Paths: -------------- trunk/src/client/charapp.cpp Modified: trunk/src/client/charapp.cpp =================================================================== --- trunk/src/client/charapp.cpp 2010-01-14 09:46:53 UTC (rev 5282) +++ trunk/src/client/charapp.cpp 2010-01-14 12:40:39 UTC (rev 5283) @@ -769,10 +769,12 @@ bool psCharAppearance::Attach(const char* socketName, const char* meshFactName) { - if (!socketName || !meshFactName) + if (!socketName || !meshFactName || !state.IsValid) + { + CS_ASSERT(state.IsValid()); return false; + } - csRef<iSpriteCal3DSocket> socket = state->FindSocket( socketName ); if ( !socket ) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2010-01-14 15:39:01
|
Revision: 5285 http://planeshift.svn.sourceforge.net/planeshift/?rev=5285&view=rev Author: weltall2 Date: 2010-01-14 15:38:55 +0000 (Thu, 14 Jan 2010) Log Message: ----------- fixed Modified Paths: -------------- trunk/src/client/charapp.cpp Modified: trunk/src/client/charapp.cpp =================================================================== --- trunk/src/client/charapp.cpp 2010-01-14 12:42:37 UTC (rev 5284) +++ trunk/src/client/charapp.cpp 2010-01-14 15:38:55 UTC (rev 5285) @@ -769,7 +769,7 @@ bool psCharAppearance::Attach(const char* socketName, const char* meshFactName) { - if (!socketName || !meshFactName || !state.IsValid) + if (!socketName || !meshFactName || !state.IsValid()) { CS_ASSERT(state.IsValid()); return false; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2010-01-15 16:59:26
|
Revision: 5298 http://planeshift.svn.sourceforge.net/planeshift/?rev=5298&view=rev Author: weltall2 Date: 2010-01-15 16:59:19 +0000 (Fri, 15 Jan 2010) Log Message: ----------- fixed in this way for now another possible crash Modified Paths: -------------- trunk/src/client/charapp.cpp Modified: trunk/src/client/charapp.cpp =================================================================== --- trunk/src/client/charapp.cpp 2010-01-15 12:25:13 UTC (rev 5297) +++ trunk/src/client/charapp.cpp 2010-01-15 16:59:19 UTC (rev 5298) @@ -820,6 +820,10 @@ void psCharAppearance::ProcessAttach(csRef<iMeshWrapper> meshWrap, csRef<iSpriteCal3DSocket> socket) { + CS_ASSERT(!socket.IsValid()); + if(!socket.IsValid()) + return; + meshWrap->GetFlags().Set(CS_ENTITY_NODECAL); const char* socketName = socket->GetName(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Kha...@us...> - 2010-01-15 18:41:24
|
Revision: 5300 http://planeshift.svn.sourceforge.net/planeshift/?rev=5300&view=rev Author: Khakilord Date: 2010-01-15 18:41:17 +0000 (Fri, 15 Jan 2010) Log Message: ----------- Removed some more asserts on known issues that made the debug build unusable. Modified Paths: -------------- trunk/src/client/charapp.cpp Modified: trunk/src/client/charapp.cpp =================================================================== --- trunk/src/client/charapp.cpp 2010-01-15 18:39:10 UTC (rev 5299) +++ trunk/src/client/charapp.cpp 2010-01-15 18:41:17 UTC (rev 5300) @@ -771,9 +771,9 @@ { if (!socketName || !meshFactName || !state.IsValid()) { - CS_ASSERT(state.IsValid()); return false; } + CS_ASSERT(state.IsValid()); csRef<iSpriteCal3DSocket> socket = state->FindSocket( socketName ); if ( !socket ) @@ -820,9 +820,9 @@ void psCharAppearance::ProcessAttach(csRef<iMeshWrapper> meshWrap, csRef<iSpriteCal3DSocket> socket) { - CS_ASSERT(!socket.IsValid()); if(!socket.IsValid()) return; + CS_ASSERT(!socket.IsValid()); meshWrap->GetFlags().Set(CS_ENTITY_NODECAL); const char* socketName = socket->GetName(); @@ -1091,9 +1091,9 @@ { if (!socketName || !state.IsValid()) { - CS_ASSERT(state.IsValid()); return false; } + CS_ASSERT(state.IsValid()); csRef<iSpriteCal3DSocket> socket = state->FindSocket( socketName ); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2010-01-15 18:56:17
|
Revision: 5301 http://planeshift.svn.sourceforge.net/planeshift/?rev=5301&view=rev Author: weltall2 Date: 2010-01-15 18:56:11 +0000 (Fri, 15 Jan 2010) Log Message: ----------- inverted logic Modified Paths: -------------- trunk/src/client/charapp.cpp Modified: trunk/src/client/charapp.cpp =================================================================== --- trunk/src/client/charapp.cpp 2010-01-15 18:41:17 UTC (rev 5300) +++ trunk/src/client/charapp.cpp 2010-01-15 18:56:11 UTC (rev 5301) @@ -822,7 +822,7 @@ { if(!socket.IsValid()) return; - CS_ASSERT(!socket.IsValid()); + CS_ASSERT(socket.IsValid()); meshWrap->GetFlags().Set(CS_ENTITY_NODECAL); const char* socketName = socket->GetName(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2010-02-08 22:41:27
|
Revision: 5485 http://planeshift.svn.sourceforge.net/planeshift/?rev=5485&view=rev Author: mgist Date: 2010-02-08 22:41:21 +0000 (Mon, 08 Feb 2010) Log Message: ----------- - Sanity check. Modified Paths: -------------- trunk/src/client/charapp.cpp Modified: trunk/src/client/charapp.cpp =================================================================== --- trunk/src/client/charapp.cpp 2010-02-08 22:03:39 UTC (rev 5484) +++ trunk/src/client/charapp.cpp 2010-02-08 22:41:21 UTC (rev 5485) @@ -1077,7 +1077,7 @@ } // Set stateFactory defaults if no skinToneSet found. - if ( !skinToneSetFound ) + if ( !skinToneSetFound && stateFactory.IsValid() ) { ChangeMaterial(part, stateFactory->GetDefaultMaterial(part)); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2010-05-28 12:10:46
|
Revision: 5946 http://planeshift.svn.sourceforge.net/planeshift/?rev=5946&view=rev Author: weltall2 Date: 2010-05-28 12:10:36 +0000 (Fri, 28 May 2010) Log Message: ----------- fixed mesh attachment when socket is missing Modified Paths: -------------- trunk/src/client/charapp.cpp Modified: trunk/src/client/charapp.cpp =================================================================== --- trunk/src/client/charapp.cpp 2010-05-28 11:25:29 UTC (rev 5945) +++ trunk/src/client/charapp.cpp 2010-05-28 12:10:36 UTC (rev 5946) @@ -970,7 +970,6 @@ } } - meshWrap->QuerySceneNode()->SetParent( baseMesh->QuerySceneNode ()); csReversibleTransform transform(csZRotMatrix3(rot_z)*csYRotMatrix3(rot_y)*csXRotMatrix3(rot_x), csVector3(trans_x,trans_y,trans_z)); if (state.IsValid()) @@ -978,6 +977,7 @@ csRef<iSpriteCal3DSocket> cal3DSocket = state->FindSocket(socket); if (cal3DSocket.IsValid()) { + meshWrap->QuerySceneNode()->SetParent( baseMesh->QuerySceneNode ()); cal3DSocket->SetMeshWrapper(meshWrap); cal3DSocket->SetTransform(transform); } @@ -987,6 +987,7 @@ size_t idx = animeshFactory->FindSocket(socket); if (idx != (size_t)-1) { + meshWrap->QuerySceneNode()->SetParent( baseMesh->QuerySceneNode ()); csRef<iAnimatedMeshSocket> animeshSocket = animeshObject->GetSocket(idx); animeshSocket->SetSceneNode(meshWrap->QuerySceneNode()); animeshSocket->SetTransform(transform); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2010-05-29 18:33:03
|
Revision: 5948 http://planeshift.svn.sourceforge.net/planeshift/?rev=5948&view=rev Author: weltall2 Date: 2010-05-29 18:32:56 +0000 (Sat, 29 May 2010) Log Message: ----------- now you can sneak without crashing yourself and everyone else Modified Paths: -------------- trunk/src/client/charapp.cpp Modified: trunk/src/client/charapp.cpp =================================================================== --- trunk/src/client/charapp.cpp 2010-05-28 15:42:46 UTC (rev 5947) +++ trunk/src/client/charapp.cpp 2010-05-29 18:32:56 UTC (rev 5948) @@ -1491,7 +1491,9 @@ csRef<iMeshWrapper> meshWrap; if(state.IsValid()) { - meshWrap = state->FindSocket(usedSlots[i])->GetMeshWrapper(); + iSpriteSocket *socket = state->FindSocket(usedSlots[i]); + if(socket) + meshWrap = socket->GetMeshWrapper(); } else if(animeshObject.IsValid() && animeshFactory.IsValid()) { @@ -1506,18 +1508,21 @@ } } - csShaderVariable* var = meshWrap->GetSVContext()->GetVariableAdd(varName); + if(meshWrap.IsValid()) + { + csShaderVariable* var = meshWrap->GetSVContext()->GetVariableAdd(varName); - if(sneaking) - { - meshWrap->SetRenderPriority(engine->GetRenderPriority("alpha")); - var->SetValue(0.5f); + if(sneaking) + { + meshWrap->SetRenderPriority(engine->GetRenderPriority("alpha")); + var->SetValue(0.5f); + } + else + { + meshWrap->SetRenderPriority(engine->GetRenderPriority("object")); + var->SetValue(1.0f); + } } - else - { - meshWrap->SetRenderPriority(engine->GetRenderPriority("object")); - var->SetValue(1.0f); - } } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2010-06-03 18:11:10
|
Revision: 5958 http://planeshift.svn.sourceforge.net/planeshift/?rev=5958&view=rev Author: weltall2 Date: 2010-06-03 18:11:04 +0000 (Thu, 03 Jun 2010) Log Message: ----------- removed printf Modified Paths: -------------- trunk/src/client/charapp.cpp Modified: trunk/src/client/charapp.cpp =================================================================== --- trunk/src/client/charapp.cpp 2010-06-03 02:27:58 UTC (rev 5957) +++ trunk/src/client/charapp.cpp 2010-06-03 18:11:04 UTC (rev 5958) @@ -489,13 +489,11 @@ void psCharAppearance::UpdateMeshShowStatus(csString& meshName) { - printf("removing %s...\n", meshName.GetData()); uint meshKey = csHashCompute(meshName); //check if the requested mesh was already removed if(removedMeshes.Contains(meshKey)) { - printf("removing!\n"); //in the case it is remove it. Useful when a mesh is substituited to update it's status correctly. if(state) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rly...@us...> - 2010-07-15 18:32:13
|
Revision: 6041 http://planeshift.svn.sourceforge.net/planeshift/?rev=6041&view=rev Author: rlydontknow Date: 2010-07-15 18:32:07 +0000 (Thu, 15 Jul 2010) Log Message: ----------- fixed PS#4560 - texture mess in char creation added an error if a detach fails Modified Paths: -------------- trunk/src/client/charapp.cpp Modified: trunk/src/client/charapp.cpp =================================================================== --- trunk/src/client/charapp.cpp 2010-07-15 18:30:40 UTC (rev 6040) +++ trunk/src/client/charapp.cpp 2010-07-15 18:32:07 UTC (rev 6041) @@ -105,6 +105,11 @@ DefaultMaterial(part); } + while(CheckLoadStatus()) + { + continue; // wait for material resets to finish + } + state.Invalidate(); stateFactory.Invalidate(); animeshObject.Invalidate(); @@ -119,6 +124,17 @@ psengine->GetLoader()->FreeMaterial(value); } materials.DeleteAll(); + removedMeshes.DeleteAll(); + + // reset traits + skinToneSet.DeleteAll(); + faceMaterial.Clear(); + eyeMesh.Clear(); + eyeColorSet = false; + hairMesh.Clear(); + hairColorSet = false; + beardMesh.Clear(); + beardAttached = false; } psCharAppearance::~psCharAppearance() @@ -1365,7 +1381,10 @@ csArray<csString> deleteList = usedSlots; for ( size_t z = 0; z < deleteList.GetSize(); z++ ) { - Detach(deleteList[z]); + if(!Detach(deleteList[z])) + { + Error2("failed to detach slot %s", deleteList[z].GetData()); + } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2010-08-01 03:19:50
|
Revision: 6094 http://planeshift.svn.sourceforge.net/planeshift/?rev=6094&view=rev Author: weltall2 Date: 2010-08-01 03:19:44 +0000 (Sun, 01 Aug 2010) Log Message: ----------- fixed removal of substituitable meshes (eg Hair#). These mesh have substitution marker in the mesh removal list which needs to be put in place of the plain name in the database $H for helms $B for beards $E for eyes. fixes PS#4624 - Nolthrir Hair Addition After Helmet Removal and similars Modified Paths: -------------- trunk/src/client/charapp.cpp Modified: trunk/src/client/charapp.cpp =================================================================== --- trunk/src/client/charapp.cpp 2010-08-01 02:58:56 UTC (rev 6093) +++ trunk/src/client/charapp.cpp 2010-08-01 03:19:44 UTC (rev 6094) @@ -320,7 +320,6 @@ } } } - if ( hairColorSet ) HairColor(hairShader); } @@ -426,6 +425,11 @@ if(meshList.IsEmpty() || slot.IsEmpty()) return; + //allows substituiters for replaceable meshes. + meshList.ReplaceAll("$H", hairMesh.Length() ? hairMesh : "Hair"); + meshList.ReplaceAll("$E", eyeMesh.Length() ? eyeMesh : "Eyes"); + meshList.ReplaceAll("$B", beardMesh.Length() ? beardMesh : "Beard"); + //first split the meshlist csStringArray meshes; meshes.SplitString(meshList, ","); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rly...@us...> - 2010-08-01 03:25:31
|
Revision: 6095 http://planeshift.svn.sourceforge.net/planeshift/?rev=6095&view=rev Author: rlydontknow Date: 2010-08-01 03:25:25 +0000 (Sun, 01 Aug 2010) Log Message: ----------- reset to defaults, not empty values Modified Paths: -------------- trunk/src/client/charapp.cpp Modified: trunk/src/client/charapp.cpp =================================================================== --- trunk/src/client/charapp.cpp 2010-08-01 03:19:44 UTC (rev 6094) +++ trunk/src/client/charapp.cpp 2010-08-01 03:25:25 UTC (rev 6095) @@ -129,12 +129,12 @@ // reset traits skinToneSet.DeleteAll(); faceMaterial.Clear(); - eyeMesh.Clear(); eyeColorSet = false; - hairMesh.Clear(); hairColorSet = false; - beardMesh.Clear(); beardAttached = false; + eyeMesh = "Eyes"; + hairMesh = "Hair"; + beardMesh = "Beard"; } psCharAppearance::~psCharAppearance() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2010-08-01 03:31:39
|
Revision: 6096 http://planeshift.svn.sourceforge.net/planeshift/?rev=6096&view=rev Author: weltall2 Date: 2010-08-01 03:31:33 +0000 (Sun, 01 Aug 2010) Log Message: ----------- fixed wrong variable being changed during assignment of a new hair mesh (animesh path) Modified Paths: -------------- trunk/src/client/charapp.cpp Modified: trunk/src/client/charapp.cpp =================================================================== --- trunk/src/client/charapp.cpp 2010-08-01 03:25:25 UTC (rev 6095) +++ trunk/src/client/charapp.cpp 2010-08-01 03:31:33 UTC (rev 6096) @@ -315,7 +315,7 @@ if (!strcmp(meshName, newPartParsed)) { animeshObject->GetSubMesh(idx)->SetRendering(true); - beardMesh = newPartParsed; + hairMesh = newPartParsed; } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2010-08-01 03:46:57
|
Revision: 6097 http://planeshift.svn.sourceforge.net/planeshift/?rev=6097&view=rev Author: weltall2 Date: 2010-08-01 03:46:51 +0000 (Sun, 01 Aug 2010) Log Message: ----------- charapp optimizations: don't check for empty *mesh as it shouldn't be empty at any time and don't do weird assignment and reassignment if HairMesh() is called Modified Paths: -------------- trunk/src/client/charapp.cpp Modified: trunk/src/client/charapp.cpp =================================================================== --- trunk/src/client/charapp.cpp 2010-08-01 03:31:33 UTC (rev 6096) +++ trunk/src/client/charapp.cpp 2010-08-01 03:46:51 UTC (rev 6097) @@ -64,6 +64,7 @@ txtmgr = g3d->GetTextureManager(); xmlparser = csQueryRegistry<iDocumentSystem> (objectReg); + //NOTE: THESE MUST BE VALID AT ALL TIMES! eyeMesh = "Eyes"; hairMesh = "Hair"; beardMesh = "Beard"; @@ -268,15 +269,8 @@ void psCharAppearance::HairMesh(csString& subMesh) { - hairMesh = subMesh; + csString newPartParsed = subMesh.Length() ? ParseStrings("Hair", subMesh) : hairMesh; - if ( hairMesh.Length() == 0 ) - { - hairMesh = "Hair"; - } - - csString newPartParsed = ParseStrings("Hair", hairMesh); - if(state && stateFactory) { int newMeshAvailable = stateFactory->FindMeshName(newPartParsed); @@ -327,64 +321,57 @@ void psCharAppearance::HairColor(csVector3& color) { - if ( hairMesh.Length() == 0 ) + hairShader = color; + csRef<iShaderVariableContext> context_hair; + csRef<iShaderVariableContext> context_beard; + + if(state) { - return; + context_hair = state->GetCoreMeshShaderVarContext(hairMesh); + context_beard = state->GetCoreMeshShaderVarContext(beardMesh); } - else + else if(animeshObject && animeshFactory) { - hairShader = color; - csRef<iShaderVariableContext> context_hair; - csRef<iShaderVariableContext> context_beard; - - if(state) + for ( size_t idx=0; idx < animeshFactory->GetSubMeshCount(); idx++) { - context_hair = state->GetCoreMeshShaderVarContext(hairMesh); - context_beard = state->GetCoreMeshShaderVarContext(beardMesh); - } - else if(animeshObject && animeshFactory) - { - for ( size_t idx=0; idx < animeshFactory->GetSubMeshCount(); idx++) + const char* meshName = animeshFactory->GetSubMesh(idx)->GetName(); + if(meshName) { - const char* meshName = animeshFactory->GetSubMesh(idx)->GetName(); - if(meshName) + if (!strcmp(meshName, hairMesh)) { - if (!strcmp(meshName, hairMesh)) - { - context_hair = animeshObject->GetSubMesh(idx)->GetShaderVariableContext(0); - } + context_hair = animeshObject->GetSubMesh(idx)->GetShaderVariableContext(0); + } - if (!strcmp(meshName, beardMesh)) - { - context_beard = animeshObject->GetSubMesh(idx)->GetShaderVariableContext(0); - } + if (!strcmp(meshName, beardMesh)) + { + context_beard = animeshObject->GetSubMesh(idx)->GetShaderVariableContext(0); } } } + } - if ( context_hair.IsValid() ) - { - CS::ShaderVarStringID varName = stringSet->Request("color modulation"); - csShaderVariable* var = context_hair->GetVariableAdd(varName); + if ( context_hair.IsValid() ) + { + CS::ShaderVarStringID varName = stringSet->Request("color modulation"); + csShaderVariable* var = context_hair->GetVariableAdd(varName); - if ( var ) - { - var->SetValue(hairShader); - } + if ( var ) + { + var->SetValue(hairShader); } + } - if ( context_beard.IsValid() ) - { - CS::ShaderVarStringID varName = stringSet->Request("color modulation"); - csShaderVariable* var = context_beard->GetVariableAdd(varName); + if ( context_beard.IsValid() ) + { + CS::ShaderVarStringID varName = stringSet->Request("color modulation"); + csShaderVariable* var = context_beard->GetVariableAdd(varName); - if ( var ) - { - var->SetValue(hairShader); - } + if ( var ) + { + var->SetValue(hairShader); } - hairColorSet = true; } + hairColorSet = true; } void psCharAppearance::EyeColor(csVector3& color) @@ -426,9 +413,9 @@ return; //allows substituiters for replaceable meshes. - meshList.ReplaceAll("$H", hairMesh.Length() ? hairMesh : "Hair"); - meshList.ReplaceAll("$E", eyeMesh.Length() ? eyeMesh : "Eyes"); - meshList.ReplaceAll("$B", beardMesh.Length() ? beardMesh : "Beard"); + meshList.ReplaceAll("$H", hairMesh); + meshList.ReplaceAll("$E", eyeMesh); + meshList.ReplaceAll("$B", beardMesh); //first split the meshlist csStringArray meshes; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2010-08-01 04:01:57
|
Revision: 6098 http://planeshift.svn.sourceforge.net/planeshift/?rev=6098&view=rev Author: weltall2 Date: 2010-08-01 04:01:51 +0000 (Sun, 01 Aug 2010) Log Message: ----------- watchdog for weird csstringarray behaviour Modified Paths: -------------- trunk/src/client/charapp.cpp Modified: trunk/src/client/charapp.cpp =================================================================== --- trunk/src/client/charapp.cpp 2010-08-01 03:46:51 UTC (rev 6097) +++ trunk/src/client/charapp.cpp 2010-08-01 04:01:51 UTC (rev 6098) @@ -417,9 +417,14 @@ meshList.ReplaceAll("$E", eyeMesh); meshList.ReplaceAll("$B", beardMesh); + //check if we have still meshes to work on + if(!meshList.Length()) + return; + //first split the meshlist csStringArray meshes; meshes.SplitString(meshList, ","); + for(size_t i = 0; i < meshes.GetSize(); i++) { csString meshName = meshes.Get(i); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2010-08-01 04:38:15
|
Revision: 6099 http://planeshift.svn.sourceforge.net/planeshift/?rev=6099&view=rev Author: weltall2 Date: 2010-08-01 04:38:09 +0000 (Sun, 01 Aug 2010) Log Message: ----------- changed code to be based on a fix in cs r34639 Modified Paths: -------------- trunk/src/client/charapp.cpp Modified: trunk/src/client/charapp.cpp =================================================================== --- trunk/src/client/charapp.cpp 2010-08-01 04:01:51 UTC (rev 6098) +++ trunk/src/client/charapp.cpp 2010-08-01 04:38:09 UTC (rev 6099) @@ -417,10 +417,6 @@ meshList.ReplaceAll("$E", eyeMesh); meshList.ReplaceAll("$B", beardMesh); - //check if we have still meshes to work on - if(!meshList.Length()) - return; - //first split the meshlist csStringArray meshes; meshes.SplitString(meshList, ","); @@ -428,6 +424,11 @@ for(size_t i = 0; i < meshes.GetSize(); i++) { csString meshName = meshes.Get(i); + + //if the meshname is empty skip to the next. + if(meshName.IsEmpty()) + continue; + uint meshKey = csHashCompute(meshName); if (show) //in this case we are removing a restrain from hiding this mesh. { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2010-08-01 04:48:57
|
Revision: 6100 http://planeshift.svn.sourceforge.net/planeshift/?rev=6100&view=rev Author: weltall2 Date: 2010-08-01 04:48:51 +0000 (Sun, 01 Aug 2010) Log Message: ----------- style fixes Modified Paths: -------------- trunk/src/client/charapp.cpp Modified: trunk/src/client/charapp.cpp =================================================================== --- trunk/src/client/charapp.cpp 2010-08-01 04:38:09 UTC (rev 6099) +++ trunk/src/client/charapp.cpp 2010-08-01 04:48:51 UTC (rev 6100) @@ -379,7 +379,6 @@ eyeShader = color; iShaderVariableContext* context_eyes; - if(state) { context_eyes = state->GetCoreMeshShaderVarContext(eyeMesh); @@ -503,7 +502,7 @@ void psCharAppearance::UpdateMeshShowStatus(csString& meshName) { uint meshKey = csHashCompute(meshName); - + //check if the requested mesh was already removed if(removedMeshes.Contains(meshKey)) { @@ -942,7 +941,7 @@ return false; } } - + Detach(socketName); // detach anything previously attached (free ressources) if(!factory.IsValid() || (materialName != NULL && !material.IsValid())) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2010-11-19 19:23:20
|
Revision: 6414 http://planeshift.svn.sourceforge.net/planeshift/?rev=6414&view=rev Author: weltall2 Date: 2010-11-19 19:23:14 +0000 (Fri, 19 Nov 2010) Log Message: ----------- fixed PS#4814 - Klyros wings don't turn translucent during sneaking Modified Paths: -------------- trunk/src/client/charapp.cpp Modified: trunk/src/client/charapp.cpp =================================================================== --- trunk/src/client/charapp.cpp 2010-11-19 19:03:33 UTC (rev 6413) +++ trunk/src/client/charapp.cpp 2010-11-19 19:23:14 UTC (rev 6414) @@ -50,8 +50,9 @@ #include <csutil/callstack.h> -static const unsigned int meshCount = 9; +/*static const unsigned int meshCount = 9; static const char* meshNames[meshCount] = { "Head", "Torso", "Hand", "Legs", "Foot", "Arm", "Eyes", "Hair", "Beard" }; +*/ static const unsigned int bracersSlotCount = 2; static csString BracersSlots[bracersSlotCount] = { "rightarm", "leftarm" }; @@ -1484,6 +1485,12 @@ if(sneak != sneaking) { sneak = sneaking; + int meshAmt = 0; + + if(state && stateFactory) + meshAmt = stateFactory->GetMeshCount(); + else if(animeshObject && animeshFactory) + meshAmt = animeshFactory->GetSubMeshCount(); // Apply to base/core mesh. if(sneaking) @@ -1496,20 +1503,20 @@ } CS::ShaderVarStringID varName = stringSet->Request("alpha factor"); - for(uint i=0; i<meshCount; i++) + for(uint idx = 0; idx < meshAmt; idx++) { iShaderVariableContext* context = NULL; if(state.IsValid()) { - context = state->GetCoreMeshShaderVarContext(meshNames[i]); + context = state->GetCoreMeshShaderVarContext(stateFactory->GetMeshName(idx)); } else if(animeshObject.IsValid() && animeshFactory.IsValid()) { - size_t idx = animeshFactory->FindSubMesh(meshNames[i]); + /*size_t idx = animeshFactory->FindSubMesh(animeshFactory->GetSubMesh(i)->GetName()); if(idx != (size_t)-1) - { + {*/ context = animeshObject->GetSubMesh(idx)->GetShaderVariableContext(0); - } + //} } if(context) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2010-11-19 19:24:32
|
Revision: 6415 http://planeshift.svn.sourceforge.net/planeshift/?rev=6415&view=rev Author: weltall2 Date: 2010-11-19 19:24:26 +0000 (Fri, 19 Nov 2010) Log Message: ----------- removed useless code Modified Paths: -------------- trunk/src/client/charapp.cpp Modified: trunk/src/client/charapp.cpp =================================================================== --- trunk/src/client/charapp.cpp 2010-11-19 19:23:14 UTC (rev 6414) +++ trunk/src/client/charapp.cpp 2010-11-19 19:24:26 UTC (rev 6415) @@ -1512,11 +1512,7 @@ } else if(animeshObject.IsValid() && animeshFactory.IsValid()) { - /*size_t idx = animeshFactory->FindSubMesh(animeshFactory->GetSubMesh(i)->GetName()); - if(idx != (size_t)-1) - {*/ - context = animeshObject->GetSubMesh(idx)->GetShaderVariableContext(0); - //} + context = animeshObject->GetSubMesh(idx)->GetShaderVariableContext(0); } if(context) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2010-11-19 19:33:35
|
Revision: 6416 http://planeshift.svn.sourceforge.net/planeshift/?rev=6416&view=rev Author: weltall2 Date: 2010-11-19 19:33:29 +0000 (Fri, 19 Nov 2010) Log Message: ----------- other useless code Modified Paths: -------------- trunk/src/client/charapp.cpp Modified: trunk/src/client/charapp.cpp =================================================================== --- trunk/src/client/charapp.cpp 2010-11-19 19:24:26 UTC (rev 6415) +++ trunk/src/client/charapp.cpp 2010-11-19 19:33:29 UTC (rev 6416) @@ -50,9 +50,6 @@ #include <csutil/callstack.h> -/*static const unsigned int meshCount = 9; -static const char* meshNames[meshCount] = { "Head", "Torso", "Hand", "Legs", "Foot", "Arm", "Eyes", "Hair", "Beard" }; -*/ static const unsigned int bracersSlotCount = 2; static csString BracersSlots[bracersSlotCount] = { "rightarm", "leftarm" }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |