eukara / freecs

Clean-room Counter-Strike 1.5 in QuakeC, using Nuclide SDK. Previously known as OpenCS! (2016)
https://www.frag-net.com/projects.html
ISC License
195 stars 16 forks source link

Packaging ? #32

Closed TheBrainScrambler closed 7 months ago

TheBrainScrambler commented 1 year ago

I'm trying to figure out how to package FreeHL and FreeCS, trying FreeHL right now.

I was able to replicate your FreeHL release by copying valve/manifest.fmf to default.fmf and from copying nuclide/platform to platform, where nuclide is nuclide's repo.

So my directory looks like this: default.fmf platform valve.

My problem is that for a package this will all be read-only, and I want later on that the user supplies the assets. Is there a way to get pak0_steam.pk3dir, or whatever directory name the assets have, read from some other place ? Like in ~/.local/share/freehl/pak0_steam.pk3dir.

I also saw in the issues and from fteqw's commits that it now has a -halflife flag. What does this do exactly ?

eukara commented 1 year ago

In the future, packaging by third-parties will most likely not be necessary with the new -halflife flag landing in release binaries soon. See this commit that has not landed on GitHub here yet

How it works is like this:

  1. Grab FTEQW for your platform
  2. Place it (or point it via -basedir to) your Half-Life install
  3. Done It will attempt to install the game_valve package from www.frag-net.com's package manager that's now built into FTE andl keep itself updated into the future whenever you start the game and visit the Updates > menu

Not all of that is live yet because we've been busy stomping various issues. But the gist is, anyone that has a recent version of FTEQW running will automatically grab FreeHL when a valid Half-Life install is detected.

TheBrainScrambler commented 1 year ago

Ah yes, very nice ! Does this work with Counter-Strike too ? I suppose you didn't do it yet but will in the future.

Tell me when it's merged on github, so I can update the FTEQW package for NixOS ! I will probably provide a little wrapper too that will launch fteqw -basedir ~/.local/share/freehl or something the like.

eukara commented 1 year ago

Yes, Counter-Strike will be handled too! The mod + libre code thing can be installed and kept updated from within the Custom Game menu. I got it all running locally (and have committed most of the crucial update handling code to Nuclide) and am merely ironing out edge cases and streamlining all the routines related to downloading and running mods.

The only thing I need to take care of is a dedicated server, which can probably be made into a distro package. However I need to talk to Spoike (the fteqw chef) about that. The engine 'package' manager being used to update the code and game archives may be desirable in that case also - I gotta consult with him a bit on the best course of action there

eukara commented 7 months ago

Since then I changed the way releases are packages. I think the .pk3 archive blob solution is as easy as it is going to get for a while until FTE is fully able to update itself and FreeHL + mods.