Devcontainer and collab documentation
This commit is contained in:
parent
9be1526cb1
commit
0a21a14033
2 changed files with 20 additions and 13 deletions
20
COLLABORATION.org
Normal file
20
COLLABORATION.org
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
#+title: Collaboration
|
||||
|
||||
Imugi can be easily built without any local chicken scheme installation by using the devcontainer spec included in this repository.
|
||||
|
||||
* Using the Devcontainers CLI
|
||||
First, run ~npm install -g @devcontainers/cli~ to install the devcontainers CLI tool.
|
||||
|
||||
This requires a working Docker installation, the steps to which can be found [[https://docs.docker.com/engine/install/][here]]. Also assign your user to the ~docker~ group to avoid having to use ~sudo~ with docker and devcontainer commands.
|
||||
|
||||
Once both of the above are installed, the devcontainer can be started with ~devcontainer up --workspace-folder .~ in the repository root. This will build a Debian Trixie container including all Chicken dependencies, and also build Raylib as a static library. We prefer to build with static linking in order to make distribution less annoying.
|
||||
|
||||
Once the devcontainer is running, enter it with ~devcontainer exec --workspace-folder . bash~. This will put you at the repository root.
|
||||
|
||||
* Running Tests & Samples
|
||||
From the ~build~ directory, run ~csm -program <module>~ to build a particular module, the ~./<module>~ to run it.
|
||||
|
||||
Any module defined in the ~samples~ or ~test~ directory can be run like this, either to show an example game or to run tests for a particular engine module.
|
||||
|
||||
If you are running the devcontainer on an X11 Linux host, running the compiled module should forward the window to your hosts X11 display. YMMV for Wayland and non-Linux hosts.
|
||||
|
||||
13
README.org
13
README.org
|
|
@ -184,16 +184,3 @@ Functions for evaluating the render queues. ~evaluate-render-queue~ evaluates a
|
|||
(create-window process: (next-frame) close-predicate: (window-should-close?))
|
||||
#+end_src
|
||||
~create-window~ creates a window using the window parameters described above, sets the target frames per second, then enters a loop which runs the ~process:~ function (~next-frame~ by default) on each frame, unless ~close-predicate:~ (Raylib's ~window-should-close~ function by default) returns true, in which case the window is closed.
|
||||
|
||||
* Dependencies
|
||||
The following Chicken dependencies are required:
|
||||
- raylib
|
||||
- SRFI-99
|
||||
- SRFI-113
|
||||
- SRFI-69
|
||||
- csm
|
||||
- SRFI-78
|
||||
|
||||
* Running
|
||||
From the ~build~ directory, run ~csm -program test.engine .. && ./test.engine~ to run engine tests.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue