DragonNest/Client/DnDummyClient/stdafx.h
2024-12-19 09:48:26 +08:00

220 lines
5.9 KiB
C++

// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//
#pragma once
#pragma warning ( disable : 4995 )
#pragma warning ( disable : 4267 )
#pragma warning ( disable : 4018 )
// Modify the following defines if you have to target a platform prior to the ones specified below.
// Refer to MSDN for the latest info on corresponding values for different platforms.
#ifndef WINVER // Allow use of features specific to Windows XP or later.
#define WINVER 0x0501 // Change this to the appropriate value to target other versions of Windows.
#endif
#ifndef _WIN32_WINNT // Allow use of features specific to Windows XP or later.
#define _WIN32_WINNT 0x0501 // Change this to the appropriate value to target other versions of Windows.
#endif
#ifndef _WIN32_WINDOWS // Allow use of features specific to Windows 98 or later.
#define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later.
#endif
#ifndef _WIN32_IE // Allow use of features specific to IE 6.0 or later.
#define _WIN32_IE 0x0600 // Change this to the appropriate value to target other versions of IE.
#endif
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
// Windows Header Files:
#include <winsock2.h>
#include <windows.h>
// C RunTime Header Files
#include <stdlib.h>
#include <malloc.h>
#include <memory.h>
#include <tchar.h>
#include <strsafe.h>
// stl
#include <vector>
#include <deque>
#include <list>
#include <set>
#include <map>
#include <queue>
#include <deque>
#include <hash_map>
#include <algorithm>
#include <string>
#define PRE_USE_TLS_FOR_RANDOM
#define PRE_PARTY_RENEW_THIRD
// tinyxml 관련, 없으면 common/tinyxml 에서 받으세요.
#include "../../Common/tinyxml/tinyxml.h"
#include "../../Common/DNDefine.h"
/*
#ifdef _DEBUG
#pragma comment(lib, "../../Common/tinyxml/Debug_STL/tinyxmld_STL.lib")
#pragma comment(lib, "../../Common/lua/lua51_Debug(MTd).lib")
#else
#pragma comment(lib, "../../Common/tinyxml/Release_STL/tinyxml_STL.lib")
#pragma comment(lib, "../../Common/lua/lua51_Release(MT).lib")
#endif
*/
#ifndef TIXML_USE_STL
#define TIXML_USE_STL
#endif
// wxWidgets
// For compilers that support precompilation, includes "wx/wx.h".
#include "wx/wxprec.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#include <d3d9.h>
#include <d3dx9.h>
#include <stdio.h>
#include <string>
// for all others, include the necessary headers (this file is usually all you
// need because it includes almost all "standard" wxWidgets headers
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
#include "wx/aui/aui.h"
#include "wx/image.h"
#include "wx/listctrl.h"
#include "wx/imagpng.h"
#include "wx/wxhtml.h"
#include "wx/statline.h"
#include "wx/artprov.h"
#include "wx/datstrm.h"
#include "wx/event.h"
// 프로퍼티
#include "wx/propgrid/propgrid.h"
#include "wx/propgrid/propdev.h"
#include "wx/propgrid/props.h"
#include "wx/propgrid/advprops.h"
#include "DNPacket.h"
#include "DNCommonDef.h"
#include "EtMathWrapperD3D.h"
// TODO: reference additional headers your program requires here
#pragma comment(lib,"ws2_32.lib")
// DirectX Lib
#pragma comment(lib,"d3d9.lib")
#ifdef _DEBUG
#pragma comment(lib,"d3dx9d.lib")
#else
#pragma comment(lib,"d3dx9.lib")
#endif // _DEBUG
#pragma comment(lib,"dinput8.lib")
#pragma comment(lib,"dsound.lib")
#pragma comment(lib,"dxguid.lib")
#pragma comment(lib,"comctl32.lib")
#pragma comment(lib,"rpcrt4.lib")
#pragma comment(lib,"wsock32.lib")
#pragma comment(lib,"odbc32.lib")
#pragma comment(lib,"winmm.lib")
#ifdef _DEBUG
#pragma comment(lib,"wxmsw28ud_aui.lib")
#pragma comment(lib,"wxmsw28ud_core.lib")
#pragma comment(lib,"wxmsw28ud_adv.lib")
#pragma comment(lib,"wxbase28ud.lib")
// 프로퍼티
#pragma comment(lib,"wxcode_msw28ud_propgrid.lib")
#else
#pragma comment(lib,"wxmsw28u_aui.lib")
#pragma comment(lib,"wxmsw28u_core.lib")
#pragma comment(lib,"wxmsw28u_adv.lib")
#pragma comment(lib,"wxbase28u.lib")
// 프로퍼티
#pragma comment(lib,"wxcode_msw28u_propgrid.lib")
#endif
typedef std::basic_string< TCHAR > tstring;
void NxTrace( LPCTSTR szMsg, ... );
// 스트링 관련 유틸.. 걍 귀찮아서 여기 붙여넣자.
bool ToMultiString(IN std::wstring& wstr, OUT std::string& str );
bool ToWideString(IN std::string& str, OUT std::wstring& wstr );
bool ToMultiString(IN WCHAR* wstr, OUT std::string& str );
bool ToWideString(IN CHAR* str, OUT std::wstring& wstr );
// 소문자로 변환
void ToLowerA(std::string& str);
void ToLowerW(std::wstring& str);
// 대문자로 변환
void ToUpperA(std::string& str);
void ToUpperW(std::wstring& str);
std::wstring FormatW( const WCHAR* fmt, ... );
std::string FormatA( const CHAR* fmt, ... );
std::wstring GetTimeString(time_t time);
void RemoveStringA(std::string& str, std::string& del);
void TokenizeW( const std::wstring& str, std::vector<std::wstring>& tokens, const std::wstring& delimiters /* = L" "*/ );
#ifndef SAFE_DELETE
#define SAFE_DELETE(x) if(x) { delete x; x=NULL; }
#endif // SAFE_DELETE
#ifndef SAFE_DELETEA
#define SAFE_DELETEA(x) if(x) { delete []x; x=NULL; }
#endif // SAFE_DELETEA
#if defined(_FILELOG_PACKET) || defined(_FILELOG_SPOS)
void _WriteLog( int nLogType, const char *szStr, ... ) ;
void _WriteLogA( const char *szStr, ... ) ;
void _WriteDisplayLog( int Logtype , const char *szStr , ...);
extern bool g_bInvalidDisconnect;
#define WriteLog( type , fmt, ... ) _WriteLog(type , fmt, __VA_ARGS__ );
#define InfoLog( fmt, ... ) _WriteDisplayLog(1,fmt , __VA_ARGS__ );
#define ErrorLog( fmt, ... ) _WriteDisplayLog( 3,fmt , __VA_ARGS__ );
#ifndef _FINAL_BUILD
#define DebugLog( fmt, ... ) _WriteDisplayLog( 4,fmt , __VA_ARGS__ );
#define WarningLog( fmt, ... ) _WriteDisplayLog(2,fmt , __VA_ARGS__ );
#else
#define DebugLog( fmt, ... )
#define WarningLog( fmt, ... )
#endif
#else
#define WriteLog( type, fmt, ... )
#define InfoLog( fmt, ... )
#define ErrorLog( fmt, ... )
#define DebugLog( fmt, ... )
#define WarningLog( fmt, ... )
#endif