aboutsummaryrefslogtreecommitdiff
path: root/mp/src/public/bone_setup.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'mp/src/public/bone_setup.cpp')
-rw-r--r--mp/src/public/bone_setup.cpp42
1 files changed, 23 insertions, 19 deletions
diff --git a/mp/src/public/bone_setup.cpp b/mp/src/public/bone_setup.cpp
index 250133d5..4630c730 100644
--- a/mp/src/public/bone_setup.cpp
+++ b/mp/src/public/bone_setup.cpp
@@ -5894,28 +5894,32 @@ int Studio_FindRandomAttachment( const CStudioHdr *pStudioHdr, const char *pAtta
int Studio_BoneIndexByName( const CStudioHdr *pStudioHdr, const char *pName )
{
- // binary search for the bone matching pName
- int start = 0, end = pStudioHdr->numbones()-1;
- const byte *pBoneTable = pStudioHdr->GetBoneTableSortedByName();
- mstudiobone_t *pbones = pStudioHdr->pBone( 0 );
- while (start <= end)
- {
- int mid = (start + end) >> 1;
- int cmp = Q_stricmp( pbones[pBoneTable[mid]].pszName(), pName );
-
- if ( cmp < 0 )
- {
- start = mid + 1;
- }
- else if ( cmp > 0 )
- {
- end = mid - 1;
- }
- else
+ if ( pStudioHdr )
+ {
+ // binary search for the bone matching pName
+ int start = 0, end = pStudioHdr->numbones()-1;
+ const byte *pBoneTable = pStudioHdr->GetBoneTableSortedByName();
+ mstudiobone_t *pbones = pStudioHdr->pBone( 0 );
+ while (start <= end)
{
- return pBoneTable[mid];
+ int mid = (start + end) >> 1;
+ int cmp = Q_stricmp( pbones[pBoneTable[mid]].pszName(), pName );
+
+ if ( cmp < 0 )
+ {
+ start = mid + 1;
+ }
+ else if ( cmp > 0 )
+ {
+ end = mid - 1;
+ }
+ else
+ {
+ return pBoneTable[mid];
+ }
}
}
+
return -1;
}