bool SegmentedSkeletonCombiner::ParseConfiguration(clientInfo_t* ci, const char* token, const char** data_p) { if (Q_stricmp(token, "legBones")) { return false; } token = COM_Parse2(data_p); if (!token || token[0] != '{') { Log::Notice("^1ERROR^*: Expected '{' but found '%s' in character.cfg\n", token); return false; } while (1) { token = COM_Parse2(data_p); if (!token || token[0] == '}') { return true; } int bone = BoneLookup(ci, token); if (bone >= 0) { legBoneIndices.push_back(bone); } } }
bool BsuitSkeletonRotations::ParseConfiguration(clientInfo_t* ci, const char* token, const char** data_p) { if (!Q_stricmp(token, "torsoControlBone")) { torsoControlBone = BoneLookup(ci, COM_Parse2(data_p)); return true; } if (!Q_stricmp(token, "leftShoulder")) { leftShoulderBone = BoneLookup(ci, COM_Parse2(data_p)); return true; } if (!Q_stricmp(token, "rightShoulder")) { rightShoulderBone = BoneLookup(ci, COM_Parse2(data_p)); return true; } return false; }
bool AnimDelta::ParseConfiguration(clientInfo_t* ci, const char* token2, const char** data_p) { if ( Q_stricmp( token2, "handBones" ) ) return false; char* token = COM_Parse2( data_p ); if ( !token || token[0] != '{' ) { Log::Notice( "^1ERROR^7: Expected '{' but found '%s' in %s's character.cfg", token, ci->modelName ); return false; } while ( 1 ) { token = COM_Parse( data_p ); if ( !token || token[0] == '}' ) break; int index = trap_R_BoneIndex( ci->bodyModel, token ); if ( index < 0 ) { Log::Warn("AnimDelta: Error finding bone '%s' in %s", token, ci->modelName ); } boneIndicies_.push_back( index ); } return true; }