Half-Life for Dreamcast has some functional multiplayer components

Discussion in 'Sega Dreamcast Development and Research' started by TerdFerguson, Jul 13, 2015.

  1. TerdFerguson

    TerdFerguson ls ~/

    Joined:
    Apr 27, 2015
    Messages:
    664
    Likes Received:
    353

    Attached Files:

  2. -=FamilyGuy=-

    -=FamilyGuy=- Site Supporter 2049

    Joined:
    Mar 3, 2007
    Messages:
    3,034
    Likes Received:
    891
    That link is for Source engine.
    On the DC there's some ISP infos stored in the flashrom memory for connecting to the internet via dialup.
    Those functions seem like they are used to read/write that.
     
  3. TerdFerguson

    TerdFerguson ls ~/

    Joined:
    Apr 27, 2015
    Messages:
    664
    Likes Received:
    353
    I saw it was source but figured the engines were mostly identical

    Compiled the windows CE loader. You can browse the registry and launch windows ce compiled programs with it. If the libraries\registry are on the system then it looks like the tcp/ip and modem connection for directplay and modem DLLs are there. You can boot the game's exe from it too but the cdi needs more work to get it to run properly. So theres room for someone to program an exe to patch and launch the halflife exe.


    I have a compiled windows CE loader with no extra files if anyone wants to burn and check it out : https://mega.co.nz/#!3EokmZJL!3p0nCYOvoiDDSdHg0cHlulRfKNIbcugRc3-pXcvNBIs
    Burn using 120% Alcohol on RAW DAO (Small file)

    Family Guy's bootpack ready to compile the cdi with half-life files. Just run selfboot.bat, mount the .nrg to daemon tools and make a new cdi with discjuggler : https://mega.co.nz/#!TN5ETCQJ!bk33fRrsmjkS5arnrmt3BTiV_hYULtFDnIMo-g6yofY
    (Medium file)

    Windows CE Kit, VC++ 6.0 for install on XP virtual machine (microsoft offers XP mode now), the bootpack, wally should you want to edit the files in the .pak, and the source for the CE loader which is compiled in VC++ 6 : https://mega.co.nz/#!iAoyTIgQ!hTxy3czlq5bZmB7rnIdIOJj4wD4VWGnxjOZcfPlT024
    (Large file)


    If anyone wants to get a firm scientific yes or no for this go for it. I think with the CE loader and libraries you could potentially write an app to connect to the internet then boot and see if it sends heartbeats to a master
     
  4. petterk

    petterk Spirited Member

    Joined:
    Dec 30, 2011
    Messages:
    137
    Likes Received:
    11
    This is what DreamcastTM@OC wrote after researching HLDC about 10 years ago in regards to multiplayer:

     
  5. Jack.

    Jack. RISC Master Race

    Joined:
    Sep 3, 2014
    Messages:
    129
    Likes Received:
    9
    Bad news...
    Sure it looks like it, I really think that there's no way to get it going now...
    If we had the source, probably...
     
  6. TerdFerguson

    TerdFerguson ls ~/

    Joined:
    Apr 27, 2015
    Messages:
    664
    Likes Received:
    353
    You'd probobly have an easier time porting the whole damn engine than getting source from valve. Well it was fun poking around the dc's components
     
  7. -=FamilyGuy=-

    -=FamilyGuy=- Site Supporter 2049

    Joined:
    Mar 3, 2007
    Messages:
    3,034
    Likes Received:
    891
    There is an open source goldsource clone engine that exists, xash3D. It might not be portable to DC directly, but it would be a very nice documentation for someone e trying to recreate his own engine.
     
  8. TerdFerguson

    TerdFerguson ls ~/

    Joined:
    Apr 27, 2015
    Messages:
    664
    Likes Received:
    353
    Theres the goldsrc sourcecode on github. Not sure if thats the full engine or not
     
  9. -=FamilyGuy=-

    -=FamilyGuy=- Site Supporter 2049

    Joined:
    Mar 3, 2007
    Messages:
    3,034
    Likes Received:
    891
  10. CrAzY

    CrAzY SNES4LIFE

    Joined:
    Nov 25, 2006
    Messages:
    1,737
    Likes Received:
    48
    It definitely isn't. I don't think the full engine framework has ever been exposed to the public, although I very well could be wrong. Even the several Source leaks don't have the full source code from what I remember, just what was already publicly available (except for the code to Portal, at least the most noteworthy).

    On a side note, xash3D is pretty impressive.
     
  11. TerdFerguson

    TerdFerguson ls ~/

    Joined:
    Apr 27, 2015
    Messages:
    664
    Likes Received:
    353
    Still looking for a programmer to write an exe that dials and boots the game. I'll bump this eventually when i find one


    Though total there is 588 convars to use. But after using the 'dropclient' command to view the full console, i think i can only view 40% of them. The last one i was able to see was 'profilemeter'. Typing 'profilemeter 1' displays a RAM monitor for the console. Does anyone know how to view a complete list of convars? There's likely more dev tools as such
     
  12. TerdFerguson

    TerdFerguson ls ~/

    Joined:
    Apr 27, 2015
    Messages:
    664
    Likes Received:
    353
    349 of them are 'sk_' vars for damage from each monster. So i've about went through most of them

    Even though there is no source; I can say multiplayer half life is possible if :
    1.) The game can connect to the internet
    2.) Connect can be run from the console

    Running 'retry' in console says 'commencing connection to local' but the next line says 'connect cannot be run from console'
    There must be a convar that enables those commands. Or (after running 'dropclient' in console, quitting game to engine console) trying to run commands as the server possibly with the rcon controls.

    So from what i've gathered; Until I or someone else proves those two things impossible it remains possible. I'll continue to look into a way to dial and boot the game
     
  13. americandad

    americandad Familiar Face

    Joined:
    Jul 4, 2011
    Messages:
    1,439
    Likes Received:
    275
    Really? I thought HL2 leak WAS the full & compilable source code of source. Pun intended.
     
  14. FuzzyFish

    FuzzyFish Rising Member

    Joined:
    May 14, 2014
    Messages:
    56
    Likes Received:
    51
    Got a message about this trying to get HL1DC online at dreamcast-talk.com

    The leak of HL2's source was partial code, a running but incomplete game. And all the development tools, which ironically gave the mod community a nice jump start months before the game was released.

    Back on topic with HL1, and successfully compiling with WinCE. Both of which I have some experience with.

    Problem #1: The connect command is called from the command line only in the pre-steam era which allowed connection via IP address. It might be possible to use a hex-editor to re-enable it, but this leads to the next issue.

    Problem #2: To my knowledge Valve did not put any modem initialization code into the game. The functions will likely be there in the WinCE boot files/DLLs but the game executable has no way to call them.

    Problem #3: We do not have the source code to this game. Valve while they likely still have it, will just as likely never give it out even for private use. Without that, it would be near impossible.

    DISREGARD: HLDC does not have client/server game DLLs. Blue shift references it, but it looks to be compiled into the game executable.

    Sidenote:
    cmdlist - Will show all available game commands
    cvarlist - Will show all console variables

    I believe you can narrow the list down using filters like so "cvarlist sv_" though I might be thinking HL2 on that.
     
    Last edited: Aug 27, 2015
  15. americandad

    americandad Familiar Face

    Joined:
    Jul 4, 2011
    Messages:
    1,439
    Likes Received:
    275
    Couldn't you test hosting a lan-only game trough the lan/ethernet adapter (not the bba)? Or maybe through an emulator? If there is dc emulator that emulates the lan adapter. So as to go around the modem/bba question. But you still need the connect command to work..
    While the hl2 leak was incomplete, the engine seems mostly to be complete enough.
     
  16. TerdFerguson

    TerdFerguson ls ~/

    Joined:
    Apr 27, 2015
    Messages:
    664
    Likes Received:
    353
    The networking dlls aren't in the half life exe so network connection would have to be established outside of the game

    If there were a bba driver for windows ce it would make this a little easier. But pretty much a modem app would be the only way to test
     
  17. TerdFerguson

    TerdFerguson ls ~/

    Joined:
    Apr 27, 2015
    Messages:
    664
    Likes Received:
    353
    Sorry for double post; But my thinking is like a pc, if you connect the dc to the internet and launch another process, i don't see why it couldn't also see/use the internet

    Edit: Hypothetically if ram became an issue if two processes could be run, you could replace the 'hd' models with the standard pc models, and downscale the textures. Likely doubling the amount of free ram and allowing more simultaneous players. But that's getting ahead of where this is at the moment
     
    Last edited: Aug 27, 2015
  18. FuzzyFish

    FuzzyFish Rising Member

    Joined:
    May 14, 2014
    Messages:
    56
    Likes Received:
    51
    Negative, the WinCE libraries never had a BBA/LAN driver. If they did I would have added it to 4x4 Evo DC years ago, but I don't have the ability or time to program a driver for it.

    Normally the client/server DLLs would be used to manage game content. You can compile a WinCE DLL, but without a way to call them makes this useless.

    You have no way to launch two programs at the same time. And who knows what if any network code they implemented.
     
  19. TerdFerguson

    TerdFerguson ls ~/

    Joined:
    Apr 27, 2015
    Messages:
    664
    Likes Received:
    353
    I didn't mean for you to code one, i meant it could be done

    And i'd use the CE loader to run the prog and launch half life. Until someone or myself tries it and it doesnt work I still have a hunch it will work
    Mainly this is trying to be proved wrong 100% or it will work
     
  20. TerdFerguson

    TerdFerguson ls ~/

    Joined:
    Apr 27, 2015
    Messages:
    664
    Likes Received:
    353
    Does anyone with a link cable want to try running 'slist' and 'list' before and after running 'exec server.cfg' for science?
     
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page