Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Client.cpp : Defines the entry point for the application.
- //*-------------------------------------------------------------------------------------------------------------------*
- // 2005 / 06 / 20 : nAvy
- // サ鄙・レ チ、タヌ タ・ウクョア・シウク・:
- // 1. _TAIWAN : TAIWAN, PHILIPHIN チ「シモステ キホアラタホシュケ。ーヤ アケー。 トレオ・ ヌ・950 )クヲ コクウセチヲ アクコミヌマア・タァヌム チ、タヌ
- // 2. _DE : チ゚コケスヌヌ・ー。エノヌム ケッタホチ。 エ・ム チ、タヌ( KR )ソ。クク タ釤・テナイエル.
- //
- // * アケー。コー シヨキ郛ヌ アクシコ
- // 1. ヌムアケ
- // 1) コサシキ : Release_DE
- // 2) チヲエマニロ : Release
- //
- // 2. タマコサ, ケフアケ : Release
- //
- // 3. エ・ク, ヌハクョヌノ :Release_TAIWAN
- //*-------------------------------------------------------------------------------------------------------------------*
- #include "stdafx.h"
- #define AROSE
- #include "CApplication.h"
- #include "Game.h"
- //#include "CMouse.h"
- //#include "CKeyboard.h"
- #include "Network\\CNetwork.h"
- #include "Util\\VFSManager.h"
- #include "Util\\SystemInfo.h"
- #include "CClientStorage.h"
- #include "System/CGame.h"
- #include "Interface/ExternalUI/CLogin.h"
- #include "Debug.h"
- #include "TriggerInfo.h"
- #include "Util/CheckHack.h"
- #include "Country.h"
- //#include "nProtect/nProtect.h"
- #include "MiniDumper.h"
- MiniDumper g_MiniDump;
- ///#include "Util/JDebugNew.h"
- #define _CRTDBG_MAP_ALLOC
- #include <stdlib.h>
- #include <crtdbg.h>
- //*--------------------------------------------------------------------------------------*/
- // 95,98, meソ。シュ Unicodeー・テ Api Wrapper dll Load
- //HMODULE LoadUnicowsProc(void);
- //HMODULE g_hUnicows = NULL;
- //#ifdef _cplusplus
- //extern "C" {
- //#endif
- //extern FARPROC _PfnLoadUnicows = (FARPROC) &LoadUnicowsProc;
- //#ifdef _cplusplus
- //}
- //#endif
- //
- //
- //// Unicode Load
- //HMODULE LoadUnicowsProc(void)
- //{
- // g_hUnicows = LoadLibraryA("unicows.dll");
- // return g_hUnicows;
- //}
- //*--------------------------------------------------------------------------------------*/
- //-------------------------------------------------------------------------------------------------
- bool Init_DEVICE (void)
- {
- bool bRet = false;
- //--------------------------[ engine related ]-----------------------//
- ::initZnzin();
- ::openFileSystem("data.idx");
- ::doScript("scripts/init.lua");
- t_OptionResolution Resolution = g_ClientStorage.GetResolution();
- ::setDisplayQualityLevel( c_iPeformances[g_ClientStorage.GetVideoPerformance()] );
- t_OptionVideo Video;
- g_ClientStorage.GetVideoOption(Video);
- setFullSceneAntiAliasing( Video.iAntiAlising );
- if(!g_pCApp->IsFullScreenMode())
- {
- RECT ClientRt;
- GetClientRect(g_pCApp->GetHWND(),&ClientRt);
- ::setScreen(ClientRt.right, ClientRt.bottom, Resolution.iDepth, g_pCApp->IsFullScreenMode() );
- }
- else
- ::setScreen(g_pCApp->GetWIDTH(), g_pCApp->GetHEIGHT(), Resolution.iDepth, g_pCApp->IsFullScreenMode() );
- bRet = ::attachWindow((const void*)g_pCApp->GetHWND());
- CD3DUtil::Init( );
- g_pSoundLIST = new CSoundLIST( g_pCApp->GetHWND() );
- g_pSoundLIST->Load ( "3DDATA\\STB\\FILE_SOUND.stb" );
- return bRet;
- }
- //-------------------------------------------------------------------------------------------------
- void Free_DEVICE (void)
- {
- delete g_pSoundLIST;
- CD3DUtil::Free ();
- //--------------------------[ engine related ]-----------------------//
- ::detachWindow();
- ::closeFileSystem();
- ::destZnzin();
- }
- //------------------------------------------------------------------------------------------------
- // 2005. 5. 6. チカネ」オソ
- // チ゚コケ スヌヌ・テシナゥソ・シメトマ ヌリチヲ
- SOCKET listener;
- void CloseDuplicateAppSocket (void)
- {
- closesocket(listener);
- ::WSACleanup();
- }
- // チ゚コケ スヌヌ・テシナゥ : ニッチ、 ニョー。 チ゚コケ サシコ セネオヌエツ チ。タサ タフソ・
- bool IsDuplicateApp (void)
- {
- WSADATA wsadata;
- ::WSAStartup( MAKEWORD( 2, 2 ), &wsadata );
- // socket サシコ
- listener = ::socket(AF_INET, SOCK_STREAM, 0);
- // listening
- sockaddr_in addr;
- memset(&addr, 0, sizeof(sockaddr_in));
- addr.sin_family = AF_INET;
- addr.sin_addr.S_un.S_addr = INADDR_ANY;
- addr.sin_port = htons(7777);
- int result = ::bind(listener, (sockaddr*) &addr, sizeof(sockaddr_in));
- result = ::listen(listener, 5);
- if( result == SOCKET_ERROR )
- {
- CloseDuplicateAppSocket();
- MessageBox(NULL, "タフケフ ーヤタモタフ スヌヌ・チ゚タヤエマエル !", "ソ。キッ", MB_OK );
- return TRUE;
- }
- return FALSE;
- }
- //-------------------------------------------------------------------------------------------------
- int APIENTRY WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
- {
- #ifdef _USE_BG
- SetExceptionReport();
- #endif
- // #ifdef AROSE
- // #define initval 5465463
- // if(!InitVFS(0x536577))
- // MessageBox(NULL, "Init Error", "VFS Init Error", 0);
- // #endif // AROSE
- // *-------------------------------------------------------------------* //
- // 2005. 5. 6. チカネ」オソ
- #if 0
- //#ifndef _DE
- if( IsDuplicateApp() )
- return FALSE;
- #endif
- // *-------------------------------------------------------------------* //
- //-------------------------------------------------------------------------------
- /// Hack check..
- //-------------------------------------------------------------------------------
- /// if( CCheckHack::GetSingleton().Check() == false )
- /// return 0;
- /*
- _CrtSetDbgFlag (
- _CRTDBG_ALLOC_MEM_DF |
- _CRTDBG_LEAK_CHECK_DF);
- _CrtSetReportMode ( _CRT_ERROR,
- _CRTDBG_MODE_DEBUG);
- //*/
- //-------------------------------------------------------------------------------
- /// アケー。トレオ・タホスト
- //-------------------------------------------------------------------------------
- CCountry::GetSingleton().CheckCountry();
- //nProtect スヌヌ・
- //ネォアル : オ・テ ーヤタモー。オ・スヌヌ・ステナーチ・セハエツエル.
- /*#ifndef _DEBUG
- if( !m_nProtectSys.InitProtect() )
- return 0;
- #endif*/
- //KeyCrypt スヌヌ・
- //if( !m_npKeyCrypt.InitKeyCrypt() )
- // return 0;
- ///m_npKeyCrypt.IsGetUse() = FALSE;
- g_SystemInfo.CollectingSystemInfo();
- int iWindowVersion = g_SystemInfo.GetWindowsVersion();
- //-------------------------------------------------------------------------------
- /// Init Trigger VFS
- //-------------------------------------------------------------------------------
- VHANDLE hVFS = OpenVFS( "data.idx", (iWindowVersion == WINDOWS_98)?"r":"mr" );
- (CVFSManager::GetSingleton()).SetVFS( hVFS );
- (CVFSManager::GetSingleton()).InitVFS( VFS_TRIGGER_VFS );
- //-------------------------------------------------------------------------------
- /// Get Time
- //-------------------------------------------------------------------------------
- GetLocalTime( &g_GameDATA.m_SystemTime );
- //-------------------------------------------------------------------------------
- /// Init System object
- //-------------------------------------------------------------------------------
- g_pCApp = CApplication::Instance ();
- g_pNet = CNetwork::Instance (hInstance);
- g_pCRange = CRangeTBL::Instance ();
- //-------------------------------------------------------------------------------
- /// Load Range table
- //-------------------------------------------------------------------------------
- if ( !g_pCRange->Load_TABLE ("3DDATA\\TERRAIN\\O_Range.TBL") ) {
- g_pCApp->ErrorBOX ( "3DDATA\\TERRAIN\\O_Range.TBL file open error", CUtil::GetCurrentDir (), MB_OK);
- return 0;
- }
- //-------------------------------------------------------------------------------
- /// IP/Port Setting
- //-------------------------------------------------------------------------------
- g_GameDATA.m_wServerPORT = TCP_LSV_PORT;
- g_GameDATA.m_ServerIP.Set( TCP_LSV_IP );
- if ( !g_pCApp->ParseArgument( lpCmdLine ) )
- return 0;
- //-------------------------------------------------------------------------------
- /// タゥオオソ・サシコステ ヌリサオソ。 ー・ム Dataー。 ヌハソ萇マソゥ タフー。シュ キホオ衂ムエル.
- //-------------------------------------------------------------------------------
- g_TblResolution.Load2( "3DDATA\\STB\\RESOLUTION.STB", false, false );
- g_TblCamera.Load2( "3DDATA\\STB\\LIST_CAMERA.STB" ,false, false );
- //-------------------------------------------------------------------------------
- ///ナャカフセョソ。 タ惕蠏ネ Dataクヲ キホオ衂ムエル.
- //-------------------------------------------------------------------------------
- g_ClientStorage.Load();
- //-------------------------------------------------------------------------------
- ///タフタ・ソノシヌソ。シュ チカチ、オネ ヌリサオタヌ タホオヲスコクヲ ー。チョソヘシュ g_TblResolutionタサ ツ・カヌマソゥ
- ///ヌリサオクヲ チカチ、ヌムエル.
- //-------------------------------------------------------------------------------
- #pragma message("タ惕蠏ネ ヌリサオクヲ ナラスコニョヌリシュ ヌ・スヌヌ牴。エノヌムチ・ニヌエワヌマー・セネオヌク・グシシチ・ケレスコ カ鄙・・TriggerDetectクヲ スヌヌ狄テナイエル")
- t_OptionResolution Resolution = g_ClientStorage.GetResolution();
- /// ケ・ァーェ テシナゥ
- UINT iFullScreen = g_ClientStorage.GetVideoFullScreen();
- g_pCApp->SetFullscreenMode( iFullScreen );
- g_pCApp->CreateWND ("classCLIENT", "RoseOnline", Resolution.iWidth, Resolution.iHeight,Resolution.iDepth, hInstance);
- #ifndef _DEBUG
- // ステスコナロ チ、コククヲ クス
- TI_ReadSysInfoFile ();
- #endif
- // *-------------------------------------------------------------------* //
- g_pObjMGR = CObjectMANAGER::Instance ();
- g_pCApp->ResetExitGame();
- bool bDeviceInitialized = Init_DEVICE();
- if ( bDeviceInitialized ) {
- ///nProtect ケレ チ」
- //m_nProtectSys.Set_hWnd(g_pCApp->GetHWND());
- ///チ゚コケスヌヌ牴。エノ ケッ
- #ifndef singleclient
- CGame::GetInstance().GameLoop();
- #else
- ///チ゚コケスヌヌ犧キタコ ケッ
- HANDLE hMUTEX = NULL;
- const char szMUTEX[] = "ROSEonline";
- /// チ゚コケスヌヌ・テシナゥ... 2004. 9. 30 by icarus
- #ifdef _DEBUG
- if ( !g_GameDATA.m_bCheckDupRUN )
- {
- CGame::GetInstance().GameLoop();
- }
- else
- #endif
- {
- hMUTEX = ::CreateMutex( NULL, true, szMUTEX );
- switch( GetLastError() ) {
- case ERROR_SUCCESS :
- CGame::GetInstance().GameLoop();
- ::ReleaseMutex( hMUTEX );
- ::CloseHandle( hMUTEX );
- break;
- case ERROR_ALREADY_EXISTS :
- // タフケフ エルク・ ナャカフセョー。 スヌヌ狠゚タフエル..
- default :
- // ケケウト ???
- break;
- }
- /*
- hMUTEX = ::OpenMutex( MUTEX_ALL_ACCESS, false, szMUTEX );
- if ( NULL == hMUTEX ) {
- hMUTEX = ::CreateMutex( NULL, true, szMUTEX );
- CGame::GetInstance().GameLoop();
- ::ReleaseMutex( hMUTEX );
- ::CloseHandle( hMUTEX );
- } /// else タフケフ エルク・ ナャカフセョー。 スヌヌ狠゚タフエル..
- */
- }
- #endif
- }
- else {
- #ifdef _USE_BG
- ReportZnzinLog( "テハア篳ュソ。 スヌニミヌマソエスタエマエル. ソタキホタサ タ・ロヌマステーレスタエマア・", 10 );
- #endif
- }
- // *-------------------------------------------------------------------* //
- // 2005. 5. 6. チカネ」オソ
- #if !defined(_DE) && !defined(_TAIWAN)
- //#ifndef _DE
- CloseDuplicateAppSocket();
- #endif
- // *-------------------------------------------------------------------* //
- Free_DEVICE ();
- // *-------------------------------------------------------------------* //
- g_TblCamera.Free();
- g_TblResolution.Free();
- // *-------------------------------------------------------------------* //
- g_pCApp->Destroy ();
- g_pNet->Destroy ();
- //-------------------------------------------------------------------------------
- ///2004/3/26/nAvy:Release アクシコソ。シュ Debug Mode(F5キホスヌヌ・キホ スヌヌ狄テ キホアラタホ ネュク鯀。シュ テ・メヌマク・
- ///Errorウュエル. タフタッ クァ , ヌマチク アラウノ スヌヌ狄テソ。エツ (batニトタマキホ ネ、タコ ctrl+f5) Errorー。 セネウュエル.
- //-------------------------------------------------------------------------------
- g_pCRange->Destroy ();
- /*if( g_hUnicows )
- {
- FreeLibrary( g_hUnicows );
- g_hUnicows = NULL;
- }*/
- //CCheckHack::GetSingleton().Release();
- /*if( m_nProtectSys.IsGetUse() && m_nProtectSys.IsGameExit() )
- MessageBox( NULL, m_nProtectSys.GetHacking_Msg(),"GameGuard Error",MB_OK );*/
- return 0;
- }
- //-------------------------------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement