SaladBadger Posted April 24, 2022 (edited) ... Well, kinda. It only generates random player commands for player 2 so far, since I wanted to verify that it works before I actually do anything, but amazingly it seems to: Doom 0.4 and 0.5 watch for a block of memory installed at an interrupt vector 0x60 to 0x68, and if it finds it will use that to hold some of the game state, including player commands. If it includes a vector number for network callbacks, it will treat the game as a netgame and run some extra code for synchronization. This driver synchronizes the fake player 2 with player 1 and then generates a random ticcmd, but hypothetically it shouldn't be hard to get this communicating over a network. I don't know if it'll stay synced at all, but I guess there's only one way to find out. My early source code and driver are here. Put it in your alpha 0.4 directory and run "ALPHANET" to start the game. This has only been tested in Dosbox-X and may not work on a real machine. I've also had problems with the alpha constantly crashing, I think due to leaky state between sessions, you may need to restart Dosbox in order to run it again. Otherwise, watch as player 2 zips off into the sunset and then finds some obscure physics bug to vanish until they randomly reappear again. ALPHANET.zip The source code has been compiled with a recently nightly build of OpenWatcom, can't comment on whether or not it'll work in any other version. The player will probably vanish the moment they leave the starting sector since the game doesn't have any code to relink the player. Alpha 0.5 does, so I'll probably adapt this to work with it. Edited April 24, 2022 by SaladBadger 18 Quote Share this post Link to post
Dark Pulse Posted April 26, 2022 The fact nobody else has commented on the insane achievement this is, is deeply depressing. 4 Quote Share this post Link to post
SaladBadger Posted April 27, 2022 (edited) heh, honestly I'm just fine with the satisfaction of getting this nonsense working in the first place. I got it working with Alpha 0.5, though I had to make some minor patches to the binary to make it work, since some refactoring broke the starting of net games. Sadly I misremembered and things that cross sectors still aren't linked. Also looking at adapting the network code from IPXSETUP, but at some point the novelty of it's wearing off so no idea if I'll get to the actual multiplayer state. Maybe for two players only. Edited April 27, 2022 by SaladBadger jesus pay attention to what word your autocorrect picks, man 1 Quote Share this post Link to post
Gibbon Posted April 28, 2022 Any particular reason you went with OpenWatcom instead of Watcom 10 on DOS? 1 Quote Share this post Link to post
SaladBadger Posted April 28, 2022 sheer laziness, that's about it. OpenWatcom did the job well enough and it runs in DosBox well enough (as well as the pcem virtual PC I use for further testing) 2 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.