Initial commit: ROW Client source code
Game client codebase including: - CharacterActionControl: Character and creature management - GlobalScript: Network, items, skills, quests, utilities - RYLClient: Main client application with GUI and event handlers - Engine: 3D rendering engine (RYLGL) - MemoryManager: Custom memory allocation - Library: Third-party dependencies (DirectX, boost, etc.) - Tools: Development utilities 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
138
Tools/DumpStatistics/DumpFileParser.h
Normal file
138
Tools/DumpStatistics/DumpFileParser.h
Normal file
@@ -0,0 +1,138 @@
|
||||
#pragma once
|
||||
|
||||
#include <vector>
|
||||
#include <algorithm>
|
||||
|
||||
class CDumpStatisticsDlg ;
|
||||
|
||||
enum DUMP_FLUG
|
||||
{
|
||||
SERVER_NAME,
|
||||
SERVER_VERSION,
|
||||
EXCEPTION,
|
||||
FAULT_ADDRESS
|
||||
} ;
|
||||
|
||||
typedef struct __DUMPMETADATA
|
||||
{
|
||||
CHAR byFaultAddress[50][ 10 ] ; // <20><><EFBFBD><EFBFBD> <20>ּ<EFBFBD> <20>Ѥ<EFBFBD>;
|
||||
int nFaultCnt;
|
||||
CHAR byException[ 10 ] ; // <20>ͼ<EFBFBD><CDBC><EFBFBD> <20>ּ<EFBFBD>
|
||||
CHAR szServerName[ 32 ] ; // <20><><EFBFBD><EFBFBD> <20≯<EFBFBD>
|
||||
CHAR szFileName[ MAX_PATH ] ; // dump <20><><EFBFBD>ϸ<EFBFBD>
|
||||
CHAR szVersion[ 8 ] ;
|
||||
CHAR szAvailabelVirtualMemory[ 15 ]; // <20><><EFBFBD><EFBFBD> <20><EFBFBD><DEB8><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
CHAR szTotalPhysicalMemory[ 15 ]; // <20><><EFBFBD><EFBFBD> <20><DEB8>
|
||||
CHAR szAdapterRAM[ 15 ]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
|
||||
CHAR szVideoProcessor[ 64 ]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>μ<EFBFBD><CEBC><EFBFBD>
|
||||
CHAR szAvailableMemory[ 15 ]; // <20><><EFBFBD><EFBFBD> <20><EFBFBD><DEB8><EFBFBD>
|
||||
|
||||
|
||||
DOUBLE fVersion ; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
__DUMPMETADATA(){ ClearData(); };
|
||||
void ClearData()
|
||||
{
|
||||
memset( byFaultAddress, 0, sizeof( CHAR ) * 50 * 10 );
|
||||
nFaultCnt = 0 ;
|
||||
memset( byException, 0, sizeof( CHAR ) * 10 );
|
||||
memset( szServerName, 0, sizeof( CHAR ) * 32 );
|
||||
memset( szFileName, 0, sizeof( CHAR ) * MAX_PATH );
|
||||
strcpy( szVersion, "0.00" );
|
||||
strcpy( szAvailabelVirtualMemory, "0" );
|
||||
strcpy( szTotalPhysicalMemory, "0" );
|
||||
strcpy( szAdapterRAM, "0" );
|
||||
strcpy( szVideoProcessor, "0" );
|
||||
strcpy( szAvailableMemory, "0" );
|
||||
fVersion = 0;
|
||||
}
|
||||
}DUMPMETADATA, *LPDUMPMETADATA ;
|
||||
|
||||
typedef struct __FILENAME
|
||||
{
|
||||
CHAR szFileName[ MAX_PATH ] ;
|
||||
}FILENAME, *LPFILENAME ;
|
||||
|
||||
typedef struct __FAULTLIST
|
||||
{
|
||||
DOUBLE dwVersion;
|
||||
CHAR szFileName[ MAX_PATH ] ;
|
||||
}FAULTLIST, *LPFAULTLIST;
|
||||
|
||||
typedef struct __DUMPDIRECTORYINFO
|
||||
{
|
||||
CHAR szDirectory[ MAX_PATH ] ; // <20>ش<EFBFBD> Direcoty
|
||||
std::vector< LPFILENAME > vecDumpFileInfo ; // Vector <20><><EFBFBD><EFBFBD>
|
||||
} DUMPDIRECTORYINFO, *LPDUMPDIRECTORYINFO ;
|
||||
|
||||
class CDumpLog
|
||||
{
|
||||
public:
|
||||
DOUBLE fVersion; // <20><><EFBFBD><EFBFBD>
|
||||
CHAR szFaultAddress[ MAX_PATH ]; // Fault Address
|
||||
CHAR szFileName[ MAX_PATH ] ; // <20><><EFBFBD>ϸ<EFBFBD>
|
||||
CHAR szVersion[ MAX_PATH ] ; // <20><><EFBFBD><EFBFBD>
|
||||
CHAR szGraphicCard[ MAX_PATH ] ; //<2F><EFBFBD><D7B7><EFBFBD> ī<><C4AB>
|
||||
UINT nBaseSystemMemory; //<2F>⺻ <20>ý<EFBFBD><C3BD><EFBFBD> <20><EFBFBD><DEB8><EFBFBD>
|
||||
UINT nUsedSystemMemory; //<2F><><EFBFBD><EFBFBD> <20>ý<EFBFBD><C3BD><EFBFBD> <20><EFBFBD><DEB8><EFBFBD>
|
||||
UINT nBaseLocalMemory; //<2F>⺻ Local <20><EFBFBD><DEB8><EFBFBD>
|
||||
UINT nLeftMemory; //<2F>⺻ Local <20><EFBFBD><DEB8><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
UINT nBaseAGPMemory; //<2F>⺻ AGP <20><EFBFBD><DEB8><EFBFBD>
|
||||
UINT nUsedAGPMemory; //<2F>⺻ AGP <20><EFBFBD><DEB8><EFBFBD>
|
||||
public:
|
||||
VOID Print2File( FILE* pFile );
|
||||
CDumpLog(){};
|
||||
~CDumpLog(){};
|
||||
};
|
||||
|
||||
class CDumpReport
|
||||
{
|
||||
private:
|
||||
std::vector< CDumpLog* > vecDumpFile; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
std::vector< LPFAULTLIST > vecFaultList;
|
||||
VOID AddFaultList( const char* szFault );
|
||||
public:
|
||||
BOOL Write2File( const char* filename );
|
||||
CDumpReport(){};
|
||||
~CDumpReport();
|
||||
VOID PushFaultLog( LPDUMPMETADATA lpMeta );
|
||||
|
||||
};
|
||||
|
||||
class CDumpFileParser
|
||||
{
|
||||
private :
|
||||
CHAR m_szCurrentDirectory[ MAX_PATH ] ; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>丮
|
||||
CHAR m_szCopyDirectory[ MAX_PATH ] ; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>°<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD> <20>ִ<EFBFBD> <20><>ġ
|
||||
std::vector< LPDUMPDIRECTORYINFO > m_vecDumpDirectoryInfo ;
|
||||
UINT m_uiDumpSize ;
|
||||
CDumpStatisticsDlg* m_pDlg ;
|
||||
CDumpReport m_DumpReport;
|
||||
|
||||
protected:
|
||||
VOID FindDumpDirectory( const char* path ) ; //<2F><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>丮<EFBFBD><E4B8AE> <20><><EFBFBD><EFBFBD> <20>˻<EFBFBD><CBBB>Ͽ<EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ϰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>丮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
VOID FindDumpFile( LPDUMPDIRECTORYINFO pDirectoryInfo ) ; // <20>ش<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>丮<EFBFBD><E4B8AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ã<><C3A3>
|
||||
|
||||
public :
|
||||
CDumpFileParser( CDumpStatisticsDlg* pDlg ) ;
|
||||
~CDumpFileParser(void);
|
||||
|
||||
VOID SetDumpDirectory( LPCTSTR lpszDirectory )
|
||||
{
|
||||
strcpy( m_szCurrentDirectory, lpszDirectory ) ;
|
||||
sprintf( m_szCopyDirectory,"%s\\sort", m_szCurrentDirectory ) ;
|
||||
::SetCurrentDirectory( m_szCurrentDirectory );
|
||||
::CreateDirectory( "sort", NULL ) ;
|
||||
}
|
||||
|
||||
VOID LoadDumpFile() ;
|
||||
HRESULT CheckLine( CHAR* strLine, LPDUMPMETADATA lpMetaData ) ;
|
||||
HRESULT CheckMoreDump( FILE* pFile, LPDUMPMETADATA lpMetaData ) ;
|
||||
|
||||
const char* MakeDirectory( LPDUMPMETADATA lpMetaData, int nCnt ); // <20>ش<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>丮<EFBFBD><E4B8AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ش<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>丮 <20><>ġ<EFBFBD><C4A1> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
|
||||
BOOL CopyFileExt( LPDUMPMETADATA lpMetaData, LPSTR lpszFileName );
|
||||
//=======================================================
|
||||
// Directory <20><><EFBFBD><EFBFBD>
|
||||
//=======================================================
|
||||
|
||||
VOID FindDumpDirectory() ; //<2F><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>丮<EFBFBD><E4B8AE> <20><><EFBFBD><EFBFBD> <20>˻<EFBFBD><CBBB>Ͽ<EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ϰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>丮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
};
|
||||
Reference in New Issue
Block a user