This is a "flat" backup of the BitBucket account of Andi McClure AKA Run Hello as of 2020-02-02. In other words this is about ten years of my life in open source software and video games. Bitbucket is deleting all its Mercurial repos, so I'm making a safety backup here in case I can't find another Mercurial host in time.
For each public repo the most recent commit of both the wiki (the original public landing page) and the main repo (in a "contents" page) are included. For some repos more than one contents folder is present because more than one tag was relevant.
Several of the repos are based on something called UFO, and it contains a large "bin/" directory containing precompiled binaries. Since this is the same for every "ufo" repo, I deleted the unnecessary extra bin/s. To restore them run this in Bash:
cp repos/ufo/contents/bin repos/ufo/contents-gamecity/bin
cp repos/ufo/contents/bin repos/ufo/contents-indiecade/bin
cp repos/ufo/contents/bin repos/bodyhack-test/contents/bin
cp repos/ufo/contents/bin repos/nanogunk/contents/bin
cp repos/ufo/contents/bin repos/twotris/contents/bin
Many of the projects are based on a library called Polycode. As a sort of primitive workalike of subrepos, these projects have a script named "manage.py" that records the version (as an hg revision in "current_polycode.txt") of Polycode that the project was meant to be built with, and automatically checks it out from BitBucket to build it. Problem: The entire point of this repository is BitBucket is going away, and the official Polycode repo by Ivan Safrin will not help you because it uses git (not hg).
To make the Polycode projects buildable from this repo alone, I've stored diffs (in git format) between the version of Polcode in the repo (1c18a1fa508) and the versions in the various current_version.txts in the folder repos/polycode/diffs. The manage.py script won't help you completely, but you can apply those diffs manually and at least have a buildable repo with the interface the project expects. Good luck.
(Versions 02dd5d59ea73, 558e26de5cd0 and a7c7c61a22a8 seem to be permanently lost.)
For completeness, some links to Github repos are sprinkled in below.
LÖVR is an open source VR engine originally created by Bjorn Swenson. I've been using it since 2018. See my LÖVR resources page here.
Emily was an experimental programming language I designed and worked on between about 2014 and 2017.
make tool in Python, intended for use as Emily build toolJumpcore is my homegrown game engine. I started developing it in 2008 and use it for all my C++ game projects.
Polycode is a game engine originally developed by Ivan Safrin. I used it between about 2011 and 2014.
Ufo is a bundle of LuaJIT with some support libraries. I do not yet have a "trunk" repository for it.
Twine is an open source tool for creating interactive fiction in HTML. I used it for a few projects around 2014.
Each "repo" in the repos directory is under a different license. The license information is usually kept on the wiki page and for those repos that have license information on the wiki any files or notices in the main repo are not intended to be a license for the repo contents (for example, there's a file named JUMPCORE_LICENSE.txt in the "geodesic" repo but that's not a license for "geodesic"). Just saying this so there's no confusion.
1 commits
C
65.5%
C++
19.2%
Lua
6.9%
Python
5.1%
This is a "flat" backup of the BitBucket account of Andi McClure AKA Run Hello as of 2020-02-02. In other words this is about ten years of my life in open source software and video games. Bitbucket is deleting all its Mercurial repos, so I'm making a safety backup here in case I can't find another Mercurial host in time.
For each public repo the most recent commit of both the wiki (the original public landing page) and the main repo (in a "contents" page) are included. For some repos more than one contents folder is present because more than one tag was relevant.
Several of the repos are based on something called UFO, and it contains a large "bin/" directory containing precompiled binaries. Since this is the same for every "ufo" repo, I deleted the unnecessary extra bin/s. To restore them run this in Bash:
cp repos/ufo/contents/bin repos/ufo/contents-gamecity/bin
cp repos/ufo/contents/bin repos/ufo/contents-indiecade/bin
cp repos/ufo/contents/bin repos/bodyhack-test/contents/bin
cp repos/ufo/contents/bin repos/nanogunk/contents/bin
cp repos/ufo/contents/bin repos/twotris/contents/bin
Many of the projects are based on a library called Polycode. As a sort of primitive workalike of subrepos, these projects have a script named "manage.py" that records the version (as an hg revision in "current_polycode.txt") of Polycode that the project was meant to be built with, and automatically checks it out from BitBucket to build it. Problem: The entire point of this repository is BitBucket is going away, and the official Polycode repo by Ivan Safrin will not help you because it uses git (not hg).
To make the Polycode projects buildable from this repo alone, I've stored diffs (in git format) between the version of Polcode in the repo (1c18a1fa508) and the versions in the various current_version.txts in the folder repos/polycode/diffs. The manage.py script won't help you completely, but you can apply those diffs manually and at least have a buildable repo with the interface the project expects. Good luck.
(Versions 02dd5d59ea73, 558e26de5cd0 and a7c7c61a22a8 seem to be permanently lost.)
For completeness, some links to Github repos are sprinkled in below.
LÖVR is an open source VR engine originally created by Bjorn Swenson. I've been using it since 2018. See my LÖVR resources page here.
Emily was an experimental programming language I designed and worked on between about 2014 and 2017.
make tool in Python, intended for use as Emily build toolJumpcore is my homegrown game engine. I started developing it in 2008 and use it for all my C++ game projects.
Polycode is a game engine originally developed by Ivan Safrin. I used it between about 2011 and 2014.
Ufo is a bundle of LuaJIT with some support libraries. I do not yet have a "trunk" repository for it.
Twine is an open source tool for creating interactive fiction in HTML. I used it for a few projects around 2014.
Each "repo" in the repos directory is under a different license. The license information is usually kept on the wiki page and for those repos that have license information on the wiki any files or notices in the main repo are not intended to be a license for the repo contents (for example, there's a file named JUMPCORE_LICENSE.txt in the "geodesic" repo but that's not a license for "geodesic"). Just saying this so there's no confusion.
1 commits
C
65.5%
C++
19.2%
Lua
6.9%
Python
5.1%