Interested in helping to port MacOS (64-bit) - Compiles but now what?
I've downloaded the source and can successfully compile it on MacOS Sequoia. I modified the Font.cpp for vgui and was able to make a menu_amd54.dylib. Honestly, I'm in the dark as to how to implement this so TFC will run on MacOS 64bit. I tried just copying that dll into the dll folder, but when I run the game, I can change to TFC but have no option for New Game or Multiplayer/Create game.
I'm happy to work on making this work in any way I can. My goal is to play "The Hunted" on MacOS 64bit. It "works" using wine but super clunky and sometimes just show a black screen. I'm more interested in working to get it to run native.
This doesn't have the server code, so it's not really what you are looking for
What would be involved in reversing the server code. Is that the tfc library in dlls?
What would be involved in reversing the server code. Is that the tfc library in dlls?
That's just Half-Life code which it's based on. The server library basically needs to be reverse-engineered from scratch. Basically you use IDA/Ghidra/whatever you like and try to reproduce the original code as much as possible.
So I'm confused as to the purpose of this project. What am I missing.
@nospam2k the purpose is to port Team Fortress to Android, and have servers hosted on 32-bit compatible machines with the Steam libraries. Only the servers need the dlls/ folder
So I'm confused as to the purpose of this project. What am I missing.
You can connect to existing servers from an officially unsupported device, but can't host your own at least for now
Sorry to be a disappointment @Buggem, I have been working quite diligently to compile this for macos and have been quite successful. Without much understanding regarding the SDK, I have to ask questions.
I have been able to get the dlls to build in MacOS and apparently there are a bunch of symbols that are not exporting during linking. I have been working specifically on compiling the dlls directory and have been able to get to the linking step. Just trying to help out where I can.
So, technically, if I can get the port to work correctly in MacOS, I should be able to connect and play hunted from a 386 server?
Also, since the dlls dir is in your source, what is it that is missing that needs to be reversed specifically for server function?
I want to add that I'm technically able to reverse as I have been doing this sort of thing for over 40 years. I also have the time to do it. I just need a target ;)
So, technically, if I can get the port to work correctly in MacOS, I should be able to connect and play hunted from a 386 server?
Yes. What's your linking error? Maybe try -DCMAKE_BUILD_TYPE=RelWithDebInfo instead of -DCMAKE_BUILD_TYPE=Release
And also, what did you do for Font.cpp? Nothing seems to work for me.
I'm having a hard time finding a server to work with this tfc client. Is there a particular version I need to get?
@nospam2k Right now there aren't really any TFC servers being hosted on Xash, you could try hosting your own if you have another box or virtual machine software that can support i386.
That's what I mean. I have downloaded a number of different hlds (Windows and Linux) and I can't get the Xash client to connect, but two Xash clients can connect to each other (just half life). That's why I thought it may be a protocol issue.
Your best bet is getting installing Xash3D itself, just with the tfc/bin from Steam, and running it with the launch option --dedicated