chickadee.git
3 months agorender: particles: Fix keyword argument names for gpu-apply call.
David Thompson [Wed, 6 Nov 2019 13:24:23 +0000 (08:24 -0500)] 
render: particles: Fix keyword argument names for gpu-apply call.

3 months agorender: phong: Tweak default directional light parameters.
David Thompson [Wed, 6 Nov 2019 01:29:47 +0000 (20:29 -0500)] 
render: phong: Tweak default directional light parameters.

3 months agorender: phong: Zero out specular factor when material shininess is 0.
David Thompson [Wed, 6 Nov 2019 01:29:13 +0000 (20:29 -0500)] 
render: phong: Zero out specular factor when material shininess is 0.

3 months agorender: phong: Fix error in shader.
David Thompson [Wed, 6 Nov 2019 01:27:28 +0000 (20:27 -0500)] 
render: phong: Fix error in shader.

Wrong boolean value was being checked for specular map.

3 months agorender: model: Make a few small tweaks.
David Thompson [Wed, 6 Nov 2019 01:26:58 +0000 (20:26 -0500)] 
render: model: Make a few small tweaks.

3 months agorender: model: Move expressions after definitions to fix Guile 2.2 compatibility.
David Thompson [Sun, 3 Nov 2019 15:55:22 +0000 (10:55 -0500)] 
render: model: Move expressions after definitions to fix Guile 2.2 compatibility.

3 months agorender: model: Invert texture V coords when parsing OBJ files.
David Thompson [Tue, 29 Oct 2019 21:17:19 +0000 (17:17 -0400)] 
render: model: Invert texture V coords when parsing OBJ files.

3 months agorender: shader: Fix bug with arrays handling in shader-uniform-set!
David Thompson [Tue, 29 Oct 2019 21:16:03 +0000 (17:16 -0400)] 
render: shader: Fix bug with arrays handling in shader-uniform-set!

3 months agorender: texture: Include id when printing.
David Thompson [Tue, 29 Oct 2019 21:15:30 +0000 (17:15 -0400)] 
render: texture: Include id when printing.

3 months agorender: shader: Fix sampler2D uniform value application.
David Thompson [Tue, 29 Oct 2019 21:15:03 +0000 (17:15 -0400)] 
render: shader: Fix sampler2D uniform value application.

3 months agorender: model: Add additional aliases for .mtl bump map specifiers.
David Thompson [Mon, 28 Oct 2019 21:20:11 +0000 (17:20 -0400)] 
render: model: Add additional aliases for .mtl bump map specifiers.

3 months agorender: model: Suppress warnings for some deliberately ignored .obj data.
David Thompson [Mon, 28 Oct 2019 21:18:50 +0000 (17:18 -0400)] 
render: model: Suppress warnings for some deliberately ignored .obj data.

3 months agorender: model: Load ambient maps in .mtl files.
David Thompson [Mon, 28 Oct 2019 21:18:09 +0000 (17:18 -0400)] 
render: model: Load ambient maps in .mtl files.

3 months agorender: phong: Add ambient map to material.
David Thompson [Mon, 28 Oct 2019 21:17:07 +0000 (17:17 -0400)] 
render: phong: Add ambient map to material.

3 months agorender: model: Load diffuse, specular, bump textures in .mtl files.
David Thompson [Mon, 28 Oct 2019 12:30:13 +0000 (08:30 -0400)] 
render: model: Load diffuse, specular, bump textures in .mtl files.

3 months agorender: phong: Add support for diffuse and specular maps.
David Thompson [Mon, 28 Oct 2019 12:29:33 +0000 (08:29 -0400)] 
render: phong: Add support for diffuse and specular maps.

And boilerplate for bump maps to be supported later.

3 months agoMakefile: Remove deleted shader files.
David Thompson [Sun, 27 Oct 2019 00:36:20 +0000 (20:36 -0400)] 
Makefile: Remove deleted shader files.

3 months agorender: viewport: Use light sky blue for default clear color.
David Thompson [Sun, 27 Oct 2019 00:29:52 +0000 (20:29 -0400)] 
render: viewport: Use light sky blue for default clear color.

3 months agorender: shader: Fix bug where default values for local fields didn't work.
David Thompson [Sun, 27 Oct 2019 00:28:03 +0000 (20:28 -0400)] 
render: shader: Fix bug where default values for local fields didn't work.

3 months agorender: model: Support faces with 5 or more elements in OBJ loader.
David Thompson [Sat, 26 Oct 2019 23:07:48 +0000 (19:07 -0400)] 
render: model: Support faces with 5 or more elements in OBJ loader.

3 months agorender: model: Correctly handle faces with 4 elements in OBJ loader.
David Thompson [Fri, 25 Oct 2019 12:49:31 +0000 (08:49 -0400)] 
render: model: Correctly handle faces with 4 elements in OBJ loader.

4 months agoexamples: model: Remove bad code left in accidentally.
David Thompson [Thu, 24 Oct 2019 12:25:40 +0000 (08:25 -0400)] 
examples: model: Remove bad code left in accidentally.

4 months agoAdd 3D model example data to Makefile.am.
David Thompson [Thu, 24 Oct 2019 12:24:02 +0000 (08:24 -0400)] 
Add 3D model example data to Makefile.am.

4 months agorender: Restructure 3D modules and add basic support for OBJ models.
David Thompson [Thu, 24 Oct 2019 12:04:43 +0000 (08:04 -0400)] 
render: Restructure 3D modules and add basic support for OBJ models.

4 months agorender: shader: Rename <shader-data-type> to <shader-primitive-type>.
David Thompson [Wed, 23 Oct 2019 12:13:52 +0000 (08:13 -0400)] 
render: shader: Rename <shader-data-type> to <shader-primitive-type>.

4 months agorender: shader: Allow client-side only fields in shader structs.
David Thompson [Wed, 23 Oct 2019 12:07:21 +0000 (08:07 -0400)] 
render: shader: Allow client-side only fields in shader structs.

4 months agorender: shader: Convert camel case uniform names to lispy snake case.
David Thompson [Wed, 23 Oct 2019 12:05:48 +0000 (08:05 -0400)] 
render: shader: Convert camel case uniform names to lispy snake case.

4 months agorender: shader: Remove unnecessary module import.
David Thompson [Mon, 21 Oct 2019 12:43:02 +0000 (08:43 -0400)] 
render: shader: Remove unnecessary module import.

4 months agorender: shader: Remove debugging code.
David Thompson [Mon, 21 Oct 2019 12:37:39 +0000 (08:37 -0400)] 
render: shader: Remove debugging code.

4 months agorender: shader: Add support for shader structs. wip-shaders
David Thompson [Sun, 20 Oct 2019 13:10:28 +0000 (09:10 -0400)] 
render: shader: Add support for shader structs.

4 months agorender: shader: Improve shader compilation error printing.
David Thompson [Fri, 18 Oct 2019 21:15:28 +0000 (17:15 -0400)] 
render: shader: Improve shader compilation error printing.

4 months agorender: shader: Support primitive array uniform variables.
David Thompson [Fri, 18 Oct 2019 00:02:08 +0000 (20:02 -0400)] 
render: shader: Support primitive array uniform variables.

4 months agorender: shader: Move shader loading helper procedures out of top level.
David Thompson [Fri, 18 Oct 2019 00:03:39 +0000 (20:03 -0400)] 
render: shader: Move shader loading helper procedures out of top level.

4 months agorender: shader: Decouple uniform serialization with uniform setting.
David Thompson [Thu, 17 Oct 2019 12:55:21 +0000 (08:55 -0400)] 
render: shader: Decouple uniform serialization with uniform setting.

4 months agorender: gl: Add more glUniform functions.
David Thompson [Thu, 17 Oct 2019 12:54:24 +0000 (08:54 -0400)] 
render: gl: Add more glUniform functions.

4 months agorender: shader: Encapsulate GLSL types in <shader-data-type> records.
David Thompson [Wed, 16 Oct 2019 23:01:53 +0000 (19:01 -0400)] 
render: shader: Encapsulate GLSL types in <shader-data-type> records.

4 months agomath: vector: Add vec3 cross product procedures.
David Thompson [Fri, 11 Oct 2019 22:43:18 +0000 (18:43 -0400)] 
math: vector: Add vec3 cross product procedures.

4 months agomath: vector: Add vec3 arithmetic procedures.
David Thompson [Fri, 11 Oct 2019 22:42:56 +0000 (18:42 -0400)] 
math: vector: Add vec3 arithmetic procedures.

4 months agomath: matrix: Add procedures for X and Y axis rotations.
David Thompson [Fri, 11 Oct 2019 21:10:23 +0000 (17:10 -0400)] 
math: matrix: Add procedures for X and Y axis rotations.

4 months agoarray-list: Add bounds checking to array-list-ref.
David Thompson [Fri, 11 Oct 2019 21:10:09 +0000 (17:10 -0400)] 
array-list: Add bounds checking to array-list-ref.

4 months agorender: Introduce render context object.
David Thompson [Fri, 11 Oct 2019 12:00:37 +0000 (08:00 -0400)] 
render: Introduce render context object.

Due to the declarative modules feature of Guile 2.9.4+, the existing
technique of using one top-level variable per GL state was very broken
because the initial values got cached at all call sites and state
updates were being silently ignored and thus the game window was
always a black screen.  Not good!  By replacing all of the state
variables with a single "context" object and poking at fields inside,
things work again and it's arguably the better design anyhow.

7 months agoexamples: Update particle example.
David Thompson [Wed, 24 Jul 2019 20:41:07 +0000 (16:41 -0400)] 
examples: Update particle example.

7 months agorender: particles: Fix misuse of streaming vertex buffer.
David Thompson [Mon, 22 Jul 2019 11:43:56 +0000 (07:43 -0400)] 
render: particles: Fix misuse of streaming vertex buffer.

* chickadee/render/particles.scm (update-particles): Use a dedicated
  bytevector for storing the state of the particles and copy it over
  to the GPU at the end.

8 months agoFix a few errors in the manual.
David Thompson [Wed, 5 Jun 2019 11:47:44 +0000 (07:47 -0400)] 
Fix a few errors in the manual.

8 months agoMakefile: Generate detached signatures in publish task. v0.4.0
David Thompson [Wed, 5 Jun 2019 00:29:33 +0000 (20:29 -0400)] 
Makefile: Generate detached signatures in publish task.

8 months agorender: tiled: Add point->tile.
David Thompson [Tue, 4 Jun 2019 21:12:36 +0000 (17:12 -0400)] 
render: tiled: Add point->tile.

* chickadee/render/tiled.scm (point->tile): New procedure.
* doc/api.texi (Tiled): Document it.
* examples/tiled.scm: Render tile coordinates in bottom-left corner.

8 months agodoc: Add direntry information.
David Thompson [Tue, 4 Jun 2019 12:05:35 +0000 (08:05 -0400)] 
doc: Add direntry information.

8 months agodoc: Update copyright years.
David Thompson [Mon, 3 Jun 2019 01:41:17 +0000 (21:41 -0400)] 
doc: Update copyright years.

8 months agodoc: Add tutorial for REPL setup.
David Thompson [Mon, 3 Jun 2019 01:34:25 +0000 (21:34 -0400)] 
doc: Add tutorial for REPL setup.

* doc/api.texi (Live Coding): New subsection.

8 months agodoc: Expand API reference for Tiled maps.
David Thompson [Mon, 3 Jun 2019 00:59:34 +0000 (20:59 -0400)] 
doc: Expand API reference for Tiled maps.

* doc/api.texi (Tile Maps): Add more procedure documentation.

8 months agodoc: Remove unnecessary @var markup in argument lists.
David Thompson [Tue, 28 May 2019 22:23:10 +0000 (18:23 -0400)] 
doc: Remove unnecessary @var markup in argument lists.

8 months agoUpdate a couple of examples to use new sprite batch API.
Alex McGrath [Tue, 28 May 2019 20:43:49 +0000 (21:43 +0100)] 
Update a couple of examples to use new sprite batch API.

* examples/game-controller.scm: Use new sprite batch API.
* examples/grid.scm: Ditto.

9 months agorender: sprite: Add draw-sprite-batch* procedure.
David Thompson [Thu, 23 May 2019 02:04:14 +0000 (22:04 -0400)] 
render: sprite: Add draw-sprite-batch* procedure.

* chickadee/render/sprite.scm (draw-sprite-batch*): New procedure.
  (draw-sprite-batch): Rewrite in terms of 'draw-sprite-batch*'.

9 months agoUpdate copyright year on sprite and buffer modules.
David Thompson [Thu, 16 May 2019 11:53:45 +0000 (07:53 -0400)] 
Update copyright year on sprite and buffer modules.

9 months agoIgnore emacs temp files.
David Thompson [Wed, 15 May 2019 00:53:15 +0000 (20:53 -0400)] 
Ignore emacs temp files.

9 months agoFix 'make distcheck'.
David Thompson [Tue, 14 May 2019 00:17:09 +0000 (20:17 -0400)] 
Fix 'make distcheck'.

9 months agodoc: Remove unicode character for pi because it breaks 'make dvi'.
David Thompson [Mon, 13 May 2019 23:00:33 +0000 (19:00 -0400)] 
doc: Remove unicode character for pi because it breaks 'make dvi'.

9 months agoREADME: Update example code.
David Thompson [Mon, 13 May 2019 22:56:35 +0000 (18:56 -0400)] 
README: Update example code.

9 months agorender: Replace broken refs to "typed buffer" with "buffer view".
David Thompson [Mon, 13 May 2019 22:53:26 +0000 (18:53 -0400)] 
render: Replace broken refs to "typed buffer" with "buffer view".

* chickadee/render/asset.scm: s/typed-buffer/buffer-view/
* chickadee/render/particles.scm: Same.

9 months agodoc: Remove reference to old hook system.
David Thompson [Mon, 13 May 2019 22:47:27 +0000 (18:47 -0400)] 
doc: Remove reference to old hook system.

* doc/api.texi (Agendas): Rewrite example code that used obsolete hook
  API.

9 months agorender: Rename "typed buffer" to "buffer view".
David Thompson [Mon, 13 May 2019 22:42:59 +0000 (18:42 -0400)] 
render: Rename "typed buffer" to "buffer view".

* chickadee/render/buffer.scm: s/typed-buffer/buffer-view/
* chickadee/render/shapes.scm: Same.
* chickadee/render/sprite.scm: Same.
* doc/api.texi: Same.

9 months agodoc: Improve texture documentation.
David Thompson [Mon, 13 May 2019 21:59:41 +0000 (17:59 -0400)] 
doc: Improve texture documentation.

* chickadee/render/texture.scm (list->texture-atlas): Tweak docstring.
* doc/api.texi (Textures): Document more procedures.

9 months agorender: texture: Stop exporting texture-id.
David Thompson [Mon, 13 May 2019 21:59:07 +0000 (17:59 -0400)] 
render: texture: Stop exporting texture-id.

* chickadee/render/texture.scm: Remove texture-id from exports list.

9 months agoUpdate SDL2 game controller database file. wip-sprite-batch-rewrite
David Thompson [Fri, 10 May 2019 19:37:36 +0000 (15:37 -0400)] 
Update SDL2 game controller database file.

9 months agorender: sprite: Rewrite sprite batching API.
David Thompson [Fri, 10 May 2019 12:34:53 +0000 (08:34 -0400)] 
render: sprite: Rewrite sprite batching API.

This new version performs better and has a better API. It closely
resembles Love2D's sprite batch API.

* chickadee/render/sprite.scm (with-batched-sprites,
  sprite-batch-reset!, sprite-batch-begin!,
  draw-sprite-batched, *batch?*, %batch): Delete.
  (draw-sprite-unbatched): Rename to 'draw-sprite*'.
  (<sprite-batch>)[index-buffer, position-buffer, texture-buffer]:
  Delete fields.
  [vertex-buffer]: New field.
  (init-sprite-batch, double-sprite-batch-size!, sprite-batch-add!,
  sprite-batch-flush!): Rewrite.
  (make-sprite-batch): Add 'capacity' and 'blend-mode' arguments.
  (draw-sprite-batch): New procedure.
  (draw-nine-patch*): Stop using sprite batches for now.
* chickadee/render/font.scm: (<font>)[sprite-batches]: New field.
  (load-tile-font, load-font): Create a sprite batch for each texture
  loaded.
  (draw-text*): Use sprite batches.
* chickadee/render/tiled.scm: (<tile>)[batch]: New field.
  (<tileset>)[batch]: New field.
  (load-tile-map): Create a sprite batch for each tileset.
  (draw-tile-layer): Use new sprite batch API.
  (draw-tile-map*): Remove reference to deleted macro.

9 months agorender: buffer: Allow specifying read/write mode when mapping buffer.
David Thompson [Fri, 10 May 2019 12:29:28 +0000 (08:29 -0400)] 
render: buffer: Allow specifying read/write mode when mapping buffer.

* chickadee/render/buffer.scm (map-buffer!): Add optional 'mode' argument.

9 months agorender: buffer: Fix buffer orphaning for streaming buffers.
David Thompson [Fri, 10 May 2019 12:25:28 +0000 (08:25 -0400)] 
render: buffer: Fix buffer orphaning for streaming buffers.

* chickadee/render/buffer.scm (map-buffer!): Compare symbols to
  symbols for checking stream usage. -__-

9 months agorender: buffer: Don't attempt to map a buffer that is already mapped.
David Thompson [Thu, 9 May 2019 20:27:44 +0000 (16:27 -0400)] 
render: buffer: Don't attempt to map a buffer that is already mapped.

* chickadee/render/buffer (map-buffer!): Do nothing if buffer is
  already mapped to avoid throwing an error.

9 months agorender: buffer: Add buffer-mapped? procedure.
David Thompson [Thu, 9 May 2019 20:27:18 +0000 (16:27 -0400)] 
render: buffer: Add buffer-mapped? procedure.

* chickadee/render/buffer.scm (buffer-mapped?): New procedure.

9 months agorender: font: Respect newline character when rendering.
David Thompson [Wed, 8 May 2019 21:43:53 +0000 (17:43 -0400)] 
render: font: Respect newline character when rendering.

* chickadee/render/font.scm (draw-text*): Advance to the next line on
  screen when \n is encountered.

9 months agorender: tiled: Parse out tile flip bits.
David Thompson [Wed, 8 May 2019 21:29:24 +0000 (17:29 -0400)] 
render: tiled: Parse out tile flip bits.

* chickadee/render/tiled.scm (load-tile-map): Parse out the 3 flip
  bits from each tile id.

9 months agorender: tiled: Accept map versions 1.1 and 1.2.
David Thompson [Wed, 8 May 2019 21:27:13 +0000 (17:27 -0400)] 
render: tiled: Accept map versions 1.1 and 1.2.

9 months agotexture: tileset: Fix rows/columns calculation.
David Thompson [Wed, 8 May 2019 21:26:20 +0000 (17:26 -0400)] 
texture: tileset: Fix rows/columns calculation.

* chickadee/render/texture.scm (split-texture): Use ceiling instead of
  floor when computing number of rows and columns.

13 months agoRemove obsolete controller handling code.
David Thompson [Wed, 9 Jan 2019 13:46:17 +0000 (08:46 -0500)] 
Remove obsolete controller handling code.

* chickadee.scm (run-game): Remove initial iteration over game
controller hash table.

13 months agorender: sprite: Allow nine patches to be tinted.
David Thompson [Wed, 9 Jan 2019 02:51:16 +0000 (21:51 -0500)] 
render: sprite: Allow nine patches to be tinted.

* chickadee/render/sprite.scm (draw-nine-patch*, draw-nine-patch): Add
tint keyword argument.
* doc/api.texi (Sprites): Document new argument.

13 months agoexamples: Add sprite batch example.
David Thompson [Wed, 9 Jan 2019 02:46:37 +0000 (21:46 -0500)] 
examples: Add sprite batch example.

* examples/sprite-batch.scm: New file.
* examples/images/shot.png: New file.
* Makefile.am (EXTRA_DIST): Add them.

13 months agoAdd SDL2 game controller database file.
David Thompson [Wed, 9 Jan 2019 02:13:36 +0000 (21:13 -0500)] 
Add SDL2 game controller database file.

This will allow for lots of controllers to be automatically mapped
correctly without the user having to do anything.

* data/gamecontrollerdb.txt: New file.
* Makefile.am (dist_pkgdata_DATA): Add it.
* chickadee.scm (run-game): Load game controller db file.

13 months agoexamples: game-controller: Add left/right trigger rendering.
David Thompson [Mon, 7 Jan 2019 04:19:46 +0000 (23:19 -0500)] 
examples: game-controller: Add left/right trigger rendering.

13 months agorender: sprite: Revamp rendering process.
David Thompson [Mon, 7 Jan 2019 03:50:45 +0000 (22:50 -0500)] 
render: sprite: Revamp rendering process.

Add support for tinting and simplify batch rendering.

13 months agorender: color: Use f32vector under the hood.
David Thompson [Mon, 7 Jan 2019 03:48:14 +0000 (22:48 -0500)] 
render: color: Use f32vector under the hood.

* chickadee/render/color.scm (<color>): Use a single field for storing
bytevector.
(make-color): Wrap f32vector.
(color-r, color-g, color-b, color-a): Fetch channel values from
f32vector.
(color): New procedure.

13 months agomath: matrix: Add transform-x and transform-y procedures.
David Thompson [Mon, 7 Jan 2019 03:47:46 +0000 (22:47 -0500)] 
math: matrix: Add transform-x and transform-y procedures.

* chickadee/math/matrix.scm (transform-x, transform-y): New procedures.

13 months agoexamples: Add game controller test.
David Thompson [Sun, 6 Jan 2019 05:08:13 +0000 (00:08 -0500)] 
examples: Add game controller test.

* examples/game-controller.scm: New file.
* examples/images/controller-buttons.png: New file.
* Makefile.am (EXTRA_DIST): Add them.

13 months agoRemove redundant open-all-controllers procedure.
David Thompson [Sun, 6 Jan 2019 05:06:34 +0000 (00:06 -0500)] 
Remove redundant open-all-controllers procedure.

I thought this was necessary to process controllers that were already
connected to the computer before a Chickadee-using program was
launched, but that doesn't seem to be the case.

* chickadee.scm (open-all-controllers): Delete.
(run-game): Remove call to open-all-controllers.

13 months agoAdd controller-name procedure.
David Thompson [Sun, 6 Jan 2019 05:05:47 +0000 (00:05 -0500)] 
Add controller-name procedure.

* chickadee.scm (controller-name): New procedure.

13 months agoFix normalization of game controller axis values.
David Thompson [Sun, 6 Jan 2019 05:04:54 +0000 (00:04 -0500)] 
Fix normalization of game controller axis values.

* chickadee.scm (controller-axis): Fix math so that axis values are
actually in the range [0, 1].

13 months agorender: texture: Fix error when splitting certain textures.
David Thompson [Sun, 6 Jan 2019 05:00:53 +0000 (00:00 -0500)] 
render: texture: Fix error when splitting certain textures.

The split-texture procedure would throw an exception in the event that
the image width/height could not be divided by tile width/height with
0 remainder.

* chickadee/render/texture.scm (split-texture): Floor the results of
dividing image dimensions by tile dimensions and ensure they are exact
integers.

13 months agoguix: Update to latest guile-sdl2 commit.
David Thompson [Sun, 6 Jan 2019 05:00:40 +0000 (00:00 -0500)] 
guix: Update to latest guile-sdl2 commit.

14 months agoMakefile: Install compiled files in the proper location.
David Thompson [Mon, 17 Dec 2018 01:41:28 +0000 (20:41 -0500)] 
Makefile: Install compiled files in the proper location.

* Makefile.am (godir): Use "site-ccache", not "ccache".

14 months agorender: font: Export a default-font procedure.
David Thompson [Sat, 15 Dec 2018 01:19:55 +0000 (20:19 -0500)] 
render: font: Export a default-font procedure.

* chickadee/render/font.scm (default-font): Change from variable to
procedure.

14 months agoCredit J-Robot for the pixel explosion image.
David Thompson [Fri, 14 Dec 2018 13:42:37 +0000 (08:42 -0500)] 
Credit J-Robot for the pixel explosion image.

14 months agoRename data/CREDITS to data/AUTHORS.
David Thompson [Fri, 14 Dec 2018 13:39:29 +0000 (08:39 -0500)] 
Rename data/CREDITS to data/AUTHORS.

14 months agoAdd particles example.
David Thompson [Fri, 14 Dec 2018 13:37:05 +0000 (08:37 -0500)] 
Add particles example.

* examples/images/explosion.png: New file.
* examples/particles.scm: New file.
* Makefile.am (EXTRA_DIST): Add them.

14 months agoFix game controller stuff.
David Thompson [Fri, 14 Dec 2018 13:34:14 +0000 (08:34 -0500)] 
Fix game controller stuff.

Forgot to prefix imported procedures since I define procedures with
the same names.

14 months agodoc: Improve Fonts section.
David Thompson [Fri, 14 Dec 2018 12:59:08 +0000 (07:59 -0500)] 
doc: Improve Fonts section.

14 months agoAdd controller query procedures.
David Thompson [Fri, 14 Dec 2018 12:48:00 +0000 (07:48 -0500)] 
Add controller query procedures.

Not ready to document them at this time since I have not done full
tests with a USB controller yet.

* chickadee.scm (controller-button-pressed?, controller-axis): New procedures.

14 months agoAdd mouse query procedures.
David Thompson [Fri, 14 Dec 2018 02:37:13 +0000 (21:37 -0500)] 
Add mouse query procedures.

* chickadee.scm (mouse-x, mouse-y, mouse-button-pressed?,
mouse-button-released?): New procedures.

14 months agoRe-add key-pressed? and key-released? procedures.
David Thompson [Fri, 14 Dec 2018 02:32:32 +0000 (21:32 -0500)] 
Re-add key-pressed? and key-released? procedures.

* chickadee.scm (key-pressed?, key-released?): New procedures.
* examples/grid.scm: Remove (sdl2 input keyboard) import.

14 months agoRe-hide SDL2 details.
David Thompson [Fri, 14 Dec 2018 02:20:42 +0000 (21:20 -0500)] 
Re-hide SDL2 details.

I know I'm backpedaling here, but I think it was a mistake to expose
SDL2 as much as I have here.  I think it's better for people just
getting started to not have to wonder what SDL means.  Making things
as usable as possible for beginners is an important goal, and
abstracting SDL2 + OpenGL things from the core game loop
implementation shouldn't require sacrificing that goal.

* chickadee.scm: Switch code with...
* chickadee/game-loop.scm: ...this! Which is copied straight from...
* chickadee/sdl.scm: ...this! Which is now deleted.
* Makefile.am (SOURCES): Add game-loop.scm, remove sdl.scm.
* examples/grid.scm: Update due to API breakage.
* examples/lines.scm: Ditto.
* examples/nine-patch.scm: Ditto.
* examples/sprite.scm: Ditto.
* examples/text.scm: Ditto.
* examples/tiled.scm: Ditto.
* doc/api.texi (Kernel): Update.

14 months agoexamples: Simplify text example.
David Thompson [Fri, 14 Dec 2018 01:50:39 +0000 (20:50 -0500)] 
examples: Simplify text example.

14 months agoFix automake warning.
David Thompson [Fri, 14 Dec 2018 01:50:07 +0000 (20:50 -0500)] 
Fix automake warning.