mirror of
https://github.com/GTAmodding/re3.git
synced 2025-10-08 08:50:35 +00:00
Merge pull request #263 from Sergeanur/strcmp
Implemented faststrcmp, faststricmp, strcasecmp
This commit is contained in:
commit
0df15bb73d
19 changed files with 101 additions and 53 deletions
|
@ -1,5 +1,6 @@
|
|||
#include "common.h"
|
||||
#include "patcher.h"
|
||||
#include "General.h"
|
||||
#include "ModelInfo.h"
|
||||
#include "AnimManager.h"
|
||||
#include "RpAnimBlend.h"
|
||||
|
@ -38,7 +39,7 @@ CAnimBlendAssocGroup::GetAnimation(const char *name)
|
|||
{
|
||||
int i;
|
||||
for(i = 0; i < numAssociations; i++)
|
||||
if(strcmpi(assocList[i].hierarchy->name, name) == 0)
|
||||
if(!CGeneral::faststricmp(assocList[i].hierarchy->name, name))
|
||||
return &assocList[i];
|
||||
return nil;
|
||||
}
|
||||
|
@ -64,7 +65,7 @@ CAnimBlendAssocGroup::CopyAnimation(const char *name)
|
|||
return new CAnimBlendAssociation(*anim);
|
||||
}
|
||||
|
||||
int
|
||||
bool
|
||||
strcmpIgnoringDigits(const char *s1, const char *s2)
|
||||
{
|
||||
char c1, c2;
|
||||
|
@ -75,13 +76,13 @@ strcmpIgnoringDigits(const char *s1, const char *s2)
|
|||
if(c1) s1++;
|
||||
if(c2) s2++;
|
||||
if(c1 == '\0' && c2 == '\0')
|
||||
return 1;
|
||||
if(islower(c1)) c1 = toupper(c1);
|
||||
if(islower(c2)) c2 = toupper(c2);
|
||||
if(isdigit(c1) && isdigit(c2))
|
||||
return true;
|
||||
if(__ascii_iswdigit(c1) && __ascii_iswdigit(c2))
|
||||
continue;
|
||||
c1 = __ascii_toupper(c1);
|
||||
c2 = __ascii_toupper(c2);
|
||||
if(c1 != c2)
|
||||
return 0;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
#include "common.h"
|
||||
#include "patcher.h"
|
||||
#include "General.h"
|
||||
#include "ModelInfo.h"
|
||||
#include "ModelIndices.h"
|
||||
#include "FileMgr.h"
|
||||
|
@ -605,7 +606,7 @@ CAnimManager::GetAnimationBlock(const char *name)
|
|||
int i;
|
||||
|
||||
for(i = 0; i < ms_numAnimBlocks; i++)
|
||||
if(strcmpi(ms_aAnimBlocks[i].name, name) == 0)
|
||||
if(strcasecmp(ms_aAnimBlocks[i].name, name) == 0)
|
||||
return &ms_aAnimBlocks[i];
|
||||
return nil;
|
||||
}
|
||||
|
@ -617,7 +618,7 @@ CAnimManager::GetAnimation(const char *name, CAnimBlock *animBlock)
|
|||
CAnimBlendHierarchy *hier = &ms_aAnimations[animBlock->firstIndex];
|
||||
|
||||
for(i = 0; i < animBlock->numAnims; i++){
|
||||
if(strcmpi(hier->name, name) == 0)
|
||||
if(!CGeneral::faststricmp(hier->name, name))
|
||||
return hier;
|
||||
hier++;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
#include "common.h"
|
||||
#include "patcher.h"
|
||||
#include "General.h"
|
||||
#include "NodeName.h"
|
||||
#include "VisibilityPlugins.h"
|
||||
#include "AnimBlendClumpData.h"
|
||||
|
@ -320,7 +321,7 @@ void
|
|||
FrameFindCallBack(AnimBlendFrameData *frame, void *arg)
|
||||
{
|
||||
char *nodename = GetFrameNodeName(frame->frame);
|
||||
if(strcmpi(nodename, (char*)arg) == 0)
|
||||
if(!CGeneral::faststricmp(nodename, (char*)arg))
|
||||
pFrameDataFound = frame;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue