fgsfdsfgs / vitaXash3D

a port of Xash3D-FWGS to the PSVita
GNU General Public License v3.0
139 stars 15 forks source link

About dynamic libraries. #24

Open Damin72 opened 6 years ago

Damin72 commented 6 years ago

Are we get converter for mods-dll, or we need do this procces manually?

fgsfdsfgs commented 6 years ago

I plan on eventually making a script or something that would automate the porting process, but I'm afraid that it could require manual work anyway in some cases.

The porting process right now usually consists of these steps:

  1. Obtain source code for the mod you're porting.
  2. Copy the utils/vita directory from the HLSDK port to YOUR_MOD_SOURCE/utils/vita.
  3. Copy Makefile.vita, cl_dll/Makefile.vita and dlls/Makefile.vita from the HLSDK port.
  4. Edit the object/source file lists in the latter two files to match your mod (you can obtain the lists from the mod's original Makefiles, if they're present, or from Android.mk files, if they're present).
  5. In the source directory, run ./utils/vita/genentexports.py .
  6. Insert the two lists you got from step 5 into utils/vita/vita_server.cpp, keeping the first 4 lines in each list and the { NULL, NULL } line intact.
  7. In the source directory, run make -f Makefile.vita
  8. Remove any undefined exports from utils/vita/vita_server.cpp and fix any other errors you got during step 7.
  9. In the source directory, run make -f Makefile.vita. If you did everything correctly, this should produce client.suprx and server.suprx in the source directory. Copy them to ux0:/data/xash3d/YOURMOD/cl_dlls and ux0:/data/xash3d/YOURMOD/dlls, respectively.

Of course you need to have VitaSDK and Python 3 installed and you have to be running the above commands either from an MSYS shell or from a Linux shell.

Damin72 commented 6 years ago

Well... About source code... It's gonna be hard, because i don't think this ukrainian modders have release SC of HL Decay to public... =(

Or "source code" = "dlls/cl_dlls" files?

fgsfdsfgs commented 6 years ago

No, source code means the source code of the dlls/cl_dlls files. Yes, the Decay port is not open source. There was an open source recreation of its DLLs somewhere, but it's unfinished. Sadly, you have to recompile the DLLs for Vita to make them work, and for that you need the source code.

IlDucci commented 6 years ago

I guess that if someone wants a mod to be converted to Vita, that someone should ask the original creators...

Right now there's only a few mods with open source code. Natural Selection, poke646...

Damin72 commented 6 years ago

I hope "Contact"-section on HL Decay site is still working. Wrote to team about Xash3D on Vita and problem with mods. Maybe they answer me.

AlC4pwn commented 4 years ago

would something such as this project https://github.com/s1lentq/ReGameDLL_CS allow Condition Zero to function with Xash3D?

nekonomicon commented 4 years ago

@AlC4pwn not Deleted Scenes. regamedll is already used in cs 1.6 port, and normal czero does not have any difference with cs 1.6 in game code on server-side.