Fakerank einbauen[is nicht meine aktuelle]
Suche:
void CUpDownClient:

endRankingInfo(){
Ersetze alles bis zur } durch folgendes:
void CUpDownClient:

endRankingInfo(){
if (!ExtProtocolAvailable())
return;
uint16 nRank;
int rn1;
srand(clock());
rn1=10+rand() % 150;
nRank = rn1;
Packet* packet = new Packet(OP_QUEUERANKING,12,OP_EMULEPROT);
memset(packet->pBuffer,0,12);
memcpy(packet->pBuffer+0,&nRank,2);
theApp.uploadqueue->AddUpDataOverheadOther(packet->size);
socket->SendPacket(packet,true,true);
------------------------------------------------------------------------------------------------
Moderkennung einbauen (LSD) ein riesiger tut
Zum Projekt hinzufügen:
Mod_Version.cpp
Mod_Version.h
Opcodes.h
Suchen:
code:
1:
2:
3:
#define ET_FEATURES 0x27
Einfügen:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
//MOD Version LSD
#define ET_MOD_FUSION 0x66 // Fusion Mod
#define ET_MOD_FUSION_VERSION 0x67 // Fusion Mod ver
#define ET_MOD_TAROD 0x77 // Tarod Client Version Bool, (v==0) = Advanced Mod
#define ET_MOD_TAROD_VERSION 0x78 // lugdunum asked for it -do not remove (Tarod Version)
#define ET_MOD_Morph 0x79 // Added by Morpheus original Code by Tarod
#define ET_MOD_Morph_VERSION 0x80 // Added by Morpheus original Code by Tarod
#define ET_MOD_MorTillo 0x82 // MorTillo
#define ET_MOD_MorTillo_VERSION 0x83 // MorTillo
#define ET_MOD_LSD 0x87 // Bool LSD Client Version
#define ET_MOD_LSD_VERSION 0x88 // DW LSD Client Version
#define ET_MOD_LOVELACE_VERSION 0x90 // [lovelace] Mod ver
#define ET_MOD_OXY 0x94 // Oxygen Mod
#define ET_MOD_PLUS 0x99 // emule Plus ver
#define ET_FEATURESET 0x54 //[Bloodymad Featureset]
#define ET_MOD_VERSION 0x55 // Mod ver Generic String
#define ET_MOD_PROTOCOL 0x56 // Mod ver Extended Mod Protocol
#define MOD_VERSION "My Own Mod v1"//Generic String-Mod Version !
TransferWnd.h
Bei den #include 's einfügen:
code:
1:
2:
3:
#include "Mod_Version.h"
Suchen:
code:
1:
2:
3:
CToolTipCtrl m_tooltip;
Einfügen:
code:
1:
2:
3:
CModVersion* mod;//LSD mod version class
TransferWnd.cpp
Suchen:code:
1:
2:
3:
4:
5:
6:
BOOL CTransferWnd:

nInitDialog(){
CResizableDialog:

nInitDialog();
InitWindowStyles(this);
windowtransferstate = 1;
Einfügen:
code:
1:
2:
3:
mod = new CModVersion ();//LSD mod version class
Baseclient.cpp:
Suchen:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
if (!m_pszUsername) {m_clientSoft=SO_UNKNOWN;return;}
int iHashType = GetHashType();
if (iHashType == SO_OLDEMULE) {m_clientSoft= SO_OLDEMULE;return;}
if (iHashType == SO_EMULE){
if( m_byEmuleVersion!=0x99 ){
CString temp;
temp.Format( "%02X", m_byEmuleVersion );
m_nClientVersion = atoi(temp.GetBuffer())*10;
}
switch(m_byCompatibleClient){
case SO_CDONKEY:
m_clientSoft = SO_CDONKEY;
break;
case SO_XMULE:
m_clientSoft = SO_XMULE;
break;
case SO_SHAREAZA:
m_clientSoft = SO_SHAREAZA;
break;
default:
if (m_bIsML)
m_clientSoft = SO_MLDONKEY;
else if (m_bIsHybrid)
m_clientSoft = SO_EDONKEYHYBRID;
else
m_clientSoft = SO_EMULE;
}
return;
}
if (m_bIsML || iHashType == SO_MLDONKEY) {m_clientSoft= SO_MLDONKEY;return;}
if( m_bIsHybrid )
m_clientSoft=SO_EDONKEYHYBRID;
else
m_clientSoft=SO_EDONKEY;
Ersetzen:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
//if (!m_pszUsername) {m_clientSoft=SO_UNKNOWN;return;}
int iHashType = GetHashType();
if(m_pszUsername == NULL){
m_clientSoft =SO_UNKNOWN;
}
else if (iHashType == SO_OLDEMULE) { m_clientSoft= SO_OLDEMULE;;}
else if (iHashType == SO_EMULE) {
if( m_byEmuleVersion!=0x99 )
{
CString temp;
temp.Format( "%02X", m_byEmuleVersion );
m_nClientVersion = atoi(temp.GetBuffer())*10;
}
switch(m_byCompatibleClient){
case SO_CDONKEY:
m_clientSoft = SO_CDONKEY;
break;
case SO_XMULE:
m_clientSoft = SO_XMULE;
break;
case SO_SHAREAZA:
m_clientSoft = SO_SHAREAZA;
break;
default:
if (m_bIsML)
m_clientSoft = SO_MLDONKEY;
else if (m_bIsHybrid)
m_clientSoft = SO_EDONKEYHYBRID;
else
m_clientSoft = SO_EMULE;
}
//return;
}
else if (m_bIsML || iHashType == SO_MLDONKEY) { m_clientSoft= SO_MLDONKEY;;}
else if( m_bIsHybrid )
m_clientSoft=SO_EDONKEYHYBRID;
else
m_clientSoft=SO_EDONKEY;
Suchen:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
void CUpDownClient:

endMuleInfoPacket(bool bAnswer){
...
CSafeMemFile data(12

;
uint8 version = theApp.m_uCurVersionShort;
data.Write(&version,1);
uint8 protversion = EMULE_PROTOCOL;
data.Write(&protversion,1);
uint32 tagcount = 7;
Ersetzen durch:
code:
1:
2:
3:
4:
5:
6:
7:
8:
CSafeMemFile data(12

;
uint8 version = theApp.m_uCurVersionShort;
data.Write(&version,1);
uint8 protversion = EMULE_PROTOCOL;
data.Write(&protversion,1);
uint32 tagcount = 8;
Suchen:
code:
1:
2:
3:
4:
CTag tag7(ET_FEATURES, dwTagValue);
tag7.WriteTagToFile(&data);
Einfügen:
code:
1:
2:
3:
4:
CTag tag8(ET_MOD_VERSION, MOD_VERSION); // Generic Mod String
tag8.WriteTagToFile(&data);
Suchen:
code:
1:
2:
3:
4:
DEBUG_ONLY (theApp.listensocket->Debug_ClientDeleted(this));
this->SetUploadFileID(NULL);
Einfügen:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
//Add some lines to free memory
if (m_modVerString)
delete[] m_modVerString;
if (m_modExtendedString)
delete[] m_modExtendedString;
if (m_strFusionVersionString)
delete[] m_strFusionVersionString;
if (m_strMorTilloVersionString)
delete[] m_strMorTilloVersionString;
if (m_strLovelaceVersionString)
delete[] m_strLovelaceVersionString;
Suchen:
code:
1:
2:
3:
4:
5:
}
int CUpDownClient::GetHashType()
Darüber Einfügen:
code:
1:
2:
3:
4:
//LSD Get version string
theApp.emuledlg->transferwnd.mod->Mod_Version_String_Safe (this,&m_clientVerString);
Suchen:
code:
1:
2:
3:
void CUpDownClient::Init(){
Einfügen:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
// MOD VERSIONS
m_modVerString = NULL; // x55
m_modExtendedString = NULL; // 0x56
m_byDataTarodVer = 0; // Added by Tarod
m_dwTarodVersionNumber = 0; // Tarod Version
m_byDataPlusVer = 0; // Plus ver
m_dwPlusVersionNumber = 0; // Plus bool
m_byDataLSDVer = 0; // LSD Ver --Experminetal --
m_dwLSDVersionNumber = 0; // LSD Ver --Experminetal --
m_byDataMorphVer = 0; // Bool Morph
m_dwMorphVersionNumber = 0; // Ver Morph
m_byDataOxyVer = 0; // Bool Oxy
m_byDataFusionVer = 0; // Bool Fusion
m_dwFusionVersionNumber = 0; // Ver Fusion
m_strFusionVersionString = NULL; // Ver Fusion String
m_byDataMorTilloVer = 0; // Bool Mortillo
m_dwMorTilloVersionNumber = 0; // Ver Mortillo
m_strMorTilloVersionString = NULL; // Ver Mortillo String
m_strLovelaceVersionString = NULL; // Ver Lovelace String
//END LSD
Suchen:
code:
1:
2:
3:
case ET_FEATURES:
Einfügen:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
//LSD MOD Version
case ET_MOD_VERSION: //Mod String 55
if (temptag.tag.type == 2 && temptag.tag.stringvalue) { //Pawcio: Fix Mod String
if (m_modVerString){ //Pawcio: Fix Mod Version
delete[] m_modVerString;
m_modVerString = NULL; // needed, in case 'nstrdup' fires an exception!!
}
m_modVerString = nstrdup(temptag.tag.stringvalue);
}
break;
case ET_MOD_TAROD: // I insist it do not harm, just curiosity
m_byDataTarodVer = temptag.tag.intvalue;
break;
case ET_MOD_TAROD_VERSION: // lugdunum asked for it -do not remove
m_dwTarodVersionNumber = temptag.tag.intvalue;
break;
case ET_MOD_PROTOCOL: //Mod Extended Protocol String 56
//m_modExtendedString = nstrdup(temptag->tag->stringvalue);
break;
case ET_MOD_LSD: // bool LSD-4x
m_byDataLSDVer = temptag.tag.intvalue;
break;
case ET_MOD_LSD_VERSION: // uint32 & bool LSD version
m_dwLSDVersionNumber = temptag.tag.intvalue;
break;
case ET_MOD_PLUS: // emule plus ver
m_dwPlusVersionNumber = temptag.tag.intvalue;
m_byDataPlusVer=1;
break;
case ET_MOD_Morph: // Morpheus
m_byDataMorphVer = temptag.tag.intvalue;
break;
case ET_MOD_Morph_VERSION: // Morpheus
m_dwMorphVersionNumber = temptag.tag.intvalue;
m_byDataMorphVer = 1;
break;
case ET_MOD_FUSION: // Fusion
m_byDataFusionVer = temptag.tag.intvalue;
m_dwFusionVersionNumber = 1;
break;
case ET_MOD_FUSION_VERSION: // Fusion String
if (temptag.tag.type == 2 && temptag.tag.stringvalue) { //Pawcio: Fix Mod String
if (m_strFusionVersionString){ //Pawcio
delete[] m_strFusionVersionString;
m_strFusionVersionString = NULL; // needed, in case 'nstrdup' fires an exception!!
}
m_strFusionVersionString = nstrdup(temptag.tag.stringvalue);
}
m_dwFusionVersionNumber = 1;
break;
case ET_MOD_MorTillo: // MorTillo
m_byDataMorTilloVer = temptag.tag.intvalue;
m_dwMorTilloVersionNumber = 1;
break;
case ET_MOD_MorTillo_VERSION: // MorTillo String
if (temptag.tag.type == 2 && temptag.tag.stringvalue) { // Is String ?? Pawcio: Fix Mod String
if (m_strMorTilloVersionString){ //Pawcio
delete[] m_strMorTilloVersionString;
m_strMorTilloVersionString = NULL; // needed, in case 'nstrdup' fires an exception!!
}
m_strMorTilloVersionString = nstrdup(temptag.tag.stringvalue);
}
else {
m_dwMorTilloVersionNumber = temptag.tag.intvalue;
}
break;
case ET_MOD_LOVELACE_VERSION: // Lovelace String
if (temptag.tag.type == 2 && temptag.tag.stringvalue) { //Pawcio: Fix Mod String
if (m_strLovelaceVersionString){ //Pawcio
delete[] m_strLovelaceVersionString;
m_strLovelaceVersionString = NULL; // needed, in case 'nstrdup' fires an exception!!
}
m_strLovelaceVersionString = nstrdup(temptag.tag.stringvalue);
}
break;
case ET_MOD_OXY:
m_byDataOxyVer=1; // Is Oxygen mod
break;
//END MOD Version
ClientListCtrl.cpp
Suchen:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
case 5:
if( item1->GetClientSoft() == item2->GetClientSoft() )
return item2->GetVersion() - item1->GetVersion();
return item1->GetClientSoft() - item2->GetClientSoft();
case 105:
if( item1->GetClientSoft() == item2->GetClientSoft() )
return item1->GetVersion() - item2->GetVersion();
return item2->GetClientSoft() - item1->GetClientSoft();
Ersetzen:
code:
1:
2:
3:
4:
5:
6:
7:
case 5:
return theApp.emuledlg->transferwnd.mod->Mod_Version_Sort_by_String (item2,item1); //Sort By String
case 105: //LSD Client sort
return theApp.emuledlg->transferwnd.mod->Mod_Version_Sort_by_String (item1,item2); //Sort By String
Suchen:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
case 5:{
switch(client->GetClientSoft()){
case SO_EDONKEY:
Sbuffer.Format("eDonkey v%.1f",(float)client->GetVersion()/10.0f);
break;
case SO_EDONKEYHYBRID:
Sbuffer.Format( "eDonkeyHybrid v%.1f",(float)client->GetVersion()/10.0f);
break;
case SO_EMULE:
case SO_OLDEMULE:
Sbuffer.Format("eMule v%.2f",(float)client->GetVersion()/1000.0f);
break;
case SO_XMULE:
Sbuffer.Format("xMule v%.2f",(float)client->GetVersion()/1000.0f);
break;
case SO_CDONKEY:
Sbuffer.Format("cDonkey v%.2f",(float)client->GetVersion()/1000.0f);
break;
case SO_MLDONKEY:
Sbuffer.Format("MLdonkey v%.2f",(float)client->GetVersion()/1000.0f);
break;
case SO_SHAREAZA:
Sbuffer.Format("Shareaza v%.2f",(float)client->GetVersion()/1000.0f);
break;
default:
Sbuffer = GetResString(IDS_UNKNOWN);
}
break;
}
ERSETZEN DURCH:
code:
1:
2:
3:
4:
5:
6:
7:
case 5:{
client->CopyClientVerString(&Sbuffer); ////LSD Mod Version-CPU Relax
break;
}
QueueListCtrl.cpp
Nach den #include 's einfügen:
code:
1:
2:
3:
#define COL_MOD 9+1//LSD Client Version
Suchen:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
case 6:
Sbuffer = CastSecondsToHM((::GetTickCount() - client->GetLastUpRequest())/1000);
break;
case 7:
Sbuffer = CastSecondsToHM((::GetTickCount() - client->GetWaitStartTime())/1000);
break;
case 8:
if(client->IsBanned())
Sbuffer = GetResString(IDS_YES);
else
Sbuffer = GetResString(IDS_NO);
break;
case 9:
if( client->GetUpPartCount()){
cur_rec.bottom--;
cur_rec.top++;
client->DrawUpStatusBar(dc,&cur_rec,false,theApp.glob_prefs->UseFlatBar());
cur_rec.bottom++;
cur_rec.top--;
}
break;
Einfügen:
code:
1:
2:
3:
4:
5:
case COL_MOD://LSD Mod Version
client->CopyClientVerString(&Sbuffer); //CPU Relax
break;
Suchen:
code:
1:
2:
3:
4:
InsertColumn(8,GetResString(IDS_BANNED),LVCFMT_LEFT,60,

;
InsertColumn(9,GetResString(IDS_UPSTATUS),LVCFMT_LEFT,100,9);
Einfügen:
code:
1:
2:
3:
4:
5:
CString coltemp;coltemp=GetResString(IDS_CD_CSOFT);coltemp.Remove(':');
InsertColumn(COL_MOD,coltemp,LVCFMT_LEFT,110,COL_MOD); //LSD Client Version
UploadListCtrl.cpp
Nach den #include 's einfügen:
code:
1:
2:
3:
#define COL_MOD 7+1
Suchen:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
case 6:
switch (client->GetUploadState()){
case US_CONNECTING:
Sbuffer = GetResString(IDS_CONNECTING);
break;
case US_WAITCALLBACK:
Sbuffer = GetResString(IDS_CONNVIASERVER);
break;
case US_UPLOADING:
Sbuffer = GetResString(IDS_TRANSFERRING);
break;
default:
Sbuffer = GetResString(IDS_UNKNOWN);
}
break;
case 7:
if( client->GetUpPartCount() ){
cur_rec.bottom--;
cur_rec.top++;
client->DrawUpStatusBar(dc,&cur_rec,false,theApp.glob_prefs->UseFlatBar());
cur_rec.bottom++;
cur_rec.top--;
}
break;
Einfügen:
code:
1:
2:
3:
4:
5:
case COL_MOD://LSD Mod Version
client->CopyClientVerString(&Sbuffer); //CPU Relax
break;
Suchen:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
case 6:
return item1->GetUploadState() - item2->GetUploadState();
case 106:
return item2->GetUploadState() - item1->GetUploadState();
case 7:
return item1->GetUpPartCount() - item2->GetUpPartCount();
case 107:
return item2->GetUpPartCount() - item1->GetUpPartCount();
Einfügen:
code:
1:
2:
3:
4:
5:
6:
case COL_MOD: //LSD Client sort
return theApp.emuledlg->transferwnd.mod->Mod_Version_Sort_by_String (item2,item1); //Sort By String
case COL_MOD+100: //LSD Client sort
return theApp.emuledlg->transferwnd.mod->Mod_Version_Sort_by_String (item1,item2); //Sort By String
Suchen:
code:
1:
2:
3:
4:
5:
6:
strRes = GetResString(IDS_STATUS);
hdi.pszText = strRes.GetBuffer();
pHeaderCtrl->SetItem(6, &hdi);
strRes.ReleaseBuffer();
Einfügen:
code:
1:
2:
3:
4:
5:
6:
7:
strRes = GetResString(IDS_CD_CSOFT); //LSD
strRes.Remove(':');
hdi.pszText = strRes.GetBuffer();
pHeaderCtrl->SetItem(COL_MOD, &hdi);
strRes.ReleaseBuffer();
Suchen:
code:
1:
2:
3:
InsertColumn(6,GetResString(IDS_STATUS),LVCFMT_LEFT,110,6);
Einfügen:
code:
1:
2:
3:
4:
5:
CString coltemp;coltemp=GetResString(IDS_CD_CSOFT);coltemp.Remove(':');
InsertColumn(COL_MOD,coltemp,LVCFMT_LEFT,110,COL_MOD); //LSD Client Version
UpdownClient.h
Suchen:
code:
1:
2:
3:
EClientSoftware m_clientSoft;
Einfügen:
code:
1:
2:
3:
CString m_clientModString; // SLUGFILLER: modID
Suchen:
code:
1:
2:
3:
void ReGetClientSoft();
Einfügen:
code:
1:
2:
3:
const CString& GetClientModString() const { return m_clientModString; } // SLUGFILLER: modID
Geht bis ans Ende vor das hier:
code:
1:
2:
3:
};
Einfügen:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
private:
// MOD versions
uint8 m_byDataTarodVer; // Added by Tarod (just curiosity)
uint32 m_dwTarodVersionNumber; // Added by Tarod
uint8 m_byDataLSDVer; // Bool LSD
uint32 m_dwLSDVersionNumber; // Ver LSD
uint8 m_byDataPlusVer; // Bool Plus
uint32 m_dwPlusVersionNumber; // Ver Plus
uint8 m_byDataMorphVer; // Bool Morph
uint32 m_dwMorphVersionNumber; // Ver Morph
uint8 m_byDataOxyVer; // Bool Oxygen
uint8 m_byDataFusionVer; // Bool Fusion
uint32 m_dwFusionVersionNumber; // Ver Fusion
char* m_strFusionVersionString; // Fusion String
uint8 m_byDataMorTilloVer; // Bool MorTillo
uint32 m_dwMorTilloVersionNumber; // Ver Fusion
char* m_strMorTilloVersionString; // Ver MorTillo
char* m_strLovelaceVersionString; // Lovelace String
char* m_modVerString; // 0x55 Mod ver Generic String
char* m_modExtendedString; // 0x56 Mod ver Extended Mod Protocol
public:
char* GetModVersion() const { return m_modVerString; }
char* GetModExtended() const { return m_modExtendedString; }
char* GetLovelaceVersionString() const { return m_strLovelaceVersionString; } //Lovelace String
uint32 GetTarodVersionNumber() const { return m_dwTarodVersionNumber; } // Tarod Version
uint32 GetLSDVersionNumber() const { return m_dwLSDVersionNumber; } // thnks Tarod --LSD Version--
uint32 GetPLUSVersionNumber() const { return m_dwPlusVersionNumber; } // Plus Version
uint32 GetMorphVersionNumber() const { return m_dwMorphVersionNumber; }
uint32 GetFusionVersionNumber() const { return m_dwFusionVersionNumber; }
char* GetFusionVersionString() const { return m_strFusionVersionString; } //Fusion String
uint32 GetMorTilloVersionNumber() const { return m_dwMorTilloVersionNumber; }
char* GetMorTilloVersionString() const { return m_strMorTilloVersionString; } //Motrtillo String
bool IsTarodVersion() { return (m_byDataTarodVer == 1 || m_byDataTarodVer == 2);} // Added by Tarod
bool IsLSDVersion() { return ((m_dwLSDVersionNumber >0) || m_byDataLSDVer );} // thnks Tarod --LSD Version--
bool IsPLUSVersion() { return ((m_dwPlusVersionNumber >0) || m_byDataPlusVer );}
bool IsMorphVersion() { return ((m_dwMorphVersionNumber >0) || m_byDataMorphVer );}
bool IsFusionVersion() { return ((m_dwFusionVersionNumber >0) || m_byDataFusionVer);}
bool IsMorTilloVersion() { return ((m_dwMorTilloVersionNumber >0)|| m_byDataMorTilloVer);}
bool IsOxyVersion() { return (m_byDataOxyVer == 1 || m_byDataOxyVer == 2);}
//END MOD VERSION
// Maella -Support for tag ET_MOD_VERSION 0x55-
private:
CString m_clientVerString;
public:
const CString& GetClientVerString() const { return m_clientVerString; }
void CopyClientVerString(CString *bcopy) { *bcopy = m_clientVerString; }//LSD copy
//LSD END
Clientlist.h
Suchen:
code:
1:
2:
3:
// ----------------------CClientList Class---------------
Einfügen:
code:
1:
2:
3:
4:
5:
6:
7:
8:
// SLUGFILLER: modID
struct ModClients_Struct{
CString name;
uint32 clients;
};
// SLUGFILLER: modID
Suchen:
code:
1:
2:
3:
void GetStatistics(uint32 &totalclient, int stats[], CMap<uint16, uint16, uint32, uint32> *clientVersionEDonkey=NULL, CMap<uint16, uint16, uint32, uint32> *clientVersionEDonkeyHybrid=NULL, CMap<uint16, uint16, uint32, uint32> *clientVersionEMule=NULL, CMap<uint16, uint16, uint32, uint32> *clientVersionLMule=NULL); // xrmb : statsclientstatus
Einfügen:
code:
1:
2:
3:
4:
void GetModStatisticsForVersion(uint16 version, CList<ModClients_Struct> *clientMods); // SLUGFILLER: modID
DownloadListCtrl.cpp
Suchen:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
case 6:{ // sources
switch(lpUpDownClient->GetClientSoft()){
case SO_EDONKEY:
buffer.Format("eDonkey v%.1f",(float)lpUpDownClient->GetVersion()/10.0f);
break;
case SO_EDONKEYHYBRID:
buffer.Format( "eDonkeyHybrid v%.1f",(float)lpUpDownClient->GetVersion()/10.0f);
break;
case SO_EMULE:
case SO_OLDEMULE:
buffer.Format("eMule v%.2f",(float)lpUpDownClient->GetVersion()/1000.0f);
break;
case SO_CDONKEY:
buffer.Format("cDonkey v%.2f",(float)lpUpDownClient->GetVersion()/1000.0f);
break;
case SO_XMULE:
buffer.Format("xMule v%.2f",(float)lpUpDownClient->GetVersion()/1000.0f);
break;
case SO_MLDONKEY:
buffer.Format("MLdonkey v%.2f",(float)lpUpDownClient->GetVersion()/1000.0f);
break;
case SO_SHAREAZA:
buffer.Format("Shareaza v%.2f",(float)lpUpDownClient->GetVersion()/1000.0f);
break;
default:
buffer = GetResString(IDS_UNKNOWN);
}
dc->DrawText(buffer,buffer.GetLength(),lpRect, DLC_DT_TEXT);
break;
Ersetzen:
code:
1:
2:
3:
4:
5:
case 6:{ // sources Version
dc->DrawText(lpUpDownClient->GetClientVerString(), lpRect, DLC_DT_TEXT);// Maella -Support for tag ET_MOD_VERSION 0x55-
break;
Suchen:
code:
1:
2:
3:
4:
5:
6:
case 6:
if( client1->GetClientSoft() == client2->GetClientSoft() )
return client2->GetVersion() - client1->GetVersion();
return client1->GetClientSoft() - client2->GetClientSoft();
Ersetzen:
code:
1:
2:
3:
4:
5:
case 6: //Sort Mod
return theApp.emuledlg->transferwnd.mod->Mod_Version_Sort_by_String (client2,client1); //Sort By String
Clientlist.cpp
Suchen:
code:
1:
2:
3:
void CClientList::AddClient(CUpDownClient* toadd,bool bSkipDupTest){
Darüber Einfügen:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
// SLUGFILLER: modID
void CClientList::GetModStatisticsForVersion(uint16 version, CList<ModClients_Struct> *clientMods){
if (!clientMods)
return;
clientMods->RemoveAll();
POSITION pos1, pos2;
for (pos1 = list.GetHeadPosition()

pos2 = pos1 ) != NULL

{
list.GetNext(pos1);
CUpDownClient* cur_client = list.GetAt(pos2);
switch (cur_client->GetClientSoft()) {
case SO_EMULE :
case SO_OLDEMULE:
break;
default:
continue;
}
if (cur_client->GetVersion() != version)
continue;
CString clientmod = cur_client->GetClientVerString();
for (POSITION pos = clientMods->GetHeadPosition();pos != NULL;clientMods->GetNext(pos)){
ModClients_Struct mcsMod = clientMods->GetAt(pos);
if (mcsMod.name == clientmod){
mcsMod.clients++;
clientMods->SetAt(pos, mcsMod);
break;
}
if (mcsMod.name > clientmod){
mcsMod.name = clientmod;
mcsMod.clients = 1;
clientMods->InsertBefore(pos, mcsMod);
break;
}
}
if (pos == NULL){
ModClients_Struct mcsMod;
mcsMod.name = clientmod;
mcsMod.clients = 1;
clientMods->AddTail(mcsMod);
}
}
if (clientMods->IsEmpty())
return;
ModClients_Struct mcsOfficial = clientMods->GetHead();
if (!mcsOfficial.name.IsEmpty())
return;
mcsOfficial.name = "Official eMule";
clientMods->SetAt(clientMods->GetHeadPosition(), mcsOfficial);
}
// SLUGFILLER: modID
StatisticsDlg.cpp
Suchen:
code:
1:
2:
3:
else stattree.SetItemText(cli_versions
, cbuffer);
Einfügen:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
// SLUGFILLER: modID
CList<ModClients_Struct> clientMods;
theApp.clientlist->GetModStatisticsForVersion(topver, &clientMods);
POSITION mpos = clientMods.GetHeadPosition();
if (stattree.ItemHasChildren(cli_versions[i])){
HTREEITEM hChild;
hChild = stattree.GetChildItem(cli_versions[i]);
while( hChild != NULL && mpos != NULL)
{
ModClients_Struct mcsMod = clientMods.GetNext(mpos);
cbuffer.Format("%s: %i (%1.1f%%)", mcsMod.name, mcsMod.clients, (double)mcsMod.clients/topcnt*100);
stattree.SetItemText(hChild, cbuffer);
hChild = stattree.GetNextSiblingItem( hChild );
}
while (hChild != NULL){
HTREEITEM hTemp = hChild;
hChild = stattree.GetNextSiblingItem( hChild );
stattree.DeleteItem(hTemp);
}
}
while (mpos != NULL){
ModClients_Struct mcsMod = clientMods.GetNext(mpos);
cbuffer.Format("%s: %i (%1.1f%%)", mcsMod.name, mcsMod.clients, (double)mcsMod.clients/topcnt*100);
stattree.InsertItem(cbuffer, cli_versions[i]);
}
// SLUGFILLER: modID