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; };
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(); } } } }
void LoadResAuth( LPCTSTR lpszFileName ) { CScanner s; if( s.Load( lpszFileName ) ) { s.GetToken(); lstrcpy( g_dpSrvr.m_szResVer, s.Token ); } }
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; }
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; }
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; }
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; }
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; }
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; }
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; }