Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Using PK3 compatible directory structure for the repo?

Recommended Posts

I just realized that it's possible for the ZDoom-derived and Eternity engines to load an entire uncompressed directory as if it was a PK3/PKE file, without having to zip it.


Just so long as the directory structure is a specific one:


I was wondering.. how doable would it be to change the structure of the repo to follow at least one of these (mostly inter-compatible) formats?

It would be very convenient to just be able to run one of those engines against the cloned git repo and without having to go through the additional step of compiling the wad be able to quickly check out the content, or quickly test out changes.


Plus github allows you to download a zip out of any branch, tag or commit.. so it would be straightforward to just download it and rename it to pk3 whenever you want to distribute any random state of the repo from any time in the past (or at least starting from the commit that made the switch to PK3 structure) without having to depend on a buildbot.


I know Freedoom is actually 3 wads and not just a single one... but I was wondering if there would be a way to make this work somehow, even if it's dependent on features from either of those engines.

The official release would still be 3 vanilla compatible WADs of course.

Edited by Ferk

Share this post

Link to post

I like the idea, but I'm not really sure how feasible it is. ZDoom seems to not support the GIF file format, or the other two formats DeuTex supports (BMP and PPM). We might be able to modify DeuTex to support PNG instead and move Freedoom over to it, but I don't know if anybody is willing to lift DeuTex into supporting this.


Another issue seems to be its way of supporting Arch-Vile sprites differing from the WAD names. Because of Windows compatibility, ZDoom changes the \ character to ^ in the file name. DeuTex uses @ as the replacement character instead. We can probably work with it. Because of DOS compatibility, DeuTex also replaces [ and ] with $ and #.


Both of those can probably be reconciled with a little bit of elbow grease. The last issue I see is just: what would the Freedoom tree be as-is? We do all kinds of building and manipulation during a build (generating graphics, sorting out IWADs to have unique contents, generating patches in different manners), and I honestly don't really know if this is solvable to work as a PK3. The tree as it is in the repository is basically useless on its own. It requires the Python and make scripts to build up to something usable, and I honestly can't see how this can change without losing the flexibility we presently have. I'm also unsure, if that wasn't even an issue, what loading the "freedoom.pk3" would mean. Phase 1, Phase 2, DM? Some combination of the three?


I am open to all suggestions that might resolve the last point, so long as it doesn't kill the present dynamics of the build (eg, generating all the level/menu/etc graphics using the font in the present repository).

Share this post

Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now