| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* examples/audio.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
* chickadee/render/tiled.scm (point->tile): New procedure.
* doc/api.texi (Tiled): Document it.
* examples/tiled.scm: Render tile coordinates in bottom-left corner.
|
|
|
|
|
| |
* examples/game-controller.scm: Use new sprite batch API.
* examples/grid.scm: Ditto.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
* examples/sprite-batch.scm: New file.
* examples/images/shot.png: New file.
* Makefile.am (EXTRA_DIST): Add them.
|
| |
|
|
|
|
|
|
| |
* examples/game-controller.scm: New file.
* examples/images/controller-buttons.png: New file.
* Makefile.am (EXTRA_DIST): Add them.
|
| |
|
|
|
|
|
|
| |
* examples/images/explosion.png: New file.
* examples/particles.scm: New file.
* Makefile.am (EXTRA_DIST): Add them.
|
|
|
|
|
| |
* chickadee.scm (key-pressed?, key-released?): New procedures.
* examples/grid.scm: Remove (sdl2 input keyboard) import.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
* chickadee/math/grid.scm: New file.
* examples/grid.scm: New file.
* Makefile.am (SOURCES): Add grid module.
(EXTRA_DIST): Add grid example.
|
| |
|
|
|
|
|
|
|
|
|
| |
* chickadee/math/vector.scm (read-vec): New procedure. Extend reader.
* examples/lines.scm: Use new vector read syntax.
* examples/nine-patch.scm: Ditto.
* examples/sprite.scm: Ditto.
* examples/text.scm: Ditto.
* examples/tiled.scm: Ditto.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is really cool! Now users can plug in whatever backend they'd
like and are not forced to use SDL and OpenGL. Thanks to Chris Webber
for showing me the Lux library for Racket that does exactly this.
* chickadee.scm (run-game): Remove all SDL/OpenGL code, replace with
generic render/update keyword arguments.
(run-game/sdl): New procedure.
* examples/lines.scm: Update for API breakage.
* examples/nine-patch.scm: Ditto.
* examples/sprite.scm: Ditto.
* examples/text.scm: Ditto.
* examples/tiled.scm: Ditto.
|
| |
|
|
|
|
|
|
|
|
| |
* examples/images/tiles.png: New file.
* examples/map/example.tmx: New file.
* examples/tiled.scm: New file.
* Makefile.am (EXTRA_DIST): Add them.
* examples/images/AUTHORS: Credit the author of the tileset.
|
| |
|
|
|
|
|
|
|
|
|
| |
* 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.
|