Jason Scott just dumped the ZIL source code for every infocom game on github. Clone it before Activision's lawyers wake up. And now we see how long it takes for the internet to produce a compiler for a language that's been dead for 30+ years from a cache of production grade source code for said language. We've had compiled z-machine files, but never the original ZIL.

@izaliamae @MadestMadness @xarph i mean it works but parsing json with grep sed and awk would get you shot in some neighborhoods

@MadestMadness @Xarph Here's a nifty Bash one-liner that will do exactly that. Run it in a fresh directory.

GHUSER=historicalsource; curl "$GHUSER/r" | grep -w clone_url | grep -o '[^"]\+://.\+.git' | xargs -L1 git clone

Credit for the code from Stack Overflow.

@Xarph I'd be surprised if they cared all that much. Activision OK-ed the release of ActiveNet source code under the GPL several years ago, which was the internet multiplayer service used for a lot of mid 90s Activision games.

LB: run this linux command to grab all of them 

@Xarph rather than parsing the JSON with grep/sed/awk I used jq:

for repo in $(curl -sL --get -d per_page=200 | jq -r '.[].clone_url') ; do git clone --mirror "$repo" ; done

@xarph Here is a way to easily clone all of them with curl and jq: for repo in $(curl | jq .[].git_url -r); do git clone $repo; done

@lanodan @xarph I’m getting curl: (23) Failed writing body (1106 != 1370)

Any ideas?

@lanodan @xarph I was missing jq and also it played nicer in bash than zsh. working now.

@brad @xarph Well, all my stuff is in POSIX Shell and stuff like bash, zsh or fish happily break it if not in compatibility mode.
@xarph Also, it could be interesting if you’re *never* going to do work on ZIL but if you’re actually going to… I don’t think it’s a good idea to read the code.
@deejoe @xarph Yeah but if basically everyone is tainted by default you have no coders.
I had the same issue with TrueCraft, I used Minecraft Coder Pack and stuff like that so I couldn’t do the code part, which is what I was interested in doing.

@xarph Haven't tried it out with the source files but it's probably better than starting from scratch in any case

@xarph Where do you suggest to mirror them? I know git-center on zeronet, but not many people are running zeronet on the localhost, therfore cloning the repos from there can be a pain in the ass.

@xarph fwiw command to clone them all :

curl '' | grep -e 'clone_url*' | cut -d \" -f 4 | xargs -L1 git clone

@Xarph Dumb question from a frotz and Inform 7 user, possibly to other folks reading here: how much would this differ from what exists in FOSS ZIL compilers (for community games, as opposed to Infocom games)?

@Goldkin For community games, nothing. But now there's a large test suite for interpreter accuracy. All the interpreters thus far were built against what was publicly known about ZIL. Now there is what was privately known about ZIL in the wild. For Z-machine enthusiasts, this is the difference between learning dutch from a book and moving to holland.

@xarph ZILF was apparently already pretty far along for compiling ZIL before this dump even.

Sign in to participate in the conversation
Beach City

Beach City is our private beach-side sanctuary for close friends and awesome folks. We are various flavors of trans, queer, non-binary, polyamorous, disabled, furry, etc.