summaryrefslogtreecommitdiff
path: root/doc
Commit message (Collapse)AuthorAgeFilesLines
...
* render: sprite: Rewrite sprite batching API.David Thompson2019-05-121-20/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* render: sprite: Allow nine patches to be tinted.David Thompson2019-01-081-1/+2
| | | | | | * chickadee/render/sprite.scm (draw-nine-patch*, draw-nine-patch): Add tint keyword argument. * doc/api.texi (Sprites): Document new argument.
* render: sprite: Revamp rendering process.David Thompson2019-01-061-7/+6
| | | | Add support for tinting and simplify batch rendering.
* doc: Improve Fonts section.David Thompson2018-12-141-36/+13
|
* Re-hide SDL2 details.David Thompson2018-12-131-14/+13
| | | | | | | | | | | | | | | | | | | | | 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.
* render: font: Include a default font for convenience.David Thompson2018-12-131-3/+4
| | | | | | | | | | | | | | | | | | | * data/fonts/good-neighbors.fnt: New file. * data/fonts/good-neighbors.png: New file. * data/CREDITS: New file. * examples/fonts/AUTHORS: Delete. * examples/fonts/good_neighbors_starling.png: Delete. * examples/fonts/good_neighbors_starling.xml: Delete. * Makefile.am (dist_pkgdata_DATA, fontsdir, dist_fonts_DATA): New variables. (EXTRA_DIST): Remove examples/fonts files. * chickadee/render/font.scm (draw-text): Make font an optional keyword argument. * doc/api.texi (Fonts): Document it. * examples/grid.scm: Update to use new draw-text API. * examples/nine-patch.scm: Ditto. * examples/text.scm: Ditto. squash! render: font: Include a default font for convenience.
* doc: Mention 'rect' in manual.David Thompson2018-12-131-1/+2
| | | | * doc/api.texi (Rectangles): Document 'rect' procedure.
* math: vector: Add set-vec2! and set-vec3! procedures.David Thompson2018-12-131-0/+10
| | | | | * chickadee/math/vector.scm (set-vec2!, set-vec3!): New procedures. * doc/api.texi (Vectors): Document them.
* doc: Fix typos.David Thompson2018-12-121-6/+6
|
* doc: Rename "GPU Buffers" section to "Buffers".David Thompson2018-12-111-7/+7
|
* doc: Rename "Blending and Depth Testing" section to just "Blending".David Thompson2018-12-111-10/+8
|
* doc: Greatly expand public API documentation.David Thompson2018-12-111-101/+693
|
* Add particle rendering module.David Thompson2018-12-071-0/+149
| | | | | | * chickadee/render/particles.scm: New file. * Makefile.am (SOURCES): Add it. * doc/api.texi (Particles): New subsection.
* doc: Fix typo.David Thompson2018-12-051-1/+1
| | | | * doc/api.texi (Sprites): s/diving/dividing/
* scripting: channel: Add channel-get! and channel-put! procedures.David Thompson2018-11-291-4/+13
| | | | | | * chickadee/scripting/channel.scm (channel-get!, channel-put!): New procedures. * doc/api.texi [Channels]: Add docs.
* doc: Document the path finding API.David Thompson2018-10-031-1/+75
|
* doc: Document collision grid API.David Thompson2018-10-021-0/+107
|
* doc: Document bezier curve API.David Thompson2018-10-021-0/+97
|
* doc: Document the rectangle API.David Thompson2018-09-281-5/+195
|
* doc: Document vector and matrix math APIs.David Thompson2018-09-271-0/+338
|
* Update manual to reflect major API changes.David Thompson2018-08-231-242/+132
|
* Remove experimental buffer API.David Thompson2018-06-251-196/+15
|
* doc: Add framebuffer docs.David Thompson2018-06-251-0/+38
| | | | * doc/api.texi (Framebuffers): Add basic API documentation.
* render: font: Allow rendering of substrings.David Thompson2018-04-301-0/+4
| | | | | | * chickadee/render/font.scm (draw-text*, draw-text): Add start and end arguments. * doc/api.texi (Fonts): Document new arguments.
* render: Add Tiled map renderer.David Thompson2018-01-291-0/+26
| | | | | | * chickadee/render/tiled.scm: New file. * Makefile.am (SOURCES): Add it. * doc/api.texi (Tile Maps): New subsection.
* render: Refactor sprite rendering.David Thompson2018-01-171-9/+23
| | | | | | | | | | | | | | | | | | | * chickadee/render/texture.scm (<texture-region>): Delete type. (<texture>)[width, height, gl-size]: Delete fields. [parent, rect, gl-rect]: Add fields. (texture-region?): Rewrite. (make-texture, null-texture): Use new texture constructor. (make-texture-region): Rewrite in terms of <texture> type. (list->texture-atlas, split-texture): Use new texture region constructor. * chickadee/render/sprite.scm (draw-sprite*): New procedure. (draw-sprite): Rewrite in terms of draw-sprite*. (draw-nine-patch*): New procedure. (draw-nine-patch): Rewrite in terms of draw-nine-patch*. * chickadee/render/font.scm (draw-text*): New procedure. (draw-text): Rewrite in terms of draw-text*. * doc/api.texi: Update draw-sprite, draw-nine-patch, and draw-text docs.
* doc: scripting: Replace references to "wait" with "sleep".David Thompson2017-10-271-4/+4
|
* render: sprite: Add support for drawing texture regions.David Thompson2017-10-171-1/+1
| | | | | | | | | | * 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.
* scripting: Rename coroutine to script.David Thompson2017-10-141-49/+47
| | | | | | | | | | * 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/
* math: Add cotangent function.David Thompson2017-09-131-0/+4
| | | | * chickadee/math.scm (cotan): New procedure.
* math: Add quaternion module.David Thompson2017-09-131-0/+40
|
* 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-021-0/+177
| | | | | | | | | * 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-271-0/+87
| | | | | | | * 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-271-0/+12
| | | | | | * chickadee/scripting/agenda.scm (schedule-every): New procedure. (every): New syntax. * doc/api.texi (Agendas): Document it.
* math: Add pi constant.David Thompson2017-04-251-0/+15
| | | | | * chickadee/math.scm (pi): New variable. * doc/api.texi (Math): Add "Basics" subsection.
* Add simple scripting system.David Thompson2017-04-031-0/+252
| | | | | | | * chickadee/scripting.scm: New file. * chickadee/scripting/agenda.scm: New file. * chickadee/scripting/coroutine.scm: New file. * Makefile.am (SOURCES): Add them.
* input: Add keyboard module.David Thompson2017-04-011-0/+18
| | | | | | * chickadee/input/keyboard.scm: New file. * Makefile.am (SOURCES): Add it. * doc/api.texi (Keyboard): New section.
* doc: html: Use dthompson.us stylesheet to make manual more attractive.David Thompson2017-01-271-0/+21
| | | | | * Makefile.am (AM_MAKEINFOHTMLFLAGS): New variable. * doc/manual.css: New file.
* 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
|
* Add audio support.David Thompson2017-01-241-1/+60
| | | | | | | * 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
|
* doc: Update copyright year.v0.1.0David Thompson2017-01-231-1/+1
|
* doc: Document a few more things.David Thompson2017-01-201-6/+171
| | | | :)
* doc: Add more documentation!David Thompson2017-01-192-4/+276
|
* doc: Add the beginnings of an API reference.David Thompson2017-01-182-1/+140
|
* First commit!David Thompson2017-01-042-0/+609