• Stars
    star
    110
  • Rank 315,148 (Top 7 %)
  • Language
    C
  • Created over 4 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

One checkout from each of my old BitBucket repos.

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.

Building

Restoring ufo "bin"

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

Polycode

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.)

Contents

For completeness, some links to Github repos are sprinkled in below.

Websites

  • emu-coop: A multiplayer hack for 1-player Super Nintendo games
  • qgcon-2018: Resources and a video from a talk I gave on making small programming languages.
  • mermaid-lovr: A set of resources for the LÖVR game engine.

LÖVR projects

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.

  • Lovr: My fork of LÖVR on GitHub (no important differences from the main repo).
  • lovr-oculus-mobile: The main site for oculus mobile support using LÖVR (maintained by me).
  • lodr: A hot code reloading app for LÖVR.
  • lovr-ent: A "starting point project", sample code containing all the Lua helper code I include in all my LÖVR projects. Some of these are usable in non-LÖVR Lua engines.

Emily language

Emily was an experimental programming language I designed and worked on between about 2014 and 2017.

Interpreter

  • emily: In-progress interpreter for a programming language I designed.
  • test-emily-game: Experimental branch of emily (0.3b development is effectively occurring here)
  • emily-python aka Emily2: Experimental next-generation (post 0.3) prototype of Emily. Not yet documented.

Other materials

  • llvm-practice: Code for my "No Compiler" blog posts, written to learn about compilers.
  • make.py: Reimplementation of the make tool in Python, intended for use as Emily build tool
  • ppx_const: A ppx syntax extension for the OCaml programming language. Adds a compile-time "if" statement.
  • emily-objc: Abandoned first-prototype version of Emily. Suggest just ignoring.

Jumpcore projects

Jumpcore is my homegrown game engine. I started developing it in 2008 and use it for all my C++ game projects.

Engine

  • jumpcore: a get-started kit for portable C++ games

Games

Unfinished

Polyconsole projects

Polycode is a game engine originally developed by Ivan Safrin. I used it between about 2011 and 2014.

Engine

  • polycode: My fork of Ivan Safrin's Polycode game engine
  • polyconsole: My Polycode "template project", a replacement for the Polycode Player which adds additional capabilities

Games

Unfinished

Ufo projects

Ufo is a bundle of LuaJIT with some support libraries. I do not yet have a "trunk" repository for it.

Games

  • ufo aka BECOME A GREAT ARTIST IN JUST 10 SECONDS

Unfinished

Twine projects

Twine is an open source tool for creating interactive fiction in HTML. I used it for a few projects around 2014.

Engine

  • twine: My fork of the popular Twine IF tool (contains custom templates, etc)
  • twinetools: A small macro collection
  • spool: Tools for Twine games with online multiplayer
  • spool-heroku: Heroku port of Spool

Games

Misc games

Dryad.technology

Unfinished

Misc projects

  • exacto: Manual stencyl project editor
  • whiteboard: A Google AppEngine collaborative pixel art app
  • badpng: Artistically buggy png encoder
  • votescript: CGI scripts that can be used to run an online ranked-voting poll
  • pseudogbs_au: An approximation of the GBS ("Game Boy Sound System") as a set of Mac OS X AudioUnits.
  • unitynativepluginexample: A Unity sample project which incorporates C++ code and uses CMake to build it.
  • dts2nim: A tool that converts TypeScript type definition files into a format that can be used by the Nim programming language. Can be used to call TypeScript code from Nim. May not work with most recent TypeScript.
  • emu-coop: A multiplayer hack for 1-player Super Nintendo games (project page, see main site here)
  • snes9x-coop: A build of snes9x-rr primed to run emu-coop (see main site here)
  • namespace.lua: A Lua library which adds a namespace feature to Lua. For Lua 5.1/LuaJIT.

Ports and forks

Games

Open source project forks

  • sproxel: A voxel editor
  • hg-git: Mercurial/git bridge (outdated)

License

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.

More Repositories

1

NFTBlocker

Browser plugin to autoblock NFT users on Twitter.
627
star
2

emu-coop

Lua scripts for turning 1-player games into 2-player games using inventory sharing.
Lua
72
star
3

emily

Git mirror of https://bitbucket.org/runhello/emily
OCaml
58
star
4

lodr

Live-reload wrapper for Lovr
Lua
34
star
5

dts2nim

TypeScript -> Nim binding generator
JavaScript
32
star
6

lovr-oculus-mobile

Android app for hosting lovr on oculus mobile platform
C++
32
star
7

ts-hello

Typescript starting project. Separate branches for React and Preact. Fork me
JavaScript
26
star
8

ppx_const

A PPX syntax extension for the OCaml programming language. Adds a compile-time "if" statement.
OCaml
21
star
9

rs-hello

Rust
17
star
10

lovr-ent

Entity tree library / sample project for the LOVR vr game engine
Lua
14
star
11

XmlEdit

GUI XML Editor written in Qt
C++
13
star
12

rovr

Lovr+Rust testbed
Rust
8
star
13

pocket-riscv-rs

Repo for apps for the Pocket RISC-V core for Analogue Pocket/OpenFPGA. Multiple branches.
Rust
8
star
14

audiotools-rs

Random Rust audio utilities
Rust
8
star
15

nim-webgl-example

Example for dts2nim script
Nim
7
star
16

Github-Copilot-Statement

Please read
6
star
17

bitbucket-exfiltrate

Bitbucket's deleting my stuff for the crime of using Mercurial. Gotta back it up.
Python
3
star
18

webgpu-tutorial-rs

Rust WebGPU tutorial code.
Rust
3
star
19

gltf-edit

GLTF alteration script
Python
3
star
20

qgcon-2018

QGCon 2018 talk
HTML
2
star
21

UnityPlugin

A C Unity plugin built using CMake.
CMake
2
star
22

zap

video game
Rust
2
star
23

emily2

EmberScript
2
star
24

old-Polycode

A fork of polycode with mingw fixes. Obsolete.
C++
2
star
25

ts-hello-bug

small repros for bugs— you should just ignore this
JavaScript
2
star
26

android-zero

"Zero", an Android application which instantly quits when run.
Kotlin
2
star
27

vcxproj-cmake-sharing-example

Sample code for writing C++ build scripts for CMake and Visual Studio which share a common list of files
CMake
2
star
28

SplitEdit

Editor for LiveSplit .LSS files.
C++
1
star
29

android-bug

Bug repros
Kotlin
1
star
30

empty

empty test repo
1
star
31

backup-Polycode

Please ignore, scratch space for hg-git testing
C++
1
star
32

magus-tutorial

Instructions on building the firmware for the magus
1
star
33

mermaid-lovr

Mermaid Heavy Industries resources for the Lovr engine
1
star
34

analogue-core-template-amaranth-variants

Bug/test branches of amaranth projects
Verilog
1
star
35

lovr-gpu-sample

Sample code/functional tests for lovr "gpu" support. Intended for use with https://github.com/bjornbytes/lovr , currently in branch "dev".
Lua
1
star