2015-08: Summary of what has happened so far.
Hello there, this is my first post!
Although my nickname is registered since 2013-04 (I already forgot about it lol), I haven't really been reading these forums. It is amazing how active the GTA2 community still is, even 15 years after the game has been released!
Anyway, two years ago, I have experimented with a splitscreen mod for GTA2. I was able to start multiple instances and even to mash all window instances into one big window, so it really looks like the real deal. Sound was playing in all instances at once (this is good, we can disable radio anyway), almost everything was working already.
Except for the input, that didn't work at all. When one screen has focus, you can only control that window! Besides, when playing with up to 6 players, we should have some decent gamepad support (which the current GTA2 is lacking of - try to map buttons on a Xbox360 controller and you will see, that you can't even use every single axis).
This has stopped me and I lost interest after a month or so. One year later, the exact same thing happened; I started to rewrite my window merge code to support more than two players and automate some more stuff, but I still couldn't get input working. I had a different approach at this point though (not sure if it was in 2012 or 2013): Use a proxy DLL for dmavideo.dll, that somehow handles the controller input and directly changes the players movement in RAM.
Then again, about two weeks ago, I've picked up interest in the project again. And this time I got the missing piece: I took the code from the proxy DLL I have already made and included a TCP server this time. It might sound strange, but that allows me to keep the code that actually talks to the gamecontroller out of the GTA2.exe process - and even to have just one program, that makes use of all controllers!
Basically, this is the current state of the project.
I would have waited until there's some kind of playable demo, but today I've discovered that there are two threads related to a possible splitscreen mod alone in these forums, so I figured out that it would make sense to publish the current state of my work here, too.
About the project name: To make the splitscreen mod work, we also need the controller abstraction code (which might be useful as standalone, too!). So the "Hackers Remix" is some kind of meta project, that includes both the gamepad mod and the splitscreen mod (later I'm planning to include a custom menu for setting up splitscreen games, that can be controlled with the controller and some other features).
Enough of the introduction, here are the links:
- github page full of tech info and the source code (I'm a fan of open source software), probably boring if you're not a coder
- screenshot page, currently only from 2012, 2013
@Sektor: I circumvented the 'not multiple instances on one PC' issue by connecting to different hostnames. Eg, 127.0.0.1, localhost, $external_ip1, $external_ip2 - this did the trick! I guess it is not needed anymore, but I've planned to either ship OpenVPNs fake TUN adapter to generate fake TCP devices with their own external IP or (even better) to modify the host file and add localhost2, localhost3 etc.
PS: The idea is not, that everyone starts forking and creating their own splitscreen implementation (although you can do that any time), but that we create one together. And to be honest, I have very strong ideas how it should look like, so just give me some time to implement it If there's something to show or try out, I'll post it in this very thread (at least as long as there is interrest by you, the community)!