Page 1 of 1

Does anyone know about networking?

Posted: Thu Jul 23, 2020 12:56 pm
by MildewMan1
As many of you know, Deadlock 1 uses NetBios for its multiplayer stuff, which doesn't work after Windows XP. I have been trying to figure out how the DLNET dlls that contain their networking code work because I'd like to try and make a replacement DLL that would accept the same information from the game when called, but wouldn't use NetBios, so that maybe we could get multiplayer working on more recent machines.

I don't really know anything about networking, so I was wondering if there is anyone here that does know it and would want to work on creating something with me because I'd like to understand more about it.

Without me really understanding networking, this doesn't seem like it would be too hard to do.

Re: Does anyone know about networking?

Posted: Thu Jul 23, 2020 4:00 pm
by Ubergeneral Grunt
Maybe if you encapsulated the library calls in the DLNET32.DLL it would be possible to pass the IPX commands through to TCP/IP ones, similar to what you did with the WAIL32.DLL. I don't know much about network programming, I only did it at a very basic level in my Computer Science degree.

But maybe it would be easier to go the route Tggtt mentioned of networking VMs running older OSes? The Mac version could hypothetically be networkable using emulators, since it supports TCP/IP already, but the Mac version has never run well in any emulator (Basilisk II, SheepShaver or QEMU) in my experience.

P.S. Welcome to the forum.

Re: Does anyone know about networking?

Posted: Sat Jul 25, 2020 5:01 pm
by MildewMan1
Yeah that was my thought. I've already got a DLNET dll setup that Deadlock loads up and then it forwards all of the function calls to the real dll that I renamed something else. I have a rough idea of what data is being passed to it from looking through pseudo code of it, and I am able to look at the data while debugging it. All I need to do at this point is figure out what the full purpose of the dll functions are, so I can try to make something comparable.

My thought was instead of making one player the server and other players the clients, maybe make an independent server that can be run outside of Deadlock and then have the players connect to that, so all players are clients. Not sure if that would be possible, but I'll keep digging into the dll more and when I figure more of it out, I'll see what I can do.