diff --git a/saco/net/downloader.h b/saco/net/downloader.h index 0ed6225..7b14cc7 100644 --- a/saco/net/downloader.h +++ b/saco/net/downloader.h @@ -65,6 +65,19 @@ public: char field_8; char szDir1[0x105]; char szDir2[0x105]; + char _gap213[4]; + DWORD field_217; + char _gap21B[5]; + BYTE field_220; + BYTE field_221; + + void FUNC_10017D10(int a1) { // .text:10017D10 + if(field_217 != a1) { + field_217 = a1; + field_221 = 0; + field_220 = 0; + } + }; DOWNLOAD_ENTRY *GetAt(DWORD dwIndex) { if(dwIndex >= m_dwCount) return NULL; return m_pEntries[dwIndex]; } diff --git a/saco/net/localplayer.h b/saco/net/localplayer.h index 4847326..761e4ca 100644 --- a/saco/net/localplayer.h +++ b/saco/net/localplayer.h @@ -136,7 +136,6 @@ public: void sub_10003C20(); // .text:10003C20 void sub_10003BE0(SPAWN_INFO *pSpawnInfo); // .text:10003BE0 void sub_100040E0(BOOL bSpawn); // .text:100040E0 - void sub_100041C0(int a1); // .text:100041C0 void sub_100030F0(BYTE a1); // .text:100030F0 void sub_10003710(int a1, int a2); // .text:10003710 void sub_10004060(); // .text:10004060 diff --git a/saco/net/scriptrpc.cpp b/saco/net/scriptrpc.cpp index 0471d06..b954505 100644 --- a/saco/net/scriptrpc.cpp +++ b/saco/net/scriptrpc.cpp @@ -7,6 +7,7 @@ extern CNetGame* pNetGame; extern CGame * pGame; extern CAudioStream * pAudioStream; extern CChatWindow * pChatWindow; +extern CDownloadList * dword_1026EB98; char pText[257]; @@ -320,7 +321,7 @@ void ScrUnk7C(RPCParameters *rpcParams) bsData.Read(iUnk); - pPlayerPool->GetLocalPlayer()->sub_100041C0(iUnk); + pPlayerPool->GetLocalPlayer()->FUNC_100041C0(iUnk); } void ScrUnk7D(RPCParameters *rpcParams) @@ -1310,7 +1311,21 @@ void ScrUnkB0(RPCParameters *rpcParams) } } void ScrUnkB2(RPCParameters *rpcParams) {} -void ScrUnk30(RPCParameters *rpcParams) {} +void ScrUnk30(RPCParameters *rpcParams) +{ + PCHAR Data = reinterpret_cast(rpcParams->input); + int iBitLength = rpcParams->numberOfBitsOfData; + PlayerID sender = rpcParams->sender; + + int iUnk; + + RakNet::BitStream bsData(Data,(iBitLength/8)+1,false); + + iUnk = 0; + bsData.Read(iUnk); + + if(dword_1026EB98) dword_1026EB98->FUNC_10017D10(iUnk); +} void ScrInitMenu(RPCParameters *rpcParams) { PCHAR Data = reinterpret_cast(rpcParams->input);