| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
* 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.
|
| |
|
| |
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
| |
* examples/game-controller.scm: Use new sprite batch API.
* examples/grid.scm: Ditto.
|
|
|
|
|
| |
* chickadee/render/sprite.scm (draw-sprite-batch*): New procedure.
(draw-sprite-batch): Rewrite in terms of 'draw-sprite-batch*'.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* chickadee/render/asset.scm: s/typed-buffer/buffer-view/
* chickadee/render/particles.scm: Same.
|
|
|
|
|
| |
* 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.
|
|
|
|
| |
* chickadee/render/texture.scm: Remove texture-id from exports list.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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/buffer.scm (map-buffer!): Add optional 'mode' argument.
|
|
|
|
|
| |
* chickadee/render/buffer.scm (map-buffer!): Compare symbols to
symbols for checking stream usage. -__-
|
|
|
|
|
| |
* chickadee/render/buffer (map-buffer!): Do nothing if buffer is
already mapped to avoid throwing an error.
|
|
|
|
| |
* chickadee/render/buffer.scm (buffer-mapped?): New procedure.
|
|
|
|
|
| |
* chickadee/render/font.scm (draw-text*): Advance to the next line on
screen when \n is encountered.
|
|
|
|
|
| |
* chickadee/render/tiled.scm (load-tile-map): Parse out the 3 flip
bits from each tile id.
|
| |
|
|
|
|
|
| |
* chickadee/render/texture.scm (split-texture): Use ceiling instead of
floor when computing number of rows and columns.
|
|
|
|
|
| |
* chickadee.scm (run-game): Remove initial iteration over game
controller hash table.
|
|
|
|
|
|
| |
* chickadee/render/sprite.scm (draw-nine-patch*, draw-nine-patch): Add
tint keyword argument.
* doc/api.texi (Sprites): Document new argument.
|
|
|
|
|
|
| |
* examples/sprite-batch.scm: New file.
* examples/images/shot.png: New file.
* Makefile.am (EXTRA_DIST): Add them.
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
Add support for tinting and simplify batch rendering.
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
| |
* chickadee/math/matrix.scm (transform-x, transform-y): New procedures.
|
|
|
|
|
|
| |
* examples/game-controller.scm: New file.
* examples/images/controller-buttons.png: New file.
* Makefile.am (EXTRA_DIST): Add them.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
* chickadee.scm (controller-name): New procedure.
|
|
|
|
|
| |
* chickadee.scm (controller-axis): Fix math so that axis values are
actually in the range [0, 1].
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
* Makefile.am (godir): Use "site-ccache", not "ccache".
|
|
|
|
|
| |
* chickadee/render/font.scm (default-font): Change from variable to
procedure.
|
| |
|
| |
|
|
|
|
|
|
| |
* examples/images/explosion.png: New file.
* examples/particles.scm: New file.
* Makefile.am (EXTRA_DIST): Add them.
|