コード例 #1
0
ファイル: KG3DAnimationWarper.cpp プロジェクト: 1suming/pap2
HRESULT KG3DAnimationWarper::Helper_LoadBipExtraInfo(IFile *pFile)
{
    HRESULT hr = E_FAIL;
    unsigned long uSize = 0;
    KG3DSkeleton::SerializeData Data;
    m_BoneMatchTable.clear();

    KG_PROCESS_ERROR(pFile);

    uSize = pFile->Read(&Data, sizeof(KG3DSkeleton::SerializeData));
    KGLOG_PROCESS_ERROR(uSize == sizeof(KG3DSkeleton::SerializeData));

    KG_PROCESS_ERROR(Data.dwMask == KG3DSkeleton::SerializeData::cdwMask);
    KG_PROCESS_ERROR(Data.dwNumBones == static_cast<DWORD>(m_Skeleton.GetNumBones()));

    m_BoneMatchTable.resize(Data.dwNumBones);
    for (size_t i = 0; i < m_BoneMatchTable.size(); i++)
    {
        TCHAR strBoneName[MAX_BONE_NAME_LENGTH];

        uSize = pFile->Read(strBoneName, sizeof(TCHAR) * MAX_BONE_NAME_LENGTH);
        KGLOG_PROCESS_ERROR(uSize == sizeof(TCHAR) * MAX_BONE_NAME_LENGTH);
		_strlwr_s(strBoneName, MAX_BONE_NAME_LENGTH);
        int nIndex = m_Skeleton.FindBone(strBoneName);
        m_BoneMatchTable[i] = nIndex;
    }
    hr = S_OK;
Exit0:
    return hr;
}
コード例 #2
0
ファイル: tools.cpp プロジェクト: adstep/HackBaseFix2
DWORD GetModuleSize(LPSTR strModuleName) {
	MODULEENTRY32 lpme = { 0 };
	DWORD dwSize = 0;
	DWORD PID = GetCurrentProcessId();
	BOOL isMod = 0;
	char chModName[256];

	strcpy_s(chModName, 255, strModuleName);
	_strlwr_s(chModName, 255);

	HANDLE hSnapshotModule = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, PID);
	if (hSnapshotModule)
	{
		lpme.dwSize = sizeof(lpme);
		isMod = Module32First(hSnapshotModule, &lpme);
		while (isMod)
		{
			if (strcmp(_strlwr(lpme.szExePath), chModName))
			{
				dwSize = (DWORD)lpme.modBaseSize;
				CloseHandle(hSnapshotModule);
				return dwSize;
			}
			isMod = Module32Next(hSnapshotModule, &lpme);
		}
	}
	CloseHandle(hSnapshotModule);

	return 0;
}
コード例 #3
0
ファイル: cident.cpp プロジェクト: wolfman-x/mechcommander2
//---------------------------------------------------------------------------
void FullPathFileName::init (char * dir_path, const char * name, char * ext)
{
	destroy();

	size_t total_length = strlen(dir_path);
	total_length += strlen(name);
	total_length += strlen(ext);
	total_length++;


	fullName = (char *)systemHeap->Malloc(total_length);
	gosASSERT(fullName != NULL);
	if (fullName == NULL)
		return;
	fullName[0] = 0;

	if ( strstr( name, dir_path ) != name )
		strcpy_s(fullName, total_length, dir_path);

	if (name)
		strcat_s(fullName, total_length, name);

	// don't append if its already there
	if (ext && _stricmp( fullName + strlen( fullName ) - strlen( ext ), ext ) != 0)
		strcat_s(fullName, total_length, ext);

	// CharLowerA(fullName);
	_strlwr_s(fullName, total_length);
}
コード例 #4
0
BOOL UnloadMQ2Plugin(const PCHAR pszFilename)
{
    DebugSpew("UnloadMQ2Plugin");
    CHAR Filename[MAX_PATH]={0};
    strcpy_s(Filename,pszFilename);
    _strlwr_s(Filename);
    PCHAR Temp=strstr(Filename,".dll");
    if (Temp)
        Temp[0]=0;

    // find plugin in list
    CAutoLock Lock(&gPluginCS);

	//work in progress, move on, nothing to see here need to test this, but they keep patching on me...
	//well after messing with this for a while, I realized I couldn't bypass it by just deleting the registry key
	//need to check if we can just bypass the GetprocAddress hook and call the nt version which isnt hooked by the shim engine...
	/*if (pLdrGetProcedureAddress = (fLdrGetProcedureAddress)GetProcAddress(GetModuleHandle("ntdll.dll"), "LdrGetProcedureAddress")) {
		if (HMODULE h = GetModuleHandle("Kernel32.dll")) {
			CHAR szFreeLib[32] = { 0 };
			strcpy_s(szFreeLib, "FreeLibrary");
			FAKEGPSTRING as = { 0 };
			as.Buffer = szFreeLib;
			as.Length = 11;
			as.MaximumLength = 11;
			DWORD addr = 0;
			BOOL ret = pLdrGetProcedureAddress(h, &as, NULL, (PVOID)&pFreeLibrary);
			Sleep(0);
			//pFreeLibrary = (fFreeLibrary)addr;
		}
	}*/
    PMQPLUGIN pPlugin=pPlugins;
    while(pPlugin)
    {
        if (!_stricmp(Filename,pPlugin->szFilename))
        {
            if (pPlugin->pLast)
                pPlugin->pLast->pNext=pPlugin->pNext;
            else
                pPlugins=pPlugin->pNext;
            if (pPlugin->pNext)
                pPlugin->pNext->pLast=pPlugin->pLast;

            if (pPlugin->CleanUI)
                pPlugin->CleanUI();
            if (pPlugin->Shutdown)
                pPlugin->Shutdown();

			//DeleteLayers(pPlugin);
			if (pFreeLibrary)
				pFreeLibrary(pPlugin->hModule);
			else
				FreeLibrary(pPlugin->hModule);
            delete pPlugin;
            return 1;
        }
        pPlugin=pPlugin->pNext;
    }

    return 0;
}
コード例 #5
0
ファイル: main.cpp プロジェクト: Alenett/TES-Reloaded-Source
bool RunningEditor(void)
{
	// ### this is not a good method of detection
	char pathBuffer[MAX_PATH] = {0};

	strcpy_s(pathBuffer, sizeof(pathBuffer), GetAppPath().c_str());
	_strlwr_s(pathBuffer, sizeof(pathBuffer));

	return strstr(pathBuffer, "creationkit.exe") != NULL;
}
コード例 #6
0
void CSettingDlg::OnAddfile() 
{
	CFileDialog dlg(TRUE);
	std::string		addfilename, addfullpath, defaultpath;
	char tempstr1[_MAX_PATH];
	memset( tempstr1, 0x00, _MAX_PATH );
	char szFileName[512000];
	int strsize = 0;

	UpdateData(TRUE);

	if( m_bAllFileAdd ) {
		if( AfxMessageBox("All files of Base Path will be inserted.", MB_OKCANCEL) == IDCANCEL )
			return;
		BeginWaitCursor();
		FolderRecurse( m_strDefaultPath );
		EndWaitCursor();
		return;
	}

	::SetCurrentDirectory( m_strDefaultPath );
	
	szFileName[0] = 0x00;
	dlg.m_ofn.lpstrInitialDir = m_strDefaultPath;
	dlg.m_ofn.Flags |= OFN_ALLOWMULTISELECT | OFN_EXPLORER;
	dlg.m_ofn.lpstrFile = (LPTSTR)szFileName;
	dlg.m_ofn.nMaxFile = 512000;

	if( dlg.DoModal() == IDOK ) {
		POSITION pos = dlg.GetStartPosition ();
		while (pos)
		{
			strcpy_s( tempstr1, sizeof(tempstr1), dlg.GetNextPathName (pos) );
			addfullpath = _strlwr_s(tempstr1, sizeof(tempstr1));
			defaultpath = _strlwr_s(m_strDefaultPath, sizeof(m_strDefaultPath));
			strsize = defaultpath.size();
			addfilename = addfullpath.substr(strsize);

			if( InsertProcess( &addfilename[0] ) ) 
				m_FileList.AddString( &addfilename[0] );
		}
	}
}
コード例 #7
0
void
HttpRequest::FetchGravatarForEmail()
{
    unsigned char ehash[MD5LEN];

    {
        char email[1024];
        DWORD d;
        size_t len;

        if (WideCharToMultiByte(CP_UTF8, 0, m_target.c_str(), -1,
                                email, sizeof(email), NULL, NULL) == 0) {
            ReportStatus(KHERR_ERROR,
                         L"Can't convert email address to UTF-8",
                         L"%s", GetLastErrorString().c_str());
            return;
        }

        _strlwr_s(email, sizeof(email));

        if (FAILED(StringCbLengthA(email, sizeof(email), &len))) {
            ReportStatus(KHERR_ERROR,
                         L"UTF-8 email address too long",
                         L"The email address can't be longer than 1024 characters");
            return;
        }

        d = sizeof(ehash);
        if (KHM_FAILED(hash_data((BYTE *) email, (DWORD)len, CALG_MD5, (BYTE *) ehash, &d))) {
            ReportStatus(KHERR_ERROR, L"Failed to hash email address", NULL);
            return;
        }
    }

    {
        wchar_t resource[60];
        wchar_t * tail;
        size_t len;
        int i;
        static const wchar_t hexdigits[] = L"0123456789abcdef";

        StringCbCopyEx(resource, sizeof(resource), L"/avatar/", &tail, &len, STRSAFE_NO_TRUNCATION);

        for (i = 0; i < sizeof(ehash); i++) {
            *tail++ = hexdigits[ehash[i] >> 4];
            *tail++ = hexdigits[ehash[i] & 0xf];
            len -= sizeof(wchar_t) * 2;
        }
        *tail++ = L'\0';

        StringCbCat(resource, sizeof(resource), L".jpg?d=404&s=128");

        FetchResource(L"www.gravatar.com", resource, jpg_mimetypes);
    }
}
コード例 #8
0
ファイル: main.cpp プロジェクト: akaridawn/lang3
void ProgramUsage()
{
   char text[512]=PROG_NAME;
   printf(PROG_NAME " v" VER_NAME " - by Cyber Warrior X (c)" COPYRIGHT_YEAR "\n");
	_strlwr_s(text, sizeof(text));
   printf("usage: %s [options] <tbl filename> <data filename> <output directory>\n\n", text);
	printf("options:\n"
		    "\t-s\tAssume input file data is scenario event data that's normally in D00.DAT(default)\n"
			 "\t-p\tAssume input file data is plot text data that's normally in PLOT.DAT\n");
   exit(1);
}
コード例 #9
0
void KG3DAnimationSoundTagInfo::Init()
{
	int nHeight = 0;
	ITabFile *pTabFile = NULL;
    IIniFile *pIniFile = NULL;
    pTabFile = g_OpenTabFile(s_strConfigTabFile);
	KG_PROCESS_ERROR(pTabFile);
	m_SoundType.clear();
	m_AnimationSoundTagInfo.clear();
	for (size_t i = 0 ; i < sizeof(s_strSoundType) / sizeof(TCHAR *) ; i ++)
	{
		std::string strFirst = s_strSoundType[i];
		m_SoundType[strFirst] = i;
	}
	nHeight = pTabFile->GetHeight();
	for (int i = 2 ; i <= nHeight ; i ++)
	{
		AnimationSoundTagInfo Info;
		TCHAR strSoundType[MAX_PATH];
		std::string SoundTypetemp;
		iter it = m_SoundType.begin();
		int nSoundType = 0;
		pTabFile->GetString(i,COL_SOUNDTYPE,"",strSoundType,MAX_PATH);
		pTabFile->GetString(i,COL_FILENAME,"",Info.strFileName,MAX_PATH);
		pTabFile->GetFloat(i,COL_RATE,0.0f,&Info.fRate);
		_strlwr_s(strSoundType,MAX_PATH);
		SoundTypetemp = strSoundType;
		KG_PROCESS_ERROR(m_SoundType.find(SoundTypetemp) != m_SoundType.end());
		Info.soundType = static_cast<SoundType>(m_SoundType[SoundTypetemp]);
		nSoundType = m_SoundType[SoundTypetemp];
		if(m_AnimationSoundTagInfo.find(nSoundType) 
			!= m_AnimationSoundTagInfo.end())
		{
			m_AnimationSoundTagInfo[nSoundType].push_back(Info);
		}
		else
		{
			std::vector<AnimationSoundTagInfo> vec;
			vec.push_back(Info);
			m_AnimationSoundTagInfo[nSoundType] = vec;
		}
	}
	Adjust();
    pIniFile = g_OpenIniFile(s_strConfigIniFile);
    KG_PROCESS_ERROR(pIniFile);
    pIniFile->GetInteger("ROOT","SaveVersion3Data",0,&m_nSaveVersion3Data);
	m_bInit = TRUE;
Exit0:
    SAFE_RELEASE(pTabFile);
    SAFE_RELEASE(pIniFile);
	;
}
コード例 #10
0
ファイル: ISOLang.cpp プロジェクト: Blitzker/mpc-hc
LCID ISOLang::ISO6391ToLcid(LPCSTR code)
{
    CHAR tmp[2 + 1];
    strncpy_s(tmp, code, 2);
    tmp[2] = 0;
    _strlwr_s(tmp);
    for (size_t i = 0, cnt = _countof(s_isolangs); i < cnt; i++) {
        if (!strcmp(s_isolangs[i].iso6391, tmp)) {
            return s_isolangs[i].lcid;
        }
    }
    return 0;
}
コード例 #11
0
ファイル: locale.cpp プロジェクト: JERUKA9/LAVFilters
std::string ISO6392To6391(LPCSTR code)
{
  CHAR tmp[3+1];
  strncpy_s(tmp, code, 3);
  tmp[3] = 0;
  _strlwr_s(tmp);
  for(size_t i = 0, j = countof(s_isolangs); i < j; i++) {
    if((s_isolangs[i].iso6392 && !strcmp(s_isolangs[i].iso6392, tmp)) || (s_isolangs[i].iso6392_2 && !strcmp(s_isolangs[i].iso6392_2, tmp))) {
      return s_isolangs[i].iso6391;
    }
  }
  return std::string();
}
コード例 #12
0
ファイル: locale.cpp プロジェクト: JERUKA9/LAVFilters
std::string ISO6391To6392(LPCSTR code)
{
  CHAR tmp[2+1];
  strncpy_s(tmp, code, 2);
  tmp[2] = 0;
  _strlwr_s(tmp);
  for(size_t i = 0, j = countof(s_isolangs); i < j; i++) {
    if(s_isolangs[i].iso6391 && !strcmp(s_isolangs[i].iso6391, tmp)) {
      return s_isolangs[i].iso6392;
    }
  }
  return std::string(code);
}
コード例 #13
0
ファイル: ISOLang.cpp プロジェクト: Blitzker/mpc-hc
CStringA ISOLang::ISO6391To6392(LPCSTR code)
{
    CHAR tmp[2 + 1];
    strncpy_s(tmp, code, 2);
    tmp[2] = 0;
    _strlwr_s(tmp);
    for (size_t i = 0, cnt = _countof(s_isolangs); i < cnt; i++) {
        if (!strcmp(s_isolangs[i].iso6391, tmp)) {
            return CStringA(s_isolangs[i].iso6392);
        }
    }
    return "";
}
コード例 #14
0
ファイル: ISOLang.cpp プロジェクト: Blitzker/mpc-hc
ISOLang ISOLang::ISO6392ToISOLang(LPCSTR code)
{
    CHAR tmp[3 + 1];
    strncpy_s(tmp, code, 3);
    tmp[3] = 0;
    _strlwr_s(tmp);
    for (size_t i = 0, cnt = _countof(s_isolangs); i < cnt; i++) {
        if (!strcmp(s_isolangs[i].iso6392, tmp)) {
            return s_isolangs[i];
        }
    }
    return ISOLang();
}
コード例 #15
0
ファイル: main.cpp プロジェクト: akaridawn/lang3
void ProgramUsage()
{
	char text[512]=PROG_NAME;
	printf(PROG_NAME " v" VER_NAME " - by Cyber Warrior X (c)" COPYRIGHT_YEAR "\n");
	_strlwr_s(text, sizeof(text));
	printf("usage: %s <table filename> <original D00.DAT filename> <input files wildcard> <output filename>\n", text);
	printf("  Ex: %s -s table.tbl d00.dat script%%64.txt new-d00.dat\n", text);
	printf("options:\n"
		"\t-s\tAssume input file data is scenario event data that's normally in D00.DAT(default)\n"
		"\t-p\tAssume input file data is plot text data that's normally in PLOT.DAT\n");

	exit(1);
}
コード例 #16
0
void CSettingDlg::FolderRecurse(const char *foldername, bool b_test)
{
	CFileFind ff;
	std::string		addfilename, addfullpath, defaultpath;
	char tempstr1[_MAX_PATH];
	memset( tempstr1, 0x00, _MAX_PATH );
	int strsize = 0;

	::SetCurrentDirectory( foldername );

	BOOL bFind = ff.FindFile();
	while( bFind ) {
		bFind = ff.FindNextFile();
		strcpy_s( tempstr1, _MAX_PATH, ff.GetFilePath() );

		if( ff.IsDots() ) continue;
		if( ff.IsDirectory() ) {
			FolderRecurse( tempstr1, b_test );
			continue;
		}

		if( b_test ) {	// 단순 검사만 수행...
			if( IsDBCSString( tempstr1 ) ) {
				CString errmsg;
				errmsg.Format("%s include DBCS character", tempstr1 );
				AfxMessageBox(errmsg);
			}
			continue;
		}

		addfullpath = _strlwr_s(tempstr1, _MAX_PATH);
		defaultpath = _strlwr_s(m_strDefaultPath, _MAX_PATH);
		strsize = defaultpath.size();
		addfilename = addfullpath.substr(strsize);

		if( InsertProcess( &addfilename[0] ) ) 
			m_FileList.AddString( &addfilename[0] );
	}
}
コード例 #17
0
void KSceneEditorDialogAutoGrass::OnLbnSelchangeListPattern()
{
	HRESULT hRetCode = E_FAIL;
	int nCount = 0;
	int nSelCount = 0;
	int* pSelPatterns = NULL;
	TCHAR strPatternPathName[MAX_PATH];
	KG_PROCESS_ERROR(m_lpSceneSceneEditor);
	KG_PROCESS_ERROR(m_lpOutDoorSpaceMgr);
	

	nSelCount = m_ListBoxPattern.GetSelCount();
	KG_PROCESS_ERROR(nSelCount > 0);

	pSelPatterns = new int[nSelCount];
	KG_PROCESS_ERROR(pSelPatterns);
	for(int n = 0;n< 8;n++ )
		m_pbyPatternIndex[n] = 255;

	nCount = 0;
	for (int i = 0; i < m_ListBoxPattern.GetCount(); i++)
	{
		int nSel = m_ListBoxPattern.GetSel(i);
		if ( nSel > 0)
		{
			CString strGrassPatternName;
			m_ListBoxPattern.GetText(i, strGrassPatternName);
			
			sprintf(strPatternPathName, "Data\\public\\GrassPattern\\%s.mesh",strGrassPatternName);
			
			_strlwr_s(strPatternPathName, sizeof(TCHAR) * MAX_PATH);
			int nPatternIndex = -1;
			
			hRetCode = m_lpOutDoorSpaceMgr->FindPattern(strPatternPathName,&nPatternIndex,MAP_GRASS);

			KGLOG_COM_PROCESS_ERROR(hRetCode);
			ASSERT(nPatternIndex != -1);
			pSelPatterns[nCount] = nPatternIndex;
			if(nCount < 8)
				m_pbyPatternIndex[nCount] = (BYTE)i;
			nCount++;
		}
	}
	m_lpSceneSceneEditor->UpdatePatternList(pSelPatterns, nSelCount);

Exit0:
	
	SAFE_DELETE_ARRAY(pSelPatterns);
	//OnBnClickedButtonAddgrass();
	return;
}
コード例 #18
0
ファイル: main.cpp プロジェクト: quantumrain/LD33
bool name_copy(array<u8>& d, const char* s) {
	const char* p = s;
	const char* e = sz_find_last_or_end(s, '.');

	if (!d.set_size(e - s + 1))
		return false;

	memcpy(d.begin(), s, e - s);
	d[e - s] = '\0';

	_strlwr_s((char*)d.begin(), d.size());

	return true;
}
コード例 #19
0
ファイル: locale.cpp プロジェクト: JERUKA9/LAVFilters
static std::string ISO6392Check(LPCSTR lang)
{
  CHAR tmp[3+1];
  strncpy_s(tmp, lang, 3);
  tmp[3] = 0;
  _strlwr_s(tmp);
  for(size_t i = 0, j = countof(s_isolangs); i < j; i++) {
    if((s_isolangs[i].iso6392 && !strcmp(s_isolangs[i].iso6392, tmp)) || (s_isolangs[i].iso6392_2 && !strcmp(s_isolangs[i].iso6392_2, tmp)))
    {
      return std::string(s_isolangs[i].iso6392);
    }
  }
  return std::string(tmp);
}
コード例 #20
0
ファイル: String.hpp プロジェクト: angelog/Scratch
String String::ToLower() const
{
	MUTEX_LOCK(str_mutex);

	String strRet(this->str_szBuffer);
#ifdef SCRATCH_NO_UTF8
#if WINDOWS
	int len = strlen(this->str_szBuffer);
	_strlwr_s(strRet.str_szBuffer, len + 1);
#else
	strlwr(strRet.str_szBuffer);
#endif
#else
	utf8lwr(strRet.str_szBuffer);
#endif
	return strRet;
}
コード例 #21
0
void PMLoggerEventChatMessageReceived( char *User, char *Msg )
{
	if( Msg == NULL )
		return;
	if( GlobalStore.fMyPMs == NULL )
		return;
	char Buff[ DEFAULT_BUFLEN ];
	strcpy_s( Buff, DEFAULT_BUFLEN, Msg );
	errno_t ret = _strlwr_s( Buff, DEFAULT_BUFLEN );
	if( strstr( Buff, GlobalStore.cMyPMNick ) != NULL )
	{
		time_t t = time(NULL);
		tm aTm;
		errno_t ret = localtime_s( &aTm, &t);
		fprintf( GlobalStore.fMyPMs, "[%-4d-%02d-%02d %02d:%02d:%02d] %s %s\n",aTm.tm_year+1900,aTm.tm_mon+1,aTm.tm_mday,aTm.tm_hour,aTm.tm_min,aTm.tm_sec, User, Msg );
	}
}
コード例 #22
0
ファイル: redirs.cpp プロジェクト: hackshields/antivirus
_TCHAR* _WINAPI_ _AvpStrlwr(_TCHAR* str_)
{
#ifdef _MBCS
        _strlwr_s(str_, strlen(str_)+1);
		return str_;
#else
        if(str_)
        {
                _TCHAR* c=str_;
                while(*c){
                        *c|=0x20;
                        c++;
                }
        }
        return str_;
#endif
}
コード例 #23
0
ファイル: ISOLang.cpp プロジェクト: Blitzker/mpc-hc
CString ISOLang::ISO6392ToLanguage(LPCSTR code)
{
    CHAR tmp[3 + 1];
    strncpy_s(tmp, code, 3);
    tmp[3] = 0;
    _strlwr_s(tmp);
    for (size_t i = 0, cnt = _countof(s_isolangs); i < cnt; i++) {
        if (!strcmp(s_isolangs[i].iso6392, tmp)) {
            CString ret = CString(CStringA(s_isolangs[i].name));
            int k = ret.Find(';');
            if (k > 0) {
                ret = ret.Left(k);
            }
            return ret;
        }
    }
    return CString(code);
}
コード例 #24
0
ファイル: CNdiskd.cpp プロジェクト: msuiche/SwishDbgExt
BOOL WINAPI CNdiskd::IsNdisHook(ULONG64 PtrHandler)
{
    CHAR moduleName[MAX_MODULE_NAME] = { 0 };
    BOOL boolIsHooked, boolWhitelisted = false;

    do
    {
        if (utils::getNameByOffset(PtrHandler, moduleName) == NULL)
            break;

        if (strlen(moduleName) > 0)
        {
            // Convert to lower case
            _strlwr_s(moduleName, sizeof(moduleName));
#if VVERBOSE_MODE
            DbgPrint("DEBUG: %s:%d:%s Checking integrity of module name \"%s\"\n", __FILE__, __LINE__, __FUNCTION__, moduleName);
#endif
            // Check white-listed NDIS module name
            if (CNdiskd::IsWhitelistedNdisModule(moduleName))
            {
                boolWhitelisted = true;
            }
            else
            {
                DbgPrint("DEBUG: %s:%d:%s Module name %s is not whitelisted!\n", __FILE__, __LINE__, __FUNCTION__, moduleName);
            }
        }
    } while (false);

    if (boolWhitelisted)
        boolIsHooked = false;
    else
        boolIsHooked = (PtrHandler < m_ndisBaseAddress) && (m_ndisEndAddress > PtrHandler);

#if VVERBOSE_MODE
    DbgPrint("DEBUG: %s:%d:%s %#I64x vs (%#I64x-%#I64x)\n", __FILE__, __LINE__, __FUNCTION__, PtrHandler, m_ndisBaseAddress, m_ndisEndAddress);
#endif

    if (boolIsHooked)
        return true;
    else
        return false;
}
コード例 #25
0
HRESULT KG3DTerrainRepresentInfo::Init()
{
	HRESULT hResult = E_FAIL;
    HRESULT hRetCode = E_FAIL;
	int nHeight = 0;
	
	m_TerrainRepresentInfo.clear();

	ITabFile *pTabFile = g_OpenTabFile(s_strConfigFile);
	KG_PROCESS_ERROR(pTabFile);

	nHeight = pTabFile->GetHeight();
	for (int i = 2; i <= nHeight; i++)
	{
		TerrainRepresentInfo Info;
		int nGroundType = 0;
		TCHAR strLower[MAX_PATH];
		pTabFile->GetString(i, COL_FILENAME, "", Info.strFileName, MAX_PATH);
		strcpy_s(strLower, MAX_PATH, Info.strFileName);
		_strlwr_s(strLower, MAX_PATH);
		DWORD dwHash = g_FileNameHash(strLower);
		pTabFile->GetString(i, COL_ANNOTATE, "", Info.strAnnotate, MAX_PATH);
		pTabFile->GetInteger(i, COL_TYPE, INVALID_GROUNDTYPE, &nGroundType);
		Info.dwType = static_cast<DWORD>(nGroundType);

        pTabFile->GetString(i,COL_SFX,"",Info.strSfx[COL_SFX-COL_SFX],MAX_PATH);
        pTabFile->GetString(i,COL_SFX1,"",Info.strSfx[COL_SFX1-COL_SFX],MAX_PATH);
        pTabFile->GetString(i,COL_SFX2,"",Info.strSfx[COL_SFX2-COL_SFX],MAX_PATH);
        pTabFile->GetString(i,COL_SFX3,"",Info.strSfx[COL_SFX3-COL_SFX],MAX_PATH);
        pTabFile->GetString(i,COL_SFXTERRAIN,"",Info.strSfxTerrain,MAX_PATH);

		pTabFile->GetFloat(i, COL_SFX_RATE, 1.0f, &Info.fSfxPlayRate);//不填默认100%
		m_TerrainRepresentInfo[dwHash] = Info;
	}
    hRetCode = InitDis();
    KG_COM_PROCESS_ERROR(hRetCode);
    hRetCode = InitDefaultSfx();
    KG_COM_PROCESS_ERROR(hRetCode);
	hResult = S_OK;
Exit0:
	SAFE_RELEASE(pTabFile);
	return hResult;
}
コード例 #26
0
/* construct username from the HTTP header */
static void construct_username(sspi_auth_ctx* ctx)
{
	/* removing the domain part from the username */
	if (ctx->crec->sspi_omitdomain) {
		char *s = strchr(ctx->scr->username, '\\'); 

		if (s)
			ctx->scr->username = s+1;
	}

	if (ctx->crec->sspi_usernamecase == NULL) {
	}
	else if (!lstrcmpi(ctx->crec->sspi_usernamecase, "Lower")) {
		_strlwr_s(ctx->scr->username, strlen(ctx->scr->username)+1);
	}
	else if (!lstrcmpi(ctx->crec->sspi_usernamecase, "Upper")) {
		_strupr_s(ctx->scr->username, strlen(ctx->scr->username)+1);
	};
}
コード例 #27
0
ファイル: locale.cpp プロジェクト: JERUKA9/LAVFilters
std::string ISO6392ToLanguage(LPCSTR code)
{
  CHAR tmp[3+1];
  strncpy_s(tmp, code, 3);
  tmp[3] = 0;
  _strlwr_s(tmp);
  for(size_t i = 0, j = countof(s_isolangs); i < j; i++) {
    if((s_isolangs[i].iso6392 && !strcmp(s_isolangs[i].iso6392, tmp)) || (s_isolangs[i].iso6392_2 && !strcmp(s_isolangs[i].iso6392_2, tmp)))
    {
      std::string ret = std::string(s_isolangs[i].name);
      size_t i = ret.find(';');
      if(i != std::string::npos) {
        ret = ret.substr(0, i);
      }
      return ret;
    }
  }
  return std::string();
}
コード例 #28
0
ファイル: KGTestLoadMaterial.cpp プロジェクト: 1suming/pap2
int KGTestLoadMaterial::CheckFilter(const char cszMtlFile[], const char cszTexFile[])
{
	int nRetCode = false;
	int nResult  = false;
	char szMtlName[MAX_PATH] = {0};
	char szTexFile[MAX_PATH] = {0};
	char* pszResult = NULL;

	_ASSERTE(cszMtlFile);
	_ASSERTE(cszTexFile);

	//过滤材质文件F1,F2,M2相关的贴图加载错误
	nRetCode = _splitpath_s(cszMtlFile, NULL, 0, NULL, 0, szMtlName, sizeof(szMtlName), NULL, 0);
	KG_PROCESS_ERROR(nRetCode == 0);

	nRetCode = _strlwr_s(szMtlName, sizeof(szMtlName));
	KG_PROCESS_ERROR(nRetCode == 0);

	pszResult = strstr(szMtlName, "f1");
	KG_PROCESS_ERROR(pszResult == NULL);

	pszResult = strstr(szMtlName, "f2");
	KG_PROCESS_ERROR(pszResult == NULL);

	pszResult = strstr(szMtlName, "m2");
	KG_PROCESS_ERROR(pszResult == NULL);

	//过滤光照图相关的贴图加载错误
	
	nRetCode = strncpy_s(szTexFile, sizeof(szTexFile), cszTexFile, strlen(cszTexFile));
	KG_PROCESS_ERROR(nRetCode == 0);
	pszResult = strstr(szTexFile, "光照图");
	KG_PROCESS_ERROR(pszResult == NULL);

	nResult = true;
Exit0:
	if (!nResult)
	{
		m_vecFilterMtl.push_back(cszMtlFile);
	}
	return nResult;	
}
コード例 #29
0
ファイル: ISOLang.cpp プロジェクト: Blitzker/mpc-hc
bool ISOLang::IsISO639Language(LPCSTR code)
{
    size_t nLen = strlen(code) + 1;
    LPSTR tmp = DEBUG_NEW CHAR[nLen];
    strncpy_s(tmp, nLen, code, nLen);
    _strlwr_s(tmp, nLen);
    tmp[0] = (CHAR)toupper(tmp[0]);

    bool bFound = false;
    for (size_t i = 0, cnt = _countof(s_isolangs); i < cnt; i++) {
        if (!strcmp(s_isolangs[i].name, tmp)) {
            bFound = true;
            break;
        }
    }

    delete[] tmp;

    return bFound;
}
コード例 #30
0
ファイル: MainYelo.cpp プロジェクト: guardian2433/open-sauce
		static Enums::version_result_code GetVersionResultCode()
		{
			Enums::version_result_code result_code = Enums::_version_result_code_invalid;

			char dir[MAX_PATH];
			GetCurrentDirectory(NUMBEROF(dir), dir);

			char name[64];
			GetModuleBaseName(GetCurrentProcess(), GetModuleHandle(nullptr), name, NUMBEROF(name));
			_strlwr_s(name);

			// Ok, the warning message will get annoying after a while for sapien (and tool) users
			if ( strstr(name,"sapien") != nullptr || strstr(name,"hobo") != nullptr || 
				 strstr(name,"tool") != nullptr )
				return Enums::_version_result_code_dx9_app;

			// Enable OS if the exe name is haloce/OS_ded
			_main_globals.enabled = (strcmp(name, PLATFORM_VALUE("haloce.exe","os_haloceded.exe")) == 0);

			return Enums::_version_result_code_valid;
		}