コード例 #1
0
ファイル: AccountServer.cpp プロジェクト: iceberry/flyffsf
void	LoadResAuth( LPCTSTR lpszFileName )
{
	CScanner s;
	if( s.Load( lpszFileName ) )
	{
		s.GetToken();
		lstrcpy( g_dpSrvr.m_szResVer, s.Token );
	}
}
コード例 #2
0
ファイル: tokens.cpp プロジェクト: binoc-software/mozilla-cvs
int COperatorToken::consume(char aChar, CScanner& aScanner) {
  int result=0;
  mTextValue=aChar;  
  while((validOperator(mTextValue)) && (kNoError==result)){
    result=aScanner.getChar(aChar);
    mTextValue+=aChar;
  }
  if(kNoError==result) {
    mTextValue.Truncate(mTextValue.Length()-1);
    aScanner.push(aChar);
  }
  return result;
};
コード例 #3
0
void _auto_login( )
{
    CScanner s;
    if( TRUE == s.Load( "autologin.ini" ) )
    {
        while( s.tok != FINISHED )
        {
            s.GetToken();

            if( "Account" == s.Token )
            {
                s.GetToken();
                g_Console._strAccount = s.Token;
            }
            else if( "Password" == s.Token )
            {
                s.GetToken();
                g_Console._StrPassword = s.Token;
            }
            else if( "n2ndPassword" == s.Token )
            {
                g_Console._nPasswordReal = s.GetNumber();
            }
            else if( "nServer" == s.Token )
            {
                g_Console._nServer = s.GetNumber();
            }
            else if( "nCharacter" == s.Token )
            {
                g_Console._nCharacter = s.GetNumber();
            }
        }
    }
}
コード例 #4
0
ファイル: tokens.cpp プロジェクト: binoc-software/mozilla-cvs
int CCommentToken::consume(char aChar, CScanner& aScanner) {
  int result=0;
  if('/'==mTextValue[1]) {
    result=aScanner.readUntil(mTextValue,gNewlines,false);    
  }
  else {
    bool done=false;
    nsCAutoString temp("/");
    while(!done){
      result = aScanner.readUntil(mTextValue,temp,true);
      if (kNoError!=result)
        break;
      char theChar=mTextValue[mTextValue.Length()-2];
      done=('*'==theChar);
    }
  }
  return result;
};
コード例 #5
0
BOOL Script( LPCSTR lpszFileName )
{
	CScanner s;

	if( s.Load( lpszFileName ) )
	{
		s.GetToken();
		while( s.tok != FINISHED )
		{
			if( s.Token == "Core" )
			{
				s.GetToken();
				strcpy( g_szCoreAddr, s.Token );
			}
			else if( s.Token == "Port" )
			{
				g_uPort = s.GetNumber();		
			}
			s.GetToken();
		}
		return TRUE;
	}
	Error( "Can't open file, %s.\n", lpszFileName );
	return FALSE;
};
コード例 #6
0
ファイル: globalgiftbox.cpp プロジェクト: ElectraX/FlyFF
void CGlobalGiftbox::OnUpload( CAr & ar )
{
	if( m_bLoad )
		return;

	// recv
	int nSize;
	ar >> nSize;
	for( int i = 0; i < nSize; i++ )
	{
		DWORD dwGiftbox, dwItem;
		int cbItem, nNum;
		ar >> dwGiftbox;
		ar >> cbItem;
		for( int j = 0; j < cbItem; j++ )
		{
			ar >> dwItem >> nNum;
			DWORD dwKey	= MAKELONG( (WORD)dwGiftbox, (WORD)dwItem );
			bool bResult	= m_map.insert( map<DWORD, int>::value_type( dwKey, nNum ) ).second;
			if( !bResult )
				Error( "global giftbox error: %d, %d, %d", dwGiftbox, dwItem, nNum );
		}
	}
	// load script
	CScanner s;
	DWORD dwGiftbox, dwItem;
	int nNum;
	if( s.Load( "../globalgiftbox.txt" ) )
	{
		dwGiftbox	= (DWORD)s.GetNumber();
		while( s.tok != FINISHED )
		{
			dwItem	= (DWORD)s.GetNumber();
			nNum	= s.GetNumber();

			map<DWORD, int>::iterator it	= m_map.find( MAKELONG( (WORD)dwGiftbox, (WORD)dwItem ) );
			if( it == m_map.end() )
			{
				char szString[100];
				sprintf( szString, "globalgiftbox load error: key not found, g: %d, i: %d", dwGiftbox, dwItem );
				AfxMessageBox( szString );
			}
//			it->second	-= nNum;
			it->second	= nNum;
			if( it->second < 0 )
			{
				Error( "global giftbox error: number is negative, %d, %d", dwGiftbox, dwItem );
				it->second	= 0;
			}
			dwGiftbox	= (DWORD)s.GetNumber();
		}
	}

	m_bLoad	= TRUE;
}
コード例 #7
0
void CSourceFilesProcessor::processFile( const std::string& fileName )
{
	file.open( fileName );
	scanner.SetFileName( fileName );
	if( file.good() ) {
		for( char c; file.get( c ); ) {
			scanner.AddChar( c );
		}
		if( scanner.ErrorSeverity() != ES_FatalError ) {
			scanner.AddEndOfFile();
		}
	} else {
		scanner.RaiseError( ES_FatalError, "no such file" );
	}
	scanner.ResetFileName();
	file.close();
}
コード例 #8
0
ファイル: tokens.cpp プロジェクト: binoc-software/mozilla-cvs
int CQuotedStringToken::consume(char aChar, CScanner& aScanner) {
  mTextValue=aChar;
  int result=aScanner.readUntil(mTextValue,aChar,true);
  return result;
};
コード例 #9
0
ファイル: AccountServer.cpp プロジェクト: iceberry/flyffsf
BOOL Script( LPCTSTR lpszFileName )
{
#ifdef __INTERNALSERVER	
	strcpy( g_DbManager.m_szLoginPWD, "#^#^account" );
	strcpy( g_DbManager.m_szLogPWD, "#^#^log" );
#endif

/*
AddTail( -1, 1, "TEST", "192.168.0.103" );
	AddTail( 1, 1, "1", "" );
*/

	CScanner s;
	BOOL bSkipTracking = FALSE;

	if( s.Load( lpszFileName ) )
	{
		s.GetToken();
		while( s.tok != FINISHED )
		{
			if( s.Token == ";" )
			{
				s.GetToken();
				continue;
			}
			else if( s.Token == "TEST" )
			{
				HMENU hMenu	= GetMenu( hMainWnd );
				CheckMenuItem( hMenu, IDM_OPT_EXTERNAL, MF_CHECKED );
				EnableMenuItem( hMenu, IDM_OPT_EXTERNAL, MF_DISABLED | MF_GRAYED );
				CheckMenuItem( hMenu, IDM_OPT_INTERNAL, MF_UNCHECKED );
				EnableMenuItem( hMenu, IDM_OPT_INTERNAL, MF_ENABLED );
				g_dpSrvr.m_bCheckAddr	= false;
				char lpString[MAX_LOADSTRING];
#ifdef _DEBUG
				sprintf( lpString, "%s - debug", szTitle );
#else	// _DEBUG
				sprintf( lpString, "%s - release", szTitle );
#endif	// _DEBUG
				SetWindowText( hMainWnd, lpString );
			}
			else if( s.Token == "AddTail" )
			{
				LPSERVER_DESC pServer
					= g_dpSrvr.m_aServerset + g_dpSrvr.m_dwSizeofServerset++;
				s.GetToken();	// (
				pServer->dwParent	= s.GetNumber();
				s.GetToken();	// ,
				pServer->dwID	= s.GetNumber();
				s.GetToken();	// ,
				s.GetToken();
				strcpy( pServer->lpName, s.Token );
				s.GetToken();	// ,
				s.GetToken();
				strcpy( pServer->lpAddr, s.Token );
				s.GetToken();	// ,
				pServer->b18	= (BOOL)s.GetNumber();
				s.GetToken();	// ,
				pServer->lEnable	= (long)s.GetNumber();
#ifdef __SERVERLIST0911
				pServer->lEnable	= 0L;
#endif	// __SERVERLIST0911
				s.GetToken();	// ,
				pServer->lMax	= (long)s.GetNumber();
				s.GetToken();	// )

//				if( pServer->dwParent != NULL_ID )
				{
					u_long uId	= pServer->dwParent * 100 + pServer->dwID;
					g_dpSrvr.m_2ServersetPtr.insert( map<u_long, LPSERVER_DESC>::value_type( uId, pServer ) );
				}
			}
			else if( s.Token == "MAX" )
			{
				g_dpSrvr.m_nMaxConn = s.GetNumber();
			}
			else if( s.Token == "BillingIP" )
			{
				s.GetToken();
				GetBillingMgr()->SetConfig( BID_IP, (DWORD)(LPCTSTR)s.Token );
			}
			else if( s.Token == "BillingPort" )
			{
				GetBillingMgr()->SetConfig( BID_PORT, s.GetNumber() );
			}
			else if( s.Token == "BillingFreePass" )
			{
				GetBillingMgr()->SetConfig( BID_FREEPASS, s.GetNumber() );
			}
			else if( s.Token == "BillingPWD" )
			{
				// 디비패스워드는 암호화 되어 있다. 암호 시키는 프로그램은 외부실행파일이다.
				s.GetToken();
				char* szPWD = GetBillingPWD();
				::GetPWDFromToken( s.Token, szPWD ); // from query.cpp
			}
			else if( s.Token == "MSG_VER" )
			{
				s.GetToken();
				lstrcpy( g_dpSrvr.m_szVer, s.Token );
			}
			else if( s.Token == "SKIP_TRACKING" )		// login logout로그를 남기지 않는다.
			{
				bSkipTracking = TRUE;
				g_DbManager.SetTracking( FALSE );
			}
			else if( s.Token == "DSN_NAME_LOGIN" )
			{
				s.GetToken();
				strcpy( DSN_NAME_LOGIN, s.Token );
				if( bSkipTracking == FALSE )
					g_DbManager.SetTracking( TRUE );
			}
			else if( s.Token == "DB_ADMIN_ID_LOGIN" )
			{
				s.GetToken();
				strcpy( DB_ADMIN_ID_LOGIN, s.Token );
			}
			else if( s.Token == "DSN_NAME_LOG" )
			{
				s.GetToken();
				strcpy( DSN_NAME_LOG, s.Token );
			}
			else if( s.Token == "DB_ADMIN_ID_LOG" )
			{
				s.GetToken();
				strcpy( DB_ADMIN_ID_LOG, s.Token );
			}
			else if( s.Token == "DSN_NAME_BILLING" )
			{
				s.GetToken();
				strcpy( DSN_NAME_BILLING, s.Token );
			}
			else if( s.Token == "DB_ADMIN_ID_BILLING" )
			{
				s.GetToken();
				strcpy( DB_ADMIN_ID_BILLING, s.Token );
			}
			else if( s.Token == "NOT_RELOADPRO" )
			{
				g_dpSrvr.m_bReloadPro = FALSE;
			}
			else if( s.Token == "NOLOG" )
			{
				g_DbManager.SetLogging( FALSE );	// 상용화 아이템 로그를 남기지 않는다.
			}
			else if( s.Token == "DB_PWD_LOGIN" )
			{
				s.GetToken();
				::GetPWDFromToken( s.Token, g_DbManager.m_szLoginPWD ); 
				TRACE("%s\n", g_DbManager.m_szLoginPWD ); 
			}
			else if( s.Token == "DB_PWD_LOG" )
			{
				s.GetToken();
				::GetPWDFromToken( s.Token, g_DbManager.m_szLogPWD ); 
				TRACE("%s\n", g_DbManager.m_szLogPWD ); 
			}
#ifdef __LOG_PLAYERCOUNT_CHANNEL
			else if( s.Token == "AddChannel" )
			{
				s.GetToken();
				g_dpDbSrvr.m_vecstrChannelAccount.push_back( s.Token );
			}
#endif // __LOG_PLAYERCOUNT_CHANNEL

			s.GetToken();
		}
		return TRUE;
	}

	Error( "Can't open file %s\n", lpszFileName );
	return FALSE;
}
コード例 #10
0
ファイル: DialogMsg.cpp プロジェクト: KerwinMa/SourceFlyFF
void CDialogMsg::AddMessage( CObj* pObj, LPCTSTR lpszMessage, DWORD RGB, int nKind, DWORD dwPStyle )
{
	if( pObj->GetType() == OT_MOVER )
	{
		CScanner scanner;
		scanner.SetProg( (LPVOID)lpszMessage );
		scanner.GetToken();

		// 이모티콘 명령
/*		
		if( scanner.Token == "/" )
		{			
			scanner.GetToken();

			CString strstr = scanner.token;
			for( int j=0; j < MAX_EMOTICON_NUM; j++ )
			{
				CString strstr2 = m_EmiticonCmd[ j ].m_szCommand;

				if( strstr == strstr2 )
				{
					AddEmoticonUser( pObj, m_EmiticonCmd[ j ].m_dwIndex );
					return;
				}
			}
		}
*/
		if( scanner.Token == "/" )
		{			
			CString strstr = lpszMessage;
			scanner.GetToken();
			for( int j=0; j < MAX_EMOTICON_NUM; j++ )
			{
				CString strstr2 = "/";
				strstr2+=m_EmiticonCmd[ j ].m_szCommand;
				if( strstr.GetLength() > 0 && strstr == strstr2 )
				{
					AddEmoticonUser( pObj, m_EmiticonCmd[ j ].m_dwIndex );
					return;
				}
			}
		}		
		else
		if( scanner.Token == "!" )
		{
			int nEmoticonIdx = scanner.GetNumber();
			AddEmoticon( pObj, nEmoticonIdx );
			return;
		}
		
		for( int i = 0; i < m_textArray.GetSize(); i++ )
		{
			LPCUSTOMTEXT lpCustomText = (LPCUSTOMTEXT) m_textArray.GetAt( i );
			if( lpCustomText->m_pObj == pObj )
			{
				safe_delete( lpCustomText );
				m_textArray.RemoveAt( i );
				break;
			}
		}
	}
	LPCUSTOMTEXT lpCustomText = new CUSTOMTEXT;
	lpCustomText->m_dwRGB = RGB;
	lpCustomText->m_pFont = CWndBase::m_Theme.m_pFontText; //ect ? m_pFontEffect : m_pFont;
	lpCustomText->m_pObj = pObj;
	lpCustomText->m_timer.Set( 5000 );
	lpCustomText->m_bInfinite	= FALSE;//( pObj->GetType() == OT_MOVER && ( (CMover*)pObj )->m_vtInfo.IsVendorOpen() );
	lpCustomText->m_pTexture = NULL;
	lpCustomText->m_nKind = nKind;

	// Mover라면 대사 출력 시간 동안 퀘스트 이모티콘을 감춘다.
	if( pObj->GetType() == OT_MOVER )
		((CMover*)pObj)->m_bShowQuestEmoticon = FALSE;

	if( lpCustomText->m_bInfinite )
	{
		DWORD dwColor = 0;
		dwColor = 0xff008000;
		lpCustomText->m_string.SetParsingString( lpszMessage, dwColor, 0x00000000, 0, dwPStyle );
	}
	else
		lpCustomText->m_string.SetParsingString( lpszMessage, 0xff000000, 0x00000000, 0, dwPStyle );

	int nMaxHeight = lpCustomText->m_pFont->GetMaxHeight();
	CSize size = lpCustomText->m_pFont->GetTextExtent( lpszMessage );
	int cx, cy;
	// 기본 사이즈 계산 
	if( size.cx >= 160 )
	{
		cx = 160;
		cy = 160; // 이 수치는 의미가 없음. Reset 이후에 줄수로 재 계산 됨
		
		lpCustomText->m_string.Init( lpCustomText->m_pFont, &CRect( 0, 0, cx - 16, cy - 16) );
	}
	else
	{
		cx = size.cx + 16; 
		cx = ( ( cx / 16 ) * 16 ) + ( ( cx % 16 ) ? 16 : 0 );
		cy = size.cy;// 이 수치는 의미가 없음. Reset 이후에 줄수로 재 계산 됨 
		lpCustomText->m_string.Init( lpCustomText->m_pFont, &CRect( 0, 0, cx - 16, cy - 16) );
	}


	cy = lpCustomText->m_string.GetLineCount() * nMaxHeight + 16; // 라인 줄수로 세로 길이를 구함 
	cy = ( ( cy / 16 ) * 16 ) + ( ( cy % 16 ) ? 16 : 0 );

	lpCustomText->m_rect = CRect( 0, 0, cx, cy );
	m_textArray.Add( lpCustomText );
}
コード例 #11
0
ファイル: langman.cpp プロジェクト: KerwinMa/SourceFlyFF
BOOL CLangMan::Load( LPCTSTR lpszFileName )
{
	CScanner	s;
	if( !s.Load( lpszFileName, TRUE ) ) 
		return FALSE;
	DWORD	dwLang	= s.GetNumber();		// dwLang
	DWORD a, r, g, b;
	while( s.tok != FINISHED )
	{
		ASSERT( dwLang < LANG_MAX );
		PLANG_DATA	pData	= &m_aLangData[dwLang];
		
		s.GetToken();
		s.GetToken();	// szPath
		lstrcpy( pData->szPath, s.token );
		s.GetToken();

		s.GetToken();	//	szFileName
		lstrcpy( pData->szFileName, s.token );

		s.GetToken();	//	szTitle
		lstrcpy( pData->szTitle, s.token );

		s.GetToken();
		s.GetToken();	//	szFontFirst
		lstrcpy( pData->font.lfCaption.szFontFirst, s.token );
		s.GetToken();

		s.GetToken();
		s.GetToken();	//	szFontSecond
		lstrcpy( pData->font.lfCaption.szFontSecond, s.token );
		s.GetToken();

		pData->font.lfCaption.nDivTitle	= s.GetNumber();	// nDivTitle
		pData->font.lfCaption.nDivCaption	= s.GetNumber();	// nDivCaption
		pData->font.fdLang.charset	= s.GetNumber();	// charset
		pData->font.fdLang.wCodePage	= s.GetNumber();	// wCodePage

		s.GetToken();
		s.GetToken();
		lstrcpy( pData->font.fdLang.faceNT, s.token );	// faceNT
		s.GetToken();

		s.GetToken();
		s.GetToken();
		lstrcpy( pData->font.fdLang.face9x, s.token );	// face9x
		s.GetToken();

		s.GetToken();
		s.GetToken();	// szFont0
		lstrcpy( pData->font.afi[0].szFont, s.token );
		s.GetToken();

		s.GetToken();
		s.GetToken();	// szFont1
		lstrcpy( pData->font.afi[1].szFont, s.token );
		s.GetToken();

		s.GetToken();
		s.GetToken();	// szFont2
		lstrcpy( pData->font.afi[2].szFont, s.token );
		s.GetToken();

		s.GetToken();
		s.GetToken();	// szFont3
		lstrcpy( pData->font.afi[3].szFont, s.token );
		s.GetToken();

		a	= s.GetNumber();	// dwBgColor3_a
		r	= s.GetNumber();	// dwBgColor3_r
		g	= s.GetNumber();	// dwBgColor3_g
		b	= s.GetNumber();	// dwBgColor3_b
		pData->font.afi[3].dwBgColor	= D3DCOLOR_ARGB( a, r, g, b );
		pData->font.afi[3].nOutLine	= s.GetNumber();	// nOutLine3
		pData->font.afi[3].dwFlags	= s.GetNumber();	// dwFlags3

		s.GetToken();
		s.GetToken();	// szFont4
		lstrcpy( pData->font.afi[4].szFont, s.token );
		s.GetToken();
		a	= s.GetNumber();	// dwBgColor4_a
		r	= s.GetNumber();	// dwBgColor4_r
		g	= s.GetNumber();	// dwBgColor4_g
		b	= s.GetNumber();	// dwBgColor4_b
		pData->font.afi[4].dwBgColor	= D3DCOLOR_ARGB( a, r, g, b );
		pData->font.afi[4].nOutLine	= s.GetNumber();	// nOutLine4
		pData->font.afi[4].dwFlags	= s.GetNumber();	// dwFlags4

		s.GetToken();
		s.GetToken();	// szFont5
		lstrcpy( pData->font.afi[5].szFont, s.token );
		s.GetToken();

		a	= s.GetNumber();	// dwBgColor5_a
		r	= s.GetNumber();	// dwBgColor5_r
		g	= s.GetNumber();	// dwBgColor5_g
		b	= s.GetNumber();	// dwBgColor5_b
		pData->font.afi[5].dwBgColor	= D3DCOLOR_ARGB( a, r, g, b );
		pData->font.afi[5].nOutLine	= s.GetNumber();	// nOutLine5
		pData->font.afi[5].dwFlags	= s.GetNumber();	// dwFlags5

//#ifdef __NO_SUB_LANG
		s.GetNumber(); // dwFontSize
//#endif // __NO_SUB_LANG			

		dwLang	= s.GetNumber();	// dwLang
	}
	return TRUE;
}
コード例 #12
0
BOOL CBetaPatchClientDlg::InitControls()
{
#ifdef __LANG_RUS
	enum PublisherVersion { PUBLISHER_VERSION_1 = 0, PUBLISHER_VERSION_2 = 1 };
	PublisherVersion ePublisherVersion = PUBLISHER_VERSION_1;
	CScanner scanner;
	if( scanner.Load( "a.txt" ) == TRUE )
	{
		int nKeyNumber = scanner.GetNumber();
		if( nKeyNumber == 1 )
			ePublisherVersion = PUBLISHER_VERSION_2;
		else
			ePublisherVersion = PUBLISHER_VERSION_1;
	}
	else
		ePublisherVersion = PUBLISHER_VERSION_1;
#endif // __LANG_RUS

#ifdef __LANG_RUS
	DWORD dwBitmapID = ( ePublisherVersion == PUBLISHER_VERSION_1 ) ? IDC_BITMAP_MAIN : IDC_BITMAP_MAIN_2;
	if( m_pic.Load( dwBitmapID ) )
#else // __LANG_RUS
	if( m_pic.Load( IDC_BITMAP_MAIN ) )
#endif // __LANG_RUS
	{
		CSize size = m_pic.GetImageSize();
		SetWindowPos( NULL, 0, 0, size.cx, size.cy, SWP_NOZORDER | SWP_NOMOVE );

		HRGN hRgn = CreateRoundRectRgn( 0, 0, size.cx, size.cy, 20, 20 );
		if( hRgn )
			::SetWindowRgn( m_hWnd, hRgn, FALSE );
	}

	int nInfoGap = 0;
	int nWeblinkGap = 0;

#if defined(__LANG_JAP)
#if 0 //JAPAN 패치 클라이언트 이미지 변경관련 삭제.
	nInfoGap    = 5;
	nWeblinkGap = 35;

	srand( (unsigned)time( NULL ) );
	int nsel = rand()%4;
	
	UINT nchrarry[4] = { IDB_BITMAP_CHAR1, IDB_BITMAP_CHAR3, IDB_BITMAP_CHAR5, IDB_BITMAP_CHAR7 };
	UINT nchrarryM[4] = { IDB_BITMAP_CHAR2, IDB_BITMAP_CHAR4, IDB_BITMAP_CHAR6, IDB_BITMAP_CHAR8 };
	
	m_bmpchr[0].LoadBitmap( nchrarry[nsel] );
	m_bmpchr[1].LoadBitmap( nchrarryM[nsel] );
#endif
#endif // __LANG_JAP

	m_Button_Exit.SetBitmaps(IDB_BITMAP_CLOSE00, RGB(255, 0, 255), IDB_BITMAP_CLOSE01, RGB(255, 0, 255) );
	m_Button_Exit.SetAlign(CButtonST::ST_ALIGN_OVERLAP, FALSE);
	m_Button_Exit.SetPressedStyle(CButtonST::BTNST_PRESSED_LEFTRIGHT, FALSE);
	m_Button_Exit.SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB(0, 0, 0));
	m_Button_Exit.SetColor(CButtonST::BTNST_COLOR_FG_OUT, RGB(0, 0, 0));
	m_Button_Exit.SizeToContent();
	m_Button_Exit.DrawTransparent(TRUE);
	m_Button_Exit.DrawBorder(FALSE, FALSE);
	m_Button_Exit.SetBtnCursor(IDC_CURSOR1);

	m_Button_Option.SetBitmaps(IDB_BITMAP_OPTION00, RGB(255, 0, 255), IDB_BITMAP_OPTION01, RGB(255, 0, 255) );
	m_Button_Option.SetAlign(CButtonST::ST_ALIGN_OVERLAP, FALSE);
	m_Button_Option.SetPressedStyle(CButtonST::BTNST_PRESSED_LEFTRIGHT, FALSE);
	m_Button_Option.SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB(0, 0, 0));
	m_Button_Option.SetColor(CButtonST::BTNST_COLOR_FG_OUT, RGB(0, 0, 0));
	m_Button_Option.SizeToContent();
	m_Button_Option.DrawTransparent(TRUE);
	m_Button_Option.DrawBorder(FALSE, FALSE);
	m_Button_Option.SetBtnCursor(IDC_CURSOR1);

	m_Button_Start.SetBitmaps(IDB_BITMAP_START00, RGB(255, 0, 255), IDB_BITMAP_START01, RGB(255, 0, 255) );
	m_Button_Start.SetAlign(CButtonST::ST_ALIGN_OVERLAP, FALSE);
	m_Button_Start.SetPressedStyle(CButtonST::BTNST_PRESSED_LEFTRIGHT, FALSE);
	m_Button_Start.SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB(0, 0, 0));
	m_Button_Start.SetColor(CButtonST::BTNST_COLOR_FG_OUT, RGB(0, 0, 0));
	m_Button_Start.SizeToContent();
	m_Button_Start.DrawTransparent(TRUE);
	m_Button_Start.DrawBorder(FALSE, FALSE);
	m_Button_Start.SetBtnCursor(IDC_CURSOR1);

	m_Button_Register.SetBitmaps(IDB_BITMAP_REGISTER00, RGB(255, 0, 255), IDB_BITMAP_REGISTER01, RGB(255, 0, 255) );
	m_Button_Register.SetAlign(CButtonST::ST_ALIGN_OVERLAP, FALSE);
	m_Button_Register.SetPressedStyle(CButtonST::BTNST_PRESSED_LEFTRIGHT, FALSE);
	m_Button_Register.SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB(0, 0, 0));
	m_Button_Register.SetColor(CButtonST::BTNST_COLOR_FG_OUT, RGB(0, 0, 0));
	m_Button_Register.SizeToContent();
	m_Button_Register.DrawTransparent(TRUE);
	m_Button_Register.DrawBorder(FALSE, FALSE);
	m_Button_Register.SetBtnCursor(IDC_CURSOR1);

#if defined(__LANG_ENG_USA) || defined(__LANG_ENG_USATEST) || defined(__LANG_GER) || defined(__LANG_FRA) || defined(__LANG_POR)
	m_Button_Register.ShowWindow(SW_SHOW);
#else
	m_Button_Register.ShowWindow(SW_HIDE);
#endif
	// static
//#if defined(__LANG_THAI) //Background Image 교체로 Font Color 변경
	COLORREF cr = RGB( 0,0,0 );
	m_Static_CurrentState.SetTextColor( cr );
	m_Static_CurrentState.SetFontBold(true);
	m_Static_DownSpeed.SetTextColor( cr );
	m_Static_FileNumber.SetTextColor( cr );
	m_Static_MasqueradeVersion.SetTextColor( cr );
	m_Static_MasqueradeVersion.SetFontBold(true);
//#endif

/*#if (__CURRENT_LANG == LANG_ENG || __CURRENT_LANG == LANG_GER || __CURRENT_LANG == LANG_FRA )//|| __CURRENT_CNTRY == CNTRY_TWN)
#if __VER == 12
	COLORREF cr = RGB( 255, 255, 255 );
	m_Static_CurrentState.SetTextColor( cr );
	m_Static_DownSpeed.SetTextColor( cr );
	m_Static_FileNumber.SetTextColor( cr );
	m_Static_MasqueradeVersion.SetTextColor( cr );
#endif
#endif*/

#ifdef	__HANGAME0307     // 한게임 대응 버젼 
	TCHAR* szText   = HOME_LINK;
	TCHAR* szURL    = HOME_LINK;
	TCHAR* szWebURL = WEB_FIRST_PAGE;

	if( AfxGetApp()->m_lpCmdLine[0] != '\0' &&
		memcmp( AfxGetApp()->m_lpCmdLine, "hangame.co.jp", 13 ) == 0 )
	{
		szText   = "http://www.hangame.co.jp";
		szURL    = "http://www.hangame.co.jp/game.asp?fo";
		szWebURL = "http://www.flyff.jp/in_client/info/list.asp?domain=hangame.co.jp";
	}
#else					// 일반버젼 
#ifdef __LANG_RUS
	TCHAR* szText  = ( ePublisherVersion == PUBLISHER_VERSION_1 ) ? HOME_LINK : HOME_LINK_2;
	TCHAR* szURL   = ( ePublisherVersion == PUBLISHER_VERSION_1 ) ? HOME_LINK : HOME_LINK_2;
	TCHAR* szWebURL = ( ePublisherVersion == PUBLISHER_VERSION_1 ) ? WEB_FIRST_PAGE : WEB_FIRST_PAGE_2;
#else // __LANG_RUS
	TCHAR* szText   = HOME_LINK;
	TCHAR* szURL    = HOME_LINK;
	TCHAR* szWebURL = WEB_FIRST_PAGE;
#endif // __LANG_RUS
#endif	// __HANGAME0307

#if __CURRENT_LANG == LANG_KOR
#ifdef __LINK_PORTAL
	// 한국 : 엔젤, 버디 포탈 링크 연결
	TCHAR szArg1[64] = {0, }; 
	TCHAR szArg2[64] = {0, }; 

	_stscanf( AfxGetApp()->m_lpCmdLine, "%s %s", szArg1, szArg2 );

//	AfxMessageBox( AfxGetApp()->m_lpCmdLine );

	CString strCmdLine;
	strCmdLine.Format("%s", szArg2);

	int nLength = strCmdLine.GetLength();
	if(nLength > 4)
	{
		CString strCmpWord = strCmdLine.Mid(nLength-4, nLength);

		if(strCmpWord == "__an")
		{
			szText   = "http://af.gameangel.com";
			szURL    = "http://af.gameangel.com";
		}
		else if(strCmpWord == "__bu")
		{
			szText   = "http://flyff.buddybuddy.co.kr";
			szURL    = "http://flyff.buddybuddy.co.kr";
		}
	}
#endif //__LINK_PORTAL
#endif // LANG_KOR

	// 홈페이지 링크
	m_Static_HomeLink.SetWindowText( szText );
/*#if __CURRENT_CNTRY == CNTRY_HK
	m_Static_HomeLink.SetWindowPos( NULL, 300, 22+nWeblinkGap, 0, 0, SWP_NOZORDER | SWP_NOSIZE | SWP_NOREDRAW );
#else*/
	m_Static_HomeLink.SetWindowPos( NULL, 280, 242+nWeblinkGap, 0, 0, SWP_NOZORDER | SWP_NOSIZE | SWP_NOREDRAW );
//#endif

#if __CURRENT_LANG == LANG_THA
	m_Static_HomeLink.SetColours( RGB( 190, 30, 20 ), RGB( 240, 130, 180), RGB( 112, 147, 219 ) );
#elif __CURRENT_LANG == LANG_RUS
	m_Static_HomeLink.SetColours( RGB( 255, 255, 255 ), RGB( 255, 0, 0 ), RGB( 0, 130, 0 ) );
#elif __CURRENT_LANG == LANG_GER
	m_Static_HomeLink.SetColours( RGB( 193, 177, 160 ), RGB( 255, 0, 0 ), RGB( 255, 0, 0 ) );
#elif __CURRENT_LANG == LANG_ENG // ascension
	m_Static_HomeLink.SetColours( RGB( 255, 255, 255 ), RGB( 0, 0, 255 ), RGB( 0, 0, 255 ) );
#elif __CURRENT_LANG == LANG_FRA
	m_Static_HomeLink.SetColours( RGB( 193, 177, 160 ), RGB( 255, 0, 0 ), RGB( 255, 0, 0 ) );
#elif __CURRENT_LANG == LANG_POR
	m_Static_HomeLink.SetColours( RGB( 255, 255, 255 ), RGB( 255, 0, 0 ), RGB( 255, 0, 0 ) );
#else
	m_Static_HomeLink.SetColours( RGB( 0, 0, 0), RGB( 255, 0, 0), RGB( 0, 130, 0 ) );
#endif 
	m_Static_HomeLink.SetURL( szURL );
	m_Static_HomeLink.SetUnderline( CHyperLink::ulAlways );

#ifdef __LANG_JAP
	//JAPAN 패치 클라이언트 이미지 변경관련 삭제.	
	m_Static_HomeLink.EnableWindow(FALSE);
	m_Static_HomeLink.ShowWindow(FALSE);
#endif //__LANG_JAP
	//	Progress 초기화
	m_File_Progress.SetPos(0);
	m_Total_Progress.SetPos(0);

	CreateWebControl( szWebURL );

	GetDlgItem( IDC_BUTTON_START )->MoveWindow( 25, 465, 100, 20 );
	GetDlgItem( IDC_BUTTON_REGISTER )->MoveWindow( 145, 465, 100, 20 );
	GetDlgItem( IDC_OPTION )->MoveWindow( 250, 465, 100, 20 );
	GetDlgItem( IDC_EXIT )->MoveWindow( 355, 465, 100, 20 );
	GetDlgItem( IDC_CURRENT_STATE)->MoveWindow( 25, 495, 170, 20 );
	GetDlgItem( IDC_DOWN_SPEED)->MoveWindow( 200, 495, 100, 20 );
	GetDlgItem( IDC_FILE_NUMBER)->MoveWindow( 350, 495, 100, 20 );
	GetDlgItem( IDC_FILEPROGRESS )->MoveWindow( 25, 515, 430, 20 );
	GetDlgItem( IDC_TOTALPROGRESS)->MoveWindow( 25, 540, 430, 20 );
	GetDlgItem( IDC_MASQUERADEVERSION)->MoveWindow( 200, 570-nInfoGap, 200, 20 );

	return TRUE;
}
コード例 #13
0
ファイル: tokens.cpp プロジェクト: binoc-software/mozilla-cvs
int CWhitespaceToken::consume(char aChar, CScanner& aScanner) {
  mTextValue=aChar;
  int result=aScanner.readWhile(mTextValue,gWhitespace,false);
  return result;
};
コード例 #14
0
ファイル: ProcessLauncher.cpp プロジェクト: iceberry/flyffsf
BOOL CProcessLauncher::Init()
{
	bool bStartWait, bHeartbeat;
	bStartWait = bHeartbeat = false;

	CScanner s;
	if( s.Load( "launcher.ini" ) == FALSE)
		return FALSE;

	s.GetToken();
	while( s.tok != FINISHED )
	{
		if( s.Token == "lpAddr" )
		{
			s.GetToken();	// =
			s.GetToken();
			strcpy( m_lpAddr, s.Token );
		}
		else if( s.Token == "lpApplicationName" )
		{
			s.GetToken();	// =
			s.GetToken();
			strcpy( m_lpApplicationName, s.Token );
			SetConsoleTitle( m_lpApplicationName );
		}
		else if( s.Token == "lpCurrentDirectory" )
		{
			s.GetToken();	// =
			s.GetToken();
			strcpy( m_lpCurrentDirectory, s.Token );
		}
		else if( s.Token == "dwId" )
		{
			s.GetToken();	// =
			m_dwId	= (DWORD)s.GetNumber();
		}
		else if( s.Token == "DeadlockCheck" )
		{
			s.GetToken();	// =
			m_dwMilliseconds	= (DWORD)s.GetNumber();
			bHeartbeat = true;
		}
		else if( s.Token == "bWait" )
		{
			s.GetToken();	// =
			bStartWait = (bool)(s.GetNumber() != 0);
		}
		else if( s.Token == "lpDownDirectory" )
		{
			s.GetToken();	// =
			s.GetToken();
			//m_uploader.SetDownDirectory( s.Token );
			strcpy( m_lpDownDirectory, s.Token );			
		}
		s.GetToken();
	}

	if( bStartWait && bHeartbeat )
	{
		AfxMessageBox( "INVALID CONDITION - bWait AND bHeartbeat must be exclusive" );
		return FALSE;
	}
	m_bStartWait = bStartWait;
	
	if( bStartWait || bHeartbeat )
	{
		char lpName[32];
		sprintf( lpName, "%d", GetAppID() );

		m_hEvent = CreateEvent( NULL, FALSE, FALSE, lpName ) ;
		if( m_hEvent == FALSE )
		{
			char szBuffer[128];
			sprintf( szBuffer, "CreateEvent ERROR:%d", GetLastError() );
			AfxMessageBox( szBuffer );
			return FALSE;
		}
	}

	return TRUE;
}
コード例 #15
0
ファイル: tokens.cpp プロジェクト: binoc-software/mozilla-cvs
int CCompilerDirectiveToken::consume(char aChar, CScanner& aScanner) {
  mTextValue=aChar;
  int result=aScanner.readUntil(mTextValue,gNewlines,false);
  return result;
};
コード例 #16
0
int main() {

    std::list<std::string>  program_list;
    std::list<std::string>::const_iterator itrTest;
    CScanner                scanner;
    Parser		    parsing;
    
    program_list.push_back(std::string("a=b+3.14156 - 7.8182;$"));
    program_list.push_back(std::string("a=c*b-d;$"));
    program_list.push_back(std::string("a=c+b$"));
    program_list.push_back(std::string("if (a>6) then a=c*(b-d); else b=10; fi;$"));
    program_list.push_back(std::string("a=c+b*d;$"));
    program_list.push_back(std::string("a=(c+b)*d;$ "));
    program_list.push_back(std::string("if (a>6) then a=c*(b-d); fi;$"));
    program_list.push_back(std::string("if (a>6) then if (b < a) then a=c*(b-d); else b=10; fi;$"));
    program_list.push_back(std::string("if (a>6) then if (b < a) then a=c*(b-d); fi; else b=10; fi;$"));
    program_list.push_back(std::string("a=(c+b)*d;$"));
    program_list.push_back(std::string("if (a>6) then if (b < a) then a=c*(b-d); else b=10; fi; else c=b*2; fi;$"));
    program_list.push_back(std::string("a=(c+b)*d ; b=a-e*t;$"));
    program_list.push_back(std::string("a=1+b$"));
    program_list.push_back(std::string("b=[1.0,2.1;3.5,4.6];$"));
    
    program_list.push_back(std::string("b =[1.0e-1,4.2e-1;1.0e+2,1.0e-0];$"));
    program_list.push_back(std::string("y=[1,2,3];$"));  
    program_list.push_back(std::string("x1=[1;2;3;4];$"));
    program_list.push_back(std::string("1=[1;2;3;4];$"));
    program_list.push_back(std::string("h=]1;2;3;4];$"));
    program_list.push_back(std::string("h=[1,2;3,4]+[4,3;2,1];$"));
    program_list.push_back(std::string("h=[1,2;3,4]-[6,5,4;3,2,1];$"));
    program_list.push_back(std::string("h=[1,2;3,4]*[6,5,4;3,2,1];$"));
    program_list.push_back(std::string("o=[1;2;3;4]; $"));
    program_list.push_back(std::string("z=[1,2,3,4,5,6,7,8;1,2,3,4,5,6,7,8];$"));  
    program_list.push_back(std::string("t=[1,2,Abc;3,4,5];$"));
    program_list.push_back(std::string("xy=[1,2,3;1,2];$"));
    program_list.push_back(std::string("d=[];$"));
    program_list.push_back(std::string("e=[1.e2,.2];$"));
    program_list.push_back(std::string("=$[2.0]"));
    program_list.push_back(std::string("z=[1,,2];$"));
    program_list.push_back(std::string("u=[1;;2];$"));
    
    itrTest = program_list.begin();
    while(itrTest != program_list.end())
    {
       try
       { 
          cout << *itrTest << endl;
          scanner.generate_token_list(*itrTest);

       // now scanner should contain a list of lexemes ready for parsing
       
	  parsing.parse(scanner.get_token_list());
	  cout << "\nA New Program\n\n";
       }
       catch (CSignal e)
       {
	   cout << e.get_message() << endl;  // Get the message
       }
       itrTest++;
     }
    
    return (SUCCESSFUL);
}
コード例 #17
0
ファイル: tokens.cpp プロジェクト: binoc-software/mozilla-cvs
int CNewlineToken::consume(char aChar, CScanner& aScanner) {
  mTextValue=aChar;
  int result=aScanner.readWhile(mTextValue,gNewlines,false);
  return result;
};
コード例 #18
0
BOOL Script( LPCSTR lpszFileName )
{
	g_eLocal.SetState( EVE_RESPAWN, 1 );

	CScanner s;
	if( s.Load( lpszFileName ) == FALSE)
	{
		Error("Fail to open file - %s", lpszFileName );
		return FALSE;
	}

	s.GetToken();
	while( s.tok != FINISHED )
	{
		if( s.Token == "ResourceFolder" )
		{
			s.GetToken();
			if( !SetCurrentDirectory( s.Token ) )
			{
				Error( "Folder not found, %s", s.Token );
				return FALSE;
			}
		}
		else if( s.Token == "Key" )
		{
			g_uKey		 = (DWORD)s.GetNumber();
#ifdef __S8_SERVER_PORT
			g_uIdofMulti = g_uKey % 100;
#else // __S8_SERVER_PORT
			g_uIdofMulti = g_uKey / 100;
#endif // __S8_SERVER_PORT
		}
		else if( s.Token == "Core" )
		{
			s.GetToken();
			strcpy( g_szCoreAddr, s.Token );
		}
		else if( s.Token == "DB" )
		{
			s.GetToken();
			strcpy( g_szDBAddr, s.Token );
		}
		else if( s.Token == "Account" )
		{
			s.GetToken();
			/*
		#ifdef __GIFTBOX0213
			lstrcpy( s_szAccountAddr, s.Token );
		#endif	// __GIFTBOX0213
		*/
		}
		else if( s.Token == "Heartbeat" )
		{
			s.GetToken();
			strcpy( g_sHeartbeat, s.Token );
		}
		else if( s.Token == "18" )
		{
			g_eLocal.SetState( EVE_18, 1 );		// 18세 서버 
		}
		else if( s.Token == "PK" )
		{
			g_eLocal.SetState( EVE_PK, 1 );
		}
		else if( s.Token == "PKCOST" )
		{
			g_eLocal.SetState( EVE_PKCOST, 1 );
		}
		else if( s.Token == "STEAL" )
		{
			g_eLocal.SetState( EVE_STEAL, 1 );				
		}
		else if (s.Token == "GUILDBANK")
		{
			g_eLocal.SetState( ENABLE_GUILD_INVENTORY, 1 );
		}
		else if( s.Token == "GUILDWAR" )
		{
			g_eLocal.SetState( EVE_GUILDWAR, 1 );
		}
		else if( s.Token == "DROPITEM_REMOVE" )
		{
			g_eLocal.SetState( EVE_DROPITEMREMOVE, 1 );
		}			
		else if( s.Token == "SCHOOL" )
		{
			//g_eLocal.SetState( EVE_SCHOOL, 1 );
		}
		else if( s.Token == "GUILDCOMBAT")
		{
			g_eLocal.SetState( EVE_GUILDCOMBAT, 1 );
		}
		else if( s.Token == "WORMON" )
		{
			g_eLocal.SetState( EVE_WORMON, 1 );
		}
		else if( s.Token == "respawn" )
		{
			g_eLocal.SetState( EVE_RESPAWN, (BYTE)s.GetNumber() );
		}
#ifdef __S_RECOMMEND_EVE
		else if( s.Token == "RECOMMEND" )
		{
			g_eLocal.SetState( EVE_RECOMMEND, 1 );
		}
#endif // __S_RECOMMEND_EVE

#if __VER >= 11 // __GUILD_COMBAT_1TO1
		else if( s.Token == "GUILDCOMBAT1TO1" )
		{
			g_eLocal.SetState( EVE_GUILDCOMBAT1TO1, 1 );
		}
#endif // __GUILD_COMBAT_1TO1

#ifdef __JEFF_11_4
		else if( s.Token == "ARENA" )
		{
			g_eLocal.SetState( EVE_ARENA, 1 );
		}
#endif // __JEFF_11_4

#if __VER >= 12 // __SECRET_ROOM
		else if( s.Token == "SECRETROOM" )
		{
			g_eLocal.SetState( EVE_SECRETROOM, 1 );
		}
#endif // __SECRET_ROOM
#if __VER >= 13 // __RAINBOW_RACE
		else if( s.Token == "RAINBOWRACE" )
		{
			g_eLocal.SetState( EVE_RAINBOWRACE, 1 );
		}
#endif // __RAINBOW_RACE

		s.GetToken();
	}
	return TRUE;
}
コード例 #19
0
ファイル: tokens.cpp プロジェクト: binoc-software/mozilla-cvs
int CIdentifierToken::consume(char aChar, CScanner& aScanner) {
  mTextValue=aChar;
  int result=aScanner.readWhile(mTextValue,gIdentChars,false);
  return result;
};
コード例 #20
0
ファイル: tokens.cpp プロジェクト: binoc-software/mozilla-cvs
int CNumberToken::consume(char aChar, CScanner& aScanner) {
  mTextValue=aChar;
  int result=aScanner.readWhile(mTextValue,gDigits,false);
  return result;
};
コード例 #21
0
ファイル: CoreServer.cpp プロジェクト: iceberry/flyffsf
BOOL Script( LPCSTR lpszFileName )
{
	CScanner s;
	CServerDesc* pServer;
	POINT topLeft;
	SIZE	size;

	if( s.Load( lpszFileName ) )
	{
		g_MyTrace.AddLine( '-' );

		s.GetToken();

		while( s.tok != FINISHED )
		{
			if( s.Token == "Sys" )
			{
				g_dwSys	= s.GetNumber();
			}
			else if( s.Token ==  "dwId" )
			{
				g_dwId = s.GetNumber();
			}
			else if( s.Token == "Database" )
			{
				s.GetToken();
				strcpy( szDataBaseAddr, s.Token );
			}
			else if( s.Token == "Certifier" )
			{
				s.GetToken();
				strcpy( szCertifierAddr, s.Token );
			}
			else if( s.Token == "TEST" )
			{
				s_bTest	= TRUE;			
			}
			else if( s.Token == "PartyExpRate" )
			{
				s_fPartyExpRate		= s.GetFloat();
			}
			else
			{
				pServer		= new CServerDesc;
				u_long uKey	= (u_long)_ttoi( s.Token );
				pServer->SetKey( uKey );

				if( s.GetToken() == DELIMITER )
				{
					while( s.GetToken() != DELIMITER )
					{
						CJurisdiction* pJurisdiction	= new CJurisdiction;
						pJurisdiction->m_dwWorldID	= (DWORD)_ttoi( s.Token );
						topLeft.x	= s.GetNumber();	topLeft.y	= s.GetNumber();
						size.cx		= s.GetNumber();	size.cy		= s.GetNumber();
						pJurisdiction->m_rect.SetRect( topLeft.x, topLeft.y, topLeft.x + size.cx, topLeft.y + size.cy );
						pJurisdiction->m_wLeft	= s.GetNumber();	pJurisdiction->m_wRight		= s.GetNumber();
						pServer->m_lspJurisdiction.push_back( pJurisdiction );
					}
				}
		#ifdef __STL_0402
				bool bResult	= g_dpCoreSrvr.m_apSleepServer.insert( CServerDescArray::value_type( pServer->GetKey(), pServer ) ).second;
				ASSERT( bResult );
		#else	// __STL_0402
				g_dpCoreSrvr.m_apSleepServer.SetAt( pServer->GetKey(), pServer );
		#endif	// __STL_0402
				g_MyTrace.Add( pServer->GetKey(), TRUE, "%04d", pServer->GetKey() );
			}
			s.GetToken();
		}
		g_MyTrace.AddLine( '-' );

		return TRUE;
	}

	Error( "Can't open file, %s.\n", lpszFileName );
	return FALSE;
}