| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
| |
* chickadee/render/tiled.scm (point->tile): New procedure.
* doc/api.texi (Tiled): Document it.
* examples/tiled.scm: Render tile coordinates in bottom-left corner.
|
| |
|
| |
|
|
|
|
| |
* doc/api.texi (Live Coding): New subsection.
|
|
|
|
| |
* doc/api.texi (Tile Maps): Add more procedure documentation.
|
| |
|
| |
|
|
|
|
|
| |
* doc/api.texi (Agendas): Rewrite example code that used obsolete hook
API.
|
|
|
|
|
|
|
| |
* chickadee/render/buffer.scm: s/typed-buffer/buffer-view/
* chickadee/render/shapes.scm: Same.
* chickadee/render/sprite.scm: Same.
* doc/api.texi: Same.
|
|
|
|
|
| |
* chickadee/render/texture.scm (list->texture-atlas): Tweak docstring.
* doc/api.texi (Textures): Document more procedures.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
* chickadee/render/sprite.scm (draw-nine-patch*, draw-nine-patch): Add
tint keyword argument.
* doc/api.texi (Sprites): Document new argument.
|
|
|
|
| |
Add support for tinting and simplify batch rendering.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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/api.texi (Rectangles): Document 'rect' procedure.
|
|
|
|
|
| |
* chickadee/math/vector.scm (set-vec2!, set-vec3!): New procedures.
* doc/api.texi (Vectors): Document them.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
* chickadee/render/particles.scm: New file.
* Makefile.am (SOURCES): Add it.
* doc/api.texi (Particles): New subsection.
|
|
|
|
| |
* doc/api.texi (Sprites): s/diving/dividing/
|
|
|
|
|
|
| |
* chickadee/scripting/channel.scm (channel-get!, channel-put!): New
procedures.
* doc/api.texi [Channels]: Add docs.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
* doc/api.texi (Framebuffers): Add basic API documentation.
|
|
|
|
|
|
| |
* chickadee/render/font.scm (draw-text*, draw-text): Add start and end
arguments.
* doc/api.texi (Fonts): Document new arguments.
|
|
|
|
|
|
| |
* chickadee/render/tiled.scm: New file.
* Makefile.am (SOURCES): Add it.
* doc/api.texi (Tile Maps): New subsection.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
| |
* 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/
|
|
|
|
| |
* chickadee/math.scm (cotan): New procedure.
|
| |
|
|
|
|
|
|
| |
Everything is Scheme here, no need to say so over and over!
* doc/api.texi: Remove "Scheme " from the defvr and deffn commands.
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
| |
* chickadee/scripting.scm (tween): Reimplement procedure.
* chickadee/math/easings.scm: New file.
* Makefile.am (SOURCES): Add it.
* doc/api.text (Easings, Tweening): New subsections.
|
|
|
|
|
|
| |
* chickadee/scripting/agenda.scm (schedule-every): New procedure.
(every): New syntax.
* doc/api.texi (Agendas): Document it.
|
|
|
|
|
| |
* chickadee/math.scm (pi): New variable.
* doc/api.texi (Math): Add "Basics" subsection.
|
|
|
|
|
|
|
| |
* chickadee/scripting.scm: New file.
* chickadee/scripting/agenda.scm: New file.
* chickadee/scripting/coroutine.scm: New file.
* Makefile.am (SOURCES): Add them.
|
|
|
|
|
|
| |
* chickadee/input/keyboard.scm: New file.
* Makefile.am (SOURCES): Add it.
* doc/api.texi (Keyboard): New section.
|