summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Third time's the charm for a bug fix?David Thompson2017-10-171-2/+1
|
* Fix build bug for real this time.David Thompson2017-10-171-6/+5
|
* render: texture: Fix strange parallel compilation issue.David Thompson2017-10-171-1/+0
| | | | | I have no damn clue why #:select causes this problem, but simply not using it fixes things!
* Add generalized A* path finding algorithm.David Thompson2017-10-172-0/+78
| | | | | * chickadee/path-finding.scm: New file. * Makefile.am (SOURCES): Add it.
* render: sprite: Add support for drawing texture regions.David Thompson2017-10-173-30/+52
| | | | | | | | | | * chickadee/render/sprite.scm (%default-texture-region): Rename to... (%default-texcoords): ...this. (draw-sprite): Replace #:texture-region arg with #:texcoords. Add support for texture regions. Update docstring. (draw-nine-patch): Add support for texture regions. * chickadee/render/font.scm (draw-text): Change #:texture-region to #:texcoords in draw-sprite call.
* render: texture: Use texture regions in texture atlas.David Thompson2017-10-171-5/+6
| | | | | | | * chickadee/render/texture.scm (list->texture-atlas): Create texture regions. Switch from rects to 4-tuples. (texture-atlas, texture-atlas-ref): Update docstring. (split-texture): Create texture regions.
* render: texture: Add private gl-size field.David Thompson2017-10-171-4/+7
| | | | | * chickadee/render/texture.scm (<texture>)[gl-size]: New field. (null-texture, make-texture): Add gl-size argument.
* render: texture: Add texture region data type.David Thompson2017-10-171-0/+35
| | | | * chickadee/render/texture.scm (<texture-region>): New record type.
* render: sprite: Fix sprite batch resizing.David Thompson2017-10-141-8/+11
| | | | | * chickadee/render/sprite.scm (double-sprite-batch-size!): Get reference to bytevectors before unmapping old buffers.
* scripting: Cancelling a script cancels all nested scripts.David Thompson2017-10-141-7/+20
| | | | | | | * chickadee/scripting/script.scm (<script>)[children]: New field. (current-script): New variable. (cancel-script): Cancel all child scripts, too. (spawn-script): Register new script as a child of the current script.
* scripting: Fix bugs in script-running? and script-complete?David Thompson2017-10-141-2/+2
| | | | | * chickadee/scripting/script.scm (script-running?, script-complete?): Test for the correct status instead of 'cancelled'.
* scripting: Rename coroutine to script.David Thompson2017-10-146-150/+148
| | | | | | | | | | * chickadee/scripting/coroutine.scm: Move to... * chickadee/scripting/script.scm: ...here, and s/coroutine/script. * chickadee/scripting/channel.scm (channel-get, channel-put): Update docstring to say "script" instead of "coroutine". * chickadee/scripting.scm: s/coroutine/script/ * Makefile.am (SOURCES): Replace coroutine.scm with script.scm. * doc/api.texi: s/coroutine/script/
* scripting: Rename wait to sleep.David Thompson2017-10-141-4/+7
| | | | | * chickadee/scripting.scm (wait): Rename to... (sleep): ...this.
* scripting: Fix bug where dynamic state wasn't being respected.David Thompson2017-10-142-4/+10
| | | | | | | * chickadee/scripting/coroutine.scm (spawn-coroutine): Save dynamic state during coroutine execution. * chickadee/scripting.scm (wait): Schedule continuation in the coroutine's current agenda.
* math: vector: Fix a couple docstrings.David Thompson2017-10-141-2/+2
|
* guix: Update to latest guile-sdl2 commit.David Thompson2017-09-131-2/+2
|
* Add beginnings of glTF parser and loader.David Thompson2017-09-135-0/+704
| | | | | | | * chickadee/render/asset.scm: New file. * chickadee/render/scene.scm: New file. * data/shaders/pbr/pbr-frag.glsl: New file. * data/shaders/pbr/pbr-vert.glsl: New file.
* Add JSON parser.David Thompson2017-09-132-0/+309
|
* render: shader: Export more procedures.David Thompson2017-09-131-0/+5
| | | | | * chickadee/render/shader.scm: Export shader-attributes, attribute?, attribute-name, attribute-location, and attribute-type.
* Major rewrite of vertex buffer and vertex array abstractions.David Thompson2017-09-137-312/+588
|
* gl: Export gl-buffer-sub-data.David Thompson2017-09-131-0/+1
|
* Fix datadir.David Thompson2017-09-132-4/+4
|
* texture: Export texture-atlas-texture.David Thompson2017-09-131-0/+1
|
* math: Add cotangent function.David Thompson2017-09-132-0/+9
| | | | * chickadee/math.scm (cotan): New procedure.
* 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.