coderage-xyz / code-zs_issues

A place to track suggestions and bug reports for Code: ZS
https://discord.gg/Y6kPNezdS4
0 stars 0 forks source link

Develop tools to streamline the asset pack building/uploading process #35

Open piqey opened 10 months ago

piqey commented 10 months ago

I genuinely despise assembling all the assets for the asset pack every time changes are made. It wastes my time and is terribly repetitive (hence the desire to automate it). We actually take assets from a couple different places, meaning it's not as simple as:

  1. Copying the content to another folder
  2. Packing it into a GMA file
  3. Updating the existing workshop item/ID/page

Please note that even these simplified steps take probably 5-10 minutes, despite how simple they might be. I have to create a temporary folder, locate gmad.exe, open a second folder window where the content folder is, drag the content folder onto gmad.exe, then locate gmpublish.exe, navigate through several unneeded Steam Workshop pages to locate the page for our asset pack to get its workshop ID and finally write out the command and file paths to gmpublish.exe to update the addon.

While I wouldn't normally think this as being worth the time it would take to do, I have to extract content from the Zombie Survival gamemode to be included in the pack (the gamemode relies on FastDL by default to download its assets to clients). The gamemode aside, there will soon be more content selected and extracted from other addons that we will have installed locally on the server that we should have included in the content pack. For this reason, I'm thinking the script for compiling the server content pack (cpack.py) should read from a sort of JSON manifest of content (such as cpack_manifest.json). The manifest would contain directory paths or specific file paths to files that should be included in the content pack (these would be copied to a temporary location).

I've no idea how overboard I'll be going with this (assuming I even make it to the point of starting this), but I might go as far as adding support for downloading third-party workshop content to include in the content pack via steamcmd.exe.