Page 1 of 1

Overriding the join game function to launch a map downloader

Posted: Sat Oct 26, 2013 4:31 am
by sth
I saw the thread about restoring the map download functionality DICE had started but the conclusion seemed to be that they didn't really add anything to go off.

What if a map downloader were implemented separately, so that when joining a server from ingame, instead of calling bf1942.exe +restart 1 [...] it called maphelper.exe +restart 1 [...] which would handle the map check and then call bf1942.exe +restart 1 [...] itself?

The downloader itself could work like an app called Wadseeker, which hits a (master?) server list and from there searches each server for the map it needs. The brunt of the downloading would fall on a content server and not on the server hosting the game.

The interim executable concept seems to be doable if I change the executable name here:

Image

After changing it I'm able to launch my own test executable (see a video here), the problem there is that this only gets called when the game needs to restart (for a new mod or map), so it wouldn't work on the first go on a vanilla server.

So that leaves two issues in my mind:

1) Anyone know if it would be possible to force the restarting? There was some talk of disassembled code floating around, is this available?
2) Would changing this small amount of code run afoul of Punkbuster?

Re: Overriding the join game function to launch a map downlo

Posted: Wed Oct 30, 2013 12:07 am
by tuia
Best bet, would be a program that would check current map in the server and scan BF1942 or mod levels folder to see if you have it, in case you don't automatically downloads it from a central server.
Modifying BF1942 executable to include map download support is not an easy task. A small fix could be to redirect map not found message, to visit a web site with download links to map files. Anyway, I believe it's a wasted effort, because no one or few would download this modified executable.
These type of changes in BF1942 executable won't most certainly raise any violations to PunkBuster.