summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* math: vector: Add custom record type printers for vectors.David Thompson2017-09-131-0/+12
| | | | | * chickadee/math/vector.scm (display-vec2, display-vec3): New procedures.
* math: matrix: Fix docstring.David Thompson2017-09-131-4/+3
| | | | * chickadee/math/matrix.scm (orthographic-projection): s/transform/matrix/
* math: matrix: Add perspective-projection function.David Thompson2017-09-131-0/+12
| | | | * chickadee/math/matrix.scm (perspective-projection): New procedure.
* math: matrix: Add custom record type printer.David Thompson2017-09-131-0/+24
| | | | * chickadee/math/matrix.scm (display-matrix4): New procedure.
* math: vector: Add 3-dimensional vector type.David Thompson2017-09-131-1/+147
|
* math: Add quaternion module.David Thompson2017-09-133-0/+137
|
* Move color module into render namespace.David Thompson2017-08-087-7/+7
|
* buffer: Add docstrings to procedures.David Thompson2017-05-031-0/+7
| | | | * chickadee/buffer.scm: Add docstrings.
* doc: Remove redundant "Scheme Procedure", etc. things.David Thompson2017-05-021-111/+111
| | | | | | Everything is Scheme here, no need to say so over and over! * doc/api.texi: Remove "Scheme " from the defvr and deffn commands.
* Add buffer module.David Thompson2017-05-025-2/+448
| | | | | | | | | * chickadee/buffer.scm: New file. * Makefile.am (SOURCES): Add it. * .dir-locals.el: Add indent rules for with-buffer and with-current-buffer. * examples/buffer.scm: New file. * doc/api.texi (Buffers): Add docs.
* scripting: Add a tweening procedure.David Thompson2017-04-274-7/+212
| | | | | | | * chickadee/scripting.scm (tween): Reimplement procedure. * chickadee/math/easings.scm: New file. * Makefile.am (SOURCES): Add it. * doc/api.text (Easings, Tweening): New subsections.
* scripting: agenda: Add 'every' scheduling option.David Thompson2017-04-272-1/+35
| | | | | | * chickadee/scripting/agenda.scm (schedule-every): New procedure. (every): New syntax. * doc/api.texi (Agendas): Document it.
* math: Add lerp procedure.David Thompson2017-04-271-1/+6
| | | | * chickadee/math.scm (lerp): New procedure.
* Fix unbounded heap growth in game loop.David Thompson2017-04-251-2/+2
| | | | | * chickadee.scm (run-game): Make sure that the recursive calls to the update loop are in tail position.
* math: Add pi constant.David Thompson2017-04-252-1/+21
| | | | | * chickadee/math.scm (pi): New variable. * doc/api.texi (Math): Add "Basics" subsection.
* Add simple scripting system.David Thompson2017-04-036-0/+571
| | | | | | | * chickadee/scripting.scm: New file. * chickadee/scripting/agenda.scm: New file. * chickadee/scripting/coroutine.scm: New file. * Makefile.am (SOURCES): Add them.
* Add queue module.David Thompson2017-04-032-0/+66
| | | | | * chickadee/queue.scm: New file. * Makefile.am (SOURCES): Add it.
* Add array list module.David Thompson2017-04-012-0/+108
| | | | | * chickadee/array-list.scm: New file. * Makefile.am (SOURCES): Add it.
* Add binary heap implementation.David Thompson2017-04-012-0/+130
| | | | | * chickadee/heap.scm: New file. * Makefile.am (SOURCES): Add it.
* input: Add keyboard module.David Thompson2017-04-013-0/+48
| | | | | | * chickadee/input/keyboard.scm: New file. * Makefile.am (SOURCES): Add it. * doc/api.texi (Keyboard): New section.
* guix: Update to latest guile-sdl2 Git snapshot.David Thompson2017-04-011-2/+2
|
* guix: Use latest Git version of guile-sdl2.David Thompson2017-03-311-42/+51
|
* render: texture: Support using 32 texture units.David Thompson2017-03-315-24/+58
| | | | | | | | | | | | | | | * chickadee/render/texture.scm (make-apply-texture, texture-ref, texture-set!): New procedures. (*texture-states*): New variable. (apply-texture, *texture-state*): Delete. (make-texture): Use 'vector-set!' * chickadee/render/shader.scm: Export 'uniform-type'. (default-uniform-value): Remove 'sampler-2d' case. (extract-uniforms): Handle sampler-2d uniforms specially. * chickadee/render.scm (current-texture): Add 'i' argument. (with-texture): Add 'n' argument. (gpu-apply*): Set textures for all texture units. * .dir-locals.el: Update indentation rules for 'with-texture'.
* guix: Use new Guile 2.2 package.David Thompson2017-03-301-5/+5
|
* render: sprite: Add fast path for non-rotated/scaled batched sprites.David Thompson2017-03-221-20/+29
| | | | | * chickadee/render/sprite.scm (sprite-batch-add!): Speed up rendering of non-rotated, non-scaled sprites by avoid matrix multiplication.
* doc: html: Use dthompson.us stylesheet to make manual more attractive.David Thompson2017-01-272-0/+24
| | | | | * Makefile.am (AM_MAKEINFOHTMLFLAGS): New variable. * doc/manual.css: New file.
* Add full GPLv3 text.David Thompson2017-01-262-0/+675
|
* Ignore generated tarballs and signatures.David Thompson2017-01-261-0/+2
|
* Distribute examples in release tarballs.David Thompson2017-01-261-0/+12
|
* examples: Add nine-patch example.David Thompson2017-01-263-0/+32
| | | | | | * examples/nine-patch.scm: New file. * examples/images/dialog-box.png: New file. * examples/AUTHORS: New file.
* configure: Drop Guile 2.0 support.v0.2.0David Thompson2017-01-261-1/+1
|
* Bump version to 0.2.0.David Thompson2017-01-251-1/+1
|
* doc: Mention that signed distance field rendering is not implemented.David Thompson2017-01-251-1/+2
|
* doc: Document draw-line.David Thompson2017-01-251-0/+18
|
* doc: Fix multi-line @deffn commands.David Thompson2017-01-251-11/+14
|
* examples: Add line segment example.David Thompson2017-01-251-0/+31
| | | | * examples/lines.scm: New file.
* render: shapes: Add docstring to draw-line.David Thompson2017-01-251-0/+6
| | | | * chickadee/render/shapes.scm (draw-line): Add docstring.
* render: shapes: Change draw-line to accept vector arguments.David Thompson2017-01-251-7/+11
| | | | | * chickadee/render/shapes.scm (draw-line): Replace x1, y1, x2, y2 arguments with start and end arguments that are vec2s.
* render: shapes: Delete draw-rectangle-outline procedure.David Thompson2017-01-251-11/+1
| | | | * chickadee/render/shapes.scm (draw-rectangle-outline): Delete.
* render: viewport: Make applying the null viewport a no-op.David Thompson2017-01-251-10/+11
| | | | | * chickadee/render/viewport.scm (apply-viewport): Don't do anything if the viewport being applied is the null viewport.
* Ensure that the viewport is cleared at the beginning of each frame.David Thompson2017-01-251-0/+4
| | | | | * chickadee.scm (run-game): Switch to the null viewport at the beginning of each frame to ensure other viewports are cleared.
* Fix guile-sdl2 procedure name.David Thompson2017-01-251-1/+1
| | | | * chickadee.scm (run-game): s/keyboard-event-repeat/keyboard-event-repeat?/
* guix: Update guile-sdl2 recipe to 0.2.0.David Thompson2017-01-251-51/+43
|
* Add audio support.David Thompson2017-01-244-1/+206
| | | | | | | * chickadee/audio.scm: New file. * Makefile.am (SOURCES): Add it. * chickadee.scm (run-game): Initialize audio. * doc/api.texi ("Audio"): Document it.
* doc: Document sprites and fonts.David Thompson2017-01-241-7/+176
|
* render: Add bitmap font support.David Thompson2017-01-246-0/+467
| | | | | | | | | * chickadee/render/font.scm: New file. * Makefile.am (SOURCES): Add it. * examples/text.scm: New file. * examples/fonts/AUTHORS: New file. * examples/fonts/good_neighbors_starling.png: New file. * examples/fonts/good_neighbors_starling.xml: New file.
* render: sprite: Improve argument names to draw-sprite.David Thompson2017-01-241-51/+59
|
* examples: sprite: Quit the demo when close button is pressed.David Thompson2017-01-241-0/+1
|
* math: rect: Fix vec2-clamp-to-rect.David Thompson2017-01-241-1/+1
| | | | * chickadee/math/rect.scm (vec2-clamp-to-rect): s/copy-vec2/vec2-copy/
* math: vector: Fix vec2-copy and vec2-copy!David Thompson2017-01-241-23/+20
| | | | | * chickadee/math/vector.scm: Reorder procedure definitions to overcome inlining issues.