You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Devine Lu Linvega f9e8db0ec6 Updated examples and README / Added LICENSE 6 years ago
examples Updated examples and README / Added LICENSE 6 years ago
.clang-format Add working 'O' operator, and load/store bank macros 6 years ago
.gitignore Init with basic test 6 years ago
LICENSE.md Updated examples and README / Added LICENSE 6 years ago
Makefile Update tool and Makefile for separate config/target 6 years ago
README.md Updated examples and README / Added LICENSE 6 years ago
bank.c Remove use of memset in bank.c 6 years ago
bank.h Change bank storage to use I32 instead of Glyph 6 years ago
base.h Add typedef alias for U8 -> Mark 6 years ago
cli_main.c Add tick number param 6 years ago
field.c Clean up resizing logic, make it work with undo history 6 years ago
field.h Clean up resizing logic, make it work with undo history 6 years ago
gbuffer.c Add partial support for resizing grids (WIP) 6 years ago
gbuffer.h Cleanup field.h/.c, move some stuff to gbuffer.h/.c 6 years ago
mark.c Rename Markmap_buffer to Mbuffer 6 years ago
mark.h Add typedef alias for U8 -> Mark 6 years ago
sim.c Cleanup 6 years ago
sim.h Add tick number param 6 years ago
tool Remove field_copy_subrect, move to gbuffer, add gbuffer.c 6 years ago
tui_main.c Add basic terminal margins (with option to disable) 6 years ago

README.md

ORCΛ

Each letter of the alphabet is an operation, lowercase letters typically operate on bang(*), uppercase letters operate on each frame. Bangs can be generated by various operations, such as E colliding with a 0, see the bang.orca example. Watch a music video of ORCΛ in action.

C Port for the ORCΛ programming environment, with a commandline interpreter.

Prerequisites

POSIX, C99 compiler, bash for the build script. Tested to build on Linux and Mac with GCC and clang. No native Windows port yet, but it will probably already build under cygwin.

Build

You can use the build script directly, or with the make wrapper.

Make

make [debug or release, default is debug]

The built binary will be placed at build/[debug or release]/orca

Clean:

make clean

Removes build/

Build Script

Run ./tool --help to see usage info.

Build Tui

./tool build debug tui

Run

orca [-t timesteps] infile

You can also make orca read from stdin:

echo -e "...\na34\n..." | orca /dev/stdin

Extras

  • Support this project through Patreon.
  • See the License file for license rights and limitations (MIT).
  • Pull Requests are welcome!