mirror of
https://github.com/halpz/re3.git
synced 2025-07-13 23:38:12 +00:00
Merge pull request #263 from Sergeanur/strcmp
Implemented faststrcmp, faststricmp, strcasecmp
This commit is contained in:
@ -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;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user