This plan is nice
it solver many problems..
I kind of remember in Vietcong it had automatic download... and i had to search missions one by one for HD2 in around y2010
But can it be separate EXE file that manages download and executes game.
It should check if the map on the server exists in clients game files...
Then it should check the file versions... some Hash can help or just compare file size/mod date...hash is accurate !
Some hash functions are built into Delphi.
Current map running in server can be checked by query request to that server.
byte = ($FE,$FD,$00,$43,$4F,$52,$59,$FF,$FF,$FF);
But it can give different name for same map.
Currently loaded mission folder name can be found in Game memory:
"HD2_SabreSquadron.exe"+004AEA10 offset1:( 38 ), offset2:( 8 )
This doesnt help !!!
Folder name and file names should be sent by the network, then Game can load all given files from correct location.
(Maybe should check it with Wireshark to see how its done).
Then some secondary info should be sent to client to compare files( if exist) =, you dont want to download every time all mission files you already have !
//
Just some quick thoughts.