diff --git a/GameVersion.cpp b/GameVersion.cpp index c92be839..8035d207 100644 --- a/GameVersion.cpp +++ b/GameVersion.cpp @@ -28,11 +28,11 @@ CHAR16 zVersionLabel[256] = { L"Beta v. 0.98" }; #else //RELEASE BUILD VERSION - CHAR16 zVersionLabel[256] = { L"Release v1.13.2637" }; + CHAR16 zVersionLabel[256] = { L"Release v1.13.2651" }; #endif -CHAR8 czVersionNumber[16] = { "Build 09.03.28" }; //YY.MM.DD +CHAR8 czVersionNumber[16] = { "Build 09.04.01" }; //YY.MM.DD CHAR16 zTrackingNumber[16] = { L"Z" }; diff --git a/Multiplayer/client.cpp b/Multiplayer/client.cpp index c99a3357..28ecf3e2 100644 --- a/Multiplayer/client.cpp +++ b/Multiplayer/client.cpp @@ -76,14 +76,6 @@ #include "RakPeerInterface.h" #include "RakNetStatistics.h" #include "RakNetTypes.h" -#include "RakSleep.h" - -#include "FileListTransfer.h" -#include "FileListTransferCBInterface.h" -#include "FileOperations.h" -#include "SuperFastHash.h" -#include "RakAssert.h" -#include "IncrementalReadInterface.h" #include "BitStream.h" #include @@ -100,109 +92,6 @@ #include "tactical placement gui.h" #include "prebattle interface.h" -// WANNE: FILE TRANSFER -STRING512 client_executableDirectory; // the clients executable dir -STRING512 server_executableDirectory; // the server executable dir - -class ClientTransferCB : public FileListTransferCBInterface -{ - public: - // This method gets called when all the data is received on the client. - // Now the file will be saved on the client - bool OnFile(OnFileStruct *onFileStruct) - { - STRING512 targetFileName; - - ScreenMsg( FONT_BCOLOR_ORANGE, MSG_CHAT, L"(100%%) Got file from server: %S", onFileStruct->fileName); - //ScreenMsg( FONT_BCOLOR_ORANGE, MSG_CHAT, L"%i. (100%%) %i/%i %S %ib->%ib / %ib->%ib\n", onFileStruct->setID, onFileStruct->fileIndex+1, onFileStruct->setCount, onFileStruct->fileName, onFileStruct->compressedTransmissionLength, onFileStruct->finalDataLength, onFileStruct->setTotalCompressedTransmissionLength, onFileStruct->setTotalFinalLength); - - // Replace server executable directory with client executable directory then we have the correct path - char* file = ReplaceString(onFileStruct->fileName, server_executableDirectory, client_executableDirectory); - /* - // Save the file in the clients executable dir! - strcpy(targetFileName, client_executableDirectory); - strcat(targetFileName, "\\"); - // Only get the filename - char* file = ExtractFilename(onFileStruct->fileName); - */ - - //strcat(targetFileName, file); - - - FILE *fp = fopen(file, "wb"); - fwrite(onFileStruct->fileData, onFileStruct->finalDataLength, 1, fp); - fclose(fp); - - /* - // Make sure it worked - unsigned int hash1 = SuperFastHashFile(fileToSend); - if (RakNet::BitStream::DoEndianSwap()) - RakNet::BitStream::ReverseBytesInPlace((unsigned char*) &hash1, sizeof(hash1)); - unsigned int hash2 = SuperFastHashFile(targetFileName); - if (RakNet::BitStream::DoEndianSwap()) - RakNet::BitStream::ReverseBytesInPlace((unsigned char*) &hash2, sizeof(hash2)); - RakAssert(hash1==hash2); - */ - - ScreenMsg( FONT_BCOLOR_ORANGE, MSG_CHAT, L"Saved file local in %S", file); - - // Return true to have RakNet delete the memory allocated to hold this file. - // False if you hold onto the memory, and plan to delete it yourself later - return true; - } - - virtual void OnFileProgress(OnFileStruct *onFileStruct,unsigned int partCount,unsigned int partTotal,unsigned int partLength, char *firstDataChunk) - { - - //ScreenMsg( FONT_BLUE, MSG_CHAT, L"(%i%%) %S", 100*partCount/partTotal, onFileStruct->fileName); - //ScreenMsg( FONT_BLUE, MSG_CHAT, L"%i (%i%%) %i/%i %S %ib->%ib / %ib->%ib\n", onFileStruct->setID, 100*partCount/partTotal, onFileStruct->fileIndex+1, onFileStruct->setCount, onFileStruct->fileName, onFileStruct->compressedTransmissionLength, onFileStruct->finalDataLength, onFileStruct->setTotalCompressedTransmissionLength, onFileStruct->setTotalFinalLength, firstDataChunk); - - //printf("%i (%i%%) %i/%i %s %ib->%ib / %ib->%ib\n", onFileStruct->setID, 100*partCount/partTotal, onFileStruct->fileIndex+1, onFileStruct->setCount, onFileStruct->fileName, onFileStruct->compressedTransmissionLength, onFileStruct->finalDataLength, onFileStruct->setTotalCompressedTransmissionLength, onFileStruct->setTotalFinalLength, firstDataChunk); - } - - virtual bool OnDownloadComplete(void) - { - //printf("Download complete.\n"); - - ScreenMsg( FONT_RED, MSG_CHAT, L"Download complete"); - - // Returning false automatically deallocates the automatically allocated handler that was created by DirectoryDeltaTransfer - return false; - } - - private: - char *ExtractFilename(char *pathname) - { - char *s; - - if ((s=strrchr(pathname, '\\')) != NULL) s++; - else if ((s=strrchr(pathname, '/')) != NULL) s++; - else if ((s=strrchr(pathname, ':')) != NULL) s++; - else s = pathname; - return s; - } - - char *ReplaceString(char *str, char *orig, char *rep) - { - static char buffer[4096]; - char *p; - - if(!(p = strstr(str, orig))) // Is 'orig' even in 'str'? - return str; - - strncpy(buffer, str, p-str); // Copy characters from 'str' start to 'orig' st$ - buffer[p-str] = '\0'; - - sprintf(buffer+(p-str), "%s%s", rep, p+strlen(orig)); - - return buffer; - } - - -} transferCallback; - - - unsigned char GetPacketIdentifier(Packet *p); unsigned char packetIdentifier; @@ -235,11 +124,6 @@ unsigned char packetIdentifier; extern INT8 SquadMovementGroups[ ]; RakPeerInterface *client; - -// WANNE: FILE TRANSFER -FileListTransfer fltClient; // flt2 -ClientTransferCB transferCBClient; - typedef struct { UINT8 ubProfileID; @@ -442,9 +326,6 @@ UINT32 iCCStartGameTime = 0; bool is_game_started = false; - - - // OJW - added 20081130 // - add retry timer and notification void NetworkAutoStart() @@ -2087,11 +1968,6 @@ void overide_callback( UINT8 ubResult ) } } -void requestEXECUTABLE_DIR(void) -{ - client->RPC("requestEXECUTABLE_DIR","", 0, HIGH_PRIORITY, RELIABLE, 0, UNASSIGNED_SYSTEM_ADDRESS, true, 0, UNASSIGNED_NETWORK_ID,0); -} - void requestSETTINGS(void) { client_info cl_name; @@ -2106,18 +1982,7 @@ void requestSETTINGS(void) } -// Get executable Directory from Server. This is used to get corret file location on client side -void recieveEXECUTABLE_DIR (RPCParameters *rpcParameters) -{ - //unsigned char* test = rpcParameters->input; - // Now get directory - strcpy( server_executableDirectory, (const char*)rpcParameters->input ); - - //GetExecutableDirectory() - //server_executableDirectory = "TEST1"; - //GetExecutableDirectory(server_executableDirectory); -} void recieveSETTINGS (RPCParameters *rpcParameters) //recive settings from server @@ -2336,8 +2201,6 @@ void recieveSETTINGS (RPCParameters *rpcParameters) //recive settings from serve } - - } void recieveTEAMCHANGE( RPCParameters *rpcParameters ) @@ -3489,7 +3352,6 @@ void connect_client ( void ) REGISTER_STATIC_RPC(client, recieveREADY); REGISTER_STATIC_RPC(client, recieveGUI); REGISTER_STATIC_RPC(client, recieveSETTINGS); - REGISTER_STATIC_RPC(client, recieveEXECUTABLE_DIR); REGISTER_STATIC_RPC(client, recieveTEAMCHANGE); REGISTER_STATIC_RPC(client, recieveEDGECHANGE); REGISTER_STATIC_RPC(client, recieveMAPCHANGE); @@ -3517,12 +3379,7 @@ void connect_client ( void ) { //ScreenMsg( FONT_LTGREEN, MSG_CHAT, L"Client started, waiting for connections..."); is_client=true; - - GetExecutableDirectory(client_executableDirectory); - - // WANNE: FILE TRANSFER - client->AttachPlugin(&fltClient); - client->SetSplitMessageProgressInterval(1); + /*repo=0;*/ } else { @@ -3680,8 +3537,6 @@ void connect_client ( void ) MPDebugMsg( String ( "connect_client()\n" ) ); #endif - - } else if (is_connecting) @@ -3774,18 +3629,10 @@ void client_packet ( void ) ScreenMsg( FONT_LTGREEN, MSG_CHAT, L"ID_CONNECTION_REQUEST_ACCEPTED"); is_connected=true; is_connecting=false; - - // WANNE: FILE TRANSFER - // Get the server executable dir - requestEXECUTABLE_DIR(); - requestSETTINGS(); - - // WANNE: FILE TRANSFER - Sleep(1000); - setID = fltClient.SetupReceive(&transferCBClient, false, p->systemAddress); + //request_settings();//ask server for game settings... break; - case ID_NEW_INCOMING_CONNECTION: + case ID_NEW_INCOMING_CONNECTION: //tells server client has connected ScreenMsg( FONT_LTGREEN, MSG_CHAT, L"ID_NEW_INCOMING_CONNECTION"); break; @@ -3855,7 +3702,6 @@ void client_disconnect (void) allowlaptop=false; - // clear local client cache memset(client_names,0,sizeof(char)*4*30); memset(client_edges,0,sizeof(int)*4); diff --git a/Multiplayer/network.h b/Multiplayer/network.h index a8f6f4d9..48aa3cb8 100644 --- a/Multiplayer/network.h +++ b/Multiplayer/network.h @@ -6,10 +6,6 @@ extern char CLIENT_NAME[30]; extern char SERVER_NAME[30]; extern bool Sawarded; -//extern char *fileToSend; -extern unsigned int setID; -//extern char *fileToSendCopy; - typedef struct { diff --git a/Multiplayer/server.cpp b/Multiplayer/server.cpp index c61e09b7..32bea4d3 100644 --- a/Multiplayer/server.cpp +++ b/Multiplayer/server.cpp @@ -5,14 +5,6 @@ #include "RakNetStatistics.h" #include "RakNetTypes.h" - -#include "FileListTransfer.h" -#include "FileListTransferCBInterface.h" -#include "FileOperations.h" -#include "SuperFastHash.h" -#include "RakAssert.h" -#include "IncrementalReadInterface.h" - #include "BitStream.h" #include "RakSleep.h" #include @@ -24,25 +16,9 @@ #include #include -#include "connect.h" - #include "types.h" #include "gamesettings.h" -// WANNE: FILE TRANSFER -unsigned int setID; - -// Sender progress notification -class ServerFileListProgress : public FileListProgress -{ - virtual void OnFilePush(const char *fileName, unsigned int fileLengthBytes, unsigned int offset, unsigned int bytesBeingSent, bool done, SystemAddress targetSystem) - { - printf("Sending %s bytes=%i offset=%i\n", fileName, bytesBeingSent, offset); - } -} serverFileListProgress; - - - char kbag[100]; char net_div[30]; INT32 gsMAX_MERCS; @@ -53,7 +29,7 @@ int gsREPORT_NAME; #include "text.h" #include "network.h" - +#include "connect.h" #include "message.h" #include "overhead.h" #include "fresh_header.h" @@ -85,16 +61,6 @@ unsigned char SpacketIdentifier; RakPeerInterface *server; - - -// WANNE: FILE TRANSFER -FileListTransfer fltServer; // flt1 -IncrementalReadInterface incrementalReadInterface; -FileList fileList; - - - - int numreadyteams; int readyteamreg[10]; @@ -517,15 +483,6 @@ void rSortArray(int* arr, int len) } } -void requestEXECUTABLE_DIR(RPCParameters *rpcParameters) -{ - SystemAddress sender = rpcParameters->sender;//get senders address - STRING512 executableDir; - GetExecutableDirectory(executableDir); - - server->RPC("recieveEXECUTABLE_DIR",(const char*)&executableDir, (int)sizeof(STRING512), HIGH_PRIORITY, RELIABLE, 0, UNASSIGNED_SYSTEM_ADDRESS, true, 0, UNASSIGNED_NETWORK_ID,0); -} - //************************* //UNASSIGNED_SYSTEM_ADDRESS //START INTERNAL SERVER @@ -627,9 +584,6 @@ void requestSETTINGS(RPCParameters *rpcParameters ) server->RPC("recieveSETTINGS",(const char*)&lan, (int)sizeof(settings_struct)*8, HIGH_PRIORITY, RELIABLE, 0, UNASSIGNED_SYSTEM_ADDRESS, true, 0, UNASSIGNED_NETWORK_ID,0); - - - } // end if(can_joingame) } @@ -850,7 +804,6 @@ void start_server (void) REGISTER_STATIC_RPC(server, sendGUI); REGISTER_STATIC_RPC(server, sendBULLET); REGISTER_STATIC_RPC(server, requestSETTINGS); - REGISTER_STATIC_RPC(server, requestEXECUTABLE_DIR); REGISTER_STATIC_RPC(server, sendSTATE); REGISTER_STATIC_RPC(server, sendDEATH); REGISTER_STATIC_RPC(server, sendhitSTRUCT); @@ -873,35 +826,14 @@ void start_server (void) REGISTER_STATIC_RPC(server, sendCHATMSG); //REGISTER_STATIC_RPC(server, rINT); // - + + if (b) { ScreenMsg( FONT_LTBLUE, MSG_CHAT, MPServerMessage[1]); ScreenMsg( FONT_LTBLUE, MSG_CHAT, MPServerMessage[2]); is_server = true; - - - // WANNE: FILE TRANSFER - server->AttachPlugin(&fltServer); - server->SetSplitMessageProgressInterval(1); - fltServer.SetCallback(&serverFileListProgress); - - STRING512 executableDir; - STRING512 fileToSend; - GetExecutableDirectory(executableDir); - - // 1st Testfile to send to the client - strcpy(fileToSend, executableDir); - strcat(fileToSend, "\\Data-1.13\\TableData\\Items.xml"); - unsigned int fileLength = GetFileLength(fileToSend); - fileList.AddFile(fileToSend, 0, fileLength, fileLength, FileListNodeContext(0,0), true); - - // 2nd Testfile to send to the client - strcpy(fileToSend, executableDir); - strcat(fileToSend, "\\Data-1.13\\TableData\\German.Items.xml"); - fileLength = GetFileLength(fileToSend); - fileList.AddFile(fileToSend, 0, fileLength, fileLength, FileListNodeContext(0,0), true); - + connect_client();//connect client to server } else @@ -985,9 +917,6 @@ void server_packet ( void ) // make sure they can connect CheckIncomingConnection(p); //send_settings();//send off server set settings - - // TODO.RW: Send the files to the connect clients - fltServer.Send(&fileList,server,p->systemAddress,setID,HIGH_PRIORITY,0,false, &incrementalReadInterface, 5000); break; case ID_MODIFIED_PACKET: // Cheater! @@ -1029,7 +958,6 @@ void server_disconnect (void) { server->Shutdown(300); is_server = false; - fileList.Clear(); // We're done with the network RakNetworkFactory::DestroyRakPeerInterface(server); ScreenMsg( FONT_LTBLUE, MSG_CHAT, MPServerMessage[6]); @@ -1038,4 +966,4 @@ void server_disconnect (void) { ScreenMsg( FONT_LTBLUE, MSG_CHAT, MPServerMessage[7]); } -} +} \ No newline at end of file diff --git a/ja2_2005Express.vcproj b/ja2_2005Express.vcproj index 68aa9519..f72d26e5 100644 --- a/ja2_2005Express.vcproj +++ b/ja2_2005Express.vcproj @@ -66,7 +66,7 @@