Half-Life for Dreamcast has some functional multiplayer components

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

  1. fafadou

    fafadou Enthusiastic Member

    Joined:
    Aug 3, 2016
    Messages:
    581
    Likes Received:
    242
    The forum has just been back again. Maybe someone could help soon.
     
  2. dakidski

    dakidski Retro Gaming Denmark

    Joined:
    Aug 1, 2014
    Messages:
    44
    Likes Received:
    9
    Not related to MP, but is audio on the DC version superior to the PS2-version? I'm replaying the game on PS2, but the voices are really low bitrate, and the room effects are horrible.
     
  3. fafadou

    fafadou Enthusiastic Member

    Joined:
    Aug 3, 2016
    Messages:
    581
    Likes Received:
    242
    Perhaps, I had never compare with this ps2 version.
    The last release dreamcast released by truemaster has the same models like the ps2 too.
    For me only opposing force is better on ps2 because on dreamcast the add on had not be finished by developpers.
     
  4. LuizNai

    LuizNai Robust Member

    Joined:
    Jul 13, 2016
    Messages:
    243
    Likes Received:
    349
    I hope you keep working on this, it would be amazing for the community if done!
     
    TerdFerguson and fafadou like this.
  5. fafadou

    fafadou Enthusiastic Member

    Joined:
    Aug 3, 2016
    Messages:
    581
    Likes Received:
    242
    Oh yes ! I hope too.
     
  6. TerdFerguson

    TerdFerguson ls ~/

    Joined:
    Apr 27, 2015
    Messages:
    758
    Likes Received:
    469
    i've pretty much done and researched all i can do. it's up to other people with the skill to get down and dirty and bridge the gap between the open source extensions and the engine port we have. i'd bet money it can be done fairly easily

    i've talked to an anon here and he might take a look mid-october. only downside is he has no reliable way of debugging. perhaps another anon here with a katana could help. i'd be pretty excited if this came to be, only problem is developmental interest in the dreamcast is not the same as it was back in, say, 2006-2010
     
    fafadou and Anthony817 like this.
  7. fafadou

    fafadou Enthusiastic Member

    Joined:
    Aug 3, 2016
    Messages:
    581
    Likes Received:
    242
    Yeah it's difficult to find someone with the knowledge and skill...
    Maybe Sizious could help.
     
  8. TerdFerguson

    TerdFerguson ls ~/

    Joined:
    Apr 27, 2015
    Messages:
    758
    Likes Received:
    469
    Last edited: Aug 19, 2017
    fafadou likes this.
  9. TerdFerguson

    TerdFerguson ls ~/

    Joined:
    Apr 27, 2015
    Messages:
    758
    Likes Received:
    469
    found this over the course of a week. i have no internet so im writing this on a tablet and cant post pics

    i found a significant amount of code for using client.dll on dreamcast
    -----------
    sub_37968 is the master subroutine that calls loc_379a8 (where the "cl_dlls\\client.dll" string is located)

    the first xref to sub_37968 is sub274ac offset 68 ( sub_274ac+68 on IDA)

    after sub_274ac+68 calls sub_37968, sub_274ac+6e executes sub_37a34

    sub_37a34 then executes sub_19104

    sub_19104 then executes sub_1adec

    sub_1adec contains strings which are the same as the exports for client.dll like ResetHUD, HudColor, InitHUD (which i belive is the first thing called after the Initialize export function in client.dll but im not certain)

    this shows there is extensive multi step code responsible for loading client.dll in the half life binary

    i found more also
    -------------
    sub_44850 also calls sub_37968 from above, sub_44850 seems to be one of the master functions when the game engine initializes as it calls for gfx.wad, pallette.lmp (which hang the engine if are not present) as well as executing thr CFG files for binding controls, starting Direct3D etc

    this means the code for loading client.dll is called during engine initialization of the engine
    ----------
    sub_29694 seems to be responsible for changing the gamedir and loading a new client.dll when specified by a server. sub_29694 also calls sub_37968 from above, which after that calls anothrr series of subroutines that lead back to sub_1adec that contain matching strings for the exports of client.dll

    this proves an even deeper web of uses for the code calling client.dll, as the engine can seemingly dynamically load and unload dlls specified by the server
    -------
    this should be looked at in greater detail by someone like @SiZiOUS and maybe try some memory patches and hooks to call the code ive detailed in this post

    the command 'WC' does nothing, ive verified this in IDA, and the command 'bunny' prints "i miss ya betty" to console and nothing else. if someone attempts some hooks, thats the best place to start
     
    Ivan GR, spinksy, sa1 and 2 others like this.
  10. TerdFerguson

    TerdFerguson ls ~/

    Joined:
    Apr 27, 2015
    Messages:
    758
    Likes Received:
    469
    before all this gets nuked, even though this was an autistic documentation of the entire engine

    it still is totally true that if somebody bridged the gap between the mod dll files and the dreamcast engine which also uses windows it's 95% likely would allow complete engine control which would be a complete mindfuck, send the localhost traffic through the modem and call it a day

    its true, its all there waiting to be done. FPS dips are because of polygon overflows and loadtimes are a moot complaint compared to MOST 8th gen games, online or offline
     
  11. TerdFerguson

    TerdFerguson ls ~/

    Joined:
    Apr 27, 2015
    Messages:
    758
    Likes Received:
    469
    one thing i never mentioned here was i learned that the command line parameters i've harped on about so much in this thread are actually leftovers from the quake1 source code, and do not link to any kind of function, but their calls are still present, code can probably be hooked to use those for whatever we want since we also have control over the entire WCE OS that can spawn game instances to our personal configuration (multi mod discs)
     
    Anthony817 likes this.
  12. TerdFerguson

    TerdFerguson ls ~/

    Joined:
    Apr 27, 2015
    Messages:
    758
    Likes Received:
    469
    big caves in the binary too for the custom code to reside....
     
  13. Anthony817

    Anthony817 Familiar Face

    Joined:
    May 12, 2010
    Messages:
    1,124
    Likes Received:
    596
    I wonder if Ian Michael would take a look at it? He said he has experience with WinCE titles.
     

Share This Page