REQUEST: Xash3D --Port--> XashDC - Or HLDC DLL Hooking

This is a forum for discussing the feasibility of getting emulators, games, or other applications that have had their source released ported to the Dreamcast. Please read the Porting FAQ before starting a topic in this forum!
Post Reply
Doctor Dan
DCEmu Crazy Poster
DCEmu Crazy Poster
Posts: 35
https://www.artistsworkshop.eu/meble-kuchenne-na-wymiar-warszawa-gdzie-zamowic/
Joined: Sat Dec 27, 2014 11:17 pm
Has thanked: 0
Been thanked: 0

REQUEST: Xash3D --Port--> XashDC - Or HLDC DLL Hooking

Post by Doctor Dan »

This is the only developmental request thread I'm going to make. I made a thread awhile ago asking what it takes to port an open source engine, but this is more specific

I've looked at trying to get the official Half-Life DC port to load mod extensions and implement the needed functions to play online (Windows Sockets). But I've reached a dead end where it looks impossible without hacks (I might actually be able to do it if there was a way to get the proper SH-ASM opcodes in hex form to replace the ASM from a console command, maybe someone here would help. I actually successfully replaced the opcodes with x86 opcodes which would work if they were the proper hex opcodes)
------------

So I'm posting this thread as a request for anyone with the skill/time to one day port Xash3D, the open sourced Half-Life 1 engine to Dreamcast, with mod support (client.dll and game.dll extensions, not sure if KOS can handle dynamic link libraries), and online multiplayer support

Other feature requests:

- Microphone support for in-game chat
- Download server assets like sounds, plugins, scripts, etc to SD card
- Jump Pack feedback for gunfire
- "Ship" it with Counter-Strike 1.6 client ported to resulting XashDC
- Make some use of the VMU, like the overhead map in Counter-Strike, health, ammo, etc
- Keyboard/Mouse Support
- The base Half-Life SDK source code ported to KOS to allow someone to make their own new mods/games
- If possible, cross platform compatibility with PC/Android for multiplayer

I know this would be a very large, daunting, and time consuming project. But in my opinion, Xash3D deserves a proper Dreamcast port more than anything. Because we could play any open sourced Half-Life mod, and with multiplayer, and potentially with PC

Just a request, and again this will be my only request thread like this

-----------
Links:
Xash3D GitHub: https://github.com/FWGS/xash3d
Reversed Counter-Strike 1.6 Client.dll: https://github.com/FWGS/cs16-client

If anyone wants to hack HLDC to load mod extensions so we don't need an Xash3D port:

HLSDK ported to Windows CE Dreamcast (Gearbox HLDC is WCE) See Readme: https://github.com/FaucetDC/hldc-sdk
My unorganized documentation of pretty much the entire GoldSRC engine for Dreamcast, very long, some is wrong or I figured out along with way: http://assemblergames.com/l/threads/hal ... nts.57318/
Progress log of the HLSDK port to WCE Dreamcast: http://assemblergames.com/l/threads/req ... -ce.64408/
My opinion on how to use hacks to load HLSDK extensions into HLDC: http://assemblergames.com/l/threads/use ... ons.64794/

In the hldc-sdk github is source code for Windows CE API interceptors, and various sample codes for hooking DLLs using Windows CE

Hopefully this thread doesn't piss anyone off, just a request 8-)
I've done all I can do with my skills 8-)
Doctor Dan
DCEmu Crazy Poster
DCEmu Crazy Poster
Posts: 35
Joined: Sat Dec 27, 2014 11:17 pm
Has thanked: 0
Been thanked: 0

Re: REQUEST: Xash3D --Port--> XashDC - Or HLDC DLL Hooking

Post by Doctor Dan »

So nobody has any thoughts or input to this? Developmental or not?

It has been ported before, and now there is source code

Counter-Strike on Dreamcast over 56k on cs_office would be so amazing I couldn't handle it
Doctor Dan
DCEmu Crazy Poster
DCEmu Crazy Poster
Posts: 35
Joined: Sat Dec 27, 2014 11:17 pm
Has thanked: 0
Been thanked: 0

Re: REQUEST: Xash3D --Port--> XashDC - Or HLDC DLL Hooking

Post by Doctor Dan »

don't flame me for bumping

but i'd actually like to have a hypothetical conversation among the people here who know what they're talking about regarding what it would take to pull this off, the feasibility, drawbacks, and\or if porting xash3d to dc would be more feasible than hooking the mod extension libraries into the WCE port by Gearbox

would an xash3d port need to be WCE because of the mod extensions being in DLL format? Can KOS handle extension libraries similar to .so (i think its .so) on *nix?

again i'm not trying to invite scorn, i see how this will, i just want to have a serious hypothetical discussion about this even if nobody commits to doing it
i talked with others about this on this idea board before, but it was general porting and not Xash\WCE DLL hooking specifically
User avatar
hilltopper06
DCEmu Crazy Poster
DCEmu Crazy Poster
Posts: 26
Joined: Mon Sep 21, 2009 10:39 pm
Has thanked: 0
Been thanked: 0

Re: REQUEST: Xash3D --Port--> XashDC - Or HLDC DLL Hooking

Post by hilltopper06 »

It isn't a bad idea, but it would be one Hell of an undertaking that would need a team of talented DC coders. I don't know that anyone is really interested in taking on something like this.
Doctor Dan
DCEmu Crazy Poster
DCEmu Crazy Poster
Posts: 35
Joined: Sat Dec 27, 2014 11:17 pm
Has thanked: 0
Been thanked: 0

Re: REQUEST: Xash3D --Port--> XashDC - Or HLDC DLL Hooking

Post by Doctor Dan »

true but it'd definately be the magnum opus of dreamcast homebrew considering how many more games can be built ontop of the engine
User avatar
gameblabla
DCEmu Freak
DCEmu Freak
Posts: 51
Joined: Tue Jul 14, 2015 8:32 pm
Has thanked: 0
Been thanked: 36 times

Re: REQUEST: Xash3D --Port--> XashDC - Or HLDC DLL Hooking

Post by gameblabla »

Probably the biggest issue with Xash3D is the fact it is divided in 2 parts : the client & the server.
Not really an issue on Linux but i honestly doubt KallistiOS can handle that properly...
(It's probably the reason why Valve chose to use Windows CE rather than the Katana SDK for the official port)

OpenGL 1.x is supported on the Dreamcast thanks to LibGL but i admit i don't know if its very compatible with it...
Post Reply